Domain: codinghorror.com
Stories and comments across the archive that link to codinghorror.com.
Comments · 546
-
Evaluating competency
"FizzBuzz is way too trivial to select programmers for basic competency."
-
Code is meant to be read.
“Programs are meant to be read by humans and only incidentally for computers to execute”. — Donald Knuth http://stackoverflow.com/quest... http://www.codinghorror.com/bl... http://www.codinghorror.com/bl...
-
Code is meant to be read.
“Programs are meant to be read by humans and only incidentally for computers to execute”. — Donald Knuth http://stackoverflow.com/quest... http://www.codinghorror.com/bl... http://www.codinghorror.com/bl...
-
Re:Run to the hills!
The default sort coerces the array items into strings before sorting.
Which then leads to this point. Admittedly, this is a cross-language issue, but considering Javascript's origins are in the browser, it's hard to argue that this was a decision and not an omission.
-
Re:Now I'm not IT expert...
No, firing incompetent people in charge of a massive project is the right thing to do. The problem is, this particular project was doomed to fail, because of the scope and every pissant congress critter and political hack that had to add their $.02 worth.
What is needed is "the duck", so that each idiot involved can have a say that doesn't really affect the end result.
http://www.codinghorror.com/blog/2012/07/new-programming-jargon.html -- See #5
-
Re:Girls are completely wrong.
No, it is not. Or rather people that think this will never be good coders. That is why there is no way to qualify 10 millions kids to code, there are just not that many with the required talents and interests. Coding above a certain, very low competency level, is not a skill you can train people for. Add to that that smart people do not become coders today, due to bad working conditions, bad job security and being treated like shit by management.
This one here is still absolutely current. If anything, things are getting worse (yes, I do code reviews as part of my job): http://www.codinghorror.com/blog/2010/02/the-nonprogramming-programmer.html
The last thing we need is more people that can barely code and fancy themselves programmers.
-
Re:A certificate doesn't make an engineer
They may or may not have an engineering degree/license but what coders are doing is most assuredly engineering.
I disagree - I actually think it's more like craftsmanship. I think Jeff Atwood sums it up pretty well:
http://www.codinghorror.com/blog/2005/05/bridges-software-engineering-and-god.html -
Re:JavaScript is today's BASIC...
A language that has functionality that is outright recommended not to be used, performs sometimes nonsensical type conversions, requires fudges to properly ensure variables are not captured when all you want is to pass a value in a closure, and that bills itself as an OO language (albeit prototype based OO) whilst failing to correctly implement the pillars of OO is objectively bad.
I'm sorry, were you talking about JavaScript or C++?
-
Re:Regular expressions (Atwood)
It's funny, but out of context. See: Jeff Atwood, “Regular Expressions: Now You Have Two Problems” June 27, 2008, http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html
Some people like to guide their coding decisions using sound bytes, don't ruin that for them with your pesky rational arguments and facts!
-
Regular expressions (Atwood)
It's funny, but out of context. See: Jeff Atwood, “Regular Expressions: Now You Have Two Problems” June 27, 2008, http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html
-
Re:I've got an anecdote
At the end of the meeting, it was agreed that the developers would spend the next week sitting with us at our desks, watching us use the software.
This was the most important part of the note. Frankly, this should have happened before a single line of code was written.
However, failing that, I think it is an entirely fitting punishment for software developers to be forced to use their own software. In fact, there ought to be some diety of software engineers that forces exactly this on you when you die. You are doomed to use your own software into eternity. Whether that's hell or heaven is entirely up to the developer. So think before you code.
:-)There was a nice discussion about this (tipped off by little old me) on CodingHorror a few years back
-
Re:Roll your own authentication guys
Programming is hard. Let's go shopping.
There are two sides to this of course. Reinventing the wheel is bad. Outsourcing rifle production to your enemies is bad. There are a lot of things in between those two extremes.
-
Re:How? wheres the downside?
The "downside" is that even though battery life is improved, it's still terrible.
-
Re:That is Fake Tempest
Jeff did have spinner support for the Jag T2K.
http://www.codinghorror.com/blog/2008/07/the-ultimate-software-gold-plating.html
-
He got one thing right
Trying to pretend that coding is the right skill for everyone is utter nonsense – for most people, it’s exponentially less useful than the basic level of IT literacy most people still lack. As far as I’m concerned, this is the real IT crisis that needs addressing.
I expected this year's school leavers, born in 1995, and having never lived without the internet, to be brilliant with computers. Now I know better. Working with them, I've found that the opposite is often true. Many lack basic computer literacy – the “have you tried turning it off and on again?” stuff – because the education system has let them down so badly.
Considering how many programmers fail FizzBuzz, his point about the education system failing people on basic IT literacy is relevant.
-
Re:Come on...
And yet Windows still gets much worse battery life on the same hardware.
http://www.codinghorror.com/blog/2013/10/why-does-windows-have-terrible-battery-life.html
-
Re:Easy one...
It really is a simple question.
I just wish somebody could explain to me and Anand why Windows is so awful at managing idle power.
OK, Jeff and Anand, listen up: it's because Windows is doing things in the background.
What is it doing? Ask the engineers that built it. But there's no reason to ask stupid vague questions like that when the general answer is so obvious. Windows does a lot of things in the background, all the time. It sounds like that carried over to the mobile version. If you want to know exactly what it's doing in the background (for academic purposes, I assume, since that knowledge isn't very useful) then feel free to ask the people who designed and wrote the software instead of the general public.
The benchmark used by the Anand and Jeff is OS X, which is doing a lot better batterywise than Windows 8. Neither of these are mobile, and both of these have a lot of background processes.
-
Re:Got news for ya
Nice troll
:-)Up to 60% of a self-selecting group (people who chose to do computer science at University)... can't program. I shudder to think what the rate in the general population is. Well, I don't shudder. Because it keeps me in a job.
-
Re:C/C++ operator =
I was going to mention this one, but you beat me to it. Someone mod parent up please.
#1 on this list of new programming jargon
http://www.codinghorror.com/blog/2012/07/new-programming-jargon.htmlSome of my other favorites in there: the Common Law Feature & Hooker Code.
-
Re:Well
There are people that can write solid, dependable, secure software and advance the state-of-the-art in this area. There are also people that can learn to do this with the right education. Both groups are small and highly intelligent. Most of them chose to go into careers where they actually have a career path, managers that do not tell them how to do their jobs and a salary in line with their talents.
On the other side, most people writing software today are incompetent, or at best, half-competent. I have seen teams needing several months to write software that I can create in a week with significantly better quality. I have reviewed business-critical software for large organizations, where the programmers did not even understand the very basics. http://www.codinghorror.com/blog/2010/02/the-nonprogramming-programmer.html does _not_ overstate the problem.
So we are very much capable of advancing software, but advancing software has been a game for competent experts for a while. Just look at what people are advancing other engineering disciplines, or mathematics or physics. More and more people of that quality are needed for software as well. But the culture is not there. Software is regarded as a solved problem, which is anything but true. But it drives down wages, cause bad working and career conditions and turns away many of the few people that have the required talent. Stupid.
-
CODING HORROR had a great blog post
about this a year ago. http://www.codinghorror.com/blog/2012/06/because-everyone-still-needs-a-router.html
I followed the advice there and flashed an ASUS RT-N16 ($70 when I bought it. Maybe less now.) with easytomato firmware. The name says it all. I especially love the wireless print server. I believe easytomato works on the expensive dual band ASUS routers as well but haven't tried it personally.
-
Re:One for one
There's even a website dedicated to PHP WTFs
Consider that a language (rather than a programmer) causes a WTF moment when it behaves other than would intuitively be expected according to its own rules of grammar. On that basis alone, PHP wins hands down.
Not the best PHP WTF site. Try PHP Sadness or A Fractal of Bad Design or even CodingHorror. In the interests of balance: A Fractal of Bad Design: A Rebuttal
-
Re:One for one
PHP is actually a pretty nice language.
No it isn't.
It could have been, if the people who created it had known what the hell they were doing. And it has gotten a lot better in recent years (for example register_globals has actually been removed from the language now), but where they started from was so mind-numbingly stupid that I don't see how they could ever make it actually good, without also breaking it in ways that would make everyone stop using it.
Here's a general rant about how stunningly awful PHP is: http://www.codinghorror.com/blog/2012/06/the-php-singularity.html
And here's a specific and detailed side-by-side comparison between PHP and Perl: http://www.tnx.nl/php.html
But you're spot-on about the "meta problem": most people who write in PHP have no idea what they're doing, so most PHP code out there is badly written, so if you're learning the language, there's a very good chance that you're learning from someone who didn't know what they were doing.
-
Re: and so meanwhile...
How did MySQL get such critical mass?
Probably the main reason is that it has a "design philosophy" of "if you can't do what the user wants, better to do something and say it's all OK than to give an error", which some people mistake for ease of use.
Coincidentally, the same philosophy of PHP.
-
Re:Poor statistics
I would just add the whole thing ignores that big old rotting elephant in the room which is HDDs? I have found that in damned near every case, not all but most, will give you PLENTY of warning before it goes completely tits up whereas the SSD? One day its working and the next....nothing. No warning, no noise, no indication at all that there was a problem just...poof, buh bye data. This is also ignoring the fact that if the circuit board fails in a HDD you can swap one out for the same model and get it back in most cases, at least long enough to get the data, the SSD? Hope you are good with a soldering iron and a chip reader and I have heard even then its unlikely.
I may be just a little country shop guy but when my gamer customers have all experienced multiple failures when it comes to SSDs, and these guys don't go cheap, sorry but ATM I still don't trust it. I tell folks if they want an SSD don't have anything on it they would feel bad if they lost, now does that mean there aren't still uses for SSDs? Of course not, for one thing if you have a laptop where most if not all of your data is in the cloud? Knock yourself out, just make a weekly disk image so you can re-image when it goes tits up and you are golden. I also have several customers that have bought either hybrid drives or that Sandisk caching drive for Win 7 and in both of those cases they have seen pretty big speed boosts while not having to worry because if it dies all you do is go back to HDD speeds as it is just a cache.
Oh and one final thing....its gonna get worse. its common knowledge that with each shrink the number of writes goes down and the number of failures go up and with all of the major chip companies seeming to only care about how many bits they can stuff per nano-meter? The failure rate WILL get worse, you can count on it. Its too bad that SLC is so insanely high as those seem to have lower failure rates than MLC but as long as all the companies care about is getting that GB number up at all costs its really not gonna be getting better, its gonna be getting worse.
Ironic that they talk about how supposedly high HDD failure rates are when I cleaned out a how drawer of them before moving into the new place, we are talking drives going back to Quantum Fireballs in the 200Mb size, yes Mb not Gb, and they all fired up. granted some of them were noisy as hell but I could still get files off of them while not a single one of my gamer customers have their first SSD, they are all dead. yes i know its an anecdote but I'm not the only one that has seen this, coding horror calls SSDs the hot crazy scale as you trade red hot performance for crazy failure rates. Call me old fashioned but I think I'll just pick upa caching SSD and keep the 5Tb in spinning rust, thanks ever so Intel.
-
Re:why this news?
nah, look at the comments - most people are debating the SSD Hot/Crazy Scale and arguing about the best backup strategies.
-
Hot vs Crazy
Here's the thing. SSDs are now more reliable than when this guy logged this report.
But are still maybe not as steady Eddie as a good-quality HDD. But we still want them because having an SSD boot drive changes the whole computing experience due to their awesome speed. And since we are good about backups (Are we not?) we can be relaxed as we ride the SSD smokin' fast Roller Coaster. SSD or HDD then what's the problem if we have data security. Both are gonna FAIL. So what if Miss SSD stabs me for no good reason? It was a helluva ride, Bro. And well worth the stitches. I do wish SLC NAND was not priced out of reach, but, hey, when it comes to hottness we take what we can get. Right?
Okay. This is Slashdot we get no hottiness...no hottiness at all.. No no no hottiness. It's pathetic really.
.... -
Re:Still put off by price. :(
I bought a samsung 840 128 gig drive( not pro ) and Iove it.
Yeah, we all like the look of the "hot" axis on the graph.
We're worried about the "crazy" axis. Most of us have a long term relationship with our data.
(for those who don't know: http://www.codinghorror.com/blog/2011/05/the-hot-crazy-solid-state-drive-scale.html )
nb. I've been using a 40Gb Intel SSD as my boot drive for a couple of years, it's still going strong AFAICT but there's not too many writes to that drive (swapfile and $home is on a velociraptor).
-
Too simplistic
We do know a number of things about programming. One is that it is hard and that it requires real understanding of what you intend to do. Another is that languages help only to a very, very limited degree. There is a reason much programing works is still done in C, once people know what they are doing, language becomes secondary and often it is preferable if it does not help you much but does not stand in your way either. We also know that all the 4G and 5G hype was BS and that no language will ever make the (today prevalent) semi-competent or incompetent programmer into a productive highly competent programmer. We know that OO done well (Eiffel, Python, some few others) is nice, but that it still requires real understanding from the people using it or it is worse than not having it. And we know that it is easy to get OO badly wrong (C++, Java, etc.) making it counter-productive. We also know that architecture and design can and often is more critical than implementation. And we know that many "modern" languages cause more problems than they solve because of performance issues, code bloat, bad readability, etc. (Yes, Java, I am looking in your direction.) We also know that design patterns are nice in theory, but do not hold up in practice, mostly because most people calling themselves programmers have no clue about them, but also because patterns do only solve part of the problem.
So, no, I don't think there is a problem with programming. I am however convinced that there is a problem with the majority of the people calling themselves "programmers' these days. A real eye opener is this: http://www.codinghorror.com/blog/2010/02/the-nonprogramming-programmer.html
Even those regarded as "competent" often take months to accomplish what really competent people can do in days or even hours. I this regularly. -
Re:Damn
... all the benefits of a pure SSD drive...
And all the risks. Let me direct you to the Hot/Crazy scale of SSDs.
I've had exactly one SSD thus far. Yeah, it was definitely fast (notice "was"). Then it bit the big one. Yes, I had backups. Yes, I could RMA it. But that doesn't mean it's not a pain in the ass to deal with a failed drive that's less than a year old.
-
Re:Will we finally get a replacement for hard disk
SSDs suffer from the hot/crazy scale and if anything they have gotten worse with each shrink and unlike HDDs the majority of SSDs failures I have seen had ZERO WARNING, it literally went from working yesterday to "flip a switch and its gone" and unlike HDDs which you can often get data off of a dying one with SSDs you don't get dying, you get perfect and then paperweight. This is why I only recommend them when the person is gonna be keeping everything in the cloud or is gonna be religious about backups, otherwise its just too risky. Hell you can't even do a trick similar to the old "swap platters to get one last shot at the data" bit because the controllers have encryption so if you managed to get the chips off all you'd get is gibberish.
And keyboards is why I think the desktop/laptop will never die, it only takes typing a long email on a tablet or talking into one and having to fix a bazillion errors for people to see the value of the traditional keyboard and mouse. There is a reason why the keyboard and mouse have lasted this long folks, they have tried everything from touchscreens to voice command since the late 80s and nobody has come up with an input method that works better than a good old keyboard, not even close.
-
One mans treasure is another mans' trash
Jeff Atwood (of CodingHorror, StackOverflow fame) praised the Surface RT:
I can't even remember the last time I was this excited about a computer.
-
Re:Problem is always the same.
For any (large) group communication space, there is always a need for (some) moderation. See http://www.codinghorror.com/blog/2005/05/a-group-is-its-own-worst-enemy.html for some discussion for instance.
Imagine a line representing freeness of speech, with 0% at one end and 100% at the other end (the word freeness here meaning lack of any restrictions). Where on that line would you put a cross for the optimum value of free speech? There are no countries in the world (or any society though history) that allows 100%. There are typically many things you are not allowed to say, like uttering death threats, crying fire in a theatre when there is no fire, in a court you are not allowed to lie (think about how enormous restriction of free speech that actually is), etc.
The point is, exactly what the "optimum" value of free speech is is always a subjective opinion, and it is always less than 100% (although normally quite close).
Also I assume you are a man that have not been exposed to the darker side of the this problem which apparently is significant (I am also a man so I have neither a first hand experience). I recommend you to watch the documentary "Uppdrag granskning: Menn som nÃtthatar kvinnor " (men net hating women), http://www.svt.se/ug/man-som-nathatar-kvinnor, if you can find a translated version (https://sv-se.facebook.com/granskning/posts/10151724543289883).
-
Re:Further proof that Igny has no clue
Well, most incompetent programmers learn only one language, he is right about that. But just as learning another spoken language broadens your horizon and makes you realize more about the thing you are actually dealing with and that language shapes your view, all reasonable programmers know several languages and do not think in their programming language but in actual concepts. I thing of the one-language programmer just as I think of the 1-trick pony: They have no clue whatsoever.
Come to think of it, there actually seem to be no-language "programmers" out there: http://www.codinghorror.com/blog/2010/02/the-nonprogramming-programmer.html
-
Re:Something seriously wrong ..It's not the compiler, it's the programmers. Most programmers are Mort, unfortunately. Personally, I consider security in all of the code I write, but when I try to recommend that course of action to my fellow programmers, I mostly just get sullen glares.
For commercial software, there's the additional problem that 70% of employees are not actively engaged in their work.
-
Re:you've got to be kidding me
While I don't know about any fanclub I have to say their MP3 players, especially the M and E series? Fricking great, no matter how much abuse you throw at the things they just keep on trucking.
Now for a question...anybody who has had Sandisk SSDs, how long did it last? If it failed HOW did it fail, did it go read only or did it go tits up in the controller and take your data with it?
The reason i ask is I have some gamer customers that use SSDs and these MLC SSDs? Frankly the failure rate is just nuts. Its like things have gotten worse since coding horror put out the hot/crazy scale article talking about how for all this hot performance you pay for it with crazy failure rates. I don't know how many others are seeing this (they might want to chime in if they are seeing the same or different) but with the gamers it really don't seem to matter what brand you get, the controller WILL go and when it does poof! Hope you had a backup because your data just went bye bye.
This is why I have been recommending the hybrids (those fail safe since they always have a copy on the HDD) or caching drives because the failure rate is just too damned high on the SSDs. With the spinning rust honestly unless its REALLY abused they last for a pretty long time, but I'm not seeing this with MLC SSDs, if anything I'm seeing the opposite where with every shrink the failure rates get worse.
Finally let me say since I always get one reply that is basically "U be hatin" I don't think the technology itself is bad, just the implementation as far as i can see. I mean talking to friends that admin high end systems those SLC SSDs? Those are fine, and there are roles where I recommend an SSD despite the failure rate such as laptops where the lack of moving parts and users keeping more and more of their data in the cloud make it worth the risk.
Its just the new MLCs from what I have seen have by and large had pretty shitty failures rates and unlike HDDs where I can often get most if not all the data off a failing drive once an SSD fails that is pretty much that. so is everybody else seeing similar results, or is it just my gamer customers? Oh and before anybody says it NO they are NOT using OCZ drives, everybody knows about the crazy fail rate with those.
-
Re:Duh, they are a publisher
A feature added for no other reason than to draw management attention and be removed, thus avoiding unnecessary changes in other aspects of the product.
I don't know if I actually invented this term or not, but I am certainly not the originator of the story that spawned it.
This started as a piece of Interplay corporate lore. It was well known that producers (a game industry position, roughly equivalent to PMs) had to make a change to everything that was done. The assumption was that subconsciously they felt that if they didn't, they weren't adding value.
The artist working on the queen animations for Battle Chess was aware of this tendency, and came up with an innovative solution. He did the animations for the queen the way that he felt would be best, with one addition: he gave the queen a pet duck. He animated this duck through all of the queen's animations, had it flapping around the corners. He also took great care to make sure that it never overlapped the "actual" animation.
Eventually, it came time for the producer to review the animation set for the queen. The producer sat down and watched all of the animations. When they were done, he turned to the artist and said, "that looks great. Just one thing - get rid of the duck."
http://www.codinghorror.com/blog/2012/07/new-programming-jargon.html
-
Stackoverflow, CodingHorror
-
Hot/Crazy
Two years on and this is still relevant: The Hot/Crazy Solid State Drive Scale.
I love SSD's in servers and they don't burn me because I always expect them to fail. Sure, one MLC SSD is fine for a ZFS L2ARC, because if it fails reads just slow down, but for a ZFS ZIL, that gets a mirror of SLC drives, because a failure is going to be catastrophic.
If I'm using Facebook's FlashCache, two drives get mirrored by linux md and treated as a cache device and smartd lets me know when one of them goes TU. Another advantage here is linux md is hot-replaceable while pure FlashCache isn't. I just got linux 3.9 on my first server this weekend (thanks, ElRepo) and haven't yet tried Redhat's dm-cache, but the same logic ought to apply; it's only the abstraction and syntax that differs.
Yeah, there's a write penalty with mirrors, but SSD mirror writes are way faster than the best pure spinning-rust RAID (no rotational latency), so it's way better than other options.
Clustering can help too. The other strategy is to make nothing redundant except for a massive cluster of servers. I haven't benchmarked the two strategies (I tend to work with smaller clusters in small businesses) but tech time isn't free either. I suspect at Megalocorp scales where there are several people whose job it is to replace failing disks all day (this is a real thing), going redundant on the compute node scale is a better option. My systems tend to be remote in far-away data centers and nobody wants to have to touch them more than every few months.
-
Re:There are problems with new languages
I wouldn't say that. Neither would Linus Torvalds, as it turns out.
Not that it didn't have it's share of problems. (Of course, I would say the same for any language.) It certainly wasn't broken in some fundamental way. It's apparently fun to bash, but you'll find that most criticisms are either empty or pitifully shallow.
The REAL problem people have with VB is that it was absurdly easy to learn and use. This caused two problems:
1) A Lot of crummy amateur code was produced that needed to be maintained by more experienced staff. That's not the fault of the language. Being easy to use is a good thing, after all! Of course, dealing with all that crummy code didn't exactly inspire a lot of good will from those who had to clean up the mess.
2) As it was so simple that an absolute beginner could learn the basics of computer programming near instantly (and produce real, working, programs) it became a real threat to a large and vocal group of insecure developers. Believe it or not, some people actually believe that the ability to write computer programs requires a "special mind"! Having that skill makes them feel special, smart, and important. Having no other skills, they rightly felt threatened by VB. Never mind that half of Slashdot taught themselves to program between the ages of 8-12. (Hell, back in the 80's, computer programming as a hobby among pre-teens was so popular that there were tons of children's books that included type-in programs. Some, like the Magic Micro series, were targeted at early readers. Other books had type-ins that the reader had to modify or debug to solve the protagonist's problem and progress the story. There were many others aimed at teaching computer programming directly to the 8-12 set.) They've got a lot of their ego wrapped up in a skill that the average child can learn on their own VB, aimed at professionals, threatened more than their jobs; it threatened their ego. Can you really blame them for spreading FUD?
The remaining hate seems to come from the same kind of people who believe GOTO to be inherently evil. They don't really know why VB was horrible, only that "everyone" says that it is. It's an easy meme to put out there as they're likely to get a good bit of praise for their comments and unlikely to get much (if any) criticism for restating their borrowed opinion. It makes them feel like part of the community. It also makes them feel smart for holding the majority opinion, even though they didn't form it on their own.
-
Re: Damned if they do...
The problems with that approach are:
1) The programs will get a lot more complex in order to work around the lack of permissions. Example, what if the user denies a GPS navigation program access to the GPS? The program will have to keep prompting the user for the access. What if Angry Birds keeps prompting the user for access to the GPS and refuses to run without it?
2) The dancing bunnies problem: http://www.codinghorror.com/blog/2005/07/the-dancing-bunnies-problem.html
Users have repeatedly shown that they will click anything and do anything in order to get access to the app/program without a second thought to the implications. -
Re:I'm the senior
I am not quite that old and I am not primarily a programmer, but knowing how to program with more than one tool is something I need nonetheless. I think that programmers that do not keep learning, and especially "one trick horses" that cannot do anything worthwhile in more than one language were never any good to begin with. When they get older, it just shows more and more. There are far too many bad programmers around, see also
http://www.codinghorror.com/blog/2010/02/the-nonprogramming-programmer.html
Maybe it is time to require an engineering certification. Although that has other problems. But it would possibly fix the problem that good programmers are paid far too little, because they are lumped in with the bad ones. -
Re:Meh
SSD's suffer from one fairly critical problem: Longevity.
As densities become higher (and process sizes smaller), reliability with SSD's will only decrease from its already horribly poor state.
I'm sure you're probably thinking "but improvements in technology will bring greater reliability!" Unfortunately, we're at the point where quantum tunneling starts screwing with us, and there's little we can do about it. Heisenberg's Uncertainty Principle is a brick wall, and we've run smack into it. Quantum tunneling is relatively rare at the current process sizes, but it won't be long before it's an insurmountable problem.
I've seen few SSD's last more than two years even under relatively low workloads.
Many of the faster drives are lucky to last six months.
SSD's even lose data to bit rot at a rate much higher than is advertised.
I think it was Jeff Atwood (dev of stack overflow, discourse.org) who described SSD's as being the "crazy/hot" scale of data storage.: SSD's crazy-bad reliability is only tolerated with because their performance is so hot.
That's not to say SSD's don't have their place, but it's not likely I'll ever trust SSD's with data that I want to actually keep long-term.
-
Add our key to see dancing bunnies
By accepting a signing key, you're signing up for their whitelist.
Which brings back the dancing bunnies problem. The user sees "Add our PPA to see dancing bunnies", the user gets the home PC's administrator to do so, and the system is compromised. Or the user is a software developer, but he's tired of having to retype his code signing key's passphrase every single time he rebuilds his project, so he takes the passphrase off the key. Now any malware can sign itself as the user.
-
Re:Ah Programmers...
Believe me, when you look at what programmers routinely generate, there is no risk of them becoming obsolete anytime soon (unless those that pay them recognize the scam and either go non-computer again or hire those few that are actually good at it). Most code is so bad that you should actually throw it away before it makes it into production. Most other code will have to be replaced in a few years. When you find something that it really good, it very often is old and whoever write it did just happen to understand portability and simplicity. (Some of the current GNU tools sources have not been changed for more than 10 years.)
The underlying problem is that most programmers do not even understand coding. They often can program barely in one language. To be good, they would have to understand architecture, design, coding (in a number of languages and paradigms) and the business model of the client. Not many manage that. But everything less is really just a waste of money and time. You really need the "surgical team" Brooks describes. It has something like 3 engineers and 4 helpers and that is it. It is not possible to get more efficient, larger teams are always far, far less efficient and often not even effective at all. And these small teams need the best available (and of course compensate them adequately.)
For an accurate description of the pathetic state "programming" is in today, also refer to http://www.codinghorror.com/blog/2010/02/the-nonprogramming-programmer.html It may sound unbelievable, but is spot-on. I have seen this time and again when doing code and interface reviews in critical projects of large organizations. And this does not even address questions of architecture and design that are absolutely critical for any larger project.
-
People can't tell the difference above 128kbps
Coding Horror did a great experiment with their readers where they provided several samples of the same song at different bitrates and then had everyone vote on which they thought sounded best. The result? People could only tell the difference between 128kbps and everything else, and even that was not overwhelming. In fact, 160kbps beat CD!
-
Re:PHP
Or, the quite famous PHP hammer.
-
Re:Overhyped
Ironically, PNGOUT also uses a custom compressor to replace the usual algorithm.
http://www.codinghorror.com/blog/2007/03/getting-the-most-out-of-png.html
-
Passion is not the issue
Code.org doesn't have a messaging problem, they've got a core conceptual problem. Trying to teach more people to program, especially by making it part of a core academic curriculum, is amazingly foolish. Anyone that's taken an introductory programming class at a university can tell you it is foolish. Jeff Atwood pointed out this paper seven years ago that expands on this idea. The skinny is that 30-60% of computer science students fail at introductory programming classes and consistently do so despite changes in languages, IDEs, and teaching methodologies. Some students simply could not form mental models needed to be able to program effectively. Keep in mind this was a self-selected group of students, ones who had chosen to take up computer science as a major.
Based on this it seems apparent that if "everyone" was required to take programming courses then a majority of them would simply fail to learn the skill and only pass because schools don't like to fail students. No greater number of students would learn to program and they would have no deeper understanding of how computers or software works. Computer programming is a fine elective and is something that should be available to high school students but it is simply absurd to think that trying to teach everyone to program would lead to everyone magically enriching their lives.
Teaching advanced mathematics to students is unlike teaching programming despite the two being advanced skills. With mathematics there's a consistent domain specific language that can be used. The language of calculus builds on the languages of algebra and geometry which themselves build on simple arithmetic. If someone learns calculus (and continues to use it) it will be applicable for the rest of their lives. The language used for theory is the same one used for applications.
In computer science there's the theoretical topics where "language is an implementation issue" and then more practical topics where the language and platform is paramount. Teaching high school students high level computer science topics isn't going to leave them with practical skills since it is often non-trivial to apply those theoretical concepts (which back practical topics) to a specific language and platform. Teaching more practical programming is going to leave them in a lurch when the school's choice of language and platform doesn't end up the future of the industry. There's thousands if not millions of kids that learned BASIC on Apple ][s and C64s that have not only never used those skills since but have absolutely no conception of how to apply the core concepts learned in this classes to more modern languages and platforms.
If the goal of a programming curriculum is to teach critical thinking, problem solving, or logic there's much better ways to teach those things. Limited school budgets shouldn't be trying to cover programming for everyone. Kids would be much better off being taught how to balance a check book, plan a household budget, and if you want to use computers some basics like don't send naked pictures to your boyfriend or girlfriend because shit stays on the internet forever.. Kids interested in programming will take programming electives and focus in that area. Trying to get everyone to program simply is not going to work and it a waste of time and money that could both be better spent.
-
Re:Holy idiocy batman
Yeah and they used to say you could throw Samsonite luggage in a cage with a gorilla and it would be fine, don't mean its true though.
From what I've seen with my gamer customers the new MLC just sucks, it really does. They don't buy no cheap shit OCZ either, we are talking Samsung, Kingston, and Intel, and frankly they all have crazy failure rates. The bitch is from what I've seen its NOT the cells that is the problem, its the controller. the controller goes out way too damned often and when it dies there goes your drive, poof. I've had to show them how to use truecrypt so they would feel comfortable with sending the drives in under warranty because frankly I haven't seen one survive past warranty. The guys over at coding horror have even come up with a name for this, they call it the hot/crazy scale because for that hot SSD performance you have to put up with crazy high failure rates.
I've seen enough failures that while I may try a hybrid I won't touch an SSD for my own systems until they get this problem fixed. in a way it reminds me of the first HDDs, they had crazy failure rates too until they got the process down pat, maybe the same will happen with SSDs.