spam

Comcast steps up

May 24, 2004 22:31:05.946

Well, this is nifty - Comcast is going to try a targeted approach to hitting the zombie boxes:

Comcast's engineers plan to try the innovative approach of identifying the zombie PCs and surreptitiously sending the subscriber's cable modem a new configuration routine that prevents outbound connections on port 25. Zombie-infected users won't even notice, the thinking goes, because most people use Comcast's mail servers for outgoing e-mail. Anyone wrongfully blocked can call and complain.

That's a clever idea, and it might even work. More importantly, it shows that the Internet's biggest spammer is finally trying imaginative ways to save our in-boxes from its subscribers

This is good news - it means that Comcast is going to try and solve the problem w/o punishing the innocent.

 Share Tweet This

development

First class messages and straight jackets

May 24, 2004 12:26:25.204

There's an interesting thread on typing over on LtU - The comment I just linked to is interesting:

Premature lockdown of types or classes has the potential to harm projects. Plain and simple. Rigid human thinking creates brittle software. The vast majority of projects fail and I wonder how many fail as a result of the kind of rigid thinking imposed by typed variables and other brittleness spreading features of current languages

Read the entire thread starting here

 Share Tweet This

BottomFeeder

Moving to Events from change/update

May 24, 2004 12:18:20.933

Eventually, BottomFeeder will be moved to Pollock. In the meantime, a simple step on the way there is converting all the change/update code to use trigger events. This is actually fairly simple - I suppose I could have used the RB's rewrite tools to do it. It's a fairly simple task, and in the process I cleaned up a lot of dangling hooks that had crept into my code. So what's the change look like?

Well, the old code might have looked like this:

in RSSFeedViewer

initialize
....
self feedManager addDependent: self.

update: anAspect with: aValue from: anObject
	self perform: anAspect with: aValue.

and the model might kick it off by doing:
in RSSFeedManager


addedNewContent: content
	self changed: #addedNewContent with: content

So what changes? Well, I removed all the dependency hooks. I changed all the self changed: #foo code to read self triggerEvent: #foo instead. Then instead of adding a dependency, I hooked the events:

In RSSFeedViewer


postOpenWith: bldr.

	...
	self feedManager when: #addedNewContent: send: #addedNewContent: to: self

That leaves cleanup. In the old code, I just sent self feedManager removeDependent: self. Now, I just send self feedManager removeAllActionsWithReceiver: self. That's pretty much it. Now, the interesting thing was that doing this helped me find bugs. It turned out that I was adding multiple dependencies during execution - and doing this exercise helped me find those problems and fix them. The result should be a cleaner application, with easier to understand code. Which is, IMHO, far more important than the fact that it makes my code more Pollock ready.

 Share Tweet This

cst

A discussion on Store

May 24, 2004 9:26:27.298

Eric and Runar have kicked of a discussion of Store - Runar is talking about Store in general, while Eric is focusing more on the Public Store, and how hard it can be to navigate. Take a look!

 Share Tweet This

development

How to encourage code bloat

May 24, 2004 9:04:54.951

First, make sure that your library designers use "final", a lot. Then sprinkle in "Code Snippet" support - and voila - you too can have massive amounts of copy-pasted code! But it's ok, because the library designers know best

 Share Tweet This

marketing

Here's an outfit to avoid

May 24, 2004 8:45:23.557

This is an example of how not to do marketing. I got up, started looking through the news items in BottomFeeder. I notice that there are new comments on my Good Sci Fi, Bad Sci Fi Post, so I have a look - and there's a comment advertisement for a bunch of clowns at a company called digiBlitz. Well, the bozo who left the comment - one Suresh Balabesigan - has guaranteed that if I ever have a need to recommend the kinds of services his company offers, his company will not be contacted. Here's a tip - if you want to advertise, it costs money. Here's another tip - you might notice that I'm not running ads on this site - which means that my level of tolerance for ad spam is going to be really, really low.

Update: I complained to the firm in question, and got an apology. That counts as a positive action on their part - hopefully, they'll have learned from this :)

 Share Tweet This

BottomFeeder

Ask and ye shall receive

May 23, 2004 11:05:25.216

Mark wanted different keyboard navigation behavior:

With a recent dev. update one of these - keyboard navigation was implemented and has since received a minor update, but still doesn't quite reach what I'm after. So what do I want? To quickly, and easily, read through blog entries without having to click back and forth with the mouse, or hit cryptic key combos back and forth. In alot of recent usenet and email clients, once a message/post has been displayed the space bar is used to

  • "page down" the content of the post if there's more than one screen worth
  • if at the end of the message - select the next unread message in the current group/folder, and finally
  • if theres no more unread messages in the current folder, select the next folder with unread messages and display the first item.

All regardless of which widget has focus ( unless its a text entry widget ).

And that's what BottomFeeder now does, if you grab the latest dev updates to the BottomFeeder and Twoflower parcels. You'll need to restart; the event handlers for this are installed at startup.

 Share Tweet This

movies

Soft spot for bad flicks

May 23, 2004 9:15:47.209

I have a soft spot for bad flicks. I actually sat through all of "10.5" - which was really, really bad. Back in the 80's, I went to a bunch of bad movies - I think this and this were perhaps the worst two things I ever spent money on. But maybe not - I'm planning on seeing "The Day After Tomorrow" - based on the trailers, it seems to be based on the book "The Coming Global Super Storm". I picked that up in an airport somewhere, when I had plenty of time to kill (and boy, does that book kill time :) ). Then again, I have some hopes for the special effects to be cool. I guess my taste in TV isn't any better - I continue to donate hours of my life to "Enterprise" and "24", no matter how bad they get....

 Share Tweet This

humor

Oops - that's why

May 23, 2004 9:07:45.285

A German couple learns why they are still childless. Maybe they spent the last few years trapped in a 50's sitcom :)

 Share Tweet This

humor

Ow, Ow

May 23, 2004 0:31:40.729

 Share Tweet This

tv

Good SciFi, Bad SciFi

May 22, 2004 17:28:38.606

I just watched the season finale to "Andromeda", and while this show has some weirdness to it - the whole Trance thing, for instance - it's way, way better than "Enterprise". The characters on Andromeda get presented with hard choices, and they don't always work out for the best - the season finale, for instance, was no cake walk. Mainly though, this series just seems to accept some harsh realities better - Captain Hunt realizes that there's no negotiation possible with the Magog - I can't ever see that sort of realization dawning on Archer (or on Picard in NextGen, for that matter). Now, if the people behind Trek would fire all the writers and bring in, say, Whedon...

 Share Tweet This

xml

RDF and the semantic web

May 22, 2004 13:40:24.298

Dare Obasanjo points to this piece by Elliotte Rusty, which questions the value of RDF:

I guess the RDF model is a little simpler. It's all just triples, that can be automatically combined with other triples, and thereby inferences can be drawn. Does this actually produce anything useful, though? I don't see the killer app. Theoretically a lot of people are talking about combining RDF and ontologies from mulktiple sources too find knowledge that isn't obvious from any one source. However, no one's actually publishing their RDF. They're all transforming to HTML and publishing that.

That's part of it. The other part is that this is a lot like the problem with OO and the holy grail for a generic "Customer object". The problem is that your definition of a customer is likely to be different than my definition of a customer. In the same vein, the RDF triples defined by one group of developers is unlikely to match those defined by another one. The basic problem is vocabulary - go read this book on the creation of the OED to see how hard a problem that is :)

 Share Tweet This

development

He wants Smalltalk....

May 21, 2004 20:17:14.133

Miguel de Icaza just doesn't know that's what he wants yet:

My personal wish: I would like a C#-like scripting language myself. Sprinkle a few perlisms, rubyisms and pythonisms in there. Drop the class carcass.

A small patch I have been playing with in my copious spare time is one to turn all unresolved method calls in C# to a dynamic code translation. So basically:

  object a = new XmlDocument ();  a.Load ("/tmp/a.xml");

Here's the answer.

 Share Tweet This

blog

Refer back to Value

May 21, 2004 19:46:56.618

Dave Winer gets it wrong:

It's lame to charge for weblog software based on how many weblogs you make and how many authors there are. A weblog isn't that big a deal. Manila lets you make as many weblogs as you want with as many authors as you want. Today's modern $2K computer can manage thousands of weblogs. Charge a fair price and don't fuss over how many blogs they make or how many people edit them.

Go read this again - adding authors and blogs to a site increases the value of a site - and value is what you are paying for. It's pointless to just yell "charge a fair price" - there is no such thing as an objectively fair price. A "fair price" is what a buyer and a seller agree to exchange based on the value each is getting from the transaction.

 Share Tweet This

blog

New Community Blogger

May 21, 2004 19:37:43.885

Time to welcome another blogger to the Cincom Smalltalk community blogs - Eric Winger just started today. Stop by and say hi

 Share Tweet This

development

Colin Putney on typing

May 21, 2004 17:03:37.922

Colin Putney has an interesting take on static/dynamic types, and would like to see the dynamic community and the functional community cooperate. This is an interesting analogy:

Dynamic folks like to take a gardening approach to programming. They're up to their knees in the mud, hands dirty, planting and pruning, swatting bugs as they appear and composting weeds for fertilizer. They view the system as a living, evolving thing, and value testing, feedback and iterative development for figuring out what works and what doesn't. They don't worry about ensuring that everything goes right from the beginning, because a little pruning or landscaping can fix any problems that come up.

Static folks, on the other hand, take the architecture approach. They sit at a drafing table, and design structures of concrete and steel. They view the products of their work as monuments which must withstand the pressures of time and work hard to imbue them with mathematical grace and harmony. They know that structural failures can be catastrophic, so they build safety into their designs from the beginning.

Not a perfect analogy, but it gets his idea across.

 Share Tweet This

rss

Food for thought

May 21, 2004 8:31:19.475

Scoble makes a few points about RSS:

On the first, you should ALWAYS include full text in the feed. Why? Because you'll get far less traffic if bloggers don't read you and don't link to you. We can send a ton of Google traffic your way (three links from "A list" bloggers will guarantee you first page appearances). The feed that does it worst? Microsoft's own Slate. I unsubscribed and will never visit their HTML (and, you never see me link to them, do you?)

On the second, feed producers should ALWAYS leave the reader in control. Please, no special fonts, no special colored backgrounds, no CSS, no branding. Thank you. Why? It's easier to read. Imagine if the New York Times put a different font on each article.

On the third, this would take care of itself if news aggregators had the ability to automatically sense whether or not there's a feed and present the choices to me in some sort of UI.

On the fourth, I hate it when webloggers don't have their syndication feeds as an XML icon. The XML icon is easy to find, and its behavior is easy to learn. NewsGator lets me right-click on any XML icon and choose "subscribe."

That third one would be a lot easier if feeds were presented with their own url form - something like the feed:// form that has been proposed. That way, aggregators could simply be registered as the "default" handler for that url type. I'm not seeing any movement on that front though. The second point is one I hadn't thought of, but it's a good one - pick up any news magazine or newspaper. Does the font and background color vary? I'm thinking that web designers still have a lot to learn from the print business here.

As to full content feeds - I agree with that completely. I understand the desire to pull people to your site, but - I'm noticing that over time, I read fewer and fewer sites that don't include full content. Yes, that's clearly anecdotal. However, going to the site is an extra step - and certainly more work than just moving along to the next new item in my aggregator....

 Share Tweet This

movies

What a great flick

May 20, 2004 23:16:33.096

My wife just bought me "Miracle" on DVD - I just watched it. It was absolutely enthralling. I remember watching those games, and this movie really, really brought back all the intensity of them. Kurt Russel was amazing as Herb Brooks - you could fell the energy right through the screen. I'd recommend this movie to anyone - sports fan or otherwise. Now I wish I'd taken the time to see it in the theater - it would have been great on a big screen.

 Share Tweet This

StS2004

Last bit for StS 2004

May 20, 2004 15:21:34.129

If you attended StS 2004, then you should fill out our comment survey and let us know how it went. The feedback will help us plan a better event next year - thanks!

 Share Tweet This

BottomFeeder

Keyboard support, finally

May 20, 2004 13:32:18.805

Thanks to Holger Kleinsorgen, the guy behind Twoflower (the piece I rely on for HTML support in BottomFeeder), there's now keyboard support in the HTML pane. All the standard stuff should work, including space/shift-space. This has just been uploaded to the dev stream - you'll need to grab all the new components and restart the application.

 Share Tweet This

sports

Science and Math in Baseball

May 20, 2004 12:18:43.292

If you didn't take calc and physics, how would you understand the physics of baseball, or realize why it is that the umps are always replacing balls?

 Share Tweet This

tv

Angel ends

May 20, 2004 10:21:22.496

I liked the last episode of "Angel" - but there was some oddness there as well. It had a rushed feeling to it - and it felt more like a season finale than a series finale. With the end of "Buffy", strings were tied up, loose ends dealt with, and a plausible explanation given as to why Buffy could take a break from the fight. With the end of Angel, there really wasn't any of that. Oh sure, with the effective decapitation of the Black Thorn, evil was disrupted - and I suppose it's more in tune with the leitmotif behind Angel - the fight is never over.

For me, the biggest loss here is that Joss Whedon is off TV next year - no Angel, no Buffy, no Firefly. The cheesy reality shows rule the airwaves - frankly, I'd rather surf the net than devote even a few minutes of my life to a "Survivor" style show. Ther may be some hope in the SciFi realm - SG-1 is still on (and it's still the best SciFi show out there). "Enterprise" is back, but the problems with that show are unlikely to go away - the writers haven't been fired en-masse yet. Last night's episode was the epitome of what's wrong with the series. Here's the weapon that will destroy the entire Earth - we have a team of marines who can infiltrate the ship carrying it. Do they bring any C4? No. Do they haul over a few nukes? No. They go off to rescue a captured crewman and return. Let's look at the stakes here:

  • Fate of the entire planet
  • One command crewman captured

Heck, the original Trek did better in those situations - Spock sacrificed himself to save the ship in "Wrath of Khan" (not that he stayed dead, but never mind that now). I can just imagine the SG-1 team given these options - nukes and/or C4 beamed aboard with short fuses, and the enemy ship disabled or destroyed - but in any case, the weapon no longer on the way to Earth. Someone contact UPN and beat the writers senseless, please.

I have some hopes for the SG-1 spinoff (Atlantis) - but a fair bit of spinoff wariness as well. We'll have to see if they can expand the universe of the show. After that, it's a vast wasteland. "24"? Jumped the shark eons ago - people have probably died trying to wrap their heads around the various improbabilities in that show. There's always "The Sopranos", I suppose...

 Share Tweet This

humor

I need this

May 20, 2004 8:26:20.870

I have got to get me one of these

 Share Tweet This

development

Moving our way

May 20, 2004 0:50:35.884

The good news is, developers are seeing the benefits of garbage collection and objects. Things are slowly moving towards the place that Smalltalkers have been for years:

I really like the way garbage collection changes programming. You don't have all that Free What You Create overhead, so your code is smaller and clearer and easier to write. Garbage collection also makes programming even more object oriented. You want to write a function that returns an object? No problem - you never have to worry about who owns an object.

I'm particularly taken with the way everything is either already an object - like arrays and strings - or is a value type that can be boxed into an object. This makes for very flexible collection classes, and makes for type-safe code that's small and easy to read, without lots of 'wrapper' boilerplate. Anything that reduces boilerplate is good, since boilerplate is very bad - boilerplate slows comprehension and increases the number of places you might make a mistake.

Now, download this and see the rest of the story

 Share Tweet This

development

MS To Web Developers - not ever

May 20, 2004 0:08:48.099

MS says no to productivity:

So Jonathan Goodyear (Angry Coder) reports on the ASP.NET Pro website that there will NOT be any Edit and Continue support for ASP.NET.

Read this correctly - there will be Edit and Continue support in Windows Forms applications, but none in ASP.NET.

Did all of our pleas fall on deaf MS ears? Why incorporate this critical tool that developers have screamed over for the last few years in only half of the IDE?

Would now be a bad time to mention that I can debug the server running this blog - and modify its code - all without taking it down? Here's the path to productivity in web development

 Share Tweet This

tv

Star Trek - boldly going where shows are sent to die

May 19, 2004 17:40:30.413

"Enterprise" will return for a 4th year - but likely on Friday nights, the graveyard of TV shows....

 Share Tweet This

marketing

Software values

May 19, 2004 14:38:48.089

Mark Bernstein does a great job of explaining the value of software:

The only thing I expect, if I'm paying $700 for a software package, is that it be worth $700. If I buy a $700 program, and it promptly saves me $750, I'm as happy as a clam.

To illustrate this, he uses an example:

You want software that gives you the best return on your time and your money, the software that lets you get things done. If we're talking about software you use all the time -- weblog software, writing tools, personal information assistants -- the acquisition cost is nearly irrelevant.

Professor Clump works at Miskatonic University. She earns $65,000/year, and the University pays about $70,000/year for her office, facilities, support staff, benefits, and perks. She spends about 30 minutes a day, writing her weblog. What does her weblog cost? About $12,000/year.

Tom Clump, boy scientist, thinks that's a silly way to compute this. 'If Mom didn't have tenure', he says, 'she'd be bagging groceries.' (Tom, having been grounded after his science experiment burned a hole in the bedroom floor, does not hold his Mom in high esteem at present.) 180 hours at the local Museum of Fruits and Vegetables will earn Tom, or his mother, about$1,375.

Read the whole thing - it's a great post.

 Share Tweet This

sports

ESPN Feeds

May 19, 2004 14:23:43.667

Via Dave Winer - ESPN now has feeds. I'm subscribed to the MLB feed. Now, if the Yankees would give me a feed...

 Share Tweet This

marketing

Whoa - secret marketing

May 19, 2004 13:48:01.249

Via Scoble comes this link to secret marketing campaigns. Fascinating tactics.

 Share Tweet This

smalltalk

Interesting LtU thread on messages and messaging

May 19, 2004 13:29:55.842

That would be messages in the context of OO messages. Start at the top here and keep going. The comments from Patrick Logan alone make the thread worth reading

 Share Tweet This

general

Ward on Wikis

May 19, 2004 13:28:18.192

Via UnknownReference comes this link to MS' Channel 9 site, with a video interview of Ward Cunningham on the history of the Wiki.

 Share Tweet This

marketing

How not to market

May 19, 2004 13:21:49.081

Remember when MS had people (commonly called shills on USENET) posting anonymously, pretending to be neutral outsiders - that did damage to MS' credibility (and arguably, they are still recovering from that image-wise). Well, now there's word that the JBOSS folks have been up to the same thing.

 Share Tweet This

smalltalk

Up All the time

May 19, 2004 9:34:52.461

After I explained the process of runtime modification, I found this post from a .NET developer, who wishes he could do this. The easiest thing to do is to download Cincom Smalltalk NC and take a look at it as a possibility for future projects. Especially on web projects, integration of disparate products is pretty easy - the Cincom website is running things as diverse as Smalltalk, Java, and ASP.

 Share Tweet This

spam

Spam is a Tragedy of the Commons

May 19, 2004 8:55:34.007

CNet News has an interesting take on spam - it's a tragedy of the commons problem. i.e. - Email addresses are a "commonly held" thing (not an individual property - and things in that state tend to erode:

Users' claims on rights--be they rights of privacy or rights of use or protection--are currently pretty weak and based more on expectation and assumed common understanding than any law or fixed structure. This leaves individual users and their e-mail unprotected and uncared for. Not a good place to be. Without individual users, the Internet is meaningless. No matter how much money is invested in the global network, it's worthless without users.

Interesting take on the issue, and I think it's on the mark. Right now, the cost to spammers - whether we are speaking about dollar costs or legal costs - is pretty much zero. Until that changes, the volume of spam isn't going to go down.

 Share Tweet This

development

MS thoughts on Edit and Continue

May 18, 2004 22:37:22.579

I just stumbled across this post from one of the MS C# guys on "Edit and Continue" - you know, what we've had in the Smalltalk debugger since the beginning. Just read the way these guys think about this style of development, especially with regards to their "metaphor developers":

The posts themselves are fairly reasonable, but some of the comments to these posts are just astonishing - this came out in the comments to "Einstein":

Unfortunately, a lot of .NET developers are new to this game. Why should we encourage bad habits? I'm sure the Einsteins out there wouldn't mind not having E&C.

That's right campers, some of these folks hear the sound of productivity approaching and they run from it!

 Share Tweet This

tv

Wow - DVR's make people happy

May 18, 2004 18:00:50.349

The Pomo Blog has some fascinating survey data on how people report their TV viewing experience pre-DVR and post-DVR:

Satisfaction With TV Viewing Before/After Acquiring DVR

Satisfaction Level Before After
Extremely Satisfied 7% 72%
Somewhat Satisfied 34% 12%
Neutral 30% 6%
Somewhat Dissatisfied 21% 2%
Extremely Dissatisfied 7% 8%

This tracks how it went for us after we got the ReplayTV devices. We never miss stuff we want to watch, we find a lot of things we wouldn't have found otherwise, and we never feel like we need to sit down on a schedule chosen by someone else. It's made out viewing much more enjoyable.

 Share Tweet This

cst

Improving the Browser

May 18, 2004 17:47:57.787

Travis Griggs points to a truly useful addition to VW.

 Share Tweet This

food

Hotter Sauces

May 18, 2004 12:30:20.015

I posted yesterday on hot sauces - now I've just run across this list of the hottest sauces. Wow - the "Da Bomb, Beyond Insanity" I have is rated at 119,700 Scoville Units. So check out the madness here:

New - started shipping late September 2003. These Incredible bottles are filled with Earth Shattering Pure Pepper Resin Ranging from a low of 10.3 million Scoville units to ...Are you Ready......16 million

This is Pure Capsicum crystal. You can see it inside the bottle.......Due to the unique nature and and the fact that Blair made only 80 oz of Pepper resin at a time, each batch Does vary. Only 999 will be made, each numbered. As this is pure Capsicum - it's impossible to get any hotter

Whoa - that's just crazy :)

 Share Tweet This

StS2004

Next StS

May 18, 2004 12:23:42.768

We are going to have a survey up shortly asking for feedback on this year's show - I'll post a link to it as soon as we get it finalized. In the meantime, we are starting to discuss where to have next year's show. Nothing's finalized about that yet - we are in preliminary discussions at this point. We would like to make an earlier announcement than we did this time around, so as to let people make plans earlier. Any feedback from the community as to places that would attract/repel you from StS 2005 would be great - let us know now.

 Share Tweet This

development

More on Final

May 18, 2004 8:32:38.748

Gary Short links to Eric Gunnerson discussing the whole idea of sealing classes. The long and short of it - Eric thinks that library designers know everything and that one of the primary jobs is to protect those dumb application developers. There's just no telling what they might do if we let them.

My reasons have everything to do with predictability and robustness. If you can't conceive of a user extending your class in a specific way but still choose to provide such extensibility, then it's pretty clear that you don't have an extension scenario in mind, which means that neither your code nor your tests are likely to ensure that it does work - especially across versions. Sure, it's possible that it may work in the current version, and may even continue to work in future versions, but I wouldn't call it a supported scenario. I'd prefer to use classes where I know what I'm doing is supported.

The second issue is around understandability. If I walk up to a class (in the metaphorical sense, of course, you can't really 1Cwalk up 1D to a class) and it has 29 virtual methods, it's hard for me to tell whether the author *intended* me to extend the class through a certain method or set of methods, or whether they just left them virtual 1Cjust in case 1D. Where if a class only has one (or a small number) of virtual methods, that's a good indication that the designer wants me to use them (ie they're part of a supported scenario).

So, if I (as the application developer) can't see the author's intent, I shouldn't be allowed to subclass? I'm sorry, but that's just stupid. Yeah, that's the word I want. Who's in the better position to determine what needs to be done on a project - the application developer (who's actually there and sees the problem first hand), or the library designer, who likely built the set of classes in question in isolation? According to Gunnerson, the library designer has a better viewpoint on this - and gosh forbid I put the code to any use but the one that the original designer intended. Better to build a brand new set of classes than question the original design. This kind of thinking makes me wonder.... a lot.

 Share Tweet This

smalltalk

Productivity

May 17, 2004 22:31:04.389

Earlier today, I commented Edit and Continue in the context of the MS tools and languages. I should explain what I meant when I called Smalltalk a more productive environment. I'll use a simple example - a small class Counter, with a single instance variable - count, and a couple of API methods:


Smalltalk.Demo defineClass: #Counter
	superclass: #{UI.Model}
	indexedType: #none
	private: false
	instanceVariableNames: 'count '
	classInstanceVariableNames: ''
	imports: ''
	category: 'Demo'


addOne
	self count: self count + 1

subtractOne
	self count: self count - 1

I'll add a very simple UI so that you can get an idea of what I'm talking about:

Ok, so we have a simple UI, a simple counter. Now, with the UI running (which means that an instance of our domain model, the Counter class has been instantiated), let's make a change - I'll change the #addOne method like this:


addOne
	self count: self count + 10

Ok, it's a silly change. But when we press the 'Add' button, we get the change immediately, in the running application:

That seems like a small thing, until you step back and think about it for a moment - this is exactly how I update this server. In fact, it's how I updated the search facility this afternoon. Ok, but what about edit and continue? Well, I'll toss a breakpoint into the changed method and press the 'Add' button again:

I change the method back to the original code, adding just one - and I get a result of 11. This is what Smalltalk has given you for decades - and it gets better - I can do more than modify just that one method, I can rewind the stack and modify any method, and restart from there. I've done this with the blog server as well, using X11 over SSH. This is the kind of thing that MS says they'll provide in a limited form for C# someday. Mind you, you don't need to have a breakpoint set to jump into a debugger - any unhandled exception tosses you there as well (extremely helpful during development). In fact, it's not uncommon for a Smalltalk developer to create a basic shell of a set of code, and then build out the code from inside the debugger. This allows us to use Smalltalk inspectors, and have the entire object model exposed to us as we develop. To a Smalltalker, objects aren't dead text fields - they are putty in our hands to be shapped and molded. That's what productivity looks like.

 Share Tweet This

itNews

Secure? What?

May 17, 2004 21:15:40.754

ArcterJournal points us to this fascinating message. MS says that Outlook 2003 is "secure by default". I think this counts as oops. Go read it and weep - and then find a different mail client....

 Share Tweet This

food

Hot Sauces

May 17, 2004 21:06:42.705

This evening I made fajitas for dinner - and I added 1 (yes, that's one) drop of this stuff to my fajita sauce. I used the "Beyond Insanity" one - it's rated at 119,700 Scoville units. As I write this, the tip of my nose - which I rubbed after getting the sauce on my fingers - feels slightly burned. Now, the really insane thing is that there are hotter sauces in this line... like "Da Bomb - The Final Answer". It weighs in at 1,500,000 Scoville units. You have to love a product that comes with a warning like this:

Da' Bomb The Final Answer - The hottest of all of the Da' Bomb line. Rated at 1,500,000 Scoville Units. Not for direct consumption, use as a food additive only. Warning: Do NOT eat straight out of the jar!

I think I'll have to order some of that...

 Share Tweet This

java

More lost productivity

May 17, 2004 20:56:40.948

Charles Miller points out that Java's type system is stupid even if you like static typing:

A good way to get an idea of how stupid Java's type system is, is to use a modern Java IDE for a while. Start using IDEA's intention actions, and see just how often IDEA knows what the type of an object is going to be before you bother to assign it a type, or make a cast. Every time you ask the IDE to assign a cast, create a field or iterate over a collection and you select the default value, you're telling the compiler something that IDEA was smart enough to know already.

And with 1.5 and the introduction of generics, the type system is getting even stupider, giving you more and more places where you have to tell the compiler what types to expect because it's too stupid to work it out for itself. Even though the IDEs are smart enough to do this, it's still annoying and disruptive for the programmer to have to make the context switch and alt-enter a cast into place. I'd much prefer Java itself was better able to this sort of stuff itself

In the church of complexity, more is always better...

 Share Tweet This

itNews

Cincom's President nominated for award

May 17, 2004 16:45:30.380

Cincom's CEO, Tom Nies, has been nominated for the [2004 Technology Entrepreneur of the Year Award:

Tom Nies of Cincom Systems, Inc., the longest-serving CEO in the computer industry and hailed by former President Ronald Reagan as the epitome of the entrepreneurial spirit of American business, has been selected as a finalist in the technology category of the 2004 Ernst & Young Entrepreneur of the Year® program.

The Ernst & Young Entrepreneur of the Year program is the world's most prestigious business award for entrepreneurs. Recognized globally, the award honors the most outstanding entrepreneurs who inspire others with their vision, leadership, and achievement.

 Share Tweet This

development

Forward to the rear

May 17, 2004 15:51:57.014

MS to Developers: Someday, you too can be productive. Not soon, mind you, but someday. Maybe. If we get around to it. In the meantime, pay no attention to the fact that this "edit and continue" stuff is old hat for the more advanced systems out there

 Share Tweet This

blog

Better Searching

May 17, 2004 14:12:03.920

I've been twiddling with the way searches work on this server for a few days. I now have a caching scheme for keyword searches - once a search is made, the results for it are cached (and new posts are checked against the cache). I scanned the logs to see what searches were being made, and pre-filled a few. I also made another change. Some searches bring back a huge number of results - and asking a browser to display hundreds (or more) doesn't work very well. At this point, any search that brings back more than 10 results will result in a page of results being shown, with links for Previous/Next added to the bottom. That makes results start coming back much more quickly.

 Share Tweet This

blog

Actually...

May 17, 2004 8:47:14.055

Scoble takes himself to task over some blogging advice he gave to his boss:

We were talking about weblogging and he was having trouble getting going. He was scared that people might not understand, or accept his political views. I told him to take the safe road and work to not piss off his readers.

I thought about that advice all weekend long and it bothered me. It's not a healthy way to live.

That's not bad advice, but it may not work for you depending on your reasons for blogging. My blog focuses on the tech sector in general, and Smalltalk in particular. I get plenty worked up on those subjects, and I get a decent number of rocks tossed my way every time I let loose on Sun or Microsoft. On the other hand, I don't discuss politics (world/US) here at all. Why not? This is an advocacy blog, and I'm trying to put across a POV in favor of dynamic languages in general, and Smalltalk in particular. I'm not going to advance that cause by sticking my neck out on politics. It's enough for me to try and find common ground within this scope without making it harder by advocating a political position.

I suppose that some of my posts on legal matters are somewhat political, but again - I'm trying to stay within the bounds of my chosen topic area. To my mind, it's not a bad thing for a blog to have some focus, and that's the main reason I avoid the political arena.

 Share Tweet This

general

So much for that

May 17, 2004 1:15:00.275

Bob Congdon links to this story - which shows that the fames Dvorak keyboard is not, in fact, better than the Qwerty keyboard. Urban myth...

 Share Tweet This
-->