RSS file for Xoltar.org

What's all this about, then?

Simplicity. Clarity. Power. I want to write software that's easy to use, and does its job well. I want to use tools that will help me produce the finest software in the shortest amount of time. I don't want to hope my software works, I want to know for sure. This is where I keep my notes about software development and anything else that comes to mind.
Please note this site is best viewed with a CSS and JavaScript compliant browser, such as Mozilla, Internet Explorer 6+, etc. This site has been tested with Firefox 1.0.1 and Internet Explorer 6. For best results, view with a Mozilla-based browser such as Mozilla, Netscape 7+, or Firefox.
Permalink

Lambda the Ultimate Killfile

28 SEP 2005

Lambda the Ultimate is an outstanding programming languages weblog that I read frequently. Lately, though, the signal-to-noise ratio has been dropping, and I've felt the need for a way to eliminate some of the chaff. So, I created Lambda the Ultimate Killfile, which is a Greasemonkey script that prunes out entries from people whose comments you'd rather not read. Simply install, then use Greasemonkey's "Manage User Scripts" dialog to edit the script. Add the names of the users you don't want to see to the "users" array, and you're off and running.

Permalink

Using the FTP protocol for more than serving files

06 SEP 2005

Old protocol, new uses. Very cool.

Permalink

Dynamic Applications From the Ground Up

31 AUG 2005

This paper describes an application architecture using hs-plugins which enables Haskell programs to dynamically load and reload modules. Hs-plugins also provides "eval" functionality. The resulting architecture allows for hot-swapping modules in a running program without any loss of data or state.

The authors describe using this plugin-based architecture to implement a text editor and an IRC robot. Each program only has a statically compiled core of around 100 lines of code; everything else is dynamically loaded. Of course, this is still Haskell - even though you're loading things dynamically, you still get the same type checking at module load time that you would get if you compiled it statically. Really outstanding work.

I especially liked this quote:

At this point, Haskell offers significant advantage over languages which encourage the use of global state. Unrestricted use of global state leads to a multitude of values scattered throughout the program; hence, bookkeeping of such a dispersed state becomes difficult and potentially infeasible. Hot swapping is only practical if the application already has disciplined use of global state as is the case by default in Haskell programs. Without restricted state, runtime system or operating system support seems necessary to deal with the state problem.

Permalink

Settling down and choosing a language

03 AUG 2005

I've been interested in programming languages for a long time now, and it's been good for me. I've learned a lot of new ideas, broadened my horizons. However, I've noticed I don't seem to write much software for myself anymore, only what I'm paid to write at work. Whenever I spend my own time on computers, it's always reading some academic paper or book, never actually writing programs. I used to write software on my own time, for fun. I enjoyed that, and I think I'd like to do some more of it. The problem is, after you've been exposed to so many languages, how do you pick one and really dig into it?

After thinking about it for some time, I've decided to settle down and focus all my spare computing time on a single language: Haskell. I'm not saying it's the end-all-be-all of languages; it's got some warts. It's hard to find good documentation, though that's getting better. It's hard to do dynamic things - reflection, plugins, etc., though that's getting better, too. The thing is, I've noticed that the code I write in Haskell is usually more elegant than the code I write in other languages, and since this is my time, I can choose what's important. Crisp, elegant code is important to me.

So I'm going to give it a go. It doesn't mean I won't be keeping an eye on a dozen or so of my other interesting languages, but from a distance - as a spectator. It does mean I'm going to start writing code again, and that feels good.

Permalink

Factor

25 JUL 2005

I'm surprised to see I've never mentioned Factor here before. It's a concatenative (i.e., Forth-like) language with strong influences from Joy. It's also progressing by leaps and bounds. They just released version 0.76, which supports an interactive tutorial that's quite impressive for such a young language. Install is dirt simple, and so far works fine on Windows. Very cool.

Permalink

New math site: Arsmathematica.net

11 MAY 2005

Just yesterday, arsmathematica.net, a new website that aims to be like Lambda the Ultimate for mathematics was launched:

This site is dedicated to the mathematical arts: mathematics itself, and its many children. Mathematics, even the most abstruse, is now pervasive throughout physics, computer science, economics, and other fields. We explore these topics, in lieu of doing our jobs or conversing with our loved ones.

Permalink

Haskell-related blog

06 MAY 2005

Recently noticed a Haskell related blog: The Haskell Sequence

Permalink

Cabal build system works well!

04 MAY 2005

There's a common standard for packaging Haskell libraries now, called Cabal (Common Architecture for Building Applications and Libraries). Basically, the application/library designer creates a simpe project specification that says which modules are to be provided, what executables to create, etc., and puts that together with a little Haskell code that just calls into the Cabal library to do the heavy lifting. Then you, the user, just unpack the tarball, do:


ghc -package Cabal Setup.lhs -o setup

setup configure

setup build

setup install

Voila, the package is installed. This is really nice, since people in Haskell-land have sometimes been a little too Unix-centric, so their packages wouldn't build on my Windows box. However, every Cabalized package I've installed so far has gone smoothly. If you develop a Haskell package or application, PLEASE package it with Cabal! Windows users (and probably everyone else for that matter) thank you!

Permalink

Desert Spring-Time

21 APR 2005

Desert Spring-Time is a project to create an Objective Caml-based operating system. Looks like very early days, but they're already getting started on basic GUI stuff. See also House, a similar project for GHC Haskell which is a bit further along.

Permalink

Reading Math

23 MAR 2005

Patrick points out an interesting snippet on Paul Graham's site:

I found, when I was studying mathematics, that 2 things were true: (1) the teacher was not too good and (2) the book was not too good. So I would always buy a half-dozen books on the topic and try to get the full picture by reading the same sections in each book. The combination helped me understand much more than the sum of the content. Also, I was never opposed to reading something as much as 10 times until I squeezed everything out of it.

I've also had this problem. I've also done a lot of math reading on my own time, and the biggest single thing I can recommend for reading math books is this: Force yourself to read every single line carefully. Some more than once. I always want to read math like I read other books, that is, very quickly. Math is more dense. Don't worry, you're not wasting time, you're not worse at math than you are at other things. It's just more information in less space. Take your time.

Older news


Technorati Profile

[Valid RSS]