Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Sun, 29 Feb 2004
Noise intolerant
One way of describing me is that I am noise intolerant. I have pretty good/sensitive hearing, and this sometimes causes problems for me. I think that I'm probably all the way at the totally whacked by noises end of the spectrum. It's one of the reasons that I am a night person -- things are quiet at night. I find that I just think better in a quieter environment.
I've been working out of my home office since 2001, and for the most part noise hasn't been a problem. As the girls get older, they are getting more expressive and enthusiastic in their expression. So sometimes during the day, I'm starting to notice the noise from the rest of the house.
Last week, via one of the Mac news sites, I discovered that MicrophoneSolutions.com was offering a coupon deal on the Shure E3c in ear headphones, which are supposed to block out all kinds of sounds. I've been using as set of Sennheiers HD545's that are a number of years old. The sound is good, but the open over the ear design isn't much help in blocking out noise. So based on a number of reviews on blogs, the desire to reduce the noise, and a 30 day money back guarantee, I decided to try the E3s.
So far, my feelings are mixed. The sound is wonderful, but the noise reduction and comfort are less than I expected. The sound quality is truly impressive, much better than the Sennheisers, which were pretty good when I bought them years ago. I read some complaints about the bass in some of the reviews, but for the music that I'm listening to, it seems adequate -- I don't really want the glass in my office windows to vibrate from the earphones anyway. The noise reduction is mixed. It definitely cuts out noise, and many conversations in the rest of the house disappear when I have the phones on. If I insert them right, I can barely hear myself type (when no music is playing), sometimes not at all as Scoble is experiencing with his Etymotics. I have a feeling that this has to do with fit. I seem to be having trouble with the fit. I'm not sure whether it's my technique or whether my ears are too small. I've tried the various small sizes of tips that were included with the fit kit, but I don't really feel that the fit is quite right. I wonder whether the flanged sleeves (not included) would make things better. Comfortwise, they are mostly comfortable, but I've noticed that my ears felt sore after using them. This sensation is dying down though, so it may just be a matter of getting used to wearing something in my ears for long periods of time.
So after a few days, the verdict is that these are very nice headphones, they definitely cut the noise. The only question for me is whether they are cutting enough noise to make it worth the price. For me, "silence is golden".
[23:40] |
[gadgets] |
# |
TB |
F |
G |
3 Comments |
Sat, 28 Feb 2004
Python Cookbook
The Python Cookbook is a collection of recipes for doing various tasks in a Pythonic fashion. I actually sat down and read through most of it (I cheated and skipped the parts on Windows and Tk), so that I could get a better idea of what pythonic code looks like. I definitely learned quite a bit, and I'm sure I'll be turning back to some of the recipes as I am writing more code. There's also the online version, but it was much easier to read all the code and discussion in the paper version. Of course, the online version has evolved past the paper version, so both versions have their uses. Recommended.
[23:26] |
[books] |
# |
TB |
F |
G |
0 Comments |
Fri, 27 Feb 2004
AppleScript: The Definitive Guide
Regular readers will know that I was mumbling about writing an AppleScript to do window position management in order to restore my sanity when attaching/detaching from an external monitor. I used this project (which isn't done yet) as an excuse to read Matt Neuberg's AppleScript: The Definitive Guide.
The good news is that this is definitely the Definitive Guide on the AppleScript language. The author has clearly done his homework, and it shows. He knows and tells more about the guts and vagaries of AppleScript than anybody could possibly want to know.
The bad news has nothing to do with the book. It turns out that AppleScript is a nasty language. It works, but there are special cases or odd behavior. Some of the semantics are just plain odd. And I'm one of those people that finds Lisp programs to be readable and understandable.
If you want to write short scripts, then you can probably tolerate AppleScript. But this book has just convinced me even more that I want to be able to use Python to script my Macintosh applications. Fortunately, there are at least two projects working on this very goal: AppScripting and aeve, so I'll be poking my nose there soon.
In the meantime, I guess I'll probably use AppleScript to try to solve my window management problems.
[23:47] |
[books] |
# |
TB |
F |
G |
1 Comments |
Thu, 26 Feb 2004
David Fedor's blog
David Fedor is an old friend from Brown, and Apple's Newton Group. After Newton, David and a bunch of other Newton folks made their way over to Palm. David's been involved with developer relations for many years now, and has helped a lot of people write Newton, and PalmOS applications. If you are into Palm, you need to check out his new blog at PalmOS Protein News.
[21:56] |
[computers/hardware] |
# |
TB |
F |
G |
0 Comments |
Chandler 0.3 released
Today OSAF released Chandler 0.3. A lot of work has gone on under the hood between 0.2 and 0.3. We've made a number of improvements in the repository, and the Chandler Presentation and Interaction Architecture (CPIA) is making its debut in these release.
This is a developer oriented release. That means that there are a hardly any end user features / applications, and that the UI is (still) ugly. We want the next release (0.4) to include some real end user features and a real UI. Here are some things that we are interested in.
The repository has stabilized to the point of being useful for small applications. We're looking for feedback on the usability of the API's and data model. For people looking to do code related work, it's probably safe for you to start looking at the code. We can definitely use help in expanding our unit tests and performance/stress testing. Also, If you are interested in using the Chandler repository in your own application we'd be interested in talking with you about that.
CPIA is in its first release, and is taking its first baby steps. If you are a GUI framework person, we would like to get feedback on the architecture and APIs.
In short, this is a platform release, and it represents a real starting point on which Chandler end user functionality can be constructed. Some parts of the platform are in an early state, but if you would like to get in on things at an early stage, you'll be getting an accurate picture of the direction that we are heading in. You can get in contact with us via dev@osafoundation.org or via the chandler IRC channel irc://irc.osafoundation.org:6667/chandler
As a reminder, OSAF will be sponsoring a Chandler sprint at PyCon 2004. It is possible for you to attend the sprint without attending PyCon. We'll also have some tutorial material for people at the sprints, so previous experience with Chandler is not required. So if you are interested, please sign up on the sprint wiki page. In addition to the sprint, Mitch Kapor will be giving one of the PyCon keynotes, and we hope to have a Chandler BOF as well. PyCon is less than a month away, so register/sign up today.
[15:21] |
[computers/open_source/osaf/chandler] |
# |
TB |
F |
G |
0 Comments |
Wed, 25 Feb 2004
Subversion, OS X, arch, svk and codeville
I've been both anticipating and dreading the release of Subversion 1.0. I've been anticipating it because I hope that a lot of projects that are using CVS will switch over to using Subversion. I've been dreading it because of my misadventures in trying to compile earlier versions for OS X. Fortunately, Bill Bumgarner reports that fellow ASF member Fred Sanchez has built a binary distribution of Subversion for OS X. Which is a relief!
Today in IRC there were plenty of congratulations for and among the Subversion developers. And they deserve it. It's been a long way and many people are looking forward to using the fruits of their labors. I know that many in the ASF are looking forward to "gutting CVS like a fish" and switching over to subversion. I know that I've been eagerly looking forward to it myself.
In recent months, my enthusiasm has dimmed a little bit because of arch. I really like the arch distributed repository model. For smaller, looser projects, I think that this style makes a lot of sense. It makes it easier for people to explore parallel incompatible approaches with less fear of merging. I'm doing a bunch of these kinds of little projects as well as working with larger more centralized projects, so there'll be space in my repertoire for both arch and subversion.
Back to the IRC today, another thing that I learned (which I haven't yet run into in my own work with arch) is that arch cannot version files with spaces in their names! This seems like a silly restriction to me. I also find the arch command set to be not quite intuitive, but passable. So arch is not without its own problems.
Something I've recently discovered is svk, which allows the use of subversion repositories in a decentralized fashion -- or so it seems. The one drawback is that it's written in perl, which is the same thing that turned me off the initial version of arch. It seems to be a running preference of distributed version control developers.
Except for Bram "Mr. Bittorrent" Cohen who has developed codeville a distributed repository version control system, which is written in Python. This looks interesting, but I've only gotten as far as the web page. If anyone has actually played with this, I'd be interested in hearing about it.
[01:39] |
[computers/operating_systems/macosx/tips] |
# |
TB |
F |
G |
2 Comments |
Tue, 24 Feb 2004
Learning Python 2/e
One of the books that I've read lately is O'Reilly's Learning Python, 2/e by Mark Lutz and David Ascher. It turns out that David and I overlapped during our years in graduate school, and now David has gone on to a number of significant accomplishments in the Python community. Not the least of which is this book.
I' ve been around long enough that I'm able to learn a lot about a language by looking at source code examples, and by reading the language reference manual. pyblosxom was my first python project, and I definitely learned python on the job, as it were. As I"ve been gearing up to work on the Chandler query system, I felt that maybe it would be a good idea to look at a book or two in order to quickly absorb the pythonic way of thinking. Learning Python was a relatively quick read for me, but nonetheless I learned a number of valuable things. Examples include the use of .pth files, cost models for various looping constructs, the full story on python scope rules, the full story on modules, and class operator overloading (which we use some on pyblosxom -- but it was just nice to have the presentation).
The bottom line: it probably would have saved me some time had I read this book before I started on python (of course the book didn't cover 2.3 back then, though). And for a book on a language, that's a good review in my book.
[23:19] |
[books] |
# |
TB |
F |
G |
3 Comments |
Mon, 23 Feb 2004
Why not in Seattle?
(I'm slowly catching up with a backlog of posts -- Ecto is a mixed blessing). Danny O'Brien wrote about a
spontaneous geek meeting that happened in San Francisco between ETech and CodeCon. His comments at the end about the geek community in San Francisco and London got me thinking.
Why not Seattle? I'm not proposing that Danny and friends come on up here. There are plenty of geek type people that are working on interesting stuff. It would be cool to have a little grassroots geek soiree in the Emerald city, a place for all the little communities to get together and cross pollinate...
[22:18] |
[places/us/wa/seattle] |
# |
TB |
F |
G |
3 Comments |
Sun, 22 Feb 2004
She said WHAT?
Julie posted about an incident that we had earlier this week. Maybe now Jay will give us a break on the cute-o-meter. But that's reality. Its a fact of life that people do things that hurt each other, and of course, the primary instrument of that hurt is the tongue, or some proxy for the tongue, such as telephone, e-mail, or IM.
And the words did hurt, so what to do? Well, it wasn't good that it took a few days till we could really sit down and talk about what happened, but we know that when we are tired, we tend to make a mess worse rather than better. From where I sat, though, there was also the possibility that what was said was true. I didn't like possibility, but it was there. So I tried to look at myself and what I was doing and see if there was truth in what was said -- because sometimes, the truth does hurt. If it was true, then even if it hurt, how could I really be angry? Wouldn't that undercut what love really is -- wanting to see the best in someone come out?
So we talked and explained and listened and understood and forgave. And at the end, each of us went away with some things to think about, because neither of us are perfect. Accepting the fact of our mutual imperfection allows us to accept, love, and forgive each other. Even when THAT got said.
[23:36] |
[people] |
# |
TB |
F |
G |
0 Comments |
Sat, 21 Feb 2004
iChat videoconferencing tip
I've been having trouble with iSight video conferences. I was starting or receiving video chats where the video started up just fine, but there was no sound. It turns out there is a bug in iChat AV. Fortunately, there is a
workaround. Unfortunately, this bug is still in iChat AV and the iChat AV 2.1 beta...
Other new tips:
[22:51] |
[computers/operating_systems/macosx/tips] |
# |
TB |
F |
G |
0 Comments |
- Logorrhea iChat keeps its logs in a binary format, which makes it impossible to search the logs using the UNIX command line. Logorrhea provides a GUI program that allows you to browse and search your iChat logs. It'd be great if it just converted them to text.
- Gibson Research's ShieldsUP! A web based port scanner that you can use to test how well your firewall is setup. You have to scroll down the page and click the link (it gets generated according to your IP address)
pyblosxom comment spam fix
If you are using the pyblosxom comments plugin, you should update to the latest version from CVS (or you can download it from my home page. There's a new comment spam program running around that tries to exploit weaknesses in comment systems and use it to send e-mail on its behalf.
In the case of pyblosxom, the attack works if you have SMTP notification of comments turned on. If you have comment notification turned on, the attacking program injects the commands for a complete SMTP transaction into the fields for the comment form. The way that Python's smtplib works is to jam text into the SMTP connection. So if the body of the comment happens to look like this:
[22:38] |
[computers/internet/weblogs/pyblosxom] |
# |
TB |
F |
G |
0 Comments |
blasterattacko@aol.com To: blasterattacko@aol.com From: blasterattacko@aol.com Subject: PyC(5D9A983C,url)dlq9F UeFb8RE4XhzEn6 9dwVwadJWbqLXc2EjtIcmkc9Q7f1aeAnNqR .the entire thing gets sent to the SMTP connection as the body of the e-mail. The updated plugin wraps To: From: and Subject: in the comment body in html tags, so a comment that has that data in it will still display, but will be illegal as SMTP commands.
pyblosxom metaweblog, round 2
There's been a nice bit of activity in pyblosxom lately. We're cleaning up a bunch of stuff and getting ready to do a 0.9 release.
I've updated the metaweblog plugin to accomodate all the new changes in 0.9, and I've put a new copy up on my home page.
[22:15] |
[computers/internet/weblogs/pyblosxom] |
# |
TB |
F |
G |
0 Comments |
Fri, 20 Feb 2004
But I like the iChat pictures...
Danah is getting weirded out by the iChat buddy icon pictures. It was interesting to read her account of why, because I've recently discovered that I actually like the pictures (to my surprise).
For a long time, I thought the buddy icon thing was just kind fo dumb, and I didn't really know any people who took the time to chagne the default buddy icon. But OS X wants your picture, and once it gets it, it's plastered all over. iChat, Address Book, Mail.app. And I've found that those pictures help me -- they're not just eye candy. When I open a message in Mail.app and keep following the thread, I can easily tell who the message is from. I like it more than I thought I would.
In iChat, the pictures in the buddy list take some of the work out of figuring out if someone is online. Since I started at OSAF, I've entered into a culture that is more realtime oriented. The ASF is predominantly an e-mail culture, but OSAF uses IRC a lot. So I've started doing more IRC, and more iChat. I normally have 6 IRC channels open (3 OSAF, #joiito, #groovy, and the ASF members channel). I also have had as many as 3 iChat sessions. When you have that much comm going on at once, I find that the cues provided by all those little iChat pictures really help to keep things straight (Actually, I wish IRC clients could do this, too). Of course, with that much comm going on at once, I don't have time to think of any of the issues that Danah wrote about in her post.
Maybe a bunch of pictures that weren't pictures of the person I was talking to would work to disambiguate the conversation, but I've noticed a difference between non-picture icons and picture icons, and the picture icons do have to seem more of a draw.
Or perhaps there's nothing really deep here and it's just matter of personal preference, and Danah's preferences reach a deep level of emotional consciousness that mine do. But it is interesting to ponder.
[00:05] |
[computers/internet] |
# |
TB |
F |
G |
4 Comments |
Thu, 19 Feb 2004
Mac Tips and Tricks update
Some of you have asked for a changelog of the Mac Tips and Tricks file, so I'm going try updating the changest as a blog subcategory. Who knows, maybe I'll just end up using the subcategory for this -- but I think its easier for someone new to get the whole file, and I tried to have some more logical grouping and ordering in the big file.
Anyway, here are the recent changes:
[22:38] |
[computers/operating_systems/macosx/tips] |
# |
TB |
F |
G |
0 Comments |
- qtplay This command line utility allows you to play any Quicktime supported format audio file.
- SpeechQueue An AppleScriptable application that allows you queue up text to be spoken, with lots of controls.
- TextExtras TextExtras allows you to do all kinds of neat stuff in an NSTextView text widget, such as run a shell script, complete based on other words in the widget, etc.
- I-Search plugin for NSTextView Adds incremental search capability to NSTextView text widgets.
- Rendezvous Browser A little application that lets you see what computers are offering which services via Rendezvous.
- The Red Pill screensaver For Matrix fans.
- ATI OpenGL ScreenSavers If you aren't a Matrix fan, then maybe one of these cool screensavers will do instead -- an ATI video card is required
- Viewing any number of individual days in iCal
- [Via macosxhints.com] Press Command-Option-{2,3,4,6} to view 2,3,4, or 6 days. Command-Option-5 shows the 5 day week and Command-Option-7 shows the 7 day week
- Virtual Hosts and
mod_rendezvous_apple
- This article tells how to setup virtual hosts so that Apple's mod_rendezvous will show each virtual host. Rendezvous access to websites is great for conferences and other ad-hoc in person networking situations, as well as mobile work groups. I wish that Firefox had this.
Wed, 18 Feb 2004
Ferry wireless is on the way
On the way back from tonight's weblogger meetup in Seattle, I popped open the PowerBook to work on this (and other posts). I thought to myself "I can't wait until they get the wireless network working on the boat". Imagine my surprise when I was prompted to join the "RoamAlways Default Network Name". Unfortunately, it's not quite there yet, as there were no nameservers available. They're probably in the early stages of their build out. Still, it's encouraging that someday I might be able to catch my e-mail from the boat.
[23:28] |
[places/us/wa/bainbridge_island] |
# |
TB |
F |
G |
2 Comments |
February Seattle Webloggers Meetup
As advertised, Julie, the girls, and I made an appearance at the Seattle weblogger's meetup tonight. It was good to see Anita Rowland again -- this is the second time that I've met her, but both times I haven't gotten the chance to talk to her very much. Maybe Julie will post our picture of Anita playing with the girls. People were very accommodating towards the girls, and I thought that they acquitted themselves quite nicely. 7-9:30pm in the midst of adults is a long time for kids their age, so I was really happy with how they did. Abigail thoroughly enjoyed the experience, Michaela thought it was "just okay", and Elisabeth wanted to be passed between Julie and I. I think that she was warming up just as it was getting time for us to go. The two older girls universally approved of the donut with sprinkles and kool aid (!) that we bought as their share of the coffee house tax. Abigail got her own conversation - people wanted to know about her school and what she's learning.
I ended up talking to Eric of WiredFool and Anita's husband Jack Bell, who were cooking up some geeky .NET stuff. Mark Ajarn and I talked a little bit about the ups and downs of self-employment. I also spent a little time talking with Phil of Phillustrations and Cat of Justlaura.com. We got to meet Jake of 8bitjoystick.com (who has a summary of the folks where were at the meetup). Jake is also from our side of the water -- maybe someday there'll be enough bloggers for us to have one of these on our side of the water, too. Most of the other blog related meetings that I have been to have been in the context of technology folks, or at technology conferences, so it was interesting to be in the midst of bloggers who are not writing about technology oriented subjects. Phil and I talked about his photoblog and some of the ways that it provides some motivation for him to get out there and shoot some photographs. I think that this is true (but to a lesser) extent for me as well, that having something interesting to write in the blog is motivation for being more focused on stuff that I'm working on.
One of the oddest things that happened was that I sat down with one of the girls, and someone said "your're that guy", to which my immediate reaction is "no I'm not -- and whatever it is, I didn't do it". Well, it turns out that I did do it -- this fellow had read Monday's post about the meetup and showed up because of it. Unfortunately, I got distracted because I needed to tend to one of the kids, so we never actually got to talk. My apologies for that, and please do get in touch if there was something specific you wanted to talk about.
[23:23] |
[places/us/wa/seattle] |
# |
TB |
F |
G |
4 Comments |
Mon, 16 Feb 2004
Seattle Blogger meetup
It looks like Julie and I are going to try to make it over to the Seattle Blogger's Meetup being held this Wednesday. Here's some info on Bauhaus. We're looking forward to meeting some of you in person...
[15:16] |
[places/us/wa/seattle] |
# |
TB |
F |
G |
2 Comments |
Sun, 15 Feb 2004
You get what you pay for...
Late last year I finally stopped delaying and purchased an 802.11 wireless router for the house. Because I had just gotten the Powerbook, which supports 802.11b and 802.1g, I was looking for a router that could do both and which could support WPA as well. After doing a bunch of research (including favorable online reviews), I settled on the SMC
SMC2804WBR, which also had a rebate to bring the price down. Unfortunately, it seems that the old adage is true. The router works great -- it covers the entire house and supports WPA. Unfortunately, it seems to have stability problems. It takes anywhere from 1-3 days for it to lock up tight, requiring a hard reboot in order to solve the problem. I really like being able to take the machine and work somewhere else in the rest of the house, but its a royal pain to have to trot upstairs and reboot this thing every few days. I'm guessing that there are problems with the WPA implementation that need to be shaken out. Also, the dialogs for inputting WEP and WPA keys are horribly unfriendly -- type a 64 digit hex number? Twice, once for the router and once for the Powerbook? Insane. It's so error prone that I dread having to do it again.
[23:11] |
[computers/hardware] |
# |
TB |
F |
G |
8 Comments |
Knock before entering
[via Trevor's ETech notes]
[23:00] |
[gadgets] |
# |
TB |
F |
G |
1 Comments |
become rude to make a phone call without first checking via sms. [this is becoming more and more the case in europe also]I would love it if this became the etiquette here in the US as well. For all telephone calls, not just cell calls. People seem to believe that they have the right to call you simply because you have a telephone.
PyCon 2004 Schedule is now available
The talk descriptions for PyCon 2004 are now available. Here are some of the talks that look interesting:
[03:02] |
[computers/programming/python] |
# |
TB |
F |
G |
0 Comments |
- Faster than C: Static Type Inference with Starkiller
- Literate unit testing: Unit Testing with Doctest
- "Scripting Language" My Arse: Using Python for Voice over IP
- IronPython: a fresh look at Python on .Net
- Web Services for Python
- Introduction to Mod_Python
- GTK and Gnome Programming with Python
- Metaclasses, Who, Why, When
- From Python to PLT Scheme
- Distribution Basics - Using "distutils"
- Pypy - implementing Python in Python
- 60 Minutes of MacPython
- Cryptographic Channels in High Availability Python Systems
- The Natural Language Toolkit
- Epydoc: an API documentation generation tool
- How Python is Developed
- Using Python as an Extension Language
- Optimizing Python Code with Pyrex
- Implementing An Optimizing Compiler for Python
- Building C Extensions for Python with Pyrex
- The View From ATOP: Simple but Powerful Persistence using Python and BSDDB