Tag Archives: hate

WebOS RIP

I’ve been watching HP’s latest midlife crisis implosion, wherein they are effectively killing the WebOS platform that they bought for $1.2Bn about a year ago, and trying to sell their PC business which is currently the largest in the world, to become an enterprise company, where they are merely one of several big fish. The latter madness is very much akin to the Carly-era “let’s become a Whitebox PC Vendor and sell off our differentiating technology” fail, but the former is something I’m currently interested in. I’ve been chatting about it in news discussions, some of which are publically visible, but wanted to collect thoughts here.

1. HP has done this shit over and over. Apollo in 1989. Convex in 1995. DEC via Compaq in 2002. This may be the most egregious “Buy a distressed asset with good technology, then abandon it” of all time, but the precedent was certainly there.
2. It took Apple (roughly, based on patents and employees) 22 years and two failures (the Newton and one killed internally around ’04) to build a mobile platform that didn’t suck too much for even the reality distortion field to market, and they made a good try at fumbling again at release (remember “No one needs native applications, webapps only“?). Palm was the only other contender with that kind of background, and they designed around Apple’s mistakes (Hello competent multitasking, clipboard, and notifications system!). From a design standpoint, WebOS was the obvious winner.
3. Android, WebOS and Meego are all fundamentally ARM EABI Linux, with a shiny UI coating. iOS’s XNU for ARM and POSIX-y underlayer isn’t that different. WebOS managed the balance perfectly, with official support for optware for the “This is a Linux box” software, and a commercial store for the UI-focused software. Apple kicks and screams and tries to subvert users who want to do anything other than in-band UI-wrappered software through their official store, but there is still a substantial jailbreak/cydia/etc. aftermarket. MeeGo didn’t really have a usable mobile UI layer, restarted too late, and isn’t really worth discussing. Android has technological impediments built in to it to make it as unpleasant as possible to run native binaries, even though the capability is there, which has resulted in a store full of $1.50 pieces of cross-compiled FOSS software with clunky dalvik wrappers over them, and my contempt.
5. I’d like to reiterate that the WebOS development environment was brilliant. The tool-chain was built completely out of open, standard components and languages. No custom JVM substitute to provide lock-in, patent wars, and wasted cycles. No effectively domain specific language (ObjectiveC with weird libraries? Really?). Just a clean interaction model built on top of HTML, CSS, and Javascript, native binaries in C/C++ using STL and OpenGL, and an interface to connect the two.
4. I pretty much agree with this Ars article on how it should have gone down, with an additional “they should have hurried the fuck up” to cap it off.

What I really want in a device is a pocket POSIX workstation with a clean Mobile UI. I’ve ranted about this before. A WebOS device with decent hardware (High-resolution screen, usable keyboard, removable storage) would have been nearly perfect, and the Pre3 was almost it. But it was six months late, lacked removable storage, and has now been cancelled between its European and US release. I’ll probably end up with a HTC Doubleshot (aka. MyTouch 4G Slide) shortly here, as Android is the last platform standing that meets my most basic requirements, and T-mobile and HTC (now with Unlocked Bootloaders!) are the least evil respective sources of service and devices. At least there is a Linux system buried under there somewhere, and now that Matias Duarte has moved to google the Android UI might improve. And hell, maybe I’ll bargin-bin a WebOS device in a couple months as they’re being dumped, just for sport.

Posted in Computers, DIY, Electronics, General, Objects | Tagged , , , | Leave a comment

Why the hell did Google just force me to link my YouTube account to a Google account? Do not want.

Posted on by pappp | Leave a comment

It is 2011 and UK Healthcare still can’t accept electronic payment. I spent a couple minutes going over a bill trying to figure out how to pay online because I couldn’t believe it wasn’t an option, but no, snail mail … Continue reading

Posted on by pappp | Leave a comment

Why Application Programming Sucks

You, the programmer, have a problem you would like to solve. This is what progammers do, but since it seems like a common problem, so you leap to t3h googles for a solution:
“Oh great google god, this lazy progammer beseeches you, find me someone who has already solved my problem”
and sure enough, within the first page of results, there is a promising function, DoWhatIWant(), in the magic library. This magic library must be common enough, since it solves your problem, so you hit the package manager (please tell me you are running a system with a package manager. If you have to spend hours tracking down nullsoft installers of patched second class citizen versions, you have only yourself to blame.) to find and install it.
$ sudo newpackagewrangler updatecommand
$ newpackagewrangler searchcommand magic

…10 hits, one of which is PROBABLY the one you intended…
$ sudo newpackagewrangler new-better-install-command magic2
Install:
Magic2 (150K)
Depends:
behemoth (75.3M), UglyTK (5.6M), libCuteName (200K), libalkjosaoifdnjg (547k)
Install (Y/N)?

Let’s take a moment to figure out what the hell just happened:

  • behemoth: It’s 75Mb of crap – included for a single function that could have been reeimplimented in less than 100 lines of code.
  • UglyTK: It’s the newest, greatest graphical toolkit, for an included example frontend. There are only 4 programs written with it, you don’t use any of them, and it won’t take the theme from GTK or QT.
  • libCuteName: Probably named for an animal or a color; at one point there was a clever reason for this, but it has since been depricated.
  • libalkjosaoifdnjg : It isn’t clear what the hell this does, and it appears the name was selected by placing a keyboard in a box of kittens. Thats fine because all editors support autocompletion, right?

Since Magic.DoWhatIWant() appears to do exactly what you want, the package manager can take care of it, and your system supports shared libraries, how bad could it be?
While the dependency pile downloads and installs, you take a look at the documentation, and find that Magic.DoWhatIWant() has 93 arguments.. and only 70 of them are explained. You think “Surely, such a useful function is used all over the place.” and return to the interwebs to find an example.
The example you find actually has 97 arguments, since the documentation is perpetually out of date, and they don’t appear to be a superset of the 93 from the documentation – But Magic.DoWhatIWant() calls to you, and you begin hacking away to make it work.
After some hours, you come upon a heated argument in the magic maling list archive, where one of the developers has declared one of the 97 arguments “bloated crap,” in the last release cycle and removed it, in the process making DoWhatIWant() sligtly less suited to your problem than it seemed – but now you’ve invested some effort, and it should still do basically what you need once you figure it out…
Typically, two days later, you throw up your hands, and, in about two hours, write a function in pure C that solves the problem – or notice that by preprocessing the input with a 10-line AWK script the problem can be avoided alltogether. Occasionally, again about two days later, you DO get it to work, but end up having to do about half the task DoWhatIWant() was supposed to accomplish yourself – and now have 80Mb of dependencies for your 75k program, meaning you will have to update it every time any of them changes.

I realize several of the issues I’m mocking here are contradictory – that’s why it is such a shitty situation. Also, I do mean to be singling out the “layers on top of layers on top of package managers that were shifty when they were written in the early 90s” package managers so many distributions cling to.
This post brought to you by the bitterness of another weekend spent spelunking around inside of LLVM.

Posted in Computers, DIY, General, Navel Gazing | Tagged , | Leave a comment

Beware WordPress Revision Behavior

The editing/cleaning/etc. I’ve been doing to the new blog has caused lots of inconsequential minor revisions to content… which would be fine except that, by default, recent versions of WP generate a new PostID (and associated database cruft) EVERY TIME YOU MAKE A REVISION, resulting in about 350 bogus PostIDs between my last two posts – about 200 of them from leaving the editor up and autosaving for a couple hours. The interwebs are full of notes about adding define('WP_POST_REVISIONS', false); to wp-config.php to turn revision saving off, and there is a handy delete-revision plugin to purge any that got by without having to bust out SQL tools, but what a dumb behavior.

Posted in Computers, General, Meta | Tagged , , , | Leave a comment

Notes on Migrating Flatpress to WordPress

I’m going to post up some notes on the process of migrating my content from the Flatpress (wordpress-like flat-file backed CMS) instance at my old blog to a WordPress (the dominant CMS for blogs, MySQL backed) instance here at pappp.net.  The short version? It is seriously aggravating. Long block of text follows.
Continue reading

Posted in Computers, DIY, General, Meta | Tagged , , , | 2 Comments

Spambots.

I seem to have a minor spambot infestation in my blog comment system. I’ve cleaned it out for now, but this most likely means the anti-spambot measures in Flatpress have been defeated.
I should probably upgrade my Flatpress install to the latest version, but I am hesitant to do so since I won’t have time to fix it for the next several weeks if something goes wrong, and I am planning to move this blog to it’s own hosting (yet undetermined) in the immediate future.
Please excuse any temporary spam incursions until I have a more permanent fix for the problem.

Posted in Computers, Meta, OldBlog | Tagged | Leave a comment