A course in orbital mechanics would really be a lot of fun. Seriously. I loved the ones I took, but then I am the type of geek who likes to learn everything, so...
You absolutely can use a solar sail to go back home. Well, you can't actually thrust home, but you probably weren't ever directly thrusting out from the sun either. A solar sail is going to be a low impulse device (i.e. it's going to take a while to substantially change your velocity with a solar sail) so you don't try just to point the sail in the way you want to go and let 'er rip. Instead, you plot a constantly changing orbital path where you're adjusting the sail to continuously alter that path most efficiently. If you start from Earth and you set up the sail to constantly speed up your orbit, you're at Mars in about 24 months (best case, requires a substantial sail of lighter weight than we can currently manufacture).
Going back to Earth is exactly the same except you turn your sail the other way so that it slows you in your current orbit instead of speeding you up. Your orbit will get smaller and smaller and if you did your calculations right (and you started this exercise at the right moment (the launch window)), you will enter Earth's orbit at about the same space in Earth's orbit as the Earth and you're home.
In both of these cases, you aren't getting the maximum 2x momentum transfer from the solar wind (because you're reflecting it at 90 degrees instead of 180) but you are getting 1.4x, which is still pretty good and well in the realm of useful. Your navigation computer will understand how all of this works and will probably be able to do it a lot better than you can. But that's always the way of things, ain't it?
Really? So what does.NET do that Java doesn't? What's so innovative? Its a common language runtime instead of Java lanaguage runtime.
Having dug into the guts of the CLR on a recent assignment, your assertion happens to be untrue. The CLR is a C# language runtime that also has fully supported cross-compilers from other languages. Just like the Java VM, the.NET runtime is language specific and other languages get to subtly compromise their capabilities when they are compiled into it. Just take a look at the bytecodes that get built from C++ or J#. Hexagonal peg, pentagonal hole. (each one sorta fits, but none as well as C#:)
The fully supported aspect of the various cross compilers appears to be important to external observers. My only conclusion is that that the name of their VM was very well chosen... Then again, marketing has always been their forte.
You have erected a strawman argument and handily knocked it down. Good for you.
Too bad for you, the actual argument by the people on the other side of the issue isn't about trying to make pornography available to library patrons. There are several interrelated arguments of people against this law (including myself).
First, do the filters actually succeed in preventing minors from getting to objectionable materials? Apparently not, as critics of filtering software will be able to show you hundreds of sites that children shouldn't be reading that the filters let through without hacking. Then if you know what you're doing, it's rather easy to walk around the filters. The filters don't do what they claim to do.
Second, do the filters also filter out material that teens and children absolutely should have access to? Breast cancer is but one example of many. Discussions of censorship? Not if you're filtered. Political protest? Much of what you'd find will fall under a violence filter. Ancient history? Same thing. The filters that you're cheering for censor with a much broader brush than they claim to be using.
Finally, what you're objecting to, public display of pornography, is better handled by having the library computer monitors face the main desk. The librarian won't be able to read any text you're looking at, but an occasional glance by the librarian will suffice to actually prevent little Johnny from looking at the dirty pictures. No need for adults to ask each day to disable the filters, no need for the library to spend time and money selecting and buying filtering software instead of buying and managing media for lending...
Oh, and guess what, every public library I can recall does in fact have the monitors facing a desk where library employees are stationed. The only library where this was not the case is the University of Cincinnati library, but perhaps they expect fewer children looking for porn (they're mistaken, but at least the kids are over 18:)
This is a discussion about censorship, about the deliberate removal of a type of content from a film.
But it's not about removing that content for everyone (which would be censorship), only for those who do not wish to receive that content.
Hardly a strawman.
Regards, Ross
Re:If MS were to use such strategies, would anyone
on
Platform Evangelism
·
· Score: 1
"cooperate with the competition" What kind of socialist doublethink is that?
Try thinking about it as if you have thousands of products across hundreds of industries.
That's the kind of thinking that huge companies have to have. TI competes with Motorola in DSP products, but also sells semiconductor products to the Motorola cell phone division.
Similar examples are legion. What do you think the relationship between IBM and GE is? Both are huge multinationals with dozens of markets. They directly compete in several markets, are part of the market for the other in other markets, and in still other markets, are cooperating through various means.
In each situation, both IBM and GE are acting in their own best interest, but in many cases, they are cooperating with the competition...
Any time you have more than one product, this becomes a possibility. As the number of products grows, the chance that it will be in your best interest to cooperate with a company you also compete with will approach unity.
Though the chance that a police officer will be around during the commision of a crime has stayed puzzlingly low...
(Hint: someone else is choosing the time and location of the crime and in most cases, that person will do their best to make sure that no cop is nearby).
First of all, my statement was my opinion. As in the article is asking for opinions and I gave mine in hopes that his summer reading is fun for him. Why does the fact that you disagree suprise you? That's the nature of opinions.
Second of all, why are you as a geek (meant as a compliment), making a Argumentum ad numerum argument (a classical logical flaw)? To be perfectly honest, I expect better from you.
I have found in times past that most of the NYT best seller list is complete crap. About once a year there's a top-40 song that I like enough to buy the album it's on. The rest, I'm afraid, sounds like crap to me. Apparently, there are tens of millions of people who like soap operas and watched Ally McBeal (along with other evening dramas). I still think they're all crap.
Going against the trend (and lots of people) hasn't been a problem for me so far. Nor, I suspect, is it a problem for you. I'm sure there are a bunch of geeks living in the Bay area who loved this book. I have never lived in the Bay area, however I know enough people who lived there to get many of the jokes. They still weren't funny. Certainly not funny enough to make me do anything but drive my copy down to the used bookstore and get $5 for the hardback I spent $30 on the previous week.
Finally, there's no need for the ad hominem at the end of your posting. I may have been criticising one of your personal sacred cows, but you certainly don't know enough about me to assume that because I didn't like this story that I'm scared of big books. As an aside, nothing could be farther from the truth. Though I am hesitant to recommend big books to others without knowing their reading speed, I wouldn't recommend this particular big book because I don't think it was written very well.
"Cryptonomicon" is crap. Neal forgot how to do effective exposition since "Diamond Age" and got all caught up in the high tech gee gaws of today's tech crowd. He also failed to bring together a potentially interesting set of character arcs by writing supremely uninteresting characters based on idiosyncracies of a bunch of his geek friends.
He's written better and he'll write better again. Forget about "Cryptonomicon", it isn't worth your time.
Crack smoking moderators should not have moderated the parent a troll.
The total list of items consumed to make silicon products, including solar-electric cells, is rather enormous. There most certainly are significant environmental costs associated with their fabrication. If you don't like this, support more research into solar cell fabrication technology, don't just ignore the issue. It (the total cost of fabrication) is probably the biggest problem preventing widespread adoption.
Well, what do you think would be a better use of my time? Since you didn't enlighten us with a set of alternatives that would reveal what you're thinking of, I'll have to guess...
Perhaps you think I should spend more time building skills that will allow me to earn more money or better secure my intended path in my career?
The only blacksmith I know makes about $60k and spends more time with his kids than any other 40 year old I know. IMHO, that's real wealth.
I schedule time to learn new professional skills during work hours and I spend plenty of time exploring new databases, playing with new languages and language features. We're talking about things to do after hours and on the weekend.
Since what we're talking about really is leisure time, perhaps you're bothered that I'm choosing to do something outside the ordinary with my leisure time? Perhaps you'd prefer it if I spent a lot more time in front of the television (currently only hooked up to a DVD player). Perhaps I should not find things I enjoy doing in my home (where the rest of my family resides) and I should spend time in clubs and bars pursuing one-night stands and reinforcement of my self-esteem from strangers more interested in style than substance?
Perhaps not.
I make certain that I have leisure time in my life and what I pursue with that leisure time may suprise you. Like many other people on here, I prefer the taste of a beer that I have made to one that I bought, I prefer to sit on a chair that I crafted from wood to one that I bought, I enjoy sitting in a garage on my chair drinking my beer after completing a valve adjustment on my motorcycle.
Learning to be self-reliant by picking up new hobbies that I enjoy is not a waste of my or anyone else's precious time. If anything, it is one of the most rewarding things that I do with my time, not only because I enjoy the challenge and the exploration, but because most of these can be enjoyed with others who are important to you. If you have a spouse and/or children, ask them if they'd rather you do what you first thought of when writing your post or spending it with them making cheese? The answer might suprise you.
ROFLMAO! Vignette is one of the worst designed solutions on the market. As just one criticism, the complexity of the dependency structure in the caching is out of control making it almost impossible to convert from test to deployment in any sane way.
I'm currently developing a replacement for a Vignette deployment at my current employer and every time I interact with the Vignette system, I'm reminded of why my employer now has a policy prohibiting any new Vignette projects.
If you must, use Vignette for prototyping, but ditch it long before you go live. OpenACS is substantially more stable and easier to develop against, there are support organizations you can hire if needed, and it's free (as in beer and as in freedom).
The "something better" being advocated here is better only for the consumer.
At this point, better only for the consumer shouldn't be a stretch. Don't forget that the original argument for copyright is to maximize the value of the public domain. By encouraging authors to produce works that will later enter the public domain and benefit everyone, that is. From the current state of the laws, we could back all the way out to registered copyrights with one extension and your argument is still valid, but just as irrelevant.
The fundamental issue is that moral and legal are not the same thing and these laws are the perfect example of that observation. In general, law is a tool for society to express a consensus morality (simplistically, it's right for people to be compensated for their work). In copyright law, however, that good idea got hijacked by people with the funds to get the law to say "It's mine and you can't have it ever." Just about everyone interested enough to pay attention to the issue recognises the imbalance of the laws and the reaction is predictably rebellious. When a law doesn't represent consensus morality, we naturally become scofflaws.
So with an attitude even more brazen than most people have about ignoring speed limits, we as a society have decided that copying most works is not wrong, even though we are aware that it's illegal. With the laws so far beyond ridiculous, the right question is not to wonder why people are happily copying DVD's, but to wonder who thought that these laws could possibly reflect morality or influence behavior?
But then, a quick analysis quickly leads to the conclusion that the DMCA was not intended to reflect morality but to simply keep money in the hands of the moneyed. Which is a crying shame, since most of the benefit of capitalism comes when there are serious financial consequences for failing to provide competitive value to your customers. As Marx should have taught us, when the playing field can be changed to benefit those with capital, you don't have capitalism any more. It's mercantilism and it's our modern reality.
Regards, Ross
I'm not a Marxist, but his criticisms of the system of his day were quite cogent. He was objecting to moneyed interests levering government influence to further their own interests at the expense of their employees, their customers, those who had to live near their stinking polluted plants, etc. He just happened to believe that all of that was part and parcel of capitalism when instead it's an unfortunately common corruption of capitalism.
I'd put that number closer to 20%. Personally, I've never developed an app where I could ignore the app after the "dog and pony" prototype had served it's purpose. Don't get me wrong, I know there's a place in the world for Perl, so I know there's a place in the world for small database-aware Java systems that don't deal with a lot of data and rarely if ever change the schema.
But I've never developed one of them. Every time I've needed a persisted store in one of my projects, I've had high concurrency demands, a need to scale to deployments as large as a branch of the US Military, or a Fortune 100 company, or... and there's never a simple query requirement. It's always some path following, weighted edge graph evaluation model that can be done in the object model if you've got big enough iron, or in a fairly small database if you've got the relational programming skills. And I don't notice anyone correcting my observation about schema evolution (though I was hoping that someone would and I would learn something new). If you haven't had to push a schema change down against a 100GB database with a backup that takes three days to finish restoration (in case you screwed up), you haven't lived.
What approach? JDO is the standard. The only other options are certain vendor's products.
Three comments:
1) The great thing about standards is that there are so many to choose from. (blatantly stolen, I know:)
2) JDO is a standard, not the standard. Besides all of the vendors aiming for defacto standard status, ODMG has had an ORM standard too. Been around for a few years, actually. The OJB project already fully implemented it in Java and OJB works pretty darned well.
3) JDO isn't a very mature standard. More of an experimental effort at this point. I see JDO as Sun's first pass at fixing JDBC's big problems. As an architect/developer who's been around the ORM block a few times, this first pass has some nice contributions to the ORM space (and don't think they haven't noticed), but got stuck in the OO-limited perspective.
The sooner Sun drops the "JDO let's you ignore the database and do the neat stuff!", the sooner they'll be on the right track to the right balance. JDBC was too far the other way, but I'm confident they'll get it right one of these days. After trying everything else:)
That's what I figured would happen. But what I don't get is why being able to ignore the db is touted as one of the advantages of JDO. It's a serious problem in the spec which leaves you tied to the vendor-specific extensions.
By leaving the gap in the specification, they prevent someone who's using JDO from easily swapping vendors. At that point, I still say that the application interface is nice, but I'll take an approach that blew off the cruft the first time around and did it the right way from the start.
The Space Shuttle proved that we cannot gain anything on the cost of unmanned rockets for satellites. The Apollo missions proved we have nothing to gain from colonizing and mining the moon.
It might help if either one of those projects was intended to establish that goal. Apollo was all about going to the moon. After getting there, we decided to take a look at doing some science and that worked out rather well. We never tried to extract commercial value from the moon, so it's a little premature to say that Apollo proved anything of the kind.
As for the shuttle, it's a prototype for a reusable space vehicle. A first-pass design if you will. It's done an amazing job at pointing out the shortcomings of it's design while acting as a rather expensive medium lift launch vehicle. The problem is that so much got invested into the shuttle that no money is left over to pursue further design and the US Government doesn't want competition in medium-heavy lift launch capabilities, so we have laws to prevent competitors from succeeding.
Now we've got the ISS, and the real problem here is that people high up in NASA really want an orbital construction shack as a permanent foothold in space, so the space station has been co-opted by that agenda to make it into the LEO launch point for future interplanetary manned missions. It's a nearly worthless scientific outpost, as any sensitive microgravity experiment needs isolation and minimal external forces. Except for right around the CG of the station, there are tidal forces large enough to upset most of the interesting microgravity experiments and with the amount of activity going on, the whole structure is vibrating like a bell being hit by a hundred hammers. Science is what it's not. Soaking up NASA's budget and forcing the government to be even more aggressive about stifling competition is the real impact of the ISS. Too bad nobody cares.
Which is also the reason why Zubrin's low cost, low risk manned Mars mission will never happen. It doesn't need a construction shack so it can't act as justification for continued development of the space station into a space-based assembly and launch platform. Which is a damned shame because Zubrin's return vehicle could be put up on a Russian Proton rocket as soon as it's fabricated and be waiting for the manned mission to arrive a few years later.
Actually, I'm all for an orbital construction shack, I just think it ought to be built from in-situ materials (lunar/asteroidal metals fabricated in space). But I'm one of those wierdos who sees dollar signs in off-planet resources...
Sorry for the off-topic rant. Back to your regularly scheduled open source discussion.
Sorry to reply to my own post, but the super killer that JDO doesn't manage and falls flat on is the update problem.
Sometimes called "object evolution", "schema evolution", "schema upgrade", or a few other names, this is the problem you have when your objects (and therefore your schema) change from V1.0 to V1.1. Your customers will expect the upgrade to happen and the app to keep running, but a schema change will require that you do db manipulations to preserve their data across changing columns and tables.
JDO gives you no help in solving this problem, and because it "helped you out" by keeping you away from the schema in the first place, you're in a worse position than you would be if you had written both versions of the schema. At least then you'd be able to know exactly what you changed and why. With JDO, you get the exciting and error prone task of reverse engineering what JDO helped you out with and hoping that you don't misunderstand something that corrupts your customer's data.
Hiding the relational model doesn't help you at all and ends up biting you in the ass. As I mentioned in my previous posting, most vendors will quickly find that their customers need direct control over the database as well as the object model and "spec JDO" will only be used for toy and one-off applications.
Regards, Ross
Re:JDO vs EJB Entity Beans?
on
Java Data Objects
·
· Score: 2, Informative
JDO is a massive step up from EJB entity beans, giving you inheritance, sophisticated state behavior, fairly low overhead (especially at the object layer) and several advantages besides.
But JDO's goal, of insulating you from the database, means that you can't get to the database even if you need to. In my opinion, this limits JDO apps to the same "toy" class of applications that entity EJB's are limited to.
For instance, the way JDO stores a polymorphic reference is to store the object id and the object type (as a text string with the fully qualified class name) as two separate columns in the referrer's table. That's horrible in several ways (including db bloat and the fact that you've lost most of the ability to report against the database), but because the JDO spec refuses to let you give it any hints, it has very few other options. This particular problem made JDO infeasable for the last app I worked on (a security manager that pulled in 30-50 million snort events per day). JDO would have doubled the database size, on a database that grew at 2-3GB/day!
Other solutions, like Hibernate or OJB give you the ability to ignore the database if you so wish (by providing schema generating tools) but also give you the option of writing a great object model, writing a performant database schema, and then describing the best possible mapping between them. And believe me, when it comes time to make your application scalable to hundreds of simultaneous users and hundreds of millions of rows, you'll appreciate the ability to design the database yourself.
JDO's real problem is that it pretends that there's no need for relational programming now that we've got object oriented programming and it's another restatement of the object-oriented database. Relational programming has several distinct advantages over OO programming in several problem areas, the most obvious being arbitrary search (which the OO model intentionally prevents with encapsulation). True object relational mapping tools don't make this mistake. They let the object model do what it's good at, the data model do what it's good at, and then help them talk to each other.
One thing that JDO did do a good job of was the application interface. The query is nice and the rest of the semantics are clean. And luckily for the rest of the world, there's no reason why an ORM tool can't provide a JDO interface but do the mapping more intelligently. In all actuality, this is what will happen to JDO very shortly (if it already hasn't). The vendors will provide systems that comply with the spec and then customers will demand that they have more control over the db and mapping and each vendor will extend their implementation in some nonstandard way to give them that power.
You seem to be saying is that the language shouldn't provide the programmer with power that can be abused. I strongly disagree; bad programmers will abuse any language feature, and good programmers shouldn't have to do without features because of that.
No, I'm responding to the assertion that C++ is easier to write. It has additional language features that allow for more compact notation and in some cases more useful constructs. All of those features introduce additional complexities into developing a robust system.
I appreciate that there have been plenty of times when I would love to have operator overloading in Java (I was working on a Money class just last week), but I also remember having to unravel some code made nearly inscruitable by someone fresh out of school who thought it would be neat to add some semantics to a few operators because "they're smaller than typing out actual method names". That's a pathological case, but I hope the point is clear. The additional language complexity of C++ does result in more expressive power, but comes at a cost of requiring more expertise.
Writing portable C++ code is easy if you think about the need for portability in advance and abstract out platform-dependencies.
And you're the lucky one if those who originally wrote the code you have to port actually thought about those issues. Total cost of system development is dominated by maintenance costs and Java is much easier to maintain than C++.
I'm just thankful that I don't do maintenance any more and am largely responsible for top level architectural/design issues and development through about the third release cycle. But I still try to make life easier on those who have to come after me and Java makes that much easier to do.
No it wont. The only places using Java are those god-awful "B2B" shops. I don't see banks running Java on their critical transaction processing systems.
Actually, it just so happens that more and more banks are redeploying their core business systems in Java. Those who haven't done it by now are the laggards who were about to be stuck with a rather expensive manned teller system in a world of largely online banking.
Any and all of the enterprise class frameworks are either built on Java or have Java interfaces (because many of the associated apps that they have to work with are in Java). I'm currently working on an enterprise class contract management system and more than half of the accounting systems we need to interface with expose an EJB interface. Any guesses as to why we'd use that over a SOAP or other simple network protocol? Yep. Transactional security.
Java is overwhelmingly the current choice of enterprise systems development. That could change in the future if Sun went away and wasn't replaced by someone equally credible. But for now, if you're developing an enterprise application and you're not doing it in Java, most customers will laugh you out of the sales call.
I, like a lot of other programmers, can honestly say that IMO C++ is just a better language than Java. It's more compact, easier and more pleasant to write, etc.
Well, that's a few criticisms I've never heard before. I'll give you compact, and if you want it, a performance edge. But other than that, C++ is a much more difficult language to write real programs in. It requires approaching guru level (well beyond expert) to write a portable system in C++. Language feature interactions in C++ can put a bug into the most subtle of indiscretions.
Operator overloading is ammunition for the inexperienced to do something that looks cool but is actually extraordinarily unwise.
Const and const correct sound good until you inform the newbie of the mutable keyword and later find that you don't have const methods after all.
Templates are similarly powerful/risky. Java will get them in 1.5, but the issues around their effective use are legion
Using threads in C++ is akin to a black art. I used to literally start any discussion of C++ threads by drawing a pentagram on the whiteboard to remind everyone in the room that we were about to descend into the depths of the various C++ threading models.
Dealing with other people's screwed up multiply inherited class structures was the only time in my life I've had migraine headaches
How about syntax-dependent semantics for the static keyword?
And though I tend to prefer the more explicit hpp/cpp interface/implementation separation, method inlining manages to ruin it right away (without any known benefit since the compiler will inline or not without your hint). Also, do I really need to type so much to get the hpp/cpp separation to work?
You've still got the C-preprocessor. Have you ever seen how much damage someone can do to code readability with the C-preprocessor? It's worth it to move to Java just to avoid dealing with cpp.
Portability. Java isn't really 100% portable either, so I'm not going to make that claim. But unless you're able to stick to gcc, porting a C++ app to another system is agonizingly difficult unless you're a guru on both systems. Even then, I'd probably get a whole chicken just to make sure.
Now I agree that Java has its warts and there are plenty of aspects about it that should get attention (jdbc, unicode handling, API conventions, faster elimination of deprecated elements, etc.) but it has some huge advantages as well. The first one, one which almost any other language could take and benefit from, is the deliverable packaging strategy. The.class/.jar approach (along with the associated benefits in the ClassLoader architecture) become eye-poppingly powerful and sophisticated once you take a peek under the covers. I suggest taking a look at BCEL to get a glimpse of what I mean. Almost any VM architecture (both lisp and smalltalk can easily be implemented in a VM form) ought to take a page from the Java deliverable approach.
And here's the scary/exciting part: C# is awfully close to doing all of that. The only thing that C# doesn't really have is the huge library and the mindshare. The C# library will grow. Depending on how it grows (.net-only or portable), it may get the mindshare. Java has one or two chances left to fix itself before momentum starts building behind C# and the future will be a very interesting time. It looks fairly certain that we'll have C# (and Microsoft) to thank for speedier future changes in the Java language.
The Matrix is a straight up Campbellian hero myth including the departure, wisdom from the old woman, descent into the underworld, return from the underworld, trial, success, bring an important power/artifact back to whoever. Good stuff and usually fun for most audiences (since the Campbellian hero myth is really the story of any successful human life, once enough of the unpleasant details are buffed out).
Blade Runner is a altogether different story. It's a cautionary tale about technology outstripping ethics and some of the real risks when we limit ourselves by what is possible instead of what is right.
The central conflict is an examination of the definition of humanity from an alien perspective (the replicants). At what point does the artificial become natural? Where is the line in the sand where we say, "This is human. That is not." What if they look the same but can't be mature enough to safely coexist because they didn't have a childhood? What if they look the same and remember a childhood? This exploration is set in a tragic context where the replicants could exist, a society in decay, struggling with the aftermath of environmental collapse, presumably from a history of tech/ethical decisions gone wrong (almost no natural animals, remember).
Then there are some closely related questions even more relevant to our lives today: do things have to be human to have rights? Is the ability to feel pain and fear enough to acquire legal protection? The tragedy of mortality, "All those memories lost; like tears in rain." Tyrell, as the technology wielder (creator), must face the pleadings of his imperfect creation and then faces destruction for those imperfections. The obvious issue of slavery, an assertion that is only credible once it is accepted that the replicants are in fact, human. Which ought to be an sobering reminder of the rule that a slave was counted as 3/5 of a person for apportioning representatives just 200 years ago here in the US...
I can completely understand why many people don't like Blade Runner. The questions it raises are intentionally unsettling dilemmas. It's much easier to skim over the depth and see it as a slow moving cop flick with a flaky soundtrack. But if you should choose to look below the surface, there's a world of philosophical exploration going on.
In my personal opinion, Blade Runner is the best movie I've ever seen. Though Fight Club just recently (two years ago) entered the running as a really strong second place... And who cares what Harrison Ford thinks. He's an actor and a damned good one but IMO acting skills rarely translate into anything else of value. Let's be serious here: Are you really expecting the man dating Calista Flockhart to be a shining exemplar of good taste and philosophical insight?
To start my reply, I own a Thinkpad A21p and I love it. But your assertion that Thinkpads are the end-all be-all needs a little more substantiating.
First of all, selection of pointing devices is highly subjective. I can easily use the trackpoint and appreciate that I don't have to remove my hands from the home keys to use it (among other things). Many of my coworkers cannot seem to get the hang of it and are adroit at using a touchpad. IBM would do better if they followed Toshiba and Dell's example and included both devices (with appropriate disabling options).
As for the screen, the resolution on powerbooks splits the difference on the thinkpad line. Thinkpads are available with both more and less resolution. My 18 month old Thinkpad has a perfect 1600x1200 display that I prefer over the 21" monitor also sitting on my office desk (I only use that to play with test machines). But it cost $3500 new and all of the newer models with the same screen still cost upwards of $3000. 1440x900 doesn't suck, and Apple (like IBM) has an excellent reputation for high quality screens (few/no bad pixels).
And as for the keyboard... IBM's keyboard rocks, but so does Apple's. Having used both for some time, the Apple is a bit shallower in stroke, but gives equally effective feedback and is just as rock solid and stable. Personal preference could easily sway someone to one or ther other, but to assert that there's some enormous quality or usability gap implies that you haven't used the Apple keyboard yet.
On the speed, it's true, they're slower. Far slower smacks of benchmark centrism. I don't hear too many Apple users complaining about performance problems, even in CPU-intensive tasks. If the UI lets you get your work done, it doesn't really matter if the CPU is actually faster or not.
Case in point, I prefer to use my Thinkpad with 850MHz Mobile P3 over the Dell desktop with 2.7GHz P4 that also sits on my desk. Most of that preference is because of the awesome LCD display of the laptop. When doing builds of the product I'm working on, the compile takes 18 seconds on my laptop and 6 on the desktop and it doesn't matter to me because the display is just so much better.
Wow, it's pretty much strawman central at your place isn't it?
Only in a military dominated dictatorship does the minority make the rules. The United States is a Democratic Republic.
Actually, we're not. As you may or may not have learned in 9th grade civics, the US is a Constitutionally Limited Republic, precisely to prevent the majority from making rules that screw over an unpopular minority.
We have a process in which to 'listen to the damn people.' It's called elections.
In your little world, I'm sure that's how change always happens. However, that's only one way in which the populace can effect change. Remember little things like the Boston Tea Party? That involved disrupting the operations of a major shipping port. Perhaps another tiny little non-electon event called the American Revolution? At some point, the populace may wake up and find that their "representatives" are not. The votes in the houses of government already bought and paid for by corporate interests successfully buying legislation to keep money exactly where it is and out of your pockets.
When the choice presented at election time is between two individuals who have already sold their integrity to the highest bidder, other means of expressing dissatisfaction are needed.
That's different from shutting down a city or country until the government does what you want.
Your inability to get a super double latte caffiene injection at the Starbucks of your choice and having to go around three blocks does not constitute "shutting down a city". Hyperbole won't help your argument any more than the strawmen you've been erecting.
However, it [the minority] does not have the right to cause mass violence or economic hardship.
That's a couple of rather disparate items to be throwing into the same list. I mean, it's almost as if you're equating your personal inconvenience with violence. Do you know anything about the protests you're objecting to? The only time I've heard of there being violence is when some group of your "correct thinking" friends picks a fight with them. You'd do better to object to the cost of those lattes that you're unable to get from your favorite chain shop than the protestors preventing you from getting there.
The "American Way" that you so jingoistically claim to defend *is* the first amendment, where protest, including protests that block traffic and shut down freeways is very much a part of. At some point, my only remaining observation to a nimrod like yourself is that if you really want a police state where those annoying people complaining about things below your radar don't get to interfere with your day-to-day life, why don't you move to China where they've already got all of that?
Personally, I'd prefer the US moved the other way, i.e. get rid of Tom Ridge and his neo-police state Homeland Defense organization. Put more limitations on the police in reaction to new technologies instead of less. But there isn't anyone on the ballot who represents that view, is there? So I guess that exhausts all of my options according to you...
Actually, if you were a scuba diver and used oxygen enriched breathing mixes (aka Nitrox), you'd know that the risk of a CNS OxTox hit (a central nervous system seizure due to oxygen toxicity) significantly separates from zero at a ppO2 between 1.6ata and 2.0ata... pretty far from 10.0ata.
Much of my scuba diving is limited by this number. I usually dive EAN32 (32%O2 68%N2) for my recreational diving, and at 128fsw (the local pressure equivalent to a column of salt water 128 feet tall with 1ata on the top), the ppO2 is 1.6ata. That's the MOD (Maximum Operating Depth). Don't go deeper than that. Even accidentally. So I limit my dives on EAN32 to 110feet to stay away from that invisible boundary where risk starts to accumulate.
You're right that whether you get hit is variable on pressure and time, it also depends on the individual's body, how fit they are, how rested they are, if they've done recent exertion and lots of other variables we don't understand. You can be tested (in a hyperbaric chamber) and make it to 4.0ata for an hour on one run and then a month later get a CNS hit on the way past 2.0 at the start of the run.
Also, a CNS hit isn't really harmful itself. When you're lying down in a hyperbaric chamber and you get hit, you go into a mild convulsion, lose conciousness, they drop the pressure, you wake up none the worse for wear. What hurts is when you need to be concious to keep doing something important (like keep the breathing regulator in your mouth on a scuba dive, or like continue to pilot the vehicle).
Finally, there is another kind of injury from elevated oxygen levels, where your lungs get burned from long exposures (long is hours and days, depending on how elevated the pressure is). This is why when you're in the hospital and need extra O2, they don't put you in an pure O2 environment and leave you there. The tissue in your lungs degrades and that injury can eventually be more serious than whatever you were on the supplemental O2 for. This is sometimes called Systemic OxTox, though it has a few names.
In either case, as others have mentioned, you're more likely to be burned by the LOX freezing your skin or the shrapnel from the bursting container than by breathing the extra O2. It also may not help the situation that the suddenly reduced temps in the cockpit cause all of the windows to frost up just as you're losing engine power...
A course in orbital mechanics would really be a lot of fun. Seriously. I loved the ones I took, but then I am the type of geek who likes to learn everything, so...
You absolutely can use a solar sail to go back home. Well, you can't actually thrust home, but you probably weren't ever directly thrusting out from the sun either. A solar sail is going to be a low impulse device (i.e. it's going to take a while to substantially change your velocity with a solar sail) so you don't try just to point the sail in the way you want to go and let 'er rip. Instead, you plot a constantly changing orbital path where you're adjusting the sail to continuously alter that path most efficiently. If you start from Earth and you set up the sail to constantly speed up your orbit, you're at Mars in about 24 months (best case, requires a substantial sail of lighter weight than we can currently manufacture).
Going back to Earth is exactly the same except you turn your sail the other way so that it slows you in your current orbit instead of speeding you up. Your orbit will get smaller and smaller and if you did your calculations right (and you started this exercise at the right moment (the launch window)), you will enter Earth's orbit at about the same space in Earth's orbit as the Earth and you're home.
In both of these cases, you aren't getting the maximum 2x momentum transfer from the solar wind (because you're reflecting it at 90 degrees instead of 180) but you are getting 1.4x, which is still pretty good and well in the realm of useful. Your navigation computer will understand how all of this works and will probably be able to do it a lot better than you can. But that's always the way of things, ain't it?
Regards,
Ross
Really? So what does .NET do that Java doesn't? What's so innovative?
.NET runtime is language specific and other languages get to subtly compromise their capabilities when they are compiled into it. Just take a look at the bytecodes that get built from C++ or J#. Hexagonal peg, pentagonal hole. (each one sorta fits, but none as well as C# :)
Its a common language runtime instead of Java lanaguage runtime.
Having dug into the guts of the CLR on a recent assignment, your assertion happens to be untrue. The CLR is a C# language runtime that also has fully supported cross-compilers from other languages. Just like the Java VM, the
The fully supported aspect of the various cross compilers appears to be important to external observers. My only conclusion is that that the name of their VM was very well chosen... Then again, marketing has always been their forte.
Regards,
Ross
You have erected a strawman argument and handily knocked it down. Good for you.
:)
Too bad for you, the actual argument by the people on the other side of the issue isn't about trying to make pornography available to library patrons. There are several interrelated arguments of people against this law (including myself).
First, do the filters actually succeed in preventing minors from getting to objectionable materials? Apparently not, as critics of filtering software will be able to show you hundreds of sites that children shouldn't be reading that the filters let through without hacking. Then if you know what you're doing, it's rather easy to walk around the filters. The filters don't do what they claim to do.
Second, do the filters also filter out material that teens and children absolutely should have access to? Breast cancer is but one example of many. Discussions of censorship? Not if you're filtered. Political protest? Much of what you'd find will fall under a violence filter. Ancient history? Same thing. The filters that you're cheering for censor with a much broader brush than they claim to be using.
Finally, what you're objecting to, public display of pornography, is better handled by having the library computer monitors face the main desk. The librarian won't be able to read any text you're looking at, but an occasional glance by the librarian will suffice to actually prevent little Johnny from looking at the dirty pictures. No need for adults to ask each day to disable the filters, no need for the library to spend time and money selecting and buying filtering software instead of buying and managing media for lending...
Oh, and guess what, every public library I can recall does in fact have the monitors facing a desk where library employees are stationed. The only library where this was not the case is the University of Cincinnati library, but perhaps they expect fewer children looking for porn (they're mistaken, but at least the kids are over 18
Regards,
Ross
This is a discussion about censorship, about the deliberate removal of a type of content from a film.
But it's not about removing that content for everyone (which would be censorship), only for those who do not wish to receive that content.
Hardly a strawman.
Regards,
Ross
"cooperate with the competition"
What kind of socialist doublethink is that?
Try thinking about it as if you have thousands of products across hundreds of industries.
That's the kind of thinking that huge companies have to have. TI competes with Motorola in DSP products, but also sells semiconductor products to the Motorola cell phone division.
Similar examples are legion. What do you think the relationship between IBM and GE is? Both are huge multinationals with dozens of markets. They directly compete in several markets, are part of the market for the other in other markets, and in still other markets, are cooperating through various means.
In each situation, both IBM and GE are acting in their own best interest, but in many cases, they are cooperating with the competition...
Any time you have more than one product, this becomes a possibility. As the number of products grows, the chance that it will be in your best interest to cooperate with a company you also compete with will approach unity.
Regards,
Ross
My signature does not have connections between the letters. Well, except for the last half of my last name which is a bit of a squiggle...
Regards,
Ross
Though the chance that a police officer will be around during the commision of a crime has stayed puzzlingly low...
(Hint: someone else is choosing the time and location of the crime and in most cases, that person will do their best to make sure that no cop is nearby).
Regards,
Ross
Moofie,
First of all, my statement was my opinion. As in the article is asking for opinions and I gave mine in hopes that his summer reading is fun for him. Why does the fact that you disagree suprise you? That's the nature of opinions.
Second of all, why are you as a geek (meant as a compliment), making a Argumentum ad numerum argument (a classical logical flaw)? To be perfectly honest, I expect better from you.
I have found in times past that most of the NYT best seller list is complete crap. About once a year there's a top-40 song that I like enough to buy the album it's on. The rest, I'm afraid, sounds like crap to me. Apparently, there are tens of millions of people who like soap operas and watched Ally McBeal (along with other evening dramas). I still think they're all crap.
Going against the trend (and lots of people) hasn't been a problem for me so far. Nor, I suspect, is it a problem for you. I'm sure there are a bunch of geeks living in the Bay area who loved this book. I have never lived in the Bay area, however I know enough people who lived there to get many of the jokes. They still weren't funny. Certainly not funny enough to make me do anything but drive my copy down to the used bookstore and get $5 for the hardback I spent $30 on the previous week.
Finally, there's no need for the ad hominem at the end of your posting. I may have been criticising one of your personal sacred cows, but you certainly don't know enough about me to assume that because I didn't like this story that I'm scared of big books. As an aside, nothing could be farther from the truth. Though I am hesitant to recommend big books to others without knowing their reading speed, I wouldn't recommend this particular big book because I don't think it was written very well.
And that again, is my opinion...
Regards,
Ross
"Cryptonomicon" is crap. Neal forgot how to do effective exposition since "Diamond Age" and got all caught up in the high tech gee gaws of today's tech crowd. He also failed to bring together a potentially interesting set of character arcs by writing supremely uninteresting characters based on idiosyncracies of a bunch of his geek friends.
He's written better and he'll write better again. Forget about "Cryptonomicon", it isn't worth your time.
Regards,
Ross
Crack smoking moderators should not have moderated the parent a troll.
The total list of items consumed to make silicon products, including solar-electric cells, is rather enormous. There most certainly are significant environmental costs associated with their fabrication. If you don't like this, support more research into solar cell fabrication technology, don't just ignore the issue. It (the total cost of fabrication) is probably the biggest problem preventing widespread adoption.
Regards,
Ross
Perhaps you think I should spend more time building skills that will allow me to earn more money or better secure my intended path in my career?
- The only blacksmith I know makes about $60k and spends more time with his kids than any other 40 year old I know. IMHO, that's real wealth.
- I schedule time to learn new professional skills during work hours and I spend plenty of time exploring new databases, playing with new languages and language features. We're talking about things to do after hours and on the weekend.
Since what we're talking about really is leisure time, perhaps you're bothered that I'm choosing to do something outside the ordinary with my leisure time? Perhaps you'd prefer it if I spent a lot more time in front of the television (currently only hooked up to a DVD player). Perhaps I should not find things I enjoy doing in my home (where the rest of my family resides) and I should spend time in clubs and bars pursuing one-night stands and reinforcement of my self-esteem from strangers more interested in style than substance?Perhaps not.
I make certain that I have leisure time in my life and what I pursue with that leisure time may suprise you. Like many other people on here, I prefer the taste of a beer that I have made to one that I bought, I prefer to sit on a chair that I crafted from wood to one that I bought, I enjoy sitting in a garage on my chair drinking my beer after completing a valve adjustment on my motorcycle.
Learning to be self-reliant by picking up new hobbies that I enjoy is not a waste of my or anyone else's precious time. If anything, it is one of the most rewarding things that I do with my time, not only because I enjoy the challenge and the exploration, but because most of these can be enjoyed with others who are important to you. If you have a spouse and/or children, ask them if they'd rather you do what you first thought of when writing your post or spending it with them making cheese? The answer might suprise you.
Regards, Ross
ROFLMAO! Vignette is one of the worst designed solutions on the market. As just one criticism, the complexity of the dependency structure in the caching is out of control making it almost impossible to convert from test to deployment in any sane way.
I'm currently developing a replacement for a Vignette deployment at my current employer and every time I interact with the Vignette system, I'm reminded of why my employer now has a policy prohibiting any new Vignette projects.
If you must, use Vignette for prototyping, but ditch it long before you go live. OpenACS is substantially more stable and easier to develop against, there are support organizations you can hire if needed, and it's free (as in beer and as in freedom).
Regards,
Ross
The "something better" being advocated here is better only for the consumer.
At this point, better only for the consumer shouldn't be a stretch. Don't forget that the original argument for copyright is to maximize the value of the public domain. By encouraging authors to produce works that will later enter the public domain and benefit everyone, that is. From the current state of the laws, we could back all the way out to registered copyrights with one extension and your argument is still valid, but just as irrelevant.
The fundamental issue is that moral and legal are not the same thing and these laws are the perfect example of that observation. In general, law is a tool for society to express a consensus morality (simplistically, it's right for people to be compensated for their work). In copyright law, however, that good idea got hijacked by people with the funds to get the law to say "It's mine and you can't have it ever." Just about everyone interested enough to pay attention to the issue recognises the imbalance of the laws and the reaction is predictably rebellious. When a law doesn't represent consensus morality, we naturally become scofflaws.
So with an attitude even more brazen than most people have about ignoring speed limits, we as a society have decided that copying most works is not wrong, even though we are aware that it's illegal. With the laws so far beyond ridiculous, the right question is not to wonder why people are happily copying DVD's, but to wonder who thought that these laws could possibly reflect morality or influence behavior?
But then, a quick analysis quickly leads to the conclusion that the DMCA was not intended to reflect morality but to simply keep money in the hands of the moneyed. Which is a crying shame, since most of the benefit of capitalism comes when there are serious financial consequences for failing to provide competitive value to your customers. As Marx should have taught us, when the playing field can be changed to benefit those with capital, you don't have capitalism any more. It's mercantilism and it's our modern reality.
Regards,
Ross
I'm not a Marxist, but his criticisms of the system of his day were quite cogent. He was objecting to moneyed interests levering government influence to further their own interests at the expense of their employees, their customers, those who had to live near their stinking polluted plants, etc. He just happened to believe that all of that was part and parcel of capitalism when instead it's an unfortunately common corruption of capitalism.
Because 99% of the time you can ignore the DB.
:)
:)
I'd put that number closer to 20%. Personally, I've never developed an app where I could ignore the app after the "dog and pony" prototype had served it's purpose. Don't get me wrong, I know there's a place in the world for Perl, so I know there's a place in the world for small database-aware Java systems that don't deal with a lot of data and rarely if ever change the schema.
But I've never developed one of them. Every time I've needed a persisted store in one of my projects, I've had high concurrency demands, a need to scale to deployments as large as a branch of the US Military, or a Fortune 100 company, or... and there's never a simple query requirement. It's always some path following, weighted edge graph evaluation model that can be done in the object model if you've got big enough iron, or in a fairly small database if you've got the relational programming skills. And I don't notice anyone correcting my observation about schema evolution (though I was hoping that someone would and I would learn something new). If you haven't had to push a schema change down against a 100GB database with a backup that takes three days to finish restoration (in case you screwed up), you haven't lived.
What approach? JDO is the standard. The only other options are certain vendor's products.
Three comments:
1) The great thing about standards is that there are so many to choose from. (blatantly stolen, I know
2) JDO is a standard, not the standard. Besides all of the vendors aiming for defacto standard status, ODMG has had an ORM standard too. Been around for a few years, actually. The OJB project already fully implemented it in Java and OJB works pretty darned well.
3) JDO isn't a very mature standard. More of an experimental effort at this point. I see JDO as Sun's first pass at fixing JDBC's big problems. As an architect/developer who's been around the ORM block a few times, this first pass has some nice contributions to the ORM space (and don't think they haven't noticed), but got stuck in the OO-limited perspective.
The sooner Sun drops the "JDO let's you ignore the database and do the neat stuff!", the sooner they'll be on the right track to the right balance. JDBC was too far the other way, but I'm confident they'll get it right one of these days. After trying everything else
Regards,
Ross
That's what I figured would happen. But what I don't get is why being able to ignore the db is touted as one of the advantages of JDO. It's a serious problem in the spec which leaves you tied to the vendor-specific extensions.
By leaving the gap in the specification, they prevent someone who's using JDO from easily swapping vendors. At that point, I still say that the application interface is nice, but I'll take an approach that blew off the cruft the first time around and did it the right way from the start.
Regards,
Ross
The Space Shuttle proved that we cannot gain anything on the cost of unmanned rockets for satellites. The Apollo missions proved we have nothing to gain from colonizing and mining the moon.
It might help if either one of those projects was intended to establish that goal. Apollo was all about going to the moon. After getting there, we decided to take a look at doing some science and that worked out rather well. We never tried to extract commercial value from the moon, so it's a little premature to say that Apollo proved anything of the kind.
As for the shuttle, it's a prototype for a reusable space vehicle. A first-pass design if you will. It's done an amazing job at pointing out the shortcomings of it's design while acting as a rather expensive medium lift launch vehicle. The problem is that so much got invested into the shuttle that no money is left over to pursue further design and the US Government doesn't want competition in medium-heavy lift launch capabilities, so we have laws to prevent competitors from succeeding.
Now we've got the ISS, and the real problem here is that people high up in NASA really want an orbital construction shack as a permanent foothold in space, so the space station has been co-opted by that agenda to make it into the LEO launch point for future interplanetary manned missions. It's a nearly worthless scientific outpost, as any sensitive microgravity experiment needs isolation and minimal external forces. Except for right around the CG of the station, there are tidal forces large enough to upset most of the interesting microgravity experiments and with the amount of activity going on, the whole structure is vibrating like a bell being hit by a hundred hammers. Science is what it's not. Soaking up NASA's budget and forcing the government to be even more aggressive about stifling competition is the real impact of the ISS. Too bad nobody cares.
Which is also the reason why Zubrin's low cost, low risk manned Mars mission will never happen. It doesn't need a construction shack so it can't act as justification for continued development of the space station into a space-based assembly and launch platform. Which is a damned shame because Zubrin's return vehicle could be put up on a Russian Proton rocket as soon as it's fabricated and be waiting for the manned mission to arrive a few years later.
Actually, I'm all for an orbital construction shack, I just think it ought to be built from in-situ materials (lunar/asteroidal metals fabricated in space). But I'm one of those wierdos who sees dollar signs in off-planet resources...
Sorry for the off-topic rant. Back to your regularly scheduled open source discussion.
Regards,
Ross
Sorry to reply to my own post, but the super killer that JDO doesn't manage and falls flat on is the update problem.
Sometimes called "object evolution", "schema evolution", "schema upgrade", or a few other names, this is the problem you have when your objects (and therefore your schema) change from V1.0 to V1.1. Your customers will expect the upgrade to happen and the app to keep running, but a schema change will require that you do db manipulations to preserve their data across changing columns and tables.
JDO gives you no help in solving this problem, and because it "helped you out" by keeping you away from the schema in the first place, you're in a worse position than you would be if you had written both versions of the schema. At least then you'd be able to know exactly what you changed and why. With JDO, you get the exciting and error prone task of reverse engineering what JDO helped you out with and hoping that you don't misunderstand something that corrupts your customer's data.
Hiding the relational model doesn't help you at all and ends up biting you in the ass. As I mentioned in my previous posting, most vendors will quickly find that their customers need direct control over the database as well as the object model and "spec JDO" will only be used for toy and one-off applications.
Regards,
Ross
JDO is a massive step up from EJB entity beans, giving you inheritance, sophisticated state behavior, fairly low overhead (especially at the object layer) and several advantages besides.
But JDO's goal, of insulating you from the database, means that you can't get to the database even if you need to. In my opinion, this limits JDO apps to the same "toy" class of applications that entity EJB's are limited to.
For instance, the way JDO stores a polymorphic reference is to store the object id and the object type (as a text string with the fully qualified class name) as two separate columns in the referrer's table. That's horrible in several ways (including db bloat and the fact that you've lost most of the ability to report against the database), but because the JDO spec refuses to let you give it any hints, it has very few other options. This particular problem made JDO infeasable for the last app I worked on (a security manager that pulled in 30-50 million snort events per day). JDO would have doubled the database size, on a database that grew at 2-3GB/day!
Other solutions, like Hibernate or OJB give you the ability to ignore the database if you so wish (by providing schema generating tools) but also give you the option of writing a great object model, writing a performant database schema, and then describing the best possible mapping between them. And believe me, when it comes time to make your application scalable to hundreds of simultaneous users and hundreds of millions of rows, you'll appreciate the ability to design the database yourself.
JDO's real problem is that it pretends that there's no need for relational programming now that we've got object oriented programming and it's another restatement of the object-oriented database. Relational programming has several distinct advantages over OO programming in several problem areas, the most obvious being arbitrary search (which the OO model intentionally prevents with encapsulation). True object relational mapping tools don't make this mistake. They let the object model do what it's good at, the data model do what it's good at, and then help them talk to each other.
One thing that JDO did do a good job of was the application interface. The query is nice and the rest of the semantics are clean. And luckily for the rest of the world, there's no reason why an ORM tool can't provide a JDO interface but do the mapping more intelligently. In all actuality, this is what will happen to JDO very shortly (if it already hasn't). The vendors will provide systems that comply with the spec and then customers will demand that they have more control over the db and mapping and each vendor will extend their implementation in some nonstandard way to give them that power.
Regards,
Ross
You seem to be saying is that the language shouldn't provide the programmer with power that can be abused. I strongly disagree; bad programmers will abuse any language feature, and good programmers shouldn't have to do without features because of that.
No, I'm responding to the assertion that C++ is easier to write. It has additional language features that allow for more compact notation and in some cases more useful constructs. All of those features introduce additional complexities into developing a robust system.
I appreciate that there have been plenty of times when I would love to have operator overloading in Java (I was working on a Money class just last week), but I also remember having to unravel some code made nearly inscruitable by someone fresh out of school who thought it would be neat to add some semantics to a few operators because "they're smaller than typing out actual method names". That's a pathological case, but I hope the point is clear. The additional language complexity of C++ does result in more expressive power, but comes at a cost of requiring more expertise.
Writing portable C++ code is easy if you think about the need for portability in advance and abstract out platform-dependencies.
And you're the lucky one if those who originally wrote the code you have to port actually thought about those issues. Total cost of system development is dominated by maintenance costs and Java is much easier to maintain than C++.
I'm just thankful that I don't do maintenance any more and am largely responsible for top level architectural/design issues and development through about the third release cycle. But I still try to make life easier on those who have to come after me and Java makes that much easier to do.
Regards,
Ross
No it wont. The only places using Java are those god-awful "B2B" shops. I don't see banks running Java on their critical transaction processing systems.
Actually, it just so happens that more and more banks are redeploying their core business systems in Java. Those who haven't done it by now are the laggards who were about to be stuck with a rather expensive manned teller system in a world of largely online banking.
Any and all of the enterprise class frameworks are either built on Java or have Java interfaces (because many of the associated apps that they have to work with are in Java). I'm currently working on an enterprise class contract management system and more than half of the accounting systems we need to interface with expose an EJB interface. Any guesses as to why we'd use that over a SOAP or other simple network protocol? Yep. Transactional security.
Java is overwhelmingly the current choice of enterprise systems development. That could change in the future if Sun went away and wasn't replaced by someone equally credible. But for now, if you're developing an enterprise application and you're not doing it in Java, most customers will laugh you out of the sales call.
Regards,
Ross
Well, that's a few criticisms I've never heard before. I'll give you compact, and if you want it, a performance edge. But other than that, C++ is a much more difficult language to write real programs in. It requires approaching guru level (well beyond expert) to write a portable system in C++. Language feature interactions in C++ can put a bug into the most subtle of indiscretions.
- Operator overloading is ammunition for the inexperienced to do something that looks cool but is actually extraordinarily unwise.
- Const and const correct sound good until you inform the newbie of the mutable keyword and later find that you don't have const methods after all.
- Templates are similarly powerful/risky. Java will get them in 1.5, but the issues around their effective use are legion
- Using threads in C++ is akin to a black art. I used to literally start any discussion of C++ threads by drawing a pentagram on the whiteboard to remind everyone in the room that we were about to descend into the depths of the various C++ threading models.
- Dealing with other people's screwed up multiply inherited class structures was the only time in my life I've had migraine headaches
- How about syntax-dependent semantics for the static keyword?
- And though I tend to prefer the more explicit hpp/cpp interface/implementation separation, method inlining manages to ruin it right away (without any known benefit since the compiler will inline or not without your hint). Also, do I really need to type so much to get the hpp/cpp separation to work?
- You've still got the C-preprocessor. Have you ever seen how much damage someone can do to code readability with the C-preprocessor? It's worth it to move to Java just to avoid dealing with cpp.
- Portability. Java isn't really 100% portable either, so I'm not going to make that claim. But unless you're able to stick to gcc, porting a C++ app to another system is agonizingly difficult unless you're a guru on both systems. Even then, I'd probably get a whole chicken just to make sure.
Now I agree that Java has its warts and there are plenty of aspects about it that should get attention (jdbc, unicode handling, API conventions, faster elimination of deprecated elements, etc.) but it has some huge advantages as well. The first one, one which almost any other language could take and benefit from, is the deliverable packaging strategy. TheAnd here's the scary/exciting part: C# is awfully close to doing all of that. The only thing that C# doesn't really have is the huge library and the mindshare. The C# library will grow. Depending on how it grows (.net-only or portable), it may get the mindshare. Java has one or two chances left to fix itself before momentum starts building behind C# and the future will be a very interesting time. It looks fairly certain that we'll have C# (and Microsoft) to thank for speedier future changes in the Java language.
Regards, Ross
Well, they're rather different stories.
The Matrix is a straight up Campbellian hero myth including the departure, wisdom from the old woman, descent into the underworld, return from the underworld, trial, success, bring an important power/artifact back to whoever. Good stuff and usually fun for most audiences (since the Campbellian hero myth is really the story of any successful human life, once enough of the unpleasant details are buffed out).
Blade Runner is a altogether different story. It's a cautionary tale about technology outstripping ethics and some of the real risks when we limit ourselves by what is possible instead of what is right.
The central conflict is an examination of the definition of humanity from an alien perspective (the replicants). At what point does the artificial become natural? Where is the line in the sand where we say, "This is human. That is not." What if they look the same but can't be mature enough to safely coexist because they didn't have a childhood? What if they look the same and remember a childhood? This exploration is set in a tragic context where the replicants could exist, a society in decay, struggling with the aftermath of environmental collapse, presumably from a history of tech/ethical decisions gone wrong (almost no natural animals, remember).
Then there are some closely related questions even more relevant to our lives today: do things have to be human to have rights? Is the ability to feel pain and fear enough to acquire legal protection? The tragedy of mortality, "All those memories lost; like tears in rain." Tyrell, as the technology wielder (creator), must face the pleadings of his imperfect creation and then faces destruction for those imperfections. The obvious issue of slavery, an assertion that is only credible once it is accepted that the replicants are in fact, human. Which ought to be an sobering reminder of the rule that a slave was counted as 3/5 of a person for apportioning representatives just 200 years ago here in the US...
I can completely understand why many people don't like Blade Runner. The questions it raises are intentionally unsettling dilemmas. It's much easier to skim over the depth and see it as a slow moving cop flick with a flaky soundtrack. But if you should choose to look below the surface, there's a world of philosophical exploration going on.
In my personal opinion, Blade Runner is the best movie I've ever seen. Though Fight Club just recently (two years ago) entered the running as a really strong second place... And who cares what Harrison Ford thinks. He's an actor and a damned good one but IMO acting skills rarely translate into anything else of value. Let's be serious here: Are you really expecting the man dating Calista Flockhart to be a shining exemplar of good taste and philosophical insight?
Regards,
Ross
To start my reply, I own a Thinkpad A21p and I love it. But your assertion that Thinkpads are the end-all be-all needs a little more substantiating.
First of all, selection of pointing devices is highly subjective. I can easily use the trackpoint and appreciate that I don't have to remove my hands from the home keys to use it (among other things). Many of my coworkers cannot seem to get the hang of it and are adroit at using a touchpad. IBM would do better if they followed Toshiba and Dell's example and included both devices (with appropriate disabling options).
As for the screen, the resolution on powerbooks splits the difference on the thinkpad line. Thinkpads are available with both more and less resolution. My 18 month old Thinkpad has a perfect 1600x1200 display that I prefer over the 21" monitor also sitting on my office desk (I only use that to play with test machines). But it cost $3500 new and all of the newer models with the same screen still cost upwards of $3000. 1440x900 doesn't suck, and Apple (like IBM) has an excellent reputation for high quality screens (few/no bad pixels).
And as for the keyboard... IBM's keyboard rocks, but so does Apple's. Having used both for some time, the Apple is a bit shallower in stroke, but gives equally effective feedback and is just as rock solid and stable. Personal preference could easily sway someone to one or ther other, but to assert that there's some enormous quality or usability gap implies that you haven't used the Apple keyboard yet.
On the speed, it's true, they're slower. Far slower smacks of benchmark centrism. I don't hear too many Apple users complaining about performance problems, even in CPU-intensive tasks. If the UI lets you get your work done, it doesn't really matter if the CPU is actually faster or not.
Case in point, I prefer to use my Thinkpad with 850MHz Mobile P3 over the Dell desktop with 2.7GHz P4 that also sits on my desk. Most of that preference is because of the awesome LCD display of the laptop. When doing builds of the product I'm working on, the compile takes 18 seconds on my laptop and 6 on the desktop and it doesn't matter to me because the display is just so much better.
Regards,
Ross
Wow, it's pretty much strawman central at your place isn't it?
Only in a military dominated dictatorship does the minority make the rules. The United States is a Democratic Republic.
Actually, we're not. As you may or may not have learned in 9th grade civics, the US is a Constitutionally Limited Republic, precisely to prevent the majority from making rules that screw over an unpopular minority.
We have a process in which to 'listen to the damn people.' It's called elections.
In your little world, I'm sure that's how change always happens. However, that's only one way in which the populace can effect change. Remember little things like the Boston Tea Party? That involved disrupting the operations of a major shipping port. Perhaps another tiny little non-electon event called the American Revolution? At some point, the populace may wake up and find that their "representatives" are not. The votes in the houses of government already bought and paid for by corporate interests successfully buying legislation to keep money exactly where it is and out of your pockets.
When the choice presented at election time is between two individuals who have already sold their integrity to the highest bidder, other means of expressing dissatisfaction are needed.
That's different from shutting down a city or country until the government does what you want.
Your inability to get a super double latte caffiene injection at the Starbucks of your choice and having to go around three blocks does not constitute "shutting down a city". Hyperbole won't help your argument any more than the strawmen you've been erecting.
However, it [the minority] does not have the right to cause mass violence or economic hardship.
That's a couple of rather disparate items to be throwing into the same list. I mean, it's almost as if you're equating your personal inconvenience with violence. Do you know anything about the protests you're objecting to? The only time I've heard of there being violence is when some group of your "correct thinking" friends picks a fight with them. You'd do better to object to the cost of those lattes that you're unable to get from your favorite chain shop than the protestors preventing you from getting there.
The "American Way" that you so jingoistically claim to defend *is* the first amendment, where protest, including protests that block traffic and shut down freeways is very much a part of. At some point, my only remaining observation to a nimrod like yourself is that if you really want a police state where those annoying people complaining about things below your radar don't get to interfere with your day-to-day life, why don't you move to China where they've already got all of that?
Personally, I'd prefer the US moved the other way, i.e. get rid of Tom Ridge and his neo-police state Homeland Defense organization. Put more limitations on the police in reaction to new technologies instead of less. But there isn't anyone on the ballot who represents that view, is there? So I guess that exhausts all of my options according to you...
Regards,
Ross
Actually, if you were a scuba diver and used oxygen enriched breathing mixes (aka Nitrox), you'd know that the risk of a CNS OxTox hit (a central nervous system seizure due to oxygen toxicity) significantly separates from zero at a ppO2 between 1.6ata and 2.0ata... pretty far from 10.0ata.
Much of my scuba diving is limited by this number. I usually dive EAN32 (32%O2 68%N2) for my recreational diving, and at 128fsw (the local pressure equivalent to a column of salt water 128 feet tall with 1ata on the top), the ppO2 is 1.6ata. That's the MOD (Maximum Operating Depth). Don't go deeper than that. Even accidentally. So I limit my dives on EAN32 to 110feet to stay away from that invisible boundary where risk starts to accumulate.
You're right that whether you get hit is variable on pressure and time, it also depends on the individual's body, how fit they are, how rested they are, if they've done recent exertion and lots of other variables we don't understand. You can be tested (in a hyperbaric chamber) and make it to 4.0ata for an hour on one run and then a month later get a CNS hit on the way past 2.0 at the start of the run.
Also, a CNS hit isn't really harmful itself. When you're lying down in a hyperbaric chamber and you get hit, you go into a mild convulsion, lose conciousness, they drop the pressure, you wake up none the worse for wear. What hurts is when you need to be concious to keep doing something important (like keep the breathing regulator in your mouth on a scuba dive, or like continue to pilot the vehicle).
Finally, there is another kind of injury from elevated oxygen levels, where your lungs get burned from long exposures (long is hours and days, depending on how elevated the pressure is). This is why when you're in the hospital and need extra O2, they don't put you in an pure O2 environment and leave you there. The tissue in your lungs degrades and that injury can eventually be more serious than whatever you were on the supplemental O2 for. This is sometimes called Systemic OxTox, though it has a few names.
In either case, as others have mentioned, you're more likely to be burned by the LOX freezing your skin or the shrapnel from the bursting container than by breathing the extra O2. It also may not help the situation that the suddenly reduced temps in the cockpit cause all of the windows to frost up just as you're losing engine power...
Regards,
Ross