Posted on Aug 21, 2010 in Blog, Training / Conferences | 2 comments

FINALLY, I enrolled in a course on Entomology at Iowa State – ENT 201. Insects are something which has interested me for longer than I can remember – and a subject of which I’ve comparatively little. I’ve probably been interested in it as far back as when I as in diapers and ate one, thinking that it tasted “okay, considering”.

It’s a 5-week course. This is going to suck up some of my time otherwise spent on Form Tools and generatedata.com, but what the hell – it looks fun. :)

Just a heads up.

Read More

More thoughts on Portland / OSCON 2010

Posted on Jul 18, 2010 in Blog, Training / Conferences | 0 comments

From the toilets of the convention center. Nerds!

There is *MONEY* here. I picked up my welcome package (includes a new nerd mug!). I’ve never seen such a level of sponsorship and advertising. It’s nuts! This conference is clearly representing the right-wing side of open source of which I’m not yet familiar. I’m more of the ilk of the poor, the downtrodded, the huddled masses – programmers doing everything for free and being spat in the face for it. My impression so far is that this is more like Fuck-The-Hippies Open Source In-Your-Face FUCK YEAH! perspective. Should be interesting.

More observations on Portland
- It’s really, really green. I think it’s the greenest town I’ve ever seen. There’s plants EVERYWHERE. Seriously.
- It kind of reminds me of the portrayal of Cleveland in 30 Rock. Nice people, very up-beat, with a kind of a prevailing atmosphere as though the town is under-appreciated.

More observations on my hotel
- Remember the scene in Barton Fink where the camera pans down the steaming-hot hotel hallway, showing the wallpaper peeling off the walls while John Goodman is going insane? I think that was based on my hotel.
- Remember the scene in The Shining where the little boy runs into the two twin girls who try to convince him to play with them forever? I think that was also based on my hotel.

Okay. I’m going to do a little work (generatedata.com v2.3.6) then go see Predators. FUCK YEAH!!!

Read More

Hello Portland!

Posted on Jul 18, 2010 in Blog, Training / Conferences | 0 comments

Just arrived in Portland today. A few thoughts:

  • Portland is AWESOME. Really. I just love it. Beautiful, beautiful city – not touristy at all like San Francisco. Far more my speed.
  • My hotel room is NOT awesome. I appear to be in the epicentre of the Portland Slums.
  • Powell’s Books is terrific – a whole city block & they put the old and new books beside eachother, which is extremely rational of them. However, they did NOT have Improving Goat Production in the Tropics by Christie Peacock and they did NOT have any books on how to take care of Apple Snails. I came very close to buying a book on Cockroaches, so I could learn more about the other inhabitants of my hotel room, but vouched for the classic (which I’ve never found elsewhere) Animal Liberation by Peter Singer.
  • I had a pint of Oregonian beer and I Saw That It Was Good. I plan on having more. What I especially liked was the waitress didn’t look down her nose at me when I ordered beer before 12pm; instead she enthusiastically remarked that the beer I chose was an excellent way to start the day. Amen sister.
Read More

OSCON 2010

Posted on Jul 17, 2010 in Blog, Tech News, Training / Conferences | 0 comments

Tomorrow I’m off to the OSCON conference in Portland, Oregon for a full week of open source goodness.

This is the first time I’ve attended this conference. I’m hoping I’ll have a little time over the week to work on my Python adaptation of generatedata.com for Google App Engine… but we shall see.

And a big thanks to my company, Central1 for helping fund the trip. :)

- Ben

Read More

Google I/O

Posted on May 18, 2010 in Training / Conferences | 0 comments

I’m in San Francisco for the week to attend this year’s Google I/O conference. So if you happen to email me, chances are my response time will be even lousier than normal.

Exciting stuff, though!

Read More

Google I/O 2010!

Posted on Jan 12, 2010 in Tech News, Training / Conferences | 0 comments

Just got my ticket for this year’s Google I/O conference in San Francisco. Can’t wait!

And in Google-related news, check out the following post on their relationship with China, having discovered sophisticated attacks on their company to extract information about Chinese human rights activists. Heavy stuff.

“These attacks and the surveillance they have uncovered–combined with the attempts over the past year to further limit free speech on the web–have led us to conclude that we should review the feasibility of our business operations in China. We have decided we are no longer willing to continue censoring our results on Google.cn, and so over the next few weeks we will be discussing with the Chinese government the basis on which we could operate an unfiltered search engine within the law, if at all. We recognize that this may well mean having to shut down Google.cn, and potentially our offices in China.”


Read More

Open Web Vancouver 2009

Posted on Jun 11, 2009 in Blog, Training / Conferences | 2 comments

My company was kind enough to let me take a couple of days off this week to attend the Open Web Vancouver conference, held at the new Convention Centre. Today was day one.

The keynotes were both quite good, in their own ways. The first was by Rickard Falkvinge, the founder of Sweden’s Pirate Party, which just won two seats in the European parliament. Rickard’s talk centered around associating what’s perceived as “piracy” (downloading and exchanging copyrighted music, video, data etc) with civil liberties and the entertainment industry’s harmful attempts to enforce and secure copyright over artistic content. Throughout the talk he used the analogy of the Catholic Church’s doomed attempts to lock down the printing press – how wrong they were, how it backfired and how it was destructive to society and culture.

It was more interesting and frankly more relevant than I thought it would be, but I’d like to have heard more from the Dark Side: namely, the entertainment industry. The argument I’ve heard again and again is that they’re “protecting the rights of the artists” – which is simple and convincing, foil though it may be to cover their own vested interests.

What I did find interesting was the goal of the Pirate Party: it wasn’t to abolish copyright (which I’d incorrectly assumed) but just to keep it under control – limit copyright to commercial uses, not personal. He described the clear civil liberty violations with laws that allow a private industry to monitor our personal correspondences to check for copyright violations. To my mind, the argument comes down to a question of practicality. If there was a way to monitor any copyright violations across the planet without intruding on people’s right to privacy, then the entertainment industry would have a legitimate case. But they don’t, so any laws that allow such intrusions for the sake of some companies’ bottom lines are simply wrong.

The second keynote was by Angela “Webchick” Byron, on “Women in Open Source” which made me groan and smack myself on the forehead when I first read the title. Sorry, but there you go. In my little bubble where I work and play, there IS no sexism or bigotry (or certainly none that I’m aware of) so anytime I hear about “women in ….” it makes me cringe. For me there’s an inherent element of guilt to such topics – when I hear about sexism, racism or any other acts of idiocy by my ethnic group (I’m a male, middle-class honky)… well, let’s just say it sure doesn’t feel good.

But it was a good talk! She said that when she was first approached with the topic her reaction was kinda similar to my own and only after she did the research did she feel it was a legitimate issue. She argued that it was important to encourage women in IT & open source in order to get their viewpoints. I don’t entirely disagree, but I did wonder about the extent to which women are discouraged from the field. She cited various examples of ignorance, bigotry and hate mongering that kept women from the field which were, frankly, rather depressing, but at the end of it I was left unconvinced that the problem is systemic.

She did raise one astonishing fact: the ratio of women to men working in open source is a mere 1.5% / 98.5%! HOLY CRAP, that’s insane. So perhaps there IS something discouraging women from the field… open source is fun! EVERYONE should be doing it!!

I also wasn’t wholly swayed by her argument that we need to encourage more women in the field. I mean, of course we do in the sense that we should encourage any human being to pursue any subject of interest to them. But to my mind this should be more concerned with removing obstacles than encouraging people to pursue areas for which they may not be suited. Quick back-track: obviously I’m not saying that women aren’t suited for IT or open source, but hell – men and women are different, and I think some fields are more suited for one gender than another. Call me crazy. Just don’t call me a sexist.

Anyway, it was a hell of a lot more interesting that I thought it would be. And what an unbelievably cool lady – very personable.

There were a few other talks which I won’t bother discussing here, except for one. For me, the highlight of the day was Dion Almaer and Ben Galbraith’s talk on “The Future of Web Applications”. I’ve long been a reader of Ajaxian.com, so seeing the two co-founders in person was pretty exciting. Plus the substance of the talk was really fun: they demoed an early version of “Bespin”, a web-based IDE for code editing and discussed how web technologies are getting used all over the place – not just on the web.

I cornered Dion after the talk and asked him about the syntax highlighting in Bespin. Funnily enough, it’s based on CodeMirror (which is actually bundled in my Form Tools 2 script) and unbelievably fast, by the sounds of it, partly due to his work on Google Gears. Last year Brad Neuberg gave a talk on Google Gears, including the amazing WorkerPools idea. In a nutshell, this allows for multi-threaded javascript, letting you offload work from the client to the operating system to perform independently and send back once it’s complete. This greatly speeds up and enhances the user experience, keeping UIs smooth and receptive. If I understand it right, Bespin leverages a standardized version of WorkerPools, helping keep it nice and speedy.

While I was chatting with him, I confess it crossed my mind to name-drop a few projects I’d done (generatedata.com anyone?) but, well, it just felt waaayyy too cheesebally. *sigh*. Oh well.

Read More

Open Web Vancouver

Posted on Apr 16, 2008 in Blog, Training / Conferences | 2 comments

“Y’know, just because it’s Open Source, doesn’t mean it has to be ugly…” – Tim Bray, from his keynote, decrying the lack of web designers in the audience

I’ve been in BC this week, attending the Open Web Vancouver conference. It’s a little funny I had to fly back for this, since in a little over two weeks I’ll be returning to Vancouver for good. Bah!

The conference was a little hit and miss, but generally worthwhile. For me, a couple of talks really stood out; both were on JS, which probably isn’t a coincidence. Brad Neuberg – author of the Really Simple History JS library – gave a talk on Google Gears, something I’ve had in my peripheral vision for some time but never closely examined. It’s an AMAZING tool – very promising indeed. Brad emphasized that it’s not just for offline javascript. I’m currently working on a large Ajax app for cardiologists (which today I just heard is being picked up by Vancouver’s St. Paul’s Hospital for managing their CT Scan reports – nice!). I’d been planning to supplement its online functionality with an Adobe AIR desktop version, but now I’ve learned a little more about Gears, I think it may be a better fit. Interestingly, functionally, Gears and AIR share a lot of the same characteristics, but approach it from different angles. One acts as a standalone desktop app, the other directly enhances the user’s web browser. I’m not sure to what extent – if any – Gears provides access to the user’s filesystem, so I’m going to have to do a little more homework… but regardless, I think it may the right tool for the job.

There was also a talk on writing scalable javascript by Eric Promislow from ActiveState which was quite fun. [A friend of mine actually works at ActiveState, and gave me a quick tour of their office. Neat place!] I confess that I’d rather hoped his talk would be of a more generic nature, but ended up covering a single example of scaling up a Google Maps app and some solutions to avoid latency for the user. The crux of the problem revolved around the fact that inserting Markers onto the Google Maps is a CPU-intensive process, and the larger the number of markers to insert, the longer the wait.

Having written a few Google Maps apps myself, it was nice to revisit the code and see his solutions. That said, to put on my UI Developer hat, I have to take exception to his general approach. Reducing latency is certainly important, but more important is focusing on the root cause of the user experience problem (I mean, that’s the reason for refactoring the code in the first place). To explain: people tend to assume that wait time is inherently bad, whereas in fact it really isn’t. It only becomes bad if it irritates the user. If the user doesn’t get angry by having to wait 10 minutes then odd though it sounds, it may not be a bad thing. Sometimes, in fact, a little wait is actually expected, and if it doesn’t happen, users distrust the software thinking it’s not doing its job properly. I’ve heard this allegation leveled at Ajax in general, with people feeling that Ajax apps “feel flimsy”. I can’t say I share the feeling, having worked so much with Ajax apps, but the “feeling” shouldn’t be discounted.

Anyway, if I were faced with Eric’s problem, I’d have supplemented his refactoring solutions with a simple DB query called prior to retrieving and rendering the markers, returning the total number markers to draw. Then, in the UI, I’d add something like a “[X] results found. Displaying: [Y]“. As each marker was rendered (I’d display each one, sequentially), I’d increment the Y counter. Hence, the user would see the total number markers (X), and the total currently on screen (Y) which would keep incrementing until it reaches X. This would be far less frustating or bewildering for the user than seeing nothing happen on the screen for a few seconds and displaying all results in a lump. Even if it took a full minute to sequentially display all the markers, the user would know what to expect – and that’s the key. Sometimes “common sense” UI solutions like this are overlooked in favour of refactoring for efficiency.

Good talk though. Seemed like an interesting dude.

Anyway, my plane’s about to board. Nice of Vancouver airport to provide a publicly available wireless at last…!

Read More