Category Archives: Technology

ZigVersion and RailsPlayground Subversion Hosting Rock

I have a few Ruby on Rails applications I maintain outside of the commercial work I do. These applications are important to me but I have been very bad at keeping them in any source control until today.

I use RailsPlayground with a VPS for my personal hosting and I have been very happy with the hosting and the service in particular. I started looking around for a free or cheap Subversion hosting source and was pleasantly surprised RailsPlayground provides this to their VPS clients.

Pretty decent specs compared to some of the paid-for Subversion hosting plans:

Advanced Subversion and Trac Hosting

In addition to your normal webspace with our hosting plans you will receive a free account on our dedicated SVN and Trac Server with the following features.

* 1 GB Disk Space
* 10 GB Traffic
* Unlimited repositories
* Unlimited users for each repository
* Trac installed automatically via our custom control panel
* Your own Bugzilla instance by request
* Nightly offsite backups
* RAID 1 Data protection
* Secure HTTPS and HTTP access to your svn repositories
* Free with any of our current hosting packages.
* Just send an email to support@railsplayground.com to request access to this service once you have signed up.

I sent an email to support and less than 1/2 hour later I had a new account in their Subversion system and ready to go. I am doing much of my Rails work on a MacBook Pro and Subversion from the command line has not been my favorite way to work. I guess I am used to TortoiseSVN on Windows.

Welcome ZigVersion, a SubVersion client for the Mac from my good buddy Mike Gunderloy over at A Fresh Cup. A quick Twitter chat with Mike and I had the answer I was looking for, a great Subversion client for my Mac. The installation was trivial, as usual on the Mac, and connecting to my SubVersion repository was as well.

I simply added my project files via ZigVersion and checked in…done. The user interface is pretty sharp too.

ZigVersion

I am going to use this for my personal projects, since the client is free, but I will also see how well this works over the long-term and may look to buy a license of ZigVersion for commercial work.

I am also looking at using Git since I was lucky enough to score an invite to GitHub but I wanted to get something up fast and I am just get familiar with Git.

Advertisements

Interesting reaction to Amazon S3 failure today around the web

I blogged about my thoughts on the Amazon S3 failure today and what it meant to me and cloud computing in general. There was a fair amount of reaction and feedback out on the web and I wanted to share the comments I enjoyed most.

It is interesting how fast the blogs pick up on a failure by someone like Amazon, almost like vultures.  I guess most people look for a ding in the armor of companies with spotless records.

I like the reaction from SmugMug who was not effected by the outage.  I write for InfoQ, who recently switched over to Amazon S3 and EC2 for their video distribution and we were not effected at all.  The configuration we have was implemented in such a way that caching saved us.

Technorati Tags: ,,,

Google Mobile for the iPhone is Blazingly Fast

I just read about Google releasing an update to it’s applications for mobile, with explicit updates for the iPhone.  I am running on the AT & T Edge network which has been criticized for being slow, and all I can say about this update is WOW, it is wicked fast.

googlemobile

I use my iPhone to do some Google searches but also to access my GMail account as well as Google Reader.  It switches applications very fast and updates them nicely as well.  I am very happy with this update, great job Google.

I found a more detailed review of the new features along with a nice write-up from TechCrunch.  I plan to spend a lot more time with it but as far as I am concerned, this update is the best yet.

Google, now make the new Google Maps location feature work on my iPhone…please!

 

Technorati Tags: ,

ASP.NET Development Server Problems Under Vista

I guess I was bored last night so I decided to upgrade my development system to Vista.  I have been running Windows XP Pro without any real issues but I wanted to start using some of the features of Vista I had only used in my virtual machines.

The upgrade went pretty well with only a handful of driver issues for video, printer and my sound card.

I installed the Visual Studio 2005 updates to run on Vista outlined by Microsoft and Visual Studio seemed to run just fine.    Note that ASP.NET is not installed by default, so you will need to enable it.

I normally use the ASP.NET Development Server for ASP.NET applications for development and testing and move over to IIS for deployment.   The only real problem I faced was hitting Ctrl-F5 in Visual Studio 2005 to run one of my web applications, the server started, Internet Explorer opened but nothing happened.  I waited for several minutes, but nothing.

After searching the web many different ways I found out that Vista implements IPv6 (versus the old IPv4) and browsers may have issues resolving http://localhost.  Since I use both Internet Explorer and Firefox for web development I decided to try just copying the URL the ASP.NET Development Server was using and pasting manually into both browsers and the same result…nothing, no error, nothing.

It turns out others have had this same problem and you can turn off IPv6 in Firefox pretty easily.

Disable IPv6 in Firefox
  1. Type about:config in the address bar and press Enter.
  2. Scroll down until you find network.dns.disableIPv6.
  3. Double-click on it to change its value to true.
  4. Restart Firefox.

After restarting Firefox I pasted the address used by ASP.NET Development Server into the Firefox address bar….and it worked like a charm.  So, it seems IPv6 is the issue.

I spent an hour or so trying to find a similar configuration for Internet Explorer but had no luck.  If a reader finds a setting in IE to disable IPv6 I would like to hear about it so I can update this post.

The solution I did get to work in IE was to disable IPv6 for my system.  I found a great article by the Cable Guy which pointed out what to do.   In short I set the following key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters\DisabledComponents

to a value of 0xff and restarted the system.  Checking the ASP.NET Development Server URL in the IE address bar displayed my page.

Conclusion

This worked for me but I have reservations about the solution.  What are the side-effects or the future effects of disabling IPv6 which Microsoft includes with Vista.  If the system evolves and I need IPv6 then I will have a different problem.

If someone has a different solution I would like to hear it.  I am not keen on disabling IPv6 but it works and it is not irreversible.  On the plus side, browsing the web seems to be faster.

Technology Bias Can Be a Strength or a Weakness

I have been reading a number of posts around the web about Derek Sivers of CD Baby dumping Ruby on Rails to return to PHP.    I am sure just about every Ruby enthusiast has read the post over on the O’Reilly Ruby blog.

In case you missed it the post is about how CD Baby spent the last two years converting their PHP-based web application to Ruby on Rails only to have the project fail and Derek going back to PHP and doing it himself in two months.  Here is an except from the O’Reilly web site:

INTRO / BACKGROUND:

Back in January 2005, I announced on the O’Reilly blog that I was going to completely scrap over 100,000 lines of messy PHP code in my existing CD Baby (cdbaby.com) website, and rewrite the entire thing in Rails, from scratch.

I hired one of the best Rails programmers in the world (Jeremy Kemper aka bitsweat), and we set off on this huge task with intensity. The first few months showed good progress, and Jeremy could not have been more amazing, twisting the deep inner guts of Rails to make it do things it was never intended to do.

But at every step, it seemed our needs clashed with Rails’ preferences. (Like trying to turn a train into a boat. It’s do-able with a lot of glue. But it’s damn hard. And certainly makes you ask why you’re really doing this.)

Two years (!) later, after various setbacks, we were less than halfway done.* (To be fair to Jeremy’s mad skillz: many setbacks were because of tech emergencies that pulled our attention to other internal projects that were not the rewrite itself.) The entire music distribution world had changed, and we were still working on the same goddamn rewrite. I said fuckit, and we abandoned the Rails rewrite. Jeremy took a job with 37 Signals, and that was that.

I didn’t abandon the rewrite IDEA, though. I just asked myself one important question:

“Is there anything Rails can do, that PHP CAN’T do?”

The answer is no.

I threw away 2 years of Rails code, and opened a new empty Subversion respository.

Then in a mere TWO MONTHS, by myself, not even telling anyone I was doing this, using nothing but vi, and no frameworks, I rewrote CD Baby from scratch in PHP. Done! Launched! And it works amazingly well.

It’s the most beautiful PHP I’ve ever written, all wonderfully MVC and DRY, and and I owe it all to Rails.

Projects fail and this won’t be the last one.  What I find most interesting is not that the project failed, failed using Rails or even went back to PHP, but the number of comments from Derek’s post, 333 as of the time of this writing.  What amazes me beyond the number of comments but the number of comments by people taking the time to piss and moan about either how PHP sucks, the CD Baby site sucks or how Rails sucks and Derek should have known better.

This is not the first set of comments of this type I have seen, it shows a common pattern.  People spend their time becoming angry and venting to someone because they don’t like what they are reading.  This is obviously counterproductive, immature and makes the commenter lack credibility.   The shear number of comments to Derek’s posts reveals the true passion people have for a technology and points out how people often lack communications skills to adequately describe their bias to their technology.  The outbursts we see in posts mostly shows a defensive response to something they are taking as a personal attack.

You can see what I mean from a few of the comments:

Your website looks like a spam site.

Anonymous | September 22, 2007 07:11 PM

Haha at the Rail Kiddies…

No | September 23, 2007 01:46 AM

PHP is a super slow language that not even ruby can beat for performance.

Joe | September 23, 2007 07:54 AM

Why bother to post at all if just to attack?   I always find this interesting, many people take time out of their day just to post a negative comment instead of something constructive and useful.  Not all comments are negative and some are very useful, still showing a bias toward a language.  I think people who can successfully communicate why their language is better in solid technical reasons from a background of real experience really give value to a post.  Why waste time posting a comment it is not going to be constructive?

Our bias sometimes prevents us from adding value to our profession, whether it be a blog comment or even at our jobs.  I have seen people get incredibly agree when second-guessed in a meeting about a technology decision they have made.  It makes them look very bad to their peers and bosses.

I like to step back and think before reacting.  Sure, developers take pride in the technology they have chosen and it is easy to be reactionary to be put on the spot and asked to justify our bias.

I try to follow some rules of thumb:

  •  Think out-of-the-box – don’t just say your technology is “the” one to use always, because that is never the case.   Just because it is the technology we know it doesn’t mean it is the best one in this case so know when to have an open mind.
  • Know what you don’t know – we don’t know everything, don’t try to come across as a know-it-all, be willing to listen to others when the technology is something you are not familiar with
  • Leverage what you do know – be able to effectively communicate why your technology is best for the job.  Do it in a calm and intelligent way. 
  • Keep in mind the real goal, solving business problems.   When all is said and done this is what we are paid to do so just do it.  If your technology is not best for this particular business case then accept it and move on.

Here is another post on a different blog that shows a similar attack on Ruby on Rails by someone who just met Erlang and decided it was “the” technology for him.   Instead of a good list of technical reasons against Rails and how Erlang solves problems better, the author just attacks Rails and the Rails community with little technical reasons for anything.  This is another great example of a bias without thought and without real experience.  The post did receive a fair amount of comments pointing out holes in the anti-Rails arguments.

So, if you are going to comment on blogs, make the comments positive and have it add value to the conversation.  You will look more authoritative and will spark better quality comments from other readers.

Technorati Tags: ,

Dogpile Web Search

I was checking the logs on my server the past couple of weeks and notice and interesting referrer, Dogpile.  I had never heard of this site and thought maybe my blog was so bad that I was exiled to some land of crappy weblogs.

dogpile

I decided to check them out and was happily surprised by what I found, Dogpile is a site that brings together into one place a search site that uses Google, Yahoo, Windows Live and Ask to give me results.  The site is nicely done and when something is searched for the results list where they came from, not just plain results.  You can see my results for Ruby on Rails below  (click for larger image):

dogpile_results

I normally use Google for searches as it returns the most relevant results but I also use the other services used by Dogpile.  It is nice to have it all in one place.   Others out there may have heard of this service or one like it but is new to me.

A search site of a different kind is Koders.  This is another great site if you want to search for programming related information and Koders will return source code and nice techie stuff.

Technorati Tags: , ,

On Hot New Development Frameworks and Tools

Robert Scoble has an interesting post on Django, which is a framework for Python that makes creating web applications easier, as does Ruby on Rails for Ruby.

The interesting part is not so much the post but the comments from his readers.  As is often the case, people are very passionate about the tools they use either because of the language it supports or the bias they may have toward the framework.  This is very evident by the numbers of people following Ruby on Rails, where the followers treat Rails more like a religion than a programming discipline.

I think too often a developer chooses their tool based on current popularity rather than on the technology it uses, the problems it solves or how the tool fits  to the problem at hand.

Picking a tool

I choose my tool(s) on differing criteria but follow these guidelines:

  • How well do I know the language? – Ruby may be the best tool for the job based on how a certain aspect of the language may more easily solve my problem, but if I don’t know Ruby very well there is no since in jumping on Ruby just because someone else said I should.
  • What is the community support like? – This is big when it comes time to running into a problem, and you will.  Is there a group of forums to post questions?  IRC Chat Channel?  Source code repository of
  • What type of third-party tools are available?
  • What operating system does the tool run on?  – This one has been a big one for me.  I am a Windows developer and there are times where a project could be run nicely on Ruby on Rails on a Linux box but working alone or with my other Windows developer friends, I can’t justify trying to put the project on Linux when none of the supporting folks know the operating system.  Knowing the operating system is just the surface, you have to know the web server (usually Apache), the database (MySQL), and various deployment mechanisms.

We have biases and this is natural as we typically use what we either like or know and what has worked for us in the past.  This is an inherently bad way to solve a problem as oftentimes we try to put square peg in a round hole.  I am guilty of it but I try to be more open minded as my knowledge and awareness of languages and frameworks grows.

Back to Django

I have played with Django on several occasions and in looking at the developer’s site it appears it was created with the newspaper publishing business in mind.  Maybe this tool would be best suited for putting a newspaper or magazine online or even a great tool for creating the next Content Management System (CMS).  Who knows, but I am sure it has strengths we won’t know about until we give it a fair shake.  I for one plan to do so once I figure out how to run it under Windows and IIS.

I ran across a project called XAMPP which gives me the ability to run Apache, MySQL, Perl and PHP on my Windows system all pre-configured much like InstantRails does for me.  The XAMPP project also has a Python add-in so I can run Python under it too.  So, I am most of the way there and I am sure someone has done it.  If I dig around the Django site maybe I will find a recommendation as the best way to accomplish this task.

It looks like there are a good number of sites running Django as well, check out Djangosites.org.

Of course it is probably in my future to become versed in Linux and use it to my advantage, we will see.

Finally

I think keeping an open mind when choosing a tool, language, framework or even an operating system is essential.  Our clients count on us to pick the best tool for the job.  Ideally we should not shout “.NET Rules” from the rooftops just because it is the tool we favor.  I know everyone knows this already but sometimes it helps to hear it again.

Technorati Tags: , , , ,