Apart from the fact that AD was derived from a Unix technology that does exactly what you ask:
Install Likewise Open. That's your client problem solved. My school has trolleys full of Ubuntu netbooks that log onto the wireless network and allow any AD login on any domain they are joined too. It took three commands I think (install the package, name the machine, join the domain). Kids don't even need to know that the netbooks are Linux whereas the rest of the school is almost all Windows. And, yes, I can use the Windows Administrators to do privileged operations by just sticking them in the right groups.
Server is a bit more tricky but if you're keeping homogenous systems (Linux server, Linux clients), single-sign-on on Linux has been around for donkey's years. Server probably needs Samba4 if you want modern-Windows-clients on a Linux-only server.
Next, please describe how to use MS-supplied tools to achieve the same (i.e. log MS clients onto Linux servers, or even Linux clients onto MS servers). It's hardly surprising that nobody really supports joining the competition, so homogenous systems are infinitely easier to support. But your claim as a unit is bollocks. Wanna come see a Linux netbook join an unprepared, untampered-with Windows-only domain run by a Windows-only machine with no Linux help server-side, and support SSO for all its operations (including initial login, printer access, fileshare access, even desktop icons etc.)? A group of 8 year old's here do it every day.
Building 1 PC a day is a problem? How slow are you? I deployed a 150-machine network, with brand-new, still in the bubble-wrap, clients and servers, installed Windows on them all, created an AD (that's still going strong four years later and runs the school), installed a shed-load of software and imaged the lot within a single 12-hour day for a school I worked for (I'm an IT manager for schools, did this on a contract during the summer holidays on my own). I had a caretaker clearing the cardboard and crap, and I had pre-built machines, but most of it was unpacking and then just switching them on and imaging them.
Gimme a few week's notice and a delivered stock of 1000 motherboards, PSU's, cases, etc. and ask me to build from scratch and I can probably do 30-40 a day easily once I have a production line going, without struggling too much, without any special tools or easy-assembly sliding parts like some machines have. Dunno how slow you are, but that's not unreasonable and I've never even worked at Dell or anything mass-producing such machines from components, I'm just an IT guy. Hell, gimme a student to unwrap, unpack and stack components a few minutes in advance of me needing them and I could probably double that speed even if I'm the only one assembling. I reckon that, without other work disturbing me, I could build 1000 machines from components in a matter of weeks. Gimme some random people who are paid minimum wage and know nothing of computers and I can easily half or third that time. Gimme a couple of IT techs paid a decent amount and you could get it right down.
I know people who used to work at Simply Computers (now part of Systemax) where the assembly guys used to do those kinds of builds all day every day and could build individual custom PC's at those rates no problem at all. A small team could easily satisfy any order in a few days. I know a one-man outfit that handled any equipment we asked of them at short notice, with full warranty, including odd GPU configurations for CAD, and they did it with a only handful of staff in a matter of hours.
Software imaging is just a natural component of that afterwards - 20-30 minutes a machine max and most of that is trying to get into the damn BIOS and set the boot options correctly for PXE-booting. If you have hard disk duplicators, that sort of thing gets done as soon as the disk is out of the packet. Testing is a bit more of a chore but, again, if you're producing that amount of machines most of the testing is in the imaging and primary installation in-place which you would have do anyway, and you have any number of spares on hand and can worry about the pile of uncertainties as you near the end.
If I'm in charge of 1000 machines and I want to replace them with 1000 hand-built machines, I'd be aiming at replacing a department a week even if I was on my own. If it's part of a phased roll-out over, say, a year, then the work would sink into my working day no problem at all. The biggest problems would be the inevitable component failure (1000 PC's, I'd expect a handful to die just from random faulty components out of the box) and the silly stuff like taking things out of packaging.
Answer: "It *IS* OpenOffice. It uses the exact same code even though the company that owns it was bought out by a rival that now wants to control what you do with their version. But the code is free forever, so they can't *make* you upgrade to something inferior (unlike their competitors that we moved away from), so someone has created an identical but still usable version and just had to change the name. That's 100% legal and there will be no arguments or court cases to trouble us over that because our license is perpetual. Your apps will always still work, but the next upgrade might have a different logo on it. Your IT guys don't have to do anything new to upgrade, there are no massive system-wide changes, it's still the same program. The icon design might change on your desktop a little, that's about it, but the file formats are still perfectly 100% the same and the software is still perfectly 100% supported, and still running the same code it always was. But instead of the half-a-dozen uninspired programmers put on the project by the new owners, we have the same community of thousands of programmers that worked on the "old" versions and know the code off-by-heart. We also have the choice to keep using the old code forever, or move to the new version by the new horrible company, or use the new version from the old community, which is kinda why we moved onto Open Source in the first place. Incidentally, how is [sister company]'s upgrade to Office 2010 going?"
It's an idiotic move in any circumstance. It's as silly as being sacked from Microsoft for installing Linux at home, or vice versa. (Even MS has a Linux lab, whether that's for interoperability or just to see what the competition is doing, though I hear they have a policy of MS-only on the main corporate desktops, even for programmers, which seems a bit daft). It's like being told that your children MUST go to the school that you teach at.
Any sensible scientist has actually tried and understands the alternative theories, but just disagrees with them, or there's little point even trying to understand why your own is better. As in commercial markets, competition is a good thing and learning from the competition by having some of their members on your team is a fabulous thing to do. That's when you learn how/why they are successful. This is why Silicon Valley spends half its time buying their competitors and/or hiring their old staff.
I don't think I could ever work for a company that HAS to be the best at something and doesn't take any criticism whatsoever, doesn't analyse their competitors, doesn't let people choose what they want to do on their own time, and that seems to be Oracle's attitude. I have no doubt that they have significant market share in their specialism, but to the average guy on the street they are unheard of, and they've absorbed an awful lot of technology that lots of people use every day (e.g. Java, OpenOffice). Their first foray into updating Java broke Eclipse, for instance (though it wasn't their fault, it was something that should be caught during testing) and their first action on OpenOffice seems to be to make the core development team leave and/or be forced out. It seems they bought Sun "just because" and absolutely do not care about the multi-billion dollar businesses available in its other technology. That's not only stupid, it's incredibly bad business. If they'd have just kept all the patents and trademarks, licensed them to a non-profit and then pushed Java/OpenOffice outside their main company, nobody would have cared and they'd still have some of the largest brands in the world under their control for commercial purposes. But no, they are only interested in things that make Oracle seem powerful and "always right". If I worked for a company and the mere mention of their competitor is enough to strike fear into the heart of my boss, or make him start threatening me, then I would wonder why that is in the same way that I wonder why a Scientologist would not also be able to question their doctrine.
Oracle are throwing away huge sections of their business through arrogance. That's stupid even if they REALLY don't care about Java or OpenOffice or anything else - the sensible thing would have been to break them off into separate entities and thus keep face in the community while still having control over the important IP and big contracts. Not doing that smacks of incompetence.
He is increasing the availability of sought-after books. Many's the time I've wanted to buy a book from ANYWHERE and not managed it for months only to find it years later on a boot sale or second hand shop (as an example, I once had a copy of Geoffrey Trease's "The Black Banner Players" pass through my hands - one of the rarest books in the world - and incidentally apparently one of the crappiest). The book has a lot more value being able to be purchased from anywhere in the world for the price of postage, especially if it is actually sought-after because it's rare, expensive, limited print run, in a country that doesn't normally sell it, etc.
I don't really see the problem with what he's doing. If I had the time / money / inclination, it sounds like a good way to earn money and always has. My ex used to trawl boot-sales (think garage sales or flea markets if you're American) just before they closed. All the stuff the sellers would normally throw away or put back in their attic for another year would be snapped up for a few pounds for huge bags full. Then she'd sort through them, take out anything of good quality (usually things like baby clothes which are ridiculously expensive when new), wash it, iron it, and sell it on eBay for 50p - £1 per item. Nobody was stopped from buying that stuff from the boot sale itself, but the locality of it meant that most of the young, poor mothers in the country couldn't viably buy the item. The extra value wasn't from washing / ironing (that cost money and rarely made much of a difference because stained tended to stay stained) but from the availability of that item to anyone in the UK. Getting an item for 5p isn't a bargain if it would cost you £40 in fuel to pick it up and there was absolutely no guarantee you wouldn't have a wasted journey. But having someone local pick up all the spare items, and offer them for the price of a stamp to the entire country, with full descriptions and photographs, is more than worth £1 or £2. Profit for my ex, profit for the boot sale seller from stuff they would throw away, profit for eBay, ultra cheap baby clothes that are described exactly and the bad stuff already weeded out for every young mother online.
The value is the availability, and the initial search. He adds that value by doing something completely legal that ANYONE with a brain, or a knowledge of their subject, could do. Every boot sale I've ever been to, there is a queue from 6:30am of various local experts and businesses that swoop in, buy all the good stuff and are onto the next boot sale within ten minutes, because they can recognise the valuable items immediately and snap them up for a good price that the seller is happy with. Many admit that they will then go on to sell that item for near-new prices in their shops. Same thing, slightly less "ethical" and slightly more "business" but hell - they make money, the seller makes money, nobody gets hurt and someone else gets what they consider a bargain when they rebuy it from their specialist shop (because that's easier than trawling boot sales in the hope you'll find some item you're after).
I grew up with C and various other languages (I actually learned Z80 assembler after BASIC but before anything else) and I was forced to do Java for university despite the fact that I never attended a single "Programming in Java" lecture for two years and just downloaded the coursework and submitted it online the same day.
I can't stand C++, it's all but unreadable to me. I'm not saying that C is always readable but C++ makes it much easier to create a mess and jumping into any large C++ project is more an exercise in reading than doing (sometimes that can be a good thing, sometimes that just gets in the way of what should just be a simple fix). And in the end it's just a clever macro / preprocessor trick over C99 to turn various "objects" into sets of function pointers that get called at creation / destruction. I honestly find C++'s syntax quite hideous, and I always thought that Java did a slightly better job at it. The trouble with Java is, unfortunately, far too much verbosity for some very simple things.
I wouldn't necessarily recommend C to a beginner either but if you're intent on starting down the C++ line, you do actually have to learn 99.9% of C before you ever really understand anything "C++" in a given program. Thus it's a nice *extension* to a language but I don't like it being classed as a language in itself. It is "C with classes", after all.
It very much depends where you start, I suppose, but I'm loathe to recommend anyone to start with either C or C++ until they know they want to program and will enjoy doing it.
Right-click, Site Preferences - set your options and it always remembers them for that site (e.g. Javascript off, flash off, identify as IE, etc.). You can even turn off parts of Javascript like allowing it to open other windows or hiding the address bar. Maybe not as powerful but it's there and on the "magic F12 / right-click" menu too.
Because on MOST home setups, access to the network is raw access to the machines. Access to the router setup (compromise and redirect EVERYTHING, bypass IE security zones, etc.), access to the local printers, access to the filesharing ports on the computers, etc. It's a bit more serious than just "could theoretically read all incoming/outgoing unencrypted data".
There is rarely a firewall for a wirelessly connected user (because it's seen as a trusted network once you're on it), thus a simple "net use \\ip address\share" will join you to their hard drive if they've ever enabled file sharing (local user passwords aside - if they didn't bother to set a WPA key, chances are they don't use passwords more complicated than "dad"). That's complete, utter, 100% compromise of the machine because it's trivially easy to then just replace critical system files and thus instant key-logger compromises even secure websites.
Beside that, the amount of stuff that flows over an unencrypted HTTP connection is actually quite scary - most UK ISP's use the same login for ADSL and thus do for email, and use plaintext SMTP or POP3 authentication. Even PPTP is inherently insecure if you can record a single conversation over it. If you ever see someone log into their POP3 account, then you have access to their ISP billing, all their email accounts, their home router and again you've hit total compromise.
I never understand the apathy towards this, or towards malware in general. Yes, these people are idiots and get what they deserve but why just say "Oh, it's only a virus, don't worry" or "Oh, someone just got into your wireless". If someone said those things about your body or your home, you'd be extremely nervous and scared about what could have been. If you NEVER use your devices for anything that you wouldn't do on national television, then sure, it's fine. Most people however would be shit-scared to even have their photographs deleted, let alone posted online for all to see, not counting that "passwords.doc" file, or the letters they wrote to their boss complaining about their inept co-workers, etc.etc.etc. If you can happily say that you would just upload the contents of your computers to a public FTP site, then sure, don't worry. Most people, if not all, can't afford such luxuries.
Yes, in practice, most of these compromised users will never know and never have anything bad done to them. However, even a small percentage of such a large number of people is an awful lot of people to be taken to the cleaners, have their bank accounts compromised, have rogue people installing things on their computer etc. Hell, even a teenager deleting your hard drive for a laugh has brought grown people to tears before now because they've lost something they needed for work / some family photos / etc. Yes, backup, backup, backup but that doesn't help after the event.
I work in schools as an IT manager. My first job when I joined my current workplace was to educate people. If you bring me a laptop that "might have a virus or something" and I see a SHRED of evidence of malware, it gets disconnected (even in the middle of a class) and wiped back to factory settings. There is no compromise, or negotiation, because just a few network hops away is the program that pays the entire staff wages from the school's bank account automatically each month. If I see a single piece of software that doesn't belong on any computer, it gets wiped (and all your "unofficial" programs with it, and your music if it's iTunes). When a computer is under my domain, it WILL be clean and that means absolutely STERILE. Every time you take it home and bring it back in, if I spot something, I will just keep wiping it until you learn. So far, 2+ years and nothing more than a fake antivirus banner ad in Firefox across 150 machines because of that policy - but an awful lot of people have learned that they should always back up everything twice (well, I *DID* backup their stuff before I wiped any potentially infected laptop but I only told the
Correction, 3G is artificially expensive (come on, NOBODY needs to account in pence per Mb any more!), sticking the equivalent of a basic business DSL-line connected DSL on every cell tower would cost nothing and allowing roaming between countries where the same operator is present in both (T-Mobile, I'm looking at you) means that's data is basically pence per Gb. You can QoS-limit it over the airwaves to prevent congestion (it SHOULD be the lowest priority traffic, even below SMS if that can be done) but nothing in the world stops 3G actually always being better than crowding a city with 2.4GHz meshes.
I ran an entire school with 150 machines off a 3G stick - in the centre of a large London town (about 10 miles from the city centre), situated in the middle of a busy shopping street, with god-knows how many other 3G users, with interference from hundreds of nearby phones, with several other 3G sticks just metres away (the actual dongle was stuck in the main network room in the centre of the building with miles of copper coming into / out of it, crammed against other USB devices), all getting decent connections and speeds and because it was only for an emergency, we ran for 8 hours with that configuration and ordinary users didn't spot the difference between that and their normal 24Mbps ADSL connection, even when the Internet was being used for lessons (admittedly local caching helped a lot). The deal we got was PAYG 3G on a £10 stick that, for £2 a day, let us use up to 3Gb a month. We did 3Gb in that day and bought ANOTHER lots of sticks / SIM's to keep us safe for the next day - we ran that config for 20 days while our broadband was restored (even though T-Mobile would only limit us if we went over on any one SIM, not block us or charge us). So looking at that, it cost us 66p per Gb, and was more than capable of running a school in peak period in a technologically busy city. We were quite within our rights to just keep buying 3G sticks, or even just PAYG SIM's, and carrying on with that forever.
3G is artificially limited by the carriers. Anything that competes with that is welcome because the carriers can and will just drop prices to force them out of the market (and then probably raise them again when they're gone). But there is nothing in 3G or 4G that stops it from doing a much better job than public Wifi whenever you can get any sort of 3G signal at all. 3G isn't "expensive", using current-day carriers that support 3G is expensive - there's a difference.
P.S. I have a stack of cheap 3G USB dongles if anyone is interested...:-)
Sorry, I started to call bullshit at the "increase the quality back up" sentence. No-one worth their salt in video processing would ever use such a phrase. This makes it equivalent to Bladerunner-esque infinite zooming and Hollywood-style deblurring to a perfect image.
I'm not saying it's not possible, or even not possible in real-time, but that explanation sends all sorts of warning signals to me. Hell, we know you can do stuff like this because Hollywood does it all the time without having to use physical tricks, and there are video processing algorithms that can identify objects easily enough, and from there it's just interpolation over the selected area in real-time (don't forget that "real-time" can just depend on how much computing power you throw at something). It's a photoshop filter applied to every frame, essentially.
The video is neat, but it does have problems with shadows and obviously only works when the prescribed area can be interpolated nicely from those things on the borders of the selected areas (table surface, flat chair surface, etc.) because they avoid doing anything else. I just call complete bullshit on the "put the image quality back up" crap explanation. Tell us what you *really* mean, don't dumb-down for this audience.
You're an amateur, like the thousands of others on the net, like me. This is not a programming skill problem - that comes from either practice or aptitude, not pure willing. This is a contribution problem. You're looking for a project that has many skilled users and also has a very, very basic need they have to meet but at a basic level and that they haven't already done themselves and probably won't take too long. See the problem?
You're asking entirely the wrong questions - I would suggest that instead of trying to add something to Boost or similar, that you try to do something yourself and thus work out why Boost and similar projects are quite complex, have certain standards, etc. The problem of patch submission, new features and bug-fixing is not one of people willing to write the code that fixes the problem - that part's easy, and the fun part - it's finding something interesting that fits within the scope of the project and it's the problem of getting that code into the shape that the project would be happy with too. Thus bug-identification and lots of the hard slog-work (test suites, etc.) are much more useful than anything else you can come up with. I guarantee that the first few ideas you have to contribute to a large project will be knocked back because a) they've been suggested a million times, b) they don't WANT to do it that way, c) they CAN'T do it that way for some reason or d) they just don't trust your code and would spend longer fixing it than just writing it themselves.
I would suggest that you do one of the following:
1) Write your own library, for something you know intimately. Publish it on a website, document it well, do it under a loose license. Chances are it will overlap with other projects but they are always alternatives for everything and if your library is BETTER than the others, it will be used in preference, code will be absorbed from it into other projects, or people will ask you to for more of it. Chances are that it will take you a LONG time to make it better than even the bare basic libraries you find on the net.
(I'll use an example that I'm familiar with - SDL has lots of graphics primitive libraries, but SDL_gfx is one of the best despite not being the only "big" one, despite being unofficial, despite being a one-man operation and yet is used in thousands of projects. All it does is draw circles and polygons and rotate images, for God's sake, but it works and it's simple and it's fast and it's documented so it gets followers)
I know that when I go looking for a library to solve my problems, I am happier with something tiny and in my language of preference (C instead of C++) than some huge generic library that does a million and one other things. I have been on hundreds of tiny sites and found some absolute gems where the author just knocked up the exact piece of code I was after and nothing more and then I've used it, extended it, reported bugs in it and it becomes part of my standard toolchain (as an example, I use LodePNG to save PNG images from SDL_Surfaces, not because that's the only way, or even the easiest way, but because I found it easier than trying to get libpng to do it for me - some of my projects actually use libpng for loading and LodePNG for saving PNG's!).
2) Meld into the community - hunt for bugs, be active on discussions, suggest features (after reading the FAQ's about what not to ask for, etc.), maybe even implement a few test routines to show how useful your feature-X would be. Produce test suites (horrible, horrible job that's incredibly boring but serves a useful purpose). Run valgrind, or some kind of mathematical analysis, on the code and report your fixes for anything found back to the community. The hard-slog but useful stuff that nobody really wants to do.
Everybody would love to be chosen to just insert thousands of lines of code into a big famous project - it very, very, very rarely happens. More likely is that you have a small project of your own that others find useful (because it avoids t
The Internet started without ads. For years it was ad-free. My ISP is not reliant on ad-revenue and cannot legally sell my data to advertisers without my consent (which I have not given). The websites I frequent are not reliant on ad-revenue, and those that are are easily replaced with ad-free alternatives that have existed for years, if not decades. Google is the only problem but Google's ad-revenue comes from targeting their ads to your searches and cookies, nothing to do with IP geolocation at all (IP geolocation is a bit useless except for those "Meet someone in ---your city name---" ads).
At the moment, Facebook is serving me Italian ads because I'm on an Italian connection on holiday despite the account I log into, my chosen language, my Facebook cookie history, my browser, my laptop etc. all being set to UK English. Win for geolocation there, because I can't even read any of the ads they are showing me.
If someone is reliant on my IP to show me ads, they are already stupid. It's one tiny little piece of information that's cancelled out by a single cookie and / or a million other ways that I deliberately CHOOSE to personalise the ads that are displayed to me. I *HAVE* deliberately set my region in Facebook but yet they serve me Italian ads. Google, however, always redirects me to their UK domain, where I'm always served UK-relevant ads even when I'm on holiday.
The reported (and greatly exaggerated) death of IPv4 won't hurt advertisers any more than 0.01% more of people choosing to install an ad-blocker, or ad-blocking browser.
Similarly, pissing away billions on something that we will literally be flying past in a generation's time, waving sarcastically from the windows as the other ship would still be a generation away from even home, is a ridiculous idea. There is pretty much nothing between solar systems that is worth studying with human contact, much better investment in long-range unmanned probes until we have the technology to get to those places within a lifetime. Even the moon was seen as an easily achievable distance - it was the cost and technical problems that held back everyone from doing it earlier, not the sheer consideration of a vast distance. As with everything, there are diminishing returns and sweet spots and there is a point at which it will come down to one generation, or some other feasible number and *then* it's worth the investment and not before.
There was little point sending Voyager if we thought we would be overtaking it before it got to the outer planets, but that wasn't scientifically plausible even if we'd invested almost everything we had into the idea - the chances of us catching it within 20 years even if we could launch today are pretty damn slim. This, however, is scientifically implausible - because in several generations the chances of THAT ship being the one to get close to even the closest star and see something new is almost zero.
It's like people vowing to walk around the world - it's more than feasibly possible for one person, with only existing technology, to fashion a vehicle on the starting line that will actually overtake them before they manage to do it. Nice exercise, but in terms of achieving distance and getting to a goal, the guy building even a skateboard on the starting line will win.
Nobody cares, nor needs to, except the ISP's and hosting outfits. If they provide a nice 6-4 proxy (or whichever way around it is), 99.999% of users can continue doing everything they normally do. I've done it on several of my machines in the past, been in the IPv6 net and browsed IPv6 websites to confirm it, and I never once had to touch my IPv4 config or do anything too fancy - certainly nothing that an ISP couldn't do transparently from their side of the net.
It's an issue if you're hosting websites, because then your site needs to be accessible from the IPv6 addresses, but that's an issue for the hosters, most of the biggest of which are managed hosting outfits that can switch that on overnight if they haven't already - if they are allocating static IPv4 addresses, it's just a matter of translating and passing on IPv6 requests for a recognised IPv4 equivalent address to an internal IPv4 network. The root DNS servers are running IPv6 already, etc. There's absolutely nothing to stop this just working on most people's machines today and, no, not every machine needs to upgrade to IPv6 addressing in order to do that. In fact, if anything, suggesting that internal business networks suddenly become IPv6 addressable is the most stupid suggestion in the history of the world - most places just want an "4-6 convertor" in layman's terms and they'll tick along quite nicely on their internal 10, 176, and 192's without caring. Most places would run absolutely fine, the only place it matters is the extreme borders of the Internet.
People don't run IPv6 not because of any of those reasons in the article but because a) they haven't heard of it, b) ISP's don't support it or won't do it for them automatically and c) a lot of OS's never come preconfigured to use IPv6 if it's available. Oh, and of course, d) nobody will care until their IP address allocation requests start getting turned down.
It's not a big deal, it's not going to kill NAT's and 30 years from now there will STILL be local networks, internal VoIP systems, print-servers and whatever else using IPv4 addressing because it's a damn sight easier to leave a working config alone than to upgrade/replace every bit of hardware that touches IP. I can use IPv6 today. There's absolutely no need to until every link in the chain supports it and that's still YEARS away even with US government backing. And even then, IPv4 isn't going anywhere - it's just being superceded. It's like saying that all SSH servers have to switch to SSH2, or all wireless LAN's to 802.11n - it'll happen, and a little nudge won't hurt, but overall people just don't care enough for the majority of cases and their old stuff will still work on IPv4 in 20-30 years time if it's still operational.
Tell me when even 5% of the websites that I use regularly are available over IPv6 and I'll look at setting up my VPS to do the same.
1000 years? That's a heck of a long time. It would be much sooner than that or not at all.
1000 years from now? I should hope that by then we'd have invented something that could move a little faster and overtake any such ship. If we're even still around, and if an enclosed human populace can survive that long at all on such a journey (my bet would be 8 or so generations before some virus wipes them out).
Don't forget that, to the 1000-years-in-the-future humans, we are the equivalent of the people just starting to invent gunpowder and paper and our 1000-years-in-the-future comrades have their own Internet, satellites, Mars-missions and quantum physics. We can just about add up, as a populace, and some highly-skilled polymaths are just getting the hang of second order equations and working out that gravity might possibly exist, while the 1000-years-in-the-future guys have atomic weapons, mappings of the human genome, synthetic foods, worldwide speed-of-light communications systems and cryogenics.
Now translate that forward another 1000 years and our puny "Ooh, we just about got two objects out of the solar system in only 40 years of travel" will be vastly overtaken by all sorts. I wouldn't be surprised if any such project was an absolute waste of time. Hell, we have two possibilities - we overtake the Voyager spacecraft ourselves in the next 100 years or so, or we never even get that far ever, at all, and die out. I think a lot of money would be placed on both sides.
But 1000 years? Please. It'd be better to wait 100 and then do it in half that time with the new advances. Human space travel is barely 50 years old itself, don't forget - you're talking about 20 times the amount of time of the entire history of spaceflight.
Has no-one here ever used a SOFTWARE renderer in their games? Software on a general CPU is atrocious at accomplishing a task optimally. Hell, it sucked years before graphics required an extra card in your machine and it sucks even more now - how many "GHz" do you think your CPU would have to run at in order to match the performance of an average GPU by using software rendering? Probably a lot more than double what the best computer processor runs at now, or we'd be throwing GPU's away and buying quad-core's instead. Software implementations on a generic processor can't even come close to competing with a hardware device designed to do just that one task. Especially not on something that uses the x86 instruction set (go look at the speed of ARM chips compared to their heat / power / price).
Software implementations are basically emulations - take MAME or other emulators for example - you are software implementing a device that probably originally run at a handful of MHz and now requires a GHz PC to keep up with it, even if you remove quite a lot of the unnecessary interface logic. Now this is an entirely encryption affair here but even back in the days of VIA EPIA boards, VIA's on-chip encrypt/decrypt logic could outperform even the best Intel CPU.
It's a software implementation. Expect it to suck until it's optimised, and even then expect it to be way behind what a £10 FGPA could be programmed to do with the same base code.
Redundancy should not be relied upon. Like a RAID should not be used in place of a good, reliable, slow, tested-technology backup system stored in an ideal environment, or how a RAID doesn't suddenly "add" reliability if your disks are dying / unreliable anyway (single-bit-error on writing to disk = nothing a RAID can do to save you). They can complement each other but they are different parts of the system.
Redundancy is there to keep you safe if something goes wrong with a particular *instance* of a component (i.e. a particular physical processor), by definition you should be minimising those "things going wrong" all the time as much as possible, especially when lives are at stake. Thus a redundant AND reliable/tested system is what you should be aiming for. Having a million redundant dual-core processors running the shuttle is NOT better than using some chips that have been in production/design/manufacture for the last 30+ years without any problems at all (e.g. the Z80). If something is wrong with the modern chips, or the software, or there's a strange interaction on the (unnecessary) core-interaction circuitry then you're still dead even if you have a million of them.
Every transistor you use is a potential failure point. Reduce the transistors, inspect the silicon, run it in tests for 40 years the world over with billions of unique, seperate workloads and THEN you know what the processor will do. No amount of "just slap another processor in" will save you if the problem is inherent to the chips themselves, even if you mix manufacturers. The original 8086 instruction set has been cast in stone for over 30 years and we know all it's problems and which particular implementations have problems. The newer instruction sets are still having their errata added to everyday - you just don't see it because they are tiny side-cases, the processor's microcode is auto-updated by your OS, the processor restarts itself or throws errors so the software restarts itself, or your data is silently being corrupted by them. None of those things can be found without a SERIOUS amount of testing, which is why the Pentium FDIV bugs made it through Intel's testing and onto the mainstream market before they were discovered, why Excel had a bug for years where a particular floating-point value was always replace with zero, etc.
In 30-40 years, those chips will possibly be candidates for the same sorts of things, but no chip in the world nowadays has such an easily auditable circuit layout, a well-stabilised errata, 30+ years of testing in real-world environments, etc. Hell, most processor models these days are barely in the market for 5 years themselves (what's your oldest machine?) so to get more than 5 years is stretching things a bit. NASA are going for mathematical correctness here, not brute-force-and-hope. Real-time responses, perfect replies AND enormous redundancy (the best redundancy in the world, of course, is for the humans to be able to do the same calculations that the computer does).
Gimme a life-support machine run by a 30-year-old Z80 over anything made in the last 10 years any day.
Sorry, but I live in a country where the policeman would go to jail if he drew a weapon on a traffic stop unless the guy on the bike had already drawn a weapon and/or tried to use his vehicle as a weapon against someone (and in which case they would not be doing a gentle stop and it would be quite clear he was about to be taken down). Even blatant disregard for traffic rules isn't adequate for a weapon production even by one of the (few) trained officers over here. For armed officers, failing to identify immediately is virtually a disciplinary offence for the reasons other posters have described (the guy might well think he's in life-threatening danger from someone other than a police officer and thus could do anything). He was a stupidly dangerous risk to pedestrians, (if any, possibly), but he wasn't much of a risk to cars except from the view of property damage and his own safety.
"Not seeing" a cop car can be a lot easier than you think, and not hearing one is extraordinarily easy if you have certain equipment / habits. That's not an excuse for the motorcyclist but it is something that any experienced cop should know and take into account. There's nothing wrong with being virtually deaf and driving in some countries, for instance, it's not classed as a necessary driving skill for a lot of places. Now imagine for a moment that the guy had been having a bad morning, wasn't really paying attention, was rushing, etc. maybe he couldn't hear, wasn't checking his mirrors, his mirrors were out of line, etc. (all things that SHOULDN'T affect his driving but also all things that don't necessitate his being shot at) - the first thing he knows is that someone stops his bike and points a gun at him. As a police officer you do NOT want that to happen, because he can do anything that he thinks is necessary to protect his life, and quite reasonably.
Your view of when a gun is justified varies enormously depending on your upbringing, local community and local laws. Personally, someone even *carrying* a gun scares the crap out of me but fortunately, I've only ever seen armed officers in airports and even then only occasionally.
But your last paragraph was spot-on. He was a jackass, no doubt about it, and trying to suppress video or audio of that is basically destruction of evidence / miscarriage of justice.
Damn right - I'd rather be using a chip that has a 20-year errata and proven silicon revision than ANYTHING produced in the last five years. Every single processor ever made has errata and when you're talking about a sole life support for the astronauts, damn right it should be from the "old, tried, tested, we know all it's quirks" bin than the local Intel shop.
People never understand this, and I can't understand why. If you tell me that my car's airbags runs on a Dual-core processor, I will be extremely worried for several reasons (unnecessary amount of state-of-the-art technology, unnecessary complications with timing, unnecessary amount of power to do a simple job, etc.) but tell me that it uses a Pentium with an FDIV bug, or even a Z80 with uncorrected "Z80A" original silicon and I'll feel as safe as houses.
Bugs take a while to find. Every extra transistor makes bugs more likely. Every day in ordinary production use makes bugs less likely (because you'll experience them and work around them). And if you NEED 2GHz of processor to do some of these tasks, the astronauts are stuff if their machine ever breaks. If you keep things simple, so that you CAN go to human/paper backup like some of the moon missions did, then you have much less to worry about. Plus the cost is cheaper of course.
It worries me EVERY time I see some modern, state-of-the-art revamp of a critical system (air-traffic control, road traffic signalling, in-car braking systems, etc.)
1) I'm English, as are the company mentioned. 2) It's still illegal. 3) Just because it was "made available" does not mean that was a deliberate act, otherwise a hacker posting a link to an private internal file on a website would instantly make those files public domain by your argument.
This is *extremely* dubious legal ground, a lot more dubious than threatening lawsuits over an alleged illegal act, and your MP3 example is irrelevant because in the UK that probably wouldn't hold water - me playing a track on radio, or on TV, or giving an MP3 on the website does not make that MP3 public domain or your property. It's still a copyrighted work, and if the intention is proven that you were to own that file forever, it gives no right to keep it. A lot of stock photo websites allow you to download a few "free" images - but their commercial use still attracts a royalty fee, and you can't distribute them, can't use them other for prototype projects etc.
Copyright is not an ownership law - it's a licensing law. If the RIAA gave up, it's because of the expense of proving the case (i.e. much more than a known-download from a known-illicit source), not the legality. Additionally the RIAA only operate in the US, so please "Quit thinking US law is the law in the rest of the world".
Apart from the fact that AD was derived from a Unix technology that does exactly what you ask:
Install Likewise Open. That's your client problem solved. My school has trolleys full of Ubuntu netbooks that log onto the wireless network and allow any AD login on any domain they are joined too. It took three commands I think (install the package, name the machine, join the domain). Kids don't even need to know that the netbooks are Linux whereas the rest of the school is almost all Windows. And, yes, I can use the Windows Administrators to do privileged operations by just sticking them in the right groups.
Server is a bit more tricky but if you're keeping homogenous systems (Linux server, Linux clients), single-sign-on on Linux has been around for donkey's years. Server probably needs Samba4 if you want modern-Windows-clients on a Linux-only server.
Next, please describe how to use MS-supplied tools to achieve the same (i.e. log MS clients onto Linux servers, or even Linux clients onto MS servers). It's hardly surprising that nobody really supports joining the competition, so homogenous systems are infinitely easier to support. But your claim as a unit is bollocks. Wanna come see a Linux netbook join an unprepared, untampered-with Windows-only domain run by a Windows-only machine with no Linux help server-side, and support SSO for all its operations (including initial login, printer access, fileshare access, even desktop icons etc.)? A group of 8 year old's here do it every day.
Building 1 PC a day is a problem? How slow are you? I deployed a 150-machine network, with brand-new, still in the bubble-wrap, clients and servers, installed Windows on them all, created an AD (that's still going strong four years later and runs the school), installed a shed-load of software and imaged the lot within a single 12-hour day for a school I worked for (I'm an IT manager for schools, did this on a contract during the summer holidays on my own). I had a caretaker clearing the cardboard and crap, and I had pre-built machines, but most of it was unpacking and then just switching them on and imaging them.
Gimme a few week's notice and a delivered stock of 1000 motherboards, PSU's, cases, etc. and ask me to build from scratch and I can probably do 30-40 a day easily once I have a production line going, without struggling too much, without any special tools or easy-assembly sliding parts like some machines have. Dunno how slow you are, but that's not unreasonable and I've never even worked at Dell or anything mass-producing such machines from components, I'm just an IT guy. Hell, gimme a student to unwrap, unpack and stack components a few minutes in advance of me needing them and I could probably double that speed even if I'm the only one assembling. I reckon that, without other work disturbing me, I could build 1000 machines from components in a matter of weeks. Gimme some random people who are paid minimum wage and know nothing of computers and I can easily half or third that time. Gimme a couple of IT techs paid a decent amount and you could get it right down.
I know people who used to work at Simply Computers (now part of Systemax) where the assembly guys used to do those kinds of builds all day every day and could build individual custom PC's at those rates no problem at all. A small team could easily satisfy any order in a few days. I know a one-man outfit that handled any equipment we asked of them at short notice, with full warranty, including odd GPU configurations for CAD, and they did it with a only handful of staff in a matter of hours.
Software imaging is just a natural component of that afterwards - 20-30 minutes a machine max and most of that is trying to get into the damn BIOS and set the boot options correctly for PXE-booting. If you have hard disk duplicators, that sort of thing gets done as soon as the disk is out of the packet. Testing is a bit more of a chore but, again, if you're producing that amount of machines most of the testing is in the imaging and primary installation in-place which you would have do anyway, and you have any number of spares on hand and can worry about the pile of uncertainties as you near the end.
If I'm in charge of 1000 machines and I want to replace them with 1000 hand-built machines, I'd be aiming at replacing a department a week even if I was on my own. If it's part of a phased roll-out over, say, a year, then the work would sink into my working day no problem at all. The biggest problems would be the inevitable component failure (1000 PC's, I'd expect a handful to die just from random faulty components out of the box) and the silly stuff like taking things out of packaging.
Answer: "It *IS* OpenOffice. It uses the exact same code even though the company that owns it was bought out by a rival that now wants to control what you do with their version. But the code is free forever, so they can't *make* you upgrade to something inferior (unlike their competitors that we moved away from), so someone has created an identical but still usable version and just had to change the name. That's 100% legal and there will be no arguments or court cases to trouble us over that because our license is perpetual. Your apps will always still work, but the next upgrade might have a different logo on it. Your IT guys don't have to do anything new to upgrade, there are no massive system-wide changes, it's still the same program. The icon design might change on your desktop a little, that's about it, but the file formats are still perfectly 100% the same and the software is still perfectly 100% supported, and still running the same code it always was. But instead of the half-a-dozen uninspired programmers put on the project by the new owners, we have the same community of thousands of programmers that worked on the "old" versions and know the code off-by-heart. We also have the choice to keep using the old code forever, or move to the new version by the new horrible company, or use the new version from the old community, which is kinda why we moved onto Open Source in the first place. Incidentally, how is [sister company]'s upgrade to Office 2010 going?"
It's an idiotic move in any circumstance. It's as silly as being sacked from Microsoft for installing Linux at home, or vice versa. (Even MS has a Linux lab, whether that's for interoperability or just to see what the competition is doing, though I hear they have a policy of MS-only on the main corporate desktops, even for programmers, which seems a bit daft). It's like being told that your children MUST go to the school that you teach at.
Any sensible scientist has actually tried and understands the alternative theories, but just disagrees with them, or there's little point even trying to understand why your own is better. As in commercial markets, competition is a good thing and learning from the competition by having some of their members on your team is a fabulous thing to do. That's when you learn how/why they are successful. This is why Silicon Valley spends half its time buying their competitors and/or hiring their old staff.
I don't think I could ever work for a company that HAS to be the best at something and doesn't take any criticism whatsoever, doesn't analyse their competitors, doesn't let people choose what they want to do on their own time, and that seems to be Oracle's attitude. I have no doubt that they have significant market share in their specialism, but to the average guy on the street they are unheard of, and they've absorbed an awful lot of technology that lots of people use every day (e.g. Java, OpenOffice). Their first foray into updating Java broke Eclipse, for instance (though it wasn't their fault, it was something that should be caught during testing) and their first action on OpenOffice seems to be to make the core development team leave and/or be forced out. It seems they bought Sun "just because" and absolutely do not care about the multi-billion dollar businesses available in its other technology. That's not only stupid, it's incredibly bad business. If they'd have just kept all the patents and trademarks, licensed them to a non-profit and then pushed Java/OpenOffice outside their main company, nobody would have cared and they'd still have some of the largest brands in the world under their control for commercial purposes. But no, they are only interested in things that make Oracle seem powerful and "always right". If I worked for a company and the mere mention of their competitor is enough to strike fear into the heart of my boss, or make him start threatening me, then I would wonder why that is in the same way that I wonder why a Scientologist would not also be able to question their doctrine.
Oracle are throwing away huge sections of their business through arrogance. That's stupid even if they REALLY don't care about Java or OpenOffice or anything else - the sensible thing would have been to break them off into separate entities and thus keep face in the community while still having control over the important IP and big contracts. Not doing that smacks of incompetence.
He is increasing the availability of sought-after books. Many's the time I've wanted to buy a book from ANYWHERE and not managed it for months only to find it years later on a boot sale or second hand shop (as an example, I once had a copy of Geoffrey Trease's "The Black Banner Players" pass through my hands - one of the rarest books in the world - and incidentally apparently one of the crappiest). The book has a lot more value being able to be purchased from anywhere in the world for the price of postage, especially if it is actually sought-after because it's rare, expensive, limited print run, in a country that doesn't normally sell it, etc.
I don't really see the problem with what he's doing. If I had the time / money / inclination, it sounds like a good way to earn money and always has. My ex used to trawl boot-sales (think garage sales or flea markets if you're American) just before they closed. All the stuff the sellers would normally throw away or put back in their attic for another year would be snapped up for a few pounds for huge bags full. Then she'd sort through them, take out anything of good quality (usually things like baby clothes which are ridiculously expensive when new), wash it, iron it, and sell it on eBay for 50p - £1 per item. Nobody was stopped from buying that stuff from the boot sale itself, but the locality of it meant that most of the young, poor mothers in the country couldn't viably buy the item. The extra value wasn't from washing / ironing (that cost money and rarely made much of a difference because stained tended to stay stained) but from the availability of that item to anyone in the UK. Getting an item for 5p isn't a bargain if it would cost you £40 in fuel to pick it up and there was absolutely no guarantee you wouldn't have a wasted journey. But having someone local pick up all the spare items, and offer them for the price of a stamp to the entire country, with full descriptions and photographs, is more than worth £1 or £2. Profit for my ex, profit for the boot sale seller from stuff they would throw away, profit for eBay, ultra cheap baby clothes that are described exactly and the bad stuff already weeded out for every young mother online.
The value is the availability, and the initial search. He adds that value by doing something completely legal that ANYONE with a brain, or a knowledge of their subject, could do. Every boot sale I've ever been to, there is a queue from 6:30am of various local experts and businesses that swoop in, buy all the good stuff and are onto the next boot sale within ten minutes, because they can recognise the valuable items immediately and snap them up for a good price that the seller is happy with. Many admit that they will then go on to sell that item for near-new prices in their shops. Same thing, slightly less "ethical" and slightly more "business" but hell - they make money, the seller makes money, nobody gets hurt and someone else gets what they consider a bargain when they rebuy it from their specialist shop (because that's easier than trawling boot sales in the hope you'll find some item you're after).
I grew up with C and various other languages (I actually learned Z80 assembler after BASIC but before anything else) and I was forced to do Java for university despite the fact that I never attended a single "Programming in Java" lecture for two years and just downloaded the coursework and submitted it online the same day.
I can't stand C++, it's all but unreadable to me. I'm not saying that C is always readable but C++ makes it much easier to create a mess and jumping into any large C++ project is more an exercise in reading than doing (sometimes that can be a good thing, sometimes that just gets in the way of what should just be a simple fix). And in the end it's just a clever macro / preprocessor trick over C99 to turn various "objects" into sets of function pointers that get called at creation / destruction. I honestly find C++'s syntax quite hideous, and I always thought that Java did a slightly better job at it. The trouble with Java is, unfortunately, far too much verbosity for some very simple things.
I wouldn't necessarily recommend C to a beginner either but if you're intent on starting down the C++ line, you do actually have to learn 99.9% of C before you ever really understand anything "C++" in a given program. Thus it's a nice *extension* to a language but I don't like it being classed as a language in itself. It is "C with classes", after all.
It very much depends where you start, I suppose, but I'm loathe to recommend anyone to start with either C or C++ until they know they want to program and will enjoy doing it.
Right-click, Site Preferences - set your options and it always remembers them for that site (e.g. Javascript off, flash off, identify as IE, etc.). You can even turn off parts of Javascript like allowing it to open other windows or hiding the address bar. Maybe not as powerful but it's there and on the "magic F12 / right-click" menu too.
Because on MOST home setups, access to the network is raw access to the machines. Access to the router setup (compromise and redirect EVERYTHING, bypass IE security zones, etc.), access to the local printers, access to the filesharing ports on the computers, etc. It's a bit more serious than just "could theoretically read all incoming/outgoing unencrypted data".
There is rarely a firewall for a wirelessly connected user (because it's seen as a trusted network once you're on it), thus a simple "net use \\ip address\share" will join you to their hard drive if they've ever enabled file sharing (local user passwords aside - if they didn't bother to set a WPA key, chances are they don't use passwords more complicated than "dad"). That's complete, utter, 100% compromise of the machine because it's trivially easy to then just replace critical system files and thus instant key-logger compromises even secure websites.
Beside that, the amount of stuff that flows over an unencrypted HTTP connection is actually quite scary - most UK ISP's use the same login for ADSL and thus do for email, and use plaintext SMTP or POP3 authentication. Even PPTP is inherently insecure if you can record a single conversation over it. If you ever see someone log into their POP3 account, then you have access to their ISP billing, all their email accounts, their home router and again you've hit total compromise.
I never understand the apathy towards this, or towards malware in general. Yes, these people are idiots and get what they deserve but why just say "Oh, it's only a virus, don't worry" or "Oh, someone just got into your wireless". If someone said those things about your body or your home, you'd be extremely nervous and scared about what could have been. If you NEVER use your devices for anything that you wouldn't do on national television, then sure, it's fine. Most people however would be shit-scared to even have their photographs deleted, let alone posted online for all to see, not counting that "passwords.doc" file, or the letters they wrote to their boss complaining about their inept co-workers, etc.etc.etc. If you can happily say that you would just upload the contents of your computers to a public FTP site, then sure, don't worry. Most people, if not all, can't afford such luxuries.
Yes, in practice, most of these compromised users will never know and never have anything bad done to them. However, even a small percentage of such a large number of people is an awful lot of people to be taken to the cleaners, have their bank accounts compromised, have rogue people installing things on their computer etc. Hell, even a teenager deleting your hard drive for a laugh has brought grown people to tears before now because they've lost something they needed for work / some family photos / etc. Yes, backup, backup, backup but that doesn't help after the event.
I work in schools as an IT manager. My first job when I joined my current workplace was to educate people. If you bring me a laptop that "might have a virus or something" and I see a SHRED of evidence of malware, it gets disconnected (even in the middle of a class) and wiped back to factory settings. There is no compromise, or negotiation, because just a few network hops away is the program that pays the entire staff wages from the school's bank account automatically each month. If I see a single piece of software that doesn't belong on any computer, it gets wiped (and all your "unofficial" programs with it, and your music if it's iTunes). When a computer is under my domain, it WILL be clean and that means absolutely STERILE. Every time you take it home and bring it back in, if I spot something, I will just keep wiping it until you learn. So far, 2+ years and nothing more than a fake antivirus banner ad in Firefox across 150 machines because of that policy - but an awful lot of people have learned that they should always back up everything twice (well, I *DID* backup their stuff before I wiped any potentially infected laptop but I only told the
Correction, 3G is artificially expensive (come on, NOBODY needs to account in pence per Mb any more!), sticking the equivalent of a basic business DSL-line connected DSL on every cell tower would cost nothing and allowing roaming between countries where the same operator is present in both (T-Mobile, I'm looking at you) means that's data is basically pence per Gb. You can QoS-limit it over the airwaves to prevent congestion (it SHOULD be the lowest priority traffic, even below SMS if that can be done) but nothing in the world stops 3G actually always being better than crowding a city with 2.4GHz meshes.
I ran an entire school with 150 machines off a 3G stick - in the centre of a large London town (about 10 miles from the city centre), situated in the middle of a busy shopping street, with god-knows how many other 3G users, with interference from hundreds of nearby phones, with several other 3G sticks just metres away (the actual dongle was stuck in the main network room in the centre of the building with miles of copper coming into / out of it, crammed against other USB devices), all getting decent connections and speeds and because it was only for an emergency, we ran for 8 hours with that configuration and ordinary users didn't spot the difference between that and their normal 24Mbps ADSL connection, even when the Internet was being used for lessons (admittedly local caching helped a lot). The deal we got was PAYG 3G on a £10 stick that, for £2 a day, let us use up to 3Gb a month. We did 3Gb in that day and bought ANOTHER lots of sticks / SIM's to keep us safe for the next day - we ran that config for 20 days while our broadband was restored (even though T-Mobile would only limit us if we went over on any one SIM, not block us or charge us). So looking at that, it cost us 66p per Gb, and was more than capable of running a school in peak period in a technologically busy city. We were quite within our rights to just keep buying 3G sticks, or even just PAYG SIM's, and carrying on with that forever.
3G is artificially limited by the carriers. Anything that competes with that is welcome because the carriers can and will just drop prices to force them out of the market (and then probably raise them again when they're gone). But there is nothing in 3G or 4G that stops it from doing a much better job than public Wifi whenever you can get any sort of 3G signal at all. 3G isn't "expensive", using current-day carriers that support 3G is expensive - there's a difference.
P.S. I have a stack of cheap 3G USB dongles if anyone is interested... :-)
Sorry, I started to call bullshit at the "increase the quality back up" sentence. No-one worth their salt in video processing would ever use such a phrase. This makes it equivalent to Bladerunner-esque infinite zooming and Hollywood-style deblurring to a perfect image.
I'm not saying it's not possible, or even not possible in real-time, but that explanation sends all sorts of warning signals to me. Hell, we know you can do stuff like this because Hollywood does it all the time without having to use physical tricks, and there are video processing algorithms that can identify objects easily enough, and from there it's just interpolation over the selected area in real-time (don't forget that "real-time" can just depend on how much computing power you throw at something). It's a photoshop filter applied to every frame, essentially.
The video is neat, but it does have problems with shadows and obviously only works when the prescribed area can be interpolated nicely from those things on the borders of the selected areas (table surface, flat chair surface, etc.) because they avoid doing anything else. I just call complete bullshit on the "put the image quality back up" crap explanation. Tell us what you *really* mean, don't dumb-down for this audience.
You're an amateur, like the thousands of others on the net, like me. This is not a programming skill problem - that comes from either practice or aptitude, not pure willing. This is a contribution problem. You're looking for a project that has many skilled users and also has a very, very basic need they have to meet but at a basic level and that they haven't already done themselves and probably won't take too long. See the problem?
You're asking entirely the wrong questions - I would suggest that instead of trying to add something to Boost or similar, that you try to do something yourself and thus work out why Boost and similar projects are quite complex, have certain standards, etc. The problem of patch submission, new features and bug-fixing is not one of people willing to write the code that fixes the problem - that part's easy, and the fun part - it's finding something interesting that fits within the scope of the project and it's the problem of getting that code into the shape that the project would be happy with too. Thus bug-identification and lots of the hard slog-work (test suites, etc.) are much more useful than anything else you can come up with. I guarantee that the first few ideas you have to contribute to a large project will be knocked back because a) they've been suggested a million times, b) they don't WANT to do it that way, c) they CAN'T do it that way for some reason or d) they just don't trust your code and would spend longer fixing it than just writing it themselves.
I would suggest that you do one of the following:
1) Write your own library, for something you know intimately. Publish it on a website, document it well, do it under a loose license. Chances are it will overlap with other projects but they are always alternatives for everything and if your library is BETTER than the others, it will be used in preference, code will be absorbed from it into other projects, or people will ask you to for more of it. Chances are that it will take you a LONG time to make it better than even the bare basic libraries you find on the net.
(I'll use an example that I'm familiar with - SDL has lots of graphics primitive libraries, but SDL_gfx is one of the best despite not being the only "big" one, despite being unofficial, despite being a one-man operation and yet is used in thousands of projects. All it does is draw circles and polygons and rotate images, for God's sake, but it works and it's simple and it's fast and it's documented so it gets followers)
I know that when I go looking for a library to solve my problems, I am happier with something tiny and in my language of preference (C instead of C++) than some huge generic library that does a million and one other things. I have been on hundreds of tiny sites and found some absolute gems where the author just knocked up the exact piece of code I was after and nothing more and then I've used it, extended it, reported bugs in it and it becomes part of my standard toolchain (as an example, I use LodePNG to save PNG images from SDL_Surfaces, not because that's the only way, or even the easiest way, but because I found it easier than trying to get libpng to do it for me - some of my projects actually use libpng for loading and LodePNG for saving PNG's!).
2) Meld into the community - hunt for bugs, be active on discussions, suggest features (after reading the FAQ's about what not to ask for, etc.), maybe even implement a few test routines to show how useful your feature-X would be. Produce test suites (horrible, horrible job that's incredibly boring but serves a useful purpose). Run valgrind, or some kind of mathematical analysis, on the code and report your fixes for anything found back to the community. The hard-slog but useful stuff that nobody really wants to do.
Everybody would love to be chosen to just insert thousands of lines of code into a big famous project - it very, very, very rarely happens. More likely is that you have a small project of your own that others find useful (because it avoids t
The Internet started without ads. For years it was ad-free. My ISP is not reliant on ad-revenue and cannot legally sell my data to advertisers without my consent (which I have not given). The websites I frequent are not reliant on ad-revenue, and those that are are easily replaced with ad-free alternatives that have existed for years, if not decades. Google is the only problem but Google's ad-revenue comes from targeting their ads to your searches and cookies, nothing to do with IP geolocation at all (IP geolocation is a bit useless except for those "Meet someone in ---your city name---" ads).
At the moment, Facebook is serving me Italian ads because I'm on an Italian connection on holiday despite the account I log into, my chosen language, my Facebook cookie history, my browser, my laptop etc. all being set to UK English. Win for geolocation there, because I can't even read any of the ads they are showing me.
If someone is reliant on my IP to show me ads, they are already stupid. It's one tiny little piece of information that's cancelled out by a single cookie and / or a million other ways that I deliberately CHOOSE to personalise the ads that are displayed to me. I *HAVE* deliberately set my region in Facebook but yet they serve me Italian ads. Google, however, always redirects me to their UK domain, where I'm always served UK-relevant ads even when I'm on holiday.
The reported (and greatly exaggerated) death of IPv4 won't hurt advertisers any more than 0.01% more of people choosing to install an ad-blocker, or ad-blocking browser.
Similarly, pissing away billions on something that we will literally be flying past in a generation's time, waving sarcastically from the windows as the other ship would still be a generation away from even home, is a ridiculous idea. There is pretty much nothing between solar systems that is worth studying with human contact, much better investment in long-range unmanned probes until we have the technology to get to those places within a lifetime. Even the moon was seen as an easily achievable distance - it was the cost and technical problems that held back everyone from doing it earlier, not the sheer consideration of a vast distance. As with everything, there are diminishing returns and sweet spots and there is a point at which it will come down to one generation, or some other feasible number and *then* it's worth the investment and not before.
There was little point sending Voyager if we thought we would be overtaking it before it got to the outer planets, but that wasn't scientifically plausible even if we'd invested almost everything we had into the idea - the chances of us catching it within 20 years even if we could launch today are pretty damn slim. This, however, is scientifically implausible - because in several generations the chances of THAT ship being the one to get close to even the closest star and see something new is almost zero.
It's like people vowing to walk around the world - it's more than feasibly possible for one person, with only existing technology, to fashion a vehicle on the starting line that will actually overtake them before they manage to do it. Nice exercise, but in terms of achieving distance and getting to a goal, the guy building even a skateboard on the starting line will win.
Useless is less than 5% of the sites returned support IPv6 (or could even tell you what it was).
Slashdot, for instance, doesn't.
Maybe if you spelled slashdot correctly?
Nobody cares, nor needs to, except the ISP's and hosting outfits. If they provide a nice 6-4 proxy (or whichever way around it is), 99.999% of users can continue doing everything they normally do. I've done it on several of my machines in the past, been in the IPv6 net and browsed IPv6 websites to confirm it, and I never once had to touch my IPv4 config or do anything too fancy - certainly nothing that an ISP couldn't do transparently from their side of the net.
It's an issue if you're hosting websites, because then your site needs to be accessible from the IPv6 addresses, but that's an issue for the hosters, most of the biggest of which are managed hosting outfits that can switch that on overnight if they haven't already - if they are allocating static IPv4 addresses, it's just a matter of translating and passing on IPv6 requests for a recognised IPv4 equivalent address to an internal IPv4 network. The root DNS servers are running IPv6 already, etc. There's absolutely nothing to stop this just working on most people's machines today and, no, not every machine needs to upgrade to IPv6 addressing in order to do that. In fact, if anything, suggesting that internal business networks suddenly become IPv6 addressable is the most stupid suggestion in the history of the world - most places just want an "4-6 convertor" in layman's terms and they'll tick along quite nicely on their internal 10, 176, and 192's without caring. Most places would run absolutely fine, the only place it matters is the extreme borders of the Internet.
People don't run IPv6 not because of any of those reasons in the article but because a) they haven't heard of it, b) ISP's don't support it or won't do it for them automatically and c) a lot of OS's never come preconfigured to use IPv6 if it's available. Oh, and of course, d) nobody will care until their IP address allocation requests start getting turned down.
It's not a big deal, it's not going to kill NAT's and 30 years from now there will STILL be local networks, internal VoIP systems, print-servers and whatever else using IPv4 addressing because it's a damn sight easier to leave a working config alone than to upgrade/replace every bit of hardware that touches IP. I can use IPv6 today. There's absolutely no need to until every link in the chain supports it and that's still YEARS away even with US government backing. And even then, IPv4 isn't going anywhere - it's just being superceded. It's like saying that all SSH servers have to switch to SSH2, or all wireless LAN's to 802.11n - it'll happen, and a little nudge won't hurt, but overall people just don't care enough for the majority of cases and their old stuff will still work on IPv4 in 20-30 years time if it's still operational.
Tell me when even 5% of the websites that I use regularly are available over IPv6 and I'll look at setting up my VPS to do the same.
1000 years? That's a heck of a long time. It would be much sooner than that or not at all.
1000 years from now? I should hope that by then we'd have invented something that could move a little faster and overtake any such ship. If we're even still around, and if an enclosed human populace can survive that long at all on such a journey (my bet would be 8 or so generations before some virus wipes them out).
Don't forget that, to the 1000-years-in-the-future humans, we are the equivalent of the people just starting to invent gunpowder and paper and our 1000-years-in-the-future comrades have their own Internet, satellites, Mars-missions and quantum physics. We can just about add up, as a populace, and some highly-skilled polymaths are just getting the hang of second order equations and working out that gravity might possibly exist, while the 1000-years-in-the-future guys have atomic weapons, mappings of the human genome, synthetic foods, worldwide speed-of-light communications systems and cryogenics.
Now translate that forward another 1000 years and our puny "Ooh, we just about got two objects out of the solar system in only 40 years of travel" will be vastly overtaken by all sorts. I wouldn't be surprised if any such project was an absolute waste of time. Hell, we have two possibilities - we overtake the Voyager spacecraft ourselves in the next 100 years or so, or we never even get that far ever, at all, and die out. I think a lot of money would be placed on both sides.
But 1000 years? Please. It'd be better to wait 100 and then do it in half that time with the new advances. Human space travel is barely 50 years old itself, don't forget - you're talking about 20 times the amount of time of the entire history of spaceflight.
And not an ounce of documentation either.
Has no-one here ever used a SOFTWARE renderer in their games? Software on a general CPU is atrocious at accomplishing a task optimally. Hell, it sucked years before graphics required an extra card in your machine and it sucks even more now - how many "GHz" do you think your CPU would have to run at in order to match the performance of an average GPU by using software rendering? Probably a lot more than double what the best computer processor runs at now, or we'd be throwing GPU's away and buying quad-core's instead. Software implementations on a generic processor can't even come close to competing with a hardware device designed to do just that one task. Especially not on something that uses the x86 instruction set (go look at the speed of ARM chips compared to their heat / power / price).
Software implementations are basically emulations - take MAME or other emulators for example - you are software implementing a device that probably originally run at a handful of MHz and now requires a GHz PC to keep up with it, even if you remove quite a lot of the unnecessary interface logic. Now this is an entirely encryption affair here but even back in the days of VIA EPIA boards, VIA's on-chip encrypt/decrypt logic could outperform even the best Intel CPU.
It's a software implementation. Expect it to suck until it's optimised, and even then expect it to be way behind what a £10 FGPA could be programmed to do with the same base code.
I agree. The point of my post is not that - it's that the use of a gun is not "justified" in such situations.
Redundancy should not be relied upon. Like a RAID should not be used in place of a good, reliable, slow, tested-technology backup system stored in an ideal environment, or how a RAID doesn't suddenly "add" reliability if your disks are dying / unreliable anyway (single-bit-error on writing to disk = nothing a RAID can do to save you). They can complement each other but they are different parts of the system.
Redundancy is there to keep you safe if something goes wrong with a particular *instance* of a component (i.e. a particular physical processor), by definition you should be minimising those "things going wrong" all the time as much as possible, especially when lives are at stake. Thus a redundant AND reliable/tested system is what you should be aiming for. Having a million redundant dual-core processors running the shuttle is NOT better than using some chips that have been in production/design/manufacture for the last 30+ years without any problems at all (e.g. the Z80). If something is wrong with the modern chips, or the software, or there's a strange interaction on the (unnecessary) core-interaction circuitry then you're still dead even if you have a million of them.
Every transistor you use is a potential failure point. Reduce the transistors, inspect the silicon, run it in tests for 40 years the world over with billions of unique, seperate workloads and THEN you know what the processor will do. No amount of "just slap another processor in" will save you if the problem is inherent to the chips themselves, even if you mix manufacturers. The original 8086 instruction set has been cast in stone for over 30 years and we know all it's problems and which particular implementations have problems. The newer instruction sets are still having their errata added to everyday - you just don't see it because they are tiny side-cases, the processor's microcode is auto-updated by your OS, the processor restarts itself or throws errors so the software restarts itself, or your data is silently being corrupted by them. None of those things can be found without a SERIOUS amount of testing, which is why the Pentium FDIV bugs made it through Intel's testing and onto the mainstream market before they were discovered, why Excel had a bug for years where a particular floating-point value was always replace with zero, etc.
In 30-40 years, those chips will possibly be candidates for the same sorts of things, but no chip in the world nowadays has such an easily auditable circuit layout, a well-stabilised errata, 30+ years of testing in real-world environments, etc. Hell, most processor models these days are barely in the market for 5 years themselves (what's your oldest machine?) so to get more than 5 years is stretching things a bit. NASA are going for mathematical correctness here, not brute-force-and-hope. Real-time responses, perfect replies AND enormous redundancy (the best redundancy in the world, of course, is for the humans to be able to do the same calculations that the computer does).
Gimme a life-support machine run by a 30-year-old Z80 over anything made in the last 10 years any day.
Ooh, someone punch him out.
Sorry, but I live in a country where the policeman would go to jail if he drew a weapon on a traffic stop unless the guy on the bike had already drawn a weapon and/or tried to use his vehicle as a weapon against someone (and in which case they would not be doing a gentle stop and it would be quite clear he was about to be taken down). Even blatant disregard for traffic rules isn't adequate for a weapon production even by one of the (few) trained officers over here. For armed officers, failing to identify immediately is virtually a disciplinary offence for the reasons other posters have described (the guy might well think he's in life-threatening danger from someone other than a police officer and thus could do anything). He was a stupidly dangerous risk to pedestrians, (if any, possibly), but he wasn't much of a risk to cars except from the view of property damage and his own safety.
"Not seeing" a cop car can be a lot easier than you think, and not hearing one is extraordinarily easy if you have certain equipment / habits. That's not an excuse for the motorcyclist but it is something that any experienced cop should know and take into account. There's nothing wrong with being virtually deaf and driving in some countries, for instance, it's not classed as a necessary driving skill for a lot of places. Now imagine for a moment that the guy had been having a bad morning, wasn't really paying attention, was rushing, etc. maybe he couldn't hear, wasn't checking his mirrors, his mirrors were out of line, etc. (all things that SHOULDN'T affect his driving but also all things that don't necessitate his being shot at) - the first thing he knows is that someone stops his bike and points a gun at him. As a police officer you do NOT want that to happen, because he can do anything that he thinks is necessary to protect his life, and quite reasonably.
Your view of when a gun is justified varies enormously depending on your upbringing, local community and local laws. Personally, someone even *carrying* a gun scares the crap out of me but fortunately, I've only ever seen armed officers in airports and even then only occasionally.
But your last paragraph was spot-on. He was a jackass, no doubt about it, and trying to suppress video or audio of that is basically destruction of evidence / miscarriage of justice.
Damn right - I'd rather be using a chip that has a 20-year errata and proven silicon revision than ANYTHING produced in the last five years. Every single processor ever made has errata and when you're talking about a sole life support for the astronauts, damn right it should be from the "old, tried, tested, we know all it's quirks" bin than the local Intel shop.
People never understand this, and I can't understand why. If you tell me that my car's airbags runs on a Dual-core processor, I will be extremely worried for several reasons (unnecessary amount of state-of-the-art technology, unnecessary complications with timing, unnecessary amount of power to do a simple job, etc.) but tell me that it uses a Pentium with an FDIV bug, or even a Z80 with uncorrected "Z80A" original silicon and I'll feel as safe as houses.
Bugs take a while to find. Every extra transistor makes bugs more likely. Every day in ordinary production use makes bugs less likely (because you'll experience them and work around them). And if you NEED 2GHz of processor to do some of these tasks, the astronauts are stuff if their machine ever breaks. If you keep things simple, so that you CAN go to human/paper backup like some of the moon missions did, then you have much less to worry about. Plus the cost is cheaper of course.
It worries me EVERY time I see some modern, state-of-the-art revamp of a critical system (air-traffic control, road traffic signalling, in-car braking systems, etc.)
1) I'm English, as are the company mentioned.
2) It's still illegal.
3) Just because it was "made available" does not mean that was a deliberate act, otherwise a hacker posting a link to an private internal file on a website would instantly make those files public domain by your argument.
This is *extremely* dubious legal ground, a lot more dubious than threatening lawsuits over an alleged illegal act, and your MP3 example is irrelevant because in the UK that probably wouldn't hold water - me playing a track on radio, or on TV, or giving an MP3 on the website does not make that MP3 public domain or your property. It's still a copyrighted work, and if the intention is proven that you were to own that file forever, it gives no right to keep it. A lot of stock photo websites allow you to download a few "free" images - but their commercial use still attracts a royalty fee, and you can't distribute them, can't use them other for prototype projects etc.
Copyright is not an ownership law - it's a licensing law. If the RIAA gave up, it's because of the expense of proving the case (i.e. much more than a known-download from a known-illicit source), not the legality. Additionally the RIAA only operate in the US, so please "Quit thinking US law is the law in the rest of the world".