Jolie Rouge

all ur parentheses Я belong to me

Common Lisp: The perfect language, implemented by Assholes.

Few words can describe the sheer frustration of coming to Common Lisp from not merely an imperative background, but a background of modern languages. Everything from the documentation to implementation details have the stench of old and crusty all over it. If you aren’t dealing with the well meant condescension of Lisp gurus who seem have never actually had to write an application for end-users (and why would they, no one writes end-user applications in Lisp) then you’re dealing with documentation that was pretty much a copy and paste from the implementer’s specification created by a bureaucratic standards organization.

How do you explain to someone that an ANSI Standard document is not documentation.

You can’t, because only an asshole would think that. And you can’t explain pragmatism to an asshole.

Your language is not a race, it’s a game

An issue with many languages, and especially Lispers, is that they treat programming in Lisp a bit like you would treat a sports competition, or a chess match. To them, if you “haven’t done the prep” you deserve to lose.

Developers need to knock this the fuck off

Windows is not Linux. Do not ever, EVER, use Windows specific functions to detect safe places to put configuration files. There is NO DIRECT PATH to AppData. It’s never where you put a config file. It is a stupid location for cached data, or a database people aren’t supposed to touch. Even then, it’s useless.

If your application has an RC file that’s supposed to go to /home/user/.myapprc, don’t assume that you can stick that into any old directory in Windows, you fucking can’t. It causes so many headaches. Just chop off the fucking ‘.’ and stick it into the same fucking directory as the .exe of your app. Don’t get fancy. Don’t get cute.

Drives me up the wall.

DON’T PUT IT IN THE HOME DIRECTORY. Windows users don’t have homes. It’s a stupid name for a superfluous concept. They have Desktops, Documents, Pictures, and so on. There’s not even an obvious way to get to your home directory in windows! There’s no “Home” link. You have to click a special dropdown, and then find it in a context menu. FUCK.

UPS Shipping XML API is shit

Well, I really thought I had seen the worst SOAP API with eBay Trading, but that API is like heaven compared to the terse, complicated, and pointlessly documented UPS API. The Developer Docs look like the person was getting paid by the word, if you take my meaning. That is, they’re verbose, but useless. Everything is broken down into small parts, with copious PDFs and Introductions.

Then you’ll get this, alot: Error Code: 1002 – The XML Document is well formed, but this document is invalid.

Oh really? How? Where’s the mistake? I haven’t found it yet and I’ve gone line by line to compare the differences between a successful call and a failed call.

I’ll update this post if I ever figure it out…

Why LISP has less success than it could

I’ve been thinking about this problem for awhile, and I have an idea of one of the major factors preventing LISP adoption: EMACS.

Emacs is, well, complete shit. Vim is also shit. They are the awesomest pieces of shit ever. There are people who love EMACS, and people who love Vim (I like Vim actually), but everyone today uses a real IDE, like Netbeans (I hate it) or at least SublimeTEXT(I love it).

The truth is, you can use something like SublimeTEXT with SublimeREPL plugin and get interactive scripting behavior.

So how is EMACS a barrier? Because when you are a newbie to LISP, and you go looking for information about LISP, the first thing everyone says is: Install EMACS. Most newbies stop reading there. “To hell with that!” they say. EMACS is one of those editors that was a really great idea, 20-30 years ago when computers were way different. The problems that they solved are barely relevant today.

No one uses Macros, no one needs weird navigation with the keyboard. A modern IDE needs clickable tabs, not confusing buffer lists, they need file system tree displays, and project management functions built in, not from some confusing 3rd party lib.

The features an IDE must have:

Backbone.js + Rails

You all know that my opinion of Ruby On Rails couldn’t be any lower if it was under the basement carpet of a Pompeii1 house, so this post won’t be very suprising.

So, awhile back I was having a discussion with a  friend about how, as a general rule, about 90% of a web app should really be taking place on the browser, and this was vindicated in my opinion with several other developers coming to much the same conclusion and releasing some very interesting application frameworks for javascript Single Page Applications. Of course this conversation took place when jQuery was just really starting to take off. The problem at that time was that no one was really talking about a client side application in javascript methodology, how such a thing could or would work.

In hindsight it all seems obvious, but actually, Backbone and other such frameworks represent some really great out of the box creativity. Anyway, after my last Rails project, I more or less swore I would never work with that ass backwards platform ever again. I decided to revisit this idea of Single Page Applications and low and behold I stumble onto Backbone.js, and I decide I am going to learn to use this tool. While looking around for some books on the topics of jQuery and Backbone (I’ve more or less decided to give up the ghost and use jQuery ui elements in all future applications cause rolling your own is just too much work.) low an behold I find a link to this: I thought to myself, you have to be shitting me. Mixing Backbone.js and Ruby on Rails is like taking a sexy girl back to your apartment and making her diddle herself across the room while you try to solve a Rubik’s Cube with your toes.

Rails is the big shining Mecca of Shit2 that passes for a software platform these days, so I understand that all the new kids want to make use of cool by association until graduation is over, and everyone realizes that the flashy douche bag will end up a used car salesman, slowly killing his soul, beating his wife and kids, and crying himself to sleep in a second hand recliner while he reminisces about the glory days over a bottle of cheap scotch.

Normally I would find such an ironic situation truly sad, but must admit the idea of a pot-bellied DHH sobbing like a little girl into a dixie cup filled with Tambowie is strangely satisfying.

The whole idea of Rails, the fundamental flaw of Rails can be summed up by drawing you a nice little picture.backbonevsrails