More on BBEdit 9.0

I went back to BBEdit 8.7.2, I hit a brick wall with a bug where perl would refuse to run a perl script located on a server if BBEdit 9.0 had that script open. I am getting this error:

linux32: ~ > ./
-bash: ./ /usr/bin/perl: bad interpreter: Text file busy

Obviously a complete show-stopper, bummer…

Odorous Notebooks

Ok, this is a little strange, Asus released a set of scented notebooks (by way of MacBidouille.)

BBEdit 9.0

I was really happy to see BBEdit 9.0 released yesterday, I have been using it for coding for a very long time (13-14 years now I think), I checked the new features list which is impressive, and so I put down my upgrade fee and installed it.

Unfortunately for me there are a couple of show-stopper bugs in there. For some reason the function popup does not list all the methods in Java files, and the search and replace does not always wrap around. I think I will be going back to 8.7.2 until they get those sorted out.

Comcast Caps

I am a Comcast customer, I only use the internet portion of their service, and I am somewhat concerned about the caps they are going to be putting in place in October.

I have three concerns about this, ranging from the specific to the general:

  • First, since there is going to be a cap, I will want to know what my usage is at any point in time and I would like my bill to give me a summary of my usage for the month. This just has to happen since going over the limit will cost customer extra. Phone companies do it with cell phone usage so this should be a no-brainer for Comcast to implement and offer.
  • Second, for broadband Comcast is the only game in town here, Verizon offers DSL which does not really compete on bandwidth and we have yet to see FIOS. With these caps, I will be much more motivated to look at FIOS when it does come here, and I think that this is a great opportunity for Verizon (or anyone else for that matter) to make some inroads.
  • Third, I think Steve Gillmor over on TechCrunch brings up a very good point about the current move to streaming by the major broadcasters (of which Comcast is one in fact.) Are we shooting ourselves in the foot in the long term? I would say so. I switched off my cable three years ago due to the paucity of good content there, switching to iTunes and Netflix for my content, now that is being squeezed too. Comcast claim that with a 250GB cap you can download 125 standard-definition movies, true enough but the world is moving to high definition at which point that number drops to around 20.

My only conclusion is roll on FIOS and lets see some real competition in the broadband sector.

HScale and MySQL Proxy

I have written about HScale before and MySQL Proxy, raising a few questions about fault tolerance, but I did not anticipate the issues they ran into.

I did not know that MySQL Proxy did not support dedicated backend connections, that makes things very complicated. I hope that they get around it because HScale is a very interesting project.

Sea Turtle

I really like this nighttime shot of a sea turtle, which came down to dumb luck. We were on a night dive off Manuelita, a very small island attached to the Cocos Island, and this turtle swam past us at around 10 feet. Sea turtles swim faster than divers so I had to fin a little to keep up and took blind shots as I was swimming, so no shot set up or composition, so everything was down to dumb luck.

At night setting up a shot is challenging because there is no ambient light, so I have to use my flashlight in my left hand to illuminate the scene, and point and trigger the camera with my right hand. One is usually lucky if the critter being immortalized has not swum away while all this is going on.

This shot was all the more challenging because I was swimming along at the time, so I just took shots blindly.

I did do a lot of post-processing too because there was a lot of ‘snow’ in the shot.

It’s the latency stupid

Very good article on the High Availability blog summarizing the issues with latency, along with a lot of suggestions for identifying issues with potential solutions.

Memcached Vs. MySQL

Some interesting observations about Memcached Vs. MySQL over on the StyleFeeder Tech Blog.

I think the lack of good benchmarks prevent anyone from making a definitive statement on the matter. Each system will be different and there will be cases where memcached is a good thing, cases where memcached does not bring anything to the table, and cases where memcached is just play hurtful. What it really comes down to is this: “Just how fast can you get data out of your database,” which is really just a way of rephrasing the age-old question: “Do you know where your bottlenecks are.”

To me memcached is another moving part which requires administration and maintenance. If you can do without it, great! But if your site benefits from it then by all means use it.

Facebook engineering blog

A friend recently referred me to the Facebook engineering blog.

The most recent post, “Scaling Out“, describes how they added extra data to their mysql replication stream to keep a distributed cache in sync. It is a good approach but instead of adding stuff to the sql statement itself, I would have added a new message type to the replication stream (the binary log in fact.) I think there are about 10 different message types defined right now and either 1 or 2 in use, so this would not have been too difficult to do and would have prevented ‘pollution’ of the sql statement.

The post on “Facebook Chat” mirrors the “Lessons In Building Scalable Systems” presentation that Google did at the Google Scalability Conference in 2007.

They also describe Thrift, which is now in the Apache Incubator:

Thrift is cross-language serialization and RPC framework. It combines a powerful software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, C#, Erlang, Perl, and several other languages. Thrift was originally developed at Facebook and open-sourced in April, 2007. Thrift entered the Apache Incubator in May, 2008.

Reading the description, I was struck by the parallels between that and the Google Protocol Buffers. If you are going to develop applications which communicate over a network, you will need to look at both.

Availability Enlightenment

“The path to enlightenment is often only visible after failure, if at all.”


Get every new post delivered to your Inbox.