No changes to The Bytebaker feed

Dear readers, yesterday I noticed a sharp drop in the number of RSS feed subscribers. I apologize if all this jumping hosts has been confusing, but The Bytebaker feed remains the same. The feed is currently distributed via Feedburner and I will continue to use that as the main feed. I use Feedburner precisely so that nothing changes if I move across hosts. If you happened to switch to the default WordPress.com feed, I’d like to ask you to move back to the Feedburner one. Once again, I’m really sorry for the confusion. The RSS button on the right links to the Feedburner feed (I’m aware that the button is distorted in Google Chrome).

It’s possible that this is just a glitch in Feedburner’s tracking system (this wouldn’t be the first time), but I’d rather not take that chance with my readers. Thanks again for all your help and consideration.

Is Bespin the 21st century text editor?

Integrated Development Environments are one of the primary tools of our trade. But personally I think an IDE can only be a good product if it has a robust text editing component. The king of text editors is Emacs. No offense to Vi users, but the Emacs + Elisp combo is unbeatable in my opinion, for a number of different reasons, programmability being the main one. Of course Emacs does have its problems. Steve Yegge discusses these problems quite thoroughly in his post on XEmacs. What’s interesting is that he claims that if Emacs doesn’t get its act together and fix its problems, it won’t be long before a browser sprouts enough editing capabilities to eclipse Emacs. I think that time is close at hand.

Enter Bespin. It’s a Mozilla project that is still under heavy development, but there’s a public demo already available. Bespin is an online text-editing environment written entirely in open source JavaScript. It’s provides syntaz highlighting and some project management and looks really slick by making use of the HTML5 canvas element. The best way to understand what Bespin can do would be to watch their introductory video:

It may not be immediately obvious what all the fuss is about if you’re used to using a modern IDE like Eclipse. After all, it’s just a text editor, right? Yes, it is just a text editor and that’s where the beauty of it lies. Firstly, t’s programmable in the Emacs tradition. That means that you are allowed and encouraged to write your own bits of JavaScript to adapt it to work the way you want to. Secondly, it’s sports an open server API which means that you could potentially use Bespin as an editor-like interface to anything you want. This has already led to Bespin running on top of the Eclipse IDE. Eclipse acts as the server and Bespin acts as the editor interface to it. Here’s a screenshot of Bespin+Eclipse in action showing Eclipse communicating errors in the Java code that Bespin is editing.

Keep in mind that Bespin is still in a very experimental stage. However, the example above is clear evidence that Bespin is going to be a force to reckon with in the IDE sphere soon enough. I think that bringing a client-server model to IDEs is going to offer a significant productivity improvement to programmers especially as developers and companies have to wrangle increasingly complex, heavy weight codebases.

Development machines need to be real monsters nowadays to efficiently handle the demands of the software being developed. Using Bespin, developers could invest in industrial strength servers which serve as both code repositories and build farms. The developer’s machine then act simply as terminals or can run local lightweight server instances for the Bespin frontends to connect to. This means that developers can afford having cheaper machines themselves, but don’t need to wait for long compile times as they’re being outsourced to the powerful servers. Code is also centrally stored meaning that it can be pulled up a moment’s notice and worked on collaboratively. This could mean more efficient workflows for software companies.

But the biggest win would be for the developers themselves. Here is how I can see myself using Bespin: I’d have a machine sitting in a safe, well connected location running a Bespin server. This would be my main development machine so I’d trick it out with as much RAM and processor speed as I could afford. The server itself might be some form of headless Eclipse or something equivalent for whatever language I happen to be progamming in. The cool thing is that since there is an implementation agnostic server API, I could even write my own server that lashes together compilers and build tools for whatever language I happen to be using and displays results via Bespin. The server would also use a version control system like Git seamlessly as part of the storage infrastructure. I could then connect to this server either from any modern browser meaning that I wouldn’t have to drag a machine with me to write some code. Anywhere hacking would be a boon for open source developers and students. I can also imagine a Github-like service that hosts both files and their development tools so that developers can avoid even running their own Bespin servers.

So is the age of always-available, online IDEs upon us? I think not quite yet. It’s still untested territory to a large degree. Bespin itself is coming along quite nicely and is implementing some very interesting ideas. But a lot is going to depend on how well the Bespin servers work. Headless Eclipse is fine for Java, but there needs to be similarly capable systems evolving for other languages and platforms as well. The API does a good job of keeping things minimal and implementation agnostic, but it also puts the onus on server developers to make quality systems targeting their respective platforms. I’m looking forward to some good work coming out of the Bespin and related projects in the near future. I’m even seriously considering learning some JavaScript so that I can better understand how the whole thing works. For the time being though I’ll stick to Emacs, though I’ll certainly keep an eye on the Bespin mailing list.

Sunday Selection 2009-06-14

Programmers and hackers are often an introverted bunch. But the things we create have a considerable and measureable impact on the world and conversely our work is affected and influenced by things around us. Today’s selection is an attempt on my part to highlight those facts.

Reading

What Open Source shares with Science I’m sure this analogy has been made numberous times and I think it’s a pretty good one. This post is an interesting read because it goes quite a bit in depth regarding the history of science.

Media

The Last Lecture Carnegie Mellon Computer Science Professor Randy Pausch was one of the world’s prominent experts in virtual reality but he’s probably best known for his Last Lecture. I think everyone on the planet should watch this, especially if they’re young. There’s some computer science in it, but it’s the holistic experience that it’s worth watching for.

Books

I’ve decided to drop the software part for this installment in favor of something more 20th century.

Rebel Code This is the story of Linux and the Open Source Revolution and how it played an important part it creating the world we see around us today.

Moved back to WordPress.com

After four months away I’m now back to hosting The ByteBaker at WordPress.com. I would have liked to stay on paid hosting and experimented some more with custom themes and widgets, but unfortunately my hosting experience at Fatcow has not made that possible. Things started out well but have recently deteriorated to below acceptable levels in terms of speed. I still have 6 months of hosting left and I have some ideas for a purely static site that I might want to put up, but I won’t make any progress on that until later in the summer.

For now it’s back to The ByteBaker as my main platform. I’ve decided to go with a clean, minimal theme with just a small amount of customization. I’ve always wanted to have something that was a bit more permanent than a day to day blog. With that in mind I’ve decided to have a static front page for new readers who are looking to have a quick overview of the most important articles that I’ve posted. I’m working on a longer post on why a pure blog isn’t the most suited to what I want, but for now the best I can do is to refer you to Steve Yegge’s blog posts on the matter.

When I talked about starting a life recording experiment, I mentioned how I wanted to have a wiki that I could use as a staging area for possible blog posts and as a catch-all for any interesting ideas I might have. I wasn’t sure about what service or tool I wanted to use because I had some conflicting requirements. At this point the main choices I’m considering is using an online wiki hosted at PBWorks or writing text files which get turned into web pages on Github Pages. I’m going to start trials on both of them and make a decision by the end of the summer.

I’m looking forward to writing some good posts with a simpler, more efficient setup on hand.

Taking a look at other hosting options

So for the past week or so my host seems to have been having serious troubles with their MySQL servers which means that and WordPress-based system (such as this blog) is running painfully slowly. The experience hasn’t been a good one for me and I’ve seriously been considering switching hosts (especially since the only reply I can get is that the engineers are aware of the issue and are looking into it). I don’t enjoy the whole process of selecting and then moving to a new web host, but I’d take that pain if it meant my site ran smoother.

My search for a good hosts was rather depressing. Being a starving college student, I really didn’t want to spend a lot of money on hosting. I found a number of good deals online, but almost all the hosts I looked at had a fair amount of negative reviews about them. I understand that if your operations grow beyond a certain size you’re going to have some disgruntled customers no matter what. But I just couldn’t bring myself to actually deciding on another host. I’m a little reluctant because I’m only about 4 months into the year that I’ve paid for and I would really like not to lose that money.

Four main factors influenced my not making a decision. Firstly, I want to give my current hosts some time to solve their current problems and see if they actually do anything. Secondly, I wanted to look for cheaper alternatives. This blog has always been running on WordPress and I really like the WordPress platform. Admittedly the only other platform that I’ve really used is Blogger and that too, years ago. For most of last year this blog was hosted on the free WordPress.com site with a custom domain name (that cost me only $10 a year).

WordPress.com gives a really robust hosting solution at the cost of limited customization. Though I first moved away from WordPress.com because I wanted to have more control, I’ve since come to realize that I don’t do all that much customization. In fact, I prefer to have a more content driven-site and so adding widgets and such is really not that important. The main issue is that since I moved to dedicated hosting my trafiic has almost tripled. I’m not sure whether that’s actually a result of moving away from WordPress or simply that I’ve been putting in more effort. I’d like to think it’s the latter but I’m not sure. I also just read a very detailed article on how much hosting bandwidth a website needs as the readership grows. Though I still have a rather small daily hit rate, I have had the occassional spikes. WordPress.com has handled theses spikes without flinching, but I’m pretty sure that my current host wouldn’t do as well. This is an important consideration for me as readership has been increasingly steadily over the past few months and I want to keep encouraging it. A slow or unresponsive site would really derail those plans.

The third option is more expensive: using a more expensive solution such as MediaTemple‘s Grid Service or one of the plans from FutureQuest or Pair (both of which have almost no negative reviews). They both sound like great options, but at about $10-$20 a month, I’m not sure I can justify the investment, especially since it will certainly be a good few months since I actually have so much traffic. Since I have no plans to monetize this site all that money would be coming straight of my pocket. Again, not something that I would enjoy doing.

While being a student may have some disadvantages in terms of financial strength, the good thing is that I get my school’s great network services all for free. I already have a small server on the network which I use for file backups and I could just host The ByteBaker on its very own server (if the network people are fine with it). The only downside of this is that I would then have to do all the server administration on my own. Having never actually administered my own open-to-the-world server I don’t know how much of a challenge this would be. I would have total control and wouldn’t really have to think much about bandwidth or excessive CPU strain (unless the site suddenly gets hundreds of thousands of hits a day). On the flip side, I would be totally on my own if something were to ever go wrong and that’s rather unsettling, even for a do-it-yourself guy like me. Once again, I would really like to be able to just write this blog and not fiddle with the technology stack behind it.

One of the reasons I like to write blog posts is that they’re a great way for me to think out loud. In the process of writing this post I’ve come to realize that simplicity is really what’s important for me. The more I’ve been thinking about it, the more I realize that WordPress.com is actually the sweet spot for me at this point. For just $10 a year I get a really robust platform which should be able to scale very well. And for just $15 more I get custom CSS for my site which combined with their Sandbox theme means that I can have most of what I can get from a custom theme. The only thing that I don’t get is the ability to use my own plugins and themes and I’m stuck with a very basic stats tracking package, but that’s something I’m willing to accept. In retrospect, I think I may have jumped the gun somewhat by moving to paid hosting without seriously exploring everything that WordPress.com had to offer.

If it weren’t for the fact that I’d spend a considerable amount on my current host, I would move back to WordPress.com right now. But considering the circumstances, I’ll wait till the end of the week to see if my host resolves its SQL issues. I don’t have much hope because after reading around on the internet, it seems like other people have been having the same problem for a while with no solution. At the moment it seems like by Monday I’ll be back at my old home. The domain name and the RSS feed will still say the same, so regular readers have no reason to worry. Here’s looking to a faster, simpler ByteBaker.