Isaac Jones Blog
Welcome to the Future

Tue, 16 Jan 2007

Haskell': Changes to the Report!

The recent goal for Haskell' has been to actually start committing modifications to the Haskell98 report. Well, as mentioned on the mailing list, we've started making changes relating to Pattern Guards.

The current draft of the Haskell' report will be auto-generated whenever someone submits a patch. Thanks for setting up the build system, Malcolm!

Haskell' ("Haskell Prime") is the working name of the next Haskell language standard. Haskell is the best programming language in the world.

[12:51] | [technology] | # | G

Mon, 15 Jan 2007

Open, Linux-based Phones

I want a cell phone that runs Linux. I've been wanting one for a long time. Why should I care what OS it runs? Well, I have two main reasons: 1) because I want to support commercial ventures related to free software, and 2) I want to write applications for it, and I don't want to be beholden to some vendor to sell me a development kit, and tell me what I can and cannot write. I want to apt-get install the developer kit, write some code, and upload it to the phone. Rock.

I've been paying only scant attention to the cell phone market since I got a Treo 600, which I like a lot. It is _not_ a Linux-based phone. It runs PalmOS, which is a pretty crufty OS, but I've been using it since 2001, so I have a lot of data in there. It should be pretty easy to get the data out, though, so I'm not worried. I really like the Treo's thumb-keyboard; It's qwerty, and I can type pretty fast on it. Numeric keypad based phones are lame. I hardly ever type in numbers anyway.

Apple recently announced the iPhone, which I shouldn't even mention because it doesn't allow 3rd party applications, doesn't run on a free operating system, and is probably very buggy since they've never done anything like that before. Enough about Apple.

As I poke around the intern-webs, I find that some stuff has been happening over the year when it comes to Linux-based phones, but I'm having a hard time figuring out exactly what is happening. It's surprising how little information is out there. Despite this great list of starting places from linuxdevices.com, the rabbit trail never leads to a "buy this phone" button.

Look! There's an open Linux-based phone platform called OpenMoko. At least, I think that's what I pieced together from the scant information available on their web site. Maybe OpenMoko is the phone and openembedded is the platform? I had a very nice conversation with some folks on freenode who explained a bit about this really cool project to me. It looks like they even have a phone that it sounds like is going to be released soon, and it's discussed on LinuxDevices.com. That phone looks pretty sweet. It has a GPS built in too. I like the touch-screen idea that I guess it has, based on the pictures, and it's not way too expensive. Maybe that's the phone I'll get.

All it's missing is a "buy it now" button. Oh, and "apt-cache search openmoko" doesn't turn up anything.

So on to the Green Phone by Trooktech. This looks pretty good, but not as a replacement for my Treo, since the primary interface is a numeric keypad instead of a qwerty keyboard.

It looks like you can actually buy a development version of the phone, but it's not overly free; you cannot develop commercial applications on it without paying them a licensing fee. Lamers. According to some folks on freenode, this phone is just a prototype for vendors like this one. (But do you see a "buy this phone" button on that page?)

There's a nice article that talks about several of these devices, including the Nokia N800, which is a Linux-based handheld computer / web appliance. I played with one the other day, and it's pretty sweet. Too bad it isn't a phone, or I'd buy one today.

So it looks like there's no open, Linux-based, qwerty phone out there yet. If you know otherwise, let me know. Perhaps one is coming out next month. I think I can wait that long.

[23:49] | [technology] | # | G

Sun, 14 Jan 2007

Karen Sept's Osteopathic Practice

Some of you may know Karen Sept from Saint Stephen's. I just put a web site for osteopathic practice up on my server. She runs her practice in Hawaii. Karen is a great person, and I'm really hoping her practice takes off :) So if you know Karen, link to her site. Osteopathic medicine sounds really cool. I never knew what it was before.

I was really pleased with how easy it was to set up a brand new site. I just logged into my registrar and added the new name, pointing it to my IP address. Then I modified my Apache configuration to bring up that web site when people visited that URL using Apache's Virtual Host system, which took all of 3 minutes, and I didn't even know anything about it; I just copied some example. She wrote the site content, so all I had to do was untar it onto my server.

That probably sounds pretty hard to folks who are using a complete hosting service where you have FTP access and all you have to do is drag the files over to the server. Well, I like doing things the "hard" way and then talking about how easy it is ;)

[20:21] | [random] | # | G

Mon, 01 Jan 2007

Cycling Fun and Pictures of Oregon

I've been having a nice vacation from work over the last week. In Portland, the weather has been pretty darn good, and I've been doing a lot of cycling. I rode up two of Portland's extinct volcanos, Rocky Butte (which is also a climbing area) and Mount Tabor, where my friend Jenn thinks she might get married. Speaking of Jenn, I also biked up and over the hills of Washington Park to go visit her place the other day.

I also did some biking in Forest Park (pictured below) with Phil, who was visiting this week. I had a great time with Phil. We talked a lot about books, and played an epic game of Risk for new years. It was awesome. I've never played Risk before. Phil is lots of fun, it's great when old friends visit :)

And now for some pictures of Oregon.

This is Beacon Rock (actually, I have to admit that it's in Washington). Heres me climbing it:

And my friend Dan, which gives more of a perspective view:

Here's Anna at an Oregon vineyard. Oregon has lovely vineyards and good beer :)

Here's Forest Park, previously pictured on this blog:

And back by popular demand, a picture of my cat. He is clearly very clever:

[20:05] | [sports] | # | G

Tue, 21 Nov 2006

Things that Andy and Dylan showed me

Andy and Dylan are two coworkers of mine who are always sending me interesting stuff to read on the internets. Here are a few of the great links they've sent lately.

  • Andy's blog (get it from the source).
  • Wil Wheaton's blog. You know, from Star Trek? He talks about old episodes. Very amusing.
  • Engines of Democracy - an article about a great place to work.
  • In Defense of PowerPoint - An article that briefly talks about a good way to give talks. I agree a lot with this article, although I think his anger against Tufte is misdirected.
  • The Show with Ze Frank. Awesome show.
  • A blog entry (and also podcast) by my friend Chris Manion. OK, this wasn't from Dylan or Andy, but it links to my other blog entry about wikis :)
  • [22:18] | [random] | # | G

    Mon, 06 Nov 2006

    Three Wiki Uses

    Over the last few years, I've been pretty immersed in the world of wikis. A wiki is like a collaborative web site; it lets several people view and edit a web page and link to other pages, maybe new pages that they themselves create.

    Wikis let tech-savvy people all over the world collaborate on a single web page, a single document. That's a pretty powerful idea, really. The obvious thing to do once an idea like wikis appears is to attempt to cram all of humanity's knowledge into it. Well that's just crazy enough to work.

    Wikipedia is the gold standard of wikis. It's a collaborative encyclopedia with lots and lots of articles. As the gold standard, it influences people's thinking about wikis in ways that might not be quite true.

    If Wikipedia were the only wiki you'd ever heard of, you might think that wikis are used to create encyclopedias. If that were true, you'd really only need one of them.

    If Wikipedia were the only wiki you'd ever heard of, you might be under the false impression that all wikis everywhere are editable by anyone. So if you create a wiki page, it's no longer yours. Other people can scribble on it. Well, some kinds of documents perhaps just aren't suitable for being edited by anyone, and the good news is that you can build a wiki for you and your classmates, or you and your coworkers, and you can decide who gets to edit what.

    I want to think about a few distinct uses for wikis in different contexts. The most common use is of course to create a knowledge repository; a collection of information written by people who know what they're talking about. That's what Wikipedia is, mostly. That's what the Haskell Prime wiki (which I run) is. And the excellent wiki about the game of Go, Sensei's Library, is also a knowledge repository.

    But there are other uses for wikis that are pretty cool. I often have to work on proposals with my coworkers. One (horrible) way to do this is to write the first draft in MS Word, email it to everyone, who might edit it and email it back. Of course, only one person can actually edit it at a time, otherwise I have to figure out what everyone did and merge their changes by hand. That's what we, in the computer industry, call teh suck.

    A better way to do this is to use a version control system, which lets multiple people work on a document at one time. Of course, if you're editing evil document formats like Word, still only one person can edit it at a time, but at least you cut out email, so things are a bit better organized.

    But wikis are actually a really great way to work on a document with another person. Two or more people can each collaborate on the document using the wiki software over the web. What becomes of the document at that point depends on its ultimate use. Maybe you have to convert it to MS Word or PDF at the end. That's a bit of a bummer.

    So there are two uses of wikis that I've mentioned: building a knowledge repository, and collaborative writing.

    Google started a service for collaborating on documents called Google Docs & Spreadsheets, which is probably useful for collaborative writing, but not knowledge repositories. They also acquired a wiki startup a few days ago, so they are clearly trying to get all over this space.

    There's another very interesting use of wikis that I'll call situation awareness. You can get a really vivid picture of this use of wikis if you take a look at the wikipedia article on the July 2005 London bombings. By the way, I didn't discover this excellent example of situation awareness using wikis. I saw it in the slides for a talk, but I don't know the original source at this point.

    If you go to that link, you'll see an excellent and up-to-date encyclopedia article about the London bombings. It's not a news article. Go to Google News and try to find a news article from a major news source which is this detailed, up-to-date, and well organized. Most articles you'll find are a snapshot, taken at a particular point in time (when the article was published) that most likely contains an account of the latest developments, and usually brief background in case you missed previous stories.

    The wikipedia article isn't a snapshot, it's an article that explains things in a logical order, which isn't necessarily chronological.

    Each wikipedia article contains a link to its own history. You can look back over time and see the article evolve. If you look at the early edit history of that London bombing article, you'll notice something fascinating. The article was created shortly after the bombing, with an account of the information that was known at that time. Within an hour, many people had edited the article, adding information they know about. If you were refreshing that wikipedia entry over & over (or if you were subscribed to it using RSS), you'd see not an account of just the latest developments, but an evolving, logical understanding of the attacks. The article started evolving right away, and it continues to evolve to this moment.

    That's what I'm calling situation awareness. Don't get me wrong, the mainstream news media is quite good at situation awareness. They do it a bit differently, and their articles or TV stories don't become integrated into a knowledge repository like wikipedia.

    I've enumerated three somewhat overlapping uses for wikis that I think are pretty interesting to examine:

  • Knowledge Repositories, which are a lot like encyclopedias,
  • Collaborative writing, which is a bit like a more elegant version of emailing word documents, and
  • Situation awareness, which isn't so different from the news; it draws from the news as a source, it can also be authored by the eye-witnesses themselves, and each story becomes an integral part of a knowledge repository. I don't claim that these are an exhaustive, nor are they a partition: Wikis are also used for bug tracking and as web discussion forums, for instance. What other categories can you think of? Email me if you have ideas.
  • [22:01] | [technology] | # | G

    Wed, 25 Oct 2006

    The Fun of Functional Infrastructure

    Say the word "infrastructure" and you conjure up the images of paved roads, hot water, and that series of tubes that makes up the Internet.

    In other words, infrastructure is that necessary stuff that lets you get your job done, but it doesn't seem sexy. Every open source project needs a high-quality infrastructure, though, and it turns out that building infrastructure is extremely fun, even though it's not as sexy as building "the next killer app".

    I've spent a lot of time building software infrastructure. The Debian project is (mostly) not about building new applications. It's about brining together projects with a solid infrastructure so that real people can use it. The Haskell Cabal is a piece of infrastructure that helps other people to compile and distribute applications.

    So what makes building software infrastructure seem less fun, even though it's really great? It's the idea of measuring the results of your work indirectly. It's easy to say that we wrote n lines of code this year, or that "my application" has n users. Depending on the size of n, that might make us feel good, or feel bad. But measuring results indirectly is much harder. You have to be content to say things like, "I helped 10 programmers build 15 applications for 5000 users, but I only helped each one a little bit." That's an indirect result.

    But if you are more interested in the result than in who creates it, then you're in a good position to let yourself have fun building infrastructure. If you are more interested in fun than in glory, then you're in a good position to get fulfillment in life :)

    In fact, infrastructure is really fun to build, at least in computing. You get to take a series of tubes and put them together in a new way. You get to lay the groundwork for many projects that come behind you. There's a bit of systems administration, a bit of hacking, and a lot of contact with the your peers in the community. People will help you figure out what to build since they're chasing right behind you using your stuff (at least in the open source world). People will respect and even occasionally thank you for helping them to do their job.

    Of course, some pieces of infrastructure become sexy. Debian's apt-get is considered pretty darn cool among those in the know. Writing awesome compilers that real people use (like GHC or Cryptol) is the dream of a lot of computing science academics. The Internet itself is actually cool these days, or so I hear.

    The Haskell language and community is badly in need of infrastructure right now. We need people to flesh out and improve the existing debuggers, code coverage tools, and IDE support. We need a robust package database, sysadmin support, and project repositories. We need folks to make Debian and Gentoo packages from Haskell packages.

    If you like people, and want people to get to know you and to appreciate your work, then go out there and discover an important piece of infrastructure that people need. Ask them what exactly they want, how they would build it, but be sure to bring your own vision to the project as well. Most of all, have fun building something with your friends.

    [10:06] | [technology] | # | G

    Tue, 17 Oct 2006

    Haskell Packages 6.6?

    I'm excited because we're pretty well along the way to getting cabal-install and friends working nicely. We've got almost 30 packages in the database.

    Let's imagine something that would be awesome for the Haskell community. A set of Haskell packages which are all known to work together with a particular version of cabal (the one that GHC comes with), and a particular version of GHC.

    GHC version 6.6 was just released, and I think we should try to make this happen.

    Currently, we have a set of 27 "unstable" packages. They may or may not work with each-other.

    I just created an empty directory "testing". I propose that we start testing packages, starting with the Cabal release that'll went into GHC 6.6, and make sure they work nicely together. Once they're known to work, we can migrate them from the "unstable" directory to the "testing" directory.

    Once we have a sufficient collection of packages, and once ghc 6.6 is released, we can make a snapshot of this directory, call it "stable-6.6" or something. Then if you have ghc 6.6 and cabal-install, you should be able to "cabal-install p" for any package, and it'll definitely work.

    So what will we need for this to happen?

  • An installed version of ghc 6.6 on the hackage/darcs server. Maybe in a chroot or something. Maybe from the nightly build tree or the previous snapshot?
  • Some initial set of packages (maybe just cabal-install) to start off.
  • Some script that goes through and builds all of the "unstable" packages in dependency order. I think cabal-install can do this already. In fact, it would be ideal if we used cabal-install for this.
  • The script should also run ./setup haddock and ./setup test. If the packages seem to work w/ 6.6 and the other packages in "testing", it should get migrated from "unstable" to "testing".
  • A web interface (lemmih is working on it)
  • A script to upload packages to "unstable" (Paolo is working on it).
  • Someone to spearhead all of this! We need volunteers. Please email me if you think you can head this up.
  • [09:52] | [technology] | # | G

    Thu, 29 Jun 2006

    Who will be at ICFP 2006?

    Greetings! You may know that ICFP 2006 will be in Portland, OR where I live. I'm wondering who will be there. If you know / have met me / chat w/ me on IRC, please drop me a line and let me know you'll be in town.

    peace.

    [16:25] | [technology] | # | G

    Sun, 11 Jun 2006

    Will God Testify in the Tom DeLay Trial?

    At long last, Tom Delay has left congress. He is under indictment for money laundering related to his anti-democratic attacks on the people of Texas via redistricting.

    He gave a really revealing speech on Friday that I just had to write about. Here's some interesting (and negative) analysis about his view toward compromise, and also some positive analysis by the Right's second most influential drug addict.

    As is typical with the Right, DeLay invoked God in his speech, and I just couldn't let this one pass. He said, "I have scraped and clawed for every vote, every amendment, for every word of every bill that I believed in my heart would protect human freedom and defend human dignity. I have done so at all times honorably and honestly, Mr. Speaker, as God is my witness and history is my judge. And if given the chance to do it all again, there's only one thing I would change: I would fight even harder."

    Of course, "As God is my witness" is a famous quote from "Gone with the Wind" (which I've never seen). According to the Interweb, Scarlett O'Hara says, "As God is my witness, as God is my witness they're not going to lick me. I'm going to live through this and when it's all over, I'll never be hungry again. No, nor any of my folk. If I have to lie, steal, cheat or kill. As God is my witness, I'll never be hungry again."

    Leaving aside the lying, cheating, and stealing, I think it's interesting how these two ways of invoking God as witness are very different. Scarlett seems to be asking God to witness her oath about future events, whereas DeLay seems to be asking God to testify as a witness for his past deeds.

    They're both wrong, actually. Let's deal with Scarlett first. In Matthew 5:33, Jesus says not to make vows or oaths in God's name, "Again, you have heard that it was said to the people long ago, 'Do not break your oath, but keep the oaths you have made to the Lord.' But I tell you, Do not swear at all: either by heaven, for it is God's throne; or by the earth, for it is his footstool; or by Jerusalem, for it is the city of the Great King. And do not swear by your head, for you cannot make even one hair white or black. Simply let your 'Yes' be 'Yes,' and your 'No,' 'No'; anything beyond this comes from the evil one."

    As with lots of what Jesus says, this is good sense as well as an instruction about how to treat God's name. It almost sounds to me like he's saying to watch out to people who have to swear by something rather than just letting their own word stand for itself. You shouldn't bring God into the picture because you need to know the difference between your own words and God's. I think he's saying that you are bound by your word, whether you "swear" or "promise" them or just speak them.

    Unlike Scarlett, DeLay isn't making a promise for the future, he's making an assertion about the past, and he asks God to testify for him as a witness. Unfortunately, God hasn't taken the stand in the DeLay case, and I don't think God will. Therefore, we're left with DeLay's hearsay about what God would say, and of course hearsay is inadmissible in court, unless you're Jesus himself (John 8), of course.

    The Message Bible (an "every day" English translation) translates the above mentioned Matthew 5 in a manner that covers both cases, "don't say anything you don't mean. This counsel is embedded deep in our traditions. You only make things worse when you lay down a smoke screen of pious talk, saying 'I'll pray for you,' and never doing it, or saying, 'God be with you,' and not meaning it. You don't make your words true by embellishing them with religious lace. In making your speech sound more religious, it becomes less true. Just say 'yes' and 'no.' When you manipulate words to get your own way, you go wrong."

    This version points out the danger in writing or speaking in a way that uses religion to back up your point. Whenever you do so, you had better be careful about it, and I hope I have been careful here.

    Tom DeLay said, "as God is my witness and history is my judge," but we all know that it's the other way around. God won't testify on his behalf. History will record and remember what he has said and done. God will judge in the end, not man.

    [14:27] | [religion] | # | G

    Thu, 08 Jun 2006

    Why is it attractive?

    I was at the grocery store the other day and the checkout lady said, "Wow, who has the great cologne on?" I didn't fess up because I wasn't wearing cologne but the guy behind me didn't fess up either. I looked at him and he said, "It's not me." They could tell from the look on my face that it was me they were smelling; either that, or they deduced it was me because they each knew that it wasn't themselves.

    So the checkout lady asked me, "So what cologne is it?" and I said, "I'd tell you, but you'll laugh." Now the entire line was paying attention, and I swear to you, they all started saying, "Come on, tell us what it is!"

    So I told them: When I cycle to work, I sweat a bit, and there aren't any showers at work or anything, so for the last few days I've been experimenting with wiping off the sweat with baby wipes."

    And the checkout lady said, "Well it smells great. I guess it attracts the women because we all love babies." The guy behind me pretended to be impressed at having discovered my "secret".

    But don't tell anyone I work with... or if I work with you, don't tell yourself.

    [20:55] | [random] | # | G

    Sat, 22 Apr 2006

    Haskell' Summary and Status

    I'll try to update the Haskell community periodically on the status of the Haskell' language standard.

    As mentioned previously, we are currently focusing on two topics, concurrency and the class system. If you feel that you have anything important to contribute to those topics, now is the time to review the proposals, join in the Haskell' mailing list and let us know what you know!

    Stephanie Weirich has posted a summary of the class system discussion.

    Stephanie says:

         This page is important because it lists all of the proposals not
         related to MPTCs as well as trying to capture the big picture
         about where we stand with respect to MPTCs. I've been trying to
         not duplicate text that appears elsewhere in the wiki, but just
         provide a consistent picture of the state of the discussions on
         the mailing list.
    
         Please take a look at this page and help me fill it out. In
         particular, I've been trying to take a pulse of where we stand on
         some of these issues, and some of you may not agree! Tell me if
         I'm off the wall. Also, I've (mostly) concentrated on issues that
         have tickets, so I may have missed some issues that were only
         discussed in the mailing list.  Please let me know if there is
         anything I've forgotten.
    

    Simon Marlow has posted a summary of the concurrency discussion.

    Simon says:

         I have tried to summarise the various points that have arisen
         during the discussion.  If anyone feels they have been
         mis-paraphrased, or I have forgotten something, please feel free
         to edit, or send me some text for inclusion.  I don't want to
         include long gobs of text in here, though: just summarise the
         main points, and if necessary link to relevant mailing list
         posts.
    

    Thanks, Simon & Stephanie for keeping things moving forward!

    [16:13] | [technology] | # | G

    Sat, 15 Apr 2006

    Halfs, a Haskell Filesystem

    I'm very exited this week because the company I work for just released a piece of open source software, Halfs, a Haskell Filesystem.

    There are a few groups thinking of using it, including darcs, a revision control system, and house an operating system written in Haskell.

    Since it requires kernel modules and a very specific Linux kernel (for now), I decided to release a virtual machine image that folks can download and just use on any architecture as described in the "virtualization environment" section of the quick start guide.

    [17:00] | [technology] | # | G

    Wed, 22 Mar 2006

    Planet Haskell?

    I think someone should volunteer to set up "Planet Haskell" or "Functional Planet" (which would include other languages) ala Planet Debian, Planet Gnome, Planet Lisp (which is made with secret alien technology), Planet Perl, etc.

    These sites are "Blog aggregators". Basically they just collect the RSS feeds of the community and post their blogs to a web page in a cute format (the gnome one is especially cute, but you probably could have guessed that).

    There are already sites like The Haskell Sequence and Lambda the Ultimate which have a similar purpose, though not quite the same.

    There's already software out there for this, so nothing new needs to be written. I think we need a volunteer to set this up somewhere? Preferably someone with their own server, and we'll worry about setting up the DNS later :)

    [13:21] | [technology] | # | G

    Sun, 19 Mar 2006

    Cold Climbing

    Anna and I tried to go out to "French's Dome" a rock climbing crag near Mt. Hood. Although the town it is near, ZigZag, was plenty warm and had no snow, I didn't realize that 6.2 miles away was 6.2 miles that went up hill, and so by the time we got to the crag the road was impassable due to the snow.

    We turned around and went to Salmon River Slab instead, which is very nearby. It was lower elevation and warm enough to climb. It was really nice, but it was a bit wet. There was a 9+ that I climbed which I felt was more like a 10+. It was a nice challenge, as I had to find a different route to avoid the wet.

    It's Jenn's birthday tomorrow, so we're going to go to dinner with her & Carlos. Hurray!

    pax.

    [21:26] | [sports] | # | G

    Thu, 26 Jan 2006

    Clergy Sign an Open Letter Concerning Religion and Science

    I found the following open letter from Christian clergy to be very true. I was really pleased to see that my priest from Ohio signed it, as did my father and his wife. My father always taught me that God created evolution.

    On another topic entirely is that my former representative, now jailed, makes paintings.

    An Open Letter Concerning Religion and Science:

    Within the community of Christian believers there are areas of dispute and disagreement, including the proper way to interpret Holy Scripture. While virtually all Christians take the Bible seriously and hold it to be authoritative in matters of faith and practice, the overwhelming majority do not read the Bible literally, as they would a science textbook. Many of the beloved stories found in the Bible, the Creation, Adam and Eve, Noah and the ark, convey timeless truths about God, human beings, and the proper relationship between Creator and creation expressed in the only form capable of transmitting these truths from generation to generation. Religious truth is of a different order from scientific truth. Its purpose is not to convey scientific information but to transform hearts.

    We the undersigned, Christian clergy from many different traditions, believe that the timeless truths of the Bible and the discoveries of modern science may comfortably coexist. We believe that the theory of evolution is a foundational scientific truth, one that has stood up to rigorous scrutiny and upon which much of human knowledge and achievement rests. To reject this truth or to treat it as "one theory among others" is to deliberately embrace scientific ignorance and transmit such ignorance to our children. We believe that among God's good gifts are human minds capable of critical thought and that the failure to fully employ this gift is a rejection of the will of our Creator. To argue that God's loving plan of salvation for humanity precludes the full employment of the God-given faculty of reason is to attempt to limit God, an act of hubris. We urge school board members to preserve the integrity of the science curriculum by affirming the teaching of the theory of evolution as a core component of human knowledge. We ask that science remain science and that religion remain religion, two very different, but complementary, forms of truth.

    [01:12] | [religion] | # | G

    Sat, 21 Jan 2006

    Welcome Back to the Past

    Hello! I'm happy to say that my blog, email address, and web site are finally back after the Great Web Server Crash of 2005-2006. Please email me if you see any problems, especially w/ my RSS feed.

    Read below for my exciting announcement (nerd talk)!

    [18:46] | [random] | # | G

    Announcing Haskell'

    let haskell' = succ haskell98 in
    
    Announcing the Haskell' ("Haskell-Prime") process.  A short time ago,
    I asked for volunteers to help with the next Haskell standard.  A
    brave group has spoken up, and we've organized ourselves into a
    committee in order to coordinate the community's work.  It will be the
    committee's task to bring together the very best ideas and work of the
    broader community in an "open-source" way, and to fill in any gaps in
    order to make Haskell' as coherent and elegant as Haskell 98.
    
    Our task is broadly defined by our mission statement:
    
        The Haskell programming language is more-or-less divided into two
        "branches".  The Haskell 98 standard is the "stable" branch of the
        language, and that has been a big success.  A lot of progress has been
        made over the last few years in the "research" branch of the Haskell
        language.  It is constantly advancing, and we feel that it is time for
        a new standard which reflects those advancements.
    
        Haskell' will be a conservative refinement of Haskell 98. It will
        be the work of this committee to adopt a set of language
        extensions and modifications and to standardize a new set of
        libraries.
    
        We will strive to only include tried-and-true language features,
        and to define them at least as rigorously as Haskell 98 was
        defined. This standard will reflect the realities of developing
        practical applications in the Haskell language. We will work closely
        with the rest of the Haskell community to create this standard.
    
    Your Haskell' Committee is as follows (slightly munged email addresses
    follow):
    
     * Manuel M T Chakravarty <chak at cse.unsw.edu.au>
     * John Goerzen <jgoerzen at complete.org>
     * Bastiaan Heeren <bastiaan at cs.uu.nl>
     * Isaac Jones <ijones at galois.com>
     * John Launchbury <john at galois.com>
     * Andres Loeh <loeh at iai.uni-bonn.de>
     * Simon Marlow <simonmar at microsoft.com>
     * John Meacham <john at repetae.net>
     * Ravi Nanavati <ravi at bluespec.com>
     * Henrik Nilsson <nhn at cs.nott.ac.uk>
     * Ross Paterson <ross at soi.city.ac.uk>
     * Simon Peyton-Jones <simonpj at microsoft.com>
     * Don Stewart <dons at cse.unsw.edu.au>
     * Audrey Tang <autrijus at gmail.com>
     * Simon J. Thompson <S.J.Thompson at kent.ac.uk>
     * Malcolm Wallace <Malcolm.Wallace at cs.york.ac.uk>
     * Stephanie Weirich <sweirich at cis.upenn.edu>
    
    The editors are Isaac Jones and John Launchbury.
    
    Feel free to contact any of us with any concerns or questions.  If you
    don't know who to direct your questions to, email Isaac Jones
    ijones at syntaxpolice.org.
    
    Community involvement is vital to our task, and there will be a way
    for members of the community to make formal proposals.  In the opening
    phases, please use these more informal resources to help us coordinate
    Haskell':
    
     * The haskell-prime mailing list.  All technical discussion will take
       place here, or (if other meetings take place) be reported here.  Anyone
       can subscribe, and any subscriber can post questions and comments,
       and participate in discussions.  Anyone can read the list archives.
       http://haskell.org/mailman/listinfo/haskell-prime
    
     * A wiki / issue tracking system to document consensus and to track
       ongoing tasks.  This system is publicly readable, but only
       committee writable so that we may present it as the "official"
       output of the committee.  If you ever feel that the wiki is not
       accurate as to the consensus, please alert the committee!
       http://hackage.haskell.org/trac/haskell-prime
    
     * A darcs code repository for experiments, proposed libraries,and
       complex examples.  darcs is a decentralized system, so anyone can use
       it, but patches should be sent to Isaac Jones:
       http://hackage.haskell.org/trac/haskell-prime/wiki/SourceCode
    
    Please join us in making Haskell' a success.
    
    [18:41] | [technology] | # | G

    Thu, 20 Oct 2005

    Daphne is Cool

    My friend Daphne recently had her first article published by the AP. Yay Daphne! I think I'm one of the violists inadvertently mentioned in her tag line at the bottom.

    Also, I need to correct myself, because previously I mentioned Andy Moran. His real (new) name is Andy Adams-Moran. I think he just wanted to get another mention on my blog.

    [00:59] | [random] | # | G

    My trip to Estonia & Berlin

    As I mentioned before, I went to Tallinn, Estonia for ICFP, and to Berlin, Germany to hang out with Anna.

    To see photos of Tallinn, Estonia, click here, and to see photos of Berlin click here. If you see a photo you like, click on it to see the larger version. Some of the photos there are from Ganesh since I mostly wasn't carrying my camera with me.

    All in all, I had a great time. Berlin and Tallinn are both beautiful and interesting. The conference was really good. I gave two talks. People were much more interested in and enthusiastic about Cabal than I realized, which is nice. I'm happy that people appreciate and know my work. My talks went pretty well, especially the 2nd one, where I think came off as energetic and interesting; I got the group to laugh a few times. Mine was almost the last talk of the whole conference (in fact, it was supposed to be, but they added one person after me), so people were pretty tired and relaxed by the end.

    I hung out a lot with folks from the Haskell chat room, and with Simon Marlow and David Roundy. There are some photos of them all in the photo section. I had about 1.5 days of free time, and so I took a tour of the old town with Ravi, Ganesh & David. We also did a bike tour, which is a great way to tour a place, and we saw some museums.

    The technical aspects of the conference were great as well, but this isn't the forum for that :)

    Berlin's culture and history are fascinating since they've had so much impact on our own culture and recent history. It was really neat to get to see The Wall, or what's left of it. The whole city has a marker where the wall used to be, just some bricks instead of concrete that make a line to show you. Be sure to check out the photos.

    It's so bizarre to think that you're sitting, reading in a park, in a spot where you would have been shot 20 years ago for being there. I remember that time, but only very little, and of course, I didn't understand much about it at that age.

    I had never actually seen the photo of the boarder guard leaping over barbed wire (seen here) but it's all over the place in anything that talks about the cold war.

    I spent a bit of time at Checkpoint Charlie. There's a museum there which has been there since before the wall fell, just documenting everything. For instance there's the VW bug that had a smaller engine put in so it could be used to smuggle people out. Anna and I also I took a bike tour that was all about the wall. She was working some days, so we specialized in romantic dinners. There are a lot of great places to eat in Berlin.

    The Reichstag is another fascinating bit of Berlin. It was burned (probably by the Nazis as an excuse for cracking down on communists) and not really used I guess until a few years ago. The new glass dome that was built recently is quite different from the rest of the building, but very symbolic of the transparency of democracy

    There's a really neat club / artist studio called Tacheles that was started by squatters in a bombed-out building in east Berlin just after the fall of the wall. Scroll about half-way down for the English, and take a look at the photos. Andy Adams-Moran had recommended visiting this place, and Anna had already been there, of course.

    It also gives you an idea of what East Berlin was like before all the renovation. Eastern Berlin is just now starting to finish up renovation. I guess it has basically been one big construction sight for a long time.

    I spent some time at the musical instrument museum. It was awesome.

    [00:57] | [travel] | # | G

    Mon, 19 Sep 2005

    Going to ICFP and other news

    I'm off to ICFP, the International Conference on Functional Programming this week. I'm giving two talks at workshops as I mentioned. Yay! My talks suffer from a severe lack of Greek letters. I'm just a Haskell programmer.

    My review of Brute Force: Cracking the Data Encryption Standard got posted to Slashdot on Sept. 8th. And for some perverse reason, it's like 3rd on the list if I Google for the word brute. The link says something about RSS, so maybe it's just because so many RSS aggregatos are watching Slashdot? Doesn't the internet have anything better to do?

    I admit that I dragged my team from work to "Salvador Molly's: Pirate Food" for lunch today in honor of the holiday.

    [23:37] | [technology] | # | G

    Mon, 08 Aug 2005

    So Much Writing!

    I have not been doing enough hacking, or blogging lately in part because I've been doing so much other writing.

    I've got one paper and one demo at the upcoming ICFP-related workshops in Estonia.

    The demo is at the Haskell Workshop, and is a presentation on the filesystem I've been working on at Galois; it's written in Haskell.

    The paper is at Trends in Functional Programming and it's on The Haskell Cabal.

    I also have been doing book reviews. I mentioned a review on a book called Codex recently, and I wrote a review for The Journal of Functional Programming but it hasn't been published yet, and I'm writing on for Matt Curtin's new book, Brute Force but I'm not quite done with that one. Of course linkage will be forthcoming when it's available.

    Also my damn gateway laptop is having screen flicker again. It's already been fixed 4 times for this same issue. That is very lame.

    [22:22] | [technology] | # | G

    Tue, 05 Jul 2005

    APT Secure

    I was very pleased to read that "apt-secure" will finally make it into Debian. It's been about a year and a half since the apt-secure work that Colin and I did was merged back into APT mainline and released as 0.6.

    Folks might be interested to find our page on apt-secure which is perhaps unknown to someone who created a new page on apt-secure with no-doubt updated information. Am I the only one who thinks that APT could use a web page? I'm very glad that the apt-secure test suite is hosted with darcs!

    While we were working on this, I promised myself that I would buy a laptop computer when it was done. Fortunitely, I decided that "done" meant feature-complete, not delivered with Debian... I won't tell you how old my laptop is, but it'll probably be replaced before apt-secure gets delivered with a stable version of Debian ;)

    I keep trying to get involved in APT development, but I find it pretty hard to follow the mailing list. A few months ago, there was a request for help, which I replied to a few weeks later, after I dug myself out of some other work, but my response was ignored :( I'd still be interested in being involved in the ongoing discussions about apt-secure or testing of apt-secure, or even other apt-related development since I'm pretty familiar with the codebase.

    Perhaps I'll take a look at the tasks on the above-mentioned web site and try again to get involved.

    Peace,

    Isaac

    [20:26] | [technology] | # | G

    Codex Review

    I wrote a review for Slashdot on the book Codex. It was a mixed review on a mediocre book, so I guess I shouldn't be disappointed in the mixed and mediocre response from the Slashdot crowd.

    Slashdot sent me a bunch of books to review after I did one a while back on The Haskell School of Expression. I hope the rest of them are more interesting.

    [20:22] | [technology] | # | G

    Thu, 02 Jun 2005

    The Monad Reader, Issue 3

    The Monad Reader is a monthly newsletter by Haskellers. From the announcement email:

    This month's issue has a definite introductory theme. It includes republished book reviews, notes on learning, a look at the differences between functional and object oriented programming, and distributed computation.

    As always, The Monad.Reader invites submissions on Haskell and related topics. Send a summary or abstract for your article to shae@ScannedInAvian.com

    -- Shae Matijs Erisson

    [01:02] | [technology] | # | G

    Forgiveness and the Indignant Man

    This past weekend, I went to a restaurant, and while paying the bill, I didn't compute the tip right. I don't know why, maybe I was distracted by my lovely girlfriend, who was visiting for the weekend. In any case, I realized my mistake while looking at the receipt. I felt really bad, it was half of what I meant to give. On Monday, on the way home from work, I stopped by the restaurant and gave our waitress the rest of her tip, after explaining briefly what I was doing there. She was so happy that I had come back that she gave me a hug. That was pretty unexpected, but it's a good reminder that tips mean something to people. I'm sure that the fact that I came back meant more, though.

    I was telling Anna about it, and she said I did a good thing. "But it would have been better to give her the right tip in the first place," I said. But Anna pointed out, perhaps not. I think Anna's right, and I think that the waitress was happier that I came back than she would have been at just the tip in the first place. Maybe she felt bad last night when she didn't get a good tip after doing a good job.

    This was a great experience, which I wanted to share, but it has a deeper message. I'm not saying that it was any great thing on my part to go back; it was on my way home from work and everything, but I did something wrong, I made a small mistake, and I tried to correct it, in a small way. It's not surprising to me, as a Christian, that somehow in some difficult to explain way, it is actually better that I made the mistake and sought to correct it. But I think that this is the nature of sin and forgiveness (or mistakes and setting them right) for everyone, not just Christians... We Christians probably just think about it too much ;)

    But let's relate this nice incident to the ugly matter of politics. I read on cnn.com that, "Vice President Dick Cheney today said he was offended by Amnesty International's condemnation of the United States for what it called 'serious human rights violations' at Guantanamo Bay."

    He says he was offended. He was, you might say, indignant. Nietzsche might say "No one is such a liar as the indignant man." Amnesty International says, "He doesn't take torture seriously; he doesn't take the Geneva Convention seriously; he doesn't take due process rights seriously; and he doesn't take international law seriously." I would say that he is unrepentant.

    Admitting that you were wrong is hard. Asking forgiveness is hard; much much harder than the little task of stopping by the restaurant on my way home from work. Nietzsche's quote is about how an indignant attitude is often the mask of a lie. I believe the Bush administration knows that what it's doing is wrong.

    It would be politically very difficult for the Bush administration to confess its mistakes to the world, and to begin to set them right. It should, though. It's the right thing as well as the Christian thing to do. It should be done in order to begin the healing and reconciliation process. If it's not done, I believe that the evil it has caused will continue to grow.

    Feel free to send comments here.

    [00:36] | [politics] | # | G

    Wed, 18 May 2005

    The so-called Linux Community

    I've read two articles recently which describe "the Linux community" in a negative light. They are both about the same topic, a reporter named O'Gara wrote a disgraceful piece which included the apparent personal contact information of a figure in the free software world (named PJ) and her mother. These articles attack "the Linux community" because they accuse the community of launching an attack against the publisher's web site as some kind of retaliation.

    The problem is, of course, that I highly doubt that any member of the Linux community performed these attacks. Let's get this straight: The people who write the best software in the world are not the same people who attack web sites. The "good guys" in the community don't need to disown the "bad guys". They aren't our children to disown, any more than they are Bill Gates' children.

    Let me try again. It's people like this who are attacking SYS-CON'S web site, whereas it's people like this who are the only ones who can be accurately described as the Linux community. See a difference there?

    Such articles usually come with some assertion like, "Unless the Linux community stops these attacks, no one will take Linux seriously." In fact, programmers will keep writing great software, 12-year-old kids will keep attacking web sites, no one will stop using Linux because of it, and reporters will keep making silly pronouncements like these.

    It should be no surprise that this silly article makes outrageous claims in order to attract readers. The author longs for the good-old-days... you know, back, when a reporter could publish an article as shameful as O'Gara's and would be "given a medal for generating readership."

    This article is an interview with the CEO of SYS-CON who published the O'Gara piece. There is so much wrong with it on so many levels, but the part I want to focus on comes near the end. When the interviewer points out that some people might not want their home address and their mother's home address posed on the internet, because they've been threatened in the past, for instance, this CEO paints himself as the victim because his web site was attacked. I have no idea what some 14-year-old cracker's actions have to do with why he chose to publish this article, but I'll just quote a bit of his rant, starting with the interviewer's question.

    Q: There are, in my opinion, reasons why I would feel at risk, if I were Pamela Jones. So... I am not a paranoid person. There have been questionable events in this case and Pamela Jones has received threats. And to me that's a good enough reason to be at least worried.

    A: Well, there were several threats left in the story feedback column overnight against Ms. O'Gara as well. We removed those entries, but of course left up the rest, even the harshest criticisms. We decided then to pull the article from our Linux Business News Web site. Our site has been down for three days in a row, for most of the day, with multiple "denial of service" attacks. Now, we don't know who is behind this criminal activity. You shut down the Web site of a media company with multiple DoS attacks for three days, because you don't like a story you read there. I'm a proud American citizen. Where are my First Amendment rights? Where are Ms. O'Gara's? Where is the freedom of press? Where in our constitution does it say a reporter does not have the right to contact you to request an interview? How do you expect me to find these criminals and bring them to justice in the anonymous world of the Internet? We had five simultaneous DoS attacks going on against our site on Tuesday which crippled our Web site and our business for the past three days.

    [The entire article is labeled: (c) 2005 Tony Mobily. Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved.]

    Clearly this man needs more than just a lesson in who makes up the Linux and Free Software communities. He needs a lesson in basic cause and effect (that is, try answering the question). But that's all I have the energy for tonight.

    [03:31] | [technology] | # | G

    Mon, 25 Apr 2005

    On Fibonacci Haskell

    In response to Dan Weber blog entry about Fibonacci in Haskell, I thought I should provide this link about The Evolution of a Haskell Programmer which covers in depth the proper implementation of Fibonacci in Haskell ;)

    [22:33] | [technology] | # | G

    Tue, 12 Apr 2005

    Partition and Solve

    The idea of breaking programs into functions was taught to some of us with the metaphor of "divide and conquer." That is, make several smaller problems and solve those instead.

    This approach is now so deeply ingrained that I can just think "partition and solve" which is of course a much more positive and accurate description.

    One might think of the "partition your program into functions" principal as "the divide and conquer" principal. But of course, they are both instance of the more general "partition and solve". I dare say that "partition your program into functions" is even a more pure and accurate instance of the principal.

    Evolution may also be an instance of the principal. Different species evolved to solve different problems, or to solve the same problem (survival) in different ways.

    Of course, when you partition a program into functions, you also define those functions' relationships to each-other. Just because you're partitioning doesn't mean that the problems are not related.

    When people see several competing projects in the "free software community" trying to solve the same problem, some might say, "Good. We have divided them, now we will conquer them!" In their marketing material (or more likely press-release ranting) they will say that a house divided against itself will not stand [1].

    Such people are probably purposefully ignoring the "partition and solve" principal. They ignore the fact that different projects have chosen different paths to solve different problems. They ignore the relationships between the projects, and that we feed each-other much more often than we actually compete. But no good programmer will ignore the relationships between her functions.

    Even within the Debian project we have lots of different goals. A truly gifted project leader will hopefully not see Debian as a house divided, but rather a very ripe partitioning looking for someone to define the problem that we solve together. A leader should help to define, create, or encourage the relationships that make that solution happen.

    peace,

    isaac

    [1] Oh no, I've contradicted the Bible and praised evolution in the same essay! Well, not really. The fallacy is not with the Bible's assertion about the house divided against itself, it's in the interpretation of "the free software community" as a single house. And also, I believe God created evolution :)

    [00:37] | [technology] | # | G

    Mon, 04 Apr 2005

    Hello Disjointed!

    Hello to the disjointed readers who are now picking up my blog. I'm not sure what it'll look like on the main page, so I'll take this opportunity to point out that my blog is actually hosted here, and my main web site here.

    My blog is being "syndicated" by disjoined so that you can read it alongside the rest of the disjointed posters, but I don't have to move my blog to disjointed to be a part of it. Thanks, Ryan!

    It's also being syndicated to livejournal (sometimes), and the "technical" articles are also syndicated to Planet Debian next to a strange picture of my head.

    Recent blog highlights are a trip to Smith Rock, an essay on the English language's use of proprietary syntax to express relationships, and very cute pictures of my cat.

    Email me here.

    [03:55] | [random] | # | G

    Wed, 16 Mar 2005

    My haircut is so good...

    My haircut is so good that the barbershop I use was linked from the front page of CNN.com today.

    If you scroll down near the bottom, there's a picture of the guy who cut my hair. I'm glad to help make him famous. The only problem of course is that now EVERYONE is going to go there.

    Oh, and I had dinner at Brett's house the other day. The company was great, the food was great. I even got carrot cake!

    [19:51] | [random] | # | G

    Sun, 13 Mar 2005

    A New Head

    Here is my new hackergotchi-style head. Will someone be so kind as to replace my currently very small head at Planet Debian with this new one?

    [13:20] | [technology] | # | G

    Sat, 12 Mar 2005

    Society and the Individual

    A friend and I were recently discussing the often fascinating behavior of societies of insects. This is a topic covered at length in the book Godel, Escher Bach, as I'm sure many of you know.

    One big question is what "motivates" the individuals in an ant society to behave the way they do; how do they know that what they're doing is going to add up to something big and complex, and positive for the society?

    Of course, the real reason to look at the social behavior of insects is to understand our own biological minds and social behaviors. So my simple hypothesis is that, there is no strict distinction between what an individual wants and what his or her society wants.

    I'll briefly use this lens to look at a few things.

    If you ask, "why are there so few women in computer science", then someone might be inclined to say that women aren't interested in computers. But as that link points out, that statement sorta begs the question. Why is it that society "wants" women to be disinterested in computers, how can we change that, and how can we strengthen individual womens' attitudes so that they over-ride the "wants" of society?

    Here is an interesting article about a study about test-taking for African-Americans. Selected quotes:

    "...Ours is an individualistic culture; forward movement is seen to come from within. Against this cultural faith one needs evidence to argue that something as "sociological" as stereotype threat can repress something as "individualistic" as intelligence...

    ...for black students, difficulty with the test makes the negative stereotype relevant as an interpretation of their performance, and of them. They know that they are especially likely to be seen as having limited ability...

    When the difficult verbal test was presented as a test of ability, black students performed dramatically less well than white students, even though we had statistically matched the two groups in ability level. Something other than ability was involved; we believed it was stereotype threat....

    We presented the same test as a laboratory task that was used to study how certain problems are generally solved. We stressed that the task did not measure a person's level of intellectual ability. A simple instruction, yes, but it profoundly changed the meaning of the situation. In one stroke "spotlight anxiety," as the psychologist William Cross once called it, was turned off--and the black students' performance on the test rose to match that of equally qualified whites..."

    So basically, when the African-American students felt that they were expected to perform poorly because of their race, they did indeed perform poorly.

    But how does this idea affect the privileged members of society? Well, why do people constantly sacrifice happiness in their personal lives for success and power? The concept of prestige is tightly coupled with "what society wants of us." Part of them, as individuals actually wants to be happy, the part that wants what society "wants" pushes them away from happiness toward their idea of society's idea of prestige.

    Even in the famously individualistic United States, we can't truly separate what society wants of us from what we want for ourselves.

    [19:33] | [technology] | # | G

    Fri, 11 Mar 2005

    The Release of The Haskell Cabal, 0.6

    In a flurry ... of... announcements on the Haskell mailing list today, all of the major Haskell implementations released versions of their compilers or interpreters.

    The fun thing for me, is that they all come with The Haskell Cabal. This is an enabling technology for packagers and an eventual CPAN-like package database for Haskell tools. Each of today's release announcements highlighted Cabal.

    This effectively adds up to the first major release of the Haskell Cabal, 0.6! Woohoo!

    The point of the cabal is to make a standard way to build and install Haskell tools. Cabal packages come with a little Haskell script, Setup.lhs, which has a standard interface. The Cabal provides a library that implements this interface.

    [20:49] | [technology] | # | G

    Tue, 08 Mar 2005

    Smith Rock

    Mark and I went out to smith rock to do some climbing this past weekend. The weather was absolutely beautiful, often sunny and a bit hot, but who can complain.

    We headed out on Saturday morning, climbed for a while, slept in our tents on Saturday night, and then climbed again on Sunday. I didn't bring my camera the first day so that I wouldn't be constantly thinking about taking photos. I just trusted in the idea that the weather would probably hold to take photos on the 2nd day. I wanted to be sure to experience it before trying to record it.

    Smith is a striking place. The rocks and surroundings are just lovely, as you'll see from the photos. They don't capture the enormity and complexity of it, though.

    The people were also great. On Saturday night, we hung out in a pub, had some dinner and just chatted for a few hours. There are some great folks in the Portland climbing community.

    There were even some horses :)

    Small versions of a couple of the best photos are below, but there are more high resolution photos. Check them out. If you want to see even more, there are some repetitive and less interesting photos here.

    pax



    This is me:

    [15:45] | [sports] | # | G

    Sat, 26 Feb 2005

    Forest Park Pictures

    I went for a bike ride in Forest Park in Portland today. This park is great; huge and very nearby. Today I finally got around to taking some photos.

    This is how most of the park looks. It goes on for miles and miles like this with a dirt track. There are side trails too where you can walk or horseback ride. Haven't seen any horses there yet. Photos of the park usually don't seem to turn out too well, because you're just surrounded by trees, and I'm not a good enough photographer to capture it.

    Portland is a bike friendly city

    But I'm sure shapr will be pleased to know that it's a unicycle friendly city as well!

    [20:11] | [sports] | # | G

    Mon, 21 Feb 2005

    Cabal and Layered Tools

    This past week we released Cabal 0.5, which I'm calling a release-candidate for 0.6, since 0.6 is the one that's going to be in the Glasgow Haskell Compiler version 6.4, set to release Really Soon.

    The cabal is a standard interface for building and installing Haskell tools. I'm very pleased that there are already some tools layered on top of it, like dh_haskell, for building Debian packages based on Cabal Haskell packages. cabal2rpm is a similar tool for rpms, Hackage (implemented on Linux with a Haskell SQL interface) is a Haskell Package database. Hackage will eventually implement an apt-get type interface for installing packages and their dependencies. Haskell support for visual studio is also layered on the Cabal.

    Maybe someone (maybe me) will implement some Eclipse plugin for Haskell based on Cabal. Though I can never get Eclipse to work.

    I'm really happy that a lot of people are hacking on Cabal and making really great feature requests and bug reports.

    [16:00] | [technology] | # | G

    Thu, 03 Feb 2005

    MSN Has a New Search Engine

    Apparently MS has a new search engine to compete with Google. One article I read said that they seek to provide answers. Maybe this is supposed to be something like Ask Jeeves?

    In any case, work has been nuts and I haven't had a chance to read up on it or try it out. I went to MSN.com today to do a search and of course typed in "linux" since I wanted my very first search on MSN.com to be memorable.

    The first result is a "sponsored link", AKA an advertisement purchased by... Microsoft! And it's tag line says that windows outperforms Linux. I guess they thought that was my question. Or maybe they knew I was just being a jerk and so they are likewise just being jerks.

    They're setting themselves apart from Google already!

    [00:23] | [technology] | # | G

    Wed, 19 Jan 2005

    Amazing NYTimes Article about the Ukrainian Election

    If you haven't already, you should definitely read this New York Times article basically about how the Ukrainian intelligence service manipulated events during the protest over the recent election. The amazing part is that they did so in a pro-democracy way. They were on the side of the people, and were probably a decisive force in stopping the army from rolling into Kiev to break up the protests. At one point, the army was actually on its way and was called off.

    Read the whole article if you can. It reads like a John Clancy novel.

    It kinda makes our politicians' anti-democratic Gerrymandering look pitiful, doesn't it?

    [02:29] | [politics] | # | G

    Tue, 18 Jan 2005

    I made vegetarian Sushi!

    I made (way too much) sushi today. I'm starting to get the hang of this, but I have mostly failed to actually go out and learn to make sushi. Trial and error and a couple of web pages have helped.

    This sushi is made of carrots, peas, and tofu, as well as rice and seaweed. I drank ginger brew while I ate it.

    The best piece of advice I can give to you, though, is this: Do not drop any sushi rice on the floor. THIS STUFF WILL STICK TO YOUR SOCKS AND IT DOES NOT COME OFF.

    I wonder how many people have blogged about making sushi? Isn't it so very hip? But how many of them have provided Irrefutable Digital Proof:

    [00:32] | [random] | # | G

    Mon, 17 Jan 2005

    Cabal 0.4

    I just released the Haskell Cabal, version 0.4.

    The Haskell Cabal is the Common Architecture for Building Applications and Libraries. It is a framework which defines a common interface for authors to more easily build their applications in a portable way. The Haskell Cabal is meant to be a part of a larger infrastructure for distributing, organizing, and cataloging Haskell Libraries and Tools.

    Among other things, it helps us build Debian packages of Haskell libraries.

    [16:45] | [technology] | # | G

    Sat, 15 Jan 2005

    Proprietary Bits in Language

    I've been on a Sci-Fi kick. I just finished reading The Dispossessed by Ursula K. Le Guin. I've read a few of her books before, but I really liked this one a lot. It reminded me a of some of Daniel Quinn's ideas.

    I picked it up sorta randomly because I'd read a couple of her books before. I had it sitting on my desk at work, and a few people said, "Oh, you're reading that? That's one of the best books I've ever read". Of course, I got it used for $3.50 at Powell's. I wonder how they get away with reprinting such books for $15.

    One interesting aspect of the book is that one of the languages used doesn't really express possessives. So instead of saying, "my book" it was always rendered as "the book". I didn't really notice this until near the end. When I did notice it, was when Le Guin wrote, "the mother" instead of "his mother". This didn't seem quite right to me, because it doesn't represent the relationship between "him" and "mother", but it's not really Le Guin's fault... there's no convenient way to represent this in English without using the possessive form. Perhaps "the mother of the man," but that still seems a bit possessive. I believe this is also true of Russian and Spanish at least.

    One way to look at it is that humans are so focused on possession that we don't have a convenient way to express relationships. But we are certainly not saying, "The mother that I own." Another way to look at it is that the so-called possessive case expresses more than just possession.

    In fact, it sometimes means possession and sometimes not. If my mother fell off her horse and I had to rush back to Ohio to visit her, and someone asked me why I was going, I might say, "Because she's my mother!" Not possessive. But clearly, it is sometimes possessive, particularly in romantic relationships. Jealousy is possible in all forms of relationships, but is probably most clear in romantic ones. "Why did you go to the prom with him when you're MY girlfriend?"

    This reminded me of the "object" formulation in object-oriented programming languages. (Didn't know that I was going to say THAT, did you? Ha!) In a language like Java, you say something like "the car's first wheel's last screw", "car.wheel[0].screw[3]".

    In Haskell, you also have aggregate types, where one type is composed of others but to access them, instead of saying, "the car's wheel" we say, "there's a relationship between cars and wheels. It doesn't matter what the relationship is, but the function from cars to wheels is called "wheels".

    So we have "last $ screws $ first $ wheels car". That is, "the last screw of the first wheel of the car"... actually that's clearer than "the car's first wheel's last screw" isn't it? There we go. I've once again proven that Haskell is morally and technically superior to C++.

    Randomness

    Here is an article linked from Slashdot about how people are giving up on the internet because of spam and spyware. The article doesn't mention GNU/Linux or Firefox.

    I just took one of those quizes that you've all been doing, and I was pretty disappointed.

    [22:03] | [technology] | # | G

    Tue, 04 Jan 2005

    Haskell: Your 2005 Programming Language

    I really enjoy the book The Pragmatic Programmer. One of the suggestions in this book is to learn one new programming language every year. Since the new year is upon us, I though I'd suggest that this year, everyone should learn Haskell.

    So please apt-get install hugs, grab Yet Another Haskell Tutorial, and get hacking. You'll probably want to have the Libraries API bookmarked. You might want to install the Glasgow Haskell Compiler after a couple of hours.

    When you get ready to package your first Haskell library for Debian, be sure to check out the state of the Haskell Cabal (the Common Architecture for Building Applications and Libraries).

    Here's a basic implementation of cat in Haskell. Compile With: ghc Cat.hs -o myCat

    import System
    
    main = do a <- getArgs
              contents <- sequence (map readFile a)
              putStrLn (concat contents)
    

    I'd be very happy if folks email me with suggestions on what programming language, API, technique, paradigm, or whatever I should learn this year. You definitely get extra points if you can give me a link to a good tutorial and if an implementation of the language is packaged for Debian.

    [02:18] | [technology] | # | G

    Sun, 02 Jan 2005

    What I Saw Today

    My friend, Co-worker, and climbing partner Mark took me biking today. It was up-hill both ways and completely exhausting for me, and he kept going after telling me how to get home, but it was awesome.

    Today was a really beautiful, sunny day with great visibility. We saw Mount St. Helens with what looked like a little plume of smoke (though looking now at the camara online, I don't see that). A few minutes later, I saw Mount Hood. Mount Hood is also a volcano, but since it doesn't do anything, I guess it doesn't have its own web cam.

    I also saw what looked, at first glance, like a normal bike-lane maker, but was acutally a unicycle with a guy juggling.

    [18:52] | [sports] | # | G

    Code 46

    Several friends have been recommending the film Code 46 with Tim Robbins and Samantha Morton.

    Samantha Morton starred in one of my favorite films, Sweet and Lowdown, and Tim Robbins is a great actor.

    I liked the film a lot, but I thought it was pretty flawed. The concept was great, and Morton was absolutly perfect for the role. I didn't think Tim Robbins was great in this role, though. I didn't think there was much real chemistry between them, and the character seemed too wooden to have fallen in love like that.

    I think that instead of having a middle-aged investigator from Seattle, the male lead should have been a 25-year-old computer programmer from Portland. They're the sex symbols of the 21st century, after all. But seriously, her character was so compelling that it was immediately clear why someone would fall in love at first sight. His was not.

    I also liked how she didn't really understand the technology that was being used against her, that permeated the society. I think it's very common for the average Joe to not really think about the possible uses of technology, and their implications. Most people are pretty happy that they're "saving" $0.30 at the grocery store by using a loyalty card, but few think about the other uses of these cards.

    Anyway, it's a great film. Go rent it.

    [14:15] | [technology] | # | G

    Wed, 15 Dec 2004

    Maragret Atwood

    I've been reading some books by Margaret Atwood. I recently read Oryx and Crake and just finished The Handmaid's Tale. They were both really good, though a bit intense and depressing.

    Slight Spoiler Warning: I don't really like the endings to either of these books. I think she could have done better.

    [12:12] | [random] | # | G

    California

    I'm in California this week. Have been traveling for work. The hotel I'm staying at has wireless internet access, which is nice. I am staying in Monterrey and had a side trip to Santa Barbara yesterday. It's a long drive.

    I'll be in Ohio between the 24th and 29th of December. Some days I'll be in Columbus, and some I'll be in Youngstown. Let me know if you want to get together :)

    [11:36] | [travel] | # | G

    Sat, 11 Dec 2004

    My Life Lately

    I'm sorry I haven't been blogging much. I'll try to do better. My laptop broke again, and it took me a while to get the automatic sync-blog-with-laptop tool going after moving to the new monk server.

    The Haskell Cabal is going quite well, and I like my new job at Galois Connections.

    I have been drooling over the Sharp Zaurus since Amazon sold off a bunch of them at a pretty low price. I probably should have grabbed one. They are rather powerful little computers, and they run Linux. Ah well, I'm still waiting for my dream phone / PDA / Linux machine to appear. The Zaurus can run Haskell code, though. I sorta picture this device as an ultimate remote-control for the internet. A super-portable Linux machine with wireless internet built in.

    [17:01] | [random] | # | G

    New Apartment

    Well, I'm safely in my new apartment. Bummed about the election, though. Here are some pictures of my apartment and cat.

    [00:26] | [random] | # | G

    New Look Same Great Taste

    Greetings all. I finally, after much pain and suffering, got my content and DNS moved to a new server. Probably, you won't see much of a difference, but this is the reason it's been so long since you've seen an entry from me!

    I hope I haven't lost too many readers. You can expect more regular updates now :) Below is an entry that I wrote a while ago, but couldn't put up because of the DNS problems.

    pax.

    [00:26] | [random] | # | G

    ;
    Misc
    Email Me
    My Home Page
    RSS Feed for this Blog
    My Other (Nerd) Blog
    LiveJournal Syndication
    Mention on Debian Weekly News

    Web Sites
    Isaac's Home Page
    Haskell Web Page
    Debian Web Page
    Google News
    A Go Wiki

    Misc. Blogs
    The Music Issue
    circlek
    nanny
    Planet Debian

    Open Source Club Related Blogs
    Colin's Blog
    The Daily Amoeba
    Disjointed
    dashandthedot
    Harshy(feed)