Battlestar Galactica redo?
Apparently, fans are upset over the new Battlestar Galactica miniseries coming to Sci Fi channel. Here's a clue folks - the original series was pretty lame
Apparently, fans are upset over the new Battlestar Galactica miniseries coming to Sci Fi channel. Here's a clue folks - the original series was pretty lame
The GPL hasn't really been tested in the US, and now there's a report stating that the GPL is unenforceable under German or EU law:
IDGNS: Your study has raised some eyebrows in the open source community. Why so?
Spindler: Regarding such legal principles as liability and warranty, the GPL clauses have absolutely no legal validity. Under the license, developers and distributors of open software are not liable for any problems with their products. The GPL avoids any wording that could imply liability. Such a license is simply unenforceable under German, or even European Union law for that matter.
IDGNS: Your study points to potential risks facing a number of groups involved in the open source value chain: developers, software companies and users. So, really, just about everyone who comes into contact with open source software in one way or other should be careful, right?
Spindler: Not everyone -- for instance, users who don't modify the software or distribute it. However, in the software developer community, liability is an unresolved issue. Consider developers working on a program from different countries. The legal question is: What sort of company is this? Is each participant liable or the group as a whole? Or consider a project in which one developer starts writing code and then hands over that code to another who continues writing and hands over to yet another. In this successive approach to code writing, is the author responsible only for the code he or she wrote or for all code in the final software product? The answer may differ in each jurisdiction.
It's interesting, and there's more to read. Well worth reading and considering.
BitWorking has a good example of how the proposed Atom syndication format can be extended. The question I have is, how is this different from how RSS is used now?. Sure, Dave Winer doesn't like namespaces for some bizarre reason. The fact is, no one cares, and people are using namespaced extensions in RSS today. I am so not seeing the point of all this....
If you have firewall/proxy issues getting to the public store repository, then have a look here for some solutions.
Inc. columnist blames PowerPoint for - well, just about everything. It all depends on how and why you want to use it. This guy just goes off the deep end....
I've been adding more 'markup' support to the blog, in order to make my posting life simpler. Now I've got the following:
This is similar to (although not as extensive as) the markup support used by WikiWorks, the VW Wiki implementation. In any event, it makes it easier for me to add things like lists and tables to my posts, without having to punch out the full set of html tags...
I have access to OS X this week, since I'm in Florida at my Parent's house. I finally managed to get the Mac to spin up the default browser - Alan Knight told me about the 'open' command. So now, on OS X, the default browser will be used whenever you request an external browser. With that out of the way, I'm off to this site to play some Puerto Rico
I stumbled across this article in comp.lang.smalltalk. Here's the fun part:
The extends keyword is evil; maybe not at the Charles Manson level, but bad enough that it should be shunned whenever possible. The Gang of Four Design Patterns book discusses at length replacing implementation inheritance (extends) with interface inheritance (implements).
Good designers write most of their code in terms of interfaces, not concrete base classes. This article describes why designers have such odd habits, and also introduces a few interface-based programming basics.
Interfaces versus classes I once attended a Java user group meeting where James Gosling (Java's inventor) was the featured speaker. During the memorable Q&A session, someone asked him: "If you could do Java over again, what would you change?" "I'd leave out classes," he replied. After the laughter died down, he explained that the real problem wasn't classes per se, but rather implementation inheritance (the extends relationship). Interface inheritance (the implements relationship) is preferable. You should avoid implementation inheritance whenever possible
Hmm. Yes, you should avoid deep inheritance hierarchies. But Inheritance is a tool, not a problem. Maybe the problem is that Gosling and Holub aren't bright enough to know how to use it appropriately? Or maybe the locking they see in this comes from the combination with static typing.... Hard to tell, but clues are few and far between in this article. As often happens, Dave Buck has the best response to this silly article:
The first few examples given in this article actually point to difficulties with static typing, not inheritance. Smalltalk is immune to these since it uses dynamic typing.
The "fragile base problem" (for the benefit of people who didn't read the article) is that subclasses require knowledge of how the superclasses are implemented. If the superclass changes, changes may be needed in the subclasses to compensate.
Subclassing does allow a tighter coupling between classes than normal which makes it more fragile. Good design style is to reduce subclassing by using delegation instead. Good design style is also to avoid deep class hierarchies. I wouldn't say that subclassing is evil, though. It's like saying that lots of people are killed in car crashes every year, so we should avoid cars. Often, the alternatives are worse than the problem.
Sam Gentile likes his new Mac. I've spent a few days working on one (tweaking BottomFeeder to properly spawn a browser) at my parent's house. One thing I'll say - don't come at OS X expecting it to be just like any other Unix environment. You do have Unix, but you also have the Mac environment. I'm not yet sold on it being particularly easier than Windows - at tthis point, I think whatever you are used to is easiest. However, I am intrigued. Maybe I'll consider one next time I'm in the market....
Go read Joel first, and then really think about it. Can you afford the loss of expertise that will come with the relocation?
The Yankees just got Jeff Nelson back in a waiver wire deal. Why Seattle let him go baffles me, and why the Red Sox let him go by baffles me - but I'm certainly pleased to see him back in pinstripes. The combination of Nelson and Rivera in the bullpen is a real killer. Now the Yanks are ready for the end of season run and the playoffs!
Don Park reminds us where blogging sits in the grand scheme of things. That probably makes every blogosphere flame fest a real "tempest in a teapot" kind of thing. In any event, it's a useful piece of grounding information:
Most people on this planet knows nothing about blogging. I doubt if more than 5% of Internet users know what blogging is. Stepping back even further, Internet users are only a small portions of the world population. If the world population was a pancake, Internet users are the top crust and bloggers are just a small tip of it.
Good article here on Javablogs today:
Do you know how to use a hammer? A screwdriver? A saw? Almost certainly you do. Does that mean you can build a house? Well maybe, but unless you have previous experience at building houses, I don't think I'd want to live in the one you built. Knowing how to use the tools is not the same skill as being able to build a house.
So why is it that so many people seem to think that knowing how to use a profiling tool means you know how to tune an application? For sure, having a profiler as opposed to not having one makes tuning much easier, just like having a hammer as opposed to not having one makes building a house much easier. But the tool increases your productivity, it doesn't enable the ability. You don't suddenly have the ability to build a house because you know how to use a hammer; you don't suddenly have the ability to tune an application because you know how to use a profiler.
That's a very good point. Another thing I see a lot of is assumptions - you get to a site where there's a performance problem, and the customers tell you (with complete assuredness) what's too slow. I find that 9 times out of 10, they haven't even run the profiler - they've just made a guess about the problem. However, the author of that article is correct - while profiling is useful, just using the profiler won't tell you everything. Sometimes you have to tune the memory configuration, and that only shows indirectly via profiling. There are plenty of other similar cases - and they vary by application/language/environment/platform.
In a 45-page document filed late Wednesday, IBM argues that because SCO distributed a version of Linux under the open-source General Public License (GPL), it can't claim that Linux software is proprietary. IBM also argues that SCO software violates four IBM patents and that the company interfered with IBM's business by saying it had terminated IBM's right to ship a Unix product, AIX.
IBM is seeking unspecified monetary damages and an injunction stopping SCO from shipping its software. The counterclaims came as part of Big Blue's answer to SCO's amended suit and were filed in the same federal district court in Utah.
That sound you heard was the other shoe dropping
BottomFeeder now supports the 0.2 spec of the proposed Atom syndication format. I also changed the blog output - I now support RSS 2.0 for the main feed, RSS 2.0 for the comment feed, Atom 0.2 for the main feed, and Atom 0.2 for the comment feed. The Atom spec is still under development and still somewhat in flux, so the latter two links are likely to change as time goes by. I'm holding off implementing the Atom API until I'm sure the flux is reduced - it's not a lot of work, but I don't really feel like jumping around that much yet either.
This article talks about managing the deployment of Java apps with the JRE, but it seems timely to as Product Manager for Cincom Smalltalk. Why? We are in the process of developing a simpler runtime deployment system for VisualWorks, and a lot of the issues in the aforementioned article - while written in the context of Java deployment - raise some good questions for any runtime deployment system. I'm going to have to keep a lot of the questions raised here in mind.
Here's an interesting article on light pollution. I've been noticing this ever since I moved from a NY State suburb - with virtually no street lights, and thus no light pollution - to the Baltimore-Washington corridor (bathed in light 24x7). Back when I lived in NY, I could see lots of stars, and identify constellations. I noticed how bad things were in my area 2 years ago when my daughter was supposed to go out and look at stars - no identifiable constellations, and few enough that I almost thought I could count them! The article raises some interesting environmental and health concerns - and has some practical suggestions as well. Well worth a read.
Matt Croyden gets his vacation rained on. I got the same stuff here in Melbourne Beach, but I did manage to get in 18 holes this morning before it started. I'm hoping for clearer weather tomorrow; we are supposed to head over to Universal for the day.
I spent the entire day at Universal Studios - Islands of Adventure - with my daughter, her cousins, and her grandparents. The kids had a blast, and ran like heck all day (then crashed as soon as we stopped). Now I'm in a hotel in Palm Beach, because I have an early flight tomorrow. I'll catch up on what I missed on the flights (and during the absurdly long layover in Charlotte) - now it's crash time for me as well....
YB Normal comments on the Atom syndication format. He's got lots of critiques and suggestions. His two main gripes are on the <link> element (especially the madatory nature eof it) and the lack of OCS style aggregation support. Something occurred to me while reading this critique - Atom more or less assumes a weblog, while RSS does not. Given that, I expect that Atom won't easily gain traction - it's narrowed its focus too much. Go read the critique - it's worth a few minutes if you care about the syndicated content world.
Via Sean McGrath comes this tidbit from Patrick Logan:
"A language designed to give programmers what they want may initially succeed but create pernicious problems as it catches on. However, a language designed to give programmers what they really need may never catch fire at all."
The Java/Smalltalk divide in two sentences....
Scoble talks about the utility of Tablet PC's. His points boil down to:
I don't know. For the first, I'd rather use a whiteboard or paper. For the second, some users need this, but I'm not one of them. For the third, I prefer an honest to goodness paper book - it's easier to deal with in so many ways. I'm sure Tablet PC's will have success in the same places that small devices currently get a lot of use - emergency vehicles, utility people, nurses and doctors - they just aren't great devices for business users, IMHO. I'd much rather have a notebook. And as to having celebrities sign - again, ink and paper are way, way more durable for that.
Sax.Net points out that the IBM defense against SCO will make or break the GPL. This may be the legal test of the GPL license that many people have been waiting for - on all sides of the issue.
I spent a pretty relaxing week in Florida - my daughter got to visit with her cousins at their grandparent's house. We spent time at the beach and the pool, and the kids had a blast. We stayed too long at Universal yesterday - the return flight from Palm Beach was at 6 am. We didn't get to the airport hotel until 1:30 last night, so we just blew the flight off. That meant standby - but it went ok. We got to the airport at 10, and had no trouble getting on the 11:15 flight - we upgraded to first class even. Charlotte looked more crowded, and the next flight after the 2 pm was already delayed by almost two hours - with T-Storms in the forecast, that didn't bode well. Fortunately for us, there were flight delays in the system already, and a bunch of people trying to get on the flight weren't going to get to the sirport in time. I blew two more upgrade coupons to make our chances better - that got us on with no trouble at all - as I write this, there are still open seats in first class, and we half way to BWI.
So in the end, blowing off our flight just cost us 4 hours - which is sleep time we really, really needed. Now it's back to the grind - and I don't mean work, exactly - the drainage project we started last week is still only half done, so there's lots and lots of trench to dig, pipe to lay, and dirt to haul off. Probably a good 3-4 days worth, in fact...
McKinsey says that product development is in a rut:
The changes currently required in product development resemble the lean manufacturing techniques that have transformed mass-production lines. Besides optimizing the efficiency of each station on the factory floor, lean procedures create a flexible, efficient work flow that's intended to meet customer demand just in time. To minimize waste and inventory and to optimize the efficiency of the line, parts are fed into the process as they are needed.
By contrast, the current approach to developing new products resembles the traditional mass-production line: Companies follow a fixed sequence of steps, moving from market research to product concept, design specification, prototype testing and so on. Like a production line, this process can be improved significantly by ensuring a continual flow of work. To achieve the next step, change in performance, companies must improve the efficiency of the entire process, from generating ideas to launching products.
Interesting article - the whole article can probably be boiled down to the bullet points put forth by the Agile Alliance, IMHO. However, McKinsey has a lot more influence than the Agile Alliance does; they should run with this stuff.
Java handhelds are less secure than desktops, according to Shlomo Touboul:
Given the relatively limited hardware capabilities of these small devices, he says, "when they put Java into the handset, they took out most of the security in the JVM [Java virtual machine]." While that may be little more than a self-serving observation from the San Jose-based data security firm, it's worth considering as companies begin distributing Java phones and PDAs to mobile workers. It's also worth pondering by the network providers that may become a legal target of those who lose precious data due to lax security. Touboul argues that less technically sophisticated handheld users have vastly different expectations of the providers that offer "air-time services" and the devices that consume them. He says that PC makers "are considered blameless" if a virus destroys a disk drive. Not so for handsets. "When it comes to air time, I expect my providers to protect [the device]," he concludes. Needless to say, Finjan promises an answer with its Vital Security for Cellular product, in beta now at an unnamed network operator. It should hit the market in the fourth quarter.
Probably less Java specific than niche specific, and I am unsure about his conclusions - but it's an interesting issue.
Ari Kaplan has some very bad ideas for IT departments with regards to stopping file sharing:
- Implement programs to detect and block p3p programs
Translation: Don't even think about trying any new technologies that could improve document handling. In particular, shut down NetMeeting- Perform random keyword searches of files that are stored throughout the network for illicit materials
Translation: Destroy all trust relationships in your company, and ensure that no one stores anything useful on corporate systems- Scan networks to determine how many computers use P2P programs, how many files have been transferred and how much space those files have consumed.
Translation: Make sure that all your developers start blocking the port scanning software originating out of IT- Limit the amount of hard drive space or the number of CD-RW drives available to employees
Translation: Cripple your staff's ability to keep historical data in an easily accessible location. Make sure that your developers cannot actually do any development- Launch an aggressive educational program to alert employees to the company policy on file sharing.
Translation: Propagandize your employees by spreading enough FUD around that they disbelieve everything you say
Better yet, recommend these steps to your competition
Ted Leung tells us how he uses an aggregator, and how the ones he uses fall short:
I don't blog nearly everything that I read, but I do remember that I read about something. FeedDemon doesn't have a capability to search the feeds that it keeps on disk (it also limits how many items it will keep). I want to be able to search the stuff that I read (or saw go by). In order to do that I need the content on my disk to do the search. I know about Feedster. Every time I've tried to use feedster to do this, it either took to long for me to find it, or I didn't find it at all. So I want all the content in the feed.
BottomFeeder has a lot of that functionality, but not really all combined the way Ted wants. For instance, Bf can search its internal store, and save as much as you want it to (you can now mark individual items as permanent). Bf can be set to auto-follow feeds that are links only, but:
It looks like some of Ted's issues could be fixed on the aggregator side, but the full content desire really has to be met by the provider. Either way though, he provides some good food for thought
Ted isn't the only one who's got ideas on how to improve the aggregator experience. I've been getting email and IRC prods to add more and better support for interactive responses to posts:
These are all good ideas, and things I intend to get to as time goes by.
Via Ted Leung I see that there's some thought to responding to spam by issuing what amounts to a DOS attack on the urls embedded in a spam:
As I mentioned in Will Filters Kill Spam?, following all the urls in a spam would have an amusing side-effect. If popular email clients did this in order to filter spam, the spammer's servers would take a serious pounding. The more I think about this, the better an idea it seems. This isn't just amusing; it would be hard to imagine a more perfectly targeted counterattack on spammers.
So I'd like to suggest an additional feature to those working on spam filters: a "punish" mode which, if turned on, would retrieve whatever's at the end of every url in a suspected spam n times, where n could be set by the user.
There's one catch - how many ISP's are going to see your response as a hostile net attack - and get you in hot water over it? The motivation for this is fine, and I have no problem whatsoever with pounding the servers of the spam supporters - but your ISP may well not be so understanding
The RIM Blackberry is hanging by a thread after a court found in favor of NTP, who is suing them for infringement. The ruling prvents RIM from selling anything associated with the Blackberry, but then stays the injunction pending an appeal. How would you like to be a Blackberry user right about now? Even if RIM wins this case in the end, this ruling is likely a death blow - users are going to evaluate the risks, and likely flee.
England passes 100 degree mark for the first time ever. I can't even imagine how miserable the London undergound must be in this kind of heat - it's not as if they normally need air conditioning over there. Meanwhile, the US east coast is doing its best imitation of UK weather - rain, rain - and more rain after that. We started digging some drainage trenches a week ago, and the job was interrupted by my Florida trip. The sod that we dug up and put on my driveway is not only still alive - it grew
Rich was busy the last few days with BottomFeeder mods, and I've been puttering here and there the last few days - I just merged the two streams this morning, and published - if you are on the dev stream for the upgrade tool, you'll see the new version as an option. I've added 'Blog This' as an option for items - it will spawn the blog tool plugin if it's present. That tool needs some testing against the Blogger and MetaWebLog API; I only really use it with my private API. I'll also be adding the Atom API over the next few days, which ought to open things up some as well. There are a fair number of tweaks to menu and toolbar arrangements as well...
Spotted this in Y. B. Normal's weblog:
The sad reality is that as CPUs are getting faster, main memory and disks lag behind. By a long shot. So, if each application you have installed duplicates all the libraries it depends on, it will take longer to install, longer to load, and (because modern CPUs totally rely on their cache to keep their maximum pace) longer to execute. The assumption that we should stop optimizing for size, popular as it is among dynamic languages supporters, is plain wrong. Actually, it's getting to be farther from the truth as CPUs keep getting faster, but memories and disks don't.
This was in response to Sean McGrath's post. Exactly which statically bound languages of late have been optimizing for size? C#? Java? What planet is this from?
Spotted in Critical Section - the guy who may well be Canada's next PM has a blog. And unlike the Dean for President blog, it looks like Paul Martin does his own content (Dean's seems to mostly be added by media people on his campaign). Looks like blogging is getting to be another major communications channel - here's Martin's explanation for his writing:
But I've discovered its something I enjoy. For a couple of reasons. First, it's an opportunity to express my thoughts publicly without having to go through all the durm and strang that is a major speech or even a media scrum (another word that sounds like something that crawled out of a swamp - and with good reason).
While getting corporate marketing statements out is less work, it's still a lot more effort than blogging. Very interesting, IMHO. Wonder if he'll keep it up if he gets in office?
While I was in Florida last week, I thought the water was getting colder on Tuesday and Wednesday - it was great on Monday, and very cold by Wednesday - I was at Melbourne Beach (east coast), and the water there is normally in the 80's at this time of year. By Wednesday, it must have been in the 60's. That was weird. So I was interested by this article on cold water in the Atlantic:
Water temperatures at South Jersey beaches over the last two weeks have hovered in the high 50s and low 60s at a time of year when they are normally in the low 70s.
Some experts blame the chilly water on prevailing southwest winds. These can create currents that push the sun-warmed surface waters out to sea, said Charles Tilburg, a University of Delaware physical oceanographer. As the warm water heads out, frigid water comes up from the depths to replace it. That's "upwelling," a fairly common summer phenomenon along the coast.
If that article's right, it's going to play havoc with the tourist season on the east coast - water that cold is for surfers in body suits...
Scoble relates an outsourcing tale:
On the way back to Seattle, I sat next to a guy I won't name, cause I didn't tell him I was gonna put his comments on my weblog. He's Vice President of IT at one of the world's largest title insurance companies. Thousands of seats. Big deal, all over the world. Uses all Microsoft products.
He told me they are shipping all of their development work over to India. 50 developers affected. Many were from India to begin with.
Why are they doing that? He told me, it's all cost based. Moving developers over to India, saves tons of money
IMHO, the cost savings for this kind of work might end up being nebulous. Why? Well, I'd be willing to be that the management - the people who come up with the development requirements - will not be moving to India, nor will their jobs. That means that all the user representatives will be US based, and the developers will be 9 to 12 hours distant in timezone terms. Meaning, communication with these people will be fitful at best. Software just isn't like manufacturing - it's not automatic, and it requires a lot of communication. Either the Indian developers will be on nightshift (to allow for communication), or they will be effectively incommunicado. In the former case, you can expect a lot of turnover. In the latter case, expect a return to the glass house era of apps being "thrown over the wall".
It's not about the quality of engineers in India; it's about their remoteness. I simply don't think that you can get timely delivery of applications that actually meet your needs with a staff that remote. It's hard working with a distributed staff - trust me on that one! The Cincom Smalltalk team has people scattered across North America (with a few in Europe) - and communications are more difficult as a result. If the developers were 12 hours away, I'd never properly communicate with them. The question I'd ask that manager Scoble spoke to is this - "So, how do you expect to manage requirements with a staff that is out of synch (time-wise) with your management and users? Heck, if it saves money, why didn't you outsource management to India?". Whatever answer applies to management applies at least as well to software development.
This story on the hunt for how to shutdown Windows (from a complete neophyte's perspective) is very telling. How many of the apps we build could pass muster with a neophyte user? Something to think about...
I posted here on Tablet PC's, and Scoble responds with some questions:
OK, but now email that pad of paper to me, OK? Oh, and call me up on NetMeeting and let's work collaboratively on screen? Oh, and when you have 200 filled notebooks, I want you to search through all of them to find all the documents you've handwritten that mention me, OK? (Did you know that the Tablet PC automatically lets you search your handwritten documents?)
As to emailing, let me introduce Scoble to scanner technology. Cheap, easy to use, creates a nice document I can push anywhere I want. It allows me to use the best tool for the job (paper), and then send it along if I needd to. As to searching, maybe that's something he needs for these type of things - in my experience, such diagrams are mostly one-off exercises, rarely something I need to save. Certainly not enough to justify a Tablet. He goes on:
Oh, and, I want you to take a picture of Hillary Clinton, print it out, glue it on your paper notebook, and then get her to sign it, all before she leaves the building. That's precisely what I did. Why do you think she reacted so well to it? When I showed her my Tablet, it had her picture on it (one that I had taken just minutes before). She signed her own digital picture.
Had I really wanted a signature of Hillary's to save, I would have brought her book along and had her sign that. Far less ephemeral, and possibly even worth something someday. Five years on, the digitized signature will be lost, a victim of some system upgrade and filing in a directory you decided not to transfer. The book signature, on the other hand, would still be around. There are electronic documents and formats from 5 to 10 years ago that we can't really read easily - for instance, just try to get information (quickly) from a 5 1/4" floppy. On the other hand, I have books that I bought 30 years ago, and they are all still quite legible. If I want something like a signature to last, a PC is the very last place I would put it - because it's a very impermenent way to store things
Here's an interesting take on why NIH isn't always bad. There are some good points there.
A California couple is suing credit card companies for processing online gambling debts they incurred. There's this word I'm looking for here..... Oh yeah - Responsibility. As in, Personal responsibility. Here's hoping they get socked with the entire bill, plus court costs....
Have a look at this problem using Struts, which is Java based. Now, had he been using Smalltalk, or Python, or Ruby, or Lisp - guess what? No problem at all. And people wonder when I say that static typing has costs associated with it....
There's been some talk in the Smalltalk IRC channel about Jabber recently - now Dave Murphy points to this and this - two existing efforts.
Anthony Lander has pushed out a new version of Pongo - you can get the standalone application on the sourceforge site, or the plugin with BottomFeeder. Check the upgrade tool for the download. There are lots of new Pongo features, including support for encryption. Check it out!
Then look out for the upcoming Zip format war. Your aggregator will probably track both formats - BottomFeeder, for instance, is already keeping up with Atom - while you'll likely need a different tool for each zip format. Oh, happy day...
Gosling on the object/primitive gap via Charles Miller:
Depends on your performance goals. Uniform type systems are easy if your performance goals aren't real strict. In the java case, I wanted to be able to compile "a=b+c" into one instruction on almost all architectures with a reasonable compiler. The closest thing I've seen to accomplishing this is "Self" which gets close, except that the compiler is very complex and expensive, and it doesn't get nearly all the cases. I haven't read any of the squeak papers, so I can't comment on it.
Self and the Animorphic (Strongtalk) systems showed the way. The problem with his decision is that it gets the priorities exactly backwards. Most developers are not writing applications with hard constraints on numeric performance - if they were, VB wouldn't be so popular. Or PHP, or Python. Most people are writing "business" applications where time to market and correct behavior matter a lot more. What he did here is optimize for the infrequent case, at the cost of (expensive) developer time. It's a common mistake in this industry, and one that the curly brace crowd seems content to make over and over again. There are real costs associated with this choice, and the benefits are few. Heck, read this IBM white paper if you don't believe me. Yes, for the minority with real constraints, this is a benefit. But they aren't a big enough crowd to have driven this decision, IMHO.
Via Matt Croyden we get news that Panera Bread is going to offer free WiFi access in their shops! That means I can stop dropping the 10 bucks at Starbucks over at the Columbia Mall.
Gordon has some great first hand comments on SharePoint vs. Wikis. I know Cincom's IS group thinks that SharePoint is the way to go, while the Smalltalk group is sold on Wikis. Gordon's experience is worth looking at.
Not a natural thought for a Smalltalker, IMHO - declare everything final? This goes back to my main problem with the whole notion of final - it assumes knowledge on the part of the library designer that he can't possibly have - he doesn't know how the code will actually be used in the field, or what possible extensions someone else might consider. Instead, he just arbitrarily closes the whole thing off and announces it's perfect just the way it is
Now - how much software have you seen that qualifies as perfect?
Blaine Buxton fully explains 'final' to me. Scroll down to Blaine's comment - I simply did not realize tthat final had this meaning for variables in Java - and now the original post makes a lot more sense to me.
According to port 80 (by way of Scoble, in the top 1000 corporations, IIS use stands at 53%. No wonder there are so many security issues. Apache is hardly invulnerable, but it sure seems to have fewer issues than IIS.
Ted Leung notes that people don't think that Lisp has evolved much since 1982:
Now, I've been posting away about the virtues of Lisp and Lisp like languages in an effort to educate folks about what Lisp can do. But I certainly don't think that there's no room for advancement. So it was a little disturbing to read this
Could he be right? Is old-style Common Lisp or Scheme actually the best that we can do?
in Greenspun's post. Not because Greenspun believes it, but because I think a lot of people in the Lisp community appear to believe it. It's not enough to say Python/Ruby/C#/Java 2003 = Lisp 1982
Many people have the same perceptions about Smalltalk - they read about it once a long time ago, maybe used it a bit, and have since decided that it's old and outmoded (never mind that Java and C# are pale imitations). I don't think the pothole we fell into in 1997 is as deep as the one Lisp is in, but we do need to get the word out further.
Cook Computing makes some good points about XP pitfalls, but makes the mistake of recommending this book. I've posted on this crap before - Rosenberg and Stephens know how to attack a strawman, but wouldn't know XP if it bit them in the posterior lobes. However, Cook makes some useful points on the subject:
I heard of one group who, when asked for the design documentation of their current project, replied "We don't have any documentation, we do XP". Needless to say they weren't really following any XP practices.
I suspect you need high-calibre motivated and disciplined developers to get XP to work and that development groups who struggle with more traditional development processes will struggle even more with XP. So examine why the current development process doesn't work well before jumping to XP. The same problems may well make XP even less effective.
Like any other popular tool or methodology, the number of camp followers who claim to be doing it will be much higher than the number of people actually doing it.
Cook Computing makes some good points about XP pitfalls, but makes the mistake of recommending this book. I've posted on this crap before - Rosenberg and Stephens know how to attack a strawman, but wouldn't know XP if it bit them in the posterior lobes. However, Cook makes some useful points on the subject:
I heard of one group who, when asked for the design documentation of their current project, replied "We don't have any documentation, we do XP". Needless to say they weren't really following any XP practices.
I suspect you need high-calibre motivated and disciplined developers to get XP to work and that development groups who struggle with more traditional development processes will struggle even more with XP. So examine why the current development process doesn't work well before jumping to XP. The same problems may well make XP even less effective.
Like any other popular tool or methodology, the number of camp followers who claim to be doing it will be much higher than the number of people actually doing it.
In a Usenet thread, Ed posted this:
Actually based on metrics we have gathered from several large Smalltalk projects and reviewed with Capers Jones, the productivity numbers Jones cites are probably too conservative for Smalltalk. We found that the tables Jones provides in his seminal book on "Estimating Software Costs" ISBN 0-07-913094-1,on predicting how long a software project will take, match very closely with actual results. The book takes into account a number of variables in terms of software project type, (i.e. business software vs operating system), team skill as well as lowest cost or quickest delivery. The models are based on SPR's database of thousands of projects.
Since the models Jones provides predict project man hours fairly accurately when compared with actual results, we can then use the models to test various "what if" sceanrios including differences in programming languages. The models that Jones presents seem to show that typical Smalltalk productivity is about 6x that of typical Java productivity for the same type of large project. If one is working on a small project, then the differences in programming technology don't matter because the inertia of getting going, technology set up and debugging are much more of the total project time.
We have presented our results at several conferences with good feedback from the audience about their veracity. One other point is that, as of a few months ago, all of the data regarding Java productivity from the SPR language comparison, appears to be unchanged from several years ago.
Every time this comes up on Usenet, the common response is "those studies are bogus". However, the SPR data is the best data we have, and it's fairly conclusive - if you want to shorten your delivery time, use Smalltalk. If you want to enrich consultants, use Java.
Thomas Gagne makes some interesting observations on Smalltalk and the developers who use it in this Usenet thread:
In response to this question: Why do you think Smalltalkers are so loyal to their technology?
That's a really interesting observation. Entire herds of programmers (increasing their numbers picking up strays along the way) start with C, migrate to C++, then migrate again to Java, and threaten to abandon that pasture for C#. Perhaps they're not leaving devestated pastures for greener ones, but are instead wrangled from one to another by cowboy consultants, marketers, publishers, and other keepers riding the same wagon (gravy) train.
Meanwhile another group, unimpressed with the direction of the herd, remains in their own valley--having fed there 25 years--have found no greener pasture worth migrating too--wrangled or not. According to them they've already arrived. All the features the herd is chasing (object-orientation, a virtual machine, garbage collection, mature IDE, sane collection classes, and recently dynamic typing) are leading them there anyway. Why not wait for them?
It would be arrogant to think that Smalltalk is the last word in programming languages. But it seems several chapters ahead as other languages slowly add or imitate features Smalltalk's had for a generation. Is it possible that Smalltalk really is ahead of its time, or simply the average programmer (or programming shop, or whatever) is only capable of slowly digesting its features? I'm sure this is how LISP programmers feel about the rest of us.
Another way of looking at it is one group is following their food source (a good survival instinct) while another /may/ be threatened by starvation.
Curiously, Smalltalkers (it seems) demonstrate both traits--they prefer to write Smalltalk but "will write Java for food". What inspires this loyalty?
Interesting. Also of interest is the fact that the JVM remains frozen, making sure that actual progress in Java-land is limited. Microsoft seems to realize that's a mistake, and looks like they will be extending and changing the CLR as time goes by (in particular, they seem interested in adding better support for dynamic languages). Meanwhile, the Java folks are stuck with an early 90's vision of what a VM can and should do....
SCO says "we mean it!" about IBM's AIX license, and pulls the Sequent license for good measure. Now that IBM has deployed the lawyers, does anyone care?
If I had one, I'd post some pictures of the drainage project we've been doing in the back yard. A 50 foot long trench down the side yard, and two lines on the patio. Now we have to put the whole thing back together and get rid of the extra dirt....
Another new development system based on ideas coming out of Smalltalk and Self - Slate. Go check it out - the slides from StS are on the site as well!