You are an enzyme. You are powerful, dark,
variable, and can change many things at your
whim...even when they're not supposed to be
changed. Bad you. You can be dangerous or
wonderful; it's your choice.
Which Biological Molecule Are You?
brought to you by Quizilla
Blame my
sister.
A brief list of things I can do with my new laptop in Linux:
Last time I had a laptop, getting these things working would have been a 6-month project, minimum. This time things are working in less than a week, even given a really stupid mistake that hosed my installation completely and forced me to re-do all the configuration work. It really blows my mind. The only thing that I really haven't gotten working that I have in Windows so far is software suspend, or "hibernate", and I know exactly what I need to do (but haven't yet because of the annoyance of a kernel compile).
I hope that works when I try it next, because if it works that will mean I have a portable, dual-boot, dual-display machine that can swap from Windows to Linux in a matter of seconds.
Linux still has a little ways to go in the "automatically detecting your hardware" department, but at least things work more or less the way they say they should these days, if you spend a moment with the appropriate documentation. I'm really pleased.
- Connect USB hardware (keyboard, mouse, camera)
- Display to multiple screens (internal flatscreen and desktop flatscreen at a different resolution) simultaneously)
- Connect to wireless networks, using a card which is not supported by linux, by loading the Windows NT driver for my card
- Connect to wired networks.
- Watch movies.
- Play OpenGL games with good hardware accelleration. (e.g., Neverwinter Nights)
- Play music.
- Use voice-over-IP, courtesy of Divmod and Shtoom
- Get accurate reports of remaining battery life.
- Conserve battery power when I'm not using the processor's full capacity.
Last time I had a laptop, getting these things working would have been a 6-month project, minimum. This time things are working in less than a week, even given a really stupid mistake that hosed my installation completely and forced me to re-do all the configuration work. It really blows my mind. The only thing that I really haven't gotten working that I have in Windows so far is software suspend, or "hibernate", and I know exactly what I need to do (but haven't yet because of the annoyance of a kernel compile).
I hope that works when I try it next, because if it works that will mean I have a portable, dual-boot, dual-display machine that can swap from Windows to Linux in a matter of seconds.
Linux still has a little ways to go in the "automatically detecting your hardware" department, but at least things work more or less the way they say they should these days, if you spend a moment with the appropriate documentation. I'm really pleased.
JP commented
on the @decorator syntax recently checked in to a Python alpha. I agree
with him. Moreover, despite the fact that Guido has pronounced such
agreement futile, I agree with Jim
Fulton and I think that this should be a library issue, not a language
issue. (Does anyone think it's peculiar that the authors of two of the most
popular chunks of free Python software who have a very limited history of
agreeing with each other, agree on disagreeing with Python's designer on
language features like this?)
The thing that's most disappointing to me in this is that I had finally come around to accepting the community's rationale against macros: that it was too dangerous to allow arbitrary changes to Python's syntax because it would make the local languages confusing and it would make the resulting language harder to learn and harder to document.
The need for macros doesn't go away, though, and technical necessity becomes distorted by social pressures. I believe that Python could benefit from a lot of different syntax additions, most notably block syntax and continuation syntax, to facilitate programming in the asynchronous model that Twisted uses. I can't add these myself, though, because Python doesn't provide the necessary hooks, and I don't have the patience to agitate on python-dev until my pet feature is added, unlike some people.
I haven't run the numbers, but I imagine that something like one out of every ten thousand methods I write is decorated in some way. Closer to one in five is an asynchronous callback. Why is it that the extra convenience of one-character syntax is necessary for this task which is extremely uncommon? Apparently because other people in completely different application domains find it is more common for them, and those people are more willing to spill gallons of virtual ink complaining about the inconvenience and unreadability of writing "decorate(hello)" vs. "@hello".
I think it is a bigger deal that I have to write ".addCallback(lambda x: doSomething())" rather than "wait; doSomething()", but I don't have the fortitude to convince Guido that "something is better than nothing" in this case. I have been hoping for years that "something" would arrive in the language.
These kind of ad-hoc language modifications strike me as more dangerous than a real, powerful macro system, because they don't just pollute the language for some people, they pollute it for everyone at once because of some people's needs. You have to hack Guido's brain, not the interpreter, to implement your macros, which is both more time-consuming and more detrimental to the community as a whole. Macros increase complexity locally and utility locally; a static language decreases complexity globally and utility globally, but every time someone successfully pushes through a feature like this, they increase complexity globally but utility locally. It's the worst of both worlds.
Of course I'm exaggerating. This feature in particular is not very worrisome, but the trend it indicates is.
The strange thing is that I really don't understand Python's design when things like this get bolted on to the side. Every time I think I've finally got the "pythonic" vibe something weird like this happens. I suppose that's what makes this feature so bad to me. I don't know why I am disagreeing with Guido, because I don't understand the aesthetic he's using to make this decision. From what I can tell just using the language and reading python-dev, it's more or less random.
I hope I'm wrong. I was wrong about the new object model (except __class__ mutation!), and I'm grateful for that every day. Still, even after reading a lot of the ranting, it seems to me that the @decorator syntax is being added because it's easy, not because it's important.
The thing that's most disappointing to me in this is that I had finally come around to accepting the community's rationale against macros: that it was too dangerous to allow arbitrary changes to Python's syntax because it would make the local languages confusing and it would make the resulting language harder to learn and harder to document.
The need for macros doesn't go away, though, and technical necessity becomes distorted by social pressures. I believe that Python could benefit from a lot of different syntax additions, most notably block syntax and continuation syntax, to facilitate programming in the asynchronous model that Twisted uses. I can't add these myself, though, because Python doesn't provide the necessary hooks, and I don't have the patience to agitate on python-dev until my pet feature is added, unlike some people.
I haven't run the numbers, but I imagine that something like one out of every ten thousand methods I write is decorated in some way. Closer to one in five is an asynchronous callback. Why is it that the extra convenience of one-character syntax is necessary for this task which is extremely uncommon? Apparently because other people in completely different application domains find it is more common for them, and those people are more willing to spill gallons of virtual ink complaining about the inconvenience and unreadability of writing "decorate(hello)" vs. "@hello".
I think it is a bigger deal that I have to write ".addCallback(lambda x: doSomething())" rather than "wait; doSomething()", but I don't have the fortitude to convince Guido that "something is better than nothing" in this case. I have been hoping for years that "something" would arrive in the language.
These kind of ad-hoc language modifications strike me as more dangerous than a real, powerful macro system, because they don't just pollute the language for some people, they pollute it for everyone at once because of some people's needs. You have to hack Guido's brain, not the interpreter, to implement your macros, which is both more time-consuming and more detrimental to the community as a whole. Macros increase complexity locally and utility locally; a static language decreases complexity globally and utility globally, but every time someone successfully pushes through a feature like this, they increase complexity globally but utility locally. It's the worst of both worlds.
Of course I'm exaggerating. This feature in particular is not very worrisome, but the trend it indicates is.
The strange thing is that I really don't understand Python's design when things like this get bolted on to the side. Every time I think I've finally got the "pythonic" vibe something weird like this happens. I suppose that's what makes this feature so bad to me. I don't know why I am disagreeing with Guido, because I don't understand the aesthetic he's using to make this decision. From what I can tell just using the language and reading python-dev, it's more or less random.
I hope I'm wrong. I was wrong about the new object model (except __class__ mutation!), and I'm grateful for that every day. Still, even after reading a lot of the ranting, it seems to me that the @decorator syntax is being added because it's easy, not because it's important.
I forgot to mention, in my OSCon wrap-up entry, the defining moment of the
conference for me.
I gave a very, very brief lightning talk just to sing Python's praises as a stable platform for building services on top of. I figured I should say something, since I am sure that at least a few people expected me to. I didn't know many of the people in the conference though, so when I stood up I was surprised at the response:
I stood up in front of the audience and said "Hi, I'm glyph, and I wrote a package called Twisted..." and at this point in my speech I was interrupted by applause from nearly half the room. Best of all, I looked at the faces of the people applauding and I couldn't recognize almost any of them. Thanks to everyone who clapped - you've encouraged me to spend some more time maintaining it.
But do write me some email and tell me how you're using it, would you? :)
I gave a very, very brief lightning talk just to sing Python's praises as a stable platform for building services on top of. I figured I should say something, since I am sure that at least a few people expected me to. I didn't know many of the people in the conference though, so when I stood up I was surprised at the response:
I stood up in front of the audience and said "Hi, I'm glyph, and I wrote a package called Twisted..." and at this point in my speech I was interrupted by applause from nearly half the room. Best of all, I looked at the faces of the people applauding and I couldn't recognize almost any of them. Thanks to everyone who clapped - you've encouraged me to spend some more time maintaining it.
But do write me some email and tell me how you're using it, would you? :)
I was trying to blog this conference without too much name-dropping.
At this point, though, I find that pretty hard. I attended very few sessions, and I'm glad of it. The sessions weren't bad, but at my current level of community involvement there isn't too much for me to learn.
The real usefulness of the conference for me was that I met a bunch of people in the community that I really respect and got to talk to them about issues important to me. Although some of this was rather dry and technical, it was a deeply satisfying experience, especially when I realized that many of these luminaries really respect my opinion as an accomplished developer myself and as a knowledgeable user of their software. Since I only have positive things to say I guess I can blog pretty much all of it. Let me start off with my family.
Those of you in the community may find the expansive explanations unnecessary, but I will provide context for each name so that those whose involvement is more peripheral will know why I'm so excited.
I went to OSCON with my father, Robert "the r0ml" Lefkowitz, a headlining keynote speaker this year, my stepmother Gina DeFelice, a circus arts teacher (more on this later) and my sister Kimberly Lefkowitz, a physics student who has just been getting started in the open source community with the Boinc project being used on Einstein @Home.
r0ml's keynote was awesome, if I do say so myself. Though he probably had at least 5 keynotes rattling around in there struggling to get out - he only got 2/3 of the way through the slides that he had, and the talk had been cut significantly already.
Since everyone has been asking: Yes, Guido, being a good sport, did offer to spare Dan from the pie-thon. Dan, also a class act, baked the pies himself, and so Guido decided to share the pie with the community, and it was eaten. I am proud to have carried one of these Pies of Peace to the room where they were, after all, not thrown.
However, after the Pythons were placated, the Perl community was still out for blood - delicious, banana-creme flavored blood. They (the Perl foundation) auctioned off a second pie-ing, in addition to the original Guido pie-ing, at a $500 opening bid. It sold for, if I was told correctly, $514. As the blood-thirst's description implied, they did not use a nice, baked Key Lime pie as would have been preferable. Morever, despite her circus experience, nobody asked Gina how to properly stage the pie-ing. I hope that future circus antics will be more expertly choreographed.
Yes, I do have pictures.
I spoke to Jeff Waugh about evil and insidious plans for world takeover, which I am very excited and can say basically nothing about. Thanks, Andrew, for hooking that meeting up.
I got a moment to speak with Doc Searls, the illustrious blogger and writer for Linux Journal, and give him a basic Divmod pitch and tell him how great Linux has been for us. If I'm lucky, my quote might get into the next issue...
I briefly met Miguel de Icaza - original author of the Ximian division of Novell, and, apparently, a happy user of Twisted. He lives in my area so you might be hearing about future meetings between us sometime soon.
I also met, equally briefly, Tim O'Reilly, who unfortunately does not live on the same coast. I like to think I piqued his interest about Divmod, but we shall see if I receive email about it. A very friendly guy though.
I spoke to Dan Sugalski, author of Parrot, and gave him a few use-cases for the virtual machine and restricted execution system. He is a really energetic and fun guy to talk to. Our meeting lasted hours and was still too brief - luckily he happens to live almost dead center on the road between my apartment and my family's house.
After frightening Jim Hugunin, author of IronPython, I made sure that it wouldn't be too hard to write a Twisted reactor for Python on the CLR. Somebody out there - get started on that.
The most connected person to us at the conference was Rael Dornfest, who is according to his business card the CTO of O'Reilly Media - referred Amir through a writer friend of his, me through a writer friend of mine, and both of us through my father. We had a good time talking about the future voice-over-IP applications that Divmod's platform is going to enable.
I spoke to Alex Martelli, author of Python in a Nutshell and editor of the Python Cookbook. He reminded me that the world does, in fact, need a Twisted book, a reminder for which I am very grateful. I think that as a result of this conversation a moribund book project may be restarted, and another might come into the works. Time will tell.
I got to give a full-fledged Divmod sales pitch to Manish Singh AKA Yosh, of the Gimp project, who was a remarkably good sport about it.
I spoke to Ted Leung & Brian Kirsch from OSAF, and got to compare and contrast the Quotient and Chandler architectures. We've done a lot of similar work. It was interesting especially to hear about their development on the GUI front, where we have been experimenting with a few different frameworks. I hadn't used WxWindows for quite a while, because it seemed pretty gross on the UNIX side the last time I touched it, and the API for constructing widgets was rather tedious. Partly as a result of pressure from OSAF, all that has changed.
As a result, I spoke with Robin Dunn, author of wxPython, and learned of the last missing piece in this puzzle, WxGlade. Kevin Altis also showed me a demo of a very snazzy-looking PythonCard, which is based on wxPython, running on OS X. Especially since Robin seemed interested in exposing some better hooks for faster, more reliable Twisted reactor integration on UNIX, I predict I will have more nice things to say about wxPython soon.
I was also very happy to meet Chris DiBona, who sold me some awesome hardware at a steep discount for being a "cool open-source guy" back in the days when VA Software was still VA Research and making dream machines for geeks, and Imagination was still Reality Pencil, and you could actually use it for making games. We had an interesting discussion of linux distributions. To my pleasant surprise, he actually vaguely remembered my call all those years ago!
Finally, I met the angry economist, and enjoyed a few drinks and discussing (among other things) economics with him. I am going to have to disclose his secret: he's not actually very angry. In fact he was pretty nice.
I'm sorry if you're not on this list, and I am sure I forgot a few important people, but I was being whisked from meeting to meal to meeting to session to meeting to keynote for the whole conference, and I didn't have any chance to take notes. It's also pretty dang late and I have a flight to catch tomorrow.
If you spoke to me at the conference and I haven't given you one already, please drop me an email and ask for a Divmod beta-test ticket; we still haven't raised the price from the previous discount but we are planning to as soon as we can open signup further, so take advantage of it now! I'm really hoping that much of our first wave of customers are open-source hackers who can give us some really detailed bug reports and help us to produce an extremely high-quality experience.
At this point, though, I find that pretty hard. I attended very few sessions, and I'm glad of it. The sessions weren't bad, but at my current level of community involvement there isn't too much for me to learn.
The real usefulness of the conference for me was that I met a bunch of people in the community that I really respect and got to talk to them about issues important to me. Although some of this was rather dry and technical, it was a deeply satisfying experience, especially when I realized that many of these luminaries really respect my opinion as an accomplished developer myself and as a knowledgeable user of their software. Since I only have positive things to say I guess I can blog pretty much all of it. Let me start off with my family.
Those of you in the community may find the expansive explanations unnecessary, but I will provide context for each name so that those whose involvement is more peripheral will know why I'm so excited.
I went to OSCON with my father, Robert "the r0ml" Lefkowitz, a headlining keynote speaker this year, my stepmother Gina DeFelice, a circus arts teacher (more on this later) and my sister Kimberly Lefkowitz, a physics student who has just been getting started in the open source community with the Boinc project being used on Einstein @Home.
r0ml's keynote was awesome, if I do say so myself. Though he probably had at least 5 keynotes rattling around in there struggling to get out - he only got 2/3 of the way through the slides that he had, and the talk had been cut significantly already.
Since everyone has been asking: Yes, Guido, being a good sport, did offer to spare Dan from the pie-thon. Dan, also a class act, baked the pies himself, and so Guido decided to share the pie with the community, and it was eaten. I am proud to have carried one of these Pies of Peace to the room where they were, after all, not thrown.
However, after the Pythons were placated, the Perl community was still out for blood - delicious, banana-creme flavored blood. They (the Perl foundation) auctioned off a second pie-ing, in addition to the original Guido pie-ing, at a $500 opening bid. It sold for, if I was told correctly, $514. As the blood-thirst's description implied, they did not use a nice, baked Key Lime pie as would have been preferable. Morever, despite her circus experience, nobody asked Gina how to properly stage the pie-ing. I hope that future circus antics will be more expertly choreographed.
Yes, I do have pictures.
I spoke to Jeff Waugh about evil and insidious plans for world takeover, which I am very excited and can say basically nothing about. Thanks, Andrew, for hooking that meeting up.
I got a moment to speak with Doc Searls, the illustrious blogger and writer for Linux Journal, and give him a basic Divmod pitch and tell him how great Linux has been for us. If I'm lucky, my quote might get into the next issue...
I briefly met Miguel de Icaza - original author of the Ximian division of Novell, and, apparently, a happy user of Twisted. He lives in my area so you might be hearing about future meetings between us sometime soon.
I also met, equally briefly, Tim O'Reilly, who unfortunately does not live on the same coast. I like to think I piqued his interest about Divmod, but we shall see if I receive email about it. A very friendly guy though.
I spoke to Dan Sugalski, author of Parrot, and gave him a few use-cases for the virtual machine and restricted execution system. He is a really energetic and fun guy to talk to. Our meeting lasted hours and was still too brief - luckily he happens to live almost dead center on the road between my apartment and my family's house.
After frightening Jim Hugunin, author of IronPython, I made sure that it wouldn't be too hard to write a Twisted reactor for Python on the CLR. Somebody out there - get started on that.
The most connected person to us at the conference was Rael Dornfest, who is according to his business card the CTO of O'Reilly Media - referred Amir through a writer friend of his, me through a writer friend of mine, and both of us through my father. We had a good time talking about the future voice-over-IP applications that Divmod's platform is going to enable.
I spoke to Alex Martelli, author of Python in a Nutshell and editor of the Python Cookbook. He reminded me that the world does, in fact, need a Twisted book, a reminder for which I am very grateful. I think that as a result of this conversation a moribund book project may be restarted, and another might come into the works. Time will tell.
I got to give a full-fledged Divmod sales pitch to Manish Singh AKA Yosh, of the Gimp project, who was a remarkably good sport about it.
I spoke to Ted Leung & Brian Kirsch from OSAF, and got to compare and contrast the Quotient and Chandler architectures. We've done a lot of similar work. It was interesting especially to hear about their development on the GUI front, where we have been experimenting with a few different frameworks. I hadn't used WxWindows for quite a while, because it seemed pretty gross on the UNIX side the last time I touched it, and the API for constructing widgets was rather tedious. Partly as a result of pressure from OSAF, all that has changed.
As a result, I spoke with Robin Dunn, author of wxPython, and learned of the last missing piece in this puzzle, WxGlade. Kevin Altis also showed me a demo of a very snazzy-looking PythonCard, which is based on wxPython, running on OS X. Especially since Robin seemed interested in exposing some better hooks for faster, more reliable Twisted reactor integration on UNIX, I predict I will have more nice things to say about wxPython soon.
I was also very happy to meet Chris DiBona, who sold me some awesome hardware at a steep discount for being a "cool open-source guy" back in the days when VA Software was still VA Research and making dream machines for geeks, and Imagination was still Reality Pencil, and you could actually use it for making games. We had an interesting discussion of linux distributions. To my pleasant surprise, he actually vaguely remembered my call all those years ago!
Finally, I met the angry economist, and enjoyed a few drinks and discussing (among other things) economics with him. I am going to have to disclose his secret: he's not actually very angry. In fact he was pretty nice.
I'm sorry if you're not on this list, and I am sure I forgot a few important people, but I was being whisked from meeting to meal to meeting to session to meeting to keynote for the whole conference, and I didn't have any chance to take notes. It's also pretty dang late and I have a flight to catch tomorrow.
If you spoke to me at the conference and I haven't given you one already, please drop me an email and ask for a Divmod beta-test ticket; we still haven't raised the price from the previous discount but we are planning to as soon as we can open signup further, so take advantage of it now! I'm really hoping that much of our first wave of customers are open-source hackers who can give us some really detailed bug reports and help us to produce an extremely high-quality experience.