Structured, tiered code is excellent. But here are my problems with the web stack: HTML is NOT well structured. It is not XML.. It is not trivially validateable (yes there are tools that specialize in this - even many editors). It's hard to write in WYSIWYG with sprinkled code. You're at best approximating what the final output will be.
Tag-libs (be it velocity, php, JSP 2.0, scriplets) make it difficult for editors to function properly.. You have two or 3 natural code syles being squashed together - a huge impedence mismatch. You really need a seamless coding environment for the front end.. And it simply doesn't exist to date.
There are excellent WYSIWYG HTML renderers which are completely useless once you've added your first line of code.. They are also useless if you want to modularlize your HTML with includes. Templating frameworks in those WYSIWYG editors generally requires all HTML to flatten out (and thus be duplicated, redundant and a pain to maintain after it leaves the perview of that editor).
JSF + ajax4j is kind of neat in that there is almost no need for 'code' in the HTML.. Just symbolicly added events which cause the update of sub-sections of the page. But JSF in general is HEAVILY taglib oriented which amplifies the problem of good HTML designers.
Next is the fact that javascript is a HORRIBLE lanugage, with respect to software engineering.. If you just want a toy popup, or reveal / position relocate.. It's not too bad.. But usually you want generalized code.. And name-space collision, lack-of error-vetting, HORRIBLE load use-cases. HORRIBLE code-relocation (code doesn't do the same thing if loaded in different environments), lack of even consistency between browers, lack of versioning of code, lack of repositories, lack of efficiently compileable nature (e.g. does NOT scale to large volumes of code).
This all being said, what I like about GWT is that simple things are simple and well defined again.. I construct a Dialog object, associate input-fields options, a button. I associate actionable code with the button, form, etc. The code is MUCH smaller.. It's modular, reusable, extensible.. So if I want 10 pages that are 90% similar, I create a base class with that common code, then extend it for those 10% differences.. Less total lines to maintain than in HTML. I don't have to deal with the quirks Javascript (just temporary 'bugs in GWT). We get name-space safety because the JS functions are compiled against java-packages. You get your company wide suite of libraries (all name-space safe).. You can have central open-source repositories of GWT libraries (again due to name-space safety - every JS open-source library wanted to use functions like 'calendar', 'drawTree' - Thus completely poorly planned out software engineering projects). You get compile-time validation of code (so far as the GWT compiler can anticipate problems). Your web-site becomes trivial to 'skin', 'theme', etc, because just like a 1980s UI, we're talking about a common UI engine controlled by state variables that you define.
The down-side, you have to enjoy Java.. You have to enjoy AWT / Swing style programming. You LOSE all usefullness of any graphics designer except for images and style-sheet construction. You must render a non-trivial volume of javascript even for the most trivial web sites. Now a 200+ page web page won't render as fast, because you're not pull static HTML, but instead iterating over a javascript loop to inject those HTML elements. Currently GWT has a directory structure and deployment cycle which is somewhat frustrating for my work pattern (which happens to be maven2).
But I haven't heard any challenges to GWT in it's role of software engineering. I find it has fewer bugs, and can construct far more versitile applications..
As for MVC, it's also the perfect V. Your stateful system is nothing but a view.. You have to make stateless calls back into the C to do anything. SEAM 2.0 has an adaptor which links that call back into the managed-bean
Apparently the 98% genetic similarity with chimpanzee doesn't convince you. Careful of naked statistics.. For example 99% uptime is HORRIBLE. You have to provide a frame of reference.. What would the genetic different be between a worm and cat. How about cat to an ape.. great-ape to a chimp. Etc.
See, that's just the thing...some of the stuff that MS propsed with Vista could make very big leaps, in all regards...security, performance, gaming, you name it
You're kidding right? win 3.0, win 3.1 offered optional 32bit modes (which on a 286 and later with separate libraries 386 ran MUCH slower - so people didn't use it except for niche applications).
win NT --> 3.51 was a full 32bit OS (a la VMS/ Unix). NT 4.0 compromised stability for video performance (they had to do something, so I give them credit there).
win 3.1.1 was the client-side interpolibility with win NT in a high tech work environment.
win 95 was the incorporation of the basic win32 libraries of win NT, such that win16 could still co-exist. You had the ultimate compromise.. A full 16 bit DOS stack with a 32bit NT-esk overlay. You had lots of performance, lots of capabilities (all 16 and 32bit code) but zero reliability (as win16 circumvented ALL security in NT).
I would argue that win95 was the most versatile OS MS has created.. It copied the relevent UI advances of the Macs and copied many of the elegant advances in NT (which copied somewhat best-of-breed from VMS/Unix). You could create a rock-solid win95 box - if your drivers were pristine and you NEVER installed 3'rd party widgets. The only thing lacking was a decent scheduler... There were tons of demos which showed an MT app in both NT and win95 and NT always had smoother MT code (more evenly distributed scheduling of threads).
win98 through winMe were incremental add ons.. Architecturally identical.
XP was the NT-ification of windows - dropping DOS from the boot-loader process, along with refactoring how 16bit code was enabled.
Coming from a background where I highly respected NT (except for it's multi-media capabilities) I was finally at peace with winXP. Ironically it took MS so long to bring NT into the multi-media main-stream that Linux became the superior desktop for my needs. flash became the de-facto multi-media experience that I needed, and Linux supported it (except for x86-64 - FUCKERS). That being said, XP still is pretty good for games - though consoles have finally caught up with PCs in terms of performance and playability for many types of games. (I still can't do anything like AOE or star-craft with any satisfaction with a console).
Still, I can't fault XP for anything. I can VM-ware it, run office sufficiently (when open-office simply can't suffice), I can play virtually any game (though most older Direct-X games no longer work). I can get REALLY cheap hardware that runs lightning fast compared to a console ($500 for a really high end machine). So on and so forth.
Then comes Vista... No VM-Ware.. No "extra 32-bitedness".. No decent 64-bitness. A day late and a dollar short on DRM (it seems DRM is inevitably going to die a quiet death and be replaced by judicially enforced water-marks, which is how it should have been in the first place - the RIAA really need to fire their older lawyers). If the current instability / slow-downs are eventually trace to DRM management I think MS is going to have an expensive lesson to learn.
I can't fault Vista for is slow performance (other than the apparent bug in this slash-article). Vista is like the next version of Quake / Doom.. The designers lusted for the ability to do amazing things with plausible current-day hardware.. So long as the next-gen game can 'dumb-down' for lesser hardware then no-foul. Intel and MS have always had the tit-for-tat faster hardware followed by more demanding (yet more capable) software.
As an example, I do java development.. And as a result, I use a java-based editor.. BLOATED AS HELL.. 1 Gig of memory is what I allocate to the editor.. But with that 1 Gig of mem plus LOTS of CPU horse-power I get real-time analytics of 10s of thousands of lines of code. Every key-stroke adjusts the memory representation of the code-base. And the possibilities here are not even fully tapped. Lesser performance with the
True that is a bit of apples to oranges. The GE hydrogen box talked about KG of hydrogen.. Whereas the Pop Mechanics article talked about Gallon-of-Petrol equivalent (matching energy densities). The flip side in the P.M. article is that the Petrol equivalence in energy density showed tremendous MPG advantages for the non petrol methods. So really you have to exclusively look at $ / mile, as that's the only practical comparison (at least from an Economist's perspective).
They took 3k miles as a base-line for all their comparisons, and showed what the total dollars would have been for each fuel-type. In my blog-entry, I took the G.E. statement that they can currently product at $8 / xxx and eventually want to produce at $3 / xxx.. This implied a total reduction of $ / mile all else being equal. The P.M. numbers show raw Hydrogen synthesis is more expensive end-to-end than petrol, but if the ratio of efficiency achieves projections, it will become 32% cheaper than petrol end to end. This will become moreso if Petrol prices rise (which they must eventually) - assuming Hydrogen synthesis is independent of Petrol.
One important thing to keep in mind.. My understanding is that we do NOT use electrolysis for Hydrogen synthesis at the moment. There are cheaper non-renewable methods.. So the actual costs of Hydrogen synthesis as they exist today will NOT scale to meet the current petrol demands! Prices will definitely rise in the medium-run if Hydrogen use grows. If you don't accept this assertion, I can go research it - just so I'm not completely heresay.
Seems like a liberal reading of the various articles. $8 / kg with a goal of $3 / kg was in the GE article. The 'traditional' costs were $1k / kg. Whereas the Hydrogen Fuel Cell in the Pop Mech article showed to be the most expensive annual cost of all available options. Compressed Natural Gas was half way between petrol and electricity. If the projected advances in Hydrogen synthesis reduce costs, and containment technology advances as well, I take Pop Mechanics to project Fuel cells at 68% of gas prices..
Of course a lot has changed since this article.. They show petrol at $2.34/gal, whereas I'd say it's more like $3.0 for all intents and purposes of current and future projections. They also rank electricity costs at $0.10 / KHW, whereas in my area it's $0.06 to $0.09 depending on time-of-day and time-of-year. Granted this is because of the regulated monopoly so this is really much below market rates.
All things considered, a plugin-in hybrid (where the hybrid part can be bio-diesel or E85 gas or whatever) makes the most sense to me.
I'm very much against growing fuel though. Currently in the US this means taking US subsidy dollars to product corn which is of the lower efficiency crops from which to produce fuel.. Corn prices world-wide rise as a result. But so do fertilizer costs and other costs of agreculture.
How do you know that there is not a single animal or plant that you consider wild that hasn't been in fact created by ancient humans through artificial selection and breeding that wouldn't happen in nature due to size/habitat/different mating habits? Wouldn't it be in fact an instance of intelligent design?
To the same degree that a chemical engineer that was taught to arrange various temperature-pressure chambers to synthesize molecules. But the real question is - do you credit the Chemical Engineer with God like status? He has created a foundry that fashions minerals that would never occur naturally on this planet. Can we generalize his powers? No! He's just a pion that can't do much outside of a small set of equations that he had no part is designing. He probably can't create timeless poetry or art. He probably can't get a race car or a horse to the finish-line fastest.
The conveyance of life to an engineer (An IDer) really is a poor spiritual analogy. All you are saying is that at least one aspect of our existance was crafted in a foundry by someone with enough knowledge to set up and or design that foundry. You can place no further moral or imperitive importance on that designer than one would of the potentially pedifilic Chemical engineer.
Of course ID is really just a stepping stone.. If ID proponents can get people to accept this as truth, they can derive entire religions and moral imparatives based on weak logical progressions.. If God created me and had a purpose, then that purpose would have been eventually made apparent to me. And You as a preacher are currently apparent to me. So maybe I should put my faith (and hard earned tithe money) into your pockets and let you tell me what to do.. But it's probably as good a conveance of God's will as I'm ever going to see. Hell, you're ID idea is just so dum gaud impressive.
The alternative is to sit in absolute amazement by the beauty of the cause-and-effect relationships we've thus far been laid witness to. To hunger to learn more - not just of physics, but of art, poetry, emotional complexity.. If quantum particles only bind together consistent with certain mathmatical relationships that permit only a finite range of combinations. And those combinations build at different scales into an amazing set of consistent and re-produceable patterns.. At ever higher and higher levels of organization (all again consisent).. Then why is it so hard to internalize the theory the biologically apparent life is a natural outcome.. That there was no universe without the patterns condusive to the natural sequential synthesis of life.
If this conjecture is true - that there a multi-path evolution of energy patterns (atomic orbitals, molecular combinations, acidic geometric formations leading to protein, later RNA then still later DNA inside a complex cell factory), then any question of an over-arching engineer becomes utterly boring. Everything can be seen from first-principle (in theory - not yet in practice). Those principles define the universe, NOT the engineer, which one day may be the alien race of Proteons (seeing life on various worlds) or the Chemical engineer facturing molecules, or even the geneticists creating new species. They're not doing anything that time and conditions wouldn't have done at least once somewhere in the universe.. If we had to synthesize is ourselves, it was merely because there was a natural ineffeciency that needed to be over-come.. Either via unlikely occurances of catalists, or certain temperature-pressure-geometric requirements that are unlikely in our current bio-sphere.
If this conjecture is true - God, be as God may, would be present only in the forming equations - not in the particulars of engineering and design.. The engineer is of no consequence (should the crafted Bee worship the bee breeder?). But with an initial rule-setting God view, what is this thing to worship? Surely all the fables ever told him "him" are primitive, false and frankly charlantanry (just as we would view
And yet people on Slashdot still quote his articles. Look at it this way.. We're driving slashdot advertisement potential revenew as we have many more page clicks than their site. Secondly really it's just an excuse to forum the collective wisdom and idiocy of the slashdot community - which is really the whole point; keeping up to date on what everyone else knows.
Well, at least he wasn't saying anything about whether they were followers of the church of Jesus Chris of the Latter Day Saints.:) Or actually.. Do you prefer the Christians see Aliens and want to convert them (a la South Park Marklars) or do you like the whole Jesus visited his 'other flocks' on other planets theory?:)
That's easy.. To any die-hard believer, all you need to do is trace the history backwards from the believer to the beginning of time (as defined by the trace).
All of life can easily be explained by such hind-sight logic, and it's in an entirely cohesive and logical manner..
Consider the concept of the anti-pope.. History defines who the anti-popes were, and thus we can also define how the Devil brought about those anti-popes.. The devote worshipers would have been able to pray hard enough for God to have revealed the truth to them as time went along, but for the masses, including many of the history books, were not part of the elect and thus had a temporary period of a faith-crises.
I'm not being silly either.. This is an honest interpretation of how a logical mind can resolve conflict in the face of paradoxes. My preacher said these guys were deceived and those guys were pios.. And thus we disreguard the conflicting parts... We learn to do this for an entire life-time. We learn that conflict is the work of the devil, and thus WHEN we see conflict, we seek out simplicity.. That the Devil deceived scientists is the only logical conclusion (that removes all conflict) so it must be the case that our source of worship is true and these scientists (many of whom are without faith) are being led astray by the great deceiver.
When your goal is to find God (ignoring for a moment the fallacy that God must be found), then all things that bring you closer to achieving that goal (such as understanding what he wants you to do - ergo having a literal interpretation of the bible with lots of 'mystery' when it conflicts with itself) trump things that bring you away (such as scientific evidence that reduces long held beliefs).
Note I want to make clear that I don't appreciate when people single out Christianity.. Islam and Judaism are equally focused. A hardened believer will be just as outspoken in any environment.
But what about the phonon's generated by excited silicon? I've only completed undergraduate Electrical Engineering, but I do recall in the E-k diagrams that there was no direct excitation of electrons in silicon, there was instead a necessary k-shift (Energy + vigrational/heat-based phonons) for the electron migration. This means heat is necessarily generated, so the gp should be correct in that it's a heat factory.
I hate cock-roaches too.. Would you assume that this is a knee-jerk follow-the-fad reaction because everyone else hates them? Or might it be because of repeated personal bad experiences with them?
As others' have posted.. The extra width/height of the car makes them more of a driving hazzard for other vehicles.. I treat them almost with as much anxiety as when I pass a Mac Truck. Similar wind-sheer effect on smaller cars, similar lack of visibility, high degree of 'kick-up' of road debris. Similar lane-edge-sharing problems.
Parking-lot is trouble-some to A) pull up next to B) pull up in front of C) see around when pulling out.
There is a safety arms race.. Your SUV is safer than my mid-size because of greater innertia and (depending on the direction) crush-zone. Your higher car means you'll drive over my car - barely touching you, but guaranteeing my squashedness. So now nobody with any 9/11 fear-factor is willing to drive the smaller cars - not because they're not safe - they are (can take a brick wall head-on with no problems).. They just aren't designed to take a side collision with a tank doing 90.
In a micro-test sure.. But you can not scale this test out, as your battery will eventually die. Hybrids now are retarded in that they don't facilitate low-cost power-grid refilling. Instead you MUST use the gas to recharge the battery (no, we do not live in a perpetual motion world where 100% of the regenerative breaking recoups the power lost from acceleration, let alone power expended in coasting-friction).
In all likelihood, 100% city driving is probably significantly worse than a mixture of highway and city driving (where the highway provides an ideal operating environment for recharging the battery).
Sorry but I play yahoo games all the time and they are fast as lightning.. Just a short startup pause. Course the bastards have several activeX games so I cant play them on Linux...
you are only as secure as your underlying toolset. If you use a bloated framework so that you can do neat widgets, you increase the probability that any one component is insecure or unstable. JSON in AJAX and a couple other things are worrying existing developers. Most people are using SOME sort of AJAX framework that uses at least some of these faulty techniques (because they are mostly hacks).
Im actually curious how you think dynamic typing in JS is more advantagreous. Nohing drives me up the wall more than trying to debug JS and finding that I needed to go an extra field level deep for one HTML widget than another. Sure there are API docs, but I cant stand that something so simple to prevent is so glaringly impossible to codify into an intelligent editor. If you use notepad/vi and the same JS functions all day long, then sure opaque types save you some keystrokes. But why not use a heavy weight editor that validates as yo code - and yes, I consider a web page code tat should ideally even have unit tests.
Ummm no.. when was the last time a flash web site loaded in less than 2 seconds? how about a PDF page? Personally I hate most car web sites because I cant get to the important pages without 30 seconds of downloading flash apps (that dont even work in firefox / linux). But I anticipate car and real-estate pages to be this retarded (due to their high desperation levels).
A mail/office client should have as an OPTION, a cross platform fully featured, reliable and SAFE system.. AJAX has already demonstrated the problems here. flash I believe has a similar security problem.
Im curious to see if this new platform stands a chance.
what are the security considerations here? No worse than block-allocations of the existing ext3.. You just have more than just one suite of data-blocks associated with one inode.
The '@' character might allow for some as yet not-conceived social engineering hacks.
Who can run the snapshot operation (most likely root), might be of concern.. I would assume that a system cron-task would be the target initiator.
can you delete the existence of file, as to ensure that it is not easily found again? Considering that one of the original mandates of this project was to provide an auditable system, I'd say no. But it stands to reason that there is some fsck level operation that can wipe out non-current copys beyond a certain date. Even if it doesn't already exist, it's certainly possible if you've got unmounted block-level access.
what are the effects on hard-disc storage space, ie are there any estimates to how much extra storage is needed for this?
Hmm. I probably shouldn't answer this without reading the white-papers.. But why let that stop me.
Since it's block-level COW, it at least needs to get a "bit fatter" (har har).
Details not withstanding... There's the obvious duplication of all data-blocks that have changed.. BUT for every file + datablock change you have at least 1 allocation block that changes and possibly a copy of the inode info (which doesn't allocate a new disk-block, but does consume 1/kth of a block, depending on how many inode descriptions fit into a disk block). If changes have locality, then multiple data-block changes may only require a single allocation-block + inode change. But chances are that multiple changes in the same file will hit different allocation blocks. So you could see in the worst case 1/k + 2n disk block allocations, and at best 1/k + 1 + n allocations. Well, really, at best, we have 1/k + n allocations, because inodes store the first several data-block allocation references in the inode. Thus, if your changes within the first several kilobytes (or if your file is that small), your change overhead storage is minimal.
Two cases where this overhead is minimal are log files and small files. Small files, as already stated only require the inode to be copyed-off. Log-files are generally MASSIVE, but only ever touch the last allocation block (between snapshots).
Naturally random-access files like memory-mapped bookkeeping files (like those used in postgres and apache) would suck, the file would be guaranteed to be fully mutated on every snapshot. Thankfully they're pretty small (only a couple K).
source-code files and other documents generally are fully overwritten, BUT are VERY rarely updated (relative to their likely consumption of disk-space).
Email files are pretty static BUT the directory that holds them would get pretty chaotic. Unless you use mbox storage, then I guess it's more like log-files and would work great.:) Does anybody still use this style of mail server anymore?
Low-activity databases could work (such as trivial mysql-based password tables, and other configuration-oriented database deployments). But any reasonable amount of write activity would overload your disk space in short order.
Pretty much anything in/var or/tmp should probably not be put on this type of file-system.
What happens to old snapshots when the disk begins to fill up? Ugh.. you asked the wrong question.. I've had to reread the question a couple times. Your 'old' snapshots should be unmodified, just like when ext3 fills up, you can always read your old data with zero problems.. The issue on ext is when you are out of unallocated disk blocks. Generally means you can't append to a file or create a new non-zero-byte file. But you were still able to mutate existing allocated blocks. The new problem is that after every snapshot, ANY updates of ANY existing blocks require the allocation of a new block. So in ext3, only some applications would fail, writes to stdout or stderr would cause file-IO errors (that are generally piped to log-files). If the application doesn't exit, then they can still continue to operate. But, things like databases generally continued to work, because they usually operate in a virtual file-system that uses pre-allocated disk-blocks. They also use pre-allocated journals. So generally they can guarantee that no single point of failure can corrupt the data (except for hard-drive block errors). But with COW, this assumption is no longer true.. And it's possible that a DB journal implementation can get into an invalid state if it gets a COW-full error.
Thus/var (and probably/tmp) should probably not use COW (or at least you should use crazy monitoring of disk-space like you never needed it before).
Are snapshots atomic? In Linux, a file-system is a kernel-level driver AFAIK, so I assume it has the power to perform an isolated kernel-level lock, just like a CD-ROM or floppy-disk would. So the real question here is, how long does this central atomic operation take? Or what does it scale based on.. # inodes (benefits partitions with small number of potentially large files), constant-time (by-design defers all delay to individual COW operations), change-set size (benefits rarely changing data like manually edited word-documents and configuration data). Can this DOS the system? (calling snapshot too often effectively locking every file-system operation).
What happens when a snapshot fails? What can cause a snapshot to fail? Yeah, I second this.. But to call it ext3 AND be included in the kernel, I can only imagine that just like journaling on ext3, it's a pretty isolated, and only a minimalistically invasive feature.
wouldn't it be very comfortable for at least us developers to have a filesystem that worked something like Subversion
Something like.. Depends.. They solve very different problems. Consider the 'work-space'.. Where is that in the file-system version-control. Clear-case, the only other file-system VSC I'm aware of has an explicit 'view' directory structure which mirrors the read-only master data. All mutations of data are through admin commands (which don't act like a file-system at all) or manipulations with your particular view directory-tree. The goal of this project AFAIK is to have a single-command 'snapshot', and otherwise the file-system would emulate a normal file-system. clear-case requires an entire book of CLI commands which you have to learn to make their file-system operate in a useful way.
The reason you need a view in version-control is that you have multiple people editing the same file at the same time.. Aside from MS's file-locking in the 80s and 90s, it's never a good idea to share a view with two people (or obviously even two work-spaces).
When you want an atomic snapshot, it's going to be of all directories. But, by nature, different people will be in different states when this snapshot occurs. You can't cleanly separate out different project snapshots (or even tasks within the project) unless you use completely different file-systems (e.g. partitions).
Theoretically you could devise a file-system that works on sub-directory trees, but I can't imagine how that works with deleted files.. A non-directory/file-name specific method would work off inodes, which can live both inside and outside of a directory. Granted this is an implementation detail, but a non-trivial one. At least, not for UNIX environments.
So, in a primitive sense.. Having an NFS or SAMBA mountable drive, which people collaborate in, then have a periodic cron-task run snapshot can be pretty useful.. Especially if the data is mostly read-only (such as a website publication). Individuals can check-back and see what has changed in their HTML or image files pretty easily (by merely referencing an obscure file-name extension). Though GUI tools might be frustrated since you don't normally manually type in a file-name, you pick from a list, which gets populated with the appropriate directory-listing command, which necessarily would only ever look at the current snapshot.
Currently you can use subversion as this sort of shared-file-system through webdav clients (again, by using an external or periodic checkin command). So effectively nothing is gained in this respect.
Where I really see advantage is for the items that they list in their mission-statement.. Auditability/security, and backup support. If you install an RPM or run 'make install' as root, you can do a system-wide check of what has actually changed (though I haven't found their performance metrics on this). Depending on the available tools, you could effectively undo an RPM install (if nothing else, then by "cp $file@$timestamp $file" all over the place).
I see this as an excellent file-system for/etc,/usr,/home. Probably not so good for/var (unless rollback support is VERY efficient - imagine rolling back the database to an hour ago after a massive mistake). I absolutely love this for any registry-style configuration trees (basically most things in/home). Probably would suck for/tmp (as the whole point of that directory is usually for ultra-performance, plus it would quickly fill up the disk).
Clear-case requires that your work-space be on a mounted volume called a view. So there is significantly more overhead to clearcase than subversion/cvs/rcs. It's been a while since I've worked with it, and it was on different hardware than I'd normally use, so I can't recall how efficient checkins were. Theoretically they would be efficient, because you've spread the cost of it over the course of all file-operations.
I agree with you. There isn't any difference between a software program and a rope that lifts your computer thereby making it more portable. If you can patent one, then you can patent the other.
What I disagree with you on is the intent of the patent.. You imply that since the definitions are functionally equivalent, we 'should' allow software patents. I'd only argue that if we must have a consistent law that serves no useful purpose, then yes, allow software patents, because it's more consistent.
But the fallicy is that by definition then, virtually every void main() {printf("hello world");} should be patentable, since it represents a potentially innovative idea. Hell, how we document our code should be patentable (and I'm not being sarchastic). If it's a process that makes our lives more efficient, then it meets the same criteria as an innovation of technology.
Here's the rub.. Patents utilize profiteering to encourage innovation. So the metric by which we should judge it's success is of innovation levels, NOT profit. But 200 years ago, it was impractical to be an IP-firm. You couldn't just have lawyers on staff developing millions of patents, but that is possible today. The wild-wild-west of software is an IP pie still waiting to be carved up. Imagine if the English language could be patented.. If ways of writing prose. If note-taking organizations. If virtually everything a human being could possibly do from sun-up to sun-down was patented by somebody.. Then how could life exist.. Every human would live at the mercy of a set of lawyers who must, by law, grant you permission to continue about your daily habbit.
This is the natural conclusion of modern efficiencies of process development. You can write software which writes patententable processes for you (given whatever the current arbitrary constraints of 'too obvious' are).
The system is collapsing in our generation, because the system is no longer relevant.
It is still, of course, a source of MASSIVE money making, so those that utilize it are going to continue to support it. But it is hardly a requirement for the sustanance of society. It is hardly needed to continue to spur innovation - at least not in it's current broad-definition form.
What is the R&D cost for a new drug? Perhaps in the billions because of trials and the shere blind-randomness of most of the products (but hey, Edison successfully worked that way). What is the cost of developing a small software algorithm? Basically a week's worth of time of a PHD if the algorithm is REALLY critical.. But 99 times out of 100, it's some guy with maybe a college degree. Maybe even a team of them.
How long does it take to recoup that cost? Is innovation really stiffled because an angel investor is afraid of paying one smart guy for a week of his time? Is the patent really changing anyone's investment decisions here?
As a legislator, what is the practical decision to make today? (Remember, this isn't a moral issue, but a societal-good issue) That the wild-wild-west of software, needs to be encouraged because we simply don't have enough of it? Or that we are slowly seeing the destruction of the software industry because it is becoming a legal mine-field to solve everyday coding problems? By my above metric, software synthesis was at a MASSIVE rate through the 90s with few if any software-related patents. So unless software synthesis in the late 2000's is exponentially higher WITH patents, the role of patents is innapropriate.
I would venture to say that the computer hardware industry is in a very similar situation as software.. When the number of patents on a commodity good approaches the thousands, there should be warning signs going off in a legislator's head. The main reason we don't have insanely expensive computer parts is that most of these patents are defense-oriented (you can't sue me, because we are cross-licensing, I can hurt you just as much).
At the far other end of the extreme is the medical industry,
Well, nobody is forcing you to pay the taxes. Its supply and demand, just like gas prices. The government found a demographic that they could exploit tax-wise. Likewise big oil is testing the elasticity of the new mellenium, which is pretty low. We'll likely see $5 gas soon, because the market CAN bear it. Now if only the gov would get past puritanism and start taxing Meth, cocain, and prostitution, we might clean up the inner city - much like abortion does (or at least did until pandering Republicanism takes full effect) [see freakonomics]
I can't remember the original source.. But in the book 'The God Delusion', there were references to several official big-bang theories.. One of which was the hypothesis that black-holes represent spontaneous synthesis of isolated sub-universes. Where information doesn't leak-back-in to the source universe.. Each sub-universe could have potentially deviant quantium properties such that the mass, charge, force-strenght, etc of various quantum particles would differ ever so slightly.. That by this process, universes actually evolve - ones that have unstable quantum characteristics quickly devolve (perhaps expanding too quickly, or collapsing back into itself, etc).. By virtue of the fact that our universe survived long enough to spawn life, this would represent a successful set of quantum characteristics - though there may be alternate sister, parental or child universes with more ideal states.
But, it stands to reason that such evolutionary universes don't allow cross-talk, that you wouldn't be able to worm-hole back into your neighboring universe. If nothing else, the difference in quantum properties would cause your physical person to become highly unstable.
Of course it's still conceivable that the sister universes have identical properties (that there is only one set), that perhaps only the differing ratio of particles (such as the over-abundance of matter v.s. antimatter in our universe). To which we may still survive in the alternate universe - just have to watch out for our alter ego.
Though, to me, an identical universe, or even a sister universe is kind of boring to me.. Just seems like infinity times k. whop-ti-doo. The only interesting cases to me, are the evolving universes or the true singularity of our universe.
Not being terribly savy with ID (I don't like butt sex either), but of course ID is self contradictory.. It merely replaces the 'randomness' of synthesis with the randomness of the whim of a pre-existing synthetic. How can someone/thing evoke free will to 'Design' without randomness? How random would it be that they create a contradictory historical dialog, utilize separation of scholars from the flock, allow people to learn contradictory things such as Jews are the chosen people, yet Germans will be among the 144,000 'tribesmen' that are raptured one day while driving in a car, or rather sticking a fork in the ground to cleanse it from touching both meat and dairy is out, but butt-sex is still punishable by death.
The randomness by which the culture of those that promote ID is as rare to have generate as the tornado that produced the 747.
But wait.. There was a 'plan' you say.. That's what makes it different? There was the will of God? There was some order in the chaos.. It was that which separated the holy and sacrad from the darkness? But... doesn't.. this.. sound.. like... the natural organization of atoms? Of the strong,weak,electro,gravitation forces promoting organization at ever higher scales.. That have a natural direction of synthesizing things that synthesize things that synthesize things, ad-infinitum. That order is intrinsic to the universe. That it is almost impossible to have a universe that does not naturally try to order itself, independent of free-will. Independent of a designer (save the undemonstrable initiator of the laws and motions - which subsequently and necessarily must be absent from all creation thereafter). And at least maintaining independence from the concerns with one out of thousands of tribes which each have their own center-of-the-universe views of nature.
But of course, the very same natural organization perfectly explains why these self-centric cultures became the way they did.. What culture could survive that said, 'nope, we're nothing.. Our neighbors are probably stronger than us.. smarter than us.. They owned their land before us, so we should just wander the resource-less desert'.. No, of course, those conquering Jews in the time of Mosus. The conqueroing Muslims. Those conquoring Christians, that imposed their world-view are what survived and ultimately evolved into self-contradicting cultural rule-sets.. The contradictions are disgused simply by not stating both elements of the equation at the same time.. People memorize the passages separately. Piece-wise, they make sense... But it is never required to be obsorbed as a single logical equation. And thus the masses can believe with almost no internal strife. 'God the father, son and holy ghost'. A self contradiction that we repeat to our children millions of times.. It just becomes fact - they internalize it the same way they internalize magnets. It's pervasive, so of course it's true.
Now, I challenge ID to as susinctly and intuitively define the anomolies of the universe as science can do to it.
The only thing ID can win the hearts and minds over that science cant.. Is the simplicity to comprehend that their dad once upon a time had answers that they didn't understand.. The dad would reveal things to them as it was necessary.. That dad would protect them in times of crisis.. That dad was there before you, and he has a sence of permanence.
This is such an appealing thing, that we naturally long for it when we're older and dad is no longer there to fullfill that role. We aren't looking for exact answers, we're looking for the knowledge that an answer does exist... So ID doesn't say what happened before the big-bang.. It says 'dad knows what happened, and he'll reveal it to us at the appropriate time'. Wow.. simplicity.. Something virtually anyone could understand.... But.. the life of a lemming is equally simplistic and easy to follow... Not terribly useful though.
In terms of viruses, almost all of them could be eliminated if they used a simple unprivledged user-space. Forget VM's, have each application run on as it's own unprivledged user.. Then viruses would be impossible.
The problem is that this is not useful to the user.. Windows (and Macs) exist because every application seamlessly interacts with every other application.. We're even seeing this in the gnome/KDE camp more and more..
People want to download a widget, click install, have it run as root to add to the local task-bar of all users.
This is impossible with VM's, but it's also very difficult with unprivledged users (ignore for the moment over-privledged Linux sudo access which is becoming prevalent).
Consider the windows registry (or the gnome equivalent). Every app can fuddle with every other app's data.. You have read-access to all your bookmark data, browser-history data, contact lists.. All you need to know is A) how to get the user to execute a semi-privledged process, B) the format of the application data.
Unless you change people's mindsets about application isolation, you're not going to get VM adoption.. And user-space isolation will be more resource friendly anyway.
Structured, tiered code is excellent. But here are my problems with the web stack:
HTML is NOT well structured. It is not XML.. It is not trivially validateable (yes there are tools that specialize in this - even many editors). It's hard to write in WYSIWYG with sprinkled code. You're at best approximating what the final output will be.
Tag-libs (be it velocity, php, JSP 2.0, scriplets) make it difficult for editors to function properly.. You have two or 3 natural code syles being squashed together - a huge impedence mismatch. You really need a seamless coding environment for the front end.. And it simply doesn't exist to date.
There are excellent WYSIWYG HTML renderers which are completely useless once you've added your first line of code.. They are also useless if you want to modularlize your HTML with includes. Templating frameworks in those WYSIWYG editors generally requires all HTML to flatten out (and thus be duplicated, redundant and a pain to maintain after it leaves the perview of that editor).
JSF + ajax4j is kind of neat in that there is almost no need for 'code' in the HTML.. Just symbolicly added events which cause the update of sub-sections of the page. But JSF in general is HEAVILY taglib oriented which amplifies the problem of good HTML designers.
Next is the fact that javascript is a HORRIBLE lanugage, with respect to software engineering.. If you just want a toy popup, or reveal / position relocate.. It's not too bad.. But usually you want generalized code.. And name-space collision, lack-of error-vetting, HORRIBLE load use-cases. HORRIBLE code-relocation (code doesn't do the same thing if loaded in different environments), lack of even consistency between browers, lack of versioning of code, lack of repositories, lack of efficiently compileable nature (e.g. does NOT scale to large volumes of code).
This all being said, what I like about GWT is that simple things are simple and well defined again.. I construct a Dialog object, associate input-fields options, a button. I associate actionable code with the button, form, etc. The code is MUCH smaller.. It's modular, reusable, extensible.. So if I want 10 pages that are 90% similar, I create a base class with that common code, then extend it for those 10% differences.. Less total lines to maintain than in HTML. I don't have to deal with the quirks Javascript (just temporary 'bugs in GWT). We get name-space safety because the JS functions are compiled against java-packages. You get your company wide suite of libraries (all name-space safe).. You can have central open-source repositories of GWT libraries (again due to name-space safety - every JS open-source library wanted to use functions like 'calendar', 'drawTree' - Thus completely poorly planned out software engineering projects). You get compile-time validation of code (so far as the GWT compiler can anticipate problems). Your web-site becomes trivial to 'skin', 'theme', etc, because just like a 1980s UI, we're talking about a common UI engine controlled by state variables that you define.
The down-side, you have to enjoy Java.. You have to enjoy AWT / Swing style programming. You LOSE all usefullness of any graphics designer except for images and style-sheet construction. You must render a non-trivial volume of javascript even for the most trivial web sites. Now a 200+ page web page won't render as fast, because you're not pull static HTML, but instead iterating over a javascript loop to inject those HTML elements. Currently GWT has a directory structure and deployment cycle which is somewhat frustrating for my work pattern (which happens to be maven2).
But I haven't heard any challenges to GWT in it's role of software engineering. I find it has fewer bugs, and can construct far more versitile applications..
As for MVC, it's also the perfect V. Your stateful system is nothing but a view.. You have to make stateless calls back into the C to do anything. SEAM 2.0 has an adaptor which links that call back into the managed-bean
Apparently the 98% genetic similarity with chimpanzee doesn't convince you.
Careful of naked statistics.. For example 99% uptime is HORRIBLE. You have to provide a frame of reference.. What would the genetic different be between a worm and cat. How about cat to an ape.. great-ape to a chimp. Etc.
See, that's just the thing...some of the stuff that MS propsed with Vista could make very big leaps, in all regards...security, performance, gaming, you name it
You're kidding right?
win 3.0, win 3.1 offered optional 32bit modes (which on a 286 and later with separate libraries 386 ran MUCH slower - so people didn't use it except for niche applications).
win NT --> 3.51 was a full 32bit OS (a la VMS/ Unix). NT 4.0 compromised stability for video performance (they had to do something, so I give them credit there).
win 3.1.1 was the client-side interpolibility with win NT in a high tech work environment.
win 95 was the incorporation of the basic win32 libraries of win NT, such that win16 could still co-exist. You had the ultimate compromise.. A full 16 bit DOS stack with a 32bit NT-esk overlay. You had lots of performance, lots of capabilities (all 16 and 32bit code) but zero reliability (as win16 circumvented ALL security in NT).
I would argue that win95 was the most versatile OS MS has created.. It copied the relevent UI advances of the Macs and copied many of the elegant advances in NT (which copied somewhat best-of-breed from VMS/Unix). You could create a rock-solid win95 box - if your drivers were pristine and you NEVER installed 3'rd party widgets. The only thing lacking was a decent scheduler... There were tons of demos which showed an MT app in both NT and win95 and NT always had smoother MT code (more evenly distributed scheduling of threads).
win98 through winMe were incremental add ons.. Architecturally identical.
XP was the NT-ification of windows - dropping DOS from the boot-loader process, along with refactoring how 16bit code was enabled.
Coming from a background where I highly respected NT (except for it's multi-media capabilities) I was finally at peace with winXP. Ironically it took MS so long to bring NT into the multi-media main-stream that Linux became the superior desktop for my needs. flash became the de-facto multi-media experience that I needed, and Linux supported it (except for x86-64 - FUCKERS). That being said, XP still is pretty good for games - though consoles have finally caught up with PCs in terms of performance and playability for many types of games. (I still can't do anything like AOE or star-craft with any satisfaction with a console).
Still, I can't fault XP for anything. I can VM-ware it, run office sufficiently (when open-office simply can't suffice), I can play virtually any game (though most older Direct-X games no longer work). I can get REALLY cheap hardware that runs lightning fast compared to a console ($500 for a really high end machine). So on and so forth.
Then comes Vista... No VM-Ware.. No "extra 32-bitedness".. No decent 64-bitness. A day late and a dollar short on DRM (it seems DRM is inevitably going to die a quiet death and be replaced by judicially enforced water-marks, which is how it should have been in the first place - the RIAA really need to fire their older lawyers). If the current instability / slow-downs are eventually trace to DRM management I think MS is going to have an expensive lesson to learn.
I can't fault Vista for is slow performance (other than the apparent bug in this slash-article). Vista is like the next version of Quake / Doom.. The designers lusted for the ability to do amazing things with plausible current-day hardware.. So long as the next-gen game can 'dumb-down' for lesser hardware then no-foul. Intel and MS have always had the tit-for-tat faster hardware followed by more demanding (yet more capable) software.
As an example, I do java development.. And as a result, I use a java-based editor.. BLOATED AS HELL.. 1 Gig of memory is what I allocate to the editor.. But with that 1 Gig of mem plus LOTS of CPU horse-power I get real-time analytics of 10s of thousands of lines of code. Every key-stroke adjusts the memory representation of the code-base. And the possibilities here are not even fully tapped. Lesser performance with the
True that is a bit of apples to oranges. The GE hydrogen box talked about KG of hydrogen.. Whereas the Pop Mechanics article talked about Gallon-of-Petrol equivalent (matching energy densities). The flip side in the P.M. article is that the Petrol equivalence in energy density showed tremendous MPG advantages for the non petrol methods. So really you have to exclusively look at $ / mile, as that's the only practical comparison (at least from an Economist's perspective).
They took 3k miles as a base-line for all their comparisons, and showed what the total dollars would have been for each fuel-type. In my blog-entry, I took the G.E. statement that they can currently product at $8 / xxx and eventually want to produce at $3 / xxx.. This implied a total reduction of $ / mile all else being equal. The P.M. numbers show raw Hydrogen synthesis is more expensive end-to-end than petrol, but if the ratio of efficiency achieves projections, it will become 32% cheaper than petrol end to end. This will become moreso if Petrol prices rise (which they must eventually) - assuming Hydrogen synthesis is independent of Petrol.
One important thing to keep in mind.. My understanding is that we do NOT use electrolysis for Hydrogen synthesis at the moment. There are cheaper non-renewable methods.. So the actual costs of Hydrogen synthesis as they exist today will NOT scale to meet the current petrol demands! Prices will definitely rise in the medium-run if Hydrogen use grows. If you don't accept this assertion, I can go research it - just so I'm not completely heresay.
Seems like a liberal reading of the various articles. $8 / kg with a goal of $3 / kg was in the GE article. The 'traditional' costs were $1k / kg. Whereas the Hydrogen Fuel Cell in the Pop Mech article showed to be the most expensive annual cost of all available options. Compressed Natural Gas was half way between petrol and electricity. If the projected advances in Hydrogen synthesis reduce costs, and containment technology advances as well, I take Pop Mechanics to project Fuel cells at 68% of gas prices..
Of course a lot has changed since this article.. They show petrol at $2.34/gal, whereas I'd say it's more like $3.0 for all intents and purposes of current and future projections. They also rank electricity costs at $0.10 / KHW, whereas in my area it's $0.06 to $0.09 depending on time-of-day and time-of-year. Granted this is because of the regulated monopoly so this is really much below market rates.
All things considered, a plugin-in hybrid (where the hybrid part can be bio-diesel or E85 gas or whatever) makes the most sense to me.
I'm very much against growing fuel though. Currently in the US this means taking US subsidy dollars to product corn which is of the lower efficiency crops from which to produce fuel.. Corn prices world-wide rise as a result. But so do fertilizer costs and other costs of agreculture.
How do you know that there is not a single animal or plant that you consider wild that hasn't been in fact created by ancient humans through artificial selection and breeding that wouldn't happen in nature due to size/habitat/different mating habits? Wouldn't it be in fact an instance of intelligent design?
To the same degree that a chemical engineer that was taught to arrange various temperature-pressure chambers to synthesize molecules. But the real question is - do you credit the Chemical Engineer with God like status? He has created a foundry that fashions minerals that would never occur naturally on this planet. Can we generalize his powers? No! He's just a pion that can't do much outside of a small set of equations that he had no part is designing. He probably can't create timeless poetry or art. He probably can't get a race car or a horse to the finish-line fastest.
The conveyance of life to an engineer (An IDer) really is a poor spiritual analogy. All you are saying is that at least one aspect of our existance was crafted in a foundry by someone with enough knowledge to set up and or design that foundry. You can place no further moral or imperitive importance on that designer than one would of the potentially pedifilic Chemical engineer.
Of course ID is really just a stepping stone.. If ID proponents can get people to accept this as truth, they can derive entire religions and moral imparatives based on weak logical progressions.. If God created me and had a purpose, then that purpose would have been eventually made apparent to me. And You as a preacher are currently apparent to me. So maybe I should put my faith (and hard earned tithe money) into your pockets and let you tell me what to do.. But it's probably as good a conveance of God's will as I'm ever going to see. Hell, you're ID idea is just so dum gaud impressive.
The alternative is to sit in absolute amazement by the beauty of the cause-and-effect relationships we've thus far been laid witness to. To hunger to learn more - not just of physics, but of art, poetry, emotional complexity.. If quantum particles only bind together consistent with certain mathmatical relationships that permit only a finite range of combinations. And those combinations build at different scales into an amazing set of consistent and re-produceable patterns.. At ever higher and higher levels of organization (all again consisent).. Then why is it so hard to internalize the theory the biologically apparent life is a natural outcome.. That there was no universe without the patterns condusive to the natural sequential synthesis of life.
If this conjecture is true - that there a multi-path evolution of energy patterns (atomic orbitals, molecular combinations, acidic geometric formations leading to protein, later RNA then still later DNA inside a complex cell factory), then any question of an over-arching engineer becomes utterly boring. Everything can be seen from first-principle (in theory - not yet in practice). Those principles define the universe, NOT the engineer, which one day may be the alien race of Proteons (seeing life on various worlds) or the Chemical engineer facturing molecules, or even the geneticists creating new species. They're not doing anything that time and conditions wouldn't have done at least once somewhere in the universe.. If we had to synthesize is ourselves, it was merely because there was a natural ineffeciency that needed to be over-come.. Either via unlikely occurances of catalists, or certain temperature-pressure-geometric requirements that are unlikely in our current bio-sphere.
If this conjecture is true - God, be as God may, would be present only in the forming equations - not in the particulars of engineering and design.. The engineer is of no consequence (should the crafted Bee worship the bee breeder?). But with an initial rule-setting God view, what is this thing to worship? Surely all the fables ever told him "him" are primitive, false and frankly charlantanry (just as we would view
And yet people on Slashdot still quote his articles.
Look at it this way.. We're driving slashdot advertisement potential revenew as we have many more page clicks than their site. Secondly really it's just an excuse to forum the collective wisdom and idiocy of the slashdot community - which is really the whole point; keeping up to date on what everyone else knows.
Well, at least he wasn't saying anything about whether they were followers of the church of Jesus Chris of the Latter Day Saints. :) Or actually.. Do you prefer the Christians see Aliens and want to convert them (a la South Park Marklars) or do you like the whole Jesus visited his 'other flocks' on other planets theory? :)
That's easy.. To any die-hard believer, all you need to do is trace the history backwards from the believer to the beginning of time (as defined by the trace).
All of life can easily be explained by such hind-sight logic, and it's in an entirely cohesive and logical manner..
Consider the concept of the anti-pope.. History defines who the anti-popes were, and thus we can also define how the Devil brought about those anti-popes.. The devote worshipers would have been able to pray hard enough for God to have revealed the truth to them as time went along, but for the masses, including many of the history books, were not part of the elect and thus had a temporary period of a faith-crises.
I'm not being silly either.. This is an honest interpretation of how a logical mind can resolve conflict in the face of paradoxes. My preacher said these guys were deceived and those guys were pios.. And thus we disreguard the conflicting parts... We learn to do this for an entire life-time. We learn that conflict is the work of the devil, and thus WHEN we see conflict, we seek out simplicity.. That the Devil deceived scientists is the only logical conclusion (that removes all conflict) so it must be the case that our source of worship is true and these scientists (many of whom are without faith) are being led astray by the great deceiver.
When your goal is to find God (ignoring for a moment the fallacy that God must be found), then all things that bring you closer to achieving that goal (such as understanding what he wants you to do - ergo having a literal interpretation of the bible with lots of 'mystery' when it conflicts with itself) trump things that bring you away (such as scientific evidence that reduces long held beliefs).
Note I want to make clear that I don't appreciate when people single out Christianity.. Islam and Judaism are equally focused. A hardened believer will be just as outspoken in any environment.
But what about the phonon's generated by excited silicon? I've only completed undergraduate Electrical Engineering, but I do recall in the E-k diagrams that there was no direct excitation of electrons in silicon, there was instead a necessary k-shift (Energy + vigrational/heat-based phonons) for the electron migration. This means heat is necessarily generated, so the gp should be correct in that it's a heat factory.
I hate cock-roaches too.. Would you assume that this is a knee-jerk follow-the-fad reaction because everyone else hates them? Or might it be because of repeated personal bad experiences with them?
As others' have posted.. The extra width/height of the car makes them more of a driving hazzard for other vehicles.. I treat them almost with as much anxiety as when I pass a Mac Truck. Similar wind-sheer effect on smaller cars, similar lack of visibility, high degree of 'kick-up' of road debris. Similar lane-edge-sharing problems.
Parking-lot is trouble-some to A) pull up next to B) pull up in front of C) see around when pulling out.
There is a safety arms race.. Your SUV is safer than my mid-size because of greater innertia and (depending on the direction) crush-zone. Your higher car means you'll drive over my car - barely touching you, but guaranteeing my squashedness. So now nobody with any 9/11 fear-factor is willing to drive the smaller cars - not because they're not safe - they are (can take a brick wall head-on with no problems).. They just aren't designed to take a side collision with a tank doing 90.
In a micro-test sure.. But you can not scale this test out, as your battery will eventually die. Hybrids now are retarded in that they don't facilitate low-cost power-grid refilling. Instead you MUST use the gas to recharge the battery (no, we do not live in a perpetual motion world where 100% of the regenerative breaking recoups the power lost from acceleration, let alone power expended in coasting-friction).
In all likelihood, 100% city driving is probably significantly worse than a mixture of highway and city driving (where the highway provides an ideal operating environment for recharging the battery).
Sorry but I play yahoo games all the time and they are fast as lightning.. Just a short startup pause. Course the bastards have several activeX games so I cant play them on Linux...
you are only as secure as your underlying toolset. If you use a bloated framework so that you can do neat widgets, you increase the probability that any one component is insecure or unstable. JSON in AJAX and a couple other things are worrying existing developers. Most people are using SOME sort of AJAX framework that uses at least some of these faulty techniques (because they are mostly hacks).
Im actually curious how you think dynamic typing in JS is more advantagreous. Nohing drives me up the wall more than trying to debug JS and finding that I needed to go an extra field level deep for one HTML widget than another. Sure there are API docs, but I cant stand that something so simple to prevent is so glaringly impossible to codify into an intelligent editor. If you use notepad/vi and the same JS functions all day long, then sure opaque types save you some keystrokes. But why not use a heavy weight editor that validates as yo code - and yes, I consider a web page code tat should ideally even have unit tests.
Ummm no.. when was the last time a flash web site loaded in less than 2 seconds? how about a PDF page? Personally I hate most car web sites because I cant get to the important pages without 30 seconds of downloading flash apps (that dont even work in firefox / linux). But I anticipate car and real-estate pages to be this retarded (due to their high desperation levels).
A mail/office client should have as an OPTION, a cross platform fully featured, reliable and SAFE system.. AJAX has already demonstrated the problems here. flash I believe has a similar security problem.
Im curious to see if this new platform stands a chance.
what are the security considerations here?
:) Does anybody still use this style of mail server anymore?
/var or /tmp should probably not be put on this type of file-system.
No worse than block-allocations of the existing ext3.. You just have more than just one suite of data-blocks associated with one inode.
The '@' character might allow for some as yet not-conceived social engineering hacks.
Who can run the snapshot operation (most likely root), might be of concern.. I would assume that a system cron-task would be the target initiator.
can you delete the existence of file, as to ensure that it is not easily found again?
Considering that one of the original mandates of this project was to provide an auditable system, I'd say no. But it stands to reason that there is some fsck level operation that can wipe out non-current copys beyond a certain date. Even if it doesn't already exist, it's certainly possible if you've got unmounted block-level access.
what are the effects on hard-disc storage space, ie are there any estimates to how much extra storage is needed for this?
Hmm. I probably shouldn't answer this without reading the white-papers.. But why let that stop me.
Since it's block-level COW, it at least needs to get a "bit fatter" (har har).
Details not withstanding... There's the obvious duplication of all data-blocks that have changed.. BUT for every file + datablock change you have at least 1 allocation block that changes and possibly a copy of the inode info (which doesn't allocate a new disk-block, but does consume 1/kth of a block, depending on how many inode descriptions fit into a disk block). If changes have locality, then multiple data-block changes may only require a single allocation-block + inode change. But chances are that multiple changes in the same file will hit different allocation blocks. So you could see in the worst case 1/k + 2n disk block allocations, and at best 1/k + 1 + n allocations. Well, really, at best, we have 1/k + n allocations, because inodes store the first several data-block allocation references in the inode. Thus, if your changes within the first several kilobytes (or if your file is that small), your change overhead storage is minimal.
Two cases where this overhead is minimal are log files and small files. Small files, as already stated only require the inode to be copyed-off. Log-files are generally MASSIVE, but only ever touch the last allocation block (between snapshots).
Naturally random-access files like memory-mapped bookkeeping files (like those used in postgres and apache) would suck, the file would be guaranteed to be fully mutated on every snapshot. Thankfully they're pretty small (only a couple K).
source-code files and other documents generally are fully overwritten, BUT are VERY rarely updated (relative to their likely consumption of disk-space).
Email files are pretty static BUT the directory that holds them would get pretty chaotic. Unless you use mbox storage, then I guess it's more like log-files and would work great.
Low-activity databases could work (such as trivial mysql-based password tables, and other configuration-oriented database deployments). But any reasonable amount of write activity would overload your disk space in short order.
Pretty much anything in
What happens to old snapshots when the disk begins to fill up?
/var (and probably /tmp) should probably not use COW (or at least you should use crazy monitoring of disk-space like you never needed it before).
Ugh.. you asked the wrong question.. I've had to reread the question a couple times. Your 'old' snapshots should be unmodified, just like when ext3 fills up, you can always read your old data with zero problems.. The issue on ext is when you are out of unallocated disk blocks. Generally means you can't append to a file or create a new non-zero-byte file. But you were still able to mutate existing allocated blocks. The new problem is that after every snapshot, ANY updates of ANY existing blocks require the allocation of a new block. So in ext3, only some applications would fail, writes to stdout or stderr would cause file-IO errors (that are generally piped to log-files). If the application doesn't exit, then they can still continue to operate. But, things like databases generally continued to work, because they usually operate in a virtual file-system that uses pre-allocated disk-blocks. They also use pre-allocated journals. So generally they can guarantee that no single point of failure can corrupt the data (except for hard-drive block errors). But with COW, this assumption is no longer true.. And it's possible that a DB journal implementation can get into an invalid state if it gets a COW-full error.
Thus
Are snapshots atomic?
In Linux, a file-system is a kernel-level driver AFAIK, so I assume it has the power to perform an isolated kernel-level lock, just like a CD-ROM or floppy-disk would. So the real question here is, how long does this central atomic operation take? Or what does it scale based on.. # inodes (benefits partitions with small number of potentially large files), constant-time (by-design defers all delay to individual COW operations), change-set size (benefits rarely changing data like manually edited word-documents and configuration data). Can this DOS the system? (calling snapshot too often effectively locking every file-system operation).
What happens when a snapshot fails? What can cause a snapshot to fail?
Yeah, I second this.. But to call it ext3 AND be included in the kernel, I can only imagine that just like journaling on ext3, it's a pretty isolated, and only a minimalistically invasive feature.
wouldn't it be very comfortable for at least us developers to have a filesystem that worked something like Subversion
/etc, /usr, /home. Probably not so good for /var (unless rollback support is VERY efficient - imagine rolling back the database to an hour ago after a massive mistake). I absolutely love this for any registry-style configuration trees (basically most things in /home). Probably would suck for /tmp (as the whole point of that directory is usually for ultra-performance, plus it would quickly fill up the disk).
Something like.. Depends.. They solve very different problems. Consider the 'work-space'.. Where is that in the file-system version-control. Clear-case, the only other file-system VSC I'm aware of has an explicit 'view' directory structure which mirrors the read-only master data. All mutations of data are through admin commands (which don't act like a file-system at all) or manipulations with your particular view directory-tree. The goal of this project AFAIK is to have a single-command 'snapshot', and otherwise the file-system would emulate a normal file-system. clear-case requires an entire book of CLI commands which you have to learn to make their file-system operate in a useful way.
The reason you need a view in version-control is that you have multiple people editing the same file at the same time.. Aside from MS's file-locking in the 80s and 90s, it's never a good idea to share a view with two people (or obviously even two work-spaces).
When you want an atomic snapshot, it's going to be of all directories. But, by nature, different people will be in different states when this snapshot occurs. You can't cleanly separate out different project snapshots (or even tasks within the project) unless you use completely different file-systems (e.g. partitions).
Theoretically you could devise a file-system that works on sub-directory trees, but I can't imagine how that works with deleted files.. A non-directory/file-name specific method would work off inodes, which can live both inside and outside of a directory. Granted this is an implementation detail, but a non-trivial one. At least, not for UNIX environments.
So, in a primitive sense.. Having an NFS or SAMBA mountable drive, which people collaborate in, then have a periodic cron-task run snapshot can be pretty useful.. Especially if the data is mostly read-only (such as a website publication). Individuals can check-back and see what has changed in their HTML or image files pretty easily (by merely referencing an obscure file-name extension). Though GUI tools might be frustrated since you don't normally manually type in a file-name, you pick from a list, which gets populated with the appropriate directory-listing command, which necessarily would only ever look at the current snapshot.
Currently you can use subversion as this sort of shared-file-system through webdav clients (again, by using an external or periodic checkin command). So effectively nothing is gained in this respect.
Where I really see advantage is for the items that they list in their mission-statement.. Auditability/security, and backup support. If you install an RPM or run 'make install' as root, you can do a system-wide check of what has actually changed (though I haven't found their performance metrics on this). Depending on the available tools, you could effectively undo an RPM install (if nothing else, then by "cp $file@$timestamp $file" all over the place).
I see this as an excellent file-system for
Clear-case requires that your work-space be on a mounted volume called a view. So there is significantly more overhead to clearcase than subversion/cvs/rcs. It's been a while since I've worked with it, and it was on different hardware than I'd normally use, so I can't recall how efficient checkins were. Theoretically they would be efficient, because you've spread the cost of it over the course of all file-operations.
I agree with you. There isn't any difference between a software program and a rope that lifts your computer thereby making it more portable. If you can patent one, then you can patent the other.
What I disagree with you on is the intent of the patent.. You imply that since the definitions are functionally equivalent, we 'should' allow software patents. I'd only argue that if we must have a consistent law that serves no useful purpose, then yes, allow software patents, because it's more consistent.
But the fallicy is that by definition then, virtually every void main() {printf("hello world");} should be patentable, since it represents a potentially innovative idea. Hell, how we document our code should be patentable (and I'm not being sarchastic). If it's a process that makes our lives more efficient, then it meets the same criteria as an innovation of technology.
Here's the rub.. Patents utilize profiteering to encourage innovation. So the metric by which we should judge it's success is of innovation levels, NOT profit. But 200 years ago, it was impractical to be an IP-firm. You couldn't just have lawyers on staff developing millions of patents, but that is possible today. The wild-wild-west of software is an IP pie still waiting to be carved up. Imagine if the English language could be patented.. If ways of writing prose. If note-taking organizations. If virtually everything a human being could possibly do from sun-up to sun-down was patented by somebody.. Then how could life exist.. Every human would live at the mercy of a set of lawyers who must, by law, grant you permission to continue about your daily habbit.
This is the natural conclusion of modern efficiencies of process development. You can write software which writes patententable processes for you (given whatever the current arbitrary constraints of 'too obvious' are).
The system is collapsing in our generation, because the system is no longer relevant.
It is still, of course, a source of MASSIVE money making, so those that utilize it are going to continue to support it. But it is hardly a requirement for the sustanance of society. It is hardly needed to continue to spur innovation - at least not in it's current broad-definition form.
What is the R&D cost for a new drug? Perhaps in the billions because of trials and the shere blind-randomness of most of the products (but hey, Edison successfully worked that way). What is the cost of developing a small software algorithm? Basically a week's worth of time of a PHD if the algorithm is REALLY critical.. But 99 times out of 100, it's some guy with maybe a college degree. Maybe even a team of them.
How long does it take to recoup that cost? Is innovation really stiffled because an angel investor is afraid of paying one smart guy for a week of his time? Is the patent really changing anyone's investment decisions here?
As a legislator, what is the practical decision to make today? (Remember, this isn't a moral issue, but a societal-good issue) That the wild-wild-west of software, needs to be encouraged because we simply don't have enough of it? Or that we are slowly seeing the destruction of the software industry because it is becoming a legal mine-field to solve everyday coding problems? By my above metric, software synthesis was at a MASSIVE rate through the 90s with few if any software-related patents. So unless software synthesis in the late 2000's is exponentially higher WITH patents, the role of patents is innapropriate.
I would venture to say that the computer hardware industry is in a very similar situation as software.. When the number of patents on a commodity good approaches the thousands, there should be warning signs going off in a legislator's head. The main reason we don't have insanely expensive computer parts is that most of these patents are defense-oriented (you can't sue me, because we are cross-licensing, I can hurt you just as much).
At the far other end of the extreme is the medical industry,
Well, nobody is forcing you to pay the taxes. Its supply and demand, just like gas prices. The government found a demographic that they could exploit tax-wise. Likewise big oil is testing the elasticity of the new mellenium, which is pretty low. We'll likely see $5 gas soon, because the market CAN bear it. Now if only the gov would get past puritanism and start taxing Meth, cocain, and prostitution, we might clean up the inner city - much like abortion does (or at least did until pandering Republicanism takes full effect) [see freakonomics]
I can't remember the original source.. But in the book 'The God Delusion', there were references to several official big-bang theories.. One of which was the hypothesis that black-holes represent spontaneous synthesis of isolated sub-universes. Where information doesn't leak-back-in to the source universe.. Each sub-universe could have potentially deviant quantium properties such that the mass, charge, force-strenght, etc of various quantum particles would differ ever so slightly.. That by this process, universes actually evolve - ones that have unstable quantum characteristics quickly devolve (perhaps expanding too quickly, or collapsing back into itself, etc).. By virtue of the fact that our universe survived long enough to spawn life, this would represent a successful set of quantum characteristics - though there may be alternate sister, parental or child universes with more ideal states.
But, it stands to reason that such evolutionary universes don't allow cross-talk, that you wouldn't be able to worm-hole back into your neighboring universe. If nothing else, the difference in quantum properties would cause your physical person to become highly unstable.
Of course it's still conceivable that the sister universes have identical properties (that there is only one set), that perhaps only the differing ratio of particles (such as the over-abundance of matter v.s. antimatter in our universe). To which we may still survive in the alternate universe - just have to watch out for our alter ego.
Though, to me, an identical universe, or even a sister universe is kind of boring to me.. Just seems like infinity times k. whop-ti-doo. The only interesting cases to me, are the evolving universes or the true singularity of our universe.
Not being terribly savy with ID (I don't like butt sex either), but of course ID is self contradictory.. It merely replaces the 'randomness' of synthesis with the randomness of the whim of a pre-existing synthetic. How can someone/thing evoke free will to 'Design' without randomness? How random would it be that they create a contradictory historical dialog, utilize separation of scholars from the flock, allow people to learn contradictory things such as Jews are the chosen people, yet Germans will be among the 144,000 'tribesmen' that are raptured one day while driving in a car, or rather sticking a fork in the ground to cleanse it from touching both meat and dairy is out, but butt-sex is still punishable by death.
The randomness by which the culture of those that promote ID is as rare to have generate as the tornado that produced the 747.
But wait.. There was a 'plan' you say.. That's what makes it different? There was the will of God? There was some order in the chaos.. It was that which separated the holy and sacrad from the darkness? But... doesn't.. this.. sound.. like... the natural organization of atoms? Of the strong,weak,electro,gravitation forces promoting organization at ever higher scales.. That have a natural direction of synthesizing things that synthesize things that synthesize things, ad-infinitum. That order is intrinsic to the universe. That it is almost impossible to have a universe that does not naturally try to order itself, independent of free-will. Independent of a designer (save the undemonstrable initiator of the laws and motions - which subsequently and necessarily must be absent from all creation thereafter). And at least maintaining independence from the concerns with one out of thousands of tribes which each have their own center-of-the-universe views of nature.
But of course, the very same natural organization perfectly explains why these self-centric cultures became the way they did.. What culture could survive that said, 'nope, we're nothing.. Our neighbors are probably stronger than us.. smarter than us.. They owned their land before us, so we should just wander the resource-less desert'.. No, of course, those conquering Jews in the time of Mosus. The conqueroing Muslims. Those conquoring Christians, that imposed their world-view are what survived and ultimately evolved into self-contradicting cultural rule-sets.. The contradictions are disgused simply by not stating both elements of the equation at the same time.. People memorize the passages separately. Piece-wise, they make sense... But it is never required to be obsorbed as a single logical equation. And thus the masses can believe with almost no internal strife. 'God the father, son and holy ghost'. A self contradiction that we repeat to our children millions of times.. It just becomes fact - they internalize it the same way they internalize magnets. It's pervasive, so of course it's true.
Now, I challenge ID to as susinctly and intuitively define the anomolies of the universe as science can do to it.
The only thing ID can win the hearts and minds over that science cant.. Is the simplicity to comprehend that their dad once upon a time had answers that they didn't understand.. The dad would reveal things to them as it was necessary.. That dad would protect them in times of crisis.. That dad was there before you, and he has a sence of permanence.
This is such an appealing thing, that we naturally long for it when we're older and dad is no longer there to fullfill that role. We aren't looking for exact answers, we're looking for the knowledge that an answer does exist... So ID doesn't say what happened before the big-bang.. It says 'dad knows what happened, and he'll reveal it to us at the appropriate time'. Wow.. simplicity.. Something virtually anyone could understand.... But.. the life of a lemming is equally simplistic and easy to follow... Not terribly useful though.
In terms of viruses, almost all of them could be eliminated if they used a simple unprivledged user-space. Forget VM's, have each application run on as it's own unprivledged user.. Then viruses would be impossible.
The problem is that this is not useful to the user.. Windows (and Macs) exist because every application seamlessly interacts with every other application.. We're even seeing this in the gnome/KDE camp more and more..
People want to download a widget, click install, have it run as root to add to the local task-bar of all users.
This is impossible with VM's, but it's also very difficult with unprivledged users (ignore for the moment over-privledged Linux sudo access which is becoming prevalent).
Consider the windows registry (or the gnome equivalent). Every app can fuddle with every other app's data.. You have read-access to all your bookmark data, browser-history data, contact lists.. All you need to know is A) how to get the user to execute a semi-privledged process, B) the format of the application data.
Unless you change people's mindsets about application isolation, you're not going to get VM adoption.. And user-space isolation will be more resource friendly anyway.