Become a fan of Slashdot on Facebook


Forgot your password?

Comment Author needs a clue about metrics (Score 4, Informative) 752

Yes, PHP is a heck of a lot slower on proccessor-bound tasks than C++. In a pure benchmarking contest, no doubt C++ will win.

But what about when both languages have to query a database (be it mysql/postgress/oracle, etc)? In this case, both are blocked on the speed of the database. a 15 ms query takes 15 ms no matter what language is asking. Facebook is not calculating pi to 10 gazillion digits, and it is not checking factors for the Great Internet Mersenne Prime Search. It is serving up pages containing tons of customized data. This is not proessor-bound... it is I/O bound both on the ins and outs of the database and the ins and outs of the http request. It is also processor bound on the page render, but the goal of this many machines is to cache to the point where page renders are eliminated.

Once a page is rendered, it can be cached until the data inside of it changes. For something like facebook, I bet a page is rendered once for every ~10 times it is viewed by someone. Caching is done in ram, and large ram caches take a lot of machines.

So lets look at those 30,000 machines not by their language, but by their role. We can argue the percentages to death, but lets assume 1/3rd are database, 1/3rd are cache, and 1/3rd are actually running a web server, assembling pages, or otherwise dealing with the end users directly (BTW, I think 1/3rd is way high for that.)

So 1/3rd of the machines are dealing with page composition and serving pages. If they serve a page ~10 times for every render request, then abtou 1/10th of the page requests actually cause a render... the rest are being served from cache. Those page renders are I/O bound, as in the example above - waiting on the database (and other caches, like memcached), so even if they are taking a lot of wait cycles, they are not using processor power on the box. The actual page composition (which might be 20% of the processing that box is doing), would be a lot faster in C++... So 10,000 servers, the virtual equivalent of 2000 are generating pages using php, and could be replaced by 200 boxes using stuff generated in C++.

So the choice of using php is adding ~1800 machines to the architecture. or ~6% of the total 30,000. Given that a php developer is probably 10x more productive than a developer in C++, is the time to market with new features worth that to them? I bet it is.


Lack of Manpower May Kill VLC For Mac 398

plasmacutter writes "The Video Lan dev team has recently come forward with a notice that the number of active developers for the project's MacOS X releases has dropped to zero, prompting a halt in the release schedule. There is now a disturbing possibility that support for Mac will be dropped as of 1.1.0. As the most versatile and user-friendly solution for bridging the video compatibility gap between OS X and windows, this will be a terrible loss for the Mac community. There is still hope, however, if the right volunteers come forward."

Comment Lawyer's retainer? (Score 2, Insightful) 735

And does the lawyer offering this advice accept a retainer fee from his clients so that he can be on call for them?

24x7 support is costly in any business. The firefighter is not an apt analogy... Is he expected to work an 8 hour day and THEN be on call for fires?

And is he serious when he thinks a firefighter is paid for only the small amount of time he is out firefighting? If that were the case, I expect we would see a lot of financially insolvent firefighters-turned-pyromaniac in order to put their kids through college.

Comment Testing for confirmation? (Score 1) 428

How do you *test* something like this? I mean, you build all this hardware write a bunch of code, and I guess you can see activity that might look like an EEG, but how do you know you haven't just created some elaborate noisy feedback system? How do you know you haven't created an autistic mouse? Short of giving it a simulated DOOM environment to run around in and chase laser pointers, what actually is it *doing* anyway?

I never thought unit testing would verge on philosophical questions.

Comment Look at Capistrano, steal ideas from Rails (Score 4, Informative) 244

Capistrano started life as a deployment tool for Ruby on Rails, but has grown into a useful general-purpose tool for managing multiple machines with multiple roles in multiple environments. It is absolutely the tool you will want to use for deploying a complex set of changes across one-to-several machines. You will want to keep code changes and database schema mods in sync, and this can help.

Ruby on Rails has the concepts of development, test, and production baked into the default app framework, and people generally add a 'staging' environment to it as well. I'm sure the mention of any particular technology on slashdot will serve as flamebait - but putting that aside, look at the ideas here and steal them liberally.

You can be uber cool and do it on the super-cheap if you use Amazon EC2 to build a clone of your server environment, deploy to it for staging/acceptance texting/etc, and then deploy into production. A few hours of a test environment that mimicks your production environment will cost you less than a cup of coffee.

I have tried to set up staging environments on the same production hardware using apache's virtual hosts... and while this works really well for some things, other things (like an apache or apache module, or third party software upgrade) are impossible to test when staging and production are on the same box.

Comment Occams Razor, anyone? (Score 1) 691

So, the Universe abhors the creation of the Higg's boson so much that if we ever create it, it will time travel back to destory the machine that created it. Either that, or someone screwed up while assembling what might possibly be the most complicated machine ever built.

Whats that thing about simpler solutions?

Comment Like an ID for a database record (Score 1) 688

Like an ID for a database record, the name should be unique, mean nothing out of context, and used only to look up a description of all the information you are trying to encode in it. What happens if the warranty info changes? What happens if you assign the wrong machine, move where it is located, or change some other fungible property (either through upgrades, or simply because you encoded the wrong info?). You don't want to have to go through machine renaming exercises, updating dns entries, etc. or have to live with the degredation of your naming convention.

Comment Information Age exhibit (Score 1) 435

I have no idea if its still there, but the American History Museum in DC had an Information Age exhibit that was there for at least 8 years... started with an exhibit where you could speak over the actual wire Bell used for his first phone, through pieces of eniac, other huge bohemoth computers, an Enigma (cipher machine from WWII), A TRS-80 Model 1, An Apple I, through modern computers, and ending ith HDTV exhibit (before HDTV was commonly available). I loved that exhibit.

Comment plugin required? (Score 1) 216

If the author is smart enough to write about 'a gifted computer security expert', why does the video of the tektrakys require a plugin from Microsoft?

Comment Curing Developers Block (Score 1) 601

This is a common phenomenon to *all* creative endeavors - it is hard to be creative on demand.

You need to figure out what rituals encourage creativity. For me, I need to sit down at my desk first thing in the morning, check all my mail, check slashdot, etc. while drinking a cup of coffee. Ten minutes, tops, and I have removed every distraction that otherwise keeps me off of what I need to do. I quit every app that makes my dock bounce, turn off my cell phone, etc. I need a clear path to the Zone.

For your immediate problem, if you don't already have something specific to work on, I would say:

1) Pick up a book on some language you do not know. Ruby, Erlang, Scala, Groovy, etc. There are great titles at for all of them.

2) install everything you need on your computer, and disconnect from the net.

3) Find a quiet environment.

4) Learn.

Once you think you are out of your block, take your learning to a coffee shop. This is a great place to be able to retain focus when you need to, but also a place of great distraction (people watching, art on walls, coffee smells), when you need to take your brain out of gear for a minute.

If you don't have anything specific to work on, pick up a copy of Best of Ruby Quiz and start working through the problems. Musicians practice scales, marshall artists practice kadas, painters practice perspective... you should practice solving small problems.

Comment Re:really? (Score 1) 901

Why does it become "difficult if not impossible to find the original file"? Have you ever used configuration management tools like CVS or Subversion?

I have personally worked on a project that has a cvs repository going back to 1996, with every changed tracked across millions of lines of source code. I'm sure there are slashdotters who will have projects where 1996 might be the halfway point in their project history (as well as slashdotters born in 1996, but thats another story).

these problems have been solved. The problem is identifying it as a problem in need of a solution in the first place.

Comment Industry Changing? (Score 1) 437

I'm sorry, but for something to be considered 'industry changing', we should consider the first instance of an app with that capability... for IT is the app that truly 'changed the industry' to the point where it spawned imitators that may be more successful.

By that standard, Visicalc, PageMaker, and MacWord absolutely need to be on this list.

Comment ATM Ticket Booth at Amusement Park (Score 2, Interesting) 1127

1993, At Cedar Point Amusement Park in Sandusky, Ohio. My company was building an early version of a ticket-selling ATM... you could get your tickets for the park from the machine. Several afternoons I was there doing maintenance on the machines - as people were leaving, the park closing, etc. When we would do maintenance, we would turn the monitors around so we could see them from 'inside' the machine, where we were sitting (in the hot summer weather, inside a small ticket booth with a couple of computers). It looked remarkably like a garbage can when you did that.

As I was sitting there debugging problems, people would throw paper, gum, and yes, once even a half-eaten ice cream cone through the hole the monitor left. It would land squarely in my lap. One group of kids even discovered I was in there and thought it was 'funny' to throw stuff at me.

Slashdot Top Deals

Only through hard work and perseverance can one truly suffer.