I'm obviously not against high tech, for example:
That's my trusty HP 28S, which I got in 1988 - RPN forever! But still there is a certain minimalistic appeal to the simple magic of sliding log scales...That also includes the TrackIR, thanks to these guys and their Linux-Track project - which is still a bit rough in places but generally works fine with a variety of hardware (from webcams to TrackIRs).
In addition to the Linux-track stuff you'll also want the Linux-Track WINE plugin which presents Windoof apps with a TrackIR-compatible API. That thing was a pain to get running, and you might want to check out this patch by me to make it work properly with recent Linux-Track revisions.
Apart from those: no real problems after some initial conf.ini tinkering; no more inexplicable stuttering under Windoof, no more dualbooting and smooth performance with graphics options close to the top levels.
The notion of "TransAction Numbers" I like, carrying the paper slip I don't - because paper encrypts so very badly and I'm lugging my Palm with me all the time anyway.
gocr takes care of the OCR, and generally works fine but BSTS...if comparing two sheets of meaningless numbers wasn't so ridiculously, mind-numbingly, dull. Can't have that.
So I had to look for a cheap, quick and dirty solution for that not-quite-problem, and after ten minutes I had it: espeak.
It's a fairly simple speech synthesizer, which unfortunately insists on pronouncing numbers as numbers, not individual digits, but a trivial half-line of perl data massaging took care of that.
Sure, espeak sounds like a post-lobotomy HAL 9000 with a hangover, but hey, it makes sanity-checking of the OCR results a lot faster and easier.
(Enlightened) Laziness is a virtue :-)
Due to an incredibly gross and dirty bit of rule all properly dated mails get an extra 3.6 added to their score. *kablam*!
Botch/Fix: edit /usr/share/spamassassin/72_active.cf,
and change the regexp for FH_DATE_PAST_20XX to something that doesn't fire
in the near future (like 20[2-9][0-9]). Don't forget
to sa-compile if you use compiled spamassassin rules.
(more...)
(more...)
(more...)
Now that Conny has a shiny digital camera of her own (and a bit of associated trigger-happiness) she also needs something to organize her pics with. And while my photomanager is fine for me Old Fart, it's a little bit gnarly. So I looked at more user-friendly (but not idiot-friendly) solutions. And voila, the first apt-cache hit was already what I had been looking for.
Martin Herrmann has written "martin's picture viewer" aka mapivi, which is more than just a viewer (a feature which is fairly irrelevant to me). It's written in Perl plus Tk (important to me), it's a photo manager (ditto) and it keeps pretty much all info where relevant: in the photo files themselves. The last is most important IMHO, because it frees me from sundry databases, proprietary overview formats and the like. mapivi uses EXIF and IPTC metadata to record pretty much anything you can think of in extra segments of your jpegs (and other image formats that allow such metadata storage).
The thing is a bit rough in places but works very well for a 0.x release, and the combo of Perl and Tk is really fun to work with.
I've immediately gone full steam ahead and coded the two plugins I need to emulate the few features my photomanager had over mapivi (complete with balloon popup help texts for Conny); also submitted one patch to the upstream author.
Gone is my photomanager, and
welcome mapivi. Not Invented Here indeed :-)
(more...)
(more...)
What's even better is that the Underdogs have the game downloadable in its full glory (abandonware; released in 2000).
Well, no more. swish-e seems to be better behaved, and actually works! *duh*
These guys have cooked up a tiny perl CGI frontend (which I've reworked and cut down a lot further), and the search functionality on this site works again.
I've also fixed a long-standing annoyance of blosxom: plugins can't
cleanly set the title of a page from the story title, because the header
plugins run first and the story plugins have no official access to the
output. The fix is Really Dirty, in the best tradition of blosxom which
is Abysmally Dirty Code: a plugin with a sub last {...}
that massages $blosxom::output. If it finds exactly one story in there,
then it changes the <title> to that story's title. Hideous but
it works, and the search interface can display story titles instead of
just the boring story links.
If you want to play with the Abominable Code for this stuff, let me know.
(I've said nice things about ipt_recent before here and here, both with example applications.)
I've just added these extra rules to the firewall setting on my mail servers:
# smtp access is controlled by previous behaviour: spam me and you lose. iptables -A INPUT -p tcp --dport 25 -j smtplimited # smtp: if mimedefang has flagged you as bad, you lose for 12h iptables -A smtplimited -m recent --name SMTP --hitcount 1 \ --seconds $((12*3600)) --rcheck -j TARPIT # clean up the old entries to unclog ipt_recent iptables -A smtplimited -m recent --name SMTP --remove # and let people through if they've been good in the past iptables -A smtplimited -j ACCEPTMy mimedefang filter has been instructed to (do the perl equivalent of)
echo "+$ASSHOLE_IP" > /proc/net/ipt_recent/SMTP
whenever it detects an asshole that tries to:
- send email with a non-existent sender's address
- send email to one of the spamtraps within my domains
- send email to nonexistent addresses within my domains
- send me spam (where the degree of spamminess is beyond any reason for doubt)
- send me viruses
The net effect is that when you do something nasty to me (email-wise), all your subsequent connections to my mail servers are tarpitted for the next 12 hours. Works great, easy to tweak if you want to be more lenient (just up the hitcount and adjust the following --revove rule) and reduces the time my systems have to waste on repeating the checks for surefire rejections on the smtp-envelope level. (I usually get about 5000-10000 rejections per server per day.)
Now I've got another set of suckers to deal with, Citibank AU. Their setup is less gnarly but still annoying. This time, I produced a fix myself: Citibank-Demouse is a Greasemonkey script that simply clears the hooks that invoke the virtual keyboard; and hey presto! keyboard-entry of your password works again.
Some of the assertions seem...unfitting, though: for me, moving the mouse to the bottom is the most annoying move, not the least: the mouse has to travel beneath my palm and wrist (I tend to control the mouse with my fingertips and a bend of my wrist and rarely ever lift my elbow off the desk.) Moving to the top I just extend my fingers, so that's faster.
But then I'm weird: I have the mouse on either side, with some bias to the left -- but I'm somewhere between righthanded and ambidextrous otherwise, I switch between two different keyboard layouts every day (german at home, english at work) and so on.
Well, now they can insist as much as they want because I wield the Greasy Monkey wrench...and I win! This greasemonkey script neuters the plugin-insisting code and also converts the EMBEDded (*spit!*) PDF into a normal plain link. Works for Citibank AU, maybe other incarnations. (BTW, userscripts.org sucks, I lost my password and can't reset it, thus this script will not end up there anytime soon.)
Two weeks ago I rebuilt the chgc website from scratch, with nice new images, no more tables, standards compliant HTML and CSS and so on. I also got rid of \rho's HTML++ thingie and replaced the automation guts with Mason (but still statically rendering everything).
Comparing this with the current setup I'm pleased with the results.
$ perl -e '$a=3; $b=++$a + $a++; print "$b\n";' 9 $ perl -e '$a=3; $b=++$a + ++$a; print "$b\n";' 10 $ perl -e '$a=3; $b=$a-- + $a++; print "$b\n";' 5 $ perl -e '$a=3; $b=--$a + ++$a; print "$b\n";' 6My Bizarrotron just broke its indicator needle. Fascinating!
Yesterday I mucked around with making the local TV guide website bearable - all I really want to see is the innermost table of actual information, minus all the square acres of blinking advertisements and similar drivel.
Upgraded to Firefox 1.5 (actually painless, very different from past experiences), installed the newest (0.6.4) Greasemonkey, found a script that claimed to fix that mess but which was too ugly by far, rewrote it to suit my prefs, done.
I learned a lot about Javascript and DOM (and also where Greasemonkey sucks) than I ever wanted to, but that's fine.
Today I thought about tackling the Virgin problem, but found out that Joel Hockey has already written a nifty simple small script that gives you text-based password entry back (without removing the silly buttons, should you be stupid enough to want them). Thanks, Joel!
But it didn't work. My stubbornness has few limits (and the weather was not flyable today), so I learned still more about JS and GM and the DOM, especially about the recent paranoia that badly affect the new Greasemonkey and wrecks most of the nice things about DOM and JS (if there were any in the first place).
In the end I fixed Joel's script (and sent it back upstream) and am now quite pleased with my army of greased monkeys.
Next step, maybe: adding a squad of platypuses.
I had a Sun 811 case lying around, and another similar to a 411. Neither would take the Epia motherboard, PSU, dvd burner, two 3.5" disks and a 20x4 lcd, but together they can throw off the yoke of conformist PCism! *ahem*
So I cut out the plastic top of the 811 and riveted the 411 onto it, which gives me space for the drives. A face for the open rear end of the 411 was cut from the cannibalized pieces of my Sony stereo junk and hot-glued in. The frame for the HDs is an old cut-up drive bay, and the support for the burner is a piece of sheet metal that I riveted in (hot-glue isn't strong enough and I didn't want to use expoxy for no reason at all).
The front with the lcd got a painted fascia (balsa) and the IR sensor was mounted internally this time. After a shitload of further surgery on the cases and innards I ended up with this pleasant look. But you can't see the rear in that photo which is good. None of my small ATX power supplies would fit without totally rebuilding the thing (not-so-perfect an idea as I'd basically have to strip all insulation off, then resolder half the high and low voltage connections and cram all the resulting mess into the franken-case), so I started looking at DC-DC PSUs. Like this one. Which I did eventually buy, thinking "the 90W/145W peak PSU I have used so far, so this 200W thing should do nicely". Cost me about us$100 (with a 9A AC-DC external brick and shipping).Little did I know, and for that matter, too little effort did I spend on research. Plug it in, fire up, works - somewhat: now I get loads of noise on the audio out connection. Not just mains hum but all kinds of activity-dependent crap as well. This is when I started doing the research I should have done before. It turns out that loads of people hate the PW-200-M for being a crap piece of equipment. First, it's nowhere near 200W, and some other speciality PSU manufacturers have accused the makers of shoddy lying advertising. The 5V rail sagged under the load of my two disks down to less than 3V at times. The 12V line is not regulated, so iff you're not using a regulated brick you'll fry your gear (especially the carputer people hate it for that). The smoothing caps are not exactly large at 390-1000uF. (But the form factor rocks, which is why I bought it...)
Tried pretty much everything non-destructive, like powering only the board from the PW-200-M, trying different 12V supplies to verify the noise is coming from the PW-200-M etc...but no joy. It may be useful for really low-power scenarios where one doesn't care so much about power quality (i.e. non-audio application), but for me it's junk...Bugger.
Back to square one: normal PSUs don't fit. Most high-quality DC-DC PSUs like the Opus gear won't fit or require 19V like the DC2DC converters.... So for the time being, I plopped my normal small ATX PSU like an outboard motor behind the box...with some shielding and extra grounding it doesn't affect radio reception too much. *sigh*
nah, 5 gigs is nothing special today but I remember when it was not just huge but UNIMAGINABLEonly to *blink* and realize that they were talking about *music*...
Unfortunately, the module isn't overly stable internally and there's
some rollover bugs like this one.
I'd still give it some extra coolness points for allowing me to
implement Port Knocking without any userland tools in 5 minutes:
(more...)
(more...)
Link to an article (in German) about this
I've been Having Fun with kernel 2.6.14 and my machines. Lots of Bloody Fun. It takes heaps longer to configure things. The documentation has not exactly gotten better. The (feature-)stability of the 2.6 series is a joke. Some things still don't work. Lots of new things have stopped working. WAAAAAAAH.
The lucky list: ide-cd and ide-scsi still conflict. The latter ist needed for reasonable cd burning. The module documentation blithely says "There is usually no reason to remove modules, but some buggy modules require it". Idiots. The xserver will make your box hiccup badly and fuck up playing of sound if you run it with the previously required niceness. Vmware modules don't build on 2.6 at all, but somebody has cooked up a (really ugly but working) patch. The devmapper maintainer is a clue-resistant idiot who repeatedly refused a one-liner fix for a problem that breaks the use of the disk group so I rolled my own packages. The maestro3 sound support has gotten worse, the chip gets confused every now and then now (and I'm not going with the ALSA suggestion: You can install that bloated crap when you pry the keyboard from my cold, dead fingers.) Loopback (ahem, devmapper) encryption is still not possible for non-root users. Wavemon does no longer work. The netfilter code is fucked up, IP_NF_NAT_LOCAL is gone since around 2.6.11 which means that natting local conns doesn't work anymore. My nice location-independent setup for the proxy (everything configured to use localhost:3128, then NAT that to the real proxy if needed) is now officially unsupported. Thank you, bastards!
And, of course, direct rendering for mach64-derivates is once again absolutely utterly fucked up (uncompilable, incompatible, non-working code). Might be a good thing that with trying to find out and fix all those niggling problems I've got no time to play any games anyway...
On the plus side, however, are things like the kernel key storage api: goodbye quintuple-agent, hello kernel! I'm currently experimenting with code to make that stuff easier to use; Debian packages to follow as soon as things stabilise...
[ newer... ] [ older... ]
