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

General Development Archive

Improving Facebook performance on Android with FlatBuffers

The Facebook application for Android isn't exactly, shall we say, best-in-class for a multitude of reasons, but at least Facebook is trying to improve it. This is their latest effort.

In our exploration of alternate formats, we came across FlatBuffers, an open source project from Google. FlatBuffers is an evolution of protocol buffers that includes object metadata, allowing direct access to individual subcomponents of the data without having to deserialize the entire object (in this case, a tree) up front.

Might be useful for other Android developers as well.

The web is getting its bytecode: WebAssembly

But the people calling for a bytecode for the browser never went away, and they were never entirely wrong about the perceived advantages. And now they're going to get their wish. WebAssembly is a new project being worked on by people from Mozilla, Microsoft, Google, and Apple, to produce a bytecode for the Web.

WebAssembly, or wasm for short, is intended to be a portable bytecode that will be efficient for browsers to download and load, providing a more efficient target for compilers than plain JavaScript or even asm.js. Like, for example, .NET bytecode, wasm instructions operate on native machine types such as 32-bit integers, enabling efficient compilation. It's also designed to be extensible, to make it easy to add, say, support for SIMD instruction sets like SSE and AVX.

A very small C interpreter for scripting

PicoC is a very small C interpreter for scripting. It was originally written as a script language for a UAV's on-board flight system. It's also very suitable for other robotic, embedded and non-embedded applications.

The core C source code is around 3500 lines of code. It's not intended to be a complete implementation of ISO C but it has all the essentials. When compiled it only takes a few k of code space and is also very sparing of data space. This means it can work well in small embedded devices. It's also a fun example of how to create a very small language implementation while still keeping the code readable.

Announcing Rust 1.0

Today we are very proud to announce the 1.0 release of Rust, a new programming language aiming to make it easier to build reliable, efficient systems. Rust combines low-level control over performance with high-level convenience and safety guarantees. Better yet, it achieves these goals without requiring a garbage collector or runtime, making it possible to use Rust libraries as a "drop-in replacement" for C. If you'd like to experiment with Rust, the "Getting Started" section of the Rust book is your best bet (if you prefer to use an e-reader, Pascal Hertleif maintains unofficial e-book versions as well).

‘Enlightened’

I work for a certain corporation which uses a certain product. This is its story. To put the quality of this product into perspective, let me say it's been in development for about 20 years and has pretty much no users (besides my corp and some "hey - let's make our own Linux crappy distro, which no one will ever use" fanatics) and no community. It was written by a C programmer who "doesn't like the notion of 'type' in programming". Let that be a prelude of what's to follow. Envy those who don't know it; pity those who use it.

The product is called Enlightenment Foundation Libraries and it's the absolutely worst piece of shit software you can imagine.

Poor Tizen.

Redacted for Mac launch

My dislike for application stores, the race to the bottom they enabled, and the myth of it being a great way for small developers to make it big is well-documented at OSNews, so yeah, I couldn't pass up this story (don't click the link yet!). Developer Sam Soffes released an interesting application on the Mac App Store, and when he looked at how well his application as doing later that day, he was in for a shock.

For launch, the price was $4.99. I may play with that some over time. I was originally thinking $2.99 and a bunch of folks on Twitter said $4.99 was better. Anyway, Redacted was #8 top paid in the US and #1 top paid in Graphics at the end of launch day. It was also at the top of Product Hunt with 538 up votes! Wow!

This sounds amazing, right? Surely, this is a story of an indie developer making it big, becoming a millionaire overnight. Good feels were had all around, right?

Now read the post.

The greatest program ever written

I'm a programmer. I write games. Games programmers get a lot of respect, but none of them, not me, not Carmak, and not Abrash. None of them deserve the honour which I want to bestow on David Horne. This is because David Horne wrote the greatest program ever written: 1k chess on the ZX81.

David Horne is not an urban myth. David Horne achieved what many would even now consider impossible. He wrote a chess game, with AI, that ran on a poorly documented, buggy machine that contained only 1k of memory.

Sometimes I feel like these kinds of programmers are a dying breed.

Hollywood 6.0 released

Hollywood 6.0 has been released. Since I'm not so sure most of you know what it is, here's the official description.

Hollywood is a multimedia-oriented programming language that can be used to create graphical applications very easily. It was designed with the paradigm to make software creation as easy as possible in mind. Thus, Hollywood is suited for beginners and advanced users alike. Hollywood comes with an extensive function library (encompassing almost 700 different commands) that simplifies the creation of 2D games, presentations, and applications, to a great extent. It has been in development since 2002 and hence is today a very mature and stable software package.

“Silver” brings Swift language to the .NET and Java worlds

While we're on the subject of Swift:

Fans of Apple's Swift language can now use their newly developed skills to write software for systems supporting both .NET and Java, including Android.

The Silver compiler, currently in beta, compiles Swift programs to run in the .NET and Java runtimes. It can also produce native binaries to run on OS X. With Silver, Swift developers can share their business logic and non-interface code across the different platforms.

It's a bit of an Apple news day today, isn't it?

Go 1.4 released

Today we announce Go 1.4, the fifth major stable release of Go, arriving six months after our previous major release Go 1.3. It contains a small language change, support for more operating systems and processor architectures, and improvements to the tool chain and libraries. As always, Go 1.4 keeps the promise of compatibility, and almost everything will continue to compile and run without change when moved to 1.4.

Half a decade with Go

Five years ago we launched the Go project. It seems like only yesterday that we were preparing the initial public release: our website was a lovely shade of yellow, we were calling Go a "systems language", and you had to terminate statements with a semicolon and write Makefiles to build your code. We had no idea how Go would be received. Would people share our vision and goals? Would people find Go useful?

Congratulations to the Go community and team.

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.