×
Open Source

Getting Started Developing With OpenStreetMap Data 39

Nerval's Lobster writes In 2004, Steve Coast set up OpenStreetMap (OSM) in the U.K. It subsequently spread worldwide, powered by a combination of donations and volunteers willing to do ground surveys with tools such as handheld GPS units, notebooks, and digital cameras. JavaScript libraries and plugins for WordPress, Django and other content-management systems allow users to display their own maps. But how do you actually develop for the platform? Osmcode.org is a good place to start, home to the Osmium library (libosmium). Fetch and build Libosmium; on Linux/Unix systems there are a fair number of dependencies that you'll need as well; these are listed within the links. If you prefer JavaScript or Python, there are bindings for those. As an alternative for Java developers, there's Osmosis, which is a command-line application for processing OSM data.
Open Source

GCC 5.0 To Support OpenMP 4.0, Intel Cilk Plus, C++14 57

An anonymous reader writes: GCC 5 is coming up for release in the next few weeks and is presenting an extraordinary number of new features: C11 support by default, experimental C++14 support, full C++11 support in libstdc++, OpenMP 4.0 with Xeon Phi / GPU offloading, Intel Cilk Plus multi-threading, new ARM processor support, Intel AVX-512 handling, and much more. This is a big release, so those wishing to test it ahead of time can obtain the preliminary GCC 5 source code from GCC's snapshots mirror.
Open Source

US NAVY Sonar/Lidar Editing Software Released To the World 56

New submitter PFMABE writes The Naval Oceanographic Office (NAVO) has spent 16 years developing the Pure File Magic Area Based Editor (PFMABE) software suite to edit the huge volumes of lidar and sonar data they collect every year. In accordance with 17 USC 105, copyright protection is not available to any work of the US government. Originally developed to run on RedHat OS with network distributed storage, it has been migrated to Windows 7. This software, and accompanying source code (Win & Linux), has been released to the public domain at pfmabe.software, free for download with registration.
Microsoft

Mono 4 Released, First Version To Adopt Microsoft Code 223

jones_supa writes: Version 4.0.0 of Mono, the FOSS implementation of the .NET Framework, has been released. This is the first release of Mono that replaces various components of Mono with code that was released by Microsoft under the MIT license. Microsoft itself is working towards .NET Core: a redistributable and re-imagined version of .NET, which has two code drops: CoreFX and CoreCLR. Mono at this point continues to provide an API that tracks the .NET desktop/server version. This means that most of the Mono code that has been integrated from Microsoft comes from the ReferenceSource code drop. Mono's C# compiler now also defaults to C# 6.0.
Java

BioWare Announces Open-Source Orbit Project 61

An anonymous reader writes BioWare, part of EA Games, have announced Orbit, their first open-source project. Orbit is a Java based framework for building distributed online services including a virtual actors system (based on Microsoft's Orleans project) and a lightweight inversion of control container. The announcement says, in part, Beginning today, we will be making Orbit open source on GitHub under a BSD license. We have been leveraging open source technology internally for quite some time, and we think the time is now right for us to give back and engage with the community in a more meaningful way. The last-generation of Orbit powered some of the key technology behind the Dragon Age Keep and Dragon Age: Inquisition. Our plans for the next-generation framework are even more ambitious.
Software

Is This the Death of the Easter Egg? 290

An anonymous reader writes: The BBC reports that more and more companies are cracking down on the practice of hiding harmless snippets of code in their products. Known as "Easter eggs," they can be anything from the names of the developers, to pictures, to games like pinball, to a flight simulator. Is this simply professionalism, or is it stifling programmers' quirky, playful side? (Have you created any Easter eggs yourself? If so, what did they do?)
Bug

Are Bug Bounties the Right Solution For Improving Security? 58

saccade.com writes Coding Horror's Jeff Atwood is questioning if the current practice of paying researchers bounties for the software vulnerabilities they find is really improving over-all security. He notes how the Heartbleed bug serves as a counter example to "Linus's Law" that "Given enough eyeballs, all bugs are shallow." "...If you want to find bugs in your code, in your website, in your app, you do it the old fashioned way: by paying for them. You buy the eyeballs. While I applaud any effort to make things more secure, and I completely agree that security is a battle we should be fighting on multiple fronts, both commercial and non-commercial, I am uneasy about some aspects of paying for bugs becoming the new normal. What are we incentivizing, exactly?
Education

Stanford Turns To Pair Programming: 1 CS Education For the Price of 2? 121

theodp writes: Stanford students may pay $44,184 in tuition, but that may not even entitle them to individually graded homework. The Stanford Daily reports that this quarter, Stanford's Computer Science Department will implement 'pair programming' in the introductory computer science courses CS 106A: Programming Methodology and CS 106B: Programming Abstractions. "The purpose of this change," reports the paper, "is to reduce the increasingly demanding workload for section leaders due to high enrollment and also help students to develop important collaboration skills." The CS 106A Pair Programming Q&A page further explains, "Our enrollments have grown rapidly, and we are trying to explore creative new ways to manage student work that will also reduce the heavy workload on our section leaders," adding that students who don't get with the Pair Programming program and elect to go solo will not be awarded "late days" that can be used to avoid penalties on overdue assignments, unlike their paired classmates. Google in November put out an RFP to universities for its invite-only 3X in 3 Years: CS Capacity Award program, which aimed "to support faculty in finding innovative ways to address the capacity problem in their CS courses," which included a suggestion that "students that have some CS background" should not be allowed to attend in-person intro CS courses. Coincidentally, Google Director of Education and University Relations Maggie Johnson, whose name appeared on the CS Capacity RFP, was Director of Undergraduate Studies in Stanford's CS Department before joining Google.
Programming

Rust 1.0 Enters Beta 211

An anonymous reader writes: Rust is a systems programming language focused on safety and speed and aims, among other things, to offer memory safety without garbage collection and threads without data races. Over on the Rust blog, the Rust Core Team has announced the release of Rust 1.0 beta. They write, 'The beta release marks a very significant "state transition" in the move towards 1.0. In particular, with the beta release, all libraries and language features that are planned to be stable for 1.0 have been marked as stable. As such, the beta release represents an accurate preview of what Rust 1.0 will include.' The final Rust 1.0 release is scheduled for May 15th, 2015. A warning from the developers: "Rust is a work-in-progress and may do anything it likes up to and including eating your laundry." The FAQ is worth reading.
Graphics

Valve Bootstrapped Source 2 Engine On an Open-Source Vulkan Driver 60

An anonymous reader writes A new article out details how Valve bootstrapped their VULKAN back-end with the Source 2 Engine over a period of just four months thanks to relying on an open-source driver. With designing for the open-source Intel Vulkan Linux driver developed by LunarG, Valve developers were quickly able to resolve issues and progress the driver in a turn-key manner. This Intel Linux driver will be released as open-source once the Khronos VULKAN specification has been published.
IT

Ask Slashdot: What Makes a Good Work Environment For Developers and IT? 261

An anonymous reader writes: I've been unexpectedly placed in charge of our small technology department at work. We have three dedicated developers, two dedicated IT people, and one 'devops' guy who does some of both. It's the first team I've managed, and I'd like to do a good job of it, so I ask you: what makes a good work environment? I have my own likes and dislikes, of course, and I'm sure everyone can appreciate things like getting credit for their work and always having the break room fridge stocked. But I'd like to hear about the other things, big and small, that make it more fun (or at least less un-fun) to come into work every day. This can be anything — methods of personal communication, HR policies (for example, how can reviews be not-terrible?), amenities at the office, computer hardware/software, etc. I also wouldn't mind advice on how to represent my team when dealing with other departments.
Emulation (Games)

Building an NES Emulator 140

An anonymous reader writes: Programmer Michael Fogleman recently built his own emulator for the original Nintendo Entertainment System. He's now put up a post sharing many technical insights he learned along the way. For example: "The NES used the MOS 6502 (at 1.79 MHz) as its CPU. The 6502 is an 8-bit microprocessor that was designed in 1975. ... The 6502 had no multiply or divide instructions. And, of course, no floating point. There was a BCD (Binary Coded Decimal) mode but this was disabled in the NES version of the chip—possibly due to patent concerns. The 6502 had a 256-byte stack with no overflow detection. The 6502 had 151 opcodes (of a possible 256). The remaining 105 values are illegal / undocumented opcodes. Many of them crash the processor. But some of them perform possibly useful results by coincidence. As such, many of these have been given names based on what they do." It's an interesting look at how software and hardware interacted back then, and what it takes to emulate that in modern times. Fogleman released the source code on GitHub.
IOS

5 Alternatives For Developing Native iOS Apps 54

Nerval's Lobster writes "]The simplest way to join the ranks of iOS developers is to learn Objective-C and/or Swift (the latter, while not quite ready for prime-time upon release, has gotten a lot better with its recent v1.2 update). But for everybody who doesn't want to go down that route, there are other ways to create native iOS apps. Over at Dice, David Bolton went through five alternatives: Xamarin, Codename One, Embarcadero C++ Builder/Delphi XE/AppMethod, RemObjects C#/Oxygene, and DragonFireSDK. (Three of the systems, excepting Rem Objects C# and DragonFireSDK, are cross-platform, as well.) His conclusion? "There's no shortage of systems for developing native apps for iOS and other platforms, but cost will most likely determine your choice. Other than the annual Apple developer fee, creating in Swift and Objective-C; with regard to [these alternative] platforms, Embarcadero is the most expensive."
Transportation

Coding For Cars: The Next Generation of Mobile Apps 24

snydeq writes Developers will need to rethink UIs, connection strategies, and how to capitalize on new data streams — especially as autonomous cars start rolling off the lots, writes InfoWorld's Peter Wayner, in a forward-thinking article on developing apps for cars, including autonomous cars to come. "Delivering data to cars, autonomous or not, will take a whole new way of thinking. Rectangles will always be rectangles, but automobile network connections are spotty and the user interface needs to compete — if that's the right word — with the objects on the road for the right amount of attention from the driver. Here are eight ways developers will need to rethink their app strategies when it comes to delivering apps for cars."
Android

Visual Studio 2015 Can Target Linux; Android Apps Anywhere Chrome Can Run 96

jones_supa writes Phoronix has noticed that the Visual Studio 2015 product page mentions that the new IDE can target Linux out of the box. Specifically the page says "Build for iOS, Android, Windows devices, Windows Server or Linux". What this actually means is not completely certain at this point, but it certainly laces nicely with the company opening up the .NET Framework. And speaking of cross-platform software: new submitter mccrew writes Google has released a tool that lets Android apps run on any machine that can run its Chrome browser. Called Arc Welder, the tool acts as a wrapper around Android apps so they can run on Windows, OS X and Linux machines. The software expands the places that Android apps can run and might make it easier for developers to get code working on different machines.
Books

Book Review: Drush For Developers, 2nd Edition 29

Michael Ross writes As with any content management system, building a website using Drupal typically requires extensive use of its administrative interface, as one navigates through its menus, fills out its forms, and reads the admin pages and notifications — or barely skims them, as they have likely been seen by the site builder countless times before. With the aim of avoiding this tedium, speeding up the process, and making it more programmatic, members of the Drupal community created a "shell" program, Drush, which allows one to perform most of these tasks on the command line. At this time, there is only one current print book that covers this tool, Drush for Developers, Second Edition, which is ostensibly an update of its predecessor, Drush User's Guide. Read below for the rest of Michael's review.
Graphics

Developer of 'Banished' Develops His Own Shading Language 31

jones_supa writes Luke Hodorowicz, the hard-working developer behind the townbuilding strategy computer game Banished, has
designed a novel GPU shading language and written a compiler for it. The language has been christened 'Shining Rock Shading Language' (SRSL) and it outputs the program in several other shading languages. The first goal for the language was to treat the vertex, fragment and geometry shader as a single program. The language sees the graphics pipeline as a stream of data, followed by some code, which outputs a stream of data, and then more code runs, and another stream of data is output. Body text of the shaders is very C-like and should be understood easily coming from other shading languages. SRSL has all the intrinsic functions you would expect from HLSL or GLSL. All types are HLSL-style. Loops and conditionals are available, but switch statements and global variables are seen redundant and not implemented. Luke's blog post tells more about the details of the language, complemented with examples.
Input Devices

Control Anything With Gestures: Myo Bluetooth Protocol Released 15

First time accepted submitter Legendary Teeth writes The makers of the Myo Gesture Control Armband (Thalmic Labs) have just released the specs for the Bluetooth protocol it uses. While there are already official SDKs for Windows, Mac, iOS and Android, this means that now anyone can roll their own support for other platforms like Linux or Arduino without needing to use one of the official platforms as a bridge. Anything you can write code for that that can act as a Bluetooth GATT client would now be possible, really. If you aren't familiar with the Myo armband, it's a Bluetooth Low Energy device with 8 EMG pods and an IMU that you wear on your arm. It can read your muscle activity to detect gestures you make with you hands, which you can then use to do things like fly drones, play games, or control music.
Education

No Film At 11: the Case For the Less-Video-Is-More MOOC 87

theodp writes: In Why My MOOC is Not Built on Video, GWU's Lorena Barba explains why the Practical Numerical Methods with Python course she and colleagues put together has but one video: "Why didn't we have more video? The short answer is budget and time: making good-quality videos is expensive & making simple yet effective educational videos is time consuming, if not necessarily costly. #NumericalMOOC was created on-the-fly, with little budget. But here's my point: expensive, high-production-value videos are not necessary to achieve a quality learning experience." When the cost of producing an MOOC can exceed $100,000 per course, Barba suggests educators pay heed to Donald Bligh's 1971 observation that "dazzling presentations do not necessarily result in learning." So what would Barba do? "We designed the central learning experience [of #NumericalMOOC] around a set of IPython Notebooks," she explains, "and meaningful yet achievable mini-projects for students. I guarantee learning results to any student that fully engages with these!"
Businesses

Why You Should Choose Boring Technology 232

An anonymous reader writes Dan McKinley, a long-time Etsy engineer who now works at online payment processor Stripe, argues that the boring technology option is usually your best choice for a new project. He says, "Let's say every company gets about three innovation tokens. You can spend these however you want, but the supply is fixed for a long while. You might get a few more after you achieve a certain level of stability and maturity, but the general tendency is to overestimate the contents of your wallet. Clearly this model is approximate, but I think it helps. If you choose to write your website in NodeJS, you just spent one of your innovation tokens. If you choose to use MongoDB, you just spent one of your innovation tokens. If you choose to use service discovery tech that's existed for a year or less, you just spent one of your innovation tokens. If you choose to write your own database, oh god, you're in trouble. ... The nice thing about boringness (so constrained) is that the capabilities of these things are well understood. But more importantly, their failure modes are well understood."

Slashdot Top Deals