Archive for July, 2008

OSCON 2008 keynotes - Thursday morning

Thursday, July 24th, 2008

Peter H. Salus discusses the history of Linux for the tenth anniversary of OSCON from the first transistor and it’s anniversary to today. He mentions UNIX, he mentions GNU, he mentions Linus …. whats missing ? the conquering forces rewrite history to favour themselves.

Fair play.

David Recordon of Six Apart beats the drum about open specs especially simple open specs in order to create the open web. I feel he is reiterating the obvious, but I have to accept that these utopian ideals may not be obvious to others. The web will be available everywhere, free wifi will be available everywhere. He also mentions that XMPP is becoming more relevant for the web, instead of people pulling content, and polling sites, sites can now tell you ( hey, who remembers when http push worked ? )

This is slightly contrary to what Brad said yesterday

Also, “web” doesn’t mean http, it also means things like XMPP. Today it even means “phone”.

the web *largely* means http, as it’s core protocol, XMPP does not change that, it can mean more than just http ( and BTW, XMPP can work over http, which sort of explains why I may be disagreeing with Brad a bit ) and the phone is just another platform, another device, y’know you can get the web on linux now ;O)

Danese Cooper of the Open Source Initiative and Intel Corporation talks about Why Whinging Doesn’t Work, which is sort of interesting, it’s largely about women in computing but certain aspects can be applied to open source in general. If someone can get a transcript of this talk I highly recommend it, certainly the best keynote so far, and a nice break from the open source circle jerk. I agree with her that the holy wars in computing need to come to an end, but unfortunatly I don’t think I will get through today without rolling my eyes when someone makes outlandish claims about some tech or other. I might not even finish this blog post before then.

Bonus item - Helsinki Complaints Choir !!!

http://www.youtube.com/watch?v=ATXV3DzKv68

fork() && exec(): Spawning the Next Generation of Hackers by Nathan Torkington of He Hononga Software in New Zealand. So far he is talking about teaching kids basic computing schools, *BUT* he sees programming as a basic life skill like reading or writing, and I highly agree *BUT* unlike someone like myself who was driven to hack to make the fucking thing work, and my peers who took up hacking later in life because their computers probably worked when they were young, kids want instant gratification and so logo is teh sux0r, robots sux0r, then he found Scratch, which had the flow of programming without the actual programming, instant gratification, and they can have fun. He then moved onto Processing with his son, ( there was a good quip about not wanting to explain subclassing interfaces to a child, ) an example of pair programming, something I never had :O( if I had a therapist I’d be telling them about this. Kids have a short attention span, about two minutes. Boys want to make games, girls are more ambitious and focussed … that sounds familiar. So he wants geeks to volunteer in schools … unless you are a pervert, he appreciates we might be. He’s actually a really good speaker.

Those of you in Hawai’i, this might be a good time to remind you of one of my previous posts.

And we’re spent.

Groovy Vs. JRuby - Fight !

Wednesday, July 23rd, 2008

Rod Cope talks about Groovy vs. JRuby. Personally I don’t see why anyone would need to choose, it looks very much to me, as someone who has not used either to do anything significant, that you can mix and match, though not in the same block of code.

I have notes, that will hopefully get typed up, like my ADASS ones from last year ;O) but the quick version is, JRuby is slightly more mature, especially with it’s autoboxing. Groovy is more Java-ish than JRuby, this should seem obvious when thinking of their heritage. Unusually JRuby seems to have a more involved form of static importing than Java, at least it seems unusual, but again it’s a heritage thing. JRuby, or maybe I should say Ruby has operator overloading, though the JRuby implementation still has a little way to go. Groovy is currently faster than JRuby, by about 3* but the gap is closing, however Groovy is Java-centric where as JRuby is Ruby-centric and so has further to go.

OpenJDK

Wednesday, July 23rd, 2008

Dalibor Topic was giving a talk on the current-state-of-play of OpenJDK that I largely missed as I wasn’t keeping track of time, so as I cannot find anything in the current session I really want, or should be have, to see, I’m having bit of a chat with him and stealing^H^H^H^H^H^H^H^Hcopying his slides, once he can connect to the Sun network. Not sure wht the problem is as I have no problem with connecting to the OSCON network from here.

Anyway OpenJDK is a GPL’d version of Java 6, but a separate codebase from mainline which is SCSL licensed. It is missing certain proprietary parts which are currently being replaced with open source parts in various projects such as IcedTea, SoyLatte and Diablo. VisualVM is one of those tools that has come out of opening up Java that looks like developers will really benefit from.

UPDATE : Landon Fuller mentions on his blog that Sun have approved merging of the BSD patchset into OpenJDK and that Dalibor Topic has proposed project sponsorship for the BSD port project.

OSCON 2008 wednesday morning keynotes

Wednesday, July 23rd, 2008

To paraphrase .. .

Blah blah blah perl blah blah blah paul vixie blah linux blah linux blah blah at that meeting we agreed to call it open source blah blah blah blah blah cult blah eric s raymond blah blah and at that meeting we voted to call it open source blah blah ghandi blah open free blah blah circle jerk of blah blah sponsored by microsoft blah blah and stallman said blah blah web two point oh ? blah blah blah web web blah blah



UPDATE : Brad took actual notes if you *really* want to know what was said.

.. and now for something completely different

Tuesday, July 22nd, 2008

While waiting for my room to be ready the other day I spotted an unusual article about a vegan body builder, so I thought I might share it in case anyone was interested as it is rather unusual.

http://www.veganbodybuilding.com/

http://www.veganbodybuilding.org/

And you wonder why Popeye eats spinach ?

Actors for Performance, Scalability, and Resilience

Tuesday, July 22nd, 2008

Steven Parkes is talking about the Actor pattern, the pattern is used extensively in Erlang, though it is never explicitly called that, it is the source of Erlang’s reputation for concurrency and stability. Steve implemented the actor pattern for Python and Ruby in a framework called Dramatis.

In essence, Actors are the antithesis of threads, and are adopted in situations where threading is considered difficult. There are pros and cons to there usage, for example, threads have higher performance, but actors are likely to scale better.

Parallel Tools Platform and Eclipse

Tuesday, July 22nd, 2008

Two IBM employees are going to talk about the Parallel Tools Platform and Eclipse.

From a quick glance at the handouts that means C++,OpenMP and OpenMPI.

The cool thing is that OpenMP was added to GCC around 4.2, it can be added to C, C++, and Fortran 95 projects and runs on many architectures, unlike TBB.

UPDATE : Out of interest, Eclipse was originally developed in Canada, IBM bought the company and open sourced it in 2001, though no one was that interested until they span it off.

UPDATE : PTP can only be used with Europa at the moment, not a big deal.

UPDATE : The parallel debugger looks kinda cool, the ability to debug multiple threads at the same time and treat them individually or as sets should be very useful.

UPDATE : I just noticed that MacOS X has support for Open MPI.

UPDATE : Unfortunatly it’s not that simple, for MacBook you want to do the following …

wget http://www.open-mpi.org/software/ompi/v1.2/downloads/openmpi-1.2.6.tar.bz2
tar xjvf openmpi-1.2.6.tar.bz2
cd openmpi-1.2.6
./configure –with-devel-headers –disable-pty-support
make
sudo make install
cd $ECLIPSE/eclipse/plugins
# install PTP for Eclipse
cd org.eclipse.ptp.macosx.x86_2.0.0.200806061515
PATH=/usr/local/bin:$PATH
sh BUILD
cd /usr/local/etc
vi openmpi-default-hostfile
# add as many “localhost” entries as you want mpi nodes

UPDATE : Some of the OpenMP static analysis tools seem really good, you can get it to show you where instructions *could* be executing in parallel and you can add #pragma statements for OpenMP and see the analysis change in real time.

UPDATE : There is a framework for creating workflows for performance testing which is XML based, so that you do not have to build plugins for each and every tool out there. Currently they are showing how valgrind can be dropped in next to vampirtrace. Theoretically you can drop your DTrace scripts here also.

UPDATE : They are talking about Photran which is the FORTRAN 77, 90 and 95 support in Eclipse. They are also talking about DARPA funding for newer versions of FORTRAN, which are due to be available soon.

Making things blink with an Aduino

Monday, July 21st, 2008

This guy and his mates are showing us how to make things blink with an Arduino.

The goal apparently is to make an etch-a-sketch with controllers on the Arduino, with the display running on our laptops using Processing.

So far they are telling all about all the things people are using Arduino for, so far they are all quite mad and fun, and slightly bizarre.

The Arduino seems to have all the sorts of things that are normally highly desirable and a pain in the arse to do yourself, so you can get on with soldering or connecting things and programming it up and not spending all your time trying to get your serial interface working.

UPDATE : It’s Alive, it blinks, not using the pins they expected, apparently there are some bad boards which are more or less functional.

UPDATE : It now blinks slower after uploading code. This is far more exciting than I think it should be, but fuck it, I’m happy.

UPDATE : Now with external bread board and a resistor.

UPDATE : Added a button, at first it did not work because I used the wrong resistor, then I had accidently pulled a wire loose, but now it works, I fiddled with the code a bit and it did what I expected, all good.

UPDATE : Just went for coffee and got chatting with some Railers who are in the Django tutorial, there a re a number of bits they like, such as having authentication and administration built in, but I think they still feel Rails is the better way of doing things, as in simpler, cleaner. They were all quite impressed with the sound of the blinky tutorial. Yup, it’s more fun alright.

UPDATE : Added a potentiometer, shifted the LED, and using pulse width modulation can brighten or dim the LED by turning the knob. Cool cool.

UPDATE : OK, we have added a second potentiometer, now we read back over the serial connection the values of each potentiometer and the button. :OD

UPDATE : Forgot to mention, apparently the Vim tutorial this morning was really good, and Vim is apparently the doggy’s whatsits. I always thought Vim was a cleaning product.

UPDATE : We shifted a wire to a different pin, opened up Processing and I should now have an etch-a-sketch, and it’s reading values, but not drawing. Hmmm …..

UPDATE : Ah ! the values for drawing are within a very small range around the middle. Cool, success !

Etch-a-sketch

Python in a (nut)shell

Monday, July 21st, 2008

A fellow by the name of Steve Holden is giving an introduction to Python. When I get a moment I’ll give you a rundown of my impressions about Python, which I’m starting to like, but you will have to wait.

BTW Steve is also from Yorkshire apparently, good stuff.

UPDATE : OK, so when I have met people who use Python I always ask them about it and the responses have always fallen into two categories :

  • blah blah blah C++ blah blah
  • what’s wrong with Python ?

Very unhelpful.

Anyway, Python seems like a nice language, it seems to have a lot of the things I like about Perl and does not have some of the things I don’t. I like the fact that complex numbers are built in types, I am slightly confused that you cannot perform square roots on them with the math module. Pattern matching / regular expressions are supported in the re module, but is similar to Java in that you compile the regex first rather than drop them straight in. Object orientation is cleaner than Perl but still does not feel very natural to the language. It doesn’t have a switch-case, but to be honest in such a high level language it’s slightly superfluous, in C there is a assembler analogue of switch-case that one could see as a design pattern when abstracting it out, it has been copied verbatim to C-like languages, admittedly though it is extra typing to write if elsif else etc. but I don’t think it matters too much. Steve claims that unlike Java there are no setters and getters, well I hate to break it to you but setters and getters are J2EE patterns that have made it into common parlance and not Java at all really, but I see the point and don’t really care, though apparently many coming from Java do. What else ? I like the Python command prompt err … thing, it made following along and trying things out easy, not that Ruby does not have it, or Java or Perl an analogue, but it was convenient. The white space indentation has it’s pros and cons, the argument that we all indent is moderately true, I don’t think it makes it easier to read after looking at examples of Python code on the web, and there is a danger with white space becoming corrupted along the line ( pun sort of intended, ) producing shitty errors. YMMV.

I will be looking into Python more in the near future, I have a lot more that I took away from it than I have mentioned here, and I do have a few gripes, but on the whole it seems worth further investigation. OK, I gotsta go back.

Counting down to OSCON

Wednesday, July 16th, 2008




http://lfx.amsterdamage.nl/web/imbsd.jpg

UPDATE :



Spanky says “Linus Torvalds called me a Masturbating Monkey”

Please yourself Linus.

UPDATE : OSCON veteran, Canspice is still getting the flashbacks, here are his survival tips.

UPDATE : Video of Clay Shirky on open source methodology, using a Japanese Shinto shrine as a metaphor, and discussing the attitude of AT&T towards Perl Vs. C++.

I have to say that Clay was right in his assertion that Perl was the better choice for building websites at the time compared with C++, there is also a lot to be said for community support, he then goes on to make a statement about the position of AT&T today that I don’t think is fair at all, but I think it is because he does not appreciate AT&Ts goals, forces and constraints are very different.

I have said for a while now that Perl is not a programming language, its a community, and I think that is very true, I am hoping that Perl 6 will provide a formal specification opens Perl up and does away with this dependance, in the same way that I hope one day it will not matter to anyone what operating system any computer is running.

Still if Clay is right about communities, the Amiga may still return to have it’s day.

UPDATE : Another OSCON veteran, Al, is en route from Blighty and has made it past the border guards unscathed.