Servers and such

It’s pretty bad when your laptop has better uptime than your servers.

I’ve been planning a new storage cluster server for a while. I finally bought the hardware and had done the design testing and was about to load test it when the storage array on my main server begins to fail.

This server’s been out of storage for a while, so this was something I was going to be putting in anyway, and planning to do it just the way I am.

So, I bump up plans to put the server in, having made sure the design of the system was sound, I figured the stress-test was just me seeing how much faster it could go than my current machine.

I come up to Ouray in the middle of the night and put the new server in the rack, move the data over to it and go home. Total downtime? 5 hours. So far, so good.

The only problem? The new NFS server to handle the storage locks up under heavy IO on occasion.

Back to Ouray.

Update some things. Try to find the source of the lockup. It’s an obscure, possibly SMP-only related bug in the Linux kernel — or my hardware. I get “NMI Watchdog detected lockup on CPU”, and one of the CPUs in the system is frozen, and tasks running on it killed. Then the other one goes some time later.

Apply a few trial fixes. Seems stable for hours. Go home.

Server’s frozen.</p/>

Wash. Rinse. Repeat.

I gotta learn to drive.

This morning, same thing. Hitch to Ouray. I’m changing kernels now, and with luck, that’ll take care of it. I think I’ll just spend my day up here. Ouray’s nice in the off-season.

Tumble

Magic Ink: Information Software and the Graphic Interface is one of the best reads on design ever. References to The Phantom Tollbooth are a bonus.

The Kaye Effect (video). I love physics.

As initialization vectors, ‘Bruce Schneier’ and ‘Chuck Norris’ are interchangeable.

Too true.

Namoli Brennet may be among my new favorite artists. What a voice!

Why Zebras Don’t Get Ulcers. And how stress affects humans and all sorts of fun neuroscience.

CDs!

I just scored at the thrift shop. Ten CDs!

  • Kronos Quartet – Black Angels,
  • Sarah Brightman – Classics,
  • Indigo Girls – Power of Two,
  • Nichole Nordeman – Woven & Spun, (This one’s a gamble as to whether it’s good. Just looked like good idea.)
  • the Dream Girls soundtrack,
  • Andreas Vollenweider – Dancing with the Lion,
  • Paula Cole – This Fire,
  • The Big Chill soundtrack,
  • Carol Laula – Preious Little Victories (another gamble),
  • Justina and Joyce – So Strong (A gamble, but the two girls look decidedly dykey, and so looked really promising.

Add to that scoring 5 nice tops and an ethernet router/print server for the remarkably low price of $8, and I’m a happy camper.

Tumble

death, funny, murder, vegetables

Music Player Daemon is really spiffy. I dislike most of the GUIs, but it’s a fair bit more reliable than Rhythmbox when my system’s being upgraded.

Orange Sun Tea

Remove the outer peel from an orange and cut into thin strips (as fine as possible), or grate if you’re lazy or only have dull knives. Add 6 teaspoons of black tea (a good orange pekoe would work wonderfully). Add a pinch of clove. Let it sit in a clear 3/4 gallon pitcher in the sun for at least 4 hours.

Another person discovers that piracy is easier.

Apple releases most of EMI’s catalog DRM-free on iTunes. $1.29 a track is a bit much to my head, but I will use it. Now to see if iTunes runs under Wine.

Vruba’s guide to irony. I enjoy re-reading this every few months.

Blood can be converted to type O. Damn cool. I wonder if RH antibodies can be tackled the same way.

Nothing like getting your ass kicked by a 1.5oz vegetable

shallot
n. A small onion with a glint in its eye.

Tumble

How I became a music pirate. Me too.

SciTech MGL, non-X, accellerated OpenGL for Linux. GPL and commercial license.

John Buckman (Magnatune) on how to sell music in this brave new world.

RONJA, or “How to build yourself an optical wireless LAN”

Talking with scytrin

<dl>

    <dt>Aria</dt>

    <dd>Good software is like an onion.

        Layered. 

         Difference being that when you weep for software, it should be at its beauty.

    </dd>

    <dt><a href='http://scytrin.livejournal.com'>scytrin</a></dt>

    <dd>I think I'm going to end up doing an ORM that sits in the singleton object and gets spec'd from yaml</dd>

</dl>

Using segmentation faults to do your own memory management. Clever, using it to lazily evaluate stuff in C.

One of the best boggle games ever

A grid reading F T O O in the first row, G A Y L in the second, T S E I in the third, N S X S in the fourth

Tumble

From #ruby-lang

<dl>

<dt>headhunter </dt>

<dd>“it looks hackish. thy code shall have no constants other than 0 or 1\. ”</dd>

<dt>Aria</dt>

<dd>“0, 1, e, the population of earth, c, or h.”</dd>

<dt>david_koontz</dt>

<dd>“headhunter, I think that's a silly rule, why is the biggest possible integer value better than the actual number you need?”</dd>

<dt>teferi</dt>

<dd>“Aria: what about epsilon_0 and mu_0? and G!”</dd>

<dt>Aria</dt>

<dd>“h pwns G any day.”</dd>

<dt>teferi</dt>

<dd> “Aria: surely you can't derive G from h”</dd>

<dt>Aria</dt>

<dd>“I wish I could. But then, I'd be hanging out in #nobel, rather than in #ruby-lang if that were the case.”</dd>

</dl>

For polyergic, libpoet, an implementation of “Active Objects”, where each object gets its own thread.

cdcarter explains well some tricks for marshalling Ruby objects.

Pay people to reduce your junk mail. Good idea.

Tumble

Ketchup Art (My favorite is Mao Tse Tchup)

PhotoRec, a photo recovery tool. A friend of mine needed it this week.

SPARQL Update, from the semweb labs at HP. About time, guys. Now if Virtuoso’s SPARQL support would add it, I would have a new favorite database.

How much space does it take to be happy?. Tumblweed Houses Small (actually small) houses. I’d live that way.

A new ruby database API?

Use the ‘user’ table from the default connection or pool

class User &lt; DB('user')
end`</pre>

#### Use a specific database connection or pool

<pre>`Connection = DBConnection.new(...)

class Post &lt; DB(Connection, 'post')
end`</pre>

That is, identify the database by a (reconnectable) connection to it.

#### Associations

<pre>`class Post &lt; DB('posts'); end

class User &lt; DB('users')
    collection :posts, Post, :author # Optionally specifying remote key
end

class Post &lt; DB('posts')
    reference :author, User
end

Collection associations return a collection object, not an array — it’s enumerable, but will perform the fetch either lazily or eagerly, and has methods to force those. It could also take advantage of cursors for huge datasets.

All in all, it’s like a low-magic, easy-to-debug ActiveRecord that I have in mind. I’d layer it on top of DBI, and go about cleaning that up and speeding it up where possible. I’d also love to see the low-level database APIs speak something that’s directly usable as a DBI driver, and do type conversions in the database-specific and fastest way possible, preferably in C.

Queries by single field name and primary key should be easy. Maybe something like User.find(:name, 'John') or User.fetch(1)

Queries by join to an associated table should be possible. I’d love suggestions for an API. Dropping to SQL should only be needed for really complex cases, and be well-defined how the objects are derived from the result set. Replacing what’s under the hood with something entirely unlike SQL should be possible and only break apps using SQL queries.

All of this makes me wish Ruby had a way to swap in a custom parser inline and then yield back to normal parsing at some place. Something that would allow User.find(name = 'John' and joindate &lt; Date.today) — mixing in some Ruby syntax into a custom parser. I’ve some thoughts on how that could be done, but nothing coherent enough to stick in code.

Tumble

Skype has made some rather interesting open PostgreSQL tools.

Rack really is the shit. Nice work, Chris. The error reporting is sane, the middleware is simple, and it seems to Just Work so far.

Tofu taco filling

Crumble 8 ounces of tofu, mix with 2 tablespoons of paprika, a teaspoon of garlic powder, a teaspoon of cut oregano, a half teaspoon of salt, a big dash of pepper, a few drops of liquid smoke and a small splash of soy sauce.

Sautee over high heat for a few minutes until it starts to brown.

Serve with soft tortillas and chopped vegetables and sour cream.

I just released Camping at the Mailbox version 0.5.2, more robust in the face of IMAP disconnects.

Sequel. A new and interesting Ruby query language on top of SQL.

There are Eden-based multi-motherboard servers out there. Neat stuff. I thought of that a while ago.

Basic Curry

Basic Sauce (great for Channa Masala or Saag Paneer, as well as being generally useful)

Toast 1 tablespoon of cuminseed in a pan

Combine one tablespoon each, grinding as needed, toasted cuminseed, fenugreek, mustardseed, paprika, tumeric. Add at least a dash of cayenne. Add as much as a tablespoon of anise, fennel, black pepper, coriander, and any other non-green spice.

Sautee a large onion in oil, with the spices. When the onions go translucent, add a small can of tomato paste. Blend in a blender with enough water to make things blend easily.

Channa Masala

Cook chickpeas until tender (or use canned). Simmer in sauce, optionally adding onions.

Saag Paneer (Or faked, Saag Mozzarella)

Simmer spinach in the sauce, adding chunks of cheese (preferably paneer, but mozzarella does in an American pinch) about 3 minutes from the end of cooking.

Aria’s Generic Curry

Lightly steam onions, cauliflower, yams, carrots, possibly squash, red peppers and other vegetables. Finish cooking by simmering in the sauce above.

Tumble

#ruby-lang

<dl><dt>slyphon</dt><dd>my crystal ball unfortunately has snot all over it right now</dd></dl>

PGCluster isn’t dead, just quiet (I suspect that when you’re Japanese, and your audience is often not, code speaks better than your English). 1.7.0rc is out for PostgreSQL 8.2.x.

Headline wrangler arrested for violating the direct object restriction. A slightly tongue-in-cheek commentary on a slightly unusual chunk of English gramatical analysis. And no negative mentions of Strunk and White, either!

To make a blank git tree, with no initial files committed (Possibly a bad idea since the original changeset ID will be the same no matter what project you’re working on), git init-db; git commit-treegit write-tree&lt; /dev/null. Nuts.

Oracle Cluster Filesystem 2 is really excellent. Good, solid code, and not terribly hard to set up. Very impressive.

Tumble

Build your own ~microprocesor for CS class.

Adam
Oooh, so you're the company that makes the internet!!
Aria
No, I just fill the barrels.

A Boy-Scouts-style badge depicting an electrical-shock hazard symbol and the roman numeral III The “experienced with electrical shock” badge (Level III) from the Order of the Science Scouts of Exemplary Repute and Above Average Physique.

The OpenMoko site went live today. A totally open GSM phone platform is a Very Good Thing. I’ll probably by buying one. Up yours, Apple iPhone.

StGIT, a patch-stack addon for git. I’m managing source with these at the moment, and it’s remarkably fast and seems complete.

Tumble

Girls don’t exist on the interweb. I run into this. Double whammy when you’re trans.


[14:45:18] evn says “an article saying coffee is bad”

[14:45:18] evn says “dammit”

[14:48:42] Aria says “Does an article make it bad?”

[14:49:38] evn says “yes”

[14:49:39] evn says “yes it does”

[14:49:48] evn says “ontologically it must be so”

[14:49:52] chris2 says “we should propose the pragprog to publish a *book* how coffee is good”

[14:50:32] evn says “reality is determined by the physical mass of bound matter suggesting a hypothesis?”

[14:51:15] chris2 says “yes!”

[14:51:24] chris2 says “thats why law books are so thick”

A stained glass PC case.

The Willhelm Scream.

Making Thai Curry Paste.

Mental Help. Psychological Self-Tools. Neat book.