What now?
What did Bruce Boxleitner do wrong to get involved in this dog? Killer Snakehead fish?
What did Bruce Boxleitner do wrong to get involved in this dog? Killer Snakehead fish?
The phishers are getting far more clever. I just received a very realistic looking phish mail that purports to be from ebay. The bottom of the mail has a proper looking piece of boilerplate, complete with links to the appropriate privacy pages (etc.) on ebay. The only ways to tell that something might be amiss is to look carefully at
Since most people don't look at the status bar, I'm sure that this spam has taken in a large number of people. The scammers are getting far, far more clever....
In response to this post, I was asked to post some links to reflection in Smalltalk. I dropped this comment into that post, but decided to surface it as a post:
Here are some of the best links on Smalltalk reflection:
Or just try this Google search and follow things that look interesting.
Ed Foster points out that the software industry isn't the only place that nasty EULAS are being pushed around:
"There is an outfit out there called the Handyman Club of America," the reader wrote. "Periodically, they send me an invitation to join their organization, promising me all kinds of tools, information, and benefits. However, one requirement of membership is I must agree to never share any of the information I learn from the club with anyone who is a non-member. Pleeeeze. Needless to say, the invitation gets tossed without opening.
The stupidity just spreads....
I just added a spell checker to BottomFeeder; I should explain how to go about installing it. First off, go here and grab ASpell for the platform you are running on. If it's Windows, follow this link. Next, grab the data and dict directories and copy them into the main BottomFeeder directory. Finally, on Windows, copy all the dll files from ASpell\bin into the main BottomFeeder directory.
Now, you'll need to make sure that you grab the latest dev bits from the upgrade site - make sure to install the latest Blog-Tools, BottomFeeder, and IRC-BottomFeeder-Plugin components. Once that's done, you should get spell checking in TypeLess, the Blog posting Tool, and in the comment tool. Mispelled words will be red with squiggly lines (as in Word) - right clicking on those words will offer a menu of possible replacements. We'll add in an interface for adding words to the dictionary eventually.
Thanks to Michael, we have spell checking in the posting tool and the comment tool (both parts of BottomFeeder). I'll have to add an interface to the learn function - we are using ASpell, and it has an API for that. Once 3.5 ships, we'll have the library included for Windows (English dictionary only). You can visit the sourceforge site to install it in the meantime.
Over on MS' channel 9, there's an interview with Ward Cunningham. Page down a bit, and read the comments:
Obviously this guy has never heard of Reflector before :). Too bad for him.
ROTFL. Reflector is a bolt-on for C# that gives you a complex, weak version of what we call reflection in Smalltalk. These guys don't know what they don't know.....
I'm going to take a much needed vacation late this summer - 6 nights at this Disney resort. I haven't stayed at the Beach Club since 2000 - the rates haven't looked good when I've had the opportunity to take a trip. However, they aren't bad this summer - if you have an annual pass to Disney. Now, I don't have one of those at the moment. I'll be buying one before I go, and here's the kicker - an annual pass (adult) is only about $50 more than a length of stay pass - and offers a huge discount at the high end resorts. It all worked out pretty nicly. We are heading down with friends and their kids - who have never been to Disney, so it should be an interesting experience. The Beach Club (and adjacent Yacht Club) are the nicest places I've ever stayed - good rooms, fantastic pools, very nice resort. I'm looking forward to this.
I saw this in a Java newsgroup:
Java used to be my favorite language until I learned Smalltalk. Its probably best you don't learn Smalltalk.
The following is part of a message I posted a few months ago in another newsgroup:
I used to be a big fan of statically types languages. A while go I read some productivity reports that showed C/C++ as the base productivity and compared other languages to it. Java rated about 2-3 times the productivity of C/C++. Smalltalk rated about 8-9 times the productivity of C/C++. Oddly Smalltalk software had less defects then C/C++, and Java which surprised me.
Me being a statically typed language guy at the time thought the numbers were a bunch of BS. I actually learned Smalltalk to prove to myself the numbers were wrong. After learning Smalltalk and using it in my spare time for over a year I came to the conclusion that I don't like Java, or C++.
My advice to other developers is don't learn Smalltalk. After learning Smalltalk writing in other languages is annoying because software development in Smalltalk is just so much easier. Its more satisfying developing software in languages such as Java and thinking "Well, its a very popular language so it must be good." rather then knowing the alternatives and cringing every time you write a line of code in Java because of all the broken features in the language.
Speaks for itself...
I went to see "The Day After Tomorrow". It's your stock disaster movie - nothing special, nothing too awful. The characters are all cardboard cutouts:
And so on. There were a few silly things:
It's ok, if you don't expect a lot.
I think Patrick Logan is onto something here:
I think it also comes from the customer side... I continue to see a lot of behavior in large enterprises that seems to believe anything of *value* (not just cost, mind you) should by definition be big, complicated, and even cumbersome.
Really. I think the portal vendors, like other kinds of vendors, are just capitalizing on these behaviors. "Selling" something as simple as a Wiki, or even as simple as Smalltalk, is *more* difficult than selling the more complicated and costly approximations.
He's got a point there. How many applications that ought to be simple end up being massive 3 tiered monsters? How many people reflexively dismiss a simple client/server solution to a problem, because clearly you need a scalable N tier architecture - even in cases where the number of end users will be small? face it - developers absolutely wallow in complexity...
If you missed StS 2004, then check out the presentations page at Why Smalltalk. Make sure to thank Alan Knight, the technical coordinator for the show - he's the one who badgered all of us who presented to get our slides in. Jason Jones gets kudos as well for getting the material online.
I just saw this morning that Richard Biggs (Dr. Stephen Franklin of Babylon 5) died recently. He was one of the strongest players on that series, and I had been looking forward to seeing more of his work. RIP.
Over on the Jaybaz weblog we find out why you want real objects instead of what C# (and Java) offer:
Every so often, I see a C# user say they'd like to add a method to an enum. Maybe it's Flags and they want to verify that the combination of flags is legal according to their business rules. Or maybe they're in the process of moving to something more OO, involving inheritance instead of constants.
Maybe if they had started with objects, they wouldn't have that problem. Then again, they might pull in fewer consulting dollars that way....
It looks like I may get elite status on USAirways back again - I'm flying United to Australia (and I can assign those miles to USAirways). Then I go to ESUG this fall, in Germany - I suppose I'll fly USAirways there. Those two flights alone will likely get me my silver status back. So when am I going? I head to Australia on July 12th (arriving the 14th - love that dateline). I'm there until the 23rd - I'll be in Sydney and Canberra, and will be looking for something to do with on the weekend in between (I'm open to suggestions). This year's ESUG event is in Köthen, Germany - I don't plan to stay a weekend for that trip though. Before all that, I have planning meetings in Cincinnati in June, and in between, I have a vacation to Orlando in August. Looks like I'll be getting used to airports again.
So I watched the season finale of "Enterprise" last night - seems Archer and the crew finally realized that defeating the enemy might mean having to kill the enemy. Mostly, it was a decent finale - until the season ending cliffhanger. Yes, it was made clear that Vortex travel could result in time travel - they had an episode dealing with that earlier. However, this raised a few questions:
I really, really hope they don't have some silly thing like "WWII kept going after the timeline shifted" - for one thing, even if it had, there would have been jets and missiles. Not the mention the basic absurdity of supposing that the war actually got extended that long. I suppose we'll see in the fall...
InfoWorld reports that MS Office apps can be driven from back end Web Services. This is good news for Smalltalk developers, because integration via web services is far simpler in VisualWorks than is integration via COM. The 7.3 release will have some nice wizards for developing and deploying web services, and - based on this - it looks like you can just point Office apps at them. Cool stuff.
Mark points to the periodic table of Perl operators. Wow. And I thought that Java and C# were filled to the brim with cruft....
The various comment feeds for the blogs here have been going out with incorrect link elements - I've just fixed that. Depending on which blog reader you use, you may have to reload the feed in order to get accurate link items.
A slashdot item points to a call for a "next generation development system:
"An interesting article written by a professor at the University of Toronto argues that next-generation programming systems will combine compilers, linkers, debuggers, and that other tools will be plugin frameworks mirror, rather than monolithic applications. Programmers will be able to extend the syntax of programming languages, and programs will be stored as XML documents so that programmers can represent and process data and meta-data uniformly. It's a very insightful and thought-provoking read. Is this going to be the next generation of extensible programming?"
That's funny. We have that already - it's called VisualWorks
Niall has taken his usually copious notes for StS and sent me a PDF file - read his report here.
Here's a funny tale in ComputerWorld - security team notices that a modem has gone missing (days before an audit) and starts to panic - they end up reviewing the closed camera tapes in order to see who stole it:
We continued to pull tapes, steadily closing in on when the crime occurred until we narrowed it down to around 3 p.m. on a Wednesday. So we loaded the final tape and settled back to catch the thief in the act.
As the tape played, we saw team members leaving the area, one at a time, to go to a meeting until the entire area was empty. It was the perfect opportunity for our criminal.
Then, at 3:17 p.m., the modem was suddenly gone, having disappeared before our eyes with no perpetrator in sight. Was this an X-Files thief with superhuman speed? Only after replaying the tape in slow motion did we discover the truth: I watched in horror and embarrassment as the modem rocked slightly in the air-conditioning breeze, then slid smoothly off the back of the PC and down behind the desk.
There was no thief, only a messy desk and gravity at work. Red-faced, I frantically apologized to the physical security team before rushing to the desk, where, sure enough, I found the modem hanging in the back in a mess of wires.
Hehe - it's like finding bad code, asking loudly "who the $%^&* wrote that" - only to remember that it was you that wrote that.
This ComputerWorld story is interesting - looks like Sandia Labs is researching software/hardware systems that could cut through the "fog of war" - both combat type fog, and civilian crisis type fog:
So far, the research has been able to link various physiological responses to things like stress, fear, daydreaming and fatigue. Sandia scientists hope to create a central server that can integrate all of these readings from lightweight sensors worn on the body. Then they plan to use the software to help team leaders assign tasks to those who are most alert or to assist people in their decision-making based on analysis of their fellow team members' conditions.
For example, consider a team of air traffic controllers that's managing a major crisis with one or more airliners. As envisioned, MentorPal would assist the team leader by indicating that "Team Member A is growing increasingly excited" before that person reports what he is observing. That short period of advance notice may increase the team's decision-making speed enough to avert disaster.
Now, there's a problem with that - you have to take individuals and their varying reactions to stress into account. Still, this is an interesting idea. The good thing is, many of the people working on this seem to frecognize these pitfalls:
"This research can have merit, [but] a potential pitfall is that it can add to the fog of war by providing contradictory or confusing information," says Lt. Col. Ross Romeo, a division chief at the U.S. Army's 1st Information Operations Command.
John Pescatore, an analyst at Stamford, Conn.-based Gartner Inc. and a former analyst at the National Security Agency, is even less optimistic. "Abstracting that human element into a neural-network-based piece of software or using biometric inputs as important feeds is one of those areas I don't think will ever happen," he says. "I will believe we are within five years of that when FAA traffic controllers fly commercial airliners from their towers, and pilots serve the coffee on the planes."
Pescatore says if he ever sees "a soldier pointing a rifle at me, and he has an earpiece with a Sandia logo on it, I will run like hell and hide behind something bulletproof."
Fascinating stuff...
Patrick Logan is not impressed with the new Nullable Types in C#:
An explanation of Nullable Types which is a new concept in C# 2.0, as far as I can tell because the language designer did not get the concept of objects quite right. (For earlier evidence, consider the C# concepts of boxing and stack allocated structs vs. objects, read up on their justifications, and then consider the languages that don't expose boxing to the typical developer.)
The more layers of muck that get added to a type system, the more you have to wonder if the designers ever have the thought that they took a wrong turn somewhere...
Have you seen the Comcast (cable) ads that diss the dish? The ones that go on about how unreliable the dish is, and how great cable service is? I'm getting really, really tired of those ads. I lost cable (and net) service last night (again). For the last year or so, nearly every thunderstorm that has passed by has knocked out my cable. I understand the problems that a strong electrical storm can cause for cable tv - it's the constant loss of signal combined with the smug ads that tick me off. We lost service again last night, and it was out for at least 4 hours (all of prime time). Grrr....
Tonight we get the season finale of "24" - and the only think on TV that's been consistently stupider than "24" is "Enterprise". At least on "24", the CTU guys seem convinced that the bad guys are bad, and that something needs to be done. They are riven by all of the stock TV personal problems - spouses in danger, silly second story line (at least we no longer have to see Sherry Palmer though) - and so on. Over on "Enterprise", the stupidity never stops. Wait, Earth was attacked and millions died - so command sent a ship under non-military command to deal with it? And can someone explain to me why the phasers are never set on kill? Send in O'Neill from SG-1, please. Or even Red from "That 70's Show". Heck, send in Donna for goodness sakes...
Charles Miller discusses his, umm, interesting relationship with the Mac.
Ryan Lowe has been getting hammered by comment spam. Thus far, I've only had minor damage on the community blogs here. Partly it's due to not using a common blog system - these blogs use a server of my own design (although "design" might be stretching it - the server has evolved from a very simple "how hard could it be" thought 2 years ago :) ). I've received some - I deleted one just yesterday, in fact. I think the main thing is that blogs that use a widely known server attract spammers - the commonality attracts bot writers. Which is nasty, because it means that over time, blog commenting is going to go the way of email - ruined by the shallow end of the gene pool....
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.
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
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.
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
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 :)
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.
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....
A German couple learns why they are still childless. Maybe they spent the last few years trapped in a 50's sitcom :)