Octopodial Chrome

Stuff that Made Sense at the Time

The Personal Weblog of Bob Uhl


Tuesday, 30 June 2009

Sweet Cornbread

I added my recipe for sweet cornbread to my bachelor recipes.

Friday, 26 June 2009

What He Said

I couldn’t put it any better myself.

Wednesday, 24 June 2009

Think You Know About Christianity?

Do you think that you know about Christianity? Why not get to know the original? It’s a pretty cool site with some nice high-level articles answering various questions and providing information folks might not know—like that the Bible came from us (yup: we’re not a Bible-based church, but rather the Bible is a Church-based book).

Tuesday, 23 June 2009

More Lisp Packages

I’ve added more packages to my repository:

cl-vectors
An anti-aliased vector rasterization library
cl-zpb-ttf
A TrueType parser
cl-zpng
A library for creating PNG files
cl-vecto
A vector rasterization library which wraps CL-VECTORS

If you use Common Lisp to do graphics work, maybe these will be of some assistance.

Why People Hate Coriander

Josh Kurz reports on why some people hate coriander so much. He calls it cilantro, which is of course not the proper English name for it, but it’s otherwise a good article.

Monday, 22 June 2009

Disaster at a Brewery

Drie Fonteinen have lost 13,000 gallons (300 barrels) of beer to a thermostat failure. This is about a third of their annual revenue lost. The brewer is hoping to cut his losses a bit by distilling the spoilt beer.

Please go out an buy 3 Fonteinen wherever you can find it in order to help support the brewery.

Sunday, 21 June 2009

Pixar Grants Girl's Dying Wish

A 10-year-old girl in Huntington Beach, Cali., was dying of cancer but wanted to stay alive long enough to see Up. By the time it came out, she was unable to leave her home—so Pixar sent a special DVD of the film to her, hand-carried by an employee with a bag of stuffed animals, a movie poster, a scrap book from the film and stories about the movie. She died a few hours after seeing it.

Saturday, 20 June 2009

Dracula in Blog Form

You may not recall it from high school, but Dracula is an epistolary novel—that is, it is composed of purported letters and diary entries. The modern format would be a blog novel, and now in the steps of the Pepys blog some has started the Dracula blog, with posts in real time. Pretty nifty idea!

Manicurist Sells House and Car to Build School

A manicurist from Washington, DC sold her car and her home in order to build a school in her native village in Ethiopia. Not only that, she reserved a third of her salary and all of her tips for the project. Part of her inspiration came from the fact that a girl there was eaten by a hyena on the three-hour walk home from the then-nearest school.

This is an excellent example of the power of private charity. Bravo for her!

Thursday, 18 June 2009

Announcing the Octopodial Chrome Yum Repository I have packaged many Common Lisp packages for Fedora 11. Furthermore, I have set up a Yum repository to make it very easy to install Common Lisp packages. All you need to do is grab the repository RPM and install it. If using Firefox then Package Kit should open automatically; if using a command line you can install with:

rpm -ivh octopodial-chrome-11-1.fc11.noarch.rpm

From then on you can install new software as normal, using yum on the command line, Add/Remove Software in the GUI or whatever your normal install method is.

The following software packages are currently available:

cl-alexandria
Public domain utilities for Common Lisp
cl-babel
Charset encoding/decoding library for Common Lisp
cl-base64
RFC 1521 base64 library for Common Lisp
cl-bordeaux-threads
A portable multithreading library for Common Lisp
cl-cffi
Common Foreign Function Interface for Common Lisp
cl-chunga
Portable chunked streams for Common Lisp
cl-fad
Unification layer atop Common Lisp’s pathname functions
cl-flexi-streams
"Virtual" bivalent streams that can be layered atop real binary or
cl-flexichain
Common Lisp library for editable sequences
cl-hunchentoot
A web server written in Common Lisp
cl-ironclad
Cryptography library for Common Lisp supporting many cyphers,
cl-mcclim
Common Lisp Interface Manager, a protable GUI for Lisp
cl-md5
Simple MD5 library for Common Lisp
cl-parse-number
Simple library to parse numbers from strings
cl-ppcre
Portable Perl-compatible regular expressions for Common Lisp
cl-rfc2388
RFC 1521 rfc2388 library for Common Lisp
cl-spatial-trees
Common Lisp Interface Manager, a protable GUI for Lisp
cl-split-sequence
Simple library to split a sequence on some delimiter
cl-sql-backend-postgresql
PostgreSQL for CLSQL, a Common Lisp SQL interface
cl-sql-common
Common files for CLSQL, a Common Lisp SQL interface
cl-ssl
Common Lisp interface to OpenSSL
cl-swank
SLIME Lisp-side server
cl-trivial-features
Ensuring consistent FEATURES across Common Lisp implementations
cl-trivial-gray-streams
Extremely thin compatibility library for gray streams
cl-usocket
A portable TCP/IP (and later on maybe UDP) socket interface for
cl-who
Common Lisp HTML markup library
cl-x
X11 interface for Common Lisp
emacs-common-slime
Superior Lisp Interaction Mode for Emacs
emacs-slime
Compiled elisp files to run slime under GNU Emacs
emacs-slime-el
Elisp source files for slime under GNU Emacs
xemacs-slime
Compiled elisp files to run slime under XEmacs
xemacs-slime-el
Elisp source files for slime under XEmacs

Please pass this information on to anyone who uses Common Lisp on Fedora.

Wednesday, 17 June 2009

Systematic Risk as an Artifact of Government

Iain Murray argues that systematic risk in financial governments exist because of the State. I think he may very well be right: absent the expectation of a bailout, would markets more accurately price risk? It’s a reasonable proposition.

Tuesday, 16 June 2009

Disney Destroys Net Neutrality

A fundamental principle of the Internet is that all hosts are peers, that is, there is nothing fundamentally different about your laptop or Time magazine’s web serving computers: each is a computer; each can run the same software and communicate in the same way; neither is privileged over the other.

Net neutrality is an important implication of this principle. Basically, all hosts on the Internet have the same access to resources as any other host. That doesn’t mean that one can’t charge people for different types of access (e.g. online subscriptions to the Wall Street Journal), but it does mean that one can’t forbid some hosts from trying to talk to you while allowing others to do the same.

The big entertainment corporations hate the idea of net neutrality, as it means that they actually have to convince their customers to purchase their wares; they prefer a model like basic cable, where every subscriber pays for BET or Nickelodeon regardless of whether he wants it. They would like to form partnerships with ISPs, charging all of an ISP’s customer in order to provide content that only a few use.

Disney is the first to actually go ahead with this. It doesn’t matter whether or not I want to use their sports website (let’s put it this way: I have never watched a sports game on my computer, and I don’t expect to ever watch a sports game on my computer); my ISP is paying Disney no matter what—much as a shopkeeper might pay a mafioso—and thus I am paying Disney a little bit of money every month.

Note that this has nothing to do with sports. It could be a service I like—maybe something about homebrewing, or about politics, or whatever: it’s outright wrong to sell access at the ISP level rather than at the customer level.

Although it is rather neat that this involves Disney. Another online commentator noted that Disney is to culture what thyroid cancer is to metabolism. It’s appropriate that The Mouse be behind this latest instance of a monopolist abusing its position.

Monday, 15 June 2009

Running Lisp as a Linux Service

One of the truly wonderful things about programming in Common Lisp is that the system is complete interactive: the programmer can manipulate anything at run time, including the language itself. This is a really powerful technique—but how does one preserve the state of the system between reboots? And how does one get an image-based Lisp system to play nice with Linux’s system service model?

Well, John Wiegley published a great technique a few years which I’ve adapted for Tasting Notes. It’s remarkably simple: create a user to run the system as (just like other services like PostgreSQL or httpd); then create a standard init.d script to run the system. The really clever thing he does is start the system itself, a Swank listener and a kill port. Starting the system is self-explanatory, but what about the rest?

Swank provides a live connexion to a running Lisp system via which one can interact with the system’s internals. It’s pretty cool, and Wiegley’s method gets the job done. So far this is pretty standard stuff; I’ve used it in my own software.

The really clever bit is this bit of code here:

(sb-bsd-sockets:socket-bind socket #(127 0 0 1) *kill-port*)
(sb-bsd-sockets:socket-listen socket 1) (multiple-value-bind
(client-socket addr port) (sb-bsd-sockets:socket-accept socket) (let
((stream (sb-bsd-sockets:socket-make-stream client-socket :element-type
’character :input t :output t :buffering :none))) (princ "Saving
core and shutting down…" stream) (terpri stream))

  ;; Close up the sockets (sb-bsd-sockets:socket-close client-socket)
  (sb-bsd-sockets:socket-close socket))

What this does is wait until someone connects to *KILL-PORT*, then proceeds to shut down the system, kill all threads and cleanly exit. Smart and very simple: all the shutdown script has to do is telnet $KILL_PORT and the software shuts down.

Finally, it calls SB-EXT:SAVE-LISP-AND-DIE to save the current Lisp environment to a file; the next time it starts up it will run that image, so the software’s complete history is saved.

All in all, extremely nifty; I ported Tasting Notes to start using it this weekend.

Privileging Spanish

I was reading an article about the digital television changeover and noticed something a bit disturbing: they set up a call centre for folks having problems; the average overall wait time at the call centre was 8.4 minutes but the average overall wait time for Spanish-speaking callers was 1.8 minutes. I’m having a little bit of difficulty figuring out why folks who speak our native tongue have to wait 4 2/3 times longer than those who don’t. Why didn’t the call centre more accurately predict the distribution of callers it would get and arrange so that all languages would get equal service? For that matter, wouldn’t it make sense to ensure better service for English-speakers, given that English is our language?

When I was in Germany, I expected to wait longer if I wanted English service; when I was in India, I expected the same. Why are we privileging people who can’t even speak our language?

Saturday, 13 June 2009

How to Get H.264 Working with Totem and Firefox

Apple uses H.264 for a lot of its trailers; unfortunately Fedora doesn’t come with it out of the box. Fortunately it turns out that ffmpeg (available from RPM Fusion) does support it, so all you need to do is run sudo yum install ffmpeg-libs gstreamer-ffmpeg and life is good.

Fedora 11

Last night I upgraded to Fedora 11. I have to say that I’m impressed! It’s the first Fedora upgrade in a long time which went in quickly and cleanly, without any problems that had me tearing my hair out, which was a problem with past releases (and I—a professional sysadmin and geek—had trouble then you know that normal people did). Overall, Fedora 11 looks more like a polishing release than a feature release: for the most part, things look & behave the same, but they do it better, with fewer bugs.

The latest GNOME desktop looks even nicer than before, with clean lines and subtly eye-pleasing colours. It’s an improvement on the last, which was itself an improvement over previous versions. Session state appears to be working again, which is good (it was broken in Fedora 10).

I was able to get SBCL, PostgreSQL and CLSQL easily installed and got my beer tasting notes site back up and running very easily.

Likewise for the rest of this website and for all the other programmes I have installed on this computer. All in all it’s been a remarkably pain-free—even enjoyable—upgrade experience.

I can recommend the upgrade whole-heartedly. For those of you stuck on broken, proprietary, freedom-hating OSes: now’s the time to switch over. It’s worth it, really.

Tuesday, 09 June 2009

Lard is Good, and Good for You

Yup, everyone’s busily rediscovering the joy of lard. Unlike synthetic shortening, it has no trans-fats. Its saturated fats do not impact blood cholesterol. It’s superior to butter and olive oil for cooking and pastry making.

Just watch out for the supermarket lard: most of them are partially or wholly hydrogenated, which means that the lard does have trans-fats. Dumb dumb dumb.

Ketchup Cake

Heinz has developed a ketchup cake in order to celebrate its Canadian centennial. Apparently it tastes a lot like carrot cake. I kinda want to try it…it’s just too crazy not to!

Canteens for All

So I think we all know that bottled water is horrendously expensive and bad for the environment (which is in large part why it’s so horrendously expensive: you’re paying for all the energy wasted in getting that bottle of water to you). A company named uscanteen has updated the old M-1910 canteen and offers it with stylish purse-like carriers for women. Pretty sweet idea, and at $90 for a canteen and carrier together it pays for itself fairly after a month or two.

Monday, 08 June 2009

Unix Turns 40

As most of my readers know, my day job is as a Unix system administrator for a large outsourcing company. What’s Unix, the non-technical among you might ask. Well, basically it’s just about the greatest computer operating system to achieve widespread use (there have been better or more interesting ones, but they never really took off). It turns 40 this year. Kinda funny that I work on something almost nine years older than I am.

Kinda sad that the computing world hasn’t adopted anything better in the intervening decades either.

Tuesday, 02 June 2009

CBS on the SCA

Right after college I got involved in the Society for Creative Anachronism, a bunch of amateur mediæval recreationists (rather amusingly, their website is broken…). It was a lot of fun for awhile learning to fence, making Anglo-Saxon, Renaissance Italian & Elizabethan clothing and so forth, but I eventually fell out of it, mostly for time reasons but partly out of disappointment that so many folks were more interested in fantasy and not history. This great video from CBS does a good job of capturing a lot of what I loved and hated about the SCA. Makes me a bit nostalgic! Happy days…


June
Sun Mon Tue Wed Thu Fri Sat
 
       
2009
Months
Jun

Powered by Blosxom | Subscribe with Bloglines | Listed on
BlogShares | Blogarama - The Blog Directory | Technorati Profile

MEgalopolis font courtesy of Smeltery.

This is my blogchalk:
United States, Colorado, Englewood, Centennial, English, , Robert, Male, 21–25, Free Software, Society for Creative Anachronism.