The boring rants of a lazy nerd

Sunday, December 31, 2006

Saturday, December 30, 2006

Web Tech / Humor - Hebrew Numbering System in CSS specs

Apparently, some poor soul had to research the thing to write the spec for CSS lists. Here are the findings. It sounds ridiculous from the outsider's perspective. A fun read!

Monday, December 18, 2006

Self - Hardware troubles, Distro change

My 20GB 7200rpm ATA66 Maxtor, which I bought in mid-2000, finally died, a year after warning me for the first time. I can't complain - I had ample opportunity to "backup and replace", as the SMART warning said. Most of it was backed up, so I burned all the junk from the other hard drive to DVDR (using Knoppix) and decided to try that newfangled Ubuntu thing (my poor Pentium3 is just too slow to regularly recompile just about everything, as I was running Gentoo in ~x86 and emerge -avuDN world daily…). It formatted a partition I did not want it to format (I believe I have unclicked the option), and misconfigured grub to try and boot from the wrong partition. Admittedly, my partitions were ordered in the partition-table not in the same order they are actually layed out on disk, but that is completely legal. Anyway, after some trivial twiddling with parted mkfs.reiserfs and grub, a second attempt worked. It's a nice touch how they give you a working firefox and thunderbird while you wait for it to install, but the boot takes ages and it chose the maximum resolution for my monitor, not what I find comfortable. Since I only had the 6.06 version on a free CD (thanks B.), I installed that, thinking upgrading to the latest version of each package is trivial. Well, it's not trivial, but it's easy. You just edit a plan text file, and let it download a gig of files. I wonder if it's compiled for at least i686. It comes with a whole bunch of stuff I don't need, it will take me a while to uninstall all that junk safely. Also, it didn't ask *anything* while installing. I'll have to read some logs to find out what it decided to do. All in all, I'm not very impressed yet.

Friday, December 15, 2006

Fandom - Disenchantment

First, the story. Hopefully it will stay there for posterity, while CC wipes the fandom's collective memory, deleting archived fan fiction and mailing list postings, in preparation for her career as a published author. I sure hope her publisher has some serious cross-referencing mojo and liability insurance.

So, for a long time I used to be a real Cassie Claire fangirlboy. Sure, I've heard something about plagiarism and I knew there was a story behind the founding members of leaving FFN (and why it was called "The Site That Must Not Be Named" by some people) but all those people (e.g. Heidi) are really big and central to the fandom I knew*, so they must have been in the right, and the opposition (FFN, not R/H-ers) must have been in the wrong, and I never thought of going to the source and finding out for myself what the story was. It's a sorry excuse, but I wasn't the only one who fell for it. What really surprised me was that in all that time (five years!), I have never heard RJA say "Wolf, CC is a plagiarist. Those lines you love in her story were not written by her. Here, read this". I think I respect RJA more for it, though I still would've liked to be told. Maybe people assumed I know?

So, once again, I'm worshipping the cool kids from the sidelines, thinking that if I follow their LJs some of that coolness would rub off. I am quite disgusted by myself. It reminds me of Dave Winer and the founding of Atom. I used to be a fanboy before I started reading Tim Bray, Joe Gregorio, Sam Ruby and Mark Pilgrim. Looks like the sheeple instinct is strong in me.

* - SQ's and GT's apparent fanatism didn't help. Now I pity the poor folks at (though I agree with many of the reasons for H/Hr), but then the people who didn't mix well with the people of Schnoogle always seemed decidedly more strict and less cool.

Friday, December 08, 2006

Fandom - on alternate lifestyle evangelism in liberal arts

I started writing this and it became me trying to say what I think about gays, and I don't know what I think. But anyway, I don't like reading slash fan fiction. Just because. I'm allowed to not like reading slash, right? So I really don't like it when authors don't say "slash" in the blurb/description/author notes, don't mention anything slashy going on, you're enjoying the story, and then the author introduces slash. So you are forced to either stop reading a story you liked, or keep reading and hope the slash doesn't get any worse*. I've read that some people sometimes do it on purpose. Another tactic is to introduce secondary and/or tertiary gay characters (sometimes OCs) in a subplot, so it's not the focus but the reader gets used to it being mentioned every few paragraphs. All attempts to educate the public, I'm sure. It's not fandom, it's the times. Kevin Smith does it, Lois McMaster Bujold does it. There is a major campaign to get gays into the mainstream. They always were well accepted with the artsy crowd, and I don't support bigots (being Jewish and all), but I don't like this evangelism. Please disclose slashiness upfront.

* - I have read After The End, but I have stopped reading Stealing Harry, though it was very good. I don't remember whether there was any warning when I first saw it.

Sunday, November 12, 2006



Had a meeting with team lead and project manager where we discussed my job description and our plan for fulfilling my role after I leave. I have been pushing for such a meeting for a year. Project manager decided that although we have known at least two years in advance of the impeding knowledge/skill lose, there is nothing we can do in time for January 2008. Thus, complexity developed in more than a hundred man years and deployed in an increasing number of sites is going to be maintained by two people. I predict that in three years, the systems will be completely non-maintained, as just the training required will demand more man-hours than the project will be able to supply. A year later, the next version write-from-scratch will be initiated by the clients. I cannot express how demoralizing that is.

I have begun to think about what I want to do when I grow up. Turning twenty-two and all that. I don't think I want to go to college at twenty-four, though I guess I could work part-time. I don't want to be a Dilbert in some job in an organization that is run like the IDF's main IT unit, with incompetent nincompoops in charge of dispassionate developers. I don't know what role to apply for, as I'm kind of a jack of all trades and a master of none, due to me being the only technically inclined person in a fifteen-person team of bloody software developers. I could say I'm a dotNET code monkey, or an Oracle Sla^H^H^HDBA, or a C coder. I could probably pass for a Java or C++ entry-level developer, but God I hate that stuff. I don't know if there's any work in Python or Ruby that is not research. I don't know where people do serious client-side AJAX code. I don't know if I have enough experience in any one field to get hired as a specialist and I don't know if I want to continue to be a "does everything" guy and whether such jobs exist.

I've read some reviews of the new nVidia chip. I don't even get the "I wanna!" feeling anymore.

I've read about the plans for Mozilla 2, Macromedia/Adobe's generous gift of a JS2 JIT compiler, the gfx backend work. Very nice. Might make JavaScript a viable platform some day, like I keep telling people. Though making Cairo fast enough sounds impossible to me.

After reading a lot of bug reports/whining, I've managed to figure out that portage didn't cause the recompile of Mesa, xorg-server, xf86-driver-ati and Beryl when it updated glproto on my machine, and after waiting for all that stuff to compile Beryl works fine. I have to say that looking at it on your own computer rather than a flash movie is more impressive, especially considering what a puny computer that is. I won't keep it, but it really is pretty.

Have been exploring GoogleEarth and showing it to my parents. They were impressed. I wish to thank Google for compiling it for Linux - works like a charm, though Beryl still has some issues with it. It's quite amazing. My parents were especially impressed with Diego Garcia and showing me that home I spent the first two years of my life in, not with the rich metadata available for civilized countries (sadly Israel isn't).

A long time ago, a friend of Elizabeth suggested I read the Left Behind series. I politely refused, saying I won't read it for the same reason I won't read C.S.Lewis. It was four years ago, I think. They appeared to be quite bewildered, and I didn't want to say it sounded like evangelizing to me. Anyway... this story is just crazy enough to be true. And I'm not miffed because I'm Jewish, but because I'm sane. is often funny.

Science fiction was unbelievably chauvinistic, untill... I don't know. Apart from LMB, it might still be chauvinistic as far as I know. And boys grew up on that shit. is crack.

I forget what else I wanted to blog about.

Saturday, October 28, 2006

Geeks/Girls - VM rootkits

For those who don't follow security developments - a new technology in mainstream CPUs called VT allows hardware assisted virtualization, meaning an operating system (like Microsofttm Windowstm) can run inside another operating system and never know it's not actually running on the bare metal. Thus the outside operating system has total control of the inside operating system, and cannot be detected. This allows viruses that completely own your computer and it can never tell. Very bad.
Anyway, there was an interview with a security researcher about this hot topic. The interview got slashdotted, a technical debate ensued. This comment made me laugh so hard, because it's true.

Monday, October 23, 2006

Depression 22

So. Am I laughing or am I crying? I don't rightly know. As a wise acquaintance once said: "life sucks and then you die". Well, he has a job and girlfriend while I have parents I need to support. Is this a cry for help? I think it's just a cry. Happy Birthday to me…

Friday, September 29, 2006

Life - A*Holes

Today someone broke my dad's car's windshield and stole a pouch with my my dad's id, license and registration. I guess they thought there would be money in the pouch, but there wasn't. Wouldn't it be cool if cars would record video footage and transmit to somewhere safe? You don't need to store the data for long, and any idiot who harms the car knows he's on tape somewhere. It would also help to find out what happened in accidents.

In completely unrelated news, I've downloaded Season 01 of The Simpsons - it's still funny!

Monday, September 25, 2006

Web - Washington Post Literary Contest - Two-for-One

Found out about it through John Cowan's signatures file (from which I borrow liberally). Very funny, in a very geeky sort of way. link.

Life/Fandom/Poetry(!) - Gender Wars

A while ago I've read some fic where the author quoted (in full) a Rudyard Kipling poem titled "The Female of the Species" (if copyright expires 70 years after the author's death, it's public domain since January, but I won't copy it here. Just look it up). I don't remember much but I think that Harry used the poem to educate Draco that attacking Hermione (or was it Ginny?) is not a smart move. Today, while jogging, it surfaced with a remembered feeling of unease. I remembered it bothering me when I first read it, but I couldn't tell why. So I've looked it up and indeed, it's not a poem about wildlife at all! It's a poem against women suffrage, and regardless of the fic author's gender, it looks like s/he didn't read it well. It was published in 1911, which as far as I know means women's rights were on the public debate. Or am I delusional?

Sunday, September 24, 2006

Life - Mothers are the Devil

… or is it just mine?

P.D. has been saying I need to move out of my parents' home for a while. I still think it's financially a bad decision, but maybe growing up has a price as well. I am getting sick and tired of the last five years of doing absolutely nothing.

N.C. got himself discharged, the empty seat reminds everyone at the office that the boat is sinking fast. Curse E.H. to everlasting damnation.

R., I remember. I'll drop by soon with your stuff.

Health and happiness to all on this new Jewish year!

Friday, September 15, 2006

Hardware - Stalling

I have been planning to replace my aging computer for a while. First I have been waiting for my conscription to end and my contract to kick-in, so I'll have income. I had the money to buy a computer even before, but I didn't want to spend it. Then I was waiting for a better alternative than the DFI nForce 4 Ultra which was expensive, ran hot and required lots of fiddling. I have been waiting for an ATI-chipset-based overclocking-friendly full-featured not-overpriced socket-939 motherboard. Then AM2 came out, and with it better motherboards. Still nothing that awesome, and Anand said "wait for Conroe". Conroe came out in the summer, and yeah, it's awesome and I want it. But there are no decent cheap motherboards. The cheapest, most problematic board with Conroe/Allendale support, the Gigabyte DS3, costs a thousand NIS. And of course, this is as frustrating as ever:

ItemUS priceUS price in NISPrice in IsraelRipoff rate PCT
CPUIntel Core 2 Duo E66003331458200037.17
MoboASUS 975X P5W DH Deluxe2401050170061.90
RamCorsair DDR2 PC-6400 2x1024MB Kit2741200185054.16
VideoBrand GeForce 7300GT 256MB Silent8336350037.74
StorageWestern Digital Caviar 2500KS 250GB7834143026.09
Exch Rate: 4.377

To this I need to add a decently-quiet, well-ventilated case and a quiet, efficient, stable power supply unit. That can be a thousand NIS together. And I need a monitor.

The more I read about this stuff, the less I'm sure there's a good choice. Every part has problems, compatibility issues, etc. Wanting it to be stable, cool, quiet, and performant while not costing like a car appears to be too much.

Saturday, August 05, 2006


My hard drive has finally filled up and I was unwilling to delete the House episodes I've pirated as I believe I'll want to watch them again, so I've bought a DVD burner. A dirt-cheap Sony DW-Q30A (actually a LiteON SHW-1635S) was what the local store had on hand, and the review said it's ok. A switch to 80 ribbon cable, firmware flash and setting the burn speed to x4 managed to get it to consistently write successfully on cheap x8 media, as long as I don't do anything IO intensive while it chugs away. My hard drives are struggling with the demand for consistent high speed reads, especially as the files got heavily fragmented on an almost-full disk. I have to say two seasons on four disks is a welcome change from burning a whole cake, both time and space-wise. I'm a bit worried about the media's longevity so I'll probably go and pick up some good archival quality media, but what I have should be enough to relieve storage pressure.

With the free space, I'm pirating 24.

Friday, July 21, 2006

No Update

Frankly, I have nothing to say. I have family in Haifa, but they are all safe. Some friends who serve in the north but don't have to have been reassigned to the center. Some people's end of semester exams have been postponed. I try not to feel anything about the dead and injured. My neighbor from when I grew up got married. A friend of mine from training is getting married in August. Another friend from training is getting married in September. Life goes on. Thank you for worrying, Emily.

Tuesday, July 04, 2006


First of all, I have to say that I have been using XMMS for years now, and having discovered Amarok in Mark's essentials list I feel ashamed, because I realize I have been living in the dark ages. XMMS is basically WinAmp 0.9, the kind that was bundled with Netscape 4 IIRC, so it's quite dated by Q3 '06. Anyway, Amarok rocks, and MusicBrainz (integrated music fingerprint identification system) is awesome. And it's all free!

On a completely unrelated note, girls are a wonderful thing, because they don't have this competitive macho thing that's going on whenever young males interact. I find it very relaxing. So much so, that I'm even contemplating increasing my interaction with females up from "never" all the way to "occasionally", which is, admittedly, a very large step.

Monday, June 26, 2006


  • The weather is hellish.
  • Strangely, I'm excited about my current assignment. I wonder how long that will last.
  • Was ordered to give a presentation on a system I've participated in building to rest of dpt. Was horrible, because I didn't return to the big picture after each chapter so people who lost me midway had no way to reorient themselves.
  • Appears to have found a bug in IBM C/C++ compiler for zOS, systems people promised to check whether it's documented.
  • Female team member appears to be afraid of me. I didn't do anything, it's just that none of us are all ok in the head.
  • New team member is the most painfully extroverted person I've met, with no tact whatsoever, zero experience in behaving at a workplace, programming, working in teams, quasi-military reality, etc.
  • Immediate boss is control freak, not talented at management at all.
  • Services we must rely on provided by other departments don't work so it looks like our stuff doesn't work and we look like idiots to our clients.
  • Buddy got left in the sun for more than ten hours because security officer freaked and decided that state of alert equals war and he can disregard the regs. His CO couldn't do anything about it.
  • Got detention for a week for being late. Spending it in an air conditioned room with a fridge, microware oven, cold/hot water thingy, phone with civilian line and an unmonitored broadband internet connection reminded me once again that I'm not really in the army. Was kind of a vacation!
  • I work in the public sector, so it all sucks, and I can't quit because I'm under contract. Because I can't quit, they can treat me like shit, and sometimes they do. Of course they know they get shitty work from an unsatisfied, undermotivated, undertrained, unwilling, often even downright depressed and rebellious workforce, but because it's the public sector (no competition, budget is decided with no correlation to actual work being done, promotions are decided with no correlation to accomplishments) nobody cares. Does that sound cynical enough? I'm a real patriot of my country, BTW, and I believe in doing what I can to improve what I can, but really, the system fights you every step of the way.
  • Boss' boss said a number of PHB lines so bad I had to force myself not to literally ROFL on the spot. Unrelated buzzword spewage is not funny when you have to actually work with the man.
  • AM2 and Conroe both look good. Of course Conroe is designed in Israel, so I'd buy that, but if AM2 still beats Intel at price/performance with moderate overclocking, I'll probably vote for the underdog.
  • FFDB goes nowhere, but I haven't given up yet, it's just that carving time is hard when you're depressed and no one shows interest anyway.
  • The latest fandom wank sounds all exciting, but I haven't read it yet. [Ed - I've meant the mssrcibe story by bad_penny]

Take care.

Friday, June 09, 2006

Me/Work - Damn

Last week I was transferred to another development team in the department, as part of an effort to create task-oriented teams and because my boss couldn't handle me. My new boss is better, though not as good as my old-old boss and nowhere near as great as my old-old-old boss. I moved into the team's rooms, two doors down. The room now sits me, a new college grad my age (though with no experience at all and no passion for programming), and our sole remaining female developer. Who is drop dead gorgeous. Usually, in day-to-day uniformed professional environment, I am able to ignore it, mostly. Yesterday there was a Sting concert and I've seen her leave the office ready for an outing with her hair down, perfumed, etc. I had to concentrate not to drool and my mind kept returning to it hours later. Potentially very embarrassing.

In other news I was asked to recommend technology and architecture for a project without being told what the app does. Also I've rewritten in PL/SQL a view that our production server refused to perform reasonably, but because my new boss can't read PL/SQL the code-review will be… interesting. It does work though. On my way home an old lady asked me to pull her shopping cart to her home because it was too heavy for her, and then thanked my profusely after I've put it down near her second floor flat's door. We've been cautioned in basic training that old people react strangely to uniform, and they were right - it happens every few weeks.

Sundiver and Startide Rising were a breeze, though for a multiple awards winning novel, Startide Rising wasn't that great. I don't wish to read the third book in the trilogy. Is the second trilogy better? Good Omens doesn't go that fast though. The Pratchett jokes are amusing, but I don't know that Gaiman brings to the table.

Saturday, June 03, 2006

Me/Web - Bookmarks

In my nerdy ways, I tend to spend weekends the same way as I spend the rest of my time - in front of the computer. I open sites like and I follow links. I open my feedreader and I follow links. I open Wikipedia or E2 to check something and I follow links. At the end of the weekend, I find myself sleepy on a work night with 50 open Firefox tabs. What do I do? The sensible thing - I "bookmark all tabs" and go to bed, obviously alone. Next weekend those bookmarks are not so interesting, So I open up
So now I have a backlog of 120-some bookmarks I would actually like to follow. I estimate it would take me a month, so it would probably take me six months if I step on it.

Code/FFDB/Django - Query by Many2Many relations

Neither the docs not the IRC chennel helped much, so I had to hack my way through Django's guts using my non-existent Python skills to create the following generic manager method that finds stuff according to multiple related stuff. The official docs only show how to get e.g. a publication through an article it published, but not how to get a publication that published two articles (or three, or… n). I use it to find a ship involving some characters.

class FooManager(models.Manager):
  def get_by_m2m(self, m2m_field_name, related_obj_ids, specified_only = False):
    Returns QuerySet with objects that are connected to
     all specified "related_obj_ids" through "m2m_field_name".
    Limits result to only those objects that are linked _only_
     to the specified related objects upon request.
    assert len(related_obj_ids) > 0
    meta = self.model._meta
    m2m = [x for x in meta.many_to_many if == m2m_field_name]
    if len(m2m) != 1:
      raise 'ManyToMany Field "%s" not found in model "%s.%s"!' %         (m2m_field_name, meta.app_label, meta.object_name)
    m2m = m2m[0]
    pk_column =
    m2m_table = m2m.m2m_db_table()
    source_col = m2m.m2m_column_name()
    target_col = m2m.m2m_reverse_name()
    tables = []
    params = []
    where = ['"%s"."%s" = t1."%s"' % (meta.db_table, pk_column, source_col)]
    n = len(related_obj_ids)
    i = 1
    for id in related_obj_ids:
      if type(id) != type(0): id =
      tables.append('"%s" t%d' % (m2m_table, i))
      where.append('t%d."%s" = %%d' % (i, target_col))
      if i != n:
        where.append('t%d."%s" = t%d."%s"' % (i, source_col, i + 1, source_col))
      i = i + 1
    if specified_only:
        '%%d = (SELECT COUNT(*) FROM "%s" WHERE "%s" = "%s"."%s")' %           (m2m_table, source_col, meta.db_table, pk_column))
    return self.extra(tables=tables, where=where, params=params)

Wednesday, May 24, 2006

Work - Phone

All officers (commissioned, non-commissioned and academic) in my unit have been issued a cellular slavery device, carrying and answering which is mandatory. Stood half the day in the sun on god forsaken base waiting in line. Turns out their records indicate I'm not an NCO. Flashed shiny new NCO card I got especially for this occasion — no go. Faxed(!) a hard copy (!!) of my record over - all ok (!!!). World class authentication, that is. Seems our systems don't integrate too well with the civilian cell service provider's. At least free calls with colleagues should cut my phone bill in half.

Sunday, May 07, 2006

Me - Haircut

Today I went to a barber and had him, besides the haircut, trim my beard, which was growing untouched since December (when I became an NCO and was allowed to grow a beard). I was unhappy with the unkempt look (think al-Qaeda), but I was afraid of change. I think my fear was justified. I hate the result. My consolation is that it seems to have a healthy growth rate, so I'll experiment more. People's reactions are the strangest thing.

Saturday, May 06, 2006

FFDB - Quality of Writing

Have you read something that was obviously spell checked but not actually proofread? The way to tell is that all the spelling mistakes and typos are the kind that would fool a dictionary-based spelling checker (meaning they're actual words, just not the right ones, or words that would not appear in a dictionary even when spelled correctly (like proper names) so a person could still click "ignore" and not notice the typo).

Well, fan fiction that regularly misspells the Hogwarts houses and uses non-words like "comon" (as in, "comon dude, let's go") is painful to read, even if it has actual original plot twists (in this fandom?). So I want the FFDB to have a Quality of Writing score for stories. I just need to figure out the scale and how to make it difficult to abuse.

So far I have thought of these possible scores:

  • Ready for the printing press
  • Multiple editors, multiple passes
  • Proofread by a literate human being
  • Spell-checked
  • Recognizable English
  • AOL chatroom transcript

Please contribute!

Wednesday, May 03, 2006

FFDB/code - design

So, after sitting there two1 years(!) waiting for Big Design Up Front, I've decided to just code something and now I have screen-scraped three (well, two and a half) site's indexes. This proves instant gratification is king in combating procrastination. Problem is, the code is right horrible. That was expected, from a first project in such a different programming language than what I'm used to (C,C++,C# person doing Python), but still, I thought I was a better programmer than that. And it's not my perfectionism, the code really is very bad.

I didn't use "new style" classes because the tutorial I've used was too old. Also, I've listened to bad advice about getters and setters from one of the "Java is Evil" people, which proved to be a mistake. Good design should have a bit of Bondage and Discipline because I do want to force the Story object's properties to be recalculated when you add a Chapter object (e.g. word count, rating and even the story's authors list).

I have not used any tools or frameworks but BeautifulSoup (which is a bit slow but very easy to use), so everything is very much ad hoc. I have not used my spec, because it was too feature-heavy. I didn't even use httplib2 (in part because I'm unhappy with its caching, and in part because of the not invented here syndrome), which was good because I've learned something about how wildly underutilized HTTP is by cheap PHP CMSs ("Last-Modified header? What's that? Gzip compression? We don't need no stinking compression, we like paying for five2 times more bandwidth than we need!").

Fiction archive systems in the wild have vastly varying notions of "useful metadata". SQ, for example, is particularly bad, criminally bad even, considering the content's quality. Not only doesn't the site publish any useful metadata (ship, category and word count I suppose I can live without, and even chapter post dates (never mind per-chapter review links), but don't you agree it would be nice to know whether a story is complete or not?) but it continues to blindly embed whole html files in the template, disregarding the encoding mismatch or how wrong it is to nest html elements. It's a testament to the quality of modern tag soup parsers that they can even read it with any degree of success, with only the occasional artifacts, especially when non-ascii is used, like non-straight single and double quotation marks, smilies, the copyright sign or anything typed on a Mac

I don't want to repeat myself, but it has been a few years and things didn't change much, so I'll rant again about Word produced HTML. I still remember how, at 16, before I knew anything about regular expressions or Perl, I've coded a very naive "pattern search and replace engine" in C and used it to discover that overhead of hundreds of percent was not uncommon. Bandwidth cost on both ends, server busy time, and frustrating client wait time (on dialup! Ubiquitous broadband was but a dream back then) were all ok, when faced with the difficulty of using tidy, or any other tool (Yael had something, IIRC).

But I got wildly off topic there. The topic is a complete rewrite (more or less) of my business objects and persistence layer. One side is technical, the other is business analysis.

On the technical side, currently I envision the application as persistent in some kind of app server, holding the current data in ram and persisting saves to disk. Querying must always be done from ram, while updates must be atomic and resilient to power-outages etc. For performance, it may be needed to push resulting html/xml to be served as static files by apache, like a cache. When an object is updated, the static file is deleted. When apache wants to serve it and it's not there, a 404 hook asks the app server to produce it (or confirm it doesn't exist in the db) so xml is produced on demand only the first time, and apache can do what it does best. Data can be represented as either html, html form for editing, html search result table, per story/author atom feed, or atom search result feed.

For persistence I need:

  • Versioning, with efficient storage of diffs (and occasional extraction of arbitrary versions).
  • Locality, i.e. an object should sit in consecutive pages/blocks, not scattered records in lots of tables. In my experience, this is crucial for getting good performance.
  • Indexing of specified columns of the "current" version of an object, with different indexes depending on data, e.g. bitmap for status and something else for text search.

I have ideas and I'll explore alternatives. I am confident in my ability to solve this.

On the analysis side, things look more gloomy. I need to figure out how to best automatically merge these ToCs:

Prologue - In from the lake Prologue - In From the Lake
Chapter 1 - Ringing Harry1: Ringing Harry1: Ringing Harry
Chapter 2 The Minder's Visit2: The Minder's Visit2: The Minder’s Visit
Chapter 3 Letters and Liberty3: Letters and Liberty3: Letters and Liberty
Chapter 4 Ride and Remember4: Ride and remember4: Ride & Remember
Chapter 5 - Dreams, Clouds and Darkness5: Dreams, Clouds and Darkness5: Dreams, Clouds and Darkness
Chapter 6 - The day before and the evening afterwards6: The Day Before & The Evening After6: The Day Before & The Evening After
Chapter 7 - The Big One7: The Big One7: The Big One
Chapter 8 - Meet the Tutor8: Meet the Tutor8: Meet the Tutor
Chapter 9 - Letters from Elsewhere9: Letters from Elsewhere9: Letters from Elsewhere
Chapter 10: Lessons10: Lessons10: Lessons
Chapter 11 - Arrangements11: Arrangements11: Arrangements
Chapter 12 - Changing of the Guard12: The Changing of the Guard12: The changing of the guard
Chapter 13 - dinner at Abelard's13: Dinner with Abelard13: Dinner with Abelard
Chapter 14 - Motoring with Moony14: Motoring with Moony14: Motoring with Moony
Chapter 15 - Dragons, Dreams, Discussions15: Dragons, Dreams and Discussions15: Dragons, Dreams and Discussions
Chapter 16 – More letters16: More Letters16: More letters
Chapter 17 - Dragons Made Small17: Dragons Made Small17: Dragons Made Small
Chapter 18 - Birthday at the Burrow18: Birthday at the Burrow18: Birthday at the Burrow
Chapter 19 - Cooking with Harry19: Cooking with Harry19: Cooking With Harry
Chapter 20 - the Daze of August20: Daze of August20: Daze of August
 21: The End of August21: The End of August

SQ: Please notice inconsistent use of spaces, colons, hyphens and dashes to separate chapter number from chapter title, making automatic processing difficult.

FFA: Please notice lack of prologue. Actually, it's hiding on the same page as the first chapter. But there's no way of knowing that. Also numbering is generated by site template and is not part of the actual data.

PS: Here the numbers are part of the titles.

The epilogue and first chapter are sometimes glued together, and sometimes not. deleted the fic before the final chapter could be posted. Two intermission chapters appear at and nowhere else (and it is important that they be read before the chapters that appear after them!). The titles, provided they are somehow extracted, don't match between archives, not only due to punctuation (which confuses computers) but due to editing. So, the question is: how should the FFDB ToC for TLoS look like?

1 Cringe-worthy musings: Experiment, More on Fics, a few clarifications, progress, Tech research, sample data

2 I have the data to prove upward of 80% savings are not uncommon, and 60% is basically guaranteed. The site I linked to above will test any URL you type in, see for yourself how much faster would a fic page load had it been compressed on the wire. There are many an article on the subject, and yet most of the public remains unaware.

3 You may have deleted it, but Google remembers!

Monday, May 01, 2006

Linguistics - Russians

It appears the Russian language has no distinction between "security" and "safety". Does it mean they are very paranoid and attribute all safety-related incidents to sabotage or do they understand the word to mean "protection from harm, caused by negligence or enemy action"? Think of the implications! To me, "safety officer" paints the picture of an anal-retentive civil engineer, and "security officer" of a counter-intelligence style paranoid ex-field agent. But it could also be so that the KGB's purpose would be more ambiguous…

Saturday, April 22, 2006

Fandom - Censorship?

There are 131 missing author ids on They represent the 131 authors who were deleted, either for technical reasons or for not complying with something. I know of Kokopelli, and of Alec & Teri. I think some other were tossed out with Alec & Teri. Who else? What were the causes? I suspect canon interpretation fundamentalism. Or is this something one does not speak about in polite company?

TV - House 1x12 "Sports Medicine"

Oh, I get it. Cute innocent young doctor dating physically and emotionally crippled obnoxious over-confident (though it's well deserved) old doctor. Of course RJA is all over it.

Movie - "Mean Girls"

I've pirated and watched this movie. I've used keeping up with current trends as an excuse to ogle seventeen year-old starlets playing sixteen year old starlet wannabes.

The movie was bad in a crude humor, overuse of cliches, over the top kind of way, and it was good in a predictable good-vs.-evil kind of way, and it almost made up for it. Like candy that you know is not good for you, but you eat anyway, because your taste buds say "yum!".
The nerdcore was adorable. Ok, that sounded gay. It is cool that nerdcore is getting into mainstream.

It was both sad and predictable that success contributed to the lead actress' personal problems.

From a review of the DVD on Amazon:

If anything, the grownups-especially the school principal, played by Tim Meadows, of whom the picture needs much more-tend to nudge these pushy teen-agers into the wings. The movie, produced by Lorne Michaels and directed by Mark Waters, is often funny, but it was conceived by people who are plainly wiser and more worldly than their target audience, and there's something about that discrepancy that, you know, totally sucks. -Anthony Lane
Copyright © 2006 The New Yorker

That's the problem with mass entertainment - they have a brilliant anthropological study of contemporary female highschool cliques, and they have to film slapstick comedy to try and make their point. I think it aimed too wide and missed.

Edit, 2006-05-11: I've watched Heathers because most reviews mentioned it. It needs to be watched with an audience and 80s clothes are a huge WTF, but yeah, Mean Girls is definitely a Heathers remake. They exchanged the horror for slapstick trying to retain the black humor, but as I already said it didn't quite work out.

Wednesday, April 19, 2006

TV - House 1x11 - Detox

I was watching the girlfriend Pam throughout the episode going "who is that?" in my head. And then I clicked through the credits and it's Lilly Kane! She's good looking, and then I see she's more than a year younger than I am! I'm getting old. Did House have a massage or a masseuse? Good acting.

Monday, April 17, 2006

FFDB - Working (Almost) Prototype

So, there's a bunch of pretty bad Python code that encodes the screen-scraped index of a very nice fanfic archive. I wish to fix as many things in the prototype stage. So, while I can fix the Ridiculously Redundant Recording of URLs by myself, I need some help with defining some of the metadata.

  1. What is the Correct Way of writing a ship name? Is it Harry/Hermione or Hermione/Harry? Are both ok? Are they the same? What is The Rule? Is it ordered by gender, or focus? What if the entire story is written from an OFC's point of view, should it be Harry/Mary or Mary/Harry? Would Harry marry Mary? I would be very merry should Harry marry Mary! Some people seem to care about such things.
  2. How do I map whatever some sites list as a fic's "genre" into something resembling literary genres (obviously, a story may fit more than one)? Because we know that despite being based on Contemporary Fantasy, the fan fiction varies greatly, from (teen-)melodrama to comic, heroic, romantic, erotic and even high fantasy. Some of what is specified in the archives just means mood (fluff, angst) rather than theme and convention (chick lit, legal thriller), which is confusing. All you people with degrees in English and whatever, have any lecture notes about genre studies? Epistemology geeks? (that's you, Ben!)

Edit: I completely forgot all non-prose (though I personally doubt the artistic merit of so called song fics, I am but a plebe and am willing to let history decide), and the vast amounts of farce (intended or not) as well as the token bit of genuine irony. Also, the fandom is an introspective (or just plain antagonistic) bunch and thus we have fan fiction about fan fiction, which lacking a better name, I'll call "arsficia". *snort*

Edit #2: from the findings of a depraved perv:

“This is really a wonderful thing, Harry,” I said, utterly sincerely. I slid my thumb across the tip.

He gave a breathless laugh. “Thanks,” he said. “I like it.”

I don't know why, but I find it very funny.

Sunday, April 16, 2006

Life - Passover

I have to say my aunt's kugel rules!

While reading the Wikipedia article on shark jumping, I've clicked to Northern Exposure (that was a good show!) and then Rob Morrow. Did you know he and his wife called their first daughter Tu?

Monday, April 10, 2006


  • I've finished reading Glory Season. It was great. He has built a believable world within the constraints he'd set for himself, and the run of the mill plot offsets the intriguing setting admirably. The ending was kind of artificial, and it's a very hard sell, because so few men will read it and so few women read sci-fi. I'm sure I've missed lots of references. Looks like it doesn't have a following online, though to me it just begs for fan fiction (no, I won't attempt to write any). Brin has very professionally skirted around sex, amazingly well actually. R.: The cover has suffered substantial damage, I'm looking into replacement opportunities.
    Edit: procured, at very reasonable price, two personalized and signed beautiful hardcovers directly from author (see author's web page, seems author's wife handles shipping and handling). Am very happy with impulse shopping decision. R. seemed to like hers, making it even better.
  • I watch the first season of House M.D. as it downloads, late as usual. It's good. Kudos RJA for watching the good stuff! It's the third series I've followed her, not disappointed yet. I hope I'm not in danger of becoming a little RJA clone, LOL. The rude sarcastic guy everybody hates but must tolerate because he's so competent, does he always have a beautiful soul? Maybe he's just a bastard. Or there might be hope for me yet. Oh, that girl doctor is hot.
  • I've watched two episodes of Veronica Mars. It's BH 90210 all over again. rm -rf /mnt/series/veronica_mars
  • Watched three episodes of The Unit. rm -rf /mnt/series/the_unit
  • Today I've seen a guy walking a furry white Akita. Looked almost like a Samoyed. Great looking dog!
  • Since the birthday meme is making the rounds again, I'll let you know I share birthdays with Johnny Carson and Weird Al Yankovic, and both the Parliament of Great Britain and the United Nations General Assembly first convened on that date. Oh, and Brutus killed himself because he has lost a battle to Mark Antony and Octavian. So, a good date over all, I think.
  • My Python project has reached a complexity level where it seizes being a hack and requires actual design. That has made it less fun, but I'm struggling through it in the hope of building something useful. What fan fiction archive would you most like to search/filter using better searching and filtering than what they provide? I can make it happen.

Tuesday, March 28, 2006

Current Events - Elections

I've voted, but I don't really feel like it makes a difference. It feels as if politics is a sham to placate the media/public and evidencing is effectively decided behind the scenes. I really think that.

Sunday, March 19, 2006

Coding - Geek

I figure what prevented me from building the ffdb was the need to get the data to play with, so I've decided to crawl archives to get the raw data so I'll have something to show real people I approach in soliciting help. Sounds like a job for Perl and regular expressions, right? I've read my jwz, so I know better. Also, perl is ugly. Python and BeautifulSoup, on the other hand, is… amazing is the only word that seems fitting. I've crawled FFA, and have done great progress in processing and normalizing the data. Of course, my data is the metadata, thus my metadata is the mata-meta-data? Harry Potter is character #1, anyway. LOL.
The interpreter-driven edit-compile-test loop doesn't scale to multi-class modules, and decent ORM is still hard. I have not even begun to contemplate user interface implementation (typical me).

A coworker asked me today how does a jpeg gets sent in an email, since SMTP is a text based protocol. I said: "enlarged by 33.3% via base64 and with the correct mime type, as specified somewhere under rfc822", and he thought I was totally geeking out. I've only remembered the number because I've (re-)read about it recently (in relation to parsing dates), but simply knowing about mime and that there's an rfc is like… in the job description, for a web apps team. I mean, the world doesn't start and end in the JVM, for crying out loud!
I'm way too judgmental of people.

Sunday, March 05, 2006

Geek/Work - Women in Industry

I just wanted to say that unlike poor Alice here(alt), my boss has never asked my help with his pr0n, but then I thought about the broader problem of women in programming (or the IT industry, or science & technology in general).

For one thing, over launch a few weeks back, I have tried and failed to explain to a novice (a very wet behind the ears, non-geek, Comp.Sci. grad) what is meant by:

The saddest example of the overly homogeneous work group is the all-male team. Women are obvious victims of the sports analogy: The same male establishment that excluded them systematically from team sports for so long now compounds the felony by insinuating that they're probably bad team players. Of course women function as well on teams as men. Any man who has worked on mixed teams would find it hard to imagine ever again working in the all-male environment. That was our fathers' sad lot.

Tom DeMarco & Timothy Lister, Peopleware 2nd ed, p. 156

For another, today, one of our big design whiteboards showed evidence of immature and inexperienced adolescent males who lack artistic talent discussing breast size preferences. In the room sits a female developer. A very good looking one (shush mom, she's taken). This is not an uncommon occurrence. Oftentimes, the office sounds like a thread on Slashdot, just not as sophisticated (due to the participants' smaller total erudition).

And then we ask why so few females major in computer science.

And the ones who do, turn out to be like Scott Adams' Alice. The joke goes like this: female programmers are like guinea pigs. Why? Well, guinea pigs are neither from Guinea, nor are they pigs.

It's very sad, and I see no way to end this. I'm not alone.

Edit: If anyone cries "sexual harassment", I'd like to say this: Yes, and no. The situation is suboptimal, but we're in the army. It's a thinly veiled patriarchal system populated by teens who are led by people in their early to mid twenties. If the letter of the law was strictly enforced, we'd probably all be in jail. So we don't point fingers, we try not to stare, and mostly the situation does not get out of hand. Did I ever feel uncomfortable for the females present, because of something that was said? Many, many times.
To the Neanderthals who would call me "gay" for thinking like this: date rapists get caught.

EDIT: Added Google Images alternate link to Dilbert comic.

Saturday, March 04, 2006

Tech - Be gentle with your laptop

Righteous techie anger is amusing when the spit is not in your face.

Before my project was moved to the IT division, it existed in the main (or rather, first) client's IT department. When main development goals were reached and we have entered the maintenance stage, the client decided our premium treatment was unwarranted and cut our budget, our ability to filter personnel and finally our offices (That's how I found myself in our barrack).
The IT department still uses our cool brand, but since the advent of centralized IT they have no directory, mail, file or database servers of their own — they just manage their own users. Anyway, since we were buddies we've heard their war stories, and I can tell you non-combat officers and company executives are the same, and they ruin laptops just as frequently, just their replacements don't lower their shares' value, they cost the taxpayer money.

Friday, March 03, 2006

Thursday, March 02, 2006

Geek - Linux administration for sexual favors

Apparently the software giant recommends this way of hiring sysadmins / getting laid if you're a *NIX nerd.
For the record, I've never been paid in any commercial goods for working on a Linux system. While in highschool, I did take cash for installing and maintaining operating systems from Redmond. I do not wish to do that again.
Also, as a guy completely ruined by feminine fiction, it's a complete turn off for me to think she'll have that expression on her face after the fact.

Saturday, February 25, 2006

General - Status Update

I don't remember what I should blog about.

I am frustrated at my new boss, but more at myself, as it is my fault I have him in the first place.

I need to but a new computer, but I can't get myself to either settle for what I'm comfortable spending or spend the cost of what I'm comfortable to aquire.

Thanks to Kokopelli, I've discovered and am reading through some of its archives. Quality varies, but some of it it very good.

I have been working on a cool but completely pointless project on company time, out of frustration. I'll see about open-sourcing it, as it's very generic and doesn't reveal anything other than the fact we use computers.

Glory Season goes very slowly.

Still can't get myself to do any of the things need doing. It's beginning anything that is so hard - once I get started it's hard to stop. Do any of my readers follow any fanfics? At all? It would be a help if someone answers.

Have been on a trip to Jerusalem. Was surprisingly good. Pics.

Saturday, January 21, 2006

Computers - Disgruntled LISPer/*NIX hacker

I don't know if it's a joke, but if it is, it is a very well written one: The "Acknowledgements" section of the scsh manual.

BTW, using Scheme for Perlish tasks is… esoteric, to put it mildly.

Thursday, January 05, 2006

Life/Politics - Social Issues

I've just called my mom "Mrs. Black". She was raised by her grandma and consequently became a very conservative person, perpetually locked into Victorian morals (fit for an era I claim never existed, like the wild west or the middle ages or the renaissance the way they're pictured in books and movies).

I personally loathe both extremes:

The far left because their dreams go against human nature, for I believe it was the ego that drove ape to become man. People are not equal, and society must allow people to become rich to motivate progress (while also preventing people who do work from starving). Welfare one can live well off is dangerous because many will just not bother to rise above it, and a healthy society would need as many working hands as possible. On many issues, the bleeding hearts are either incredibly naive or incredibly hypocritical, either way does not lend them much political credibility.

The far right are xenophobic reactionaries who are unwilling to accept that maybe the traditional way of doing things is not necessarily best (especially when they think it is what god meant, which is first rate hubris).

What I really hate is righteousness. The belief that you are right and they are wrong, regardless of facts or logic. When people believe instead of thinking, they make mistakes. Those mistakes can vary from overpaying for hype and brand recognition to supporting and participating in holy wars.

I support doubt. I think it is a glorious virtue, for it enables people to resist PR departments and warmongering demagogues.

On a different topic, I hope Ariel Sharon is alive and will recover, despite rumors. Though even the most optimistic people have already buried his political career…

Blog Archive

About Me

GCS d- s-: a-- C++$ UL++ P+++ L+++ E--- W+++ N o? K? w++$ !O !M !V PS-(+) PE Y+ PGP+(-) t--@ 5++(+++) !X R-- tv-- b+>++ DI+++ D+ G e h! r* y--(-)>+++