general

Rockets are Cool

October 17, 2004 22:58:09.240

This afternoon my daughter's girl scout troop had an outing to Goddard Space Center. The girls had put together some rocket kits recently - we had a kit from Estes rockets. It turns out that a local rocket club meets at Goddard once a month on Sundays, and helps anyone else who shows up launch a rocket. It's all pretty safe - the rockets are lit of electrically from a launch pad, so there's no fire, or fuses. Here's a shot I took just after my daughter's first rocket went off - I missed the launch itself (kind of hard to catch with a cheap camera phone :) )

That one went pretty well - it had a streamer instead a parachute, but it came down nicely and in one piece - we can slap another engine into it and try again sometime. Here's a shot of the second rocket, which looked like a cruise missile:

Again, I missed the launch itself. This one went up, but the parachute didn't deploy properly - and it came down hard. The nose buried itself in the ground, and the rest of the rocket came apart (it can be re-glued - it didn't actually shatter). Here's what that rocket looks like ( I can't find the first one on the estes site):

All in all, it was great fun - we'll definitely do it again.

 Share Tweet This

BottomFeeder

BottomFeeder 3.7 redux

October 17, 2004 10:45:20.994

After getting a few bug reports, I spoke with Michael. After he pondered the background download code of WithStyle for a bit, he had a patch - not only did it go into his nightly build, but he was kind enough to send it to me immediately. So, there's an update available for the existing build. I decided that this warranted a fresh set of builds, so the downloads on the site have all been replaced - if you want to start over with 3.7, just grab the appropriate base-app*.zip file, and replace the exe or VM.

 Share Tweet This

sports

Nothing but bat

October 16, 2004 22:34:39.969

Gads, as I start writing this, it's only the 4th inning - and the score of the Yankees/Sox game is already 11-6 (Yankees). The pitchers have all been rocked - starters and relievers alike. The Yankees are on their second pitcher - after Brown got rocked, they brought in Vasquez, and he got touched for two - and his control is looking none too good. Meanwhile, Arroyo got shellacked. His replacement, Mendoza, lasted part of an inning before they went to Leskanic - and he just gave up 5 runs. They brought in tomorrow's starter, Wakefield to close the inning down. I guess they'll be handing the ball to Lowe tomorrow night. At this rate, the core could be in double digits for both teams, and it could read like the score of tomorrow's Patriots game.

So here it is the bottom of the fourth - I guess with a 5 run lead, the Yankees feel ok leaving Vasquez in (and he just struck out Bellhorn, so maybe it's ok). This is going to be a game that depletes the pitching staffs if this keeps up. Sheesh, I spoke too soon - a walk to Ramirez after a boatload of pitches, followed by a single to right by Ortiz. Sturtze is getting loose (and let me tell you, that doesn't fill me with confidence) - and there's only one out. Vasquez is not finding the strike zone - and wow, did he get lucky. A line drive right at Olerud, and he was able to tag Ortiz before he got back to the bag. If Vasquez is back out there next inning, I'll be shocked.

I guess this counts as live-blogging - I'll just keep updating the post as stuff of interest happens.

Well, that didn't take long. The top of the fifth was looking quiet with 1 on (Jeter) and one out, and then bam - A-Rod doubled. Now it's 12-6, and there's A-Rod in scoring position. I wonder what the Sox will do if Wakefield starts getting pasted? That bullpen is starting to look very, very thin. And abm - Sheffield pastes another ball for a double, bringing A-Rod home - 13-6. The Sox bench is looking like a wake right now, and I don't think I've ever seen Fenway so quiet - you could just about hear a pin drop... As things have gone tonight, that was a fairly light inning - only 2 more runs scored. It's going to be a long, long night for the Red Sox bullpen at this rate...

Well, Vasquez is back out, and he's being effective. He actually threw a 1-2-3 inning! On to the 6th, and we'll see if the Yankees can get Wakefield torched out.

Maybe things are settling down for awhile. Posada went deep, but to dead center for an out. Huh. Sierra pasted one as well, but to left-center - just about the only place that ball could be caught. Two outs, but Francona can't feel good about those balls - Wakefield dodged two bullets just now. Well, lucky or not, Olerud went quietly - 1-2-3 for Wakefield. The Yankees have a little over 2 innings before they can go to Rivera - I expect to see him out there in the 8th. We'll have to see how the next few innings fall out...

Hmm - Olerud must have hurt his foot on that ground out. He's out, and now Cabrera has just slapped a double to that odd corner in center left. Damon just continued his ineffectuallness in this series - shallow pop out. Fox knows that the game is close to being a laugher - they are out in the stands interviewing Steven King (so this must be a horror movie :) ). Bellhorn just struck out, so we have Ramirez up with 2 gone. And Ramirez goes down on strikes, so it looks like Vasquez has found his pitches, and he's making them. On to the 7th - things are just getting quieter and quieter at Fenway.

And Cairo gets on with an infield hit - The Yankees have their first man on again. Jeter hasn't done much tonight (one walk) - and Damon makes a nice grab on a looper to center. Almost another Red Sox moment as Bellhorn drops a pop in shallow center, but they got Cairo at second - he was assuming an easy out there. Still, 2 outs. Now Fox is looking at stats on teams that have come back from 3-0 in a 7 game series - none in the MLB, none in the NBA - and only 2 in the NHL. In other words, if the Sox lose tonight, the fat lady is warming up. And in anticipation of that, Sheffield just pasted another ball into the green monster for a long single. Wakefield is out, Embree is coming in. Another scoring possibility for the Yankees.

And Matsui just got a single, scoring A-Rod and sending Sheffield to 3rd! 14-6, and no pitcher for the Sox has been up to the task tonight. This game is just washing away from them. And wow - Bernie Williams just put it past Damon, and 2 more runs score, and Williams get sto second. Fenway is now like a crypt - it's filled with the walking dead Sox fans. And Posada finds the wall, scoring Williams, Posada to second for another double. It's now 17-6, and Fox needs to go find Steven King again. Sierra grounds out, and the inning is mercifully over for the Sox. I don't think the Yankees are going to need Rivera at this point - not unless a comeback of epic proportions takes place. At this point, I'm not seeing it. For tonight at least, the Sox are done.

Well, there's some life left in the Sox. Ortiz doubled and Varitek homered - 17-8 now. More bad news for the Sox though - it looks like Ortiz may have hurt himself on his swing somehow. The Yankees have Quantrill warming up, and it looks like Vasquez is just about done. After a shaky start he did enough; he chewed up the middle innings. Nixon got a lot of that ball, but not enough - just a long out. Looks like Quantrill is coming in.

Another hard hit ball by Mueller, but Matsui managed to hold it to a long single. Two outs though, and Quantrill looks like he's got decent stuff tonight. Well, I spoke too soon. Cabrera just lined a single, so Damon comes up with 2 on. Damon flied out harmlessly to left, continuing his inability to hit in this series. No further damage - and Sturtze and Gordon are both warming up. With the 8th inning coing up, I don't expect to see Quantrill go back out. Of course, the open question is - will the night get any longer for Red Sox pitching in the top of the 8th?

Wow, another pitcher for the Red Sox. Mike Myers, and they've also put Mirabelli behind the plate. He's usually the guy who catches Wakefield, and Varitek has been hitting well - I'm not sure I understand that move. Myers got Clark (the replacement 1st baseman) on strikes - his delivery muct be hard to track. He's got a normal overhand delivery, but also a side-arm sinker ball thing. Another strike out - the Sox have finally found a pitcher who isn't off his game tonight. Well, Jeter fought out his at-bat for a single. A close play at second on a good stop by Bellhorn - ends the inning, and Sox finally get another quiet half inning. Two left to play - it's looking like 3-0 advantage Yankees.

Well, Quantrill is still in. I suppose I shouldn't be surprised - why waste another pitcher when you're up by 9 with 2 innings left? This is why Torre gets paid the big bucks and I just comment on thus stuff :) Bellhorn struck out, and Ramirez quietly flew out to center, so it looks like Quantrill has settled in. On Fox, the announcers are talking about the likely starter for game 4 (probably Lowe) - and who's left in the Sox pen for tomorrow. They have used a lot of pitchers tonight. Quantrill gets Ortiz on strikes, so keeping him in looks like the right call - on to the 9th.

Heck, I hit the bathroom and I missed something - looks like Sheffield got on base. Whoa - Matsui just hit a 2 run homer. 19-8. Williams just got a single, so it looks like Myers only had one good inning in him. Wow - the Sox are warming up Foulke - their closer. You never want to bring in your closer when you're down by 11 runs. But heck, what can they do? They've blown through the pen. Posada just got a single, and now there are 2 on, no outs, and Sierra coming up. He struck out, and Clark lined into a double play. The Red Sox survived that inning - but it's just too late.

Well, Gordon is coming in after all. One down, Mirabelli popped out to second. I'm always nervous when Gordon pitches, but I don't think he can blow an 11 run lead. Wow - according to Buck on Fox, we just passed (combined for both teams) 400 pitches. Wow. Now, there's why Gordon makes me nervous - fastball out over the plate, and Trot Nixon slammed a double off the wall in left. Down 11 runs, it's ok. In a typical set up man's spot, it's nerve wracking. Speaking of which, a wild pitch sent Nixon over to third. Millar just struck out, so the Sox have one out left. A soft fly to center, and Gordon did the job. Game over - and the Yankees have their foot on the throats of the Sox.

The ironic thing is, the Red Sox were favored coming into this series. Both teams can hit, but everyone thought that the Sox had the better pitching staff. Of course, the Yankees did win the division, so the Sox pitching couldn't be that much better. Still, in a short series, the thinking was that Schilling and Martinez would mow the Yankees down in the first two games, and then they could just split the next four - just like the Diamondbacks did in 2001. It didn't go that way - Schilling is hurt, and he got shelled. Mussina pitched well for almost 7, and Lieber did very well for 7. Martinez pitched well - but not well enough. Brown got knocked out early, but Vasquez and Quantrill chewed up the middle innings well, and the Red Sox staff served up a steady diet of gopher balls. So at the end of the day, the Sox are faced with having to execute a comeback of the sort that has never been managed by any MLB team in a 7 game series - return from a 3-0 deficit. At this point, I'm thinking sweep.

 Share Tweet This

BottomFeeder

Bug in 3.7

October 16, 2004 22:14:41.325

I've had a few reports of people having problems viewing content in the just released 3.7 - as it happens, the WithStyle guys found a flaw in the html component - and they have a fix. I should have an update out within 2 days (I have to await their build). Once it's out, I'll redo all the builds and upload fresh, so that first time users won't have to grab the update. I'll post on this again when the fix is available.

Update: The patch is available. Grab Both WS updates and restart - things should improve after that

Update: Another tip - if you still see problems, check to see whether your system has hyper-threading support. If so, right click on the BottomFeeder process and set affinity to one CPU - that should address the problem.

 Share Tweet This

smalltalk

Smalltalk in action

October 16, 2004 12:55:41.982

Blaine Buxton points to an interesting sounding trading system written in Smalltalk (Dolphin). Of course, no discussion of trading systems is complete without a reference to the Kapital System written in Cincom Smalltalk by JP Morgan.

 Share Tweet This

general

Congratulations to Eric

October 16, 2004 12:31:03.847

Congratulations are in order for Eric - he's about to start working for Gemstone. This is great news for Eric, and great news for Gemstone. It will be interesting to see Eric making the transition from the end user side of the fence over to the vendor side. It's great to see things turned around so quickly for him!

 Share Tweet This

sports

What are they smoking?

October 16, 2004 10:35:49.272

So I'm looking at the various sports page reporting of the Yankees/Sox series - the Boston Globe has this piece up. They are still trying to figure out a way to get Schilling out there. This is just the height of irresponsibility - they way the injury has been described, it seems to me that they are toying with Schilling's career in the vain hope of a win. And it's a pretty slim hope, too - look at how he fared with that ankle in game 1. It's time for the Sox to sit the guy down and let the surgeons work. They shouldn't be risking any more damage to him. I realize how much they want to win - but this is just irresponsible...

 Share Tweet This

sports

Boston panics

October 15, 2004 16:54:10.083

ESPN documents the latest Sox troubles:

Perhaps it's time for the Red Sox to sue George Steinbrenner over missing child support payments for Pedro Martinez because at the moment, the court system appears to be Boston's only viable way of beating the Yankees. Here's the situation after Wednesday's 3-1 loss, perhaps the most dire Boston has ever faced that didn't involve Ben Affleck

We'll see how tonight goes (if it doesn't rain). The Yankees are in a commanding position; a win tonight will pretty much put it away.

 Share Tweet This

development

VisualStudio finds its way to the 1970's

October 15, 2004 16:23:37.867

Oh look - VS will have edit and continue next year. Good job making it into the 70's guys :)

 Share Tweet This

tv

Tru out

October 15, 2004 14:22:40.740

I should never express the fact that I like a show; every time I do, this happens. Looks like my friend Mike was right; it's toast...

 Share Tweet This

BottomFeeder

BottomFeeder 3.7 is out

October 15, 2004 13:59:23.815

I've just released BottomFeeder 3.7. This release includes WithStyle instead of Twoflower; the html display is much, much better. Bf now supports CSS, and a number of example stylesheets have been included. Documentation now ships with the download, and is thus accessible offline - something a number of people asked for. If you have an existing installation, you should be able to just grab the appropriate baseapp-*.zip file, and replace the image (or exe), VM. You should delete all the files in the 'app' directory as well. I'd like to thank Michael Lucas-Smith - without his help, I'd have never been able to get NetResources and WithStyle working for me. I'd also like to thank Troy Brumley, Travis Griggs, Mark Derricutt, and Eric Winger for beta testing the in development versions of this release; some of the early releases were pretty raw, and they were all a very helpful. Rich Demers did his usual great job with the docs; any bugs or defects you find are all mine. Enjoy.

 Share Tweet This

cst

Store for Sybase

October 15, 2004 11:53:39.825

The Cincom Smalltalk community comes through again - there's an implementation of Store for Sybase out there now. I ran across this on comp.lang.smalltalk

StoreSybase adds Sybase support to Store. It is tested with VWNC 7.2.1, Linux (FreeBSD 4.8) and Sybase 11.9.2. It uses a CTLib connection to Sybase. It may be downloaded from:

ftp://ftp.cincomsmalltalk.com/pub/goodies/StoreSybase/StoreSybase.tgz

Be sure to read README.syb before installing.

ERRATA:

  1. If you want user/group management, install it when asked during database table installation. Installing it later doesn't work.
  2. Despite what the User/Group Privileges Tool may lead you to believe, checks for read permission are not implemented. Everyone has read permission on everything.

Enjoy!
Carl Mascott
cmascott_del_t...@att.net
If replying by e-mail please correct my address.

 Share Tweet This

travel

On the road again

October 14, 2004 9:31:43.203

I'm off to Raleigh-Durham this morning, giving the "what's new with Cincom Smalltalk" speech to a customer we haven't visited in awhile. I think they'll be pleasantly surprised at all the work we've been doing - they've been in "heads down" development for quite some time. We'll see how it goes.

 Share Tweet This

development

Did anyone say Corba?

October 14, 2004 9:28:52.777

Mark Baker points to more evidence of creeping complexity (shades of the OMG spec-a-day approach) from the WS_* crowd. Web Services started out looking lightweight. Lately, it looks like a ton of bricks sitting on top of a sea of lard...

 Share Tweet This

open source

Now comes the hard part

October 14, 2004 9:27:37.140

Jonathan Schwartz points to some of the recent successes of OpenOffice and StarOffice - having the EU formally recommend it is good for Open Office, and good for competition - heck, maybe MS will wake up and fix some of the lingering annoyances in Word. The hard part is still ahead though - there are lots of shops that have built a large amount of MS Office specific support into their systems - in particular, replacing things like Excel will be very difficult due to the macro intensive systems that are out there. For people getting started, the choice looks pretty clear - Office is expensive - and to my mind, irritating. Open Office isn't much less irritating, but it's free. Things are dicier in the large user community though...

 Share Tweet This

sports

Yankees up 2-0

October 13, 2004 23:49:03.751

Lieber, against all expectations, out-pitched Martinez. He went nearly 8 innings and allowed one run (and that happened with Gordon in). Meanwhile, Martinez lasted 6 and gave up 3 - which was a good outing, but not good enough this time. The series now goes to Boston with the Yankees in a great position - and with Martinez hearing "Who's your daddy?" echoing in his ears :)

 Share Tweet This

management

Re: Interesting quote

October 13, 2004 14:37:13.280

Via Rob Fahrni I ran across this at mini-microsoft:

"What rarely rarely works is #3: people and product. That company succeeded because of their unique development environment and personalities. Now that environment is gone and they are forced to develop the Microsoft Way. They've been blue bagded. And slowly the greatness that was their product has the life drained out of it and it becomes less and less relevant (e.g., Great Plains). These acquisitions are where we should have been spending money to have great partnerships and not blow a bunch of cash and fritter away a product just to feel we have a market segment covered." -

I don't think this is an MS specific problem. Look at the rapid invisibility of Rational's product line, for instance. When larger entities buy smaller ones, they tend to smother them - the corporate culture of the buyer quite often doesn't 'fit' very well on top of the people who ran the product at the smaller outfit. I recall reading an article in Business Week (a long time ago now) about how many mergers just don't work out - and it's for reasons like this.

 Share Tweet This

marketing

Scoble says - tell me why our products suck

October 13, 2004 7:49:07.711

Scoble wants to know why people think Microsoft products suck (see the linked article - it is his question :) ). Well. I'm sure everyone remembers just how fond I am of MS Word. Just follow the link - I don't feel like going off on another rant about the wonders of stupidly smart software. I will say this as a general comment - ship these things with the (supposedly helpful) features off. I can enable things like dancing menus by myself if I'm feeling like being disabled, thanks.

The primary issue has to be security though. To figure out just how bad this is, all you need is a PC running any Microsoft client OS and a child who uses that machine regularly. You end up having to clean off various pieces of spyware on a regular basis - whether you have a firewall installed or not. And no, SP2 for XP doesn't help - the so called security we all held our breath for is fundamentally broken. I'd actually disagree with the author of that piece in one important respect - it's actually worse than nothing. With nothing, you might realize that you need a firewall. With SP2's badly implemented firewall, you probably won't.

The basic problem for MS is a nasty legacy issue. Everything they've done over the last 15 years placed individual and group productivity ahead of security - which is why every OS up to XP shipped with a variety of services actively listening. It was obvious around 1998 or so that this was a really bad idea - and yet MS kept plowing straight ahead, shipping completely vulnerable products for years. I've seen the results - you've seen the results. Friends and associates who beg you to help them with their PC problems, attacks that come swarming at you the instant you go online - the poor decisions made from the mid 90's forward will haunt us for years given the slow update cycle that people live on.

Bottom line - we are in the market for a new PC. The top of my list is going to be an Apple product, because I'm tired of living in the insecurity swamp that MS has created. SP2 was a half-assed response to the problem. If they want to be taken seriously, they are going to have to start being serious - which means shutting up about the wonders of Tablet PC's and paying attention to fundamentals. Nifty writing recognition doesn't impress me when so many PC's are 0wned...

 Share Tweet This

sports

Did I say cardiac?

October 13, 2004 0:15:06.638

Now that's what postseason baseball is supposed to look like. It was like watching two completely different games. The Yankees jumped all over Schilling in the first 3 innings, scoring 6 runs. I was wondering what the announcers were smoking at that point - they kept wondering what was wrong with Schilling - even though we knew about his ankle injury, and even though he repeatedly bent down to retie the shoelace on that foot. He was clearly in pain - you could tell by the way he drove off his back leg, you could tell by the way he kept checking the foot - and you could tell by the lack of velocity and movement on the ball.

The other thing that kept the game interesting at that point was Mussina - for 6 1/3 innings, he had a perfect game going. Then suddenly, Bellhorn got a double. Things went downhill quickly for Mussina - 2 runs scored, and with two men on, out he went, replaced by Sturtze. This is the point where I started to get nervous - and Varitek's 3 run shot didn't help calm my nerves. At least the inning finally ended, with the score 8-5. That was the start of the "second game" - we had 6 innings of laugher with a near perfect game, followed by 3 innings of nail biting.

In the 7th, the Yankees brought in Gordon, the set up guy for Rivera. Now, I'm sure that Torre didn't want to use Rivera - he had just returned from a family tragedy - he only got to the stadium in the 3rd inning. Gordon got an out quickly, but then the trouble started. Two guys got on - this is the point where I was wondering why Gordon was still in - and Ortiz was up. Ortiz has power, but he's not the fastest guy on the planet. He hits a triple, making the game 8-7. This is where I had to run out for Tums.... it just looked bad.

Thankfully, Rivera came in and shut things down. Bottom of the 8th - another Red Sox moment. They have Timlin pitching, the set up guy. One out, and the Yankees get two straight hits - A-Rod and Sheffield get on. Matsui pops out (he had a great night though - 5 RBI's). Bernie Williams comes up. Here's the Red Sox moment - two on, Foulke warming up - and Timlin still in. Williams comes through with a double, and the score goes to 10-7 - which is great, because I can finally breathe again. One more chance for the Sox - against Rivera

The Sox insist on making it interesting. With one out, Varitek and Cabrera get on. Bill Mueller comes up - and this guy is no slouch. The tying run is up, and there's only one out. He hits a shot - foul, thank goodness. Then salvation - a roller back to Rivera, and we have a double play. The game ends, with NY on top. What a roller coaster!

Now, this leaves some interesting things for the next few games. Schilling - his ankle is not good. Based on how he looked, I think the Sox would have been better off starting Pedro, following with Wakefield. Sure, the yanks scored two runs off him tonight before the 5 run Red Sox rally - but last year in the ALCS, he utterly baffled them. That would have rested Schilling until game three, which will be in Boston. If they didn't know his ankle was that bad, they simply weren't paying attention. All good for me though - he threw a lot of pitches, and the Yankees are up 1-0. Bring on Martinez - I like the Yankees chances.

 Share Tweet This

examples

Parsing Windows.h in VW

October 12, 2004 18:04:45.860

Cincom Smalltalk support - Dave Wallen, specifically - has provided an answer to a fairly sticky problem some CST developers on Windows have - dealing with Windows API functions via the windows.h header file. There are a few problems that the DLLCC parser has with it - here's a solution with some instructions:

I played around with getting windows.h to parse. Only a few #defines were necessary in advance, and the thing now parses. The file is uploaded, but here are its contents anyway. Beware that once the parsing was completed, I was able to generate methods, but it took at least an hour on a PIII 500. I set GrowthReg. Upper Bound to 100MB, and it used it all. Also, I did not select any "macro"s for methods. I'm not sure if it works or not, but it would take forever, so I disabled the macros section. All the other sections did receive methods.

This file works on an installation with MSVC 2003. Not sure about other versions.


/*-------------------------------
 *  CincomWindows.h
 *-------------------------------
   This file was successfully parsed by VW 7.2.1 under the following conditions.
   1. Create a directory, called Include, with two subdirectories, called
      C_include and Win_include. 
   2. Copy this file to Include.
   3. Copy the entire \Microsoft Visual Studio .NET 2003\Vc7\include directory
      to C_include.
   4. Copy the entire \Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include
      to Win_include.
   5. In the Builder, enter these three directories as the include directories,
      C_include, then Win_include, then Include.
   6. In the Builder, enter this file as the only include file (CincomWindows.h).
   7. Click Parse Files, and the files are parsed.
  
   The following files were parsed, and no errors were reported. As an aside,
   this list was generated by printing to Transcript, in the method
   CPreprocessor>>include. It won't compile without AdvancedTools loaded.

   ('basetsd.h' 'cderr.h' 'cguid.h' 'CincomWindows.h'
   'commdlg.h' 'ctype.h' 'dde.h' 'ddeml.h' 'dlgs.h' 'excpt.h' 'guiddef.h' 'imm.h'
   'lzexpand.h' 'mcx.h' 'mmsystem.h' 'msxml.h' 'nb30.h' 'oaidl.h' 'objbase.h'
   'objidl.h' 'ole2.h' 'oleauto.h' 'oleidl.h' 'poppack.h' 'propidl.h' 'prsht.h'
   'pshpack1.h' 'pshpack2.h' 'pshpack4.h' 'pshpack8.h' 'reason.h' 'rpc.h' 'rpcasync.h'
   'rpcdce.h' 'rpcdcep.h' 'rpcndr.h' 'rpcnsi.h' 'rpcnsip.h' 'rpcnterr.h' 'servprov.h'
   'shellapi.h' 'stdarg.h' 'stdlib.h' 'stralign.h' 'string.h' 'tvout.h' 'unknwn.h'
   'urlmon.h' 'winbase.h' 'wincon.h' 'wincrypt.h' 'windef.h' 'windows.h' 'winefs.h'
   'winerror.h' 'wingdi.h' 'winioctl.h' 'winnetwk.h' 'winnls.h' 'winnt.h' 'winperf.h'
   'winreg.h' 'winscard.h' 'winsmcrd.h' 'winsock.h' 'winspool.h' 'winsvc.h'
   'winuser.h' 'winver.h' 'wtypes.h')

   Note: the RPC entry below is there to avoid a parsing error. The version may
         not match your installation, in which case you may need to change it to
         the value specified in the file rpcndr.h.
*/


#define WINVER 0x0500
#define _WIN32
#define NOWINRES
#define _M_IX86
#define __declspec(dllexport)
#define __RPCNDR_H_VERSION__ 475

#include "windows.h" 

So there you go. Your mileage may vary on other versions of windows.h from other revs of the OS, but the above should give you a headstart on how to proceed.

 Share Tweet This

sports

Losing Focus...

October 12, 2004 17:11:07.188

I have to admit - with only 3 hours (as I write this) to go before the start of game 1 of the ALCS between the Yanks and Sox, I'm losing my ability to focus on anything else. Work, politics, other news? Blah, who cares. Bring on game 1! Another funny thing related to my earlier post about this rivalry making it into politics - Kerry mentioned the series again today. The hype for this is getting to be bigger than Super Bowl level...

 Share Tweet This

sports

How hot is the Yankees/Sox rivalry?

October 12, 2004 11:40:43.409

Looks like the Yankees/Red Sox series transcends even politics:

"We all want the same things. We want our country to be respected in the world, we want good jobs, and we all want to beat the New York Yankees!"

Ironically, this was said by Kerry in Ohio - and the Yankees AAA farm team is based in Columbus. Heh.

 Share Tweet This

smalltalk

Smalltalk Interest

October 12, 2004 11:23:42.207

 Share Tweet This

blog

Wikis and Blogs - some thoughts

October 12, 2004 9:19:30.426

I've been using Wikis for many years now - the VW Wiki at UIUC has been a valuable resource for Smalltalk developers for a long time, and the Cincom Smalltalk Wiki is a place where we (the Cincom Smalltalk team) put out information on what we have coming down the pipeline. As a team, we use Wikis for internal communication as well. Periodically, I get asked "So what's the difference between a Wiki and a blog? Both allow for user editable web page - why use one over the other?"

It's a good question. As it happens, the two kinds of websites have some rough similarities (both are user editable in some sense) - but they also differ quite a bit. In broad terms, a Wiki has what you might call an emergent voice - it's an agglomeration of the input of the community of users who are interested in the content being managed. Here's an example - the history for one of the pages on the VW Wiki:

See how there's a long list of editing changes across time? That page was originally created in October of 1999 - and the last (real) edit of it was in April of this year. Looking at the list of edits, you can see that the page was edited by more than one person across a long time interval. As the interests of people have waxed and waned, content has been added (or subtracted) from the page. Over time, the direction of a page tends to focus in - at least on this wiki.

Other wikis can come to resemble conversations - have a look at the popular C2 Wiki, originally started by Ward Cunnigham many years ago. A glance at the recent changes page shows many changes over the course of a single day - have a look at this page, for instance - you can see that many people have contributed content over a long period of time.

A popular wiki can quickly spawn off dozens of side points and conversations - a good example of this is the Atom Wiki, created to engender conversation and conclusions on the Atom syndication format (an alternative to RSS). The limitations of a wiki for conversational purposes cropped up rather quickly here, and spawned a mailing list. That list tends to have dozens (sometimes over 100) messages a day, quite frequently on the finer points of things like date formats. This is barely manageable as a mailing list; it completely fell apart as a Wiki

In general, Wikis work well when you have a fairly limited number of people contributing content, and a larger body of readers and occasional contributors. If the amount of content creation spirals too quickly, there's just too much information - it becomes a lot like a USENET group that's been taken over by trolls. Even if most of the content is good, there is such a thing as too much of a good thing.

How do blogs play into this? Blogs allow for a much tighter focus on editorial control. You can disable comments, for instance - and thus ensure that only one voice is being heard. Even with comments enabled, they typically are not shown when a visitor comes to the site - the visitor has to choose to view comments (as opposed to a Wiki, where anyone can add any content they want anywhere on a page).

Have a look at this screenshot of my blog, for instance:

There are individual articles, and the start/end of an article is determined by the author. With a wiki, a reader can re-edit to their heart's content; a blog is much more like an editorial page - and comments are akin to letters to the editor. The author of the blog retains ultimate control; he can choose to allow comments or not, and - like a newspaper - decide whether a given comment (or article) stays or goes.

With a wiki, you don't have full control over the content - and attempting to keep control will lead to "last one to edit wins" types of battles. A wiki is most useful when you want to create a community accessible site, where constructive criticism is encouraged. A blog is far more useful for getting your specific message out, without changes being made by someone else. Sure, other bloggers can make comparison posts linking to yours (I do that all the time) - but the author still retains complete control over the content - and ultimately, over the message.

There's another very large difference as well. A wiki is much more like a "traditional" website than a blog is. Once a page is created on a Wiki, it's just there (unless, it's deleted, just as with any other site). A blog is much more ephemeral. Typically, the main blog page will show the last N items or the last N days worth of items. Sure, everything is accessible via the archives or via search - but it's not just there. The top page of a Wiki, with the items it points to, is a (relative) constant. The top page of a blog changes with every posting. Thus, a Wiki is better for information that needs to be "sticky" - a blog is much more akin to the morning newspaper. Fresh, but changing.

So, getting back to the comparison - under which circumstances do you want a wiki, and under which do you want a blog? If you want to encourage input from a community, a wiki is a good tool for that - however, you need to be aware of the limitations. Most people are uncomfortable writing html, and many people will be uncomfortable using wiki markup (most wikis support a simplified markup scheme). Given that, you are going to get feedback from a limited subset of the total readership. This subset will be even smaller if you aren't targeting a technical audience. If you want to get a personal voice "out there" talking about your products and services, blogs are the way to go. A caveat here though - a blog is only useful if the author(s) post regularly on topics of interest to the target audience. It's very easy to start a blog - it's much more difficult to sustain one.

In many cases, you are going to want to use wikis for some circumstances, and blogs for others. Either way, commitment is very important. Blogs need regular postings - wikis need maintenance and pruning. If you plan to use either or both, you need to walk into the venture knowing full well that a decent sized time commitment is necessary.

 Share Tweet This

smalltalk

Croquet is out

October 12, 2004 7:53:09.519

Croquet is out - grab the release here. For a "first impressions" kind of post, see Michael's post

 Share Tweet This

humor

There are insane parents everywhere

October 12, 2004 7:39:49.747

The Register reports that a Chinese couple was denied their request to name a child '@' - as it cannot be directly translated into Mandarin. Lucky for that poor kid, who still has to grow up with these morons....

 Share Tweet This

humor

Where patent suits will end up

October 11, 2004 15:33:04.448

Up next for Kodak - watch out, Mr. Sun :)

 Share Tweet This

cincom

Cincom's Tom Nies Interviewed

October 11, 2004 12:24:50.018

I posted a few days back that our founder and CEO, Tom Nies, was being interviewed on a Florida radio station. Here's the transcript - I'll be linking to a more cleanly formatted version when it appears on our corporate site

10/5/2004

There's a lot of debate right now, especially in this political season and with the current economic climate, about the outsourcing of jobs and all that good stuff. And we're going to bring Mr. Nies in here now to get his thoughts on it.

Interviewer: Tom, thanks for joining us. Mr. Nies are you there?

Mr. Nies: Good morning.

Interviewer: Good morning Mr. Nies how are you doing?

Mr. Nies: I'm fine thanks and you?

Interviewer: Thanks for joining us here on The Morning Show here on New Radio 1270 WFLA.

Mr. Nies: Thanks for inviting me. I'm happy to be here.

Interviewer: Well good. Well first of all, in this segment here, we want to get to all these questions I have for you. But just tell us a little about your company. People know about Microsoft, but possibly not a whole lot of people know about Cincom Systems, Inc. Tell us a little bit about the company.

Mr. Nies: Well Cincom's actually the oldest software company in the world. We helped to start the industry back in 1968. Back in those days, we sold to commercial customers - people who had the large-scale computers - and we built, developed, and offered what we call strategic software. We've been doing it ever since.

Interviewer: Well how'd you get started in the business, Tom?

Mr. Nies: We simply saw a need that needed to be filled and we did so. This is what almost all entrepreneurs do. They see needs. They try to fill them. They take an opening and try to do so in the way that they can keep their heads above water, make a profit and grow and expand the business. We saw a need and we stepped in. In the process, we helped to create one of today's most important industries.

Interviewer: Now Tom, like I said, the software industry is very competitive now and like you said, yours is one of the oldest in the business. How have you been able to stay so successful with the Microsofts and all the other companies that continue to pop up all the time?

Mr. Nies: In a scene from an early movie, W.C. Fields once was telling a young English boy, "Earn 20 pounds a year and spend 19, and you'll be a happy man for life. Earn 20 pounds a year and spend 21, and you'll be a miserable wretch, like me my son. Basically what we have attempted to do is just that. Grow responsibly as fast as we can, satisfy as many customer wants and needs as we can, but to do so in such a way that we're economically viable. We just continue to do that. You're right. Our industry is highly competitive today, just like all businesses. We've probably got two, three, or four times the supply of software providers that the world really needs today. That's a good deal for the customer though because this means he can "buy right." The customer can make demands on the provider and get very good deals.

Interviewer: Well definitely. You now provide software to commercial companies and more than the individual software owner.

Mr. Nies: We serve strategic users, not personal end-users. We don't sell games and software to personal buyers. We sell to businesses, government, hospitals, healthcare organizations - what we call strategic users, commercial users.

Interviewer: Gotcha. And Tom, something I've been reading about in some of the literature about you is that you believe in a psychology called "Giving Forward." Would you explain to the listeners a little bit about what that is exactly?

Mr. Nies: I think that most businesses and people who've done well in life "give back" to society. We know that a healthy America provides good opportunities for many of us. If one is fortunate and works hard, one can succeed well in America. So, a lot of people have made a lot of money in America. And we've come into America at a time when America has been strong economically; so there are lots of opportunities . I think that most people who succeeded believe that they should give back something. Normally they give back donations, charity, and so on. We like the idea of trying to help people give forward so that they're not relying on charity. Our goal is to help others to build better lives for themselves, their families, and the people around them and develop businesses. And we think that entrepreneurship and entrepreneurial activities are the best ways to do that.

Interviewer: Well that's definitely great and we're going to run away to a quick traffic update and get a little break here in a second Tom. But when we get back, I want to hear how you've been able to do this. I see that you've created more than 10,000 jobs and opportunities for people. We'll talk more about giving forward instead of giving back. And I'm very interested in how you've created these jobs, especially in today's economy, and how a lot of people are saying there's not a whole lot of jobs out there. We're joined by Mr. Tom Nies who is the CEO of Cincom Systems. We'll be back in a second to talk more with Tom - definitely a guy who we want to hear more about, especially when it comes to creating jobs and opportunities the way he has. This is The Morning Show here on News Radio 1270 WFLA. It's Brian Willard filling in for Preston Scott. It's 8:12.

Interviewer: Yes, it is The Morning Show right here on news radio 1270 WFLA. It's 8:15 here on news radio 1270 WFLA. This is Brian Willard filling in for Preston Scott on The Morning Show and we are talking to Mr. Tom Nies who is the President, Founder, and CEO of Cincom Systems, and he has an interesting philosophy here of giving back. Like giving to charities or societies but giving it forward. Creating jobs and opportunities for other people. And he has created 10,000 jobs and opportunities. Now we want to talk to him about how he's exactly doing that. Tom, explain to us how you've been able to create so many jobs and opportunities for different people during your pay-it-forward, give-it-forward campaign here.

Mr. Nies: We live in a democratic system built on the capitalistic model in a free-trade environment. Essentially, entrepreneurship combines these three attributes in the best way possible. I think our company is an archetypal example of all that is best in entrepreneurship. Let me just give some figures. We started out 35, 36 years ago with $600 dollars of capital and a card table in my basement. Over the years, we've generated $3 billion worth of revenue. Now that's $5 million dollars worth the revenue generated for every one dollar invested.

Interviewer: That's a pretty good return there.

Mr. Nies: Yes, that's a good return. In the process, we've employed a lot of people to help generate that revenue. And as we're generating the revenue, there are good opportunities for the people. So we share the growth and development, the well being of the business with our staff who helped to create it. Capital is simply a store of energy; the people are the true energy source. So entrepreneurship and an entrepreneurial business combines the best of capitalism with the best of a people-energized oriented system and we've worked that pretty well. But we're not alone - a lot of other entrepreneurs have done the same thing.

Interviewer: So it's pretty much not depending on somebody else to give you a paycheck. You give your people who help you along the way the opportunity to create other things, create their own money to become an entrepreneur as you put it.

Mr. Nies: We help our people to develop entrepreneurial opportunities within our business. Our business is a completely entrepreneurial or intrepreneurial business. It has grown and been developed by the energy, commitment, and resourcefulness of our people, and Cincom shares the wealth among our people the best we can.

Interviewer: Well Tom how have you had so much success as you said creating 10,000 jobs and opportunities? We seem to be in an economy where jobs are scarce right now and not a whole lot more are being created. Here you're on the exact 180 flipside of that, creating more and more jobs and opportunities for people. How are you able to achieve this when some other companies are not?

Mr. Nies: The secret I think is competitiveness. If a business is competitive, it can grow. If it's not competitive, it must contract. And many mature businesses today in America and in the West are no longer competitive. So they have to contract. The secret to being competitive is good, high-skilled people who are very, very productive, know what they're doing, want to work, and are eager to perform day in and day out. We believe that if we provide good incentives and good opportunity for good people, they will perform. They'll grow and develop the business. It's simple enough; just make the pie bigger. That way, everybody can get a bigger slice.

Interviewer: Right. You basically have to change with the times, that's what it is. It's a vastly changing economy here and basically manufacturing jobs are very down because stuff can be done a lot quicker. So your industry, the software industry, is also something that changes very quickly. You sort of gotta update yourself with the times. You have to move forward, you can't be stuck in old ways, or like you said, you would have to contract jobs instead of creating jobs.

Mr. Nies: You're right, absolutely, change is a way of life. One simply cannot improve one's situation or yourself unless you're willing to change. All change may not be improvement, but all improvement demands change. If you try to hold onto the past, you're a dead duck, you're like a deer froze in the headlights. The world takes advantage of people who are unwilling to change and improve. It's a competitive world out there, you've gotta improve your team every day or you get beat. What worked two years ago, five years ago doesn't work in business today. It's pretty simple really.

Interviewer: Definitely what it is, Tom, a lot of software - especially technology and computer companies - software companies are starting to go overseas to sort of outsource jobs. Do you see that as a bad trend, a good trend or something that doesn't necessarily need to happen?

Mr. Nies: One of the most powerful forces at work today is what is called "globalization." Capital seeks the most efficient, most cost-effective means of producing goods and services. If the work cannot be improved, the productivity of an American worker cannot be improved to produce more and better output per dollar of wage, that job is probably going to be moved abroad - or outsourced to some other firm which can deliver the quality and cost demanded. Now software and services, anything that can be moved across a wire in the networks, can be outsourced. So it's not just management jobs, it's not just manufacturing jobs that can be moved abroad. It's services jobs, too. Today in America, 68 percent of all the jobs and all the economy is in services. Many of these are subject to transferring abroad with the globalization system that's in place.

Interviewer: Definitely. Does it seem like we're talking about changing? Do American workers need to go back to school, do they need to learn new skills, do they need to basically learn how to work a computer and learn to do a lot of things to keep jobs in this country and to continue to create jobs here in the United States instead of sending them overseas?

Mr. Nies: I think we need to learn to be more productive, more efficient, more output-per-dollar focused. It's a complex problem. If there were easy answers to complex problems, we'd have them all in place already. But there really are no easy answers.

Interviewer: Definitely.

Mr. Nies: Since it's a complex problem, I think the first thing is to help the people to understand the globalization forces at work worldwide. In the five stages of dying we know that the first stage is denial, the second is anger. Similarly, we must now first face up to the fact that in America and in the West, we have a problem. Denying the problem isn't going to make us any progress. Nor is the fermenting of anger against the Chinese, Indians and others going to positively help us to resolve our own problems.

Interviewer: So denying and complaining about problems doesn't help. You have to do something about it. By denying and complaining you just take up time when you could be doing something constructive about it. Mr. Nies, I thank you for joining us. I love what you're doing with your 10,000 jobs and opportunities. I hope we can have you back sometime to update us on the great things that you're doing with Cincom Systems.

Mr. Nies: Thanks a lot. It's nice to be invited, best wishes to you.

Interviewer: Thank you. Have a good day.

 Share Tweet This

music

Now that takes me back

October 11, 2004 11:59:38.818

1985 is a cool song - I suppose the fact that I graduated college in 1984 has something to do with that - all the pop references make sense to me. There's one truly, truly funny line in the song:

" And music still on MTV"

I stopped paying a lot of attention to MTV a number of years ago, but I remember watching it in the early days - all music video, all the time. Now it's a bunch of really lame reality shows. Do videos suck that much now, or has the proliferation of channels just pushed them off to the secondary and tertiary MTV/VH-1 channels?

 Share Tweet This

development

Anatomy of a web crawler

October 11, 2004 11:52:23.305

I'm not going to write one of these anytime soon, but there's some interesting stuff for anyone writing network applications - Sriram Krishnan discusses the implementation issues behind a web crawler.

 Share Tweet This

blog

Of Wikis and Blogs

October 11, 2004 11:39:41.516

I'm in the process of writing a piece on Wikis and blogs - I'll have it posted here once I'm completely happy with it.

 Share Tweet This

events

Attention Omaha Smalltalkers

October 11, 2004 8:43:13.879

Blaine Buxton is talking about the next STUG meeting in Omaha - visit his page for details.

 Share Tweet This

blog

The PR folks read blogs

October 11, 2004 7:46:19.450

This piece from PR Opinions is interesting - it points out something about corporate blogging that a lot of people are still trying to wrap their heads around:

"Businesses seeking a public relations vehicle, that provides numerous additional benefits, should consider adding a blog component to their website. The authentic and personalized blog voice is a natural fit for any public relations effort. A rapidly growing number of journalists and editors are reading blogs on a daily basis. It's becoming imperative that a company start a blog to keep up with that trend. Thanks to the addition of an RSS feed, a blog's updated post can be on a journalist's computer in seconds."

Just take a gander at InfoWorld, ComputerWorld (et.al.). Notice how many of their opinion guys are blogging? Bloggers tend to be voracious readers of blogs as well. There's a useful caveat in the article:

Blogs don't turn poor communications, business models or products into winners. Blogs offer an alternative means of reaching out to your audience. They are useful for promoting conversations and showing a different side to your firm.  They do not, however, signal the end of Public Relations as we know it.

That's a good thing to keep in mind. Blogging is not the channel for communications - but it is an important new channel for it.

 Share Tweet This

BottomFeeder

Closer...

October 10, 2004 11:39:52.225

I've received some very nice UI changes from Reinout Heeck - a BottomFeeder user in The Netherlands. I'm pushing a new build up with all the recent changes in - the upload should be done in a few hours, and the dev links on the download page will get you the new stuff. I think I'm pretty close to a release now; if everything looks good, I'll likely push the dev stuff down to the stable download directory this week. In the meantime, I got a useful tip from Michael. A user complained that there wasn't enough of a whitespace margin surrounding images, and it turns out that you can fix that yourself, with a little stylesheet editing. Simply add this line to one of the stylesheets in the "stylesheets" directory, and the next time you start Bf up, you should see the change (assuming, of course, that you use the edited stylesheet):

img { margin: 2px }

Of course, you can slap your own stylesheets in there as well. At the moment, stylesheets are only read when BottomFeeder starts up - I suppose I should add a menu option to re-read that directory...

 Share Tweet This
-->