MS SQL vs PostgreSQL Round 1

Time to install server and all updates: MSSQL, 4 hours. PostgreSQL, 10 minutes.

Time to create first database: MSSQL, 10 minutes, PostgreSQL, 10 seconds.

Time to connect to first database: MSSQL, 1 hour, PostgreSQL, 10 seconds.

Time spent adjusting firewall rules: MSSQL, 30 minutes. PostgreSQL, 5 minutes.

Time spent figuring out how to read the middle part of a merged field separated with a delimiter: MSSQL, 4 hours. PostgreSQL, 1 minute.

Time to restart service after configuration changes: MSSQL, 1 minute, PostgreSQL, 1 second.

Ease of finding documentation: MSSQL, as terrible as trying to read a book online without hyperlinks, PostgreSQL, well-made online documentation with an interactive updates section.

Score: MSSQL, 0, PostgreSQL, 7. Looks like a win for open source.

333

Lennart Poettering has my amazement and grattitude. There’s software there that I was going to write. Dude.

mDNS

aredridel@mizar:~/rpm/SPECS$ ping mizar.local PING mizar.local (206.168.67.102) 56(84) bytes of data. 64 bytes from mizar.nbtsc.org (206.168.67.102): icmp_seq=1 ttl=64 time=0.047 ms

mDNS is just cool.

Install Howl with a poldek -i howl and edit the config file (very simple) and start the daemon. Now the name is “out there”.

Then install nss-mdns and put mdns in /etc/resolv.conf and ping away.

Next up: plug Ruby into Howl.

331

Rargh!

At least I know shit comes in waves.

330

I had a great talk with Dawn tonight, catching up on three years of history. Gosh, there’s a lot of it…

I miss a few certain people. If they read this, they can probably guess who they are. If that’s you, hey. Mwah.

327

I’ve run a full course of Spiro now, been basically without testosterone in my body for several months. This week, I eased back off for now, not having a refill on hand, and partly to double-check what I’m doing, to see what the effects really are.

I’m more motivated this week.

I can’t concentrate nearly so easily.

My joints hurt more. Tendonitis is back more than usual. All my muscles are harder to relax.

My blood pressure is on average higher, but the swings are far worse.

I don’t sleep as well. I’m waking up tired.

My mood swings are harder to deal with. Not less frequent, not less severe, but harder to express and harder to figure out.

Food isn’t tasting as good.

I smell bad.

My sex drive is higher. It’s not really that comfy. I prefer the impetus to not be so entirely physical.

I don’t get cold quite as easily.

My skin is rougher and greasier.

326

I need to shake myself out of my routine. I don’t take things for granted, but I’m deep in my rut, comfortable but not seeing any scenery that’s new. My mental landscape is dwindling, and the richness of life suffers for it.

325

Some things never change.

Dawn and I have been old friends for as long as we have known each other. The first moments were close and honest. For better or worse, anger or not, it’s lasted in whatever form it has, and I’m happy. I realize now that that connection hasn’t gone away despite trying to ignore it, worrying about both of us having changed, and time just having passed. I assume that all relationships just go away when you don’t pay attention to them.

I’m home now. I’m listening to the Cranberries for the first time in months. It makes me think of Carrie, how she was when she first came here. Not the shy part, but the rebellious girl well in touch with her tough Irish heritage, angry and proud and a bit intimidating.

I have decided to leave you forever

I have decided to start things from here

Thunder and lightning won’t change

What I’m feeling

And the daffodils look lovely today

(From The Cranberries “Daffodil Lament”)

Reminiscing.

I found some photos on the web of England, where I’d been. Particularly fun is someone standing exactly where I was.

Ah, England.

Fresh bread, every day.

Mix three cups of wheat flour (not stale), three cups of water, a heaped teaspoon of yeast, and beat with a whisk.

Let this sit a bit — half an hour is great.

Add a heaped teaspoon of salt, and three cups of flour, white or wheat. Knead. Knead well — it is not hard to knead well, but five minutes of vigorous work leaves you with excellent bread.

Put this in the fridge.

When you want bread, rip off a piece pleasant to hold in one hand. Roll it out flat with some flour under it. Don’t squish it around except for the rolling.

Turn a heavy drying pan or griddle on high, with no oil in it. When it’s reasonably warm, throw your flat piece of bread (which should be seven or eight inches across) on it. When it gets toasty on one side, do the other.

All told, there’s maybe ten minutes work in this. Bread dough easily keeps a week in the fridge if you cover it. It gets better with age to a point, too, so no fear about using it all in a day. Share it. It’s best hot out of the pan, still soft.

Apache must die.

I don’t mean to sound like I’m just harping at the friendly giant that runs most of the web sites on the net, but I have some issues.

First, Apache 2 has some interesting issues with deadlocking when getting sent a restart signal. I can kill my apache so it just hangs all new connections about 7/10 of the time when I run apachectl graceful.

Apache 1 just isn’t as featureful as Apache 2, so backporting my configuration would be painful.

The configuration file is amazingly complicated for some simple things. For example, I have Instiki running on my system, so I use mod_rewrite to direct things from virtualhosts to the instiki service port. The problem comes from lack of templates and the incompleteness of mod_rewrite. It’s not really fair to pin this on the rewrite module, as a real solution requires smarts at all levels and adherence to standards. However, assume in the following that everything is XHTML strict and follows the HTTP spec exactly. I honestly don’t care about supporting older stuff.

<VirtualHost *:80> ServerName wiki.foo.org ServerAlias wiki.bar.org ServerAlias public.baz.org RewriteEngine on RewriteCond %{HTTP_HOST} ([^.]*).([^.]*).(com|net|org) RewriteRule ^/(.*)$ http://instiki.internal:2500/%2/$1 [P] </VirtualHost>

That’s not too unweildy, but imagine it with more complex sets of rewrites (I average 20 per vhost in this project, and I have five slightly-varying vhosts), and more names per vhost (I have over a hundred domains per vhost, since I am somewhat successful in reducing the number of vhosts needed by using clever (and hard to read) rewrites.

First problem: having to bind to *:80, or use an IP in there; I’d like a separate bind statement, like Bind 1.2.3.4:80 and Bind [ffec::1]:80. Really. Let’s get the bindings out of a hundred (yes, really, I use Apache 2’s ability to include directoryfuls of config files heavily) separate files and many hundred vhosts, and into one place so they’re easy to change.

So the vhosts might look like just <VirtualHost>. Now, why should the first instance of the names to associate with the vhost be ServerName and the rest ServerAlias? In fact, in Apache 2, it’s not neccesary, so just use ServerAlias always, and let’s abolish ServerName. Now, let’s add a new directive. TemplateName, taking a string argument. It’ll define an “abstract” virtual host (possibly in addition to making concrete instances for each ServerAlias.

Now, to instantiate one of those templates, let’s use another directive, UseTemplate. It would take a string argument as well, and would copy in any inheritable directives from the vhost where the template was defined.

One other problem here is with mod_rewrite. It’s impossible to define the equivalent of ProxyPassReverse using the proxy support in mod_rewrite. With instiki, that means that it leaks the private internal address to the public whenever a redirect happens. It makes my ruleset double-complicated.

322

I would like to publically state that Verizon Wireless sucks. Not only does their customer service blow you off on occasion, their reception when standing under the freaking tower sucks.

If colcanon had lentils in it,

then it would be something like this. Half an onion, sliced in strips and sauteed. Half a head of cabbage, coarsely shredded. A couple pieces of ginger, a little garlic, a dash of red wine vinegar, a couple small potatoes, cut thin. A cup of lentils. Cover with water and boil into something between stew and soup. Add salt to taste.

320

My week hasn’t been all bad. I just had dinner with my parents and sister, followed by a good phone conversation with Carrie, which was not carried on on cellular phones. We had a choir carol-sing around a bonfire in the town park, and afterward, my family hung around talking to Aleta, which was delightful.

Now perhaps to make some mulled wine and program for a bit, though I might just go to bed. I wish I could make my brain stop when I’m tired. It just isn’t happening lately though.

319

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/121908 makes me warm and fuzzy.