Turn to Your Left at the End of the Sky

Which Ruby on Rails Gem/Plugin to Use

The following gems and plugins are the most popular as of Nov 12th, 2008:

  • Javascript Framework: jQuery (56%), Prototype (43%)
  • Skeleton: Bort
  • Mocking: Mocha
  • Exception Notification: Hoptoad
  • Full text search: Thinking Sphinx
  • Uploading: Paperclip
  • User authentication: Restful_authentication (keep an eye on Authlogic)
  • HTML/XML Parsing: Hpricot

February 7, 2009 Posted by | Computers & Internet, Engineering, Ruby on Rails, Technology | , , , , , , , , , , , | Leave a comment

Iowans for Corn-powered, All-American Web Browsers

H1-B visa holders are the Palestinians of American politics (with apologies to the Palestians). Each side uses them for their own interests. One side wants to protect them from being exploited and the other side wants to prevent them from exploiting. Neither side has their best interests at heart.

U.S. Senator Charles Grassley, an Iowa Republican, sent this letter to Microsoft [emphasis mine].

January 22, 2009

 Mr. Steve Ballmer

Microsoft Corporation

One Microsoft Way

Redmond , WA   98052-6399

Dear Mr. Ballmer: 

I am writing to inquire about press reports that Microsoft will be cutting approximately 5,000 jobs over the next 18 months.  I understand that the layoffs will affect workers in research and development, marketing, sales, finance, legal and corporate affairs, human resources, and information technology. 

I am concerned that Microsoft will be retaining foreign guest workers rather than similarly qualified American employees when it implements its layoff plan.  As you know, I want to make sure employers recruit qualified American workers first before hiring foreign guest workers.  For example, I cosponsored legislation to overhaul the H-1B and L-1 visa programs to give priority to American workers and to crack down on unscrupulous employers who deprive qualified Americans of high-skilled jobs.  Fraud and abuse is rampant in these programs, and we need more transparency to protect the integrity of our immigration system.  I also support legislation that would strengthen educational opportunities for American students and workers so that Americans can compete successfully in this global economy.

Last year, Microsoft was here on Capitol Hill advocating for more H-1B visas.  The purpose of the H-1B visa program is to assist companies in their employment needs where there is not a sufficient American workforce to meet their technology expertise requirements.  However, H-1B and other work visa programs were never intended to replace qualified American workers.  Certainly, these work visa programs were never intended to allow a company to retain foreign guest workers rather than similarly qualified American workers, when that company cuts jobs during an economic downturn. 

It is imperative that in implementing its layoff plan, Microsoft ensures that American workers have priority in keeping their jobs over foreign workers on visa programs.  To that effect, I would like you to respond to the following questions:

*          What is the breakdown in the jobs that are being eliminated?  What kind of jobs are they?  How many employees in each area will be cut?

*          Are any of these jobs being cut held by H-1B or other work visa program employees?  If so, how many?

*          How many of the jobs being eliminated are filled by Americans?  Of those positions, is Microsoft retaining similar ones filled by foreign guest workers?  If so, how many?

*          How many H-1B or other work visa program workers will Microsoft be retaining when the planned layoff is completed?

My point is that during a layoff, companies should not be retaining H-1B or other work visa program employees over qualified American workers.  Our immigration policy is not intended to harm the American workforce.  I encourage Microsoft to ensure that Americans are given priority in job retention.  Microsoft has a moral obligation to protect these American workers by putting them first during these difficult economic times.

 Sincerely,

Charles E. Grassley

United States Senator

Of course, no mention of Microsoft’s moral obligation to its shareholders. And I don’t remember anyone caring about “the American workers” when we tied Microsoft up in court for years and drained their coffers. Maybe those laid off can dust themselves off and volunteer at Mozilla, the organization “dedicated not to making money”.

If US immigration policy is not intended to harm Americans then who is it intended to harm? 

 

 

 

January 25, 2009 Posted by | Economics, Government, Politics, Technology | , , , | Leave a comment

Using Ziya with Rails

  1. Upgrade to latest version of RubyGems (‘sudo gem update –system’)
  2. Add GitHub repository (‘gem sources -a http://gems.github.com’)
  3. Upgrade to latest version of Ziya (‘sudo gem install derailed-ziya’)
  4. Install Ziya in project directory (‘Ziyafy’ in project home)
  5. Add ziya.rb to config/initializers directory
  6. Copy your themes into ../public/themes/

Some other thoughts: If you’re frustrated by the almost non-existent documentation and the fact that the gem is in constant flux, don’t despair. The best way to understand how to customize your graph is to look through the example themes (for some reason they didn’t install with my gem but I downloaded them from GitHub).

Also, the reference material at XML/SWF charts is very useful and Ziya seems to adhere quite closely to the naming conventions.

I also found that I needed user-defined functions fairly quickly to customize axes etc.

Here is an example of how to use Ziya to create a scatter chart:

== Chart Controller ==

01: def load_ef

02:    # Create graph data object
03:    chart_data   = Array.new

04:    # Pull portfolios out of database
05:   @query = sessions[:period].to_i

06:    @portfolios = Portfolio.find(:all, :conditions => [“period = ?”, @query])

07:    # Strip out risk and return
08:    @portfolios.each { |x|
09:       chart_data  << x.std_dev
10:       chart_data  << x.port_ret
11:    }

12:    title = “User-entered portfolios”

13:    chart = Ziya::Charts::Scatter.new(‘LICENSE-KEY’)
14:    chart.add( :axis_category_text, %w[x y]*(chart_data.length/2) )
15:    chart.add( :series, title, chart_data )

16:    chart.add( :theme , “assetcorrelation” )

17:    respond_to do |fmt|
18:      fmt.xml { render : xml => chart.to_xml }
19:    end
20: end

== View ==

1: <div>
2:   <%= ziya_chart load_ef_url, :size => “1200×800” – %>
3: </div>

== Routes.rb ==

1:  map.load_ef   ‘/chart/load_ef’,   :controller => ‘chart’, :action => ‘load_ef’

As far as I understand, Rails will first look for a method in your controller that matches the view, then, once it starts rendering the view, it hits the callback (line 2 in the view snippet above) and at that point calls the method in the chart_controller to render the chart data, using the routing information in Routes.rb.

Note that in this case, I am pulling the data for the chart out of my database.

November 28, 2008 Posted by | Ruby on Rails, Technology | , , , , | 1 Comment

Watching the Olympics on TV Tonic

I’ve been watching the Olympics on TV Tonic’s platform. NBC collaborated with TV Tonic to provide viewers with the ability to watch the Olympics over the internet.

Some scattered thoughts in no particular order:

  1. It’s great that NBC has finally realized that some of us want to watch the Olympics over the web and this is a huge leap forward from prior years.
  2. NBC apparently managed to sell ad space to only one company: Lenovo. I used to contemplate buying a Lenovo laptop. After watching the same ad 15-20 times a day I can now say I will never buy a Lenovo laptop.
  3. It’s great to be able to watch sports sequentially. I no longer have to have gymnastics coverage interrupted with rowing. Far less time is wasted.
  4. The user interface becomes somewhat unuseable after a while. It’s difficult to see which events you’ve watched, they don’t always seem to appear in chronological order. Also, it would be nice to be able to remove the heats and only download the finals. Even better would be able to specify exactly which events to download rather than having NBC decide for us.
  5. I realize that nothing is live for us poor saps in the USA but posting the content more than 24 hours later makes a mockery of the idea of live sport.
  6. It’s a pity the water polo isn’t broadcast in higher definition. The compression algorithm completely choked with all the water and the end result is that you can’t see the ball. That detracts from the experience but leads to my next point…
  7. We all want HIGH DEFINITION. You’re making us wait until the next day to watch the events everyone was talking about at work….at least give it to us in high definition. People watching the Olympics over the web have a decent setup. You should cater to them or risk ending up on the scrap heap of failed internet video start ups.
  8. Those Chinese gymnasts definitely aren’t 16. (That was obvious even on the low def video that NBC slopped up to us.) Let’s call it what it is: CHEATING
  9. Phelps is a legend in any quality video.

August 14, 2008 Posted by | Computers & Internet, Internet, Sport, Technology | , , , | Leave a comment

New Relic RPM & Mod_Rails

Unfortunately, the New Relic performance monitor for Ruby on Rails doesn’t work with mod_rails (Passenger). According to a support email from them it currently “only supports mongrel and thin (without sockets)”. They plan to support Passenger in the future. That’s great news because they provide an excellent performance monitoring tool which is very easy to install and use.

Update: New Relic has added support for mod_rails. I received this email from their excellent customer support:

I was just digging through my support emails and found a few people who had inquired about RPM supporting Phusion Passenger, aka mod_rails.

 

I wanted to let you know that we released a version of the agent with ‘beta’ support for Passenger.

 

If you’re interested, check it out and let us know how it works for you!

 

To try it out, just do:

 

script/install –force http://svn.newrelic.com/rpm/agent/newrelic_rpm

 

Bill Kayser

New Relic RPM Developer

 

August 1, 2008 Posted by | Computers & Internet, Internet, Ruby on Rails, Technology | , , , , | 1 Comment

The Most Valuable Social Graph

As online advertising matures it is likely that ad targeting will be increasingly fine-grained. It strikes me that whoever has the most valuable social graph will have a formidable edge in the online ad wars. There is a lot more additional information that can be gleaned from most social graphs: hierarchy of connections (weighting each graph connection by importance to each user), relationship (co-worker, family member, close friend, casual acquaintance), type of content exchanged along that connection etc.

The candidates who seem likely to win are:

  1. Facebook – their graph has rich content due to the additional data they derive from tagging, email and other activities which reveal the strength of social connections.
  2. Skype – the people we call often are likely to be close friends or co-workers
  3. Xobni – located on the most valuable enterprise real estate, this application has insight into who you email, how quickly you respond to them, and even what you write about
  4. MySpace – the denser graph (more “friends” per user) has diluted the value of the graph compared to Facebook.
  5. LinkedIn – heavy business focus but a lot more information is volunteered at each node. Connections between nodes probably yields minimal extra information.
  6. Verizon – they have the data but are probably restricted from mining it.

Of course, pooling the data between all these graphs would result in a tremendous database.

July 23, 2008 Posted by | Computers & Internet, Technology | , , | Leave a comment

Linux for the masses

Every now and then it is forcefully driven home to me that Linux is not yet ready for mass adoption. I have been trying to set up my back / forward mouse buttons on Feisty Fawn. There is no reason why this should be difficult but the official instructions are alarmingly non-deterministic! Exhortations to “experiment” are just plain annoying. Plug and Play (TM) might not be perfect but it gets the job done most of the time.

July 1, 2008 Posted by | Computers & Internet, Engineering, Internet, Technology, Thoughts | , , , , | 5 Comments

A Recovering Programmer

I was once a respected coder. But for 5 years I’d designed ASIC’s using Verilog (where everything happens at once) and then for 5 years I’d turned to business. And it all changes in a decade. I’d let my skills lapse and in the interim C++ had morphed to Java and then suddenly CPU’s got really fast and scripting was back in vogue. 

I realized that my CS undergrad was quickly becoming worthless. Web programming was a complete mystery to me. (Whether that was really a problem is a philosophical question beyond the scope of a humble blog entry). Here is my road to recovery. In bullet point form amenable to PowerPoint and as buzzword compliant as possible.

Jan 1st, 2008: Resolve to brush up on programming skills.

Which language should I learn? Web development seems cool….what’s involved in that? Narrowed it down to a) the LAMP stack or b) Ruby on Rails. Do I want to be a) paid as a programmer or b) hip ?

I went with Hip. Rails it is.

Here are the steps (and mistakes) I took on the road to recovery:

  1. Linux – I remember that: “ls -al” and all that. It’s the sine qua non for a real programmer.
  2. F@(k. That’s a lot of variants of Linux. Go with Ubuntu because I’m semi-African.
  3. Hmm… Windows XP is standard issue at work.
  4. Get an old PC from my IT guy. Spend an entire day installing Ubuntu. Realize I’m now a web programmer so start again and install the server version. What the hell? What’s involved with web programming anyway. Will I be writing the client or the server?
  5. Call college roommate who is on “tiger team” at Yahoo. He says: “Buy Pickaxe“. Sold. In a flash of environmental sympathy I buy the PDF version. It also saves $10. Print it out on corporate printer. Double sided to save the environment.
  6. Need the Rails part: Buy “Agile Web Development with Rails“. We invested in an Agile software company so “agility” must be good.
  7. Start reading. In the interest of time and an anxiety to see the global greeting I dispense with Linux and deploy InstantRails on Windows –> Instant gratification. (Nice to see those programmer types have dropped their antipathy towards Microsoft. I’m a web programmer. Even if it’s only on localhost. (Wow: It’s only February and I could compete with Amazon if I wanted to and if I knew where to buy all the books for my bookstore)
  8. I have a bookstore up and running. No one can see it. That’s ok….how hard can deployment be.
  9. March. Deploytment is hard. People don’t recommend Windows. Could I be the only person writing Ruby code in a Rails environment on Windows XP. Seems to be from my google searches.
  10. Let’s reinstall Ubuntu Linux.
  11. Install ruby gems. Rinse. Repeat. Rinse. Repeat. Check dependencies. Rinse Repeat. Rinse. Repeat.
  12. Install MySQL. (It’s nice that I don’t need to think too much about the database. Seems like something business people should concern themselves with).
  13. Stuff is working. Slow as all hell on this ancient PC but what the hell. People will wait for the page to load.
  14. Becoming a problem that I can only work on my hobby at work. Can’t afford another PC at home.
  15. VMware to the rescue. Downloading an Ubuntu VM on my home PC is a cinch. And hip. Which is important.
  16. Realize I need a real hosting service. (Weeks of agonizing research). Settle on Dreamhost. (I love those guys!)
  17. Deploy app. Hmmm…this is a f@(k1ng nightmare!
  18. Passenger (mod_rails) is released a few days later. I realize I’m back on the cutting edge. Deployment is now piss easy.
  19. www.assetcorrelation.com (Live as of June 1st, 2008 — 5 months start to finish)
  20. Start to harass Google to show me some organic search love.

It’s been a wild ride. And not as hard as I thought. In the end, we return to the beginning. I still hate writing test benches. Hacking is still fun. And not having deadlines is the way to go. 🙂

June 25, 2008 Posted by | Computers & Internet, Engineering, Internet, Ruby on Rails, Technology | , , , , , , , , | Leave a comment

US Datacenter Energy Consumption

I was at a conference this morning where Spansion and Virident were presenting their latest flash memory technology designed to replace DRAM in web servers. Some interesting facts:

  1. Cooling and power distribution losses account for 50% of the electricity consumed in US datacenters.
  2. Datacenter power use doubled from 2000 to 2005 and will almost double again by 2010. Growth in electricity use has been slowed somewhat by the advent of server virtualization over the last few years.
  3. US datacenters use more electricity than countries like Sweden and Iran
  4. Datacenters use almost 100 billion kilowatt hours each year at approximately $0.10 per kilowatt hour. Datacenter electricity consumption is growing at 15% per year (!)
  5. Datacenter memory (DRAM) uses 2x more electricity than the total capacity of US solar panel installations.
  6. US, EU and Japan use 3/4 of the world’s electricity.

It will be interesting to see whether Spansion’s newly announced EcoRAM can put a dent in these problems. They are citing some impressive numbers:

  1. 1/5th the power of DRAM at comparable read performance.
  2. 800x faster than NAND flash access times.
  3. 30 mins to write 1TB of data on EcoRAM vs 5 hours using traditional NOR DIMM’s.

On the other hand, the representatives from Intel and AMD certainly weren’t giving their unqualified support to EcoRAM.

June 24, 2008 Posted by | Computers & Internet, Global Warming, Internet, Technology | , , , , , | Leave a comment

Optimal Memorization

Wired has an excellent article on an optimal memorization algorithm developed by Piotr Wozniak. The technique has been embodied in a software program called SuperMemo and an open-source alternative called Mnemosyne

I’m somewhat skeptical that spending more time on memorizing facts is that useful but given that a few months ago I could barely remember the equation for the roots of a quadratic perhaps I should be more open-minded.

The algorithm is straightforward:

  1.  
    1. Split the knowledge into smallest possible items.
    2. With all items associate an E-Factor equal to 2.5.
    3. Repeat items using the following intervals:
      I(1):=1
      I(2):=6
      for n>2: I(n):=I(n-1)*EF
      where:
      I(n) – inter-repetition interval after the n-th repetition (in days),
      EF – E-Factor of a given item
      If interval is a fraction, round it up to the nearest integer.
    4. After each repetition assess the quality of repetition response in 0-5 grade scale:
      5 – perfect response
      4 – correct response after a hesitation
      3 – correct response recalled with serious difficulty
      2 – incorrect response; where the correct one seemed easy to recall
      1 – incorrect response; the correct one remembered
      0 – complete blackout.
    5. After each repetition modify the E-Factor of the recently repeated item according to the formula:
      EF’:=EF+(0.1-(5-q)*(0.08+(5-q)*0.02))
      where:
      EF’ – new value of the E-Factor,
      EF – old value of the E-Factor,
      q – quality of the response in the 0-5 grade scale.
      If EF is less than 1.3 then let EF be 1.3.
    6. If the quality response was lower than 3 then start repetitions for the item from the beginning without changing the E-Factor (i.e. use intervals I(1), I(2) etc. as if the item was memorized anew).
    7. After each repetition session of a given day repeat again all items that scored below four in the quality assessment. Continue the repetitions until all of these items score at least four.

June 20, 2008 Posted by | Computers & Internet, Internet, Science, Technology, Uncategorized | , , , , | Leave a comment

Skype 4.0 and GUI madness

Skype has released version 4.0 (beta) and seem to have completely lost the plot on GUI design. In prior versions it was possible to have one’s contact list docked on the right side of the screen leaving plenty of real estate for working. The new layout now takes half of a 21″ monitor and can’t be made any smaller! That now makes it impossible to keep Skype open and periodically monitor online contacts. I would be ok with Skype taking over my screen once a call has started. Before that time, though, it should remain as unobtrusive as possible while still allowing me to monitor my contact list.

Skype needs to realize that our PC’s are not phones. Communication is a means; not an end.

I would recommend staying with Skype 3.8 until this issue is resolved.

June 18, 2008 Posted by | Computers & Internet, Internet, skype, Technology, Uncategorized | , , , | 1 Comment

SmugMug for Photo Hosting

I have been using SmugMug for hosting my photos for a while now. There are a few benefits that make it worth the small annual subscription and don’t seem to be available from any of the free offerings:

  1. Your friends and family can download photos in full resolution
  2. Absolutely zero ads. Not having ads posted alongside your photos makes them look a LOT better.
  3. Unlimited storage and quick/easy bulk uploads
  4. A personalized URL
  5. Backups in 3 states.
  6. No need to login to view the photos (strangers really aren’t interested in your photos!)
  7. More professional look and feel. This is a website that is used by many pros.

I’ve used SmugMug for three years now and have been extremely happy with all aspects of the service. If you’d like to save $5 on a subscription, enter the following coupon in the ‘Referred by’ field:  LQvt6m1M08vGw

June 18, 2008 Posted by | Computers & Internet, Internet, Photography, Technology | | 1 Comment

Migrating Rails App to Dreamhost using mod_rails

Over Memorial Day weekend I migrated my Rails Application to Dreamhost using mod_rails (Passenger). It was not an entirely smooth process but I was also upgrading from Rails 1.8.x at the same time. That was compounded by making the foolish mistake of trying to rebuild my database using Rake migrations. (That’s a bad idea. I could have saved many hours by just uploading the schema)

Here is the procedure I followed (hat tip to Nock):

  1. cd ~/
  2. rails your_app_name -d mysql
  3. Copy app/, database.yml, routes.rb, db/
  4. Change public/.htaccess from .cgi to .fcgi
  5. put your app into production mode (uncomment line 5 in environment.rb)
  6. run rake db:migrate RAILS_ENV=production
  7. chmod -R 755 ~/your_app_name/app
  8. rm your_app_name/public/index.html
  9. killall -USR1 dispatch.fcgi
  10. killall -USR1 ruby

One comment on step 4. For some reason none of my stylesheets would load. Much of the advice gleaned from endless Google searches seemed to suggest that the problem would be fixed by setting the RewriteBase in /public/.htaccess. That turned out to not be the case.

My stylesheet problem was caused by having this line twice in my .htaccess file

RewriteRule ^(.*)$ dispatch.fcgi[QSA,L]

DO NOT uncomment the one before RewriteEngine On , as all the tutorials seem to imply, just change the .cgi to .fcgi in the block below it.

Thanks to Dreamhost for their stellar support over a frustrating (for me!) Memorial Day weekend. In the end, (as is so often the case), very little of the frustration was caused by Dreamhost or mod_rails but, rather, by some of the vagaries of Rails. I’m guessing that future deployments would be much smoother as this was my first time deploying to a shared hosting environment.

May 27, 2008 Posted by | Computers & Internet, Internet, Ruby on Rails, Technology | , , , , , | 3 Comments

Dreamhost Supports Passenger and mod_rails

I use Dreamhost to host my websites and they have now added support for Passenger (a.k.a mod_rails). Ruby on Rails deployment hassles should be a distant memory soon!

If you’re looking for a cheap and cheerful hosting company for your Rails app, I highly recommend Dreamhost. It’s great for the solo developer (or small team) because for a small amount per year you can launch your site on a shared hosting service and then later easily migrate it to a virtual private server as your needs change. 

Dream in Rails

May 26, 2008 Posted by | Computers & Internet, Internet, Ruby on Rails, Technology | , , , , | Leave a comment

Adding Links to Amazon

To link to Amazon, use the following code

http://www.amazon.com/exec/obidos/ASIN/<10 digit ASIN number>/simplelight-20

Simply insert the relevant ASIN number for the product that you are linking to. You can find the ASIN number at Amazon’s Associate page

For example, to you would link to For One More Day by Mitch Albom like this:

May 25, 2008 Posted by | Computers & Internet, Internet, Technology | , , , | Leave a comment

Enabling Skype HD Video

To enable 640×480 video in Skype (instead of the usual 320×240 resolution), add the following lines to the config.xml file in the Skype user directory

<Video>
    <CaptureHeight>480</CaptureHeight>
    <CaptureWidth>640</CaptureWidth>
    <Fps>30</Fps>
</Video> 

There will probably already be a <Video> … </Video> section in the file so just add the middle three lines in that section.

The config.xml file is typically located in:

c:\users\<win_username>\AppData\Roaming\Skype\<skype_username>

Note: The “AppData” folder is a hidden folder so you’ll have to search for it. Either that, or just make all the folders in c:\users\<win_username> visible.

I’m running Windows Vista 64-bit so your location might be different. (If you do have the location for a different OS please leave a comment and I’ll update the post). If you enable “Display technical call info during calls” under Skype->Options->Advanced->Connection, you will be able to monitor the resolution and frame rate. (Hover your mouse over the main Skype tab and a yellow box will pop up with all the technical Skype data, including frames per second, transfer and receive resolution. This is useful for testing whether you are indeed sending the higher resolution image.)

Also, make sure you have the latest Logitech webcam driver installed. You don’t need the Logitech app, just the driver. I use the Logitech Quickcam Ultra Vision  and the image quality is very good.

Skype has gone to great lengths to differentiate this “hack” from their HQ (high quality) video (which requires Skype-endorsed webcams) but I think the difference is marginal if you have decent hardware and bandwidth. It appears that as of Skype 3.8 you will no longer see the usual HQ Video logo but you will still be transmitting video at the higher resolution. Your frame rate might take a slight hit depending on your uplink bandwidth. 

(As an aside: I highly recommend not upgrading to the current Skype 4.0 beta)

May 24, 2008 Posted by | Computers & Internet, Engineering, Technology | , , , , | 8 Comments

The Popularity of Programming Languages

The Tiobe Programming Index gives an indication of the popularity of programming languages. I’m pleased to see that Ruby (and consequently Ruby on Rails) continues to move up the rankings. I guess I’m going to have to learn Java at some point.

May 8, 2008 Posted by | Engineering, Ruby on Rails, Technology | , , , , | Leave a comment

Global Warming and Food Riots

The Wall Street Journal had an article a few days ago about the unreliability of some of the numbers behind global warming. The article goes on to say:

The fear of a sudden loss of ice from Greenland also makes a lot of news. A year ago, radio and television were ablaze with the discovery of “Warming Island,” a piece of land thought to be part of Greenland. But when the ice receded in the last few years, it turned out that there was open water. Hence Warming Island, which some said hadn’t been uncovered for thousands of years. CNN, ABC and the BBC made field trips to the island.

But every climatologist must know that Greenland’s last decade was no warmer than several decades in the early and mid-20th century. In fact, the period from 1970-1995 was the coldest one since the late 19th century, meaning that Greenland’s ice anomalously expanded right about the time climate change scientists decided to look at it.

Warming Island has a very distinctive shape, and it lies off of Carlsbad Fjord, in eastern Greenland. My colleague Chip Knappenberger found an inconvenient book, “Arctic Riviera,” published in 1957 (near the end of the previous warm period) by aerial photographer Ernst Hofer. Hofer did reconnaissance for expeditions and was surprised by how pleasant the summers had become. There’s a map in his book: It shows Warming Island.

The mechanism for the Greenland disaster is that summer warming creates rivers, called moulins, that descend into the ice cap, lubricating a rapid collapse and raising sea levels by 20 feet in the next 90 years. In Al Gore’s book, “An Inconvenient Truth,” there’s a wonderful picture of a moulin on page 193, with the text stating “These photographs from Greenland illustrate some of the dramatic changes now happening on the ice there.”

Really? There’s a photograph in the journal “Arctic,” published in 1953 by R.H. Katz, captioned “River disappearing in 40-foot deep gorge,” on Greenland’s Adolf Hoels Glacier. It’s all there in the open literature, but apparently that’s too inconvenient to bring up. Greenland didn’t shed its ice then. There was no acceleration of the rise in sea level.

Finally, no one seems to want to discuss that for millennia after the end of the last ice age, the Eurasian arctic was several degrees warmer in summer (when ice melts) than it is now. We know this because trees are buried in areas that are now too cold to support them. Back then, the forest extended all the way to the Arctic Ocean, which is now completely surrounded by tundra. If it was warmer for such a long period, why didn’t Greenland shed its ice?

This prompts the ultimate question: Why is the news on global warming always bad? Perhaps because there’s little incentive to look at things the other way. If you do, you’re liable to be pilloried by your colleagues. If global warming isn’t such a threat, who needs all that funding? Who needs the army of policy wonks crawling around the world with bold plans to stop climate change?

It seems to me that we should have thought about this before we starting using our corn to power our cars. Because that’s the kind of stupidy that leads to food riots around the world.

April 21, 2008 Posted by | Global Warming, International Affairs, Politics, Science, Technology, Thoughts | 2 Comments

Thoughts on the Consumer Electronics Show

I am sitting in my hotel room looking over the Las Vegas Convention Center where hundreds of thousands of global citizens are thronging the cavernous halls. It is easy to lose perspective when you are down there, pressed on all sides by televisions and cell phones and audio equipment and pimped-out cars and computer games.

Back in my hotel room, though, the thought occurred to me, as it does every time I come to CES, that there is a vast difference between life and technology. Technology only provides the infrastructure for life. We still have to provide the rest: the creativity, the relationships, the laughter, the intimate connection. As far as I can tell almost every gadget in those halls serves either to bring us entertainment or to make us more efficient. But at times I wonder whether it is possible for technological progress to increase our entertainment. Was an hour of ‘I Love Lucy’ on a 27″ black and white TV that much less entertaining than ‘Heroes’ on a 102″ plasma screen?

And how much more efficiency or productivity are we really gaining from technology these days? The limiting factor in the information age seems to be the rate at which we can absorb and process new information in our finite brains. There seems to be very little left to automate in my life.

As I write, the Apple hordes are ecstatic over the announcement that Steve Jobs will produce a phone just for them. A bigger screen on a trendier phone will not make us any more likely to pick it up and call the person in our life who yearns to hear from us, to connect with us, to hear again that we love them. Or will it?

January 9, 2007 Posted by | Technology, Thoughts | 1 Comment