Monday, June 29, 2015

Camp Smalltalk Portland 2015

Camp Smalltalk Portland 2015 is go for August 21st through the 23rd!  (and if you arrive earlier on the 20th that's cool too)  Please register for the event here --- help us by filling in the questions so you can get your event shirt.  And also see that we're having a BBQ with live music on Saturday.  You can't miss it!

Wednesday, May 06, 2015

Camp Smalltalk Portland 2015

Dear artful programming enthusiasts,

The Pacific Northwest Smalltalk crew would like to invite you to Camp Smalltalk PDX this summer.  Come join us August 21-23 in beautiful Portland, Oregon!

We all know coding is a lot of fun, and that the best coding is done with the delete key.  Accordingly, Camp Smalltalk PDX will be at Portland’s CTRL-H hackerspace,

There is no set schedule, but of course we all have strong interests.  Some of the areas that will surely be covered include:

* Smalltalk on small devices, such as Scratch on Raspberry PI
* Web frameworks such as Seaside
* Virtual machine implementations
* Data processing applications
* Language design, Smalltalk and beyond

If you are curious about Smalltalk, feel free to drop by and give Smalltalk a try.

And yes, there are also the well known regulars --- we all know who you are :).  It’s time to catch up and plot inventing our future.

Feel free to contact us directly if you have questions regarding travel or accommodations.  Also, if you know you will be coming and you haven’t completed our survey yet, doing so will help us coordinate the infrastructure around the event:  For event information, see here:  As the dates get closer, additional organization information may become available here:

See you in Portland!

Saturday, May 02, 2015

Windows 95 still flies today

Remember the days of Windows 95?  After 49.7 days of continued operation, the system would crash.  That was before the Y2K bug, when nobody knew or even expected that a counter would overflow.  We should have learned our lesson by now: even seriously defective software can hang around for a very long time.

Unfortunately, we can't quite start feeling warm and fuzzy yet.  Recently, it was discovered that a Boeing 787's electrical system will shut down after 248 days of continued operation.  The result?  Among other things, the cockpit controls no longer work.  And with fly by wire, that means pilots can become irrelevant at any time.

In other words, please make sure you periodically reboot the 787 until that software bug is fixed.  If the problem is ever fixed.

At least this is a bit of technology we all understand.  That is, rebooting makes flaky programs appear to work for a bit longer.  The underlying assumption is deeply problematic.  The message is that this is the extent to which we are supposed to participate in our technological adventure.  You yearn of concerning yourself with whether the maintenance crew hit ctrl-alt-del before take off, don't you?  Wait, why isn't the expert doing that in the first place?  Or even better: how is it that a simple counter overflow can completely disable a modern airplane?  How are these machines being designed such that these failure modes are even possible?

But forget wondering what other 787 bugs could exist when that kind of defect went undetected.  What's next?  Cars that drive themselves (except when they don't)?  Smart electric meters, traffic lights, and gasoline pumps connected to the internet securely (except when security isn't --- really --- there)?  Everything will be just fine, right?

Seriously, these are not toys or apps.  Please demand reliable software.

Thursday, April 02, 2015

Fundamentals volume 2 --- chapter 7 is done

Wow, it's been such a long time since I posted updates.  Surely a lot of stuff has been going on since December 2012, but still!

I found a new editor and the teamwork is great.  Since none of volume 2's text had been edited, the first order of business was to review the ~200 extant pages.  This took a while, but I'm really happy because we ended up deleting roughly 15 pages --- and that's the net effect, because I added some extra material as I went through the text too.

Not long ago we started reviewing chapter 7, and a few weeks ago we finally got to the tip of the written text.  And now, all the text for chapter 7 ("On Threading") is basically done.  The exercises include real gems.  But there are "only" 27 of them right now, so who knows... I might add more over time :).

Chapter 8, "On Recursion", is next.  Reviewing my notes for the chapter was exciting, there is a lot of new material I haven't talked about yet!

The draft is at 204 pages.

Thursday, March 19, 2015

Camp Smalltalk PDX, August 20-23

A small group of Smalltalkers have been discussing the possibility of having a Camp Smalltalk in Portland Oregon, August 20-23.  If you think you might be interested in attending such a gathering, please let us know filling our short survey.  We also encourage you to join the SCONA mailing list here.

The proposed format is:

* Thursday 20th evening prior: An informal welcoming dinner at a local pub or similar.

* Friday 21st morning - Sunday 23rd afternoon: The event proper, consisting of a blend of scheduled talks or discussions and free-form pair programming.

* Sunday 23rd evening - Farewell dinner.

The whole event is envisioned as being informal enough that showing up for only part of the time is perfectly acceptable.

Your responses will help us with our planning efforts.  Feel free to forward this message to any other Smalltalk forums or individual Smalltalkers you think might be interested.

Saturday, December 27, 2014

3x+1 and T^n(k)'s evaluation matrix

In previous posts I've been talking about the 3x+1 problem and the fabulous T(x) function that satisfies

T^n(k2^n + r) = k3^j + T^n(r)

If you let 0 <= r < 2^n, and evaluate T^m(x) for all the resulting values, and for 1 < m <= n, you get a so-called evaluation matrix.  In this evaluation matrix, such as the one below,
  • 16k + 0    8k + 0    4k + 0    2k + 0    1k + 0
  • 16k + 1    24k + 2    12k + 1    18k + 2    9k + 1
  • 16k + 2    8k + 1    12k + 2    6k + 1    9k + 2
  • 16k + 3    24k + 5    36k + 8    18k + 4    9k + 2
  • 16k + 4    8k + 2    4k + 1    6k + 2    3k + 1
  • 16k + 5    24k + 8    12k + 4    6k + 2    3k + 1
  • 16k + 6    8k + 3    12k + 5    18k + 8    9k + 4
  • 16k + 7    24k + 11    36k + 17    54k + 26    27k + 13
  • 16k + 8    8k + 4    4k + 2    2k + 1    3k + 2
  • 16k + 9    24k + 14    12k + 7    18k + 11    27k + 17
  • 16k + 10    8k + 5    12k + 8    6k + 4    3k + 2
  • 16k + 11    24k + 17    36k + 26    18k + 13    27k + 20
  • 16k + 12    8k + 6    4k + 3    6k + 5    9k + 8
  • 16k + 13    24k + 20    12k + 10    6k + 5    9k + 8
  • 16k + 14    8k + 7    12k + 11    18k + 17    27k + 26
  • 16k + 15    24k + 23    36k + 35    54k + 53    81k + 80
there are various k 2^a 3^b + r expressions.  I just proved that all such expressions satisfy 0 <= r < 2^a 3^b.  In other words, T^m(r) is the remainder of dividing T^m(x) by the corresponding 2^a 3^b.

Sunday, December 14, 2014

Smalltalks 2014 videos now available

All Smalltalks 2014 videos are now available here.  Enjoy, and happy holidays!

Tuesday, October 28, 2014

Smalltalks 2014 conference schedule

Hello from FAST.  Smalltalks 2014's schedule is now available at our website.  We are very pleased with this year's strong program.  See you at the conference!

Monday, September 08, 2014

Smalltalks 2014 invitation

1. Invitation.

The Fundación Argentina de Smalltalk (FAST, invites you to the 8th International Conference on Smalltalk Technologies (Smalltalks), to be held from November 5th through November 7th at the Universidad Tecnológica Nacional, Facultad Regional Córdoba, located in the city of Córdoba, Argentina. Everyone, including teachers, students, researchers, developers and entrepreneurs, are welcome as speakers or attendees.

This year, we are extremely happy to announce Allen and Rebecca Wirfs-Brock will attend the conference. Allen was instrumental in developing Digitalk's Visual Smalltalk, as well as a leader in modular Smalltalk design. Rebecca created the field of Responsibility Driven Design, which spawned a variety of modern disciplines such as TDD and BDD. Their presence is just a preview of an oustanding presentation program you cannot afford to miss.

2. Registration.

Registration is free and now open at

Please make sure to register early to receive the conference's shirt, as well as to help us plan the conference's social events.

We are accepting donations from participants to help fund the conference's costs. Please see the Donate section at FAST's website,

Contributions are greatly appreciated, and can be received both in pesos for local attendees, as well as via Paypal for those coming from abroad. Please note that donors, including those that have already sent us their contribution (thank you!), will receive a set of thank you gifts as well as the conference's shirt. For those of you that need a receipt, we can provide those on site.

3. Sponsors.

In addition our generous attendee donation contributors, we would like to thank our sponsors. We would not be able to organize the conference without their help.

Platinum sponsors:
+ Caesar Systems
+ GemTalk Systems
+ Instantiations

Silver sponsors:
+ InfOil

Bronze sponsors:
+ 10 Pines
+ Arduino Software
+ Mercap
+ Precision System Design
+ Smallworks

Moreover, this year our official airline carrier is Aerolineas Argentinas. To book plane tickets with Aerolineas Argentinas, please go to

and select Smalltalks 2014 from the list of events (available soon).

4. Call for participation.

Talk proposal submission for the Industry Track is now open at our website:

If you need special arrangements (e.g. because you would like to hold a workshop session), please indicate so in the abstract. The Industry Track's submission deadline is October 13th.

Abstract submitters: please send us a photo and a short bio by answering to this email.

5. Related events.

For more information about related events, such as a Pharo Sprint or talks and presentations around the dates of the conference, please visit

In particular, we like to invite to you Squeakfest 2014, to be held at the same conference site on from November 3rd through November 4th. This companion event highlights Squeak and Etoys used in the context of education. To register, please go to the SqueakFest page under the related events for Smalltalks 2014.

We will update related event information as we get closer to the conference, so please check for updates.

For any additional questions please reply to this email.

See you in Córdoba!

Saturday, August 23, 2014

While at the Seaside Sprint...

Philippe Marschall had an interesting problem to think about... suppose you have a dictionary with string keys, and that you make sure the keys are uppercase.  Alas, when the code receives queries, it gets lowercase keys.  Fixing this requires sending asUppercase, which takes time.  Can you find a way such that both at: and at:put: can be made to work without sending asUppercase?  Can you do it without creating new classes?

I got a proof of concept to run 2x faster.  From what I hear, the improved code will help speed up HTTP requests.