Mar 31, 2003

Asking the right question about language design

Asking the right question about language design.

Paul Graham is an unusual
keynote speaker
for a Python conference. What I like is that he asks the question about a
language design that I’ve never seen being asked by others: how should a
language for the next 100 years look like. There’s a lot of different languages
and even those most popular either happened as a research project or just
happened. Graham designs his own
language
and he just might have a chance at doing it right.

Category:  — Permalink

Mar 29, 2003

How to compile Plucker on cygwin

How to compile Plucker on cygwin.

Plucker is, among other things, a document
viewer for Palm OS. Since the binary version you can download from their website
doesn’t work on my Palm Tungsten T I tried to compile the newest version from
CVS, the programming stud I am. Of course it took me days rather than hours
and the head-ache isn’t gone yet. I’ll summarize things I had to do.
Note: I only built Palm OS viewer.

First you have to have cygwin with Palm OS dev tools
(i.e. prc-tools, I used latest 2.2 version)
installed but
I’m not going to cover that topic.

The first obstacle was that I didn’t have many tools that are required to compile
sources (automake/autoconf/pkg-config and probably others) so I had to install them.

Second problem was that plucker doesn’t compile if developement version of automake/autoconf
is used (see this
for more info about this particular mess). Solution: add AC_PREREQ(2.13)
line to configure.in in viewer directory. This trick forces
using stable version
of automake/autoconf.

Third problem was that compiler was that the include path of gcc was messed up
and when Palm OS headers were including <Font.h> header file, gcc would pick up
Font.h file from Plucker sources. Solution: change CFLAGS
definition in Makefile.in
to:

CFLAGS          =   -Werror -Wall -O2 -isystem . -I$(srcdir)/$(ZLIBDIR) @CFLAGS@ $(SDK_CFLAGS)

It’s a hack, but it worked.

Fourth problem I had was that I installed pilrc version that came with Metrowerks IDE and it
didn’t work, so I re-compiled pilrc 2.9p5 from sources (available here).

And that was the end of my journey. All I had to do was:

>plucker$ cd viewer
>viewer$ autoreconf
>viewer$ ./configure --with-lang=en
>viewer$ make

I’m left with viewer_en.prc and a bad taste in my mouth.

Category:  — Permalink

Mar 26, 2003

Lupy - Python full-text indexer (port of Lucene)

Lupy - Python full-text indexer (port of Lucene)

Wait and someone will built it. Some time ago I was looking for a full-text
engine that could be used in an application (as there are many applications that
would benefit greatly from full-text search). I knew that Lucene had excellent
reputation but it was Java and I was looking for something either C or Python.
Since I didn’t find anything I thought that the best way would be to port
Lucene - it’s
much simpler task that starting something from scratch. Luckily someone had the
same need and did just that, producing
Lupy.

Category:  — Permalink

Mar 25, 2003

What would you do if you quit your job?

What would you do if you quit your job?

I’ve had this conversation several times already: I would share with someone my
desire to be wealthy enough to afford not working. Invariably the question that
immediately pops up is: but what will you do then? Inability to answer this
question in a matter that I felt would be satisfactory was frustrating. I mean,
why anyone would even ask this question? But now I’ve found
the answer.

Category:  — Permalink

Mar 24, 2003

The quotes

The quotes.

Oh, the quotes. I love
them.


My life has a superb cast, but I can’t figure out the
plot.
– Ashleigh Brilliant

Category:  — Permalink

Mar 23, 2003

Don’t change URIs

Don’t change URIs.

Just a friendly message from the Department Of Goodness: don’t change
your URIs
(in slightly more words but delivered by an authority).

Category:  — Permalink

Mar 22, 2003

Outsourcing

Outsourcing.

Software production outsourcing is a popular and re-current topic on Joel’s forum. This thread has a few interesting posts about realities of doing software in India and China. Here’s the China part:


For a comparison with the competition India may come in for eventually…

In China I would guess the infastructure is quite a bit more advanced beause the growth has been more even, and probably more industrial which requires better infastructure. In Xiamen, small city on the coast, the power never goes out, phones are about $12/month, which includes adsl. We have a second T1 line that is about $40/year, though that is only within China. Rent is about $100/month for a normal office, a good furnished apt is about $200. Salaries are under $100/month for unskilled labor, and $300 would be towards the top end (programmers are towards the top end). The skill level is very high, but there is a larger language barrier here for western companies. There is not a big software thing happening yet, but there are a lot of programmers/engineers, and it is in the ‘five year plan’. Ceratinly they have set their sites on that industry, some success is certain just because of domestic demand, and I don’t see how they could fail to make inroads internationally too.

This is all for Xiamen, a very developed small coastal city. The famous cities are more costly with higher skill levels, the rural areas are of course almost free, but harder to find the right mix of skills…

Category:  — Permalink

Mar 21, 2003

Color SideKick coming.

Color SideKick coming.

According to this article, color version of SideKick will be available this summer. Shortly after that a major revision of the software should be available. Great news.

Category:  — Permalink

Mar 19, 2003

Sorry state of computing - take one

Sorry state of computing - take one.

I keep being amazed and the extraordinarily poor state of software. I’m running the most current MS
OS (Windows XP Professional) on a brand DELL desktop computer and today I’ve
witnessed two problems that shouldn’t happen. Today Danger released their
development tools SDK (so that you can build programs and run them on an
emulator) on their developer web site.
In order to run them I had to install Java SDK. That was the first problem: Java
installation (created using InstallShield) hanged at the very end. Or seemed
hanged - after waiting more than half an hour watching my CPU spinning at 100%
I’ve decided to restart OS (which somehow forced the installation to end
although I had to kill the installation process in order to restart).

After
setting up Java and Ant I compiled HelloWorld example for SideKick and ran it in
the emulator. Pressing ESC key caused blue-screen in ATI video driver. The good
thing is that Microsoft’s Online Crash Analysis informed me that this was most
likely caused by ATI Graphics Driver and that an updated version is available at
www.ati.com site. The bad part is that when
accessed with IE 6 (which is the latest, greatest version of the most popular
web browser) I get tons of JavaScript errors. It’s one thing that every time it
happens IE asks me if I want to debug (as if I cared) making actually using the
site impossible. But what a bonehead is in charge of ATI’s web site? Do they
ever test it? Do they ever try to access it using the most popular (currently)
tools? It’s an amazing show of incompetence at ATI’s part.

Anyway, I’ve downloaded the drivers from Dell support site. Although the
driver version didn’t seem to change, the problem is gone (or at least I didn’t
hit again yet).

Category:  — Permalink

Mar 18, 2003

Danger launches SDK

Danger launches SDK.

Well, almost does. API documentation is available at
developer.danger.com
Of course I’ve signed up to their developer program right after
reading the news. Emulator and
tools are supposed to be released later. There are

some unhappy voices
. We’ll have to wait and see how the situation will
develop however Danger doesn’t score the best marks yet. The notion of developer
"levels" is worrying and the way of running developer forums via "virtual
currency" is downright stupid. Both Palm and Microsoft just post their tools on
the web site, point to Usenet developer groups and that’s all the involvement
that is really needed.

Category:  — Permalink