Financial Shock: The Bad Decisions that Got Us Here

Financial Shock A 360º Look at the Subprime Mortgage Implosion, and How to Avoid the Next Financial Crisis is an amazing read.

Amazing for 2 reasons:

  1. It was published in early 2008 and
  2. is covering – in-depth – the issues the news media is just now picking up on – e.g. the Fed nearly bailed out Bears Stearns a year ago – in 2007 – when 2 of their big hedge funds collapsed.1

Our financial institutions, like our economy, are complex and global in reach. Zandi does a fantastic job of navigating that complexity and arguing that it wasn’t a single decision, or policy change, that caused the collapse, it was many Really Bad Decisions.

I’ve been dog-ear-ing the pages containing jaw-droppingly bad decisions, easily a third of page have their corners down.

Here’s just 3:

  • CDOs
  • ARM
  • Negative Amortized Mortgages

1. Stearn’s said, ‘No thanks. We’ll handle it internally.’ Add this to the Bad Ideas List.

9 Things Cullect Taught Me About Software

  • Forcing people to create an account to use your software is a bug.
  • if you’re not scared to deploy, you’ve stopped caring.
  • Murphy is alive and well.
  • Google and a bookself of technical books can be equally useless.
  • Good software is like an iceberg.
  • if you ask for money, people will give it to you.
  • Software is as hard as you make it. Don’t.
  • Most features can be removed and no one will notice.
  • A great project will eat everything in it’s path.

In Bigger News: FCC Opens White Space & Frees iPhone

I was always baffled by Apple exclusively giving the iPhone to AT&T. It’s not in Apple’s DNA to tie the customer experience of their products to someone else. Exclusively or otherwise. Multi-year or otherwise. Apple’s built their reputation on owning and controlling the entire stack; OS, applications, hardware. Hell, Apple’s never been crazy about having a development community either.

With the FCC’s move to open up the unused television spectrum for unlicensed use (think WiFi on a nationwide scale), the Apple + AT&T partnership feels more like a hedge on Apple’s part. A way to get the product out ahead of the curve.

In a couple years, the technology to use this new spectrum will be on the market and stable.

By that time, Apple’s agreement with AT&T will be expiring. Think Apple will be selling the iPhone with any carrier when nationwide spectrum is available ‘for free’?

No.

Think they’re be any difference between the iPhone and the iPod Touch at that point?

Again, no.

Also, I see this as another point confirming my prediction that the move to digital broadcast in Feb 09 will wipe out the broadcast television viewing audience.

This is as historic a moment for our country as electing the first African-American POTUS.

Not because of how it impacts something as luxurious as Apple products, but because it wipes out the need for telco carriers, opens up the municipal broadband market, and with a ‘flip of a switch’ internet-ifies rural America.

Decision 2008, and My Vote Goes to…

Attention, St. Anthony Villagers, your sample ballots are here (Hennepin | Ramsey)

My votes;

Presidential & Vice Presidential:
Barak Obama & Joe Biden

U.S. Senator:
Dean Barkley

U.S. Representative District 5:
Keith Ellison

U.S. State Representative District 54a:
Mindy Greiling

Constitutional Amendment: Clean Water, Wildlife, Cultural Heritage and Natural Area: Yes.

Overall, the decisions were easy. Either the incumbents are doing a great job, or their competitors irked and frustrated me multiple times.

TiVo Has Until Feb ’09

“But TiVo has repeatedly failed to gain traction in the marketplace even though it has been hard at work creating innovative ad solutions and coming up with ways to help advertisers and networks recoup ad dollars.” – Meghan Keane

I’d flip it around – Tivo has failed to gain traction specifically because it’s been hard at work creating innovative ad solutions.

Rather than focusing on replicating the clutter and distraction of broadcast advertising, TiVo should have been focusing on improving the experience of capturing internet-based video 1. Completely bypassing the confusion of the switch to digital broadcast and making browsing YouTube on your TV as easy as browsing YouTube not on your TV.

Maybe even go so far as offering a box without a TV tuner – internet only.

But they didn’t and like Palm, their lunch was eaten by Apple.

My broadcast TV viewing has dropped precipitously since we purchased the TiVo 3 yrs ago. It’s down to 1 or 2 programs that TiVo rarely captures in any watchable way, and TV via Netflix.

Just yesterday I received an email from TiVo offering me $100 off their HD box – bringing the price down to $200 + service. Will we upgrade when our standard TiVo turns into a doorstop?

Right now, I’d put money on us dropping broadcast TV altogether. It’s not how I see us interacting with video after Feb 2009.

1. TiVo’s Future is in Videoblogs Not in Network Television

How To Cache Highly Dynamic Data in Rails with Memcache – Part 1

There are a number of ways increase Ruby on Rails performance through caching. Caching works because things don’t change….or don’t change frequently.

In Cullect, almost everything is dynamic, even Cullect’s HTML presentation format has 3 different states depending on access privileges and there are 8 other presentation formats available.

The standard page, action, and fragment caching make less sense when the ‘heaviest’ data are also the most dynamic – the feed items.

For the feed items, I’m using a building a custom memcached name-value-pair holding 10 attributes describing the request as the key name and the items themselves as the key value.

From the ‘show’ action in my controller:

key = "
#{item_count}:
#{attribute_1}:
#{attribute_2}:
#{attribute_3}:
#{attribute_4}:
#{etc...}"

Notice the first attribute in the key is the total number of items within a specific Cullect Reading List – which will change when a feed updates or an item is hidden – automatically expiring stale caches.

Then, I check the cache for the key and pull the items from the cache if it exists.

if Cache.get(key)
@allitems = Cache.get(key)

If there’s no key in the cache, I do the query and put the retrieved items into the cache.

else
@allitems = get_items(attribute_1, attribute_2, attribute_3, attribute_4, etc)
Cache.put key, @allitems
end

While this speeds up subsequent requests, there’s still the question of speeding up the initial request. I’ll save that for part 2.

Information as Milk or Wine?

I’ve been thinking about information – ‘news’ if you will – quite a bit lately – in the context of other things we ‘consume’ – beverages.

 

Milk   Wine
Kids drink it Adults drink it
Paired with cookies   Paired with dinner
Expires/Smells funny   “Gets better with age”
Homogenized   Vintage
Price varies little   Price varies greatly
Un-vegan   Un-vegan

Obviously, the ‘wine’ side is more attractive (at least to mildly-lactose-intolerant me). Cullect and its ‘Important Rank‘ is built on the ‘wine’ side.

Note: I consider this a half-formed post.
To Do: figure out if/how this ties into Matt’s Newless.org project.