Saturday, July 25, 2009

What's the best first programming language.

Just got through this article on Infoworld via Slashdot. It basically discusses opinions on what is the best programming language to start with. I'm of the contention that it doesn't matter so much, what matters is if the programming language lets the new programmer do something they think is cool. If a teenager is really into some MMORPG that has a scripting language, that is what they will learn. If you earn your bread and butter crunching numbers in Excel, you've got motivation to learn VBA. It's like human languages, you normally learn only what you "need";.My daughter got pretty good with LOGO, which they taught at school, because she got to use it to draw pictures.

Saturday, July 11, 2009

Another pet peeve phrase

"Focused like a laser." "Laser-like focus." I could live with it if it weren't so heavily over-used. It gets to a point that a hackneyed phrase actually detracts from the point one is trying to make.

Wednesday, July 01, 2009

Firefox and Proxies

Seems not a very happy combination. I use a secured proxy to access internal websites at work from home. However, I don't want to go through that same proxy to access sites on the public internet. My system runs Ubuntu 9.04. For a while, I was running two parallel browsers, one using the proxy, and the other not. (Konqueror and Firefox). But Konqueror has issues with some of the websites. I gave a try to writing a proxy-auto-config file. And it worked. On everything except Firefox. So now I'm using FoxyProxy, which was the first proxy I came across, and seems to be doing the job. If this doesn't work as planned, I'll just install a proxy server to do the job.

The Definitive Guide to Grails

This book, by Graeme Rocher and Jeff Brown, gets a big FAIL for already being out of date. My goal in picking up a tech book is to get the cookie-cutter stuff in the tutorial to work right away, and then work my way deeper, explore the capabilities, and extend as I need, later. Examples started breaking in chapter 2, in the tutorial.
On the one hand, Grails is evolving quickly, so it is understandable that the book gets out of date. On the other hand, dropping $45 for a book where the basic tutorial doesn't work in six months means it's a bit premature to be writing books on the subject, that sort of content should probably be in a wiki that gets updated as the project evolves.

Thursday, May 14, 2009

How do content producers make money in the future?

A post on slashdot got me to thinking about how creators of content will make money of their creations in the future. The most popular stuff is very easy to find pirated online. And what if the copyfighters get their way, and "information" becomes free? One thing I see happening is that technical content will be produced primarily by academics, as publications are one of the measures of academic success. Even if you make no money from your books and articles, as an academic you publish or perish. Or one would need some other means of getting a livelihood, and write for personal, not monetary, reasons. Author would cease to be a primary occupation. Certainly, it would cut down on pandering.

What about music? One century of making money off recorded music. I suppose musicians would go back to making a living the same way they did before records, by charging for live performances, and finding rich patrons.

Movies? For the time being, people still pay for the experience of seeing a movie in the theater. How long before the experience with pirated content can duplicate the in-theater experience? I think the route to keep bringing in money there is to make the in theater experience impossible to replicate at home. But I think that sales of DVDs are probably going to shrink.

Micropayments seem never to have caught on.

I used to think that "information wants to be free" was more of a rallying cry, or a justification for piracy of copyrighted content. But observation points to this as a statement of fact in the digital age, rather than a philosophical tenet. Mass-produced information will either stop havign any market value altogether, or only have value to the extent that it is very timely and very specific. We will move to a world where only custom content, which has value to only a specific person or small group, with resources to pay for it, will have value.

Advertisers will continue to pay for our attention. But we won't buy information, for the most part. We will pay for things and experiences. But not bits.

Wednesday, May 13, 2009

Good to the last drop - The Boston Globe

Good to the last drop - The Boston Globe
Mmmm... coffee. The addiction I just can't break. The only one complaining about my coffee drinking now is my dentist, who tells me it is too acidic.

Saturday, May 09, 2009

Neurotic, a lttle?

Michael Arrington finds handshaking to be very objectionable. Main reason appears to be a germ phobia. So, is he of the sort to flush toilets with his foot (a practice I find highly objectionable). How about a mask to keep those floating germs people cough out all the time in winter from entering your nose? Some gloves, so you don't have to touch door handles?

He is asking the rest of the world to accomodate his phobia. Well, he does have some options that doesn't require the rest of the world to change to suit him. As I suggested, he could wear gloves. He could not touch his mouth and nose, or food, with unclean hands. (Isn't that what your mother taught you?) He could give would-be hand shakers a pre-emptive bow. Or, he could go all the way with his phobia, and stop meeting strangers in meat-space. How about carrying a tube of hand-sanitizer in his pocket?

Let's remember the significance of the hand-shake and the hug in American culture. Unwillingness to shake someone's hand, or accept a hug, signals to the rejected person that in some way you do not approve of them. Not a good way to win friends and influence people.

Wednesday, April 01, 2009

MindRaider

On the recommendation of FreewareGenius I took a look at MindRaider, because I'm always look for tools that can improve my knowledge management. My bases of comparison right now are Freemind and Evernote (since the announcement that Google Notebook is going away). From my perspective, although the author focuses a lot of his discussion around the semantic web, I have to treat it as another outliner. Adding the mindmapping and tagcloud features are very nice, it looks a bit like a combination of Wikidpad and Freemind. Some of its capabilities, such as the number of ways you can edit a node, are quite nice. 

What keeps me from wanting to use it as a regular note-taking tool:
  • I find the inability to treat top level outlines, or even nodes with children, as leaf nodes, i.e., cut and paste and move around as necessary, to be a pretty big annoyance relative to how I work.
  •  I can't look at multiple outlines at the same time.
  • You can't refactor across outlines.
  • Can't import outlines as subtree of existing outline.
  • Attachments are only launchable. I can't just cut and paste a URL or file name.

Thursday, March 19, 2009

Redemption of a failed culinary experiment

Last night I tried a new dish, chinese teriyaki chicken strips. 
  • I marinated chicken breast strips in 
    • 4oz Shaoshing cooking wine,

    • 4 oz soy sauce,

    • 2 T sugar,

    • 1T grated ginger.

  • Stir-fried chicken till almost cooked

  • Added marinated and cooked until sauce thickened 
Unfortunately, my wok was too small for the amount of chicken. Next time I cook in batches. The chicken came out dry, although my daughter said the flavor was good.

Redemption of the dish came with lunch today. I made a sauce from duck fat, chicken stock, and a little Old Bay Seasoning, and added the chicken to it. With a slice of home-baked bread, it made for a very indulgent lunch. 

Friday, February 20, 2009

CouchDB creator's story

Damien Katz said that one of the reasons for the path he took in making CouchDB was that it would make an interesting story, and I have to agree.

Sunday, January 18, 2009

Today's XKCD

Just classic.

Dvorak keyboard myth busted

Found this article by Stan Liebowitz and Stephen E. Margolis by way of Slashdot. It debunks the myth of the superiority of the Dvorak keyboard layout. Gives me the chance to feel a little smug about never bothering to learn that keyboard. ;)

Wednesday, January 14, 2009

Tagging email

Summary
To enable effective, portable categorization of my email for searching and archiving purposes, I use Thunderbird 2/3 tagging with some modifications. I either don't touch the default five tags, or I delete them through the options dialogue. This removes a level of abstraction in the tags preserved in my email messages. I use MailTweaks to enable the import/export of tags to allow for viewing tags on my archived email from a different Thunderbird installation than that under which the emails were originally tagged. The tags are saved in the messages in the X-Mozilla-Keys message header. This allows me to use scripts to process the tags into some different format if my choice of email platform changes.

Detail
For a while, now, I've been mildly obsessed with effectively finding old work emails. I don't know whether it's an issue of excessive categorization on my part, or just too much email on too many varied topics. Being able to look back to dig up now-suddenly-relevant-again information, or being able to justify my decisions and actions when a huge cross-functional project enters into "find someone to blame" mode, requires an effective searchable email archive. Limitations: corporate workstation standard is Windows, email server is Exchange.

My first solution was to sort my emails into folders, whether by project, or client, or whatever other criteria. I eventually found myself with folders nested three deep, and not necessarily able to find a relevant email because it could reasonable have been filed into more than one possible folder. 

Around the time that I was getting really frustrated with this approach, I started trying to rely on search engines. The search built into Micrsoft Outlook was not quite fast enough or helpful enough. Google Desktop, when I first grabbed it, couldn't search Outlook mail files. Yahoo came out with a desktop search engine that could, and did acceptably. A bit better than Outlook. And then finally Google was able to search Outlook files. But I hit one fundamental problem with searches. Unless I knew precisely the keywords I was looking for, I might not find anything. Problem is that none of the search engines are smart enough to search for synonyms. The way my brain works, after a couple of years I might have a memory of discussing some issue, but while the meaning of the words in my head match the discussion, the precise choice of words doesn't. 

So, what to do now? I can't just remember keywords, I need a list of them that I can reliably scan quickly and pick the ones I need to search on. And I need to be able to use multiple keywords on a given email, because I might need to find a given email under different contexts, and I might need multiple keywords to narrow my search. Sounds a lot like the tags that are popular on the web now.

So, I dive into the use of tags. There is a nice tool for Outlook, Taglocity, that provides tagging for Outlook email, and even provides a tag cloud for tagging and searching your email. That problem solved. Cool.

But wait. Around that time, I also start getting concerned about access to my email should I no longer have access to Outlook, or my PST file gets a little corrupted, or what have you. 

So, what uses a more widely adopted mailbox storage format that can be accessible from multiple different mail clients? The format in this case is MBOX, which stores messages in their RFC 2822 format. This opens me up to a number of possibilities. The cross-platform choice for me is Thunderbird, a number of others I looked at were based on the same platform. I happily start using Thunderbird's tagging capability for a while. I redo my email filing structure to file emails by month, just so that no folder becomes too big in size, and for ease of archiving later. 

Secure in the knowledge that I had found my cross-platform, cross-application approach to being able to find and archive my email, one day I tried to bring up my email backup on my Linux box as a test. 

Sigh.

All my tags were gone. Now what? If I have to reinstall on another computer, all my tagging is gone, I have to go back to search engines to find old mail. 

Now, please pardon my ignorance at the next few steps, you Thunderbird wizards. Next approach was to use the TagTheBird addon to Thunderbird. Good, I get tags that go with the message, as the tags are added to the message header. Bad, I'm afraid the interface isn't very good. Trying to hit that tiny little pencil icon when I want to add tags is just a pain, and I'm afraid I haven't been willing to tackle the Mozilla extension learning curve with the limited time I have available. And the coup de grace, it's not supported in Thunderbird 3 yet. The reason that is an issue is that my co-workers have a penchant for emailing me 20MB documents that Thunderbird 2 chokes on.

Now, the ignorance I referred to before: because I "lost" my tags when I moved platforms, I had assumed that Thunderbird was storing all my tags in the mail summary file. I spent a happy few hours repurposing Jamie Zawinski's mork.pl to pull labels from the msf file and apply them as X-Tags to my mail messages, when I saw that in fact Thunderbird was saving the labels in the messages in the header X-Mozilla-Keys. Doh!

Last remaining challenge was that the first few tags in your Thunderbird config are saves as $label1 through $label5 in the message header. Not very portable if you have changed the first few labels from the default, which I had done. 

With a little bit of testing, I found that I could get rid of that level of abstraction by deleting the first five tags under Tools->Options->Display->Tags. Now my tags travel around with my email messages. The remaining step is visibility. With MailTweaks installed, I can export all my tags. As long as I export them to my email directory, the export file gets backed up automatically with all my email. And if, for some reason, I come across a spiffy new email client that does everything I want, I should be able to run a perl script on my mbox files to rename an X-Mozilla-Keys header to whatever header my new email client or Thunderbird plugin likes for tags.

The one thing remaining on my wish list, whether for Thunderbird, which I'm using for my work email, or Gmail, which I'm using for my personal email, is a tag cloud interface. Drop-down menus are not an interface I enjoy using frequently, and my tagging habits require heavy use of this interface.

Friday, December 19, 2008

Moral legislation?

The LA times reports on a last minute rule by the Bush administration allowing physicians to refuse to provide care they find morally objectionable. This assumes a mainstream Christian physician. What if a physician's moral position is against heroic measures to continue life, or against increasing population, what then? These 'moral' positions run counter to the 'morals' this rule has in mind.

Friday, November 28, 2008

Javascript and MVC

Interesting article called Blurring MVC lines. It's about MVC pattern in web development. His basic concern is having to program in Javascript, which he finds obtuse. Otherwise, he praises the idea of a rich client web interface, i.e., AJAX. I can paraphrase the article as "javascript sucks, here's how you can write AJAX apps without writing javascript". Mr. Leighton also fails the full disclosure test, being a "lead developer" on Pyjamas, one of the frameworks he touts. It smacks of a bit of condenscension, that Javascript is too hard for the average developer.