Journal


Noodles?

When you think you know all… most… well, a lot of Mysql's strange ways to fuck up your day. There is always something new to learn.

A regular SQL dump that has been generated with mysqldump on a totally ordinary Linux system. And when mysqldump just works on a database of several gigabytes something must be strange.

# mysql --one-database DB < db.sql ERROR 1054 (42S22) at line 1199: Unknown column 'NUDL' in 'field list'

What the noodle? Inspecting the SQL dump reveals the following INSERT:

207833,1062,1059,1035,1035,2,NULL,NUDL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)

Apparently the value should be NULL, but somehow mysqldump managed to mangle that into NUDL.


The Internet is for por... spam!

It took less than a week, if not only three days, for spammers to discover the new wolfpaper greeting cards I added to the archive. One day I noticed spam being posted and after a couple of days another one with very meaningful URLs like http://rghhrfpygded.com (not an actual URL, I hope) and completely invalid email. I added a protection from the pattern that was used.

And then there was silence. 

A legitimate card was created some time later so I was reminded that everything actually works. Out of curiosity I checked the server's log to see how many junk I had (not) missed. My guess was one maybe two every other day. Well, not quite. 

In the last week's access log there were about one hundred post actions. Every access from the spam script (it's too stupid to be human but you never know!) consists of two posts. So about 50 attempts in one week. That may not sound very much, but at the time this started the feature was live merely a week and nobody mentioned it on any site, board or weblog. 

I would really like to know how the spammers, or better "spam script" as I still pretend they cannot be human, discovered it so quickly. 


File formats that do not rock: CS...X!?

Comma separated XML – or also known as “parse this!”

<data> funny;column;description;goes into this field oh;and;here;is;some;other; column description dataset;1;2;3 <moredata> some id;123;43;653;314;fubar some id;325;31;434;143;blah some id;343;fu;---;;bar </moredata> <evenmoredata> interesting;description;for;some;columns;below or above blah;fasel;kek;blubb;10;432441 foo;bar;baz;<3;2352;23 </evenmoredata> </data>

Exercises:

  1. Find the dataset lines matching the definitions.
  2. Parse a single document containing 68000 such datasets.
  3. Write all of the data into an SQL database using sensible data types (text for each column does not count!) succeeding on the first try.

The Just in Time Concept

If you have come here in search of knowledge regarding JIT concepts as in “conecepts of the Just in Time principle” you have, quite non-obviously I admit, come to the wrong place. This article presents a whole new (business point-of-)view of the Just in Time Concept… as in “a concept just in time”.

The Just in Time Project – project manager point view

The problem with detailed and overly complicated project plans is… well they take their time. And we all know, time is money! And if the time you spend on your project plan is as little as possible, you can save a lot of money, right? Right?

Right! It'll all come “just in time”.

Well, ok there are some side effects. It generally goes like this: the project plan is a one-liner “make it work, make it look good and make it ASAP”. Not having any big picture the staff makes it work and look decent. And then the management (read: not project management) takes a look at it and, well, decides that a concept is needed!

But if all of this works in the first try, then you indeed saved a lot of money. Worth a shot, isn't it?

The developers' point of view

Before we begin, imagine for a moment the following development environment: a project devided in 3 principle parts with one developer responsible for one of each. Now the just in time concept's main dogma is again to save money. And so everyone starts right away, diving into their work like there is no tomorrow.

As the project evolves into a somewhat bigger gibberish mass from whence it started, person A needs to touch areas of person B, but since there is no conecpt for the whole thing (remember, we're saving time and money), person A goes ahead and changed stuff person B is working on. Which in turn pisses of confuses person B since in his little world of project part B things might probably work a little bit different. But never mind, B can change it back the way he wants it to work and break a part A was working on, after all he doesn't need to care for part A since there is no concept. ;)

To be continued…


Meisenmonitor reissue


Snow, snow, snow and more snow

Snow in Germany in the Winter of 2009, just a picture.

Hm, it's been snowing for the last couple of days, this could start to be interesting if all the white stuff melts.

Here's a picture from right out of the window at our work place. Must be about 15-20cm already. :)

snow donauwoerth


OS X 10.5 vs. lftp, readline and a HP Photosmart 1115

Compiling the readline 5.2 library and lftp on OS X 10.5, with necessary patches, plus getting an old HP Photosmart printer to work with the system supplied Gutenprint.

Since I have this shiny new Macbook there have been a few things missing. Although I kept being told to use them shiny graphical FTP thingies, I always return to lftp. It does all you could ever want to do with a file transfer program and is not limited to FTP. And apart from that I just don't want an FTP client resembling a rubber duck like on every desktop at work. :x

However… there are obstacles.

readline 5.2

This one does not compile out of the box, however it's just a missing linker flag "-dynamiclib" that is needed on OS X. Obviously the knowledge is all there, it was just forgotten to add Darwin 9 to the list. Invoking the linker command manually or using the patch below will make it compile.

readline 5.2 OS X 10.5 patch

--- readline-5.2/support/shobj-conf 2006-04-11 15:15:43.000000000 +0200 +++ readline-5.2_patched/support/shobj-conf 2009-01-10 11:40:30.000000000 +0100 @@ -142,7 +142,7 @@     ;;    Darwin/MacOS X -darwin8*) +darwin89*)     SHOBJ_STATUS=supported     SHLIB_STATUS=supported      @@ -171,7 +171,7 @@     SHLIB_LIBSUFF='dylib'       case "${host_os}" in -   darwin[78]*)    SHOBJ_LDFLAGS='' +   darwin[789]*)   SHOBJ_LDFLAGS=''             SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'             ;;     *)      SHOBJ_LDFLAGS='-dynamic'

lftp

Doesn't want to compile either, the configure aborts when trying to include the just compiled libreadline. Running "export LDFLAGS=/usr/local/lib" and rerun configure makes it work just fine. [Note: assuming readline went into the default dir.]

And there it is: LFTP! ^^ Now on to the continued “Ugh, why not use a graphical ftp client?” comments.

The printer drivers from hell

Since I didn't want to install the ancient Turobprint I had on 10.5 again the printer suddenly turned into a piece from electronic waste from the past. Well, HP hardware anyway. *cough* My experiences with HP printer “drivers” for OS X were somewhat unpleasant at best. But since the hardware itself still worked, why not give Gutenprint a try. Well, it way almost boring. OS X already includes version 5.1.3. Plugged in the printer, selected the driver and the Photosmart 1115 worked right away. Truly sad, that HP is unable to provide working drivers themselves. Emphasize on working, there are drivers. ;)


A review about Spice and Wolf season 1.

It's truly fascinating what you find if you keep clicking through the recommendations list on IMDB for a while. Starting at “Black Sheep” I ended up on “Ôkami to kôshinryô” or the rather amusing English title “Spice and Wolf”. With the official website URL being www.spicy-wolf.com I guess you can already be sure that spicy is related to the wolf and not to Lawrence's trading business. ;) I wonder why they went with the strange English title “Spice and Wolf” instead.

Being only 12 episodes (plus an additional OVA) the main plot is told rather quickly. Lawrence, trader and later dubbed softy by his companion, finds the wolf goddess Horo sleeping in his cart one night. And from then on things go strange ways. It's quite obvious that the story takes place in times of change. In a world where the church is gaining influence with whatever methods they see fit, there is little place for a god people pray to for a good harvest. As people's faith in Horo diminishes there is no more place for her in the old village. So she sets out as Lawrence's companion on a journey returning her to the north.

Contrary to, for example Wolf's Rain, Horo is not a wolf that changes back and forth, but rather drawn the furry way, human girl with tails and ears forming out of her hair. Almost exclusively naked in the first episode ^.^ but they dropped this rather quickly in the following episodes. Well ok, it would draw way to much attention in the world they travel. I guess that first episode is where the title Spicy Wolf truly fits. *cough*

Anyway, the dialogue between Lawrence and Horo is truly magnificent at times, mostly when they argue over the unspoken topic… their relationship. Well, of course there is none, other than the business part. The “side plots” are mostly Lawrences trading business, in which I got slightly lost due to the subtitles rushing by with the speed of light… at least it felt like that.

All in all a series well worth finding and linking to! Who knows, maybe season 2 will come. At least the ending didn't exactly end the storyline in any way.

Edit: It seems various source have confirmed TV season 2! :)


Trophy hunting part 1

After much delay our wonderful postal service caused (7 days for a package from Berlin to Augsburg?) I received the first part of my prize for the coding contest Snowbox won, the book from last year. Yay!





The book for 2005 will be published in print March 2005.

← newer stuff

Index: 1 - 2 - 3 - 4 - 5