| The Live Stream Schedule |
The often deranged postings of yet another hacker, pretending to be an Astronomer, pretending to be a hacker who has written a book or two for O'Reilly Media.
Showing posts with label Portland. Show all posts
Showing posts with label Portland. Show all posts
Tuesday, July 26, 2011
OSCON 2011
This week I'm in Portland OSCON 2011 along with OSCON Data and OSCON Java. If you're not here in person O'Reilly is streaming keynotes and interviews live from the conference floor.
But if you are around, come see me talk on Thursday when I'll be discussing connecting iOS to the real world and the Internet of Things.
Labels:
Apple,
Conference,
Internet of Things,
iOS,
O'Reilly,
O'Reilly Media,
OSCON,
Portland,
Redpark,
Serial
Wednesday, July 23, 2008
OSCON: Wednesday Morning Keynote
My jet lag caught up with me last night and I ended not making it to the Tuesday Night Extravaganza, although other people did and cruelly didn't blog Damian's talk for the rest of us that didn't. So I don't get to find anything more about "Temporally Quaquaversal Virtual Nanomachine Programming In Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces", which is a pity...

The keynote kicked off with Allison Randall and Edd Dumbill, talking about the history of Open Source and OSCON. This is the first OSCON without Nat at the helm, and while I've seen him around, it's pretty weird not to have the keynote kick off with "...and here's your conference chair, Nat Torkington".
Update: Looks like I'll see you all next year. While I was in the keynote I got a phone call and I'm now heading back into the UK somewhat earlier than planned.
Update: More than one interrupted journey...

The keynote kicked off with Allison Randall and Edd Dumbill, talking about the history of Open Source and OSCON. This is the first OSCON without Nat at the helm, and while I've seen him around, it's pretty weird not to have the keynote kick off with "...and here's your conference chair, Nat Torkington".
Update: Looks like I'll see you all next year. While I was in the keynote I got a phone call and I'm now heading back into the UK somewhat earlier than planned.
Update: More than one interrupted journey...
Tuesday, July 22, 2008
OSCON: Perl Worst Practices
So after coffee I've bailed from "An Open Source Startup in Three Hours" into "Perl Worst Practices" with Damian Conway, squeezing myself into one of the few empty seats.

Damian is going through his SelfGOL code, and oh boy has he done some evil things with Perl...
Just like Chris I'm looking forward to the prospect of putting these worst practices into my own code when I return to my work next week.
Brad has been sitting in this one since the beginning, so if you're really interested in what Damian has been saying then just jump over to his blog post for the principles of worst practice...

Damian is going through his SelfGOL code, and oh boy has he done some evil things with Perl...
You have to minimise wear and tear on all parts of the keyboard
Just like Chris I'm looking forward to the prospect of putting these worst practices into my own code when I return to my work next week.
Far too few people are using their source code as their user interface
Brad has been sitting in this one since the beginning, so if you're really interested in what Damian has been saying then just jump over to his blog post for the principles of worst practice...
OSCON: An Open Source Startup in Three Hours
The second day of OSCON, and this morning I'm sitting in "An Open Source Startup in Three Hours" given by Gavin Doughtie and Andrew Hyde.

It's an odd choice for an academic like me, but considering the current funding crisis perhaps not as inexplicable as all that...
Update: The trick to running a successful company is to work half a day, work the first twelve hours or the second twelve hours it doesn't matter. It's not about getting rich quick, or about pyramids. Andrew is talking about his startup weekends...
He's talking about deliverables and paper prototyping. Obviously they're not going to code it up, launch a project and get acquired by lunch time, but hopefully they're going to give us the tools to think about how to do that.
Update: Paper prototyping allows you to see things quickly, and avoid those six month mistakes and to fail really fast. Startups succeed with the right team and a solid idea. But it comes down to timing and luck and good design. But good designers are hard to find.
Update: A startup has to solve problems, but it has to solve more than just your problem. You need to float your idea to as many people as possible, and as smart as people as you can find. Unlike a lot of people Andrew is arguing that if people tell you your going to fail, either your pitching your idea wrong, or you're working on the wrong thing.
Update: What not to do; think your idea is worth anything, build anything that is "neat" or "cute", define development or design early on, or pick a domain. If you pick up a domain before you talk to people you probably haven't developed your idea well enough. You have to define your goals, build stuff, launch it quickly and see what people think.
Update: Define what your idea is and isn't, define the problem and outline your solution to it. Andrew is really hitting on paper prototyping you idea, design and interface. I'm pretty surprised, while I've never heard it called that before this is something I always do for a project, he's also hitting on what he's calling 'moleskinning' which seems to be the equivalent of the good old laboratory note book. You write down ideas, steps you've taken, that sort of thing. Maybe a rigorous science background is a good thing for a startup?
Update: Design is important, and a lot of people get it wrong. Go to someplace like CSS Beauty and find out what's hot and what's not.
Update: Over to Gavin and implementation. Things you need before launch; source control, a sever, some programming and you need to deploy something. You might want to think about a 'light engineering' process. The lightest engineering Gavin can think of is '1-click installs' and content based startups.
Update: He's now talking about Amazon EC2. If anyone is sitting in a startup tutorial and doesn't know about EC2 (and S3) then they're in trouble. He's walking us through building an EC2 image though, which is quite interesting. I've played with S3, but not EC2 in any depth. He's pointing out that you when you're doing development you don't have to keep the instances running, Amazon will charge you for those running instances, just shut them down. However when you do shut them down, or they crash, any data in the instance is gone, so you have to push it off to long term storage like S3.
Update: Lighter weight than EC2 is Google App Engine, which (as we all know?) is a sandbox Python runtime... and now we're getting a demo. App Engine is actually something I've started to play with as I managed to pick up an invite...
Update: He's pointed us towards opendesigns.org for (free) design templates, and encouraging us to put real design into your startup as soon as possible because it'll help you think about it more seriously.
Update: Gavin's talking about Django,
Update: After fiddling around with CSS templates and Dojo, which looks pretty cool by the way, Gavin is back deploying his prototype App Engine project and showing how the group development stuff works...
Update: Back to talking about startups. What you don't need is; scalability, performance or industrial strength anything, unless of course that's what your startup is about. Technological pitfalls; Java, no local expertise and being overambitious. No really, he's telling us not to use Java. There is lots of complexity in Java land, and he really would recommend looking at the LAMP stacks.
Update: Even though it's really obvious stuff a simple application may have some technical depth to it. So don't be overambitious...
Update: Remember your team is your technology. Don't be afraid to have a single point of failure if that gives you leverage. Spend a bit of time looking for leverage in your technology.
Update: Marketing is a big thing. If you build it, they won't necessarily come...
Update: Andrew is back and talking about feature creep, which is the number two killer of startups, right after running out of money. You need a kerbside pitch, and an elevator pitch. A kerbside pitch is real fast, essentially "I work at etc company, which is like foo except for bar". Every one on the team should be able to do the elevator pitch, the longer (slightly more involved) pitch.
Update: Back to tools, pointing us at JumpBox which isn't something I'd run across before...
Update: Over to talking about legal stuff. You need to get everyone that you've ever talked to about the project, that has ever given any input to it, to sign bits of paper and state their intent.
...and software patents are evil if you don't have them!
Update: We're breaking for coffee, I think I'm going to jump out of this tutorial and try and slip into the second half of Damian's Perl Worst Practices after coffee. This stuff is interesting, but they're really talking about startups as websites, which while okay wasn't really what I was here for...
Update: Jumped over into Damian's talk.

It's an odd choice for an academic like me, but considering the current funding crisis perhaps not as inexplicable as all that...
Update: The trick to running a successful company is to work half a day, work the first twelve hours or the second twelve hours it doesn't matter. It's not about getting rich quick, or about pyramids. Andrew is talking about his startup weekends...
Our company was built in 3 hours, the rest was marketing bullshit - Bill Gates
Amazing product are never built in a long time. Just short, simple acid trips - Steve Jobs
He's talking about deliverables and paper prototyping. Obviously they're not going to code it up, launch a project and get acquired by lunch time, but hopefully they're going to give us the tools to think about how to do that.
Update: Paper prototyping allows you to see things quickly, and avoid those six month mistakes and to fail really fast. Startups succeed with the right team and a solid idea. But it comes down to timing and luck and good design. But good designers are hard to find.
Update: A startup has to solve problems, but it has to solve more than just your problem. You need to float your idea to as many people as possible, and as smart as people as you can find. Unlike a lot of people Andrew is arguing that if people tell you your going to fail, either your pitching your idea wrong, or you're working on the wrong thing.
Update: What not to do; think your idea is worth anything, build anything that is "neat" or "cute", define development or design early on, or pick a domain. If you pick up a domain before you talk to people you probably haven't developed your idea well enough. You have to define your goals, build stuff, launch it quickly and see what people think.
Update: Define what your idea is and isn't, define the problem and outline your solution to it. Andrew is really hitting on paper prototyping you idea, design and interface. I'm pretty surprised, while I've never heard it called that before this is something I always do for a project, he's also hitting on what he's calling 'moleskinning' which seems to be the equivalent of the good old laboratory note book. You write down ideas, steps you've taken, that sort of thing. Maybe a rigorous science background is a good thing for a startup?
Update: Design is important, and a lot of people get it wrong. Go to someplace like CSS Beauty and find out what's hot and what's not.
Update: Over to Gavin and implementation. Things you need before launch; source control, a sever, some programming and you need to deploy something. You might want to think about a 'light engineering' process. The lightest engineering Gavin can think of is '1-click installs' and content based startups.
Update: He's now talking about Amazon EC2. If anyone is sitting in a startup tutorial and doesn't know about EC2 (and S3) then they're in trouble. He's walking us through building an EC2 image though, which is quite interesting. I've played with S3, but not EC2 in any depth. He's pointing out that you when you're doing development you don't have to keep the instances running, Amazon will charge you for those running instances, just shut them down. However when you do shut them down, or they crash, any data in the instance is gone, so you have to push it off to long term storage like S3.
Update: Lighter weight than EC2 is Google App Engine, which (as we all know?) is a sandbox Python runtime... and now we're getting a demo. App Engine is actually something I've started to play with as I managed to pick up an invite...
Update: He's pointed us towards opendesigns.org for (free) design templates, and encouraging us to put real design into your startup as soon as possible because it'll help you think about it more seriously.
Update: Gavin's talking about Django,
The Django guys will say 'Don't say it's like rails,' but it is like rails.Which reminds me, I must take a serious look at Catalyst at some point...
Update: After fiddling around with CSS templates and Dojo, which looks pretty cool by the way, Gavin is back deploying his prototype App Engine project and showing how the group development stuff works...
Update: Back to talking about startups. What you don't need is; scalability, performance or industrial strength anything, unless of course that's what your startup is about. Technological pitfalls; Java, no local expertise and being overambitious. No really, he's telling us not to use Java. There is lots of complexity in Java land, and he really would recommend looking at the LAMP stacks.
Update: Even though it's really obvious stuff a simple application may have some technical depth to it. So don't be overambitious...
Update: Remember your team is your technology. Don't be afraid to have a single point of failure if that gives you leverage. Spend a bit of time looking for leverage in your technology.
Update: Marketing is a big thing. If you build it, they won't necessarily come...
Update: Andrew is back and talking about feature creep, which is the number two killer of startups, right after running out of money. You need a kerbside pitch, and an elevator pitch. A kerbside pitch is real fast, essentially "I work at etc company, which is like foo except for bar". Every one on the team should be able to do the elevator pitch, the longer (slightly more involved) pitch.
Update: Back to tools, pointing us at JumpBox which isn't something I'd run across before...
Update: Over to talking about legal stuff. You need to get everyone that you've ever talked to about the project, that has ever given any input to it, to sign bits of paper and state their intent.
If you can't make it good, at least make it look good - Bill Gates
Intellectual property has the shelf life of a banana - Bill Gates
...and software patents are evil if you don't have them!
Update: We're breaking for coffee, I think I'm going to jump out of this tutorial and try and slip into the second half of Damian's Perl Worst Practices after coffee. This stuff is interesting, but they're really talking about startups as websites, which while okay wasn't really what I was here for...
Update: Jumped over into Damian's talk.
Labels:
Andrew Hyde,
Gavin Doughtie,
OSCON,
OSCON08,
OSCON2008,
Portland,
Startup
Monday, July 21, 2008
OSCON: Perl Security
This afternoon I'm breaking my no Perl rule and I'm sitting in "Perl Security" given by Paul Fenwick. I'm sitting next to Brad and Chris, and Sam is supposedly in here somewhere...

From the looks of things, Paul is trying to pull a Dick Hardt with his talk. If you've ever seen Dick's Identity 2.0 talk you'll know that this tutorial is going to be virtually un-bloggable...
Update: First pointer is to his own
Update: Paul is talking about exposing vulnerabilities in CGI code, and trying to emphasize that you must validate your input data, from users, from files and very much from the network. You need to use taint mode. He's also recommending that you don't use "baby taint" mode and call Perl with
Update: Interesting he's just shown a three line example that will allow you to get root access by running any Perl script that respects the
Update: But there are problems with taint mode
Update: One of the things that Perl is good for is making tasks easy. One of those things is opening a file. There are lots of ways to open files in Perl, which means there are lots of way to break things. If you are opening a file you should always specify a mode, and never use the two argument version of
Update: Symbolic links (are awesome but) can be used to do evil things. Don't use temporary files with predictable names, you could even use anonymous files
or you could just use the Tim's
Update: Now talking about
if
which is rather bad.
Back ticks are worse; "this" is a string, 'this' is a string and `this` is executing arbitrary code on your system. Depending on your font, it's rather hard to tell the difference.
The alternative is
Update: We're breaking for afternoon coffee...
Update: ...and we're back and talking about
Update: On to database security and injection attacks. He's advising us not to do our own quoting and use instead use place holders. As I've mentioned before, I rarely have to do heavy weight database work, and I'd view my knowledge of DBI as only fairly sparse, and even I know about place holders. Why does everyone think they're worth talking about at length. Bemusing!
Update: On to tricks and tips... and the poisoned null byte. Strings in Perl (are awesome but) can contain any character you want, including control codes and null bytes. In Perl a null byte is just another character, but in C it represents the end of a string. So if you can get a null byte down to the C layer, bad things can happen, and it's easy to pass a null byte can be easily passed in URLs.
Update: ...and we're done (with the main material) about an hour ahead of time. The course notes, although not the slides, for the tutorial are available online. On to the 'bonus' material, random numbers and cryptography...
Update: ...we're done. Now go read Brad's and Chris' posts on the Perl Security tutorial as well.

From the looks of things, Paul is trying to pull a Dick Hardt with his talk. If you've ever seen Dick's Identity 2.0 talk you'll know that this tutorial is going to be virtually un-bloggable...
Update: First pointer is to his own
autodie module, which was released onto CPAN (very) late last night. It's a lexical equivalent of Fatal for Perl 5.10, it also upgrades the Fatal module to contain better diagnostics and reporting.Update: Paul is talking about exposing vulnerabilities in CGI code, and trying to emphasize that you must validate your input data, from users, from files and very much from the network. You need to use taint mode. He's also recommending that you don't use "baby taint" mode and call Perl with
-t...You may not use data derived from outside your program to affect something else outside your program - at least, not by accident. - perlsec
Update: Interesting he's just shown a three line example that will allow you to get root access by running any Perl script that respects the
PERL5LIB environment variable.Update: But there are problems with taint mode
If the regular expression match formy ($url, $file) = @ARGV;
$url =~ m/ pattern match /;
my $safe_url - $1;
$file =~ / pattern match /;
my $safe_file = $1;
$safe_file fails then $safe_file is set to $safe_url and that could easily be set to something like http://foo&/bin/sh, which would be bad. You always need to check for success, either use an if( ) block or by explicitly check the return value from the regular expression.Update: One of the things that Perl is good for is making tasks easy. One of those things is opening a file. There are lots of ways to open files in Perl, which means there are lots of way to break things. If you are opening a file you should always specify a mode, and never use the two argument version of
open which does much deep magic. Use the three argument version instead.However this doesn't get you out of validating your input, you still need to do that...open($fh, "<", $filename );
Update: Symbolic links (are awesome but) can be used to do evil things. Don't use temporary files with predictable names, you could even use anonymous files
use autodie qw(open);
open($fh, "+>", undef );
or you could just use the Tim's
File::Temp module instead...Update: Now talking about
system and back ticks, Paul really hates system. You really need to use the two argument version of system rather than the one argument version, except of course@args = ();
system( $cmd, @args );
if
@args is empty, then it calls the one argument version of system, which in turn calls the shell rather than executes the passed command directly. Which means that you can this happens,system ( "finger $username; rm -rf *", ( ) );
which is rather bad.
Back ticks are worse; "this" is a string, 'this' is a string and `this` is executing arbitrary code on your system. Depending on your font, it's rather hard to tell the difference.
The alternative is
IPC::System::Simple, which works all the way back to Pelr 5.6 and (magically) doesn't have any dependencies. Which from the sounds of it goes a long way to fixing a lot of the problems with system. It also provides capture which replaces back ticks.Update: We're breaking for afternoon coffee...
Update: ...and we're back and talking about
setuid and setgid programs. Apparently Perl is ignorant of the saved uid, which means that it's really hard to drop privileges and make it stick. Also a dark secret, Perl's $< and $> variables are cached. Ouch!Update: On to database security and injection attacks. He's advising us not to do our own quoting and use instead use place holders. As I've mentioned before, I rarely have to do heavy weight database work, and I'd view my knowledge of DBI as only fairly sparse, and even I know about place holders. Why does everyone think they're worth talking about at length. Bemusing!
Update: On to tricks and tips... and the poisoned null byte. Strings in Perl (are awesome but) can contain any character you want, including control codes and null bytes. In Perl a null byte is just another character, but in C it represents the end of a string. So if you can get a null byte down to the C layer, bad things can happen, and it's easy to pass a null byte can be easily passed in URLs.
Update: ...and we're done (with the main material) about an hour ahead of time. The course notes, although not the slides, for the tutorial are available online. On to the 'bonus' material, random numbers and cryptography...
Update: ...we're done. Now go read Brad's and Chris' posts on the Perl Security tutorial as well.
OSCON: Python in 3 Hours
While I've written stuff in Java, Python and half a dozen other languages, I'm a Perl guy. My first solution to a programming problem is to use Perl. This hasn't always been the case of course, I used to be a Fortran guy after all, and my solution to most things would be to crank out some Fortran. I'm more or less language agnostic, and try and pick the right tool for every job, it's that so many jobs can be done easily in Perl.
However I've learned Python several times now, used it for whatever project I've needed it for, and then mostly forgotten most of what I knew about it afterwards. But with the release of Google's App Engine however, I think it's time to dust my Python off and pick it up again for a third time. Which is why I'm sitting in "Python in 3 Hours" given by Steve Holden. Steve has put his slides online, but it looks like his hosting provider isn't holding up that well...

Update: The main principle in Python is "Keep it simple stupid", as opposed to Perl's "There is more than one way to do things". That basically sums up the difference between the two languages. It looks like Twitter is over capacity again, the fail whale is very much in evidence.
Update: One of the things that people coming from the C world find difficult is that while Python is a strongly typed language the type is associated with the value, not with the variable. Well that and the mandatory indenting.
Steve is really emphasising the presence of the interactive interpreter, which is something that Python talk about a lot. As a Perl person, it's not something we really have, and I've not felt that lack. Trying to get my head around why Python people feel it's important.
Update: Steve is talking about the different implementations of Python. Also not something we've had with Perl, at least until Perl 6 came along...
Update: That's interesting. Since Python 2.5 integers are unbounded, and since Python 3.0 diving two integers no longer does integer division, you end up with a floating point number. Oh, and strings are going to become Unicode by default.
Update: Now here is something I've always wanted in Perl, and it doesn't have because of its admittedly quite odd object model, default methods on strings;
Having things like strings and tuples, and dictionary keys, as immutable is one of the things I've always had problems with in Python, and yes I know it means it's all thread-safe. Guess I've been working with Perl's threading model too long as well...
Update: Interesting, if obvious, admission from Steve,
Update: The
Update: Time for morning coffee, back after these short messages...
Update: ...and we're back, and Steve has moved on to defining functions, where Python is actually a lot different than most other languages. In Python
Update: After working with Perl for so long I've never liked the way Python handles variable parameter lists,
Update: Pointer to PEP8, the "Style Guide to Python". I guess Perl people just have "Perl Best Practices" by Damian?
Update: Must admit I'm starting to drift here...
I'm trying to figure out whether Python is more strict and complicated than Perl, or whether I'm just thinking in Perl, and Python is just as slack and easy to use as Perl but in a different way? Anyone got any opinions on that one?
Update: I didn't realise the Python interpreter implicitly provides a
Update: Steve just said,
Update: ...and we're done, or at least I am. Time for lunch.
However I've learned Python several times now, used it for whatever project I've needed it for, and then mostly forgotten most of what I knew about it afterwards. But with the release of Google's App Engine however, I think it's time to dust my Python off and pick it up again for a third time. Which is why I'm sitting in "Python in 3 Hours" given by Steve Holden. Steve has put his slides online, but it looks like his hosting provider isn't holding up that well...

Update: The main principle in Python is "Keep it simple stupid", as opposed to Perl's "There is more than one way to do things". That basically sums up the difference between the two languages. It looks like Twitter is over capacity again, the fail whale is very much in evidence.
Update: One of the things that people coming from the C world find difficult is that while Python is a strongly typed language the type is associated with the value, not with the variable. Well that and the mandatory indenting.
Steve is really emphasising the presence of the interactive interpreter, which is something that Python talk about a lot. As a Perl person, it's not something we really have, and I've not felt that lack. Trying to get my head around why Python people feel it's important.
Update: Steve is talking about the different implementations of Python. Also not something we've had with Perl, at least until Perl 6 came along...
Update: That's interesting. Since Python 2.5 integers are unbounded, and since Python 3.0 diving two integers no longer does integer division, you end up with a floating point number. Oh, and strings are going to become Unicode by default.
Update: Now here is something I've always wanted in Perl, and it doesn't have because of its admittedly quite odd object model, default methods on strings;
s.lower(), s.upper(), s.strip() and the like. Of course since strings are immutable, they don't do an in place operation.Having things like strings and tuples, and dictionary keys, as immutable is one of the things I've always had problems with in Python, and yes I know it means it's all thread-safe. Guess I've been working with Perl's threading model too long as well...
Update: Interesting, if obvious, admission from Steve,
We're talking about a Turing complete language, so there is always more than one way of doing things...when talking about there being only one way of doing things in Python.
Update: The
print statement is actually going away in Python 3.0, replaced by the print function. Which, yes, makes a big difference. That's a subtle but fairly fundamental change. Have to think about that for a bit...Update: Time for morning coffee, back after these short messages...
Update: ...and we're back, and Steve has moved on to defining functions, where Python is actually a lot different than most other languages. In Python
def is an executable statement. The interpreter reads and compiles the indented body and the resulting function object is bound to the function name in current namespace.Update: After working with Perl for so long I've never liked the way Python handles variable parameter lists,
Some functions can take an indefinite number of positional and keyword arguments. These are caught with a special parameter syntax;which is only sort of like the way Perl does things...*namebecomes a tuple of "extra" positional arguments to a call**namebecomes a dict of "extra" keyword arguments to a call:n=vbecomes{n: v}
Update: Pointer to PEP8, the "Style Guide to Python". I guess Perl people just have "Perl Best Practices" by Damian?
Update: Must admit I'm starting to drift here...
I'm trying to figure out whether Python is more strict and complicated than Perl, or whether I'm just thinking in Perl, and Python is just as slack and easy to use as Perl but in a different way? Anyone got any opinions on that one?
Update: I didn't realise the Python interpreter implicitly provides a
$self when using an instance. That's interesting...Update: Steve just said,
Five minutes left to cover formatting and I/O...That's not good. Nor is the fact that it's only in "modern" Python that you can iterate over a file and don't have to read it in all at once. Hmm...
Update: ...and we're done, or at least I am. Time for lunch.
OSCON 2008
Day one of OSCON 2008 here in Portland, Oregon. In my current jet lagged state it was actually fairly easy to haul myself out of bed early enough to make it down to the convention centre and grab morning coffee before everything kicks off for the day. For my body at least its just coming up to four o'clock in the afternoon...
View Larger Map
This year I've decided to take my own advice and keep clear of the Perl track, at least for the tutorials. So this morning I'm going to "Python in Three Hours", then this afternoon I'm going to, erm, "Perl Security". Which is about as far as I could pull myself away from the Perl track for today. Tomorrow I'm off to "An Open Source Startup in Three Hours" and "Practical Erlang Programming".
As always, I'll be blogging things, taking pictures and this year probably twittering the odd comment or two. That's if the fail whale isn't sighted...
Update: Steve Holden talking about Python in Three Hours.
Update: Paul Fenwick talking about Perl Security.
Update: Gavin Doughtie and Andrew Hyde talking about An Open Source Startup in Three Hours.
Update: Bailed out of An Open Source Startup in Three Hours after coffee and into Damian Conway's talk on Perl Worst Practices.
Update: Francesco Cesarini talking about Practical Erlang Programming.
Update: With the tutorials over, the conference is kicking off properly with the Wednesday Morning Keynote.
Update: Looks like I'll see you all next year. While I was in the keynote I got a phone call and I'm now heading back into the UK somewhat earlier than planned.
Update: More than one interrupted journey...
View Larger Map
This year I've decided to take my own advice and keep clear of the Perl track, at least for the tutorials. So this morning I'm going to "Python in Three Hours", then this afternoon I'm going to, erm, "Perl Security". Which is about as far as I could pull myself away from the Perl track for today. Tomorrow I'm off to "An Open Source Startup in Three Hours" and "Practical Erlang Programming".
As always, I'll be blogging things, taking pictures and this year probably twittering the odd comment or two. That's if the fail whale isn't sighted...
Update: Steve Holden talking about Python in Three Hours.
Update: Paul Fenwick talking about Perl Security.
Update: Gavin Doughtie and Andrew Hyde talking about An Open Source Startup in Three Hours.
Update: Bailed out of An Open Source Startup in Three Hours after coffee and into Damian Conway's talk on Perl Worst Practices.
Update: Francesco Cesarini talking about Practical Erlang Programming.
Update: With the tutorials over, the conference is kicking off properly with the Wednesday Morning Keynote.
Update: Looks like I'll see you all next year. While I was in the keynote I got a phone call and I'm now heading back into the UK somewhat earlier than planned.
Update: More than one interrupted journey...
Friday, July 18, 2008
Enroute to OSCON
I'm currently holed up in the Renaissance London Heathrow on my way out to OSCON 2008 being held in Portland in Oregon, at the Oregon Convention Centre.
Unlike last year the journey was fairly pleasant, just over two and a half hours in a straight run down the east coast main line from Leeds, where I was watching my wife graduate with her doctorate, instead of a torturous seven and a half hour journey across a flood torn west country.
However I've got a four thirty am check-in tomorrow morning, so right now it's time to get some sleep. More from me when I hit Portland...
Update: We took off late from Heathrow due to the late arrival of the equipment, we lost more time in the air due to adverse headwinds, and yet more time racked and stacked over a fog-bound O'Hare. So while I'm now on the ground in Chicago, I'm here two hours later than I should have been. Fortunately, for various values of fortunately, my trip through US immigration was relatively unscathed, and my onward flight turns out to be just as delayed going out as I was coming in. So I'm now camped out in the newly rennovated Red Carpet Club near B18. I'll let you know how things go when, or if, I make it into Portland later today...
Update: Finally made it into Portland. My connecting flight out of O'Hare was delayed, delayed again, and then delayed again. Then suddenly moved forward by an hour without warning, to a slot only a few minutes away. Apparently our plane was still sitting in Toronto, and United had decided to give us a different one at short notice. Presumably some other people were now without a plane, however...
This meant that I had to run across the terminal. Although I made it onto the flight ahead of most people, who no doubt had retired to the bar, or just taken a nap secure in the knowledge that had at least another hour to wait.
I also made it onto the plane before the flight crew, who took another hour and a half to arrive after we'd fully boarded. The cabin crew were looking distinctly nervous towards the end...
Once the flight crew arrived, did the safety check and the pre-fight, we'd closed the doors and started to pushback, one of the cabin crew noticed we had an extra passenger. The plane was full, every seat was taken, but there was still one poor guy still standing in the aisle clutching a valid boarding pass, but without a seat. After a brief discussion about whether he could sit in a spare jump seat, they finally decided that they just weren't allowed to do that anymore, he had to go...
So we had to find ourselves a new ground crew, return to the gate, and offload the guy. At this point we were getting close to the point where our flight crew were about to go illegal. We didn't pushback, for the second time, much ahead of the point where they'd have had to find us a new flight crew. Considering they probably couldn't do that the second pushback, and subsequent take off, was expedited. I was listening in on to the tower chatter on channel 9, and from the sounds of things we ducked in ahead of a fairly big queue, and rolled almost without a pause directly from the gate to the end of 32L and into the air.
That said, I arrived into Portland only two and a half hours later than planned, and I got to take a minor supporting role in an excellently produced farce. You can't complain too much...
Unlike last year the journey was fairly pleasant, just over two and a half hours in a straight run down the east coast main line from Leeds, where I was watching my wife graduate with her doctorate, instead of a torturous seven and a half hour journey across a flood torn west country.
However I've got a four thirty am check-in tomorrow morning, so right now it's time to get some sleep. More from me when I hit Portland...
Update: We took off late from Heathrow due to the late arrival of the equipment, we lost more time in the air due to adverse headwinds, and yet more time racked and stacked over a fog-bound O'Hare. So while I'm now on the ground in Chicago, I'm here two hours later than I should have been. Fortunately, for various values of fortunately, my trip through US immigration was relatively unscathed, and my onward flight turns out to be just as delayed going out as I was coming in. So I'm now camped out in the newly rennovated Red Carpet Club near B18. I'll let you know how things go when, or if, I make it into Portland later today...
Update: Finally made it into Portland. My connecting flight out of O'Hare was delayed, delayed again, and then delayed again. Then suddenly moved forward by an hour without warning, to a slot only a few minutes away. Apparently our plane was still sitting in Toronto, and United had decided to give us a different one at short notice. Presumably some other people were now without a plane, however...
This meant that I had to run across the terminal. Although I made it onto the flight ahead of most people, who no doubt had retired to the bar, or just taken a nap secure in the knowledge that had at least another hour to wait.
I also made it onto the plane before the flight crew, who took another hour and a half to arrive after we'd fully boarded. The cabin crew were looking distinctly nervous towards the end...
Once the flight crew arrived, did the safety check and the pre-fight, we'd closed the doors and started to pushback, one of the cabin crew noticed we had an extra passenger. The plane was full, every seat was taken, but there was still one poor guy still standing in the aisle clutching a valid boarding pass, but without a seat. After a brief discussion about whether he could sit in a spare jump seat, they finally decided that they just weren't allowed to do that anymore, he had to go...
So we had to find ourselves a new ground crew, return to the gate, and offload the guy. At this point we were getting close to the point where our flight crew were about to go illegal. We didn't pushback, for the second time, much ahead of the point where they'd have had to find us a new flight crew. Considering they probably couldn't do that the second pushback, and subsequent take off, was expedited. I was listening in on to the tower chatter on channel 9, and from the sounds of things we ducked in ahead of a fairly big queue, and rolled almost without a pause directly from the gate to the end of 32L and into the air.
That said, I arrived into Portland only two and a half hours later than planned, and I got to take a minor supporting role in an excellently produced farce. You can't complain too much...
Saturday, July 28, 2007
Heading home from OSCON
So I'm sitting in the lounge at PDX waiting for my flight to Chicago O'Hare and then onward to Heathrow. However I'm not entirely sure how far I'm going to get after I land back in the Britain. Looking at the news coming out of the UK the rail system doesn't look like its recovered from the heavy flooding last week while I was travelling to OSCON.
The BBC's flood mashup (via Google Lat Long Blog) looks a bit worrying as well. To get from London to Exeter I have to go through Reading, which doesn't seem to be in a good way right now, and with more rain predicted while I'm enroute to Heathrow I'm pretty much reduced to crossing my fingers at this point...
Update: Made it home in one piece, with the trains more or less running to time, unless you wanted to head north out of Paddington towards Oxford. In which case you were out of luck as the lines were still underwater. Although looking at the countryside as I passed through Berkshire, the best description I can come up with is "water-logged". It probably wouldn't put much more rain to start another round of flooding...
The BBC's flood mashup (via Google Lat Long Blog) looks a bit worrying as well. To get from London to Exeter I have to go through Reading, which doesn't seem to be in a good way right now, and with more rain predicted while I'm enroute to Heathrow I'm pretty much reduced to crossing my fingers at this point...
Update: Made it home in one piece, with the trains more or less running to time, unless you wanted to head north out of Paddington towards Oxford. In which case you were out of luck as the lines were still underwater. Although looking at the countryside as I passed through Berkshire, the best description I can come up with is "water-logged". It probably wouldn't put much more rain to start another round of flooding...
Friday, July 27, 2007
OSCON: Final keynote
The final keynote, and last session of the 2007 Open Source Convention is on Open Source Hardware and it's being given by Philip Torrone, the senior editor of Make: Magazine and Limor Fried who is according to Nat is the only person making money out of open source hardware right now.

Nat Torkington at his last OSCON
We're kicking off with Nat talking about next year, this is his last year working on OSCON, he's been doing this for eleven years and we're going to miss him. Although possibly not his shirts...

Philip and Limor are talking about open hardware
Update: On to the keynote talk and Philip and Limor are talking about open hardware, and how the field is starting to take off...

The Make: Board
interestingly it looks like people are starting to introduce new licences, the Chumby HDK License and the TAPR Open Hardware License because unlike software hardware is mostly based on patents, not copyright, and different licenses may be better.
Update: They've moved on to talking about Fab@Home, which is pretty cool, because once you've built one of these they can actually self-fabricate and duplicate themselves...
Update: Okay, I desperately need this, they're talking about Botanicalls which allows plants to place phone calls for human help, for instance when they need watering...

Botanicalls, plants that ask for help...
Update: They've moved on to talking about WaveBubble an open source RF jammer, which is certainly illegal to sell, and probably illegal to use, but probably not illegal to self-build.
Update: ...and we're done.
Update: Philip and Limor's keynote is now on blip.tv, and the slides are available for download.

Nat Torkington at his last OSCON
We're kicking off with Nat talking about next year, this is his last year working on OSCON, he's been doing this for eleven years and we're going to miss him. Although possibly not his shirts...

Philip and Limor are talking about open hardware
Update: On to the keynote talk and Philip and Limor are talking about open hardware, and how the field is starting to take off...

The Make: Board
interestingly it looks like people are starting to introduce new licences, the Chumby HDK License and the TAPR Open Hardware License because unlike software hardware is mostly based on patents, not copyright, and different licenses may be better.
Update: They've moved on to talking about Fab@Home, which is pretty cool, because once you've built one of these they can actually self-fabricate and duplicate themselves...
Update: Okay, I desperately need this, they're talking about Botanicalls which allows plants to place phone calls for human help, for instance when they need watering...

Botanicalls, plants that ask for help...
Update: They've moved on to talking about WaveBubble an open source RF jammer, which is certainly illegal to sell, and probably illegal to use, but probably not illegal to self-build.
Update: ...and we're done.
Update: Philip and Limor's keynote is now on blip.tv, and the slides are available for download.
OSCON: OSS Amateur Robotics
Next up is Amateur Robotics given by Mark Gross from Intel.
Mark's entry for the SRS Robot Magellan contest
Update: He's talking about the on-board computing system for the robot, which is running a hacked NSLU2, which is pretty cool, as I've got one of those kicking around somewhere.
Unlike the previous talk, which was at about my level of hands-on with hardware, this stuff is well beyond my level of competence. I'm a software guy with delusions of grandeur, but I know my limits...
Update: More on the NSLU2-Linux and the Open Embedded projects.
Update: His slides are available, although they're in Open Office format, which isn't amazingly useful. But there is a lot more information on his website.
![]() |
| CREDIT: Mark Gross |
Update: He's talking about the on-board computing system for the robot, which is running a hacked NSLU2, which is pretty cool, as I've got one of those kicking around somewhere.
Unlike the previous talk, which was at about my level of hands-on with hardware, this stuff is well beyond my level of competence. I'm a software guy with delusions of grandeur, but I know my limits...
Update: More on the NSLU2-Linux and the Open Embedded projects.
Update: His slides are available, although they're in Open Office format, which isn't amazingly useful. But there is a lot more information on his website.
OSCON: Hack the Real World
I'm in Hack the Real World with Open Source and Microcontrollers given by Brian Jepson from Make: Magazine.


Brian Jepson talking about hacking the real world
He's talking about the Make Controller Kit and Arduino boards, and despite being from Make: he's focusing on the Arduino boards because it's "super open". The main difference is that the Arduino doesn't have an operating system, unlike the Make: board, and it's "...a lot like the old days".
Update: He's talking about the different types of 'serial', and just mentioned the MAX232 chip which does conversion between RS-232 and TTL serial.
Update: He's talking about the Parallax RFID module which is a great module, cheap, and the pins plug right into a breadboard.
Update: This is pretty cool, he's pushing through some code examples of how to use the Parallax RFID module with the Arduino board, which apparently come from Making Things Talk (via amazon.com) by Tom Igoe.
Update: He's talking about a bunch of different sensors, including the pretty interesting volatile organic compounds sensor from FigaroSensor.com. Also interesting is force sensing resistors from Trossen Robotics.
Update: He's also talking about a Serial to Wi-Fi widget, with a simple telenet level interface, about US$90 from SemiConductorsStore.com.
Update: There is also a GSM module, with embedded Python, for US$150 from SparkFun.com, and a GPS module for US$70 from Parallax.com.
Update: Apparently Brad was sitting somewhere in the back.


Brian Jepson talking about hacking the real world
He's talking about the Make Controller Kit and Arduino boards, and despite being from Make: he's focusing on the Arduino boards because it's "super open". The main difference is that the Arduino doesn't have an operating system, unlike the Make: board, and it's "...a lot like the old days".
Update: He's talking about the different types of 'serial', and just mentioned the MAX232 chip which does conversion between RS-232 and TTL serial.
Update: He's talking about the Parallax RFID module which is a great module, cheap, and the pins plug right into a breadboard.
Update: This is pretty cool, he's pushing through some code examples of how to use the Parallax RFID module with the Arduino board, which apparently come from Making Things Talk (via amazon.com) by Tom Igoe.
Update: He's talking about a bunch of different sensors, including the pretty interesting volatile organic compounds sensor from FigaroSensor.com. Also interesting is force sensing resistors from Trossen Robotics.
Update: He's also talking about a Serial to Wi-Fi widget, with a simple telenet level interface, about US$90 from SemiConductorsStore.com.
Update: There is also a GSM module, with embedded Python, for US$150 from SparkFun.com, and a GPS module for US$70 from Parallax.com.
Update: Apparently Brad was sitting somewhere in the back.
OSCON: Friday Morning Keynote
The Friday morning keynote kicked off with Philip Rosedale the CEO of Linden Lab, who is here to convince us to go to work on their newly open sourced second life client. He's doing a demo of the new first look viewer with the inbuilt voice client, and oddly he's doing a slide presentation inside Second Life, which is displayed on the projector instead of "real" powerpoint. Which is a bit bizarre...



Philip is arguing that Second Life has to, like the Internet become profoundly open. They're going to open source their server software and allow people to run and host their own server, and they've already open sourced their client.
Update: Philip is talking about the Second Life in a web browser client that turned up on the Teen Grid a few weeks ago...
Update: Next up is Jimmy Wales one of the founders of Wikipedia, who is talking about his new project Wikia. Which, cutting through the hyperbole, looks like a site where you can set up and host your own wiki. He's talking about trying to open source search, and Wikia Search, which he's referring to as the LAMP stack for search. Which is fine as far as it goes, but who's going to pay for the hardware? I think Tim O'Reilly even talked about this earlier in the week, even if you had Google's software, you couldn't rebuild Google's service because you don't have their hardware or their back end distributed database.
One of the thing about modern cryptography is that nobody actually breaks codes anymore, they just prove that in theory it's vulnerable to certain attacks. As far as I can see Jimmy is basically pushing the same sort of agenda here, theoretical search. If we have a billion dollar data centre, we could build a search service?
Update: Interesting, they've just acquired Grub, a distributed crawling service. Oh, that's not useful, the Grub client is Windows only...
Update: The next speaker is Simon Wardley from Fotango, who spent some time apologising for his Britishness, before kicking off and talking about the commoditisation of software.
Update: You have to give the man credit for mentioning Yak shaving. He's talking about open source standards and providing competitive utility market at all levels of the stack,
Update: Next up is our very own Nat Torkington giving the open source movement some therapy, and gaving a talk that was just too funny to blog properly...
Don't think of open source as projects, think of them as people...
Update: It's all about people,
Nat's saying that it's easy to be nasty, and the corollary is that it's hard to be nice. This was a great talk for Nat to close out his last OSCON on...
Update: Our final keynote speaker is James Larsson, who according to Nat embodies the hacker spirit, who is going to Pimp My Garbage...


...who it turns out is obviously clinically insane, but in a great way.
Update: ...and got the best reception of the conference. My guess is that a lot of this was for talking about his project which was intended to be,
I guess you had to be there...
Update: ...and we're done!



Philip is arguing that Second Life has to, like the Internet become profoundly open. They're going to open source their server software and allow people to run and host their own server, and they've already open sourced their client.
Update: Philip is talking about the Second Life in a web browser client that turned up on the Teen Grid a few weeks ago...
Update: Next up is Jimmy Wales one of the founders of Wikipedia, who is talking about his new project Wikia. Which, cutting through the hyperbole, looks like a site where you can set up and host your own wiki. He's talking about trying to open source search, and Wikia Search, which he's referring to as the LAMP stack for search. Which is fine as far as it goes, but who's going to pay for the hardware? I think Tim O'Reilly even talked about this earlier in the week, even if you had Google's software, you couldn't rebuild Google's service because you don't have their hardware or their back end distributed database.
One of the thing about modern cryptography is that nobody actually breaks codes anymore, they just prove that in theory it's vulnerable to certain attacks. As far as I can see Jimmy is basically pushing the same sort of agenda here, theoretical search. If we have a billion dollar data centre, we could build a search service?
Update: Interesting, they've just acquired Grub, a distributed crawling service. Oh, that's not useful, the Grub client is Windows only...
Update: The next speaker is Simon Wardley from Fotango, who spent some time apologising for his Britishness, before kicking off and talking about the commoditisation of software.
In the 1800's... electricity engineers were the Spice Girls of their time
Update: You have to give the man credit for mentioning Yak shaving. He's talking about open source standards and providing competitive utility market at all levels of the stack,
...it's not good for the planet, and that annoys me because it's not good for Ducks
Update: Next up is our very own Nat Torkington giving the open source movement some therapy, and gaving a talk that was just too funny to blog properly...
Perl is the middle child that isn't getting any attention any more. "Why don't you love me any more?" says Perl? "Look, I've rewired the car..."
Python should get drunk, get laid, and shut up...
Don't think of open source as projects, think of them as people...
Update: It's all about people,
Most people are morons..
Nat's saying that it's easy to be nasty, and the corollary is that it's hard to be nice. This was a great talk for Nat to close out his last OSCON on...
Update: Our final keynote speaker is James Larsson, who according to Nat embodies the hacker spirit, who is going to Pimp My Garbage...


...who it turns out is obviously clinically insane, but in a great way.
Update: ...and got the best reception of the conference. My guess is that a lot of this was for talking about his project which was intended to be,
A computer vision system that takes the drudgery out of boot fetishism
I guess you had to be there...
Update: ...and we're done!
Labels:
Linden Lab,
OSCON,
OSCON07,
OSCON2007,
Philip Rosedale,
Portland,
Second Life
OSCON: State of the Onion
So slipping into the back of the room at the tail end of the Perl Lightning Talks, and caught Pudge performing Perl In a Nutshell.
I'm now sitting in the Perl Foundation Auction. Its got to be one of the few auctions you'll ever attend where the auctioneer heckles the goods he's trying to palm off on the unsuspecting public, and boy do they have a lot of books and t-shirts to auction off this year...
Update: ...and we're done with the auction. Now it's time for this year's State of the Onion given as ever, by Larry Wall, and this year entitled "Programming is hard, let's go scripting!"
...and we're done. Larry's talk was, as always, really funny and entertaining, but totally un-blog'able. Maybe Chris did a better job?
I'm now sitting in the Perl Foundation Auction. Its got to be one of the few auctions you'll ever attend where the auctioneer heckles the goods he's trying to palm off on the unsuspecting public, and boy do they have a lot of books and t-shirts to auction off this year...
...anyway, we have a book on it, who want's it?
...hardbacks! You can hit people with these!
Update: ...and we're done with the auction. Now it's time for this year's State of the Onion given as ever, by Larry Wall, and this year entitled "Programming is hard, let's go scripting!"
All language designers have the idiosynchrosies, I'm just better at it than most... - Larry Wall
...and we're done. Larry's talk was, as always, really funny and entertaining, but totally un-blog'able. Maybe Chris did a better job?
Labels:
Auction,
Larry Wall,
Onion,
OSCON,
OSCON07,
OSCON2007,
Perl,
Perl Foundation,
Portland
OSCON: Prototype and Object.prototype
After the afternoon break, and we're back with Prototype and Object.prototype: JavaScript Power Tools given by Amy Hoy. As Mark mentioned earlier in the day, there a bunch of different AJAX toolkits, and Prototype is one of the bigger players.

Amy Hoy talking about prototype
Javascript is a real language, and everything is an object, really, everything. Even strings are objects,
It relies very heavily on functions, while it does have objects, it doesn't have classes. It's a prototype based language...
Update: It's interesting sitting in Javascript talks, the people giving them sound the same way people did giving Perl talks five years ago. They start off justifying their language of choice, reassuring you it's a real language and explain why it can do cool stuff. Thinking about it, there are a bunch of ex-Perl hackers working on AJAX related stuff as well. Interesting, don't you think? These people are definitely drinking the Kool-Aid.

Amy Hoy talking about prototype
Javascript is a real language, and everything is an object, really, everything. Even strings are objects,
var string = "This is a string"
string.length;It relies very heavily on functions, while it does have objects, it doesn't have classes. It's a prototype based language...
Update: It's interesting sitting in Javascript talks, the people giving them sound the same way people did giving Perl talks five years ago. They start off justifying their language of choice, reassuring you it's a real language and explain why it can do cool stuff. Thinking about it, there are a bunch of ex-Perl hackers working on AJAX related stuff as well. Interesting, don't you think? These people are definitely drinking the Kool-Aid.
Thursday, July 26, 2007
OSCON: Body Hacking
I'm in Quinn Norton's talk on body hacking and functional body modification. It looks like O'Reilly have toally underestimated how popular this was going to be, it's packed, forget standing room there isn't breathing room.

Quinn Norton talking about body hacking
This isn't going to be your average OSCON talk, there will be warnings on the slide before if there is going to be blood on the next slide. I've been trying to keep this blog safe for work, so we're going to have to see how much of this I can actually blog.
So what is body hacking? It's "...acting on yourself, with or without assistance, to enhance the function of your body or your perceptions". Stealing Make:'s motto,
Update: She's talking about getting getting a rare earth magnet embedded inside one of her fingers, near a nerve bundle, to allow her to actually sense magnetic fields. The key factor here is neuroplasticity, allowing parts of your brain to repurpose itself. As time went on she could could sense live wires, spinning hard drives and phone chords.
But then, "..who has actually done that?".
Update: Now she's showing us why you don't want to do this, shortly after she had it implanted the sheathing around the magnet breached and bad things happened.
Update: She's talking about Amal Graafstra who had an RFID chip implanted in his arm, and about how there is a theme of control.
Update: Moving on Quinn is talking about CT scans and using the the available open source software to take control, and about the UK expert patient programme, which I hadn't heard of before. She's arguing that there is a fine line between expert patients and body hackers. For instance; glucometers, blood surveillance, brain monitoring and reading all of this live to the internet.
Update: Apparently there are now consumer EEGs coming onto the market, and these are at the point where you can actually figure out facial expressions and emotional responses. This is pretty amazing stuff.
Update: Interesting, she's talking about experiments with a directional sense, integrating a GPS and a buzzer allowing you to always know where north is, comments from the audience indicate that the US airforce have been doing this in their flight jackets since the sixties.
Update: Interesting stuff here Provigil is a stimulant that lets you not sleep. But there is no downside as the side effect profile is minimal. You still want to sleep, and you still feel like you want to, but unlike normal you can actually still function while in sleep deprivation. Then there is CUV1647, which gives a tan, makes you loose weight and increases your sex drive. The company that's made it is desperately looking for a disease, because you can't get a drug approved just because it's good for you.
Update: So whether we call it enhancement or treatment matters for social acceptable, but doesn't actually reflect on the procedure itself. The problem with this is time scale, we used to have generations to adjust, now we have decades at best.
Update: Best quote of the day perhaps?
Update: She's closing out with "the next open vs propriety debate". Apparently there is a gene which can be used to test for breast cancer, but the gene is patented, so there is only one company in the world that can do the test and they charge US$1,200 and the test has to get mailed to Utah to get processed because that's where the only lab that has a license is located.
Update: The question she's asking is "How far is too far?" and "What counts as Human?".

Quinn Norton talking about body hacking
You are the platform...
This isn't going to be your average OSCON talk, there will be warnings on the slide before if there is going to be blood on the next slide. I've been trying to keep this blog safe for work, so we're going to have to see how much of this I can actually blog.
So what is body hacking? It's "...acting on yourself, with or without assistance, to enhance the function of your body or your perceptions". Stealing Make:'s motto,
If you can't open it, you don't own it
Update: She's talking about getting getting a rare earth magnet embedded inside one of her fingers, near a nerve bundle, to allow her to actually sense magnetic fields. The key factor here is neuroplasticity, allowing parts of your brain to repurpose itself. As time went on she could could sense live wires, spinning hard drives and phone chords.
It's like sticking your hand inside an ultrasonic cleaner
But then, "..who has actually done that?".
Update: Now she's showing us why you don't want to do this, shortly after she had it implanted the sheathing around the magnet breached and bad things happened.
Update: She's talking about Amal Graafstra who had an RFID chip implanted in his arm, and about how there is a theme of control.
Update: Moving on Quinn is talking about CT scans and using the the available open source software to take control, and about the UK expert patient programme, which I hadn't heard of before. She's arguing that there is a fine line between expert patients and body hackers. For instance; glucometers, blood surveillance, brain monitoring and reading all of this live to the internet.
Update: Apparently there are now consumer EEGs coming onto the market, and these are at the point where you can actually figure out facial expressions and emotional responses. This is pretty amazing stuff.
Update: Interesting, she's talking about experiments with a directional sense, integrating a GPS and a buzzer allowing you to always know where north is, comments from the audience indicate that the US airforce have been doing this in their flight jackets since the sixties.
Update: Interesting stuff here Provigil is a stimulant that lets you not sleep. But there is no downside as the side effect profile is minimal. You still want to sleep, and you still feel like you want to, but unlike normal you can actually still function while in sleep deprivation. Then there is CUV1647, which gives a tan, makes you loose weight and increases your sex drive. The company that's made it is desperately looking for a disease, because you can't get a drug approved just because it's good for you.
Update: So whether we call it enhancement or treatment matters for social acceptable, but doesn't actually reflect on the procedure itself. The problem with this is time scale, we used to have generations to adjust, now we have decades at best.
Update: Best quote of the day perhaps?
Amateur brain surgery, sounds like a bad idea...
Update: She's closing out with "the next open vs propriety debate". Apparently there is a gene which can be used to test for breast cancer, but the gene is patented, so there is only one company in the world that can do the test and they charge US$1,200 and the test has to get mailed to Utah to get processed because that's where the only lab that has a license is located.
Update: The question she's asking is "How far is too far?" and "What counts as Human?".
Labels:
Body Hacking,
OSCON,
OSCON07,
OSCON2007,
Portland,
Quinn Norton
OSCON: Ajax and Web Services
I'm in Mark Pruett's talk on Ajax and Web Services. He's defining an Ajax application as a web service client that runs inside a web browser, and he's going to be talking about both REST and SOAP services.

Mark Pruett's talk on Ajax and Web Services
Mark argues that people go through an evolutionary path in the way they use Ajax, they start off sending back a chunk of HTML, they move on to sending back delimited text, then XML and finally some people move to JSON.
There a bunch of client side Ajax toolkits: prototype, Dojo, GWT (Google), Atlas (Microsoft), Rico, Zimbra, DWR. Some of these, like GWT and DWR are tightly coupled with the server side language. You probably want to pick a toolkit that doesn't do that...
Update: He's talking about the whole SOAP vs REST debate, and arguing that externally you should expose your services via REST, but internally SOAP might be more appropriate, or at least more frequently used. Which isn't necessarily the same thing.
Update: REST uses GET, PUT, POST and DELETE. Where GET will get data, a PUT will create a new resource, POST will update an existing resource and DELETE will delete an existing service. Although of course there are certain limitations to GET which means that you sometimes have to use POST anyway.
Update: He's just totally dismissed synchronous REST requests, arguing that you should always use asynchronous requests. Which seems like a lot of overhead for simpler services. Although he's also arguing that you shouldn't bother with XML, but you should be using JSON instead, which means you can do this,
which I think is probably officially evil.
Update: He's moving on to talk about the cross-domain problems. This is something we've all run into before, because of course you can only do Ajax calls to the server that delivered the original page. One way around this, which actually hadn't occurred to me before, is to use Apache ProxyPass rules and redirect calls to other servers transparently to your client side Javascript.

Mark Pruett's talk on Ajax and Web Services
Mark argues that people go through an evolutionary path in the way they use Ajax, they start off sending back a chunk of HTML, they move on to sending back delimited text, then XML and finally some people move to JSON.
There a bunch of client side Ajax toolkits: prototype, Dojo, GWT (Google), Atlas (Microsoft), Rico, Zimbra, DWR. Some of these, like GWT and DWR are tightly coupled with the server side language. You probably want to pick a toolkit that doesn't do that...
Update: He's talking about the whole SOAP vs REST debate, and arguing that externally you should expose your services via REST, but internally SOAP might be more appropriate, or at least more frequently used. Which isn't necessarily the same thing.
Update: REST uses GET, PUT, POST and DELETE. Where GET will get data, a PUT will create a new resource, POST will update an existing resource and DELETE will delete an existing service. Although of course there are certain limitations to GET which means that you sometimes have to use POST anyway.
Update: He's just totally dismissed synchronous REST requests, arguing that you should always use asynchronous requests. Which seems like a lot of overhead for simpler services. Although he's also arguing that you shouldn't bother with XML, but you should be using JSON instead, which means you can do this,
var my_json;
my_json = eval ("(" + http_request.respinseText + ")");which I think is probably officially evil.
Update: He's moving on to talk about the cross-domain problems. This is something we've all run into before, because of course you can only do Ajax calls to the server that delivered the original page. One way around this, which actually hadn't occurred to me before, is to use Apache ProxyPass rules and redirect calls to other servers transparently to your client side Javascript.
Labels:
AJAX,
Mark Pruett,
OSCON,
OSCON07,
OSCON2007,
Portland,
Web Services
OSCON: Error Handling in Ajax
Next up, I'm in the Error Handling in Ajax session given by Anthony Holdener, who seems to be running late.
Update: Except that I'm now not. Nat just walked in and said that the speaker had mailed them months ago to say that he wasn't going to make it and the session was cancelled, except that nobody had actually got around to cancelling it. He didn't look that happy...
Update: Except that I'm now not. Nat just walked in and said that the speaker had mailed them months ago to say that he wasn't going to make it and the session was cancelled, except that nobody had actually got around to cancelling it. He didn't look that happy...
Labels:
AJAX,
Anthony Holdener,
Cancelled,
Error Handling,
Exception Handling,
OSCON,
OSCON07,
OSCON2007,
Portland
OSCON: wxPerl: cross-platform GUI design
I'm in wxPerl talk with Eric Wilhelm from Scratch Computing. wxPerl is the binding for the wxWidgets library, and unlike Perl/Tk the standard dialogs and other shiny stuff all look like should do on the platform you're running the application on...
Update: He's talking about how to get wxPerl to play the Perl game, and his wxPerl code for his application dotReader, to actually look like Perl rather than wrapped C++. Since I actually want to listen to this, why don't you go off and read Chris and Brad's coverage, they look like they're typing faster than I am anyway...
Update Eric is pointing us at wxPerl::Constructors and wxPerl::Styles both of which should add a decent Perl-like convenience layer on top of the
Update: He's now pointing us at wxPerl::MenuMaker for a decent menu introspection convenience layer.
Update: Other useful modules are in the Wx::Perl and Wx:: namespace rather than than the wxPerl:: namespace, don't you love CPAN? Wx::Mozilla plugs a Mozilla canvas inside your Perl application, but WebCore and Wx::WebCore is the way of the future.
Update: He's using PAR for distribution on Windows and Linux, although this has some problems. But on a Mac a graphical application has to live inside a .app bundle, so you need to look at PerlWrapper and his own ExtUtils::MacMaker, which he hasn't released to CPAN yet, if you want to release in a sticky lump rather than a scatter of Perl files.
Update: He's talking about how to get wxPerl to play the Perl game, and his wxPerl code for his application dotReader, to actually look like Perl rather than wrapped C++. Since I actually want to listen to this, why don't you go off and read Chris and Brad's coverage, they look like they're typing faster than I am anyway...
Update Eric is pointing us at wxPerl::Constructors and wxPerl::Styles both of which should add a decent Perl-like convenience layer on top of the
Update: He's now pointing us at wxPerl::MenuMaker for a decent menu introspection convenience layer.
Update: Other useful modules are in the Wx::Perl and Wx:: namespace rather than than the wxPerl:: namespace, don't you love CPAN? Wx::Mozilla plugs a Mozilla canvas inside your Perl application, but WebCore and Wx::WebCore is the way of the future.
Update: He's using PAR for distribution on Windows and Linux, although this has some problems. But on a Mac a graphical application has to live inside a .app bundle, so you need to look at PerlWrapper and his own ExtUtils::MacMaker, which he hasn't released to CPAN yet, if you want to release in a sticky lump rather than a scatter of Perl files.
OSCON: Thursday morning keynote
So I seem to have rolled into the keynote late, which is pretty odd since I arrived at half past eight, and the programme says the keynote doesn't kick off until quarter to nine today. Ben Fry is currently up front he talking about the Processing Development Environment. This looks like a pretty interesting, and is apparrently the library underlying those cool air traffic visualisation I talked about back in March.


Update: Next up is Robin Hanson talking about Overcoming Bias who kicked off by saying,
and did indeed proceed to do so at length, without the aid of power point. This could have been a really interesting talk with the right speaker, Paul Graham perhaps? As it stood, he didn't really set the audience on fire, and that was disappointing, because with this audience and this talk, he really could have...
Update: Next up is Bill Hilf talking about open source at Microsoft, who said the expected things and made the expected justifications, although admittedly in interesting ways.
Update: Now we have Rick Falkvinge, the founder of the Pirate Party in Sweden, talking about Copyright Regime vs. Civil Liberties. Funnily enough, he got a lot bigger round of applause and a big "Arrrr!" from the audience.
Why does the Pirate Party exist? The file sharing debate tends to focus on economic principles. But copyright is a commercial monopoly, and means something very different today than it did when it was introduced. Copyright is commercial, but touches everywhere, and people are now being monitored for violations it's become a civil liberties issue,
If you're being monitored, in comes self censorship. If you don't have the right to private communications when you're in private you loose your identity. The copyright problem isn't about money, it's about viral civil liberties.
The solution is to bypass the politicians and go directly to the voters. It's very obvious sitting here in the back that Rick's arguments have a lot more support in this audience than Bill's, and you have to take that seriously because most of the people in this audience make their living of intellectual property. Think about it, if the content creators don't favour copyright and patents any more, why should anyone else?
Update: The final keynote of the day is How to Ignore Marketing and Become Irrelevant in Two Easy Steps by Steve Yegge from Google,
He's talking about branding, and the fact that obviously you want people to use your software. He's kicked off with the whole New Coke and Coke Classic marketing disaster. They introduced it because the blind taste tests told them people liked New Coke a lot better, but that flipped around as soon as they saw the label.
He's giving a great talk here, especially since he's facing the ultimate presenter's nightmare as his powerpoint isn't displaying on any of the half dozen screens scattered around the hall. Looks like the technical crew has given up trying to get it to work as well, which is a shame, if he's this good just free wheeling then he probably would have been great with added powerpoint.
Now that's interesting, if your service is awful today, and perfect tomorrow, then apparently studies show that it takes an entire generation to change the perception of your brand.
Update: Both Brad and Chris were covering the keynotes.


Update: Next up is Robin Hanson talking about Overcoming Bias who kicked off by saying,
I'm going to tell you things that you already know...
and did indeed proceed to do so at length, without the aid of power point. This could have been a really interesting talk with the right speaker, Paul Graham perhaps? As it stood, he didn't really set the audience on fire, and that was disappointing, because with this audience and this talk, he really could have...
Update: Next up is Bill Hilf talking about open source at Microsoft, who said the expected things and made the expected justifications, although admittedly in interesting ways.
Update: Now we have Rick Falkvinge, the founder of the Pirate Party in Sweden, talking about Copyright Regime vs. Civil Liberties. Funnily enough, he got a lot bigger round of applause and a big "Arrrr!" from the audience.
Why does the Pirate Party exist? The file sharing debate tends to focus on economic principles. But copyright is a commercial monopoly, and means something very different today than it did when it was introduced. Copyright is commercial, but touches everywhere, and people are now being monitored for violations it's become a civil liberties issue,
...so society must choose, privacy or copyright
If you're being monitored, in comes self censorship. If you don't have the right to private communications when you're in private you loose your identity. The copyright problem isn't about money, it's about viral civil liberties.
Politicians don't understand this...
The solution is to bypass the politicians and go directly to the voters. It's very obvious sitting here in the back that Rick's arguments have a lot more support in this audience than Bill's, and you have to take that seriously because most of the people in this audience make their living of intellectual property. Think about it, if the content creators don't favour copyright and patents any more, why should anyone else?
Update: The final keynote of the day is How to Ignore Marketing and Become Irrelevant in Two Easy Steps by Steve Yegge from Google,
Google will probably fire me for this talk...
He's talking about branding, and the fact that obviously you want people to use your software. He's kicked off with the whole New Coke and Coke Classic marketing disaster. They introduced it because the blind taste tests told them people liked New Coke a lot better, but that flipped around as soon as they saw the label.
...it was like introducing a new God.
He's giving a great talk here, especially since he's facing the ultimate presenter's nightmare as his powerpoint isn't displaying on any of the half dozen screens scattered around the hall. Looks like the technical crew has given up trying to get it to work as well, which is a shame, if he's this good just free wheeling then he probably would have been great with added powerpoint.
Now that's interesting, if your service is awful today, and perfect tomorrow, then apparently studies show that it takes an entire generation to change the perception of your brand.
Update: Both Brad and Chris were covering the keynotes.
Subscribe to:
Posts (Atom)

