Vienna, Austria

If all goes according to plan, Helen, Ilenia and I will be in Vienna, Austria sometime in the next week or two, to register our daughter as a US citizen. As always, we’re interested in meeting anyone local for alcohol/food/coffee/whatever, within the limits of our time there. Send email with a mobile number if you’re interested in meeting up at some point.

I’m not exactly a frequent traveler, but Ilenia and I both really enjoy meeting people when we go places, so I signed up for this to see if it helps put me in contact with people, either in places I go, or people visiting Innsbruck:

http://www.dopplr.com/traveller/davidnwelton

“Blog” vs the English language

I’ve never been a fan of the word “blog” – I believe it sounds like something one calls a plumber to deal with. Even worse is “blog” as a verb. “I blogged it yesterday”. Did you really? Was it expensive to get cleaned up?

Here are some alternatives that I came up with:

  • Write. It’s been a pretty effective word for hundreds of years, over the course of many, many new and varied technologies.
  • Affirm
  • Announce
  • Attest
  • Aver
  • Chronicle
  • Comment
  • Communicate
  • Divulge
  • Document
  • Express
  • Inform
  • Make known
  • Narrate
  • Note
  • Notify
  • Outline
  • Pass along
  • Proclaim
  • Pronounce
  • Publish
  • Record
  • Recount
  • Relate
  • Report
  • Reveal
  • Speak of
  • State
  • Wrote up
  • Report
  • Recount

I’m sure I’m missing some good ones…

Well, that didn’t work

Ouch. Absolutely no takers on the Squeezed Books contest:

http://www.squeezedbooks.com/book/contest

http://www.squeezedbooks.com/book/leaders

I wonder what didn’t work out? I mean, a book isn’t a huge prize, exactly, but I know I’ve participated in mini-contests such as “leave a comment on my blog saying why you should win this book”. I actually got a copy of Nick Carr’s “The Big Switch” that way. And as it turns out, all it would have taken to win a free book in the Squeezed Books contest is an edit of a few words (as long as it wasn’t random gibberish), so the ‘barrier to entry’ was pretty low. Perhaps I wasn’t able to publicize it enough? Maybe the ‘right’ people didn’t find it? Maybe people didn’t find it credible? Too much of a pain to log in? The instructions aren’t clear?

It’s tough – I am and always will be a programmer at heart, and this marketing stuff is harder than it seems! However, barring any sudden blinding insights, I’m going to try again. This time, whoever contributes the most to new or existing business book summaries by September 30th gets two business books of their choice, since we didn’t give one away last time.

Slicehost vs Layered Tech?

I’ve been a happy Layered Tech customer for a number of years. After several terrible experiences with hosting companies that didn’t charge much, which were the inspiration for Web Hosting – A Market for Lemons, I found that LT offered good, basic service at reasonable prices. My first server there cost $70 a month, and handled what I needed it for with aplomb.

Fast forward to now: LT no longer has servers under $150 a month, and while they’re nice machines, I miss being able to get something a little bit cheaper, and am considering Slicehost.

The real distinction between the two is: real, physical machines vs VPS (Virtual Private Servers). The latter earned itself a bad reputation in the past, because many providers ‘overbooked’ the machines that their clients’ VPS ran on. I had some negative experiences with that myself, prior to seeking out a ‘real’ machine to run my web sites on. However, I’ve heard that people are reasonably content with Slicehost, so perhaps they’re running a tight ship. For those who have tried them out, how is the speed/latency of their offerings, and compared to a more or less ‘equivalent’ real machine? The positive side of running a well-planned VPS is that you can quickly switch between configurations, allowing you a bit of room to grow, if you plan things right, which might allow me to save some money.

Incidentally, something that I like about both LT and SH is that they’re not in the California Bay Area, which is a really expensive place to run what isn’t exactly a “rocket science” business. Sure, you want good, solid, smart people, but there’s no reason to be in such an expensive part of the country.

Thoughts? Opinions?

Introductions

I’m doing some contracting work at a local firm, and one of the little details that I have been pleased with is the fact that they seem to do introductions for people. On my first day, I was taken around and introduced to everyone, despite the fact that I probably won’t be there long term (depending on where we go and when). Today, they were showing around a guy who will be doing a sort of student internship there, and once again, they stopped by my office.

I appreciate that a lot, and think that it’s a good thing for a group of people to at least have a bit of an idea who newcomers are. One of the things that I have always loathed, and vowed to do differently should DedaSys ever be more than myself, is feeling like an animal in a zoo when The Boss brought someone into the office to take them on a tour, pointing at us developers and talking about what we do, with no reciprocity. “This is Dave, one of our open source guys, who is really into Linux. He once roamed the temperate forests of Oregon and his mating season is from early January to late December.” We get pointed at and talked about, and the other person remains a Mysterious Stranger. Granted, it’s not always possible to disclose everything, but I think that you can still do a lot to make people feel respected without spilling the beans on a big potential customer or investment.

Android marches on

This was unexpected, but very welcome: a new Android SDK, with a bunch of updates, and a “roadmap”.

http://android-developers.blogspot.com/2008/08/announcing-beta-release-of-android-sdk.html

It also looks as if we may see some phones right when they were supposed to be available:

http://www.alleyinsider.com/2008/8/gphone-on-its-way-fcc-approves-htc-dream

Of course, there is no source code, yet, but it’s still good to see things kicked into gear and running again.

Job search sites, Java and Ruby

I occasionally like to fool around with statistics gathered from the Internet. Sometimes, to produce something like langpop.com, which, even if it’s unscientific, I feel is useful, and more or less reflects my gut feeling about which way the wind is blowing. Other times, it’s fun just to grab some numbers, add them up, and not worry too much if they really have any validity or meaning. In this case, I suspect there’s something to them. What do you think?

The technique: take different job search sites, like monster.com, craigslist, and so on, search them for various languages (with Yahoo’s search API), count the hits, and then look at the ratios. For instance, Java jobs to Ruby jobs, with the idea that, painting with very broad brush strokes, the Java jobs are going to be more “enterprisy”, and the Ruby jobs hipper, cooler, and maybe gone six months from now as the economy tanks and funding dries up. Rough techniques notwithstanding, there do seem to be two distinct groups of sites, one with lower rations, the other with higher ratios (more Ruby jobs compared to Java jobs). For fun, I also included Python and Erlang, although there are very few Erlang jobs out there.

Ruby/Java ratios

Of course, it’s also true that the bigger sites, like dice.com, had more jobs total. Indeed, dice.com has more hits for Erlang than CrunchBoard does for Java!

Totals

Hecl Syntax: A Survey

[ Taken and modified from a post to the hecl-devel mailing list ]

I’ve been talking with a company about a consulting job regarding a programming language for mobile apps. Sounds familiar, right?

There is, however, a bit of discussion regarding the syntax – my contact at said company maintains that Hecl‘s syntax is unfamiliar to many programmers, and I think on the face of it, I’d have to agree. Of course, Hecl’s syntax is like it is because when I started the project, being very small was a necessity, and a very simple syntax facilitated that goal nicely. Additionally, the syntax allows for extreme flexibility, letting you create new control commands, and “DSL’s” (domain specific languages) easily. Also, sticking with small/simple means that the interpreter and parser can both reside on the phone, instead of doing some kind of solution where the development/host computer compiles the scripting language to byte code, and the interpreter on the phone runs the byte code. That sort of strategy has some advantages, but has disadvantages too: if you don’t have an on-board parser, you don’t get “eval”.


A quick Hecl syntax refresher:

In Hecl, everything is a command, seperated by spaces, and grouped with {}:

if { ... } { ... }

Is a command that takes two arguments. It evaluates the first one, and if it’s true, evaluates the second one. This is different from languages like C, Python or Ruby, where ‘if’ is part of the language. For those unfamiliar with languages like Lisp, where this looks strangest is probably in conditions or other expressions:

if { = $foo 10 } { puts "foo is ten" }

Or

set foo [+ [* $bar 10] [- $beebop $doowah]]

Which is certainly a different take on things than most ‘mainstream’ languages. That radical simplification is, however, one of the ways that I used to save space in the interpreter.


Personally, I’m pretty happy with how Hecl looks, but I am sensitive to the ‘marketing’ argument: popularity helps, and this isn’t the first time I’ve heard complaints about Hecl looking “funny” to people.

What do you think?

A) “I like Hecl just the way it is and wouldn’t want to change it!”

B) “Hecl is quite useful, but I just want a mobile scripting language, the syntax doesn’t matter much.”

C) “I think the syntax is ugly, but I use it because I need an interpreter.”

Also related:

1) “I don’t care too much about code size. My current apps target N kb as an acceptable size.”

2) “Small is really important. The smaller the better.”

And:

I) “I don’t care about eval, or being able to run human readable code on the phone.”

II) “I really like the fact that you can download or even write code directly on the phone.”

And finally:

X) “I don’t care about midp1.0”

Y) “The fact that Hecl runs on midp1.0/cldc1.0 is important to me.”

Now, I am not going to run off and change Hecl! Code that currently runs ought to continue to run, modulo some tweaks here and there, api changes, and the normal stuff. If I do something ‘new’, it would probably be a clean break (although of course code that could be reused would be), and will be in addition to Hecl, rather than instead of Hecl, because I would be working on the ‘new’ language as a day job. I do that with Hecl too, but not all the time, as I often have consulting/contracting work.

langpop.com in Tim Bray’s OSCON keynote

It was neat to see “langpop.com” on the screeen during Tim Bray’s talk at OSCON (contains a link to the video):

http://www.tbray.org/ongoing/When/200x/2008/08/05/Annotated-OSCON-Keynote

The talk itself was an overview of the state of programming languages. However, 15 minutes is not enough time to do the topic justice, but if you’re not a language geek, it’s not a bad survey, and I really like his style: he’s fair when he points out the good and the bad. Like him, I am sick of PHP and do not care to use it any time in the near future, but that doesn’t mean there aren’t a lot of good things to be said about it. In any case, I’m honored that Tim used langpop.com as a source for his talk.