davidw is currently certified at Master level.

Name: David Welton
Member since: 2000-02-16 03:01:49
Last Login: 2008-04-04 07:13:59

FOAF RDF Share This

Homepage: http://www.welton.it/davidw/

Notes:

Projects

Articles Posted by davidw

Recent blog entries by davidw

Syndication: RSS 2.0

18 Jul 2008 (updated 18 Jul 2008 at 13:09 UTC) »

Startups and the role of capital and investments

One of the most exciting things about the computer industry these days is the ease with which can get started. Decent computers can be had for well south of $1000, hosting is cheap, services like Amazon EC2 make it ever easier to scale rapidly should the need arise, and the only other things you need are an internet connection and a place to sit. This is leading to more people, like 37 Signals to question the need for investment entirely and others, like YCombinator to successfully make very small investments (thousands of dollars, rather than millions).

Sometimes, however, I wonder - is it just a passing moment in time, a window of opportunity, or is it a long term trend? Historically, to set up something like a factory required a great deal of money, putting it beyond the reach of anyone unable to obtain financing. Even in this day and age, there are plenty of endeavors that require large amounts of capital, and a lot of time, prior to seeing returns: that's how things work in my wife's field, biotech. Some fields have even become more expensive with time. High end computer games are very expensive propositions in this day and age, compared to the low budget stuff typical of, say, the Commodore 64 era, although it's also true that the market has also grown a lot, and that there is still space for smaller-budget operations.

How does all this look historically? Have there been industries in the past where it was so easy to get started? Anything that was able to scale? By which I mean: it might have been relatively easy to start some kind of small business, but it would most likely always stay small, whereas things like Craigslist or 37Signals have the means to grow a great deal without adding lots of people. Will things change in the future so that one or a few programmers can't compete with a big team? Or perhaps things will go in the other direction and more industries will become like computing is today and it will be possible to a biotech startup in your home office?

Syndicated 2008-07-18 11:43:00 (Updated 2008-07-18 12:33:24) from David's Computer Stuff Journal

15 Jul 2008 »

Misquoted

Well, to be charitable, it was a bit late and so perhaps what I said came out wrong, but in this article:

http://www.theregister.co.uk/2008/07/14/android_developer_unrest/

I'm quoted as saying the problem is with "upper management", which I don't really believe to be the case, going by snippets of conversations and things I've read. Frankly, at this point in time, I have no idea why Google can't talk about Android.

Also, I had several other positive things to say to the reporter, but I guess the 'focus' of the piece was about the problems that Android is currently experiencing. Notwithstanding the recent weirdness, I'm quite happy that someone with a lot of money and muscle is going to be backing an open source mobile phone system, and hope that the current troubles are merely a small speed bump.

Syndicated 2008-07-15 18:53:00 (Updated 2008-07-15 19:09:25) from David's Computer Stuff Journal

11 Jul 2008 »

Squeezed Books Contest

I'd like to announce a modest contest on the Squeezed Books web site: the person who contributes the most to existing or new summaries wins a free business book + shipping, from Amazon, courtesy of Squeezed Books.

Yeah, I know that it doesn't really compare with the millions that big companies can give away, but I thought it would be a nice way to reward people who work on the site. If it works out well, we'll repeat it every month.

So, if you're the kind of person who already takes notes when you read a book, or you've read a lot of business books and can distill their key points, this might be a good opportunity to take a chance at a free book, and share your knowledge with others (summaries, unless otherwise noted, are under a Creative Commons license).

Questions and comments welcome: it's an experiment, so ideas on how to improve it are welcome too.

Syndicated 2008-07-11 12:07:00 (Updated 2008-07-11 12:30:07) from David's Computer Stuff Journal

9 Jul 2008 »

Google, Android, and the case of the missing communication

Like many people, I participated in the Google Android contest this spring, and like most of them, I didn't win, but I did enjoy working with the platform, and am very excited about the idea of an open source mobile platform that's relatively powerful.

From the outset, due to the lack of actual source code for a lot of the system, there have been "doubters" about what Google is really up to. I'm not one of them, and am largely ok with their reasons for holding back: I buy their reasoning that the long term benefits of a strong, properly QA'ed launch probably outweigh the possibility of failure that might come from the press and the public at large that doesn't care much about software freedom seeing phones come out with half-baked, early implementations. I think most of us working with Android were ok with that strategy, and the ones who weren't self-selected out of the platform, most likely.

However, lately Google has made something of a mess of their communications regarding Android. The problem stems from the fact that they gave an updated version of the SDK only to the winners of the competition, which for a lot of people felt like a bit of a slap in the face: they helped popularize the platform by participating in the contest and writing applications for it, and in return got excluded from the upgrade path. Personally, it's not really any skin off my nose, as I'm sanguine about the Hecl port proceeding apace when the new SDK is public, but I can see that if you were, say, a company porting your app to the platform and now are left behind the competition winners, you might be a bit irritated.

The biggest mistake they've made though, is a big lack of communication regarding this business. As I said, I don't really have that much skin in the game, and if they explained in a convincing way why they needed to do things that way, they would go a long ways to allaying the frustrations felt by many.

I'm not much of a believer in conspiracy theories and plots, especially where companies are concerned. Inept bumbling is a far more likely explanation in most cases, including this one. What is odd, though, is that Google has a lot of people who "get it". I met Dan Morrill at the Munich Android event, and he definitely gets it. He writes about his frustrations as a developer advocate and all the crazy things people say. Well, one way to reduce the number of batty internet theories (eliminating them is clearly impossible due to the alien mind control rays) is to consistently communicate quality information about what's really going on, something that has been lacking with regards to the SDK question. Here's another Google employee who understands this need to communicate, and apparently does so despite being worried about being "slapped for talking publicy about all this":

http://groups.google.com/group/android-developers/msg/244edfad99870c63

But the root of the problem is certainly not licensing but that there hasn't been a new public SDK release since M5, while at the same time a small group of people received updated versions privately.

I really don't know precisely why this happened; but I'm sure it has more to do with logistics and reducing the burden of support while we shift priorities (to shipping real devices) rather than politics or any will of our part to "hurt the community" (come one guys, we are not that stupid... !)

While others in the team may disagree, I think it was very very unfortunate; some of us are trying to prepare a new SDK release, but it's a lot harder than I can comment on here, so don't hold your breath because it might not happen that soon.

This explains things in part, but still leaves us in the dark, and leaves me with the feeling that someone in power, somewhere at Google, despite his or her clued in colleagues, really doesn't get it with regards to open source.

I'm still unconcerned about the Android source code: I think we'll see it, but to be a true open source project, Android will need an open community as well, not one where decisions are taken exclusively at Google, and not even communicated to the development community at large. All in all, this mistake is more molehill than mountain, but however you look at it, in terms of open source, it is a step backwards.

Syndicated 2008-07-09 12:11:00 (Updated 2008-07-09 12:58:43) from David's Computer Stuff Journal

13 Jun 2008 »

Cache it all

I recently redid my personal web site, at welton.it. Wanting to be quick about it, and make the look and feel a bit more uniform than it has been in the past, I hacked together some pages in Rails. Despite this being sort of a "killing a fly with a bazooka" situation, I've been doing lots with Rails, so it was quick to use. Here's the thing, though: Rails is definitely overkill, as the site is basically static. I don't need to calculate anything or fetch stuff from a database - I just wanted a reasonably good template system, and I am quite comfortable with Rails these days.

But the idea of leaving Rails running for a static site was of course no good: I basically need to cache the entire thing, so that Rails is simply not involved. How to do this as quick as possible (in between diaper changing and other baby duties!) ? Ideally, it would be possible to introspect Rails in order to know exactly which pages are present, then cache those, and avoid Rails on the server entirely (just generate them locally and put them in subversion), but that proved to be fairly hacky, so I settled for this code, which simply caches all pages which comes across, when caches_pages is placed in application.rb:

class CacheFileName
  include ActionController::Caching::Pages
  include ActionController::Caching::Pages::ClassMethods

  def cachedname(path)
    page_cache_file(path)
  end
end

def caches_pages()
  return unless perform_caching
  after_filter do |c|
    res = c.cache_page
    cfn = CacheFileName.new
    cf = Cachedfile.new :filename => cfn.cachedname(c.request.path)
    cf.save!
  end
end

It simply caches everything. To be able to easily clear out the cache if there are any changes to the site, we record the changes in the Cachedfile model, which is defined like this:

create_table "cachedfiles", :force => true do |t|
  t.string   "filename"
  t.datetime "created_at"
  t.datetime "updated_at"
end

with this model:

class Cachedfile < ActiveRecord::Base

  def Cachedfile.clean_cache
    Cachedfile.find(:all).each do |cf|
      begin
        fn = ActionController::Base.page_cache_directory + cf.filename
        File.delete fn
      rescue => e
        logger.error "Error deleting #{fn}: #{e.inspect}"
      ensure
        cf.destroy
      end
    end
  end

end

which has a class method to go through and clean out all the cached files. I call it manually from ./script/clean_cache:

#!/usr/bin/env ruby

ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'development'

require File.dirname(__FILE__) + '/../config/boot'
require "#{RAILS_ROOT}/config/environment"
require 'console_app'

Cachedfile.clean_cache

It's not a beautiful system, but it gets the job done.

Syndicated 2008-06-13 21:21:00 (Updated 2008-06-13 21:45:08) from David's Computer Stuff Journal

292 older entries...

 

davidw certified others as follows:

  • davidw certified davidw as Journeyer
  • davidw certified cgabriel as Journeyer
  • davidw certified mbp as Journeyer
  • davidw certified mjs as Master
  • davidw certified Radagast as Journeyer
  • davidw certified uzi as Journeyer
  • davidw certified joey as Journeyer
  • davidw certified lupus as Master
  • davidw certified cas as Journeyer
  • davidw certified dhd as Journeyer
  • davidw certified rasmus as Master
  • davidw certified mblevin as Journeyer
  • davidw certified daniel as Journeyer
  • davidw certified dsifry as Journeyer
  • davidw certified zab as Master
  • davidw certified bneely as Apprentice
  • davidw certified deirdre as Apprentice
  • davidw certified crackmonkey as Journeyer
  • davidw certified jim as Journeyer
  • davidw certified schoen as Journeyer
  • davidw certified wichert as Master
  • davidw certified inf as Journeyer
  • davidw certified hands as Journeyer
  • davidw certified stig as Journeyer
  • davidw certified lilo as Master
  • davidw certified jgg as Master
  • davidw certified branden as Journeyer
  • davidw certified seeS as Journeyer
  • davidw certified jimd as Journeyer
  • davidw certified nick as Journeyer
  • davidw certified digdude as Journeyer
  • davidw certified netgod as Journeyer
  • davidw certified dres as Journeyer
  • davidw certified gorgo as Journeyer
  • davidw certified ruud as Journeyer
  • davidw certified tausq as Journeyer
  • davidw certified vincent as Journeyer
  • davidw certified jes as Master
  • davidw certified stephane as Apprentice
  • davidw certified ajt as Journeyer
  • davidw certified EwS as Apprentice
  • davidw certified ajk as Journeyer
  • davidw certified liw as Journeyer
  • davidw certified Joy as Journeyer
  • davidw certified ettore as Master
  • davidw certified jkh as Master
  • davidw certified hpa as Master
  • davidw certified elise as Journeyer
  • davidw certified BrucePerens as Master
  • davidw certified corbet as Master
  • davidw certified bcollins as Journeyer
  • davidw certified ciro as Master
  • davidw certified bdale as Master
  • davidw certified puffin as Master
  • davidw certified justin as Journeyer
  • davidw certified davem as Master
  • davidw certified drow as Master
  • davidw certified clameter as Journeyer
  • davidw certified dburcaw as Journeyer
  • davidw certified mdorman as Journeyer
  • davidw certified lalo as Journeyer
  • davidw certified davidm as Journeyer
  • davidw certified ianmacd as Journeyer
  • davidw certified dyork as Journeyer
  • davidw certified orabidoo as Journeyer
  • davidw certified JHM as Journeyer
  • davidw certified shaleh as Journeyer
  • davidw certified jpick as Master
  • davidw certified star as Journeyer
  • davidw certified gord as Journeyer
  • davidw certified gstein as Master
  • davidw certified wcooley as Apprentice
  • davidw certified sethcohn as Journeyer
  • davidw certified csurchi as Apprentice
  • davidw certified Daryll as Master
  • davidw certified eskimoses as Journeyer
  • davidw certified pompeiisneaks as Apprentice
  • davidw certified stefano as Journeyer
  • davidw certified fog as Journeyer
  • davidw certified zed as Journeyer
  • davidw certified jhasler as Journeyer
  • davidw certified evo as Journeyer
  • davidw certified eckes as Journeyer
  • davidw certified dido as Apprentice
  • davidw certified rubys as Master
  • davidw certified rse as Master
  • davidw certified anton as Master
  • davidw certified sascha as Master
  • davidw certified paci as Master
  • davidw certified fielding as Master
  • davidw certified sama as Journeyer
  • davidw certified panta as Master
  • davidw certified antirez as Master
  • davidw certified joke as Apprentice
  • davidw certified hacker as Journeyer
  • davidw certified Tv as Journeyer
  • davidw certified xtifr as Journeyer
  • davidw certified eugenia as Journeyer
  • davidw certified CarloK as Journeyer
  • davidw certified jimw as Master
  • davidw certified Slimer as Journeyer
  • davidw certified RoUS as Master
  • davidw certified ask as Master
  • davidw certified dwiner as Apprentice
  • davidw certified jimjag as Master
  • davidw certified andersee as Journeyer
  • davidw certified Dunc as Journeyer
  • davidw certified brlewis as Journeyer
  • davidw certified claviola as Journeyer
  • davidw certified stevecassidy as Journeyer
  • davidw certified ldunbar as Apprentice
  • davidw certified atai as Journeyer
  • davidw certified bma as Journeyer
  • davidw certified mperry as Journeyer
  • davidw certified cjwatson as Journeyer
  • davidw certified daniels as Journeyer
  • davidw certified rbb as Master
  • davidw certified mkraemer as Master
  • davidw certified whitinger as Master
  • davidw certified tromey as Master
  • davidw certified thom as Master
  • davidw certified jlatour as Apprentice
  • davidw certified Rich as Master
  • davidw certified pusakat as Journeyer
  • davidw certified enigma as Journeyer
  • davidw certified ewsdk as Apprentice
  • davidw certified acoliver as Journeyer
  • davidw certified latchkey as Master
  • davidw certified cwinans as Apprentice
  • davidw certified andreaskupries as Master
  • davidw certified jenglish as Master
  • davidw certified benh as Master
  • davidw certified bonzini as Master
  • davidw certified imbe as Journeyer
  • davidw certified patthoyts as Master
  • davidw certified lars as Master

Others have certified davidw as follows:

  • davidw certified davidw as Journeyer
  • mbp certified davidw as Master
  • cgabriel certified davidw as Journeyer
  • uzi certified davidw as Journeyer
  • dhd certified davidw as Journeyer
  • bombadil certified davidw as Journeyer
  • ajt certified davidw as Journeyer
  • andrei certified davidw as Journeyer
  • joey certified davidw as Journeyer
  • cas certified davidw as Journeyer
  • lupus certified davidw as Journeyer
  • daniel certified davidw as Journeyer
  • dsifry certified davidw as Journeyer
  • crackmonkey certified davidw as Journeyer
  • jim certified davidw as Journeyer
  • schoen certified davidw as Journeyer
  • inf certified davidw as Journeyer
  • lordsutch certified davidw as Journeyer
  • branden certified davidw as Journeyer
  • bneely certified davidw as Journeyer
  • cech certified davidw as Journeyer
  • ruud certified davidw as Journeyer
  • gorgo certified davidw as Journeyer
  • jgg certified davidw as Journeyer
  • tausq certified davidw as Journeyer
  • wichert certified davidw as Journeyer
  • digdude certified davidw as Journeyer
  • knghtbrd certified davidw as Journeyer
  • ajk certified davidw as Journeyer
  • bma certified davidw as Journeyer
  • Joy certified davidw as Journeyer
  • no certified davidw as Journeyer
  • rcw certified davidw as Journeyer
  • ciro certified davidw as Journeyer
  • bdale certified davidw as Journeyer
  • drow certified davidw as Journeyer
  • bribass certified davidw as Journeyer
  • davidm certified davidw as Journeyer
  • ianmacd certified davidw as Journeyer
  • dyork certified davidw as Journeyer
  • shaleh certified davidw as Journeyer
  • jpick certified davidw as Journeyer
  • jae certified davidw as Journeyer
  • star certified davidw as Journeyer
  • csurchi certified davidw as Journeyer
  • wcooley certified davidw as Journeyer
  • sethcohn certified davidw as Journeyer
  • nixnut certified davidw as Master
  • zed certified davidw as Journeyer
  • evo certified davidw as Journeyer
  • dido certified davidw as Journeyer
  • panta certified davidw as Journeyer
  • antirez certified davidw as Journeyer
  • joke certified davidw as Journeyer
  • eugenia certified davidw as Journeyer
  • xtifr certified davidw as Journeyer
  • CarloK certified davidw as Journeyer
  • jLoki certified davidw as Journeyer
  • jao certified davidw as Master
  • jimw certified davidw as Journeyer
  • pompeiisneaks certified davidw as Master
  • highgeek certified davidw as Journeyer
  • stone certified davidw as Journeyer
  • claviola certified davidw as Master
  • wardv certified davidw as Journeyer
  • MikeGTN certified davidw as Master
  • walters certified davidw as Journeyer
  • technik certified davidw as Master
  • ks certified davidw as Journeyer
  • mperry certified davidw as Master
  • adulau certified davidw as Master
  • fxn certified davidw as Journeyer
  • Jordi certified davidw as Journeyer
  • baux certified davidw as Journeyer
  • gp certified davidw as Journeyer
  • cjwatson certified davidw as Journeyer
  • darkewolf certified davidw as Master
  • daniels certified davidw as Master
  • demoncrat certified davidw as Journeyer
  • rkrishnan certified davidw as Journeyer
  • sdodji certified davidw as Master
  • sand certified davidw as Master
  • stevecassidy certified davidw as Journeyer
  • const certified davidw as Master
  • ewsdk certified davidw as Master
  • aftyde certified davidw as Master
  • Rich certified davidw as Master
  • ariya certified davidw as Master
  • chalst certified davidw as Master
  • pasky certified davidw as Master
  • sral certified davidw as Master
  • bonzini certified davidw as Journeyer
  • ploppy certified davidw as Master
  • RickMuller certified davidw as Master
  • alejandro certified davidw as Journeyer
  • imbe certified davidw as Master
  • lars certified davidw as Master
  • migus certified davidw as Master
  • patthoyts certified davidw as Master
  • sgala certified davidw as Master
  • zbowling certified davidw as Master
  • andrea certified davidw as Master
  • arahwilde06 certified davidw as Master
  • jacopoc certified davidw as Master new

[ Certification disabled because you're not logged in. ]

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page