Showing posts from December, 2004

Combining Java with other languages

How often is language choice dictated by the availability of existing libraries? For me, quite often! I have been looking at two approaches to leveraging Java code for alternative languages/platforms: IKVM - a JVM implementation (uses GNU CLASSPATH) that runs inside Mono and Microsoft's .Net CLRs PyLucene - the large Java Lucene search application is compiled using GNU gcj into native code and then wrapped using SWIG as a Python library I have used PyLucene with Python: great to be able to effectively use a large Java application in Python. I have not experimented with IKVM yet, but for a practical Java programmer who might need to reuse some code in the .Net framework: it looks promising.

Lisp vs. Java products, ant build process

A few weeks ago, I was talking with one of me consulting customers and we started discussing my commercial KBtextmaster product. I wrote the original 0.x version in Common Lisp and I am almost done with version 2, also written in Common Lisp. My customer stated the opinion that the marketability of compiled Lisp products is small compared to products written in Java. I decided in the last week that he was correct so I dusted off some old Java code (a port of the Lisp code to Java) written a few years go and decided to 'bite the bullet' and starting with the old Java port proceeded with porting over the new Lisp code to Java also. Anyway, I spent about 5 hours today "coding like crazy" and I was surprised at both how easy it was to port changes over from Lisp to the old Java port code-base and to also update some of the old Java code with newer version 2 algorithms. If my consulting workload is not too much, I expect to get everything done in Java in a few weeks

Cut down the trees: payoff to political cronies

This is a sad thing to read Christmas morning. The first effect will literally be in my own back yard (I live in the mountains of Northern Arizona). My criticism is not just of the corrupt(*) Bush administration: the Democratic leadership in this country are also firmly "in the pockets" of large corporations that are no longer even American companies (since Clinton and Bush both worked to make it easy for large corporations to register off shore and avoid tax burdens). Our government, both democrats and republicans are now the "best that money can buy". A few people in Congress still have some moral fiber and do more or less what is right - but they are a small minority. Welcome our new corporate overlords :-( Oh well. (*) My opinion because Bush put ex-industry lobbyists in charge of oversight of their industries. PS. I do study history and understand that it is the nature of people in power to become increasingly more corrupt: this has been goi

I may be Java developer, but...

I have sold two C# products in the last 2 days :-) It definitely seems worth while porting at least some of my text-mining utility libraries from Java to C#. Most of my sales are for Java products with Python and C# about tied for second.

Oh, the crap they try to feed us

I am taking it easy, recovering from flu, so I have the TV on to the news. A headline news item was something like "US economy doing well: GDP is up 4.5%". I hope that everyone knows what a load of crap Gross Domestic Product (GDP) numbers are - GDP is a poor measure of economic health. If the US has to borrow even more money from foreign banks to pay for government operating expenses, that increases the GDP. Poor quality products give the GDP a double kick upwards: cheap prices promote sales and products have a short life time and must be replaced. Anyway, there are many factors that are clearly (at least in my opinion) bad for our country yet increase the GDP. The GDP goes up every year no matter what is happening. I wish our government and the news media would stop using meaningless statistics like GDP and get real. BTW, Dave Pollard has a good writeup on this subject .

Open file formats and AbiWord 2.2.2 for OS X

As an author, I own licenses for Microsoft Office for Windows and the Mac. Still, I try to avoid the use of Word as much as I can because of the horrible Microsoft closed file formats. Frankly, I can not understand how large companies and governments can justify the use of closed source proprietary file formats. When I primarily used SuSE Linux for my desktop, as long as I had a truetype font server set up correctly, I was very happy using (Strangely, OOo runs really well on Windows - go figure.) Now that I have almost completely converted my business over to using Macs with OS X, I have found myself grudgingly using Word for the Mac (which is quite good). OOo under X11 on the Mac is usable, but far from perfect. I think that the people working on the NeoOfficeJ project (OOo running natively on OS X using Aqua) are doing a great job (I donated money at their site today - in my own interest to encourage people whose work I use!) and I find NeoOfficeJ to be very us

Great! a web site for home/amateur movies is a very cool site. I am down with the flu today so I have been doing more fun-oriented web surfing than I usually do. This site contains excellent short movies - lots of fun. Creativity space is infinite...

Lisp world: the old and the new

The new: the "so good I can't believe it is free software" DrScheme Scheme development environment has a new 2.09 version available now . The old: over on the Lisp blogs recently, I saw a reference to the availability Xerox Parc Medley Lisp for non-commercial use. It is bundled with the LFG grammar toolkit. It is available here. This is the Lisp that I used in the 1980s on my Xerox 1108 Lisp machine. I downloaded the Medley Lisp and LFG grammar bundle (runtime converted to run on Linux) and took a trip down 'memory lane'. (I am in bed with the flu - not well enough to work, but well enough for messing around with old software). While I use Common Lisp for my Lisp development now, I am so happy to have a non-commercial version of Medley. Wowza!

Supporting infrastructure for nurturing creativity

I love coincidences in life. I was just thinking how much I enjoy independent and/or non-formula movies (e.g., both Indy films at Sundance and the fabulous Chinese movie "Hero" that combined an amazing plot twist with eye-candy cinematography). A few minutes later, I saw this article about the British plan to install about 250 digital projectors in theaters throughout the United Kingdom. This will open up the possibility to produce and distribute very low budget movies made with digital video technologies - a very good thing! I would like to see the same thing in the USA. I admit to being too optimistic, but I look forward to a future where instead of lusting after excess material goods (the production of which places too high of a burden on our delicate ecology), people will become more interested in low-resource cost creative activities like getting together to produce low budget movies and plays, writing, playing games, cooking gourmet food, crafts, writing software &l

Why should the USA have to be a net importer of food? And, starving children.

For the first time in about 50 years the US is importing more food than we are exporting. Another legacy of the Bush administration economics. As Dave Pollard said (unfortunately this is accurate) "Rich Get Richer, Poor Children Dying" is the likely legacy of this era. 400,000 Iraqi children with long term health threatening chronic diarrhea and 1 billion children in the world living in poverty. As US citizens we are responsible for the Iraqi children and we share the shame of 1 billion ill-fed children with the rest of the world. I like what Colin Powell told Bush about Iraq: "You break it, you own it". Unfortunately Bush seems to be trying to (metaphorically) sneak out of the store after breaking something. Bush's concept of being a Christian and my concept of being a Christian differ greatly, BTW. Speaking of religion, I received an interesting letter from an official with the Quaker American Friends Service Committee (one of my favorite charities

NetBeans 4. Free vs. commercial development tools.

I spent some time 'kicking the tires'. Version 4 looks to be a major improvement both in edit/build/test mode and in web app development functionality. It is great that a good IDE like NetBeans is available for free. However, since I earn most of my living designing and writing Java code, I feel that it is worth while buying a 'best of breed' commercial product (which, in my opinion, is IntelliJ). Same thing with Common Lisp: there are awesomely good free Common Lisp compilers available (e.g., OpenMCL, CLisp, SBCL, CMU). Still, the free tools are just not at the same level as the Xanalys LispWorks and the Franz's Allegro CL . The commercial products provide a richer development environment and library support. Allegro CL is out of my budget price range, so I happily use LispWorks. Python is the other programming language that I use a lot. I am still trying to find a 'best of breed' Python IDE. I mostly develop on Mac OS X so the ActiveState IDE is no

OS X 10.3.7 upgrade: wowza!

What a great upgrade! 3D graphics in Croquet is noticeably faster and scrolling long web pages in Safari definitely is smoother and faster. I used to be a big Linux fan (a Linux user since downloading Slackware over a 2400 baud modem over 10 years ago), but Mac OS X is such a better user experience (for coding, writing, web access) that I just use Linux on my servers now. Oh well. It is even better that I hardly ever have to boot a Windows machine anymore (but I do keep one handy - work for some customers does occasionally require it). I seems a little funny that I even care about operating systems: my favorite software (IntelliJ, LispWorks, Emacs,, FireFox, etc.) all runs well on OS X, Windows, and Linux. Still, using a Mac just seems so much nicer to me - really, no comparison.

I think that I will buy a PlayStation Portable (when available in the US)

I was fortunate enough to work in the game industry for a few years (hired to do 'game AI', but also did multiplayer networking, and lots of other fun stuff), working on two Nintendo games, a PC networked hovercraft racing game, and a virtual reality system for Disney. Anyway, I think that Sony has hit it right with the PlayStation Portable: a balance of great style, features, and portability. I like Sony products because for me they have 'lasting power'. I bought my Sony DSC-F55 digital camera (with audio & video also) 5 years ago, and I still like it. Until it died a tragic death, my Sony Vaio mini-laptop was a prized possession (and my wife also enjoyed it a lot). I tend to not buy many toys - mostly because I get more pleasure from time with family and friends, and free activities like hiking. However, when I do buy things, I like to buy things with style and quality. Another good example is my Mac iBook: bought it two years ago, and I still get a lot of p

Too cool: a 'Comic Book' to teach you Lisp (online web site)

Conrad Barski (M.D.) has written a great comic book style web site to teach you (yes you!) how to program in Common Lisp. Check it out. I also have a more conventional Common Lisp tutorial that I wrote(*) 2 years ago available: Loving Lisp, or the Savvy Programmer's Secret Weapon . (*) actually, so many people in the Lisp community helped so much that I feel that it was a group effort.

Most productive programming languages and platforms

For me this is a tough call. I am an "old Lisper" (I wrote two Springer Verlag Lisp books a long time ago) and while I have been coding for a new product today using LispWorks Common Lisp, I have to say that when it comes to algorithm development and new coding, nothing comes close to Lisp for programming productivity. I have also been working through Mark Pilgrim's fine 'Dive Into Python' book (*), and I certainly consider Python to be another high productivity language. That said, for so many of my work tasks, the breadth of Java platfom tools "nukes" the productivity advantages of Python and Lisp. As I have mentioned recently, I am finding XML-RPC to be an excellent bridge for tying together Lisp, Python, and Java code. But, there is a definite performance overhead for XML-RPC calls. Anyway, I keep finding myself making the following decisions over, and over again: If my job task requires any J2EE functionality, then code in Java Else: is it a sma

How much productivity is lost due to Microsoft software?

We have just 2 Windows PCs (2000 and XP), but we have 3 Mac OS X systems and one linux box. I spend so much more time keeping the Windows PCs running properly than all of the other computers together, and by a factor of 2 or 3 . Can you feel my frustration :-( Really, the best computers are the OS X machines: everything works with minimal administration activities. I think that the problem with Microsoft Windows is simply that marketing and adding new features is more important than producing stable, relatively secure software.