I spend a lot of time working remotely, and while I have a decently sized laptop, I often miss having a second monitor. I looked at USB monitors, but then I remembered my old 2014 Galaxy Tab. Could I use it as a second monitor? The answer is: yes!
Digital ads are a disaster. While ads themselves are a legitimate and often necessary source of income for service providers, the way they’re delivered to users can be downright malicious. On mobile devices, ads have been shown to drain battery life and surreptitiously deliver malware, without the content providers even being aware of it. Until content providers can get their act together, it’s up to users to protect themselves.
In this post, I’ll present a convenient, root-free way of blocking ads on Android devices using free and open source tools.
This past week saw the release of PixelMaestro 2.0, and with it, a bunch of fixes to device communication and control. You can now plug in any Arduino-compatible board with an attached LED strip or matrix and start controlling it in a matter of minutes. Not only can you send commands to it in real-time, but you can upload complete configurations and store them in EEPROM for long-term storage, even across reboots. This was possible in previous versions of PixelMaestro, but now it’s even easier.
This post demonstrates some of PixelMaestro’s new device integration features and example sketches.
About a year ago, I started looking into ways to cross-compile Windows applications from within Linux. This brought me to a cool project called MXE (short for M Cross Environment). With MXE, you can use your Linux machine to generate Windows binaries without having to install any virtual machines or compatibility layers. In this post, I’ll walk you through the process of setting up MXE and turning your source code into a Windows program.
While working on the next release of PixelMaestro, I came across a problem of storing long-term data on an Arduino. I have a system in place where configuration changes are sent to an Arduino over USB as byte arrays, and as the Arduino reads the array it applies the changes. The problem is those changes disappear as soon as you restart the device. How, then, does one store persistent data without having to add an SD card or extra memory? Enter EEPROM.
In an earlier post, I explored the idea of productivity gamification and how it can help increase your motivation. I’ve been testing this over the past few weeks by using an Android app called LifeRPG to track my habits, tasks, and important milestones I wanted to reach. In this post, I’ll go into detail about my LifeRPG setup and how it’s helped me stay focused in my everyday life.
In my never-ending (and often misguided) quest to bridge the world of writing and programming, I decided to take a crucial tool from the software world and use it to manage my documents. The result: a powerful (if convoluted) system for drafting and revising documents.
Far below the Web we all know and love, behind the friendly faces of our favorite websites there lies a lurking giant. Many of us know the Web by it’s biggest names – Facebook, Twitter, Google, etc. But what many of us don’t know is that there’s another component to the Web, one that willingly places itself away from the public consciousness. It’s given rise to a platform where people around the world can speak freely without fear of retribution, but it’s also given rise to a platform where people can engage in incredible atrocities outside of the public eye. This mysterious hidden network is known as the Dark Web.
Backups are something most people never think about until it’s too late. Computers can be finicky, and if you value your digital data then you’ll want to have a backup solution in place. This post explores two aspects of backups: the various types of backups, and everyday tools for performing those backups.
Disclaimer: Parts of this guide include instructions that, if misused, could result in data loss. Never run a command without being 100% sure of the outcome!
Installing programs is something most people take for granted. How could it be easier – you simply download an installation file, run it, answer a few prompts, and before you know it you have a fresh new application ready to go. This is fine for a single-user system like a laptop or desktop, but what happens when you want to share that program with someone else, or migrate it – along with its configuration and settings – to a different computer? What if you wanted to do a clean reinstall without having to hunt for scattered or leftover files? Better yet, what if you could run the application in a completely self-contained environment without it affecting your main system? Docker provides a unique way of accomplishing this, and the technology behind it is quickly gaining traction. Continue reading “Contain Your Excitement: Building Portable Apps with Docker”