Yes, it's surprising how much effect some things can have.
I wish they would upgrade the name to something less cutesy and more practical. I'm not trolling here, at least not intentionally. Unlike certain toy DBs that are more popular with Open Sourcers, PostreSQL is a serious, enterprise-class database that amazingly is available for free with no strings attached, even for commercial use. It's terrific.
But the name is so bad that those who don't know the product well don't know how to pronounce it and those who do know it well are sick of pronouncing it and just call it "Postgres". Well, if it can't be officially called "Postgres" then it should get itself a name that works for both official and common use.
Well, fine, I lived in Japan, so I'll weigh in on this, too. What's been said so far is mostly correct, but I'll add some additional bits.
What isn't made explicit in the article or the above postings is the issue of generational differences. As a group, Japanese parents and grandparents aren't the gadget freaks any more than American parents or grandparents. Granparents in both places tend to be intimidated by technology, and young parents, though not intimidated, have more practical concerns.
It's the young generation with limited responsibilities and, importantly, with a whole different world view than their parents, who are the gadget freaks. As has been mentioned, they have lots of disposable income, thanks to their parents' support (even for single 30-somethings), and they don't find ideas like saving up to buy a home even within the realm of possibility (except out in the country, but all the country kids are leaving for the Big City, so they're not saving up for houses either).
This young generation is different in that they don't have the same notion of a life plan that their parents gained in the days of lifetime employment. Their parents were trained to suffer in silence and work hard for the team, keeping their eye on the long-term, but the young generation isn't sure that's even possible anymore, and there isn't much to replace it in Japan yet except for live-for-today consumerism.
So the young, single people want a flashy, glitzy, sophisticated city life for now, and gadgets are part of the image, along with expensive designer products, expensive travel packages, etc.
Yeah. Bad Americans. Gun nuts. Unlike Americans, the gentle Japanese find the idea of shootouts with dangerous armed bad guys much less attractive than fantasies of raping and torturing schoolgirls who are tied up and unable to fight back and prefer paper to electronic media for price, portability, and image quality.
I totally agree. Matz has made no secret of the fact that his language design philosophy is to optimize for HIS personal needs, with other users taking advantage of it to the extent that their needs overlap his. He has made it clear that he is MUCH more interested in legacy Japanese encodings like EUC-JP than with the global encodings everyone is moving toward (Unicode).
His work apparently focuses on dealing with legacy Japanese systems and data, while mine involves designing NEW systems that will work globally(including full Japanese support). Despite my admiration for him and so much of his design, his parochial and backward-facing approach to text encodings makes Ruby a non-starter for me.
I agree with the sentiment, but not the conclusion.
There are still times when we need the low-level, fine granularity of something like C. On those occasions, we also frequently need some high-level features as well, which is where C++ came from.
Unfortunately, the design of C++ has meandered around the design state space so much that many of us consider it to have become quite a mess. Whole *series* of books have been written on the vast number of pitfalls of working in C++.
Dropping back to plain C to get some simplicity and clarity isn't very attractive, for ordinary application work, though. It lacks too many useful things.
Instead, we are told to "use a subset of C++" in some special way that changes over time. That's supposed to bring back the simplicity without sacrificing power. So now every developer uses a different subset a different way, meaning all "good C++ developers" need to have an encyclopedic knowledge of arcane trivia to work with other developers. Where did the simplicity go?
I think the best approach is a language that is as low level and simple as C, but has most of the most popular high-level features of C++ and even many Python-like conveniences, and that's the "D" programming language.
It's still in beta, but it has progressed far enough and is out in the open enough that it looks as though it will become a reality, unlike Paul Graham's Arc.
Sticking as close to C as they have means that it should be relatively easy to slip it into the massive existing infrastructure of libraries and OS calls that exist for C and C++.
It's like C with many of the conveniences of Python built-in but overridable.
It's not as easy to work in as Python, but when you need to use either C or C++, you might be able to get away with using D. Despite the many Pythonesque features, it's still so close to C that a D compiler can statically link compiled D with compiled C into a standalone executable.
I hope to be able to switch from my current "subset of C++" to using D in the not too distant future.
If Tibet was so miserable before the Chinese "liberated" them, why did the flood of refugees leaving Tibet occur AFTER "liberation"? Your myths are just Chinese propaganda used to excuse China's imperialism. Though the Tibetans had a theocracy, not a democracy, it was still based on things they believed in.
The Chinese invaders simply want to take their land, and are imprisoning, torturing, and killing anyone who tries to stop them. You must be so proud of them.
I speak Chinese, and I picked up a couple of People's Liberation Army soldiers on the road near Mt. Everest in Tibet recently. They were bragging about how they had just managed to capture some poor families trying to escape over the mountains. These soldiers were so proud at how they had hunted down these poor, half-frozen women and children. Real People's Heros.
I asked them if they didn't consider it ironic that they called themselves Jiefang Jun, the "People's Liberation" Army, yet their job was to prevent any hope of liberation. Their answer, not surprisingly, was the same Chinese propaganda coming out of you.
don't try to pretend like it's not one country now
Don't try to pretend it IS one country. It's two: China and Tibet, but Tibet is full of Chinese soldiers ready to imprison and torture anybody who dares say so, so I'll say it for them. If the Tibetans could vote, they would overwhelmingly vote to throw out the Chinese occupiers, but the "Chinese People's Government" doesn't even allow its own people to vote, much less people in neighboring countries that they have invaded.
Your argument that fifty years of occupation makes it one country didn't persuade the Chinese that Hong Kong was British, or that Taiwan after more than 50 years is now an independent country, so why should it make Tibet the property of the Chinese?
How ironic that in going for the tired "Bush is ignorant about the world" sophomoric humor, you demonstrate your own ignorance about the world.
The poster you were responding to is correct in what he said about *Taiwan*. While fighting back the attempts of the mainland to extend their tyranny over them, they yet wholeheartedly approve of Chinese tyranny over Tibet.
The Taiwanese and the Mainland Chinese, you and Bush, your use of "idiot", ah, the ironies are rich....
I remember the days when my father's knowledge of cars pretty much had to be what my knowledge of computers has to be today. You had to be a rather proficient technician to get full use out of the technology unless you had the very large amount of money needed to have someone else do things for you.
Today, cars have become vastly more reliable and almost impossible for any but the very elite to do more than minor things to. And the minor things are best delegated to service providers like Jiffy Lube or the Costco Tire Center if your time is worth anything to you. Even the professional mechanics mostly use very expensive computerized test machines that simply tell them "replace part X". They don't really understand how the cars or the diagnostic machines do what they do.
The analogy can be stretched too far, of course, but I've noticed for years how the importance of programming ability for computer users is going the way of mechanical expertise for drivers. Even professional IT work is increasingly a matter of app selection and "configuration" these days, not what we used to think of as "programming".
The problem here is that car mechanics still understand the whole engine of a modern car.
No, they definitely do not. Mechanics these days not only don't know how to fix the chips and other contraptions that represent more and more of the logic in an engine, they don't even know how to tell what's working and what isn't. For an increasing percentage of the engine, all they know how to do is run a very expensive machine that will tell them what to replace, and they don't know how that expensive machine works either, beyond the "abstract", arm-waving notion that "it runs a bunch of tests".
As the logic of the engine's various functions is made more complex and useful, it is changed from the purely mechanical and visible to the electronic and encapsulated. Then, instead of studying how the engine works, new mechanics have to study how increasingly complicated diagnostic tools work, and you have another layer.
Even the engineers who build these cars don't understand the whole engine. They use encapsulation and interfaces like software engineers (and they often ARE software engineers) to deal with the growing complexity.
if the developers don't know what's going on (or going wrong) we have too much abstraction
"Too much abstraction"? The amount of abstraction is essentially a function of the amount of complexity that has to be dealt with and the limitations of the human mind. Increasing functionality demands increasing complexity, which requires increasing abstraction for mere mortals to deal with. It's a pattern you see everywhere, from the old Roman legions to Web applications.
I don't see drawing a line in the sand and declaring, "I'm not going to work at any higher level of abstraction than this," to be a winning strategy over the long run even though, as I said, working with malfunctioning black boxes is nobody's idea of fun.
I agree. Anyone who doesn't understand the importance of abstractions is likely to get left behind.
There was a time when you planned to work for your company until retirement, your company had ONE computer, and you used a small set of tools plus technology-neutral algorithmic and domain knowledge to write software.
These days the diversity of technologies that matter is mind boggling. If you don't use something at your employer this month, you'll need it at your next employer next month.
Getting the XML right, getting the HTTP protocol right, etc., etc., involves using tools that automate a lot of things for you. (Libraries are included in what I'm calling "tools".) You just don't have the time or the mental bandwidth to use all of these things quickly and well if you insist on doing everything manually.
IDEs that organize the protocols, handshaking, and plumbing between technologies, that fill in the blanks for you with valid information, that bring the right documentation to you at the moment you need it, that give you one-click builds and deployment, that give you debugging views in every increasing variety, etc., are only going to increase in importance.
I'm with the grandfather poster when it comes to my desire to have tools so simple that you know what's happening when things go wrong. When I can, I use them. But, more and more, it's becoming impossible to do so.
It's just like my father, who mourns the loss of cars with engines so simple and transparent in function that normal people could repair them. For cars, that time has past, and software is going that way, too.
One thing that is differant between the two cultures is we NEVER KILLED CHILDREN! and with that thought who really was the Savage????
Utter nonsense. How nice it must be to walk around with such delusions about your glorious ancestors.
I had German farmer ancestors in Pennsylvania in the 1700s who had children murdered in Indian raids.
I'm also part Naragansett and part Wampanoag. These ancestors of mine engaged in non-stop violence against one another before the coming of any significant number of Europeans. My Wampanoag ancestors were so friendly to my Pilgrim ancestors because they wanted military allies to help them kill more of my Naragansett ancestors.
Tribal warfare was so ubiquitous among Indians that anytime they got more than a few thousand in number (usually more like a few hundred), internal violence would fork them into two (or more) "warring tribes".
This is your "we were too nice" fantasy. We were not too nice. We were like the violent street gangs of L.A. facing a corrupt, brutal, but cohesive and capable police force. The cops won, but not because the gangs were such spritually enlightened peaceniks unaccustomed to facing violence.
There's plenty of reality to have to face on all sides.
Unfortunately, "late postings" on Slashdot means aanything more than a few hours after the article goes up, and those posters are MUCH less likely to be modded up than posters in the first hour. Since you have to be modded up to get a Score:3, reading at level 3 means mostly reading early posters.
More unfortunate, the people with the best knowledge are least likely to have the time to check in on Slashdot every hour (or every day), so their posts will almost always be "late" posts.
I'm not griping about the moderation system, I'm just observing that with such a heavy bias toward early posters and with the posters with the most to say being so heavily biases toward late posts, the strategy of setting your browser to a high level isn't as useful as one might hope.
The more media types and locations, the better, but concentrate on the small percentage of your data that you couldn't recover by just buying or downloading another copy. Concentrate on your own personal data, and the job will be much easier to manage.
The USB drive will be fine as one approach--use it daily--but don't leave it at that. It's a convenient medium, but you want it to be able to fail without hurting you much. If you combine it with other media, you can enjoy the convenience without exposing yourself to whatever risks there may be.
Then get yourself Web hosting from some reasonably good quality host and FTP your files to your own website. If you're not very technical, the Web host can tell you how. You don't need to learn how to build a website to FTP files. The more important the data is, and the harder to recreate, the more you need to have it on the website. If you can just get it up there, they will do your backup for you. This assumes that you don't have tens of gigabytes of personal data, which could be a mistaken assumption if you are talking about photography, for example, instead of writing.
From time to time, burn a CD-R of your files (or multiple DVDs if you have gigabytes of important personal stuff), make multiple copies, and stash them in different locations: with your parents, in a self-storage locker, or whatever. That's too much bother to do very often (if you include the offsite stash), but it's a good thing to do occasionally. Just to be sure, check and see if the CDs/DVDs you burn can be read in your parent's, friends, or kids' computers.
Briefly (probably too briefly) this and similar sounding challenges have real world applications in optimization, where you are trying to figure out how to get what you need without it costing any more than necessary.
For example, suppose you needed to do something that involved two things that had to be the right distance apart, which might mean physical distance, or two oscillators on different frequencies, or two voltages, or whatever. Just two things separated by some value.
You could get pairs separated by 1,2,3,4, etc. by just having one thing (telescope, oscillator, electrode, etc.) located at values 0,1,2,3,4, etc. But suppose each of those things cost you $10 million and you had a $50 million budget. You could still lay them out at 0,1,2,3, and 4, but is there another layout where your $50 million could buy you more bang for the buck?
How could you lay out 5 things to have the maximum number of different gaps between any pair? And this problem adds another constraint, which is to make the total distance from the least value to the greatest value as small as possible. There are real world problems where that's a constraint, too, such as buying the land on which to situate telescopes.
Once problems like this are tackled and optimal solutions found using just numbers, then somebody who later comes along with a practical problem who has heard about this work can take advantage of this work to optimize his system.
If you're gonna bash the iPod, at least get your facts right.
As I said, and you quoted, it was the iPod salespeople at the Apple Store--employees of the manufacturer--who explained these two modes and their restrictions, exactly as I described.
They didn't explain how to circumvent their design, they just explained its "features", which included explicitly stating that the design prevented the playing of media files dragged onto it when using it as a USB drive.
It is good to know how to subvert their design--for me it ameliorates one of the many shortcomings of the iPod relative to what I ended up choosing--but as for who should get their facts straight, you might want to consider flaming the manufacturer who explicitly claims these restrictions and not a potential buyer who believed them.
Leave it to an Apple fan, when Apple says "it can't do that," and I write, "Apple says it can't do that," to tell ME to get my facts right.
I didn't describe the features of the brand "iRiver", I described the features of the iRiver 20gig that I chose (because of its features).
My iRiver is just a USB hard drive in this respect. There is no limitation on my ability to copy media files onto it or off it to and from any computer.
Other manufacturers already killed this generation of iPods for me--admittedly a pretty tiny market.;-)
I got the iRiver 20gig hard drive unit this time, and it gave me freedoms not offered by the iPod.
One kind of freedom was double the battery life.
Another was free use of my own files. The iPod, according to the Apple Store, had two modes, which I (not they) call the Free Mode and the Big Brother Mode. The Free Mode, they proudly proclaim, lets you use it as a portable USB drive, plugging in to any computer and doing anything you like with any of your files. Anything, that is, except actually PLAY THEM. That's disabled in Free Mode. This media player won't play any media if you loaded it in Free Mode.
If you actually want to use the media files you load, you have to use Big Brother Mode, using a special loader app that doubles as a storefront for exactly one store: Apple's own. Your device has to be registered with this app and there are all sorts of arcane rules about how many units of this can be registered with that on which computer and how to properly disable one before you can move to another, etc. Bah!
The iRiver, like most non-iPods, has one mode: Free Mode. It's just a simple portable USB drive that lets you plug into any computer you like and put any files you like anywhere you want, and it will play the ones whose file types it recognizes.
And like so many non-iPods, the iRiver plays OGGs, which is great because I write software that produces audio output and I'd like to be able to play my own output without incurring legal liabilities for my own code.
And like so many non-iPods, the iRiver has an FM tuner that I can use to listen to the news and other live broadcasts. (I only wish it had an AM tuner as well.)
And it will record live audio direct to MP3 from either its built-in microphone or off the radio.
I'm a technical guy whose idea of "cool" doesn't involve sporting hip fashion accessories. Name brand rock star touts and the chance to be considered hip don't hold a candle to useful features, as far as I'm concerned.
And I'm not interested in signing up for Apple's You Can Be a Hip Lemming, Too, But You'll Have to Do As We Say agenda. If they can produce something with superior technical features that doesn't require me to submit to their larger agenda, I'll give them another chance when I make my next purchase.
Yes, and for those who don't know, it is an error to write ten thousand as 10.000 when you are writing in English, regardless of your nationality. Using English as your language but a period/full stop as your thousands separator means you have an inconsistent localization, requiring the need for a "translation" such as the parent post to finish the job. Likewise, it is an error for an English speaker to use commas as thousands separators when writing in a language such as German.
Human error is an inevitable input to any complex endeavor. Either you manage and design around it or fail.
There are times when the only choice is to use C because of certain very tight constraints, but C and C++ are Murphy magnets. You know there's something wrong when you have not just an entire book but whole SERIES of books devoted to hidden traps that are entirely due to the design of the language itself.
Using them when you don't have to on the grounds that you're so smart that you never fall into those traps is the sort of fundamental foolishness that makes the Murphy gods chuckle with glee.
If you thought I was ranting about "using big words", you really missed the point. A rich and expressive vocabulary is a definite plus, not a minus, when used well. Likewise for technical terms, mathematical notation, and other features that give precision, clarity, and even some reasonable amount of color to the writing. It's reasonable in a technnical article to expect the reader to come prepared in various ways so that the article won't have to teach a full remedial course in the fundamentals before making its point. I'm hardly advocating "dumbing down" technical articles.
My complaint was about a writing style that not only sacrificed but intentionally sabotaged CLARITY (for those who already have the prerequisite background to understand the ideas if clearly presented) in order to sound more "academic". In this respect, I find academic literature to be far worse than even business-ese and Pentagon-ese.
most of your readers who have never been force-fed this kind of fare and made to like it will also be lost.
I'd give you mod points if I could.
I've been force fed this kind of academic drivel for decades and nothing will make me ever like it. I was even one of the editors of an academic, peer-reviewed technical journal years ago, but my attempts to turn the academic gibberish into clear English were ultimately fruitless. Both authors and senior editors seemed to feel that clear writing posed a threat to their reputations for academic seriousness.
This article was a particularly egregious example of academic-ese. As near as I can tell, the three part series boiled down to the simple thesis that programmers are creating automated systems that will eventually replace most programmers, effectively eliminating their own profession. Why couldn't he just say so in the first paragraph?
With a clear and concise statement of the thesis, the arguments and data needed to support it also become much clearer, as do holes in the argument and obvious counter arguments that must be dealt with. But with enough academic encruftation, you can't see an argument clearly enough to reliably judge it. Maybe you just haven't understood it. Maybe you're not capable of understanding it. Maybe he's a genius and you'd better just take his word for it.
Sorry. I call pomo BS. I'm sure many current programming jobs will disappear, but many will evolve and new ones will appear. How those factors will ultimately work out isn't clear to me yet, and I'd welcome any article that actually clarified it.
Increased productivity is good for keeping business profits up, but it's no good at all for keeping people fed and clothed
BrainInAJar, you need to fish your brain out of that leftist Slashdot formula pickling brine, and use it to rethink this.
The difference between life in a modern economy with houses, cars, grocery stores, a closet full of clothes, and the ability to work with computers vs. the daily slog through the woods in your loincloth hoping to find berries to pick and gristly little wild animals to spear is PRODUCTIVITY. And for centuries the primary driver of productivity has been the advancing trade, division of labor, financing options, and relentless diversification of business.
Instead of a day's worth of food costing you a day of labor, it now probably costs you less than an hour, and a shirt, which once might have cost you several days of labor, now also tends to cost less than an hour. Yet you claim that productivity is no good at all for keeping people fed and clothed....
If you pull the plugs out of your ears that constant noise ought to stop.;-)
Seriously, I hope you don't have tinnitus. These amazing MP3 players are probably a far greater health hazard than any mobile phone. It's so easy to get adjusted to the sound level, turn it up a little, get used to it again, turn it up again, etc. Just because it doesn't SEEM too loud doesn't mean it's safe, especially over the very long time periods these devices make possible. BE CAREFUL!
Re:I code C# for a living
on
Java 1.5 vs C#
·
· Score: 1
Yes, in my opinion that's mostly fair. I say mostly, though, because a knockoff is usually a subset. Those features in Java are (mostly) a subset of the goodness found in the C# version. C#, though, is not a subset of Java.
C# is an improvement on Java, but it obviously borrowed so much from Java that it is essentially Java II, which makes it sort of a "knockoff" of Java I, but it also borrowed things from Delphi, C++, and other languages that Java never had.
Microsoft was telling the truth when they said that Java, the language, was just what they needed for many of their plans. (Of course they hated the idea of Java, the platform.) If they had been able to control it, they would have forked an improved Java that would have looked a lot like C#. They weren't able to do so, so they created a new language that gave them what they wanted in a language with no strings (except their own) attached.
Part of the reason it looks so much like Java is because they are trying to attract Java developers and want to make it an easy transition, but part of the reason is that they genuinely liked Java (the language).
Yes, it's surprising how much effect some things can have.
I wish they would upgrade the name to something less cutesy and more practical. I'm not trolling here, at least not intentionally. Unlike certain toy DBs that are more popular with Open Sourcers, PostreSQL is a serious, enterprise-class database that amazingly is available for free with no strings attached, even for commercial use. It's terrific.
But the name is so bad that those who don't know the product well don't know how to pronounce it and those who do know it well are sick of pronouncing it and just call it "Postgres". Well, if it can't be officially called "Postgres" then it should get itself a name that works for both official and common use.
Well, fine, I lived in Japan, so I'll weigh in on this, too. What's been said so far is mostly correct, but I'll add some additional bits.
What isn't made explicit in the article or the above postings is the issue of generational differences. As a group, Japanese parents and grandparents aren't the gadget freaks any more than American parents or grandparents. Granparents in both places tend to be intimidated by technology, and young parents, though not intimidated, have more practical concerns.
It's the young generation with limited responsibilities and, importantly, with a whole different world view than their parents, who are the gadget freaks. As has been mentioned, they have lots of disposable income, thanks to their parents' support (even for single 30-somethings), and they don't find ideas like saving up to buy a home even within the realm of possibility (except out in the country, but all the country kids are leaving for the Big City, so they're not saving up for houses either).
This young generation is different in that they don't have the same notion of a life plan that their parents gained in the days of lifetime employment. Their parents were trained to suffer in silence and work hard for the team, keeping their eye on the long-term, but the young generation isn't sure that's even possible anymore, and there isn't much to replace it in Japan yet except for live-for-today consumerism.
So the young, single people want a flashy, glitzy, sophisticated city life for now, and gadgets are part of the image, along with expensive designer products, expensive travel packages, etc.
Yeah. Bad Americans. Gun nuts. Unlike Americans, the gentle Japanese find the idea of shootouts with dangerous armed bad guys much less attractive than fantasies of raping and torturing schoolgirls who are tied up and unable to fight back and prefer paper to electronic media for price, portability, and image quality.
I totally agree. Matz has made no secret of the fact that his language design philosophy is to optimize for HIS personal needs, with other users taking advantage of it to the extent that their needs overlap his. He has made it clear that he is MUCH more interested in legacy Japanese encodings like EUC-JP than with the global encodings everyone is moving toward (Unicode).
His work apparently focuses on dealing with legacy Japanese systems and data, while mine involves designing NEW systems that will work globally(including full Japanese support). Despite my admiration for him and so much of his design, his parochial and backward-facing approach to text encodings makes Ruby a non-starter for me.
I agree with the sentiment, but not the conclusion.
There are still times when we need the low-level, fine granularity of something like C. On those occasions, we also frequently need some high-level features as well, which is where C++ came from.
Unfortunately, the design of C++ has meandered around the design state space so much that many of us consider it to have become quite a mess. Whole *series* of books have been written on the vast number of pitfalls of working in C++.
Dropping back to plain C to get some simplicity and clarity isn't very attractive, for ordinary application work, though. It lacks too many useful things.
Instead, we are told to "use a subset of C++" in some special way that changes over time. That's supposed to bring back the simplicity without sacrificing power. So now every developer uses a different subset a different way, meaning all "good C++ developers" need to have an encyclopedic knowledge of arcane trivia to work with other developers. Where did the simplicity go?
I think the best approach is a language that is as low level and simple as C, but has most of the most popular high-level features of C++ and even many Python-like conveniences, and that's the "D" programming language.
It's still in beta, but it has progressed far enough and is out in the open enough that it looks as though it will become a reality, unlike Paul Graham's Arc.
Sticking as close to C as they have means that it should be relatively easy to slip it into the massive existing infrastructure of libraries and OS calls that exist for C and C++.
It's like C with many of the conveniences of Python built-in but overridable.
It's not as easy to work in as Python, but when you need to use either C or C++, you might be able to get away with using D. Despite the many Pythonesque features, it's still so close to C that a D compiler can statically link compiled D with compiled C into a standalone executable.
I hope to be able to switch from my current "subset of C++" to using D in the not too distant future.
get over your myths
Get over your own.
If Tibet was so miserable before the Chinese "liberated" them, why did the flood of refugees leaving Tibet occur AFTER "liberation"? Your myths are just Chinese propaganda used to excuse China's imperialism. Though the Tibetans had a theocracy, not a democracy, it was still based on things they believed in.
The Chinese invaders simply want to take their land, and are imprisoning, torturing, and killing anyone who tries to stop them. You must be so proud of them.
I speak Chinese, and I picked up a couple of People's Liberation Army soldiers on the road near Mt. Everest in Tibet recently. They were bragging about how they had just managed to capture some poor families trying to escape over the mountains. These soldiers were so proud at how they had hunted down these poor, half-frozen women and children. Real People's Heros.
I asked them if they didn't consider it ironic that they called themselves Jiefang Jun, the "People's Liberation" Army, yet their job was to prevent any hope of liberation. Their answer, not surprisingly, was the same Chinese propaganda coming out of you.
don't try to pretend like it's not one country now
Don't try to pretend it IS one country. It's two: China and Tibet, but Tibet is full of Chinese soldiers ready to imprison and torture anybody who dares say so, so I'll say it for them. If the Tibetans could vote, they would overwhelmingly vote to throw out the Chinese occupiers, but the "Chinese People's Government" doesn't even allow its own people to vote, much less people in neighboring countries that they have invaded.
Your argument that fifty years of occupation makes it one country didn't persuade the Chinese that Hong Kong was British, or that Taiwan after more than 50 years is now an independent country, so why should it make Tibet the property of the Chinese?
It doesn't, and it's not.
How ironic that in going for the tired "Bush is ignorant about the world" sophomoric humor, you demonstrate your own ignorance about the world.
The poster you were responding to is correct in what he said about *Taiwan*. While fighting back the attempts of the mainland to extend their tyranny over them, they yet wholeheartedly approve of Chinese tyranny over Tibet.
The Taiwanese and the Mainland Chinese, you and Bush, your use of "idiot", ah, the ironies are rich....
I remember the days when my father's knowledge of cars pretty much had to be what my knowledge of computers has to be today. You had to be a rather proficient technician to get full use out of the technology unless you had the very large amount of money needed to have someone else do things for you.
Today, cars have become vastly more reliable and almost impossible for any but the very elite to do more than minor things to. And the minor things are best delegated to service providers like Jiffy Lube or the Costco Tire Center if your time is worth anything to you. Even the professional mechanics mostly use very expensive computerized test machines that simply tell them "replace part X". They don't really understand how the cars or the diagnostic machines do what they do.
The analogy can be stretched too far, of course, but I've noticed for years how the importance of programming ability for computer users is going the way of mechanical expertise for drivers. Even professional IT work is increasingly a matter of app selection and "configuration" these days, not what we used to think of as "programming".
The problem here is that car mechanics still understand the whole engine of a modern car.
No, they definitely do not. Mechanics these days not only don't know how to fix the chips and other contraptions that represent more and more of the logic in an engine, they don't even know how to tell what's working and what isn't. For an increasing percentage of the engine, all they know how to do is run a very expensive machine that will tell them what to replace, and they don't know how that expensive machine works either, beyond the "abstract", arm-waving notion that "it runs a bunch of tests".
As the logic of the engine's various functions is made more complex and useful, it is changed from the purely mechanical and visible to the electronic and encapsulated. Then, instead of studying how the engine works, new mechanics have to study how increasingly complicated diagnostic tools work, and you have another layer.
Even the engineers who build these cars don't understand the whole engine. They use encapsulation and interfaces like software engineers (and they often ARE software engineers) to deal with the growing complexity.
if the developers don't know what's going on (or going wrong) we have too much abstraction
"Too much abstraction"? The amount of abstraction is essentially a function of the amount of complexity that has to be dealt with and the limitations of the human mind. Increasing functionality demands increasing complexity, which requires increasing abstraction for mere mortals to deal with. It's a pattern you see everywhere, from the old Roman legions to Web applications.
I don't see drawing a line in the sand and declaring, "I'm not going to work at any higher level of abstraction than this," to be a winning strategy over the long run even though, as I said, working with malfunctioning black boxes is nobody's idea of fun.
I agree. Anyone who doesn't understand the importance of abstractions is likely to get left behind.
There was a time when you planned to work for your company until retirement, your company had ONE computer, and you used a small set of tools plus technology-neutral algorithmic and domain knowledge to write software.
These days the diversity of technologies that matter is mind boggling. If you don't use something at your employer this month, you'll need it at your next employer next month.
Getting the XML right, getting the HTTP protocol right, etc., etc., involves using tools that automate a lot of things for you. (Libraries are included in what I'm calling "tools".) You just don't have the time or the mental bandwidth to use all of these things quickly and well if you insist on doing everything manually.
IDEs that organize the protocols, handshaking, and plumbing between technologies, that fill in the blanks for you with valid information, that bring the right documentation to you at the moment you need it, that give you one-click builds and deployment, that give you debugging views in every increasing variety, etc., are only going to increase in importance.
I'm with the grandfather poster when it comes to my desire to have tools so simple that you know what's happening when things go wrong. When I can, I use them. But, more and more, it's becoming impossible to do so.
It's just like my father, who mourns the loss of cars with engines so simple and transparent in function that normal people could repair them. For cars, that time has past, and software is going that way, too.
One thing that is differant between the two cultures is we NEVER KILLED CHILDREN! and with that thought who really was the Savage????
Utter nonsense. How nice it must be to walk around with such delusions about your glorious ancestors.
I had German farmer ancestors in Pennsylvania in the 1700s who had children murdered in Indian raids.
I'm also part Naragansett and part Wampanoag. These ancestors of mine engaged in non-stop violence against one another before the coming of any significant number of Europeans. My Wampanoag ancestors were so friendly to my Pilgrim ancestors because they wanted military allies to help them kill more of my Naragansett ancestors.
Tribal warfare was so ubiquitous among Indians that anytime they got more than a few thousand in number (usually more like a few hundred), internal violence would fork them into two (or more) "warring tribes".
This is your "we were too nice" fantasy. We were not too nice. We were like the violent street gangs of L.A. facing a corrupt, brutal, but cohesive and capable police force. The cops won, but not because the gangs were such spritually enlightened peaceniks unaccustomed to facing violence.
There's plenty of reality to have to face on all sides.
Unfortunately, "late postings" on Slashdot means aanything more than a few hours after the article goes up, and those posters are MUCH less likely to be modded up than posters in the first hour. Since you have to be modded up to get a Score:3, reading at level 3 means mostly reading early posters.
More unfortunate, the people with the best knowledge are least likely to have the time to check in on Slashdot every hour (or every day), so their posts will almost always be "late" posts.
I'm not griping about the moderation system, I'm just observing that with such a heavy bias toward early posters and with the posters with the most to say being so heavily biases toward late posts, the strategy of setting your browser to a high level isn't as useful as one might hope.
The more media types and locations, the better, but concentrate on the small percentage of your data that you couldn't recover by just buying or downloading another copy. Concentrate on your own personal data, and the job will be much easier to manage.
The USB drive will be fine as one approach--use it daily--but don't leave it at that. It's a convenient medium, but you want it to be able to fail without hurting you much. If you combine it with other media, you can enjoy the convenience without exposing yourself to whatever risks there may be.
Then get yourself Web hosting from some reasonably good quality host and FTP your files to your own website. If you're not very technical, the Web host can tell you how. You don't need to learn how to build a website to FTP files. The more important the data is, and the harder to recreate, the more you need to have it on the website. If you can just get it up there, they will do your backup for you. This assumes that you don't have tens of gigabytes of personal data, which could be a mistaken assumption if you are talking about photography, for example, instead of writing.
From time to time, burn a CD-R of your files (or multiple DVDs if you have gigabytes of important personal stuff), make multiple copies, and stash them in different locations: with your parents, in a self-storage locker, or whatever. That's too much bother to do very often (if you include the offsite stash), but it's a good thing to do occasionally. Just to be sure, check and see if the CDs/DVDs you burn can be read in your parent's, friends, or kids' computers.
Briefly (probably too briefly) this and similar sounding challenges have real world applications in optimization, where you are trying to figure out how to get what you need without it costing any more than necessary.
For example, suppose you needed to do something that involved two things that had to be the right distance apart, which might mean physical distance, or two oscillators on different frequencies, or two voltages, or whatever. Just two things separated by some value.
You could get pairs separated by 1,2,3,4, etc. by just having one thing (telescope, oscillator, electrode, etc.) located at values 0,1,2,3,4, etc. But suppose each of those things cost you $10 million and you had a $50 million budget. You could still lay them out at 0,1,2,3, and 4, but is there another layout where your $50 million could buy you more bang for the buck?
How could you lay out 5 things to have the maximum number of different gaps between any pair? And this problem adds another constraint, which is to make the total distance from the least value to the greatest value as small as possible. There are real world problems where that's a constraint, too, such as buying the land on which to situate telescopes.
Once problems like this are tackled and optimal solutions found using just numbers, then somebody who later comes along with a practical problem who has heard about this work can take advantage of this work to optimize his system.
If you're gonna bash the iPod, at least get your facts right.
As I said, and you quoted, it was the iPod salespeople at the Apple Store--employees of the manufacturer--who explained these two modes and their restrictions, exactly as I described.
They didn't explain how to circumvent their design, they just explained its "features", which included explicitly stating that the design prevented the playing of media files dragged onto it when using it as a USB drive.
It is good to know how to subvert their design--for me it ameliorates one of the many shortcomings of the iPod relative to what I ended up choosing--but as for who should get their facts straight, you might want to consider flaming the manufacturer who explicitly claims these restrictions and not a potential buyer who believed them.
Leave it to an Apple fan, when Apple says "it can't do that," and I write, "Apple says it can't do that," to tell ME to get my facts right.
I didn't describe the features of the brand "iRiver", I described the features of the iRiver 20gig that I chose (because of its features).
My iRiver is just a USB hard drive in this respect. There is no limitation on my ability to copy media files onto it or off it to and from any computer.
There's only Free Mode on the one I bought.
Other manufacturers already killed this generation of iPods for me--admittedly a pretty tiny market. ;-)
I got the iRiver 20gig hard drive unit this time, and it gave me freedoms not offered by the iPod.
One kind of freedom was double the battery life.
Another was free use of my own files. The iPod, according to the Apple Store, had two modes, which I (not they) call the Free Mode and the Big Brother Mode. The Free Mode, they proudly proclaim, lets you use it as a portable USB drive, plugging in to any computer and doing anything you like with any of your files. Anything, that is, except actually PLAY THEM. That's disabled in Free Mode. This media player won't play any media if you loaded it in Free Mode.
If you actually want to use the media files you load, you have to use Big Brother Mode, using a special loader app that doubles as a storefront for exactly one store: Apple's own. Your device has to be registered with this app and there are all sorts of arcane rules about how many units of this can be registered with that on which computer and how to properly disable one before you can move to another, etc. Bah!
The iRiver, like most non-iPods, has one mode: Free Mode. It's just a simple portable USB drive that lets you plug into any computer you like and put any files you like anywhere you want, and it will play the ones whose file types it recognizes.
And like so many non-iPods, the iRiver plays OGGs, which is great because I write software that produces audio output and I'd like to be able to play my own output without incurring legal liabilities for my own code.
And like so many non-iPods, the iRiver has an FM tuner that I can use to listen to the news and other live broadcasts. (I only wish it had an AM tuner as well.)
And it will record live audio direct to MP3 from either its built-in microphone or off the radio.
I'm a technical guy whose idea of "cool" doesn't involve sporting hip fashion accessories. Name brand rock star touts and the chance to be considered hip don't hold a candle to useful features, as far as I'm concerned.
And I'm not interested in signing up for Apple's You Can Be a Hip Lemming, Too, But You'll Have to Do As We Say agenda. If they can produce something with superior technical features that doesn't require me to submit to their larger agenda, I'll give them another chance when I make my next purchase.
Yes, and for those who don't know, it is an error to write ten thousand as 10.000 when you are writing in English, regardless of your nationality. Using English as your language but a period/full stop as your thousands separator means you have an inconsistent localization, requiring the need for a "translation" such as the parent post to finish the job. Likewise, it is an error for an English speaker to use commas as thousands separators when writing in a language such as German.
Human error is an inevitable input to any complex endeavor. Either you manage and design around it or fail.
There are times when the only choice is to use C because of certain very tight constraints, but C and C++ are Murphy magnets. You know there's something wrong when you have not just an entire book but whole SERIES of books devoted to hidden traps that are entirely due to the design of the language itself.
Using them when you don't have to on the grounds that you're so smart that you never fall into those traps is the sort of fundamental foolishness that makes the Murphy gods chuckle with glee.
If you thought I was ranting about "using big words", you really missed the point. A rich and expressive vocabulary is a definite plus, not a minus, when used well. Likewise for technical terms, mathematical notation, and other features that give precision, clarity, and even some reasonable amount of color to the writing. It's reasonable in a technnical article to expect the reader to come prepared in various ways so that the article won't have to teach a full remedial course in the fundamentals before making its point. I'm hardly advocating "dumbing down" technical articles.
My complaint was about a writing style that not only sacrificed but intentionally sabotaged CLARITY (for those who already have the prerequisite background to understand the ideas if clearly presented) in order to sound more "academic". In this respect, I find academic literature to be far worse than even business-ese and Pentagon-ese.
They certainly do. I lived in one in Tokyo (and I was the only non-Japanese resident.)
most of your readers who have never been force-fed this kind of fare and made to like it will also be lost.
I'd give you mod points if I could.
I've been force fed this kind of academic drivel for decades and nothing will make me ever like it. I was even one of the editors of an academic, peer-reviewed technical journal years ago, but my attempts to turn the academic gibberish into clear English were ultimately fruitless. Both authors and senior editors seemed to feel that clear writing posed a threat to their reputations for academic seriousness.
This article was a particularly egregious example of academic-ese. As near as I can tell, the three part series boiled down to the simple thesis that programmers are creating automated systems that will eventually replace most programmers, effectively eliminating their own profession. Why couldn't he just say so in the first paragraph?
With a clear and concise statement of the thesis, the arguments and data needed to support it also become much clearer, as do holes in the argument and obvious counter arguments that must be dealt with. But with enough academic encruftation, you can't see an argument clearly enough to reliably judge it. Maybe you just haven't understood it. Maybe you're not capable of understanding it. Maybe he's a genius and you'd better just take his word for it.
Sorry. I call pomo BS. I'm sure many current programming jobs will disappear, but many will evolve and new ones will appear. How those factors will ultimately work out isn't clear to me yet, and I'd welcome any article that actually clarified it.
Increased productivity is good for keeping business profits up, but it's no good at all for keeping people fed and clothed
BrainInAJar, you need to fish your brain out of that leftist Slashdot formula pickling brine, and use it to rethink this.
The difference between life in a modern economy with houses, cars, grocery stores, a closet full of clothes, and the ability to work with computers vs. the daily slog through the woods in your loincloth hoping to find berries to pick and gristly little wild animals to spear is PRODUCTIVITY. And for centuries the primary driver of productivity has been the advancing trade, division of labor, financing options, and relentless diversification of business.
Instead of a day's worth of food costing you a day of labor, it now probably costs you less than an hour, and a shirt, which once might have cost you several days of labor, now also tends to cost less than an hour. Yet you claim that productivity is no good at all for keeping people fed and clothed....
If you pull the plugs out of your ears that constant noise ought to stop. ;-)
Seriously, I hope you don't have tinnitus. These amazing MP3 players are probably a far greater health hazard than any mobile phone. It's so easy to get adjusted to the sound level, turn it up a little, get used to it again, turn it up again, etc. Just because it doesn't SEEM too loud doesn't mean it's safe, especially over the very long time periods these devices make possible. BE CAREFUL!
Yes, in my opinion that's mostly fair. I say mostly, though, because a knockoff is usually a subset. Those features in Java are (mostly) a subset of the goodness found in the C# version. C#, though, is not a subset of Java.
C# is an improvement on Java, but it obviously borrowed so much from Java that it is essentially Java II, which makes it sort of a "knockoff" of Java I, but it also borrowed things from Delphi, C++, and other languages that Java never had.
Microsoft was telling the truth when they said that Java, the language, was just what they needed for many of their plans. (Of course they hated the idea of Java, the platform.) If they had been able to control it, they would have forked an improved Java that would have looked a lot like C#. They weren't able to do so, so they created a new language that gave them what they wanted in a language with no strings (except their own) attached.
Part of the reason it looks so much like Java is because they are trying to attract Java developers and want to make it an easy transition, but part of the reason is that they genuinely liked Java (the language).