Danae took this in Van Dusen gardens a couple of weeks ago, found a whole bunch of really nice pictures in her iPhoto library, so hopefully a few more to follow.
Someone will always try and game it. The thing that Blizzard (Warcraft's makers) have always tried to do is block sellers of gold. You use gold in the game to buy better gear. This is not allowed by Blizzard under the terms of service, but it's something people do anyway.
So people spam you in Blizzard trying to get you to spend your hard earned dollars on getting gold from them. It used to be people would spam you in chat, blocked. They would shout alot, blocked. They would do trades with you, blocked. And so on. Then the other day I saw this:
Brilliant. Make about 50 characters, then get them all to fall asleep in a way that spells out the name of the domain you are trying to get people to buy gold from. The only flaw is that other people were lying on the Y to obscure it, but full marks for effort. And yes, that's my character at the bottom named after the one and only text editor.
I've been working on a product for a while, but it's not getting much traction. It's spent a lot of time in my head and taken up my time and energy. I'd planned on giving it a few months, but it's now past that schedule.
Every time I describe it to someone they say "that's great!". But little uptake, I looked at the numbers on the site and it's not very much and I can't keep justifying it.
It's hard after I've worked on something for so long to just stop working on it for a while. But there's at least one thing that keeps me hopeful that it will not die - I find it damn useful and use it all the time (and a few other people do too).
Perhaps I've fallen for all the 37 Signals and others advice. Work on things you find useful and enjoy and others will too. If I find it useful I'll keep working on it, improving it and telling others about it things might start to change.
Keep adding in things now and again, as time permits on the back burner.... but in the end time to move focus. Could be Seth Godin is right and the product is boring.
Time to do something more exciting... so watch this space.
Every so often it crosses my mind - time to give up computers and do something else. Move on to something else. Maybe writing full time. Maybe canoe guide or instructor. Maybe take up woodworking seriously.
I'm not sure why I keep thinking that another career would be any better or worse than this one. The grass is always greener, as they say. Perhaps it's the simple things. What are the problems at the moment?
Although I've done it for a long time now, working alone in a home office can be a pretty lonely experience - more human interaction and company maybe?
Sitting at a computer is not good for the health. I've never been one of life's fittest and most active people, but I do love going outside. Struggling to make time to do that these days.
I seem to spend a lot of time in my RSS reader, reading about how other people are doing exciting things and starting things up. Perhaps I need to spend less time reading and just doing (even if it is a bit blind).
I seem to spend a lot of time thinking about how to get things better or make money from idea X or Y.
Perhaps in the end I'm spending too much time thinking. Sitting at computer with all these information sources can be a curse. Whenever I start a project for myself or a client, I Google the details. As I go through the development process, I'm continually looking for code, libraries and thinking of more efficient ways to complete the project. All well and good, but its a process that involves lots of thought. By design it's a process that involves lots of thinking. Perhaps I need to do less of that some days.
If you were going to throw in the chips on an IT career, what would you do?
From about Feb-April I didn't have a huge amount of consulting work. Then it's all come at once in one big heap. Happy to do it, but I would prefer it if it was a little bit more spread out so I could enjoy the long weekend a bit more.
Some news:
New house rocks, been in it for a couple of weeks and couldn't be happier with it.
Had a good time in Kenya, the photo's are pretty boring because I spent most of the time in a hotel in Kisumu, head's down writing code. If you are interested in what I was doing, that's over on djangozen. This is a brief post because I have to get on with invoicing and other stuff.
Sunset as a thunderstorm comes in
Have to say that part of Kenya is lush and beautiful, but I found being in Kisumu I didn't necessarily see the best of the place. I'm not a city person, I like peace and quiet and that's not the place for it. The best day was Thursday when we did some travelling to the villages that are involved in the project in question. There I saw a school, clinic and hospital and lots of villages and people.
Classroom
The school was brill, the clinic ok and the hospital was fine till I saw some kids with serious malnutrition and that really got me. Not much more to say on that, but rarely do you see the subject of a project so closely and personally.
Yes that guy's family came from this area
Every night after chatting with friends, I had to go and open Google Maps and find out where the heck people were talking about. Really haven't travelled in Africa and so that most of the places mentioned went over my head.
Food was mostly western (in the hotel) or fish - due to being on the shores of Lake Victoria.
Fish
Heading back was slightly more painless than going out. A flight to Nairobi (1 hour), then Amsterdam (8 hours), Toronto (7 hours), Vancouver (5 hours). Got home at 2am.
Best airport departure lounge, ever
And sod's law, couldn't sleep till 5 am. Which was a pain since at 9am we picked up the van to move house. Needless to say at 8pm that night, after Emily's birthday party I crashed very hard.
As you may have heard if you follow twitter, I'm in Kenya at the moment. It's 4.30am, I'm really hot and can't sleep, so here's some ramblings about what I've been up to. A more coherent post on the project will follow once I get back.
About a week an a half ago an opportunity came up to help out on a Django project in Kenya, because a developer on the project wasn't able to go. First off I had to complete a prototype for a local company that's got a project in the pipe. It's a really nice company and a cool project, I hope it goes forward.
So once that was done (over the weekend) I flew out to Kenya on Tuesday night. Less than 5 days after the initial email. The amount of things we did in that time was silly, including moving forward the signing of the paperwork on our newly bought house (Danae got the key today), visiting the doctor for shots and pills, getting insurance for travel, house etc... the list went on.
Anyway the prototype seemed to work well and then I was able to fly out Tuesday evening. First stop Amsterdam 8 hour flight. Yay 9 hour layover there. Then 7 hour flight to Nairobi. I had one hour to change to a flight to my destination - Kisumu. Took 20 minutes to get off the plane. Took 20 minutes to get a visa. Ran over to the other terminal. Got stuck in a 20 minute security line up as a tour bus was let in before me. Got to the counter 5 minutes before the flight departed. Nope.
Next flight was at 5pm - its 7am.
Now I'm not a good person in crowds or around lot's of people. I'm used to very quiet, shy, law-abiding, British repressed Vancouver. It's wonderful, polite non-threating. Where people follow rules. Naples is the exact opposite. We were in Naples a year or two ago and it was hell. Nairobi airport is like Naples, but worse. I'm sure you can get used to it, but I found it intimidating and stressful. Not the kinda place I want to spend a day. Especially when I feel like a zombie.
In the end I got a cab ride to the national museum, found a fabulous but expensive cafe and hung out in that area. I went for a walk into the centre of Nairobi - not much to see. Got back to the airport with 3 hours to spare, just in case. Got into Kisumu about 6.30pm local time on Thursday.
I was knackered - I think that's the longest trip I've ever done (about 35 hours). And I lost my MacBook power supply somewhere along the way.
Last year I had the luck to meet some old friends from university. For quite a while the last two years I seemed to spend a large amount of time sat in front of a car steering wheel or a computer monitor.
So one of my resolutions this year is to spend more time with friends. Plus spending more time catching up with old friends. I think that's important. So if you have just been added to my facebook or twitter - lookout.
The second of these is the more interesting one for me, because I can add a fifth local company to that list. ActiveState whom I worked with a long time ago was bought by Sophos, primarily because of it's anti virus tools (Google). That was not one of the main things ActiveState was known for, it was one of several tools it had. But it went into a market it thought there was a space for and sure enough someone was interested in it.
When building Enfold Systems, we made sure there was some sort of exit strategy. Maybe in hindsight a little too much, however I would argue for open source companies, it is especially important to think of what exit strategy there will be. Because an exit will happen a some point, either planned or unplanned. When it happens, you need value.
Getting that value is a challenge for an open source company. Most open source companies start out as consulting companies and that doesn't build much value. You'll likely have no intellectual property (let's leave the questionable IP is evil debate for a moment), you'll likely have no patents (ditto) and you have likely given large amounts of your code away. You might have value for recurring support contracts or from services around the open source product. The value in the company is in the process of completing projects, the brains of the people working for you and the customers that you have.
But really the last one's are a tough sell, unless you have sales chain of the power of a Salesforce or an Oracle, you are going have a tough sell getting much value for that. At Enfold we put time and effort into making sure that we had products that provided the company with value for an investor. We made sure the IP was clear on those products and that if something did happen there wouldn't be hassle.
There's lots of companies building a real value on top of the consulting they do. For example OpenRoad has ThoughtFarmer, Enfold has its products, Six Feet Up has their hosting. All things that create value for the company, solve clients problems and provide revenue and that then feeds back into allowing the open source activities to continue.
And I think that's important to think about if you are starting a company and it's something that is worth doing at the beginning and getting right. I did have a chat with one business owner who felt it had to be all or nothing. All open source or not. I don't buy that will work. Besides, back on the topic at hand - one day and exit will happen of some kind - make sure you have value and that it is clear of issues.
Been quite a frustrating week all in all which is odd, because it shouldn't have been. The ongoing saga of house hunting is becoming such a distraction that isn't helping. Have to focus and make sure I can get new products done sooner rather than later.
Tuesday went to the local Django meetup which was great. There were about 13 people there and it was a well organised event. Interesting people and the conversation veered around onto quite a few non-Django topics, which was neat. I'll be looking forward to the next one.
Got a quick chance to rant about Django templating and a chance to show off Arecibo and ClearTrain. It was really good since John then said "oh so Arecibo is like Exceptional?". And it is indeed. So it's good to know I'm not alone in world thinking it's a good idea. The idea that there is competition has really energized me on that product.
The rest of the week was filled with severe internet problems and actually getting somewhere on my next projects. Also cleaning up so ClearTrain issues, which is now happily having other users add in their training. Doing a training? Better add it in.
Then just to stop me doing anything, one of my servers went haywire. I'm still looking at logs and trying to figure out what happened, I'm really not sure but it just stopped responding as it got completely overloaded. I've started distributing services a little better and moving things off what is becoming an overloaded server. Ideally I want to move it all to the App Engine, but re-writing that is just too much work.
Signed up for the iPhone Developer Program and I'm still waiting for Apple to get back to me so that I can pay them the $100 to get my apps out there. Not sure why it's taking so long.
Finally heading down to Seattle in a hour or so. Hooking up with Jon Stahl and then heading over to the Northwest Python Day. Assuming they let me through the border of course.
Sorry for the unfocused week post, but I need to focus more on blogging and less on twittering.
In the new year I've gone back to freelancing and consulting. As it turned out, that's slightly more tricky than it has been over the last few years, a lot of the work has dried up. Partly though that's just a matter or re-establishing a network.
The good thing is though, I'm actually getting to work on some new products. I really enjoyed getting some of the products at Enfold out the door and would really like to do so again. I started a while back with Arecibo and the next minor diversion will be out on Monday. The advantage here of course, is that I have little other work and can get on with building stuff. A few years ago the consulting work swamped me, making this impossible.
I think I really need to turn off my RSS reader (averaging 300 posts a day), irc and mail and just focusing on shipping the next web site out of the door.
Now if I can just figure out the paying the bills part...
Just got a new MacPro at home and that's given me the development setup I've wanted for quite a while.
I've been becoming more and more impressed with VMWare and we started using it in quite a big way at Blue Fountain for development. There are so many advantages for me that I've switched to making all my sandboxes VMWare installs.
This morning I discovered an issue with running the python twitter module on mod_wsgi - namely it blows up with "[Errno 25] Inappropriate ioctl for device" since mod_wsgi tries to use os.getlogin(). Fixing this would mean simulating mod_wsgi and the Arecibo setup.
This took a few minutes, just ran a script to copy my base VM over to a new vm:
#!/usr/bin/python
import shutil
import os
import sys
source = "/Users/andy/Documents/Virtual Machines.localized/base.vmwarevm"
dest = "/Users/andy/Documents/Virtual Machines.localized"
assert os.path.exists(source)
if len(sys.argv) > 1:
name = sys.argv[1]
else:
print "No name specified"
sys.exit(1)
dest = os.path.join(dest, "%s.vmwarevm" % name)
print "Starting copy of base virtual machine to: %s" % name
shutil.copytree(source, dest)
chunk = source.split('/')[-1].split('.')[0]
for filename in os.listdir(dest):
if filename.startswith(chunk):
oldfile = os.path.join(dest, filename)
newfile = filename.replace(chunk, name)
print "Renaming virtual machine file from: %s to %s" % (oldfile, newfile)
newfile = os.path.join(dest, newfile)
shutil.move(oldfile, newfile)
print "Fixing config file"
for ext in [".vmx", ".vmdk"]:
config = os.path.join(dest, "%s%s" % (name, ext))
data = open(config, "rb").read()
data = data.replace(chunk, name)
open(config, "wb").write(data)
Pointers to more detailed code or tools for doing that appreciated. After starting the VM, I just ssh in (since its got my ssh keys on) and start apt-getting the couple of things I need to run Arecibo (mostly openid related. Editing the files is easy, I just use MacFusion to do an SSHFS mount of the files on the server.
After that the combination of the browser, a terminal window and Textmate and I could be editing locally. Except, of course, I'm not. Everything it's own little sandbox and they can't pollute each other.
There are tools like virtualenv for Python which are great. But let's face it as a consultant in the past I've done Java, PHP, VB and all sorts of icky stuff.
For a consultant, this is a crucial tool that used to be satisfied by having a room full of naff old boxes - no more. Oh and best of all I don't have to mess around with building on OS X which can be it's own barrel of fun.
Well 2008 is at an end. We just completed a move back from the UK to Canada. This is a period of big change for us, as most of the last two years have been. Looking back, UK was a lot of fun overall.
What I'll miss:
BBC Radio (well Radio 2 and 4 specifically) it became our constant background noise. CBC doesn't have any interest for me.
The Guardian, wandering down to get that on a Saturday from the local newspaper shop with the girls was one of those traditions.
Emily going to school full time. In Canada they go to school at 5, part time. In the UK she goes there full time at 4. She's now stuck with 9 months of no school, she'll struggle.
Lots of different kinds of cheese. It's cheese hell over here with little appreciation beyond orange and white.
English accents, darnit everyone sounds weird over here. Especially down in the US.
Cheap and always available Branston pickle.
A working iplayer (which we only had for the last few months).
Walking everywhere.
What we won't miss:
The weather, two worst summers on record I think while we were there.
Crappy internet access everywhere.
Expensive and generally bad eating out. There were some good restaurants, but lots of bad pubs and cafe's is the norm.
It cost 50 pounds a week to fill up the car. It costs 15 pounds a week here to fill up the car.
The traffic and specifically my commute down those motorways, which mercifully, became less frequent towards the end.
Things we are happy to see in Canada:
Our dog.
Sushi, everywhere.
Snow and skiing.
House prices going down the toilet.
So here we are back in Vancouver. What's got us shocked here at the moment (apart from the price of cheese) is the cost of renting. It's tough to find anything in North Vancouver for under $2,000 a month to rent. About 7 years ago it cost us $700 for a 2 bedroom place, that's a 100% increase.
What's happening with me, well back to Clearwind Consulting and providing consulting services for clients. This time focused less on writing on the code, there's training coming as well. Also ramping up Arecibo for the next set of features, which I'm quite excited about. All in all I'm very excited about striking out on my own in business again.
A great metaphor from the Wire for how messed up the police department was in the series. This never happens in any company. Warning: NSFW without headphones, the Wire has rather colourful language.
Microsoft Corp. today announced the next generation of Windows Live, an integrated set of online services that make it easier and more fun for consumers to communicate and share with the people they care about most
Consumers today are creating online content and sharing it in many places across the Web
Well done Microsoft PR, if that does turn me off I don't know what will. I guess I don't want to communicate and share with the people I care about, since I'm not a consumer, I'm a person. Dammit. I can see why you want me to use your service.
Perhaps the defining moment in the collapse of intelligent politics was Ronald Reagan's response to Jimmy Carter during the 1980 presidential debate. Carter - stumbling a little, using long words - carefully enumerated the benefits of national health insurance. Reagan smiled and said: "There you go again." His own health programme would have appalled most Americans, had he explained it as carefully as Carter had done...
On religion:
One theme is both familiar and clear: religion - in particular fundamentalist religion - makes you stupid. The US is the only rich country in which Christian fundamentalism is vast and growing.
On the media:
... perhaps the most potent reason intellectuals struggle in elections is that intellectualism has been equated with subversion. The brief flirtation of some thinkers with communism a long time ago has been used to create an impression in the public mind that all intellectuals are communists. Almost every day men such as Rush Limbaugh and Bill O'Reilly rage against the "liberal elites" destroying America.
This one's a cracker. Been doing some research on some things I've been wanting to do. As it turns out, everything has been done (surprise). But when I see how bad some of these things are, I get amazed. Of course bad doesn't mean its not popular (MySpace).
One interesting comparison was Final Fantasy XI and World of Warcraft. From starting up to getting into the game, the former is extremely stodgy, requiring something like 9 clicks as you get into something called PlayOnline, Square Enix's completely unused and ignored platform for playing games other than FFXI. Warcraft, login, select character, and you are in - fast and slick the usual Blizzard experience.
So today I took a quick look at trying to play Settlers of Catan online. After a frustrating sign up and Java client install, download I get this:
Thank god there's a dialog telling me to click on the mug to play a game. It's in the top left by the way. What are they thinking of.
Dear lazy web... just making some plans for speaking and other engagements in 2009. Does anyone have a calendar I can subscribe to off all Python, Django, Plone, JavaScript and Open Source techy events? Or maybe one of each that I can combine into one? Ta.
At one point last week the Morgan Stanley $10.7bn pay pot for the year to date was greater than the entire stock market value of the business. In effect, staff, on receiving their remuneration, could club together and buy the bank.
That writing the software is the easy part. Selling and marketing it as an independent can be a lot harder. Well there's lots of quotes on that on the internet, just can't find the right one to match this sentiment.
But anyway this last week or so I'm finding that is true and I'm banging my head on the table for having the hubris to even think this shouldn't be the case for me. Just got to remember, these things take time and persistence is key.
Unless of course you are Apple, who keep me (and many others) glued to the edge of seat for every release and almost have made me despise my little curry stained ratty old MacBook. Watching a few people with Windows laptops on the train (I'm just about to take), will make me happier give me that slightly smug feeling once again.
I've gone the entire week now using my new keyboard. My old mac one is sat in the corner and I haven't touched it. I went a couple of weeks of using both and before I knew it I was switched over. A few days ago I was just rattling off some text and my fingers were just flying.
I do find it hard for some of the shortcuts I used to use alot. For example the Subversion Textmate one is ctrl-shift-a, which is much harder on this keyboard. But a bit of time to change those and I'll be ok. I've typed quite a lot this week and the pain is way lower.
Special thanks to Andrew Burkhalter who recommended this too me.
One interesting note, I hate that Mac keyboard. Just hate it. I tried the other day and it's like typing into putty. I have to exert so much pressure on the keys which are soggy and horrid. No wonder my fingers were getting worse. Really I just want to do this to the damn thing:
I was pretty sick of Cuil even before I got to see how bad it was. The last two days I've gotten pretty sick of hearing about that new browser. Or to quote El Reg.
It's got to be the most exciting event in science ...[snip]...
Yes, it's Chrome, the browser by Google, and it displays web pages
Anyway I can't use it yet, because I don't (and won't) run Windows.
Thankfully El Reg summed it up the blogosphere quite well:
.
This does look nice and has got lots of good bits, but there's one thing I love about my Mac Mini's (well apart from the obvious OS X instead of Vista)... it has no fan. To be something I'd put in my living room, I want no white noise. The press release says nothing about this so we'll assume it does. Oh well.
Wow Cuil was a spectacular launch of a pretty average search engine that I'd never use again. It didn't respond very well to many searches, sometimes coming up blank for things that should work.
What was amazing was the level of attention they got. It was on every tech blog and all the news sites I read. Bloody good job getting that much attention though I've no idea why: so it's got ex-Googlers there or indexes billions of pages or is "pioneering". Whoopdee do. Haven't seen that much press since the iPhone 3G.
This blog post covers ten bad uses of Windows. One of them mentions a great use:
only thing those monitors ever display is a big green arrow pointing down
Matt then goes on to note that this and another application would be :
prime candidates for a secure, robust Linux
Quite frankly this sounds like a prime candidate for a piece of paper. Or maybe plastic with a light behind it. Or maybe just getting rid of the sign and letting people use some common sense. Meanwhile here's a picture of a VLC error from our Prague holiday.
There's a great post by Dare Obasanjo that points out theat Early Adopters are not the Mass Market. He says (and I agree) that listening to the early adopters is not going to help you in mass market who generally have completely different problems.
Recently I've been devoting time to thinking about what to do when I leave Blue Fountain and head back to Canada - sometime around Christmas. There's lots to think about and the first thing to do was set some boundaries so that I can ignore tempting options that don't fit into those boundaries. One other way of categorising things is dividing into solutions for early adopters and solutions for the mass market.
All I hear all day is stuff about Twitter, Twitter and a bit more Twitter. That's certainly something that's interesting (I'm clearwind btw), but I haven't figured exactly what for yet. At the other end of the spectrum I work with companies who solve everything by emailing around an Excel spreadsheet. These companies run millions and and millions of pounds through these systems, not a care about the bleeding edge.
When I look at this I think that these companies that send everything around via email, work with Excel and so on I see someone who is not an early adopter. I think about improving things and maybe solving say workflow or versioning problems and I think golly: that doesn't sound too interesting. Solving spam problems or trying to solve email attachments? Aargh. That is not where I want to be.
I might not be able to reach the mass market, but I'd rather have fun in the land of early adopters.
For the past few years my fingers have gotten slowly worse from typing so much day in day out. By the end of some days they will ache. I used to go white water kayaking but found with increasing regularity that I was dropping the paddle. I just couldn't get a grip on the paddle anymore. Cycling was fine, but I found that going doing a big hill in cold air would cause pain in my fingers.
Recently I've been working on a project 9-5 (well more than that) that isn't technically challenging but involves writing large amounts of mostly repetitive code. By the end of the day now my fingers hurt and my wrist will start to ache. Scarier than anything the last few days I've woken up in the morning with numb hands, pins and needles in my fingers. At 6.30am as I write this, my fingers ache.
I'm currently looking at where I will be in five years with my fingers and I have to say it isn't looking pretty. I've known my time as programmer was limited and waning (alright I've never been a good programmer, before any wags get at me) but I know my ability to do a lot of typing is coming to a rapid end.
I've installed AntiRSI and off to visit the doctor. In some ways there's some positives to come out of this.
Writing code has never been my skill and this will force me to get away from it. This is something I've known for a while, but quantifying my skill in "getting stuff done" and figuring out where I slot into organisations is a challenge.
Knowing there's a limited amount of time to write code means I have to focus purely on paying the bills. In six months or so I'll be heading back to Canada. There i'll be on my second startup and getting ready for that has been focusing my brain on paying the bills as well. The downside is that my open source work is dropping off to nothing.
But I have to admit I'm quite scared, it feels like I'm sacrificing my future to current work. Essentially I'm scared that my current livelihood looks like it's coming to a rapid end. Time to change.
Recently we've been interviewing candidates for jobs at Blue Fountain. We are looking for developers and sys. admins willing to do some work on our stuff. Nearly all of our systems are open source, so naturally we are looking for open source developers. Naturally everyone we chat to is very enthusiastic about open source and keen to work in a company that uses it.
And the conversation goes like this (with one notable exception):
Me: are you involved in any open source projects? Interviewee: not really, what do you mean? Me: have you contributed code to any open source project? Interviewee: no Me: are you on any mailing lists? Interviewee: no Me: do you have any open source code I can look at? Interviewee: no Me: do you have a blog? Interviewee: no Me: ok, let's move on
To me real involvement in a open source project indicates a keen developer one step above everyone else.
Inquisitor is a piece of software that has a bad reputation and its developer doesn't fare much better. It's just been acquired by Yahoo and everyone is reporting that the affiliate links are gone.
Yet it still mangles search results. The search for p2p is the most glaring one. The top result? Dave's other products. Please clean this up Yahoo.
Today i hit a road block on a project. Not the usual ones (clients, technologies, money), but a mental one. I spent 6 hours of my day staring at this project and felt like I came away understanding less. This has happened to me before on projects and I've realised it's hit me now.
How can you tell when this hits? It takes a bit of practice, this is isn't an average tough bug. I hit those and a simple change of scenery normally solve this problem. For me in the past this meant one of the following: a) a good bike ride, b) walk the dog, c) a glass of scotch (or two)... and bingo I'd run back to the computer and carry on.
Neither is this a bad day. I get those, oh boy do I get those at the moment. You can tell this isn't one of those because it's hitting back to back. Interestingly today, I thought I'd broken the back of this particular bug, only to find 8 more underneath and come away from the situation understanding less of one particular area than when I started.
It's not a matter of blaming the application, it could get its fair share of blame. It's too complicated, has spawned an entry on DailyWTF, has no documentation, very small unit test coverage, all the developers left, the project manager left and the client doesn't really know what they want. All par for the course there then. But in the end this is the sort of stuff we have to deal with.
Fortunately a while back all the belief that I was decent developer got beaten out of me, I at least now know what I do well. Tackling this sort of thing truly isn't my forte. That's fine, but I've still got to get over this hurdle and move on. So that means just keep plugging away or calling in help. I'll go for the latter and see if that get's me anywhere, it might or might not. But I think realising I'm now completely spinning wheels and not moving forward is the first challenge.
For the record, anyone who might be reading this blog - it's not your project, relax. And for the record, former colleagues who read this and go what about that project X years ago? Yep I hit it then (my count is this is the 3rd time in 8 years). Alright time for a glass of scotch, perhaps that will loosen up ability to cope with this application.
Must admit been looking forward to this announcement, I got caught up in the pre conference rumours and followed the blogs on the keynote. I've been looking forward to hearing about the new MacBook. This is because a few years ago I had a small Sony and loved it. Except it didn't run OS X, just crappy old Windows. The idea of something that combined the size of the Sony and OS X and Apple polish (and not being a Sony) would rock.
So with baited breath I watched the keynote and oh my god its gorgeous. I want one. But then the doubt set in.
I was briefly a road warrior (well road peasant more like) and loved the Sony, because it was small, slept quickly, was light and a super long battery life. I used the thing all the way from Vancouver to Manchester, one battery (8hrs). I used to goad the person in front of me to put the seat down because I could still work the entire way.
The MacBook Air. Light, yep check. Sleeps and restarts quickly, I bet it does. Long battery life, well they advertise 5 hours, so that really means 4 and after a few cycles, more like 3. Hmmm nope. Size, well it's thinner than a MacBook but slightly bigger the other way 1.08 x 12.78 x 8.92 vs 0.16 to 0.76 x 12.8 x 8.94. I can't use my MacBook on a plane. Hmm.
I think it's sexy, the idea that they've got rid of most ports and a superdrive is great. Fabbo. But will it work on the flight Vancouver to Manchester? No. So for that reason I've really cooled down on this laptop and I've gone from "I'll do anything to get it" to "Yeah if my MacBook breaks, maybe".
Using a Mac and RDP to connect to a Windows box? Find that you can't type a backslash, that most useful of all characters for Windows paths? Then you need: Backslasher. A little program that sits on the Windows box and translates ` into \. Thank god for this little fella.
Thinking about Jon Udell having a higher Google ranking than Jon Stewart (which I just helped) I checked how Andy is doing these days. Sadly I don't figure at all in the ranking for Andy, I think a few years ago I got on the front page.
But I've always been able to hold down Andy McKay top spot. Although there's some good prof's out there giving me good battering. But now I'm being beaten by Andy MacKay, because Google is being smart and inserting an extra a in there.
He's a worthy winner and it's going to take a bit to knock him off. But now I have to compete against McKay and MacKay's hey that's not fair. Fortunately it doesn't really matter that much :).
With all the news about David Ascher and Thunderbird, I switched back to Thunderbird the other day. But a day of it and I switched back to OS X's Mail.app. In essence there was nothing that it gave me over Mail.app, or nothing I could spot.
After being used to the Mac I found the large number of preference screens all over the place confusing, took me a while to find anything. I remember neons ago Thunderbird was far more polished than Outlook Express. Now it feels out of date.
Most of the extensions weren't that useful, extensions are Thunderbird's weapon and they were hard to do much useful.
I got a large number of spinning Mac discs of hell, due to I believe SSL incompatabilities with my server. I did later find an extension to solve this, that didn't work.
The RSS feed was nice and I do like that reader, but realised that I like reading that in a browser anyway.
The LDAP lookup of my address book did work well and was nice. But Mail.app does that and feels more polished to me.
Saying all this, Thunderbird is still the best non-Mac client there is and I look forward to what the new changes will bring. Except maybe for gmail. Or mutt.
The goal of this license is too reduce emissions. A laudable goal but certainly a strange thing to see. And taking random shots at flights and SUV's isn't likely to help except in getting you posted on Daily WTF.
But what if there was a license that tried to enforce some kind of green requirement on users. Of course it would be almost impossible to enforce, regulate and look after, almost like 90% of the open source licenses out there already in fact.
But then you'd need to have some way of measuring how green a person or organisation is. Maybe a little more complex than this. Could it be possible to make software that forces people to change habits? That would really be a wonderful goal.
Congratulations ActiveState on open sourcing part of Komodo in the form of Open Komodo. I'm very excited about some of their new directionon Web development
Using Firefox makes you wonder how you could do it before it better than some of the alternatives (brr). Learning Firebug makes you wonder how you did it before. But it’s still, I maintain, way too incredibly and painfully hard.
Read this article in the Guardian on Saturday about the high numbers of children in US jails, jailed for life without the possibility of parole. The case of Nicole Ann Dupure seemed particular sad. Her boyfriend at the time and her were accused of murdering and robbing an old lady for $30.
But shortly before he went on trial he changed his evidence and put Dupure alongside him at the scene of the murder. In return, the prosecution agreed he should be given the lesser charge of second-degree murder and avoid lifelong incarceration. Under cross-examination, he conceded to the jury, "I never had intentions to pin it on her until I ran out of options."
Blevins got 20 to 50 years, with the hope of reducing his sentence through good behaviour. Dupure got life without parole, with no forensic evidence tying her to the crime and entirely on the strength of Blevins' testimony.
Jailed at 17, she will never be set free and can never apply for parole. The idea of justice as persecution has never seemed right to me, it must be about reform. But that seems impossible in this system:
The US is among a tiny minority of countries (Somalia is another) that have refused to sign up to the UN Convention on the Rights of the Child that expressly forbids the practice. According to Amnesty International and Human Rights Watch, only three other countries - Israel, South Africa and Tanzania - mete out the sentence and they have collectively just 12 prisoners serving it.
Technically, a child of any age could be incarcerated for life in Michigan for first-degree murder.
An Amnesty International report on the same issue reports:
An estimated 26% of child offenders were convicted of "felony murder", which holds that anyone involved in the commission of a serious crime during which someone is killed is also guilty of murder, even if he or she did not personally or directly cause the death.
And:
A survey found that 59% of the convictions were for first time offenders.
Yes the acts have been terrible, but this punishment is wrong. It's hard to think back to when I was 14 (as was Matthew Bentley in the Guardian case) and think how little I knew about what I was doing and sometimes my lack of empathy for others. Over the course of a lifetime people change and whatever forms of retribution are needed by society must paid at some point.
So Paul Graham announces Microsoft is dead, we knew this. It's just never actually going to die. But if you are a new young entrepreneur and looking to start up a business, who do you worry about? Google. I've ditched at least a few ideas knowing that there's no need - Google will turn around and do it soon enough. It used to be Microsoft, build it and sell it before Microsoft notices you and comes a visiting (eg. NCompass).
Think of that idea, build it and get it out before Google come's a looking and hope they buy. The main difference's of course, everyone likes and uses Google's stuff. Apart from UI (come on Limi) they rock, Microsoft, never really.
There's a gazillion of them. Every time I think "oh I should do that" I Google and find someone already has. Doesn't mean I can't do it better of course. But it begs the question why I don't use any of them. Not one. Perhaps I'm just old fashioned, I write data locally using various tools, events are managed in the family using iCal (everyone has Macs), I don't use de.licio.us, I manage my RSS feeds in Safari (such a luddite). The main sites I read are Slashdot, TechCrunch, The Register and after that it's all news and non-tech sites.
What's wrong with me? How can I expect other people to use something if I don't?
Every couple of weeks my wife and I have a fight. A bit of shouting and maybe a slammed door. Over something as trivial as cleaning the house. I'm not a huge freak about having a spotless house, unlike say my mother. But after one month of the recycling piling up, or as it is currently we can't use the microwave because of all the recycling piled in front of it, a fight normally ensues.
Curiously we don't (well with one or two very rare exceptions) have fights about other household chores like washing the dishes or doing the laundry. These are tasks that get done regularly and we keep on top of them. And inevitably we get into a discussion where I point out that if we tried to tidy occasionally every other day or so and kept on top of things we wouldn't get into this situation.
But who get's praise for doing minor tasks regularly:
"I really cleaned the house for two hours, doesn't it look fantastic?" as I get in through the door.
"Yes it does, good job."
No-one ever praises the continual slow grind of minor cleaning.
In several businesses I've been in (and worked with as a consultant), there is an obsession with big bang development and projects. Often it will go something like this. Action X is a mess, it's slow and full of problems. We need to get in process Y, this will fix it up. This process addresses every problem and will make us better (replace process with product).
What the ensues is something that makes business managers and accountant's happy. We'll spend this much money doing Y and this will lead to a return of Z over a few years. A clear win and something good for the business and its all good. Once it's implemented the manager get's patted on the back (or sometimes fired, but good managers are like politican's do anything to deflect the blame).
My house will be beautiful and clean and worthy of royalty for about 1 day. Then it's back to normal.
Sure enough before long similar problems will remain. This leads people into a paralysis, we've tried X and Y and it didn't work we just ended up back where we were. The real answer can often lie in the day to day actions of people and the way work is done. I know they are dirty words but things like culture and process are often the problem.
If your co-workers all do things differently, if no-one writes anything down in a place others can use, if management doesn't support initiatives from people trying to make improvements, if no-one tries to improve everything they get involved with, then things don't change and it doesn't matter what you do. Do your big bang and you'll stick be stuck there in your problem again soon enough.
Rather than big bang changes to your organisation, continual tinkering, changes and improvement can make all the difference. It won't show up on the balance sheet in one chunk, it will take time. No-one will pat you on the back for doing a fantastic job, but things will improve and that's what matters. Even worse this approach requires discipline and continual attention, but I believe it can be worth it.
Or we could just spend 5 minutes at the end of every day cleaning a few things up, one day doing the recycling another the compost. Fortunately at home, I'm often reminded I'm not the boss. The little 3 yr old, not only wears the pants, but has us all well trained or as she says with a grin "I'm a bossy boots"... and yes we had a fight yesterday which made me think about this.
...to include a URL to the page. Why do people have to make up descriptions of the page in question or use vague terms. A URL is clear, unquestionable, obvious and simple, copy it straight from your browser.
This rant brought to you by the letter M for Muppet!
I haven't used it. Or seen it. But I have seen this page and I'm now convinced it sucks. The first thing it offers is Movie Trailers. Movie trailers are adverts, people pay to put movie trailers in front of us. It's annoying enough having them on DVD's you have to fight your way past.
If you think I'm paying to buy a box so I can watch adverts think again. Having movie trailers there makes the omission of movies glaring. It doesn't have a DVD drive on it... so let me get this right... it's a TV that you can't actually watch TV on, or movies, or DVD's.
But what if you want to watch music videos, movie trailers, podcasts, and photos on TV?
C'mon Apple what if you want to watch TV or DVD on your Apple TV?
And this comes from someone with 2 MacBooks, 2 Mac Mini's, 2 iPods and lots of gadgets. I don't think I'd buy non Apple again. But I'm not buying the Apple TV. Someone said that in Apple they justify a new product by saying "Whats the TV commercial like". Someone was asleep when they said in a meeting "You can watch movie trailers on it".
Between Reginald, Dan, and Imran, I'm starting to get a little worried. I'm more than willing to cut freshly minted software developers slack at the beginning of their career. Everybody has to start somewhere. But I am disturbed and appalled that any so-called programmer would apply for a job without being able to write the simplest of programs
Once upon a time when I did job interviews - I had a question that was really an economics question. But it wasn't phrased in a manner that I understood. I'd spent so long being (allegedly) a programmer I was looking for a literal answer. I flubbed the interview. Always useful having that degree in Economics.
I would hope a portion of these would be down to nervousness, not spotting the obvious, trying to out think things and trying to appear clever.
Lots of talk this week about how the Aussies are banning the old ordinary light bulb. An interesting idea and definitely one that every country should take up. But CBC has an interesting point:
There is also what you might call the beer-fridge problem. Years ago, Ontario Hydro offered huge rebates if its customers would switch to the latest energy-efficient fridges (and other appliances). Many people took them up on the offer, then just put the old fridge down in the basement and used it as a second appliance, a beer fridge, in the process adding to energy demand.
On my Shuffle. At this point I was resigning myself to sending to the great environment destroying land fill in the sky. But wait turns out there is a utility to reset them. It's on the apple site.
SCPlugin: Working SVN support in finder, or Tortoise SVN for the Mac if you like. This hasn't worked for ages, but finally got an update (credit limi on #plone): http://scplugin.tigris.org/
Inquisitor: to quote "Inquisitor... it's like Spotlight for the web. Start typing and websites pop up immediately, along with ideas to refine your search." http://www.inquisitorx.com/safari/.
Iterm: an ok replacement for terminal that has a few nice features, about 50/50 on if I should keep it at the moment: http://iterm.sourceforge.net/.
Blah inserts a paragraph of random greeking text. Instead of having to go to somewhere like http://lipsum.org and tediously copy and paste text down, this would quickly insert the code into your page. Each use would generate different text.
Valid attributes: length the length in words of the text produced
Example:
<b>Demo site</b> <blah length="10">
Result:
<b>Demo site</b>
<blah>Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Suspendisse ullamcorper</blah>
No takers? Oh well. Sad thing is I'd probably use it more than blink.
If everyone was telecommuting this would cause a huge load on the internet. We can see this already in the UK with limiting by all the providers, because everyone goes through BT. The internet will reduce commuting and help the environment, it can be a key player.
Many companies and government agencies are counting on legions of teleworkers to keep their operations running in the event of an influenza pandemic. But those plans may quickly fall apart as millions of people turn to the Internet for news and even entertainment, potentially producing a bandwidth-choking surge in online traffic.
Today the Guardian has articles on road congestion and flexible working arrangements, but does not connect the two.
A bit solution to commuting and congestion is simple, make more tele-commuters. Commuting is evil in pretty much every sense, its damage to the environment and to the people involved 1, 2, etc... Most people commute into work and due to lack of flexibility this exacts a huge toll on everyone, including the employer (lower productivity, unhappier employees and sicker employeers) the originator of the problem.
Now admittedly, not everyone can commute. Manual labourers for example. A couple of employees whom I told to work at home a few days a week, just couldn't, there were way too many distractions. But take a scenario where 20% of the workfoce works at home (or a very close office) and then spends 1-2 days a week in the office doing meetings and the such. It's incredibly useful to have that together face time, essential in fact.
The problem I've seen, is from managers. The less enlightened managers (which I'm glad to say I haven't had for a looong time) like to see people working. By this they think people should be sat at a desk. People should be at their desks "working" where the manager can keep an eye on them. This is of course completely pointless and useless, doesn't accurately reflect people's productivity and is just a matter of re assuring the manager.
But making 20% of the workforce work at home 3-4 days a week would have an absolutely huge effect on congestion and the amount of damage. If I was a true blogger I would probably have to go and find some numbers to back this up.
Businesses adapt now, because it would be better to adapt on your terms rather than waiting for the environmental backlash hit and your employees are up a creek. In 20 years time, commuting will be very hard. In 10 years time it might be too. In 5 years who knows. We can solve the problem by adapting business.
We got Tesco DVD Rental service a couple of weeks ago. It's a post you the DVD service, with a 2 week free trial. We rented 3 DVD's, two of them were unwatchable. The last had a big crack in it. This means the entire service is rather useless if only 66% of the DVD's are unwatchable.
To Tesco's credit, I found out that even though we could return the last DVD as soon as possible, we would be out of our free trail by one day and hence pay a full month fee for cancelling. I complained, our 2 week trial was extended and once past the 3 "are you sure" screens, the service was cancelled.
After reading around for another service I'm now a little disillusioned. All the users of the services complain of one thing, never being able to get anything popular or new. The problem is simple, its a DVD store. Only it's got 1,000,000 subscribers and say 1,000 copies of that new DVD. If 50% of the people ask for it, who get's it?. From what I can gather, it's useless if you want to watch new movies. We generally don't worry about that, so we might go ahead with a different provider and see how it goes.
Things seem to be a struggle here sometimes. I know its just because I'm off the plane and "wet behind the ears" but things seem to take 5x as long and just be a lot harder than they should be.
Today finally we got an internet connection at home, almost one month after moving in. The really nice part was when the ISP (Virgin) didn't move my account from my mothers to here, they disconnected me at my mothers 8 days ago and then reconnected me here.
We've made a concious decision not to have a TV in the house now, which being TV addicts has made us suffer a bit of withdrawal. To add to this our actual belongings are still in transit, they phoned up today to annouce they will deliver them next Tuesday. So that marks around 9 1/2 weeks since they left Canada. Not the 3 1/2 they originally promised. This lead to a few nights of saying "I've read every book and the library is closed", what now?
Oh well. Makes us realise in a home environment how important the internet is, since its TV, entertainment, radio, phone, games and a few other things.
We've formed a new user group in the north west of england here called Norweb. We tried to broaden it beyond just Zope and Plone this time: About.
The first talk is next week and is on Django:
For the past few weeks Andy has been dabbling in Django which advertises itself as a "Web framework for perfectionists with deadlines". Andy will present an intro to Django, hopefully some of the basic apps he’s written will work for a demo and he will tell everyone why he thinks it's better than Ruby on Rails.
In the move back to England, I've also moved back to the home town a grew up in. And now I have this wierd obsession of looking at people and thinking "do I know them", "did I go to school with them", "18 years later is this how they look".
I left the little home town as soon as I could, went to University in Bath, followed by work in London and then Canada for 10 years. Meaning I pretty much lost touch with everyone I knew. Never went too a reunion (not a big thing here anyway) and never really cared to much about it. Living in a big city in Canada, I'm used to walking in to places and not being know and not knowing anyone, most of the time.
Now admittedly I haven't met anyone I went to school with, although I did google them. To no avail. It's a wierd feeling and gives me a slight sense of insecurity. I spent the last few days worrying about all those things I imagine people worry about at reunions... how do I measure my success over the last few years? If people look at my current dishevelled state I'd probably not rank high. "That brainy kid in school, I met him the other day, not doing too well, driving a 5 year old Toyota".
But that depends upon how you measure life and there's nothing as shallow as that. I try not to worry about that stuff, really I don't care too much, but there's that bit of me that does. Squashing that, relaxing and being happy and confident is sometimes a tough job for me.
So we'll see what happens, I might meet that person on the street and try hard not to measure my success against his, but instead have fun and relax.
The callwave dashboard widget for OS X allows you to send free texts from your computer. It reads your address book and puts those phone numbers into the widget, select person send text. For free.
Well I landed a bit ago in England, but with Christmas and other stuff it wasn't slightly hectic to say the least. We still haven't got a spot to live yet, slumming it parents. There is a bit of insanity in England because everything revolves around either a credit check or a utility bill.
Yes the utility bill is the holy grail that unlocks everything. If you have that you can get a bank account. Rent a house. Probably get into Buckingham Palace. Oh without it .... "oh we can't give you a cell phone", "oh do you have a guarantor for that bank account", i've met more "More than job's worth" in the last few days than I can remember. Perhaps it's just the cheery English disposition. We have pay as you go phones and so on.
How's England? Well living here is different from visting on and off for 10 years. I forgot how expensive everything is here. It's partly converting everything in your head, you take everything and multiply it by the exchange rate and all of a sudden its expensive. I figure it will take a few months for me to stop doing that.
For all those who ask where I am, its here. North of Liverpool, where I work.
Next I've got to set up some sort of Google maps, Flickr, blog mash up. Or re-use someone else's, surely there's a good one out there.
If I had the choice, I'd use Poi over Trac and that's because Trac does not support multiple sites very easily. Almost every company I've run or worked at over the last few years has been primarily a consulting company. I spend my day dealing with multiple projects, sometimes an insanely high number.
Simply put, Trac does not do this. From the Trac wiki:
Right now there is no support for sharing information between projects.
The rationale for this is that the scope of Trac (1.0) is to manage a single project, and do it well. Support for larger multi-project management adds a lot of complexity, but is planned for post-1.0 development, probably as a separate framework around Trac.
But in a world where all I have is multiple projects, this is a problem. Poi allows me to:
Have multiple bug trackers, the permissions on each individual tracker is configurable, so different clients can have different trackers and can't view each others.
As a developer, or project manager, I can have one page that lists all bugs assigned to me, across all the collectors. Such a summary page is invaluable to me.
Trac also provides a Wiki. A wiki is not useful to a developer of CMS's. In fact the problem in some organisations is that you can't find the damn data because it could be in SVN, Plone, Trac's wiki or Bootcamp. Ouch.
Not that Trac is bad, there are some nice features in there. The viewed source for SVN, checkin messages that are interlinked, closing bugs from checkin messages and so on are all cool.
The only real downside is that Poi does need a bit of work and cleaning on an install, something that raises the bar a little. But that's only if you are being a perfectionist about it.
Update Wed Jan 3rd, 2.53pm: Calvin wrote to tell me that with some mod_python you can make global lists pulling from multiple databases. Unfortunately he hasn't got any examples yet, but sounds like I might have to give this a go.
Let’s look at the Dojo Offline Toolkit from a user’s perspective. Imagine Alex is using a web-based real estate application for realtors built with the Dojo Offline Toolkit. In the upper-right corner of this web application is a button that says "Work Offline." The first time Alex clicks on this button, a small window appears informing him that this web application can be accessed and used even if he is offline.
I've been rambling on about such a toolkit to anyone who'll listen to me the last few months and toying with tools to do just that. Of course I've produced nothing but ideas, hopefully someone who actually does things, like Brad, might produce something.
It represents a quagmire which starts well, gets more complicated as time passes, and before long entraps its users in a commitment that has no clear demarcation point, no clear win conditions, and no clear exit strategy.
While many DBAs will faint dead away at the thought, in an increasingly service-oriented world, which eschews the idea of direct data access but instead requires all access go through the service gateway thus encapsulating the storage mechanism away from prying eyes, it becomes entirely feasible to imagine developers storing data in a form that's much easier for them to use, rather than DBAs.
3 months, 1 major renovation, 1 house sales, 2 truck rentals, 2 trips to storage containers, 1 shipping container and we are ready for the last bit, flying to England. Phew. Next it's time to find a place to live England and all those minors things. Be intermittent for a bit.
Congratulations for Blue Fountain. The best write up is here, I should say "we won..." but I had absolutely nothing to do with this one.
It monitors incoming signals for any anomalies, transmits warnings to a bunch of alarms wired throughout the factory, has a parallel system working in backup and runs matching between Futaba data and Toyota data to clarify the end of month invoices between the two companies. It provides status screens for both those in Futaba and those in Toyota. It works day and night with the Toyota shifts and has a weeks break during Toyota shutdown in the summer and at Christmas during which times we usually prepare it for it's next incarnation.
This is just a simple upgrade to the latest version of S5 from Eric Meyer. If you've got skins based on the old ones, I did rename all js and css to be s5_ to be consistent, but all old skins should still work.
I've started collecting in SVN recipes that I use in Clouseau. Thanks to the load from URL feature of Clouseau, we can now start to re-use recipes for each other. If you've got something useful, then click save and mail the saved recipe to me and after a quick review we'll add it in. Yeah should probably start some sort of content management system thing for these one day.
Anyway they are at: http://svn.clearwind.ca/public/plone/recipes
Presentacular allows you to add in all the script.aculo.us visual effects to your slideshow. I've already got a script that executes on showing a S5 presentation so it was a simple matter of adding in a class to say all my h1's. Now my headings smoothly fade in.
function addEffects() {
var elements = document.getElementsByTagName('h1');
for (var k = 0; k < elements.length; k++) {
var element = elements[k];
element.className = element.className + " appear";
}
}
For a while now I've been presenting using Safari and S5. I don';t actually use the Plone S5 product I wrote a while back anymore, all my presentation are written in .rst, checked into Subversion and run through docutils to generate a wonderful looking Safari S5 presentation.
Note: if anyone wants to update Plone S5 to the latest version of S5 that would be a good idea.
Compared to the bad old way of using PowerPoint or Open Office this is a wonderful change. All the presentations are checked into SVN. They are in plain text and so diffable. If I want to change the look and feel I change the CSS. I have a few different skins, default and default-big. The latter is styled on Paul Everitts approach of large text with small 3-4 word sentences. PDF's are generated by clicking the print to PDF button in Safari and I've covered every possible base.
This really hit home the other day for Seattle when I wanted a simple thing, I wanted to syntax highlight all the code in my slides. Ugh 200 slides, thats a lot of syntax highlighting. So yet again the JS syntax highlighter came to the rescue. All I did was include a peice of Javascript to kick onload and run through the presentation syntax highlighting elements. Admittedly since its the same code for Clouseau, PloneSilverCity 2.0 and this blog, I knew where I was going. But in the end 200 slides were syntax highlighted in around 10 minutes.
The one thing that was missing was the ability to have a clicker for my slides so I can wave my arms and walk around. I used to use a blue tooth wireless mouse, but I have a bad history with these things and gave up. I really wanted to use the remote for the Macbook, but couldn't figure out how to get at the Front Page API to script Safari. In the end there's no need Remote Buddy is well your buddy and gets added to those must have apps (like TextMate, Quicksilver, Megazoom etc). It allows you to control a whole series of apps, including Safari, from the remote.
So I can now fire up my presentation, wander around and click through the slides using the remote. Probably not as cool as a blue tooth phone, but hey its got the better than 50% success rate I';ve seen from presenters with phones and if I drop my remote down the toilet, its a $30 replacement. If the app or controls aren't there you can build up a series of actions or Apple script from the Remote Buddy builder. That turned out to be a bit of a pain and I haven't figured out how to from the remote, jump to my bookmarks, scroll through my presentations and start showing a presentation. But I'll get there.
Since we've sold our DVD and CD players, the Macbook is now our major focal point of household entertainment and as such we use the remote a lot. Remote buddy allows us to access iTunes when Front Row doesn't quite come up to scratch. All in all, nice app.
Moved all the services off my venerable old Pentium 1, 166 thing that is held together by duct tape (literally) over to a dedicated server. So hopefully the site and services will be nice and fast now, too.
Since I used Ubuntu I quickly upgraded Wordpress as well to version 2.0 which gives me access to many nice themes for the blog.
I get annoyed by the Plone instance that installed using the OS X installer starting automatically. I'm now at the stage of having 5 Plone instances, 3 Zope versions and they all run ZEO which doesn't start up automatically, leaving Zope wedged. Fortunately I only restart the once a month or so when my MacBook freezes or the next BIOS patch comes in. It's fixed by removing: /Library/StartupItems/Plone-2.5. In fact I found a few other things in there I didn't want and removed too.
Because I installed this and I can never find it in Google again, here's the link for an email notification tool for svn:
http://opensource.perlig.de/svnmailer/
We are moving to England before Christmas for a couple of years. For anyone who has avoided the spam blast in the last few days... all friends are invited to our party a:
...pre-Christmas party,
"hooray, we've sold our house!" party,
"house cooling" party,
"goodbye we are moving to blighty for a bit" party,
"insert what you want to call it here" party! Location: 1425 Chamberlain Drive, North Vancouver, BC
When: Saturday, November 25, 12:00pm onwards.
Come anytime between noon and 8:00pm and stay as long as you can. We will be serving a selection of appies, desserts, and drinks all day.
Been building a ruby on rails app this week. Like most new technologies, its very feast or famine. I get a road block and get stuck for a while, get over it and get productive for a while, then hit the next road block. Actually probably most development is like that. I've got lots of posts in my head about it and Plone.
General thoughts so far are there are many good things in it, I like the environment separation, creation of unit tests and fixtures so I don't have to write SQL (yet). There are also many bad things in it, the templating is painful, it doesn't create any HTML for you (except through scaffold which isn't usable except for 20 min. screencasts) and waaay to much magic. It feels like Zope 2.
The one that hits me right now is introspection, I'm so used to going up to anything in Python and being able to do: type(something) will always give me a clue as to the type and figure out the api. In theory in ruby something.class should be same. Except it's not, because it doesn't always work. In my rails unit tests I can access one of my fixtures like this: timesheets[:foo] to get the foo fixture. But I can't iterate through it. I also can't do puts timesheets.class I get:
ArgumentError: wrong number of arguments (0 for 1)
Even using the ruby debugger (thanks to help from Geoff Davis) gives me:
(rdb:1) m timesheets
test/unit/timesheet_test.rb:24:in `__send__':wrong number of arguments (0 for 1)
Magic is bad. Not least of which it makes me feel stupid.
Looks like we are finally getting to offline / online web applications. Scrybe a new start up is trying this with yet another office suite (link). The offline / online problem is something that's starting to get a lot of attention and something I've wanted to solve myself one day, albeit I was thinking of purely open source solutions.
The problem domain is relatively straightforward, I posit that the reason many web applications will not make it is that:
For many, many people online access is a problem. My friend Laurence was in Peru for a month or two. Gmail was brutal.
Most people don't trust data stored remotely, having it local gives warm fuzzies.
Many people like an application that is local, it gives you lots more control, for example a nice icon in the dock.
At Enfold I got bored of building wxPython programs and the suggestions of pyQt and all the other options drove me nuts. So I built applications using a spats, its a crazily simple local, Page Template server. But it allows us to write applications using Python, Page Templates, Ajax locally. So we ended up with Plone Controllers and Installers written in spats. The result:
Faster development, since they are familiar technologies.
Prettier and feature rich.
Cheaper and more flexible.
So for me they rock. But this sort of approach allows you to do more. What if you could run Writely locally and just edit your data locally. What if Plone could be run locally, would you use it more? Would you trust it more? The problem then becomes a matter of data sharing and collaboration, which is when you syncrhonise up to a remote server. What if you could write once, and run anywhere? I believe using things like Python, Page Templates and Ajax, you've got a very good start. Zope 3 and all that could give you more, but remember your client has to be light and have a good upgrade path. I'm focusing more on server-less applications, but that's another story...
OO.org, the new company specialising in a framework for write once and run anywhere. Coming to a web page near you. Maybe. If I can think of a name that doesn't confuse everyone with Open Office :)
Featuring improved tooltips if you have DocFinderTab, improved UI features, retrieve as text and a few other features and fixes. The photo shows the improved tool tip (to answer my earlier post). I wonder if Clouseau is the first Plone product that includes instructions in the help file on how to delete your Plone site?
Q: Can I delete my plone site with this?
A: Sure try: app.manage_delObjects(["Plone",]); utils.commit(). Woohoo.
Download:Clouseau.0.4.zipUpgrades: do an install and uninstall from the add/remove products section of the Plone control panel to the new icons and fixed virtual hosting for context prompts.
A client asked us to change the external links on their website. There were links to external url's and the links had target="_blank" on them, inserted by the authors of the content. So the client asked us to remove that target and instead add it by JavaScript, in this case the JavaScript relied upon the link having a rel="external". For those of you who don't know by the way, this is possible by uncommenting one line of JavaScript in Plone. All well and good, but being the sort of person I am, I have to ask why. The reason? Accessibility.
And that's when I got confused. Why does inserting that target through JavaScript improve accessibility for anyone? I can see it maybe being more valid. The only reason on #plone that anyone could think of was that if screenreaders ignore the JavaScript, they won't have new windows opening and that's more helpful. Googling for this case only pointed me to lots of sites where people said target="_blank" should be present in the HTML and not added in JavaScript to ensure it works for users with scripting disabled. Which is the opposite of what is being done.
Please send you answers on a post card and preferably they shouldn't be blank. I'll add that in later.
One thing I've enjoyed doing the last year is taking a bit of a step away from being blinkered solely on Plone and Zope and take a look around at other things out there. And no surprise - all these fancy new frameworks out there don't actually solve some problems. The exact same problems and patterns exist out there. All too often in IRC channels or from managers I've heard an answer like "so if move away from Plone we'll fix this problem". Chances are you won't, chances are other framework's have the same problem.
Take for example the "pulling large amount of data from a remote source" situation. I've seen this now in Plone, Zope, Ruby on Rails and heard about it Drupal. The problem is simple, you've got a source that contains a large amount of records, such as a SQL server or and LDAP server. You write code to show the first 20 users and but the rest behind next links. Works with 10, 20, 200 users. Now throw 5 million in there and what happens. It falls over.
It's a pattern that developers (like myself) need to learn and in LDAP's case its a limitation of the tool. OpenLDAP has recently started to support this kind of "give me records 200-300 out of this possible 1,000 records" but no fiddling on the framework is going to change that. I was in a Drupal birds of a feather and I remember hearing them say "oh yeah when our LDAP server has 20,000 users in (number made up) the admin tool for browsing gets really slow". Yep same thing.
Many times Alan Runyan is right, one talk in particular that stuck in head was a talk at the last New Orleans conference. At that he was asking people to focus on reusability, not re-invention (although his point was probably deeper than that).
And don't get me started on how Django is crippling itself with re-inventing yet another templating language and simultaneously natching defeat from the jaws of victory.
Side note: Just to compound the problem in the Ruby on Rails app was that it was looking for a change on the input box every second and firing off a request to the server, returning a huge recordset every time. There's a reason Google doesn't have this on their home page you know.
Okay rant over, on with the show.
This came out last week and sparked quite a few blog posts. I spoke to a few people on the weekend and still not sure what to feel about it really. In the end I hope it all works out for them. All I can really remember for some bizarre reason is an episode of the Wonder Years. The main character is working in a hardware store and wants a pay rise, but doesn't get one. The man running the store is an old friend (I think, it was many years ago).
In the end after not getting a pay rise he leaves the store and goes to work in burger joint. Of course there is much heart wrenching, soul searching and so on. At the end in typical Wonder Years fashion there's soppy music and sad feelings as this man feels rejected by the kid leaving. Nobody notices him joining the burger joint and sure enough when he leaves a year or two later, no one cares less.
The Java community won't blink an eyelid as Nuxeo joins. The Java community certainly won't care if Nuxeo leaves. But the Zope community will miss you.
Just added tooltips to Clouseau, so it shows tooltips on ( and removes it on ). Think I need to make the UI a little more funky and I'm sure the tooltip collection code could be improved. Here's the obligatory screenshot as well.
Download: Clouseau.0.2.zipNote: only tested on Firefox, Zope 2.9 and won't work with CacheFu.
The quality of news is not very high, slashdot is proving much better most of the time. Take this article:
http://digg.com/apple/Macbook_Outselling_iPod
I noticed that the iPod video [#4 top seller] is being outsold by the MacBook [#2 top seller after the nano]
that ended up on the front page:
Wait a second, the top seller is the iPod, its the iPod Nano. The headline is that MacBook outsells the iPod. It may sell more at that one instance than the iPod video, but in the same sentance you are saying the iPod Nano is top. Your headline is totally wrong.
Where does it say on the store page that the order implies well anything. Its says: "Top Sellers: iPod nano, MacBook etc". There is nothing to tell you the order, that's implied.
How long is this data based on, 10 minutes, 1 day (did someone just order a lot of MacBooks, eg a company).
Just annoying you see something on the front page like this, but its a) wrong and b) questionable data even if it was right. I've got nothing against the person reporting it, just the people who float it up to the top of digg. And this is just one of many items on there.
There are many programming fads, language fads, framework fads, design fads, architecture fads, management fads and project management fads. Guess what. None of them matter unless they get the job done. So, pay attention to them, because sometimes they have useful aspects, but don't let them take over how you do things. There are no silver bullets.
My MacBook has been getting more and more sluggish. One of the things that has been cropping up is a large amount of time spent by spotlight, seemingly indexing content - in top the mds process has been taking too long. Just so I remember in the comments of this article is how to turn Spotlight off, don't follow the process in the article.
Let's see if that and the 2 gig of RAM on it's way help.
Is written in some XML compliant markup language eg XSLT or TAL or even Kid
I've looked at Django and TurboGears but never of these actually seem to fall down in the following ways:
Django's markup language isn't to my taste (I can replace with TAL but I haven't got that working yet). It has a thing called generic views, but these don't actually generate HTML just the underlying Python glue.
TurboGears doesn't seem to generate HTML either every tutorial I've found creates their own HTML as well.
I've rummaged around but haven't spotted anything else. Has anyone else seen anything they'd recommend? At this point I'm tempted to go nuts (client side XSLT and XML), go with framework and ripping out the stuff I don't need (Plone) or building lots from scratch (Zope 3). Bear in mind I've got a completely restricted user base, Firefox only so crazy things like client XSLT can work.
Update: using Plone for prototype, I can do it faster and better in Plone than anything else at this point. The UI will be improved a lot for Firefox though.
Here's a list of the computer books that I've collected over the years. Of varying quality publishers (O'Reilly and Apress on down) and some annotated (from courses). But all going for free or donation, you just have to come to North Vancouver to my house to get them. Please email beforehand to check we'll be there.
Linux in a Nutshell, Siever et al
Berkeley DB, Sleepcat Software
Java in a nutshell, Flanagan
Programming Python, Lutz
Python Pocket Reference, Lutz
Perl Cookbook, Christiansen, Torkington
Progamming Perl, Wall, Christiansen, Orwant
Programming the Perl DBI, Descartes, Bunce
MySQL, Dubois
Dive into Python, Pilgrim
Programming Windows 5th Edition, Petzold
How to program C, Deitel/Deitel
Client/Server Programming in PC LANs, Barfield & Walters
A Programmer's Introduction to PHP 4.0, Gilmore
Extreme Programming Refactored: The Case Against XP, Stephens & Rosenberg
Programming Visual C++ 5th Edition, Kruglinksi, Sheperd, Wingo
Usability: The Site Speaks for Itself, Insite
Programming Web Services with SOAP, Snell, Tidwell, Kulchenko
Sendmail, Costales, Allman, Rickert
Tomcat Kick Start, Bond
Late Night Active X, Tall, Ginsberg
The Dictionary of Standard C, Jaeschke
The Book of Zope, Beehive
Practical Programming in Tcl and Tk 3rd Edition, Welch
The Zope Boook, Lattier, Pelletier (2 copies)
Windows NT TCP/IP, Siyan
Definitive Guide to Plone (Japanese Edition), McKay (2 copies)
Definitive Guide to Plone (German Edition), McKay
Definitive Guide to Plone (English Edition), McKay
Zope Bible, Bernstein, Robertson
Core Java, Volume 1, Horstmann, Cornell
The XML Handbook 3rd Edition, Prescod, Goldfarb
Web Programming Unleashed, Sams
Visual Basic 6.0, Schneider
Modern Systems Analysis & Design, Hoffer et al
VBScript & Active X Wizardry, Palmer
And so the last day of the conference arrived. For me the last day just meant the drudergy of accounting and getting all the expenses through. This only took about 30 minutes, but still 30 minutes of accounting is less fun than almost anything else.
The last day had another good set of talks in the web track. Unfortunately most of the talks I wanted to hear were in the other room, I did sneak out to hear Brian Dorsey's talk on distributing web applications on Windows. Something we did a occassionally at Enfold.
There was more of a Plone theme in the web track and we had a panel discussion on Plone past, present and future. Since I know nothing about Plone's future anymore I let Calvin take up the future part, but I can't remember what he said or what was said in most of the panel actually.
I spent quite a bit of time worrying about my Clouseau talk which I added to the lightning talks. The lightning talks went well, there were some that were even funny like the South Park web proxy. I've always been a fan of lightning talks as long as they stay to 5 minutes, anything else is unstructured rambling. Mind you as one person pointed out, remember when filling 5 minutes of a talk (say at school) would be a nightmare.
Then it was Ian's final talk about movie restoration, which he did well. It's a great talk combining technical bits with interesting bits. I missed bits of it due to running around.
That evening was a collapse in front of the TV and watch 24, turning my brain off. For next morning we were off to Long Beach....
All in all the conference went well. There was more pressure this year because our costs were increased. For those of you who don't know, all the profits go to the PSF. If there is a loss, it hits me and the organisers personally. Not a great deal for us, but taking risks is needed to get things done. As it turned out by increasing prices (and still being probably the cheapest conference out there) we paid all our bills and will still make a donation to the PSF.
Next time I think we'll concentrate on getting a better hotel to address some of the complaints about that. We'd like more lead time to get some speakers in too. And I think the idea of becoming PyCon West is all the more realistic as well.
Just got the final accounts to do and then the conference is done and dusted. Thank you to everyone who attended, spoke and helped out.
Stopped by the Vancouver Public Library today for a friends concert. Friend of the family Jordan Noble is an organiser and one of the composers of the Vertical Orchestra. A series of peices played in the libraries atrium where the drum section plays in the moat and the brass on the 4th story.
I'm not a expert on these things, but I do know it was a very cool and interesting sound and worth listening too. The kids loved it, Samantha at 4 months was kicking her legs like crazy every time the drums kicked in.
Found this interesting story about the USS Vincennes, which in 1998 shot down an Iranian commercial airliner, killing 290 people.
Relevance? One of the contributing factors was a bad user interface to the Aegis system:
Iran Air Flight 655 was shot down by the USS Vincennes' Aegis system in 1988, killing 290 people. The error was initially attributed to operator error, but later some experts attributed the incident to the poor design of the Aegis user interface.
That quote is of Steve McConnell, again from Wikipedia.
Other references:
For the last 9 months or so I've been using a 11 inch Sony Vaio. My Macbook arrived last week. I was chatting to a friend the other day and asked why I moved to a Macbook. I really loved the Sony Vaio and it's impressed most people who've seen it. Alan convinced me it was a good laptop and he's right. Now ignoring the obvious reason - my laptop is owned by my previous company, not me - why did I switch and which did I prefer?
The answer is the Macbook. One of my main reason things I look for in a laptop is the portability and here the Sony Vaio is supreme:
Weight and size: light and small. Actually is usable on a plane.
Hibernation support: good, restart is about 20 secs (time to restart and Windows to think about it).
Battery life: excellent 8 hours if you put on maximum, I've rarely run out.
Comparatively the Macbook feels like a battleship compared to the Vaio. I'm getting used to it but at first I'd forgotten laptops weren't tiny little things.
Weight and size: heavier and bigger. But nowhere as big as some.
Hibernation support: fantastic restart, about 2 seconds
Battery life: good 6 hours advertised, haven't tried yet.
So what are the deciding factors: OS X (which I love) and price (~$2.1k compared to $1.3k Canadian). I think there would be a real market for Apple if they could make a small laptop for road warriors. Something the size, speed and weight of the Sony running OS X. It would be perfect for users who use their laptops in many places and I would buy it tommorrow.
I've been asked this at least three times on IRC in that last few days. I think this didn't get covered in my book, so here goes. If there was a standard Hello World page template, it would look like this:
To predict the behavior of ordinary people in advance, you only have to assume that they will always try to escape a disagreeable situation with the smallest possible expenditure of intelligence.
- Friedrich Nietzsche
To quote Jeffrey:
This helps explain simple anomalies in user behavior at your site. Why do people search for terms that are listed right in the navigation? Because it's easier to type the word you want than pick it out of a list.
Regular readers may remember posts on ZopeZen about my fun at US Customs. I have a tale to tell about my latest trip... I'm writing it in the US though so I should probably be wearing my tin hat to stop them intercepting my signals. I was on my way to Houston to do training.
Now bear in mind I've flown to and from Houston about a dozen times over the last year sometimes with incident, but always allowed through. For the past year I've had no problems at all since I got my business card fixed (an old one gave a Houston address, that caused confusion).
Tuesday 1pm: arrive at the airport. Go through customs. The chap there starts the conservation and within about 3 lines gets to the question - "Are you aware you need a visa to do this?" to which I answer "No". I get sent to the back room. So wait patiently and politely for about 45 minutes. At this point I get a sinking feeling that I might be running late for my flight.
Only about 25 minutes left. We run through the usual questions, why, who, how much. The customs agent then gives me a choice, he will allow me to withdraw my application or he can refuse me. If its the latter I will be banned from crossing the border for 5 years he explains.
At this I get flustered, not understanding how I've been able to cross the border over a dozen times for the exact same reason, with the exact same answers to the questions. His reply "I can't help it if my colleagues are incompetent". Flabbergasted he spends 10 minutes typing and then explains what I need to get and how to get it. Of course the problem is my flight is now leaving in 2 minutes. I'm screwed - thanks a lot mate.
What follows is mad panic of phone calls to arrange a stand in, since after 1 hour I find there is only one flight that will get me in before the training is due to start. No-one from Continental is there to purchase a ticket from so thats a 6 hour wait for maybe a ticket. Time to give up.
So I get a flight for the next day with the required (and very basic and easy to get documentation). The flight attendant accidentally tickets me through to San Diego, not Houston. Tired and annoyed I don't notice and get a taxi home, returning home 5 hours after I started. Wednesday morning: A mad flurry of printing out letters from Enfold, my resume, amazon book page, anything else relevant. Get signed copies of letters. Of course the visa costs exactly $50 US in cash (nothing else allowed), so a quick trip to the bank is needed.
Leave so I will arrive at the airport 3 hours early.
Wednesday lunch time: Go to customs. I have all my paperwork in order and I'm prepared for a second run. The customs agent looks my t-shirt which declares ".NET meets Darwin". It's a t-shirt I got a few years ago at a trade show. No idea what it is about really, I think the projecst is dead.
".NET meets Darwin, I don't get it." "It's a Microsoft meets Apple project." "Darwin is Apple? Never heard of it." "Oh its one of the layers underneath OS X." "Oh you are a Microsoft guy, other people call it OS Ten." "Well I am kinda wierd." "I've got lots of Mac's - love them, deciding about a new MacBook."
...etc. About 3 minutes later I've recommended a MacBook and told him to watch out for the glossy screen. Then he hands me my passes my passport back and says "Have a good day". Never once asks me who, why or how much. My paperwork is left untouched.
Was I just lucky? Did my t-shirt save the day? What the hell? I was so tempted to get all my paperwork out and get a damn visa! Why are they so damn inconsistent? Not getting through the day before cost everyone a lot of time money and effort, to keep some customs agent happy.
Wednesday 3pm: Flight is delayed 1.5 hours. But wait my boarding card for my connecting flight from Denver says San Diego - not Houston. I go and ask - they reticket me to Houston. And promise to chase down my bag. Unfortunately I will arrive in Denver too late for my connection. Chances are I won't make it, the ticket agent offers to get me on a flight tommorrow. I think the look I gave him got him off that idea. Caught plane to Denver.
Wednesday 8pm: Thank god the 6 pm Denver - Houston flight is delayed 3 hours and there is room so I hop on that one. Seems all of United Airlines is running late that day.
Thursday 1am: No luggage in Houston. My luggage is in Denver. Thursday 5pm: My luggage "Cannot be found by United" Friday noon: My luggage is in Chicago. I fly home tonight at 9pm. Fingers crossed.
Update: got home sucessfully.
Friday night: My luggage is in Houston (arrives 4 hours after I leave)
Doing training in Houston this week and just remembered something: I enjoy training. Just a note to myself so Google can remind me in a few years time that I said that.
The 29th Folk Music Festival (Flickr) was this weekend and the whole family is just in recovery mode. It's a fantastic weekend but going from 9 am - 12 midnight with 2 kids over the weekend, spending all day in the heat is at the same time the most wonderful and exhausting weekend.
I'm such a stick in the mud, I know what I like and Sunday was a chock a block full of Dan Bern and Ruthie Foster, so I was happy. Unfortunately this year for me there were no new discoveries, no new must hear artists, which is the first time in a while. That's a shame.
For those of you attending the Vancouver Python Workshop, this is the view from Jericho Beach and is just around the corner from Locarno Beach, which is where the barbeque is.
Attended a talk at cmprofessionals.org last night. Who knew there was such an organisation, and they might be in your city. Apparently they have been going for about a year and talk every couple of months, so I'll hopefully be going again. It's a different group from the Python or Plone groups, I naturally sat down and got out my laptop to take notes.... only one there with a laptop.
The talk was on the Vancouver 2010 website. It's built using The Level's software. They are a content management start up in Vancouver. It's rumoured their main contract is a big project for Google (was confirmed last night that they do something for them).
Before the Torino cames they had to get the content out of the old web site and get a new site up and running with a new design in the new CMS. The organising committee (Vanoc) has got their sponsor Bell Canada to do the site which then used The Level. There was a team of 6 people building the site over 3 months, with 3 content editors plugging in the content. There's probably many more involved in the auxilary, but that seemed to be the core group.
The lady doing the talking (who's name unfortunately I did not write down), showed us a demo of editing content. Being one of the few techy people in the audience I was curious to get a quick preview of the editing interface. Basically it's an in place editing system, most of the template is fixed with a few areas you can edit. Common to editing systems a little button pops up so you can edit the post, which takes you to a new page. That pages is just like a Plone edit page, but out of context... enter the data in a few fields and the text into a simple wysiwyg editor.
From a few comments made it seems clear that the system has some sort of relational or xml database backend. Content is pulled out and transformed on the way using XSLT. Spotted a few things in there like versioning and staging but nothing really stunning. Ah I'm such a cynic, but c'mon I thing automatic RSS feeds, css for mobile users and so on are standard these days (although I'm sure people say similar things about Plone with different topics).
My two questions: localisation and accessibility were answered deftly. They even did focus groups for accessiblity prior to launch, good for them! Didn't get into specifics about the traffic, would be curious. From here the site is fast and I can imagine during Turino there was quite a peak of interest. A quick ab gave me:
Requests per second: 22.73 [#/sec] (mean)
However I did it for 50 requests and got a server timeout. Eek, better not run benchmarks on other people's servers :)
Moving to the games is going to be an interesting transition, the site needs for getting all the data from the games out is a different challenge, something I'd like to see more talks on.
About 5 years ago at a Python conference, I met this crazy guy who talked about Python, Windows and said so many things - many of them made sense. That guy was Alan Runyan and what a nice guy he was. It was about 4 years ago I got into Plone and started doing some stuff and sure enough Alan was there.
About 2 and half years ago we formed a company Enfold Systems as equal partners. It went well, growing and gaining clients and momentum. Alan stayed in Houston, I stayed here. And today I'm no longer running Enfold, just doing a bit of part time work and looking for something else out there. What happened? Lots. Most of it positive and good. Got some good products out there and did some good contract work. Made some friends and built something.
One day I'll be able to do the Paul Graham thing and write about the whole thing and gave sage advice, but not quite yet. There is one piece of advice that's probably very obvious to everyone else out there:
Don't start a company where 2 people are in control, there needs to be one boss.
Make sure those people have different talents.
Make sure those people are in the same office (not 2 time zones apart).
Seemingly obvious stuff now. Oh well. Anyway time to move on. Enfold will only do better with only person in control and guiding it's path - I know Alan will do well. In the end I hope to remain good friends with Alan and everyone at Enfold and wish them all the best in the future.
What am I up to now? A bit of relaxing and taking it easy and doing a few things I always wanted to do, but bills never stop coming and so I need to do some work. So I'll be reviving ClearWind Consulting. It would be nice to do some Plone bits and pieces for a while. I really enjoyed doing Plone once upon a time, it would be to get back to enjoying it one again.
A few people have asked me if I'll do a book or update the Definitive Guide. I'd love to do that but the money isn't quite there. I figure I'd need two months full time just to catch up and document Plone. The bank probably won't let me do that. I'm certainly interested in any idea anyone has there though. Plone Cookbook maybe? Other than that watch this and that space.
Yay, new MacBook was ordered today. It's the cheapest one they have, I'm such a cheap person with things like laptop's but at the moment finances are a little shorter than usual. Besides, it will just mean upgrading in a year or two or when I break it :)
Next task - go and find some RAM to get that seriously upgraded from the base 512.
Going back to a sole development box will be nice, in the last year I've been jumping between a Windows Sony Vaio (which I like but it doesn't run OS X) and my Mac mini (too slow). With tools like QuickSilver, terminal and even insanely simple things like symlinks, I find myself just way more productive on a Unix-like platform than on Windows.
So c'mon Apple get that laptop to me as fast as possible.
I've set up ClearWind to use Wordpress the same blogs database and code as this server. Which meant I had to start editing some PHP, ick. It turns out to be pretty straightforward, using the category I included all of one category in one blog and excluded all of a category in the other... the only problem being that now the RSS feeds include everything so have to filter ClearWind out of that, apologies if you follow my RSS feed.
The key bit of code for doing this was this page.
I would go even further and say that one of the critical success factors for Flickr *was* that they were not just 'toiling in obscurity', but that they were IN Vancouver. Up here we have lots of talent, a relatively low cost of living ( compared to the valley at least ), and all sorts of added lifestyle bonuses that San jose will never beat ( climbing / biking / snowboarding / music ).
And for Flickr in particular, a major part of their early success was a loyal local following of users; witness the hugeness of the Vancouver tag. I would smugly theorize that Flickr's ability to find their users was helped in a large way by their being in Vancouver, a city that seems to breed tech-obsessed shutterbugs more than most places.
I dunno, I think it's probably a bad time to start a company in San Jose, but it's hard to say when that would ever be true given Caterina's qualifications. Vancouver, on the other hand, seems to be a fine place to ( re ) start a company...
At the time I of course would have pointed out that Enfold was another company in that list that's running in Vancouver and hiring. Since that's not the case, point moot. However I spent many times it seems saying "No I'm not moving to Houston*" I love it here. I still do and I think its a great place to start a company.
* Houston is the lowest ranked city in US (68), Vancouver the highest in North America (3). We've heard this one many times before anyway.
TiddlyWiki: a complete browser based wiki system. No server side software needed at all, just HTML and JavaScript. Ideal for auto-running off a USB drive if you want to carry around a wiki system.
Sometimes I do a bank transaction at a teller. I know even saying that seems wierd nowadays, I've lived with cash machines as long as I can remember but going to a bank, speaking to a person and do a transaction is a rarity. And then, its for setting up something for web access.
So I give them my card and say I want to do something simple, set up bill payment, get some foreign currency. What follows next is a flurry of typing that would put the average emacs using developer to shame. What on earth are they doing? Writing out my life history? They seem to be going through an insane number of screens containing everything in the world (on the odd occasion I've been able to see).
Ok, so that's odd, but what I find I really odd is the simple principle of the less buttons people press, the less mistakes occur. If I was designing an interface for lots of people to use (read tellers) I would be focusing on making easy and fast and one of the key ways to do that is not to have the teller type in a large amount of information. This is easy and glib to say when I'm not designing it and a mere mortal like me can only shudder at the hideously complicated historical complexities in such an application. But c'mon, a 10 minute keyboard hammering to set up a bill payment? Something has to be terribly wrong with this system.
At home I now run only two operating systems Ubuntu for everything that's not a Mac and OS X for everything that is. Was getting way too hard to keep track of all the things running and their quirks. I've just installed Ubuntu on a couple of old laptops to use as servers and its a breeze. Took me two minutes to realise the CD server install did not install a gui and then I have to:
apt-get install ubuntu-desktop
So far going well.
Update: installed 3 towers of varying hardware and 2 laptop's and Ubuntu worked with only one hitch (hard drive size settings) in all cases.
A new CBC site has been launched and looks quite nice so far. One nice change is that in a nice post, the person in charge has described what and why, for example:
We've added prominent links to RSS (Really Simple Syndication) feeds in the left-hand navigation of all of the news pages, so you can easily subscribe to feeds and get the news you want...
For some reason I was thinking about this on the bus and it's stuck with me. Was in London Drugs many moons ago (about 4 years) buying a television. As I remember the conversation went something like this
Customer: I'm looking for a tv.
Salesman: Great, so the main question is, how big is your car?
Customer: Well it's a truck.
Salesman: Excellent, so this tv here is a great buy and will fit in the back of your truck.
Customer: Yeah it would.
Customer is now totally distracted from the cost, focusing on the size of the tv. He was good and was selling a truck load of televisions as we bought a few other bits and peices with a very, very slow salesman.
Just noticed that if you download Skype, you get specific instructions for your browser, with little screenshots. You can see this here. That's a simple idea that's probably been used elsewhere, but that's a great for making the software easier to download and use.
This week I made an effort to work on my blog and sometimes these things can work out to be way easier than you might think. Installing Wordpress and Subversion were as simple as apt-get install packagename, freaky.
Compare that to installing previous components especially the nightmarishly complicated CVS and life just seems to easy.