12 Jun, 2008
Tonight the first CocoaHeads Reston meeting was held at Near Infinity Corporation. Jason Harwig gave an excellent presentation on WebKit, starting with a simple browser created completely in Interface Builder (it consisted of a text field linked to a web view). I’ve recreated it and included a snapshot below.
Read the rest of this entry »
4 Jun, 2008
As Chad Fowler says, “The best reason to learn a new programming language is to learn to think differently.” Here in Northern VA, we have a new opportunity to think differently with the introduction of the NoVA Languages group. Chris Williams from Iterative Designs posted to the NoVA RUG mailing list this morning and received quite a bit of interest. Here’s what he has to say about the new group:
Thoughts on the makeup of the group include obtaining (however you want) a book, working through the book 1 chapter per week on one night of that week with a group of like minded individuals.
To start, the group will work through Joe Armstrong’s Programming Erlang book starting on Monday, June 16th (hopefully I’ll be able to work out a schedule with my wife so I can attend). This is an excellent choice on several levels: every developer should know a functional programming language; single core processors are increasingly rare and the number of cores in commodity hardware should only increase in the coming years; and I already own the book.
If Erlang doesn’t pique your interest, the NSCoderNight DC group is going to work through the 3rd Edition of Aaron Hillegass’s Cocoa Programming for Mac OS X book on Tuesday nights. For several months now, I’ve been playing around with Cocoa and while I’m getting used to the syntax of Objective-C, the XCode IDE and Interface Builder still seem foreign to me (I never liked IDEs having been weened on Emacs).
It’s a great time to be a programmer in Northern Virginia!
Update: It turns out that there’s another Cocoa group right around the corner from me in Reston: CocoaHeads. They meet the second Thursday of each month.
20 Mar, 2008
Recently at work I spent a few weeks tuning a network service across three platforms (Solaris, Linux, and AIX) to get within 10% of the theoretical maximum throughput. In this short article, I’ll walk through the various tools I used to improve the performance of the application.
This application is very specialized in that the two machines are connected directly through an ethernet switch. This means that the MTU could easily be determined from each end of the link and the extra work to determine the maximum segment size for the transit network (see RFC 1191) was unnecessary. This also made it very easy to watch the traffic between the two hosts as well as the system calls they were using to transfer and receive the data.
Read the rest of this entry »
15 Jan, 2008
Tonight I was able to attend NSCoderNight DC in Tysons Corner, VA and finally met Jose Vazquez in person. Unfortunately, turn out is pretty spotty, with Jose being the only continuous attendee. Despite it being just the two of us, I came away energized and started playing around with the new APIs we spoke about: Core Audio/AudioQueues and Quartz Composer.
Read the rest of this entry »
15 Dec, 2007
If you want to distribute your Ruby applications while still protecting your intellectual property you could use an obfuscation tools such as ZenObfuscate or try to write your own. But in this article, I’m going to show a different approach that’s been used by several different companies producing commercial products written in Ruby. The method is not specific to Ruby and should work for any interpreted language in which you need to distribute your source code with the application.
The secret is to encrypt your Ruby source, store it in a database and then modify the Ruby interpreter to look for your code in the database and decrypt it on the fly. I should note that there is no way to completely protect a product which is distributed to your customers–with enough diligence any security measures can be broken.
These instructions are for Unix operating systems (include MacOS X). Unfortunately (or fortunately, for me), I don’t own a Windows machine.
Read the rest of this entry »
5 Dec, 2007
Back in July I attended the Advanced Ruby Studio in Reston, VA. At the time I had wanted to blog about it but my life suddenly became extremely busy and I left my blog to languish for several months. To rectify that, I’ve decided to write up this post providing an overview of the studio and my impressions.
The instructors for the three day course were Dave Thomas and Chad Fowler, two elite Ruby programmers (and excellent teachers). While I wouldn’t consider every topic covered during the course advanced, I will say that there was a good mix of intermediate and advanced content (and some of the advanced stuff was really advanced!)
Read the rest of this entry »