For the out-of-band Slashdot experience (mostly headlines), follow us on Twitter, or Facebook. ×
Programming

Clang Plays Tetris -- Tetris As a C++ Template Metaprogram 24 24

New submitter mjvzb writes: Ever wish compiling was more fun? Well, I recently implemented Tetris as a C++ template metaprogram (code at Github). The game is played by recompiling its source, taking player input by compiler flag. The runtime program is only needed to print the game screen to the console and save the game state across compiler runs.

Implementing Tetris in templates is not as horrific as you may imagine, and I've put together a post covering the details. Once you get over the syntax, C++ metaprogramming is just like functional programming.
Google

Google: Stop Making Apps! (A Love Letter) 104 104

An anonymous reader writes: Seasoned Silicon Valley software executive and investor Domenic Merenda has written a love letter to Google, and it's filled with "tough" love. The main thesis is that Google, as a company, should stop making apps, and instead focus on using its enormous data assets to make meaningful connections between people and facilitate organic engagement within a rich ecosystem. Interestingly, the article cites Wikipedia's information that Google maintains over 70 apps on the Android platform alone.
Programming

Watching People Code Is Becoming an (Even Bigger) Thing 133 133

itwbennett writes: Faithful Slashdot readers may recall the story of Adam Wulf, who spent two weeks live-streaming himself writing a mobile app. The phenomenon has quickly become thing, by which we mean a business. Twitch.TV, Watch People Code (which is an offshoot of the subreddit by the same name), Ludum Dare, and, of course, YouTube, are bursting with live or archived streams of lots of people writing lots of code for lots of different things. And just this week, Y Combinator-backed startup Livecoding.TV launched. The site has signed up 40,000 users since its beta went live in February, but unlike the other sites in this space what it doesn't have (and doesn't have plans for) is advertising. As co-founder Jamie Green told ITworld: 'We have some different ideas around monetisation in the pipeline, but for now we are just focussed on building a community around live education.'
GUI

Qt 5.5 Released 79 79

New submitter mx+b writes: The latest version of Qt, the cross platform GUI toolkit and development platform, is out for all major platforms. Highlights include better 3D, multimedia, and web support, as well as better support for the latest OS X and Windows releases (including Windows 10) and more Linux distributions.
Businesses

Exploring the Relationships Between Tech Skills (Visualization) 64 64

Nerval's Lobster writes: Simon Hughes, Dice's Chief Data Scientist, has put together an experimental visualization that explores how tech skills relate to one another. In the visualization, every circle or node represents a particular skill; colors designate communities that coalesce around skills. Try clicking "Java", for example, and notice how many other skills accompany it (a high-degree node, as graph theory would call it). As a popular skill, it appears to be present in many communities: Big Data, Oracle Database, System Administration, Automation/Testing, and (of course) Web and Software Development. You may or may not agree with some relationships, but keep in mind, it was all generated in an automatic way by computer code, untouched by a human. Building it started with Gephi, an open-source network analysis and visualization software package, by importing a pair-wise comma-separated list of skills and their similarity scores (as Simon describes in his article) and running a number of analyses: Force Atlas layout to draw a force-directed graph, Avg. Path Length to calculate the Betweenness Centrality that determines the size of a node, and finally Modularity to detect communities of skills (again, color-coded in the visualization). The graph was then exported as an XML graph file (GEXF) and converted to JSON format with two sets of elements: Nodes and Links. "We would love to hear your feedback and questions," Simon says.
Java

Ask Slashdot: Getting My Wife Back Into Programming After Long Maternity Leave? 245 245

An anonymous reader writes: My wife has been on a maternity leave for three years, now. She is starting to think about refreshing her coding skills and looking for a job. Before, she worked as a Java developer for around two years doing mostly Java Enterprise stuff. However, she is not very eager to go back to coding. I think she has the right mental skills to be a developer, but she is just not very passionate about coding or IT in general. On the other hand, it's relatively easier to find a job in IT than starting a new career.

We live in Spain, and with the current economic situation, the market for software developers is not great — but it's definitely better than other jobs. I there anything else she might do, ideally Java (but could be anything IT related) that would be easier and more fun than the typical Java Enterprise stuff, while also giving her a good change to find a decent job? (I'm a Java developer myself with many years of experience but mostly doing boring Java Enterprise stuff.)
United Kingdom

UK's National Computer Museum Looks For Help Repairing BBC Micros 66 66

tresho writes: 1981-era 8-bit BBC Micro computers and peripherals are displayed in a special interactive exhibit at the UK's National Museum of Computing designed to give modern students a taste of programming a vintage machine. Now, the museum is asking for help maintaining them. "We want to find out whether people have got skills out there that can keep the cluster alive as long as we can," said Chris Monk, learning coordinator at the organization.

"Owen Grover, a volunteer at the museum who currently helps maintain the cluster of BBC Micro machines, said they held up well despite being more than 30 years old. The BBC Micro was 'pretty robust,' he said, because it was designed to be used in classrooms. This meant that refurbishing machines for use in the hands-on exhibit was usually fairly straightforward. 'The main problem we need to sort out is the power supply,' he said. 'There are two capacitors that dry out and if we do not replace them they tend to explode and stink the place out. So we change them as a matter of course.'"
Education

How Computer Science Education Got Practical (Again) 153 153

jfruh writes: In the 1980s and 1990s, thousands of young people who had grown up tinkering with PCs hit college and dove into curricula designed around the vague notion that they might want to "do something with computers." Today, computer science education is a lot more practical — though in many ways that's just going back to the discipline's roots. As Christopher Mims put it in the Wall Street Journal, "we've entered an age in which demanding that every programmer has a degree is like asking every bricklayer to have a background in architectural engineering."
Businesses

The Programmer's Path To Management 125 125

snydeq writes: The transition from command line to line-of-command requires a new mind-set — and a thick skin, writes InfoWorld's Paul Heltzel in a tips-based article aimed at programmers interested in breaking into management. "Talented engineers may see managing a team as the next step to growing their careers. So if you're moving in this direction, what tools do you need to make the transition? We'll look at some possible approaches, common pitfalls — and offer solutions."
Open Source

Ask Slashdot: Choosing the Right Open Source License 161 161

NicknamesAreStupid writes: I need to choose an open source license. I am developing an open source iOS application that use a significant number of other open source projects which, in turn, use a number of different open source licenses such as MPL/GPL, MIT, and BSD. I am also using sample code from Apple's developer site, which has their own terms of use. The code dependencies are such that my code would not be of much use without theirs. If this project is used, then it would be nice to pick a license that best fits in with this mashup. I am interested in maintaining the freedom of my code but do not want to create a catch-22 or make life hard for people who need to use this project for personal use or profit. My inclination is to use MIT's, as I have done so before. I asked an IP lawyer about this matter, and she replied (pro bono), "it probably doesn't matter." Of course, that advice was worth every penny. Moving away from legal issues and looking at this from a social perspective, which license would appeal most and offend least? I thought about no license but was warned (pro bono), "If you do not, then someone else may." Any suggestions?
Programming

To Learn (Or Not Learn) JQuery 125 125

Nerval's Lobster writes: jQuery isn't without its controversies, and some developers distrust its use in larger projects because (some say) it ultimately leads to breakage-prone code that's harder to maintain. But given its prevalence, jQuery is probably essential to know, but what are the most important elements to learn in order to become adept-enough at it? Chaining commands, understanding when the document is finished loading (and how to write code that safely accesses elements only after said loading), and learning CSS selectors are all key. The harder part is picking up jQuery's quirks and tricks, of which there are many... but is it worth studying to the point where you know every possible eccentricity?
Google

SCOTUS Denies Google's Request To Appeal Oracle API Case 181 181

New submitter Neil_Brown writes: The Supreme Court of the United States has today denied Google's request to appeal against the Court of Appeals for the Federal Circuit's ruling (PDF) that the structure, sequence and organization of 37 of Oracle's APIs (application program interfaces) was capable of copyright protection. The case is not over, as Google can now seek to argue that, despite the APIs being restricted by copyright, its handling amounts to "fair use". Professor Pamela Samuelson has previously commented (PDF) on the implications if SCOTUS declined to hear the appeal. The Verge reports: "A district court ruled in Google's favor back in 2012, calling the API "a utilitarian and functional set of symbols" that couldn't be tied up by copyrights. Last May, a federal appeals court overturned that ruling by calling the Java API copyrightable. However, the court said that Google could still have lawfully used the APIs under fair use, sending the case back to a lower court to argue the issue. That's where Google will have to go next, now that the Supreme Court has declined to hear the issue over copyright itself.
Bug

MIT System Fixes Software Bugs Without Access To Source Code 75 75

jan_jes writes: MIT researchers have presented a new system at the Association for Computing Machinery's Programming Language Design and Implementation conference that repairs software bugs by automatically importing functionality from other, more secure applications. According to MIT, "The system, dubbed CodePhage, doesn't require access to the source code of the applications. Instead, it analyzes the applications' execution and characterizes the types of security checks they perform. As a consequence, it can import checks from applications written in programming languages other than the one in which the program it's repairing was written."
Education

AP CS Test Takers and Pass Rates Up, Half of Kids Don't Get Sparse Arrays At All 128 128

theodp writes: Each June, the College Board tweets out teasers of the fuller breakouts of its Advanced Placement (AP) test results, which aren't made available until the fall. So, here's a roundup of this year's AP Computer Science tweetstorm: 1. "Wow — massive gains in AP Computer Science participation (25% growth) AND scores this year; big increase in % of students earning 4s & 5s!" 2. "2015 AP Computer Science scores: 5: 24.4%; 4: 24.6%; 3: 15.3%; 2: 7.1%; 1: 28.6%." [3 or above is passing] 3."Count them: a whopping 66 AP Computer Science students out of 50,000 worldwide earned all 80 pts possible on this year's exam." 4. "Remember that AP exam standards are equated from year to year, so when scores go up, it's a direct indication of increased student mastery." 5. "Many AP Computer Science students did very well on Q1 (2D array processing–diverse array); >20% earned all 9/9 pts" [2015 AP CS A Free-Response Questions] 6. "The major gap in this year's AP Computer Sci classrooms seems to be array list processing; Q3 (sparse array): 47% of students got 0/9 pts."
AI

WSJ Overstates the Case Of the Testy A.I. 216 216

mbeckman writes: According to a WSJ article titled "Artificial Intelligence machine gets testy with programmer," a Google computer program using a database of movie scripts supposedly "lashed out" at a human researcher who was repeatedly asking it to explain morality. After several apparent attempts to politely fend off the researcher, the AI ends the conversation with "I'm not in the mood for a philosophical debate." This, says the WSJ, illustrates how Google scientists are "teaching computers to mimic some of the ways a human brain works."

As any AI researcher can tell you, this is utter nonsense. Humans have no idea how the human, or any other brain, works, so we can hardly teach a machine how brains work. At best, Google is programming (not teaching) a computer to mimic the conversation of humans under highly constrained circumstances. And the methods used have nothing to do with true cognition.

AI hype to the public has gotten progressively more strident in recent years, misleading lay people into believing researchers are much further along than they really are — by orders of magnitude. I'd love to see legitimate A.I. researchers condemn this kind of hucksterism.
Programming

Mob Programming: When Is 5 Heads Really Better Than 1 (or 2)? 126 126

itwbennett writes: Proponents of Mob programming, an offshoot of Pair programming in which the whole team works together on the same computer, say that it increases both quality and productivity, but also acknowledge that the productivity gains might not be readily apparent. "If you measure by features or other classic development productivity metrics, Mobbing looks like it's achieving only 75 to 85 percent of individual or Pair output for, say, a team of six or seven working for a week," says Paul Massey, whose company Bluefruit Software is a heavy user of the Mob approach. So, where does the productivity come from? Matthew Dodkins, a software architect at Bluefruit says the biggest gains are in code merges. "In a day spent using traditional collaboration, you would have to first spend time agreeing on tasks, common goals, deciding who's doing what... and then going away to do that, write code, and come back and merge it, resolve problems," says Dodkins. By bringing everyone into the same room, "we try to merge frequently, and try to do almost continuous integration." Matt Schartman, whose company Appfolio also uses Mobbing and wrote about his experience, gave Mobbing high marks for producing a quality product, but didn't find that it improved productivity in any measurable way.
Programming

Amazon Opens Up Echo's Alexa To Developers 26 26

mikejuk writes: Amazon announced Echo, a wireless speaker with a built-in, voice-controlled, personal assistant called Alexa last year. Now it appears Alexa will no longer be tied exclusively to Echo. Amazon has announced that the Alexa Voice Service (AVS), the cloud-based service behind Echo, is being made available for free to third party hardware makers who want to integrate Alexa into their devices. To propel developers and hardware manufacturers interest in voice technology and their adoption of Alexa, Amazon has also announced a $100 Million Alexa Fund, open to anyone, startups to established brands, with an innovative idea for using voice technology.
Google

Google Asks Android Developers To Show Sensitivity To Disasters and Atrocity 96 96

Mark Wilson writes: Today Google revealed an updated version of its Google Play Developer Program Policies. There aren't actually all that many changes or additions, but those that are present are quite interesting. Google is clamping down on the problem of impersonation, making it clearer that it is not permissible to mislead users by imitating other apps, making false claims, or suggesting endorsements that do not exist. One of the more intriguing changes to the document sees Google calling on developers to show sensitivity to evens such as natural disasters, war, and death. Any apps or other content that attempt to benefit by exploiting such events are explicitly banned.
Education

New Google and CMU Moonshot: the 'Teacherless Classroom' 89 89

theodp writes: At the behest of Google, Carnegie Mellon University will largely replace formal lectures in a popular introductory Data Structures and Algorithms course this fall with videos and a social networking tool to accommodate more students. The idea behind the multi-year research project sponsored by Google — CMU will receive $200,000 in the project's first year — is to find a way to leverage existing faculty to meet a growing demand for computer science courses, while also expanding the opportunities for underrepresented minorities, high school students and community college students, explained Jacobo Carrasquel, associate teaching professor of CS. "As we teach a wider diversity of students, with different backgrounds, we can no longer teach to 'the middle,'" Carrasquel said. "When you do that, you're not aiming at the 20 percent of the top students or the 20 percent at the bottom." The move to a "teacherless classroom" for CS students at CMU [tuition $48K] comes on the heels of another Google CS Capacity Award-inspired move at Stanford [tuition $45K], where Pair Programming was adopted in a popular introductory CS class to "reduce the increasingly demanding workload for section leaders due to high enrollment and also help students to develop important collaboration skills."