Monday, April 04, 2005

Pretty is as Pretty does



Click here for AmazonI saw an interesting blurb in Software Development Magazine in which developer John Elrick espouses the benefits of comment-free code. His sidebar article, a response to Christopher Seiwald's "Pillars of Pretty Code" posits that comment blocks are "crutches"; especially when compared to short, cryptic variable names that could be longer and more explanatory.

He provides sample code to illustrate his point.

Status uNlinkRec(Record **listHead, Record *const recordToRemove) {
  Record *currentRecord, *previousRecord = NULL;
  previousRecord = *listHead;
  for (currentRecord = *listHead; currentRecord; currentRecord = currentRecord->next) {
    if (currentRecord == recordToRemove) {
      previousRecord->next = currentRecord->next;
      currentRecord->next = NULL;
      return OK;
    }
    previousRecord = currentRecord;
  }
  return ERR;
}


I don't have a problem with developers omitting comment blocks (occasionally). First off, I would agree with John that effusive variable names should be required... especially in any language (C, C++, Java) that doesn't incur any performance penalty for long names (another reason fast typing makes a difference! Slow typists are usually loathe to use long variable names... :-).

But there is no question that, under most circumstances, comment blocks help! Few code snippets exist in sanitized, easily digestible modules like the one John used, above. Consider the following production code:

  //  Does first JPG chart exist and is up-to-date? If not,
  //    write a new one.
  //
  bXLS = FALSE;
  if (fileFind.FindFile(strFile)) {
    fileFind.FindNextFile();
    fileFind.GetLastWriteTime(timeXLS);
    bXLS = TRUE;
  }
  bHTM = FALSE;
  strFileOut = strFilePrefix + "1.jpg";
  if (fileFind.FindFile(strFileOut)) {
    fileFind.FindNextFile();
    fileFind.GetLastWriteTime(timeHTM);
    bHTM = TRUE;
  }
  //
  if (bFreshUpdate) {
    bGenerateCharts = TRUE;
  } else if (!(bXLS && bHTM && timeHTM >= timeXLS)) {
    bGenerateCharts = TRUE;
  }


Without the comment block, it would require some analysis on the part of the reader to figure out what was going on: in this case, the system is trying to determine whether a JPEG chart exists and is up-to-date (if not, a new one must be generated).

Variables that are long and descriptive are always preferred over short, cryptic names. But comment blocks should also be used whenever there's any doubt of the intent of the code.
 

Sunday, April 03, 2005

The Amazon/Blogger Toolbar



Click here for AmazonThere's one thing that's been bugging me about being an Amazon "Associate". It would be nice to have a little browser-add-in -- a toolbar -- that would make it easy to blog about specific products.

Say I want to mention a DVD or a book. The toolbar would automagically detect the mention and create the correctly HTML, hyperlink and image tags included. By right-clicking on my blogger text box, I could paste the HTML into my blog post. And it would include my Associates URL encoding so I get credit for any click-throughs.

The folks at Meatme have a simple (5K) Amazon toolbar:



but it's not quite what I need as a blogger. One of these days maybe I'll get around to creating one.
 

Friday, April 01, 2005

Sandy Berger's Plea



Click here for AmazonLorie Byrd of PoliPundit reprised a post that she originally wrote just before the '04 Democratic National Convention, regarding Sandy Berger and his self-admitted theft and destruction of classified documents. Anticipating that the media would casually ignore the Berger story, given the impending convention, she wrote:

If the former National Security Advisor has such disregard for the integrity of documents and the rules and laws pertaining to their treatment, what can be said for his regard for the security of the nation and the safety those rules applying to classified documents protects? And what can be said about that former NSA’s boss who regards the entire matter as a joke? I think we can rightly conclude that for many in that administration, that is exactly what national security was – a joke.


Powerline's Hindrocket adds:

It is undisputed that Berger illegally stuffed original documents relating to America's response to the threat of Islamic terrorism into his coat, pants and briefcase. Berger then destroyed a number of these top-secret documents, so that they will never see the light of day. The idea that this was "an honest mistake," as Berger now claims, is ridiculous. Obviously, he was trying to destroy documents that showed the negligence of the Clinton administration--of which he was a key member--in dealing with the threat of terrorism. Key documents relating to our government's inadequate reaction to the threat of Islamic terrorism prior to Sept. 11 are now gone forever, successfully purged from the historical record by one of Bill Clinton's most loyal servants. This plea bargain appears, on its face, to be a disgrace.


Disgrace, indeed. And, it appears the Clinton administration, once again, got away with it.

Click here for AmazonHaving carefully read Buzz Patterson's Dereliction of Duty, an unimpeachable (no pun intended) eyewitness account of the Clinton administration's egregious disregard of national security, the entire Berger affair simply piles more offal on a stinking dungheap of failures. Certainly the administrations of Reagan, Bush 41 and Bush 43 had their security gaffes: the cut-and-run tactics of the Beirut barracks bombing, for instance.

But the Clinton administration's history of obfuscation, evasion of decision-making responsibilities, dismantling of military and intelligence capabilities, and so forth -- ad nauseum -- forces us to contemplate an ominous future in the event that Hillary were to win the '08 election.

PoliPundit's Lori Byrd: Berger Flashback
 

Those Annoying Newspaper Logins



Click here for AmazonThose who use the Google News site on a regular basis confront this scourge on a regular basis:

Useless newspaper registrations

Yes, they're more annoying than the guy down the hall who does that sh*tty Yoda impression and thinks it's funny.

As if we need another user-name and password combination to remember. Especially a credential-set that delivers us nothing. Not security -- we don't care about the site, we just want to read the article. Not privacy -- again, we just want the content.

Thankfully, the folks at BugMeNot saw the opportunity to provide similarly disgusted users with newspaper-site credentials. Just enter the URL you want to visit and *voila* - a user-name and password, already pre-registered, will appear.

The sooner the newspaper sites come up with effective, non-intrusive ways to profile their audience, the better. But, given the fact that this is the mainstream media we're talking about, I'm not hopeful that they'll get it anytime soon.

BugMeNot: Ridding the world of annoying, useless passwords
 

The JavaScript behind Google Maps



Click here for AmazonIf you're interested in examining the JavaScript used by GoogleMaps, the LibGmail folks -- who broke down the GMail interface have provided an excellent cross-reference. In addition, they've de-obfuscated Google's code to make it easier to read.

Be warned: it some serious Ajaznix: Google Maps Classes and Functions References
 

Thursday, March 31, 2005

Writing a Get Well Letter to the Pope



Click here for AmazonIf you've ever wanted to write a "get well" letter to the Pope, now is probably a good time. The proper greeting in a letter is "Most Holy Father" and the mailing address is:

His Holiness, the Pope
Vatican City
Rome, Italy


The Pope's courageous stand against Communism is especially worthy of mention in light of Ronald Reagan's passing. In fact, his pitched battle against the Soviet leadership earned him a bullet from an assassin.

On October 16, 1978, at age 58, he succeeded Pope John Paul I, fulfilling a prophecy made to him decades earlier by Padre Pio that he would become Pope. The monk also had a darker prediction to make: that Wojtyla's reign would be short and end in blood.

On May 13, 1981, that prediction nearly came true. Mehmet Ali Agca, a Turkish Muslim, shot and came very close to killing the Pope in St. Peter's Square. Documents released this year indicate that the Soviet hierarchy ordered the assassination in response to the Pope's tireless battles against Communism.

According to the documents, the KGB and the East German State Police -- the dreaded Stasi -- contracted with Bulgarian operatives in Rome to perform the assassination. The Bulgarians, in turn, subcontracted with radical Turkish groups that ended up unleashing Agca.*

On December 27, 1983, John Paul went to Agca's prison and met the man who had attempted to kill him. The men spoke in private and the nature of their conversation has never been revealed.

In more than 100 trips abroad, the Pope has attracted enormous crowds and traveled a greater distance than all other Popes combined. Possessed of great physical courage and stamina, his efforts at peacemaking and bridge-building between religions have been truly remarkable.

BrainBank: Spoken and Written Forms of Address

*In 1987, author AJ Quinnell wrote a fictional account of the Pope's assassination entitled In the Name of the Father. In light of the recently released documents, it is well worth reading.
 

Wednesday, March 30, 2005

Our Top Story: Hitler Still Dead



Click here for AmazonThe indispensible Best of the Web points us to this startling headline:

Harvard Study: Hitler Held Grudges, Craved Attention


Now that's what I call a hot news flash.

In any event, the article describes a detailed psychological profile of Hitler commissioned by the OSS in 1943. The article reports:

The rare 1943 document was among the papers discovered in Cornell University Law School's collection from the Nuremberg war crimes trials.

The psychological profile of the Nazi dictator is now available on the law library's Web site.

The report said that if Germany were to lose the war, Hitler might kill himself. Hitler committed suicide in his Berlin bunker in late April 1945.


The interesting thing is that I recall reading this report years ago. It was in book form, probably published in the late 1940's or early 1950's and was titled, I think, "The Mind of Adolf Hitler: The Secret Wartime Report".

There are some interesting tidbits in the report. While there is a prediction that Hitler would commit suicide, the recommendation for postwar treatment of Hitler is fascinating. The primary goal of the treatment was to prevent a living Hitler from becoming a cause celebre or some sort of martyred symbol of persecution:

...1. (a) Bring the Nazi leaders to trial; condemn the chief culprits [to] death, but proclaim Hitler mentally unbalanced.
1. (b) Commit Hitler to an insane asylum (such as St. Elizabeth's, Washington, D.C.) and house him in a comfortable dwelling specially built for his occupancy. Let the world know he is being well treated.
1. (c) ...Unknown to him, have sound-films taken of his behavior. This will show his fits and tirades... of everyone in the world, including the German people.
1. (d) Exhibit regularly to the public... selected segments of these sound-reels, so that it can be seen how unbalanced he is, how mediocre his performance on the customary tests...


Update: the book is still for sale, and I just found it on Amazon. I would have to read the Harvard study in more depth, but at first glance, it would appear these two have markedly similar content.

The study is available on the Cornell Law School web site.
 

Tuesday, March 29, 2005

The UN wants to run the Internet



Click here for AmazonHere's something so sick it's almost laughable: the UN wants to run the Internet. Oh, they won't come out and just say exactly that, but a recent interview with the ITU's Houlin Zhao made it crystal clear what the UN is after.

Quick refresher: ITU stands for the International Telecommunication Union and it's an agency of the UN. Here's Mr. Zhao:

Today the management by ICANN (is something that) people consider to be management by the United States, by one government. People definitely want to see some changes. I think everyone would agree that a better arrangement is something that we're looking for.


Bzzzzzt!! Wrong answer! Now I know the UN has had a stellar year, what with:

  • The Oil-for-Food Scandal that ripped off, oh, about $10 billion for Saddam and his buddies (and we all know who they were). Not to mention some untoward payments to UN head Kofi Annan's son Kojo

  • The Sex Scandal in which women and children in the Congo were reportedly raped by UN "Peacekeepers"

  • Oh, wait, I forgot about the other sex scandal in which different UN "Peacekeepers" were linked to separate sex crimes in East Timor as well as prostitution in Cambodia and Kosovo

  • And that's just the recent stuff that's come to light despite the UN's incessant stonewalling.

    From the head down, the UN appears to be rotten with corruption and, as an added bonus, populated with predatory animals possessing no more conscience than John Wayne Gacy.

    News.com's Declan McCullagh, who is usually a steller observer of the technology scene, didn't ask Mr. Zhao the key question:

    What in the name of Kojo Annan would possess anyone with a lick of sense to give the UN the keys to the Internet?


    Brief history lesson: the US invented the frigging Internet. It was funded by US taxpayers through DARPA and matured as an artifact of the US military. Don't like it? Invent your own damn Internet.

    Sure, the UN are just the folks I want running the Internet. Hey Kofi: here's a dollar - go buy yourself a big tall glass of shut-up juice. Or, better yet, resign.

    From News.com: Interview with Houlin Zhao and from ISOC: Brief History of the Internet

    Update 10/2/05: Wizbang Blog
     

    Farmer Burns



    Click here for AmazonFarmer Burns was a legendary wrestler who made his name during the turn of the century. His record was a reported 6000+ victories against only seven losses. He won the world wrestling title on several occasions including a victory over the much-feared "Strangler" Lewis.

    The reason I bring up Burns? Combat conditioning guru Matt Furey has resurrected the Burns' legend in the context of bodyweight conditioning. As a longtime lifter with more injuries than I care to recount, I've become fascinated with using bodyweight exercises as an alternative to resistance training solely with iron.

    Ever heard of Hindu pushups? Hindu squats? Divebomber pushups? Wall-walking? Reverse press-ups? Bearcrawls? Furey covers all of these in his (relatively expensive) courses. But there are also a variety of free resources on the web to learn the basics.

    Among other things, Furey sells Burns' original conditioning and wrestling course. But it's also available free, online, courtesy of the folks at SandowPlus. When it was introduced in the early 20th century, the course cost the equivalent of several hundreds of dollars (at least). And it was quite popular, due to its useful illustrations (groundbreaking for their time) and practical advice.

    SandowPlus: Farmer Burns
     

    Simple AJAX



    Click here for AmazonIf you're wondering how Google pulled off their impressive Gmail user-interface, or why their mapping site is so freaking cool, then look no further than "AJAX".

    AJAX stands for "Asynchronous JAvascript + XML", the latter of which is used to transport messages between client and server without having to refresh the entire web page.

    In February, XML.com's Drew McLellan wrote an excellent overview of Ajax called "Very Dynamic Web Interfaces". His article, probably more than any other, introduced the tenets of Ajax to a wide audience.

    Better still, the folks at ModernMethod have introduced SAJAX, one of the best compact libraries I've seen for simplifying an AJAX implementation. If you write in PHP, Perl, Python, or Ruby, SAJAX is a great jumpstart on your first dynamic web app.

    Check it out: SAJAX.
     

    Google and Urchin



    Click here for AmazonThe folks at Google have decided to buy Urchin, the web analytics firm. Urchin provides both hosted and shrink-wrapped solutions for analyzing web site traffic. Urchin has some monster customers including (according to their site), P&G, NBC, SBC, EDS, and lots of other three-letter acronyms.

    What's it mean?

    If you operate a commercial web site, Google intends to provide you with all of the infrastructure you need to be successful. Google's AdWords campaign managment application drives traffic to your site. Urchin will help you analyze that traffic to improve ROI. Google's AdSense helps you generate revenue from that traffic, aside from any other revenue you may be earning from your core business.

    What's next?

    My guess is that Google will be entering the hosting business in a big way. Google's Blogger is already a free, lightweight hosting solution. Expect more heavyweight (fee-based) hosting solutions using Google's outrageously scalable infrastructure, coming soon to a web site near you.
     

    Monday, March 28, 2005

    You put the balm on?



    Click here for AmazonI think you may have heard about the woman who was eating chili at Wendy's and bit into something hard. She spit it out... and it turned out to be a human finger. The stories imply that vomiting quickly ensued, followed by a projectile apology by Wendy's.

    Of course, a lawsuit is more certain than William Hung getting shut out of a Grammy nomination.

    I can so envision a Seinfeld episode with Jackie Chiles ("you put the balm on?") representing Elaine.

    And a patriotic Kramer attempting to wrangle a business deal out of the debacle by harping on the protein benefits of human digits... and appealing to New Yorkers' patriotism by calling them "freedom fingers".
     

    Defeating Solitaire



    Click here for AmazonThe WaPo's Robert MacMillan noted the following technical solution for the North Carolina State Senator who wants to prohibit state employees from playing Solitaire, Minesweeper, and other time-wasting games.

    That prompted this alternate suggestion from reader Mark Colan: "When I was a developer at Lotus some time ago, we were under the gun for an important project. One team member spent entirely too much time playing Solitaire for our tastes. Someone came up with a Windows resource-editing program, exchanged the images for two cards, and installed it on his machine."

    The result? Every time he pulled a black 7, it would behave like a red 7 and vice-versa. "It did the trick," Colan said.


    Big Music's Last Waltz
     

    How the DMCA Affects Google Search Results



    Click here for AmazonI did a Google search for "excel web" to find which companies were selling products and/or advertising in the spreadsheet collaboration space.

    After the least search result, I noticed the following announcement from Google:

    In response to a complaint we received under the Digital Millennium Copyright Act, we have removed 1 result(s) from this page. If you wish, you may read the DMCA complaint for these removed results.


    The link Google directs us to is broken, but contains the term KaZaA Media Desktop. Because KaZaA is a 'prohibited product', in that it can be used for illicit file sharing, the powers-that-be have blacklisted it. The RIAA strikes again.

    Fortunately, there are other powers aligned on the side of good. Powers like Billionaire Mark Cuban, who wrote in a recent blog entry:

    It doesn't matter that the RIAA has been wrong about innovations and the perceived threat to their industry every single time... It just matters that they can spend more (than) everyone else on lawyers.


    The day can't come quick enough when the geniuses at the RIAA are put out to pasture with their intellectual ancestors: the Edsel, Pets.com, and New Coke.
     

    Sunday, March 27, 2005

    North Carolina Solitaire Crackdown



    Click here for AmazonFrom North Carolina comes a report that a State Senator wants to erase all game applications from state workers' computers. His belief: that preventing government employees from playing Solitaire and Minesweeper will recoup millions of dollars worth of productivity for the state.

    ...The solitaire crackdown here, though perhaps rare in its specificity, is part of a behind-the-scenes battle over personal time that's affecting not just unionized state workers in North Carolina, but sales reps in Washington and phone-bank workers in San Francisco. It goes straight to the issue of distractions from long days at the office and, more fundamentally, how much of their employees' time and concentration employers can reasonably expect to own...


    This effort is, itself, a giant waste of time. It makes about as much sense as teaching Mandarin Chinese to Jessica Simpson.

    If you've got bored, unmotivated and/or unsupervised employees, then I can guarantee they'll find ways to waste time.

    Game installation: Are you going to search all employees as they arrive each day to ensure they don't bring in game discs? My guess is you can run solitaire off a floppy or CD if so inclined.

    Convergence devices: Are you going to search all employees as they arrive each day to ensure they're not carrying in a PSP? New, personal entertainment devices like Sony's PSP -- a combo game-player/DVD -- will make it even harder to regulate game-playing activities.

    Invented games: Should the state install security cameras and the personnel necessary to monitor them in order to ensure no one is goofing off? Remember the ESPN commercial where cube workers were using a nerf ball and an empty bookshelf to play "baseball"? And bouncing the ball from the floor to the second shelf was a "double"?

    ...the IRS has shown that over 50% of the time an IRS employee goes on a computer, he or she also hooks up to the Internet to shop, gamble or play games...


    Perhaps this speaks to IRS management: I find it difficult to believe that the average Fortune 1000 organization routinely has 50% of their employees shopping, gambling or game-playing whenever they hook up to the Internet.

    Scott Kirwin, founder of the the IT Professionals Association of America, pins the tail on the donkey:

    "Managers, and in this case politicians, don't know how to effectively utilize the people they're in charge of... You have to ask yourself, if someone is so bored that playing solitaire is stimulating, then the problem is not with the game, it's with the job."


    Exactly. Where is management in this equation? Have they not adequate tasked their employees? Motivated them? Supervised their work or verified their deliverables?

    If I were Senator Allran, I'd worry less about which time-wasting technologies were installed on state computers... and a little more about a management philosophy that seems to encourage the wasting of time.

    Is that a spreadsheet on your screen — or solitaire?
     

    Saturday, March 26, 2005

    Regime Change: Iran



    Click here for AmazonThe invaluable Regime Change Iran blog reports that, if one listens carefully, you can hear the faint drumbeats of war resonating throughout an already tense region (hat tip: Hugh Hewitt). The day when the Mullahs are out of power can't come fast enough. Unless, of course, you prefer that fundamentalist, homicidal maniacs possess nuclear weapons.

    Dr. Jerome Corsi reports that on March 10, units of the U.S. Army's European Command stationed in Germany have been in Israel to conduct joint exercises with the Israeli Defense Forces designed to test their combined ability to down an attack of Shahab-3 missiles launched from Iran against Israel.

    Code-named "Juniper Cobra," these exercises test the linking of U.S. Patriot missile systems with Israel's Arrow-2 missile-defense systems. The Arrow-2 system is designed to intercept incoming missiles at high altitudes to reduce the fallout damage from nuclear warheads. The Patriot systems are a second line of defense, designed to intercept missiles at lower altitudes. Also involved in the exercises is a U.S. missile ship carrying Aegis anti-missile systems.

    U.S. military authorities deny that the exercises have anything to do with the current tensions over Iran's apparently determined drive to develop nuclear weapons secretly. Still, the scenario being tested involves missiles launched against Israel from a "red" whose identity is supposed "unknown," even though the aggressors just happen to speak Farsi. The last Juniper Cobra operation was reportedly conducted in 2001, just before the start of the war in Iraq against Saddam Hussein.

    The point of this combined exercise has not gone unnoticed in Tehran. Iran retaliated by announcing this week that tests of the Shahab-3 missile conducted in September of last year proved they had made breakthroughs in the development of the intermediate-range missile. The mullahs stressed that the September test fulfilled all technical expectations, proving fast and accurate at a range of 1,700 kilometers, more than enough to reach Tel Aviv.

    In other words, the mullahs want to be sure we all know they have an improved version, a weapon maybe more sophisticated than Operation Juniper Cobra is testing against.

    This Operation Juniper Cobra is not expected to end until mid-April. Put this together with what appears to be a convergence of U.S. carrier battle groups in the region, and the preparations for war are hard to miss...

    ...Stalled talks can't last forever. What happens if the mullahs refuse to take active steps to destroy their centrifuge farms and dismantle their heavy-water facilities? Well, there is always the military option. That option is very obviously left on the table, even if the president doesn't talk about it very much.


    Regime Change Iran blog: U.S., Israel preparing for Iran war?
     

    More Research on Nigerian Fraud Was Needed



    Click here for AmazonEver wonder who falls for those idiotic "Nigerian scam" emails? How about a Harvard professor? Really. This is old news, but I'd never seen it before. Perhaps you missed it as well.

    Apparently, Weldon Xu -- a researcher employed by Harvard -- was bright enough to scam $600,000 from coworkers... but stupid enough to lose it all to a classic Nigerian scam. Hmmm... Harvard professor, you say?

    A Harvard researcher accused of conning $600,000 from coworkers lost it all to a Nigerian e-mail scam, the Boston Herald reported.

    Weldong Xu's lawyer described his client as "a gullible guy" at Xu's trial for larceny in Roxbury, Mass., after entering a not guilty plea.

    Xu, 38, until his arrest last week did cancer immunology and AIDS research for Dana-Farber Cancer Institute and was a professor at Harvard Medical School... Xu reportedly solicited the money from 35 people, saying it would go to research into SARS.

    Police said Xu confessed there never was any plan to study severe acute respiratory syndrome and he "lied" to investors, including fellow researchers.

    However, his lawyer Arnold Abelow claimed Xu had every intention of doing the research until the fateful e-mail arrived.

    "He got sucked in," Abelow said.

    When police asked where the money went, Xu allegedly told police he lost it to a Nigerian e-mail scam promising him a $50 million return on his investment.

    "He fell for it," Abelow said.

    Xu was ordered held on $600,000 cash bail, the newspaper said.


    More Research on Nigerian Fraud Was Needed
     

    Peace Through Superior Firepower



    Click here for AmazonExcept for ending slavery, fascism, nazism and communism -- war has never solved anything.

    Now comes word the the Sunni insurgents in Iraq are hoping for an "exit strategy". Let's hope the exit strategy is their continued obliteration unless they completely abandon terror attacks on Iraqi civilians, their country's infrastructure, and their liberators.

    Many of Iraq's predominantly Sunni Arab insurgents would lay down their arms and join the political process in exchange for guarantees of their safety and that of their co-religionists, according to a prominent Sunni politician.

    Sharif Ali Bin al-Hussein, who heads Iraq's main monarchist movement and is in contact with guerrilla leaders, said many insurgents including former officials of the ruling Ba'ath party, army officers, and Islamists have been searching for a way to end their campaign against US troops and Iraqi government forces since the January 30 election...

    ...Sharif Ali said the success of Iraq's elections dealt the insurgents a demoralising blow, prompting them to consider the need to enter the political process.


    Financial Times: Iraq's insurgents ‘seek exit strategy' "
     

    Software Development at Google



    Click here for AmazonThere is a policy at Google to require its developers to work 20% of the time on a research project of their own making. Joe Beda explains a bit about the software development process at Google and lists five characteristics that distinguish Google from most other development houses:

    1) One code base: everyone gets free-wheeling access to a large, well-documented software repository.
    2) Switching teams: it's easy to work on multiple projects and switch teams without a bunch of formal (HR-driven) process.
    3) Intranet: there is transparency into literally the entire company on the corporate intranet, without a lot of apparent worry about security and/or compartmentalization. Information can propagate to the correct parties in free-flowing and even unexpected channels.
    4) Pet projects: the 20% 'pet project' is not just paid lip service, it is actively encouraged. In fact, Joe worries aloud that he will get dinged on his review for not working on his 20% project.
    5) Interpersonal: there must be a great emphasis on social skills at Google -- and not strictly technical ability. New ideas are greeted with enthusiasm, brainstorming sessions, and the like. Technical elitists are probably not encouraged in this sort of environment.

    I do take issue with one statement of opinion:

    "One of the reasons that environments like Perl, Python, C#, Java, etc. flourish is that they have large and well through out libraries of useful code. For a variety of reasons, C++ has never had this"

    Uhm, Joe, ever visited CodeProject? On SourceForge, for example, C++ is among the top couple of languages used for open-source development. So... I beg to differ. If you're talking platform-inspecific code, well, yes, other languages will have more generic libraries - but where C/C++ excels is in its raw performance. Running close to the metal usually entails some platform-specific features.

    Joe Beda: How the Software Development Process Works at Google
     

    Friday, March 25, 2005

    FellowshipChurch.com: Why the Switch?


    Picture credit: http://www.infocom.com
    Click here for AmazonTerry Storch and Brian Bailey have operated FellowshipChurch.com, a full-fledged church management portal site, since 2001. In 2002, the site was overhauled using Microsoft's snazzy, new .NET tools: IIS, C#, ASP.NET and, of course, MS SQL Server.

    By 2004, a confluence of factors caused the development team to re-evaluate their approach. Separate campuses; the maintenance burden entailed by management of additional web properties (FellowshipConnection and EdYoung.org among them); and a relatively small development team were all factors.

    As the sites scaled, it became clear to the development team that continuing down the .NET path was probably not wise.

    ...In addition to our three in-house sites, we have a fourth that is developed by a local company in PHP using Linux and PostgreSQL. Time after time, they have been able to deliver simple and quick solutions that would take us twice as long in our current environment...


    Brian blogged about the decision to move to LAMP (Linux, Apache, MySQL [or Postgres] and PHP [or Perl]). He characterizes the top ten factors:

       1) Developers
       2) Complexity and speed of development
       3) Cost
       4) Get it running/keep it running
       5) Security/viruses
       6) Platform independence
       7) Community
       8) Examples
       9) Browsers
       10) The new guy

    Read the whole thing.

    As an aside, I'm an advocate for Visual Studio, ASP.NET, C# and MS SQL Server if you're certain you're tied in to Microsoft's server platforms. But if you look to the big boys to see their strategic direction -- say, Google's clustered Linux farm or Yahoo's adoption of PHP --the appeal and security of platform independence is undeniable.

    Brian Bailey: Why the Switch?