Tuesday, September 30, 2008

Smalltalks 2008 Coding Contest about to begin

In about 12 hours or so, the Smalltalks 2008 Coding Contest will become available at the Smalltalks 2008 conference web site. Good luck!

The new to do list

Some months ago I wrote that my to do list had STS 2008, then ESUG, then the conference in Argentina, plus Assessments and on top of that I had to add the coding contest for Smalltalks 2008.

I am happy to say that all those items have been taken care of. So now I have the following list of items...

  • Host the Smalltalks 2008 Conference, including the coding contest which starts tomorrow.
  • Prepare a new talk for Smalltalks 2008.
  • Schedule talks at UNLP while I am in Argentina.
  • Write books.
Now, on the part regarding writing books... what's in the queue?
  • The Fundamentals book draft is still at 170 or so pages. Clearly it needs to grow.
  • Start preparing the second edition of the hash book --- yes, thanks to the valuable work of some of my readers, there needs to be a second edition with even more material. This will probably take at least a year of calendar time.
  • I need to review the mentoring course book because apparently the baseline implementation of SUnit Based Validation has drifted from the one referenced in the book.
  • I need to start preparing a book about all this coding contest activity.
Finally, I should spend some time and get my ANSI Smalltalk SEPs going.

It never ends, really. But it's so much fun!

100% yearly gains, riiiight...

See in The Register: hard drive manufacturers said to want to stay on track with 100% yearly increase in aereal densities.

Of course, another exponential function like compound interest. Like either of them is sustainable now... but apparently it is not yet clear. So, how many years until we can store the Universe on a hard drive? Can we be realistic, please?

Monday, September 29, 2008

Assessments 1.5

This one has a fix so that trying to browse a bridged class opens the bridged class as opposed to the associated metaclass bridge class.

Also, the references to SUnitVM's base classes has been updated.

Assessments 1.4

The following changes have been made based on feedback from Stefan Schmiedl.

  • Overhauled how results are browsed from the result windows.
  • Added more tests for the checklist evaluators (to verify that the code from the previous item works).
  • Fixed an unintended feature where it was possible to browse the class of prerequisite failures from the result windows.
  • Bring back the [Refresh] button for checklist evaluators, while leaving automatic refresh enabled.
  • Improve how prerequisites print themselves.
Enjoy!

Smalltalks 2008 Coding Contest Advisory

The Smalltalks 2008 Coding Contest starts in 48 hours.

Good luck!

No more $700 billion for you

Now that the bill failed, I have an idea of what might work. How about, instead of giving the bankers the $700 billion, we just go out to the people holding the bogus mortgages and use those $700 billion to make payments on them? Certainly that would drive up the value, no?

But then bankers benefit, and they should incur losses nonetheless. So here is a slight modification.

  1. We let individual houses go bankrupt, in a BAU manner.
  2. When the houses go through the repossession process, we insert a clause saying a certain fund has priority in buying the property at a fair market value. For example, it goes through auction, and if the sale price does not meet the reserve price, then the fund gets the property and issues a loan for the sale price to the people previously living in the house.
I am sure this needs some adjustment to cope with ill intent, but if we are going to spend $700 billion we do not have, we might as well spend it on ourselves. Eventually, that $700 billion will end up at a deposit window somewhere, so banks cannot really complain one way or the other.

Sunday, September 28, 2008

Another POV

So now we're set to give banks $700 billion. In exchange, we're getting paper not worth the $700 billion. But we do not have any savings account with $700 billion, so we will pay interest on that. To whom? If I understand things right, to the Federal Reserve, which is a private corporation the board of which is composed by the bankers receiving the $700 billion.

Sounds bad, right? And even if I was wrong and it is some other third party receiving the interest on the $700 billion, one thing is for sure. We simply cannot pay ourselves back, because we did not have any of that money to begin with.

Really. In this context, I go around and read quotes such as the following.

"We sent a message to Wall Street - the party is over"

"People have to know that this isn't about a bailout of Wall Street. It's a buy-in so we can turn our economy around"

"Nobody wants to have to support this bill, but it's a bill that we believe will avert the crisis that's out there"

"We begin with a very important task, a task to stabilize the markets, to protect all Americans - and do it in a way that protects the taxpayer to the maximum extent possible"

Is it me, or these quotes have nothing to do with the situation? Exactly who is calling the shots here? Let me quickly go over something. The people that owe money do exactly what the people that lent the money tell them to do. And it is us who owe tons of money. $700 billion is nothing compared to the national debt, so sorry, it is not us who get to say what happens.

No my friend. To me, these quotes above sound like what government types in Argentina would say. I know. I used to hear them all the time, and saw the consequences first hand. So, given that we know what happened to them...

... oh...

Land of the brave, sure. But the free? I do not think so.

Saturday, September 27, 2008

Assessments 1.3

I just fixed a problem where the results would get sorted over and over again in the results UI. A particular benchmark with 538 results went from 237 time profiler samples to 1 sample. Enjoy!

Assessments 1.2

Stefan removed the Refresh button in the checklist evaluator. Good riddance!

Assessments 1.1

Stefan Schmiedl contributed Announcement support for Assessments. Enjoy!

Wednesday, September 24, 2008

More contrast

Comparisons are great, check this out.

The original.

What could be said about it.

Really. All the copyright persecution for this???...

Monday, September 22, 2008

No more betas for Assessments

I now declare Assessments to have reached version 1.0.

Assessments 1.0 beta 17

Stefan asked for result windows to propagate evaluation result updates back to the evaluator windows. Done!

Sunday, September 21, 2008

About money and the current state of affairs

We cannot pay our loans if we do not produce enough goods of any kind that maintain the trust of the people from whom we borrow. Because we are so short sighted that we only look at quarterly profits and so on, what happens is that there is a strong motivation to have people consume. The issue should be obvious by now: consumers do not produce valuable goods.

In some extreme form or efficiency, one could have robots produce things of value that people would consume. But even then there is no escape because an ever increasing population with an ever increasing desire to obtain exponentially growing profits will be ultimately limited by the finite natural resources available to keep the machinery churning. In other words,

by stressing short term realization of profits, we are sacrificing our long term ability to produce things of value.

What are these things of value? Well, like, food and shelter for example. Or the knowledge and applied know how that will keep our standard of living above that of cavemen.

Really: who cares about the 700 billion, or even what is the number. The real problem is that we're living off the promise that the future will always be bigger and better, and that is what should be called into question.

Saturday, September 20, 2008

VW 7.6's hashing machinery strikes again

I am finishing the Smalltalks 2008 Coding Contest. Something I just did was to move it from my 7.4.1 images to a 7.6 image. In particular, something I was looking forward to was to make use of the revamped hashing machinery. And it did not disappoint.

A section of code that was running particularly slow on 7.4.1 runs ~2.5x faster on 7.6 without any code changes.

Now... where was I?... ah yes. More code to write.

Thursday, September 18, 2008

ReferenceFinder 1.4

Also, I just updated the ReferenceFinder so that it integrates well with Trippy (7.7x builds, but IIRC it should work on 7.6 too). Have fun!

Update: I added a few refactorings I had in my local image... version 1.5 now.

Hash Analysis Tool 3.24

I just fixed a leftover implementor of inspectorActions that was causing problems. Enjoy!

Assessments 1.0 beta 16

I just found a couple small problems in the SUnit execution policy management, and the fixes are now published in the public Store repository. Enjoy!

Computer Language Shootout, k-nucleotide

I just improved Eliot Miranda's earlier k-nucleotide submission to the Computer Language Shootout by changing it so that it uses the default VW 7.6 hashing mechanisms. With this smallest of changes, it runs 2x faster.

Also, I published a new bundle called ComputerLanguageShootout to the public store repository. Want to tackle another of the benchmarks? It seems to me it should not be too hard to improve the current benchmarks significantly.

Latest news on the Smalltalks 2008 conference

We would like to share the latest news about the Smalltalks 2008 conference.

1. We have opened the submission process for talks. The URL is here. The form can be found under the section "Talks". We are looking forward to hear about different types of presentations, whether they be industry, research or education related. The submission deadline is October 13th.

2. Furthermore, we have also opened the submission process for tutorials. The URL is the same as above, only the form is under the section "Tutorials". The deadline is also October 13th.

3. Finally, we would like to remind you that the coding contest rules and regulations, as well as the problem, will be published on October 1st. For more information check the section "Coding Contest" in the conference's web site.

We look forward to see you at the conference!
Smalltalks 2008 Organization Committee

Monday, September 15, 2008

FTP down for a bit...

Scheduled maintenance... it will be back up in a bit.

Update: back up now.

Rationalization of FTP accounts

I have just reorganized the Smalltalk related accounts on the FTP server. Now there is only one:

  • Server: ftp://sqrmax.homeip.net.
  • User: smalltalk
  • Password: now
Inside you will find a number of videos, a few papers, and the stuff I did for the 2006 and 2007 STS Coding Contests. This includes the original source code of my submission in 2006 (both qualifiers and finals), as well as the complete source code for the 2007 one I organized. These are direct applications of the pattern of perception so you can see it in action. Note that looking at the coding contest code too soon will invalidate the exercises of the mentoring course book's chapter 6. You have been warned :).

Sunday, September 14, 2008

Smalltalks 2008 Coding Contest getting close

Hello, my friend... so, here's the deal. If all goes well, the Smalltalks 2008 Coding Contest will begin on October 1st. As usual, there will be a qualifier round to get to the finals at the conference. However, this time things will be different.

  • Anybody that completes the qualifier round goes to the finals, and
  • Anybody can participate in the final round.
That's right, you don't even have to be at the conference to play at the finals.

Antsy to tackle a 100% original problem? Stay tuned...

Saturday, September 13, 2008

Train drivers do not "fail to heed a stop signal"

There was a recent train crash in Los Angeles. A report just came out, and it claims that the reason for the accident is human error:

Friday's two-train collision killed 25 people and injured more than 130 others near Los Angeles after an engineer failed to heed a stop signal, a spokeswoman for Metrolink commuter trains said.

Ok, hold on now. Trains, or train conductors, do not "fail to heed a stop signal" and just run past red lights. For example, in subways, signals have something like a ski next to them on the ground by the track. When the signal is red, the ski raises. If the train runs past the red signal, then the ski pushes a lever on the train, and this forcefully activates the brakes thus stopping the formation. In other words, stop signals are driver-failure safe.

You can see this in action at NYC's and NJ's subways (and in Japan, and in Spain). The subways in Buenos Aires have the same feature. Ever wonder why no driver ever dares to run past a red signal, not even by an inch? Now you know why.

These mechanisms are well known, see here for a book published in 1915 talking about such devices. So now, how is it that human error on the part of an engineer or a driver can be the sole source of fault in the Los Angeles train crash? No my friend, there is more than that at play. For example:
  • Does the signal system have forceful braking measures to deal with trains which, for whatever reason, run past a red signal?
  • If the signal system includes forceful braking measures, why didn't they work?
Don't come tell me a single person committing a single mistake (such as text messaging) or perhaps having a sudden medical problem such as a heart attack can cause human life loss in large scale mass transportation systems like trains. The bottom line is that you just don't run those systems with no tolerance to failure because the result is that a lot of people die.

But... if it is indeed the case that the train's signals are not failure safe, then the signals should be upgraded so they become driver-failure safe, and then we should ask exactly who is responsible for the gross omission and make sure they are held accountable for murder by negligence.

And by the way, this does not make me feel any better:

Tim Smith, state chairman of the Brotherhood of Locomotive Engineers and Trainmen, a union representing engineers and conductors, said issues that could factor into the crash investigation could be faulty signals along the track or engineer fatigue.

He said engineers in California are limited to 12 hours a day running a train, although that can be broken up over a stretch as long as 18 hours.

Wednesday, September 10, 2008

Interview by Club Smalltalk

The folks at Club Smalltalk just published an interview they did with me over the last few days. I'd like to thank Hernán Galante for the large amount of work he invests in the site. Go Club Smalltalk!

Anecdote from Amsterdam

I was in the taxi to Schipol Airport on the way home, and the driver had the radio turned on. The song was U2's Where The Streets Have No Name. I asked the guy if it was ok for me to whistle. He said yes. So I did. After a while, he asked me

Are you a professional?

Hah --- incredible!!!

Tuesday, September 09, 2008

Now we're beginning to talk

A while ago I wrote that I didn't see SSDs replacing common HDDs for a while. I think this drive, however, shows that the while has elapsed. With a bit more refinement and larger capacities, it seems to me that now there is a more proper replacement for the hard drive.

The next observation I'd make on Intel's design, which uses 10 parallel read/write channels with a recombination buffer, is that with the tiniest of efforts one could make a failure tolerant hardware RAID version of the drive in the same enclosure.

Or, seen from a different point of view, Intel's approach is analogous to using 10 way RAID striping within a single drive. Therefore, perhaps it's just a matter of time before 10 way RAID striping / mirroring is also available... or, maybe by combining something like AMD's Fusion (or an equivalent) with a sufficiently large memory buffer, one could have n-way RAID 5/6 in a (perhaps largish but yet compact) single enclosure.

If one could, in addition, physically separate the board holding the flash memory from the board having the controller, then replacing fried controllers while keeping the data intact would also be possible with ease.

What I have not seen yet is a comparison of reliability under long term heavy load between SSDs and HDDs. In particular, how much data can be written to an HDD before it fails? How does that compare to today's SSDs?

Assume an HDD with 10^6 hours of MTBF. How much data can it write at a conservative average of 50mb/sec? It's a staggering figure, really. At ~176gb an hour, the number is ~176 petabytes (or pebibytes, if you prefer). Note that this is independent of the capacity of the drive, as it is only bound by the MTBF.

Then, assume further that Intel has not yet improved the 10k cycles per memory cell reliability of flash memory. Therefore, a 160gb SSD drive would be able to write no more than about 1.6 petabytes before it fails. Note that in this case this number is bound by the cell reliability and the capacity of the drive, not time per se.

So... one or two orders of magnitude improvement in the reliability of flash memory, and the hard drive becomes completely obsolete. Easier said than done, I am sure. Hopefully soon.

Saturday, September 06, 2008

A yet lower low

I just saw the front page of the UK newspaper The Daily Telegraph. The front page has a title that reads:

Army of children paid to snoop

The article goes on to describe that several city councils are both paying and training children of ages as low as 8 to report people committing things like littering. There are about 5000 active volunteers, both adult and kids, who are offered 500 pounds for evidence leading to a conviction of minor infractions. Some of them are assigned numeric codes so they can report anonymously. They are encouraged to photograph of videotape neighbors guilty of

[...] dog-fouling, litter or "bin crimes". The "covert human intelligence resources", as some are described, are asked to pass on the names of neighbors they believe to be responsible, or to take down their car numbers. A spokesman for Ealing council, west London, said: "There are hundreds of Junior Streetwatchers, ared eight to 10 years old, who are trained to identify and report envirocrime issues such as graffiti and fly-tipping." Harlow council, Essex, said: "We currently have 25 Street Scene Champions who work with the council. They are all aged between 11 to 14". [...] The increase in surveillance comes at a time when an estimated 169 councils have halted weekly rubbish collections. [...] Some [councils] merely ask recruits to watch out for problems, while others are sent on patrol.

Roughly one in six city councils contacted by the newspaper, 36 out of 240, is running this program. Where do they get those lovely ideas? I can't help thinking of 1984, of course... from Wikipedia we get the following piece:

In his journal he explains thoughtcrime: Thoughtcrime does not entail death. Thoughtcrime IS death. The Thought Police have two-way telescreens [read: cameras] (in the living quarters of every Party member and in every public area), hidden microphones, and anonymous informers to spy potential thought-criminals who might endanger The Party. Children are indoctrinated to informing; to spy and report suspected thought-criminals — especially their parents.

I tried looking up the article in Google so I could provide an URL. A phrase search brings up only 3 indirect hits at this point. If you search the article title in the newspaper's website it just does not come up --- but maybe they don't provide access to the printed material.

In any case, I have it in print next to my laptop. So... this newspaper is the Saturday, September 6, 2008 issue of The Daily Telegraph (number 47699), printed in Brussels (Belgium) by Europrinter S.A. The title of the article reads "Army of children paid to snoop", it's on the left side of the front page, and it is written by Martin Beckford, Sarah Graham and Betsy Mead.

Now, personally I do not mind adults exercising critical thinking and reporting crime or offences or whatever. But children aged 8 trained to do so? Don't you think that's too much?