To the original poster: It is entirely possible, but you're going to need to learn a lot about modern automation and configuration management tools appropriate to the types of maintenance you're looking to automate. You also need solid vision and alignment on how you're going to achieve this level of automation across multiple parts of your business -- Development, IT, the Business, everyone. They all have to buy in and commit, because all of those folks have the ability to fuck it all up if everyone isn't on the same page. You can't do it alone on the admin side. As a start, I would suggest learning about Continuos Integration/Continuous Delivery and Agile and Devops methodologies to get started on the road to where you want to be.
To the rest of you:
The original comment ("Learn and use Puppet") is grossly oversimplified -- there is a lot more to it -- but with proper implementation of configuration management software (Chef, Puppet, Salt, etc), proper automated testing (think Jenkins, Teamcity, etc) and a real commitment in your organization to Continuous Integration and Delivery practices, you can easily do regular automated maintenance. Yes -- sometimes it will break and you'll have to clean it up. But properly and thoughtfully implemented in policy and practice, those times when it breaks will be the exception that proves the rule.
Forgive the argument from authority, but at our firm (International, thousands of primarily linux servers across 14 countries and 40+ datacenters, mostly bare-iron, some virtualization) we have regular daily and weekly automated maintenance. We handle all sorts of significant change -- driver updates, software upgrades, network switch configuration, even forklift OS upgrades involving the full re-imaging of a bare iron system combined with re-deployment of software (including things like databases and hadoop clusters) -- automatically and without human intervention on a regular basis. And by regular I mean daily.
The attitude that "Murphy always wins" or "something will fail and you will have failed by not being there to fix it immediately" is a relic of a time when the tools available to manage large scale infrastructure were inadequate or unavailable. Again, there are failures that will require manual intervention, but if you are doing your jobs well as developers, network admins, systems admins, 'devops' [NOTE: I strongly object to that term being used as a job title, but that's how folks have started using it] then you should be able to conduct automated hands-free production change at 2am on a Saturday and sleep like a baby knowing that when you check your upgrade report in the morning 99% of the time everything will have gone off without a hitch.
Frankly if you approach complex infrastructure management with that defeatist viewpoint of "things will always fail", you are doing yourself and your employer a disservice, and you are severely restricting your career prospects. My company is not in any way unique in our ability to automate and manage our infrastructure, and maintaining that type of outdated attitude is going to cause lots of doors to be slammed in your face. Do you really believe the Googles, Facebooks and Amazons of the world rely on having a human being white-knuckling every change in their infrastructure?
One additional note: If your infrastructure is designed such that you cannot push change without guaranteed downtime or the risk of downtime then you have failed to design your infrastructure properly.
I'd mainly argue that the punishment is grossly inflated compared to the "crime". The individuals in question submitted properly formatted GET requests to a public website AT&T provided, collecting two pieces of information: The unique identifier for an iPad and the email address of the user who registered the iPad. They didn't get real names, phone numbers, addresses, social security numbers, etc. They didn't spam the users' inboxes. They didn't attempt to spoof the ICC-ID's to get unregistered iPads onto ATT's network. There's about a bazillion harmful things they did not do.
But they were sentenced to 41 months in prison? That seems disproportionate.
And from a technical specification, they didn't do anything unusual at all. I'm curious how much of their sentencing depends on the difference between sitting in front of a browser and typing in 100,000 URL's by hand to get the data v. writing some script to loop through and do it automatically.
Anyway, to your point: 'Stealing private information and releasing in [sic] publicly isn't just obviously illegal, it caused grief for 114,000 people". My responses would be: a) email addresses are arguably not private, and to the extent that email addresses are private information, AT&T provided them on a public website. b) I wasn't aware my iPad had an ICC-ID, but even if that's private information (and useless to anyone not in possession of my iPad, since it's solely used for validating my device when connecting to AT&T's 3G network): again, AT&T provided the information on a public website. c) releasing the information publicly is certainly rude, but I'm not sure why it should be _obviously_ illegal. d) what grief was caused to those 114,000 people?
The only part of the sentence that makes some sense to me is the fine. AT&T does have an argument the release of this information harms their corporate reputation (as it should. Shame on them for leaving this out where anyone could grab it), but I would think that harm would better be remedied in civil court, rather than a criminal proceeding.
CTA (chicago transit authority) platforms do have displays which show when the next train will arrive. On newly renovated platforms, it's on an LCD display, on older platforms it's displayed on a simple digital text bar. However, in both cases, the displays rotate through the next arrival and other information (including ads on the LCD's), so it's easy to miss the info you're looking for.
Sorry, I realized I skipped over the statement "a lot of people have never heard of SAP or Oracle".
Really? Then why are they working in your IT department? Would you hire a pilot who'd never heard of a 747? Or a programmer who'd never heard of Fortran?
Your arguments reflect a lack of understanding of current technology. In order, the simple rebuttals are:
1) OpenOffice -- supports most (if not all) Excel formulas, and imports all Excel 2K document formats. 2) LDAP 3) Cobbler/Puppet -- You don't know what they are, but that's ok, because you think that the retail install of windows provided by your vendor is acceptable on the corporate desktop, so your opinion on this issue really doesn't count. 4) RedHat offers paid support for Linux. Also, no business succeeds by having "the same issues that your competitors have". If that's your attitude, then your company has already lost.
For the record: I don't use Linux as my primary desktop OS. Securing Windows desktops is an annoying task, but it is doable. Ignorance like yours annoys me more, but correcting that ignorance is also doable.
Forgive me for not reading all the posts, but I did get through those moderated high, and I'd like to clear up the reason (if not the true historical origin) of the 2x RAM rule for swap.
The actual reason to create a swap area (through file, dedicated partitions, disks, etc) that is sized at 2x physical RAM is so that you can both:
a) reserve swap pages equal to total ram. b) swap out idle process pages equal to total ram.
Many applications reserve virtual pages in the swap area to ensure that in the event the memory manager pages the application out to swap there will be enough swap available to hold the process. Oracle is a perfect example of an app that, by default, will do a disk page reservation for portions of the SGA and PGA. So if you've got a server with 8GB of memory + 8GB swap on which you've allocated 6GB to the oracle SGA and PGA, you'll see around 5-6GB of swap utilized once oracle's up and running, even though no portion of the process page space is actively residing on disk.
Now, if that's the case, then what happens when your memory manager needs to actually swap something out of physical memory to virtual (disk) pages? Well, the system has a lot less virtual page space to work with, and it's possible to encounter allocation issues if new processes are started. To avoid that problem, you add another 8GB of swap (working off the 8GB physical ram example). Now, even if you are running 8GB of programs which require a one-to-one ratio between physical pages and virtual page reservations, there is still enough swap available for the memory manager to swap ALL of the processes in physical memory out to disk and allocate physical memory to new processes.
Now, is it ever going to happen that you actually end up needing to both reserve swap == physical ram AND swap out your system's RAM worth of processes? Not if your admins have the first clue what they are doing, no.:) But by using the 2X rule, you pretty much idiot-proof your memory manager for any application profile and any OS.
Of course, if you are knowledgeable about your operating system and the actual usage of your server, you will almost never take this generalized approach. Modern Unix OS's and applications normally will have alternative configurations that allow you to avoid swap reservation (v_pinshm, for example, in AIX 5.3 and later), as well as tuning the behavior of the virtual memory manager to better handle situations where the system has a low free page count. It's important to remember, though, that the consequence of allocating too little swap is the memory manager killing processes to recover free pages, and in a production environment, the process it kills will inevitably be the one resulting in you receiving a 4am wakeup call.
Personally, I will usually run with swap space == total physical memory, and upgrade the server the minute I start seeing page outs to disk. That's probably not an option for the desktop unix crowd, but it's a good rule for any unix servers running an application that requires even the lowest level of guaranteed performance. Swapping is bad. End of story.
Thanks for your time, and as always, I reserve the right to be wrong.
I'll grant you that the goal of the do-gooders was a little ephemeral compared to giving the poor food, but if your goal is sustainable improvement of the lives of the economically downtrodden, you need to do more than simply give them something to eat. Also, it's pretty damn insulting to a poor person to imply that their biggest problem is putting food on the table. Maybe their biggest problem, now that they've solved the food and housing issue, is helping their kids to a better life. You know what might help with that? Access to a computer and the internet at home.
One of the most difficult barriers to entry for folks from low-income backgrounds trying to gain some upward mobility is the lack of access to technological services/devices that those of us raised in a middle-class environment consider basic tools of life. How can you move from slinging burgers or picking strawberries (definitive low class jobs) to secretarial or temp office work (entry level middle class jobs) if you don't have a computer, or access to the internet, or excel, or MS word, etc? These guys were setting out to help bridge the "digital divide" -- explicitly trying to provide access to the online resources the middle and upper classes have to people who don't normally have access to them.
The poor have a variety of needs, don't patronize them by assuming the only need you see is the only need they have.
You seem to be implying that this is like Microsoft charging for Visual Studio. It's not.
You see, I can still run Cygwin or MinGW on Windows, and there are third-party compilers. Not so with the iPhone -- I'm not sure if it's even illegal, but it certainly requires more than simply writing the software.
So, "go it on your own" may not be a viable option -- not because Apple isn't helping, but because they are actively hindering.
I don't think your comparison is valid. You're comparing Microsoft Windows XP (or Vista, or whatever) to an embedded version of OS X running on a proprietary (and closed) device. If apple were running this same type of scenario in relation to OS X 10.5 running on your laptop, then hells yeah you'd have a reason to scream bloody murder. But that's not what we're talking about here. We're talking about a closed embedded cellular device for which the manufacturer has just opened up the SDK to the public with restrictions on usage, and with barriers to entry. Which isn't that different from having to pay Microsoft for a copy of the XBox SDK, or Sony for the PS3 SDK -- both of which are closed platforms for which the primary vendor must approve third party software distribution.
Yes, anyone can write a piece of software for Windows, or OS X, or Linux, or Solaris, etc. But those are open operating systems, designed to be completely open for third party development. The iPhone, while it runs an OS that derives from the OS X Apple ships on its laptops and desktops, is NOT an open operating system. It's a closed, proprietary consumer electronics device. Just because one vendor of a closed platform chooses to open their Development Kit to the world without restrictions doesn't mean that every other vendor has to, or is morally corrupt for not doing so.
Maybe I'm getting old, but this seems like a pretty clear case of "oh crap, I'm an idiot", rather than "mwuahahah, my plan for global domination proceeds apace!". According to the posting on codinghorror, the guy who found the issue (Dustin Brooks) found that the creator, John Terry, of the G-Archiver software had left his own email information in the code. Yes, the G-archiver forwarded a record of the account information of everyone who used the app to that mailbox, but if you look at the screenshot, none of those emails has been flagged as read by gmail (but maybe that's an artifact of a POP connection?).
Either way, this just smacks to me of a novice developer doing something incredibly dumb, rather than incredibly malicious. If he actually wanted to just collect other people's account information, why leave his own in the source code? He could have just as easily forwarded the information to an anonymized email account, or simply an account for which the login information was not present in source.
In what way is this OK?
If Microsoft wanted to charge you $100 to run Firefox on Windows, you would burn them at the stake. The only thing that makes Apple different is that they aren't a monopoly... yet. I think there's an important distinction between installing a browser on a desktop OS used on 80% of computers and installing a browser on an embedded OS used solely on one model of cellular telephone. Also, you don't have to pay $100 to run Firefox on your iPhone, some developer has to pay $100 to provide you with a free copy of Firefox to run on your iPhone. If they wanted to charge you for it, they'd be paying ~$250, which is the next tier of pricing apple has for using its "App Store" distribution channel to sell software for the iPhone.
There's a lot of decent (and somewhat rational -- 'gratz slashdotters!) arguments on both sides, but for me, it comes down to this:
I bought an iPhone a couple of weeks ago 'cause I thought it was neat, and I liked the existing features over my current cellphone (namely the built-in Ipod and visual voicemail). Now, apple's released an SDK, and in June when they release update 2.0 for my iPhone, I'll be able to download and install some cool apps without having to first jailbreak my phone. That's icing on top of my "hey, this is a neat phone" cake.
I think that folks are missing a big point, here: folks who have iPhones already, or are already "planning to get one" when their cell contract ends, or the price comes down, or when there's a 32GB version, or a 3G version, etc. don't care if there isn't java support, or if a developer has to pay a fee to get access to Apple's distribution channel. All they (we) care about is, "Oh, neat, there are going to be some new apps for my iPhone. Maybe they'll be some games! That'll be cool!".
Frankly, the biggest problem with the iPhone (IMNSHO) is the lack of Flash support, and that's got nothing to do with Apple, that's simply due to Adobe not having an ARM compiled version yet. C'mon, Adobe, get with it!
It seems to me that while potentially useful, your idea of passing out sub-projects from software companies or IT teams in developing nations to a group of open source coders in the Western world doesn't really advance the goal of the UN initiative. As another poster mentioned, there are more serious problems to overcome in many developing nations that make "bridging the digital divide" realtively meaningless. I believe someone else pointed out that what these nations really need isn't code, but IT infrastructure.
Those are valid points, but I think the fundamental idea of the UN program is to provide technology experts who can not only assist in local projects, but also transfer their expertise through the course of working on those projects. A group of US/UK/GER/FRA/etc coders whipping out brilliant and useful code for sub-projects is certainly helpful, but it doesn't go very far in creating a communal working environment wherein the presumably more experienced techs volunteering can pass their knowledge and experience on to the local techs. Sure, the locals can read your brilliant source code, but they don't get to participate in the development of that code necessarily, and having their questions answered via email is nowhere near as positive a learning environment as working on the code with a real person next to them who can answer their questions and point out interesting tidbits on the fly.
The real digital divide is knowledge based, and the best way to close that gap is to teach someone how to do it themselves, not tell them to send the hard parts to someone else to do for them.
Of course that's just my opinion, and I'm probably wrong
Please, this post is flame-bait. The article clearly recognizes the rise in prominence of linux in the server market, points out that by market share one can argue that linux is now the #2 deployed server OS, beating out UNIX, and notes that the promise of license-free open-source software has been mostly achieved.
The point of the article is simply that linux deployments on the PC desktop continue to be dwarfed by windows. Like the entire tech community didn't already know this.
Flame me if you will, but allow me to point out this simple real-world statistic:
I work at a datacenter that has two environments, Unix (primarily Solaris, but some HP's) and Windows (NT 4.0, though we're told we'll someday be rolling out 2k, but that date has been pushed back steadily for over a year). We have, at last count, just under 2000 Unix servers. OLTP DB servers, calc servers, web servers, jrun servers, sybase AND oracle, development servers running a mainly clearcase environment, as well as good old fashioned Unix desktop boxes. Our Unix staff is fifteen people, running a 24x6 shop.
We also have roughly 1000 Windows machines -- desktops, web servers, DB servers, Exchange servers, etc. The Windows staff is close to fifty people.
Now I'll be the first to admit that quality Unix engineers and admins are more expensive than quality Windows engineers and admins. However, you can't tell me with a straight face that a Unix admin to unit ratio of roughly 1:125 versus a Windows admin to unit ratio of roughly 1:20 doesn't point out something slightly profound. I often hear arguments that the achilles heel of Unix (in a business environment) is the high cost of skilled administrators. But fifteen admins at 80k a pop is certainly better than 100 admins at 40k a pop. (that's 1.2 million $ a year Unix v. 4 million $ a year Windows, for those of you who can't find your calculators)
At my office, we've gotten real tired of headhunters and placement firms sending us people who call themselves "Unix Admins" and have taken Solaris 101, or AIX 101, or whatever and think they know what they're doing. Here are questions that we ask every candidate. If they answer a couple wrong, no biggie, but some of them are gotchas. BTW, this is UNIX specific (frankly, WinX admins aren't system administrators. They're WinX admins. A system administrator supporting a WinX box is a very unhappy person.)
1. What are the fields in the passwd file? What do they mean, what do they do?
2. How does enabling shadow passwd's change the functionality of user authentication?
3. Pick your favorite Unix flavor. Pick your favorite HW in that flavor. Walk me through a system load, the whiteboard is over there.
4. What are Unix runlevels and how do they work? Flavor-specific answers are acceptable.
5. What's a socket? What's a port? How do you reserve them? how are they related? How do you find out what's going on with them on a system? (again, pick your flavor)
6. Do you know Perl?
7. If the answer to 6 is No, then why the hell not?
8. How would you grab the middle 300 lines of a 1000 line file, grab the second field of every line in that range, and sort the result alphabetically using only piped commands from the toolbox?
9. Do you know vi?
10. Pick your favorite Unix. Great, now tell me how you would a) mirror the rootdisk, b) grow an existing filesystem, or c) modify the partition table for a disk on that OS.
11. What are the various levels of RAID and what differentiates them?
12. What do you know about NIS? (or NIS+, or LDAP).
13. What do you know about DNS?
14. What do you know about NFS? Automounting?
15. What do you know about Firewalls?
16. Describe the various metrics and procedures you would use to evaluate the performance and system utilization of a Unix machine.
17. What's your biggest fuck up, and how did you fix it?
18. If you didn't know how to do something, how would you go about figuring out how to do it?
19. Do you smoke? Drink Coffee? Drink?
And finally:
20. Ok, pretend for a moment that the entire network crashes and the CEO is in your office wanting to know why. What do you say?
:-)
Pogie
(The only good NT server is a down NT server)
Let's say you are a programmer, and you have a full-time job programming for your employer. Here are a couple of situations that occur to me where there could be a legal grey area:
1) Let's say you write your own library toolkit or whatnot to add on to a GPL'd piece of software. Like a package of extensions for emacs, or a set of quant or math libs to be used with gcc. You want to publish it on the web for other to use under the GPL since, after all, it's only useful when combined with the GPL application. Your employer says "No, you are in our employ, we're going to release these libraries compiled and under a closed-source license." Now:
a) On face, who's right?
b) Assuming this WASN'T specifically assigned or budgeted by the company, but you did it while working on a project in order to make your work easier, who's right?
2) You work for a company as a programmer, and on your own time, in your own home, you write a fabulously effective and highly marketable piece of software. You want to release it GPL, but your boss gets wind of it and says "No, your are employed as a programmer, all of your work while under our employ belongs to us." Who's right?
I realize these may be questions more geared towards who owns what when you're employed as a coder, but I'm tossing them out anyway.
Some may not think this is a good deal, but the folks in my team and I have been pretty happy with it.
We're a 24/5 shop, but we rotate coverage on the weekends. Since we don't normally get paid by the hour, but refuse to work weekends without compensation, we get comp time. You get a call or have to come into the office for a weekend you're covering, and you get that many hours (although it's usually >4 hours = 1 day) off at a later date.
Last weekend I had to swing by the office for three or four hours to handle a server down situation, and so I'm taking friday off.
It's not a stupid question. Here's my response, but if there are economists out there, they can give you a better (and probably more correct)answer:
Covad, Northpoint, Rythms, etc, are all service-based businesses with massive infrastructure costs. It costs a lot of money to install the bridges and switches in each ILEC CO so that they can hook up residences and businesses with DSL. While they do sell stock, they also built most of their infrastructure BEFORE the IPO's, using venture-capital (or other bond type) funding. Now, basically this means that they took out a bunch of loans, which they have to make regular payments on.
The problem with the stock dropping is that a public company (one that sells stock) is technically only worth as much as the value of it's issued shares. So when the stock price drops by 98%, the value of the company drops by 98%, at least on paper. Add to that the negative value of massive loans that need to be repaid, and suddenly (on paper) the company is worth less than zero. This doesn't mean the company's bankrupt, it just means that the paper value of the company is zero. If they keep making money hand over fist each month, and paying their creditors on time, etc, then eventually the company will climb out of debt and start accumulating non-market value, which presumably would get reflected in the stock price once shareholders start receiving dividends again.
The big whammy in this case is that the DSL providers are having problems getting their customers to fork over the cash. So even though the DSL provider is spending large amounts of cash on a monthly basis to maintain their infrastructure, lease space at the CO, pay the Electric comany, etc, their influx of cash from their customers isn't stable. So what does a company do when it's customers aren't paying but it has to pay the bills? It takes out a loan based upon the company's value, and pays it's bills.
But in the case of these DSL folks, their value is in the toliet. And while everyone wants to loan you money when you're trading at 50 bucks a share, nobody wants to loan you money two months later when the net worth of the company is somewhere around zero (on paper).
That's why they care about their stock price. This explanation may be plain wrong, so don't hang your hat on it, but it's how I think things work.
The GridEngine system from Sun is an LSF-type batch-queueing/load-balancing system. Sun bought GridWare, which was an independent German company previously, and is looking to bundle the GridEngine with it's workstations, promoting the 'spare cycle' idea.
In answer to your question, yes, GridEngine can run anything. It isn't an MPI-type implementation which requires you to modify your code. GridEngine allows you to set up multiple execute resources, based on processor type, OS, memory, disk, I/O, runqueue usage, or really any heuristic you want to implement. You submit your job, with whatever resource requirements you need, and then GridEngine runs it on the available resource which meets your requirements. There's also a Q3-ish available product called GRD, which allows you to further allocate resources on a more policy-style basis. This piece will be a licensed add-on, but it provides the enterprise with the ability to divvy-up compute farm resources on the basis of users and groups, etc.
GridEngine also comes with a "grid-enabled" interactive tcsh, so you can have an interactive shell running which is actually spawing work all over the compute farm, as resources are available. There's also a "enabled" make, which does the same thing for builds.
It's pretty neat, but I think it's more effective in a dedicated compute-farm type of installation than a "let's use spare desktop cycles" kind of installation.
We're talking about the internet, right? What if the hop time out of the west coast gets too high, and so your email to your buddy in Tokyo goes through a switch sitting in Croyden? I wonder: what's the usual route between Atlanta and Lisbon? What about companies doing international business, communicating with clients via email? All of a sudden, IMHO, England looks like a big horking packet sniffer for traffic between North America and Europe.
What do you more legal-minded types think of the international implications of this?
Tech support is not here to educate the user. Tech support is here to solve the user's problems as quickly as they can. Rarely do you have time to explain to an end user exactly what went wrong with their machine, and even if you do, rarely do end users want to hear it. And most of the time, IMHO, the cause of the problem is usually an action of the user. There's nothing wrong with this, of course, everyone makes mistakes, so you try to explain what they did to cause the problem and what they might do in the future to avoid it, and they suddenly don't have the time, because they've got a meeting, or they suddenly HAVE to send an email RIGHT THAT SECOND, and listening to you gets renice'd down on the priority list.
Non-savvy users expect the explanations for how the computer works to be as quick and painless as the internet, or their email, or the icon they punch to print their document. When the explanation they want to hear moves beyond the realm of "short, simple, and easy to understand", most users say something equivalent to, "Well, I guess you have to be a computer geek to understand," and get on with their lives. Why? Because they have better things to do than sit there listening to the tech support guy explain stuff, and besides, if it doesn't work they can always call tech support.
Occasionally, you get lucky and a user actually wants to know, which is a cause for rejoicing. More generally, though, I think users take tech support for granted, and working tech support (especially front line support) can be mind-numbingly frustrating (as I'm sure you all know). Frustrating jobs tend to cause those working them to seek an outlet through which to vent their frustration and anger. Personally, I'd rather see all the techies laughing and smirking over strips like User Friendly than running around going postal.
Every other culture on the planet is allowed a certain degree of lassitude in it's exclusionary humour, why treat techies any different? If we didn't make fun of end users, we'd probably kill them, which I'm sure would hurt their feelings a lot more than witty comics like User Friendly and Absurd Notions. As my mother always told me, "Fu** them if they can't take a joke!"
(sitting here in complete disbelief that Scott Kurtz was taking himself seriously when he wrote that Rant) Eric Pogrelis
The development of Anti-Ballistic Missiles (ABMs) and the general technology of a Theater Missile Defense (TMD) was spurred as a way around the standoff of Mutually assured destruction during the cold war. The ABM ban was demanded by USSR because if the United States successfully put a working TMD in place, the US could launch a preemptive nuclear strike without fear of retaliation. It would eliminate the effectiveness of nuclear weapons as a deterrent, and return them to the strategic arsenal as an actual weapon.
Congress' support of the 'new' Star Wars program, in combination with their recent refusal to ratify the nuclear test ban treaty looks less and less to me like thoughtful assertion of US power, and more like a bunch of cocky morons (I'm referring to the congress here, not the loveable/. crew) pushing the United States into a position as the only viable nuclear threat. Yes, other countries are developing nuclear weapons (including India and Pakistan's recent 'weaponizing' of their nuclear program), but I would assert that the proper US response would be treaty development and diplomacy, rather than setting the US up as the 'country to beat', so to speak.
Having a defensive system which (in theory) would render the US virtually invulnerable to ballistic weapons delivery is just as much a deadly weapon as a submarine loaded with chemical, nuclear, and biological weapons, not to mention the Tomahawks to drop them off on your front doorstep. Just because 'defense' is in the name of this system does not mean it serves no offensive purpose.
And is it just me, or does the thought of a payload of biological and/or chemical agents being blown up in the mid-upper atmosphere by a US ABM system scare the living sh** out of you guys, too?
What's the techie job market like overseas, anyway? I've poked around a bit, and most of the stuff I see tends to be positions with American companies that have overseas offices. Somebody got a knowledge base on this one? --me.
To the original poster: It is entirely possible, but you're going to need to learn a lot about modern automation and configuration management tools appropriate to the types of maintenance you're looking to automate. You also need solid vision and alignment on how you're going to achieve this level of automation across multiple parts of your business -- Development, IT, the Business, everyone. They all have to buy in and commit, because all of those folks have the ability to fuck it all up if everyone isn't on the same page. You can't do it alone on the admin side. As a start, I would suggest learning about Continuos Integration/Continuous Delivery and Agile and Devops methodologies to get started on the road to where you want to be.
To the rest of you:
The original comment ("Learn and use Puppet") is grossly oversimplified -- there is a lot more to it -- but with proper implementation of configuration management software (Chef, Puppet, Salt, etc), proper automated testing (think Jenkins, Teamcity, etc) and a real commitment in your organization to Continuous Integration and Delivery practices, you can easily do regular automated maintenance. Yes -- sometimes it will break and you'll have to clean it up. But properly and thoughtfully implemented in policy and practice, those times when it breaks will be the exception that proves the rule.
Forgive the argument from authority, but at our firm (International, thousands of primarily linux servers across 14 countries and 40+ datacenters, mostly bare-iron, some virtualization) we have regular daily and weekly automated maintenance. We handle all sorts of significant change -- driver updates, software upgrades, network switch configuration, even forklift OS upgrades involving the full re-imaging of a bare iron system combined with re-deployment of software (including things like databases and hadoop clusters) -- automatically and without human intervention on a regular basis. And by regular I mean daily.
The attitude that "Murphy always wins" or "something will fail and you will have failed by not being there to fix it immediately" is a relic of a time when the tools available to manage large scale infrastructure were inadequate or unavailable. Again, there are failures that will require manual intervention, but if you are doing your jobs well as developers, network admins, systems admins, 'devops' [NOTE: I strongly object to that term being used as a job title, but that's how folks have started using it] then you should be able to conduct automated hands-free production change at 2am on a Saturday and sleep like a baby knowing that when you check your upgrade report in the morning 99% of the time everything will have gone off without a hitch.
Frankly if you approach complex infrastructure management with that defeatist viewpoint of "things will always fail", you are doing yourself and your employer a disservice, and you are severely restricting your career prospects. My company is not in any way unique in our ability to automate and manage our infrastructure, and maintaining that type of outdated attitude is going to cause lots of doors to be slammed in your face. Do you really believe the Googles, Facebooks and Amazons of the world rely on having a human being white-knuckling every change in their infrastructure?
One additional note: If your infrastructure is designed such that you cannot push change without guaranteed downtime or the risk of downtime then you have failed to design your infrastructure properly.
I'd mainly argue that the punishment is grossly inflated compared to the "crime". The individuals in question submitted properly formatted GET requests to a public website AT&T provided, collecting two pieces of information: The unique identifier for an iPad and the email address of the user who registered the iPad. They didn't get real names, phone numbers, addresses, social security numbers, etc. They didn't spam the users' inboxes. They didn't attempt to spoof the ICC-ID's to get unregistered iPads onto ATT's network. There's about a bazillion harmful things they did not do.
But they were sentenced to 41 months in prison? That seems disproportionate.
And from a technical specification, they didn't do anything unusual at all. I'm curious how much of their sentencing depends on the difference between sitting in front of a browser and typing in 100,000 URL's by hand to get the data v. writing some script to loop through and do it automatically.
Anyway, to your point: 'Stealing private information and releasing in [sic] publicly isn't just obviously illegal, it caused grief for 114,000 people". My responses would be:
a) email addresses are arguably not private, and to the extent that email addresses are private information, AT&T provided them on a public website.
b) I wasn't aware my iPad had an ICC-ID, but even if that's private information (and useless to anyone not in possession of my iPad, since it's solely used for validating my device when connecting to AT&T's 3G network): again, AT&T provided the information on a public website.
c) releasing the information publicly is certainly rude, but I'm not sure why it should be _obviously_ illegal.
d) what grief was caused to those 114,000 people?
The only part of the sentence that makes some sense to me is the fine. AT&T does have an argument the release of this information harms their corporate reputation (as it should. Shame on them for leaving this out where anyone could grab it), but I would think that harm would better be remedied in civil court, rather than a criminal proceeding.
Just to correct one thing:
CTA (chicago transit authority) platforms do have displays which show when the next train will arrive. On newly renovated platforms, it's on an LCD display, on older platforms it's displayed on a simple digital text bar. However, in both cases, the displays rotate through the next arrival and other information (including ads on the LCD's), so it's easy to miss the info you're looking for.
Sorry, I realized I skipped over the statement "a lot of people have never heard of SAP or Oracle".
Really? Then why are they working in your IT department? Would you hire a pilot who'd never heard of a 747? Or a programmer who'd never heard of Fortran?
Your arguments reflect a lack of understanding of current technology. In order, the simple rebuttals are:
1) OpenOffice -- supports most (if not all) Excel formulas, and imports all Excel 2K document formats.
2) LDAP
3) Cobbler/Puppet -- You don't know what they are, but that's ok, because you think that the retail install of windows provided by your vendor is acceptable on the corporate desktop, so your opinion on this issue really doesn't count.
4) RedHat offers paid support for Linux. Also, no business succeeds by having "the same issues that your competitors have". If that's your attitude, then your company has already lost.
For the record: I don't use Linux as my primary desktop OS. Securing Windows desktops is an annoying task, but it is doable. Ignorance like yours annoys me more, but correcting that ignorance is also doable.
Forgive me for not reading all the posts, but I did get through those moderated high, and I'd like to clear up the reason (if not the true historical origin) of the 2x RAM rule for swap.
The actual reason to create a swap area (through file, dedicated partitions, disks, etc) that is sized at 2x physical RAM is so that you can both:
a) reserve swap pages equal to total ram.
b) swap out idle process pages equal to total ram.
Many applications reserve virtual pages in the swap area to ensure that in the event the memory manager pages the application out to swap there will be enough swap available to hold the process. Oracle is a perfect example of an app that, by default, will do a disk page reservation for portions of the SGA and PGA. So if you've got a server with 8GB of memory + 8GB swap on which you've allocated 6GB to the oracle SGA and PGA, you'll see around 5-6GB of swap utilized once oracle's up and running, even though no portion of the process page space is actively residing on disk.
Now, if that's the case, then what happens when your memory manager needs to actually swap something out of physical memory to virtual (disk) pages? Well, the system has a lot less virtual page space to work with, and it's possible to encounter allocation issues if new processes are started. To avoid that problem, you add another 8GB of swap (working off the 8GB physical ram example). Now, even if you are running 8GB of programs which require a one-to-one ratio between physical pages and virtual page reservations, there is still enough swap available for the memory manager to swap ALL of the processes in physical memory out to disk and allocate physical memory to new processes.
Now, is it ever going to happen that you actually end up needing to both reserve swap == physical ram AND swap out your system's RAM worth of processes? Not if your admins have the first clue what they are doing, no. :) But by using the 2X rule, you pretty much idiot-proof your memory manager for any application profile and any OS.
Of course, if you are knowledgeable about your operating system and the actual usage of your server, you will almost never take this generalized approach. Modern Unix OS's and applications normally will have alternative configurations that allow you to avoid swap reservation (v_pinshm, for example, in AIX 5.3 and later), as well as tuning the behavior of the virtual memory manager to better handle situations where the system has a low free page count. It's important to remember, though, that the consequence of allocating too little swap is the memory manager killing processes to recover free pages, and in a production environment, the process it kills will inevitably be the one resulting in you receiving a 4am wakeup call.
Personally, I will usually run with swap space == total physical memory, and upgrade the server the minute I start seeing page outs to disk. That's probably not an option for the desktop unix crowd, but it's a good rule for any unix servers running an application that requires even the lowest level of guaranteed performance. Swapping is bad. End of story.
Thanks for your time, and as always, I reserve the right to be wrong.
I'll grant you that the goal of the do-gooders was a little ephemeral compared to giving the poor food, but if your goal is sustainable improvement of the lives of the economically downtrodden, you need to do more than simply give them something to eat. Also, it's pretty damn insulting to a poor person to imply that their biggest problem is putting food on the table. Maybe their biggest problem, now that they've solved the food and housing issue, is helping their kids to a better life. You know what might help with that? Access to a computer and the internet at home.
One of the most difficult barriers to entry for folks from low-income backgrounds trying to gain some upward mobility is the lack of access to technological services/devices that those of us raised in a middle-class environment consider basic tools of life. How can you move from slinging burgers or picking strawberries (definitive low class jobs) to secretarial or temp office work (entry level middle class jobs) if you don't have a computer, or access to the internet, or excel, or MS word, etc? These guys were setting out to help bridge the "digital divide" -- explicitly trying to provide access to the online resources the middle and upper classes have to people who don't normally have access to them.
The poor have a variety of needs, don't patronize them by assuming the only need you see is the only need they have.
Mine's a few years old but still runs, got it at the Sharper Image.
Oh wait....
You seem to be implying that this is like Microsoft charging for Visual Studio. It's not.
You see, I can still run Cygwin or MinGW on Windows, and there are third-party compilers. Not so with the iPhone -- I'm not sure if it's even illegal, but it certainly requires more than simply writing the software.
So, "go it on your own" may not be a viable option -- not because Apple isn't helping, but because they are actively hindering.
I don't think your comparison is valid. You're comparing Microsoft Windows XP (or Vista, or whatever) to an embedded version of OS X running on a proprietary (and closed) device. If apple were running this same type of scenario in relation to OS X 10.5 running on your laptop, then hells yeah you'd have a reason to scream bloody murder. But that's not what we're talking about here. We're talking about a closed embedded cellular device for which the manufacturer has just opened up the SDK to the public with restrictions on usage, and with barriers to entry. Which isn't that different from having to pay Microsoft for a copy of the XBox SDK, or Sony for the PS3 SDK -- both of which are closed platforms for which the primary vendor must approve third party software distribution.
Yes, anyone can write a piece of software for Windows, or OS X, or Linux, or Solaris, etc. But those are open operating systems, designed to be completely open for third party development. The iPhone, while it runs an OS that derives from the OS X Apple ships on its laptops and desktops, is NOT an open operating system. It's a closed, proprietary consumer electronics device. Just because one vendor of a closed platform chooses to open their Development Kit to the world without restrictions doesn't mean that every other vendor has to, or is morally corrupt for not doing so.
Maybe I'm getting old, but this seems like a pretty clear case of "oh crap, I'm an idiot", rather than "mwuahahah, my plan for global domination proceeds apace!". According to the posting on codinghorror, the guy who found the issue (Dustin Brooks) found that the creator, John Terry, of the G-Archiver software had left his own email information in the code. Yes, the G-archiver forwarded a record of the account information of everyone who used the app to that mailbox, but if you look at the screenshot, none of those emails has been flagged as read by gmail (but maybe that's an artifact of a POP connection?).
Either way, this just smacks to me of a novice developer doing something incredibly dumb, rather than incredibly malicious. If he actually wanted to just collect other people's account information, why leave his own in the source code? He could have just as easily forwarded the information to an anonymized email account, or simply an account for which the login information was not present in source.
Just my opinion, I reserve the right to be wrong.There's a lot of decent (and somewhat rational -- 'gratz slashdotters!) arguments on both sides, but for me, it comes down to this:
I bought an iPhone a couple of weeks ago 'cause I thought it was neat, and I liked the existing features over my current cellphone (namely the built-in Ipod and visual voicemail). Now, apple's released an SDK, and in June when they release update 2.0 for my iPhone, I'll be able to download and install some cool apps without having to first jailbreak my phone. That's icing on top of my "hey, this is a neat phone" cake.
I think that folks are missing a big point, here: folks who have iPhones already, or are already "planning to get one" when their cell contract ends, or the price comes down, or when there's a 32GB version, or a 3G version, etc. don't care if there isn't java support, or if a developer has to pay a fee to get access to Apple's distribution channel. All they (we) care about is, "Oh, neat, there are going to be some new apps for my iPhone. Maybe they'll be some games! That'll be cool!".
Frankly, the biggest problem with the iPhone (IMNSHO) is the lack of Flash support, and that's got nothing to do with Apple, that's simply due to Adobe not having an ARM compiled version yet. C'mon, Adobe, get with it!
It seems to me that while potentially useful, your idea of passing out sub-projects from software companies or IT teams in developing nations to a group of open source coders in the Western world doesn't really advance the goal of the UN initiative. As another poster mentioned, there are more serious problems to overcome in many developing nations that make "bridging the digital divide" realtively meaningless. I believe someone else pointed out that what these nations really need isn't code, but IT infrastructure.
Those are valid points, but I think the fundamental idea of the UN program is to provide technology experts who can not only assist in local projects, but also transfer their expertise through the course of working on those projects. A group of US/UK/GER/FRA/etc coders whipping out brilliant and useful code for sub-projects is certainly helpful, but it doesn't go very far in creating a communal working environment wherein the presumably more experienced techs volunteering can pass their knowledge and experience on to the local techs. Sure, the locals can read your brilliant source code, but they don't get to participate in the development of that code necessarily, and having their questions answered via email is nowhere near as positive a learning environment as working on the code with a real person next to them who can answer their questions and point out interesting tidbits on the fly.
The real digital divide is knowledge based, and the best way to close that gap is to teach someone how to do it themselves, not tell them to send the hard parts to someone else to do for them.
Of course that's just my opinion, and I'm probably wrong
Please, this post is flame-bait. The article clearly recognizes the rise in prominence of linux in the server market, points out that by market share one can argue that linux is now the #2 deployed server OS, beating out UNIX, and notes that the promise of license-free open-source software has been mostly achieved.
The point of the article is simply that linux deployments on the PC desktop continue to be dwarfed by windows. Like the entire tech community didn't already know this.
Folks--
Flame me if you will, but allow me to point out this simple real-world statistic:
I work at a datacenter that has two environments, Unix (primarily Solaris, but some HP's) and Windows (NT 4.0, though we're told we'll someday be rolling out 2k, but that date has been pushed back steadily for over a year). We have, at last count, just under 2000 Unix servers. OLTP DB servers, calc servers, web servers, jrun servers, sybase AND oracle, development servers running a mainly clearcase environment, as well as good old fashioned Unix desktop boxes. Our Unix staff is fifteen people, running a 24x6 shop.
We also have roughly 1000 Windows machines -- desktops, web servers, DB servers, Exchange servers, etc. The Windows staff is close to fifty people.
Now I'll be the first to admit that quality Unix engineers and admins are more expensive than quality Windows engineers and admins. However, you can't tell me with a straight face that a Unix admin to unit ratio of roughly 1:125 versus a Windows admin to unit ratio of roughly 1:20 doesn't point out something slightly profound. I often hear arguments that the achilles heel of Unix (in a business environment) is the high cost of skilled administrators. But fifteen admins at 80k a pop is certainly better than 100 admins at 40k a pop. (that's 1.2 million $ a year Unix v. 4 million $ a year Windows, for those of you who can't find your calculators)
At my office, we've gotten real tired of headhunters and placement firms sending us people who call themselves "Unix Admins" and have taken Solaris 101, or AIX 101, or whatever and think they know what they're doing. Here are questions that we ask every candidate. If they answer a couple wrong, no biggie, but some of them are gotchas. BTW, this is UNIX specific (frankly, WinX admins aren't system administrators. They're WinX admins. A system administrator supporting a WinX box is a very unhappy person.)
1. What are the fields in the passwd file? What do they mean, what do they do?
2. How does enabling shadow passwd's change the functionality of user authentication?
3. Pick your favorite Unix flavor. Pick your favorite HW in that flavor. Walk me through a system load, the whiteboard is over there.
4. What are Unix runlevels and how do they work? Flavor-specific answers are acceptable.
5. What's a socket? What's a port? How do you reserve them? how are they related? How do you find out what's going on with them on a system? (again, pick your flavor)
6. Do you know Perl?
7. If the answer to 6 is No, then why the hell not?
8. How would you grab the middle 300 lines of a 1000 line file, grab the second field of every line in that range, and sort the result alphabetically using only piped commands from the toolbox?
9. Do you know vi?
10. Pick your favorite Unix. Great, now tell me how you would a) mirror the rootdisk, b) grow an existing filesystem, or c) modify the partition table for a disk on that OS.
11. What are the various levels of RAID and what differentiates them?
12. What do you know about NIS? (or NIS+, or LDAP).
13. What do you know about DNS?
14. What do you know about NFS? Automounting?
15. What do you know about Firewalls?
16. Describe the various metrics and procedures you would use to evaluate the performance and system utilization of a Unix machine.
17. What's your biggest fuck up, and how did you fix it?
18. If you didn't know how to do something, how would you go about figuring out how to do it?
19. Do you smoke? Drink Coffee? Drink?
And finally:
20. Ok, pretend for a moment that the entire network crashes and the CEO is in your office wanting to know why. What do you say?
:-)
Pogie
(The only good NT server is a down NT server)
Here's one--
Let's say you are a programmer, and you have a full-time job programming for your employer. Here are a couple of situations that occur to me where there could be a legal grey area:
1) Let's say you write your own library toolkit or whatnot to add on to a GPL'd piece of software. Like a package of extensions for emacs, or a set of quant or math libs to be used with gcc. You want to publish it on the web for other to use under the GPL since, after all, it's only useful when combined with the GPL application. Your employer says "No, you are in our employ, we're going to release these libraries compiled and under a closed-source license." Now:
a) On face, who's right?
b) Assuming this WASN'T specifically assigned or budgeted by the company, but you did it while working on a project in order to make your work easier, who's right?
2) You work for a company as a programmer, and on your own time, in your own home, you write a fabulously effective and highly marketable piece of software. You want to release it GPL, but your boss gets wind of it and says "No, your are employed as a programmer, all of your work while under our employ belongs to us." Who's right?
I realize these may be questions more geared towards who owns what when you're employed as a coder, but I'm tossing them out anyway.
Cheers,
Eric Pogrelis
Some may not think this is a good deal, but the folks in my team and I have been pretty happy with it.
We're a 24/5 shop, but we rotate coverage on the weekends. Since we don't normally get paid by the hour, but refuse to work weekends without compensation, we get comp time. You get a call or have to come into the office for a weekend you're covering, and you get that many hours (although it's usually >4 hours = 1 day) off at a later date.
Last weekend I had to swing by the office for three or four hours to handle a server down situation, and so I'm taking friday off.
Eric
It's not a stupid question. Here's my response, but if there are economists out there, they can give you a better (and probably more correct)answer:
Covad, Northpoint, Rythms, etc, are all service-based businesses with massive infrastructure costs. It costs a lot of money to install the bridges and switches in each ILEC CO so that they can hook up residences and businesses with DSL. While they do sell stock, they also built most of their infrastructure BEFORE the IPO's, using venture-capital (or other bond type) funding. Now, basically this means that they took out a bunch of loans, which they have to make regular payments on.
The problem with the stock dropping is that a public company (one that sells stock) is technically only worth as much as the value of it's issued shares. So when the stock price drops by 98%, the value of the company drops by 98%, at least on paper. Add to that the negative value of massive loans that need to be repaid, and suddenly (on paper) the company is worth less than zero. This doesn't mean the company's bankrupt, it just means that the paper value of the company is zero. If they keep making money hand over fist each month, and paying their creditors on time, etc, then eventually the company will climb out of debt and start accumulating non-market value, which presumably would get reflected in the stock price once shareholders start receiving dividends again.
The big whammy in this case is that the DSL providers are having problems getting their customers to fork over the cash. So even though the DSL provider is spending large amounts of cash on a monthly basis to maintain their infrastructure, lease space at the CO, pay the Electric comany, etc, their influx of cash from their customers isn't stable. So what does a company do when it's customers aren't paying but it has to pay the bills? It takes out a loan based upon the company's value, and pays it's bills.
But in the case of these DSL folks, their value is in the toliet. And while everyone wants to loan you money when you're trading at 50 bucks a share, nobody wants to loan you money two months later when the net worth of the company is somewhere around zero (on paper).
That's why they care about their stock price. This explanation may be plain wrong, so don't hang your hat on it, but it's how I think things work.
Ciao.
The GridEngine system from Sun is an LSF-type batch-queueing/load-balancing system. Sun bought GridWare, which was an independent German company previously, and is looking to bundle the GridEngine with it's workstations, promoting the 'spare cycle' idea.
In answer to your question, yes, GridEngine can run anything. It isn't an MPI-type implementation which requires you to modify your code. GridEngine allows you to set up multiple execute resources, based on processor type, OS, memory, disk, I/O, runqueue usage, or really any heuristic you want to implement. You submit your job, with whatever resource requirements you need, and then GridEngine runs it on the available resource which meets your requirements. There's also a Q3-ish available product called GRD, which allows you to further allocate resources on a more policy-style basis. This piece will be a licensed add-on, but it provides the enterprise with the ability to divvy-up compute farm resources on the basis of users and groups, etc.
GridEngine also comes with a "grid-enabled" interactive tcsh, so you can have an interactive shell running which is actually spawing work all over the compute farm, as resources are available. There's also a "enabled" make, which does the same thing for builds.
It's pretty neat, but I think it's more effective in a dedicated compute-farm type of installation than a "let's use spare desktop cycles" kind of installation.
Flame me if you hate my opinion, but...
We're talking about the internet, right? What if the hop time out of the west coast gets too high, and so your email to your buddy in Tokyo goes through a switch sitting in Croyden? I wonder: what's the usual route between Atlanta and Lisbon? What about companies doing international business, communicating with clients via email? All of a sudden, IMHO, England looks like a big horking packet sniffer for traffic between North America and Europe.
What do you more legal-minded types think of the international implications of this?
--Eric
Give me a stinking break.
Tech support is not here to educate the user. Tech support is here to solve the user's problems as quickly as they can. Rarely do you have time to explain to an end user exactly what went wrong with their machine, and even if you do, rarely do end users want to hear it. And most of the time, IMHO, the cause of the problem is usually an action of the user. There's nothing wrong with this, of course, everyone makes mistakes, so you try to explain what they did to cause the problem and what they might do in the future to avoid it, and they suddenly don't have the time, because they've got a meeting, or they suddenly HAVE to send an email RIGHT THAT SECOND, and listening to you gets renice'd down on the priority list.
Non-savvy users expect the explanations for how the computer works to be as quick and painless as the internet, or their email, or the icon they punch to print their document. When the explanation they want to hear moves beyond the realm of "short, simple, and easy to understand", most users say something equivalent to, "Well, I guess you have to be a computer geek to understand," and get on with their lives. Why? Because they have better things to do than sit there listening to the tech support guy explain stuff, and besides, if it doesn't work they can always call tech support.
Occasionally, you get lucky and a user actually wants to know, which is a cause for rejoicing. More generally, though, I think users take tech support for granted, and working tech support (especially front line support) can be mind-numbingly frustrating (as I'm sure you all know). Frustrating jobs tend to cause those working them to seek an outlet through which to vent their frustration and anger. Personally, I'd rather see all the techies laughing and smirking over strips like User Friendly than running around going postal.
Every other culture on the planet is allowed a certain degree of lassitude in it's exclusionary humour, why treat techies any different? If we didn't make fun of end users, we'd probably kill them, which I'm sure would hurt their feelings a lot more than witty comics like User Friendly and Absurd Notions. As my mother always told me, "Fu** them if they can't take a joke!"
(sitting here in complete disbelief that Scott Kurtz was taking himself seriously when he wrote that Rant)Eric Pogrelis
The development of Anti-Ballistic Missiles (ABMs) and the general technology of a Theater Missile Defense (TMD) was spurred as a way around the standoff of Mutually assured destruction during the cold war. The ABM ban was demanded by USSR because if the United States successfully put a working TMD in place, the US could launch a preemptive nuclear strike without fear of retaliation. It would eliminate the effectiveness of nuclear weapons as a deterrent, and return them to the strategic arsenal as an actual weapon.
Congress' support of the 'new' Star Wars program, in combination with their recent refusal to ratify the nuclear test ban treaty looks less and less to me like thoughtful assertion of US power, and more like a bunch of cocky morons (I'm referring to the congress here, not the loveable /. crew) pushing the United States into a position as the only viable nuclear threat. Yes, other countries are developing nuclear weapons (including India and Pakistan's recent 'weaponizing' of their nuclear program), but I would assert that the proper US response would be treaty development and diplomacy, rather than setting the US up as the 'country to beat', so to speak.
Having a defensive system which (in theory) would render the US virtually invulnerable to ballistic weapons delivery is just as much a deadly weapon as a submarine loaded with chemical, nuclear, and biological weapons, not to mention the Tomahawks to drop them off on your front doorstep. Just because 'defense' is in the name of this system does not mean it serves no offensive purpose.
And is it just me, or does the thought of a payload of biological and/or chemical agents being blown up in the mid-upper atmosphere by a US ABM system scare the living sh** out of you guys, too?
Check out: Jane'sThe Comprehensive Nuclear Test Ban Treaty
SALT I
Sleep tight,
Pogie
What's the techie job market like overseas, anyway? I've poked around a bit, and most of the stuff I see tends to be positions with American companies that have overseas offices. Somebody got a knowledge base on this one? --me.