Prototype: EEP18 Considered Harmful: The problems with Erlang to JSON term translation

ECMA / Javascript, ECMAScript, Erlang, General Interest, Programming, Rants, Tools and Libraries, Web and Web Standards 5 Comments

THIS IS ONLY HALF WRITTEN.  I have been sitting on this post, waiting for the mood to finish it, for months; because EEP18 is now being treated as a likely implement, I am immediately publishing the half-written version, because it exposes many (though not all) of the serious, irreconcilable problems with EEP18.

On the mailing list, people are actively trying to bring Erlang up to snuff with regards to web standards.  One of the more unfortunate choices being discussed is JSON as a data notation.  JSON, unfortunately, does not actually map to Erlang in a useful way.  Joe Armstrong has gone as far as to suggest BIFs, which are decidedly unrealistic as well as unnecessary.  My goal is to create a JSON handling library.  However, the mailing list is beginning to put momentum behind an alternative proposal which is currently presented in BIF form.

This post explains why my approach is different.  Many of the issues herein are discussed by the tabled EEP (EEP 18, “JSON BIFs” by Rickard O’Keefe), but some are not, and some of these issues are accepted when I believe they should not be.  It is my position that EEP 18 is unacceptably dangerous.  I will explain why.

Read the rest…

Holy crap, an Objective C text that doesn’t assume you’re retarded

General Interest, Objective C, Programming, Rants 5 Comments

[digg-reddit-me]My good friend Jeff happened to mention offhand his knowledge of a document I’ve been looking for for quite some time now.  I’m sharing it with my readers in case they’re looking for something similar.

Let me be forward: I cannot stand the various Objective C books I’ve tried.  They all want to teach me to be a programmer.  I’m already there.  I just want a book like Stroustrup.  The PragProg book is awful: the first several chapters are about Mac development tools, like I give a damn.  Everything’s through interface wizards.  It’s nauseating.

Jeff heard mein painz0rz, and turned me on to From C++ to Objective-C.  It isn’t perfect: it’s not super comprehensive, and it’s translated from a different native language (French), which leaves a few passages cumbersome.  However, as one can tell from reading the intro, the author of the document, much like me, found little to love in the state of Objective C documentation, and wanted to write something for people who were already well established.

Kudos to Pierre Chatelier for writing the book that Apple and Alan Kay could not.

Are you getting those awful “second notice to renew your car warranty” fraud calls?

General Interest 24 Comments

[digg-reddit-me]Update: These bastards called me at 4:30am to tell me how sorry they were that they were making inappropriate phone calls.  When I asked for the company owner’s contact number, they said it had just been changed, and they didn’t know the new one (yeah right).  When, after talking for 20 minutes, I asked Lorraine for the company’s mailing address, which they are required by law to provide, she told me she’d take my numbers off of their list, hung up the phone and stopped answering.

She didn’t even get the numbers she was going to remove from the list, of course.

I get three or four calls from this company a day, to a private cellular phone which is on the state and national do not call lists.  Because this is starting to be well known, I am distributing information about the companies involved, so that the other people wrestling with these fraudulent calls can begin to fight back.

It doesn’t take that many people calling the phone company and police to get this handled, but it does take more than one.

It’s Dealer Warranty Services. You can speak with Shane Richards or “Lance the Manager” who refuses to identify himself. The company owners are Jeff Zykan and Mark Schwab. They will tell you they will call you back; they never do. Eventually they blame this on “Craig” at Voice Solutions, which is an unmanned phone switch that never has human responses and does not return calls from voicemail; 1-727-532-7100. If you manage to talk to craig, he will give you a fake number to call back (the one he gave me was for Walla Walla University.)

Be careful – these people turn off the phones to avoid calls. Amazing scumbags.

They know how far in violation of the Telephone Consumer Protection Act they are. Your appropriate first step is to check if you are in a one party consent state (they are), which allows you to tape record your calls without warning the other end. Then, call them, and ask them for the contact information they’re required by law to provide.

When they refuse, contact your phone company and tell them you want to file an abusive caller claim. The phone company should begin a report then instruct you to call your local police.

Call your NON-EMERGENCY local police number (do not use 911). Ask to file a police report. It’s free and takes about five minutes. Then call your phone company back and finish the abusive caller complaint.

When enough of these get filed, the phone company can disconnect the source of the calls.

The best way to deal with illegal calls is to use the law to end their ability to do business.

The phone number to Dealer Warranty Services is 1-800-581-1575.

Yay for Varun! Open Source Inbound

ECMA / Javascript, ECMAScript, General Interest, Programming, Tools and Libraries No Comments

My boss’ boss, Varun, is letting me open source some of the work I’m doing at Kayako.  I’m not supposed to talk about the interesting three until they’re ready for release, but I can tell you that a JavaScript ISO8601 implementation is among them, and that they’re all going to be MIT licensed, no GPL contamination.

More news as I get my butt in gear and finish the libraries in question.  But, yay Varun!

Bad Hosting Provider Behavior

General Interest, Miscellaneous, Rants 5 Comments

So, I’m not really sure what to do here.

There’s this host.  I’m not going to name them, because it isn’t clear to me whether it’s ethical to do so.  Four times in the last year, I’ve caught their engineers telling customers who are shared with my employer complete horseshit.  They’ve blamed their servers being compromised on our application without a lick of evidence (which turned out to be their own fault after basic inspection), they’ve made absurd claims about our policies, and now they’re making claims that we don’t support MS Exchange, which is of course completely false.

What’s worse, when their engineers get caught being completely full of crap, the company’s response is to isolate those engineers from explaining the claims they made, and instead they’ve been going to my company’s CEO, trying to get me in trouble for telling our shared client to be careful about the advice received from their engineers, despite knowing perfectly well that the advice being handed out by their engineers (particularly during commercially motivated server takeover) was dangerously incorrect.

So I’m not really sure what to do.  Do I go public with the names and claims of the individuals involved?  Do I just choke on the rage and be silent?  I tried going to their bosses; their bosses’ response was to try to get me fired from my own job.

How do my readers suggest that I handle such an improbably unethical hosting company?

c++0x standard finalized; now open for last international comment phase

C/C++, General Interest, Programming No Comments

It’s finally done:D   And, thank god, “concepts” are officially in.

Like my new iPhone. HATE the keyboard.

General Interest, iPhone, Miscellaneous, Rants 4 Comments

[digg-reddit-me]One of the things I was most looking forward to about my new iPhone, knowing there were SSH clients, was the ability to use it as a genuinely remote terminal, no matter where I was, to do little shell tasks and write simple code and so on.

Ha!  The problem is, the iPhone has an autocorrecting keyboard which corrects if you don’t tell it not to (the obnoxious kind like Outlook has), and it makes completely asinine replacements (its becomes it’s, as if the word its doesn’t exist).  This is bad enough if you just speak above the level of an eighth grader, but it makes using unix shells and writing code genuinely impossible.

Classic apple zealot response from IRC: “don’t be stupid, just teach the iPhone every word you want to use when programming.”  Like they don’t even think before they answer.

Apple: why can’t I turn this off?  It’d be simple enough: there’s bound to be some function somwhere get_best_replacement(char* current), which signals no reasonable match (as you get for, say, ‘zzzzz’) by way of an empty string, or something similar.  That’s the hack point.  Add if (customer_isnt_retarded()) { return “”; } else { previous_logic(); } and it’s fixed.

Seriously, who locks people into an autocorrecting keyboard?  Ugh.  This ruins the iPhone for any kind of technical use.  What a mess.

If you hate this too, vote this up on digg and reddit, so that an Apple employee will see it.

Microsoft and Cray to offer $25,000 Supercomputer on Amazon

General Interest, Miscellaneous, Programming No Comments

[digg-reddit-me]No, really.

It’s not really a supercomputer; it’s a cluster.  Specifically, it’s an eight node cluster in one box.  Each node can have up to two Quad Xeons and up to 64 gig of RAM, meaning the box, maxed out, would be running 64 cores and half a terabyte of ram.  It runs Windows Server HPC 2008, which is why Microsoft is involved.

No word on how decked out the box is at $25,000, but it’s supposed to be selling on Amazon starting today, and Amazon’s good about giving out specs.  As of this writing it isn’t yet available.

TopCoder and ESPN fail to create a good contest

General Interest, Miscellaneous, Programming, Rants No Comments

Presumably because of the success of the NetFlix Prize, ESPN decided to hold a hundred thousand dollar purse to see who could provide the best algorithm to predict the outcome of upcoming college football games.  Fortunately, ESPN went looking for experienced help to design such a game.  Unfortunately, they chose TopCoder.

It’s a shame that ESPN chose to do this through TopCoder, as TopCoder’s general practices are poison for a machine learning contest. TopCoder chose to impose a gig memory limit and a nine minute runtime on any approach to this problem, which murders most machine learning tactics right out the door. It’s a shame they didn’t do this themselves on the NetFlix model, where contestants just submit predictions.

This contest isn’t to get football predictions. It’s to get football predictions under arbitrary ram and cpu caps. ESPN’s staff wouldn’t face such restrictions when using the work – one gig for nine minutes?  C’mon; there is literally no reason for this limitation to exist.

This contest’s design precludes most modern approaches to machine learning to no appreciable benefit, and is therefore fundamentally flawed. ESPN is going to get seriously quality-limited results.

Very disappointing.  That money would go to much better effect if the contest had been designed with the kind of foresight of which the NetFlix Prize had had the benefit.

That horrid little piracy-isn’t-theft meme is going around again

General Interest, Miscellaneous, Rants 13 Comments

[digg-reddit-me]An image version of the “piracy isn’t theft” meme which the pirates use to convince themselves they aren’t thieves is going around; apparently the fact that they keep going to jail as thieves isn’t enough to get it through to them that their insistance that there’s nothing wrong with what they’re doing doesn’t make it true.  (I can’t tell you how sick I am of hearing pirates brag about how what everyone knows isn’t okay actually is.)

There’s a comic version of it which has gotten disappointingly popular on Reddit lately.  I edited that comic.

It's theft under the law, you goons

Pederasts and pedophiles also say they’re not hurting anybody, and tell each other lies about the law.  But I digress.

« Previous Entries Next Entries »