When I was a kid the world was going to be destroyed by nukes. Either WWIII would happen and MAD would do us all in or a nuclear reactor would go out of control somewhere and destroy everything. Pay attention kids, that's really the way it was for us. They taught it to us in school, it was the theme of many of our Saturday morning cartoons, it was in every magazine and book and all over the TV.
We are not out of the woods yet - we will likely never be. In fact, I would say the situation is worse today than it was 20-30 years ago. Why?
First off, it isn't that "we're all going to die". Death isn't the issue: Extinction of the human race, by a minority of the population, is a very real possibility as long as mass numbers of nuclear warheads and missles remain. If it isn't an "extinction level event", it will most certainly be a "back-to-subsistence-level-event", should an all out global nuclear war occur. We really don't know what would happen in such an event, either during or after. We have, at best, guesses based on extrapolated data and post WW2 nuclear tests, not to mention the data gathered from the wartime (WW2) nuclear bombings of Hiroshima and Nagasaki (albeit small yields compared to today's nukes), and the conventional firebombings of Dresden and Tokyo during the same war.
I hope we never have to find out what the reality is. If we ever do, we will have failed as a sentient and reasoning species. For all we know, we may have failed the universe if such an event happens before we get off this rock. We will have failed all of humanity, from the dreamers and doers of the past to those of the cut-short future. Total, utter, complete, abject FAILURE.
Today, the threat remains, but it is larger than before. In the past, we had the concept of MAD - Mutually Assured Destruction. Basically, the concept that if my society dies, yours will die with it. Works fine in principle and practice, as long as neither force sees itself in a better position than the other, and feels it needs to attack first. Or, as long as neither side has a means to defend itself against the attack in a highly successful or complete manor (aka a working missle defence program). Furthermore, it requires that both sides exist at the same power level, and that both have reasoning, logical and determined leaders at their helms...
This is all out the door today. Today, there is really only one "superpower", the United States - and its role is slipping, while currently being headed by a man who thinks he has God's ear, with an administration who still mostly backs him (though this is changing rapidly, too). Even so, he doesn't seem fanatical about it - although I would hesitate to call him "reasoning and logical", unless you redefine those terms to fit, of course...
On the other side - there is no other side. We have various groups out, for their own purposes, seeking to control and/or destroy the western governments and nations, with the U.S.A. being at the top of the list. These groups are likely trying to gain access to nuclear weapons, etc - and will not hesitate to use one should one be acquired. Now, such an event of destruction would be localised, and wouldn't be seen as the epic events outlined above. However, what if such an event was carefully structured to make it look like China or Russia (or both?) were behind the bombing? Possible? Practical? Who knows - but what if?
Something that also made the concept of MAD work was that of communication - anytime something was done, however "iffy", which could have been perceived as a threat - lines of communications between our President and his counterpart in Russia were quickly opened, to establish whether it was real, a real threat, etc. This communication - dead man's diplomacy, midnight-hour chat - was done all the time, in various ways. It was real, it was necessary. In a few cases, it helped to prevent the disaster scenario. We came close more times than can be counted - and that is just what I know of the public scenarios that occurred. Who knows wh
Those who advocate for central control are clearly individuals and groups who do not understand the fundamental nature of robust networks (whether they be social networks of individuals, chemical networks of complex molecular reactions, electronic networks like that which compose internet, or even the wetware networks of neurons which make up the brain) according to recent knowledge.
Albert Laszlo Barabasi explains it all clearly and succinctly in his book, Linked, which should be required reading by everyone, because networks, with their inherent feedback loops, dynamic decentralized structure, and inherent robustness, exist in all facets of our lives. Understanding that these networks exist, why they exist, and how they work (and more importantly, how they don't work), is increasingly becoming essential to understanding our lives, our roles in life, workplace dynamics, etc - in short, living in today's networked world.
Attempting to move a robust networks away from the model of "intelligence at the ends, stupidity in the middle" will break such robustness, and cause the utility of the network, if not the network itself, to crumble. At best, it will mean even slower communications within the network, at an ever increasing price for both the users and controllers. At worst, it means the dissolution of the network, along with the dissolution of all that depends on that network (economically and socially).
I am not meaning this to be flamebait, but first you say:
I am also a True Believer and attend a worship service every Sunday.
then you go on to say:
That said, ID is NOT true science. It is simply a score of men who wish to get nonsense into our textbooks.
How do you do this?
I am serious. I am not saying religion is "nonsense", but it is most assuredly mythology. How do you get up each morning thinking to yourself "yes, this over here is science, and this is how the scientific method works, but I will ignore all of that knowledge and understanding when it is regarding this subject over here"...?
It is intriguing to me that individuals all over the world - many who are extremely and highly intelligent, some who are actual scientists - can hold on to this form of "doublethink", and compartmentalize their minds in such a way as to allow them to hold two self-contradictory paths of thought at one time. Let me also note that at one time I practiced a solitary form of Wicca, which is something I no longer do - but for the life of me I cannot figure out how and why I matured past such delusions and have moved on to secular humanism (for lack of another term). At the time I was practicing, I myself was holding those self-same contradictory notions - but I don't know how or why.
Do you know or have an understanding of such? Furthermore, do you think you will mature past it as I feel I have (I can say that I would probably have said "no" to this question when I was in your place)?
Perhaps you would be interested to read Stephen Wolfram's "A New Kind of Science".
The basic gist of the book (it is a very large and exhaustive work, with many examples and demonstrations) was:
a) that complexity can arise from a very simple and basic set of rules (rules which can even generate a UTM), and b) that such rules can arise spontaneously from a Universe of interacting particles and energy, over an expansive timeframe (I think he called it the "Theory of Universal Computation", IIRC).
You might find it interesting and enlightening - at worst, amusing.
Why the refusal to do it in Fortran? From what I understand, Fortran for a long time was the language used by scientists and engineers to study and develop simulations for their needs. In fact, I think it was designed for it originally. I don't know how well it has aged over the decades, but I do know that there are GPL'd implementations for most *nix platforms (though I don't know how "up-to-date" they are). Fortran isn't a difficult language (it looks almost identical to BASIC - maybe that is the aversion?), as far as programming languages are concerned. I don't think it ever matured to include OO features - but then again I haven't ever played around with it extensively.
I suppose, in the end, whatever you use - as long as you get correct answers - that is all that matters. Of course, if in getting those correct answers you have to do a lot of manual work (to manipulate numbers, etc) which could be automated in a programmed simulation - you may have an issue where your method takes longer (sometimes much, much longer) than a full simulation. There is also the issue of whether a simulation done in a different manner (like Excel) will run into any constraints within the program - where with most programming languages and compilers, etc - the only real issues will be "do I have enough memory and disk space" and "does it need to run faster".
For all I know - there might be specialized simulation software out there for scientists and engineers, which allows them to abstract the real world into a simulation, but not have to generate (and know how to) Fortran by hand (although the software might do that behind the scenes) - I am thinking something like "VB for Scientists" - but even more abstract than that - software that allows a scientist to build a quasi-pictorial representation of the process they are simulating, with appropriate inputs and outputs in a visual form, as well as allowing plugin via RS-485 (is that right - I am thinking the "lab-instrument" bus that is similar to RS-232 protocol) or something of real-world controls - that is, you could simulate the whole thing in software, then apply real-world input and output controls to see if it really worked under real-world conditions (and if it was robust enough and certified - maybe the software could compile an actual I/O module for the real purpose?).
If there isn't - sounds like it would be a great selling niche-market software business...
I can almost guarantee you that this particular HMD is not "the best one" out there (well, maybe the "best one" a consumer can afford). I find it funny how the marketing is saying that the horizontal field-of-view (FOV) is 360 degrees (so I guess I can look behind me without turning my head now). What they are showing there is marketing-speak - with the tracking system you can "look around" 360 degrees - but they say nothing about the true FOV (horizontal *and* vertical are both important for full immersion).
If you want to approach full immersion capability, you need the FOV to be at least 60 degrees horizontal by 45 degrees vertical (which describes the a "virtual" view frustum). At that setting, you will be nearly immersed, meaning the edges of the described frustum will be just inside your peripheral vision (for most people). For absolute full immersion, I would be looking at 75 degrees horizontal and 60 degrees vertical - per eye - minimum. Then you need to take in resolution and pixels per degree calculations. Believe me, 800 x 600 resolution (even 1024 x 768, or 2048 x 1024), over even a 60H x 45V degree FOV - is still very well in the "legally blind" range.
So - you have a trade-off to make, which is made even in the absolute best $25,000 HMDs: do you want resolution, or do you want immersion? Currently, you can't have both unless you are willing to spend a hella lot of money to get it (second mortgage, anyone?). Unfortunately, the trend in consumer HMDs has been to hype the resolution while downplaying the field-of-view (or outright lying about it via marketing-speak, as in the link you gave). The other "trick" marketing does, once they realize that they are marketing a device that has good resolution, but "feels" like you are staring down a paper-towel tube - is to market the FOV in "diagonal" measurements (50 degrees diagonal FOV!) - since most of the LCDs used are 4:3 ratio LCDs, though, this translates into 40 degrees horizontal by 30 degrees vertical - hardly immersive (couple it with a resolution of 640 x 480 or 800 x 600 - you are talking 10-20 pixels per degree or so visual acuity). Another "trick" is to give measurements like "watching a 60 inch screen 10 feet away" (sometimes even combining metric and standard units as well!) - gah!
Anyhow - I would save my money, or if you wanted to "try" something out, buy one of those units off of EBay for $99.00 (plus s/h). However, I am fairly certain you will be disapointed no matter what. If you are serious about this kind of a system, save your money and look for a used "pro/research level" HMD on EBay. They are rare, most don't come with trackers, but most of the time people don't understand what they are - and the bids go low sometime (recently saw an N-vision HMD - a very nice one - dating from around 1995-6, go for $26.00, plus $25.00 s/h). Another good candidate is a Forte VFX-1 system. Unfortunately, they require a VGA feature connector, something not found on current graphics cards. Their FOV isn't the best, and the resolution isn't great - but the backlighting is excellent, they are comfortable to wear (well balanced), excellent headphones, and the screen can flip up out of the way (great for VR development). I have played with one of these "back in the day" - and really enjoyed them for what they were. I have yet to get ahold of one, though (actually, I have way too many HMDs as it is) - they tend to go pretty high on EBay (approx around $200.00 or so).
Honestly, you would probably be better off trying to homebrew an HMD. Hack a couple of PSX or PS2 640x480 LCDs with a lens system together - you could have a nice system. Tracking would be difficult, but you could try the ole' Stuntmaster horizontal "tracker" trick (stick clipped to shirt that ran to a potentiometer in the headphone unit at ear level, so when you turned your head left/right, the potentiometer would rotate with it - this was then connected to your joystick port, or in the case of the Stuntmaster, to a comparator that triggered the left/right joypad on the Ninte
What he's proposing is a Savonius windmill. A fancy aenometer. Which we already do much, much better with the Darrius approach. The maximum possible energy that we can get out of the wind is 59%. Savonius windmills are far, far less efficient, as they rely on drag, and not lift.
I was going to comment on this as well. As someone who has been highly interested in windmills since I was a child (including building a simple wind generator when I was 12 using a bicycle generator), I instantly recognized it for a modified version of an "S"-rotor (Savonius) windmill. The only difference I could see in this version and the "classic" version is the addition of the wind-directing "airfoils". Whether these help or not (the inventor claims they do), the fact is that such designs have been tried in the past. Anyone who has read about homebrew alternative energy systems, knows that such designs have been tried in the past. This man may or may not have made some improvements since then - but I doubt it.
What most people today don't seem to realize, is that during the energy crisis of the 1970's, many, many old-time hippie-types and such got together and started to seriously "invent" a whole slew of alternative energy systems. Mother Earth News, Whole Earth Catalog (and The Well, of course), various alternative energy books - all were publications and such that either grew out of the movement, or helped the growth of, homebrew alternative energy systems. Several "homebrew" books were published which described a slew of windmill designs - from standard bladed designs (as well as restoring old "farm-power" windmills from the 1930's), to S-rotors, to more advanced designs. Most detailed homebrew charging systems and battery setups to complete the system for your "off-the-grid" living needs.
Unfortunately, since the public has such a small memory for history, they don't remember just how easy it is to build an S-rotor device (a few split 55 gallon drums, a welded frame, some guy wires, and an AC Delco alternator form the basis - any semi-competent tinkerer with a acetylene torch and some junk could build one for you in a week or less) - thus today you get people like this seeking to capitalize what appears to the public "something new". Of course, this guy looks old enough that he may have been one of the original hippy tinkerers, and he is looking to cash out (in whatever way) now - who knows?
Regardless, the S-rotor design, while lacking in efficiency, makes up for it in its strength of being able to be constructed out of surplus industrial containers, normally recycled as steel (or alluminum, or plastic nowadays) scrap. They are easy to build, and the materials are cheap - I would be willing to bet an individual could gather all the materials needed (including generator!) for free, provided he was willing to go around town on "bulk-trash" pickup days, and keep an eye out for junk on the road, etc. Even if he had to pay, he could gather all the materials for under $200.00.
Building such a windmill (provided you have the wind, of course - unfortunately, here in the Phoenix area we don't really have enough wind year-round to make it worth much effort beyond experimentation - but we do have plenty of sun for other alternative energy systems!), while it won't make you independent by itself, would form a useful and inexpensive addition to the rest of whatever system you may have. S-rotors are practically noiseless, and although inefficient, they are easily built so several could be built with little cash outlay - overcome the inefficiency issue by sheer number. If you are lucky enough to live on a large plot of land that you can do this kind of thing, and you have the tools, the skill, and the time, it is a worthwhile investment for your energy needs. Build it out of free junk, and as soon as it starts turning and making energy, you are saving money!
Not sure how well it would work in Nova Scotia, but there is a technique of refrigeration called "Night" or "Dark" Sky radiation.
Basically, you have a heavily insulated storage "unit" - an old, large chest freezer will work fine. Get rid of the compressor, coils, etc, then seal any holes or cracks. Dig a really large hole, deep enough to hold the chest, leaving a couple of feet completely around the box. Fill the bottom up with a foot or two of straw, old fiberglass insulation, sawdust, etc - basically some insulation material. Center the chest in the hole on top of this layer, then backfill more insulation completely around the unit on all sides. Take the lid and build a new cover for the top around the lid, adding 6 inches to a foot of insulation. Basically, you want to beef up the insulation something severe. If you want, you can also build this whole thing aboveground as well (for Nova Scotia, you might want to do this) - but it is more difficult. I imagine, though, a bunch of two-by-fours and some effort will see you through.
Once you have the unit built, operation is "simple" (though time consuming at inconvenient times for humans): In the daytime, leave the unit closed as much as possible to keep the cold inside the unit. When the sun sets completely (when it gets nearly completely dark and it cools down), open the unit up entirely. Any heat inside will radiate out toward the night sky. Before the sun rises the next morning, close the unit up. Repeat this cycle forever.
If you put a cookie sheet with a half-inch of water in the bottom of the unit, you can even make ice (though it will take a few cycles)! So - items that need to be kept the coldest stay at the bottom. I would imagine that a very enterprising person could build such a unit as a room, with the walls heavily insulated (maybe straw-bale construction, or something similar), with a retractable heavily-insulated roof section controlled by a computer or a simple solar cell tracker system. A door on the side would allow entry into the unit (maybe want to make it an "airlock" type system to keep the cold from exiting), and steel shelves inside would allow easy storage and retrieval of food items.
If you want to try the idea out, make a small version with a cheap camping cooler and a thermometer over a few night/day cycles, to see how far you can drop the temperature (I am not sure such small system would work well, though - it is one of those things where area of exposure might make all the difference). There is information on the internet about this kind of system - I am certain the Mother Earth News has also covered it in the past as well.
Finally - for you nitpickers out there concerned about my use of the word "cold" and "letting it out" - please be aware that I am aware of how heat moves, and that you aren't moving cold anywhere. I am just speaking in layman's terms here because it is easier for others to visualize...
I am not going to argue the "ethics" and "responsibility" of whether the data about us as individuals should or should not be ours. Personally, I think it should be, and I think we should have complete control of it, etc. However, this sentence from the submitter caught my eye:
The general public seems to think not, while our elected officials seem to think it's just fine.
I have seen this sentence in a variety of forms, but ultimately, it boils down to the perception by seemingly every member of the public that there is an US and a THEM. When and why did this mentality start?
Arguably, it could be said it has always been this way, for as long as there was a government and the governed. However, here in the United States of America, what has happened to cause us, the citizens, to view our government this way? Ignorance? Apathy?
We don't have "elected officials" - our government is supposed to be a representative democracy. All of the members of our government are elected as representatives of the people. The key word is "represent"! They are supposed to be elected to represent our interests, to represent in a analogous fashion who we are as individuals.
These people we elect are not meant to be our kings or queens. They are not the "ruling elite", and they should not be viewed, thought, or spoken of as so. To do so grants them more power and status than they deserve. We are not vassels under a lordship. We are free citizens of the United States of America in a representative democracy.
The way the submitter speaks in his writing (and it isn't just him - it is spoken this way of our representative on a wide ranging number of issues affecting the lives of you and I), seems to indicated that the ChoicePoint (or similar) issue didn't (and never can) affect the lives of our elected representatives. Why not? Why shouldn't it? Why do our elected representatives think (or know?) that it can't? If it can't affect our representatives, why should they care how it affects those who they represent?
If they don't, if they truly think this way, then we are nothing better than serfs fated to live out our lives in mediocrity. This isn't the United States I was brought up to know and love.
A famous quote by Thomas Jefferson, one of our country's founding fathers, reads:
The tree of liberty must be refreshed from time to time with the blood of patriots and tyrants
I dare to wonder if the time is nigh that we need to exercise our second ammendment rights, march on Washington, and water that tree a little. It is "We the People" and not "Us" versus "Them". The sooner the citizens and our representatives realize this again, the better off we and our country will be.
Go ahead and store all the capture cards you like, in another ten years they won't be worth shit.
I recently found (and purchased - I got so damn lucky) in an electronics junkyard here an Altair 8800. It needs a lot of work (very dirty and dusty, powersupply caps need reforming, everything needs careful disassembly and cleaning) before I can even think about switching it on (30 years will do that). I am already emailing others and discussing how I can get this thing to boot. I have a drive controller card (an old Northstar jobber), but finding drives (and the floppies - hard-sectored single-density floppies aren't easy to find, ya know) is going to be a pain. I would be happy if I can just get it perfectly cleaned up and working, even if I can't boot an OS. Just to see it come to life and blinkin' lights (ahem - LEDs) would be nice. I think if I try hard enough I will be able to find a way to get this machine running, in one form or another.
I have no doubt that if I can do this with a machine that old (not to mention rare), then anyone in the future will be able to do the same with old video-capture cards. The only way I can see that it wouldn't be possible would be if the jack-boots kick down people's doors (ala COPS) and take at gunpoint any and all "non-approved" electronic devices and repair/construction equipment (they better have a big truck just for my stash alone).
I hope we never have to see that day, but it seems like we are inching closer to it each month...
there's no way I want her to grow up and get a job in the tech field. It's not that I'm dissatisfied, but I have a vague sense that there has to be something better
First off, let me say I don't have any kids. I understand your wanting "something better" for your daughter, and I also understand that you want to cultivate in your daughter a sense that she can be who she wants to be, and not who you want her to be. The former can lead to independence and joy, the latter to resentment.
However, don't kid yourself about the tech field. IT and other knowledge-based industries are the *ultimate* jobs, for the people who love them and know history. These are jobs where an individual can get paid very good (sometimes excellent) money, sitting around in a cubicle or other work area, in air-conditioned comfort, just for thinking. Most of the time at these jobs, thinking is the greatest portion of the job. Given enough thought and proper design, the actual product takes little time to create, respectively. At no other time in history have there been so many of these kinds of intellectual jobs available at one time.
There is a downside. The fact that anyone who has a brain, two hands, and an internet connection to do the vast majority of these jobs for the lowest bid has helped to lead to the issues we in the tech industry see today, that of vast amounts of outsourcing. However, the knowledge worker job will not go away. It will, however, expand more. This will probably mean less money for everyone overall, but possibly more money for those with stronger and more varied knowledge skills.
Ultimately, cultivating in your daughter a sense that she can be and do whatever she wishes is the most important thing. However, if it turns out that she wants to go into a "tech field" - and really shows that she loves it, don't try to discourage her. Guide her as best as you can, teach her the strengths and pitfalls of whatever she chooses (and realize that what she thinks today may change in 2 weeks to 5 years depending on her age), and let her be happy with her choice. Ultimately, whatever job/career she chooses, she should be happy with that choice, and look forward to performing her job each day. One can either be happy as a manager at quik-e-mart, or depressed and frustrated dealing with court cases as a lawyer - or vice-versa, of course...
Personally, I prefer a good GUI layout tool if it is available. The layout tool in VB is pretty nice, quick and intuitive. For some screens I have developed in VB, which have a ton of controls (with each control having a ton of overridden custom properties) - I would not have to have had to code all of that mess by hand (having seen the layout code behind the forms in VB - the.frm files - they are crazy and not something easily done by hand). Of course, this may also have to do with the layout language, as well as application design (maybe some of those forms were too complicated and should have been refactored). One thing that VB lacked (except through third party controls) was a resizable control widget layout system. That was something that really bugged me.
I don't think it is absolutely necessary that Linux have a VB-like tool, but I do believe that if we ever want to see rapid adoption on the desktop by business-types (versus the gradual snails-pace adoption on the desktop that we see currently), a VB-like tool will be the ultimate driving force. The ability for a programmer (no matter how bad or good) to build applications quickly from an idea, to try "what-if" scenarios quickly and cheaply, is something that companies want and need. Ultimately, it doesn't matter what we think as developers - there is a market for this, and whoever ultimately gets there and does it in a good packaged system, is going to cause a near-revolution in Linux. Bet on it.
As far a Java is concerned - yes, Java is nice from certain points of view, but for me and others, the fact that it is so closely held on to by Sun (who at any moment could pull the rug out from all of us), precludes its use as a language for GPL'ed applications. For other uses, though - depending on the needs, of course - it can be an excellent language for development...
VB's ease of use is both what makes it great, as well as what makes it problematic - especially for those doing software development without any framework for properly developing software. Yes, this can and does lead to unmaintainable spaghetti code. Having to create a build environment for C/C++ doesn't alleviate this, however. All one has to do to prove that it is possible to create C/C++ spaghetti code in an actual saleable product, is to take a look at the code from Descent - that is one poorly structured game engine. Even so, most generally someone who knows the flow and such for a C/C++ build environment (ie, edit->link->compile->debug - or some such like that - it has been awhile since I last dinked with C/C++ on any larger scale), will generally produce better code - but I would hope that this would be the case regardless of the language used, even if it is VB.
You are right about VB's error handling - it is an attrocious model that should have been replaced with something better long before VB3 (along with the dropdown menu editor - but that is another gripe). Also, be aware that while GoTo is still a valid statement in VB, it is rarely used (the only time I ever had to use it was in the aforementioned VB error handling system which required it - why, oh why, didn't they at least allow an "On Error Call"...). Only newbies to VB (or oldsters who only remember Dartmouth BASIC or other older dialects) ever use the GoTo statement in their code. There is simply no real need to use it given that VB has a plethora of other control structures, all equivalently analogous to similar structures in C (Do...Loop, While...Wend, Do...Until, etc).
It all boils down to knowing the basic logical underpinnings of programming structure, grammatics, syntax, layout, logic, and proper design. If you are a programmer, and don't understand this (along with a bunch of other stuff) - you are going to be a crappy programmer, regardless of the language used. Ideally, any programmer should be able to compose their own logically and syntactically consistent pseudo-language at a drop of the hat to describe processes. They should be able to take this pseudo-code and convert that into the equivalent structure within their language of choice. If they are really good, they should be able to compose an interpreter which can "run" their pseudo-code. If they are CS experts, they should be able to build a compiler for it. I would expect a worthwhile programmer to at least be able to do the first two of those steps. Some can, some can't.
I can see you being upset and "tired of going through crap code". We have all been there, done that, and cursed the guy before us. However, I don't think making programming languages more difficult will do anything to solve that. If it did, only expert programmers would code in assembler - and I have seen far too much spaghetti code written in assembler to think that is true (assembler spaghetti code is the stuff nightmares are made of).
The only thing which will make better programmers is for better programmers to teach and train others better programming practices without an emphasis on the language used...
This is something we don't have much data on - yes, you can use the hydrogen directly instead of in a fuel cell where platinum has its own "peak" (unless there is another, more-plentiful catalyst that can be used?). Yes, I agree that this will likely be the way most of these vehicles would use hydrogen, at least in the short term. Over time, I would hope that better, more efficient engine designs that didn't rely on the energy-wasting reciprocating piston and crank system would be developed for hydrogen use - only time will tell.
However, what we don't know is what will the hydrogen do over the lifetime of the car or engine to the engine (and fuel supply system). Hydrogen is what makes water the "universal solvent". Hydrogen atoms migrate through almost (maybe all?) materials known to man. It makes steel brittle. How it will affect an engine running on it over the running life of the engine is a big unknown. Maybe it won't matter at all - or maybe you will need a new engine every couple of years (or a major overhaul).
I would hope the automobile manufacturers have done or will do this kind of a study before releasing these vehicles to the public. It would be in everyone's best interest...
so basically the strategy here is to take the shittiest developers from the windows platform and get them to write garbage code on linux?
This kind of attitude I am certain holds back many people who would be adopters and great supporters of Linux. I am certain there are many VB and other 'doze programmers who would be readily willing to help develop the pieces necessary to create a "VB-like" development system under Linux, but I bet they are put off by this attitude.
I have used and developed on Linux since 1997 - not a veteran by any means, but I have been here a long time. Guess what: I am also a VB programmer (VB6 was the last version I used at a former job - I don't use it at home anymore). I don't write "shitty" code. My code is clean, well structured, and well commented. Regardless of what language I use (and I know a slew of them), I always try to make my code shine first (maintainable), then optimize it where it is needed last. If such optimization requires me to "roll up my sleeves" and get down-n-dirty with some C/C++ and/or assembler, so be it (although this need hasn't been true for a while - last time I had to do some C coding was when I created a scanline triangle rasterizer for custom 3D engine I was coding in VB - ahem).
All of this isn't to say there aren't crappy VB coders - but there are just as many crappy C, C++, Perl, Python, etc coders as there are crappy VB coders. In the end, the language is just a syntax to tell the computer what to do. How you code and structure your program according to the syntax of that language is up to the individual programmer. If he is bad, the code will be bad, if he is good, the code will also reflect this. Personally, some of the crappiest code I have seen has tended to commercial game development houses (although I do give props to ID for having good code that is fairly readable, with comments where absolutely needed, and clear layout of algorithms where you can easily read the code and figure it out without too much headache). This could be due to a number of reasons (too many cooks and such), but then again, I have seen excellent code created by other commercial software companies as well. There are excellent VB coders out there - all one has to do is read a few back issues of Visual Basic Developers Journal to see that (the code they publish is *excellent* code, in terms of structure and readability).
Painting all VB developers as being "shitty" programmers does nothing but disservice to the abilities of those VB programmers who develop great code and software. It also does nothing to help their perception of the Linux development community. These are the programmers that the Linux community needs if it is ever to make serious inroads to the desktops in businesses. Many businesses worldwide utilize tons of in-house (and otherwise) custom developed VB applications, running on their Windows desktops, that aren't typically represented at all by similar software available for Linux. If the desktop is ever really wanted to be "owned" by Linux, the community of developers on Linux needs to see past the arrogant and elitist attitude it has towards VB developers, and instead extend a helping hand toward getting them onboard helping to develop an easy-to-use, RAD tool for the Linux desktop (it is my personal opinion that we are already 99% of the way there - notwithstanding the various VB-like RAD tools that do exist for Linux, I believe a modern approach could utilize Qt or Gtk coupled with Python under KDevelop or a similar IDE to create a very nice and extensible RAD tool that would attract many VB developers and others to developing software for Linux desktops).
However, computer viruses have an ability that biological viruses don't:
Near-instantaneous worldwide communication.
I can easily foresee the creation of a virus that does nothing but spreads, quietly and innocuously. Via rootkits and other methods (polymorphism, etc), it could spread and likely not be detected over the course of the infection. Each virus infection would have a counter, so that once the n-th infection has occurred (where "n" is some large number - say 1 million), that virus would send out a quick signal over the internet which all the other viruses are listening for, at which point they all wake up and say "game over", formatting the drive (at night, at next power-up, at low-activity time, etc), or do other malicious damage.
In a way, it is kinda like a countdown virus "bomb" - the host that is being infected in this case is the network itself, with the nodes being infected analogous to the cells of the host. Basically a virus that "liquidates" the nodes which make up the host network. Such a virus infection might wake the world up big-time, especially if it took down some large server farms or company-wide PC networks. Why it hasn't occurred yet is anyone's guess. Likely, it is because there is no profit-motive behind it, yet.
If you wanted to be paranoid, you might suppose that it actually has already started, we just haven't noticed the infection, nor has the countdown reached the requisite number of infected machines...
Ultimately, I know at a deep level that this guy hasn't done anything spectacular or special - his machine won't change the world. However, the sheer chutzpah of doing it! This is the hacker spirit at work, and this guy should be commended for it! This is "News for Nerds, Stuff that Matters"!
I just don't know which is more insane - the fact that this guy has built such a system, or the fact that I want to build one, too, in order to run a 16-color Mandelbrot set generator I wrote in highschool as a parallelized implementation!
The thing is, though, the system generated the grid, then to authenticate you later, it *randomly* picks a set of factors (actually, factor coordinates) for you to type in, sending you the coordinates of those factors (on the OTP grid you have), and you type them in (via an SSL secured page). It then matches the factors you typed in via knowing the coordinates it sent you, and sees if at the coordinates it sent you matches the data you typed in to what is in your profile. There isn't a way the attacker can get a copy of anything unless he copies the WHOLE thing (not impossible, sure, but ideally the user would be trained to know that he should keep secure access to the grid and not let anybody see it) - because the system is randomly choosing the grid coordinates to access. Unless the attacker gets really lucky and manages to copy the same numbers/coordinates that the system picks next, his guess won't likely match. I understand, though, that there are several other issues with this system that make it seem unworkable in a practical manner for most people - which is typical of most OTP systems.
There isn't really any way to get around the copying of the OTP - my thought on that was to train the user to keep the OTP safe (like you would your credit card and PIN number - although we both know that some people still have problems), and if it is ever suspected or known to have "gone missing" or copied, the user can easily cause the system to generate another OTP. Even so, other issues as pointed out by others cause this system to be fallible...
I have read over all of the comments, and yes, they all have merit. I may not have made it clear, but I was hoping to get across the idea that both the delivery of the OTP and the entry of the factors from it would be done via an SSL (or other) secured method.
Since my knowledge of crypto is weak (as clearly demonstrated by the numerous and insightful responses), I am curious as to how, if the delivery of the OTP and entry of the factors is done via SSL, how a man-in-the-middle attack would succeed? I am not saying it isn't possible - I just want to understand how it is possible, the mechanics to set this up even with SSL in the way (and if this is so, then aren't all SSL secured sites just as vulnerable currently?).
Now, I will concede that the need for the user to print out the pad is a point of vulnerability - in an office environment, one could see that the information could be sent over the network and captured that way, or the information might be stored on the hard drive of the printer/copy station, or any other number of ways, and in the home environment (as well as the office), you could in theory have loggers (put in by spyware or whatnot) capturing data sent to the printer.
As far as phishing attacks - not much can be done about this one except user education (and I know how little that can tend to help): I specifically laid out the idea that if there were an unsuccessful try or two, the account would be flagged to create a new OTP on next login for the user (although this might be helpful for a man-in-the-middle attack?) - so if the user was educated that they would *NEVER* get more than one or two trys before they had to get another OTP, they would know a phishing attack being used to try to guess the OTP layout.
Even so, it seems like this idea of mine is a wasted effort - if it isn't secure, it isn't secure. I suppose there may be ways to make it secure, but all of the ways wouldn't increase the convenience of it (one way would be to have the issuing party of the OTP require physical access to get the OTP after it is generated, instead of sending it to the user to print out - would work OK for an office, if handled by IT, but not for home use), and phishing attacks would still be possible...
AC, can you (or anyone else?) please elaborate on why this is insecure? I am not a cryptologist, so I don't take offence at your observation, but I would like a more in-depth explanation...
What you describe is true, but actually real hydrogen generating machines are fairly expensive, but this is mainly due to them being a niche product. Look up "Brown's Gas" - in relationship to welding. Basically, there is an industrial gas welding system (not unlike oxy-acetylene) that generates "Brown's Gas" - which is basically a hydrogen/oxygen gas mixture (instead of separating out the separate hydrogen and oxygen. You would never want to have this mixture in your car - it is HIGHLY explosive. These machines which generate this gas, while simple in principle, are quite expensive. Price them out if you don't believe me. Now, this doesn't mean that they are expensive to manufacture, as you note. They may be incredibly cheap to manufacture, with the rest going to profit...
Probably one that violates half-a-dozen patents, but is fairly easy to implement.
Something you have
Something you know
The second piece is simple - this is your password, just as it always has been. The second piece is not as simple, but not as hard as you think.
First, determine (or guesstimate) the average number of logins a user will do in a day to your system (whatever it is). Let's suppose it is three times a day (that may be a ridiculously low number, I know). Take that number, and multiply it by the number of days that you want to allow the use of "something you have" - let's say 30 days (or approximately 1 month). So, there you have 90 unique instances. Multiple that number by something I will call the "secure factor" - that is, the number of "somethings I have, to type in" - let's say in this case "4", for a total of 360. Take the square root of that and round up to the nearest whole number (in this case, 19), square it again to get your "number of values" - or in this case, 361.
Now, have your system generate 361 keyboard typeable characters and store them as a string in the user's login profile. Present this list to the user as a grid of numbers (in this case, a grid 19x19), marked off along the X-axis by letters, and the Y-axis by numbers. For a website this system would be VERY easy to implement.
When the user updates their password (which expires each month), they get a new grid of numbers to print out and keep with them. When the user logs in, the system presents a challenge to them for them to type in as part of thier login procedure - in our case, 4 "secure factors", like "A7 D9 A18 E10" - and they would have to type those characters from their grid into the provided area. The system would then take this, check it against what it has stored in the user's login profile, and if those numbers match, the login matches, and the password matches, the user is allowed access. Those numbers used are "marked off" as used in the user's profile, and a different set is picked on the next login. When all sets are used up, the user is prompted to change their password, thus generating a new set for the user as well (with instructions to throw away the old set). This system should allow for 3 logins a day for 30 days, or a shorter combo which expire quicker because you run out of values (longer combos will expire on the password expiration).
Thus, essentially, the "what you have" becomes a grid one-time-pad, generated when the password for the user is updated. For this system to be truely secure, the grid should be delivered over a secure channel (in the case of a web server, SSL) when it is generated. Other issues to think about is what to do if someone is trying to guess the one-time pad (maybe they have a scrap of it?) - maybe flag the account on a wrong attempt and have the user update the password? You would also need to think about what to do if the user has lost the pad.
All in all, this solution or something similar could be pretty robust, fairly compact (if you make the printed OTP compact), and portable across all systems. Plus, it is fairly easy and cheap to implement (and train for). However, as I cautioned in the start, it is probably a patented method, but I think such a system is so obvious I wouldn't be surprised if there existed a PEAR (PHP) or CPAN (Perl) module for it...
We are not out of the woods yet - we will likely never be. In fact, I would say the situation is worse today than it was 20-30 years ago. Why?
First off, it isn't that "we're all going to die". Death isn't the issue: Extinction of the human race, by a minority of the population, is a very real possibility as long as mass numbers of nuclear warheads and missles remain. If it isn't an "extinction level event", it will most certainly be a "back-to-subsistence-level-event", should an all out global nuclear war occur. We really don't know what would happen in such an event, either during or after. We have, at best, guesses based on extrapolated data and post WW2 nuclear tests, not to mention the data gathered from the wartime (WW2) nuclear bombings of Hiroshima and Nagasaki (albeit small yields compared to today's nukes), and the conventional firebombings of Dresden and Tokyo during the same war.
I hope we never have to find out what the reality is. If we ever do, we will have failed as a sentient and reasoning species. For all we know, we may have failed the universe if such an event happens before we get off this rock. We will have failed all of humanity, from the dreamers and doers of the past to those of the cut-short future. Total, utter, complete, abject FAILURE.
Today, the threat remains, but it is larger than before. In the past, we had the concept of MAD - Mutually Assured Destruction. Basically, the concept that if my society dies, yours will die with it. Works fine in principle and practice, as long as neither force sees itself in a better position than the other, and feels it needs to attack first. Or, as long as neither side has a means to defend itself against the attack in a highly successful or complete manor (aka a working missle defence program). Furthermore, it requires that both sides exist at the same power level, and that both have reasoning, logical and determined leaders at their helms...
This is all out the door today. Today, there is really only one "superpower", the United States - and its role is slipping, while currently being headed by a man who thinks he has God's ear, with an administration who still mostly backs him (though this is changing rapidly, too). Even so, he doesn't seem fanatical about it - although I would hesitate to call him "reasoning and logical", unless you redefine those terms to fit, of course...
On the other side - there is no other side. We have various groups out, for their own purposes, seeking to control and/or destroy the western governments and nations, with the U.S.A. being at the top of the list. These groups are likely trying to gain access to nuclear weapons, etc - and will not hesitate to use one should one be acquired. Now, such an event of destruction would be localised, and wouldn't be seen as the epic events outlined above. However, what if such an event was carefully structured to make it look like China or Russia (or both?) were behind the bombing? Possible? Practical? Who knows - but what if?
Something that also made the concept of MAD work was that of communication - anytime something was done, however "iffy", which could have been perceived as a threat - lines of communications between our President and his counterpart in Russia were quickly opened, to establish whether it was real, a real threat, etc. This communication - dead man's diplomacy, midnight-hour chat - was done all the time, in various ways. It was real, it was necessary. In a few cases, it helped to prevent the disaster scenario. We came close more times than can be counted - and that is just what I know of the public scenarios that occurred. Who knows wh
Albert Laszlo Barabasi explains it all clearly and succinctly in his book, Linked, which should be required reading by everyone, because networks, with their inherent feedback loops, dynamic decentralized structure, and inherent robustness, exist in all facets of our lives. Understanding that these networks exist, why they exist, and how they work (and more importantly, how they don't work), is increasingly becoming essential to understanding our lives, our roles in life, workplace dynamics, etc - in short, living in today's networked world.
Attempting to move a robust networks away from the model of "intelligence at the ends, stupidity in the middle" will break such robustness, and cause the utility of the network, if not the network itself, to crumble. At best, it will mean even slower communications within the network, at an ever increasing price for both the users and controllers. At worst, it means the dissolution of the network, along with the dissolution of all that depends on that network (economically and socially).
I am also a True Believer and attend a worship service every Sunday.
then you go on to say:
That said, ID is NOT true science. It is simply a score of men who wish to get nonsense into our textbooks.
How do you do this?
I am serious. I am not saying religion is "nonsense", but it is most assuredly mythology. How do you get up each morning thinking to yourself "yes, this over here is science, and this is how the scientific method works, but I will ignore all of that knowledge and understanding when it is regarding this subject over here"...?
It is intriguing to me that individuals all over the world - many who are extremely and highly intelligent, some who are actual scientists - can hold on to this form of "doublethink", and compartmentalize their minds in such a way as to allow them to hold two self-contradictory paths of thought at one time. Let me also note that at one time I practiced a solitary form of Wicca, which is something I no longer do - but for the life of me I cannot figure out how and why I matured past such delusions and have moved on to secular humanism (for lack of another term). At the time I was practicing, I myself was holding those self-same contradictory notions - but I don't know how or why.
Do you know or have an understanding of such? Furthermore, do you think you will mature past it as I feel I have (I can say that I would probably have said "no" to this question when I was in your place)?
The basic gist of the book (it is a very large and exhaustive work, with many examples and demonstrations) was:
a) that complexity can arise from a very simple and basic set of rules (rules which can even generate a UTM), and
b) that such rules can arise spontaneously from a Universe of interacting particles and energy, over an expansive timeframe (I think he called it the "Theory of Universal Computation", IIRC).
You might find it interesting and enlightening - at worst, amusing.
No - Daniken is wrong - it is Sitchin!!! Stairway to Heaven all the way, buddy!
I suppose, in the end, whatever you use - as long as you get correct answers - that is all that matters. Of course, if in getting those correct answers you have to do a lot of manual work (to manipulate numbers, etc) which could be automated in a programmed simulation - you may have an issue where your method takes longer (sometimes much, much longer) than a full simulation. There is also the issue of whether a simulation done in a different manner (like Excel) will run into any constraints within the program - where with most programming languages and compilers, etc - the only real issues will be "do I have enough memory and disk space" and "does it need to run faster".
For all I know - there might be specialized simulation software out there for scientists and engineers, which allows them to abstract the real world into a simulation, but not have to generate (and know how to) Fortran by hand (although the software might do that behind the scenes) - I am thinking something like "VB for Scientists" - but even more abstract than that - software that allows a scientist to build a quasi-pictorial representation of the process they are simulating, with appropriate inputs and outputs in a visual form, as well as allowing plugin via RS-485 (is that right - I am thinking the "lab-instrument" bus that is similar to RS-232 protocol) or something of real-world controls - that is, you could simulate the whole thing in software, then apply real-world input and output controls to see if it really worked under real-world conditions (and if it was robust enough and certified - maybe the software could compile an actual I/O module for the real purpose?).
If there isn't - sounds like it would be a great selling niche-market software business...
If you want to approach full immersion capability, you need the FOV to be at least 60 degrees horizontal by 45 degrees vertical (which describes the a "virtual" view frustum). At that setting, you will be nearly immersed, meaning the edges of the described frustum will be just inside your peripheral vision (for most people). For absolute full immersion, I would be looking at 75 degrees horizontal and 60 degrees vertical - per eye - minimum. Then you need to take in resolution and pixels per degree calculations. Believe me, 800 x 600 resolution (even 1024 x 768, or 2048 x 1024), over even a 60H x 45V degree FOV - is still very well in the "legally blind" range.
So - you have a trade-off to make, which is made even in the absolute best $25,000 HMDs: do you want resolution, or do you want immersion? Currently, you can't have both unless you are willing to spend a hella lot of money to get it (second mortgage, anyone?). Unfortunately, the trend in consumer HMDs has been to hype the resolution while downplaying the field-of-view (or outright lying about it via marketing-speak, as in the link you gave). The other "trick" marketing does, once they realize that they are marketing a device that has good resolution, but "feels" like you are staring down a paper-towel tube - is to market the FOV in "diagonal" measurements (50 degrees diagonal FOV!) - since most of the LCDs used are 4:3 ratio LCDs, though, this translates into 40 degrees horizontal by 30 degrees vertical - hardly immersive (couple it with a resolution of 640 x 480 or 800 x 600 - you are talking 10-20 pixels per degree or so visual acuity). Another "trick" is to give measurements like "watching a 60 inch screen 10 feet away" (sometimes even combining metric and standard units as well!) - gah!
Anyhow - I would save my money, or if you wanted to "try" something out, buy one of those units off of EBay for $99.00 (plus s/h). However, I am fairly certain you will be disapointed no matter what. If you are serious about this kind of a system, save your money and look for a used "pro/research level" HMD on EBay. They are rare, most don't come with trackers, but most of the time people don't understand what they are - and the bids go low sometime (recently saw an N-vision HMD - a very nice one - dating from around 1995-6, go for $26.00, plus $25.00 s/h). Another good candidate is a Forte VFX-1 system. Unfortunately, they require a VGA feature connector, something not found on current graphics cards. Their FOV isn't the best, and the resolution isn't great - but the backlighting is excellent, they are comfortable to wear (well balanced), excellent headphones, and the screen can flip up out of the way (great for VR development). I have played with one of these "back in the day" - and really enjoyed them for what they were. I have yet to get ahold of one, though (actually, I have way too many HMDs as it is) - they tend to go pretty high on EBay (approx around $200.00 or so).
Honestly, you would probably be better off trying to homebrew an HMD. Hack a couple of PSX or PS2 640x480 LCDs with a lens system together - you could have a nice system. Tracking would be difficult, but you could try the ole' Stuntmaster horizontal "tracker" trick (stick clipped to shirt that ran to a potentiometer in the headphone unit at ear level, so when you turned your head left/right, the potentiometer would rotate with it - this was then connected to your joystick port, or in the case of the Stuntmaster, to a comparator that triggered the left/right joypad on the Ninte
I was going to comment on this as well. As someone who has been highly interested in windmills since I was a child (including building a simple wind generator when I was 12 using a bicycle generator), I instantly recognized it for a modified version of an "S"-rotor (Savonius) windmill. The only difference I could see in this version and the "classic" version is the addition of the wind-directing "airfoils". Whether these help or not (the inventor claims they do), the fact is that such designs have been tried in the past. Anyone who has read about homebrew alternative energy systems, knows that such designs have been tried in the past. This man may or may not have made some improvements since then - but I doubt it.
What most people today don't seem to realize, is that during the energy crisis of the 1970's, many, many old-time hippie-types and such got together and started to seriously "invent" a whole slew of alternative energy systems. Mother Earth News, Whole Earth Catalog (and The Well, of course), various alternative energy books - all were publications and such that either grew out of the movement, or helped the growth of, homebrew alternative energy systems. Several "homebrew" books were published which described a slew of windmill designs - from standard bladed designs (as well as restoring old "farm-power" windmills from the 1930's), to S-rotors, to more advanced designs. Most detailed homebrew charging systems and battery setups to complete the system for your "off-the-grid" living needs.
Unfortunately, since the public has such a small memory for history, they don't remember just how easy it is to build an S-rotor device (a few split 55 gallon drums, a welded frame, some guy wires, and an AC Delco alternator form the basis - any semi-competent tinkerer with a acetylene torch and some junk could build one for you in a week or less) - thus today you get people like this seeking to capitalize what appears to the public "something new". Of course, this guy looks old enough that he may have been one of the original hippy tinkerers, and he is looking to cash out (in whatever way) now - who knows?
Regardless, the S-rotor design, while lacking in efficiency, makes up for it in its strength of being able to be constructed out of surplus industrial containers, normally recycled as steel (or alluminum, or plastic nowadays) scrap. They are easy to build, and the materials are cheap - I would be willing to bet an individual could gather all the materials needed (including generator!) for free, provided he was willing to go around town on "bulk-trash" pickup days, and keep an eye out for junk on the road, etc. Even if he had to pay, he could gather all the materials for under $200.00.
Building such a windmill (provided you have the wind, of course - unfortunately, here in the Phoenix area we don't really have enough wind year-round to make it worth much effort beyond experimentation - but we do have plenty of sun for other alternative energy systems!), while it won't make you independent by itself, would form a useful and inexpensive addition to the rest of whatever system you may have. S-rotors are practically noiseless, and although inefficient, they are easily built so several could be built with little cash outlay - overcome the inefficiency issue by sheer number. If you are lucky enough to live on a large plot of land that you can do this kind of thing, and you have the tools, the skill, and the time, it is a worthwhile investment for your energy needs. Build it out of free junk, and as soon as it starts turning and making energy, you are saving money!
Basically, you have a heavily insulated storage "unit" - an old, large chest freezer will work fine. Get rid of the compressor, coils, etc, then seal any holes or cracks. Dig a really large hole, deep enough to hold the chest, leaving a couple of feet completely around the box. Fill the bottom up with a foot or two of straw, old fiberglass insulation, sawdust, etc - basically some insulation material. Center the chest in the hole on top of this layer, then backfill more insulation completely around the unit on all sides. Take the lid and build a new cover for the top around the lid, adding 6 inches to a foot of insulation. Basically, you want to beef up the insulation something severe. If you want, you can also build this whole thing aboveground as well (for Nova Scotia, you might want to do this) - but it is more difficult. I imagine, though, a bunch of two-by-fours and some effort will see you through.
Once you have the unit built, operation is "simple" (though time consuming at inconvenient times for humans): In the daytime, leave the unit closed as much as possible to keep the cold inside the unit. When the sun sets completely (when it gets nearly completely dark and it cools down), open the unit up entirely. Any heat inside will radiate out toward the night sky. Before the sun rises the next morning, close the unit up. Repeat this cycle forever.
If you put a cookie sheet with a half-inch of water in the bottom of the unit, you can even make ice (though it will take a few cycles)! So - items that need to be kept the coldest stay at the bottom. I would imagine that a very enterprising person could build such a unit as a room, with the walls heavily insulated (maybe straw-bale construction, or something similar), with a retractable heavily-insulated roof section controlled by a computer or a simple solar cell tracker system. A door on the side would allow entry into the unit (maybe want to make it an "airlock" type system to keep the cold from exiting), and steel shelves inside would allow easy storage and retrieval of food items.
If you want to try the idea out, make a small version with a cheap camping cooler and a thermometer over a few night/day cycles, to see how far you can drop the temperature (I am not sure such small system would work well, though - it is one of those things where area of exposure might make all the difference). There is information on the internet about this kind of system - I am certain the Mother Earth News has also covered it in the past as well.
Finally - for you nitpickers out there concerned about my use of the word "cold" and "letting it out" - please be aware that I am aware of how heat moves, and that you aren't moving cold anywhere. I am just speaking in layman's terms here because it is easier for others to visualize...
The general public seems to think not, while our elected officials seem to think it's just fine.
I have seen this sentence in a variety of forms, but ultimately, it boils down to the perception by seemingly every member of the public that there is an US and a THEM. When and why did this mentality start?
Arguably, it could be said it has always been this way, for as long as there was a government and the governed. However, here in the United States of America, what has happened to cause us, the citizens, to view our government this way? Ignorance? Apathy?
We don't have "elected officials" - our government is supposed to be a representative democracy. All of the members of our government are elected as representatives of the people. The key word is "represent"! They are supposed to be elected to represent our interests, to represent in a analogous fashion who we are as individuals.
These people we elect are not meant to be our kings or queens. They are not the "ruling elite", and they should not be viewed, thought, or spoken of as so. To do so grants them more power and status than they deserve. We are not vassels under a lordship. We are free citizens of the United States of America in a representative democracy.
The way the submitter speaks in his writing (and it isn't just him - it is spoken this way of our representative on a wide ranging number of issues affecting the lives of you and I), seems to indicated that the ChoicePoint (or similar) issue didn't (and never can) affect the lives of our elected representatives. Why not? Why shouldn't it? Why do our elected representatives think (or know?) that it can't? If it can't affect our representatives, why should they care how it affects those who they represent?
If they don't, if they truly think this way, then we are nothing better than serfs fated to live out our lives in mediocrity. This isn't the United States I was brought up to know and love.
A famous quote by Thomas Jefferson, one of our country's founding fathers, reads:
The tree of liberty must be refreshed from time to time with the blood of patriots and tyrants
I dare to wonder if the time is nigh that we need to exercise our second ammendment rights, march on Washington, and water that tree a little. It is "We the People" and not "Us" versus "Them". The sooner the citizens and our representatives realize this again, the better off we and our country will be.
I recently found (and purchased - I got so damn lucky) in an electronics junkyard here an Altair 8800. It needs a lot of work (very dirty and dusty, powersupply caps need reforming, everything needs careful disassembly and cleaning) before I can even think about switching it on (30 years will do that). I am already emailing others and discussing how I can get this thing to boot. I have a drive controller card (an old Northstar jobber), but finding drives (and the floppies - hard-sectored single-density floppies aren't easy to find, ya know) is going to be a pain. I would be happy if I can just get it perfectly cleaned up and working, even if I can't boot an OS. Just to see it come to life and blinkin' lights (ahem - LEDs) would be nice. I think if I try hard enough I will be able to find a way to get this machine running, in one form or another.
I have no doubt that if I can do this with a machine that old (not to mention rare), then anyone in the future will be able to do the same with old video-capture cards. The only way I can see that it wouldn't be possible would be if the jack-boots kick down people's doors (ala COPS) and take at gunpoint any and all "non-approved" electronic devices and repair/construction equipment (they better have a big truck just for my stash alone).
I hope we never have to see that day, but it seems like we are inching closer to it each month...
First off, let me say I don't have any kids. I understand your wanting "something better" for your daughter, and I also understand that you want to cultivate in your daughter a sense that she can be who she wants to be, and not who you want her to be. The former can lead to independence and joy, the latter to resentment.
However, don't kid yourself about the tech field. IT and other knowledge-based industries are the *ultimate* jobs, for the people who love them and know history. These are jobs where an individual can get paid very good (sometimes excellent) money, sitting around in a cubicle or other work area, in air-conditioned comfort, just for thinking. Most of the time at these jobs, thinking is the greatest portion of the job. Given enough thought and proper design, the actual product takes little time to create, respectively. At no other time in history have there been so many of these kinds of intellectual jobs available at one time.
There is a downside. The fact that anyone who has a brain, two hands, and an internet connection to do the vast majority of these jobs for the lowest bid has helped to lead to the issues we in the tech industry see today, that of vast amounts of outsourcing. However, the knowledge worker job will not go away. It will, however, expand more. This will probably mean less money for everyone overall, but possibly more money for those with stronger and more varied knowledge skills.
Ultimately, cultivating in your daughter a sense that she can be and do whatever she wishes is the most important thing. However, if it turns out that she wants to go into a "tech field" - and really shows that she loves it, don't try to discourage her. Guide her as best as you can, teach her the strengths and pitfalls of whatever she chooses (and realize that what she thinks today may change in 2 weeks to 5 years depending on her age), and let her be happy with her choice. Ultimately, whatever job/career she chooses, she should be happy with that choice, and look forward to performing her job each day. One can either be happy as a manager at quik-e-mart, or depressed and frustrated dealing with court cases as a lawyer - or vice-versa, of course...
I don't think it is absolutely necessary that Linux have a VB-like tool, but I do believe that if we ever want to see rapid adoption on the desktop by business-types (versus the gradual snails-pace adoption on the desktop that we see currently), a VB-like tool will be the ultimate driving force. The ability for a programmer (no matter how bad or good) to build applications quickly from an idea, to try "what-if" scenarios quickly and cheaply, is something that companies want and need. Ultimately, it doesn't matter what we think as developers - there is a market for this, and whoever ultimately gets there and does it in a good packaged system, is going to cause a near-revolution in Linux. Bet on it.
As far a Java is concerned - yes, Java is nice from certain points of view, but for me and others, the fact that it is so closely held on to by Sun (who at any moment could pull the rug out from all of us), precludes its use as a language for GPL'ed applications. For other uses, though - depending on the needs, of course - it can be an excellent language for development...
You are right about VB's error handling - it is an attrocious model that should have been replaced with something better long before VB3 (along with the dropdown menu editor - but that is another gripe). Also, be aware that while GoTo is still a valid statement in VB, it is rarely used (the only time I ever had to use it was in the aforementioned VB error handling system which required it - why, oh why, didn't they at least allow an "On Error Call"...). Only newbies to VB (or oldsters who only remember Dartmouth BASIC or other older dialects) ever use the GoTo statement in their code. There is simply no real need to use it given that VB has a plethora of other control structures, all equivalently analogous to similar structures in C (Do...Loop, While...Wend, Do...Until, etc).
It all boils down to knowing the basic logical underpinnings of programming structure, grammatics, syntax, layout, logic, and proper design. If you are a programmer, and don't understand this (along with a bunch of other stuff) - you are going to be a crappy programmer, regardless of the language used. Ideally, any programmer should be able to compose their own logically and syntactically consistent pseudo-language at a drop of the hat to describe processes. They should be able to take this pseudo-code and convert that into the equivalent structure within their language of choice. If they are really good, they should be able to compose an interpreter which can "run" their pseudo-code. If they are CS experts, they should be able to build a compiler for it. I would expect a worthwhile programmer to at least be able to do the first two of those steps. Some can, some can't.
I can see you being upset and "tired of going through crap code". We have all been there, done that, and cursed the guy before us. However, I don't think making programming languages more difficult will do anything to solve that. If it did, only expert programmers would code in assembler - and I have seen far too much spaghetti code written in assembler to think that is true (assembler spaghetti code is the stuff nightmares are made of).
The only thing which will make better programmers is for better programmers to teach and train others better programming practices without an emphasis on the language used...
However, what we don't know is what will the hydrogen do over the lifetime of the car or engine to the engine (and fuel supply system). Hydrogen is what makes water the "universal solvent". Hydrogen atoms migrate through almost (maybe all?) materials known to man. It makes steel brittle. How it will affect an engine running on it over the running life of the engine is a big unknown. Maybe it won't matter at all - or maybe you will need a new engine every couple of years (or a major overhaul).
I would hope the automobile manufacturers have done or will do this kind of a study before releasing these vehicles to the public. It would be in everyone's best interest...
This kind of attitude I am certain holds back many people who would be adopters and great supporters of Linux. I am certain there are many VB and other 'doze programmers who would be readily willing to help develop the pieces necessary to create a "VB-like" development system under Linux, but I bet they are put off by this attitude.
I have used and developed on Linux since 1997 - not a veteran by any means, but I have been here a long time. Guess what: I am also a VB programmer (VB6 was the last version I used at a former job - I don't use it at home anymore). I don't write "shitty" code. My code is clean, well structured, and well commented. Regardless of what language I use (and I know a slew of them), I always try to make my code shine first (maintainable), then optimize it where it is needed last. If such optimization requires me to "roll up my sleeves" and get down-n-dirty with some C/C++ and/or assembler, so be it (although this need hasn't been true for a while - last time I had to do some C coding was when I created a scanline triangle rasterizer for custom 3D engine I was coding in VB - ahem).
All of this isn't to say there aren't crappy VB coders - but there are just as many crappy C, C++, Perl, Python, etc coders as there are crappy VB coders. In the end, the language is just a syntax to tell the computer what to do. How you code and structure your program according to the syntax of that language is up to the individual programmer. If he is bad, the code will be bad, if he is good, the code will also reflect this. Personally, some of the crappiest code I have seen has tended to commercial game development houses (although I do give props to ID for having good code that is fairly readable, with comments where absolutely needed, and clear layout of algorithms where you can easily read the code and figure it out without too much headache). This could be due to a number of reasons (too many cooks and such), but then again, I have seen excellent code created by other commercial software companies as well. There are excellent VB coders out there - all one has to do is read a few back issues of Visual Basic Developers Journal to see that (the code they publish is *excellent* code, in terms of structure and readability).
Painting all VB developers as being "shitty" programmers does nothing but disservice to the abilities of those VB programmers who develop great code and software. It also does nothing to help their perception of the Linux development community. These are the programmers that the Linux community needs if it is ever to make serious inroads to the desktops in businesses. Many businesses worldwide utilize tons of in-house (and otherwise) custom developed VB applications, running on their Windows desktops, that aren't typically represented at all by similar software available for Linux. If the desktop is ever really wanted to be "owned" by Linux, the community of developers on Linux needs to see past the arrogant and elitist attitude it has towards VB developers, and instead extend a helping hand toward getting them onboard helping to develop an easy-to-use, RAD tool for the Linux desktop (it is my personal opinion that we are already 99% of the way there - notwithstanding the various VB-like RAD tools that do exist for Linux, I believe a modern approach could utilize Qt or Gtk coupled with Python under KDevelop or a similar IDE to create a very nice and extensible RAD tool that would attract many VB developers and others to developing software for Linux desktops).
Near-instantaneous worldwide communication.
I can easily foresee the creation of a virus that does nothing but spreads, quietly and innocuously. Via rootkits and other methods (polymorphism, etc), it could spread and likely not be detected over the course of the infection. Each virus infection would have a counter, so that once the n-th infection has occurred (where "n" is some large number - say 1 million), that virus would send out a quick signal over the internet which all the other viruses are listening for, at which point they all wake up and say "game over", formatting the drive (at night, at next power-up, at low-activity time, etc), or do other malicious damage.
In a way, it is kinda like a countdown virus "bomb" - the host that is being infected in this case is the network itself, with the nodes being infected analogous to the cells of the host. Basically a virus that "liquidates" the nodes which make up the host network. Such a virus infection might wake the world up big-time, especially if it took down some large server farms or company-wide PC networks. Why it hasn't occurred yet is anyone's guess. Likely, it is because there is no profit-motive behind it, yet.
If you wanted to be paranoid, you might suppose that it actually has already started, we just haven't noticed the infection, nor has the countdown reached the requisite number of infected machines...
This guy actually seems to have built an 8-processor parallel computer using Apple IIe mainboards! With a custom networking system using the game port! Then, over the top of that, he used the machine with other custom software to make an 8-voice sound synthesizer system, using the native hardware (where each "voice" has 5 virtual bits of sample playback capability using PWM square-wave modulation of the native speaker output)!
Ultimately, I know at a deep level that this guy hasn't done anything spectacular or special - his machine won't change the world. However, the sheer chutzpah of doing it! This is the hacker spirit at work, and this guy should be commended for it! This is "News for Nerds, Stuff that Matters"!
I just don't know which is more insane - the fact that this guy has built such a system, or the fact that I want to build one, too, in order to run a 16-color Mandelbrot set generator I wrote in highschool as a parallelized implementation!
The thing is, though, the system generated the grid, then to authenticate you later, it *randomly* picks a set of factors (actually, factor coordinates) for you to type in, sending you the coordinates of those factors (on the OTP grid you have), and you type them in (via an SSL secured page). It then matches the factors you typed in via knowing the coordinates it sent you, and sees if at the coordinates it sent you matches the data you typed in to what is in your profile. There isn't a way the attacker can get a copy of anything unless he copies the WHOLE thing (not impossible, sure, but ideally the user would be trained to know that he should keep secure access to the grid and not let anybody see it) - because the system is randomly choosing the grid coordinates to access. Unless the attacker gets really lucky and manages to copy the same numbers/coordinates that the system picks next, his guess won't likely match. I understand, though, that there are several other issues with this system that make it seem unworkable in a practical manner for most people - which is typical of most OTP systems.
There isn't really any way to get around the copying of the OTP - my thought on that was to train the user to keep the OTP safe (like you would your credit card and PIN number - although we both know that some people still have problems), and if it is ever suspected or known to have "gone missing" or copied, the user can easily cause the system to generate another OTP. Even so, other issues as pointed out by others cause this system to be fallible...
I have read over all of the comments, and yes, they all have merit. I may not have made it clear, but I was hoping to get across the idea that both the delivery of the OTP and the entry of the factors from it would be done via an SSL (or other) secured method.
Since my knowledge of crypto is weak (as clearly demonstrated by the numerous and insightful responses), I am curious as to how, if the delivery of the OTP and entry of the factors is done via SSL, how a man-in-the-middle attack would succeed? I am not saying it isn't possible - I just want to understand how it is possible, the mechanics to set this up even with SSL in the way (and if this is so, then aren't all SSL secured sites just as vulnerable currently?).
Now, I will concede that the need for the user to print out the pad is a point of vulnerability - in an office environment, one could see that the information could be sent over the network and captured that way, or the information might be stored on the hard drive of the printer/copy station, or any other number of ways, and in the home environment (as well as the office), you could in theory have loggers (put in by spyware or whatnot) capturing data sent to the printer.
As far as phishing attacks - not much can be done about this one except user education (and I know how little that can tend to help): I specifically laid out the idea that if there were an unsuccessful try or two, the account would be flagged to create a new OTP on next login for the user (although this might be helpful for a man-in-the-middle attack?) - so if the user was educated that they would *NEVER* get more than one or two trys before they had to get another OTP, they would know a phishing attack being used to try to guess the OTP layout.
Even so, it seems like this idea of mine is a wasted effort - if it isn't secure, it isn't secure. I suppose there may be ways to make it secure, but all of the ways wouldn't increase the convenience of it (one way would be to have the issuing party of the OTP require physical access to get the OTP after it is generated, instead of sending it to the user to print out - would work OK for an office, if handled by IT, but not for home use), and phishing attacks would still be possible...
AC, can you (or anyone else?) please elaborate on why this is insecure? I am not a cryptologist, so I don't take offence at your observation, but I would like a more in-depth explanation...
What you describe is true, but actually real hydrogen generating machines are fairly expensive, but this is mainly due to them being a niche product. Look up "Brown's Gas" - in relationship to welding. Basically, there is an industrial gas welding system (not unlike oxy-acetylene) that generates "Brown's Gas" - which is basically a hydrogen/oxygen gas mixture (instead of separating out the separate hydrogen and oxygen. You would never want to have this mixture in your car - it is HIGHLY explosive. These machines which generate this gas, while simple in principle, are quite expensive. Price them out if you don't believe me. Now, this doesn't mean that they are expensive to manufacture, as you note. They may be incredibly cheap to manufacture, with the rest going to profit...
The second piece is simple - this is your password, just as it always has been. The second piece is not as simple, but not as hard as you think.
First, determine (or guesstimate) the average number of logins a user will do in a day to your system (whatever it is). Let's suppose it is three times a day (that may be a ridiculously low number, I know). Take that number, and multiply it by the number of days that you want to allow the use of "something you have" - let's say 30 days (or approximately 1 month). So, there you have 90 unique instances. Multiple that number by something I will call the "secure factor" - that is, the number of "somethings I have, to type in" - let's say in this case "4", for a total of 360. Take the square root of that and round up to the nearest whole number (in this case, 19), square it again to get your "number of values" - or in this case, 361.
Now, have your system generate 361 keyboard typeable characters and store them as a string in the user's login profile. Present this list to the user as a grid of numbers (in this case, a grid 19x19), marked off along the X-axis by letters, and the Y-axis by numbers. For a website this system would be VERY easy to implement.
When the user updates their password (which expires each month), they get a new grid of numbers to print out and keep with them. When the user logs in, the system presents a challenge to them for them to type in as part of thier login procedure - in our case, 4 "secure factors", like "A7 D9 A18 E10" - and they would have to type those characters from their grid into the provided area. The system would then take this, check it against what it has stored in the user's login profile, and if those numbers match, the login matches, and the password matches, the user is allowed access. Those numbers used are "marked off" as used in the user's profile, and a different set is picked on the next login. When all sets are used up, the user is prompted to change their password, thus generating a new set for the user as well (with instructions to throw away the old set). This system should allow for 3 logins a day for 30 days, or a shorter combo which expire quicker because you run out of values (longer combos will expire on the password expiration).
Thus, essentially, the "what you have" becomes a grid one-time-pad, generated when the password for the user is updated. For this system to be truely secure, the grid should be delivered over a secure channel (in the case of a web server, SSL) when it is generated. Other issues to think about is what to do if someone is trying to guess the one-time pad (maybe they have a scrap of it?) - maybe flag the account on a wrong attempt and have the user update the password? You would also need to think about what to do if the user has lost the pad.
All in all, this solution or something similar could be pretty robust, fairly compact (if you make the printed OTP compact), and portable across all systems. Plus, it is fairly easy and cheap to implement (and train for). However, as I cautioned in the start, it is probably a patented method, but I think such a system is so obvious I wouldn't be surprised if there existed a PEAR (PHP) or CPAN (Perl) module for it...
Yes, I have a form mail page on the site...