Friday, October 31, 2008

Smalltalks 2008 Social Dinner Event

We will have a social dinner event during the Smalltalks 2008 conference. Since we will be making a reservation, it would be best if you add your name to the list. The menu will most likely include meat, although we will make sure the place is also vegetarian friendly.

See you there!

Wednesday, October 29, 2008

Smalltalks 2008 organization committee interview

Club Smalltalk just published an interview to the organizing committee behind the Smalltalks 2008 conference. Enjoy!

Tuesday, October 28, 2008

Nuevos precios para los libros en Argentina

Bien, Lulu acaba de subir los precios de mis libros, y ahora estan a $45 dolares cada uno. Por lo tanto, el nuevo precio para los libros que se compren desde Argentina segun la oferta anunciada anteriormente es $29 dolares (pagando en dolares, no en pesos).

Tuesday, October 21, 2008

Another improvement for k-nucleotide

I had been thinking about k-nucleotide, one of the benchmarks in the Computer Language Shootout. Finally I couldn't stand it anymore and I had to see if I could make it go faster.

First I tried replacing the dictionary with a finite state model. Nice idea, and nice code too. But, alas, quite slower because now basically all the objects created were dumped into old space. Before, a scavenge would just get rid of the unnecessary strings. And also, objects use oop pointers instead of byte strings using bytes, and so strings use new space more efficiently. Grrr...

Then I thought perhaps I could cause less GC activity. I did that by shamelessly reusing a buffer for the frequency counter. Then I looked at the time profiler and squished all the hashed collection growth away by presizing the hashed collections properly.

Finally, I also checked out VisualWorks' string hash function performance with DNA sequences. The behavior was very good indeed, with proper chi^2 mod p values as the sample size increased.

The bottom line is that the new k-nucleotide program runs 38% faster than the old one. Take that! :)

Update: alas, it only improved by 10% with the official load...

Sunday, October 19, 2008

This weekend

Sigh, my writing is still rusty in that I get tired after not too much time. However, production of new pages continues, and I do like that what does come out is pretty much in a finalized state.

This weekend I have written 14 new beautiful pages so far, and so the Fundamentals book draft is 196 pages long. I still have two subsections to go before I finish chapter 4 (On Inheritance), which is 75 pages right now. It looks like it should be 90-100 pages by the time I am done with it.

And then, chapter 5: On Polymorphism. Now I am worried. If inheritance merits ~100 pages, what will happen with polymorphism, one of my favorite techniques? Hmmm...

Sunday, October 12, 2008

Writing again

So now that some of my other projects have finally exited my work queue, I have time for writing. Today I wrote 6 new pages in about an hour. It feels good to see that I am not too rusty, given that I have not written since May or so. The fundamentals book draft is now 182 pages.

Friday, October 10, 2008

A game of chicken

It seems to me today's economic woes are the result of a game of chicken gone bad. In the first place, let's make the assumption that money represents a trust that an obligation will be repaid in the future. It follows that the value of money in circulation represents our expectation of what will be our future output.

Usually this value is represented well by the amount of money flowing around. This is because with sane currencies, you hardly ever have to worry about 10% depreciation happening overnight, for example.

So let's say investor A thinks the future output will be higher than what he perceives is the predicted future output. So he invests in things, thus using money that has to be replenished. To some extent, this causes demand for more money. So, by his actions, investor A makes his prophecy a reality.

Investor B sees that and thinks that he cannot be possibly outdone. He also invests, and predicts future output higher than that of investor A. So now investor A is underinvested, and an arbitrage process keeps everybody on the same page.

Now, as long as everybody is investing, they cause more demand for money. How much is this demand? Well, by how much do the investors want to see growth? Invariably, the return is expressed as a minimum yearly percentage growth target. This is an exponential function, and therefore within a relatively short period of time their prediction will effectively outstrip future output.

Then we enter fantasy land. Because tell me my friend, when everybody is investing, do you have it in you to pull out? Few people do. The rest play a game of chicken, with ever rising stakes.

Eventually they are forced into the realization that it's impossible to keep investing, and they all crash.

So now we see the reverse game being played. Investor A sells, which leaves investor B overinvested. Investor B sells, leaving investor C overinvested, etc.

If we think the current market behavior is nonsense, so is the growing phase that precedes the crash. The issue is our desire for exponential growth. If we do not stop this ridiculous expectation, then today's problems will happen again.

PS: of course this was my blog's post number 666.

Thursday, October 09, 2008

Novedades para Argentina

Bien, hace unos meses dije que estaba probando un mecanismo para enviar mis libros a Argentina a un precio reducido. Tardo mas de lo que pensaba, pero hace unos dias recibi la confirmacion de que el procedimiento funciona.

Lo que hay que hacer es enviarme el precio reducido a mi cuenta de paypal:

Tambien necesito la direccion postal completa a donde mandar el envio, incluido el nombre entero del destinatario. Ya que no puedo hacer correcciones ni controlar que este todo bien, estos datos tienen que estar exactamente como deben ir en el paquete.

El precio de los dos libros que hoy se venden por 40 dolares + shipping es, unicamente para Argentina, $25 dolares. Esta cifra incluye el costo del envio.

Al hacer el envio de dinero por Paypal, consideren que Paypal cobra 3% si el pago es en la misma moneda, y ademas algo asi como 5% si hay que hacer conversiones como por ejemplo de pesos a dolares. Por lo tanto,
  • Pagando en dolares: mandar $25.75 dolares.
  • Pagando en pesos: mandar la cantidad que corresponda de pesos segun el tipo de cambio del dia, mas un 8.15%. Desde ya, se recomienda pagar en dolares...
En estos dias Lulu va a ajustar los costos de impresion, con lo cual mas o menos el 28 de Octubre quiza los precios suban un poco. En principio Lulu va a aumentar los precios actuales automaticamente, de acuerdo a como cambie el costo de impresion, con lo que no tengo que hacer nada de mi parte para mantener las cosas como estan. Cuando esto suceda, sin embargo, voy a ajustar el precio para Argentina de un modo proporcional.

Espero que esto sirva como agradecimiento, dentro de lo posible, a la educacion gratuita que recibi en Argentina.

PD1: si la direccion no esta en Argentina, me reservo el derecho de devolver la plata y no enviar nada.

PD2: no ofrezco ninguna garantia de que esta oportunidad este disponible en el futuro, o para otros libros. Lo mejor es no dar por sentado que esto vaya a ser asi para siempre. Me reservo el derecho de terminar esta oferta en cualquier momento, y por cualquier o ninguna razon.

Tuesday, October 07, 2008

A thought on the side

Blogs, facebook, and all these sites that allow us to create a digital representation of ourselves can become our own socially acceptable tamagotchi.

Eww. Gross!

Monday, October 06, 2008

RBUIPainterWindowSpecTemplates 1.0

I just published an RB extension to the public Store repository. The package comment reads the following.

Without this extension, to add a windowSpec to an application model one has to either copy paste an existing windowSpec method, or go to the canvas painter and lookup the class already selected in the browser and so on to install a newly created canvas. So this adds an extension to the refactoring browser's class menu so that the RB can now add blank windowSpec templates to application models. Once the template is there, then one can go ahead and use the visual tab for application model window specs.


It is just an illusion

Can we stop our pain and suffering for something we never had and never existed in the first place? Apparently no.

  • On top of the $700B bailout, "the Fed signaled it could increase the amount available through those loans to $900 billion by the end of the year, increasing the amount the Fed will loan through the program by $750 billion above its previous limit". Gee, good thing we really needed Congress to act when the Fed can do whatever it pleases. It makes me feel proud.
  • This article begins to point the finger in the right direction when it puts this problem in terms of psychology, but fails to carry the argument to its last consequences. Why does it have to be a psychological factor? Because there is nothing tangible behind currency, that is why. At the very least, there is certainly not enough to back the economic activity we see today. So, since this does not resist formal analysis, let's pretend and feel good about it at least. Except of course that, as happens with other alkaloids, there is always that crappy feeling after a high. Well, there you have it. Our economic dopamine receptors themselves have become fully resistant to more money. Piling on higher overdoses does not address the issue.
But what do I know, right? Nevertheless, in the end, what one does not manage to understand by comprehension, one is forced to understand by suffering. It seems to me there is a lot of learning being forced down everybody's throat right now. If we only dared to look at things differently...

Meanwhile, here's a bit of a reality check.

Saturday, October 04, 2008

Assessments 1.6

I just added a spawning feature to the checklist evaluators, acting on a suggestion by Stefan Schmiedl. Now you can get evaluators to open on any subset of the checklist hierarchy. Enjoy!

Thursday, October 02, 2008

Book price advisory

Lulu just circulated a message detailing an upcoming change in their pricing structure. This is mostly about an adjustment to account for the increase in the cost of raw materials:

  • price of printing per page
  • cost of binding a book
Furthermore, there is the distinction between small and large books, for some page limit that was not immediately obvious to me.

While the new prices are still subject to modification, the changes will become effective on October 28th. That means that on or about this date, I may decide to adjust the book prices too in order to match the new printing costs.

Wednesday, October 01, 2008

Smalltalks 2008 Coding Contest has begun

Ok, the coding contest for Smalltalks 2008 has begun. You can get the problem description and the materials to participate from the conference's web page.

... did we mention we have rewards this year?...

That's right. Thanks to our sponsors, we have very interesting prizes.

  • 1st prize: Ipod Touch, courtesy of Instantiations.
  • 2nd prize: MP4/MP5 2GB Nexxtech K107, courtesy of GeoAgris.
  • 3rd prize: Gift card at Yenny Bookstores, courtesy of Snoop Consulting.
Enticing? Feeling a bit antsy perhaps? Then participate! You can play at the finals remotely this year, so really... there are no excuses. Do it!

Finally, the contest's mailing list is below.

Google Groups

Smalltalks 2008 Coding Contest

Visit this group