A Lightweight Low-Battery Warning Monitor for GTK+ 3.x desktops

A laptop’s battery gives us the comfort of storing power which we can use later. However, sometimes this comfort turns into pain.  For example, if we take our laptop with us, thinking that it’s charged (but it actually isn’t), or if we leave our laptop powered on and it silently turns off resulting in the loss of valuable work.

It is with this in mind that a programmer developed a simple battery monitor in Python with the following capabilities:

  1. The program should be customizable and lightweight.
  2. It should work in the background without any disturbance.
  3. It can allow the user to set a minimum charge threshold.
  4. Upon reaching that threshold, the program should not only display a desktop notification but also play a sound to force the user to plug in the charger.
  5. When the charger is connected, it should stop the notifications immediately but remain running to watch for future problems.

The program has been tested on Arch, Ubuntu and Mint, so, if this sounds like something you’d be interested in, why not give it a try!

JARVYS, Set It and Forget It Linux Backups

JARVYS_ad_125x125_3

Wouldn’t it be great if there was a cloud based file backup system that put Linux FIRST?  One that made it so we didn’t have to use FUSE?  One that didn’t put out a Windows client first and the Linux client was an afterthought?  One that you could get installed and configured quickly and easily which would allow you to ‘set it and forget it’?  Me too!

Until a few weeks ago…I wasn’t sure something like that existed.  Then I was approached by the founders of JARVYS, a backup software solution that does just that.  I had a chance to interview Cade Proulx and Matt Connor of JARVYS to understand a bit more about how it works, where it is headed, and why its perfect for those of us who develop on Linux.  I’d like to disclose that JARVYS is a sponsor of this blog.

Q:  Tell us a little bit about yourselves?

A:  Matt has been using and developing with Linux for around 15 years and I’m (Cade) a gamer at heart (MOD creation, Rig building, etc).  We met at Chapman University and began to take our start-up ideas into reality with SSD Nodes, JARVYS and Xerq.io.  We’re active in the venture capital and start-up scene; not only for ourselves, but also helping others to get started.

Q: Where did the idea of JARVYS come from?

A: We have a company named SSD Nodes that provides on-demand datacenter services, specializing in reliable, high performance cloud computing. We provide a massive dynamic platform that allows you to quickly innovate and deploy your applications on a global scale.  With that being said, our customers had a need to do small file level backups with a way to easily restore.

Q:  So is JARVYS only for people who need datacenter level services?

A:  Not at all.  The idea for JARVYS is to provide a quick (you can get installed and backing up in 60 seconds) and easy way for end users to get started with backups.  We wanted to provide a very low barrier for entry on these types of backups and restores…to make it so that people can get to working with what matters to them instead of worrying about backups.  JARVYS will work on servers or desktops…it doesn’t matter.  What matters is that JARVYS gets out of the way and lets you do your work while it continues to back your important stuff up.

Q:  When was JARVYS founded?

A:  We’ve been using the idea and backup solution with most of our customers at SSD Nodes for a long time…but JARVYS as a company and product only came to be in August or September of this year.  It was at that time we really made the code modular and cleaned it up enough to make it presentable.  We’re still in beta right now as we’re introducing some great features like zero-knowledge encryption.

Q:  How did you come up with the name “JARVYS”?

A:  JARVYS is a very popular name in the French language and we thought of JARVYS as a butler of sorts.  It seemed fitting that our software just took care of the backups for you…much in the way a butler would if you had one.

Q:  How many people work on JARVYS at the moment?

A:  We currently have 7 employees and growing.

Q: So what programming language do you use for JARVYS?

A:  Golang mostly.

Q:  Is there an API for end users to build on or a plugin system?

A:  Not yet, but in the future we plan on having a very robust API and plugin framework.  We really want people to build things on top of JARVYS.

Q:  What are your ultimate goals for JARVYS?

A:  We want JARVYS  to make dataloss a thing of the past.  We’ve seen so many customers mess up backups and lose data. There are so many holes with data preservation. There are so many moving parts to a backup such as  the restore, notifications for success and loss.  And of course, a backup system isn’t complete until you’re able to restore your data.  It is our hope that JARVYS takes the difficulty out of the backup for Linux users.

Q:  Let’s say I’m a customer and I install and get started today.  What happens to my data/backup?  Is it encrypted?  

A:  The JARVYS client uses an encrypted SSH tunnel to transmit your data to our servers here.  We’re still in beta right now but ultimately we’re looking at an encrypted storage place for everyone’s data.  We want this to be YOUR data…we want to make it so that you hold the keys to the kingdom and not even JARVYS can see your files or decrypt them.  We’re not there yet but we are currently developing and testing this ‘zero knowledge’ storage system right now.

Q:  Do you have a free plan?  If so, will it always be free?

A:  Yes, we have a free plan.  We feel that with developers and the  Linux community that there should always be a free plan.  It’s important that we contribute and give back because we’re standing on the shoulders of giants.  It just makes sense that if we take, we should give.  So we’ll always have a free plan that can get you started with hassle free backups within 60 seconds.

Q:  What would you say if someone asked “Isn’t this just another Dropbox?”

A:  We’d say that it really isn’t like Dropbox at all.  For example, with Dropbox restores aren’t going to be seamless with a single command like they are with JARVYS.  Dropbox also has a daemon that runs and it uses FUSE on Linux.  JARVYS is cron enabled and only runs when the backup happens.  It’s designed to have a very small footprint.  Restores with JARVYS take less than a few seconds while restoring files with Dropbox will take quite a bit longer.

Q:  How do I keep up to date with JARVYS releases and news?

A:  You can find us on Twitter, Facebook, and Google+.  You can also keep up with JARVYS on our Blog.

Q:  Where can I check out JARVYS?

A:  You can get started using the free plan we mentioned above.  As we said, it’s free and will always be free.  Alternatively, we’re offering a special for Yet Another Linux Blog readers:  20% off, any tier plan for the lifetime of the plan.  It’s a great deal!  To take advantage, simply use the code “linux-blog” at checkout.  Head over to our pricing page to get started.  We hope JARVYS takes the hassle out of your backups and thanks for checking us out!

How To Patch The Debian 6 Squeeze Shellshock Bug

debian-wallpaper-3

Debian I run a few webservers at work that are internal facing only (intranet) that run Debian 6 Squeeze.  I’ve been monitoring the Shellshock exploit since it was discovered a few weeks ago and have been looking for a way to get those few systems patched…despite them existing only internally.  Patches for Squeeze-lts (long term release) were released quickly and then just a last week, another patch was put into play as well.  I decided to go ahead and patch these internal systems and since I couldn’t find much out there for blog posts on how to do it…I decided to share how I did it.

Difference Between Squeeze and Squeeze-lts

The difference between Squeeze general and Squeeze-lts is that the LTS (long term support) repositories will continue to receive backported patches from the current release tree (which is version 7 for Debian).  I didn’t originally install/setup these two internal servers so the first thing I have to do is get the version of Debian these servers are running and then check to see if they are using the LTS repositories.

Finding Your Version of Debian

lsb_release -a

This command returns a vanilla squeeze install for me.

Changing Repositories to LTS

Now to see which repositories are enabled.

nano /etc/apt/sources.list

You should open your sources list with your favorite text editor.  If you just have vanilla sources like the two servers I have you can just comment out the sources listed there and paste the following:


deb http://http.debian.net/debian/ squeeze main contrib non-free
deb-src http://http.debian.net/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

deb http://http.debian.net/debian squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian squeeze-lts main contrib non-free

Now that your sources have changed, update and patch your system:

 apt-get update && apt-get upgrade && apt-get dist-upgrade

Checking To See if You still Vulnerable

You can use bash itself to see if you’re vulnerable to the bug.  Execute the following command:

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

This should return the following if you are patched:

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello

If you’re not patched…the word ‘vulnerable’ will appear in your results.

Further Reading on Shellshock

You can read further about how to switch to LTS repositories here:  https://wiki.debian.org/LTS/Using

For more reading on the Shellshock bug, how it is being exploited and the history/timeline, see here:  http://www.troyhunt.com/2014/09/everything-you-need-to-know-about.html

Manjaro KDE Notes

manjaro kde

manjaro kdeThis week I decided to step up from Window Manager Manjaro Openbox and give the latest version of the Desktop Environment in KDE try.  I’m one of those odd people who love minimalist desktops like openbox, xmonad, and i3 but still have a soft spot in their hearts for KDE.  We’re few in number and many with insanity. :)

So I downloaded Manjaro KDE edition and installed it onto my Dell Latitude D630 laptop.  Upon first boot, everything looks professional and nice.  The bootscreen is professional and the desktop has a common theme that is pleasant to look at.

 

Then I went into the menu to see what programs come installed by default.  Bleh…everything with a bag of chips, the receipt, and then even more.  Too much mess.  Multiple entries for single programs.  It’s a mess in there.

4 entries for the ‘Marble’ program greet me inside of the ‘Education’ area.  FOUR?  This is very simple to fix…you simply right click the menu button and choose ‘edit applications’ but how does something like that make it past the QA process?

Sound was muted across the board by default….I’m pretty sure this is just due to my sound hardware but it’s important to note that not everyone will know to look for that.

Desktop effects enabled by default means that things were DOG slow until I installed a video driver.  Not a good first experience.

I attempted to download a few torrents out of the gate to see what kind of throughput KTorrent would give me.  I use magnet links mostly and upon grabbing my first torrent I realized that nothing was happening.  The metadata wasn’t even downloading.  So I attempted a restart of the application with no fix.  I tried logging out and back on with no fix.  Then I tried a restart of the entire PC with no fix.  No matter what I did…torrents wouldn’t download.

So I switched to qBittorrent.  Still no fix.  No matter what happens, torrents don’t work for me with this version of Manjaro.  In my previous version they worked just fine.

About this time, i started to get rather irritated and stopped looking around for things that were wrong.  No offense to the Manjaro KDE guys…but this isn’t a very good implementation of KDE in my opinion….there is just too much installed by default and what is installed doesn’t seem to work well.  There were quite a few other oddities I experienced while exploring the desktop including multiple KWin crashes when launching specific applications.

Overall, I wasn’t happy.

So I’m heading over to Salix KDE now to see if a simplified approach to KDE will cleans the palate so to speak.  I neglected screenshots when testing Manjaro KDE out but I’ll take many with Salix and follow up here.

Manjaro Linux – My Current Distribution

manjaro

manjaroI’ve been running Manjaro Linux Openbox Edition since about November of 2013.  I haven’t re-installed…since Manjaro rolls with it’s releases…I haven’t needed to re-install.  It’s been as steady as a rock for 2 releases and many months of torture and pain from yours truly.

The only other distribution I’ve ever put through its paces like this that remained stable and usable was Salix…which is Slackware based.  Manjaro is Arch based and benefits greatly from the fantastic package manager ‘pacman’.  Oddly enough, Salix has a lot in common with Manjaro in that they both attempt to bring simplicity with easy upgrades/updates.  They also both tap into the community for customized packages…Salix with the ability to install Slack builds and Manjaro with the ability to add on packages from the AUR (Arch User Repository).  Both provide tools that allow a user to interface with these user built repositories.  Both are lightning fast and use a very low amount of resources.

Even though I’d hadn’t noticed before….they do have a lot in common.

I’ve demanded a lot more from my Linux distributions lately…I haven’t picked the ones I use based on what everyone else is using.  I haven’t picked one that has recently released.  I picked one that doesn’t decide what’s best for you.  I think this approach is best…doing less is more.

I don’t want a distribution to install the entire KDE application suite out of the gate taking up tons of space on my hard drive and making my Kmenu a jumbled mess.  I don’t want a distribution that doesn’t install tons of applications but is so bloated and lethargic on the desktop that I can barely function.  I don’t want a distribution that does things the wrong way by requiring me to install more than what I need (thanks meta packages!).  The bottom line is, I want a simple distribution of Linux that truly and wholly supports the ‘less is more’ mantra.  The only two I’ve settled on are Manjaro and Salix.  I’m not saying these are the only ones that ascribe to this mantra…I’m just saying these are the only two I’ve used that I like.  I’m sure there are others you might have found do the same thing and I’d encourage you to leave a comment with this distribution so that I can check it out.

I don’t do a lot of Linux reviews…but I will be doing a Salix and Manjaro one in the near future.  I think they both deserve any amount of press they get because they are fantastically simple distributions.

I am a Linux User

There are some things you just are.

Painters are painters because they paint.  Writers are writers because they write.  Whatever you identify with being (writer, painter, et. al) you are that because of what you DO…what you produce.  I am Linux user because of what I produce with Linux…what I do with it.  I don’t simply use it…I create with it.  I make it do what I want.

People give me a screwdriver and I pry things open with it…I don’t just use it on screws.  If I wanted to just use a flathead screwdriver for screws I’d be using a Mac.  If I wanted attachments for my screwdriver to become a different tool, I’d use Windows.  Instead, I rewrite what my screwdriver is used for by using Linux.

I’m a thinker because of Linux.  I have to be.  I have to think outside of the box…the standard way of thinking.  I find solutions to tech problems more quickly than people around me because of Linux.  I don’t think just of linear solutions.  I’m not just one dimensional…Linux makes me multidimensional.  When a problem arises, I meet it head on instead of waiting for others to fix it.

Linux makes me all of these things.  Without it, I still am a thinker…but Linux makes me a multidimensional, deep thinker.  Without it, I still use tools like a screwdriver but I don’t use them in as many ways.  Without it, I can still solve problems…but I don’t solve them as fast or as creatively.  There are some things you just are.

Linux helps me to be who I am.  Linux just is.

It was almost 10 years ago that I started recording my thoughts, tips and tricks on this blog.  I blog less frequently today then I did back then thanks to more professional responsibility with my work…but just the same, Linux still plays a major part in my every day life.  This website is hosted on a Linux server that I built from the ground up.  I use Linux for my Network Attached Storage at home that contains all of my movies, music and pictures.  My phone runs Linux.  I stay in touch with my friends and family because Linux is so versatile.

This blog has been through 4 major hosting changes and 3 changes of content management systems.  It’s gone through DDOS attacks, smear campaigns and even bumped heads with Groklaw before they shut their doors.  Through all of that, the one constant that remained is that Linux is.  For those of us that use it…Linux is what we use to shape our lives.  I’m glad to be a Linux user and a blogger of all things Linux.  Despite my infrequency of posting, I try to provide original content instead of just recycled news/how-to’s.  I don’t plan on changing this goal in the future…and I plan on being here for as many years as I can.

I want to personally thank each and every one of you who subscribe to my RSS feed and have my content delivered to you there…and those that subscribe to the blog via email.  Thanks to all of you who read the content I produce.  I appreciate your patronage and your support.  I began this journey with many of you over 10 years ago…here’s to the future path we’ll be travelling.  No telling where Linux will take us!