Rocking the blogosphere

Archive for March, 2007

Scala

At the risk of sounding like a programming language whore, here’s yet another object-oriented functional language. This one looks less intimidating than Haskell or OCaml, since it is extremely Java-like and claims to interoperate really well with Java code, thereby having the ability to use lots of libraries and avoiding the Achilles Heel of most boutique languages, which are excellent for computing factorials but don’t have any knowledge of the Web (heck, even Awk is Web-enabled these days).

Popularity: 3% [?]

It’s fun to workout at the YMCA

After a few trial visits, Nicole and I decided to join the East Valley YMCA. It’s reasonably nearby, inexpensive, and the staff are very nice and helpful. Best of all for the geek in me is that their machines have this neat computerized system called FitLinxx. You get an identification # which you type in when you start using a machine and it keeps track of what you do and how you’re progressing on your pre-established workout plan. It looks like you can also access your data from the Web so it could be fun to write some code to suck the data down from the Web.

Popularity: 4% [?]

Autoproject

autoproject interviews the user, then creates a source package for a new program which follows the GNU programming standards. The new package uses autoconf to configure itself, and automake to create the Makefile. `make distcheck’ succeeds.

The idea is that you execute autoproject just once when you start a new project. It will ask a few questions, then create a new directory and populate it with standard files, customized for the new project. Optionally, the new package will use an external command line parser or a parser generator. ‘Autoproject’ currently supports clig and autogen.

Autoproject

Popularity: 3% [?]

Gawkinet

Gawkinet: TCP/IP Networking with Gawk

Hmmm…. Why? :-)

Popularity: 4% [?]

Stupid bird

A weird thing happened on the way to work yesterday.

Driving up the 101 freeway, I saw a bit of commotion ahead of me and then swerved a bit to avoid a large bird standing there in the middle of the roadway. I figured that it must be too injured to fly and was probably not going to last too long if it could not take to the air. Glancing in my rear-view mirror, I saw a car behind me come really, really close to hitting it, might’ve even brushed it a bit, and the bird then took to flight and got away. Perhaps the bird was having some difficulty flying but it got a little boost of adrenaline that did the trick?

It’s not every day that you nearly kill something on the freeway.

For any birds who are reading my blog, it’s not a good idea to hang out on freeways. I suggest avoiding them if you can.

Popularity: 3% [?]

Getting vanishing OS X desktop icons back

Just noticed that my desktop icons had disappeared on my PowerBook.

I managed to fix it with: open -a /System/Library/CoreServices/Finder.app

I guess Finder crashes sometimes and doesn’t always restart itself.

Popularity: 4% [?]

More adventures with D

A few weeks ago, I messed around with dmd (the original compiler for the D programming language).

Well, here’s a bit of info about gdc, a D language front end for gcc.

I couldn’t find a package in the Ubuntu repositories, so I downloaded a Linux binary and installed it:

$ wget http://umn.dl.sourceforge.net/sourceforge/dgcc/gdc-0.22-i686-linux-gcc-4.1.1.tar.bz2
$ tzx gdc-0.22-i686-linux-gcc-4.1.1.tar.bz2
$ cd gdc
$ cd bin
$ sudo cp * /usr/local/bin/
$ cd ../lib
$ sudo cp -r * /usr/lib
$ cd ../include
$ sudo cp -r d /usr/include
$ cd ../libexec
$ sudo cp -r * /usr/lib
$ gdc -I/usr/include/d/4.1.1 hello.d -o hello
$ ./hello
$ ./hello
hello world
args.length = 1
args[0] = ‘./hello’

Here’s the program I used:

$ cat hello.d
int main(char[][] args)
{
    printf(”hello world\n”);
    printf(”args.length = %d\n”, args.length);
    for (int i = 0; i < args.length; i++)
        printf("args[%d] = '%s'\n", i, cast(char *)args[i]);
    return 0;
}

or

marc@tbird:~/sw/gdc$ cat hello.d
import std.stdio;

int main(char[][] args)
{
    printf(”hello world\n”);
    printf(”args.length = %d\n”, args.length);
    for (int i = 0; i < args.length; i++)
        writefln("args[%d] = '%s'\n", i, args[i]);
    return 0;
}

but for the latter, I needed to modify the compile command:

$ gdc -I/usr/include/d/4.1.1 -I/usr/include/d/4.1.1/i686-pc-linux-gnu hello.d  -o hello

(It would be nice to build and install from the source code - my guess is that would eliminate those ugly -I options).

Popularity: 7% [?]

Next Page »