Consistency vs. best practice: they are two competing interests any time a dev is working on legacy code. If LINQ hasn't been used previously, should it be used today? "To what extent are patterns part of code style," Robert Johnson asks, "and where should we draw the line between staying consistent and making improvements?"
Robert Johnson continues: "With the hypothetical LINQ example, perhaps this class doesn't contain it because my colleagues are unfamiliar with LINQ? If so, wouldn't my code be more maintainable for my fellow developers if I didn't use it?"
On Thursday, the world’s largest Bitcoin exchange, Mt. Gox, announced that it would require all users to “be verified in order to perform any currency deposits and withdrawals. Bitcoin deposits do not need verification, and at this time we are not requiring verification for Bitcoin withdrawals.”
The company did not provide any explanation about why it was imposing this new requirement, but it did say that it would be able to process most verifications within 48 hours.
The move comes two days after federal prosecutors went after Liberty Reserve, another online currency that had notoriously poor verification. (In court documents, a federal investigator in that case included an address of “123 Fake Main Street, Completely Made Up City, New York” to create an account that was accepted.) It also comes two weeks after the Department of Homeland Security started investigating Mt. Gox over the possible crime of money transmitting without a license.
Todd Kuehnl has been a developer for nearly 20 years and says he's tried "pretty much every language under the sun."
But it was only recently that Kuehnl discovered Go, a programming language unveiled by Google almost four years ago. Go is still a new kid on the block, but for Kuehnl, the conversion was quick. Now he says "Go is definitely by far my favorite programming language to work in." Kuehnl admitted he is "kind of a fanboy."
I'm no expert in programming, but I talked to Kuehnl because I was curious what might draw experienced coders to switch from proven languages to a brand new one (albeit one co-invented by the famous Ken Thompson, creator of Unix and the B programming language). Google itself runs some of its back-end systems on Go, no surprise for a company that designs its own servers and much of the software (right down to the operating systems) that its employees use. But why would non-Google engineers go with Go?
Aereo, a service that streams over-the-air channels to its subscribers, has now spent more than a year serving residents of New York City. The service officially expands to Boston tomorrow and is coming to many more cities over the next few months, including Atlanta and Washington, DC. Aereo seems like a net-add for consumers, and the opposition has, so far, failed to mount a defense that sticks.
But the simple idea behind Aereo is so brilliant and precariously positioned that it seems like we need to simultaneously enjoy it as hard as we can and not at all. We have to appreciate it for exactly what it is, when it is, and expect nothing more. It seems so good that it cannot last. And tragically, there are more than a few reasons why it may not.
A little about how Aereo works: as a resident of the United States, you have access to a handful of TV channels broadcast over the air that you can watch for free with an antenna (or, two antennas, but we’ll get to that). A subscription to Aereo gets you, literally, your very own tiny antenna offsite in Aereo’s warehouse. The company streams this to you and attaches it to a DVR service, allowing you both live- and time-shifted viewing experiences.
Where have all the user-defined operators gone? tjameson can't "find any procedural languages that support custom operators in the language," he writes. "There are hacks (such as macros in C++), but that's hardly the same as language support." Is there any good reason we can't write our own operators? See the original question here.
Are you experienced?
Karl Bielefeldt answers (94 votes): There are two diametrically opposed schools of thought in programming language design. One is that programmers write better code with fewer restrictions, and the other is that they write better code with more restrictions. In my opinion, the reality is that good experienced programmers flourish with fewer restrictions, but that restrictions can benefit the code quality of beginners. User-defined operators can make for very elegant code in experienced hands, and utterly awful code by a beginner. So whether your language includes them or not depends on your language designer's school of thought. Related: "How are operators saved in memory?"
Aurich Lawson / Thinkstock
One of Ars Technica's many memcached server graphs. Look at all those misses!
This week, memcached, a piece of software that prevents much of the Internet from melting down, turns 10 years old. Despite its age, memcached is still the go-to solution for many programmers and sysadmins managing heavy workloads. Without memcached, Ars Technica would likely be unable to serve this article to you at all.
Brad Fitzpatrick wrote memcached for LiveJournal way back in 2003 (check out the initial CVS commit here). While waiting for new hardware to help save the site from being overloaded, Fitzpatrick realized that he had plenty of unused RAM spread across LiveJournal's existing servers. He wrote memcached to take advantage of this spare memory and lighten the load on the site.
memcached is a distributed in-memory key-value store that uses a very simple protocol for storing and retrieving arbitrary data from memory instead of from a filesystem. To store a value, a program connects to the memcached server on the default port of 11211 and issues a series of basic commands. (Note: a binary protocol is also supported.)
I log some face-on time with Glass at Google I/O.
"When you're at a concert and the band takes the stage, nowadays 50,000 phones and tablets go into the air," said Google Senior Development Advocate Timothy Jordan in the first Google Glass session of this year's Google I/O. "Which isn't all that weird, except that people seem to be looking at the tablets more than they are the folks onstage or the experience that they're having. It's crazy because we love what technology gives us, but it's a bummer when it gets in the way, when it gets between us and our lives, and that's what Glass is addressing."
The upshot of this perspective is that Glass and its software is designed for quick use. You fire it up, do what you want to do, and get back to your business without the time spent diving into your pocket for your phone, unlocking it, and so on. Whether this process is more distracting than talking to someone with Glass strapped to his or her face is another conversation, but this is the problem that Google is attempting to solve.
Since Google I/O is a developer's conference, the Glass sessions didn't focus on the social implications of using Glass or the privacy questions that some have raised. Rather, the focus was on how to make applications for this new type of device, something that is designed to give you what you want at a moment's notice and then get out of the way. Here's a quick look at what that ethos does to the platform's applications.
The Chinese hackers who breached Google's corporate servers 41 months ago gained access to a database containing classified information about suspected spies, agents, and terrorists under surveillance by the US government, according to a published report.
The revelation came in an article published Monday by The Washington Post, and it heightens concerns about the December, 2009 hack. When Google disclosed it a few weeks later, the company said only that the operatives accessed Google "intellectual property"—which most people took to mean software source code—and Gmail accounts of human rights activists.
Citing officials who agreed to speak on the condition that they not be named, Washington Post reporter Ellen Nakashima said the assets compromised in the attack also included a database storing years' worth of information about US surveillance targets. The goal, according to Monday's report, appears to be unearthing the identities of Chinese intelligence operatives in the US who were being tracked by American law enforcement agencies.
A website that accepts payment in exchange for knocking other sites offline is perfectly legal, the proprietor of the DDoS-for-hire service says. Oh, it also contains a backdoor that's actively monitored by the FBI.
Ragebooter.net is one of several sites that openly accepts requests to flood sites with huge amounts of junk traffic, KrebsonSecurity reporter Brian Krebs said in a recent profile of the service. The site, which accepts payment by PayPal, uses so-called DNS reflection attacks to amplify the torrents of junk traffic. The technique requires the attacker to spoof the IP address of lookup requests and bounce them off open domain name system servers. This can generate data floods directed at a target that are 50 times bigger than the original request.
Krebs did some sleuthing and discovered the site was operated by Justin Poland of Memphis, Tennessee. The reporter eventually got an interview and found Poland was unapologetic.