Tuesday, March 30, 2010
I had a very similar going fishing with my Dad, where I caught a fish and couldn't stand to see it suffer. Dad told me to whack it with a stick - whack/flop/whack/flop - OMG I am *never* going fishing again. Horrible.
They are thinking of replacing the use of Google protocol buffers with a SQLite file for their network communication format.
Huh? It didn't make sense at first. But then I chewed on it some more.
Their protocol is primarily about sending one or more queries, and getting back potentially quite large tabular data sets as a result. What better format than a compressed relational data format?
The SQLite database format is in the public domain. It is self-describing. It is compressed, saving network overhead. The format is portable across platforms. It is tabular in nature. You can use the SQLite APIs to to inspect, slice and dice the results, both for processing as well as for troubleshooting/debugging. You can also use the SQLite API (e.g. SQL INSERT) to incrementally build up a request or response before sending it over the network.
SQLite is embedded, so you don't have to deal with connecting to the server and yada yada, and it's quite cheap to create new databases (each request and response is a new SQLite database).
The more I think about it, the more it seems like a very compelling approach... It goes against everything I've learned about network protocols, but for their use case, it actually makes a lot of sense.
Friday, March 26, 2010
But if for some reason this doesn't work, here's the message you get by email:
Sorry, your comment could not be added at this time. Please try again later.OK, what comment? For what status update? You could provide me a link to the status update and a copy of the comment I tried to send.
Please try submitting this comment through the Facebook website instead.
The Facebook Team
So instead I have to do all this work of tracking down the original email I sent, if I still have it, and then go to the status page and copy and paste it.
Wednesday, March 24, 2010
It's very hard for me to listen to this voice when I've got a particular solution in mind, and I'm plugging away implementing this solution, and if I can just get past this next hurdle, it will work, dammit!
Yesterday I finally noticed I was banging my head against a problem. I thought about what the struggle was, and I realized that most of my pain was in trying to coordinate two separate threads of control through the system - one doing updates and one posting those updates to listeners.
So I decided to apply a common principle for me: question your assumptions. Did they really have to be coordinated? I contacted some other members of the team and our product manager and asked what they thought. It turns out there was much more flexibility than I thought was possible. If I tried to stop having absolute control, as it were, relaxed a bit, and let things be a little loosy-goosy, then my overall design became much less coupled and thus much simpler. Ahhh....
It reminds me of the beauty of eventual consistency - if you let go some of your tight constraints, it's amazing how it opens things up and brings new possibilities into the solution.
Sunday, March 21, 2010
Tonight when he saw it on the table he asked Linda "can I put pepper in your water?" She said no.
He asked me next. I said "I don't have any water." (I don't usually drink water with my meals).
"Because I don't want anyone to put pepper in it."
Fade to fifteen minutes later. Linda looks at her glass of water, and there are little black granules floating in it. She says "Michael, did you put pepper in my water?"
He says, with great sincerity, "I'm sorry".
We all laugh.
He says, "It was an accident."
The little rascal.
The amazing thing was there were four others sitting at the table, and none of us saw him do it.
Thursday, March 18, 2010
In the case of search engines, the evidence indicates that the culture of the technological entrepreneur is very effective in creating a new mega-business, but less successful in encouraging a debate on issues of the public good or public responsibility as they relate to the search engine industry.Great stuff from the conclusion:
search engine producers appeared to construct the search index and search results so that the most important markets they serve will have the most relevant results and they will thereby achieve greater customer satisfaction and higher revenues.
These processes were often carried out with high levels of secrecy. They create search engine results that are highly opaque to users and a climate in which questions of the public interest in search engine results, as opposed to questions of technical efficiency or market success, are far removed from their everyday search operations.
Finally, the prevailing wisdom and common sense within the search engine production community presents challenges for those who wish to discuss public interest or information ethics in connection with the search engine industry as questions in this area infringe on the values of “relevance” or of “customer satisfaction”. It will be the role of actors outside the search engine community, no doubt with the support from certain actors within it, to raise awareness of issues around bias and its implications for the public interest and to provide potential alternatives
The “internet culture” is predominantly individualistic, market oriented and opposed to most forms of regulation. Putting the case for a public interest in online media is fraught with difficulty. During this research I was met with bemusement and puzzlement, as well as encouragement, from many sources. Having said that, search engines operate in many parts of the world, notably in Europe, where the tradition of public service media is strong as compared the to the US. These parts of the world may be the best places to encourage discussion about how innovative approaches can be used to create a search engine industry that can help to deliver less biased search results and, arguably in consequence, a fairer information society for all.
I can imagine the "bemusement and puzzlement" of techies as she asked them about those namby pamby things like "public service" and "public good." What is it about our culture, particularly Silicon Valley, that places the social contract ("what's that?") so low on the totem pole. I suspect it's the same individualistic spirit that drives a lot of innovation - if I can invent this cool new thing, I can make lots of money. All other considerations are a distraction and an obstacle.
Something to think about and be aware of. And I agree with her conclusion - the search engine industry and other parts of the tech sector are not going to address issues of public good and information ethics on their own - they need to be forced into action by the users delivering them all this search traffic, and by the governments that represent them.
Tim O'Reilly, John Battelle - you listening?
Oh, and by the way - CONGRATULATIONS, ELIZABETH!
Thursday, March 11, 2010
A quantiative user study indicates that Code Bubbles increased performance significantly for two controlled code understanding tasks. A qualitative user study with 23 professional developers indicates substantial interest and enthusiasm for the approach, despite the radical departure from what developers are used to.
Hard to really explain, the best thing to do is watch the video, embedded below...
Code Bubbles is built on the Eclipse platform, so can be run on top of your existing Eclipse environment (although the integration sounds pretty light). It's in closed beta, so you can sign up and they'll get back to you. At some point it will open up for a public beta...
Tuesday, March 09, 2010
is like comments, meets im, meets irc, meets your favorite paste app, meets instant coffee.Took me a bit to figure it out, but basically you click on a link, it starts a new discussion window with its own unique URL. Then you can send that URL to others who you want to invite to join a discussion.
actually, instant coffee sucks.
Very simple, to the point. I'll keep it in mind next time I very quickly want to start a conversation with a bunch of folks.
If you want to contribute, go to the Analogue open source site.
Monday, March 08, 2010
"Rackspace is also heavily invested in Cassandra, and sees integration of Drizzle and Cassandra as being a key way to add value to its platforms and therefore for its customers".I look forward to seeing what that's about.
I also liked this from Jay:
"I don't know whether Larry understands that cloud computing and infrastructure-as-a-service, platform-as-a-service, and database-as-a-service will eventually put his beloved Oracle cash cow in its place or not. I don't know whether Oracle is planning on embracing the cloud environments which will continue to eat up the market share of more traditional in-house environments upon which their revenue streams depend. I really don't."
I am really not at all surprised, Oracle has never thought much of open source. As with Tim Bray and Ted Leung, their loss. It's also a sign that a certain cultural style reflected in these folks is not a good match at Oracle.
Saturday, March 06, 2010
Friday, March 05, 2010
When I am unhappy about something I do tend to gripe about it on Twitter. This blog itself may arrive as a tweet because the folks at dlvr.it responded when I complained about Twitterfeed not working.
The folks over at Perforce have also been paying attention, although when I come back with a followup reply I tend to get re-routed to support, who re-routes me to my local contact, so oh well.
I also notice when people aren't listening. For example, when I complained about Sharepoint user interface being, well, painful to say the least, I have to say I'm not expecting to hear from anyone with a followup.
I've even met some good folks this way. I was whining about Sonic.net (I can't even remember what about), and ended up being followed by (and following) @dane, a dedicated employee at Sonic.net, and now I'm learning all sorts of cool stuff about what sonic.net is up to. By the way, highly recommend those guys - excellent quality, great customer service, and they have some innovative services on the way (if I can trust Dane :)).
REvolution? Who the heck are they?
What the heck is predictive analytics?
Well, very interesting. I am in no way a statistics or mathematics guy. But this does sound very compelling and powerful. Combine this with a big data set and you can do some interesting stuff -- for good or evil. Looking to see how Zack and REvolution disrupt this market - I would think by making it more approachable to a larger audience and finding new vertical applications for it.