contact me
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. —Robert A. Heinlein
-
MySQL To PostgreSQL For Django
Mon Nov 17 6:45 pm, 2008
The idea was that you'd use MySQL for speed, PostgreSQL for features, although with PostgreSQL 8 that seems to have changed, and MySQL has caught up a little on features. But with day to day use, I gotta say, I prefer PostgreSQL. Not that I don't love unexpected MySQL table locks. Anyway, didn't your mother ever tell you not to walk into the middle of a database fight? The point is I'm converting part of an app to Django and the previous was stored in MySQL. I could of course write something that iterates over the data and puts it in place in a new postgres home. But that's time consuming. So, take the the MySQL dump, convert it to something postgres understands, once there use Django's inspectdb helper to generate the basics for the model, then work on whatever scrubbing and altering need to be done, cuz that's so much easier once you've got Django on hand to work on the data.
-
Tue Nov 11 7:30 pm, 2008
Back when I used to do tech support, I was trying hard to get people off of Internet Explorer, there were a couple options even then -- but I kept having this conversation:
- I don't want to use Netscape/Opera/Mozilla, Internet Explorer is perfect.
- And how many other browsers have you used before?
- Well, I haven't used any others, but IE is perfect.
I also had this conversation about word processors (remember them?), and OS's. It was extremely hard to get anyone to look at Linux as a server with MS and Sun around. The conversations always went like:
- I don't want to use another X, this X is perfect.
- And how many other kinds of X have you used?
- Well, I haven't used any others. But this one is perfect.
Google does some things really well, obviously. Which is probably why companies are switching over their mail, their ad serving, some of their web applications, their project management, their collaborative word processing, and their code repositories to Google. What worries me about this is that somewhere down the line, folks are going to forget anything else was possible, that "this one is perfect". It's not going to be now, but maybe years from now, when you realize that you've become Google's bitch. It will be the folks that come after the people who made the decision to switch off of Exchange Server, who have used little else but Google for their mail, search, projects. What frightens me honestly, is the return of old fashioned monoculture, while Google currently feels like little companies grouped together under a brand, there's an unprecedented level of trust in the word 'Google' that gives me shivers. -
Sat Nov 8 11:58 am, 2008
I once had a Steve-Jobs-Type classic A-personality boss toward the end of the dotcom era who would always tell our team that we were one day going to be the equivalent of plumbers and mechanics (he also had the unfortunate power to make women who worked for him cry almost on cue). I didn't disagree with him, but asked what he had against plumbers and mechanics? Why was this a thing we should, apparently, be frightened of? Who makes and or fixes your shit? Who makes your car run? Where would you be without these folks? I think of Douglas Adams B-Ark, which held a world's middle managers, TV producers, consultants (and phone sanitizers) tricked to be sent off alone to crash on a prehistoric earth. The fictional A-Ark held the world's leaders and thinkers, and C-Ark held the people who made things, the plumbers, bricklayers, carpenters, computer programmers, farmers. I'm quite happy to be on the C-Ark.
-
Fri Nov 7 8:30 am, 2008
"I am thinking about something much more important than bombs.
I am thinking about computers." -- John von Neuman, 1946, -
Sun Nov 2 1:00 am, 2008
So I wanted to install Ubuntu Eee, field test it more than the 'live cd', really use it on a daily basis. But I didn't want to blow away the default Xandros OS on my Eeepc. I didn't even want to partition it, just didn't want to touch it. Ubuntu Eee is Ubuntu optimized for the Eee with the Netbook Remix ui. Ubuntu is a vastly better branch of Debian than Xandros, particularly Xandros on the 901 which has very few packages. But Xandros works there, bug free, so a good fallback. The strength of Ubuntu is the vast number of packages, and the number of people and online support for them. Got a problem? Betcha Ubuntu boards there's someone else with the same. And someone who knows what to do. Ubuntu just continues to impress me with attention to user-friendly detail that previous distros lacked (sometimes it was not the prerogative of the distro to have those details).
In short here's what worked for me, to get Ubuntu Eee onto a card, and leave Xandros untouched:
1. Using an 8g kingston data traveler USB stick, I downloaded Ubuntu Eee and used unetbootin to create a bootable stick.
2. Power up the Eee, press esc a couple times, choose the usb stick.
3. "try ubuntu without any change to your computer" working? Poke around, things look good? Proceed by clicking the installer.
4. Forward through the setup options (mostly location stuff)
5. At the partitioner, choose 'use entire disk' and select your sd card, in this case SCIS4 "Single Flash Reader"
6. Setup your name and password (there was nothing to migrate)
7. On the final step of the Ubuntu install, click 'advanced' in the lower right corner, make sure "install boot loader" is checked, and select your removable sdd as the target rather than sd0 (which is your Xandros internal os). You're putting grub onto the card, and not the internal drive(s). I didn't do this first time through and while I could, using grub, boot to either the card or internal, I could do so only with the sd card in. That's not cool. To get out of that situation (if you do make that mistake), making the Xandros internal default again, you can from Xandros:
grub> find /boot/grub/stage1
(hd0,0)
(hd2,0)
grub>root (hd0,0)
grub>setup (hd0)
grub>quit
(hd0,0) being your internal drive. The point of this entire install is to have an OS on a card, I don't want to have to require to have the card, and I might want to have several.
8. Proceed with the install, prompts you to restart, do so. I had to force power down after the screen went blank, it didn't seem to be able to actually power down. This didn't worry me, and it didn't seem to effect anything.
9. Restart, make sure Xandros comes up without interruption. OK, now let's test the OS on a card:
10. Restart, pressing esc a couple times on boot, select the sd from the bios menu you're presented with. You'll have to do this on every machine boot if you want to use the card, not such a big deal IMHO.
11. So, what we've done is install grub on the card, but there's a problem, when we did so on install the drive (the SD card) was assigned a different address -- it's now the first drive rather than the n drive. The first entry in the grub list is the entry you want, but if you select it and try and boot it will fail because it wont be able to find the disk. What you do is select the entry in grub, hit e, then select "root (hd3,0)" and hit e again to edit this, change it to (hd0,0). Then hit "b" to boot.
12. To make this change permanent to the card, go to 'accessories' open up terminal -- type 'sudo nano /boot/grub/menu.lst' (or whatever editor you've got) and change all the instances you see of "(hd3,0)" to "(hd0,0)" (no quotes, I'm just sayin). You could also change the timeout option to avoid seeing grub all together, since you're really not using it on the card.
This is great, SD cards are cheap. In fact, if you donate money to Ubuntu Eee, you get a card just like this. Imagine all computers having SD slots, essentially being OS readers, and you've got a pocketful of OS chips. Why not have a couple OS X's, Microsoft (if you insist), whatever distro you like, just pop in a card, the internal drive could serve as master storage. Love it.
footnote: as decently design as Netbook Remix is, it seems to hog resources, so I switched to XFCE with 'sudo apt-get install xubuntu-desktop', unchecking 'maximus' in the Netbook Remix sessions window, logging out, selecting an xfce session, then doing a 'sudo apt-get --purge remove ume-launcher' since the thing just didn't seem to want to go away, even in the xfce session. Anyhow, much faster. -
Mon Oct 27 9:28 pm, 2008
Garrett Lisi first got some attention a couple years ago with an interesting idea about unified field theory and the mathematical entity known as E8. Recently I read a book called Symmetry And The Monster about Lie Groups the creation of the Atlas, and E8. Not that well written (always saying 'and later we'll get back to that' and never do), but incredibly interesting subject. And I will never be able to do the math. Ever. But the concepts, maybe... Although it might be more like the Bohr quote If anybody says he can think about quantum physics without getting giddy, that only shows he has not understood the first thing about them. -
Sun Oct 26 9:09 pm, 2008
In my effort to de-clutter over the last month I got rid of a few extraneous machines. Was I ever really going to get that Beowulf Cluster going? Probably not. Not unless I get laid off (and maybe I'm hoping since I haven't had any real serious time off in about a decade). Point is, I like to poke around. So one machine I couldn't bear to part with is my old A21 ThinkPad -- which, hands down, is the best piece of hardware I've ever owned, although the extremely square display is kinda funny in retrospect. Fact it still works perfectly, case in point. I wondered what Xfce is up to -- haven't seen it in a very long time and there's Ubuntu with a nice little xubuntu roll-up. One small CD later, and one completely painless install later, my ThinkPad is running Ubuntu/Xfce -- and damn fast. An 8 year old p3 laptop with 512 ram, and it's as usable and as fast as my mac. There's a minimal and simple quality to Xfce I just love, it's fantastic. Really, you want Compiz Fusion? How can you get any work done with things moving around like that? Just fluff, IMHO. Don't hide my tools, don't make them slide or bounce or skitter away, just put everything out there as simply as possible, now that's usable. But I'm also not really going to be carrying around my ThinkPad anymore, cuz it weighs, I dunno like 10 pounds or something? I want a VM of it, for work, and on my mac. I've been using Parallels, and I haven't had strong opinions about it. I'd tried to do an Ubuntu install on it a while ago and it wouldn't take, this time it did. But here's the thing, after I installed, I thought, well why not do a Parallels update? It's right there in the menu. There's updates to do, I do them. Should I have read more about them, perhaps. But who does? Turns out my key for the latest update (or 'version') doesn't work -- in other words, I've converted my VM image to something that won't work with the previous version (for which I've paid), my previous version (for which I've paid) is gone, and I can't get into my VM now. Ummm, Kay. If my activated copy of Parallels wouldn't work with whatever updates they're giving me I feel they're somewhat obliged to stop me from installing and converting my current VM's without first buying the upgrade. Assuming folks are reading the fine print on a update is not good. Enough of that, off to VMWare. The VMWare Fusion demo imports my parallels xubuntu VM flawlessly. All in all VMWare feels better, I don't have hard numbers to back this up (for instance I don't know if it utilizes memory better than Parallels or not, although these folks seem to have an opinion) -- but interface wise, better. Not giving the full-screen escape code in a tooltip above the full screen button, like Parallels doesn't, is a pain for noobs, or forgetful idiots like myself. Also, getting the vm-tools on for window resizing and 'Unity' was easy -- a menu mounted disk image, a 'sudo perl vmware-tools-install.pl' (Hey somebody's still using Perl!!).
-
Sat Oct 25 11:48 pm, 2008
It seems somewhat isolating in the Python culture to say you still like anything about PHP. PHP is the table at the wedding where everyone the family doesn't like has to sit, quietly ignored, perhaps scoffed at behind closed doors. I do think Python is a vastly better designed and usable language -- I'm not arguing about that. I'd probably say PHP isn't so much a language as a series of tools and procedures. In technology there are waves of hip that seem to take hold, and folks often forget about the day-to-day, utilitarian, I-have-to-work-with-legacy reality -- code archaeology. Far as I'm concerned, technology is about getting things done and to work with what you have at hand, I don't care if it's a bag of chopsticks and a hot glue gun, of course I have preferences. It's the end result that really matters. I know that aesthetic is an important engineering criteria, but I also feel like sometimes engineers act like modernist architects, striving to build theoretically perfect buildings no one wants to live in (except for social cred). Originally this post was called 'Why I Don't Hate PHP Yet', but today's decision by PHP to use backslashes for seperating namespaces, is, well, deeply terrible. Could you just change concatentation to "+" and then use "."? How hard? Probably hard since this concatentation is loose and overused in PHP. Make a clean break in PHP 6? Fix it? Buck up a little? Why not "::"? I can't bring myself to type an example in the new backslash manner even as an example to see how awful it will appear. Smells like MS. It will only end in tears.
-
Fri Oct 17 11:42 am, 2008
Bob Abboud's campaign site has a couple of The Onion's 'American Voices' character photos under his endorsements section. You can add an endorsement here, so I'm assuming the folks approving the endorsements aren't regular Onion readers.
-
Thu Oct 16 9:17 pm, 2008
I'm always in favor of security research, and I have enjoyed following the developments in quantum cryptography. But as a product, it has no future. It's not that quantum cryptography might be insecure; it's that cryptography is already sufficiently secure.
The Schneier is awesome. Never afraid to put some smack down on quantum cryptography. Or the TSA. Other things too, I'm waiting for Schneier smack down updates. -
Sun Oct 12 7:10 pm, 2008
Recently I'd started using Coda, which is a nice web editor, which smartly combines tabs, nav, and a good layout (I can't stand tons of little windows hanging around while I work on my mac, yes you Adobe). But the problem was, as good as Coda is, I could only use it on my mac and I'm on other machines. A lot. So what could I use that lives on all my machines, by default, and probably any other that I have to jump on, and not necessarily need a windowing environ? At that point, facepalm: Emacs. I've been using that program for years. Decades? Not quite decades yet. It's Emacs for Christs' sake. I'm on Emacs every day, so why did I get distracted by some new editor? You harlot, you slut. Procrastination, I think is the proper answer. Like my previous post about the box of wires, sometimes the same thing happens with software -- you just collect software you use a couple times, enjoy poking around with, but which in the long run you don't use. It's just clutter. Instead, if I'd taken the same amount of time to improve my emacs-fu: how often do I use etags, bookmarks, macros? I've poked around these, but I don't really use them. nxml mode? Ediff? Emacs and subversion? Jesus, pwsafe and emacs? There are oodles of possibly helpful things I don't regularly use in Emacs. It's old, it's solid, it's everywhere, it has the skills to pay the bills. You take your fancy new things with shiny buttons and go away now.
-
Mon Oct 6 10:55 pm, 2008
...sometimes sharp, tangled, mostly useless old wires. It was not my intention to spend hours digging through an ancient box of wires, but after a decade or two, and stubbing my toe on it, suddenly that became my intention. Maybe it's half a life of reading brutal Zen koans, but I just wanted to purge all the tangled wires and get to some kind of pure wire minimal existence.
It could have been worse, early in the 00's I untangled most of it, and twist-tied some of it, although I don't recall actually throwing anything out. You never know when you'll need a serial-to-alien-device adapter. I couldn't take that final step, getting rid of a hundred audio connectors I'll never use.
What amazed me were how many items (dozens and dozens?) were telephony. Phone cables, modem cables, modems -- all screaming out how desperately difficult it seemed to be to stay connected before the era of the dedicated home connection. I had a modem card for a Zaurus 5500 -- was I planning on dialing in somewhere behind the Iron Curtain? And before the ubiquity of USB, marveled at how many insane cables you needed. I had several 20 foot parallel cables. Why? Was I setting up an office of printers for some kind of subversive Zine resurgence movement? And why did I have a CF to PC card adapter? What was I adapting? I don't even recall why or how I bought it at this point. It's like a relic of momentary gadget insanity.
The rest of the box seemed to be filters and converters. I had more European power plugs than times I'd been to Europe. They clustered together, strangely, aside from the tired wires, like they were frightened or conspiring. They just didn't seem to want to be thrown out, and I kept dropping them as I tried to shovel them into a C-Town plastic bag. And power converters -- have you noticed that power converters have gotten much smaller? I had converters there which must've weighed several pounds. I didn't even think about alternate uses in this box-o-wire purge, I'm not gonna use the converter as a paper weight, I'm not gonna build robots out of the old cd player, I'm not going to use the modems (I in fact don't even have a phone line) time for it all to go.
-
Sat Sep 20 8:30 am, 2008
Claire Miller at the NYTimes reminds us: "How many more new social networking or micro-blogging or video-sharing site can one person use?". I've wondered when, like the lending bubble, the social networking bubble is going to burst -- seemingly every tech department on the planet over the last few years seem to be focusing on building community, social, and micro-status type web applications. The thought of logging on to facebook, myspace, twitter, pownce, etc., etc., (multiply this by N attendees at the web 2.0 conference) every single day is daunting. There just aren't enough hours to follow and post that much. So does this become like magazines did in the 90's? Magazines became focused on catering to smaller specific groups, magazines almost all became trade magazines, stabilizing circulation for a while but killing growth or innovation. Twitter, whom I respect but don't use, even has a blurb on their homepage "When I first started doing it, I thought, 'geez, not another website to worry about updating and checking', but now I'm glad I did it." So in answer to the question "Wanna Be A Member" I say, yes, sure, but crap, sorry, no time left in the day. So will the desire to 'micro-blog' your every thought and movement be so overwhelming that an industry grows up around automatically monitoring and posting everytime you buy a bran muffin? Will humans begin evolving to a super-caffeinated non-sleep creature 100% in self-promotion content-creation mode for an audience of 500 followers? In a decentralized community each member is at liberty, or encouraged, to believe they are the center, and that certainly is a strange kind of new Me generation.
-
Mon Sep 15 9:47 pm, 2008
Come round the fire children and listen to a tale of yore. Long ago, before the internet was an 'application' the only way to do something that behaved like an 'application' was to embed some other kind of technology as a plugin into an html page. Many people used Java, but then, there were some who began using Flash, believing that there could be a platform for designing and programming applications to be delivered over the 'web'. But these people were fooled, because over time it became clear that first of all, it was a 'goddamned pain in the ass' to attempt to get information in/out of Flash to the web around it, and secondly, every jackass with a couple hundred dollars were making 1/2 hour long animated intros to websites with the now universally despised phrase 'SKIP INTRO'. And, lo, Flash was a tool discarded and left for brochures and marketing departments run by creative directors named 'Brad', until Youtube came along.
Now, being alive and working in the year 2000, I actually did quite a bit of Flash. Was it Flash 3? 4? Not sure. They're not even doing numbers anymore, "Fl CS3" or something that Adobe thought of in the hour it takes for Acrobat to load and read a PDF. Everybody had some exposure to Flash then, just as you did to say, Perl and Cold Fusion. I'm in therapy now, it's ok (just as I'm sure younger technorati may encounter future sessions over what might become a traumatic django pony). But the point is, I'm now building a media player in Flash because we need one at work, and coming back to it after nearly a decade it's interesting to see what happened.
Primarily, it's geared to letting you make a media player easier. No longer the idea that it will become the defacto web application platform. Actionscript feels enough like Javascript that it's familiar ground. There's a sort of DOM, although the Adobe style layout and layers of tools to build it is mostly frustrating (which is why everyone seems to make minimal objects then manipulate them via action script files). With ExternalInterface you can actually interact via javascript with objects on the page. That's huge. Not huge enough for me to ever actually want to use it again day-to-day, but for a media player with no SKIP INTRO, an improvement. -
Mon Sep 8 5:30 pm, 2008
Djangocon was a lot of fun. Held at building 40 in the Googleplex this past weekend, they limited the con to 200 people. And I think the majority of those 200 people each made the following joke at some point:
* a PHP scaling joke
* a Zope usability joke
* how long it took Django to get to 1.0
The few who did not make these obligatory jokes were forced to rewrite Lawrence Journal World in Extreme Programming Perl and are no longer allowed to wear t-shirts with the Pownce logo.
There were a couple fantastic talks (Flickr's Cal Henderson for instance), a few decent ones, some really well done lightning talks, and what felt like several (one explicit) "I want a pony" sessions where everyone asked for what they'd like in Django. Team Onion's requests were for a real object cache with proper validation/invalidation, singleton, a killer set of debug tools. Most of which we and others are already working on. Perhaps the most popular overall request was for multi-database support.
Everyone was blown away by GeoDjango, which does a fairly amazing and complex set of geo-calculation, utils, and packaging of disparate geo libraries into a really usable system.
I got to meet all the folks I'd seen committing, and arguing about code, and a few more who were all really nice and excited about Python and Django. The level of intelligence in the room was overwhelming.
I don't know if Django is still flying under the radar, I mean Google is using it, but it still feels like it's flying under the radar -- and that is a good thing I think. It's a relatively small group of folks, and there wasn't much of the kind of discussion you would've seen at a Linuxcon in the late 90's when suddenly it was 'discovered' and hence, 'monetized' by companies and labeled 'enterprise'. While we would like a high performance Django group, it's not what you'd associate with business 'enterprise' software. I'm all for keeping the enthusiast element as long as possible before business concerns move in. And I wonder if part of that security about being community driven rather than business driven is actually due to Google, at least this last year, sheltering Django from the less desirable elements or circling sharks. But, also, Django made itself into a foundation in June, and the core is under a simple BSD license, so once again they're being super smart.
As an aside, I also realized quite demonstrably -- and I really need to put pretty radius graphics up on Google maps around my continually updated geolocation to visualize this -- that I am the only person who has visited Mountain View or San Francisco who does not own an iPhone. Do you know what it's like being surrounded by a couple hundred people all on iPhones? It's like watching kids gorge themselves on candy at Halloween. How did they let me in? Did I sneak by the iPhone checkpoint somehow? Shrug. "Think Different".