Skip to content


Woz speaks (on iPhone)

I happen to be reading iWoz, which is Steve Wozniak's memoir/biography/whatever. It's a very breezy easy read and fun if you follow this kind of thing. So naturally this caught my eye:

"Woz then moved on to the topic of Android saying that Android smartphones, not the iPhone, would become dominant, noting that the Google OS is likely to win the race similarly to the way that Windows ultimately dominated the PC world. Woz stressed that the iPhone, "Has very few weak points. There aren't any real complaints and problems." (from "Steve Wozniak: Android will be the dominant smartphone platform")

Of course Engadget may not have selected the particular headline that Woz would have liked, because he also lavished praise on the iPhone saying it has ""Has very few weak points. There aren't any real complaints and problems. In terms of quality, the iPhone is leading."

[Geeky] RubyConf Summary (updated 2)

RubyConf 2010 was excellent. It was my first and probably not my last. Some general thoughts and then a master list of links (the real meat.)

  • Unlike most all 'business' type conferences and talks I have gone to, the RubyConf style of presentation (and perhaps the Rails or Ruby community -- I don't know where it stops) is beautifully minimalist. Very few words on slides, large and impactful photographs. Is it because no one uses PowerPoint and few even use Keynote? I don't know. But there were no text heavy, bullet heavy word slides. And also, lots and lots of code (that part is definitely a geek thing.)

Here is a loosely organized set of links to the things that hit me most at RubyConf this year. It's random and idiosyncratic (same thing?) but it reflects my real-time notes and feelings. These were all new to me but they might be old news to you, of course.

These are my top links:

  • nicksieger's warbler at master - GitHub - This was one of my top 5 talks. Warbler is a tool to package a Ruby and/or Rails application into a single .jar or .war file to be run on any other computer that has a Java VM installed. If this works as advertised it is a very important bit of technology. I am going to try it out

  • MacRuby: The Definitive Guide - Another one of my favorite talks, about MacRuby, a Mac OS X implementation of Ruby. From what I saw it looks very real, with good integration with all the Mac OS X libraries, and running on top of the Objective C runtime. It wasn't totally clear what Apple's posture is relative to MacRuby, but I hope it is positive.

  • mattmatt's showoff at master - GitHub - Showoff is a very neat presentation tool. It's not an app like Keynote its actually a gem which processes a minimalist markup and serves it up in a local Sinatra server. Also easily lets you deploy your presentation to Heroku. Hmm. Is it mattmatt's or schacon's showoff at master - GitHub???

  • Git Wrangling - This was an intense and complex talk about Git. There is as we know, so much more in Git than most people use, and this talk touched into it. Also, Scott Chacon had a funny (but I think he was serious about it) interlude about how to be a gentleman. It includes the recommendation that a gentleman will always rise when a lady enters the room. Also check out these links with further details about the slides (really, they are good!).

  • Ruby Mendicant University - A really inspiring talk by Greg Brown about his vision and mission to teach people about Ruby and programming. But this is not a fly by night little course, Greg has a big vision and is pursuing this in a comprehensive and highly innovative manner. I was very impressed and will follow and support Greg's work. A great guy!

And here are many more really good ones:

  • - And this is the lightening talk that never happened but I saw mentioned in an email. Apparently there was not sufficient time allowed, and some great talks never happened. This one is about a gem called wrong that defines (can you believe it?) yet another way to express expectations (like assert_ and expect_ and etc etc.) But it's really nice and minimalist. I think it's a good addition to the canon!

  • DNS Simple - This looks important to me, and I think I could really use it. Except… I wish I understood better where DNS Simple fits in my scheme of things. Does it mean that I could ditch GoDaddy as the keeper of my own set of domain names? Would it cost less? Would I be able to cloak my personal name and address like I do with GoDaddy? What are the plusses and minusses? (N.B. See the detailed responses to all these points in the comments)

  • The GO language - I hadn't heard of this language, although it's pretty (really) old after all it's only about 1 year old. Worth looking at for its support of co-routines.

  • - A nicely executed very lightweight project planning 'virtual whiteboard', for the new/old Kanban methodology.

  • Ticketmaster - A tool or platform to connect project/ticket tracking systems together. I post to my ticket tracker, and TicketMaster forwards the new ticket to one or more other ticket trackers (e.g. those my client uses.) This is a tricky problem - how do you handle deletes, and do changes to tickets flow both ways? I didn't look how well TicketMaster tries to solve those problems.

  • Hipster - A bit of 2010 Culture that I hadn't seen before. Ok. Culture is stretching it.

  • - PDF of the Mac Ruby Presentation

  • Apigee | Free and Enterprise API Management Products and Infrastructure - This is a super cool tool to test and experiment with web apis. Interestingly this comes from the guy who build

  • rabbit | | your community gem host - Another presentation tool, analogous to showoff.

  • Stop procrastination: Introducing the noprocrast gem - - Proof that I am not the only one that gets distracted while working. Here a fellow designed a little utility to cut him off from the net while he is trying to focus. This is called self-binding. Check out this other article which I have pointed to before about the concept of self-binding (it's not as kinky as it sounds.)

  • RubyConf 2010 | SpeakerRate - We are a community who loves building tools. Here's a tool that lets listeners at any conference rate speakers. Very cool building block.

  • - Daniel presented about Ruboto, a tool allowing us to write Android applications in Ruby. One nice thing that Jack covers, and I saw this in many of the presentation, is a forthright summary of other tools and solutions that one might consider in addition to Ruboto.

  • Redcar - An all-ruby programmers editor -- TextMate written in Ruby. This was a very popular talk and it generated a lot of conversation. It is a work in progress but is very promising. The demonstrations of writing custom commands in Ruby on the fly were impressive. For me personally, I still prefer a full IDE especially one with a visual debugger. I am actually surprised that Rubyists as far as I can tell don't use an interactive debugger (see this survey)

  • - A really good presentation. This pdf (after a bunch of photos at the beginning) is chock full of specific utilities and techniques for advanced profiling and analysis of your ruby and Rails code.

  • ZOMG WHY IS THIS CODE SO SLOW - A presentation that unfortunately I missed, but so good that the slides stand on their own. Lots of specific tips around Rails and Ruby Performance

  • bfts's minitest-2.0.0 Documentation - A small replacement for Test::Unit. I thought I heard that it was part of Ruby 1.9, but I might have misunderstood.

  • tmm1's perftools.rb at master - GitHub - An interesting package of performance tools on Git

  • MIRAH - An interesting little language, it looks like Ruby (but it's NOT Ruby). It is statically typed and compiles directly into efficient JVM byte code.

  • schacon's grit at master - GitHub - One of several gems to access Git and Github functionality from Ruby

  • libgit2's ribbit at master - GitHub Another one of several gems to access Git and Github functionality from Ruby

  • BusyConf - Making Great Conferences Even Better - A promising service for conferences. From what you can see so far, there will be a nice and detailed conference schedule. But I can imagine many additional bits of functionality.

  • Rc2010 refinements - A presentation by Shugo Maeda, close confidant of Matz and a Ruby Committer. The presentation contemplates some rather exotic additions to the Ruby language to overcome some problems that are encountered by large systems built in Ruby. Coyly described as features that might be in Ruby 2.0, which is on an unknown schedule.

  • RabbitMQ - Messaging that just works - A highly touted message queueing platform, usable with Ruby and Rails and other systems.

  • collectiveidea's delayed_job at master - GitHub - Delayed job is a popular Ruby based background job product.

  • markbates's dj_remixes at master - GitHub - Mark Bates adds some great additional functionality to Delayed Job

  • slagyr's solari at master - GitHub - A very cute Raffling applications used when you have to raffle something to a big crowd. Very cute, looks great, sound effects and so on.

  • robey's kestrel at master - GitHub - Kestrel is the follow on to Starling, which is a message queueing platform, originally from Twitter.

  • Home — - JRuby is JRuby. I haven't tried it yet. But my sense is that it's definitely worth using in many situations. You can access the huge collection of Java libraries, and, because of the highly optimized JVM, you often will have better performance than MRI (the original and still default Ruby VM)

  • Rails Talk Ruby CSS Parser - I was thinking back to some of my own projects, and one is to create a CSS simplifier/optimizer. Here's a Ruby based CSS parser.

  • Link to site: [Geeky] RubyConf Summary (updated 2)


I tend to agree with this writer that:

"With respect to airport security, it is remarkable how we have come to place Sept. 11, 2001, as the fulcrum upon which we balance almost all of our decisions. As if deadly terrorism didn't exist prior to that day, when really we've been dealing with the same old threats for decades. What have we learned? What have we done?" (from News Flash: Deadly Terrorism Existed before 9/11)

I remember how just after 9/11 I was totally shocked, like everyone else, and fully supported the steps that were taken, the wars even, and continued to feel that way for a while…

Not long after 9/11, maybe January of 2002, I spoke to an Isreali who was visiting in the US, who described how in Israel the threat of terrorism (and the reality of it) was far greater than in the US. While they feared it and deplored it and did not accept it, still they had grown to accept it as a fact of life that could not be eradicated. Just like whenever you get in a car you accept that accidents happen and in fact kill many people every day. You fear it, maybe, deplore it, do everything you can to prevent it, but in the end, you grow to accept it as a fact of life.

…I have to say that now I find that line of thinking persuasive.

The article concludes:

"In the 1980s we did not overreact. We did not stage ill-fated invasions of distant countries. People did not cease traveling and the airline industry did not fall into chaos. We were lazy in enacting better security, perhaps, but as a country our psychological reaction, much to our credit, was calm, measured and not yet self-defeating. This time, thanks to the wholly unhealthy changes in our national and cultural mind-set, I fear it will be different. […]

"The terrorists have won" is a refrain I don't like using. It's sensationalist and ignores inherent complexities. But for the moment, I can't think of a better way of putting it." (from News Flash: Deadly Terrorism Existed before 9/11)


Check out this cool site developed by some Brandeis students who participated in the bootcamp-like course that I taught this summer. It's called Definitious and it's kind of a collaborative, semi-serious, semi-silly dictionary where anyone can define any word they want and others can vote the definitions up and down. Definitious.

By the way, we are in already planning an expanded version of the course for this coming summer. It's going to be even better!

[GEEKY] CSS Deep Thoughts

I feel that I am finally mastering CSS and in doing so I am seeing some interesting patterns. It seems to me that it's very easy to get into a situation where you have too many CSS rules that overlap and override each other in ways that are more complex than necessary.

It seems like there could and should be a tool to 'simplify' or 'clean up' css and reduce the rules to the minimum necessary set to accomplish what you want. Clearly the browser when it applies CSS, no matter how messy and redundant, figures it out and does the right thing.

Here are some of the cases that I can see:

  • two or more css rules with exactly the same selector in different part of a file

  • two or more css files which are there for historical reasons but could be merged into one

  • two or more css rules which can be 'refactored' into fewer rules by noticing repeating patterns between them and within the context of all the rules.

  • And so on.

So this is not pretty printing or link-like processing, this is more like 'compiling' a set of css files and then emitting a minimal clean and logical css back out. Is this a legitimate way to think about things and are there tools to do this, or has this been tried and turned out to be technically intractable? Seems to me like it should be possible.

Will the App Store Accept Java Applications?

Check out Apple Begins Accepting Submissions for Mac App Store(from GigaOM:

"At the Oct. 20 “Back to the Mac” event, the Mac App Store was announced alongside the next iteration of OS X, dubbed Lion (10.7). Apple then revealed that users wouldn’t have to wait until Lion’s summer release window to get their hands on the new distribution channel. Instead, the Mac App Store would be available for OS X 10.6 Snow Leopard within 90 days." (from:Apple Begins Accepting Submissions for Mac App Store)

Suddenly it comes home to roost, directly, for BlogBridge. It would be great to offer it on the Apple App Store. However it is not inconceivable that Apple would ban Java/Swing applications. If anyone has real information about this, please let me know!