I just posted code for the Haskell Library Infrastructure Project here.

I'm using Arch for version control, and so far I'm really pleased with it.

In brief, the Library Infrastructure Project is an effort to provide a
framework for developers to more effectively contribute their software
to the Haskell community. I'm hoping to not have to implement this
entire proposal myself, and I'm very flexible about implementation
details. I've made some concrete progress, and I just mirrored my
code repository on my web site, so now is the time to get involved!

The Library Infrastructure Project is an effort to provide a framework
for developers to more effectively contribute their software to the
Haskell community.

The Haskell Implementations come with a good set of standard libraries
included, but this set is constantly growing and is maintained
centrally. This model does not scale up well, and as Haskell grows in
acceptance, the quality and quantity of available libraries is
becoming a major issue.

It can be very difficult for an end user to manage a wide variety of
dependencies between various libraries and Haskell implementations,
and to build all the necessary software at the correct version numbers
on their platform: there is currently no generic build system to
abstract away differences between Haskell Implementations and
operating systems

The Library Infrastructure Project seeks to provide some relief to
this situation by building tools to assist developers, end users, and
operating system distributers.

Such tools include a common build system, a packaging system which is
understood by all of the Haskell Implementations, an API for querying
the packaging system, and miscellaneous utilities, both for
programmers and end users, for managing Haskell software.

Status:

The project is still in its infancy. A tiny prototype was implemented,
along with some of the basic APIs. Consensus is gathering, however,
and a document describing in detail what we intend to build is
available on the project web page.

There are many Debian users in the Haskell community, and they have
recently begun an initiative to form a more coherent group. This
involves serious packaging work, especially by Ian Lynagh to bring new
binary versions of GHC, NHC, and other packages to various versions of
Debian.

The group is working toward a solution for the longstanding problems
with binary distribution of Haskell packages, with discussion taking
place on the Haskell Wiki. It
is hoped that the Library Infrastructure Project (section 4.1.1) will
help here.

In order to provide backports, bleeding edge versions of Haskell
tools, and a place for experimentation with packaging ideas, Isaac
Jones has started the "Haskell Experimental" Debian
archive where a wide variety of packages can be found.

Aetion Technologies LLC is a small American defense contractor that
uses Haskell and Java for most of its software development. The larger
current Haskell-based projects we are working on involve (a) automated
reasoning under uncertainty, currently focusing on the interpretation
of sensor data, and (b) an object-oriented modeling language for
composable simulations. Additionally, we develop small Haskell
programs for a variety of tasks from document processing to time
tracking.

A number of our projects involve systems of entities that react to
changes in each other, so we are currently investigating Functional
Reactive Programming as an appropriate framework for implementing such
systems. We are looking at Haskell-based declarative GUI toolkits and
Web Authoring System Haskell (WASH) as a useful basis for some future
work that will involve more user interaction. A project that we are
about to start work on will involve implementing a server that manages
a distributed computation.

In addition, Aetion donates some programmer time to community projects
like the Library Infrastructure Project and the Haskell Experimental
Debian Archive, mentioned elsewhere in this report (sections 4.1.1 and
6.3.1).

Been a while since I posted here, but I _have_ been posting at my personal blog.

I launched The Library Infrastructure Project home page recently with a detailed proposal on how it should all be implemented. I've gotten some good feedback and am trying to move forward with the packaging system, which I see as the first priority.

Just about to upload a new version of xppaut to unstable. It's an easy package to take care of, but it is a little frustrating because upstream does not post an announcement to the software's mailing list when new versions come out, and the filename on the server never changes (xppaut_latest.tgz or something). I never know when a new version needs to be packaged.

Still not an official debian maintainer, but things are moving along.

I finally got a wireless card that works for me (see last entry) but now I'm having trouble getting a new cell phone / PDA. Just look at my story about trying to get a wireless card, transfer the pain in the ass to customer service and the post office (instead of linux drivers), make it cost $630 and take over two weeks so far. Thanks T-Mobile! (I shutter to think that I've been recommending them to friends.)

So I did the right thing, I researched which wireless cards are guarenteed to work in Linux and decided on the Orinoco Gold which is sold by Proxim. I ordered it on friday and got it on monday (yesterday), wow, fast I was impressed.

And I was excited. I have used wireless cards on my laptop quite a bit, actually. Whenever I go to a coffee shop, I get one from the coffee-selling girls, and it works out of the box. My computer even makes a happy noise when I stick it in the slot.

It was this happy noise which I was anticipating excitedly when I got my new Orinoco card. I even took my headphones off so I could hear it (I forgot that my headphones were plugged into my computer so I wouldn't hear it if I took off my headphones, but forget about that).

I put the card in. No lights, no sound, no magic. What could have gone wrong?! This is the card with the name of the kernel module! It even has the name of the kernel module on the outside of the card!

But alas, Proxim has renamed their orinoco wireless card "gold" to "Gold Classic" and started selling some other card which does not use the same chipset as the "classic" card. I needed the "Classic" one to work in linux.

I guess I should update the wiki where I got my information. Now can I return it to this internet store that I talked about in my last diary entry? Stay tuned.

I don't like buying things. When I go into a store, I get what I need and leave. I'm sure many of you are like that. When I buy stuff online, I usually buy it from the manufacturer, for better or worse, because at least I've heard of them for heaven's sake.

I decided I'd buy an orinoco wireless card (see my last entry), but could only find them on these "Computer parts mall" type stores, none of which I've heard of. So I actually started reading online reviews of the stores themselves and found one that didn't have too many complaints.

I will need to buy a new PDA soon, but there are too many choices, I can't digest all the information available to me. Even if I limit myself to handspring phone-type machines (I have one now), I still can't ever get through picking a model, narrowing the field, finding good prices from a reputable store, figuring out what the linux support is like, etc. I usually give up. When its something that I really need, I usually just end up picking something rather arbitrarily after digging through way too much information.
<hr>

This all reminds me of an email exchange I had with a person (lets assume they were male for the sake of this story) who was selling a used food processor. I emailed him to ask what the model number was so I could check out online reviews. Amazon's reviews were the worst I had ever seen in my life. The average was 2 out of 5, several people said they wished they could give it negative stars. One person even complained that the machine cought fire! Another said that it smelled like burning. So anyway, the guy was asking $15 (original price $35) or best offer. It wasn't worth that much to me, so I decided to make him a really low offer in case he couldn't sell it, I decided I'd be polite about it, but only offer him $5.

Owch, it got truly terrible reviews on Amazon including catching fire
for someone! If you don't get any better offers I'd give you $5 or
maybe a little more for it. But good luck with the rest of your stuff
:)

All the best.

peace,

isaac

I thought that was pretty polite, probably could have been better. I always sign my emails with "peace". Here's his reply, which to my satisfaction, I did manage to _not_ reply to:

hi

if u don't know how to handle fire, u might catch fire too - does that mean
there is something wrong with u? anyways, thanks for ur offer... if i
someday need ur $5, i will surely let u know.

peace,
???

I guess he's got a point there. In some deep, philosophical sense, any of us could catch fire at any time. Why reject a food processor just because it has that fire-catching property of all beings inherently possess?

Well I got a Gateway 450X laptop and really want to use the Centrino internal wireless, but that is not to be, at least not yet, something to do with the FCC, idono. I wrote to gateway and to Intel about this and got some OK replies.

So some time back I got a linksys card which requires wlan-ng it kinda worked, but crashed my machine every so often, which isn't so good. So I returned that card and decided to sit tight until I got a wireless hub anyway.

So I got a wireless hub the other day for a good price. I've seen it work, and even used it with my computer and someone else's wireless PCMCIA card.

So I got an SMC wireless card and got it home and it doesn't work in Linux yet. I fear wlan-ng so I want something that'll work without wlan-ng

So I returned that and got another linksys card, this time WPC11 ver. 4, and there were drivers on Linksys's web site. Sadly, those drivers crash my machine and even when they seem to be talking happily to the card, it won't connect to my router. So I'm going to return this one too.

Had a nice weekend camping. Did some good hiking, didn't manage to do any rock climbing since the guy with the equipment didn't come, mostly my fault for not realizing that my cell phone wouldn't work out there.

Debian Stuff

I finally sent in my Debian Tasks & Skills answers. There were lots of questions.

In the meantime, I had taken over the haskell-mode and hugs packages which were both in pretty bad shape.

We released APT Secure, a patch to APT to add checking of GPG signatures of the list of MD5 sums of the packages. I've mentioned that project here before.

Working hard on the Haskell Library Infrastructure project. We have two people working on make-based build systems, two people who are at least thinking about distribution infrastructures (like CPAN) and I'm working on something that looks vaguely like Python's Distutils coupled with Haskell's HMake.

Our server had some hardware problems and we had to replace the motherboard.

This weekend I'm going camping and maybe even rock climbing at Hocking Hills near Columbus Ohio. This should be tons of fun.

I got a wireless router today for $60 - a $30 rebate. I haven't sent in the rebate thing, but assuming that the wireless stuff works, and assuming that I get the rebate, I think its a pretty good deal. I'm using it wirefully now since I don't have a wireless card for my laptop and this Gateway 450X's internal wireless doesn't work in Debian GNU/Linux.

Annoyingly, as noted on walters's blog, our web server was successfully used to send a lot of spam. They must be getting me back for bragging about how well spamassassin works for me. Damn spam.

I was nominated as the leader for a project to assist 3rd party programmers in creating and distributing libraries for Haskell. See this thread for details. It seems to me that Python's distutils is very similar to what we want, but others disagree. This is a hard space to work in: there are lots of things that do something similar (I added a page to the Haskell Wiki to track and discuss them), but Haskell has its own issues.