Every now and then I join a new project and soon enough learn that devs are using some VCS but being incredibly wasteful at doing so. They’ll make some changes, hopefully run tests, build, check, and, if things are good enough, commit. So far, so good, if it weren’t for the fact that they’re also doing a great disservice for their future selves by being careless about what they add to that commit message.
This is a simple regular expression parser in Python. It takes two parameters: a simple regular expression (which I’ll define later) and an input string to match against the regex.
Lately I’ve been working a lot with Celery (not to be confused with this celery) in a somewhat legacy app that was created to gather information on the company’s resources being used by their customers and provide visual feedback on how they’re being used and how much money they’re generating. Gathering such information is quite expensive, as you have to make lots of HTTP calls to different APIs to get all the necessary information the app needs, and this is a great use case for celery - a distributed task queue.
Suppose you just inherited a python script that does some complex/expensive task and prints logging information to STDOUT. I say inherited because if you are writing your own script to do anything, you should really be using the logging module instead of just printing stuff to the terminal.
Actually, don’t do that quite yet, but be aware of an interesting alternative that may come in handy a lot of times, especially when your connection is flaky and unreliable. When SSHing into a remote machine, things will be just fine as long as your connection is snappy and you’re not getting too much output from the server. Once you get disconnected from your VPN, you move between networks (WiFi or mobile), you start lagging behind due to network usage/issues, or you get A LOT of output from your remote server, SSH just doesn’t respond properly.
This is a simple comparison between the full linux timeline versus a timeline of only surviving distros. Several forks happen every so often, but a lot of them don’t survive the crushing force of time. The original image was obtained from this URL and you can see the code used to remove the extinct lines from the SVG file and the results below. Click on the image to turn off the lines for distros that do not currently exist anymore.
This is a quick and dirty guide to get you started with flickrfs on your Raspberry Pi. flickrfs allows you to synchronize the photos on your Flickr account with your hard drive, so you can quickly upload and edit your photos without having to go through their web interface and in a much faster way (if you’re comfortable with using a terminal). If you’re not the type of person who uses CLIs, you can still take advantage of all the syncing or just have a very convenient way of downloading all your photos to your hard drive.
I’ve been working on OpenStack for a little over three months now and it has been a great experience: not only I’m being paid to write code that is used by millions of people, this code is also freely available for people to read and improve as they see fit. Having used opensource software for a long time now, working in an opensource project had been in my checklist of things to do as a developer and it’s been a great pleasure to be able to give it back to the community as my full-time job and fulfill my desire.
This is a quick and dirty guide to setting up your external hard drive with your raspberry pi as a file server.
So you just got your Raspberry Pi and want to get started but remembered you don’t have an extra keyboard, mouse, or even a spare monitor to actually get something done? Well, that’s my case where I only have my laptop available (nope, I don’t own a TV).
Lately at work we’ve been using a combination of vim/tmux to make pair programming a lot easier. This is especially helpful when working remotely or under a crappy internet connection, as you won’t need a lot of bandwidth.