Keep OSNews alive by becoming a Patreon, by donating through Ko-Fi, or by buying merch!

General Development Archive

Canonical Proposes LXD: A Next-generation Hypervisor

Take all the speed and efficiency of docker, and turn it into a full virtualisation experience. That's the goal of Canonical's new initiative to create the next big hypervisor around Linux container technologies. Imagine you could launch a new machine in under a second, and that you could launch hundreds of them on a single server. Hundreds! Now, imagine that you have hardware-guaranteed security to ensure that those machines can’t pry or spy on one another. Imagine you can connect them separately and securely to networks. And imagine that you can run that on a single node or a million, live migrate machines between those nodes, and talk to all of it through a clean, extensible REST API. That’s what LXD sets out to deliver. Update: a bit more about LXD from Dustin Kirkland.

Building a new programming language for games

Earlier this week, coder and game designer Jonathan Blow gave a presentation on his Twitch channel outlining his thoughts on why and how programmers might go about building a new programming language specifically for game development.

"We are literally killing ourselves every project, deathmarching to get games done," said Blow, during a Q&A segment. "It just really doesn't have to be anywhere near that bad -- at least for programmers."

Arment on ‘app rot’

We've touched on this topic several times already - most recently only a few days ago: the application store model is facing some serious issues at the moment, to the heavy detriment of users and developers alike. If you don't want to take my word for it - and really, you shouldn't, as you should make up your own mind - Marco Arment has written a great summary of all the problems the application store model is facing, with a lot of quotes from other sources to come to a good overview.

Apple's App Store design is a big part of the problem. The dominance and prominence of "top lists" stratifies the top 0.02% so far above everyone else that the entire ecosystem is encouraged to design for a theoretical top-list placement that, by definition, won't happen to 99.98% of them. Top lists reward apps that get people to download them, regardless of quality or long-term use, so that's what most developers optimize for. Profits at the top are so massive that the promise alone attracts vast floods of spam, sleaziness, clones, and ripoffs.

Quality, sustainability, and updates are almost irrelevant to App Store success and usually aren't rewarded as much as we think they should be, and that's mostly the fault of Apple's lazy reliance on top lists instead of more editorial selections and better search.

And:

As the economics get tighter, it becomes much harder to support the lavish treatment that developers have given apps in the past, such as full-time staffs, offices, pixel-perfect custom designs of every screen, frequent free updates, and completely different iPhone and iPad interfaces.

The application store model is under serious pressure.

Exploring Swift using GPUImage

Steven Troughton-Smith points to an article by Brad Larson:

I always find it more effective to learn new programming concepts by building projects using them, so I decided to do the same for Apple's new Swift language. I also wanted to see how well it would interact with my open source GPUImage framework. As a result, I made GPUImage fully Swift-compatible and I've built and committed to the GitHub repository a couple of Swift sample applications. I wanted to write down some of the things that I learned when building these.

It's interesting to see programmers get their hands dirty with what most likely will be the way forward for iOS developers.

The microg Project

The μg Project aims to provide a free, fully compatible replacement of the often used proprietary GAPPS package by Google.

Very little information is available at this point, but I've always wondered why nobody ever tried to create open source replacements for the various Google Apps - most notably Google Play Services. This is clearly in its very early stages, but it'd be fantastic if we could one day have a drop-in replacement for Play Services, ensuring you could have a truly Google-free Android device while still being able to run applications that use the Play Services APIs.

Full-motion video on a 1981 IBM PC

I gave a talk in 2007 that explained 8088 Corruption in detail, and in that talk I explained that displaying FMV using CGA in graphics mode would be impossible. This is because CGA graphics mode uses 8x the amount of video memory that 8088 Corruption was handling. Even a simple calculation assuming 24fps video reveals that the amount of data needing to be updated per second (24fps * 16KB = 384KB/s) is outside of the IBM PC's capability: CGA RAM can only be changed at a rate of 240KB/s, and most hard drives of the era operate at roughly 90KB/s. It sure felt impossible, so that's why I said it.

Then I thought about the problem for 7 years.

This is amazing. I also have no idea under which category to file this, but I settled for this one.

The desktop and the developer

I was at the OpenStack Summit this week. The overwhelming majority of OpenStack deployments are Linux-based, yet the most popular laptop vendor (by a long way) at the conference was Apple. People are writing code with the intention of deploying it on Linux, but they're doing so under an entirely different OS.

But what's really interesting is the tools they're using to do so. When I looked over people's shoulders, I saw terminals and a web browser. They're not using Macs because their development tools require them, they're using Macs because of what else they get - an aesthetically pleasing OS, iTunes and what's easily the best trackpad hardware/driver combination on the market. These are people who work on the same laptop that they use at home. They'll use it when they're commuting, either for playing videos or for getting a head start so they can leave early. They use an Apple because they don't want to use different hardware for work and pleasure.

Apple's laptops are still the best PCs money can buy at the moment (despite their horribly outdated displays). It's no wonder Linux developers, too, favour them.

(Ab)using language features: Common Lisp condition system

The hardest thing about learning a new programming language is that there are usually at least one or two novel features that break the mold of our current mental framework. If not, the language may not be worth learning in the first place.

So, given that learning new languages can be challenging, I would like to share a tip that has served me well over the years.

One of the best ways to really understand a new or novel language feature is to think of ways to twist and abuse it.

Three possible replacements for Fortran

A large research project in the physical sciences usually involves experimenters, theorists, and people carrying out calculations with computers. There are computers and terminals everywhere. Some of the people hunched over these screens are writing papers, some are analyzing data, and some are working on simulations. These simulations are also quite often on the cutting edge, pushing the world’s fastest supercomputers, with their thousands of networked processors, to the limit. But almost universally, the language in which these simulation codes are written is Fortran, a relic from the 1950s.

Ars looks at three possible replacements for Fortran.

‘Programming sucks’

Every programmer occasionally, when nobody's home, turns off the lights, pours a glass of scotch, puts on some light German electronica, and opens up a file on their computer. It's a different file for every programmer. Sometimes they wrote it, sometimes they found it and knew they had to save it. They read over the lines, and weep at their beauty, then the tears turn bitter as they remember the rest of the files and the inevitable collapse of all that is good and true in the world.

This file is Good Code.

StillDrinking writes on the torment of being a programmer.

Fifty years of BASIC

I find the "everybody should learn to code" movement laudable. And yet it also leaves me wistful, even melancholy. Once upon a time, knowing how to use a computer was virtually synonymous with knowing how to program one. And the thing that made it possible was a programming language called BASIC.

Invented by John G. Kemeny and Thomas E. Kurtz of Dartmouth College in Hanover, New Hampshire, BASIC was first successfully used to run programs on the school's General Electric computer system 50 years ago this week - at 4 a.m. on May 1, 1964, to be precise.

It's the only programming language I was ever somewhat proficient in (when I was about six years old). I never moved beyond it, and now, I know nothing about programming. BASIC has played a huge role in the history of computing, and its birthday deserves to be a thing.

Android development articles for iOS developers

The online magazine objc.io has a new issue up - focusing on Android instead of iOS and OS X.

Admittedly, this started out as an April Fools' joke. But we quickly realized that we actually could make a really good issue about this. After all, it's interesting to Objective-C developers to learn something about what development on the other major mobile platform is like, as well as what we can learn from it.

A set of articles of specific interest to iOS developers wishing to get their toes wet on Android development. No politics, just code.

Enyo introduces Moonstone, Spotlight, Enyo 2.4

The webOS Enyo team has released Moonstone (UI) and Spotlight (user interaction) libraries as part of a new webOS TV SDK>, powering the next generation of LG Smart TV. There is also a new version of Enyo coming (2.4).

While Moonstone and Spotlight are certainly highlights of Enyo 2.4, you may be just as interested in the robust new data-layer support you’ll find in this release. Enyo 2.4 has support for observers, one- and two-way bindings, computed properties, models and collections, and a set of new data-aware UI controls.

Google Dart target: Chrome soon! Other browsers… Someday

Google believes Dart speeds up both developers and the programs they write, but skeptics worry that it fragments Web programming and undermines the industry's focus on better JavaScript. So far, it's been a largely academic debate, but that will change in coming months.

That's because Google right now is building Dart technology directly into Chrome.

Does anyone here use Dart?

OpenZFS launch announcement

ZFS is the world's most advanced filesystem, in active development for over a decade. Recent development has continued in the open, and OpenZFS is the new formal name for this open community of developers, users, and companies improving, using, and building on ZFS. Founded by members of the Linux, FreeBSD, Mac OS X, and illumos communities, including Matt Ahrens, one of the two original authors of ZFS, the OpenZFS community brings together over a hundred software developers from these platforms.

ZFS plays a major role in Solaris, of course, but beyond that, has it found other major homes? In fact, now that we're at it, how is Solaris doing anyway?