×
Python

Open-Source Python Code Shows Lowest Defect Density 187

cold fjord sends news that a study by Coverity has found open-source Python code to contain a lower defect density than any other language. "The 2012 Scan Report found an average defect density of .69 for open source software projects that leverage the Coverity Scan service, as compared to the accepted industry standard defect density for good quality software of 1.0. Python's defect density of .005 significantly surpasses this standard, and introduces a new level of quality for open source software. To date, the Coverity Scan service has analyzed nearly 400,000 lines of Python code and identified 996 new defects — 860 of which have been fixed by the Python community."
Python

Researchers Reverse-Engineer Dropbox, Cracking Heavily Obfuscated Python App 242

rjmarvin writes "Two developers were able to successfully reverse-engineer Dropbox to intercept SSL traffic, bypass two-factor authentication and create open-source clients. They presented their paper, 'Looking inside the (Drop) box' (PDF) at USENIX 2013, explaining step-by-step how they were able to succeed where others failed in reverse-engineering a heavily obfuscated application written in Python. They also claimed the generic techniques they used could be applied to reverse-engineer other Frozen python applications: OpenStack, NASA, and a host of Google apps, just to name a few..."
Python

Interviews: Guido van Rossum Answers Your Questions 169

Last week you had a chance to ask Guido van Rossum, Python's BDFL (Benevolent Dictator For Life), about all things Python and his move to Dropbox. Guido wasted no time answering your questions and you'll find his responses below.
Python

Interviews: Q&A With Guido van Rossum 242

Guido van Rossum is best known as the creator of Python, and he remains the BDFL (Benevolent Dictator For Life) in the community. The recipient of many awards for his work, and author of numerous books, he left Google in December and started working for Dropbox early this year. A lot has happened in the 12 years since we talked to Guido and he's agreed to answer your questions. As usual, ask as many as you'd like, but please, one question per post.
Programming

How One Programmer Is Coding Faster By Voice Than Keyboard 214

mikejuk writes "Is it possible that we have been wasting our time typing programs. Could voice recognition, with a little help from an invented spoken language, be the solution we didn't know we needed? About two years ago Tavis Rudd, developed a bad case of RSI caused by typing lots of code using Emacs. It was so severe that he couldn't code. As he puts it: 'Desperate, I tried voice recognition'. The Dragon Naturally Speaking system used by Rudd supported standard language quite well, but it wasn't adapted to program editing commands. The solution was to use a Python speech extension, DragonFly, to program custom commands. OK, so far so good, but ... the commands weren't quite what you might have expected. Instead of English words for commands he used short vocalizations — you have to hear it to believe it. Now programming sounds like a conversation with R2D2. The advantage is that it is faster and the recognition is easier — it also sounds very cool and very techie. it is claimed that the system is faster than typing. So much so that it is still in use after the RSI cleared up."
KDE

KDE Software Compilation 4.11 Released 99

jrepin writes "The KDE community has released version 4.11 of Software Compilation, which is dedicated to the memory of Atul 'toolz' Chitnis, a great Free and Open Source Software champion from India. This version of Plasma Workspaces will be supported for at least two years, and delivers further improvements to basic functionality with a smoother taskbar, smarter battery widget and improved sound mixer. The introduction of KScreen brings intelligent multi-monitor handling. KWin window manager incorporates first experimental support for Wayland. This release marks massive improvements in the Kontact PIM suite, giving much better performance and many new features, like scam detection and scheduling e-mail sending. Kate text editor improves the productivity of Python and Javascript developers with new plugins, Dolphin file manager became faster, and the educational applications bring various new features. The Nepomuk semantic storage and search engine received substantial performance improvements." The performance enhancements to nepomuk (KDE's semantic desktop engine) are particularly welcome. This release of the Plasma desktop also marks the end of Plasma version one; primary development focus will now switch to updating KDE for Qt 5. There should still be more updates to KDE 4, however. Also released recently by the KDE team was the first RC of Plasma Media Center 1.1.
Programming

Video Ingy döt Net Tells How Acmeism Bridges Gaps in the Software World (Video) Screenshot-sm 164

Ingy döt Net (yes, that's his name) likes to bridge gaps in the software world. People get religious about their favorite programming languages, he says, but in the end, no matter the language, the methodology or the underlying OS, all programming is about telling computers what to do -- from "add these numbers" to complex text manipulation. Ingy compares a new app or module in the world of Free and Open Source as a gift that the creator has given to others; if that gift can be simultaneously bestowed on users of Perl, Python, and Ruby at the same time, its worth is amplified. So he proposes (and provides a growing set of tools) to make programming language irrelevant, by the sly means of encouraging people to write software using whatever their favorite tools are, but with a leaning toward using only language features which are broadly available to *other* programming languages as well. He's adopted the term Acmeism to describe this approach; Acmeists who follow his lead strive to create software that is broadly re-useable and adaptable, rather than tied only to a single platform.
Space

DIY Satellite Tracking 30

Travis Goodspeed has authored a blog post detailing his method of tracking low-earth-orbit satellites. Starting with an old Felcom 82B dish made for use on maritime vessels, he added motors to move it around and a webcam-based homemade calibration system. "For handling the radio input and controlling the motors, I have a BeagleBone wired into a USB hub. These are all mounted on the trunk of the assembly inside of the radome, sending data back to a server indoors. ... In order to operate the dish, I wanted both a flashy GUI and concise scripting, but scripting was the higher priority. Toward that end, I constructed the software as a series of daemons that communicate through a PostgreSQL database on a server inside the house. For example, I can run SELECT * FROM sats WHERE el>0 to select the names and positions of all currently tracked satellites that are above the horizon. To begin tracking the International Space Station if it is in view, I run UPDATE target SET name='ISS';. For predicting satellite locations, I wrote a quick daemon using PyEphem that fetches satellite catalog data from CelesTrak. These positions are held in a database, with duplicates filtered out and positions constantly updated. PyEphem is sophisticated enough to predict in any number of formats, so it's easy to track many of the brighter stars as well as planets and deep-space probes, such as Voyagers 1 and 2."
Space

Evolution of AI Interplanetary Trajectories Reaches Human-Competitive Levels 52

New submitter LFSim writes "It's not the Turing test just yet, but in one more domain, AI is becoming increasingly competitive with humans. This time around, it's in interplanetary trajectory optimization. From the European Space Agency comes the news that researchers from its Advanced Concepts Team have recently won the Gold 'Humies' award for their use of Evolutionary Algorithms to design a spacecraft's trajectory for exploring the Galilean moons of Jupiter (Io, Europa, Ganymede and Callisto). The problem addressed in the awarded article (PDF) was put forward by NASA/JPL in the latest edition of the Global Trajectory Optimization Competition. The team from ESA was able to automatically evolve a solution that outperforms all the entries submitted to the competition by human experts from across the world. Interestingly, as noted in the presentation to the award's jury (PDF), the team conducted their work on top of open-source tools (PaGMO / PyGMO and PyKEP)."
Education

Eben Upton Muses on the Raspberry Pi, Scratch and, His Love For Parallela 71

super_rancid writes "In a 7,000 word interview with Raspberry Pi's founder posted on TuxRadar.com, Eben Upton talks about the challenges of managing such a successful project, what may be in the Raspberry Pi mark 2, and why he wishes he'd backed the Parallela Kickstarter." On interesting answer: "We were thinking of booting into Python or booting into Scratch. For younger kids, boot into Scratch. Have an environment where it’s Linux underneath, boots into Scratch and hold down a key at a particular point during boot and it doesn’t boot into Scratch it just drops into the prompt. So you can play with Scratch for six months, once you’re happy with Scratch you turn over the page and 'Hold down F1 during boot,' and it’s like 'Oh look - it’s a PC!' So I think that’s something we’d really like to do."
Programming

Why JavaScript On Mobile Is Slow 407

An anonymous reader writes "Drew Crawford has a good write up of the current state of JavaScript in mobile development, and why the lack of explicit memory handling (and a design philosophy that ignores memory issues) leads to massive garbage collection overhead, which prevents HTML5/JS from being deployed for anything besides light duty mobile web development. Quoting: 'Here’s the point: memory management is hard on mobile. iOS has formed a culture around doing most things manually and trying to make the compiler do some of the easy parts. Android has formed a culture around improving a garbage collector that they try very hard not to use in practice. But either way, everybody spends a lot of time thinking about memory management when they write mobile applications. There’s just no substitute for thinking about memory. Like, a lot. When JavaScript people or Ruby people or Python people hear "garbage collector," they understand it to mean "silver bullet garbage collector." They mean "garbage collector that frees me from thinking about managing memory." But there’s no silver bullet on mobile devices. Everybody thinks about memory on mobile, whether they have a garbage collector or not. The only way to get "silver bullet" memory management is the same way we do it on the desktop–by having 10x more memory than your program really needs.'"
Programming

Modeling How Programmers Read Code 115

An anonymous reader writes "Following up on an experiment from December, Michael Hansen has recorded video of programmers of varying skill levels as the read and evaluate short programs written in Python. An eye tracker checks 300 times per second to show what they look at as they mentally digest the script. You can see some interesting differences between experts and beginners: 'First, Eric's eye movements are precise and directed from the beginning. He quickly finds the first print statement and jumps back to comprehend the between function. The novice, on the other hand, spends time skimming the whole program first before tackling the first print. This is in line with expectations, of course, but it's cool to see it come out in the data. Another thing that stands out is the pronounced effect of learning in both videos. As Eric pointed out, it appears that he "compiled" the between function in his head, since his second encounter with it doesn't require a lengthy stop back at the definition. The novice received an inline version of the same program, where the functions were not present. Nevertheless, we can see a sharp transition in reading style around 1:30 when the pattern has been recognized.'"
Portables

Progress On the Open Laptop 57

An anonymous reader writes "Last October, we discussed Andrew 'bunnie' Huang's effort to build a complete open hardware laptop, called the Novena. bunnie has now posted a progress report on the laptop's design and construction, showing the latest revision of the board, the display, and a hack to use it as a secure router. bunnie says, 'At the end of the day, we're having fun building the laptop we always wanted — it's now somewhere between a python-scriptable oscilloscope, logic analyzer, and a laptop. I think it will be an indispensable tool for hacking, particularly for doing signal analysis which requires coordination across multiple protocol layers, complex trigger conditions and/or feedback stimulus loops. As for the inevitable question about if these will be sold, and for how muchonce we're done building the system (and, "done" is a moving target — really, the whole idea is this is continuously under development and improving) I'll make it available to qualified buyers. Because it's open-source and a bit quirky, I'm shy on the idea of just selling it to anyone who comes along wanting a laptop. I'm worried about buyers who don't understand that "open" also means a bit of DIY hacking to get things working, and that things are continuously under development."
Space

Iain M. Banks Gets Asteroid Named After Him 30

Charliemopps writes "On June 23rd, 2013, asteroid (5099) was officially named Iainbanks by the IAU, and will be referred to as such for as long as Earth Culture may endure. The official citation reads, 'Iain M. Banks (1954-2013) was a Scottish writer best known for the Culture series of science fiction novels; he also wrote fiction as Iain Banks. An evangelical atheist and lover of whiskey, he scorned social media and enjoyed writing music. He was an extra in Monty Python & The Holy Grail.'"
Cloud

CERN Testing Cloud For Crunching the Universe's Secrets 67

Nerval's Lobster writes "The European Organization for Nuclear Research (known as CERN) requires truly epic hardware and software in order to analyze some of the most epic questions about the nature of the universe. While much of that computing power stems from a network of data centers, CERN is considering a more aggressive move to the cloud for its data-crunching needs. To that end, CERN has partnered with Rackspace on a hybrid cloud built atop OpenStack, an open-source Infrastructure-as-a-Service (IaaS) platform originally developed by Rackspace as part of a joint effort with NASA. Tim Bell, leader of CERN's OIS Group within its IT department, suggested in an interview with Slashdot that CERN and Rackspace will initially focus on simulations—which he characterized as 'putting into place the theory and then working out what the collision will have to look like.' CERN's private cloud will run 15,000 hypervisors and 150,000 virtual machines by 2015—any public cloud will likely need to handle similarly massive loads with a minimum of latency. 'I would expect that there would be investigations into data analysis in the cloud in the future but there is no timeframe for it at the moment,' Bell wrote in a follow-up email. 'The experiences running between the two CERN data centers in Geneva and Budapest will already give us early indications of the challenges of the more data intensive work.' CERN's physicists write their own research and analytics software, using a combination of C++ and Python running atop Linux. 'Complex physics frameworks and the fundamental nature of the research makes it difficult to use off-the-shelf [software] packages,' Bell added."
United Kingdom

Fixing Over a Decade of Missing Computer Programming Education In the UK 117

For around a decade programming was not part of the computer curriculum in the U.K.. Through a lot of hard work from advocates and the industry this will soon change, but a large skills gap still exists. Tim Gurney is just one of many working on closing that gap. His Coding in Schools initiative aims to "work with schools and students and inspire the next generation of computer programmers and software engineers by creating and spearheading schools based programming clubs." I recently sat down with Tim to talk about who's working on the problem and what yet needs to be done. Read below to see what he's doing to change the state of things.
Programming

Dao, a New Programming Language Supporting Advanced Features With Small Runtime 404

New submitter NeoHermit writes "This language (Dao) has never been mentioned on Slashdot before, but it might be interesting to many people here. As it has recently become feature-complete and just made its first beta release, it may be the right time to mention it here. Dao is an optionally-typed programming language that supports many advanced features with a small runtime. The feature list is probably as long as that of Python, but they are supported by a much smaller runtime (somewhere between Lua and Python, but closer to Lua). Besides optional typing, the other major features that worth mentioning include: built-in support for concurrent programming for multicore computers, very friendly C programming interfaces for embedding and extending, a LLVM-based JIT compiler, a Clang-based module for embedding C/C++ codes in Dao, and a Clang-based tool for automatic binding generation from C/C++ header files. You can also see many familiar features from other languages."
Virtualization

Ask Slashdot: Safe Learning Environment For VMs? 212

First time accepted submitter rarkian writes "I am the teacher in this story. I teach Python and C++ to high school students: grades 9-12. I use CentOS 6 with DRBL to run my computer lab. Some of my students have become Linux experts. Next year I'm planning on allowing students to create and run their own VMs in a segregated LAN. Any advice on which virtualization technology to use and security concerns with allowing students to be root in a VM?"
Open Source

Open Source Projects For Beginners 212

itwbennett writes "Whoever said 'everyone has to start somewhere' has clearly never tried contributing to an open source project — the Linux Kernel development team in particular is known for its savagery. But if you're determined to donate your time and talents, there are some things you can do to get off on the right foot. Of course you should pick something you're interested in and that you use. Check, and double check. You should also research the project, learn about the process for contributing, and do your utmost to avoid asking questions that you can find the answers to. But beyond that there are some hallmarks of beginner-friendly open source projects like Drupal, Python, and LibreOffice — namely, a friendly and active community, training and mentorship programs, and a low barrier to entry."

Slashdot Top Deals