Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Sun, 25 Dec 2005
Tue, 20 Dec 2005
Chandler 0.6 is released

We released Chandler 0.6 today.

After spending lots of effort trying to build up all the application areas at once, we decided to put all of our effort into building out one area, so that people would have something that they could use. The area we decided to build out was the calendar, since there's a real need for a good calendar solution. So this is our first step into calendar land. This version doesn't have every feature that you'd like to see, but it's a good start. The new project web site has some screenshots and some Flash movies that demonstrate some of the features. Features of note include: the ability for two people to share the same calendar (both people can create and update events) via a CalDAV server and support for managing events in different time zones. OSAF is providing an experiment CalDAV service for people who want to kick the tires. This service is using Cosmo, our Java based CalDAV server. Cosmo is licensed under the Apache License, and uses Apache Jackrabbit. There are still some sharp edges, but we are going to start using this version of Chandler as our day to day calendar at OSAF.

On the platform side of things, we've completely done away with our old XML based mechanism for describing Chandler parcels (extensions) and switched over to a system that uses Python to do the same thing. We've spent some decent effort on developer documentation, and we ought to be ready for brave souls to try to write some parcels. There are few sample parcels included in the distribution, including a simple (and I do mean simple) RSS feed reader, an interface to Amazon wishlists, and an interface to Flickr.

As always, bugs, patches, comments, and questions to the Chandler design or development mailing lists.

[23:37] | [computers/open_source/osaf/chandler] | # | TB | F | G | 10 Comments | Other blogs commenting on this post
Julie at SXSW

For those of you following what Julie is up to, she'll be at South By Southwest (SXSW) for a panel. At the moment she's up on the front page of the SXSW site.

[12:00] | [computers/internet/weblogs] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Mon, 19 Dec 2005
The rest of ApacheCon

I just uploaded the last of my pictures of ApacheCon US 2005. If I promised to e-mail you a picture, you are next...

Here's what's left of my thoughts on this year's con.

I like San Diego better than Las Vegas. There aren't as many things to do, but I never did any of those things anyway, and I did spent a lot more time (if that was possible) talking to people this year. The new production company, Full Circle Productions, did a great job. As far as I was concerned all the logistics were handled very efficiently.

I chaired a number of sessions, mostly of friends or people who were talking about something that interested me: Lenya+Jackrabbit, CalDAV, Web Services, and Ruby on Rails. It's hard for me to get excited about going to conference sessions on technical topics, because quite frequently I can visit the website, read the docs, and achieve the same level of understanding in approximately the same amount of time. Every once in a while, someone does stuff in a session that is hard to figure out from the docs, and these sessions are more worthwhile for me. I really liked Brian McCallister's Ruby on Rails talk. He used quicktime moves to playback executions of the various Ruby on Rails scripts, while he narrated what happened. Great style.

This year ApacheCon had a mini business track that ran through Monday. Monday ended up being a bad day for me because I set, but failed to turn on the alarm clock, thereby missing Cory Doctorow's keynote, which I was actually interested in seeing. I walked in a bit late to Simon Phipps' The Zen of Free, but I liked what I heard. I agree that open source governance is going to become a bigger issue in the future, and that lots of people who don't currently see the value of this will do so in the coming year. I need to get Simon's slides and have a good look at them to see what I missed. Jim Driscoll did a presentation called Open Source for Business and Profit. There were a couple of really good suggestions that Jim had for companies trying to climb the open source learning curve. I need to get a hold of his slides as well.

That leaves the keynotes. I missed Cory Doctorow's. I already blogged a bit about Tim Bray's, but here are a few more tidbits:. Good quote "I'm going to ssh into your internal Tivo". Tim was sitting in the back of my presentation - I was wondering what he was doing there, since my presentation is absolutely at the novice level. Apparently he was gathering fodder for his keynote, because he related several things about what happened during the session (two FOP committers met each other in real life during the Q&A). Tim commented that we (the Apache community) are a very polite community and that perhaps we were too polite and that we needed to wade into some of the various controversies roiling the web. I guess I need to make the web services barbs in my talk a bit sharper. His keynote was wide ranging, from an announcement, to serious talk about multithreaded hardware (he brought a Niagra for show and tell). He suggested Erlang as a language to look at for how to deal with concurrency problems, and suggested that Apache is going to run headlong into all of the problems related to highly concurrent hardware. He also ventured briefly into Beyond Java territory, but alas my notes say no more than that. He concluded his keynote with a "thanks" (he was one of the users of the stream of patches that became Apache httpd), and an admonition: "Don't screw up". Indeed.

There was an Oracle "keynote" before the lightning talks. It was pretty bad. It was basically a product pitch, along with an announcement of a future donation of Oracle's ADF to the MyFaces project. If you are coming to ApacheCon to get the Apache community on your side and interested in your proposed project, this is not the way to do it.

Sadly, the Intel keynote wasn't much better. The speaker seemed to be in awe that he was speaking at ApacheCon. I expect a keynote on Open Source from the world leader in microprocessors to be a bit better than "wow, I am so impressed" and "please don't me mad at me if I got it wrong". If you want to become part of the community, take some time to understand what the community is about, and find a way to show us how your issues are our issues. More multithreaded/multi-cored hardware, some open source BIOS, and contributions of security code for Harmony.

I fell asleep for the middle section of Jaron Lanier's keynote. But it wasn't the content that put me to sleep, it was just 5 days of full steam ahead catching up with a guy who was sitting on the floor with his back against a wall. Lanier started out on his disagreement with RMS on building a free operating system. Lanier didn't think that cloning Unix was that interesting -- I think that he was right. From there he launched into a discussion about the Singularity. Lanier doubts that such a thing will actually occur, and points out that the bigger software projects get, the more they fail. He went on to talk about how software is brittle -- it can't improve incrementally, and it accumulates in layers. The problem with this is that ideas, critical ideas, get lock in along with the software design. And because it is hard to go down into the layers and get them out, those ideas get locked into our ideas of how computers ought to be. He cited the example of how there used to be a debate about whether the notion of a file was a good thing or a bad thing. He felt that hope for the future of software was going to come from "the other side of computer science" - robotics, simulation, etc. In order to interact with reality, you can't use protocols. Then there was an interlude where I fell asleep. When I woke up, he was just starting into a section on "What might a server of the future look like?". Lanier believes that computer interfaces will become more intimate (he is the VR guy after all), and that this will drastically impact existing servers. All of a sudden, timing becomes primary, because the server must be able to keep up to maintain the intimacy of the interface. He believes that the architecture of the net itself will have to change in order to accomodate the impact speed of light realities on these interfaces and the servers that provide them. He (third time's the charm) also brought up the problem of programming multicore processors, and mentioned partitioning applications across cores as a possible solution (one core for the AI, one core for the rendering, etc). The last section of his talk was about the style of the open source community. He said that the open source community naturally gravitates towards an additive style (here's a patch that adds x) versus a subtractive style. It's easy to keep adding stuff (ease is relative), but when you are dealing with a user interface, you sometimes need to subtract in order to get to a good interface. Lanier suggested that we need a more vigorous form of subtractive culture in open source. He hearkened back to the earlier portion of his talk where he talked about brittle software vs natural selection/evolution, and said that the key thing in evolution is selection. Selection subtracts, and it works by death or broken hearts (someone didn't get chosen as a mate). He would up with some jokes and stuff. It wasn't the most organized keynote that I've ever heard, but it was definitely the most thought provoking of the whole conference. I hope I get the chance to hear him again when I'm not bushwhacked by 5 days of ApacheCon.

[23:32] | [computers/open_source/asf] | # | TB | F | G | 2 Comments | Other blogs commenting on this post
Fri, 16 Dec 2005
Foxmarks

There are lots of things going on in the building that houses OSAF. Now there's one more. Mitch Kapor and Todd Agulnick have been working on a Firefox extension to syncronize Firefox bookmarks between multiple computers. Foxmarks just went into beta.

[12:39] | [computers/internet/www] | # | TB | F | G | 2 Comments | Other blogs commenting on this post
Tue, 13 Dec 2005
ApacheCon 2005: Ok, Tim, I'm not jaded anymore

Yesterday I was wandering the halls at ApacheCon, and I passed Tim Bray in the hall. He commented to me that I looked "jaded", which is pretty true. I've been coming to ApacheCon for a bunch of years, and I've seen a lot of the talks by now. This morning was Tim's keynote, which I'll describe in detail in a later post. I had been looking forward to the keynote because I was pretty sure we weren't going to get a heavily vendor oriented keynote, which has happened before.

So I was disappointed when Tim said that he was going to make a product announcement (his first time ever in a speech), and I was unenthusiastic when the announcement turned out to be about a Sun version of Derby. That all changed about a minute into Francois Orsini's demo. Francois is working on Derby at Sun and is a long time Cloudscape engineer (Derby is derived from Cloudscape). So what kind of demo could change my mind? Francois showed how you could use Derby as a local store for Firefox by talking to a copy of Derby via Firefox's ability to talk to Java. His application was a simple tax app and he showed how you could fill in a form, quit (or crash) the browser and have that data returned to you when you restarted the web app.

Adam Bosworth has previously written about the need for local synchronizable storage for the web browser, and I know that the Mozilla folks have been investigating embedding SQLite, for just these sort of reasons. That effort is slated for Mozilla 1.5 or later. It seems to me that what Francois has done is to make that capability available today. I spent some time talking with Francois over lunch, and it turns out that he also has some code that wraps Derby in a way that is AJAX friendly, which means that AJAX applications can do similar tricks without needing the use the embedded Java support.

All of this is pretty cool. Mike Radwin from Yahoo was sitting behind me, and he and his companion were making excited noises while Francois was showing his stuff. I also IM'ed a few ASF people and their reactions were the same. Apparently the conference backchannel lit up as well, but I neglected to sign in to IRC, so I missed that.

It's likely the Francois is going to start up a blog in the near future, and he'll let us know how / where this code will be available.

Update: Francois's blog is up and running now

[13:46] | [computers/open_source/asf] | # | TB | F | G | 8 Comments | Other blogs commenting on this post
Mon, 12 Dec 2005
Short report from ApacheCon

I've been at ApacheCon since Friday night, and it's been even more non-stop than usual. The ASF hackathon ran the same two days as the conference tutorials. I've been catching up with a bunch of old friends, as well as meeting some people for the very first time. One of the people that I've been happiest to meet is Susan Wu, the ASF's Chief Media Officer, and one of the founders of the feather, a group blog devoted to more business/marketing issues around Apache, and Open Source software in general.

Other people that I've talked to in person for the first time include Leo Simons, Upayavira, and Scott Sanders. Scott is working on a web based RSS aggregator called FeedLounge. FeedLounge has some nice AJAX touches and is written in Python. For reasons that I can't talk about yet, I'm going to be paying attention to what's happening with FeedLounge.

One interesting phenomenon is that I've spent a lot of time talking to people about photography stuff. Maybe I missed it in previous years because I wasn't interested, but there are a lot of photography geeks in the ASF. I've had people offer to let me try lenses and flashes and all sorts of things. We've been swapping tips like mad. There's even been talk of a digital camera BOF one of these evenings. This year, we have an official photographer, Julian Cash, who's been wandering all over taking photos and talking about his Human Creativity project. It's been interesting to watch him at work, to see how he poses people, how he lights them, and so forth. I even got to sub my camera for his. We were going to take a group photo of all the hackathon participants (we are pretty bad about group pictures) when his Nikon locked up. I had grabbed my camera on the way out to the picture, just in case I'd have a chance to shoot while Julian was setting up. He ended up using my camera to do the shoot. That was kind of cool, and watching Julian and Cliff work the photos over in Aperture was pretty cool as well. There are several people here using Aperture, and most of them seem pretty satisfied with it. I've taken some photos which will go up on Flickr as I have time to put them up.

[12:10] | [computers/open_source/asf] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Tue, 06 Dec 2005
What I see

out my hotel window -- I got upgraded to a "view room"

71106291 5634634395

Sure wish I had a tripod...

[23:47] | [photography/pictures] | # | TB | F | G | 5 Comments | Other blogs commenting on this post
Thu, 01 Dec 2005
Quick Aperture Impressions

Here are some quick impressions of Aperture...

My hardware configuration is a 1.25GHz Aluminum Powerbook with an ATI 9600 Mobility GPU. This is the absolute bottom configuration that Aperture will run on. So far performance is acceptable but noticeably slow in a few cases -- I don't think that this is surprising given my hardware -- I already knew it was painfully slow at other tasks. I've put my Aperture library on a 7200RPM external disk, which is definitely helping.

I've been using iPhoto 5 til now. I haven't used Photoshop or any of the fancy RAW converters (or even Canon's DPP package or that matter). My general impression is that things are a bit more responsive than iPhoto on the same pictures.
Due to disk space limitations on my internal drive, I was copying off my iPhoto libraries to the external disk after burning them to DVD. So I've been importing these libraries into Aperture. It takes roughly an hour to do a DVD sized photo library full of Canon Digital Rebel XT highest quality JPEGs. The import can run in the background and doesn't totally pound the CPU, so I can still work while I am waiting.

The big issues being raised in the dpreview and Rob Gailbraith forums are related to the quality of the RAW conversion and the control of white balancing. I haven't gotten to the iPhoto libaries that have RAW images in them (iPhoto didn't support the XT RAW's until 10.4.3 came out), so I can't comment on these issues yet, and I might not be able to since I don't have another RAW converter to compare against. Some people are also complaining about the Aperture library "file" which is really an OS X package, which is really just a directory. So you'll be able to get stuff out of there if you need to, and it means that you'll be able to use UNIX tools and scripts to do stuff if absolutely necessary.

The organizing / rating / searching workflow is a lot better than iPhoto, and there are tons of keyboard shortcuts. The support for dual displays is nice -- I have it set to what's called Alternate, which shows a single image on the Powerbook display regardless of what I'm doing on the main display. I was hardly doing any adjustments to my pictures using iPhoto, and it seems that Aperture has all the adjustments that I actually know how to use. Not coming from Photoshop, I guess I don't know what I'm missing.

Things that I know I am immediately going to miss (and yes, these are not "pro" features, I understand that):

1. Frasier Spier's excellent FlickrExport plugin for uploading to Flickr. I guess I am going to have to figure out how to use the official Flickr uploader for a while.
2. Integration with the OS X screensaver

I got my copy through a friend at Apple, so I didn't pay full price. Given that my hardware is at the botttom of the pile, I'm pretty happy so far. It sure beats iPhoto, which is all I really have to benchmark against. I'll probably have to wait till tomorrow to get to my RAW's and see whether I can find any problems there. The big problem I really wanted solved is the organization/searching problem, and I think I'm going to be almost completely happy there. A secondary problem is the managing insufficient disk space problem, and here it's a sideways move. We'll have to see how that really turns out in actual usage. There's still a whole bunch of stuff that I haven't tried, so I'm sure there will be more posts on this.

[00:19] | [photography] | # | TB | F | G | 9 Comments | Other blogs commenting on this post
Wed, 30 Nov 2005
Travel plans

I'm going to be at the OSAF offices in San Francisco next week from Monday (12/5) through Friday (12/9). After that I'll be at ApacheCon 2005 (it's not too late to register!) from Saturday (12/10) through Wednesday (12/14). If you'd like to get together, leave a comment or send e-mail.

[01:02] | [misc] | # | TB | F | G | 2 Comments | Other blogs commenting on this post
Tue, 29 Nov 2005
Mind Camp Video

Tonight we had our debrief of the Seattle Mind Camp event. The meeting was delayed due to the XBox 360 launch and Thanksgiving. One piece of news is that some folks made a cool movie about the Mind Camp experience. You can get to it via this post on the Mind Camp blog. You'll need VLC or some other player that can do XViD.

[23:24] | [places/us/wa/seattle] | # | TB | F | G | 2 Comments | Other blogs commenting on this post
Lucien got the scoop

It looks like Lucien Dupont, who I worked with at the Newton group, got the scoop on Aperture. My copy is supposed to get here tomorrow... Enjoy the flow Lucien!

The dpreview.com forums have a pretty good thread going too.

[23:15] | [photography] | # | TB | F | G | 1 Comments | Other blogs commenting on this post
If you are waiting for your copy of Aperture

You should look at the new support page. Apple has posted some docs and other stuff there.

[00:06] | [photography] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Mon, 28 Nov 2005
How I got into computers

It's nice to see that Nat Torkington followed up on Julie's wish for interviews with people who became hackers (the good kind) as children (although I've noticed that a number of folks who were interviewed started a bit later in life). I don't know that I became a hacker when I was a kid, but I certainly got started with computers as one...

Before I was introduced to computers, I went through roughly one hobby or new interest per year. This usually involved me going to the school library and checking out all the books that I could find on the topic of the moment. Of course, I was limited by the number of books that I could have checked out at any one time.

In sixth grade, we had a presentation about computers in one of my classes. It involved making a computer out of a file folder. I remember cutting strips of cardboard to represent the program counter and a gluing on a sheet of paper for registers. For most of my classmates, this was a nice guest presentation, but I actually took the thing home and tried to write a few programs for it. I think that I barely knew what I was doing, but I was motivated.

The motivation really kicked in during the following year. The junior high school had just gotten its first batch of microcomputers, Apple II Plus', with around 4k of memory and cassette tapes for storage. There was even a quarterly elective for learning about computers. There was only one small problem. That elective was only open to eighth graders, and I was a seventh grader. Undeterred, I asked on of the math teachers if I could come after school and spend some time in the computer room. I think that he figured I'd come for a little while and then get bored, but it ended up that I came just about every day for the rest of the year. I read all the manuals that came with the computers and wrote small programs to play simple games. These were the days of Byte and Creative Computing magazine, and somehow I managed to get a hold of those magazines, which served as a rich source of information. I learned about computer hardware by comparing the specifications of various computer parts, figuring that the more expensive parts must be better, so I cobbled together some knowledge about RAM, processor clocks and all that. Of course, the content of the magazines helped as well.

Actually I do know where those magazines came from. Around the time that this happened, a Computerland store opened in a local shopping center, which was a huge event as far as I was concerned. Apparently, during my first visit to the store, I made a circuit of all the computers on display and crashed/locked up most of them. I don't remember this, but I have no doubt that it happened. The owner of the store told his wife that she shouldn't let "that kid" back into the store. And sure enough, the next time I came to visit, there was a sign on the door, stating that children under 15 (I was) needed to be accompanied by a parent. So I trudged back out to the car, and came back with my mother in tow. I bought some magazines there, and after more uneventful visits, things started to go better for me and the folks in the store.

Somewhere around this time, I started bugging my parents for a computer of my own. I was spending lots of time after school, and paying an occasional visit to Computerland -- learning what I could from the people in the store. Access to my own computer seemed reasonable, at least to me. For my parents, who had watched me chew through hobby after hobby, this was pretty disconcerting, I am sure. Especially since in 1980's dollars, the price of an Apple II class machine was a lot of money. In hindsight, I couldn't really fault my parents for turning down my request. Everything they had observed suggested that this would just be another of my one or possibly two year long fads. It was my grandfather who stepped in at this important moment (and if you don't think it was important, then you should read this on the impact of access to computers and involvement in free software - and software in general). My mother's father and I had a communications gap. He spoke Cantonese and very little English and I spoke English and very little Cantonese. Somehow my mother must have mentioned the whole business with the computer, and my grandfather agreed to put up the money for an Apple II Plus.

So off we trundled to Computerland to purchase a computer. The acquisition of a computer only served to further warm relations with the store folks, as I was now dropping more frequently to look at software and magazines. I think I probably talked to a few customers in the store, because I was there so much, but I can't really remember. All I do know is that one day, the owner's wife took me aside in the store and told me that they wanted to offer me a job working in the store. This was a young computer geek's dream come true (ok, so I didn't have very ambitious dreams). Not only was I going to get paid to talk to people about computers (which means I needed to learn all about everything in the store), but I got access to lots of computers, I got an employee discount so I could buy stuff much more cheaply, and I was in the store a lot. Out of all the benefits of working in the store, this last was the most important. In the early microcomputer days, lots of the customers of a Computerland store were microcomputer hackers. We had a guy who had written a Prolog for CP/M, several local consultants (like David Moskowitz), and other folks who were very knowledgeable about computers. Some of these folks took it upon themselves to improve my education. They'd suggest books to read, or tell me about stuff I had no idea about, - precisely the kind of stuff that was incredibly valuable to a young person interested in computers.

And some of these folks were real hackers (they liked to take things apart). I still remember some folks who used to stop in with games which they had bought, and subsequently cracked the copy protection on, just because it was there. I learned a bunch about Apple II disk I/O and booting from these folks, and I still remember the day when one guy was in the back trying to demonstrate how he could copy a disk using Nibbles Away, a bit copying program, when all of a sudden a siren started playing from the computer doing the copying. Of course, the writers of the copy protection had exploited a buffer overrun in Nibbles Away, yielding the police siren. I can still remember the looks of shock and astonishment.

Meanwhile, back at school, I was carrying on with my subjects. There wasn't much of a computer curriculum in those days, and because of my job, I had access to resources that were very rare in those days. Today, of course, any 15 year old kid can get on the internet and have access to a staggering amount of information. Even before computers I was involved in the science fair circuit -- I started out in electrochemistry (batteries). The fairs had a math and computer science category, so I began to enter projects in that category. I remember an assembler, and a compiler for a simple object-oriented language based on Smalltalk. Yep, Smalltalk. There is a now famous issue of Byte (my copy is still in a box somewhere in our garage) that detailed out the working of Smalltalk. (I had also learned a little bit about Lisp from Byte, but the coverage was nowhere as a good as the Smalltalk issue. It wasn't until I got to MIT that I was fully Lisp indoctrinated).

The fair that happened during my senior year was particularly important. It turned out that one of the judges worked for a company called Burroughs, which in those days, was a large computer company. This judge took an interest in the work that I had done, and managed to get me a summer internship at a Burroughs subsidiary near Paoli, which housed their Federal systems work, and a research group. I ended up working in the research group, where I saw my first VAX (an 11/780), my first Unix (BSD 2.9), and (Gosling) emacs. That summer I did some projects with lex and yacc, and in subsequent years, I was working on a research compiler for a combinator based compiler for a functional programming language.

It's been interesting to review the course of my involvement with computers as I've been writing this. I spent a few years working at Apple, fulfilling a childhood dream that was intimately involved with my introduction to computers. Lotus introduced the 1-2-3 spreadsheet during the time that I worked at Computerland, and rare was the machine that we sold without a copy. Today I'm working for the man who designed that highly influential piece of software. Hard to believe.

I was very fortunate that at almost every step of the way, there were adults who (one way or another) fostered my interest. Without them, I highly doubt that I would be doing what I am doing today. I owe them a debt which is just about impossible to repay. Over the years I've tried to take an interest in young people who are in the same position that I was in, like my friend Sarah.

School played a very limited, and if you are ungenerous, obstructionist role in all of this. Everything that I learned about computers I learned outside of the established school system, and I actually had to work around one of my (well intentioned, I"m sure) teachers. I learned on my own, and at the feet of actual practitioners. Perhaps it's not all that surprising that Julie and I have chosen to home school our kids. Some of you know that they've done a little Python, and they're just about to get started on Squeak (more on all of that in future posts). Whether they turn out to be hackers is not for me to say, but I'm at least going to do my best to make sure they got the kinds of opportunities that I got.

[23:28] | [education] | # | TB | F | G | 2 Comments | Other blogs commenting on this post
Sun, 27 Nov 2005
Capabilities in Perl

[via Links ]:

Earlier this year at CodeCon, Ben Laurie showed me the work that he had done on adding capabilties to Perl. Now he's put up a post with a pointer to the code and a little bit of documentation. He originally got interested in the problem because he was interested in adding capabilities to Python, but that turned out to be harder than he thought. Along the way, he formed some conclusions about Python and security:

Also, it seems the Python devlopers aren’t really interested in capabilities (nor all that interested in security, it seems, since the restricted execution mode is not maintained).

I don't think it's quite as a bad as Ben thinks, since he and I had some conversations with some Python developers and those folks were definitely interested in capability support. Of course, quite a few of them were a bit Twisted.

CaPerl is an alternative approach to adding capabilities which involves compiling a capability enhanced version of the language into the regular language. As to the rationale for doing this in Perl:

So, I did this for Perl, on the basis that if you can secure Perl you can surely secure anything.

I'm curious to see whether making the code available has any impact on the uptake of these ideas. Perhaps there will be some impetus in the Perl or Python communities to pick up on these ideas. When I saw Ben at Mind Camp, I suggested to him that perhaps the most profitable place to seed these ideas is the Ruby community, given the momentum hype of Rails, and the relative openness of the Ruby community to non-mainstream ideas.

I'd love to be proven wrong.

[23:57] | [computers/security] | # | TB | F | G | 32 Comments | Other blogs commenting on this post
Thu, 24 Nov 2005
Wed, 16 Nov 2005
What do we expect from these lousy machines?

Sanjiva had this to say about Geir's PowerBook upgrade/migration:

Wow, this is amazing. I don't want to even start to describe the migration pains for the rest of us .. :(.

I couldn't help thinking about some dialog from The Empire Strikes Back:

Luke (after Yoda lifts an X-Wing fighter out of a swamp using the Force): "I don't believe it!"

Yoda: "That is why you fail."

[00:35] | [computers] | # | TB | F | G | 3 Comments | Other blogs commenting on this post
Tue, 15 Nov 2005
A wonderful hack?

This fall in our Bainbridge Island reading group, we are going through the Ruby on Rails and Ruby (Pickaxe) book. At our last meeting, one of the things that we discussed was Ruby closures, and I was trying to help people understand what was going on. Turns out there was one area where I didn't quite understand what was going on: the ability to pass an existing function as a block argument. I thought that you'd be able to do that, but apparently you can't.

A few days afterwards I finally got around to reading this post by Dave Thomas on the Symbol#to_proc hack, which I've excerpted:

The Ruby Extensions Project contains an absolutely wonderful hack. Say you want to convert an array of strings to uppercase. You could write

result = names.map {|name| name.upcase}

Fairly concise, right? Return a new array where each element is the corresponding element in the original, converted to uppercase. But if you include the Symbol extension from the Ruby Extensions Project, you could instead write

result = names.map(&:upcase)

Now that’s concise: apply the upcase method to each element of names.

Ouch. My idea of concise would have been:

result = names.map(upcase)

Or am I missing something here?

[23:33] | [computers/programming] | # | TB | F | G | 8 Comments | Other blogs commenting on this post
Mon, 14 Nov 2005
I am shaky

Last weekend after Mind Camp, I stopped by Glazer's Camera in Seattle. I've stopped in a few chain photo stores here and there (there aren't many in Kitsap County), but haven't had the opportunity to stop in a store aimed at more serious photographers. Since I was already in Seattle and had a car with me, it was a good opportunity to stop in. I spent a while poking around at various bits of photographic equipment. I was also able to mount a few lenses on my camera to get a feel for what they'd be like. I looked a several telephotos in 70/75-200/300 range, and a 100mm macro lens.

I definitely felt the lack of a telephoto when trying to photograph the girls at soccer this fall, and there are a ton of choices. The lenses I was most curious about were the new 70-300mm image stabilized lens versus the 70-200mm F4 L series lens. The L lens focuses *really* fast, which seems like a big plus. However, the salesman had me turn off the image stabilizer in the 70-300mm lens, and that was really an eye opener. My hands shake a lot -- granted I'd had some coffee and not much sleep due to Mind Camp, but that whole episode gave me a lot to think about. I'm still undecided on what the best choice would be, but I feel fortunate that we are now well into the winter season, which means there isn't much need for me to shoot sports action of the kids.

The Canon kit lens has been pretty good for close ups, but I wanted to see how much difference a real macro lens would make. Results of that experiment:

Backside of a

Seemed pretty good, although my shaky hands made it hard to get a good picture. This seems more practical to me than the telephoto, but I'm a little concerned about the length -- I should have tried to 60mm macro while I was there.

If it wasn't for the (potentially) massive Canon rebate, I'd probably just stick to working with the 50mm and the kit lens - who know, maybe I'll end up doing just that. This weekend I took some photos of Julie (with the 50mm) for her SXSW headshot, and it seems clear to me that I've still got plenty of room to learn how to work with that lens.

[22:23] | [photography] | # | TB | F | G | 10 Comments | Other blogs commenting on this post
Thu, 10 Nov 2005
Phear Avi and Smalltalk

[via HREF Considered Harmful ]:

Best quote I've heard from a Seattle Mind Camp roundup:

my favorite was from Ryan Davis, giving a presentation on Rails, who said something like
I defy anyone to come up here and use any other framework to duplicate what we’re doing in Rails as quickly. Except Avi.
[23:25] | [computers/programming/smalltalk] | # | TB | F | G | 0 Comments | Other blogs commenting on this post


twl JPG

About

Ted Leung FOAF Explorer

I work at the Open Source Applications Foundation (OSAF).
The opinions expressed here are entirely my own, not those of my employer.

Creative Commons License
This work is licensed under a Creative Commons License.

Now available!
Professional XML Development with Apache Tools : Xerces, Xalan, FOP, Cocoon, Axis, Xindice
Technorati Profile
PGP Key Fingerprint
My del.icio.us Bookmarks
My Flickr Photos


Syndicate
RSS 2.0 xml GIF
Comments (RSS 2.0) xml GIF
Atom 0.3 feed
Feedburner'ed RSS feed

< December 2005 >
SuMoTuWeThFrSa
     1 2 3
4 5 6 7 8 910
11121314151617
18192021222324
25262728293031

Archives
2006
2005
2004
2003

Articles
Macintosh Tips and Tricks

Search
Lucene
Blogs nearby
geourl PNG

Categories
/ (1567)
  books/ (33)
  computers/ (62)
    hardware/ (15)
    internet/ (58)
      mail/ (11)
      microcontent/ (58)
      weblogs/ (174)
        pyblosxom/ (36)
      www/ (25)
    open_source/ (145)
      asf/ (53)
      osaf/ (32)
        chandler/ (35)
        cosmo/ (1)
    operating_systems/ (16)
      linux/ (9)
        debian/ (15)
        ubuntu/ (2)
      macosx/ (101)
        tips/ (25)
      windows_xp/ (4)
    programming/ (156)
      clr/ (1)
      dotnet/ (13)
      java/ (71)
        eclipse/ (22)
      lisp/ (34)
      python/ (86)
      smalltalk/ (4)
      xml/ (18)
    research/ (1)
    security/ (4)
    wireless/ (1)
  culture/ (10)
    film/ (8)
    music/ (6)
  education/ (13)
  family/ (17)
  gadgets/ (24)
  misc/ (47)
  people/ (18)
  photography/ (25)
    pictures/ (12)
  places/ (3)
    us/ (0)
      wa/ (2)
        bainbridge_island/ (17)
        seattle/ (13)
  skating/ (6)
  society/ (20)



[Valid RSS]

del.icio.us linkblog

www.flickr.com

Blogroll

java.blogs
Listed on BlogShares

Locations of visitors to this page
Where are visitors to this page?


pyblosxom GIF