Archive for the ‘rant’ Category.

How not to get published, in one easy step.

Don't follow the submission instructions.

It's appalling, frankly, how many ills that one little thing covers.

Dear idiot package maintainer:

Changing damned near every USE flag on a minor (!?!?!) release (0.8.34 to 0.8.34-r1) for a package WITHOUT DOING A DAMNED GOOD JOB DOCUMENTING THE CHANGES is a monumentally stupid idea and all you're going to do is annoy the crap out of people who use the package.

Is it a good idea to add support in gentoo for (nearly) all of the nginx modules, rather than the few that were previously being supported? Yes, it's fabulous. Thank you very much for working on this.

Is it a good idea to move all the module choice settings to USE_EXPAND? I have no friggin' clue, because there is NO DOCUMENTATION on how to, y'know, use USE_EXPAND. (I'm damned good at finding information, no matter where it's squirreled away. And yes, I RTFM. It's not there.) As it stands now, all you did was a) break my nginx installation (I made one minor change to a config file so I could restrict access to my new awstats installation and spent four hours tracking down why it wouldn't let me restart the nginx server), and b) changed my package.use entry for nginx from this:

www-servers/nginx -* fastcgi imap pcre ssl zlib

to this:

www-servers/nginx -* http ssl nginx_modules_http_access nginx_modules_http_auth_basic nginx_modules_http_autoindex nginx_modules_http_empty_gif nginx_modules_http_fastcgi nginx_modules_http_geo nginx_modules_http_gzip nginx_modules_http_gzip_static nginx_modules_http_limit_req nginx_modules_http_memcached nginx_modules_http_referer nginx_modules_http_rewrite

Wow. That's helpful. (Read: not terribly, actually.)

No love,

In the absence of any actual useful documentation, I had to try a bunch of different options to get nginx to do what I wanted it to do again. There was some indication (on pages about other packages) that USE_EXPAND was to be put in /etc/make.conf, as well as the package's variable (NGINX_MODULES_HTTP, in this case). So something like this should've worked, right?

NGINX_MODULES_HTTP="access auth_basic autoindex empty_gif fastcgi geo gzip gzip_static limit_req memcached referer rewrite"

But nope, that was a no-go. I think it actually makes more sense to be able to set the modules variable in /etc/portage/package.use, seeing as that's the currently accepted file location for detailed USE flag settings, but what do I know? I'm just a user. /sarcasm

Neither of those options (or any of the others I tried) worked. As stated above, I ended up changing the nginx line in my package.use and re-emerging nginx with the new USE flags. Hopefully this tip will help out anyone else who runs into this problem and will save many wasted hours.

I just don't get it. (An "I ♥ SQL" rant)

What's so bad about liking SQL? About enjoying the beauty of a really damned well-written and concise query? Seriously, I just don't get the hype about ORMs versus writing the queries yourself.

Don't give me the "but it makes everything portable!" argument. How many times have you designed something, only to have to switch to a different RBDMS partway through? Or had to switch to a new one after the project's done? *snort* Yeah, that's what I thought. If you're that worried about this elusive and inchoate thing called "portability," design the system so all the queries can be put in one directory or file, and provide a way to swap out the optimized queries for each database-specific version. You know, kinda like we already provide language translations.

Please explain to me how a system that takes hours (eight and counting) to debug and runs a separate query for each fucking result is superior to the single optimized query I can write in less than thirty seconds and which produces the exact results that I need and no more, with none of the tearing out of hair and hours of frustration?

Also, if you're going to write a framework that alleges that the ORM can be easily decoupled from the framework so that you can write your own SQL? An easy and—most importantly—well-documented way to get the damned results into the format the rest of the framework expects would be really nice. (The crap that makes up 99% of all documentation for programs—open source or commercial—is a rant for another day.)