The Membrane blog: Posts about programming
Tuesday, May 23 2017 22:20 GMT
As more people join the world of modern, high-speed Internet, we've seen the rise of video as the preferred medium for communicating information. Indeed, according to some reports, video will comprise a staggering 82% of internet traffic by 2020. Use of video in place of text certainly has its advantanges, not least of all the ability to capture nonverbal queues helpful for human interaction. However, video also comes with a rather heavy downside in its sheer bulk and general lack of convenient ways to work with it. Managing thousands of text files is a snap for a personal computer and its operator, and the whole file set can be transmitted across the Internet in moments. On the other hand, managing thousands of video files, each of which might have its own quality, encoding standard, and format, quickly becomes a tangled and time-consuming mess. At Membrane Software, we seek better lives through computing, and today we'll look at development screenshots from a software system designed to help those like us: video enthusiasts who crave a convenient archive and retrieval system.
Tuesday, May 09 2017 01:08 GMT
In a previous post, we discussed the concept of electronic devices that act as appliances, with the word "appliance" used to describe our requirement that the device should do its job effectively while maximizing user convenience. Under that guideline, a perfect appliance is one that always does what its user expects and never causes surprises. A simple device such as a toaster has few expectations and rarely finds a way to violate them, but a general purpose machine such as our old friend, the Raspberry Pi, has many possible functions and is therefore more likely to do the unexpected. Luckily for us, however, it's possible to get a Raspberry Pi closer to appliance-like behavior through software. If we take control over the methods by which such a device is able to receive commands, we can, through careful programming, ensure that those commands are always handled in a manner that best reflects the user's intent. Today, we'll look at the first step in programming the Raspberry Pi, which is the same first step we see in any programming project: build and install our target hardware to prepare an environment for development.
Wednesday, April 19 2017 15:14 GMT
As webmasters of the Membrane Software site, it's our duty to deliver so-called "responsive" content: a page arranged in the best way possible for each user's individual device. These days, we can expect more than half of our web requests to come not from old-fashioned desktop PCs, but rather from new-fangled mobile devices. On these devices, we aim to load the page at a text size large enough to be immediately readable, and with a layout that makes most effective use of limited screen space without requiring the user to zoom. But there are still a lot of those desktops out there and our site needs to look good on them, not to mention larger mobile devices like tablets. How do we program a system to appropriately present a single set of content for such a wide range of screen sizes? Today, we'll explore ways to fulfill this unquestionably essential need for our modern web.
Tuesday, March 28 2017 01:12 GMT
The word appliance might conjure images of washing, blending, or garbage disposing gizmos, but in the area of computing we can use the concept to describe a device with the best quality of any appliance in your kitchen: it has one job to do, and does it perfectly every time with the absolute minimum help from you. At Membrane HQ, we have dozens of computing devices performing a wide array of tasks, and treat as many of them as possible like appliances. Raspberry Pi boards, in particular, are extremely useful for this type of work because they're easily programmable and can connect to other devices via Ethernet, module boards, or custom soldering. Armed with a board that can be programmed with arbitrary logic and then put in control of an arbitrary slave device, it's possible to create an appliance for absolutely any task if we put our minds to it. And what with Raspberry Pi boards being so inexpensive, we gain even more desirable appliance-like attributes: we can easily replace one that breaks, and we can get more of them if we have too much work for only one to handle.
Wednesday, January 25 2017 18:27 GMT
Hello, dear reader, and welcome to Membrane Software. As the name of the blog implies, we'll be discussing topics centered around software, and more generally, technology. It's a broad topic for sure, one that can and does fill hundreds of blogs. Two topics in particular are of interest at Membrane Software: video games and programming. If you're someone who's into either or both of those things, I hope you'll find these posts entertaining and informative. And if you're someone who is a maker of software and technology as we are, I hope we can trade some of that good old know-how as we focus on analyzing the creative process.