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
;