Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Comment My list (Score 4, Informative) 294

How about we make a list of the technologies that have actually impacted us in a real way over... hmm, let's say the past ten or fifteen years? I assume that everyone will have slightly different items, because we all work in different areas. I'm a game developer and use C++, so my perspective will reflect that. Listed in no particular order of importance:

1) C++ 11/14 - It's transformed the language in a fairly dramatic way, making it much safer and convenient to use, while leaving legacy code completely compatible. Modern C++ code feels a lot more like C# at times, just a whole lot uglier.
2) Mobile Platforms - Mobile platforms (smartphones and tablets) as a rising contender has caused a fundamental shift in the balance of power among platforms.
3) Online Gaming and Integration - MMOs and other games are taking advantage of the ubiquitous connectivity to the internet most of us now enjoy.
4) Distributed Version Control Systems - Modern source control systems such as Git and Mercurial (my favorite) are a boon not only to large distributed projects, but even for smaller developers. Traditional development house, for the most part, still use Perforce, though, which works much better for asset management.
5) Online distribution - The ability to quickly and easily download and update games from vendors like Steam, Gog, and Origin are opening up the market to indie and traditional developers alike, and will eventually kill physical distribution channels.
6) Online resources - Better search pioneered by Google teams up with incredibly knowledge-rich sites like StackExchange.com. The result is that damn near any question you have is likely to have already been asked and answered. If not, ask away, and you have a good chance of getting some real help.
7) GPU programming - More and more visual programming is being off-loaded to the GPU, and those have developed into full-blown programming languages of their own.
8) Parallel programming - With the advent of ubiquitous multi-core / multi-threaded processors in the past decade, game developers had to start getting serious about multi-threaded programming, making an already demanding job even tougher.

That's about all I can think of offhand that's really changed over the last fifteen years. Libraries, frameworks, and APIs are not some new phenomenon. They've been around since I started professionally programming, so it's ridiculous to include those. You might as well add "source code", "compilers/linkers", and "editors" to the list if you're going there.

What about in other professions?

Comment Re:Some of us do still assemble, even now (Score 4, Insightful) 294

It's pretty obvious this is written through the lens of a javascript-focused web programmer. Seriously, libraries are a hot new trend? That's hilarious stuff. Read each item in this list as "From the viewpoint of a Javascript/web developer...", and it seems to make a bit more sense.

It's pretty clear he only has a vague notion of game development either (my profession), and gets some basic facts wrong. He calls Unity a library (it's a game engine, better categorized as a framework). In a different article, he claims that game frameworks are in, while native development is out. The first part is true, but the second part certainly is not. C++ is still used almost exclusively for large-scale AAA game development. Unless by "native development" he meant "roll your own game engine", in which case he's using the wrong terminology.

Comment Re:And yet (Score 4, Interesting) 268

As a society, we make value judgments all the time about what sort of behaviors should be allowed or prohibited when engaging in commerce. Most of them are based on nothing more than a simple application of the golden rule, or other basic tenants of morality that most societies can agree upon: Don't lie. Don't steal. Don't cheat. Etc, etc.

I wish you luck in trying to argue that, from a moral perspective, two corporations should have the right to secretly negotiate in order to suppress their employee salaries and maximize their profits. Don't lie. Don't cheat. Seems pretty straightforward to me.

Comment Re:Why would anyone go willingly to the stadium? (Score 5, Insightful) 216

At home, on the screen, you simply and plainly get the better experience.

From a purely logical or intellectual viewpoint, you're absolutely correct. But watching sports isn't an intellectual exercise, and I don't mean that in a disparaging way.

Have you ever been to a live concert? A magic show? A broadway musical or play? How about a technical conference or lecture where you listen to someone really interesting speaking? There's nothing at those events that, objectively speaking, couldn't be better delivered to your home entertainment system in the comfort and safety in your own home.

Human beings are social creatures, and enjoy experiencing interesting and entertaining events while in the company of others. For a sports event, sharing the thrill of possible victory or defeat with thousands of other fans around you is also about sharing in a certain camaraderie. Unless you're a fan yourself and already enjoy the game, or if you really hate crowds in general, it's probably hard to understand the appeal.

I can strike up a friendly conversation with anyone wearing my home team colors and feel pretty confident that we have something in common to talk about. When my team comes back from near-certain defeat and wins the game in overtime, I'm in my seat, shouting and cheering, and giving high-fives to other like-minded fans around me whether I know them or not. The roar of the crowd is a visceral experience, adding to the excitement and helping to create an experience that's very different than watching the game from home. It feels more like you're a bit closer to participating in the game itself, because you know your home team can hear you cheering for them - not individually, of course, but certainly collectively.

Football season is almost here. This 12 is ready. Go Hawks!

Comment Re:And yet (Score 3, Insightful) 268

I'm pretty sure the reason you were modded as flamebait is that you appear to be rather sympathetic to two multi-billion dollar corporations that were illegally conspiring to suppress the true market value of the wages of their highly skilled employees. You also touched a particularly sensitive nerve by justifying the use of outsourcing, something bound to be pretty unpopular on this site, so it's not too surprising. I do agree with some of the points you made. But it's the last paragraph that's the killer.

The problem in USA is not that Google and Apple had agreements not to hire from each other...

It doesn't matter what excuse you provide after that. That's the topic at hand, and that's what their punishment is all about. I agree that there are too many government rules, taxes, regulations, litigation costs. But you can't use that to justify what these companies did. It was wrong, plain and simple, as well as being illegal. These are not companies that are desperately trying to stay profitable - one could understand if not condone the actions if they were unable to turn a profit due to skyrocketing labor costs. This is just trying to maximize profits at the expense of their workers - nothing more than that.

Despite my personal disagreement with your position, your point was stated clearly, without inflammatory language or personal attacks. Unfortunately, -1 Flamebait all too often means "I vehemently disagree with you and wish to show my displeasure / suppress your viewpoint". It's petty and narrow-minded to mod someone down just because you disagree with someone. Goodness knows we can't actually have people disagreeing about something more substantial than one's personal choice of code editor.

Comment Re:more power to him (Score 1) 286

I'd have a bit more sympathy for the gamer who filed this suit if he wasn't trying to use this as his personal lottery ticket. He's apparently seeking damages of 5 million dollars. I mean, people get screwed over by large companies all the time, in real ways, and for non-trivial amounts of money, or even injured because of real negligence. The legal system is meant for them. Was this gamer so traumatized over a lower resolution in a videogame that he he should never have to work again in his life?

One the one hand, I despise the false advertising and marketing double-speak. "Temporal reprojection"? Pfft, my ass. It's a home-grown interlacing solution, and they damn well knew that you can't call it true 1080p resolution. When they say it was supposed to provide "subjectively similar" results, what they meant was "we're actually not native 1080p, but we hope you don't notice".

But five million dollars? Really?

The ability to sue a large corporation for any amount of money at no cost to you, with simply the hopes of striking it rich... sounds nice, right? And it's arguably necessary to ensure the poor have access to justice. Keep in mind that we all end up paying a price for abuse of that system. Do you think a company simply eats the cost of their army of lawyers and the results of these lawsuits? Any costs are passed on to consumers, or they come out of investors dividends - you know, stocks, mutual funds, where ordinary people have their money too, not just fat cats. What about the social effect of these massive lawsuits? Nowadays, you never hear a company admit fault unless they're already in the middle of a PR disaster. To do so would be admitting liability, and that opens them up to lawsuits. Medical malpractice insurance accounts for a massive percentage of health care costs. Why would we expect it to affect other industries less?

I wish we didn't have to rely on someone using the legal system in the hopes of striking it rich to seriously effect change, but I'm not naive enough to think that filing a complaint about false advertising would go anywhere. I'm pretty damn conflicted about this one. Honestly, I'm really not rooting for anyone here.

Comment Re:Be glad (Score 0) 58

Peiople tolerate this when they are not otherwise suffering Materially. Arab Spring didn't get triggered when the general population is well fed, they triggered when people have problems living on at the conditions at the time (because they are broke?)

Oh, I don't know if that's universally true. Consider the American revolution. The US colonies were, by all accounts, reasonably well off under British rule, and many who agitated for revolution arguably had the most to lose, being the most prominent and wealthy of the citizens.

Granted, you could argue that desperately poor people tend to have little to lose, and perhaps are more likely to revolt. But it's also true that unrest is often fomented by the more idealistic tendencies of the well-educated. That would explain Mao's cultural revolution, wherein they eradicated many of their own most educated citizens in an attempt to purge the "bourgeoisie" of their society.

More than likely, the majority of people simply don't really see a way to change the system, and simply duck their heads down and try to get through life as best they can. And so, the oppression continue, with old men clinging to their power over the masses, trying to crush resistance wherever it emerges, often via technologies that they don't understand in the slightest. So, they fall back to their old patterns - ban, censor, and punish. No big surprises here.

Also, I found this quote in the article particularly entertaining, in a sad sort of way:

Following Thursday's announcement, Tencent, the Chinese Internet giant behind WeChat, said it supported the new regulations.

"We have conducted extensive research, and found that the regulations mainly intend to stop rumors and harmful information from spreading on the Internet," the company said in an online posting.

So, the company who's product and services are being censored fully support the government's decisions? What a shocker.

Comment "Trust" and Corporations (Score 2) 101

They managed to squander any and all trust they might have had

Anyone who "trusts" any large corporation is foolish at best, if you're describing the moral sense of the word. The only thing you can "trust" is for a corporation to do what's best for its own survival and bottom line. For the most part, especially in today's information-rich world, most companies - at least those who don't have government-sanctioned monopolies like many ISPs and cable providers - understand that pissing off large numbers of customers is pretty bad for business.

You can generally trust a company to do what's in its own best interest. In well run companies, that typically aligns reasonably well with customer interests, but only because unsatisfied customers tend to look for alternative products or vendors. I trust Amazon to keep my data secure in its datacenters, both at a technical level (they have lots of experience) and at a business level (a breach or massive data loss would harm their reputation). I also use Microsoft products on a daily basis, both because they're good products and because their operating systems are a huge percentage of my target market. I trust that they have very strong incentives to produce stable and secure products, which again aligns with my needs. They have no desire to become any less relevant in a fast-moving world that they're already struggling to keep pace with.

When most people talk about trust and corporations, I think it's generally a different sort of trust than, for example, how you'd trust your wife, family, or friends. At least, it certainly is for me. For businesses, trusting Microsoft might simply be the belief that Microsoft will continue to act in a relatively predictable manner, and so they can be relied on to provide the same sort of services and level of quality, whatever you perceive that to be, as they had in the past. You're simply trusting in its inherent nature. So, if you *understand* its nature, you can then better understand what you should and shouldn't allow that company to do for you - or to you.

That may sound overly cynical or somehow like an anti-corporate or anti-capitalist rant, but that's not where I'm coming from. Let's face it, without large corporations, we wouldn't have access to a lot of our most impressive products and technology. I just think it's important to understand and accept something's true nature in order to effectively make use of it, and to protect ourselves when our interests *don't* align with it.

Comment Re:Huh? (Score 1) 406

I don't think the general public will happily trust a computer driver that fails spectacularly in edge cases. Look at the outcry over some edge-case computer-related brake malfunctions a few years ago. The computer can't just be better than the average driver, partly because everyone believes themselves to be better than the average driver*. It has to be better than nearly all drivers in most imaginable circumstances. People tend to get most nervous about things that are completely out of their control. I think perhaps that's why flying is more nerve-wracking to many people (beyond the obvious reasons), even though flying is statistically many times safer than driving.

* Honestly, I'm no exception. I'll bet everyone reading this also nods and says to themselves "well, yeah, but I AM actually a better-than-average driver."

Comment Re:Beards and suspenders. (Score 1) 637

If you're programming in Perl, Python, SmallTalk, or some other high level or managed or interpreted language, then performance probably isn't your overriding concern. That's fine. There's a reason why we have many different programming languages.

As it turns out, in the context of a high-performance, real-time simulation, allocation is actually pretty expensive. Nearly every modern AAA game or game engine does, in fact, actively manage and optimize their memory allocations, either at the allocator or object level. The global system allocator is a general purpose allocator that can't afford to make intelligent tradeoffs or specific optimizations that you can do with more domain knowledge.

There's a reason C++ is the go-to language of the videogame industry. It's because (among many other reasons) in that language we can, in fact, create our own allocators and optimize them for our particular needs. For instance, in the code I'm working on, each major subsystem of the engine has it's own allocator which uses pools of pre-allocated blocks for improved small-allocation efficiency. Splitting up the allocations by subsystem helps in tracking memory use as well as reducing contention on a global allocator lock, since games have to be extremely thread-efficient as well with all the real-time demands placed on them.

This would be ridiculous overkill for most applications, which are far less demanding of the hardware. But don't forget that context is important before universally declaring that a particular operation is "very cheap".

Comment Re:Beards and suspenders. (Score 1) 637

And as soon as you work for Facebook or Amazon, you will never have any use for 'bit bashing' again.
It is interesting as a mental exercise ... but has bottom line nothing to do with serving web pages to 100,000,000 concurrent users accessing the same DB of products and hosting all the infra structure on 4 IBM mainframes that run the web front ends on 10,000 virtualized linux boxes running slackware linux (2002) and IBM Java 1.3. ...
Sorry, how good are you actually in classic greek? It would do wonders to your comprehension of logic ... but well, you already do comprehend ... so, you agree with me: it is pointless. So are you examples, that only work straight forward in assembler. Lol, reverse the bit order of a word in C? Seriously?

Actually, it's exactly the opposite. Did you know that if a Facebook programmer can improve their back-end code efficiency by just a few percentage points inside the data centers, the company saves millions of dollars annually? It's why they wrote a PHP to C++ converter as they began to have scaling and performance issues. Likewise, do you not think that among Amazon's datacenters, they wouldn't be interested in finding a way to reduce memory consumption and CPU overhead of the hundreds of thousands of running instances that control all their internal operations?

You're probably thinking in terms of traditional desktop or web applications, where CPU and memory resources seem practically limitless. Here are a few areas where efficiency still counts for a lot: cloud/data-center development, embedded systems ("i.e. the internet of things"), smartphones, videogames, CPU-demanding desktop applications. Interested yet? Notice that there's still a lot of cutting edge stuff in there? It turns out that when you multiply a program by a factor of hundreds, thousands, or even hundreds of thousands inside a data center, small gains in efficiency turn into huge power savings, and that means big money savings. Likewise, there are some applications where you can simply never be too fast or efficiently. Simulations are one example. Videogames are another.

Languages like Objective-C, C and C++ still have a place because high-performance computing is still important both in small and constrained environments, OS level systems programming, and large-scale datacenter deployments and applications. And bit manipulation and other low-level operations are a real part of those still very relevant languages.

You might laugh at the notion of reversing the bit order of a word in C, but it's no joke that in my job (videogame programming), I still occasionally need to know how to do bitwise operations - not often, but occasionally. Just because you haven't used a skill in your own particular field of programming doesn't necessarily mean it's not in demand outside your particular domain.

Comment Re:Snowden and Assange... (Score 2, Interesting) 204

It's not so much about the results as the methodology. Assange seemed (at least in the Manning case) to advocate a "publish it all and damn the consequences" approach, not really considering that the consequences could involve risk to real lives. The fact that no one has apparently been harmed as a result doesn't necessarily mean the potential danger wasn't real.

In contrast, one of the things I admire about Snowden is his method of responsible disclosure. He's been, by all accounts, quite careful to release documents that clearly demonstrate the government's infringements on our liberties and constitutional rights, but has largely limited the scope to that topic. He undoubtedly had access to many other sensitive government documents that could, but has reviewed the documents before release in order to ensure that as little harm as possible is done to actual US security interests.

It's admittedly a pretty fine line, but I think it's worth noting a distinction there. I'm sure plenty will disagree with me.

Comment Re:Snowden and Assange... (Score 4, Interesting) 204

I briefly read the headline as: Snowden is Not Alone. US Seeks Another Leaker. As in: From the US Citizens: You're not alone, Snowden! We're with you! And we're looking for other brave souls to come forward and keep us informed about what the NSA is really doing! Then I reread the headline correctly, and realized I far preferred my earlier interpretation.

I'm not quite as bullish on Asange. When he revealed the war-related documents he did without sanitizing them, he put the lives of many Iraqi and Afgani citizens who worked with our forces at risk, and didn't appear to give a shit if they lived or died. If they worked with the evil American empire, they apparently deserved whatever fate they get at the hands of folks who have a history of doing really awful things to their fellow human beings. That alone makes me pretty uncomfortable, regardless of whatever positive things he's done or established.

Snowden, on the other hand, is a patriot of the highest order, in my opinion. He made the ultimate conscientious decision after seeing an unconscionable overreach of government authority, throwing absolutely everything away in an effort to bring this to light. If you hear him explain his decision, you get a sense that he doesn't have an ax to grind, nor is he some sort of glory-seeker, but was simply motivated to do the right thing for the right reasons. He got nowhere in a sincere effort to work through legitimate channels before ultimately resorting to leaks. The intransigence of the government in admitting any wrongdoing is, I feel, evidence enough that his internal efforts could never have been fruitful.

There are a few things he released that I actually wish he hadn't. For instance, I think the details on technologies and methods used for targeted surveillance, for instance, should have remained secret. If you think about it, that's *precisely* what the NSA should be doing: precision strikes, rather than carpet bombing, so to speak. I'm not opposed to their mission of finding legitimate threats to US citizens and interests, but don't put the entire damned country under mass surveillance to do so. It defeats the entire purpose if we have to turn into a police state to remain secure. But overall, he's done a pretty good job of releasing only relevant documents that highlight abuses, since he likely has information that, if released, would actually harm our national security or legitimately put people at risk.

Ultimately, I feel the country is in better shape thanks to Snowden. What we learned needed to be known, and thanks to him and the price he paid (and is paying), we can start trying to address the problem. I wish he would get pardoned, but I doubt that will happen.

Comment Re:Nuke it from orbit, then restore from backups. (Score 1) 150

That's actually a very good point. The S3 backup is completely automated which means, of course, that everything the malware would need to screw with your S3 (or other) account is right there for the taking - the keys have to be local and accessible. Granted, we haven't heard any confirmation of this malware having those sorts of capabilities, but we've seen incredibly sophisticated banking trojans out in the wild that do things that are far more sophisticated.

Damn. Well, all the more reason to stay patched up, and to avoid exposing any more of an attack surface to the internet than you absolutely need to. Fortunately, the way my local network is set up, it's pretty much impossible for a single trojan to access all of the redundant copies of my critical files, since the multiple workstations all sync to a Mercurial repository on the NAS, and none of those workstations share their drives, providing some degree of protection from potential malware on the other machines in the network. I guess you can never really have too many backups.

Slashdot Top Deals

Biology is the only science in which multiplication means the same thing as division.

Working...