Books

The 2015 Open Source Summer Reading List 31 31

ectoman writes: Opensource.com has just published its annual Open Source Summer Reading List. This year's edition contains 15 recommendations for books that celebrate open source values and practices. Topics include Python programming, Grace Hopper, open-minded leadership, and teaching children to code. There are also books on the philosophy of open information, an intro to DIY/Maker activities, and even a book about mastering Emacs. What would you add to this list?
Python

How Much Python Do You Need To Know To Be Useful? 263 263

Nerval's Lobster writes: Since Python is a general-purpose language, it finds its way into a whole lot of different uses and industries. That means the industry in which you work has a way of determining what you actually need to know in terms of the language, as developer Jeff Cogswell explains in a new Dice piece. For example, if you're hired to write apps that interact with operating systems and monitor devices, you might not need to know how to use the Python modules for scientific and numerical programming. In a similar fashion, if you're hired to write Python code that interacts with a MySQL database, then you won't need to master how it works with CouchDB. The question is, how much do you need to know about Python's basics? Cogswell suggests there are three basic levels to learning Python: Learn the core language itself, such as the syntax and basic types (and the difference between Python 2 and Python 3); learn the commonly used modules, and familiarize yourself with other modules; learn the bigger picture of software development with Python, such as including Python in a build process, using the pip package manager, and so on. But is that enough?
Open Source

Open Source Haxe/OpenFL Platform Will Support Home Game Consoles 20 20

lars_doucet writes: At last week's World Wide Haxe conference, a coalition of game developers announced that the open source platform Haxe/OpenFL is coming soon to home game consoles. The first three games that will ship using the technology are Yummy Circus, Defender's Quest (HD edition), and the award-winning Papers, Please. Haxe is a programming language that compiles to other programming languages (everything from C++ to Javascript to Python), has been around for about 10 years and is quite powerful. OpenFL is a hardware-accelerated cross-platform reimplementation of the Flash API, built on top of Haxe (but does not have the Flash player's performance and security limitations and has nothing to do with Adobe), and is built on a low-level cross-platform layer called Lime, which can be used separately for those who have no need for a Flash-like API. This could eventually lead to console compatibility for engines that are built on top of Haxe/OpenFL, such as Away3D, Stencyl, HaxeFlixel, and HaxePunk.

Six console targets are planned: Wii U, PS4, Xbox One, PS Vita, 3DS, and PS3; footage of demos running on the Wii U was presented at the talk and are included in the linked article.
Media

MediaGoblin 0.8.0 "A Gallery of Fine Creatures" Released 32 32

paroneayea writes: GNU MediaGoblin has released version 0.8.0 dubbed "A Gallery of Fine Creatures". This release includes a number of improvements including an upgrade to GStreamer 1.0, improved video thumbnailing, and preliminary Python 3 support. Additionally, an improved Social API support making use of the Pump API means that existing pump.io clients like Pumpa and Dianara are now compatible with MediaGoblin. This coincides with work underway by MediaGoblin developers working with the W3C Social Working Group to build a general federation standard, of which a draft submission to the group is already in progress.
Programming

C Code On GitHub Has the Most "Ugly Hacks" 264 264

itwbennett writes: An analysis of GitHub data shows that C developers are creating the most ugly hacks — or are at least the most willing to admit to it. To answer the question of which programming language produces the most ugly hacks, ITworld's Phil Johnson first used the search feature on GitHub, looking for code files that contained the string 'ugly hack'. In that case, C comes up first by a wide margin, with over 181,000 code files containing that string. The rest of the top ten languages were PHP (79k files), JavaScript (38k), C++ (22k), Python (19k), Text (11k), Makefile (11k), HTML, (10k), Java (7k), and Perl (4k). Even when controlling for the number of repositories, C wins the ugly-hack-athon by a landslide, Johnson found.
Programming

Is It Worth Learning a Little-Known Programming Language? 267 267

Nerval's Lobster writes: Ask a group of developers to rattle off the world's most popular programming languages, and they'll likely name the usual suspects: JavaScript, Java, Python, Ruby, C++, PHP, and so on. Ask which programming languages pay the best, and they'll probably list the same ones, which makes sense. But what about the little-known languages and skill sets (Dice link) that don't leap immediately to mind but nonetheless support some vital IT infrastructure (and sometimes, as a result, pay absurdly well)? is it worth learning a relatively obscure language or skill set, on the hope that you can score one of a handful of well-paying jobs that require it? The answer is a qualified yes—so long as the language or skill set in question is clearly on the rise. Go, Swift, Rust, Julia and CoffeeScript have all enjoyed rising popularity, for example, which increases the odds that they'll remain relevant for at least the next few years. But a language without momentum behind it probably isn't worth your time, unless you want to learn it simply for the pleasure of learning something new.
Security

USBKill Transforms a Thumb Drive Into an "Anti-Forensic" Device 288 288

Orome1 writes with a snippet from a report at net-security.org; a hacker going by Hephaestos has shared with the world a Python script that, when put on an USB thumb drive, turns the device in an effective kill switch for the computer to which it's plugged in. USBkill, as the programmer dubbed it, "waits for a change on your USB ports, then immediately kills your computer." The device would be useful "in case the police comes busting in, or steals your laptop from you when you are at a public library," Hephaestos explained.
Open Source

Getting Started Developing With OpenStreetMap Data 39 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.
Education

No Film At 11: the Case For the Less-Video-Is-More MOOC 87 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!"
Open Source

How Device Drivers Are Reverse Engineered 27 27

An anonymous reader writes: Linux Voice magazine has published a long article about how people go about reverse engineering drivers for hardware peripherals. They use Python and a USB radio-controlled car to demonstrate, walking us through the entire process. It's a cool, easy-to-follow insight into what often seems to be a rather opaque process.
Security

Ex-NSA Researcher Claims That DLL-Style Attacks Work Just Fine On OS X 93 93

An anonymous reader writes Ex-NSA and NASA researcher Patrick Wardle claims to have developed a reliable technique of Shared Library replacement which renders Apple's OSX operating system just as vulnerable to exploitation as Windows has been (via its 'DLL' shared libraries) for years. Speaking at CanSecWest, Wardle explained that Apple's refusal to encrypt software downloads via its App Store allows an attacker on the same network to inject a malicious 'dylib' (shared library) without altering the hash of the legitimate-but-vulnerable software, thereby leaving the Developer ID signature intact. Wardle ran a crafted Python script on a typical Mac and discovered 150 dylib-dependent applications, including Apple's own Xcode developer environment — revealed last week by Edward Snowden to be a priority target for the NSA due to its ability to propagate compromised software.
Businesses

Ask Slashdot - Breaking Into Penetration Testing At 30 205 205

An anonymous reader writes I currently work for a small IT MPS in the Southern USA. Recently, my boss approached me about offering security evaluation and penetration testing to customers in our area due to the increasing number of regulations companies area are having to meet. My role in the company is that of a proactive systems administrator. I have strong troubleshooting skills, a moderate knowledge of Linux, and a strong grasp on Windows systems. My working knowledge of networks is a bit rusty, but I've started working on my CCNA again, and skill/knowledge of any kind of programming language is extremely lacking as I have slacked off in that department. However, I've been working with Powershell scripting, and have picked up some resources on Python. Where would a guy like me start? What can I do, as far as personal development, to give me a shot at building this "new department" within my company? Am I beyond hope?
Communications

Developers Disclose Schematics For 50-1000 MHz Software-Defined Transceiver 135 135

Bruce Perens writes Chris Testa KD2BMH and I have been working for years on a software-defined transceiver that would be FCC-legal and could communicate using essentially any mode and protocol up to 1 MHz wide on frequencies between 50 and 1000 MHz. It's been discussed here before, most recently when Chris taught gate-array programming in Python. We are about to submit the third generation of the design for PCB fabrication, and hope that this version will be salable as a "developer board" and later as a packaged walkie-talkie, mobile, and base station. This radio is unique in that it uses your smartphone for the GUI, uses apps to provide communication modes, contains an on-board FLASH-based gate-array and a ucLinux system. We intend to go for FSF "Respects Your Freedom" certification for the device. My slide show contains 20 pages of schematics and is full of ham jargon ("HT" means "handi-talkie", an old Motorola product name and the hams word for "walkie talkie") but many non-hams should be able to parse it with some help from search engines. Bruce Perens K6BP
Programming

Nim Programming Language Gaining Traction 520 520

An anonymous reader writes: Nim is a young, statically typed programming language that has been getting more attention recently. See these articles for an introduction: What is special about Nim?, What makes Nim practical? and How I Start: Nim. The language offers a syntax inspired by Python and Pascal, great performance and C interfacing, and powerful metaprogramming capabilities. The author of "Unix in Rust" just abandoned Rust in favor of Nim and some early-adopter companies are starting to use it as well.
Programming

JavaScript, PHP Top Most Popular Languages, With Apple's Swift Rising Fast 192 192

Nerval's Lobster writes Developers assume that Swift, Apple's newish programming language for iOS and Mac OS X apps, will become extremely popular over the next few years. According to new data from RedMonk, a tech-industry analyst firm, Swift could reach that apex of popularity sooner rather than later. While the usual stalwarts—including JavaScript, Java, PHP, Python, C#, C++, and Ruby—top RedMonk's list of the most-used languages, Swift has, well, swiftly ascended 46 spots in the six months since the firm's last update, from 68th to 22nd. RedMonk pulls data from GitHub and Stack Overflow to create its rankings, due to those sites' respective sizes and the public nature of their data. While its top-ranked languages don't trade positions much between reports, there's a fair amount of churn at the lower end of the rankings. Among those "smaller" languages, R has enjoyed stable popularity over the past six months, Rust and Julia continue to climb, and Go has exploded upwards—although CoffeeScript, often cited as a language to watch, has seen its support crumble a bit.
Software

Lab Samples Database "JuliaBase" Published As Open Source 27 27

First time accepted submitter bronger writes After six years of closed-source development, the Research Centre Jülich published its database solution for laboratory samples and processes as open source, while continuing maintaining it. JuliaBase is a framework written in Python/Django that enables research institution or research group to set up browser-based samples tracking and measurement management easily. Next to Bika and LabLey, this is one of the very few open source LIMS systems, and in contrast to the others, not specialized in biomedicine or service labs.
The Military

US Army Releases Code For Internal Forensics Framework 37 37

An anonymous reader writes: The U.S. Army Research Laboratory in Maryland has released on GitHub a version of a Python-based internal forensics tool which the army itself has been using for five years. Dshell is a Linux-based framework designed to help investigators identify and examine compromised IT environments. One of the intentions of the open-sourcing of the project is to involve community developers in the creation of new modules for the framework. The official release indicates that the version of Dshell released to Github is not necessarily the same one that the Army uses, or at least that the module package might be pared down from the Army-issued software.
Programming

Justified: Visual Basic Over Python For an Intro To Programming 648 648

theodp writes ICT/Computing teacher Ben Gristwood justifies his choice of Visual Basic as a programming language (as a gateway to other languages), sharing an email he sent to a parent who suggested VB was not as 'useful' as Python. "I understand the popularity at the moment of the Python," Gristwood wrote, "however this language is also based on the C language. When it comes to more complex constructs Python cannot do them and I would be forced to rely on C (which is incredibly complex for a junior developer) VB acts as the transition between the two and introduces the concepts without the difficult conventions required. Students in Python are not required to do things such as declare variables, which is something that is required for GCSE and A-Level exams." Since AP Computer Science debuted in 1984, it has transitioned from Pascal to C++ to Java. For the new AP Computer Science Principles course, which will debut in 2016, the College Board is leaving the choice of programming language(s) up to the teachers. So, if it was your call, what would be your choice for the Best Programming Language for High School?
Programming

Learn Gate-Array Programming In Python and Software-Defined Radio 51 51

Bruce Perens writes Chris Testa KB2BMH taught a class on gate-array programming the SmartFusion chip, a Linux system and programmable gate-array on a single chip, using MyHDL, the Python Hardware Design Language to implement a software-defined radio transceiver. Watch all 4 sessions: 1, 2, 3, 4. And get the slides and code. Chris's Whitebox hardware design implementing an FCC-legal 50-1000 MHz software-defined transceiver in Open Hardware and Open Source, will be available in a few months. Here's an Overview of Whitebox and HT of the Future. Slashdot readers funded this video and videos of the entire TAPR conference. Thanks!"
China

What Language Will the World Speak In 2115? 578 578

An anonymous reader writes: Throughout human history, different languages have emerged and died, waxed and waned in relative importance, evolved, and spread to new locales. An article in the Wall Street Journal considers what languages the world will speak a hundred years from now. Quoting: "Science fiction often presents us with whole planets that speak a single language, but that fantasy seems more menacing here in real life on this planet we call home—that is, in a world where some worry that English might eradicate every other language. That humans can express themselves in several thousand languages is a delight in countless ways; few would welcome the loss of this variety.

Some may protest that it is not English but Mandarin Chinese that will eventually become the world's language, because of the size of the Chinese population and the increasing economic might of their nation. But that's unlikely. For one, English happens to have gotten there first. It is now so deeply entrenched in print, education and media that switching to anything else would entail an enormous effort. We retain the QWERTY keyboard and AC current for similar reasons. ... Yet more to the point, by 2115, it's possible that only about 600 languages will be left on the planet as opposed to today's 6,000. Japanese will be fine, but languages spoken by smaller groups will have a hard time of it."