Web Software Architecture and Engineering – Life on the Bleeding Edge

Archive for November, 2009

VirtualBox 3.1 is out! Teleportation (aka live migration)!!!

Now you can supposedly move your VM from server to server, server to client. Sweet!
More details @ http://www.virtualbox.org/wiki/Changelog.

LinkedIn Released Developer API!

That’s right. Now you can intergrate your apps with LinkedIn. See the blog entry for more details @ http://blog.linkedin.com/2009/11/23/linkedin-platform-launch/. I wonder who will write the first RiaForge Project!

CFWheels 1.0 is out!

A very promising framework modeled on Ruby on Rails has finally hit Version 1.0.
Find out more @ http://cfwheels.org/.

Did You Know? (Video)

In case you haven’t seen this already. (Trying to motivate folks to keep innovating!)

Major Flaw in CF9 – May Break Code! (Part 3)

Just received a note from Adobe that this bug (the now infamous LOCAL bug) has been squashed and will be available with Updater 1. Woo-hoo!

HP Proven Worst Laptop Manufacturer

I knew this from reading their forums, but the stats are astounding! HP Sucks as Laptops.
Read more, and find out the best, @ http://tech.yahoo.com/blogs/null/154921.

  • “The most reliable companies? A shocker: Toshiba and Asus, both
    with below a 16 percent failure rate due to hardware malfunction.”
  • “The least reliable brands? Acer, Gateway, and HP. HP’s hardware
    malfunction rate, the worst in SquareTrade’s analysis, is a whopping
    25.6 percent

Git Anyone?

I was wondering if anyone has been using Git for a while, and can speak to working on a team where there is a lot of merging. What’s been your experience like? Is Git mature enough?
I’m thinking of jumping ship from Subversion. While I had the same thought about a year ago, new merge functionality promised a lot in Subversion 1.6.
Unfortunately, I’m in the middle of a new development cycle where there is a ton of merging, and I have two words for Subversion: SLOW and STUPID. Subversion 1.6, unlike the SVNMERGE tool which I used for ages and worked like a charm, doesn’t remember the previous merge. Its half-built. Its slow. And I’ve about had it.
I recently saw this video on Git. Its Linus Torvalds speaking at Google on Git, and while I have issues with some of the things he says, he’s right-on when he says that SVN should have focused on merging, not branching.
Hopefully you guys can shed some lights on some of the specifics I need before I jump ship!

NGINX HTTP Web Server – Take CF to the Next Level

As you guys may or may not know, there has been a lot of improvment in the web sphere in terms of performance tweaking and security. A lot of people have realized that its just not to good to have your web server be a first point of contact (after the firewall). That’s right. Your web server should NOT be serving the web. Sounds counter intuitive, right?
Well, allow me to explain. Web servers like IIS and Apache, as an example, have gotten too heavy and cumbersome. Ok, well – some of you guys are hard core fans of both servers. But they don’t scale very well. That is why you see people moving to lighter weight web servers like Resin (and many others), or so specially built high performance web servers like Lighttpd. 
What’s needed is a server that can do a couple thing:

  • Handle traffic issues like the infamous C10K problem.
  • Reverse Proxy to my actual web server (or cluster). It should be the only thing touching my web server.
  • Work under minimal resources. I don’t want to spend $$$.

In fact, here is the official description: “Nginx is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. Written by Igor Sysoev in 2005, Nginx now hosts nearly 6% (13M) of all domains worldwide. Nginx is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption. Nginx is one of a handful of servers written to address the C10K problem. Unlike traditional servers, Nginx doesn’t rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but most importantly, predictable amounts of memory under load. Even if you don’t expect to handle thousands of simultaneous requests, you can still benefit from Nginx’s high-performance and small memory footprint. Nginx scales in all directions: from the smallest VPS all the way up to clusters of servers. Nginx powers several high-visibility sites, such as WordPress, Hulu, Github, Ohloh, SourceForge and TorrentReactor.”
This solves a couple issues. One being that your web server isn’t directly hit by outside traffic. Traffic goes from the firewall to this server, which can then do a couple things. It can scruitinize the request, do re-writing, caching, handle sending files, block bad requests, etc. All those things you didn’t want your primary web server to do!
That’s where NGINX comes in. NGINX currently handles 6% of all sites on the net. Its the web server you never heard of, and you better get to know. People building high performance sites in Ruby on Rails have started to use NGINX to boost perfomance. For more details, see http://www.modrails.com/. Yes, they are overcoming those infamous RoR hurdles with free and easy solutions! So should you!
There are a couple of things you need to know.

  1. One, if you are running Windows, NGINX doesn’t explicitly support Windows services. But fear no more, the first and only resource for setting up NGINX on Windows as a service comes from a fellow CF developer! And it works like a charm. Read more @ http://misterdai.wordpress.com/2009/10/16/nginx-windows-service/.
  2. Second, NGINX runs a site like WordPress. That’s right, check the WordPress.com HTTP Response Headers. Or see this site! That’s right, my blog! If you need to sell making this change to management, then that should get you started on the right foot.
  3. NGINX was developed originally for some Russian sites, and most documentation is in Russian. However, there is a new Wiki with tons of docs and an active forum in English. NGINX is being actively developed. More info @ http://wiki.nginx.org/Main.
  4. For some more details on using NGINX with ColdFusion, see this blog post @ http://coldfusion.tcs.de/nginx-and-coldfusion-using-nginx-as-a-reverse-proxy-for-more-performance.

Basically, my job is to get your minds whirling again. No ColdFusion is NOT dead, its just we as a community need to step up and take it to the next level. Imagine is MySpace has been built with ColdFusion, and instead if adding servers upon servers and including .NET, they had this option? Do you currently have load issues? What can NGINX do for you?
For more details go to:

People have been using NGINX in front of their mail servers (like Exchange), and for all sorts of other purposes. I’m investigating NGINX, Varnish, and other Web Application Firewalls to formulate what could become an awesome front-end for ColdFusion!

Adobe AIR 2 Beta Released!

Tons of new features. More details available at the links below.

OWASP Top 10 Application Security Risks 2010

The Open Web Application Security Project has updated its list of Top 10 Risks.
Read this article at Information Week for more details.


Get every new post delivered to your Inbox.

Join 414 other followers