Andrew P. Brett
GitHub Hits One Million Hosted Repositories
Posted on 25 July
**This post was originally published on TechCrunch**
GitHub, the source code hosting and collaboration service, has hit a major milestone tonight: the site is now hosting one million projects, confirmed Scott Chacon, VP of Research and Development at GitHub. Approximately 60 percent of these projects are full repositories - that is, shared folders with code spread across multiple files - while the remaining 40 percent are "gists", or short code snippets contained in a single file, like this one, for example.
GitHub has seen rapid growth since it launched in February 2008, all despite the fact that the company has eschewed the traditional venture capital funding route. In an exchange that took place, appropriately enough, via the messaging system built into GitHub, Chacon stated that the company is still "funding free and very profitable" and that they are seeing "incredible growth for GitHub and Git usage in general." In January 2009 they won a Crunchie for best bootstrapped startup.
The profit comes from the paid plans that GitHub offers for those developers and companies who want to host their repositories privately. GitHub offers essentially unlimited hosting to anyone who is willing to make their code open source, but charges based on the number of private repositories and the number of contributors for other projects. This profitability has spurred the launch of a number of new features of late, such as Organizations, which offers more advanced workflow tools for projects with multiple contributors and varying permissions, and support for fifteen new languages.
GitHub is a key part of the software development ecosystem, hosting a number of notable code bases, including Ruby on Rails, the jQuery JavaScript library and the Linux kernel. Git, the distributed version control software that GitHub is based on, was in fact built by Linus Torvalds, the lead developer and maintainer of the Linux kernel, and the source code for Git itself is also hosted on GitHub. TechCrunch hosts a number of repositories using the service, including some that are open source, and Twitter has recently been publishing the source for several of their gems and other code, using GitHub to do so. Ruby and JavaScript are the most popular languages on GitHub, with 19 and 17 percent of the hosted code respectively, but there are currently projects in over 50 languages on the service: everything from Visual Basic to Go.
From iPhone to Android
Posted on 19 July
I've been using the HTC EVO for a full two months now, after a trial period of a few weeks where I was essentially carrying both the EVO and an iPhone. Quite simply I don't see myself going back. The iPhone 4 announcement, while exciting, didn't induce one iota of regret, and as others have noted, the acceleration (literally) of the Android platform implies that for the near future I'll be sticking with Android devices. Many posts in this genre are accused of comparing the iPhone to what Android *could* be or *might* be in the future, which is unfair; however, I'm confident in saying that I'm happier on the the *current* Android platform than I was on the iPhone.
Battery
This is the most frequently discussed aspect of the EVO and of multi-tasking enabled devices generally. Here's the thing: These devices formerly known as phones have morphed into miniature laptops. The EVO sports twice as much RAM as the laptop that I bought before starting college; it's processor has about 80% of the speed of a coworker's current machine. I've adopted a "plug it in when you can" mentality with the EVO, and I think it makes a lot of sense - you wouldn't bring your laptop to the office, start using it, and only plug it in when the battery was completely drained.
Along the same lines, usage plays a large part in battery life (not surprisingly). Just like a laptop with the brightness cranked up and Flash video maxing out the processor, the EVO is going to lose charge well ahead of even the officially stated battery life, if you're using a lot of battery-intensive apps. I haven't attempted this, but my guess is that if you fired up all sorts of background apps, particularly ones that stream data (Pandora) or constantly track your exact location (navigator/maps), you could probably drain the battery in about 2-3 hours. In normal usage, however, you can probably go up to 24 hours on a single charge. Here's what I've done to maximize the battery life:
- Turn off 4G (if you're not in an area with coverage). Constantly looking for 4G and not finding it is what kills it here. If you're solidly in a 4G area it's fine to have on.
- Turn off Sense. You can't completely turn it "off" but you can have the home screen use the stock Android launcher.
- Wifi: I have it turned off since most of the time I'm perfectly happy with the Sprint network speeds. Similar to 4G, if you're somewhere that has a reliable signal, turning this on won't hurt you much if at all, but if it's constantly looking for the network anyway just turn it off.
If you really get down low and are trying to conserve, there are plenty of other tricks such as dimming the screen, turning off account sync, and killing all background tasks that you're free to do in order to help matters.
Tethering and Cost
Part of the reason I've gotten into the habit of plugging in the phone whenever I have the chance is that I'm most often charging it through my laptop in order to use the tethering capabilities. I actually don't have an internet connection at home and just use the EVO to get online. The speed is perfectly good; about 90% of the time I can happily stream Hulu and Netflix without issue, and otherwise buffering for a few minutes (max) will do the trick.
All of this usage means that I'm consuming a fair amount of bandwidth each month. Here's the total so far for this cycle:
If I extrapolate out, I'll be at 15+ GB by the end. Under AT&T's new data plans, I would be charged:
- $40 for the minimum voice plan
- $20 for tethering
- $25 for "Data Pro": buys the first 2GB of data
- $10/GB after that = $130
- Total: $215/month. Compared to $70/month on Sprint.
Duh.
Android + Kindle beats iPad
Yes, the Android Kindle app isn't quite as fully featured as its iOS cousin, at least not yet. But the huge screen on the EVO is plenty big enough to the point where reading books on it is perfectly reasonable. The portability makes it possible to read anywhere without any prior planning - with the iPad you have to make a decision to bring it along because you think you might want to read a chapter or two. I also like to read before I go to sleep, and reading on your back -- impractical with the iPad and with most books -- works very well with the EVO.
It's Fun to Futz
As I've pointed out before, it's fun to futz. Not only with settings, wallpapers, and behaviors - but with apps. I had "Hello World" up and running on the Android SDK and - more importantly - installed on my own phone in a matter of minutes. It was also a snap to download the actual source of the WordPress Android app and compile and install it myself. Google is attempting to make this even easier with App Inventor though I'll most likely be skipping that route - it's a little too Visual Basic-esque for my tastes.
Downsides
As you can imagine by now, I don't have a ton. One thing I was a bit disappointed with was that it appears that data and voice don't work at the same time - if you're talking on the phone, you can't say "hold on" and look up the nearest restaurant. I only rarely find myself in that situation though, so it's not a huge issue. The other is the keyboard. It takes a bit of getting used to; at first I would say that I was at about 80% of my iPhone speed but that has since improved, probably up to about 90%. The screenshots I've seen of the Android 2.2 keyboard lead me to believe that with that release the speed will improve further. Part of the issue with the 2.1 layout is that there's just so much stuff trying to fit into a small space that it's difficult at times to know whether it's best to bring up the secondary character set or try to find the character you're looking for in the shift keys above the current one.
Social Network Personalities
Posted on 30 May
A few weeks ago I remarked on some of the differences I'd noticed between the people I was connected with on Facebook, Twitter, and Google Buzz. Generally speaking, I'd noticed that people on Buzz tend to be quite a bit smarter/wonkier than your average joe - "the people who actually did the reading [in class] and got really into it."
I now have some anecdotal evidence to back this up. Behold this excellent Charlie Rose interview of John Doerr from TechCrunch Disrupt, specifically the share counts on each network:
Charlie Rose is extremely talented at painting broad intellectual strokes and pulling out larger patterns, which is exactly what happened. Stimulating, but not really link bait - the retweet count is actually on the low side for a TechCrunch post. But the Buzz count is through the roof - higher than Facebook and nearly half of the retweet count.
Compare this with Exhibit B:
The post is much more controversial, but it's not really hitting any intellectual high notes. Barely any buzz at all, while the twittersphere is up in arms in contrast.
Yes - we're only talking about two data points. But my gut tells me there's something here.
Goodbye, Facebook
Posted on 21 May
We're done here. Five years after signing up for an account, I am quitting The Facebook. When I first filled in the profile information about my favorite books, movies, and music, it never occurred to me that this information would one day be made publicly accessible (without any option to make it private), not to mention fed in bulk to advertisers on the site. I'm pretty sure that five years ago, that was not the intention of the site's creators, but today it very clearly is. The service has changed, as have the costs and benefits associated with participating, and that calculus no longer makes sense for me.
That constant change has been perhaps the strongest reason for deleting my account. I don't mean the much-aligned aesthetic changes, but rather the changes to what it means to have an account, to be in a network, to list an interest, to connect to another site. I'm not a Luddite by any stretch, but these changes are being made with Facebook's interests and bottom line in mind, each one more and more clearly aimed at that end. This is certainly their prerogative, but it's no longer something I wish to be a part of. The changes are not making the world or the web a better place.
Yesterday at Google I/O, Dewitt Clinton said he would far rather have a federated network of a million tiny social networks rather than one with a billion users. Others on the panel drew parallels to the days when you could only email someone if they were "in your network" - in the literal sense. The implication, of course, was that Google is moving forward with the tools that will make cross-network communication as seamless as emailing between Gmail and Hotmail is today. Given that these are Google employees talking, he statement obviously has to be taken with a grain of salt. However, the argument is still strong and I do see this happening in the next five years.
Later tonight I'll be deleting - not deactivating - my Facebook account. There's a bit of irony, of course, in that I'm posting this one last item to Facebook, but it seemed like a good way to maybe encourage some others to take the same step. I'm taking one thing with me before I go, though - my content. Abandoning five years' worth of content was probably the biggest thing that kept me from doing this sooner. Luckily Facebook's Graph API makes it very easy to grab everything that you've put on the site in a structured way, and I'll be doing this shortly. I'm not sure exactly what I'll do with it yet, but I do know that I want it to live some place where I'm in control.
From the archives
Posted on 31 December
***Five years ago I had a job writing for Grist, an environmental news blog. I just came across this old post from way back then, when 'blog' was still a four letter word. It's actually in response to an article by a colleague at the time. While the original topic was about the environment, I took things in a decidedly more philosophical direction, and the content is still relevant because of that decision.***
I would throw this analogy out there. In the hypothetical, completely ideal world of globalization where people and nations do only what they do best (hold a comparative advantage for), everything gets divided up and specialized.
But in the real world, people and nations like to do some things themselves. On the national level, defense is one example. Producing a pretty fair amount of food and energy domestically is another. On the personal level, there are tasks and jobs that people just prefer to do, or at least be able to do, themselves, even if they aren't that great at them. For example, most people like to have a certain degree of culinary expertise, usually extending beyond ramen, if only slightly.
I extend this analogy to the "thinkin'" world. There is absolutely no way for everyone to do all their thinking for themselves. They must learn which sources to trust, as you say. But there's a certain level to which you have to be able to do your own thinking, a level which is different for everybody.
For a timely example: I am no legal expert, and probably would have never even seen the NARAL ad opposing SCOTUS nominee John Roberts had it not been for the online firestorm that resulted. Annenberg Political FactCheck is an organization that I have come to trust because of its work on other issues, so when they say something like "the ad is false," that tends to convince me. It also means that on this issue, I did not dig through the legal briefs myself in order to be convinced that the NARAL ad was misleading.
This is also (warning: cliche ahead) the power of blogs: when there's a new blog created every second, there's going to be someone who is willing and able to blog in-depth about almost any particular topic there is, to become the expert on it. Does it really make sense for me to immerse myself and investigate fully a topic like land trusts if someone I trust, like Pat Burns, has already been doing a superb job for some time and will thus be much more efficient than me at analyzing news when it breaks?
The irrationality of some heuristics certainly throws a monkey wrench into this whole thing. The "price implies quality" bias can be a devastating argument against free markets with the exception of commodities markets, since it scuttles the assumption that people act rationally/have good information, since the information they are inferring is incorrect if it's based solely on the "price implies quality" idea.
The idea of "perceived consensus" is also an interesting one, and one which contains elements of framing in it. If something starts to be referred to with words implying consensus, it won't be too long before there is a perceived consensus. Of course, if the basic facts of the matter are incorrect, it won't get anywhere, mostly because of blogs and organizations like FactCheck, but simply having the facts right isn't enough.
One potential problem then is the fact that those who are adept at getting the facts out and investigating might not the ones who are best at framing the issue and getting the message out.
Rails Rumble 2009 - Vote For Your Favorite App
Posted on 30 August
** Originally published on TechCrunch **
Ruby on Rails is well-known for being a powerful tool to help developers quickly turn ideas into working code. Rails Rumble harnesses that power and drives it to its only logical conclusion: a 48-hour programming competition pitting more than 200 teams of coders against one another for some pretty serious prizes. Each team of up to four people is provided with exactly the same thing: a virtual private server from Linode, a private repository on GitHub, and a really tight deadline. BYO caffeine.
The competition has ended and now that many of the contestants are awake again, it's time for the public to kick the tires on these mini-applications and vote to decide who will take home the championship belt (and no, that's not a figure of speech in this case. There really is a belt). The 22 finalists include something for everyone, whether you're a developer working to nail down requirements, a boozehound trying to figure out what cocktails you can make with the leftovers from last night's party, an old-school arcade nut looking to play multi-player Asteroid, or a hopeless romantic trying to employ Twitter to woo a crush.
Even the teams that don't come away with any material prizes will have gained some very valuable feedback on whether their idea might have any legs in the long run. Fifteen of the entries from the 2008 competition are still active and available to users, including all of the prize-winning applications.
So head on over and check out the applications, leave some feedback, and vote for your favorite(s). Voting ends tomorrow, Sunday, at 5 pm PST. You'll be deciding a grand prize that includes a netbook for each team member and a bottle of 12 year Pappy Van Winkle Whiskey (from GitHub - I knew those guys were classy), not to mention year-long bragging rights.
Inbox: Zero. Google Reader: not so much
Posted on 22 7 2009
I'm a big advocate of the "Inbox Zero" philosophy of email management. I don't have the merit badge, and I don't think it needs to be quite so extensive, but I still like to keep things pristine.
My RSS reader is another story; I rarely clear it out entirely. When I go through the items (once per day), I'll mark a few choice ones as unread for further perusal and keep plugging through the chaff. Once I start to hit things that I've seen before, it means I've finished the boring part.
There's usually somewhere between 10 and 25 items, spread over a week or so, that remain marked as unread. These savory morsels get read, re-read, shared, emailed, or (theoretically) turned into fodder for blog posts. The best ones are approved by the Senate and become a law! get starred and saved for all time.
I prefer this system over the inbox zero method because it allows the ideas in the posts to seep a little deeper into the gray matter. It's a fundamentally different mindset that you're in; often if someone emails me an article I'll use this handy bookmarklet to get it into Reader and then move it to a separate folder.
I still haven't decided what to do with the new features the Reader team keeps rolling out, though.
Ad-free Pandora
Posted on 21 5 2009
Yesterday I subscribed to Pandora's new ad-free service, "Pandora One." The tipping point came when 'Graceland' was followed by an audio ad for Terminator: The College Years.
The service is, in my opinion, perfectly priced, at $36/year. I suspect that this figure was chosen (as opposed to, say, $40/year) because it prompts you to do the mental math and figure out - for yourself - that it's only 10 cents/day. Brings you back to the days of pledge week on NPR, doesn't it? And speaking of which, how great is technology that it can exempt subscribers from requests for money or ads? I remember that being my main mental counter-argument to Bob Edwards - if I send you money, I still have to listen to you solicit us for two weeks every few months!
Anyway, the service is great. No ads of any kind, really great audio quality, plus a sleek desktop app with built in growl-type notifications of what song is playing. I'm also hoping that, since it's a stand-alone app, this means that I'll be able to map the keyboard controls for iTunes to control Pandora instead. If anyone has already figured out how to do this, please let me know!
The way we [should] share now: Tonido
Posted on 9 5 2009
Tonido is a company after my own heart. They address many of the concerns that I have about the way that people publish and share their own content online. The short version of that post is that you should be able to publish content in one place, that you control, and easily choose how to share each individual item with your friends (as well as which friends to share it with).
Tonido takes a big step in that direction. By providing a low-cost, energy-sipping, user-friendly home server, they make it easy for people to take their data out of the cloud but not lose any of the associated benefits.
The other development in this arena that has me excited is Facebook's decision to further open their API and make it even easier for third party sites to seamlessly integrate a user's network into his experience on the site.
In other words, it allows me to do something like host my own photos on my own server (or Tonido if I so choose), and have any social activity (new albums, comments, tags) be posted back to Facebook just as if it had happened there in the first place. This is a huge shift (though one that Facebook has slowly been inching towards for a while now).
But we're not there yet, which is the most exciting part. I could easily see Tonido, as much as I like them, getting overtaken by a fast follower who offers a more appealing combination of applications or even more seamless integration with social networks.
Maybe I'll even give it a shot -- after all, I have 10 spare hours a week.
The Music Man: Your young men will be Twitterin'
Posted on 27 4 2009
With sincerest apologies to Meredith Wilson
Well, either you're closing your eyes
To a situation you do not wish to acknowledge,
Or you are not aware of the caliber of disaster
Indicated by the presence of the social web in your community.
Well, you got trouble, my friend, right here,
I say, trouble right here in River City.
Why sure I'm a Facebook user,
Certainly mighty proud I say
I'm always mighty proud to say it.
I consider that the hours I spend
With a mouse in my hand are golden.
Help you cultivate a network
And a personal brand and a social graph.
Ever take and try to find
An iron-clad link from yourself
To a Fortune 500 boss, in two connections or less?
But just as I say,
It takes judgement, brains, and maturity,
To score in this online game,
I say that any twit!
Can take and tweet a text from their pocket
And they call that Twitter!
The first big step on the road
To the depths of the Singularity -
I say, first, informational texts from a plant,
Then tweets from a baby!
And the next thing ya know,
Your son is bloggin' for money on a MacBook Pro.
And listening to some big out-of-town VC
Here to tell about somethin' called YouTube
Not a wholesome television show, no!
But a clip that you upload right there yourself!
Like to see some stuck-up Charlie-boy
Chompin' on his brother's thumb? Make your Rick "roil," well, I should say.
Now friends, let me tell you what I mean.
You got one, two, three, four, five, six connections in the graph.
Connections that mark the difference,
Between a gentlemen and a bum,
With a capital "B" and that rhymes with "C" and that stands for Cuil!
And all week long your River City
Youth'll be twitterin' away,
I say your young men'll be twitterin'!
Twitterin' away their noontime, suppertime, choretime too!
Get the pix up on Flickr
Never mind gettin' blog feeds pulled
Or the software patched or the corners rounded.
Never mind sendin' any emails
'Til your parents are caught with their inbox empty
On a Saturday night and that's trouble,
Oh, yes you got lots and lots of trouble.
I'm thinkin' of the kids up on MySpace,
Shirt-tail young ones, peekin' at the lolcats
Website after school, you got trouble, folks!
Right here in River City.
Trouble with a capital "T" and that rhymes with "C" and that stands for Cuil!
Now, I know all you folks are the right kind of parents.
I'm gonna be perfectly frank.
Would you like to know what kind of conversation goes
On while they're surfin' around that web?
They're tryin' out Bebo, tryin' out Friendster,
Tryin' out Tumblr logs like Stumblin fiends!
And tweetin' all about
How they're gonna delete all those photos on TwitPic from last night.
They leave the Ping hall, headin' for Netflix Watch Instantly,
CollegeHumor men and CuteOverload women!
And Pandora! Streaming music, that'll grab your son, your daughter
With the arms of a jungle animal's instinct!
Mass-participation!
Friends, the social brain is the devil's playground!
Chorus:
Trouble, oh we got trouble,
Right here in River City!
With a capital "T", that rhymes with "C", and that stands for Cuil,
We've surely got trouble!
Right here in River City,
Right here!
Gotta figure out a way to keep the young ones offline after school!
Trouble, trouble, trouble, trouble, trouble...
Harold:
Mothers of River City!
Heed that warning before it's too late!
Watch for the tell-tale sign of corruption!
The minute your son leaves the house,
Does he resize his urls below the character limit?
Is there an overuse strain on his texting finger?
A porn cookie hidden in his browser history?
Is he starting to memorize facts from chucknorris.com?
Are certain words creeping into his conversation?
Words like "LOL"
And "icanhascheezburger?"
Well, if so my friends...
You got trouble,
Right here in River City!
With a capital "T" and that rhymes with "C" and that stands for Cuil.
We've surely got trouble!
Right here in River City!
Remember the meme, OK GO, and the series of tubes!
Oh, we've got trouble.
We're in terrible, terrible trouble.
That site with the social network graph is a devil's tool!
Oh yes we got trouble, trouble, we got big big trouble!
With a "T"!
Gotta rhyme it with "C"!
And that stands for Cuil!
That stands for Cuil!
Freedom to Tinker: The Double-edged Sword
Posted on 17 4 2009
"Freedom to Tinker" is not only an apt title for a great blog; it is also an overarching theme that spans many of the thoughts that have been occupying my spare brain cycles over the past few weeks.
Freedom to tinker can be a wonderful, empowering thing. It's at the root of every invention, every new business, every mashup (no matter how puerile). It's at the root of the open source software that I've come to embrace more and more recently.
In other words: it's fun to futz. But not only is it fun - it's also important and valuable. Robert Pirsig paints a protagonist in Zen and the Art of Motorcycle Maintenance who stands in stark contrast to the other characters in the book because of his ability and, more importantly, desire to understand every last ball bearing in his trusted machine. The trait is timelessly invaluable.
Letting the end users of a product tinker with it has a downside though. Facebook took a huge amount of flak from its users for their most recent changes, but as TechCrunch points out, they should probably just ignore it. "When you listen to your users, you get vanilla, feature creep, boring." The Getting Real crowd would have similar things to say (about user feedback, not necessarily the UI design).
However, the tinkerers are probably not the ones sitting around whining about the new design. They are the ones building applications to interact with Facebook's API, or building the next Facebook entirely. It's important to engage these tinkerers and power users, for entirely selfish reasons. When you listen to your users, you get vanilla. When you listen to your power users, you get the App Store. Not only that, but you get an entire App Store's-worth of developers who are interacting with your product instead of building a competitor.
Web browsers are another example. In theory, it's great and completely reasonable to say that people should be able to tweak their browsers, choose different browsers based on their personal preferences and needs, write their own if they are so inclined and able. But it makes life very hard if you're publishing content and have to worry about how it's going to show up in 18 different settings. Even if you agree that you should make sure it's minimally functional everywhere, it's a giant hassle and takes a lot of the, well, fun out of content creation.
Sometimes it is a legitimate design decision to force a browser choice (or other choices) on the user - for example, the iPhone only allowing Safari. In some ways, it can be just as fun to have an implementation hidden and unavailable to you as a user - this is at the root (and is unfortunately a tradeoff) of the "it just works" approach.
Of course, mentioning browser wars leads directly to the idea of standardization. I won't delve too deeply into that topic here, but I did have a particular quote stick with me from Stephen D. Crocker's op-ed in the Times a couple weeks ago, on the early days of the Internet:
Instead of authority-based decision-making, we relied on a process we called “rough consensus and running code.” Everyone was welcome to propose ideas, and if enough people liked it and used it, the design became a standard.
So when is it best to practice strict enforcement of standards, versus letting users play around and "roll their own"? Or is that even the right dichotomy?
...and in with the new
Posted on 17 4 2009
Welcome to the latest incarnation of Citing the Text, most recently hosted by Blogger. It's been a long time since the days of Xanga; hopefully this latest version is a little easier on the eyes.
I recently wrote about how I decided to overhaul this site's architecture. This new blogging platform is the first of many features that the redesign will enable.
In the spirit of getting things out there in front of real users and iterating in response to feedback, this blog is being released in a deliberately unfinished state. It is certainly not a design masterpiece by any stretch, but it's something to build on.
Lastly, a million thanks to Ryan Bates and his always useful and inspirational Railscasts.