Category Archives: EKM Updates

2017-08-20 Update

Not a whole lot to report.

I am still going slowly through Simply Scheme, and also Programming Kotlin by Stephen Samuel and Stefan Bocutiu.

I tried Kotlin koans, but frankly I don’t learn a language well with koans. I started the book on Kotlin and Android because the local Android meetup covered the first ten chapters at the beginning of the month. But going through that was kind of rough because I don’t know much about Kotlin or Android.

I should probably stick to one thing to make progress. I found out my project at work will be ending soon, so either I have to find a new project or a whole new company.

 

You’re welcome.

Computer Names

I have going through backup CDs and DVDs lately. Some of the files were tar files. The names of the tar files had names of my computers as part of them. I have had a lot of computers over the past decade, desktops and laptops, running Linux and Windows.

Here are some of the computer names that I found:

  • Juarez
  • Freecity
  • Jolene
  • Saigon
  • Washington
  • Duain
  • Finance
  • Rebirth
  • Slick
  • Latitude

You’re welcome.

2017-08-01 Update

Not a whole lot of news on the programming/technology front this week.

I am trying to clean up my place. I have a box of DVDs and CDs with data back ups, camera pix, git projects and all sorts of stuff on them. An external drive could store all that and take up a lot less space, so I have been copying all the disks to the external drive while binge-watching shows online.

Hopefully more Kotlin progress soon.

You’re welcome.

2017-07-24 Update

I got a book on Android and Kotlin by a guy in Spain named Antonio Leiva. I started going through it. I don’t know too much Kotlin or much about Android, do it is a bit of a hard slog sometimes. Here is his github repo for the book. The Android meetup will have a meeting about it on August 1. I plan on being ready.

I have to learn more about Android. What is an Activity? What is an Adapter? I will have to figure this out.

Here is the Android javadoc.

I think Kotlin will be huge. I think making Kotlin an official Android language will change the JVM language landscape. I have a feeling I will not be doing a lot of Groovy in the future.

When Ceylon came out, I did not see what the point of it was. It did not fill a niche that was not filled by Java, Groovy Clojure or Scala. So another JVM language gaining momentum is a bit surprising.

You’re welcome.

2017-07-16 Update

I took a couple of weeks off from work, so I did not get much done over the past two weeks.

At my company, “vacations” is now “PTO”: paid time off. I have noticed a few people I know at other companies who also use this terminology. When did “vacation” get replaced with a corporate term?

Anyway, I did go to the local Processing meetup. I did not stay the whole time. I noticed I did not have my wallet, so I left early to go look for it. It turns out I just left it at home.

I did a bit with Simply Scheme. I am now on chapter 6. I am wondering if/when I will get the “Lisp enlightenment” that will make me better in all things CS. It looks like there are things you can do in Scheme and Lisp that are just impossible in other languages. We shall see.

I did spend some time on the Groovy Email Server. I am keeping track of the ip addresses and host names of all incoming requests. I might be able to put this to good use someday.

You’re welcome.

2017-06-25 Update

Not a whole lot to report this week. Still working on Simply Scheme. Perhaps I should call it Slowly Scheme.

I decided that this website could use a bit sprucing up, perhaps some pictures. So I am looking at a Java app called Processing that does visual stuff. I think some people use it as a CAD tool, while other people use it to make generative art (abstract art, patterns, fractals, etc).

You’re welcome.

2017-06-11 Update

Not too much to report. I am getting back into Simply Scheme again. I guess my desire for enlightenment got the upper hand.

I ran into the same issue with the Kotlin koans as I did with 4Clojure: I am just going through the API docs searching for something that looks like it might be the answer. That to me gets really frustrating. I found a site by a guy named Antonio Leiva who will send 30 free lessons to you via email about Kotlin. I will let those pile up and go through those. Kotlin isn’t like Scheme’s R7RS, where you can list all the functions on one page.

You’re welcome.

2017-06-04 Update

This week there was not much work on Clojure or Simply Scheme, or even as much Kotlin as I would have liked.

Around mid-week, I had some problems with my mail server. This is the mail server I am running (an instance of Apache James), and not the mail server I am writing. James first puts messages into a spool table and decides what to do with them from there, and that had filled up to the capacity of my VPS account.

I had to delete the DB and uninstall MySQL. I had problems re-installing it, so I installed Postgres. So far it is working out okay. I still got a lot of records in my spool table and a lot of files of 1 GB. I cleared out my spool table by eliminating any records that were not to any users in the domains that I manage, restarted, and things seemed okay. I will have to learn more about the write-ahead log in Postgres.

I had backups for my blogs, and I reinstalled MySQL (as you can tell since you are reading this). I had thought about abandoning MySQL altogether and going with a static site generator. I looked a bit at Cryogen, a static site generator in Clojure, and decided against it. It looks like you cannot have too many nested directories. This blog has 537 posts and 12 pages. I don’t want to deal with too many files in a directory. I would at least like a different directory for each year. I will have a look at JBake as well. I would like to stick to the JVM if possible.

I might also give another go at porting WordPress. There is a program called pgLoader (written in Common Lisp) that can migrate different data stores (including MySQL) to Postgres. Perhaps I will make it a Luminus app.

You’re welcome.

2017-05-29 Update

Not much to report on the Scheme and Clojure fronts this week.

I am still going through the Kotlin koans. Frankly, it still seems more verbose than Groovy. There are still a lot of generics, which I think really cluttered up Java.

But it does have some metaprogramming abilities. There is an inline function called sumByDouble that they added for the java.lang.Iterable interface, which includes List and Set. You give it a List/Set of objects, and it will get the sum of one of the attributes that is of type Double. I made one called sumByDoubleEKM, which does the same thing and adds a few println statements.

Maybe that’s not metaprogramming to a Lisp person, but it is nice to be able to add methods to classes. You can also add a method to a class outside the class definition. That seems to be what is happening in the collections koans. And the functional/closure/collection stuff does seem cleaner than what we got in Java 8.

You’re welcome.

2017-05-21 Update

The big news in the JDK space this week is that Android now supports Kotlin. See this page, on the Android site and this post on Hacker News. So I will start learning Kotlin.

I don’t want to turn into one of those Scala weenies who goes on about how much they hate Java (see Note 1 below), but Android development was always pretty ghastly. Lots of XML, lots of anonymous inner classes (at least the last time I looked).

When Java started, it was basically: We took C++, and removed the hard parts you don’t like. Android is pretty much: We are using Java, but mostly the hard parts you don’t like.

I might look into React Native and ClojureScript at some point. But for now I am going through the Kotlin koans. Back when I was living in Chicago (back when Google told you to use Eclipse for Android), I spoke to a mobile developer who wrote apps for both Android and iDrone. He did not use any of the Javascript wrappers. He said the best way to do it was to just do it the way Google and Apple tell you to do it.

Maybe I will love Kotlin, but to be upfront I am not too happy with it at the moment. It is kind of a competitor to Groovy. I have spent a lot of time with Groovy, and I wish that it had more traction. But the world isn’t going to change for me. A lot of people at my job think every gosh darn thing has to be in a Word file. We make a web app for our client, why not make one for ourselves? But whatever.

There is no Kotlin group in Austin at the moment. Officially, there is a Groovy group, but there hasn’t been a meeting since January. The past two companies that hosted are no longer give the group the space. The group organizer works for OCI, the company that supports Grails. He works with clients all over Texas. I guess there is more Groovy out there than people think. Groovy is one of those languages where the user group is full of people who think the language is great, but their companies won’t even look at it. At the last meetup when he said he works with companies large and small all over Texas,  everyone got pretty excited. But he couldn’t give out any more info because of NDAs.

I know this sounds like I am not oozing with enthusiasm about leaving a language I like for one that I do not know very well. Frankly, at this point, I am not. But it looks like this is where the world is going. Kotlin had already gained a lot of momentum on Android before this (more than Groovy, certainly). If Google is willing to listen to its developers, then maybe Google is a vendor to pay attention to. Unlike Shiny-Wrapper-Microsoft (aka Apple).

Kotlin does have some similarities to Scala, which I do not like, so we will see how this all goes.

So, not a whole lot on the Clojure front.

I am still going through Simply Scheme.

You’re welcome.

Note 1: I always found Scala developers’ hatred of Java odd for two reasons: 1. The language you say you love was/is implemented in the language you say you hate, and 2. Why does Javascript get a complete pass from everybody?