Nov 30 2008

Tea Cup - a great replacement from Tully’s on Queen Anne

Tag: Ranting and ReflectionsJoe @ 12:59 pm

The Tea Cup has been lurking just off the corner of Boston and Queen Anne for quite a while - sort of lurking back behind all the big coffee shops on that corner (Starbucks, Tullys, Pete’s Coffee, and Ladro). It’s been overshadowed for ages. We’ve been going there because Karen doesn’t “do caffeine”, and frankly they’ve got some fantastic teas.

When Tully’s finally pulled the plug on that aggressively coffee corner at the top of Queen Anne, I was very happy to see that the Tea Cup took it over and expanded their little shop into one of those corner cafe’s where you could sit, enjoy a pot of tea, and chat with your friends for a while. Classic coffee shop setup - just with tea instead of coffee.

The folks at the Tea Cup have a chronicle of redoing the space on Flickr which is pretty interesting. I really like the new feel of the space, with wood facades and warmer colors (strangely critical to be honest in Seattle’s winters).

We stopped by today to get more of a truly excellent holiday tea - Orcas Island Spice. It’s one of their herbal blends, and just the right combination of spicy/cinnamon flavors that make up what I think of as a holiday tea. The best part is as an herbal, it doesn’t get that bitterness with extra steeping - it just gets a stronger punch of spice to it. You can purchase some online - although make sure you have a tea strainer available if you get some, because it’s sold as a loose tea.


Nov 23 2008

message passing concurrency in a dynamic language …or… now I’m learning Erlang

Tag: GeekstuffJoe @ 5:17 pm

I’ve been putting myself on a fast-course of learning Ruby over the past couple of weeks, primarily to learn enough ruby to be able to teach it. (The only way I think you can claim to have learned something is if you can teach it). I have progressed to the point where I’m a proficient amateur - there’s plenty of advanced topics that I don’t yet grok, and common programing idioms that I don’t know, but I can now hold my own with the language.

Now I’m starting in on learning Erlang. It’s not because I want to learn Erlang so much as I want to learn how to think in the ways that Erlang functions. Particularly the concurrency and how Erlang does it’s stuff.

I’d love to be able to use message-passing based concurrency in a dynamic language that ran on every platform. Or shoot - just darned effectively on Linux and MacOS X. I don’t really give a crap about Windows except that I seem to need to deal with it’s existence as a fact of life.

There’s some parts of my current favorite “gettin’ shit done” language (Python) that come close - the Kamaelia framework and library is right up there - and there’s the whole side project of Stackless Python. Michael Sparks and Jason Baker (core folks in the Kamaelia project) have been going out of their way this past week to help me translate the Kamaelia idioms, and learn how they might apply.

Ruby has the Revactor library, which is also appealing - but I haven’t dug beneath the basics of the web pages for the project and tried anything out there yet. That it’s web site talks about taking lessons from Erlang is a fairly big point to me. It says to me: “Yeah, come back here later - but go learn Erlang so that you know the roots of the ideas.”

There’s a few programming projects I have that are natural fits for concurrency, and ideally I’d like to be able to apply them to a system that will scale horizontally reasonably well. Right now, Kamaelia is intended for a single instance of Python - but I could see it’s path towards working across multiple “instances” of python just as Erlang naturally does today within it’s language. And maybe Kamaelia will never reach into that direction - but I rather expect it’ll get more attention in the future as folks look to systems that are easy to program and do the “concurrency” thing well. There’s other libraries that reach in the same direction as Kamaelia - I just happened to like it the best. And it’s benefit over Stackless? It’s just that I like working with a stock language. I’d love to see some of the Stackless concepts fitted into core python, but I expect that’ll never happen.

I generally prefer to program with imperative languages (as opposed to declarative) - simply because my brain is wired to work that way. I think almost anyone programming today is wired that way… And that’s exactly why I’m setting out to learn Erlang. I want to force my brain to think in a different way so that I’ve got a better toolbox to solve problems in the future.

Apple is developing a technology that it’s calling “Grand Central” that will be appearing in the next release of it’s OS (Snow Leopard). I’m looking forward to blocks in objective-c as a means of doing a lot more with the hardware at hand - specifically, dealing with and taking advantage of concurrency without all the “I’ve fucked it up again” headaches that I associate with threads. I’m hoping that anything I can learn with diving into Erlang now will apply well to the world of blocks and Objective-C in the future.


Nov 23 2008

Do-Over Saturday

Tag: Geekstuff, Ranting and ReflectionsJoe @ 1:28 pm

I’m a very social introvert - which is one of those relatively paradoxical things. My definition of introvert is that it I tend to feel “worn out” after being outgoing and social, especially in an unfamiliar environment or around people I don’t know. (Extroverts in my definition feel ‘recharged’ by these situations, and feel “worn out” by being alone and/or quiet for too long).

For all that I’m an introvert, I learned long ago that I got back quite a few good things for being social and outgoing. I lead groups, tend to organize things when nobody else is doing so and I see a need, and generally get a “good feeling” from the results. I set up and run the Seattle Xcoders group, I’ve been involved in various geek-social events around Seattle (MindCamp, Seattle CodeCamp) and the Mac indie development community, and I try to stay pretty connected to the folks that I meet and like around the tech scene. It’s a small world when it comes right down to it - and knowing who to ask for a variety of questions, learning new things, and just understanding what other people are up to has proved enjoyable as well as saved my bacon professionally a number of times.

For all that I’m generally reluctant to say this, but I kind of wish I had this past Saturday to “do over”. Mind Camp was decent, and I had a good time sharing some knowledge, experience, and details on iPhone development, but I frankly didn’t get a lot out of it. It’s an unconference - and those are definitely the kind of event where you get back what you bring in to it. I don’t think I brought a whole hell of a lot, and I left late that evening just kind of depressed and worn out. I didn’t come away with any passion, interest, or even “humm… that’s kind cool” - which I have in the past. Karen thought it had a slightly different feel to it this time too - but I can’t really put my finger on it. There was a relatively small attendance (maybe 100 folks?) and the venue was incredible. The folks at Synapse did an amazing job of clearing their space and making it available to this general geek mob. (I didn’t even know a place like Synapse existed up there in the Pacific NorthWest, let alone was downtown right next to the theatres and such. I could waft “wow - cool” about Synapse for quite a while - they’re clearly a gifted bunch of folks with cross-domain knowledge prototypers, designers, and physical production.

Some friends of mine were having a little pinball, beer, and whatever at Shorty’s down in Belltown last night - I rather wish I’d headed there last night. Who knows - maybe my introvert batteries are just too worn down right now for anything of anything. With Seattle CodeCamp last weekend, MindCamp this weekend, and the recent Xcoder drama with dBug - I think I’m past due for a bit of quiet time.

For any future edition of Mind Camp I would likely go. But I’d be much more inclined to keeping the sessions and effort to an afternoon and maybe late evening, not even trying for the 24-hour round the clock effort.


Nov 21 2008

Ideas are worth nothing, execution is everything… another refrain

Tag: Geekstuff, Ranting and Reflections, iphoneJoe @ 8:34 pm

Raven Zachary posted Turning Ideas into iPhone Applications on to the OReilly Inside iPhone blog tonight. One of the interesting bits is that he laid down an expected minimum “going price” for a good iPhone developer ($125/hr if you’re curious). But what I really thought was interesting is that it’s yet again another refrain of the idea that “ideas are worthless, execution is everything”.

The idea might be great, but without the execution it doesn’t effectively exist. The best metaphor I found along these lines was that ideas were a multiplier on execution. A mediocre idea with excellent execution is far, far more than a brilliant idea with no execution.


Nov 15 2008

CodeCamp Seattle

Tag: Geekstuff, Ranting and ReflectionsJoe @ 11:11 am

I’m going to be attending CodeCamp Seattle this weekend. Since I’ve been bustin’ to get an internal class on Ruby and Watir ready for a week from today, I thought I’d slim it way down and present it.

I’ve got to give huge credit where it’s due - I’ve based this presentation and the class on the shoulders of giants - Brett Pettichord and the group of folks contributing to the Watir framework.


Nov 12 2008

How people really use the iPhone

Tag: Geekstuff, iphone, seattlebusJoe @ 11:26 am

I saw this from Daring Fireball: How people really use the iPhone

It is a fantastic, professional user-experience overview of a variety of applications - but most importantly some real information on how folks are using the interface. If you’re developing iPhone applications, this is a must see!

I was very glad to see that I hit most of my own UI elements right with Seattle Bus.


Nov 11 2008

Twisting my brain around Ruby while standing on the shoulders of giants

Tag: Geekstuff, Ranting and ReflectionsJoe @ 10:41 am

I’ve long been impressed with the Watir project - a ruby library that programmatically drives a web browser. With it, you can drive IE (and now FIrefox and Safari as well) through web sites, testing for content and verifying interactions. Previous test harnesses had some significant failings when it came to fiddling with the various javascript components, mostly because they were emulating a browser and just didn’t have javascript built in. I really love twill and mechanize for example, but they just don’t get the same javascript enabled coverage that you can arrange with a running browser.

When some of the QA folks here said “We’re going to use this!” I thought, “Yeah, awesome - good choice!”. A little later in the discussion it became clear that a day-long workshop would really help everyone come up to speed. “I can do that!” I thought … out loud … so now I’m teaching a day-long internal workshop on ruby and the watir library to folks here at the office.

The really good news is that I have the shoulders of giants to stand on - specifically the incredibly detailed and hard work that the Watir contributors have done in their documentation and the inspiration for the class setup and associated cheat sheets from Brett Pettichord. Since I’m not a big ruby language guy (more of a python guy, actually) I also immediately picked up a copy of Everyday Scripting with Ruby, from the Pragmatic Programmer press, which I wholeheartedly recommend.

As a side note - Pragmatic has become the “new OReilly” for me - the technical books are of good quality and invariably useful.

Aside from general syntax, the biggest thing I’m having a hard time wrapping my head around is the block mechanisms and periodic lack of parantheses. From the examples I’ve seen, parantheses are used intermittently, and I haven’t a clue when they’re needed or not. For my own work, I’ve been including them - but reading code without them is somewhat odd to me. Getting used to iterators using a block mechanism and the habit of many ruby folks of doing nifty one-liners is taking a while too. I invariably have to tease apart the syntax slowly to get a clue of what it’s doing - kind of like looking at a particularly hairy regular expression. I always rather found lambda methods in python a bit indecipherable myself, so I expect this is part and parcel.

As a final note to anyone interested in Watir, my one huge complaint with the project has completely disappeared. When I first say Watir, it really only supported “driving IE” - and I was having a somewhat irrational desire to shoot anything that required me to use IE at the time. The background of my mental state at that time is a tad hard to explain, but that particular issue is no longer even relevant. At of August 15th of this year Firewatir is a lovey supported variation of the Watir framework, meaning you can drive IE or FIrefox with the same library style setup. There’s also a variation for Safari that I haven’t looked into - covering all of the browsers that I care about or are forced to care about. I never had much luck with OpenQA’s Selenium, although I really tried… I never got terribly consistent results with it. This solves that technical issue entirely for me.


Nov 07 2008

World Plone Day

Tag: GeekstuffJoe @ 10:28 pm

Today was World Plone Day - an event hosted by the fans/supporters/developers of Plone to share information about their favorite python based CMS with the world. The local Seattle Plone crew hosted an evening session with some talks introducing the platform and giving a brief overview of where it’s used and what it’s used for. 

It’s an interesting platform.

Definitely a CMS first and foremost - where I’m far more familiar with Django and working with the web framework layer. I’m not completely unfamiliar with content management systems, so a number of components and expected functions were at least familiar to me, even if the specifics of how they were done was not. I’d previously always shied away from plone, mostly because it just appeared to be very complex. To some extent, I’m still right - it is. But it’s not complex to get started with it, which was really interesting to see. 

One thing that I was surprised about is the continued and recent surge (past year or two) in plone activity. You can check out the plone open source project details at Ohloh - it’s definitely got some serious traction behind it, and as I understand it that “plone” project is really only a portion of the platform that represents the plone core.

Plone code graph

I’m not sure that I’ll be making use of the project any time soon, but I had a good time learning about it and meeting some folks within the local plone community. They’re a pretty nice bunch of folks.


Nov 03 2008

Fallout 3

Tag: Geekstuff, Ranting and ReflectionsJoe @ 10:48 pm

I picked up Fallout 3 last week and spent a good portion of Sunday playing it.

I wasn’t sure what I’d think about the transition from a top-down ISO turn-based game into something that looks more like a first person shooter. To be honest, I’m still not sure what I think about it - but I’ll say this: Bethesda did a damn fine job with the game!

The thing that struck me the most was how incredibly detailed and bleak the graphics were. The older Fallout games had to rely a bit more on, well, imagination. Bethesda took the game genre, background feel, and everything and just welded it right on and did an incredibly good job. Everything from the game introduction through to the playing and wandering around in the wasteland was a tremendous visual experience. All the tech continued the 1950’s style “hi-tech” look and they kept it going all the way down to the nitty-gritty details.

The wasteland is, as you might expect, relentlessly hostile. Even more so than the previous games for my view on it - Fallout 1 and 2 seemed to be mostly “nothing”, where this environment is fairly well populated with mutated creatures, raiders, or marauding robots ready to take you out without a second thought.

I haven’t gone too far into the game as yet - there’s (I suspect) a LONG way to go with side quests and just wandering around the wasteland, seeing what’s out there. I’ve done a few minor quests, opened up a few other storylines, and started to learn a bit about the combat. (Where learn is my subtle way of saying I’m slowing learning not to “die” so damn fast). The combat system is a very elegant fusion of turn-based “action points” setup and First Person Shooter. I switch back and forth between the two and haven’t really settled on a style as yet. My primary consideration so far has been to learning that frontal assaults will primarily waste your aim - sneak, snipe, and take as many aimed shots as you can to conserve what you’ve got, cause there’s never enough of it out there.

The graphic violence is, well, graphic. I’m not sure I’m a huge fan of the gory details, but it does seem to be a part of the genre from Fallout 2, and I’ll admit it’s quite satisfying upon occasion.

Guns are easier to come by than I expected. The second game in the series had a very distinctive lack of them to me, at least compared to the first. This seems far more like the first game in that respect - it’s not exactly a never ending supply of guns and ammo, but they’re to be found more easily than I expected at the beginning of the game.


Nov 02 2008

Great Britain is claiming Iceland is a terrorist state

Tag: Geekstuff, Ranting and ReflectionsJoe @ 11:42 am

I read the story Iceland, Mired in Debt, Blames Britain for Woes in the New York Times this morning. I’m appalled at what Britain is doing. The government is effectively labeling Iceland as a terrorist state in order to squeeze it for assets in a globally faltering economy. In effect, it’s bullying smaller it’s next door neighbor - but this bullying is in effect bankrupting Iceland.

According to the NYT, almost all cashflow has ceased into Iceland. I’m at least happy that Karen and I continue to have accounts with Eve Online (an MMORPG game that happens to be based in Iceland). It’s not much against the billions they’re talking about in the news, but I’ve got some hope that at least some folks up there will continue to have jobs and support their local economy with the value that I’m getting.

UPDATE:

Thanks for the insightful comments! I do realize they claimed control of the assets under the bills from the anti-terrorism law - and the consequence of that, I’m to understand, is that Iceland is being labelled a terrorist state. I certainly don’t think Icelandic banks should be held harmless in this, but the forced asset seizure isn’t making things any better either.


Next Page »