Isn't that part of what this hobbyist created simply by extracting the appropriate assembly from the XP driver and inserting it into the Vista driver? If someone can manage this in assembly, then for Creative to do it either didn't involve "considerable expense and manpower," or something is seriously wrong with their developers to be outdone by a hobbyist working without source code.
Not only can he, but he can do so in assembly by patching together bits of various existing drivers which he reverse engineered. This is a substantially more complicated and error-prone process from copying and pasting the appropriate source code, toggling the right defines, and compiling.
I feel pretty strongly that there must be a reason Creative hasn't released drivers in all this time - they are probably spending a ton of support time answering the Vista questions this will raise, especially since some of that hardware is labeled as Vista Ready. There's some licensing or patent issue under the hood here which they can't talk about because of ongoing legal issues. There's really no other reason to go hostile on a guy who is helping them for free (frankly they should be finding out if this guy wants a job or at least a part time contract), especially after they've let him do this for so long.
This is the case, but they are closed source since their source code is never distributed and is not open for distribution. Even internal projects at most companies would be off limits for external distribution since it's considered to be a competitive advantage, or may expose internal workings of the company which are considered proprietary.
While I obviously can't speak for every company, but I have not experienced this either as a job seeker or an interviewer, and I have an open source project on my resume. Neither have I heard anyone lament their open source work being an issue with getting hired.
I and the handful of companies I've worked for have valued open source project experience highly. It shows that the person takes initiatives. It shows that they is enthusiastic about technology, and enjoy it. It shows that they have experience working in a team environment. And it shows that they have real world relevant experience in an environment where they will have received feedback on the quality of what they produce (often a someone who's been a lone programmer for their entire career has a lot of really absurd ideas about how things should work which turn out to be difficult or impossible to maintain in a team environment).
Often wrong but never in doubt. I like this statement! It sums me up quite well too. Though I have learned to add artificial doubt to my statements, because people receive it better. For example when telling a coworker that he did an idiotic thing in his code and he should be ashamed for even writing such a monstrosity, I'll say, "Do you think it could work better as A, B, C? I'm concerned that this might be difficult to maintain or have undesirable performance characteristics otherwise." People receive that better for some reason.
I would say it's not necessary so much as inevitable. There are always going to be degrees of tastefulness in the words or subject of conversation, this is inevitable as humans categorize all things like this. Those at the bottom end of this gradient will be swear words, while those at the top won't be.
Other posters are right, the more a word is used, the less it becomes a swear word, a major component of why swear words are effective is their shock value. "Fuck" is becoming common vernacular in a lot of corporations, and as it does so, people find that the only way to express major frustration is to string a series of expletives together. There isn't a more potent general expletive available in English now. There are a few words considered worse, but they don't have the same ability to be inserted into any part of speech.
As it increases in vernacular use, it rises on the tastefulness scale (which is not to say most people find it tasteful, just not quite as distasteful as it once was).
I'm not familiar with what your options are with EC2, but with S3, my concern isn't, "How do I get away with illegal activity while getting someone else to house my data for me," so much as, "How do I protect my constitutional right to protection from unreasonable search and seizure." In the US of late, simply having a constitutionally guaranteed right doesn't really guarantee anything.
People have a right to privacy, and corporations have a right to protect trade secrets. Or maybe you're so naieve as to believe that government agents are incorruptible. The thing is we can't even tell if they are already corrupted and selling the information of other people, because the domestic spying program they've established, in addition to being illegal and unconstitutional, lacks any form of oversight or checks and balances. If they were selling your identity, if they were selling your medical records, if they were selling your company's trade secrets, there is no one who 1) would even know it, or 2) would be able to stop them even if they did.
The data you store on Amazon's web services could be given to the government via several channels already. They have that unfiltered backbone monitoring station, courtesy of AT&T, and maybe some other backbone providers. They also have National Security Letters which they could use to demand this information from Amazon itself, and Amazon wouldn't even be able to admit they'd received a letter at all, much less who it targeted.
Even independent of corruption (which I assume is a given since all humans are corruptible at the right price), there's always the chance that your personally identifiable information, trade secrets, or other private information ends up on a stolen laptop (which has happened numerous times in the last few years).
Even if it were not in direct contradiction with one of this country's founding principles, even if it were not horribly illegal and immoral, there's still plenty of reason to want to protect your own privacy which does not involve wanting to engage in illegal activity.
Many S3 tools, like Jungle Disk, support encryption before you upload the files. So what you're storing on Amazon's servers they couldn't give to the government even if they wanted to.
I have a hard time placing this in the enterprise for large business, but I can see how it would be valuable for medium and small business. S3 would let them serve large media files to lots of customers and pay per usage instead of buying a fat pipe, while also having a substantial amount of burst capacity should they have an event where lots of people seek out their goods.
From a personal level, I'm using it for two purposes. For one, I use Jungle Disk with S3, and have some specific utilities and files which I want synchronized access to from multiple locations. I update a file at a client site, and it's updated at home too. All this comes with the convenience and speed of editing as if it was a local file.
The second purpose is also through Jungle Disk. I'm a photography enthusiast, and I have a couple of dozen of gig worth of photos that I would be crushed to lose since there's nothing in the world which could replace them. Jungle disk has a backup feature, and I use it to back up my photos (and some other data) to Amazon's services. I'm incredibly nervous about the loss of this information. I keep it on my desktop, and rsync it nightly to my server in the closet. I also rsync it nightly to a NAS RAID 5 storage device, which itself backs up to an external USB hard drive. So I have 4 copies of this data in my house at all times. But none of that would protect it from a fire or sufficient power surge, and that's why I use S3 as my last line of defense. For a couple of bucks a month, I get another level of peace of mind.
Part of the joy of Oblivion is that it was disgustingly unbalanced, which made it fun to play because you kicked the butt of everything you encountered. An example of unbalance: play a stealth class, and hoard +chameleon gear. You'll be able to get 100% chameleon by level 12 or 15 even if you don't go online and look up the sources of chameleon gear. At this point, mobs no longer will attack you. Though it's also at this point that I stopped playing.
Oblivion had a number of great improvements over Morrowind (an actual quest log, and not just a journal where you had to go back 70 pages to find the location of some artifact from a set of 12 artifacts you were working on while your log filled up with droll chatter from meaningless other people). Of course it was much more beautiful. But the interface in general sucked (a consequence of being an interface designed for both a console and a PC), and in particular it was so much less free form than Morrowind. In Morrowind, you could kill anybody as long as you weren't caught doing it. You could steal almost anything, again, as long as you weren't caught (and as long as you didn't try to sell it back to the original owner). In Oblivion, somehow killing a guy in an abandoned part of town with nobody else around, the guards instantly knew it was you - unless you had a quest to kill him.
My thief in Morrowind stole himself a nice big house. Killed the owners, disposed of their bodies, and took up residence. I also took a liking to candles and skulls. I stole every candle and skull I could, and decorated my house (which was quite bright at the end). This was immensely rewarding from a roleplaying perspective, to give my character an oddity like this. I also started quite a collection of gems. I stole some fancy pillows on which to display them, and lined the pillows up in a nice circle around a sitting mat. Each pillow had a different kind of gem piled high on it.
You just couldn't do the same thing in Oblivion. You bought a house, then you bought decorator kits for it. Boom, a whole room is funished. Just didn't have the same level of reward.
I did really like Oblivion's vampire system. I ran as a vampire for quite a while, it works well with a stealth class. Except that you'd travel and arrive in a town on your horse in the middle of the freaking day, instantly dieing, but somehow you got there ok.
Also, I didn't like that in Oblivion, I saved the world. Everywhere I went, people hailed me as their savior, told me how they would boast of this moment to their children, then refused to do business with me because they didn't like me enough.
We still have an Apple IIgs from 1986 running some scientific software, and attached to various lab instruments. The source code is like 17,000 lines of single-letter variable names and prolific GOTO statements. They're working on rewriting the software to run on modern hardware (just so that they can get replacement parts if something fails), but it's a complicated enough affair that it's a non-trivial project.
I am not a forensic scientist, but I believe it's common practice to use saliva recovered from discarded coffee cups, cigarette butts, and the like to recover a DNA sample. I don't know how complete the DNA is (ie, could it be used by your health insurance company to deny you coverage for a genetic condition), but I'd imagine it depends on how old the saliva is, and how exposed it is to compromising factors like temperature or chemicals. I believe the source of the DNA is the soft cheek cells which are probably constantly being scraped off by your teeth. Some of these cells may still be living, so it might be possible to recover complete DNA.
From a medical perspective, spit analysis seems like a fantastic source of valuable medical information. From a privacy perspective, this scares the crap out of me. Collecting a spit sample is a lot less "intrusive" (I quote that because it feels less intrusive, though it's quite possibly just as intrusive in actuality) than contributing a blood sample. It's a simple enough process to collect that it could be collected without consent, or it could be commonplace to require such a collection for completely trivial matters. A person's genetic background may then open and close doors for that person completely independent of if those are valid. It's like Gattaca.
Rules governing legal reimbursement should be related to how much legal investment each side has made in the case, and whether that party continued action (either legal or material) after the point when it should have become obvious that they were in the wrong. This is aside from punitive damages should malicious action be identified on either party, which are scaled according to the legal fees of the party being punished.
So what I mean is for example, RIAA sics 20 lawyers on you, and you defend with 1 lawyer. If you lose, the RIAA may be entitled to reimbursement up to the dollar value you invested in your own lawyer and legal fees, should they be able to prove willful infringement past the point you were notified of your actions being in violation of their rights (independent of awards within the case). Should you win, you may be entitled to reimbursement up to the dollar value you invested in your lawyer and legal fees should the RIAA continue action past the point where it should or could reasonably have known you were not the offender.
If either party is found to have acted with malice (eg, the RIAA continues the case after it is clear you were not the offender, or you make it a point to share as many songs as you can as broadly as you can after receiving legal notice), additional punitive damages may be assessed.
Now you can also look at this with reversed roles. If a mom and pop shop sues Wal-Mart, at worst they would only be entitled to reimburse Wal-Mart for legal fees up to the dollar amount they invested in their own legal action (assuming Wal-Mart invests more), and likewise Wal-Mart may have to reimburse mom and pop for their legal fees as long as it did not exceed Wal-Mart's own. All again supposing the reimbursing party is the one who lost the case, and supposing that action continued after it could or should have reasonably been clear that that party was in the wrong. Punitive damages may also be assigned should malicious activity be identified by either party, so if it's Wal-Mart being punished, damages are scaled to Wal-Mart's legal investment, and if it's mom and pop being punished, damages are scaled to mom and pop's legal investment.
Rules like this would make all wealthy parties more reluctant to engage in brute force legal tactics against smaller parties, and much more interested in disengaging early if things are starting to go against them, or at the least throwing fewer resources at small problems. As was pointed out earlier, legal fees are a budget item for most big companies, and if they're running slow right now, those lawyers sure as heck are going to find someone to sue lest someone in finance/human resources reconsiders the number of lawyers on staff.
That's true, partitioning has been hairy for Linux from the start. But here's an interesting perspective, Linux is the only operating system which makes room for itself in the presence of other OS's. Windows couldn't care less about other OS's, if you have free space, it'll install there and zap any other boot loaders so that it's the only thing that boots. OSX at least now offers Boot Camp so that you can install different OS's, but this is OSX making room with its own partitions, it won't let you try to fiddle with the partitions of other OS's.
So that puts Linux in the position where it tries / needs to do so much more work than any other OS to support a feature (which has zero support in Windows, and support in OSX only if OSX is installed first and is the primary OS), because it's the only one that really wants to play nice.
I'm a big Ubuntu fan. In fact, I'm posting from it now.
I'll tell you what two things it needs to beat Microsoft in the mainstream game. 1) ubiquitous hardware driver support, and 2) seamless game support. A third one would be ubiquitous software support in general.
Neither of these are trivial tasks, both require investment from third parties who first have to be convinced to spend their time working on Linux alternatives for stuff they've already produced for Windows. I would say the Linux development community has gone substantially farther than any other community in terms of trying to make up the gap.
In the mean time, there are some killer OSX applications, and some killer Windows applications. There are some killer OSX/Windows applications, but there are very few killer Linux-only applications. Now that's part of the beauty of open source, you're not locked in, people will port your apps to other OS's. However, it's also a weakness in terms of driving desktop adoption. There is very little to compel you to use Linux over another OS since very nearly everything you want to do in Linux someone has ported to the other OS anyway.
Projects like Amarok and Compiz have gone a long way toward driving Linux adoption, because today they're only easily available on Linux; Amarok is (IMO) the best music player on the planet, and Compiz makes people squeal with delight in a way neither OSX's dock and window warping, nor Vista's designed-by-committee graphics can do. Amarok will be available easily on Windows and OSX soon with the work being done in the KDE4 camp, but at least I doubt Compiz or equivalent will make its way to those OS's any time soon. The sad thing is that Compiz is eye candy by nature, and eye candy is not typically going to be the deciding factor for most folks.
Cost is a major benefit of Linux that Windows nor OSX will be able to completely compete against, but in this world of bundled OS's, people don't actually feel the cost of their operating system anyway, and even so, you still almost always end up having to buy a computer with an OS preloaded, then throw it away. If people are going to pay for something, they're going to USE it! Not using the copy of XP or Vista which came bundled on your system feels like you're not getting your value out of what you bought there. I don't claim it's rational, but I do claim it's actual.
I use Linux because I like to tinker, and I use it because I like being able to access nfs, smb, sftp, ssh, etc filesystems right in Nautilus or Konqueror (I go back and forth between Gnome and KDE every few months, but almost always end up carrying apps from one side to the other). I like the freedom to be able to decide to use a different desktop environment, but also still have all of my software available to me. Most people don't want that kind of experimental freedom. They want to learn how their computer works just enough to accomplish the things they want to do with it, and they don't want to ever have to learn something new.
The things which actively attract the most dedicated Linux users aren't going to be attractions for every day users, and sadly there's nothing specific to make it an ideal platform for any specific groups other than those with the hacker spirit; every such application gets ported to other OS's.
A public key infrastructure assumes the pacemaker can communicate with a certificate authority to validate the signature of the cert offered to the pacemaker by the hospital, which it can't.
As I said in my followup to your parent, we're looking at best at a single public/private keypair which is pre-programmed into the pacemaker (or a handful of them, but where it only takes one to get compromised). Half of this key exists in the pacemaker, half of it exists in the configuration devices used by the hospital. The half in the pacemaker is the private half, because it is the least readily accessible (it's the pacemaker determining whether it permits the communications, so it gets the "private" half, though we're really talking about two pseudo-public halves, and again as I said in my other post, public and private are just labels we assign to different members of a key pair). The half in the hospital's machine is the public half, it is the half which random humans have the most access to (though it's the half with the most damaging consequences if it's compromised, so in that sense it's private - you see, these labels do not fit well in this case since we're really talking about wide distribution of two halves of a keypair, a model which is atypical for asymmetric cryptography).
And even still, cryptography is not the answer, at least not as these devices are built today, they don't have anywhere near the computing power necessary to participate in cryptographic exchanges which would be strong enough to withstand brute force attacks by modern computers. Giving them that kind of computing power would seriously hurt their battery life.
Also as you mentioned, you still have to deal with certificate revocation. If there is a compromise, it's not good to be having to rip people's chests open to fix it, and you don't want it to be such that you can update its key remotely (like flashing firmware), or that compromise might lead to keys getting changed by unauthorized parties.
Finally you have to deal with many manufacturers, each with their own keys, and potentially unconscious patients needing emergency adjustments, and not being able to tell the doctor which make and model they have to get that adjustment; there'd have to be a separate machine for each manufacturer so they could put the hospital's key in firmware to protect it best (or else exchangeable cards with firmware coded on it). Yeah, you could mitigate that by further increasing complexity of the devices, and by this point people need a new battery every year.
Plus who is responsible for maintaining devices for a manufacturer who has gone out of business? They can't just release their keys to the world, is there some new governing body which assumes ownership of such keys? Do we create new laws that require companies to provide a copy of every such key, along with source code to the new agency?
Or maybe we should just realize that you have to be in close proximity to someone to control their pacemaker (my grandfather's requires a device pressed into his armpit), and that doing things which jeopardize someone's health in such a substantial way as modifying an implanted pacemaker already qualifies as reckless endangerment or attempted murder. We don't require cryptographic exchanges to reveal the sharp end of a knife, and it's even more deadly since pressing it into someone's armpit with the same force as is required to control my grandfather's pacemaker will jeopardize anyone's life, not just those with a metronome in their chest.
What ever end of the key you give to the hospital is the private key. It's the key in most limited distribution, making it the private key. Whatever that key is, whether it's the "public" half of the pair, or the "private" one, it's the one which is required to make changes to the pacemaker. Doesn't matter what you call it, if it is revealed, it is all that's necessary to make changes to the pacemaker, and my point stands.
In public/private key cryptography, there is nothing particularly special about the public vs private key except that we designate them that way, and freely hand out one, while we protect the other. Sure, if one consists of stronger factors than the other, it makes a better private key, but it doesn't *have* to be the private key.
And once the private key is cracked or exposed, do you operate on everyone with that model pacemaker?
The thing is that this private key needs to be sent to every hospital and doctor's office which wants to make adjustments to the pacemaker. They'll have it, whether it's embedded in a chip or written in a config file. You have to make this information public in some sense, the very best you could hope to do is use some kind of DRM to protect the key from exposure, but as we all know, such exercises are fated to failure.
And what happens when a pacemaker manufacturer discontinues a line and stops manufacturing the equipment to tune certain kinds of pacemakers (such as would be expected to happen should a key be discovered), do these patients just have to hope that the equipment used for tuning their pacemaker outlives them?
Also, will doctors and hospitals have to buy dozens of different pacemaker adjustment machines, one of every type, even those they don't install themselves so that they can treat patients who move into the area? What happens when the patient needs emergency adjustment of his pacemaker but doesn't remember the model he has (or isn't conscious)?
Finally, these devices don't exactly have little general purpose CPU's in them. One of their biggest concerns is decent battery life. If we put something in there as computationally intensive as strong private/public key cryptography, you're going to significantly hurt the battery life of these devices.
This problem is not as simple as it seems on the surface. It turns out that human life is fragile, and there are many ways in which you can kill someone, some of them even require little effort to kill many people. Hacking this device in a way that endangers other humans would not even need new laws to be punishable since we fortunately already have laws which surround murder, reckless endangerment, and other such things which actually or reasonably could result in the death or injury of other humans.
There are several problems which will keep parallel programming out of the hands of every-day joe schmoe programmers. Probably the most significant of which is an inability to consistently predict issues. What I mean is things like race conditions. Some block of code which could execute correctly 999 times out of 1000. But when you have hundreds or thousands of those, you have a really unstable and unpredictable application with very little ability to figure out exactly where it's going wrong.
This is a side-effect of programming in languages which were designed with serial programming in mind. Procedural languages are a square peg to parallel programming's round hole. With the correct combination of care and force, you can fit it, but you always have a chance that someone checks in a new block of code which is not properly parallel-safe, even in an unrelated subsystem, and it causes your code to error (even though you wrote your code perfectly).
Also, optimizing compilers often change the order of operations when they believe they can make something run faster. This works great in serial programming, but in parallel programming it means that for example, the flag variable you set to indicate a subsystem is ready for use may get set before you intended it to.
A real-world example of this is the common semaphore optimizing technique of test/lock/test. Test if some work needs to be done. Acquire a lock to be sure you're the only one doing this work. Test again to make sure someone else didn't beat you to the lock and do it before their lock was released and given to you. It works great because it saves the overhead of constantly acquiring that semaphore when the work inside it might need doing rarely, or maybe even only once. It's common to see this pattern in lazy instantiation. The problem is that certain optimizers, including the Java one, may rearrange this to Test/Test/Lock (which may end up in the work being done more than once), or Lock/Test/Test (which of course leads to acquiring a semaphore repeatedly).
These are only symptoms of the problem of course. The solution, I believe, will be new programming languages which are functional in nature (C, Java, and most modern languages are procedural, not functional). Functional languages have a lot less state which can be interfered with by other processes accessing the same data. You don't get to set X, then update its value later. X is set and has a known fixed value within this scope, or it is not set and does not have a known fixed value. Functional languages are innately parallizable.
Functional languages include APL, Erlang, Haskell, Lisp, ML, F# and Scheme, and actually XSLT. They're used in parallel programming some today, but I won't be at all surprised if we see a new language come out of academia in the near future which is designed specifically for parallel programming.
I'd recommend you start your project with one of Wikipedia's database dumps, then go through and start undeleting articles. Your homepage can even consist of links to good articles deleted from Wikipedia which were recreated in Includipedia. You can watch Wikipedia's AFD boards and contact the users defending their articles, suggesting that they recreate them on Includipedia and link to Includipedia in the footnotes of relevant articles from Wikipedia.
If you play it right, you might possibly even give Wikipedia deletionists something to recommend to those people disillusioned with their favorite articles getting deleted.
Oh, that's possible. In fact, probably everyone's water (including bottled water) contains some trace amounts of tritiated water. However for there to be enough tritium in the water to be of any real concern would be phenomenal. The global inventory of naturally occurring tritium is 7.3 kilograms. That's not much on a global scale (a billionth of a billionth of a percent of water molecules have it).
Even in "mass" production, the United States has only produced 225 kg of tritium, of which 150 kg has decayed into helium 3 leaving about 75 kg remaining.
So you're right, since tritium is self radiolytic, tritium oxide would count as radioactive water. But even then it has a half life of 12 years, meaning each molecule is emitting beta radiation on average once every 12 years (before it turns into deuterium which is not radiolytic). Even in concentrated form it would not be much to worry about, and in fact it's used to determine the water mass in living creatures (it dissipates quickly into the body, and a urine sample is taken to measure the concentration of tritium oxide to determine total water mass).
And you can "infect" water with tritium by exposing lithium-6 to heavy radiation in specialized reactors (lithium-7 quickly splits into 2 helium-4's and 1 hydrogen-3 [tritium]). But again, this is not a realistic concern, if there's enough ambient radiation to do this, he'd be dead already, and if there's enough lithium in his water to do this, again, he'd be dead.
So unless his tap is connected to a reactor designed for producing tritium, you're probably right, it's most likely radon, and if it's municipal water, then they're not doing their jobs, and if it's well water, then yeah, bottled is the way to go =). Of course you can drastically cut down on the waste produced by most bottled water by getting it shipped to you in reusable 5 gallon jugs. We did that when I was a kid because my parents did not believe our water was safe to drink (it came from a spring house, not even a well, on the downhill side of a large series of corn fields; they were concerned about pesticides from the fields washing into our spring house).
Water can't be radioactive. It can contain radioactive impurities. They can be filtered out or separated through distillation.
Radioactivity is not some magical property which infects other non-radioactive matter and turns it dangerous. It's like saying that putting metal in water would make the water metallic. Sure, it might contain metal atoms, but again, they can be removed somehow.
Now that's not saying your tap water doesn't contain radioactive material, but if it is, then it's either not municipal tap water (ie, you have a well or spring house), or your municipality isn't doing its job making the water safe.
I went to a Microsoft-hosted Silverlight introductory seminar a couple of months back, and I've used Flex periodically since the Flex 1.5 days (back when its IDE was still in the husk of Dreamweaver).
I can say that based on the examples Microsoft gave us of its own product, and based on my functional (but nowhere near expert) experience with Flex, that Flex is by far the more elegant solution.
In 500 lines of code, Silverlight had a nice photo slide show with automatic fading transitions and image captions which reads entries from a CSV file.
In 500 lines of code, Flex had a nice photo slide show with fading transitions, image captions, zoomable images, thumbnail mode, carousel mode, user-controllable navigation, and it could read entries from a CSV, WSDL, SOAP, or REST based web service.
In the mean time, the flagship demo application for Silverlight, when I last looked a few months ago, was the same exact crappy flagship demo application that it was well over a year ago, that plane trip planner application with that amazomging animated plane! I can't tell you how underwhelmed I was when they spent a full 20 minutes at the seminar showing off this app that I'd grown bored with on their website last year after playing with it for 5 minutes and realizing that yes, I really had discovered all of its features in the first 60 seconds.
You can do anything you want in Silverlight, but it will take you at least twice as long, the controls will be half as customizable, and support at least half the features. Also it'll be supported on 1/50th of the computers which your Flex app is, while your Flex app will, with one piece of code, be able to be run on cell phones and other embedded devices, web browsers, runtime off of CD's or thumb drives, and as stand-alone self-updating desktop applications via Air, on Windows, Mac OSX, and Linux.
Also your Flex app will require a runtime install for the user of around 1.5 meg, which the user is automatically prompted for in-browser, plus a page refresh (though most users have had it installed already for years). Meanwhile the Silverlight one will require a runtime of something like 5 meg as a separate stand-alone installer plus a browser restart, unless you don't already have the right version of the.NET runtime, in which case it's another several dozen megs plus a 10+ minute install on older hardware, plus an OS reboot.
Silverlight is Microsoft's "oh crap" response to realizing that Flex is both poised to make operating system choice a matter of preference rather than of necessity, and also is being backed by a company with the financial cahones to stand up to Redmond. It is the single most significant threat to the desktop monopoly Microsoft has ever faced, and they're trying hard to put spit and polish on Silverlight to make it look like it doesn't suck. Their pants were down, and they are trying hard to pull them back up before anyone notices.
Developers with more resources available will use more resources. There's no incentive to write a clever but obtuse way of handling your data that uses half as much memory and processes twice as fast if it handles fast enough and in small enough memory for the current market.
Developers of desktop applications no longer consider and test which sorting algorithm is most efficient for their sort of data, they now just use whatever one comes with the language they're using. Many of them don't even know how it works internally, they don't care, and they don't have to.
The incentive for efficiency is scarcity, and as computers advance the elements which are classically scarce stop being so.
Note, after you fill out the form, you have to print out the PDF they give you, sign it, and fax it to the appropriate county voter registration office. The form is pre-populated with your values, and includes a barcode to help them process it faster.
Again, your registration has to be processed by March 24, so do not delay, fill out, print, and sign it today so that you don't get caught in a backlog and miss your chance to shape the future of our country!!
Isn't that part of what this hobbyist created simply by extracting the appropriate assembly from the XP driver and inserting it into the Vista driver? If someone can manage this in assembly, then for Creative to do it either didn't involve "considerable expense and manpower," or something is seriously wrong with their developers to be outdone by a hobbyist working without source code.
Not only can he, but he can do so in assembly by patching together bits of various existing drivers which he reverse engineered. This is a substantially more complicated and error-prone process from copying and pasting the appropriate source code, toggling the right defines, and compiling.
I feel pretty strongly that there must be a reason Creative hasn't released drivers in all this time - they are probably spending a ton of support time answering the Vista questions this will raise, especially since some of that hardware is labeled as Vista Ready. There's some licensing or patent issue under the hood here which they can't talk about because of ongoing legal issues. There's really no other reason to go hostile on a guy who is helping them for free (frankly they should be finding out if this guy wants a job or at least a part time contract), especially after they've let him do this for so long.
This is the case, but they are closed source since their source code is never distributed and is not open for distribution. Even internal projects at most companies would be off limits for external distribution since it's considered to be a competitive advantage, or may expose internal workings of the company which are considered proprietary.
While I obviously can't speak for every company, but I have not experienced this either as a job seeker or an interviewer, and I have an open source project on my resume. Neither have I heard anyone lament their open source work being an issue with getting hired.
I and the handful of companies I've worked for have valued open source project experience highly. It shows that the person takes initiatives. It shows that they is enthusiastic about technology, and enjoy it. It shows that they have experience working in a team environment. And it shows that they have real world relevant experience in an environment where they will have received feedback on the quality of what they produce (often a someone who's been a lone programmer for their entire career has a lot of really absurd ideas about how things should work which turn out to be difficult or impossible to maintain in a team environment).
Often wrong but never in doubt.
I like this statement! It sums me up quite well too. Though I have learned to add artificial doubt to my statements, because people receive it better. For example when telling a coworker that he did an idiotic thing in his code and he should be ashamed for even writing such a monstrosity, I'll say, "Do you think it could work better as A, B, C? I'm concerned that this might be difficult to maintain or have undesirable performance characteristics otherwise." People receive that better for some reason.
I would say it's not necessary so much as inevitable. There are always going to be degrees of tastefulness in the words or subject of conversation, this is inevitable as humans categorize all things like this. Those at the bottom end of this gradient will be swear words, while those at the top won't be.
Other posters are right, the more a word is used, the less it becomes a swear word, a major component of why swear words are effective is their shock value. "Fuck" is becoming common vernacular in a lot of corporations, and as it does so, people find that the only way to express major frustration is to string a series of expletives together. There isn't a more potent general expletive available in English now. There are a few words considered worse, but they don't have the same ability to be inserted into any part of speech.
As it increases in vernacular use, it rises on the tastefulness scale (which is not to say most people find it tasteful, just not quite as distasteful as it once was).
I'm not familiar with what your options are with EC2, but with S3, my concern isn't, "How do I get away with illegal activity while getting someone else to house my data for me," so much as, "How do I protect my constitutional right to protection from unreasonable search and seizure." In the US of late, simply having a constitutionally guaranteed right doesn't really guarantee anything.
People have a right to privacy, and corporations have a right to protect trade secrets. Or maybe you're so naieve as to believe that government agents are incorruptible. The thing is we can't even tell if they are already corrupted and selling the information of other people, because the domestic spying program they've established, in addition to being illegal and unconstitutional, lacks any form of oversight or checks and balances. If they were selling your identity, if they were selling your medical records, if they were selling your company's trade secrets, there is no one who 1) would even know it, or 2) would be able to stop them even if they did.
The data you store on Amazon's web services could be given to the government via several channels already. They have that unfiltered backbone monitoring station, courtesy of AT&T, and maybe some other backbone providers. They also have National Security Letters which they could use to demand this information from Amazon itself, and Amazon wouldn't even be able to admit they'd received a letter at all, much less who it targeted.
Even independent of corruption (which I assume is a given since all humans are corruptible at the right price), there's always the chance that your personally identifiable information, trade secrets, or other private information ends up on a stolen laptop (which has happened numerous times in the last few years).
Even if it were not in direct contradiction with one of this country's founding principles, even if it were not horribly illegal and immoral, there's still plenty of reason to want to protect your own privacy which does not involve wanting to engage in illegal activity.
Many S3 tools, like Jungle Disk, support encryption before you upload the files. So what you're storing on Amazon's servers they couldn't give to the government even if they wanted to.
I have a hard time placing this in the enterprise for large business, but I can see how it would be valuable for medium and small business. S3 would let them serve large media files to lots of customers and pay per usage instead of buying a fat pipe, while also having a substantial amount of burst capacity should they have an event where lots of people seek out their goods.
From a personal level, I'm using it for two purposes. For one, I use Jungle Disk with S3, and have some specific utilities and files which I want synchronized access to from multiple locations. I update a file at a client site, and it's updated at home too. All this comes with the convenience and speed of editing as if it was a local file.
The second purpose is also through Jungle Disk. I'm a photography enthusiast, and I have a couple of dozen of gig worth of photos that I would be crushed to lose since there's nothing in the world which could replace them. Jungle disk has a backup feature, and I use it to back up my photos (and some other data) to Amazon's services. I'm incredibly nervous about the loss of this information. I keep it on my desktop, and rsync it nightly to my server in the closet. I also rsync it nightly to a NAS RAID 5 storage device, which itself backs up to an external USB hard drive. So I have 4 copies of this data in my house at all times. But none of that would protect it from a fire or sufficient power surge, and that's why I use S3 as my last line of defense. For a couple of bucks a month, I get another level of peace of mind.
Part of the joy of Oblivion is that it was disgustingly unbalanced, which made it fun to play because you kicked the butt of everything you encountered. An example of unbalance: play a stealth class, and hoard +chameleon gear. You'll be able to get 100% chameleon by level 12 or 15 even if you don't go online and look up the sources of chameleon gear. At this point, mobs no longer will attack you. Though it's also at this point that I stopped playing.
Oblivion had a number of great improvements over Morrowind (an actual quest log, and not just a journal where you had to go back 70 pages to find the location of some artifact from a set of 12 artifacts you were working on while your log filled up with droll chatter from meaningless other people). Of course it was much more beautiful. But the interface in general sucked (a consequence of being an interface designed for both a console and a PC), and in particular it was so much less free form than Morrowind. In Morrowind, you could kill anybody as long as you weren't caught doing it. You could steal almost anything, again, as long as you weren't caught (and as long as you didn't try to sell it back to the original owner). In Oblivion, somehow killing a guy in an abandoned part of town with nobody else around, the guards instantly knew it was you - unless you had a quest to kill him.
My thief in Morrowind stole himself a nice big house. Killed the owners, disposed of their bodies, and took up residence. I also took a liking to candles and skulls. I stole every candle and skull I could, and decorated my house (which was quite bright at the end). This was immensely rewarding from a roleplaying perspective, to give my character an oddity like this. I also started quite a collection of gems. I stole some fancy pillows on which to display them, and lined the pillows up in a nice circle around a sitting mat. Each pillow had a different kind of gem piled high on it.
You just couldn't do the same thing in Oblivion. You bought a house, then you bought decorator kits for it. Boom, a whole room is funished. Just didn't have the same level of reward.
I did really like Oblivion's vampire system. I ran as a vampire for quite a while, it works well with a stealth class. Except that you'd travel and arrive in a town on your horse in the middle of the freaking day, instantly dieing, but somehow you got there ok.
Also, I didn't like that in Oblivion, I saved the world. Everywhere I went, people hailed me as their savior, told me how they would boast of this moment to their children, then refused to do business with me because they didn't like me enough.
We still have an Apple IIgs from 1986 running some scientific software, and attached to various lab instruments. The source code is like 17,000 lines of single-letter variable names and prolific GOTO statements. They're working on rewriting the software to run on modern hardware (just so that they can get replacement parts if something fails), but it's a complicated enough affair that it's a non-trivial project.
I am not a forensic scientist, but I believe it's common practice to use saliva recovered from discarded coffee cups, cigarette butts, and the like to recover a DNA sample. I don't know how complete the DNA is (ie, could it be used by your health insurance company to deny you coverage for a genetic condition), but I'd imagine it depends on how old the saliva is, and how exposed it is to compromising factors like temperature or chemicals. I believe the source of the DNA is the soft cheek cells which are probably constantly being scraped off by your teeth. Some of these cells may still be living, so it might be possible to recover complete DNA.
From a medical perspective, spit analysis seems like a fantastic source of valuable medical information. From a privacy perspective, this scares the crap out of me. Collecting a spit sample is a lot less "intrusive" (I quote that because it feels less intrusive, though it's quite possibly just as intrusive in actuality) than contributing a blood sample. It's a simple enough process to collect that it could be collected without consent, or it could be commonplace to require such a collection for completely trivial matters. A person's genetic background may then open and close doors for that person completely independent of if those are valid. It's like Gattaca.
Rules governing legal reimbursement should be related to how much legal investment each side has made in the case, and whether that party continued action (either legal or material) after the point when it should have become obvious that they were in the wrong. This is aside from punitive damages should malicious action be identified on either party, which are scaled according to the legal fees of the party being punished.
So what I mean is for example, RIAA sics 20 lawyers on you, and you defend with 1 lawyer. If you lose, the RIAA may be entitled to reimbursement up to the dollar value you invested in your own lawyer and legal fees, should they be able to prove willful infringement past the point you were notified of your actions being in violation of their rights (independent of awards within the case). Should you win, you may be entitled to reimbursement up to the dollar value you invested in your lawyer and legal fees should the RIAA continue action past the point where it should or could reasonably have known you were not the offender.
If either party is found to have acted with malice (eg, the RIAA continues the case after it is clear you were not the offender, or you make it a point to share as many songs as you can as broadly as you can after receiving legal notice), additional punitive damages may be assessed.
Now you can also look at this with reversed roles. If a mom and pop shop sues Wal-Mart, at worst they would only be entitled to reimburse Wal-Mart for legal fees up to the dollar amount they invested in their own legal action (assuming Wal-Mart invests more), and likewise Wal-Mart may have to reimburse mom and pop for their legal fees as long as it did not exceed Wal-Mart's own. All again supposing the reimbursing party is the one who lost the case, and supposing that action continued after it could or should have reasonably been clear that that party was in the wrong. Punitive damages may also be assigned should malicious activity be identified by either party, so if it's Wal-Mart being punished, damages are scaled to Wal-Mart's legal investment, and if it's mom and pop being punished, damages are scaled to mom and pop's legal investment.
Rules like this would make all wealthy parties more reluctant to engage in brute force legal tactics against smaller parties, and much more interested in disengaging early if things are starting to go against them, or at the least throwing fewer resources at small problems. As was pointed out earlier, legal fees are a budget item for most big companies, and if they're running slow right now, those lawyers sure as heck are going to find someone to sue lest someone in finance/human resources reconsiders the number of lawyers on staff.
That's true, partitioning has been hairy for Linux from the start. But here's an interesting perspective, Linux is the only operating system which makes room for itself in the presence of other OS's. Windows couldn't care less about other OS's, if you have free space, it'll install there and zap any other boot loaders so that it's the only thing that boots. OSX at least now offers Boot Camp so that you can install different OS's, but this is OSX making room with its own partitions, it won't let you try to fiddle with the partitions of other OS's.
So that puts Linux in the position where it tries / needs to do so much more work than any other OS to support a feature (which has zero support in Windows, and support in OSX only if OSX is installed first and is the primary OS), because it's the only one that really wants to play nice.
I'm a big Ubuntu fan. In fact, I'm posting from it now.
I'll tell you what two things it needs to beat Microsoft in the mainstream game. 1) ubiquitous hardware driver support, and 2) seamless game support. A third one would be ubiquitous software support in general.
Neither of these are trivial tasks, both require investment from third parties who first have to be convinced to spend their time working on Linux alternatives for stuff they've already produced for Windows. I would say the Linux development community has gone substantially farther than any other community in terms of trying to make up the gap.
In the mean time, there are some killer OSX applications, and some killer Windows applications. There are some killer OSX/Windows applications, but there are very few killer Linux-only applications. Now that's part of the beauty of open source, you're not locked in, people will port your apps to other OS's. However, it's also a weakness in terms of driving desktop adoption. There is very little to compel you to use Linux over another OS since very nearly everything you want to do in Linux someone has ported to the other OS anyway.
Projects like Amarok and Compiz have gone a long way toward driving Linux adoption, because today they're only easily available on Linux; Amarok is (IMO) the best music player on the planet, and Compiz makes people squeal with delight in a way neither OSX's dock and window warping, nor Vista's designed-by-committee graphics can do. Amarok will be available easily on Windows and OSX soon with the work being done in the KDE4 camp, but at least I doubt Compiz or equivalent will make its way to those OS's any time soon. The sad thing is that Compiz is eye candy by nature, and eye candy is not typically going to be the deciding factor for most folks.
Cost is a major benefit of Linux that Windows nor OSX will be able to completely compete against, but in this world of bundled OS's, people don't actually feel the cost of their operating system anyway, and even so, you still almost always end up having to buy a computer with an OS preloaded, then throw it away. If people are going to pay for something, they're going to USE it! Not using the copy of XP or Vista which came bundled on your system feels like you're not getting your value out of what you bought there. I don't claim it's rational, but I do claim it's actual.
I use Linux because I like to tinker, and I use it because I like being able to access nfs, smb, sftp, ssh, etc filesystems right in Nautilus or Konqueror (I go back and forth between Gnome and KDE every few months, but almost always end up carrying apps from one side to the other). I like the freedom to be able to decide to use a different desktop environment, but also still have all of my software available to me. Most people don't want that kind of experimental freedom. They want to learn how their computer works just enough to accomplish the things they want to do with it, and they don't want to ever have to learn something new.
The things which actively attract the most dedicated Linux users aren't going to be attractions for every day users, and sadly there's nothing specific to make it an ideal platform for any specific groups other than those with the hacker spirit; every such application gets ported to other OS's.
A public key infrastructure assumes the pacemaker can communicate with a certificate authority to validate the signature of the cert offered to the pacemaker by the hospital, which it can't.
As I said in my followup to your parent, we're looking at best at a single public/private keypair which is pre-programmed into the pacemaker (or a handful of them, but where it only takes one to get compromised). Half of this key exists in the pacemaker, half of it exists in the configuration devices used by the hospital. The half in the pacemaker is the private half, because it is the least readily accessible (it's the pacemaker determining whether it permits the communications, so it gets the "private" half, though we're really talking about two pseudo-public halves, and again as I said in my other post, public and private are just labels we assign to different members of a key pair). The half in the hospital's machine is the public half, it is the half which random humans have the most access to (though it's the half with the most damaging consequences if it's compromised, so in that sense it's private - you see, these labels do not fit well in this case since we're really talking about wide distribution of two halves of a keypair, a model which is atypical for asymmetric cryptography).
And even still, cryptography is not the answer, at least not as these devices are built today, they don't have anywhere near the computing power necessary to participate in cryptographic exchanges which would be strong enough to withstand brute force attacks by modern computers. Giving them that kind of computing power would seriously hurt their battery life.
Also as you mentioned, you still have to deal with certificate revocation. If there is a compromise, it's not good to be having to rip people's chests open to fix it, and you don't want it to be such that you can update its key remotely (like flashing firmware), or that compromise might lead to keys getting changed by unauthorized parties.
Finally you have to deal with many manufacturers, each with their own keys, and potentially unconscious patients needing emergency adjustments, and not being able to tell the doctor which make and model they have to get that adjustment; there'd have to be a separate machine for each manufacturer so they could put the hospital's key in firmware to protect it best (or else exchangeable cards with firmware coded on it). Yeah, you could mitigate that by further increasing complexity of the devices, and by this point people need a new battery every year.
Plus who is responsible for maintaining devices for a manufacturer who has gone out of business? They can't just release their keys to the world, is there some new governing body which assumes ownership of such keys? Do we create new laws that require companies to provide a copy of every such key, along with source code to the new agency?
Or maybe we should just realize that you have to be in close proximity to someone to control their pacemaker (my grandfather's requires a device pressed into his armpit), and that doing things which jeopardize someone's health in such a substantial way as modifying an implanted pacemaker already qualifies as reckless endangerment or attempted murder. We don't require cryptographic exchanges to reveal the sharp end of a knife, and it's even more deadly since pressing it into someone's armpit with the same force as is required to control my grandfather's pacemaker will jeopardize anyone's life, not just those with a metronome in their chest.
What ever end of the key you give to the hospital is the private key. It's the key in most limited distribution, making it the private key. Whatever that key is, whether it's the "public" half of the pair, or the "private" one, it's the one which is required to make changes to the pacemaker. Doesn't matter what you call it, if it is revealed, it is all that's necessary to make changes to the pacemaker, and my point stands.
In public/private key cryptography, there is nothing particularly special about the public vs private key except that we designate them that way, and freely hand out one, while we protect the other. Sure, if one consists of stronger factors than the other, it makes a better private key, but it doesn't *have* to be the private key.
So I suggest you follow your own advice =)
And once the private key is cracked or exposed, do you operate on everyone with that model pacemaker?
The thing is that this private key needs to be sent to every hospital and doctor's office which wants to make adjustments to the pacemaker. They'll have it, whether it's embedded in a chip or written in a config file. You have to make this information public in some sense, the very best you could hope to do is use some kind of DRM to protect the key from exposure, but as we all know, such exercises are fated to failure.
And what happens when a pacemaker manufacturer discontinues a line and stops manufacturing the equipment to tune certain kinds of pacemakers (such as would be expected to happen should a key be discovered), do these patients just have to hope that the equipment used for tuning their pacemaker outlives them?
Also, will doctors and hospitals have to buy dozens of different pacemaker adjustment machines, one of every type, even those they don't install themselves so that they can treat patients who move into the area? What happens when the patient needs emergency adjustment of his pacemaker but doesn't remember the model he has (or isn't conscious)?
Finally, these devices don't exactly have little general purpose CPU's in them. One of their biggest concerns is decent battery life. If we put something in there as computationally intensive as strong private/public key cryptography, you're going to significantly hurt the battery life of these devices.
This problem is not as simple as it seems on the surface. It turns out that human life is fragile, and there are many ways in which you can kill someone, some of them even require little effort to kill many people. Hacking this device in a way that endangers other humans would not even need new laws to be punishable since we fortunately already have laws which surround murder, reckless endangerment, and other such things which actually or reasonably could result in the death or injury of other humans.
There are several problems which will keep parallel programming out of the hands of every-day joe schmoe programmers. Probably the most significant of which is an inability to consistently predict issues. What I mean is things like race conditions. Some block of code which could execute correctly 999 times out of 1000. But when you have hundreds or thousands of those, you have a really unstable and unpredictable application with very little ability to figure out exactly where it's going wrong.
This is a side-effect of programming in languages which were designed with serial programming in mind. Procedural languages are a square peg to parallel programming's round hole. With the correct combination of care and force, you can fit it, but you always have a chance that someone checks in a new block of code which is not properly parallel-safe, even in an unrelated subsystem, and it causes your code to error (even though you wrote your code perfectly).
Also, optimizing compilers often change the order of operations when they believe they can make something run faster. This works great in serial programming, but in parallel programming it means that for example, the flag variable you set to indicate a subsystem is ready for use may get set before you intended it to.
A real-world example of this is the common semaphore optimizing technique of test/lock/test. Test if some work needs to be done. Acquire a lock to be sure you're the only one doing this work. Test again to make sure someone else didn't beat you to the lock and do it before their lock was released and given to you. It works great because it saves the overhead of constantly acquiring that semaphore when the work inside it might need doing rarely, or maybe even only once. It's common to see this pattern in lazy instantiation. The problem is that certain optimizers, including the Java one, may rearrange this to Test/Test/Lock (which may end up in the work being done more than once), or Lock/Test/Test (which of course leads to acquiring a semaphore repeatedly).
These are only symptoms of the problem of course. The solution, I believe, will be new programming languages which are functional in nature (C, Java, and most modern languages are procedural, not functional). Functional languages have a lot less state which can be interfered with by other processes accessing the same data. You don't get to set X, then update its value later. X is set and has a known fixed value within this scope, or it is not set and does not have a known fixed value. Functional languages are innately parallizable.
Functional languages include APL, Erlang, Haskell, Lisp, ML, F# and Scheme, and actually XSLT. They're used in parallel programming some today, but I won't be at all surprised if we see a new language come out of academia in the near future which is designed specifically for parallel programming.
I'd recommend you start your project with one of Wikipedia's database dumps, then go through and start undeleting articles. Your homepage can even consist of links to good articles deleted from Wikipedia which were recreated in Includipedia. You can watch Wikipedia's AFD boards and contact the users defending their articles, suggesting that they recreate them on Includipedia and link to Includipedia in the footnotes of relevant articles from Wikipedia.
If you play it right, you might possibly even give Wikipedia deletionists something to recommend to those people disillusioned with their favorite articles getting deleted.
Oh, that's possible. In fact, probably everyone's water (including bottled water) contains some trace amounts of tritiated water. However for there to be enough tritium in the water to be of any real concern would be phenomenal. The global inventory of naturally occurring tritium is 7.3 kilograms. That's not much on a global scale (a billionth of a billionth of a percent of water molecules have it).
Even in "mass" production, the United States has only produced 225 kg of tritium, of which 150 kg has decayed into helium 3 leaving about 75 kg remaining.
So you're right, since tritium is self radiolytic, tritium oxide would count as radioactive water. But even then it has a half life of 12 years, meaning each molecule is emitting beta radiation on average once every 12 years (before it turns into deuterium which is not radiolytic). Even in concentrated form it would not be much to worry about, and in fact it's used to determine the water mass in living creatures (it dissipates quickly into the body, and a urine sample is taken to measure the concentration of tritium oxide to determine total water mass).
And you can "infect" water with tritium by exposing lithium-6 to heavy radiation in specialized reactors (lithium-7 quickly splits into 2 helium-4's and 1 hydrogen-3 [tritium]). But again, this is not a realistic concern, if there's enough ambient radiation to do this, he'd be dead already, and if there's enough lithium in his water to do this, again, he'd be dead.
So unless his tap is connected to a reactor designed for producing tritium, you're probably right, it's most likely radon, and if it's municipal water, then they're not doing their jobs, and if it's well water, then yeah, bottled is the way to go =). Of course you can drastically cut down on the waste produced by most bottled water by getting it shipped to you in reusable 5 gallon jugs. We did that when I was a kid because my parents did not believe our water was safe to drink (it came from a spring house, not even a well, on the downhill side of a large series of corn fields; they were concerned about pesticides from the fields washing into our spring house).
Water can't be radioactive. It can contain radioactive impurities. They can be filtered out or separated through distillation.
Radioactivity is not some magical property which infects other non-radioactive matter and turns it dangerous. It's like saying that putting metal in water would make the water metallic. Sure, it might contain metal atoms, but again, they can be removed somehow.
Now that's not saying your tap water doesn't contain radioactive material, but if it is, then it's either not municipal tap water (ie, you have a well or spring house), or your municipality isn't doing its job making the water safe.
I went to a Microsoft-hosted Silverlight introductory seminar a couple of months back, and I've used Flex periodically since the Flex 1.5 days (back when its IDE was still in the husk of Dreamweaver).
.NET runtime, in which case it's another several dozen megs plus a 10+ minute install on older hardware, plus an OS reboot.
I can say that based on the examples Microsoft gave us of its own product, and based on my functional (but nowhere near expert) experience with Flex, that Flex is by far the more elegant solution.
In 500 lines of code, Silverlight had a nice photo slide show with automatic fading transitions and image captions which reads entries from a CSV file.
In 500 lines of code, Flex had a nice photo slide show with fading transitions, image captions, zoomable images, thumbnail mode, carousel mode, user-controllable navigation, and it could read entries from a CSV, WSDL, SOAP, or REST based web service.
In the mean time, the flagship demo application for Silverlight, when I last looked a few months ago, was the same exact crappy flagship demo application that it was well over a year ago, that plane trip planner application with that amazomging animated plane! I can't tell you how underwhelmed I was when they spent a full 20 minutes at the seminar showing off this app that I'd grown bored with on their website last year after playing with it for 5 minutes and realizing that yes, I really had discovered all of its features in the first 60 seconds.
You can do anything you want in Silverlight, but it will take you at least twice as long, the controls will be half as customizable, and support at least half the features. Also it'll be supported on 1/50th of the computers which your Flex app is, while your Flex app will, with one piece of code, be able to be run on cell phones and other embedded devices, web browsers, runtime off of CD's or thumb drives, and as stand-alone self-updating desktop applications via Air, on Windows, Mac OSX, and Linux.
Also your Flex app will require a runtime install for the user of around 1.5 meg, which the user is automatically prompted for in-browser, plus a page refresh (though most users have had it installed already for years). Meanwhile the Silverlight one will require a runtime of something like 5 meg as a separate stand-alone installer plus a browser restart, unless you don't already have the right version of the
Silverlight is Microsoft's "oh crap" response to realizing that Flex is both poised to make operating system choice a matter of preference rather than of necessity, and also is being backed by a company with the financial cahones to stand up to Redmond. It is the single most significant threat to the desktop monopoly Microsoft has ever faced, and they're trying hard to put spit and polish on Silverlight to make it look like it doesn't suck. Their pants were down, and they are trying hard to pull them back up before anyone notices.
Developers with more resources available will use more resources. There's no incentive to write a clever but obtuse way of handling your data that uses half as much memory and processes twice as fast if it handles fast enough and in small enough memory for the current market.
Developers of desktop applications no longer consider and test which sorting algorithm is most efficient for their sort of data, they now just use whatever one comes with the language they're using. Many of them don't even know how it works internally, they don't care, and they don't have to.
The incentive for efficiency is scarcity, and as computers advance the elements which are classically scarce stop being so.
And if in Pennsylvania, you want to register to vote, or you want to change your party to democrat (I just changed mine from non-partisan), you have until March 24th to do it. You can do it at this website: https://www.pavoterservices.state.pa.us/Pages/VoterRegistrationApplication.aspx.
Note, after you fill out the form, you have to print out the PDF they give you, sign it, and fax it to the appropriate county voter registration office. The form is pre-populated with your values, and includes a barcode to help them process it faster.
Again, your registration has to be processed by March 24, so do not delay, fill out, print, and sign it today so that you don't get caught in a backlog and miss your chance to shape the future of our country!!