Good Morning!

I’ve been playing with a few things. One is a Foucault pendulum. I’ve built it in the basement. It’s not complete yet. It needs a drive to replace the energy lost to air drag. I don’t yet know how to design such a beast. I’ve ordered some learning materials to aid in that. A magnet controlled by a micro-controler seems to be the ticket. Arduino is very popular. It looks like I’ll go that way.

I’ve also been getting back into photography. I’m taking small steps. While a nice DSLR would be great, I’m starting cheap with a bridge camera. I’ve got a Nikon P610. I wish it gave me more range on the shutter speed. That’s because I want to do some night photography. Nevertheless, it’s got some nice features. I maybe writing some Swift 2.0 code in the future to composite images into 4K video.

In the meantime, I’ve done this little clip just using iMovie and the camera’s built in functionality.


I Can Keep This Short, Right?

Obviously my career as a blogger is not going to happen. That’s OK. I have this site for other reasons.

Since I last posted, a lot has happened. New iPhones. New OS X. New iOS. New Xcode. I’m now on Xcode 7.1 running on OS X El Capitan. I endeavor to do my development in the latest version of Swift when I’m doing Swift (which is what I do for OS X and iOS). Swift 2 has broken some of my code in ways I haven’t figured out.

I am hating the new developer forums. Not all change is good.

My latest efforts have been non-programming related. I’m evaluating programs that are effectively direct competitors to my project. These programs are developed by teams. I am one person. They have also done some pretty cool stuff. I have my work cut out for me if I am to succeed (no guarantees there).

I’m working on a bottom up approach which is not well supported by Xcode. The UI / UX is actually the last bit I’ll be working on if I make it that far. The first part is getting the foundations in place to build upon. This is where changes in Swift have hurt me. Calls to the Core X stuff have broken. I kind of need that to work.

Playing with the programs that do things like what I’m trying to do is educational too. Their APIs are fairly well refined, although I do run into quibbles here and there. They also show me just how much work I have to do.

Life. Don’t Talk To Me About Life.

I’ve just updated WordPress. I don’t see much difference. I’ll probably have to look at the Codex to see what the shortcut keys are to make posting easier. I’ve also updated to Xcode 7 β5. That probably means another release of Xcode is due out.

Life away from the keyboard has kept me kind of busy. I’ve also had trouble at the keyboard. My glasses are old and eyestrain has given me severe pain when just spending a few minutes at the keyboard. New glasses should fix that. I can’t wait for them to be ready.

I’ve also been reviewing SICP. I want to write my own JSON parser. I also want to have an SVG / XML parser. Both parsers are to store the data into the same data structure. Right now I’m stuck on the reader bit. Last time I wrote anything like that was using Perl which is pretty good for the job. I was also parsing HTTP log files which are very easy to parse, even compared to JSON.

It seems to me the best way to do the job is to follow the SICP course philosophy of solving a class of problems. The general way to do this for a parser is to write a general pattern matcher and have a specification for the patterns I want to match. I’ve been considering using something like BNF notation. The thing is, I don’t want to also have to parse the pattern rules. It sounds like turtles all the way down. I mean do I write pattern matching rules to read the pattern matching rules for a text file?

I guess this is where I wish I had a proper Comp Sci degree.

I’ll obviously be using Swift2 for all this. I’ll probably just go with calling whatever version of Swift just Swift. I know it’s still a young language that will probably continue to mutate over time. I just don’t care for version numbers in languages.

Oh well. Here’s hoping that I can get something done soon. This is part of a larger project which I hope to ship sometime and perhaps actually make some money on. The dream of a living wage as an independent software developer dies hard.