Personal info for rowledge
This person is currently certified at Master level.Name: tim Rowledge
Homepage: http://www.rowledge.org/tim
Notes: VM & systems dweeb of ludicrously long standing. VMMaker author/keeper. Artist for the Squeak logo. Sarcastic bastard. Sex god. Freshly minted Canadian.
This person is:
- a Contributor on project UnixVM.
Recent diary entries for rowledge:
Cool. We just had a Black Bear swimming in our pond. Not every day you see that, even out here.The performance issues with the 64b VM seems have been solved now; the use of inline static functions works ok but isn't optimised quite as well as 'real' code. Making macros available for platforms with such problems restored benchmark figures and other fixes done in the process of finding the problem have made small improvements over that.
Another six months, another diary entry. Hope you all like the 'squeak people moves to Germany' logo!My email address and website have had to move following a set of senility related problems on sumeru - it is after all a seven year old pentium - 66 running a version of linux so old that just logging in raises a cloud of dust. So, I have 'www.rowledge.org' all set up and ready to go and the email address should now be 'tim@rowledge.org'.
The VM is now almost clean for 64bit machines. There is work left to do on making it easy to use and a number of changesets need adding to the update stream. Some plugins still need cleaning up so volunteer to fix any you depend upon. Neither I nor Ian have time to hit them all. I'm a bit concerned that my performance results have dropped significantly with these changes but so far nothing stands out as a likely cause. So far noinfo on performance results for other platforms.
In my last entry I referred to the release of the host windows work; since then there has been zero, zilch, none, no, zip, interest in doing anything with it. Makes me wonder why I bother.
Golly doesn't six months go by quickly?I've been busy though: a job, trips to LA (twice), Portland (for Camp Smalltalk), Seattle (twice, once for Smalltalk Solutions), Victoria (three times) and Vancouver for OOPSLA. Far too much flying and I have to go to SFBA next week for yet another con.
We released Ariethfa Ffenestri a few weeks ago, providing a first version of portable host mulitiple windows. It currently works well on RISC OS and Mac with a Windows port beginning to get on the way. We (which is to say John McIntosh & I) have only made it work with Tweak so far since that is the target UI framework for the TK4 project which is paying for the work. Ned feels it should be a reasonably simple job to make it work for Morphic as well - I'm just about clueless on morphic so I'll take his word for it. For documentation about the VM framework, see the swiki page (http://minnow.cc.gatech.edu/squeak/3862).
Damn 'int' ! It was a really bad idea to have variables in the Slang code default to int; anytime ObjectMemory stretches past the 2Gb range in your machine's memory map uses of int comparison are going to try to bite you in the delicate parts.It took me three days of debugging why my new VM wouldn't load the package loader properly - was it my new file system? the new socket code? something basic in prim dispatching? Why did it work _with the same VM excutalbe_ just a couple of days before? I got to test that the sockets were fetching the same bytes, the files were writing and reading correctly and even that unzipping was working ok. Finally, a check on the actual oops being loaded in primloadsegment revealed that the magical 2Gb boundaryhad been breached! And the reason it worked a few days previously? Such a memory address is caused (or not) by a random number of previous application startup/closedowns claiming memory before Squeak is run.... grrrr.
Still, all I have to do now is fix one offending routine and at least that particular problem will go away. I've managed to get rid of several big irritants in the last couple of weeks. By reimplementing a RISC OS specific version of the basic file access prims I have been able to fake out the 'you cant open a file multiple times if it is open for write' problem. This is a peculiarity of RISC OS that has been pissing me off since the first release of Squeak but it was nicely disguised by a loadable filesystem called !raFS; you probably don't know what RISC OS loadable filesystems are but basically it is possible to trap file system calls and do things like making a big file look just like a DOS disk, or to treat a zip file as a directory, or... whatever. !raFS did this in a way that provided workarounds for several annoying aspects of older RISC OS releases. Sadly it doesn't work for my latest machine and I've been surviving without the ability to use a lot of useful stuff in Squeak for most of a year. Finally I got annoyed enough to get off my bum (or rather, back onto it) and sit at the keyboard to write a loadacode to keep a cache of previously opened files and their name, handle and a reference count. Now when a file is opened I check the list (just the once, I'm not Santa) and if it's not already open I open it and make a new list entry. The Squeak file structure is then given the handle as normal. Any later attempt to open the same file will get the same handle; closes simply decrement the reference count and actually close the file when appropriate. Think of it - Squeak now has a refernce counting garbage collector for file handles! Oh, since I don't need to have to silly variable for 'lastOp' anymore (not using those stupid posix fread things) I use that to store the last set position of the filestream so that there is no overlap between different users of the same handle. It turned out to only take a day to write and I even managed to get truncate into it! So far after a couple of weeks usage there seem to be no bugs. It's a load faster too. Now I get to see my recent chages log! Timestamps in my browser annotations! Monticello works!
I also needed to update the sockets code; it's been left alone apart from emergency fixes for several years. since I understand sockets about as well as Gumby understands hyperspatial trajectory analysis I was really dreading this. Then I had a brainwave - the old code was merely a hackedup copy of Ian P's unix socket code - could it possibly be... Yes! a few trivial hacks to compensate for some (hopefully ) small diferences and whammo, holy bits Batman, it works. So thanks again to Ian's neat code and the unsung good guys that wrote the RISC OS socket libraries to do a pretty good emulation of unix sockets.
So, good improvements in my life as a user of Squeak. I can finally get around to making use of Monticello on a regular basis.
Time for more news, eh. We bought a house! Outside Qualicum Beach, up in the local hills, next to Little Qualicum River. Couple of acres, nice views, pond, trees. Not a terrifically exciting house but nice enough for now. Move in is last week of June. Only real problem at themoment is that broadband internet doesn't reach out that far yet so I'm going to be dailup for a while :-(VMMaker is now pretty much done. Since we're in beta there will be nothing except critical bug fixes until 3.7 final is wrapped up. The latest version is VMMaker 3.7b4 and the only cheng from b2 is that primitive function addresses are cached in the MCache and accessed directly to call the prim. No particular use is made of this yet but it does allow us to cache a specialised version of a prim to suit the class format of the receiver. By avoiding format checks we can save a little time in the prim.
This person has certified others as follows:
- rowledge certified AndreasRaab as Master
- rowledge certified NedKonz as Master
- rowledge certified Craig as Master
Others have certified this person as follows:
- cdegroot certified rowledge as Master
- avi certified rowledge as Master
- AndreasRaab certified rowledge as Master
- NedKonz certified rowledge as Master
- water certified rowledge as Master
- mas certified rowledge as Master
- julian certified rowledge as Master
- laza certified rowledge as Master
- ducasse certified rowledge as Master
- bkv certified rowledge as Master
- BertFreudenberg certified rowledge as Master
- TorstenBergmann certified rowledge as Master
- gokr certified rowledge as Master
- schwa certified rowledge as Master
- dway certified rowledge as Master
- MikeRoberts certified rowledge as Master
- cwp certified rowledge as Master
- willembryce certified rowledge as Master
- Socinian certified rowledge as Master
- dfaught certified rowledge as Master
- yanni certified rowledge as Master
- SergeStinckwich certified rowledge as Master
- gaelli certified rowledge as Master
- simon certified rowledge as Master
- dclapp certified rowledge as Master
- KenCausey certified rowledge as Master
- brian certified rowledge as Master
- jimm certified rowledge as Master
- jpfersich certified rowledge as Master
- DanyAltman certified rowledge as Master
- Jecel certified rowledge as Master
- luciano certified rowledge as Master
- HernanTylim certified rowledge as Master
- kirtai certified rowledge as Master
- FrankShearar certified rowledge as Master
- chbu certified rowledge as Master
- raimv certified rowledge as Master
- DanRozenfarb certified rowledge as Master
- rga certified rowledge as Master
- Craig certified rowledge as Master
- rwuyts certified rowledge as Master
- GermanArduino certified rowledge as Master
- ragnar certified rowledge as Master
- asparagi certified rowledge as Master
- pwl certified rowledge as Master
- laton13 certified rowledge as Master
- RomainRobbes certified rowledge as Master
- grepninja certified rowledge as Master
- dwight certified rowledge as Master
- LantzR certified rowledge as Master
- humasect certified rowledge as Master
- iho certified rowledge as Master
- rstaehli certified rowledge as Master
- msh certified rowledge as Master
- chrismuller certified rowledge as Master
- Ozzard certified rowledge as Master
- Chronos certified rowledge as Master
- tonyg certified rowledge as Master
- cdrick certified rowledge as Master
- djr certified rowledge as Master
- tansel certified rowledge as Master
- ron certified rowledge as Master
- noha certified rowledge as Master
- mivsek certified rowledge as Master
[ Certification disabled because you're not logged in. ]
[ Home | Articles | Login/Account | People | Projects ]