well not you because you're probably too much of a self-righteous douchebag to actually own the device you're complaining about
Wait... so you'd prefer GP be a hypocrite than a "self-righteous douchebag"? Think about that for a moment.
They don't have to honor their warranties if you go beyond their scope of intended use, but then again you don't have to jailbreak it.
I'd be happy with that -- though I would much prefer they still honor hardware warranties, even if they aren't required to do anything to the software. Note that while it may take some convincing, I generally do get PC manufacturers to deal with hardware issues when I'm still under warranty, even if I am running Linux. It makes me an easier customer, after all -- I don't bother them at all unless it's a hardware issue.
Unfortunately, Apple is trying to make it a legal issue, and they also seem to be trying to move their desktop OS towards the same walled garden.
And while the easy-bake oven is almost a decent analogy, the existence of relatively more open Android devices kills it. You can't say an Android phone isn't intended for the same things -- both Android and iOS are targeting the exact same users, use cases, etc. It's much more like the difference between two otherwise-identical toasters, one of which can have the temperature and cooking-time adjusted, and the other always produces toast of precisely the shade of brown Steve Jobs favors.
Now, I don't think anyone is saying that people should be prevented from making such a device, but it is a very odd situation where the device with less functionality actually has a higher price point, and I do think that this sort of locked-down device is harmful to everyone except the manufacturer.
I haven't played Guild Wars, so I can't say, but I do know I haven't really seen this done right. What does "as required" mean in this case? With a sufficiently fast connection, could I conceivably walk through the entire world without seeing a loading screen?
And even in that case, there's still the part where you have to download that installer, and trust it with your system.
Um... UNIX, POSIX.. then all the non-standards since then. I didn't think I'd have to explain that..
You still haven't. Again, what is actually wrong with these interfaces? And if you're going to include that much history, can't I also cite the mess that is Win32?
Ok, on all the systems where task foo is enabled, change the minute to random(60)
Why would I ever want to do that?
Puppet can do this, and their crontab handler is not a simple piece of code. I imagine you simply cannot do this or put way too much faith into search/replace.
Also not really seeing the problem with that. In fact, crontab is already in a format which can be trivially read with grep, so I see little reason it couldn't be fixed with sed.
I'm also not sure why this is really an issue when you mentioned that Puppet already solves your problem.
You can't just diff two sudoers files and figure out the effective differences.
Unless they're dramatically different, it kind of does. And what are you comparing this to?
Logically it is IS easier to diff exported registry settings,
Really? Sudo vs exported registry settings? Unless you're going to get very specific about which registry settings we're talking about, I don't see the advantage -- the registry is otherwise about as useful for diffing as the entire filesystem.
Also, while I'm not sure how common it is, I am starting to notice tools with the ability to dump their configuration -- for instance,
Regardless, what I can do here is stuff an entire/etc into version control, then push out a given branch of that to give me a preconfigured machine. I'm sure tools exist to do something similar in the Windows world, but you're not going to get there by dumping arbitrarily fine chunks of the registry.
Heh, tell me if the bonding settings are identical for any two Linux network interfaces. Pssst! Check both modprobe.conf and ifcfg-*!
I can go one step further:
grep -rl 'eth[01]'/etc
Now I know where to look for any differences between those interfaces -- which services are running on each of them, probably which ports are open on each of them, and so on.
Write a script to detect wether your sudoers file is vulnerable to this:
Wouldn't it be easier to update sudo? Also, the impact looks pretty fairly minor -- I don't have to enter my own password when logged in as myself to switch to... myself... but a group I'm not a member of.
you will have to reimplement a good chunk of the sudoers parser.
Possibly -- though this has largely been done, takes about 5 minutes on Google to find various sudoers parsers. That does suck, though -- postfix, for example, has a command which dumps all config values in an easily-parseable format.
you NEED a tool like Puppet to get anything done somewhat reliably,
Your example so far of something for which you need a tool like Puppet is... well... setting a cron job to fire at some random minute instead of at the same minute.
And what is wrong with needing Puppet, if that's the case? That fits perfectly well with the Unix philosophy -- why would you build that functionality into the system, if you can have a third-party tool that works just as well?
I meant yum update, and did that actually do anything.
I got that. Why doesn't my suggestion work?
The easiest way is to check mtime on/var/log/yum.log afterwards,
Doesn't mean it's the right way. That'll tell me whether it "did anything", but not whether it did what I want.
If WebGL breaks, I can disable it, fix it in my own browser (it's open source), or switch to a different browser with an entirely different implementation. If it breaks because of my video driver, I can upgrade my video driver, or switch to a different one, even swap out my entire video card, or run it on top of a software GL implementation.
If Flash breaks, I can either disable it and wait till Adobe gets off their lazy asses and fixes it, or leave it enabled and thus be vulnerable.
Hey, I'm not even necessarily anti-plugin. If Adobe Reader breaks, I can switch to Chrome and its built-in PDF viewer, or I can switch to one of several excellent PDF viewers -- I like Okular on Linux. The reason this doesn't bother me is that PDF actually is an open standard, not just in theory (like Silverlight or Flash), but in practice, with several excellent competing implementations.
If Silverlight breaks, I can either disable it till Microsoft fixes it, or switch to Mono and Moonlight -- which is about as effective as avoiding Flash vulnerabilities by switching to Gnash. In other words, for the majority of websites requiring Silverlight (or Flash), this is effectively the same as disabling it anyway.
By contrast, if Java breaks, there's OpenJDK. Not as nice as JavaScript, where there are three or four good engines in separate browsers, but there's still at least the possibility of fixing it myself, and wasn't Apache building their own VM anyway?
Now, because we have so many different browsers with entirely different implementations of the actual core web technologies, when a new technology like WebGL is proposed, you either need one open source implementation with a liberal enough license for code to be shared between browsers, or you need a brand-new implementation for each browser, and the latter seems to be happening more often -- especially for stuff like Canvas. Because there are so many browsers, they are actually competing on who can implement the most features in the most standards-compliant way, so this stuff actually gets done.
By contrast, even with a very good open-source plugin, there's no guarantee that there's more than a single implementation, so there's a chance for a buggy implementation to become the defacto standard (if there's a disagreement between the Silverlight standard and MS Silverlight, which wins?), and there's a chance for a proprietary implementation to become a defacto standard whether or not there's an "open standard" to appeal to (howmuch of the Web is on Flash now?). In fact, Flash pretty much proves that it only takes one plugin to plunge us back into the days of IE6 in terms of one proprietary implementation -- security is impacted, but so is everything else.
I am. Certainly, I'm clamoring to develop processing-intensive 3D games for web browsers.
Think of the success of free-to-play stuff online now. Imagine you could just click a link and jump into a demo, no downloading, no security risk (assuming this crap gets fixed), you could try games out without the "download random crap" problem. Even once you decide to pay for it, compare this to approaches like Steam -- the instant gratification of having a game right now with the rest of it progressively downloaded as needed, versus waiting a few hours for it to download, and that's on my 100 mbit fiber connection.
You can actually see some of this effect by, say, buying Half-Life on Steam, then just start playing -- it won't be long till you can actually start playing, and then it's just 30 seconds to load a level instead of half a second. Downside is you still need to download Steam and they don't continue downloading it in the background, or in any particularly smart way, so you pretty much always need to load the next level from the Internet.
It's not immediately obvious how much an improvement this would be. Think about the difference between YouTube and BitTorrent. If it's a movie, I'd rather just download it, I can wait. Even on YouTube, it took awhile before I saw it -- I would mostly download YouTube videos and play them in mplayer, to avoid the Flash overhead -- it would seriously lag and get out of sync on Linux, though it's better now. But compare that process to just following a link -- or, better yet, clicking a "play" button in the middle of a webpage. The dynamics are entirely different -- it's not just a matter of being faster or more convenient, you end up viewing content in a different way, and you end up with a community that actually would not work if it was built around downloading videos first and then playing them.
And, be honest, how many hours have you wasted on Flash games? What if those didn't suck?
Never mind that it would kick Flash's ass for the places where Flash actually sort of almost makes sense now. Google Street View? Do that with better performance and no plugins. Google Earth? No plugins, and someone could literally give you a hyperlink to a location.
Now that we finally have sandboxing in browsers they want to let any website run directly code on your hardware.
As opposed to what?
Keep in mind that sandboxing is a way to deal with websites having direct hardware access. That's how they can do NaCL safely.
Silverlight has direct support for XNA which handles it everything better and safer anyway.
What's "better" or "safer" about XNA? Never mind that nothing's stopping you from porting frameworks to this anyway -- having a lower-level standard means that, ultimately, you can have something like XNA, and others can have other things.
Never mind that XNA doesn't have a particularly good OpenGL implementation, and that Silverlight is barely an open standard as it is. Why on earth would we go from one proprietary plugin to another, when we can just use the native, open Web?
Are we also supposed to write WebGL games with notepad?
If you like. Or with TextMate, or with Eclipse, and you've got tools like Firebug and Chrome's Developer Tools.
Never mind that Chrome is actually cross-platform and free-as-in-beer, and Chromium is open source. Why should I have to boot Windows, let alone pay a massive licensing fee, in order to use a giant, clunky IDE just to build a web app?
I remember developing HD-DVD using Visual Studio. It was the best tool we had, which was really sad -- no way to make that work in Eclipse, and no good way to debug otherwise. Never mind that the whole thing would only work on XP -- not Vista or 7. Do you have any idea what a relief it was to start doing web development again, where I could have my choice of tools, OSes, and working environment, instead of being stuck on an admin account in XP?
Not only that but the games also work on Xbox360 and mobile phones without such a major porting.
Know what else mobile phones have? The web. And it actually works natively, as opposed to attempts to get XNA working on Android and iOS, which are kludges running on top of Mono.
I'll grant that it may be a good idea to inquire as to what sort of interesting ways the candidate has been actually honing their craft and doing stuff for fun, rather than just fulfilling requirements, but this is just moronic.
First, and biggest, problem with this and TFA: Why the obsession with applications? I'm not an end-to-end application developer. I'm good at programming, at actual software engineering, at putting together the puzzle which actually gets stuff done. I'm even decent at talking to users and at building a moderately usable UI.
I am absolutely shit at graphic design, and while my UIs are usable, they're far from polished in any sense of the word.
I'm also not so much an idea guy, at least as far as "apps" in the front end. The kind of thing most people would turn into an app, if it occurs to me at all, I'd probably do as a one-off shell script.
There is no way that any of these things are going to produce an "app" that I did all by myself. It may still happen, but I'm not going to be the one dude who wrote Angry Birds or anything like that.
But I do play nice with others. I have scraps of code and layers I'm responsible for in the open source world. And these things are more relevant to the kind of developer the corporate world wants to hire, unless you want to hire me to develop the sort of "apps" that you can sell for 99 cents in an "app store" as opposed to the kind of "applications" you run your business on.
And why shouldn't school projects count? If they don't, that strongly suggests the schools aren't doing their job in preparing me for the real world. If that's the case, why do you care if I have a degree at all?
The mouse is almost 50 years old. You'll have to be way more specific about what's actually wrong with the interfaces that exist, standard or otherwise.
Think what it takes to programmatically manage crontab entries for a minute,
99% of all tasks I want to schedule with something like Cron need to run hourly or daily. It is a one-liner to add an hourly, daily, weekly, or monthly cron job. Oh, and there's a cron.d on my system.
It's not even a contest, Linux is HORRIFIC at programatic configuration, you cannot lie about this.
Erm... if you say so. I mean, I can also put my entire cron configuration in version control -- hell, I can put my entire/etc under version control, and I can get meaningful diffs/patches, comments, etc. Can you say the same for Windows configuration?
If SSH is your idea of remote automation heaven, then I hate to tell you, but you can install that on Windows.
Yes, and you can install Kerberos on Linux. That buys you nothing. SSH sucks as a method to automate Windows, certainly, but that doesn't tell us much either.
messy nondeterministic CLI
I find it really bizarre that you can say that in the same breath. Nondeterministic... so other APIs are deterministic? What do you mean by that?
man yum, tell me how you would know if a package installed or not when I do "yum -y update foo"
Probably couldn't get it from that one command, but I could check the status before or after the fact:
yum list installed foo
It is true, the exit code isn't documented, but it is fairly standard that success is 0, anything else is an error. I just checked on a redhat system -- "yum list ksh" shows me that ksh is available, and returns 0. "yum list installed ksh" errors and returns 1, since ksh isn't installed -- but repeat the same with dash, which is installed, and it returns 0.
Should that be documented? Sure, but this isn't exactly "undocumented, may change suddenly with disastrous results!" territory here. Never mind that the output is easily parseable.
Oh, and... OS updates... Say, when can I expect an API to deliver my app via Windows Update, hmm? At least updates to it, if not the full installation?
I have no problem with making code look readable enough for a manager to understand -- in fact, I try to do that anyway, because readable code is just a Good Thing.
But there is a world of difference between being able to show a manager a snippet of code to help explain how the program works and whether it's what he wanted, and trying to get managers to program. Again, it's not that I'm elitist and don't want to be cut out as a middleman, it's that when non-programmers program, the results truly are disastrous.
Having used LaTeX, OpenOffice Writer's Formula Editor, Maxima, even the Mastering Physics Flash widget, it's not that bad. I certainly wouldn't prefer a mouse to that, though.
Most programming languages aren't the best for mathematical expressions, but I would argue that this is mostly because the conventions of math revolve around the pencil-and-paper medium it's been for so long. And while I could see the use of a diagramming tool for "solving" a program -- for planning and figuring out what angle I'm going to take -- there are two problems with this: First, a whiteboard is going to be a lot easier than anything I can do with a mouse. Second, once I start writing anything, even if it is a prototype, a real programming language is still likely to win, both in terms of productivity for getting the prototype working, and in terms of being a platform I can actually build on.
While the actual terms were likely off -- "stripped her amygdala" doesn't make a lot of sense -- this sounds like exactly what River Tam is supposed to have.
Teaching this to computers doesn't seem like a great idea, though. "This was a triumph" indeed.
"Go and look at the configuration settings and turn off wi-fi - in most cases you won't need it if you've got a cellular signal," advises Vermosi.
What? Why?
"By having wi-fi turned on, you don't have a firewall on your iPhone, so when you go into a public wi-fi situation you are open to a man-in-the-middle attack or someone eavesdropping on your transactions."
*facepalm*
What. The. FUCK does a firewall have to do with MITM or packet sniffing? Next thing you know this douche is going to be selling an "iPhone Firewall" for... some purpose, I guess?
But no, let's trust our wireless carriers, who've certainly never had problems like this before, and also waste gobs of our data plan to avoid wifi. Hey, at least you're aware of the dangers of broadcasting stuff in the clear over wifi. How about, instead of trying to broadcast it in the clear over something else, stop fucking broadcasting it in the clear?
"Turn off Bluetooth as well because chances are you don't need to be associating with another gadget.
Like, oh, a Bluetooth headset. No, can't have those.
I'd turn of Bluetooth to save battery, but if this is going to be a problem for you, maybe reconfigure Bluetooth so it isn't a security hazard?
Also, go into the camera and turn off the location data because you don't need to put location data with your photographs."
This might be the first actually good piece of advice -- though I would think the much more secure change to make would be to always strip location data from any photos you put anywhere. Why trust your phone to get it right?
And of course, that's assuming you don't want that data there to begin with. It'd certainly be useful to extract from my own photos, so long as it's stripped before I post them somewhere public.
I guess I have to agree with his premise -- gadgets do degrade his common sense. But TFA is a bit misleading in that it starts out talking about things like death-by-GPS, and then goes on to talk a lot about security and privacy, while the author doesn't seem to know much about either -- just enough to be dangerous. Maybe I'm naive, but I still think the solution is not to avoid gadgets, or to follow some cookbook recipe to make your gadgets safer, but to actually understand them -- what they are, what they can do, and how to use them properly.
That's not "ab-fucking-straction" causing that, it's shoddy programming, both on the part of Adobe in writing Flash, and on the part of most Flash developers.
The real problem here is enabling idiots to program without doing anything to make life easier on competent programmers.
Visual programming has been done before, and it's never really caught on. Visualizations can help, but the advantages of working with raw text as a native format are too many. Just off the top of my head:
Comments? On the off-chance that I look at one of these visual charts and can't figure out WTF it's trying to do, or why this particular block is wired where it makes no sense for it to go, how might the original programmer tell me? Maybe it's a browser-specific hack, maybe it's legacy cruft that we mean to get rid of eventually... And how do I connect to some existing code someone wrote?
Speed? If I can't do this with a keyboard, it probably already loses. Even in JavaScript, is this going to be quicker than a decently capable typist hacking it together by hand?
Version control? Even something as simple as a diff -- how does that work in this system? Decades of research have gone into tools to work with text -- Git is awesome -- can I bring any of that stuff to bear with this system? If not, what do you have to replace it, and how does it measure up? This was my biggest complaint against systems like Squeak -- I think the idea of changing code live in the system and taking snapshots is awesome, but how do I wire it up to something like Git?
Expressiveness? Are there limits to what I can build with this and have it look sane? With text, I can come up with whole new domain-specific languages to suit the task at hand -- there are all kinds of ways of abstracting away complexity. What does this give me?
I could go on, and these same observations have been made before. It really seems like the attempts to make programming more visual are aimed less at making experienced programmers more productive, and more at making things easier on beginners, or worse, non-programmers. I'm all for making things easy on beginners, so long as they eventually outgrow this sort of crutch, but enabling non-programmers to write programs seems to always end in tears, in entire businesses run on Excel + VBA written by a business type. Understand, I'm not trying to build an ivory tower here, ensure job security, or anything of the sort -- by all means, if businesspeople want to learn to program, go ahead -- but attempting to dumb things down to where they can write programs without really understanding fundamental things about programming is giving us the worst of both worlds.
Regardless, no, I can't help but think that most programming will never be done this way.
The processor also differs from FPGAs (field-programmable gate arrays), which are reprogrammable circuits that can help execute specific tasks such as XML processing. The Epiphany chips are not restricted to running specific tasks, Olofsson said.
So... what... they can run a "non-specific" task, and an FPGA can't? Just what is it that these can do that an FPGA can't?
My understanding is that by being actual processors, they can probably operate faster than an FPGA design for a lot of tasks... might that be it?
If anyone has any idea what this guy meant, please elaborate. It looks to me like there might've been a useful comment in there, but it might've been lost going through a CEO to being paraphrased by a journalist... But maybe it's obvious to someone.
I mean, I get that Parrot itself probably isn't a good choice, but I still wonder why everyone is so busy reinventing wheels independently and in such a language-specific manner.
It's like trying to scare off ninjas by deploying mall cops. The mall cops are hopelessly outmatched; but they will, on occasion, stumble across a ninja, which forces the ninjas to either passively risk detection or actively start killing the mall cops, which alerts you to their presence.
That is a beautiful analogy, and you deserve a +5 for that alone.
Still...
Wouldn't a ninja be able to take the mall cops out one at a time, hide the body, steal the uniform, and pretend to be a mall cop, thus avoiding alerting anyone to their presence? That seems like the obvious solution -- completely take over the AV system, continue receiving updates, but rather than implement them, send them back to your botnet's command-and-control so the botnet operator can stay one step ahead.
So why is the solution to roll your own, rather than fix LLVM or develop a more direct competitor to it? All of the issues mentioned so far seem to be with the current implementation, not with the fundamental idea.
Based on what I have seen int he last 10 years, there is real benefit for research to spend int's initial life held wityhing acadamia and the proper science community.
I couldn't possibly disagree more. This only deepens the divide between the scientifically literate and the sort of people who believe the earth is six thousand years old -- now something like half the US population honestly believes this.
Your examples only highlight this:
How many people have died because the general public didn't have the ability to understand the Wakefield paper?
And how many people die because of "Christian Science" telling them to pray instead of see a doctor?
No, I think the real question here isn't how many might have survived if the Wakefield paper was kept hidden until it was somehow approved, but how many would've survived if they actually did have the ability to understand the Wakefield paper...
How many times has the media cause alarm and panic over a paper they don't understand?
...especially those reporting on it.
We need a vetting person for studies.
This is a terrible idea, for many reasons.
First, attempting to establish a central authority over all of science kills a lot of its credibility. The idea of peer review makes a lot more sense -- if you think you have a good idea, prove it, and the best way to prove it is to convince others in the same field.
Second, wouldn't this also limit dialog and discussion? Good-but-not-great papers are still useful -- maybe there's an idea in there that the author didn't see.
Finally, transparency is the best weapon against corruption, and against the image of corruption. Think there's some liberal conspiracy to push evolution? All the evidence is right there. Hey, if you find a problem, that's good too. Think your idea is better? Prove it, you just have to get it through peer review. Yes, there's some bad reporting, but there's also good reporting, and there are ways to wade through it and figure out what's actually true.
Compare to your idea. Clearly there's a liberal conspiracy to push evolution -- that one guy just doesn't want to accept Jesus. They won't let me see the evidence, and God works in mysterious ways, so it's all the same, right?
Think about it. Should Newton have had to pay Galileo, or is it just cool that we now understand that the same gravity which pulls apples to the ground is what holds stars together?
Or, for that matter, should Einstein have had to pay Newton, or is it just cool that we now understand that matter can be converted to energy and vice versa? What about Schrodinger -- should he have to license Einstein (or the other way around; I'm a bit fuzzy on the history), or is it just cool that we now understand that particles are waves, and things we thought of as only waves are also particles?
If everyone had to "license that shit", you wouldn't be posting this, because you wouldn't have such a thing as a computer. If it wasn't for this licensing bullshit, we'd be living even more in the future than we are now.
There were builds of Chrome which ran on Linux and supported H.264. And it can legally be used on a very large number of Linux systems. Buy a Dell with Ubuntu preinstalled? It probably came with the Fluendo codecs -- legal support for a large number of codecs. Or maybe it has an nVidia card? Well, you've already paid for hardware H.264 support, and the nVidia Linux drivers can use it.
But as a technical matter, codecs are much less annoying than Silverlight. Most codecs work most of the time with FOSS alternatives, there just might be some legal issues. Silverlight, there might be legal issues anyway, and Moonlight doesn't work most of the time.
That's not saying much...
well not you because you're probably too much of a self-righteous douchebag to actually own the device you're complaining about
Wait... so you'd prefer GP be a hypocrite than a "self-righteous douchebag"? Think about that for a moment.
They don't have to honor their warranties if you go beyond their scope of intended use, but then again you don't have to jailbreak it.
I'd be happy with that -- though I would much prefer they still honor hardware warranties, even if they aren't required to do anything to the software. Note that while it may take some convincing, I generally do get PC manufacturers to deal with hardware issues when I'm still under warranty, even if I am running Linux. It makes me an easier customer, after all -- I don't bother them at all unless it's a hardware issue.
Unfortunately, Apple is trying to make it a legal issue, and they also seem to be trying to move their desktop OS towards the same walled garden.
And while the easy-bake oven is almost a decent analogy, the existence of relatively more open Android devices kills it. You can't say an Android phone isn't intended for the same things -- both Android and iOS are targeting the exact same users, use cases, etc. It's much more like the difference between two otherwise-identical toasters, one of which can have the temperature and cooking-time adjusted, and the other always produces toast of precisely the shade of brown Steve Jobs favors.
Now, I don't think anyone is saying that people should be prevented from making such a device, but it is a very odd situation where the device with less functionality actually has a higher price point, and I do think that this sort of locked-down device is harmful to everyone except the manufacturer.
I haven't played Guild Wars, so I can't say, but I do know I haven't really seen this done right. What does "as required" mean in this case? With a sufficiently fast connection, could I conceivably walk through the entire world without seeing a loading screen?
And even in that case, there's still the part where you have to download that installer, and trust it with your system.
Um... UNIX, POSIX.. then all the non-standards since then. I didn't think I'd have to explain that..
You still haven't. Again, what is actually wrong with these interfaces? And if you're going to include that much history, can't I also cite the mess that is Win32?
Ok, on all the systems where task foo is enabled, change the minute to random(60)
Why would I ever want to do that?
Puppet can do this, and their crontab handler is not a simple piece of code. I imagine you simply cannot do this or put way too much faith into search/replace.
Also not really seeing the problem with that. In fact, crontab is already in a format which can be trivially read with grep, so I see little reason it couldn't be fixed with sed.
I'm also not sure why this is really an issue when you mentioned that Puppet already solves your problem.
You can't just diff two sudoers files and figure out the effective differences.
Unless they're dramatically different, it kind of does. And what are you comparing this to?
Logically it is IS easier to diff exported registry settings,
Really? Sudo vs exported registry settings? Unless you're going to get very specific about which registry settings we're talking about, I don't see the advantage -- the registry is otherwise about as useful for diffing as the entire filesystem.
Also, while I'm not sure how common it is, I am starting to notice tools with the ability to dump their configuration -- for instance,
Regardless, what I can do here is stuff an entire /etc into version control, then push out a given branch of that to give me a preconfigured machine. I'm sure tools exist to do something similar in the Windows world, but you're not going to get there by dumping arbitrarily fine chunks of the registry.
Heh, tell me if the bonding settings are identical for any two Linux network interfaces. Pssst! Check both modprobe.conf and ifcfg-*!
I can go one step further:
Now I know where to look for any differences between those interfaces -- which services are running on each of them, probably which ports are open on each of them, and so on.
Write a script to detect wether your sudoers file is vulnerable to this:
Wouldn't it be easier to update sudo? Also, the impact looks pretty fairly minor -- I don't have to enter my own password when logged in as myself to switch to... myself... but a group I'm not a member of.
you will have to reimplement a good chunk of the sudoers parser.
Possibly -- though this has largely been done, takes about 5 minutes on Google to find various sudoers parsers. That does suck, though -- postfix, for example, has a command which dumps all config values in an easily-parseable format.
you NEED a tool like Puppet to get anything done somewhat reliably,
Your example so far of something for which you need a tool like Puppet is... well... setting a cron job to fire at some random minute instead of at the same minute.
And what is wrong with needing Puppet, if that's the case? That fits perfectly well with the Unix philosophy -- why would you build that functionality into the system, if you can have a third-party tool that works just as well?
I meant yum update, and did that actually do anything.
I got that. Why doesn't my suggestion work?
The easiest way is to check mtime on /var/log/yum.log afterwards,
Doesn't mean it's the right way. That'll tell me whether it "did anything", but not whether it did what I want.
"then should I reboot or not"
Ubuntu Serv
If WebGL breaks, I can disable it, fix it in my own browser (it's open source), or switch to a different browser with an entirely different implementation. If it breaks because of my video driver, I can upgrade my video driver, or switch to a different one, even swap out my entire video card, or run it on top of a software GL implementation.
If Flash breaks, I can either disable it and wait till Adobe gets off their lazy asses and fixes it, or leave it enabled and thus be vulnerable.
Hey, I'm not even necessarily anti-plugin. If Adobe Reader breaks, I can switch to Chrome and its built-in PDF viewer, or I can switch to one of several excellent PDF viewers -- I like Okular on Linux. The reason this doesn't bother me is that PDF actually is an open standard, not just in theory (like Silverlight or Flash), but in practice, with several excellent competing implementations.
If Silverlight breaks, I can either disable it till Microsoft fixes it, or switch to Mono and Moonlight -- which is about as effective as avoiding Flash vulnerabilities by switching to Gnash. In other words, for the majority of websites requiring Silverlight (or Flash), this is effectively the same as disabling it anyway.
By contrast, if Java breaks, there's OpenJDK. Not as nice as JavaScript, where there are three or four good engines in separate browsers, but there's still at least the possibility of fixing it myself, and wasn't Apache building their own VM anyway?
Now, because we have so many different browsers with entirely different implementations of the actual core web technologies, when a new technology like WebGL is proposed, you either need one open source implementation with a liberal enough license for code to be shared between browsers, or you need a brand-new implementation for each browser, and the latter seems to be happening more often -- especially for stuff like Canvas. Because there are so many browsers, they are actually competing on who can implement the most features in the most standards-compliant way, so this stuff actually gets done.
By contrast, even with a very good open-source plugin, there's no guarantee that there's more than a single implementation, so there's a chance for a buggy implementation to become the defacto standard (if there's a disagreement between the Silverlight standard and MS Silverlight, which wins?), and there's a chance for a proprietary implementation to become a defacto standard whether or not there's an "open standard" to appeal to (howmuch of the Web is on Flash now?). In fact, Flash pretty much proves that it only takes one plugin to plunge us back into the days of IE6 in terms of one proprietary implementation -- security is impacted, but so is everything else.
I am. Certainly, I'm clamoring to develop processing-intensive 3D games for web browsers.
Think of the success of free-to-play stuff online now. Imagine you could just click a link and jump into a demo, no downloading, no security risk (assuming this crap gets fixed), you could try games out without the "download random crap" problem. Even once you decide to pay for it, compare this to approaches like Steam -- the instant gratification of having a game right now with the rest of it progressively downloaded as needed, versus waiting a few hours for it to download, and that's on my 100 mbit fiber connection.
You can actually see some of this effect by, say, buying Half-Life on Steam, then just start playing -- it won't be long till you can actually start playing, and then it's just 30 seconds to load a level instead of half a second. Downside is you still need to download Steam and they don't continue downloading it in the background, or in any particularly smart way, so you pretty much always need to load the next level from the Internet.
It's not immediately obvious how much an improvement this would be. Think about the difference between YouTube and BitTorrent. If it's a movie, I'd rather just download it, I can wait. Even on YouTube, it took awhile before I saw it -- I would mostly download YouTube videos and play them in mplayer, to avoid the Flash overhead -- it would seriously lag and get out of sync on Linux, though it's better now. But compare that process to just following a link -- or, better yet, clicking a "play" button in the middle of a webpage. The dynamics are entirely different -- it's not just a matter of being faster or more convenient, you end up viewing content in a different way, and you end up with a community that actually would not work if it was built around downloading videos first and then playing them.
And, be honest, how many hours have you wasted on Flash games? What if those didn't suck?
Never mind that it would kick Flash's ass for the places where Flash actually sort of almost makes sense now. Google Street View? Do that with better performance and no plugins. Google Earth? No plugins, and someone could literally give you a hyperlink to a location.
Now that we finally have sandboxing in browsers they want to let any website run directly code on your hardware.
As opposed to what?
Keep in mind that sandboxing is a way to deal with websites having direct hardware access. That's how they can do NaCL safely.
Silverlight has direct support for XNA which handles it everything better and safer anyway.
What's "better" or "safer" about XNA? Never mind that nothing's stopping you from porting frameworks to this anyway -- having a lower-level standard means that, ultimately, you can have something like XNA, and others can have other things.
Never mind that XNA doesn't have a particularly good OpenGL implementation, and that Silverlight is barely an open standard as it is. Why on earth would we go from one proprietary plugin to another, when we can just use the native, open Web?
Are we also supposed to write WebGL games with notepad?
If you like. Or with TextMate, or with Eclipse, and you've got tools like Firebug and Chrome's Developer Tools.
Never mind that Chrome is actually cross-platform and free-as-in-beer, and Chromium is open source. Why should I have to boot Windows, let alone pay a massive licensing fee, in order to use a giant, clunky IDE just to build a web app?
I remember developing HD-DVD using Visual Studio. It was the best tool we had, which was really sad -- no way to make that work in Eclipse, and no good way to debug otherwise. Never mind that the whole thing would only work on XP -- not Vista or 7. Do you have any idea what a relief it was to start doing web development again, where I could have my choice of tools, OSes, and working environment, instead of being stuck on an admin account in XP?
Not only that but the games also work on Xbox360 and mobile phones without such a major porting.
Know what else mobile phones have? The web. And it actually works natively, as opposed to attempts to get XNA working on Android and iOS, which are kludges running on top of Mono.
It was pretty much over for me the moment they changed their name.
I'll grant that it may be a good idea to inquire as to what sort of interesting ways the candidate has been actually honing their craft and doing stuff for fun, rather than just fulfilling requirements, but this is just moronic.
First, and biggest, problem with this and TFA: Why the obsession with applications? I'm not an end-to-end application developer. I'm good at programming, at actual software engineering, at putting together the puzzle which actually gets stuff done. I'm even decent at talking to users and at building a moderately usable UI.
I am absolutely shit at graphic design, and while my UIs are usable, they're far from polished in any sense of the word.
I'm also not so much an idea guy, at least as far as "apps" in the front end. The kind of thing most people would turn into an app, if it occurs to me at all, I'd probably do as a one-off shell script.
There is no way that any of these things are going to produce an "app" that I did all by myself. It may still happen, but I'm not going to be the one dude who wrote Angry Birds or anything like that.
But I do play nice with others. I have scraps of code and layers I'm responsible for in the open source world. And these things are more relevant to the kind of developer the corporate world wants to hire, unless you want to hire me to develop the sort of "apps" that you can sell for 99 cents in an "app store" as opposed to the kind of "applications" you run your business on.
And why shouldn't school projects count? If they don't, that strongly suggests the schools aren't doing their job in preparing me for the real world. If that's the case, why do you care if I have a degree at all?
I like the idea of using science to deal with this, but I think the xkcd approach might be more practical -- and more fun.
only standardized interfaces are 30 years old
The mouse is almost 50 years old. You'll have to be way more specific about what's actually wrong with the interfaces that exist, standard or otherwise.
Think what it takes to programmatically manage crontab entries for a minute,
99% of all tasks I want to schedule with something like Cron need to run hourly or daily. It is a one-liner to add an hourly, daily, weekly, or monthly cron job. Oh, and there's a cron.d on my system.
It's not even a contest, Linux is HORRIFIC at programatic configuration, you cannot lie about this.
Erm... if you say so. I mean, I can also put my entire cron configuration in version control -- hell, I can put my entire /etc under version control, and I can get meaningful diffs/patches, comments, etc. Can you say the same for Windows configuration?
If SSH is your idea of remote automation heaven, then I hate to tell you, but you can install that on Windows.
Yes, and you can install Kerberos on Linux. That buys you nothing. SSH sucks as a method to automate Windows, certainly, but that doesn't tell us much either.
messy nondeterministic CLI
I find it really bizarre that you can say that in the same breath. Nondeterministic... so other APIs are deterministic? What do you mean by that?
man yum, tell me how you would know if a package installed or not when I do "yum -y update foo"
Probably couldn't get it from that one command, but I could check the status before or after the fact:
It is true, the exit code isn't documented, but it is fairly standard that success is 0, anything else is an error. I just checked on a redhat system -- "yum list ksh" shows me that ksh is available, and returns 0. "yum list installed ksh" errors and returns 1, since ksh isn't installed -- but repeat the same with dash, which is installed, and it returns 0.
Should that be documented? Sure, but this isn't exactly "undocumented, may change suddenly with disastrous results!" territory here. Never mind that the output is easily parseable.
Oh, and... OS updates... Say, when can I expect an API to deliver my app via Windows Update, hmm? At least updates to it, if not the full installation?
I have no problem with making code look readable enough for a manager to understand -- in fact, I try to do that anyway, because readable code is just a Good Thing.
But there is a world of difference between being able to show a manager a snippet of code to help explain how the program works and whether it's what he wanted, and trying to get managers to program. Again, it's not that I'm elitist and don't want to be cut out as a middleman, it's that when non-programmers program, the results truly are disastrous.
Having used LaTeX, OpenOffice Writer's Formula Editor, Maxima, even the Mastering Physics Flash widget, it's not that bad. I certainly wouldn't prefer a mouse to that, though.
Most programming languages aren't the best for mathematical expressions, but I would argue that this is mostly because the conventions of math revolve around the pencil-and-paper medium it's been for so long. And while I could see the use of a diagramming tool for "solving" a program -- for planning and figuring out what angle I'm going to take -- there are two problems with this: First, a whiteboard is going to be a lot easier than anything I can do with a mouse. Second, once I start writing anything, even if it is a prototype, a real programming language is still likely to win, both in terms of productivity for getting the prototype working, and in terms of being a platform I can actually build on.
While the actual terms were likely off -- "stripped her amygdala" doesn't make a lot of sense -- this sounds like exactly what River Tam is supposed to have.
Teaching this to computers doesn't seem like a great idea, though. "This was a triumph" indeed.
"Go and look at the configuration settings and turn off wi-fi - in most cases you won't need it if you've got a cellular signal," advises Vermosi.
What? Why?
"By having wi-fi turned on, you don't have a firewall on your iPhone, so when you go into a public wi-fi situation you are open to a man-in-the-middle attack or someone eavesdropping on your transactions."
*facepalm*
What. The. FUCK does a firewall have to do with MITM or packet sniffing? Next thing you know this douche is going to be selling an "iPhone Firewall" for... some purpose, I guess?
But no, let's trust our wireless carriers, who've certainly never had problems like this before, and also waste gobs of our data plan to avoid wifi. Hey, at least you're aware of the dangers of broadcasting stuff in the clear over wifi. How about, instead of trying to broadcast it in the clear over something else, stop fucking broadcasting it in the clear?
"Turn off Bluetooth as well because chances are you don't need to be associating with another gadget.
Like, oh, a Bluetooth headset. No, can't have those.
I'd turn of Bluetooth to save battery, but if this is going to be a problem for you, maybe reconfigure Bluetooth so it isn't a security hazard?
Also, go into the camera and turn off the location data because you don't need to put location data with your photographs."
This might be the first actually good piece of advice -- though I would think the much more secure change to make would be to always strip location data from any photos you put anywhere. Why trust your phone to get it right?
And of course, that's assuming you don't want that data there to begin with. It'd certainly be useful to extract from my own photos, so long as it's stripped before I post them somewhere public.
I guess I have to agree with his premise -- gadgets do degrade his common sense. But TFA is a bit misleading in that it starts out talking about things like death-by-GPS, and then goes on to talk a lot about security and privacy, while the author doesn't seem to know much about either -- just enough to be dangerous. Maybe I'm naive, but I still think the solution is not to avoid gadgets, or to follow some cookbook recipe to make your gadgets safer, but to actually understand them -- what they are, what they can do, and how to use them properly.
That's not "ab-fucking-straction" causing that, it's shoddy programming, both on the part of Adobe in writing Flash, and on the part of most Flash developers.
The real problem here is enabling idiots to program without doing anything to make life easier on competent programmers.
Visual programming has been done before, and it's never really caught on. Visualizations can help, but the advantages of working with raw text as a native format are too many. Just off the top of my head:
Comments? On the off-chance that I look at one of these visual charts and can't figure out WTF it's trying to do, or why this particular block is wired where it makes no sense for it to go, how might the original programmer tell me? Maybe it's a browser-specific hack, maybe it's legacy cruft that we mean to get rid of eventually... And how do I connect to some existing code someone wrote?
Speed? If I can't do this with a keyboard, it probably already loses. Even in JavaScript, is this going to be quicker than a decently capable typist hacking it together by hand?
Version control? Even something as simple as a diff -- how does that work in this system? Decades of research have gone into tools to work with text -- Git is awesome -- can I bring any of that stuff to bear with this system? If not, what do you have to replace it, and how does it measure up? This was my biggest complaint against systems like Squeak -- I think the idea of changing code live in the system and taking snapshots is awesome, but how do I wire it up to something like Git?
Expressiveness? Are there limits to what I can build with this and have it look sane? With text, I can come up with whole new domain-specific languages to suit the task at hand -- there are all kinds of ways of abstracting away complexity. What does this give me?
I could go on, and these same observations have been made before. It really seems like the attempts to make programming more visual are aimed less at making experienced programmers more productive, and more at making things easier on beginners, or worse, non-programmers. I'm all for making things easy on beginners, so long as they eventually outgrow this sort of crutch, but enabling non-programmers to write programs seems to always end in tears, in entire businesses run on Excel + VBA written by a business type. Understand, I'm not trying to build an ivory tower here, ensure job security, or anything of the sort -- by all means, if businesspeople want to learn to program, go ahead -- but attempting to dumb things down to where they can write programs without really understanding fundamental things about programming is giving us the worst of both worlds.
Regardless, no, I can't help but think that most programming will never be done this way.
The processor also differs from FPGAs (field-programmable gate arrays), which are reprogrammable circuits that can help execute specific tasks such as XML processing. The Epiphany chips are not restricted to running specific tasks, Olofsson said.
So... what... they can run a "non-specific" task, and an FPGA can't? Just what is it that these can do that an FPGA can't?
My understanding is that by being actual processors, they can probably operate faster than an FPGA design for a lot of tasks... might that be it?
If anyone has any idea what this guy meant, please elaborate. It looks to me like there might've been a useful comment in there, but it might've been lost going through a CEO to being paraphrased by a journalist... But maybe it's obvious to someone.
In other words, something like Parrot.
I mean, I get that Parrot itself probably isn't a good choice, but I still wonder why everyone is so busy reinventing wheels independently and in such a language-specific manner.
It's like trying to scare off ninjas by deploying mall cops. The mall cops are hopelessly outmatched; but they will, on occasion, stumble across a ninja, which forces the ninjas to either passively risk detection or actively start killing the mall cops, which alerts you to their presence.
That is a beautiful analogy, and you deserve a +5 for that alone.
Still...
Wouldn't a ninja be able to take the mall cops out one at a time, hide the body, steal the uniform, and pretend to be a mall cop, thus avoiding alerting anyone to their presence? That seems like the obvious solution -- completely take over the AV system, continue receiving updates, but rather than implement them, send them back to your botnet's command-and-control so the botnet operator can stay one step ahead.
So why is the solution to roll your own, rather than fix LLVM or develop a more direct competitor to it? All of the issues mentioned so far seem to be with the current implementation, not with the fundamental idea.
For what it's worth, Jetpack seems to be very similar to Chrome's extension API, and we can see the memory and CPU footprint of extensions in Chrome.
Based on what I have seen int he last 10 years, there is real benefit for research to spend int's initial life held wityhing acadamia and the proper science community.
I couldn't possibly disagree more. This only deepens the divide between the scientifically literate and the sort of people who believe the earth is six thousand years old -- now something like half the US population honestly believes this.
Your examples only highlight this:
How many people have died because the general public didn't have the ability to understand the Wakefield paper?
And how many people die because of "Christian Science" telling them to pray instead of see a doctor?
No, I think the real question here isn't how many might have survived if the Wakefield paper was kept hidden until it was somehow approved, but how many would've survived if they actually did have the ability to understand the Wakefield paper...
How many times has the media cause alarm and panic over a paper they don't understand?
...especially those reporting on it.
We need a vetting person for studies.
This is a terrible idea, for many reasons.
First, attempting to establish a central authority over all of science kills a lot of its credibility. The idea of peer review makes a lot more sense -- if you think you have a good idea, prove it, and the best way to prove it is to convince others in the same field.
Second, wouldn't this also limit dialog and discussion? Good-but-not-great papers are still useful -- maybe there's an idea in there that the author didn't see.
Finally, transparency is the best weapon against corruption, and against the image of corruption. Think there's some liberal conspiracy to push evolution? All the evidence is right there. Hey, if you find a problem, that's good too. Think your idea is better? Prove it, you just have to get it through peer review. Yes, there's some bad reporting, but there's also good reporting, and there are ways to wade through it and figure out what's actually true.
Compare to your idea. Clearly there's a liberal conspiracy to push evolution -- that one guy just doesn't want to accept Jesus. They won't let me see the evidence, and God works in mysterious ways, so it's all the same, right?
Think about it. Should Newton have had to pay Galileo, or is it just cool that we now understand that the same gravity which pulls apples to the ground is what holds stars together?
Or, for that matter, should Einstein have had to pay Newton, or is it just cool that we now understand that matter can be converted to energy and vice versa? What about Schrodinger -- should he have to license Einstein (or the other way around; I'm a bit fuzzy on the history), or is it just cool that we now understand that particles are waves, and things we thought of as only waves are also particles?
If everyone had to "license that shit", you wouldn't be posting this, because you wouldn't have such a thing as a computer. If it wasn't for this licensing bullshit, we'd be living even more in the future than we are now.
There were builds of Chrome which ran on Linux and supported H.264. And it can legally be used on a very large number of Linux systems. Buy a Dell with Ubuntu preinstalled? It probably came with the Fluendo codecs -- legal support for a large number of codecs. Or maybe it has an nVidia card? Well, you've already paid for hardware H.264 support, and the nVidia Linux drivers can use it.
But as a technical matter, codecs are much less annoying than Silverlight. Most codecs work most of the time with FOSS alternatives, there just might be some legal issues. Silverlight, there might be legal issues anyway, and Moonlight doesn't work most of the time.