Gym & Day Laborers

So, first off – I went to the gym yesterday! YAY! Small victories must be celebrated, I suppose. I decided I should do 45 minutes, instead of 30, and here’s why:

  1. In case I miss one, I would at least end up going twice for 45 minutes, and end up doing 900 calories of work.
  2. If it takes me 5 minutes to get ready, and 10 minutes to go to the gym (or vice-versa), then I do 30 minutes at the gym, then the same commute back home, I end up spening 1 hour in order to attend the gym for 30 minutes. This is a 0.5 efficiency ratio. Inefficiency is bad. Instead, I spend 1 hour and 15 minutes in order to go to the gym for 45 minutes, which is 0.6 efficiency.

I may even try to step it up to 1 full hour, in order to realize a 0.66…(repeating) efficiency. I don’t feel dead or tired or anything today – so why not? Although I think I’m at the ‘sweet spot’ of efficiency and everything right now. We’ll see. I have to remember to always make small tweaks, not big changes, until I can start hitting some goals. Current weight: 181.5. Ouch.

Next off is something I’ve wanted to talk about for a while. When we hear the debates about illegal immigration and day laborers and such we think about California and Texas and farm-work and such. But I live in a nice little area of Queens called Astoria – bordering Long Island City – and I’ve found that it’s here, as well.

Lately, I’ve been taking a different path to get to the train – that no longer passes the Dunkin’ Donuts and goes out of my way, because I’m trying to save money and so on and the Dunkin’ Donutses suck in my area (My old ones were awesome – fast, efficient, nice. These suck, they’re slow and they fuck up my order all the time). Anyways, now I end up passing a little hardware-store – a sorta mini Home Depot. And I keep seeing a ton of Mexican guys lined up outside of there, drinking coffee and chatting with eachother. I suspected that hanging out outside the hardware store was a convenient place for them to pick up work, and one day I saw a van pull up across the street – suddenly everyone started running over to it! Today, I saw another van pull up and the guys run over to it, and the dude in the van started saying something something “pintura” – which I think means Painter. So he was looking for someone to help him paint. He was some kind of commercial vehicle, with a logo on the side and everything.

So I’m weirded out by this whole situation – these guys are prepared to do an honest day’s work (I assume) and I’m sure are getting paid less than prevailing wages. The various vans that drive up get labor for cheap… but now we’ve knocked out the potential work for all of the legal US citizens in this line. Because if the dude in that one van that picks up his painter can now charge less than a dude who doesn’t – well, we consumers will always pick the cheaper, so we’re forcing his hand.

What do you do? Embracing law-breaking or bending is bad – this is one of the many lessons that Prohibition taught us. So we either need to legalize this, or find a way to regulate it.

So I don’t know what the best solution is, but what we’re doing now is not working. My gut says, make a way for people to come here and work, that’s relatively streamlined, and simultaneously do better enforcement on the labor side…I just hate the idea of getting all involved in this guy’s van though. How convenient is it for him – he drives up to where he knows the workers are, says I need a painter, and gets a painter for the day. Am I going to make him record that he used painter Joe Blow and paid him $X …? I guess. You have to do that for whatever business you’re in, too bad. I feel like the real violations of these laws happen here, at the guy-with-van level. Any place big enough to get ‘noticed’ will be careful about any kind of illegal work. So do we send enforcers to this dude’s van? Chasing around a whole bunch of dude’s vans? I dunno. Maybe the better way to do it is at the homeowner-who-hires the Van level. But he’s not going to want to call the INS or USCIS (new name?) on the guys working on his kitchen, is he?

Short Note: Camino

I used FlashBlock on my Firefox to only load Flash content on demand, and missed this feature in Camino when I found that it was bogging down on the same.

I found: CamiTools. The original author, who is brilliant but a prick, no longer offers the software for download, so the versiontracker link is the only one I found that works.

Lovely, lovely Flashblocker, you are now back. I missed you so!

Edit – doesn’t work too hot on Intel Macs! DAMMIT! IT works fine on my work Mini, my home MacBook is complaining. Argh!

Things I actually like

Well, lots of negative reviews and blather from me lately, so how about something a little more postive –

First. Camino, the browser. I have run it for a while (a week-ish?) and it has not yet crashed on me. v.1.0.3 . This is particularly good, for me. It’s not too crazily resource-intensive. It doesn’t degrade much over time. Alas, I can’t use all the great debugging extensions that Firefox can use, and that is very, very unfortunate. But I haven’t lost work – and that’s huge. As one might recall, I don’t like browsers very much. And Camino annoys me as well. But, as of late, it has annoyed me less than most of the others. I still feel that the finest web-browsing experience one can have seems to be Firefox on Windows, which is blasphemous of me to say, but I feel it’s true. But Camino is my new browser, until the Firefox people can get their collective shit together and put out a version for OS X that doesn’t suck as much as this one does.

Next up – I bought myself a copy of Star Fox for the DS as a little ‘gift’ to myself for ‘being good’ – whatever that means. Anyways, after having come off a bad spate of games I worried that this oen might be the same. But, in fact, it is not at all! It’s quite good – but I should note that I am one of the shittiest fighter pilots alive, so perhaps take my words with some salt, a little paprika, and a sprig of thyme.

There’s a “strategic” view where you use the stylus to draw the paths you want your ships to take, and can tap on areas of the screen to scan them, then when you end your turn, your units all move. It’s a great non-rectilinear take on strategic stuff, and could end up making something interesting in its own right. But as for Starfox, it makes a great way to send your different fighters off to do different tasks.

Then there’s the regular, old-school fighter-pilot-ing. Simple controls – stylus on screen. You get a nice analog response with this setup, and though it doesn’t feel completely 3-dimensionally free, it is quite good. You can cruise around a 2-D square, and you have a relatively tight timespan to do it in. But it makes a challenge, and is fun.

The plot leaves a bit to be desired, but stuff does seem to happen, and it is advancing interestingly enough.

All in all, I’m glad this one sucked less.

And, finally, gym attendance. Sucking worse than normal, now. The problem is that my time is so very very limited and the few minutes I do have to do with what I will I need to be spending productively, for whatever definition of the word ‘productively’ suits me at the time. And gym attendance is good for me and all – I don’t doubt that – but there are other things I need to be working on. The latest thing is my new authentication initiative It’s finally something for me to fiddle with that’s small enough that I really can reach my grasp all the way around it and get it to be exactly whatever I want it to be. I hope I can get it to the point where I don’t have to say, “oh, that part doesn’t work yet, coming soon” – and for the most part, it does work, and as advertised. The next issue – and the one that really killed me with NetServOS – will be getting Developers to develop for it. And of course, making it pretty. But I have plans for both of those things, for which you shall have to stay tuned…


I’ve spoken about ‘considered harmful’ several times, and my favorite article (or anti-favorite, really) is still: Ian Hickson’s article about sending XHTML with a Content-Type: header of ‘text/html’.

That was bad enough, and horrifically damaging to advancing web standards – such as XHTML.

Now, however, the well-regarded and obviously well-educated and well-meaning gentleman has decided that XHTML is so terribly damaged by poor spec-writing and inconsistencies in implementation that he would create a new spec, HTML5. HTML5 is really a successor to HTML4, the last version of HTML we had before XHTML came into play.

This is an even worse step backwards than we had before.

XHTML, and XML, could have ushered in a lot of new technologies. Once enough content on the web was created in valid XML, high-speed parsers might be able to be developed which halt on invalid documents, thus causing higher-performing web-browsing experiences. Instead of serving HTML documents with tags like <html>, <head>, <body>, and others, you might get to the point where you serve documents like <invoice>, <lineitem>, <quantity>, and so on; styling these documents with XSL/XSLT. That could really be great, and usher in a world where you have one canonical format for your data, plus a stylesheet for human consumption. The computer can parse it, as-is. Wouldn’t that be great?

Yes, but hixie has ruined it for us. Because of his ‘concern’ about serving slightly dented HTML content to the unfortunate users of IE, all forward progress must stop. Good job.

Now we’re back to where we started. Thank you so much, Mr. Hickson. I tell you what, since you’re so concerned about validity, why don’t we just scrap HTML in total and make the internet be nothing but text documents. Instead of links, we can have instructions in the middle of our text such as, “To see Brady’s blog, type into the address bar of your text browser.” Then all documents will be valid, forever. OK? Great.


Choose your Own Adventure (brief)

You are the CTO of a small tech company* – you have to go to the bathroom. When you use your key, and it gets stuck, what do you do?

  • Try to yank the key out using the keychain as leverage. Go to page 22.
  • Take the key off of your keychain, leave it in the lock. Go to page 46.

Page 22

It won’t come out! Now what?!

  • Yank out the keys with pliers. Go to page 34.
  • Take the key off your keychain, leave it in the lock. Go to page 46.

Page 34

Are you sure? Absolutely sure? You could snap your keys! Don’t do that!

  • I don’t care. Snap my keys! I want my keys out. Yank ’em out anyways! Go to page 42.
  • Simply remove the key from the keychain – takes 20 seconds! Go to page 46.

Page 42

You pull your keys out, and live happily ever after. You win! Congratulations.

Page 46

You get your keys back, but the next day your key is no longer in the lock. Now every single time you go the bathroom, you keep thinking you have keys, but you don’t. So you have to go back to the office and get the office bathroom key. You’re a loser. You lose. Lose lose lose. Why don’t you just pee your pants, loser. You suck.

*This means you still have to pick up the helpdesk phone. But you can pretend that other people have to listen to you. And you can pretend that you’re very important. But it’s important to remember, at your very core, that you are a lameo. Lame lame lame.

Mario vs. Donkey Kong 2 (DS) review

My first impression about MvDK2 was that it was simply a mediocre to slightly sub-mediocre game. Which was disappointing, because MvDK1 was a fun little game – not without its own quirks, but still fun. My final impression of the game, however, was very different.

MvDK1 was fun in that you were presented with little puzzles – get mario to location X, with key in hand. However, to get into the exit, the red switch needs to be pressed. And to get to the red switch, you need to be on this platform… Etc. Fun and brain-teasery ensues.

MvDK2 is a different beast entirely. In it, you use a stylus to urge little mario minis (wind-up toys it seems) on towards the exit. You would think fun ensues, but frustration rapidly sets in as the stylus-based controls are too clumsy to pull off the manuevers necessary to save the mini marios. The stylus not only controls the environment, but the minis themselves – "tap" them and they stop, drag across them and they start walking or change direction.

The head-scratcher levels from the predecessor are gone. You can pretty much figure out what you need to do immediately, it's just doing it that's the problem. For instance, let's say you have three minis walking in a line, and you want to stop them. Tap the first one, he stops. The second one bounces into him, starting him up again and turning the second one around. Maybe by then you've tapped the second one too, so now the third one bounces into him. What is a simple concept is maddening to actually implement.

But, that being sais, it was a fun enough diversion while on my way to or from work. Until I got to the end.

******** SPOILER ALERT *********

Do NOT read any further unless you want to know what is at the end of the game, which is a pleasant surprise!


It is: a very accurate remake of the first level of the original Donkey Kong. Down to the barrels, the oil can near the end that sets them on fire, DK himself hanging out on top. It’s pretty neat.

Or so you would think. I got here, and I had only six minis – I had barely made it through the previous mini-boss and must’ve only saved six minis. First, just like the original Donkey Kong, you can’t tell which direction barrels or fire things are going to go. Trying to jump over them is hard, but doable, sometimes. Unless you try and jump over them when you’re near a ladder, at which point you can’t be sure whether your mini will try and go up the ladder, or jump. And when you’re getting _off_ a ladder, if you gesture to tell your mini which way to go too early, it won’t “take”. Too late, and you’re dead. At random times, for no discernable reason at all, whatsoever, a second mini will pop out. You’re certain to lose the second one (or first, one of ’em for sure) because they need to be carefully directed to survive much longer than a few seconds. I have not been able to figure out what makes the minis pop out – it may be some kind of timing thing, but you can’t tell. Basically, your ability to make it through this is nearly completeley dependant upon luck. There are also the little hammers you can get – where you can destroy everything around you. By doing a ‘jump’ you toss the hammer up, and can continue to move up and down (without the hammer you can climb ladders). However, again, you can’t be certain if you will pick up the hammers at the top of the ladder or not. Not that you will actually want to. So, basically, your ability to get through this level depends almost completely on luck. Nothing more. So I figured – shit, I better re-do the previous level, so I can get through with more minis! I did it this time saving around 10. And it doesn’t matter, I still get 6 minis.

This level got me so psychotically angry that I was seriously considering throwing my DS into the subway, or smashing it to bits. I had to stop playing the game, mid-level, to keep from breaking something. I truly feel that the developers of this terrible abortion of a so-called game should be dragged out of their homes and killed. Their innards should be strewn about their neighborhoods, and other developers should be told their stories to prevent them from making the same mistakes. I may not even finish this game – and I _always_ beat _every_ game. It’s that annoying, and un-fun.

Now, the funny thing here is that 2 other people who played the game think it’s lots of fun, and really like it. But they’re not real people. They’re not hardcore video game nerds like me. So take my words with a grain of salt, and their recomendation with several tons of salt.

I suppose I’ll get philosophical – I believe the failure in the game is that you’re not in complete control of the minis – the sloppy stylus-only control scheme ensures that. I think the game would actually be better if you could _not_ control the minis at all. Then if the game were oriented to where the minis just go and run around on their own (a la Lemmings), you could focus on setting things up for them.

Anyways, most Mario-style games are designed to be fun for beginners and experts, young and old. This one is not. I want those developers dead. DEAD, I tell you – DEAD!

PHP Modules

Edit – this is a rant I found while looking through my drafts. I have nothing further to say on the issue. I originally wrote it 4/20/06. I think I might have been angry when I wrote it.

WHAT in the FUCK are you thinking when you try and put a thin thin thin wrapper around your shitty C API and try and pass it off as a PHP API? WHAT THE FUCK!?

Net::DNS – a direct port from Perl, where it was a bad idea there. As opposed to looking up addresses, you have to dick around with handles for things and all kinds of inexplicable crazy crap. “Set flag blibbleblabble on outgoing packet by toggling …” jesus!

PHP Ldap – the only differences between ldap_get_values and ldap_get_values_len and one returns char ** and one returns a null-delimited array of pointers to BER encoded structs…WHO FUCKING CARES! Why should this information be even _getting_ to me. I don’t fucking care! I am in PHP – I have arrays and hashes and shit coming out of my asshole! I don’t need your char ** null delimtied fucking bullshit!

Something I figured out a while ago – more important than anything else is the goddamned programming interface. I don’t care if the innards of your code summon angels to perform, before I even make the call, whatever I request – if the interface to request it is:

void *int (struct char[poo] *&->FINALIZE_FART_REQUSTOR(poo *,int request_id,char ******varglpx_r )

Then no one will care.

Considered Harmful Still Considered Harmful

Autoincrement Considered Harmful.

Yet another post which talks about some drawbacks of autoincrement columns – well, not really autoincrement columns. A post that talks about some problems you can have in databases, which have little to do with autoincrement columns.

But ‘considered harmful’ makes geeks snap to attention. Anyways, the article is actually interesting – and points out some problems with RESTian architecture, combined with serial numbers on tables – but has little to nothing to do with Autoincrement columns being harmful or otherwise.

You Fail It, Pt. 2

New Browser Of the Day: Camino. It’s actually somewhat fast, it renders things okay and works okay, and hasn’t made me very angry yet. Firefox (esp. on the Mac) had made me very angry. I even tried to downgrade to, which still caused anger.

I did not go to the gym last night. My excuse: I felt a bit ‘blue,’ so I killed Nazis instead in Call of Duty 3. Which was fine, but man that game is getting exhausting. I spent 20 minutes methodically killing Kraut after Kraut, and working my way over to a secure position. I start running out of ammo, I’m offing so many krauts. And then I die. And I do the same thing, except faster, and there are fewer krauts to kill!? What’s going on here? And it hit me: since there’s no ‘health’ meter, slow patience would _always_ win against a finite number of enemies – you can never die if you only get popped once and then go hide. So all you would have to do is be very, very patient, and you will eventually prevail. That wouldn’t be any fun.

So instead, we have an infinite number of enemies. They keep coming back, over and over and over again, spawning from some mysterious generator point, never to be stopped until you walk over some invisible line which says they should stop spawning. I found that I could kill upwards of say, 50 or so Nazis and advance, or as few as around 3 – so long as I went to the right place that the computer wants me to be in, the generator is halted.

This is, unfortunately, very very lame. Already the game runs on rails, preventing you from moving to (what I consider) are tactically more strategic approaches to the goal at hand – instead, you have to go the way the computer tells you. And your “allies” (I put that in quote because I really believe they are secretly in cahoots with the Germans) keep getting in your way, or not helping you.

But, it is pretty, and the sound is good, and the controls are interesting – I find that I rest my forearm on my knee to keep my arm from tiring out, and I can keep the Wii Remote focused on the screen OK. If I need to have a sip of my drink while I’m playing, I hook the Nunchuk cable on my right pinky, and drink with my left hand. It’s not bad.

Health and fiscal well-being: You Fail It!

So I am fat. Not fat like most people are fat, but uniquely fat, in that my arms, legs, chest, back, thighs, buttocks, neck, and face don't show it, but my belly is massive and spherical. I weigh 180 lbs, where my high-school slightly paunchy weight was 160-165, and my gaunt vegetarian weight was 145.

So what we're trying to do about Problem #1 is to join a gym, and go. I've done the first part pretty well. It's just going that's hard. I target going 3 times a week for 30 minutes each. When I go, I just hop on the cross-country skiing machine and tell it to "fat burn" – this keeps my heart rate at around 122 bpm, and cranks the resistance up or down to hold that same heart rate. It's not really particularly brutal or anything, and when I'm done the machine says I've used around 350 calories.

All in all, easy enough, except I don't go. Here are the excuses that I can remember that I've used:

  • Website is down, I can't tell if gym is closed or not.
  • I'm sick
  • Bead emergency, have to fix something on ebay software.

I have already missed my first scheduled "go" this week – yesterday I used the first excuse up there. I have to do a make-up today, then my regular goes on Wed and Fri – or else I'm going to try another tactic.

Since I can't seem to make it to the gym three times for half an hour each, maybe I can make it twice at 45 minutes? And if even that doesn't work, I can try one mammoth "go" at 1-1/2 hour. According to my research, the first is better than the second, and second better than the third, but it also says that you need to do at least 700 calories of work for it to have any effect. And that's an old-person target, I'm not yet that ancient. So I should be doing 1000 or so calories, at minimum.

Regardless of any numeric hand-waving, my weight has remained constant during my 2 months of gym membership – so this week is the final chance to stick with a normal schedule before I have to switch over to one of the crappier ones I have there.