Search Results: "will"

6 January 2008

David Nusinow: First In A Totally Disconnected Series of Posts

I want to echo what Brice has said so well already. X is full of interesting problems and important things to work on. When you consider the free software that's out there, very little of it comes close to the importance of X in your day to day life. When we've done our job well, you don't even think about it because it just works, but when X fails it's like a minor catastrophe. Working on the kernel is largely considered to be something glorious and grand, but people tend to ignore X even though it plays very much in the same domain as the kernel. So working on X you not only get to play with interesting problems that are similar to the ones that the kernel folks get to play with, but you also get to work on software that's critically important and makes a significant difference in people's day to day lives.

Furthermore, X.org is a great organization to work in. The number of core contributers is very few (maybe 20 all told) so everyone knows who everyone else is and people are willing to help others out by answering questions about how things work. Reflecting this, the XSF has turned in to a fantastic team over the past few years, and it's one I couldn't be prouder to be a part of. Julien and Brice are doing insanely fantastic work, and we're constantly pushing to do a better job at just about everything, from collaborating with Ubuntu to using the best cutting edge tools out there for our work.

Despite all this though, as Brice said, we're overwhelmed by everything. We're still carrying hundreds of bugs in the Debian BTS alone, most of which we'll never have a chance to look at again. As mentioned elsewhere on planet upstream is totally swamped as well. There's just too many critical projects that need doing (new drivers, fixed drivers, adding capabilities to the server, and that's ignoring day to day needs like documentation and patch review) and too few people to do them effectively. We have a wonderful set of things to do and a great group of people to mentor motivated people to do them, and yet we're still lacking contributers to this critically important set of software.

So as Brice said, if you want to get involved in something that's essentially important to Linux and Free Software, if you want to get involved in something with great problems and really fantastic opportunities to make a difference, you can't do much better than getting involved in X. Brice's method of getting involved in processing bug reports is a perfect way to start. Another is to write much needed documentation. Another is to simply help the XSF maintain some small piece of the Xorg stack, be it a driver for some hardware that you own (the XSF only really runs two or three video drivers collectively so we badly need driver maintainers), or just start poking at something you're curious but mystified about like how mesa or the X server work. There's no magic to any of it, and while it can get complicated I promise that you will become a better coder or maintainer by working on something as challenging as X. You don't have to understand it all from the start, just picking a small thing to work on will be greatly appreciated. So drop us a note on the debian-x list or drop in to #debian-x on oftc and we'll help you get going.

Christian Perrier: Number of bugs reported in Debian per year

This week-end, among other things, I played a little to get the number of bugs reported overs years in the Debian BTS. Here are the results:
2007: 53337
2006: 59665
2005: 57436
2004: 62327
2003: 50836
2002: 47618
2001: 46289
2000: 27181
1999: 22448
1998: 15002
1997:  9987
1996:  4205
1995: 2158
First bug for each year:
2008: 458489 Petter Reinholdtsen -> sysqrd Closed (in unstable)
2007: 405152 Martin-Eric Racine -> myspell-lv Closed
2006: 345487 Erich Schubert -> lintian Opened
2005: 288051 Nick Sillik -> gstreamer-misc Closed
2004: 225724 Peter van Rossum -> mldonkey-server Closed
2003: 174888 Chris Garguzi -> hotkeys Closed
2002: 127270 root@ttimo.net ->libapache-mod-auth-pam Closed
2001: 80981  William Steve Applegate -> php4 Closed
2000: 53800  Hamish Moffatt -> sattrack Closed
1999: 31352  Richard Stallman -> dselect Opened LOOK THIS ONE
1998: 16350  Joey Hess -> xbase-clients Closed
1997:  6363  Andreas Jellinghaus -> mgetty-fax Closed
1996:  2158  Ian Jackson -> ncurses3.0 Closed
1995:   563  Ian Jackson -> tar Closed
A few interesting things there: Anyone feeling like doing the same for Launchpad? And, for those who wonder, I of course did all this by hand. No fancy automated script, just my hands and some (little) hammering of the BTS.

Wouter Verhelst: Broken C code: followup

I received a number of comments on my previous blog post, with people stating that my example code wasn't right, either. For reference, here's my code snippet again:
#include <stdio.h>
void* f();
int main()  
	long* a;
	a=(long*)f();
	printf("%Ld\n", *a);
	return 0;
 
void* f()  
	static long a=84;
	printf("%Ld\n", a);
	return &a;
 
First, let me make one thing perfectly clear: the "a" variable is not on the stack. It is a locally-scoped variable, but it is also declared as static, meaning that it's valid for the entire run of the process; if it were on the stack, then this variable would vanish when the function would end. Yes, it's wrong to return a pointer to a variable on the stack, since there's no guarantee that the stack value will still be valid; but I'm not doing that. Alternative implementations could've used a global variable, or could've malloc()'ed a pointer; but the compiled assembly code for my C code will only differ from a version with a global variable in the used label for the variable's location, and in the lack of an extra function call from a version that uses malloc(). Second, no, using A0 as a return value for pointers is not a bug in the compiler, and has not been since 1990, when this interesting book entitled "System V ABI Motorola 68000 Processor Family Supplement" was written. Allow me to quote a snippet from page 3-14 of that book:
%a0Pointer return values appear in %a0. When calling a function that returns a structure or union, the caller allocates space for the return value and sets %a0 to its address. A function that returns a structure or union value places the same address in %a0 before it returns.
To this day, ELF-conforming implementations do it this way. Really. Go look it up, if you wish; the ISBN is 0-13-877663-6.

Russell Coker: Some LCA Melbourne Advice

At the end of the month we are having linux.conf.au (one of the best Linux conferences in the world) in Melbourne. Here is some quick advice for people who are attending: If you have not yet booked a hotel then www.wotif.com is a good option to try, it’s a hotel booking web site that is aimed at last-minute bookings and offers significant discounts over the list price. A quick search on WotIf reveals that there are currently 5 hotels that are available for $140 per night or less for the time period of LCA. The rate listed is an approximation as the hotel may offer several rates for different types of rooms (it’s usually one of the cheapest options available from the hotel). I believe that some hotels don’t offer their rooms on WotIf until close to the day in question, so some more rooms may become available between now and the start of the conference. However the Australian Open [1] Tennis tournament ends on the 27th of January, if you plan to attend the LCA mini-confs then you will want to arrive on the 27th, so booking a hotel for that night at the last minute would be a risky strategy. If you want to stay somewhere that is comfortable but not overly expensive then you might want to read my post about hotel apartments [2]. My post about public transport in Melbourne [3] has some information that can save you some money. One possibility to consider is that if you use 10 * 2 hour tickets and don’t completely use them up then you could sell them to locals. I would be happy to buy some partially used tickets for the full value of the unused part on the last day of the conference to save people wasting the unused value. Note that my documents blog contains posts that will be updated whenever I have more information and the time to write it down (this blog is generally write-once). I will be updating the post about public transport significantly in future.

5 January 2008

Jeff Bailey: Disabled gnu.org email address

My next step in reducing the spam traffic in my life is removing my @gnu.org email address. This is one that has been good for me for 13 years but has largely been useful only as a spam trap. In fairness to the FSF, their spam filters have gotten really quite good in the last 5 years or so, but there's zero signal on that account so I may as well squish it.

I've set my alias in /com/mailer/aliases to :fail: with a 551, but the multi-level relay on monty-python seem to not respect that. I've filed a ticket, so that anyone trying that will get a proper message to say where to follow-on to.

The efforts seems to be making a difference. At the beginning of December, I had just over 11 thousand messages in my last-30-days spam folder. Right now it's 8925.

4 January 2008

Russell Coker: Linux in Singapore

Are there any active LUGs in Singapore? A friend in Singapore is about to set up his laptop to dual-boot and would like the possibility of getting some direct help if it ends up not booting Windows… I looked at the Linux.org page listing LUGs in Singapore [1]. There are two entries, one has a site that has not been updated for over a year, the other has no mention of meetings. Is visiting a nearby country the best option for someone in Singapore who wants to meet other Linux users? For anyone in a country without an active LUG, it would be good if you could create one. Even if it’s only a bunch of people having a scheduled meeting every month for food/drink. Once you have the meetings arranged other things can happen, random people who need help can bring in laptops to get advice. Also there was one occasion where I gave a lecture about SE Linux (which went for approximately an hour) in a back room at a bar, if you have an audience and a venue then sometimes guest speakers will just show up.

Wouter Verhelst: Broken C code

A few weeks back, someone asked on debian-68k about an unexpected result of some piece of software when it was compiled on ARAnyM, an m68k emulator that can run Linux. His initial idea was that this could perhaps be a bug in ARAnyM, since it only occurred to him inside ARAnyM, and not on any of the other architectures he tried. In fact, it was a bug in his code. Let's have a look at what's going on here. The example program which Sergei provided and which exhibits the problematic behaviour is spread over two files. The first file contains this:
#include <stdio.h>
void *f();
main()  
	void *a;
	a = f();
	printf("%d\n", (long)a);
 
while the second contains this:
#include <stdio.h>
long f();
long f()  
	long a = 84;
	printf("%d\n", a);
	return a;
 
Many people familiar with the C programming language will intuitively expect that this program, when run, will output the following:
84
84
When in fact, when compiled and ran on an m68k machine, the output is as follows:
84
-1072577264
What's going on here? In order to understand that, we have to take a look at the assembly code. This is done by use of "objdump -d", and gives (amongst others) the following output:
800004c4 <main>:
800004c4:	4e56 0000	linkw %fp,#0
800004c8:	61ff 0000 001a	bsrl 800004e4 <f>
800004ce:	2f08		movel %a0,%sp@-
800004d0:	4879 8000 05aa	pea 800005aa <_IO_stdin_used+0x4>
800004d6:	61ff ffff feec	bsrl 800003c4 <printf@plt>
800004dc:	508f		addql #8,%sp
800004de:	4e5e		unlk %fp
800004e0:	4e75		rts
800004e2:	4e75		rts
800004e4 <f>:
800004e4:	4e56 0000	linkw %fp,#0
800004e8:	4878 0054	pea 54 <_init-0x800002f0>
800004ec:	4879 8000 05aa	pea 800005aa <_IO_stdin_used+0x4>
800004f2:	61ff ffff fed0	bsrl 800003c4 <printf@plt>
800004f8:	7054		moveq #84,%d0
800004fa:	4e5e		unlk %fp
800004fc:	4e75		rts
800004fe:	4e75		rts
So what's happening here? The difference should be clear: the f function stores its result value in the D0 register, but main goes looking for it in A0. The reason for this discrepancy very simple. The m68k processors has three sets of registers: one set is for integer values (D0 through D7), one set is for address values (A0 through A7), and one is for floating-point values (FP0 through FP7). The m68k ABI specifies that integer return values should be stored in integer registers, that address return values should be stored in address registers, and that floating-point return values should be stored in floating-point registers. This makes sense, since register-indirect addressing modes require the address to be stored in an address register; and calculating values requires the value to be stored in either a floating-point or integer register. When main, then, tried to look for a return value in A0, it found something, but obviously not what it should have found... This issue would have been a non-issue had this function been written the way it should have, like so:
#include <stdio.h>
void* f();
int main()  
	long* a;
	a=(long*)f();
	printf("%Ld\n", *a);
	return 0;
 
void* f()  
	static long a=84;
	printf("%Ld\n", a);
	return &a;
 
To close up: there's a reason why compilers emit warnings if you do something strange or "clever". In this particular case, the warning was suppressed, since both files contained a declaration of an f() function, even if the declaration was different. This is a horrible hack that tries to work around those warnings, rendering them utterly useless. Please, pretty please, with sugar on top: don't do something like that. If you write C code, please compile it with -Wall -Werror, and make sure it compiles that way. If you want to access a function in a different file, create a common header file that both will #include, so that the compiler can notice differences between declaration and definition of a function; and don't expect that something will work because you fixed it for a common and well-known case, because there will often still be other places where your bug will still trigger. In this case, by declaring the function as one returning a long value, they made sure it could not break on 64-bit architectures. However, as shown above, that doesn't make the bug go away...) Writing clean and portable code is way more fun. Trust me.

Benjamin Mako Hill: Laptop Liberation in Nara

I'm going to be giving a reprise of the Laptop Liberation talk I gave at Cornell University in November at the Nara Institute of Science and Technology in the Kansai region of Japan on January 7th. If you around, please feel free to show up. If you are in Osaka, Kyoto or Nara and would like to have lunch or dinner, please email me and we can try to arrange something. Details on the talk is online here in English and Japanese (thanks Mika!) although the talk itself will be in English.

Ross Burton: Postr 0.10

A new year, a new release of Postr. This release has some useful bug fixes. Now to finish off that grand refactoring... The tarball is here, and packages for Debian are building now.

Russell Coker: No more War On Terror in the UK

Military.com reports that the UK government will no longer use the term War On Terror [1]. Sir Ken Macdonald (the UK’s chief prosecutor) said that “terrorists” are criminals and need to be responded to in that way. This of course is the only logical and sensible thing to do. Soldiers who are taken prisoner are released when the war ends, if members of al Quaeda are considered to be soldiers then they would have to be treated in the same manner. The next logical step is to persue criminals who are members of al Quaeda in the same way that other criminals are persued. As far as I am aware there is no country where the majority of murderers are members of al Quaeda. Other suspected murderers have the right to a fair trial and people accused of al Quaeda membership deserve the same. Another interesting statement is that “The term “Islamic terrorist” will also no longer be used. Officials believe it is unhelpful because it appears to directly link the religion to terrorist atrocities“. Finally they realise that there is a huge number of Muslims who want nothing to do with terrorism and that such people are the best potential source of leads when it comes to tracking down criminals associated with al Quaeda. Thanks to Bruce Schneier for blogging about this [2]. Bruce’s blog post has some interesting comments, one is “you can’t make “War” on “Terrorism”. “Terrorism” is a tactic, not an enemy. To declare war on Terrorism is about as confused as declaring war on Blitzkrieg” by Carlo Graziani. Carlo also writes “It’s stupid to declare a “war” if you have no idea of when and how the war will end, and no clue about how to bring it to an end. If there is no real prospect for declaring “victory”, the “war” will go on for ever. This is tantamount to saying that insofar as we take the rhetoric of war seriously, we are agreeing to live under what is essentially martial law, in perpetuity. We are stipulating that the sort of emergency measures that a nation might consider taking in time of war — suspension of civil rights for certain suspect groups, suspension of laws limiting government surveillance powers, etc. — may be only a decree or a vote away, forever. There can be no more corrosive climate to liberty than war. If we really allow this idiotic rhetoric to be taken seriously, our polity is doomed.“. A particularly insightful comment from umacf24 is “How did the early 20th century Anarchists stop? Well, one of the attacks precipitated an unprecedentedly bloody and catastrophic war in which both sides used WMD. Military setbacks caused revolutions in the Russian and German empires which led in turn to most of misery of the rest of that century. Not a happy parallel“.

3 January 2008

Andrew Pollock: [life] Post-op, Day 0

I'm exhausted, but very relieved. The important news: the operation was a success, the surgeon, Dr D. Craig Miller, bless his cowboy boots, managed to spare the aortic valve (he'd given us a 99% probability of being able to do so beforehand), so we don't have to be concerned about pig/cow valves for now, and mechanical valves later. He was reluctant to say that her own valve will last her the rest of her life, but it should last a "long time, long enough to have a family". When I left the hospital, Sarah was in intensive care, extubated, conscious, and talking to me, but very very tired. She's got a daunting array of things coming out of her at the moment (a lot of which I couldn't see because she had blankets over her). It's been a long day, so I decided to head home, rather than potentially keeping her awake for the next two ICU visiting times tonight. Here's the time line that I recorded: 05:15 - Arrive at the hospital to go through the admissions process 06:35 - I leave Sarah shortly before they're going to wheel her off to the operating room (I'll get into my fun at the end). 09:30 - I ask for an update, and they tell me she's going on bypass 10:30 - It looks like they can save the aortic valve 12:25 - Still doing the valve stuff, making a new sinus of Valsalva 14:15 - I ask for another update, everything is going okay, someone will come out to talk to me 14:55 - Still going, at least another hour until they start to close up 15:15 - Closing up, surgeon will be out to talk to me 16:10 - Surgeon comes out to talk to me about how the operation went 16:50 - I got to see Sarah briefly in the ICU, she was still intubated, but conscious and seemed to respond to my voice ~18:15 - Extubated. Spoke with her briefly. She was very tired, and I decided to let her rest for the remaining visiting times and go home and get some rest myself So what the surgeon had to say for himself was very interesting indeed. He didn't end up doing exactly what he'd said previously, based on how things looked once he actually got in there. He said that the sinuses of Valsalva were paper thin. So thin, you could see the blood flowing through them. They were about 0.5mm thick, rather than the normal 1.5mm thick. Sounds a bit like a disaster waiting to happen. Apparently it's not possible to detect this with imaging, you have to get in there and see it for yourself. He didn't end up removing as much of the aorta as previously planned (specifically the part around the transcending arch) as whilst the diameter was a bit bigger, the tissue apparently looked healthy. He said the part of the aorta he did remove (preceding where the braciocephalic, left common carotid and left subclavian arteries branch off) was "cheesy" in consistency, so it's not like she just happened to have an enlarged aorta, no aneurysm, and way too thin sinuses of Valsalva. There was definitely some unhealthiness to the aortic tissue, just not as bad as thought from the imaging. So it's all good. I think she'll spend a day or two more in the ICU before getting moved to a normal ward, but it's too soon to say what's going on with all of that. There's some elevated risk of stroke due to blood clots for the next 24-48 hours, but she's on blood thinners, so it shouldn't be a problem. The day was pretty crazy for me. I'm not sure if it was stress, or the stomach bug that's been doing the rounds of Central Park Apartments, but I went to bed last night at 11pm, was up again at 1am, with shall we say, a gastrointestinal upset, and up again at 3am, throwing up. We got up at 4:15am to get to the hospital. I felt really nauseous all morning, and was an absolute wreck while I was in with Sarah when they were putting a peripheral line in her before they wheeled her off to the OR, so I bailed about 5 minutes early and just made it to the bathroom in time to throw up again. I haven't eaten all day, just tried to keep the fluids up. I'm debating having some plain boiled rice for dinner, or waiting until tomorrow to have something easy on the stomach. I definitely felt a lot better as the day progressed, but my stomach is still pretty tender. Sarah and I ate pretty much the same stuff yesterday, so I don't think it can be food poisoning. She tends to have a very sensitive stomach at the best of times, so I'd expect her to be showing problems before me if it was food poisoning. But enough about me, I'll live. I hope it's not a stomach bug, as I don't want Sarah to come down with it as well, now that she's on the road to recovery from this surgery. Many thanks to Shona, Briana, Laura, and Christina for spending time with me throughout the day to keep me occupied. ICU visiting hours are every even hour between 10am and 10pm, for thirty minutes at a time, so I plan on spending all day at the hospital tomorrow. Hopefully I can find a good spot to get some EVDO coverage, so I can update things as the day goes along, rather than at the end of the day when I get home, like I had to today. Hopefully I'll sleep better tonight than I did last night.

Steve Kemp: Its a lot like life

Assume for a moment that you have 148 hosts logging, via syslog-ng, to a central host. That host is recording all log entries into an MySQL database. Assume that each of these machines is producing a total of 4698816 lines per day. (Crazy random numbers pulled from thin air; globviously). Now the question: How do you process, read, or pay attention to those logs? Here is what we've done so far:
syslog-ng
All the syslog-ng client machines are logging to a central machine, which inserts the records into a database. This database may be queried using the php-syslog-ng script. Unfortunately this search is relatively slow, and also the user-interface is appallingly bad. Allowing only searches, not a view of most recent logs, auto-refreshing via AJAX etc.
rss feeds
To remedy the slowness, and poor usability of the PHP front-end to the database I wrote a quick hack which produces RSS feeds via queries, against that same database, accessed via URIs such as:
  • http://example.com/feeds/DriveReady
  • http://example.com/feeds/host/host1
The first query returns and RSS feed of log entries containing the given term. The second shows all recent entries from the machine host1. That works nicely for a fixed set of patterns, but the problem with this approach, and that of php-syslog-ng in general, is that it will only show you things that you look for - it won't volunteer trends, patterns, or news.
The fundamental problem is a lack of notion in either system of "recent messages worth reading" (on a global or per-machine basis). To put that into perspective given a logfile from one host containing, say, 3740 lines there are only approximately 814 unique lines if you ignore the date + timestamp. Reducing logentries by that amount (78% decrease) is a significant saving, but even so you wouldn't want to read 22% of our original 4698816 lines of logs as that is still over a million log-entries. I guess we could trim the results down further via a pipe through logcheck or similar, but I can't help thinking that still isn't going to give us enough interesting things to view. To reiterate I would like to see: To that end I've been working on something, but I'm not too sure yet if it will go anywhere... In brief you take the logfiles and tokenize, then you record the token frequencies as groups within a given host's prior records. Unique pairings == logs you want to see. (i.e. token frequency analysis on things like "<auth.info> yuling.example.com sshd[28427]: Did not receive identification string from 1.3.3.4" What do other people do? There must be a huge market for this? Even amongst people who don't have more than 20 machines!

Yves-Alexis Perez: Xfce backports

Hey everybody! Etch users will be pleased that they know have access to Xfce 4.4.2 backports in their favorite distribution. This release seems to fix the well known memory leaks in xfdesktop and xfce4-menu-plugin, so if you run Debian Etch on your desktop and are annoyed by them, you can try the backports. Everything is explained at backports.org website.

Russell Coker: Comment Policy

I’ve been thinking about the comment policy for my blogs. I have started deleting comments when people subscribe to comments and use fake email addresses (I get the bounces and it’s annoying). Also I am deleting comments that don’t make much sense or which don’t address the topic of a post. Some people seem to search for blog posts marginally related to a topic that they want to vent about. I’ve had someone request that a comment be removed because it was written by someone with the same name as him (see this post if you want to read the details [1]). I’ve written a short document about unique names on the Internet [2] on my documents blog, hopefully it will be useful for other people who become concerned when they discover that they don’t have a unique name. My general policy about comments is probably going to be not to delete them unless requested by the author of the comment (if there is a good reason), and otherwise to only delete them for technical reasons or for being wildly off-topic. One thing that seems missing from most blog ethics documents is a section on comments. When I write my own code of blog ethics I’ll have to write a section about this. Suggestions are welcome.

Gustavo Franco: There will be no year of Linux on desktop

Ok, cool! Time to post again: Like these mega interesting random TOP 10 lists people prepare every December and January, some love to speculate if the current year will be or not the year of Linux on desktop.

Please permit me state the obvious and argue that there will be no year of Linux on desktop, like there was never a year for Microsoft Windows or one being prepared for Apple Mac OS X! It is a evolving process, as dumb as it sounds. In 20, 30 years for historic reasons, some will call the 90s the decade of Linux rise and I agree. I believe that some history books (books?) will not omit the Linux impact (including of course some other key open source software) on Internet availability for the masses.

Do people really believe that "the year of the linux" will be the one when it reach a bigger domestic user base than Windows? Great, what about Linux usage through Internet? It's Linux on desktop and on steroids including - get ready - portability and tons of buzzwords I can't even keep up with. Don't get me wrong, I care about Linux usage on the real hardware that end users are using at home and not only through the Internet but come on, let's stop running in circles.

Martin-&#201;ric Racine: Hunting for a new laptop (part 2)

Earlier, I had reported on my quest for a new laptop. To recap, I had narrowed down my choice to an LG model whose 12.1" 1280x800 WXGA display and ATI Mobility Radeon X1250 graphic chip failed to be recognized by the Ubuntu CD. Back then, my initial tests were performed using a Feisty CD. Since then, I have returned with a Gutsy CD and got equally disappointing results: E: screen found, but none offers a usable configuration. Some people suggested buying a laptop with an all-Intel chipset. While Intel chipsets are indeed the best-supported in the business, largely because Intel invests its own resources into coding Linux drivers for all of its products, products based on Intel chipsets tend to be double the price of those based on VIA motherboards with ATI graphic chips. Seeing how quickly hardware devaluates on the market, it feels rather unjustified to pay such a fortune for an Intel-based product, only to see its market value cut in half less than a year later. Here's a tip for AMD/ATI marketroids: invest as much resources into coding GPL kernel and X.org drivers for all of your products as you did for the OLPC project and always do so a good 12 months before entry to market. Otherwise, prepare for bankruptcy, because companies like Intel who don't shun the Linux market will eat you alive. Me goes back laptop hunting...

David Welton: No next big language?

Ola Bini, one of the JRuby hackers, and a very bright guy, posits that there "won't be a next big language": http://ola-bini.blogspot.com/2008/01/language-explorations.html
There might be some that are more popular than others, but the way development will happen will be much more divided into using different languages in the same project, where the different languages are suited for different things. This is the whole Polyglot idea.
I'm dubious, and wonder what he would consider to be the underlying sociological and economic factors driving this change. Programming languages are, in the end, about people in all their weirdness, so to understand where languages are going to go, you have to consider those human factors, as I've attempted to do here. One trend that points to a slow proliferation of languages is of course the lock-in cited in my article. Today's big languages (Java, and on the web, PHP) won't just go away from one day to the next, just as C, Cobol and Fortran have not disappeared with the advent of Java. That process will continue, making it likely that new languages will carve out new territory for themselves rather than exclusively cannibalizing existing installations from older languages. This naturally leads (slowly) to more languages, even if the next generation has a Next Big Language. And why shouldn't there be one? Ola talks about a situation where various languages run and interact on top of a runtime (JVM). Isn't that similar to what we've had with C, though? Perl, Tcl, Python, etc... all run on top of C. Sure, the JVM is a step up from that in some ways, most notably GC, being a bit more consistently cross-platform, and having a wider array of libraries, but in the end, it still comes down to the network effects of being able to read and write a common language, whatever it runs on. Obviously, the network externalities of programming languages are not so strong that they hit a tipping point after which one language crushes all the others, but they are strong enough to consolidate leadership in one or a few languages. Programmatically, Jython, JRuby, (and Hecl?:-) may even find it easier to interact on the same platform, but the humans writing the code will still push for consistency and the minimum set of common tools in order to aid the sharing and review of code. Another way to look at it might be from an organizational point of view. Today's biggest fish in the pond, Google, only allows four languages for their production systems. What would a "no big language future" organization look like? I can't believe they'd welcome a big hodge podge of things. In conclusion, as computers are ever more widely used, it's certain that more languages will be utilized. However, it's also likely that from time to time a few languages, with one in the lead, will emerge as the leaders.

2 January 2008

Andrew Pollock: [life] Pre-op

We went in to Stanford Hospital this morning for a few hours of pre-op stuff. They took blood, did an ECG, a chest x-ray, and we had a chat with someone from anesthesiology. A physicians assistant and a nurse practitioner talked to us (separately) about what to expect. We also watched a short video about what to expect. We now have to report back at 5:15 tomorrow morning (there's a 5:15 in the morning, how about that?) for a 7:30am procedure. They're saying it'll take 6-8 hours and that Sarah will be on a ventilator for the first 4 hours or so that she's in intensive care, post-op. She'll probably be in the ICU for a couple of days. It's sounding like I can only spend 10 minutes in there every few hours, but we'll see how that pans out tomorrow I guess. It's sounding like I won't get to see her until around 4pm tomorrow I think someone was saying. I guess we'll see how that pans out as well. I've just doped myself up with some NyQuil so I hopefully get a better night's sleep than last night. I'm going to need it, it's going to be a long day.

Russell Coker: Labour policies and Internet Censorship

Glen Turner writes about how Internet censorship could hurt science [1]. The ABC has an article about what is planned [2] which includes “Senator Conroy says it will be mandatory for all internet service providers to provide clean feeds, or ISP filtering, to houses and schools“. If Senator Conroy sticks to that plan then section two of Glen’s post (concerning high-speed access to research data) will not be a problem. This is no criticism of Glen for mentioning the issue as some idiot might try to change the plan to filter corporate and university access. Senator Conroy also earns a Godwin point for “If people equate freedom of speech with watching child pornography, then the Rudd-Labor Government is going to disagree“. There is a good discussion paper by Electronic Frontiers Australia about Labour’s plans in this regard before they won the election [3]. One issue they raise is the small number of sites identified as having child-porn. Imposing filters on an entire country to block the 3,236 web pages identified as prohibited by the Australian Communications and Media Authority is not a sensible solution. Another issue that EFA raises is the variety of reasons for content getting an R18+ rating (if that is to be a filtering criteria). One notable issue is “Adult themes” which includes “issues such as suicide, crime, corruption, marital problems, emotional trauma, drug and alcohol dependency, death and serious illness, racism, religious issues“. I doubt that there is much agreement between parents as to the relative significance of those “Adult themes” and which ones their children should be protected from. I also expect that a significant number of parents would like to have information about safe sex (including safe gay sex) and safe drug use available in case their children are interested in such things. I hope that the number of parents who disapprove of homosexuality and drug use so strongly that they are willing to risk their children’s lives is quite small (although the response to the cervical cancer vaccine indicates that it’s sadly larger than expected). Glen has some good points about this in the first section of his post.

Wouter Verhelst: Film: I am legend

On New year's eve, I went to some local movie theatre, and watched the above movie. Must say I'm impressed. Been a while since any movie managed to get me hooked like this. I just love the way in which the backstory is communicated to the audience through little clues and flashbacks that are given throughout the movie. This certainly makes for an interesting way of discovering what the hell is exactly going on here. Add to that a premise that is sure to raise some interest (New York abandoned? Quite some special effect), and you get a very entertaining night out. But credit where credit is due: Will Smith's performance was outstanding. He's done a marvellous job in portraying a real human being: not a superhuman, but a person who's had the luck not to be affected by this horrible disease, and who's now slowly turning insane because of his lack of contact with other human beings. Really nice movie.

Next.

Previous.