I hope you include some advice about when NOT to use those patterns. I've seen so many badly implemented patterns that I think their only real use is to publish academic papers.
Take singletons for instance. It is an admittedly non-trivial task to get the memory management right in traditional non-garbage-collecting languages, and the only thing you gain for that complexity is not having to store your global data in a global namespace. But the singleton class has to be in a global namespace in order to be globally accessible, so maybe you don't gain anything at all.
I really think that people advocating design patterns need to include the old-fashioned, simple patterns in their list, such as global variables, subclassing, etc. Less experienced programmers learning about design patterns get the impression that they should use these complex, advanced patterns for _every_ problem, instead of using simple solutions for simple problems.
I have worked with various IBM system off and on, including the System/390 and RS/6000, but not AS/400.
RS/6000 is a Unix system basically. Probably still with more high-end features than Linux, but when building really big Unix systems, my company used HP or DG instead.
System/390's have several different operating system choices. My experience was an unpleasant one with the oldest and cruftiest option (VSE), but I'll try not be too disparaging.
My opinion is that they seem faster because they don't do as much. If they seem better at prioritizing, you should consider that they don't have the usual Unix load to deal with (e.g. 20-odd daemons, local and remote X-sessions, command-line users, and a couple big applications). The 3090 terminal does updates a screen at a time, not character-by-character. That's similar to a text-only 24x80 browser which doesn't have to build and tear down the http connection each request. If you just want to put some accounting app on it, fine. You won't have any downtime, because that is the only thing running on the system.
The little I've read about AS/400 suggests that it's an innovative system, but operates with the mainframe mentality.
Someone should sell hardware like this, but market it as a remote workstation.
"Place this gizmo anywhere in your house, and it can access all the MP3's, recipies, etc on your main home computer, _and_ it can access the internet by routing through the main home computer."
A small amount of software to install on the main home computer (mainly to make the routing and filesharing easy for average user), and there is no limit to what you could do with the thing.
I want to be able to put this places where I don't have a tv or monitor, and I don't want it to require a mouse or keyboard to do simple stuff.
BTW, I still need to get around to hacking my gateway appliance, but I think they _did_ get the hardware right. It has ethernet, audio out, touchscreen, and a wireless keyboard for when the touchscreen is inadequate.
Unfortunately, they totally screwed up on the software.
I agree with most of your comments. SMIT is way cool. IBM should open source the SMIT framework, and let linux hackers fill in the proper commands for Linux.
The ODM is real drag though. It make AIX administration so different from every other Unix, that only the extreme usefulness of SMIT makes administering the system tolerable.
IBM's jfs/lvm are great too.
But you forgot one really great thing about about AIX. You never need to rebuild the kernel! (well, hardly ever. The authors of the O'Reilly Unix admin book mention one case.) Kernel parameters are self-adjusting for the most part.
Linux doesn't have the kernel parameter hell of System V (driver hell instead), but it does have kernel parameters, and if you are working at the high end, you _will_ need to tune them. And what's worst is that there is no one central place to find them all. Some are in/proc, some in one.h file, some in another.h file, and *NONE* in the normal kernel configuration method.
Personally, I think 1984's world would be very difficult to force on a dissatisfied populace for long. One would have to make them happy and complacent first, and then bring in Big Brother to keep them that way.
The "a gram is better than a damn" attitude is already here: Prozac, Paxil, Ritalin, etc.
I for one am very happy about this development, and I hope the MBR system dies a very quick death, no matter how painful. Anything would be better, even if we had to reverse engineer it, which we don't in this case.
I know much more than I ever wanted to know about extended partitions and how to fix them when the chain gets corrupted.
> Nothing on PICK or any of it's various flavors in the article.
PICK is not a relational database, no matter what the marketroids try to label it. No joins, no referential integrity, no client/server. I can write reports in SQL in a couple hours, which took a week to write in PICK.
"But you probably wouldn't want to run Linux on a laptop, unless the manufacturer supports Linux; otherwise, it's a real chore to find and install the right hardware drivers."
Obviously spoken by one who has never attempted to run Windows NT on a laptop. NT doesn't even support inserting or removing PCMCIA cards.
I just wish someone would modularize the Linux floppy and CDROM drivers, so I could hotswap them while running Linux on my laptop.
I downloaded and installed the Alice In WonderLand eBook from Adobe from http://www.adobe.com/epaper/ebooks/ebookslib.html. I cannot find the page linked to in this article anywhere, so I think it is a hoax (mostly).
Adobe is far from innocent however. The security restrictions do include the following:
Printing: Not Allowed
Changing the Document: Not Allowed
Selecting Text and Graphics: Not Allowed
Also, there are REALLY ANNOYING advertisements every 10 pages.
There is no acknowledgement of Project Gutenberg that I can find, and I cannot select text to try to compare the texts. Maybe we could find an error or something in the Gutenberg text and check if it is in Adobe's version too. Project Gutenberg allows them to do this with their texts however, so they are within their rights to use it without acknowedgement.
And worst of all is this, when you get your "Web Buy" access key:
Adobe.com is requesting the following
information about your computer. This will be used to tie the
document you requested to your computing environment.
Computer ID
Storage device(s) IDs
Yes, they really do send your CPU and Hard Drive ids to register the eBook. And I cannot open the document on any other computer. I think the lifespan of paper is still much longer than the lifespan of cpus and hard drives.
This product is no longer. NetManage stopped selling it because Outlook was free. (Good example of how Microsoft KILLS innovative products, instead of creating them.)
Imagine a database backend with a sort of a heirarchical spreadsheet front end, which is incredibly configurable. I saw one company on the web which sold Ecco addons to make it look like a Franklin planner or a DayTimer, etc.
The notes and TODO lists on most products are only a second thought addon part of the product, but with Ecco they were an extremely powerful way of managing information. There's simply no comparison to other products.
Short feature/wish list:
1. You can customize the columns/fields in each page or view. All sorts of types, including the really cool Gantt chart type of column.
2. You can index the information and bring up views with only certain select information.
3. Items can be heirarchically nested under other items.
4. You can link to other items or external documents.
With all this, Todos, Addresses, and Notes are just differently configured views. A Project management interface is another view. The Calendar view is more specialized, but works off the same database.
I've dreamed about doing a clone for linux, and done some design work, but I haven't found a grid/speadsheet widget with enough functionality yet. Most do not even do word wrap within cells. E-table might work, but I haven't had time to look at it in detail since they released it.
Most of the limitations you mention are there for a very, very good reason: 1-2 months power on 2 AAA batteries.
I think that long-lasting, small, light battery is the last hurdle left for truely small portable computers. We can pack as much power as we want into a palm-sized case, but if it has to be rechanged every 2 hours, it is not useful.
The only thing which can keep really big businesses in check is a big government(*), so which of the two evils do we want?
I have yet to find anyone who is against BOTH big business and big government. At times it's hard to decide whether to support the Greens or the Libertarians.
(*) On the other hand, I was reading about the East India Company recently, which had a navy as large as most major nations' in the 1800's.
At least that's why I'm voting for Bush this time. It's the fear that Clinton's offspring will win. Gore supporters are using the same fear to get votes away from Nader.
(I voted for Nader last time, and I'm proud to come from the only state where Clinton came in THIRD!)
The real beauty of the program, was that the code itself was its own documentation -- in braille!
You ran the program on itself to see the documentation in ascii.
...mostly because Caldera did not write it, therefore they are unable to support it.
Back when I got interested in Linux, I started using Caldera, because they were including a nice looking GUI (Looking Glass) and by paying for something, I thought I would be helping the Linux community.
After a couple upgrades, I began to notice that the "known bug list" never changes on Caldera's software! This is certainly one of the worst aspects of proprietary software: a company who repackages someone else's proprietary software, and is unable to fix bugs or support it.
I switched to RedHat and found a better GUI (TkDesk, whose filemanager still blows KDE and Gnome away).
Caldera's installer is nice, but they didn't write it; they paid TrollTech to write it.
COAS seemed like a very good idea at the time, but the short life of the mailing list and the death of coas.org show that Caldera doesn't understand how to lead a community software effort.
I don't even see their old core standby (Netware connectivity) mentioned on the web pages for their current products. Have they stopped developing that too? Last time I tried to connect to Netware, ncpmount seemed easier to use than Caldera's stuff, but neither one was really worth the effort.
Criticizing the GNU licence achieves nothing except to further alienate themselves from the community. If they want the right to make closed source modifications to other people's code, they should get out of the Linux market and concentrate on their DR-DOS based products.
I hope you include some advice about when NOT to use those patterns. I've seen so many badly implemented patterns that I think their only real use is to publish academic papers.
Take singletons for instance. It is an admittedly non-trivial task to get the memory management right in traditional non-garbage-collecting languages, and the only thing you gain for that complexity is not having to store your global data in a global namespace. But the singleton class has to be in a global namespace in order to be globally accessible, so maybe you don't gain anything at all.
I really think that people advocating design patterns need to include the old-fashioned, simple patterns in their list, such as global variables, subclassing, etc. Less experienced programmers learning about design patterns get the impression that they should use these complex, advanced patterns for _every_ problem, instead of using simple solutions for simple problems.
The poster did not say anything about indenting. He said "whitespace-significance".
The braces do not just make it easier for the parser, they protect your code from reformatters.
I have worked with various IBM system off and on, including the System/390 and RS/6000, but not AS/400.
RS/6000 is a Unix system basically. Probably still with more high-end features than Linux, but when building really big Unix systems, my company used HP or DG instead.
System/390's have several different operating system choices. My experience was an unpleasant one with the oldest and cruftiest option (VSE), but I'll try not be too disparaging.
My opinion is that they seem faster because they don't do as much. If they seem better at prioritizing, you should consider that they don't have the usual Unix load to deal with (e.g. 20-odd daemons, local and remote X-sessions, command-line users, and a couple big applications). The 3090 terminal does updates a screen at a time, not character-by-character. That's similar to a text-only 24x80 browser which doesn't have to build and tear down the http connection each request. If you just want to put some accounting app on it, fine. You won't have any downtime, because that is the only thing running on the system.
The little I've read about AS/400 suggests that it's an innovative system, but operates with the mainframe mentality.
> In short, I just hate how the language looks.
Yep, everything you list is purely cosmetic.
My biggest plus for Delphi:
properties: They take the pain and inconvenience out of accessor functions vs member variables.
Biggest minus:
Delphi is "Borland's Object Pascal". As in proprietary. No standards.
Slashdot seems to be alternating two types of stories about wireless:
1. Let's all set up a new anarchist internet using overlapping wireless transmission ranges!
2. Why are there so many insecure unencrypted wireless networks around?
Someone should sell hardware like this, but market it as a remote workstation.
"Place this gizmo anywhere in your house, and it can access all the MP3's, recipies, etc on your main home computer, _and_ it can access the internet by routing through the main home computer."
A small amount of software to install on the main home computer (mainly to make the routing and filesharing easy for average user), and there is no limit to what you could do with the thing.
4. A flat-panel touch screen.
I want to be able to put this places where I don't have a tv or monitor, and I don't want it to require a mouse or keyboard to do simple stuff.
BTW, I still need to get around to hacking my gateway appliance, but I think they _did_ get the hardware right. It has ethernet, audio out, touchscreen, and a wireless keyboard for when the touchscreen is inadequate.
Unfortunately, they totally screwed up on the software.
Would $a ^+= @b do what I want?
i.e. $a is the sum of all elements of @b?
GUI apps can be made scriptable.
1. Embed a scripting language in your app. (don't argue. just pick one. various zealots will add binding for the others later.)
2. Create an API so the scripts can manipulate the objects and data in your application.
3. Allow developers and users to use the scripts and API to create a library of dynamically loadable functions/plugins/modules.
The GIMP uses this paradigm successfully.
I bet application embedding would suddenly seem a lot easier if the apps were scriptable.
If someone asks for Word format, just export to RTF format. Word will load it, and they probably won't even notice the different extension.
I agree with most of your comments. SMIT is way cool. IBM should open source the SMIT framework, and let linux hackers fill in the proper commands for Linux.
/proc, some in one .h file, some in another .h file, and *NONE* in the normal kernel configuration method.
The ODM is real drag though. It make AIX administration so different from every other Unix, that only the extreme usefulness of SMIT makes administering the system tolerable.
IBM's jfs/lvm are great too.
But you forgot one really great thing about about AIX. You never need to rebuild the kernel! (well, hardly ever. The authors of the O'Reilly Unix admin book mention one case.) Kernel parameters are self-adjusting for the most part.
Linux doesn't have the kernel parameter hell of System V (driver hell instead), but it does have kernel parameters, and if you are working at the high end, you _will_ need to tune them. And what's worst is that there is no one central place to find them all. Some are in
Personally, I think 1984's world would be very difficult to force on a dissatisfied populace for long. One would have to make them happy and complacent first, and then bring in Big Brother to keep them that way.
The "a gram is better than a damn" attitude is already here: Prozac, Paxil, Ritalin, etc.
I for one am very happy about this development, and I hope the MBR system dies a very quick death, no matter how painful. Anything would be better, even if we had to reverse engineer it, which we don't in this case.
I know much more than I ever wanted to know about extended partitions and how to fix them when the chain gets corrupted.
> Nothing on PICK or any of it's various flavors in the article.
PICK is not a relational database, no matter what the marketroids try to label it. No joins, no referential integrity, no client/server. I can write reports in SQL in a couple hours, which took a week to write in PICK.
Obviously spoken by one who has never attempted to run Windows NT on a laptop. NT doesn't even support inserting or removing PCMCIA cards.
I just wish someone would modularize the Linux floppy and CDROM drivers, so I could hotswap them while running Linux on my laptop.
I was using the Adobe Acrobat Reader, not the eBook reader, which is why I did not see the same screens.
The rest of my complaints still apply.
Leaving out that it cannot be read aloud by the builtin text-to-speech software is pretty hilarious, I think.
My favorite DOC reader for Palms can do 90 degree flips: http://www.32768.com/bill/palmos/cspotrun/
It's GPL too!
Adobe is far from innocent however. The security restrictions do include the following:
Printing: Not Allowed
Changing the Document: Not Allowed
Selecting Text and Graphics: Not Allowed
Also, there are REALLY ANNOYING advertisements every 10 pages.
There is no acknowledgement of Project Gutenberg that I can find, and I cannot select text to try to compare the texts. Maybe we could find an error or something in the Gutenberg text and check if it is in Adobe's version too. Project Gutenberg allows them to do this with their texts however, so they are within their rights to use it without acknowedgement.
And worst of all is this, when you get your "Web Buy" access key:
Yes, they really do send your CPU and Hard Drive ids to register the eBook. And I cannot open the document on any other computer. I think the lifespan of paper is still much longer than the lifespan of cpus and hard drives.
This product is no longer. NetManage stopped selling it because Outlook was free. (Good example of how Microsoft KILLS innovative products, instead of creating them.)
Imagine a database backend with a sort of a heirarchical spreadsheet front end, which is incredibly configurable. I saw one company on the web which sold Ecco addons to make it look like a Franklin planner or a DayTimer, etc.
The notes and TODO lists on most products are only a second thought addon part of the product, but with Ecco they were an extremely powerful way of managing information. There's simply no comparison to other products.
Short feature/wish list:
1. You can customize the columns/fields in each page or view. All sorts of types, including the really cool Gantt chart type of column.
2. You can index the information and bring up views with only certain select information.
3. Items can be heirarchically nested under other items.
4. You can link to other items or external documents.
With all this, Todos, Addresses, and Notes are just differently configured views. A Project management interface is another view. The Calendar view is more specialized, but works off the same database.
I've dreamed about doing a clone for linux, and done some design work, but I haven't found a grid/speadsheet widget with enough functionality yet. Most do not even do word wrap within cells. E-table might work, but I haven't had time to look at it in detail since they released it.
Most of the limitations you mention are there for a very, very good reason: 1-2 months power on 2 AAA batteries.
I think that long-lasting, small, light battery is the last hurdle left for truely small portable computers. We can pack as much power as we want into a palm-sized case, but if it has to be rechanged every 2 hours, it is not useful.
The only thing which can keep really big businesses in check is a big government(*), so which of the two evils do we want?
I have yet to find anyone who is against BOTH big business and big government. At times it's hard to decide whether to support the Greens or the Libertarians.
(*) On the other hand, I was reading about the East India Company recently, which had a navy as large as most major nations' in the 1800's.
FEAR.
At least that's why I'm voting for Bush this time. It's the fear that Clinton's offspring will win. Gore supporters are using the same fear to get votes away from Nader.
(I voted for Nader last time, and I'm proud to come from the only state where Clinton came in THIRD!)
The Braille/ascii converter was my favorite too.
The real beauty of the program, was that the code itself was its own documentation -- in braille!
You ran the program on itself to see the documentation in ascii.
Shrinking a filesystem is supposed to be possible with the OnLineJFS (extra $) option.
I've tried it twice, and it hasn't worked yet.
Always make a backup before attempting this sort of thing.
...mostly because Caldera did not write it, therefore they are unable to support it.
Back when I got interested in Linux, I started using Caldera, because they were including a nice looking GUI (Looking Glass) and by paying for something, I thought I would be helping the Linux community.
After a couple upgrades, I began to notice that the "known bug list" never changes on Caldera's software! This is certainly one of the worst aspects of proprietary software: a company who repackages someone else's proprietary software, and is unable to fix bugs or support it.
I switched to RedHat and found a better GUI (TkDesk, whose filemanager still blows KDE and Gnome away).
Caldera's installer is nice, but they didn't write it; they paid TrollTech to write it.
COAS seemed like a very good idea at the time, but the short life of the mailing list and the death of coas.org show that Caldera doesn't understand how to lead a community software effort.
I don't even see their old core standby (Netware connectivity) mentioned on the web pages for their current products. Have they stopped developing that too? Last time I tried to connect to Netware, ncpmount seemed easier to use than Caldera's stuff, but neither one was really worth the effort.
Criticizing the GNU licence achieves nothing except to further alienate themselves from the community. If they want the right to make closed source modifications to other people's code, they should get out of the Linux market and concentrate on their DR-DOS based products.