Nothing irritated me more than people who refused to respect my interest in computers, and then many years later ask me questions about the problems theirs was having.
Nowadays only my family gets my help. Everyone else can just suffer they kharmic payback.
4) Recognize that the US Constitution has failed in its purpose and propose a new government that will recognize the rights of people, using violence if necessary to overthrow the existing government.
Yet, again, we have to explain to the socialists how the world really works.
Yet again, I have to explain to the libertarian how the capitalists really run the country.
There is a thing called supply and demand. The reason an unskilled shitty job pays $6/hr is that there are a ton of people lined up to do it. The reason another job pays $45/hr is that there are not many people who can't [sic] do it. Do you think the person who pays $45/hr wants to pay $45/hr? Nope, they would rather pay you $6/hr, but they can't because there is a scarcity of labor for the $45/hr job.
$45/hr is paid for the white-collar jobs because there would be open revolt in the streets if it wasn't. Look at Argentina and Venezuela to see what I mean -- they have engineers in those countries too. Also look at Brazil to see what the false assertions of supply and demand can ultimately lead to. Or if you want the home-grown version, just read Nickel and Dimed.
It has nothing to do with supply and demand, it has everything to do with maintaining the social order. Don't believe me? Read up on the struggle to set a minimum wage. By paying a modest income to the middle class, the upper class maintains power by ensuring that the middle class identifies with them and not the working class, preventing the 99% of the country in the two lower classes from joining together and forcibly changing the distribution of wealth. Simple and effective, dating back to ancient times.
FYI I know lots of $6/hr jobs that are actually quite fun to do, I'd even take one if I could ever find a combination of (barebones dwelling + mandated auto insurance + electricity) that $6/hr could pay for. Those jobs aren't shitty, and the people in them aren't shitty either. You might check your (false) classist elitism at the door next time you argue economics.
It has nothing to do with physical labor. Very few people can NOT do a physical intensive labor job and very few people have the skill set for the $45/hr job.
*laugh* Yeah, right. I may not be able to pick random people off the bus to do my (former) job, but I've got five friends making $10/hr who could've done it if they could have gotten through the hiring process. But without a college degree -- that is to say a piece of paper from an accredited school proving that they have family money or are indebted already -- they are magically unable to perform the same duties I did. It's called "artificial scarcity", and it's what happens when the bar is (needlessly) raised to get any good-paying job.
<sarcasm>Next I suppose you'll be helping your employer outsource your own job, because that too is just an expression of supply and demand.</sarcasm> (Hint: Look up Bretton Woods, the petrodollar, and the creation of the floating money exchange. Yet another artificial monkeywrench into the global economy to make the American dollar purchase way more than it's theoretically supposed to.)
Too bad you're AC, I probably won't get a response...
So IGS got no bonuses, but y'all did get Variable Pay right? Did you know Software Group made enough money to purchase Rational, but they took the purchase cost out of SWG's profit number so it looked like SWG made nothing. Hence, Variable Pay even in high-profit products (WebSphere, Portal server) was almost zilch. Makes you want to scream to the bean counters to just eliminate the program and stop lying to the new-hires about their yearly compensation.
I got laid off in December through the classic "Cadillac layoff program" (as the DBM career consultants called it). I'll probably take home more this year in (severance + unemployment + retraining assistance + lower tax bracket) than if I had just kept my job! Sad but true.
Looks to me like IBM had its high point with Gerstner. Outside that period of time it's been all dirty tricks.
Always good words to anyone. THINK about the future, and more than five years out. Are you in a field that will even be around five years from now? Are you looking for jobs with companies that have experienced long-term growth without resorting to dirty tricks? Do you think your next job could be the job you could retire on? Are you going to join the union when you come on to the job?
Are you going to need anything from this employer?
In my coming second career (Chemical Engineer), I'll be in the position to influence decisions about whether or not we should buy products made by my former employer (IBM). Re-parse that statement carefully: my former employer has saved itself maybe fifty grand a year by creating an articulate anti-customer who is at some point guaranteed to extract payback.
With my inside knowledge of both IBM's products and more importantly the teams responsible for those products I can provide a very short list of things worth purchasing (DB2) and lots of hard data about why one should avoid IBM's flagship software and most hardware and services.
Most importantly: I'm not special at all. We ALL have knowledge of the dirty laundry of our former employers. Every mass layoff -- especially of the white-collar variety -- just distributes that knowledge out into the client pool.
That you might need a reference?
My references are also my friends; they remain at IBM waiting for the ax to make it to them. I like my friends a lot and I respect their technical expertise and wide range of experience. Most importantly, I let them know that while we working together. Result: lunch buddies in other towns, and plenty of references for the resume.
Be careful of burning bridges, unless you are willing to get burnt (twice).
Advice that any CEO with a large outsourcing program should take to heart. If a significant segment of your disgruntled employees finds new jobs within your customer base, sales may be negatively affected.
At very least look at your self interest in the situation as cold bloodedly as you can manage.
The JVM specs are the very thing that specify how to implement the underling native code for all the java libraries. Infact if you use java.awt.* and get class not found using a third part JVM implementation, like say kaffee or IBM jikes, etc then it means the JVM implementaition is incomplete and is a mistake by the JVM implementor.
Yes, you can write your own native code to duplicate Sun's classes. And kaffe has duplicated most of java.io.*. However, the standard libraries remain under Sun's control, as in the specs themselves are not released from Sun's control, so Sun can change java.awt.* at any time and everyone else has to jump or else they lose the right to name their JDK a "Java(tm) JDK". Until Sun relinquishes *control* of those libraries (by submitting them to an international standards body) there's no point in duplicating them.
There is nothing stopping IBM to fintune Jikes from running faster and efficiently on x86 (linux) or their big toys the mainframes.
I don't think I made myself clear: IBM doesn't use Jikes, IBM uses the Sun JDK with IBM's enhancements. Thus, the "IBM Linux JVM" is actually the "Sun Linux JVM + IBM stuff". (BTW I used to work for IBM. The group that does the JVMs is in Hursley, near London.) The "IBM stuff" is patches against the native C code that are upwardly ported to each new JDK release from Sun. IBM very rarely touches the Java source part of the Sun distribution, but they've done much to the C native part: better international font handling in X11, AIX and Linux native threads, and some major performance enhancements. The only places to compare the Sun JDK and IBM's version of the Sun JDK are on Linux and Windows, and in *most* test cases IBM's is significantly faster.
In other words, there is no real "fork" OR "clean-room clone" of Sun's JDK, *anywhere* in business use. Sun releases a new version, every company out there ports it to their preferred hardware and releases it under their own names. Sun's JDK is thus a trunk and every other JDK is a one-off branch from it.
Back on topic, like I said I don't care much if Sun open-sources Java or not. I think Java today is COBOL circa 1985. But I don't see anyone else caring enough to fully clone Sun's Java and thus revitalize the platform. And I say this having over 100,000 lines of Java across maybe 300-500 Classes under my belt, from JDK 1.1.4 up to 1.3.1 and also inside J2EE (WebSphere 3.5.1 up to 5.0.1).
AFAIK, it's supposed to actually intercept data being passed around in the computer.
My understanding is most schemes rely on authorized software to "promise" that it will do the right thing. For instance, a DVD player will only be authorized if it can be proven that it won't write the stream to the disk. DRM can enforce certain restrictions at the hardware level, e.g. disabling the digital video out port while the DVD drive is decoding a region-encoded disc.
But think of this: how will a legitimate DVD playback program be able to "prove" to the DRM hardware chip that the hard disk write it needs to perform in the middle of playback is NOT the stream? I don't think the software CAN make that proof, instead I believe the OS will have to trust that the DVD software is complying with the DRM scheme. Of course a DVD player will be digitally signed so the OS can trust it, and obtaining the signature costs lots of $$$ and a contract placing the company that wrote the DVD software at risk if the copyright is in fact violated.
I believe that it will only take *one* piece of signed software to be cajoled into running an emulator program, and suddenly all of DRM falls down.
BTW cute site (http://www.linuxisforbitches.com/).
I ought to point out that whoever finds themselves hosting a site dedicated to proving that their dong is longer than Linus' should spend some time reflecting on why the choice of other people's operating system is such a big deal to them.
Oh yeah, and -- speaking as a real live formerly-paid software developer -- expecting xinetd to just automagically support inetd.conf is just plain ignorant. As in: it IS better to force users to consciously upgrade their systems than have them blindly install whiz-bang software that doesn't behave EXACTLY like its predecessor. That xinetd rant uses Microsoft sales logic rather than hardcore BSDer logic.
Laugh, AC, laugh. OS/2 was the last time IBM went up against Microsoft on Microsoft's terms. Since then the rules of engagement have changed.
No, I think OS/2 was entirely on IBM's terms: "We're IBM, we think you should use OS/2. Well, when we say 'we think you should use OS/2', we really mean 'after you've bought an IBM computer with Windows pre-installed, if you want to spend an additional $200, we'll provide telephone support to help you get OS/2 installed. If you pay us for a support contract.' Yeah, that's what we meant. Oh yeah also we'll give you the phone number of a German company that writes software for OS/2. Oh, you think WE should write software for our OS? Well we'll consider doing that in a year or two. Yeah."
Unfortunately, if that happens it will only bring the age of gov't mandated hardware DRM even closer - and then you can say goodbye to actually owning your own computer.
1. I pay someone to ship me a computer designed, manufactured, and sold in China.
2. I build my own system from parts off eBay.
3. I write an emulator for an entire non-DRM computer, and run it on my DRM-crippled computer. I install Debian Linux with DRM-free MPlayer inside the emulator. Performance sucks, but Moore's Law still means it's faster than a current 3GHz system.
I personally would rather see Java die because it really ISN'T a good technical solution to the problems it is being thrown at. (See here and here for a brief start on my reasoning.)
However, you have to realize that while the Java JVM spec may be "open" and already duplicated (see kaffe), the Java *libraries* belong solely to Sun. java.net.*, java.io.*, java.awt.*, etc., these are essential to building Java applications these days and they rely on an inordinate amount of C code called by Java. Sun owns all this code and will not relinquish enough "control" to allow *any* third-party equivalent to arise.
What I mean is: I write a GUI app in Java, using the "standards" set forth by Sun including the interfaces and classes from java.awt.*. When I try to run it under a JDK that does not have direct lineage from the original Sun JDK I get hundreds of "ClassNotFoundExceptions". And *every* JDK in use for business software has the Sun JDK as its parent.
It would be like trying to write a C program and finding stdio.h, math.h, unistd.h, types.h, etc. missing. You may have C syntax and C-style function calls, but you don't end up with a real C program because the standard C library (libc) is an integral part of the spec. The only real exception to this example is the kernel itself, because it lives at a layer below even libc.
Don't forget that linux is gaining acceptance in the corporate world , mostly because of the efforts of IBM , rather than the collective RTFM attitude of most kernel developers.
I gotta disagree with you here. Linux gained acceptance because it *works*, and thousands of front-line admins and programmers at those companies (like I used to be) pushed to management types to look at it. IBM has always pushed huge software "solutions" into the corporate world that are frankly crap; saying "this magic product X will solve all your problems!" is nothing new to them. It's not IBM's fault Linux has flourished, it's because Linux had already reached a critical point of stability before the first MBAs ever saw it.
Those RTFM-spouting developers *made* the wave; IBM is just riding along with it. And even then IBM is about three years late to the game: almost every major corporation is already using Linux for something.
It's precisely because of attitudes like this that the Linux desktop is *doomed*. Until you recognize that the Linux desktop is severely broken, then you can't fix it. You can't fix a problem until you can come to admit that there is a problem.
I don't care about fixing it because I'm not a "Linux" developer (or GNOME, or KDE, etc.). I'm a *user*, and for my needs Linux is working admirably.
What I'm trying to get at is it's *already working* for people *just like* "Joe Sixpack." "Joe" may not have SCSI, but he watches DVDs, reads email, plays music, uses USB cameras, and occasionally even prints things.
If you want Windows, use it -- and then stop talking about why Linux should emulate all the flaws in Windows (which is all I can imply you're saying, since you didn't enumerate any of the ways you think the Linux desktop is "severely broken").
To tell the truth, I find my current desktop system even easier to use when I disregard how things were done when I first ran Linux in 1994 and just try to be as naive as possible when approaching the modern desktop, and viola! what I'm trying to get accomplished works marvelously. So maybe you should just try out a *brand-new* Linux and see if you still consider it broken.
Most of what you say is lacking in Windows is available via TweakUI.
But TweakUI doesn't ship with the default Windows install, nor is it officially supported or integrated into the normal configuration process.
More importantly, I'm arguing that the *default desktops* shipped for Linux have better behavior than the Windows environment.
Some of the things you like in non-Windows are things that normal people would never be able to do. If there's any problem during an install, their machines are sent in to a shop.
I don't follow. You seem to be implying that Linux is always broken to start with and has to be fixed before it can be used, which is not the case. Regardless, if a Windows initial install is fudged, just as for Linux any user can re-install Windows from CD and get back to a base system. In the case of Linux, a more savvy user can fix it without losing all the system configuration data (e.g. PPP settings). How does that make Linux *less* end-user-worthy?
To top it all, doesn't MPlayer used hacked dll's for some of its compatibility? Such a thing is a DMCA violation. Regardless of how you feel about it, it's still a current law.
To top *what* all? You only need hacked dll's to play proprietary formats. I don't use WMV, WMA, Real, or QuickTime. I use MPlayer for DVD playback and that does not violate DMCA. (CSS is a trade secret, not a copyright.) But again, what is your point? You are implying that using Linux for regular consumer use requires breaking U.S. laws.
GNOME and KDE have multiple desktops on by default. GNOME and KDE have multiple SKINS (more encompassing than themes). GNOME and KDE have WAY more available key-bindings modes. GNOME and KDE are more consistent in mouse and keyboard behavior. GNOME and KDE have better default panel applets. GNOME and KDE can be made to look and behave like almost every other GUI made...except you never get "drive letters". GNOME and KDE can be simplified to run on far less hardware than Windows.
If I was *really geeky* I could dig up more.
But you know what? I've been satisfied since KDE/GNOME 2.0. Other than a couple key mappings in Xmodmap for better Emacs handling, I've needed virtually no customization from the default.
Seriously folks, what UI "problems" with Linux are you even talking about?
My system: Athlon 2600, 2 SCSI3 adapters (Adaptec 2940UW), Linux 2.4.24 My running OS: Debian testing, GNOME 2.4.1 My apps: Mozilla 1.7b, XMMS, Emacs, GAIM, GnuCash, MPlayer
I was using KDE 2.2 with Debian stable and found it eminently usable. When I went to Debian testing it was GNOME. I had some hardware glitches to work out in 2.4.21 (audio and devfsd), but those would have been avoided if I had gone straight to testing at the initial install.
Now that the kernel is fixed, my system works perfectly well, and in many respects much better than my wife's XP system. Need a calendar? Click once on the clock applet and a calendar pops up in its own top-level miniwindow, out of the way of your running application. Need a screenshot? "Take Screenshot..." is right off the GNOME menu! Much easier than Print-screen -> Paste into image program -> Save to disk. Need some more screen? Click on another desktop.
The mouse behaves the same way all over GNOME: single-click activates things, right-click pulls up a context menu, mouse-wheel scrolls, and middle-click pastes whatever is highlighted. There's still a few places where programs crash (GNect "Connect Four" game, while clearing an old game, and clicking the exit button) but even then GNOME has the application crash dialog to go with it so it's not a mysterious "woa! where'd the window go?" experience. Outside of SCSI bus lockups while ripping certain CDROMs -- which "unfreeze" about two seconds after ejecting the offending disc -- the system never freezes much less crashes.
Right now I am: playing MP3's with XMMS (over a 380 hour playlist), burning a CD-R, editing about five files in Emacs, navigating Slashdot in one tab, and browing eBay in another tab. The system is humming smoothly and I have no messenger popups, random noises, or floating flash ads in my way. When my wife has trouble on her XP system she routinely uses mine to check her email and browse. And of course nothing beats MPlayer for instantly starting a DVD without menus, ads, or FBI warnings.
Other than Emacs of course, I've done nothing to change the default behavior or keybindings, though I have modified the program launchers on the panel. I find this system very coherent and obvious at what it does, which is let me do what I need done unobtrusively. What I like most is that applications KEEP FOCUS even when new applications are launched -- something I've *never* seen MS Windows capable of doing. I just can't stand being in a window typing away and suddenly a popup dialog steals focus and my next [Enter] does who-knows-what!
So why exactly do y'all maintain that Linux is mystifying to Joe Sixpack? Just put Joe down in front of the system, point him at the GNOME menu, and provide an icon for logging in and out of his ISP.
I think the Linux desktop is NOW, not next year or whenever.
1) Take the whois database from RIPE and APNIC. Divide the networks and subnetworks out into the smallest possible units.
2) Note that *most* small networks have adjacent routers with other small networks *in their own country*. Make a list of network and neighboring networks, using the administrator's address as the country field.
3) Sort the list by network coverage size, with Class A (8/24 CIDR) down to about 15/33 CIDR.
4) MANUALLY use the data from #2 to make a reasonable country assignment for each network in the list generated in #3.
Because of the nature of the list, you'll find that the first 1000 or so networks cover about 50% of ALL internet users. The next 1000 or so cover another 20%, the next 1000 or so another 13%, etc.
You can get about 80% coverage at 80%-ish accuracy in one full-time week of work. The code for #2 and #2 is fun, but #4 is boring as hell. Fortunately for us, there's no good source of data to tie IP down to city or state/province level. (Case in point: two adjacent IP addresses in "Houston" are physically in Nigeria and Equitorial Guinea.) I'd only use whois data to draw the big national borders.
At the time I did it (2000) it didn't look forbidden to me. Sweeping the database for commercial gain or mass mailings was forbidden though.
But modern distributions like debian and gentoo have dependency checking, so if your attempt to upgrade libraryX is going to break appFOO, the upgrade tool itself will complain. So we've already got that functionality, IF you use applications that adhere to the local packaging system. And if you don't, well then you're obviously smart enough to fix the problem, right? Just compile the application and statically link to its older libc.
Short form is, this argument about/bin/usr/lib etc. seems to come up all the time from people who refuse to do ANY of the following:
1) Use apt-get/dpkg/etc to install things 2)./configure && make install
Funny they hate 'make install' but have no trouble double-clicking an InstallShield that will do God-knows-what to their Windows system.
I don't think you live in the same US I do. We don't see ourselves as infallible (remember VN?), we don't believe slavery never happened, we study Wounded Knee, Trail of Tears, etc., we are aware of the Shah and others.
Sure, those events are in the history books, just 100 pages after the Constitutional Convention, the War of 1812, General Cornwallis, and half a dozen other completely useless facts.
The point is that our history is taught as a frozen time bubble from which we have already gleaned every important truth and incorporated it into contemporary society. Where was the moral outrage over the Trail of Tears in 1838? Why was there "domestic unrest" over Vietnam, besides "Baby Boomers didn't want to be drafted"? The pertinent questions are never asked in American history textbooks, hence the same questions are never asked of contemporary society.
We do not come out with a sense that those people back then were people just like us; that they made choices that we are seeing the consequences of; and finally that we still have power to make choices that our descendants can ponder. Instead we're given this vision that progress was inevitable, and we can just sit back and do nothing because the magic hand of progress will still be there to take care of our children.
So yes I believe we do see ourselves as infallible. The future will always be brighter no matter what we do.
And fer the love of man, don't hold your neighbor responsible for what happened 400 friggin' years ago.
It's totally appropriate to hold your neighbor responsible for maintaining the attitudes that historically brought misery. If they can't distinguish the difference between historical guilt and modern culpability we have to teach them.
Everyone always touts the 'lots of small tools' approach of Unix ('every program is a filter'). But they ignore the fact that this approach doesn't really work in Unix, at least not on any scale.
What do you mean by "scale"? Amount of data? See Beowulf. Number of interacting components/processes? See Xfree86+GNOME+Mozilla. Number of distributed processing nodes? See Beowulf again.
Seriously, have you ever seen a real Unix shop in action? We're talking several gigabytes an hour of data flowing through smoothly, using multiple processes that have their own memory space talking to each other and behaving very well: blocking on I/O to free up CPU and writing verbose debugging information to human-viewable log files. When a process SIGSEGV's a nanny process can detect that and restart it quickly. Each node uses NTP to maintain a uniform clock and NFS to share files. It actually works very well, even if the ps output is confusing to a new user.
The common data format on Unix is text, and text is not sufficient for complicated tasks.
Text is an acceptable least common denominator format for tools that weren't designed with each other in mind. For instance, transferring IEEE 80-bit floats between programs can be accomplished easily between architectures using standard text representation of numbers.
EJB (beans) is a step further than XML, but we still have a long way to go before the 'lots of little tools' approach will work on any sort of scale.
Clearly. Have you actually used (or tried to use) EJB? 2.0 CMP *finally* gets there almost, but:
a) It needs vendor-specific (proprietary) code to generate database stubs. This is NOT a trivial point. In order to use EJB AT ALL you have to have an enterprise DB like DB2, Oracle, Informix, etc. You can get by with an embedded DB (like Cloudscape) ONLY IF you are single-node. You need this DB to provide the backend for both JNDI lookups and persistent data.
b) It needs the whole J2EE infrastructure to live in, which takes at minimum 30 seconds (2+ GHz x86) on up to 6 minutes (4-way 450MHz RISC) to fire up. A SIGSEGV is a *serious* problem, especially if it occurs during an EJBStore(), as the container may be corrupted.
c) Its security model is completely separate from the OS's model. If the container security is broken, your data is wide open; the OS can't help.
d) Good EJB developers cost more than good Unix admins, in terms of both outside hiring and in-house training time. A good Unix admin has skills that go much further in the world than a good EJB developer.
By the time you get EJB implemented for your application, you need 1.5+GHz processor, $10000 for WebSphere+DB2 or WebLogic+Oracle PER NODE, $50000/year on a full-time EJB developer, and an LDAP server. You also need to write SOAP clients that use SSL to communicate with your EJBs from the command line, because any other method is just too damn slow for the real world. Don't forget to add four months to turn the EJB implementation Class into a prototype that can actually work inside the vendor's EJBContainer.
OTOH if you had committed to Perl, you could get by with a 500MHz processor box, $0 for Linux+Perl, $45000/year on a full-time Unix admin/programmer, and "scale up" by adding more processor nodes and running named pipes between them. And your solution is ready for prototyping as soon as its written.
So why bother with EJB, when the common text utilities can get you 60% there (and Perl can push that to 95%), and if you need more speed you can replace parts with portable C/C++?
If anyone will pay me to do it, I could do a hardware Java engine on a $20 FPGA, but up till now, noone seems willing to pay.
I certainly wouldn't, not after 5+ years programming Java on the server side (where it's supposedly very strong). JDK 1.1.8 through 1.4.2, minor AWT/Swing, mostly J2EE (EJB/JSP/JDBC) and some JNI. I have had a rather thorough grounding in both the Java language and the professional Java tools/environments.
I've optimized Java out the wazoo on projects, only to see the most naive C implementation of the same program blow it away in speed. Now that we've got the freely-available Hans-Boehm C++ garbage-detector/leak finder, and the Boost C++ libraries, and the C++ flagship products Mozilla, KDE, and GNOME, I'd much rather we all just spent two months ramping up new coders on "real C++" than try to get the JVM to run as fast as a real computer.
Yeah yeah flame away. But seriously I don't see much real-world use for Java besides:
1) HUGE web sites. J2EE is a good solution: strong typing in the language, a security model that is complete from the database backend up to the Struts frontend, and clustering/failover with EJB 2.0.
COROLLARY: Small-medium sites should use LAMP and rely on redundant hardware to handle failover.
2) Applets. Since they run on "most" Unixes + Windows browsers, and despite the load time an applet is much friendlier to users than Flash. But you have to use Java 1.1 to ensure compatibility.
COROLLARY: Cross-platforms GUIs should use Python, Qt, wxWindows, Tcl/Tk, etc.
3) Unusual database applications for which only an ODBC or JDBC driver exists. JDBC is a rather mature standard (should be since it ripped off ODBC) that works pretty well. It's faster to write a few quick Statements and PreparedStatements and run them against a database than to use native tools that "use" 'different' ''ways'' to quote strings.
COROLLARY: Prefer Perl or PHP if the database is supported.
4) Any application for which speed is not an issue. Yeah, Java can do everything any other language can do, and if this is the one easiest for someone to "think in" then they should use it.
COROLLARY: NEVER use Java to create or manipulate graphics from the command line. No JDK, EVER, has managed to do this despite five years of pleading from the professional programmers. Without a GUI Java goes belly-up on the first "new java.awt.Frame()". (And for you 1.4+ folks who think HeadlessException was a fine solution, it wasn't.)
Java was a great idea in 1995, when so many programs were being pushed out to consumers that just crashed right and left due to pointer arithmetic problems and piss-poor exception handling, and when there existed no standard ways to manipulate HTML forms like a regular GUI. But since then Java has been pushed as the Second Coming and it just hasn't measured up, particularly in the libraries, but especially java.net.* . The other languages have surpassed Java in every one of its primary marketing points: platform independence, performance, object-orientedness, ease of use. HTML has evolved considerably with CSS and DHTML, so Java-based applets are not needed to overcome its limitations.
Call it a rant or whatever, but seriously I think if you compare the results, for each hour invested you find that Perl, PHP, Python, and (after a while) even C++ provide way more function toward solving your problems than Java.
Parent poster: You were talking about chips not Java, I took it off-topic. Sorry. (Now if you want to make a chip optimized for System RPL, I'll buy.)
I had my economics course almost a decade ago. Since then I've developed the habit of double-checking what professional economists have to say. It's illuminating how often they've been dead wrong in their predictions. The Republican ones in particular love to twist the numbers beyond all recognition in order to prove that the status quo is perfect.
If you seriously like economics, I urge you to continue to study it, but make an effort to find material published before 1970. See how the predictions made then have panned out, then compare with predictions in the modern textbooks. I found that the modern economists stopped making efforts to verify their models, meaning since about 1970 they've been pushing policies that just don't work.
Being socialist (providing for the people through taxes) does not mean you cannot be capitalist (trying to maximize overall value of the economy).
I don't think the poster I replied to would agree with you, even though he knows words like "specious". I believe he was trying to argue that unregulated laissez-faire capitalism is the fundamental driver of real prosperity throughout the world. Which is ridiculous: once you start comparing numbers and take into account the unblanced money markets, foreign sweatshops, and wholesale theft perpetuated by the American business culture that are all integral parts of our economy you see that we're really scraping just to make ends meet for our little world empire.
But that's an interesting list: Hong Kong, Singapore, New Zealand, Luxembourg, Ireland, Estonia, UK, Denmark, Switzerland, and then finally the USA. Se we're 10th free-est economy. But if you dig up some other rankings that puts a new spin on it:
10th free-est economy
54th in literacy
112th in population death (we probably pushed Iraq down from #50 though, so it may be higher now)
34th in infant mortality rate (all of those free-er economies beat us here too)
33rd in life expectancy (ditto on getting beat by Hong Kong etc)
106th in adults living with the AIDS virus
12th in poverty. Damn even China has only 10% poor these days compared to USA's 13%. Maybe we should ask Tunisia what's working for them - only 6% poverty.
37th in unemployment. Wonder how they're measuring it, because Nigeria of all places is #2. Maybe they're using the USA trick of subtracting the destitute from the unemployed figures.
But hey, here's something: we're 1st in military spending! Oh, but only by absolute dollars. By percent GDP we're 44th.
And "USA's Number One!" in foreign debt!
And by real GDP we're 35th...from the bottom that is. Try 171st instead. (0.30 % growth can do that to you.) That means 170 countries in the world are growing their per-capita spending ability faster than we are.
Great site to find these numbers: http://www.geographyiq.com.
Yeah, this is what I've been trying to point out to those Libertarian nuts in our country. Our economy is actually horrendously INefficient when you measure by real income growth for all Americans. Those socialist democracy nations, despite their high tax rates, and those communistic nations, despite their intense political repression, somehow have societies that provide more real money to their people.
If we keep believing those same old arguments for laissez-faire capitalism we're going to end up like Brazil, Mexico, or one of the banana republics, in which a tiny percentage of the population owns everything in the country. Do we really want that here?
Please, spare me the historical condescension and stick to the issues.
But you earned the condescension. And what are the issues I'm supposed to stick with now? You started with laissez-faire capitalism, went through feudal China, and landed in comparative genocide.
If you want laissez-faire then go there. Start with the Irish Potato Famine and land in the Depression. Everything after that was the aberration, not the capitalism.
First, you need to do some deeper research on the "welfare queen" phenomenon. Yes, you may know one, but those are a very few bad apples in a shamefully large group of people. It's "shameful" because we, the middle class, are the ones who support CEOs that make millions but pay their janitors just a hair over minimum wage.
Most parents on welfare still have jobs and are trying to make it. Taking their support out isn't helping their children one bit. IMHO those welfare queens are just bad people to start with: even if you gave them a million dollars they'd ignore their children just the same. Kicking so many people off welfare just to get the few abusers out of the system has hurt so many children it's tragic.
Go check out how many Americans lack health coverage of any kind. Canada's got free health care for everybody, and it may suck for most people, but at least they've got it. And people who need more exotic treatments can get it done by paying for a private insurance plan same as we do in the USA. We don't need to provide 100% coverage for double-lung-double-kidney transplants; we just need to provide the circa 1965 state-of-the-art stitches, splints, and immunizations to everyone.
If you want to get personal: I have health insurance for the next year only because of the COBRA law, and I still pay about $600/month. And due to my current weight (50lbs obese as a side effect of taking a medicine for one year) I cannot find coverage at *any price* from a private insurer. It's a good thing I've got savings to cover my COBRA payment, because even if I was at normal weight, and if I was unskilled, there's no way I could find the $600/month after rent ($400), food ($200), and utilities ($150). $7/hr only gets you to about $1300/month gross = $1000 net. You're still $350 short to get medical coverage. And in most of the country you still need to add a car payment ($100) and insurance ($80).
Think it through. Do we as a country make it possible for a hard worker who has no money to really get ahead? It certainly doesn't have to be easy, but is it even going to be possible? If you were 17 again with a GED and $100, could you work your way up to the point the original anonymous poster believes you should be at in order to have a child? Think it through.
Because that's the ultimate question. If we don't have a society where you can realistically get yourself out of the underclass by working hard, then we've got a society that's unjust.
Nothing irritated me more than people who refused to respect my interest in computers, and then many years later ask me questions about the problems theirs was having.
Nowadays only my family gets my help. Everyone else can just suffer they kharmic payback.
4) Recognize that the US Constitution has failed in its purpose and propose a new government that will recognize the rights of people, using violence if necessary to overthrow the existing government.
I call bullshit.
Yet, again, we have to explain to the socialists how the world really works.
Yet again, I have to explain to the libertarian how the capitalists really run the country.
There is a thing called supply and demand. The reason an unskilled shitty job pays $6/hr is that there are a ton of people lined up to do it. The reason another job pays $45/hr is that there are not many people who can't [sic] do it. Do you think the person who pays $45/hr wants to pay $45/hr? Nope, they would rather pay you $6/hr, but they can't because there is a scarcity of labor for the $45/hr job.
$45/hr is paid for the white-collar jobs because there would be open revolt in the streets if it wasn't. Look at Argentina and Venezuela to see what I mean -- they have engineers in those countries too. Also look at Brazil to see what the false assertions of supply and demand can ultimately lead to. Or if you want the home-grown version, just read Nickel and Dimed.
It has nothing to do with supply and demand, it has everything to do with maintaining the social order. Don't believe me? Read up on the struggle to set a minimum wage. By paying a modest income to the middle class, the upper class maintains power by ensuring that the middle class identifies with them and not the working class, preventing the 99% of the country in the two lower classes from joining together and forcibly changing the distribution of wealth. Simple and effective, dating back to ancient times.
FYI I know lots of $6/hr jobs that are actually quite fun to do, I'd even take one if I could ever find a combination of (barebones dwelling + mandated auto insurance + electricity) that $6/hr could pay for. Those jobs aren't shitty, and the people in them aren't shitty either. You might check your (false) classist elitism at the door next time you argue economics.
It has nothing to do with physical labor. Very few people can NOT do a physical intensive labor job and very few people have the skill set for the $45/hr job.
*laugh* Yeah, right. I may not be able to pick random people off the bus to do my (former) job, but I've got five friends making $10/hr who could've done it if they could have gotten through the hiring process. But without a college degree -- that is to say a piece of paper from an accredited school proving that they have family money or are indebted already -- they are magically unable to perform the same duties I did. It's called "artificial scarcity", and it's what happens when the bar is (needlessly) raised to get any good-paying job.
<sarcasm>Next I suppose you'll be helping your employer outsource your own job, because that too is just an expression of supply and demand.</sarcasm> (Hint: Look up Bretton Woods, the petrodollar, and the creation of the floating money exchange. Yet another artificial monkeywrench into the global economy to make the American dollar purchase way more than it's theoretically supposed to.)
Too bad you're AC, I probably won't get a response...
So IGS got no bonuses, but y'all did get Variable Pay right? Did you know Software Group made enough money to purchase Rational, but they took the purchase cost out of SWG's profit number so it looked like SWG made nothing. Hence, Variable Pay even in high-profit products (WebSphere, Portal server) was almost zilch. Makes you want to scream to the bean counters to just eliminate the program and stop lying to the new-hires about their yearly compensation.
I got laid off in December through the classic "Cadillac layoff program" (as the DBM career consultants called it). I'll probably take home more this year in (severance + unemployment + retraining assistance + lower tax bracket) than if I had just kept my job! Sad but true.
Looks to me like IBM had its high point with Gerstner. Outside that period of time it's been all dirty tricks.
Think about the future.
:)
Always good words to anyone. THINK about the future, and more than five years out. Are you in a field that will even be around five years from now? Are you looking for jobs with companies that have experienced long-term growth without resorting to dirty tricks? Do you think your next job could be the job you could retire on? Are you going to join the union when you come on to the job?
Are you going to need anything from this employer?
In my coming second career (Chemical Engineer), I'll be in the position to influence decisions about whether or not we should buy products made by my former employer (IBM). Re-parse that statement carefully: my former employer has saved itself maybe fifty grand a year by creating an articulate anti-customer who is at some point guaranteed to extract payback.
With my inside knowledge of both IBM's products and more importantly the teams responsible for those products I can provide a very short list of things worth purchasing (DB2) and lots of hard data about why one should avoid IBM's flagship software and most hardware and services.
Most importantly: I'm not special at all. We ALL have knowledge of the dirty laundry of our former employers. Every mass layoff -- especially of the white-collar variety -- just distributes that knowledge out into the client pool.
That you might need a reference?
My references are also my friends; they remain at IBM waiting for the ax to make it to them. I like my friends a lot and I respect their technical expertise and wide range of experience. Most importantly, I let them know that while we working together. Result: lunch buddies in other towns, and plenty of references for the resume.
Be careful of burning bridges, unless you are willing to get burnt (twice).
Advice that any CEO with a large outsourcing program should take to heart. If a significant segment of your disgruntled employees finds new jobs within your customer base, sales may be negatively affected.
At very least look at your self interest in the situation as cold bloodedly as you can manage.
Damn straight!
The JVM specs are the very thing that specify how to implement the underling native code for all the java libraries. Infact if you use java.awt.* and get class not found using a third part JVM implementation, like say kaffee or IBM jikes, etc then it means the JVM implementaition is incomplete and is a mistake by the JVM implementor.
Yes, you can write your own native code to duplicate Sun's classes. And kaffe has duplicated most of java.io.*. However, the standard libraries remain under Sun's control, as in the specs themselves are not released from Sun's control, so Sun can change java.awt.* at any time and everyone else has to jump or else they lose the right to name their JDK a "Java(tm) JDK". Until Sun relinquishes *control* of those libraries (by submitting them to an international standards body) there's no point in duplicating them.
There is nothing stopping IBM to fintune Jikes from running faster and efficiently on x86 (linux) or their big toys the mainframes.
I don't think I made myself clear: IBM doesn't use Jikes, IBM uses the Sun JDK with IBM's enhancements. Thus, the "IBM Linux JVM" is actually the "Sun Linux JVM + IBM stuff". (BTW I used to work for IBM. The group that does the JVMs is in Hursley, near London.) The "IBM stuff" is patches against the native C code that are upwardly ported to each new JDK release from Sun. IBM very rarely touches the Java source part of the Sun distribution, but they've done much to the C native part: better international font handling in X11, AIX and Linux native threads, and some major performance enhancements. The only places to compare the Sun JDK and IBM's version of the Sun JDK are on Linux and Windows, and in *most* test cases IBM's is significantly faster.
In other words, there is no real "fork" OR "clean-room clone" of Sun's JDK, *anywhere* in business use. Sun releases a new version, every company out there ports it to their preferred hardware and releases it under their own names. Sun's JDK is thus a trunk and every other JDK is a one-off branch from it.
Back on topic, like I said I don't care much if Sun open-sources Java or not. I think Java today is COBOL circa 1985. But I don't see anyone else caring enough to fully clone Sun's Java and thus revitalize the platform. And I say this having over 100,000 lines of Java across maybe 300-500 Classes under my belt, from JDK 1.1.4 up to 1.3.1 and also inside J2EE (WebSphere 3.5.1 up to 5.0.1).
AFAIK, it's supposed to actually intercept data being passed around in the computer.
My understanding is most schemes rely on authorized software to "promise" that it will do the right thing. For instance, a DVD player will only be authorized if it can be proven that it won't write the stream to the disk. DRM can enforce certain restrictions at the hardware level, e.g. disabling the digital video out port while the DVD drive is decoding a region-encoded disc.
But think of this: how will a legitimate DVD playback program be able to "prove" to the DRM hardware chip that the hard disk write it needs to perform in the middle of playback is NOT the stream? I don't think the software CAN make that proof, instead I believe the OS will have to trust that the DVD software is complying with the DRM scheme. Of course a DVD player will be digitally signed so the OS can trust it, and obtaining the signature costs lots of $$$ and a contract placing the company that wrote the DVD software at risk if the copyright is in fact violated.
I believe that it will only take *one* piece of signed software to be cajoled into running an emulator program, and suddenly all of DRM falls down.
BTW cute site (http://www.linuxisforbitches.com/) .
I ought to point out that whoever finds themselves hosting a site dedicated to proving that their dong is longer than Linus' should spend some time reflecting on why the choice of other people's operating system is such a big deal to them.
Oh yeah, and -- speaking as a real live formerly-paid software developer -- expecting xinetd to just automagically support inetd.conf is just plain ignorant. As in: it IS better to force users to consciously upgrade their systems than have them blindly install whiz-bang software that doesn't behave EXACTLY like its predecessor. That xinetd rant uses Microsoft sales logic rather than hardcore BSDer logic.
*laugh*
No, my point is that a) it's not legal for someone else to do it, and b) even if it were it wouldn't be worth it from a technical standpoint.
Laugh, AC, laugh. OS/2 was the last time IBM went up against Microsoft on Microsoft's terms. Since then the rules of engagement have changed.
No, I think OS/2 was entirely on IBM's terms: "We're IBM, we think you should use OS/2. Well, when we say 'we think you should use OS/2', we really mean 'after you've bought an IBM computer with Windows pre-installed, if you want to spend an additional $200, we'll provide telephone support to help you get OS/2 installed. If you pay us for a support contract.' Yeah, that's what we meant. Oh yeah also we'll give you the phone number of a German company that writes software for OS/2. Oh, you think WE should write software for our OS? Well we'll consider doing that in a year or two. Yeah."
Unfortunately, if that happens it will only bring the age of gov't mandated hardware DRM even closer - and then you can say goodbye to actually owning your own computer.
1. I pay someone to ship me a computer designed, manufactured, and sold in China.
2. I build my own system from parts off eBay.
3. I write an emulator for an entire non-DRM computer, and run it on my DRM-crippled computer. I install Debian Linux with DRM-free MPlayer inside the emulator. Performance sucks, but Moore's Law still means it's faster than a current 3GHz system.
See? Lots of alternatives.
I personally would rather see Java die because it really ISN'T a good technical solution to the problems it is being thrown at. (See here and here for a brief start on my reasoning.)
However, you have to realize that while the Java JVM spec may be "open" and already duplicated (see kaffe), the Java *libraries* belong solely to Sun. java.net.*, java.io.*, java.awt.*, etc., these are essential to building Java applications these days and they rely on an inordinate amount of C code called by Java. Sun owns all this code and will not relinquish enough "control" to allow *any* third-party equivalent to arise.
What I mean is: I write a GUI app in Java, using the "standards" set forth by Sun including the interfaces and classes from java.awt.*. When I try to run it under a JDK that does not have direct lineage from the original Sun JDK I get hundreds of "ClassNotFoundExceptions". And *every* JDK in use for business software has the Sun JDK as its parent.
It would be like trying to write a C program and finding stdio.h, math.h, unistd.h, types.h, etc. missing. You may have C syntax and C-style function calls, but you don't end up with a real C program because the standard C library (libc) is an integral part of the spec. The only real exception to this example is the kernel itself, because it lives at a layer below even libc.
Don't forget that linux is gaining acceptance in the corporate world , mostly because of the efforts of IBM , rather than the collective RTFM attitude of most kernel developers.
I gotta disagree with you here. Linux gained acceptance because it *works*, and thousands of front-line admins and programmers at those companies (like I used to be) pushed to management types to look at it. IBM has always pushed huge software "solutions" into the corporate world that are frankly crap; saying "this magic product X will solve all your problems!" is nothing new to them. It's not IBM's fault Linux has flourished, it's because Linux had already reached a critical point of stability before the first MBAs ever saw it.
Those RTFM-spouting developers *made* the wave; IBM is just riding along with it. And even then IBM is about three years late to the game: almost every major corporation is already using Linux for something.
It's precisely because of attitudes like this that the Linux desktop is *doomed*. Until you recognize that the Linux desktop is severely broken, then you can't fix it. You can't fix a problem until you can come to admit that there is a problem.
I don't care about fixing it because I'm not a "Linux" developer (or GNOME, or KDE, etc.). I'm a *user*, and for my needs Linux is working admirably.
What I'm trying to get at is it's *already working* for people *just like* "Joe Sixpack." "Joe" may not have SCSI, but he watches DVDs, reads email, plays music, uses USB cameras, and occasionally even prints things.
If you want Windows, use it -- and then stop talking about why Linux should emulate all the flaws in Windows (which is all I can imply you're saying, since you didn't enumerate any of the ways you think the Linux desktop is "severely broken").
To tell the truth, I find my current desktop system even easier to use when I disregard how things were done when I first ran Linux in 1994 and just try to be as naive as possible when approaching the modern desktop, and viola! what I'm trying to get accomplished works marvelously. So maybe you should just try out a *brand-new* Linux and see if you still consider it broken.
Most of what you say is lacking in Windows is available via TweakUI.
But TweakUI doesn't ship with the default Windows install, nor is it officially supported or integrated into the normal configuration process.
More importantly, I'm arguing that the *default desktops* shipped for Linux have better behavior than the Windows environment.
Some of the things you like in non-Windows are things that normal people would never be able to do. If there's any problem during an install, their machines are sent in to a shop.
I don't follow. You seem to be implying that Linux is always broken to start with and has to be fixed before it can be used, which is not the case. Regardless, if a Windows initial install is fudged, just as for Linux any user can re-install Windows from CD and get back to a base system. In the case of Linux, a more savvy user can fix it without losing all the system configuration data (e.g. PPP settings). How does that make Linux *less* end-user-worthy?
To top it all, doesn't MPlayer used hacked dll's for some of its compatibility? Such a thing is a DMCA violation. Regardless of how you feel about it, it's still a current law.
To top *what* all? You only need hacked dll's to play proprietary formats. I don't use WMV, WMA, Real, or QuickTime. I use MPlayer for DVD playback and that does not violate DMCA. (CSS is a trade secret, not a copyright.) But again, what is your point? You are implying that using Linux for regular consumer use requires breaking U.S. laws.
Dead on, dude.
GNOME and KDE have multiple desktops on by default.
GNOME and KDE have multiple SKINS (more encompassing than themes).
GNOME and KDE have WAY more available key-bindings modes.
GNOME and KDE are more consistent in mouse and keyboard behavior.
GNOME and KDE have better default panel applets.
GNOME and KDE can be made to look and behave like almost every other GUI made...except you never get "drive letters".
GNOME and KDE can be simplified to run on far less hardware than Windows.
If I was *really geeky* I could dig up more.
But you know what? I've been satisfied since KDE/GNOME 2.0. Other than a couple key mappings in Xmodmap for better Emacs handling, I've needed virtually no customization from the default.
Seriously folks, what UI "problems" with Linux are you even talking about?
My system: Athlon 2600, 2 SCSI3 adapters (Adaptec 2940UW), Linux 2.4.24
My running OS: Debian testing, GNOME 2.4.1
My apps: Mozilla 1.7b, XMMS, Emacs, GAIM, GnuCash, MPlayer
I was using KDE 2.2 with Debian stable and found it eminently usable. When I went to Debian testing it was GNOME. I had some hardware glitches to work out in 2.4.21 (audio and devfsd), but those would have been avoided if I had gone straight to testing at the initial install.
Now that the kernel is fixed, my system works perfectly well, and in many respects much better than my wife's XP system. Need a calendar? Click once on the clock applet and a calendar pops up in its own top-level miniwindow, out of the way of your running application. Need a screenshot? "Take Screenshot..." is right off the GNOME menu! Much easier than Print-screen -> Paste into image program -> Save to disk. Need some more screen? Click on another desktop.
The mouse behaves the same way all over GNOME: single-click activates things, right-click pulls up a context menu, mouse-wheel scrolls, and middle-click pastes whatever is highlighted. There's still a few places where programs crash (GNect "Connect Four" game, while clearing an old game, and clicking the exit button) but even then GNOME has the application crash dialog to go with it so it's not a mysterious "woa! where'd the window go?" experience. Outside of SCSI bus lockups while ripping certain CDROMs -- which "unfreeze" about two seconds after ejecting the offending disc -- the system never freezes much less crashes.
Right now I am: playing MP3's with XMMS (over a 380 hour playlist), burning a CD-R, editing about five files in Emacs, navigating Slashdot in one tab, and browing eBay in another tab. The system is humming smoothly and I have no messenger popups, random noises, or floating flash ads in my way. When my wife has trouble on her XP system she routinely uses mine to check her email and browse. And of course nothing beats MPlayer for instantly starting a DVD without menus, ads, or FBI warnings.
Other than Emacs of course, I've done nothing to change the default behavior or keybindings, though I have modified the program launchers on the panel. I find this system very coherent and obvious at what it does, which is let me do what I need done unobtrusively. What I like most is that applications KEEP FOCUS even when new applications are launched -- something I've *never* seen MS Windows capable of doing. I just can't stand being in a window typing away and suddenly a popup dialog steals focus and my next [Enter] does who-knows-what!
So why exactly do y'all maintain that Linux is mystifying to Joe Sixpack? Just put Joe down in front of the system, point him at the GNOME menu, and provide an icon for logging in and out of his ISP.
I think the Linux desktop is NOW, not next year or whenever.
I've actually done the analysis before:
1) Take the whois database from RIPE and APNIC. Divide the networks and subnetworks out into the smallest possible units.
2) Note that *most* small networks have adjacent routers with other small networks *in their own country*. Make a list of network and neighboring networks, using the administrator's address as the country field.
3) Sort the list by network coverage size, with Class A (8/24 CIDR) down to about 15/33 CIDR.
4) MANUALLY use the data from #2 to make a reasonable country assignment for each network in the list generated in #3.
Because of the nature of the list, you'll find that the first 1000 or so networks cover about 50% of ALL internet users. The next 1000 or so cover another 20%, the next 1000 or so another 13%, etc.
You can get about 80% coverage at 80%-ish accuracy in one full-time week of work. The code for #2 and #2 is fun, but #4 is boring as hell. Fortunately for us, there's no good source of data to tie IP down to city or state/province level. (Case in point: two adjacent IP addresses in "Houston" are physically in Nigeria and Equitorial Guinea.) I'd only use whois data to draw the big national borders.
At the time I did it (2000) it didn't look forbidden to me. Sweeping the database for commercial gain or mass mailings was forbidden though.
But modern distributions like debian and gentoo have dependency checking, so if your attempt to upgrade libraryX is going to break appFOO, the upgrade tool itself will complain. So we've already got that functionality, IF you use applications that adhere to the local packaging system. And if you don't, well then you're obviously smart enough to fix the problem, right? Just compile the application and statically link to its older libc.
/bin /usr /lib etc. seems to come up all the time from people who refuse to do ANY of the following:
./configure && make install
Short form is, this argument about
1) Use apt-get/dpkg/etc to install things
2)
Funny they hate 'make install' but have no trouble double-clicking an InstallShield that will do God-knows-what to their Windows system.
I don't think you live in the same US I do. We don't see ourselves as infallible (remember VN?), we don't believe slavery never happened, we study Wounded Knee, Trail of Tears, etc., we are aware of the Shah and others.
Sure, those events are in the history books, just 100 pages after the Constitutional Convention, the War of 1812, General Cornwallis, and half a dozen other completely useless facts.
The point is that our history is taught as a frozen time bubble from which we have already gleaned every important truth and incorporated it into contemporary society. Where was the moral outrage over the Trail of Tears in 1838? Why was there "domestic unrest" over Vietnam, besides "Baby Boomers didn't want to be drafted"? The pertinent questions are never asked in American history textbooks, hence the same questions are never asked of contemporary society.
We do not come out with a sense that those people back then were people just like us; that they made choices that we are seeing the consequences of; and finally that we still have power to make choices that our descendants can ponder. Instead we're given this vision that progress was inevitable, and we can just sit back and do nothing because the magic hand of progress will still be there to take care of our children.
So yes I believe we do see ourselves as infallible. The future will always be brighter no matter what we do.
And fer the love of man, don't hold your neighbor responsible for what happened 400 friggin' years ago.
It's totally appropriate to hold your neighbor responsible for maintaining the attitudes that historically brought misery. If they can't distinguish the difference between historical guilt and modern culpability we have to teach them.
Everyone always touts the 'lots of small tools' approach of Unix ('every program is a filter'). But they ignore the fact that this approach doesn't really work in Unix, at least not on any scale.
What do you mean by "scale"? Amount of data? See Beowulf. Number of interacting components/processes? See Xfree86+GNOME+Mozilla. Number of distributed processing nodes? See Beowulf again.
Seriously, have you ever seen a real Unix shop in action? We're talking several gigabytes an hour of data flowing through smoothly, using multiple processes that have their own memory space talking to each other and behaving very well: blocking on I/O to free up CPU and writing verbose debugging information to human-viewable log files. When a process SIGSEGV's a nanny process can detect that and restart it quickly. Each node uses NTP to maintain a uniform clock and NFS to share files. It actually works very well, even if the ps output is confusing to a new user.
The common data format on Unix is text, and text is not sufficient for complicated tasks.
Text is an acceptable least common denominator format for tools that weren't designed with each other in mind. For instance, transferring IEEE 80-bit floats between programs can be accomplished easily between architectures using standard text representation of numbers.
EJB (beans) is a step further than XML, but we still have a long way to go before the 'lots of little tools' approach will work on any sort of scale.
Clearly. Have you actually used (or tried to use) EJB? 2.0 CMP *finally* gets there almost, but:
a) It needs vendor-specific (proprietary) code to generate database stubs. This is NOT a trivial point. In order to use EJB AT ALL you have to have an enterprise DB like DB2, Oracle, Informix, etc. You can get by with an embedded DB (like Cloudscape) ONLY IF you are single-node. You need this DB to provide the backend for both JNDI lookups and persistent data.
b) It needs the whole J2EE infrastructure to live in, which takes at minimum 30 seconds (2+ GHz x86) on up to 6 minutes (4-way 450MHz RISC) to fire up. A SIGSEGV is a *serious* problem, especially if it occurs during an EJBStore(), as the container may be corrupted.
c) Its security model is completely separate from the OS's model. If the container security is broken, your data is wide open; the OS can't help.
d) Good EJB developers cost more than good Unix admins, in terms of both outside hiring and in-house training time. A good Unix admin has skills that go much further in the world than a good EJB developer.
By the time you get EJB implemented for your application, you need 1.5+GHz processor, $10000 for WebSphere+DB2 or WebLogic+Oracle PER NODE, $50000/year on a full-time EJB developer, and an LDAP server. You also need to write SOAP clients that use SSL to communicate with your EJBs from the command line, because any other method is just too damn slow for the real world. Don't forget to add four months to turn the EJB implementation Class into a prototype that can actually work inside the vendor's EJBContainer.
OTOH if you had committed to Perl, you could get by with a 500MHz processor box, $0 for Linux+Perl, $45000/year on a full-time Unix admin/programmer, and "scale up" by adding more processor nodes and running named pipes between them. And your solution is ready for prototyping as soon as its written.
So why bother with EJB, when the common text utilities can get you 60% there (and Perl can push that to 95%), and if you need more speed you can replace parts with portable C/C++?
If anyone will pay me to do it, I could do a hardware Java engine on a $20 FPGA, but up till now, noone seems willing to pay.
I certainly wouldn't, not after 5+ years programming Java on the server side (where it's supposedly very strong). JDK 1.1.8 through 1.4.2, minor AWT/Swing, mostly J2EE (EJB/JSP/JDBC) and some JNI. I have had a rather thorough grounding in both the Java language and the professional Java tools/environments.
I've optimized Java out the wazoo on projects, only to see the most naive C implementation of the same program blow it away in speed. Now that we've got the freely-available Hans-Boehm C++ garbage-detector/leak finder, and the Boost C++ libraries, and the C++ flagship products Mozilla, KDE, and GNOME, I'd much rather we all just spent two months ramping up new coders on "real C++" than try to get the JVM to run as fast as a real computer.
Yeah yeah flame away. But seriously I don't see much real-world use for Java besides:
1) HUGE web sites. J2EE is a good solution: strong typing in the language, a security model that is complete from the database backend up to the Struts frontend, and clustering/failover with EJB 2.0.
COROLLARY: Small-medium sites should use LAMP and rely on redundant hardware to handle failover.
2) Applets. Since they run on "most" Unixes + Windows browsers, and despite the load time an applet is much friendlier to users than Flash. But you have to use Java 1.1 to ensure compatibility.
COROLLARY: Cross-platforms GUIs should use Python, Qt, wxWindows, Tcl/Tk, etc.
3) Unusual database applications for which only an ODBC or JDBC driver exists. JDBC is a rather mature standard (should be since it ripped off ODBC) that works pretty well. It's faster to write a few quick Statements and PreparedStatements and run them against a database than to use native tools that "use" 'different' ''ways'' to quote strings.
COROLLARY: Prefer Perl or PHP if the database is supported.
4) Any application for which speed is not an issue. Yeah, Java can do everything any other language can do, and if this is the one easiest for someone to "think in" then they should use it.
COROLLARY: NEVER use Java to create or manipulate graphics from the command line. No JDK, EVER, has managed to do this despite five years of pleading from the professional programmers. Without a GUI Java goes belly-up on the first "new java.awt.Frame()". (And for you 1.4+ folks who think HeadlessException was a fine solution, it wasn't.)
Java was a great idea in 1995, when so many programs were being pushed out to consumers that just crashed right and left due to pointer arithmetic problems and piss-poor exception handling, and when there existed no standard ways to manipulate HTML forms like a regular GUI. But since then Java has been pushed as the Second Coming and it just hasn't measured up, particularly in the libraries, but especially java.net.* . The other languages have surpassed Java in every one of its primary marketing points: platform independence, performance, object-orientedness, ease of use. HTML has evolved considerably with CSS and DHTML, so Java-based applets are not needed to overcome its limitations.
Call it a rant or whatever, but seriously I think if you compare the results, for each hour invested you find that Perl, PHP, Python, and (after a while) even C++ provide way more function toward solving your problems than Java.
Parent poster: You were talking about chips not Java, I took it off-topic. Sorry. (Now if you want to make a chip optimized for System RPL, I'll buy.)
I had my economics course almost a decade ago. Since then I've developed the habit of double-checking what professional economists have to say. It's illuminating how often they've been dead wrong in their predictions. The Republican ones in particular love to twist the numbers beyond all recognition in order to prove that the status quo is perfect.
If you seriously like economics, I urge you to continue to study it, but make an effort to find material published before 1970. See how the predictions made then have panned out, then compare with predictions in the modern textbooks. I found that the modern economists stopped making efforts to verify their models, meaning since about 1970 they've been pushing policies that just don't work.
Some people seem to agree with me.
Being socialist (providing for the people through taxes) does not mean you cannot be capitalist (trying to maximize overall value of the economy).
.
I don't think the poster I replied to would agree with you, even though he knows words like "specious". I believe he was trying to argue that unregulated laissez-faire capitalism is the fundamental driver of real prosperity throughout the world. Which is ridiculous: once you start comparing numbers and take into account the unblanced money markets, foreign sweatshops, and wholesale theft perpetuated by the American business culture that are all integral parts of our economy you see that we're really scraping just to make ends meet for our little world empire.
But that's an interesting list: Hong Kong, Singapore, New Zealand, Luxembourg, Ireland, Estonia, UK, Denmark, Switzerland, and then finally the USA. Se we're 10th free-est economy. But if you dig up some other rankings that puts a new spin on it:
10th free-est economy
54th in literacy
112th in population death (we probably pushed Iraq down from #50 though, so it may be higher now)
34th in infant mortality rate (all of those free-er economies beat us here too)
33rd in life expectancy (ditto on getting beat by Hong Kong etc)
106th in adults living with the AIDS virus
12th in poverty. Damn even China has only 10% poor these days compared to USA's 13%. Maybe we should ask Tunisia what's working for them - only 6% poverty.
37th in unemployment. Wonder how they're measuring it, because Nigeria of all places is #2. Maybe they're using the USA trick of subtracting the destitute from the unemployed figures.
But hey, here's something: we're 1st in military spending! Oh, but only by absolute dollars. By percent GDP we're 44th.
And "USA's Number One!" in foreign debt!
And by real GDP we're 35th...from the bottom that is. Try 171st instead. (0.30 % growth can do that to you.) That means 170 countries in the world are growing their per-capita spending ability faster than we are.
Great site to find these numbers: http://www.geographyiq.com
Yeah, this is what I've been trying to point out to those Libertarian nuts in our country. Our economy is actually horrendously INefficient when you measure by real income growth for all Americans. Those socialist democracy nations, despite their high tax rates, and those communistic nations, despite their intense political repression, somehow have societies that provide more real money to their people.
If we keep believing those same old arguments for laissez-faire capitalism we're going to end up like Brazil, Mexico, or one of the banana republics, in which a tiny percentage of the population owns everything in the country. Do we really want that here?
Please, spare me the historical condescension and stick to the issues.
But you earned the condescension. And what are the issues I'm supposed to stick with now? You started with laissez-faire capitalism, went through feudal China, and landed in comparative genocide.
If you want laissez-faire then go there. Start with the Irish Potato Famine and land in the Depression. Everything after that was the aberration, not the capitalism.
Believe me, I've thought it through...
First, you need to do some deeper research on the "welfare queen" phenomenon. Yes, you may know one, but those are a very few bad apples in a shamefully large group of people. It's "shameful" because we, the middle class, are the ones who support CEOs that make millions but pay their janitors just a hair over minimum wage.
Most parents on welfare still have jobs and are trying to make it. Taking their support out isn't helping their children one bit. IMHO those welfare queens are just bad people to start with: even if you gave them a million dollars they'd ignore their children just the same. Kicking so many people off welfare just to get the few abusers out of the system has hurt so many children it's tragic.
Go check out how many Americans lack health coverage of any kind. Canada's got free health care for everybody, and it may suck for most people, but at least they've got it. And people who need more exotic treatments can get it done by paying for a private insurance plan same as we do in the USA. We don't need to provide 100% coverage for double-lung-double-kidney transplants; we just need to provide the circa 1965 state-of-the-art stitches, splints, and immunizations to everyone.
If you want to get personal: I have health insurance for the next year only because of the COBRA law, and I still pay about $600/month. And due to my current weight (50lbs obese as a side effect of taking a medicine for one year) I cannot find coverage at *any price* from a private insurer. It's a good thing I've got savings to cover my COBRA payment, because even if I was at normal weight, and if I was unskilled, there's no way I could find the $600/month after rent ($400), food ($200), and utilities ($150). $7/hr only gets you to about $1300/month gross = $1000 net. You're still $350 short to get medical coverage. And in most of the country you still need to add a car payment ($100) and insurance ($80).
Think it through. Do we as a country make it possible for a hard worker who has no money to really get ahead? It certainly doesn't have to be easy, but is it even going to be possible? If you were 17 again with a GED and $100, could you work your way up to the point the original anonymous poster believes you should be at in order to have a child? Think it through.
Because that's the ultimate question. If we don't have a society where you can realistically get yourself out of the underclass by working hard, then we've got a society that's unjust.