10 September, 2006

A piece of history

Like a Rolling Stone

I finally got the Squeak CD downloaded, took six days over bittorrent. There’s a lot of historical stuff on this CD, though I was surprised as anything to actually find out that there’s actually a DVD available as well. For only the princely sum of (probably US)$9.95 through a paypal account, I too can have an entire DVD’s worth of Smalltalk and Squeak goodness, whatever that all is.

Hey Mister Tambourine Man

So anyhow, I was playing around with this yesterday now that I’ve got it burned to CD and all, and stumbled across the "BotsInc" environment, used to help with a book aimed as a tutorial by programming "bots". Sort of like LOGO (if any of you remember that, feel privileged, most of us are too young) but done Squeaker style with most of a squeak image emptied and only the bare essentials left in to teach about controlling the bot.

Glory Days

Reading up on the history of Smalltalk from its origins back in 1961 up to the release of Smalltalk-76 was quite enlightening, even though I had to rotate the pdf through 90 degrees and increase the font size by about 80% just to read it. Lots of design decisions got talked about, as well as the original view of the author, to produce an environment that kids would naturally want to explore in. Hearing about some of the initial hardware the creators had for working with seemed a bit baroque, especially when they said that the 8086 CPU was a non-optimal chip to use.

Secret Garden

Anyhow, I expect that just like a secret garden, there’ll be all SORTS of things to find out about inside the average Squeak image, let alone the other three or four images that are provided to experiment with, including a whole Web application environment. That one surprised me, but it shouldn’t have. My puzzle is: how do I get access to the environment from outside the Squeak image? At the moment, I don’t know.

Wild World

Just like Cat Stevens of 1970’s singing fame, I feel like this is a switch back to the simpler things of computing—where stuff was experimented with, and it just workedTM. There’s a lot of stuff to re-learn, and probably a whole lot of stuff to learn from new. I hope I enjoy it.

A little bit of reference

I first stumbled across the Smalltalk language when Bruce Eckel, of Thinking In Java fame had described his brief brush with how Smalltalk experts just seemed to grasp certain subjects almost intuitively, in comparison to other programmers who had more of a hard time with those same concepts. Bruce thought it might have been due to the design of the language, where literally everything is an object, and unlike Java, there are no primitives—no Integers, no Floats, no Chars, etc etc. If you create an object, you can put almost anything into that object. For those of us used to lowest-common-denominators of strong typing, having a system whereby you don’t have raw types (int, long, char, float) as a basis to build other types out of can be in some senses totally foreign, yet after a while, it becomes liberating to not have to deal with what type an object is.

Learning to walk the Smalltalk

I’ve yet to learn how that works, as I’m still getting to grips with the bare essentials. The History Of Smalltalk described this phenomenon as well, stating that at the beginning, we quite often have more trouble just thinking in the field natually, because we don’t even know the building blocks of the language; we’ve got no idea of how even to do the simplest of things that we’re used to being able to do in the other languages we’ve learned. And in fact, sometimes what we have learned in those other languages is actually holding us back, because the assumptions of the previous environment simply don’t fit. Stuff like strong typing versus weak typing, or perhaps no typing at all; early binding versus late binding; syntax issues (my current weak point); and of coucse the simple feel of the language are all things to consider when looking at such a different beast as Smalltalk.

Coda

Anyhow, I’m sure I’ll have fun. I’ve got a bucketload—well, okay, a CD load of books to peruse to help me learn the language. I only wish some of these books were available inside the image so I didn’t have to flip between inside the Squeak world and outside just to go read a document. Wish me luck, and if you want to comment, feel free. In fact, do comment, it’ll let me know what you think.

08 September, 2006

The Number 8 Wire Mentality

I had to cobble together something today. Suffice it to say, it worked. Drill a hole in the top of a one or two litre plastic milk bottle lid—Meadow Fresh for us South Islanders, but Anchor might work too; remove the little plastic ridge around the inside of the top, cleaning up as you do so, and remove about 2 mm of the clear plastic around the top of the bottle. Poke the Tommee Tippee Fast-Flow teat through the hole, and clamp down onto bottle, making sure you don’t have any leaks when you’ve finished. Hey presto, one home-made bottle. Nearly as good as the real thing. I note that you have to remove the little ridge inside the lid so that the rubber seals against the remainder of the lid, and you have to remove the 2 mm of plastic on the bottle, so that there's enough thread to grip the lid properly. I of course found this out only through trial and error, like the usual way of doing it, though I bet that if I'd asked an old school dairy farmer, they may well have told me that too. In these modern days, I'll bet they have custom versions, just like they do for babies. Got a story of something you’ve done? Put it in the comments, so we can hear about it too.

07 September, 2006

All booked up

In Fury Born

In my previous post about David Baen I omitted a book of his, mostly because I hadn’t read it yet; however I believe that it’s well worth a mention. It’s a considerable rewrite of a previous novel of his, and is called "In Fury Born". It’s not an Honor Harrington novel, but it rocks even better than they do. I'd like to see more of the series describing this character, and I suspect he will write more. Good one, David Baen. I await the next novel with anticipation.

Sir Arthur Conan who?

Ever read any of Ellis Peter’s novels? No? Well neither had I. He writes about a monk back in the 1100s that ends up being a detective. It’s an interesting twist on the Agatha Christie/Sir Arthur Conan Doyle sort of book, though so far, I’ve only read part of one story, which was on a set of audio tapes that I got. I’ll let you know more when I’ve read them for real.

I’ve lost that reading feeling

Ever had the time where you’ve gone to the library, got books out, only to take them back four weeks later, unread? I seem to have that a bit recently. I think to myself "That might be nice to read up on", yet by the time I’ve gone back, I haven’t looked much at the book. Sometimes it’s because really, I need the book on a full-time basis so I can read it at leisure. I found I had to do that with "The C Programming Language", as well as "Thinking In Java, 4th edition", which I eventually bought for myself from Amazon back in June.

Money money money!

Computer books cost so much for what they actually are, here in New Zealand. For example, to bring in "Thinking In Java", I was quoted $100 by my friendly local bookshop. I decided to amaze myself at Amazon and buy the book there instead. Turns out that zoombuggy also wanted to buy a book. So - we went there, selected the books we wanted, and entered in our all-important details. After the dust had settled, we paid less for both books than we would have paid in New Zealand. I’m not sure what it would have cost our friendly bookstore to bring in that other book, but I don’t think the price would have been as cheap as we paid at Amazon. To illustrate, (these prices are in U.S. dollars) normal purchase price of the Java book would have been $59.95, and at Amazon, I paid $35.45. Add another $10 for the postage and handling over all, and another $3.99 for the book itself, that still comes to less than the price I would have paid for the book normally. Zoombuggy paid $24.95 for her book, and $3.99 for postage - because it was in with my order, she didn't get charged another $10.00 for their "postage and handling cost". Where Amazon seem to make the money is on what they charge for their postage and handling options. I’ve struck this before, when someone ordered a CD for me and was charged a lot more than the postage would have come to.

Like the look?

I thought I’d spice my blog entries up with a few headers. What do you think? You’re welcome to leave me comments, unless of course you’re trying to sell me something, in which case your comment will get /dev/nulled. But I accept all other comments, no matter what currency. I also want comments on my other blog at MSN Spaces, where frankly, I haven't found a "theme" that I like yet. Could be that they need larger previews of their themes so I can actually make an informed choice. I’ve also got to be more careful about any Microsoft-bashing there, as they may decide my comments aren’t what they want to appear in their Spaces.

06 September, 2006

What's the plan?

Solaris can't connect

Well, I finally managed to get Solaris 6/06 downloaded, thanks to the help of someone else who had a fast connection at the time. Now all I have to do is to install it, presumably with that extra acpi-user-options=0x02, or else the kernel won’t recognise my ACPI and won’t work. I’ve already had one lockup booting off the initial CD, which isn’t a good look. While I was at it, I started up another blog at spaces.msn.com, though I haven’t found a colour scheme I like yet.They tout it as not just another blog, but more a whole environment, of which blogging is one part. The nice point, at least for me, is that I don’t have to be running under Windows to access and update it.

Plan 9

Weird. Another experiment of something from Bell Labs, though I’m not entirely sure I’ll get used to it yet. I downloaded their Live CD, and burned it, booted off the CD, and got me a Plan 9 desktop, acme the editor, a terminal that’s a bit ... retro, a series of status meters (mem, activity, load, etc) and a biff-style icon to show mail. Acme is the hardest piece of software to actually get used to, as it contains considerable functionality, combining a file manager with an editor. And to get other stuff working properly (such as ssh or drawterm), I have to set up Plan 9 on a hard disk somewhere and really have a play. That way I’ll be able to generate keys so other services can connect to the Plan 9 box. I can also modify the plan9.ini so that the computer boots straight into the correct screensize, finds the USB mouse, and gets networking up and running. And that’s not even including Inferno, which is another addition to the Plan 9 environment, though it doesn’t just work under that; it can also work as an emulated environment under Linux.

Smalltalk - or at least, Squeak.

I’m downloading the Squeak ISO image, and finding out what they installed on it. I’m not sure if they have made it a live CD or not, I’m beginning to think that the creators of the ISO didn’t. After all, what would you have as the environment that Squeak runs on top of? Browsing the contents makes me suspect that it’s a combination of documents covering Smalltalk and Squeak, and Squeak images for three platforms.

RFC documents

I’ve been working on a bash script that displays RFC documents, and downloads them if the user requires. Currently I have been using bash, with a little extra dash of perl to do the searching, and other support programs. But frankly, the whole script is getting too slow, accessing 4671 documents in one directory may be one limitation. I’m looking for another way of implementing the whole script, so that it runs fast, and not slow; as well as displaying in a window that stays present on the screen, rather than my current method of using pop-up dialogs. I’ve got the option of reimplementing the whole script in perl instead of bash, but I don’t know enough to get me by. I could also do the job in C, but I don’t know C any better than perl. On top of that I then have the problem of what I use for a window manager, whether I use ncurses (for a terminal program) or go to a gtk2 window, counting out all the console users.

And to wrap up

I got Windows XP Home booting again, once I took out the driver for the SATA card I have in the machine. I’ve also found out that the NVidia card won’t work in 3D mode on my Windows install - as soon as DirectX tries to do anything more than see if the card is there, the whole computer freezes. So I've basically had to forget about using the NVidia. Hopefully I can still use Solaris 6/06 with the serial ports. Catch y’all later.