Posts

Showing posts from September, 2006

Best technical writing software?

I do a lot of technical writing both because I enjoy communicating and to earn money. Recently, the AI project that I am working as architect and lead AI developer passed a performance milestone so we get more people and resources. As a result, I find myself writing more architectural documentation and doing less Lisp programming - so it goes :-) As a computer scientist, I spend a reasonable amount of time tweaking my software development and technical writing work environments. For software development, I almost always prefer a fast Linux box with just the tools I need - no fluff to act as a distraction. Unfortunately, my favorite writing environment is heavily Mac OS X dependent, largely because of the OmniGraffle technical drawing tool (I am addicted to using it and I highly recommend it.) So I am stuck on a Mac for writing most of the time. I also strongly prefer Latex over Microsoft Word or OpenOffice.org for writing (much more efficient use of my time!) While I am very happy usin

Persistence for object oriented languages vs. programmer efficiency

I am about 4 months into a project using a very expensive object persistence mechanism (Franz Lisp AllegroCache) that almost automatically wraps Common Lisp CLOS classes for automatic persistence and B-Tree indexing of as many slots as you want to tag as indexed. As is sometimes is the case, here commercial software tools save time and effort. There is a very interesting open source project for Common Lisp (Elephant) that does something similar by using BerkleyDB or a relational database as the backend - it looks good, but it is not yet an out of the box solution. For Java work, although I was once a fan of Hibernate, I try to use Prevayler instead: if you add new instance variables to the end of class definitions you can add to your object model without breaking your persistent storage - a neat trick, to be sure. When it comes to the best programmer productivity using object relational mappers, I personally think that Ruby Rail's ActiveRecord wins hands down - with the slight cost

JRuby

There has been a lot of buzz over Sun hiring Charles Oliver Nutter and Thomas Enebo (two core JRuby developers). Certainly a fine thing for people who use both Java and Ruby. My hope is that they do a lot of work on Tomcat/WEBrick/Rails integration for hybrid JSP/Rails web apps. I have been using both Ruby and Rails a lot in the last year, and have not missed Java too much. That said, an efficient Rails platform on top of a Hotspot JVM sounds good. My quick experiments with JRuby have not been totally without problems, but with Sun's obvious motivation to get a first rate Ruby environment running on the JVM, I expect things to get better. The smooth integration of Java classes in an interactive Ruby IRB shell environment is fun.

Apple just lost a sale - Steve Jobs is no longer on my good guy list

I am serious about this: Steve Jobs is the largest shareholder of Disney stock and on their board of directors. Disney (ABC) is running a commercial free $40 million dollar production that is from what I have read a fictionalized account of 9/11 that incorrectly blames just about everything on the Democrats. The Apple music store is distributing this bit of political propaganda for free and both Apple and Disney are targeting this fictional miniseries as an educational resource for kids. Let the mind control begin... I was just about ready to order a new Mac laptop. It was a close call to getting a better Linux system instead. I am so angry over ABC's political partisanship that there is no way I am going to be a customer of Disney or Apple if I can avoid it. I used to have good feelings about Apple: I wrote the chess program that they gave away with the very early Apple IIs and I did very well financially on a commercial artificial intelligence tool for the Mac that I wrote in 198

Is the upcoming ABC whitewash of 9/11 events a failure of public trust?

I have already sent personal correspondence to Disney CEO Bob Iger urging him to show some real patriotism on this issue. As a country, we must learn from our mistakes, and I think that a whitewash is not what our country needs. ABC like other broadcasters use the public airwaves - if they broadcast biased news, then I think that Congress should investigate their use of the public airwaves. The Democratic Senate leadership is already threatening ABC with legal and legislative actions. I hope that everyone sees this for what it is: the fall elections are coming soon, and right wing republicans will stoop to anything to cling to power. Shame on them. Perhaps they should take an American civics class? It seems to me that many Republicans have lost sight of traditional American values. What should owners of Disney/ABC stock think of this? One possible scenario: the Republicans lose control of Congress, and suddenly illegal corporate acts start to get punished... How might this affect Disne

Disconnect between thinking about a problem and programming

The Subtext programming system has been getting some buzz, and I think that this is worth while if it makes us think about the disconnect between thinking about problems and writing software to solve these problems. While state of the art IDEs like IntelliJ for Java and VisualStudio for .Net languages provide a comfortable working environment, I must say that both Java and the .Net languages are poor choices for many programming tasks. Scripting languages like Ruby and Python help this thinking vs. programming disconnect in one important way: for small programming tasks, very short programs are sufficient and we can keep track of both problem task thinking and programming. What about large projects? There are two good alternatives in programming languages: Common Lisp and Smalltalk: Common Lisp lends itself really well to growing your own application specific language (using macros if you like, and functions). Once you build up an application specific language, a lot of the complexity

Startups

Techcrunch has a great Paul Graham interview on startups. Graham: "make something people want". Good advice :-) I have been more than a little frustrated this year: I have my own startup idea that I am keen to pursue but I have had both interesting and educational consulting gigs and it is difficult, at least for me, to walk away from good work. Politically and socially, I love the idea of small agile groups of people taking market share away from large corporations - turn the economy of scale upside down by leveraging agility.