• Tip Jar

Easily Load Books from Bard on to Your Cartridge

So you’ve just downloaded several books, for hours of reading enjoyment from the BARD service, and now you have to create a folder on your cartridge or pendrive for each book, extract the book to its folder, and remove the zip file. Wouldn’t it be much easier if it were automated?
Well, now it is. just grab the bookloader.sh script, place it on your drive where you want the books loaded, and then type:

bash bookloader.sh

The script creates a folder called book# where # is the number of the book it is currently extracting, e.g. book1. The script next extracts the zipfile containing the book to the newly created folder. Finally, the script removes the .zip file. When the prompt returns, simply unmount the drive, and put it in your book player. Very easy, and I hope useful.

Arch Linux Virtual Machine Creation Script

Some people have been asking about trying Arch Linux without giving up their current configuration. For You, I have created a script that will help to set up a talking VM. Any virtual machine program should work, but here is the process for using VMWare Player.
First, get the talking arch disk from talkingarch.tk. Next create an Arch Linux virtual machine. To do this, press the welcome to vmWare player or similar button to start the vm creation process. Note that the button may or may not be labeled something different, as your screen reader may be reading the wrong label, so it may take a bit of guesswork to figure out which button to press. However, it is usually the first button after the list of vms, which will most likely be empty at this point. After the wizard opens, choose to install the operating system with an iso image, browse to the location of the iso image, then press next. Next, choose guest operating system – linux from the radio buttons, and other linux 3.x kernel (64 bit if required). Press next, and fill in the name of your vm, which will simply be what you choose it by in the dropdown list when vmware player opens and press next. Then choose how big you want your disk to be, and press next again, unless you wish to change the type of storage of the virtual hard disk. At this point it will present you with the specs of your vm, but you will most likely want to change the hardware, as it gives it very low hardware by default. To do this, press the customize hardware button. The first choice will be for memory, which by default will be 384 mb for 64 bit kernels and 256 mb for 32 bit. You will most likely want 512 mb or more, though don’t give your vm too much so that your host operating system has enough memory to continue running. Next option in the list will be processer cores, which you probably want to change from 1 to 2 or more if you have more than 2 processer cores. Again, make sure to give enough, but not too much or your host OS may not run optimally. After this press close, and finally press finish. your vm should boot, and you may hear a beep from your pc speaker. If you do not hear a beep or do not have a pc speaker to hear a beep from, you may wait a minute or two, then press control + g to enter the vm, and press any key. Espeak should start announcing messages as the vm boots, although in some cases it will not, so after a while of no speech press the numlock key a few times to make sure there is speech. If there is but it is very low, see the section below.
Now that you are booted into your virtual machine, you may notice the volume is very low. If this is the case, type:


Press the up arrow key until the volume is where you want it. If the volume doesn’t change, press right arrow once, and press up arrow again. Repeat this process until the volume changes when you press the up arrow. When you are satisfied with the volume, press escape to close alsamixer.
Also note that if the volume does change when you press up arrow, but it is still somewhat low when it seems to be at max volume, continue the process of pressing right arrow then up arrow until the volume is where you want it.
now, to install Arch Linux, using my script, type the following:

curl -s http://stormdragon.tk/scripts/vm.sh && bash vm.sh

Speakup can get a bit chatty while everything is installed. To make it go silent, press numpad insert+numpad enter. This is a toggle, so to make speakup read normally again, simply press the key combination again. For laptop users without a numpad, capslock+enter will do the same thing.
Simply follow the instructions, and in just a few minutes you will have a talking arch virtual Machine to play with.

2MB Autocode for WordPress

Introducing 2MB Autocode for WordPress! I wish I had had this plugin years ago. It allows you to add html, php code, or preformatted text to the top and/or bottom of each post.
Before, I was using a small script to display my links at the top of each post. It worked ok, but I always wanted something a bit easier to change on the fly. 2MB Autocode provides just that. The plugin is designed to be very easy to use, and changing the text or code is as simple as entering information into a textbox. This is a must have plugin for any WordPress site. It is just one of the great innovations you can look forward to from 2MB Solutions!

Console Keyboard Shortcuts

People have been asking about keyboard shortcuts from the console. They do exist, and are very powerful. To create the shortcuts, you need to edit your ~/.inputrc file. These shortcuts are available in the terminal, not in applications. So, your shortcut won’t work inside Linphone for example. The following is a setup that will create keyboard shortcuts for the musicl player XMMS2, including a soft volume control, so your whole computer doesn’t drop or rise in volume with the music. Before using the volume controls you need to enter this in your terminal:

nyxmms2 server config effect.order.0 equalizer
nyxmms2 server config equalizer.enabled 1

You may notice that each of the following shortcuts end with \C-M. This is what appends a new line to the command, it’s the same as pressing enter when you’re done typing. Without it, the command would just sit there, looking all purdy, but not really doing anything. And now, here are the lines you can add to your ~/.inputrc for XMMS2 controls:

"\ez":"nyxmms2 prev&&sleep 0.5&&nyxmms2 current\C-M"
"\ex":"nyxmms2 play&&nyxmms2 current\C-M"
"\ec":"nyxmms2 toggle&&nyxmms2 current\C-M"
"\ev":"nyxmms2 stop\C-M"
"\eb":"nyxmms2 next&&sleep 0.5&&nyxmms2 current\C-M"
"\e-":"nyxmms2 server config equalizer.preamp $(($(nyxmms2 server config equalizer.preamp | tr -Cd \"[:digit:]-\") - 5))\C-M"
"\e=":"nyxmms2 server config equalizer.preamp $(($(nyxmms2 server config equalizer.preamp | tr -Cd \"[:digit:]-\") + 5))\C-M"

As you can see, the format is "key":"command". The \e means to use alt as a modifier. Here is a nifty little table that shows the keybindings for the code above.

Key Action
Alt+z previous track
Alt+x play
Alt+c pause
Alt+v stop
Alt+b next track
Alt+- volume down
Alt+- volume up

If you want to use the control key in your keyboard shortcut, simply replace \e\C like so:

"\C-t":"\C-k \C-utalking-clock -c &> /dev/null\n" #speak time control+t

And there you have it, keyboard shortcuts in the console. These are very useful, I have a lot of them in my ~/.inputrc and use most of them every day.

Recent Down time

You may have noticed that the site was down briefly, followed by a slight name change. This is because my previous host, due to a billing error, deleted all my content with out warning. well, they sent an email to be fare, but I went to see what was going on, all my stuff had been deleted. Needless to say, I was ANGRY. Actually, that doesn’t even begin to describe the feelings of rage that coursed through me, especially when I discovered my backup directory only contained a database backup from well over a year ago.
To make things worse, some of the stuff hosted here is gone, probably forever. Yes, I made the same mistake a lot of people do. I had been hosted with my previous host for over 10 years. In that time, there had never been a problem, everything went smoothly, they even gave me a free month of service for some down time that was so brief I would never have known about it if they hadn’t emailed me and told me about it. So, I did a lot of edits right on the site, without backing up to my computer or anywhere else. Yes, I know, bad me. But, 10 plus years of trouble free service has to be worth something right? I read all the articles about backing up, I knew the risk, I made backups for years and years, but within the last two or three, I became sort of lax about keeping up with it.
As you may have noticed, the blog part of the site is back pretty much unchanged, except for the theme. I remembered that some time ago I had changed the path where I was saving my database backups and was able to get one from only a few days before my stuff vanished into oblivion. Getting it set up on the new server was very interesting, to say the least, and my friend Kyle worked tirelessly until about 4:30AM to help me get it all Working. Thanks Kyle! you’re AWESOME!
So, if any links on the site are broken for things that were hosted here, let me know and I will try to get them back. I can’t make any promises though. The important part is, I have learned my lesson, and with the added benefits that come with my new hosting service, most backups are automatic since I now use git to manage pretty much every part of the site. the blog part is still being backed up via the database backup plugin. I am very happy with my new plan which gives me 20GB of space, 1TB of transfer, shell access and more, and only cost $1.5 more than what I was paying for a shared hosting plan. so if you’re looking for a new home on the web, I highly recommend Digital Ocean.
As for the name change, the stormdragon.us link will still work because I bought up ten years time for that name. I really don’t want anything to do with my old hosting company, so I wanted to completely close the account, but they say it’s not possible or I will lose something like eight years of time on that name. So, I left the account in place, but after that name is used up it will be gone. A note to providers, if you delete someone’s stuff, that’s pretty much the end of them doing business with you, the offers of free service, free upgrade plans, etc don’t really mean anything, cause the customer is left wondering when it will happen again.
The good news is, everything is pretty much back now. The new .tk extension is most likely here to stay. You can get a .tk domain for free in increments of 1 year. I always say, you can’t beat free, and their are so many things you can do with a domain name, from making an easy to remember Facebook link, to creating your own website.
Now that everything is back, stay tuned for more articles. Thanks for reading.

Reset the Internet – Securing Mutt with GPG

With all the privacy issues these days, it is important to encrypt pretty much everything you can. This includes email. So, I went to set up Mutt with encryption. I’m one of those people who likes a “Do this, then do this, then” … etc style how-to. Most things have those readily available, but I haven’t yet been able to find one for mut with encryption. There are a lot of good tutorials out there, but they all seem to assume you have knowledge of what to put where. So, this is a “do this, then do that” … style tutorial.
If you’re interested in why you do the following steps, this is probably not for you.

Mutt Setup

First, install mut and gnupg. In Arch you do:

pacman -S --needed mutt gnupg

Next, set up your muttrc file with your email information. If you’re not sure how, there are a lot of good tutorials to help. Most of them recommend you put your muttrc in ~/.mutt/muttrc, and this is where I will assume yours is. Since w’re focusing on security, I will also include directions for encrypting your password so it’s not stored in plain text.
Add the following lines to your ~/.mutt/muttrc:

source ~/.mutt/gpg.rc
source "gpg -d ~/.mutt/passwd.gpg|"

Next, to get the gpg.rc file:

cp /usr/share/doc/mutt/samples/gpg.rc ~/.mutt/

Finally, add the following to the end of ~/.mutt/gpg.rc:

set pgp_sign_as=KEYNAME
set pgp_autosign=yes
set crypt_autosign=yes
set pgp_replyencrypt=yes
set pgp_timeout=1800

Later, after we have set up a gpg key, we’ll come back and change KEYNAME to its propper value.

GPG Setup

Edit the file ~/.gnupg/gpg.conf and add the following:

charset utf-8
personal-digest-preferences SHA512
cert-digest-algo SHA512
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
keyserver wwwkeys.pgp.net
keyserver hkp://pool.sks-keyservers.net
keyserver pgp.zdv.uni-mainz.de

Edit the file ~/.gnupg/gpg-agent.conf, create it if necessary, and add the following:

default-cache-ttl 300
max-cache-ttl 999999

Create a key:

gpg --gen-key

Press enter to select the first default. RSA keys may be between 1024 and 4096 bits long. You can select the default of 2048, but of course 4096 will be harder to break. Next, select how long the key is valid.
Enter your name, email, and a comment, e.g., email encryption key. You will be given the chance to change anything you think is wrong. If you are happy with everything the way it is, press o and enter. You will be asked for a password. You need to make a good, strong password. Make sure it has a mix of upper and lower case letters as well as numbers. Don’t lose the password, it will make all this work useless, and you won’t be able to view messages sent to you that are encrypted.
The key will be generated, it takes a while, and while it is being made, try to do some tasks that require you to use the keyboard, mouse, and the disk drives. I am writing this while generating a key, so I’m getting lots of keyboard usage.
When it is finished, you will get a line that reads something like:

gpg: key DFE7A865 marked as ultimately trusted

The name of the key is DFE7A865. Take this number, and edit ~/.mutt/gpg.rc. Change the word KEYNAME to the name of your key. In the case of our example:

set pgp_sign_as=DFE7A865

If you want to publish your public key to a server:

gpg --send-key DFE7A865

To get the password info encrypted, create the file ~/.mutt/passwd with your favorite text editor. Add the following information:

set imap_pass="IMAPPASSWORD"
set smtp_pass="SMTPPASSWORD"

Now, to encrypt it:

gpg -r EMAIL@DOMAIN.EXT -e ~/.mutt/passwd

replace EMAIL@DOMAIN.EXT with the email address you used to create your gpg key. this will create your encrypted password, and now we need to get rid of the unencrypted version. This is easily done with srm, which is part of the secure-delete package:

srm ~/.mutt/passwd

That should do it. You should be able to send mail that is automatically signed using your key. To bring up the gpg menu in mut, after composing a message, press p and you will get encryption options. I hope this has been useful, and that all your data remains safe.

CLI Day 2014

CLI day has been a great holiday. I came up with it a few years ago to celebrate all the cool stuff you can do with the command line, and to hopefully get more people using it.
Last year, because of some events, I didn’t really do much for CLI Day. This year, it’s back and stronger than ever. I wanted to make some changes though, and since it’s my holiday, I figured what the heck, I may as well.
Someone suggested to me that CLI Day should be on May 31, because CLI in Roman Numerals is 151. Originally I wanted my birthday, may 29, to be CLI Day, but I realize the my birthday rocks all by itself, so the Roman Numeral thing is a great idea.
Second, I think CLI Day should be decentralized. So, if you have a blog or whatever, write about it. If you have a Identi.ca or Diaspora account, mension #CLIDay. Enjoy using the commandline, and share the love with others.
This year, for CLI Day, I would like to share a new git project with you. I have written, and am in the process of writing, some games for the command line. It’s definitely a work in progress still, but the games are a lot of fun. If you would like to play, you need bash 4.2+, rolldice, and sox.

git clone git://github.com/stormdragon2976/storm-games.git
Have fun, and enjoy CLI Day 2014!

Cheers Mate

To tell the tale of Linux desktop based accessibility is a long and daunting endever. There have been several screen readers most started and abandoned after a short time, some possibly not abandoned, in name only, and the only one to really make any headway as far as a graphical environment goes is Orca. There is good old reliable speakup of course, but it is console only. The Copernicus screen reader has been left by the wayside, in fact, I doubt many people still remember it. there is another one, or was, called LSR (Linux Screen Reader) but, as far as I know, that project is also dead.
As if that isn’t a twisted road enough, let’s take a look at the desktop environment situation. First, accessibility wise, there was Gnome. Gnome 2 was great. Accessibility chugged along at a decent rate,bugs got fixed eventually, except that thing in terminal that caused the first letter of words on a line to be dropped by Orca. It had a great, easy to use interface, and everything just worked and worked well, and except for the little hiccup caused by the Oracle Fiasco, Orca development went along at a decent pace. Of course, the Oracle travesty screwed lots of projects and it fell to the open source community to fix the mess left behind when Oracle acquired Sun. As is usally the case, the open source community did an excellent job, making new and better projects to replace the stuff destroyed in the takeover. But, I digress. All in all, Gnome 2 was great. Then, Gnome 3 came out.
I’m not going to rant about Gnome 3. Out there, somewhere, there are Gnome 3 users and developers who love the project, and out of respect for those poor souls, I will keep my opinion to myself, well for the most part anyway. Let’s just say, I like it only slightly better than Unity, which is one of the key reasons I left Ubuntu and its derivitives such as Vinux in favor of Arch. It’s really too bad about Vinux, the projecthad a lot of potential, but it is so tied to Ubuntu that accessibility seems to take a back seat to sticking with a distro that seems to become less and less accessible as time passes.
So, without Gnome, which I refuse to use in its current condition, I was in need of a desktop. There were supposed to be two of them that worked with accessibility, LXDE and XFCE. I can’t comment on LXDE, because I was never able to get it working with Orca. The closest I ever got was getting Orca to say “Welcome to Orca”. Other people had better luck with it than I did, and the accessibility was supposed to be pretty good for the most part.
I went with XFCE. It really seemed to have a lot of potential. Most of the programs that came with it work with Orca. The file manager, desktop, and panels did not read at all though. So, I went to the propper IRC channels, file the propper bugs, was told the usual “accessibility is very important to us, it will be fixed in the next release.”
The next release came and went, and nothing. I was told that it had been kind of rushed and that the accessibility stuff was definitely going to be in the next release. Well, that release came and went as well. After that one, there was really no more communication. No one answer quearies in the IRC channel, no one replied to messages on the XFCE accessibility mailing list, nothing improved with accessibility at all.
Things stayed that way for about a year, until one day a friend of mine tried the Mate desktop. For those who don’t know, Mate is a fork of Gnome 2. Apparently, there are more people than just me who refuse to use Gnome 3. We were both surprised to find that Mate was very accessible. The last we had heard, the accessibility stack had been completely removed from it. Either that was completely wrong, or sometime afterwards they put it back in. There were a couple problem areas, once again with the desktop and panels, and the propper channels were once again followed. And, unlike with previous experiences, the bugs were fixed right away.
As far as the Mate desktop itself goes, I can’t say enough good stuff about it. It’s like the good old days, the desktop is fun again. I once again enjoy using a graphical environment. Of course, I think I have become a hard core CLI user, but when I need a desktop, Mate is completely awesome.
The one thing I kind of don’t like, is if you install the mate and mate-extra packages and select the defaults, you get stuck with pulseaudio. I have disliked pulseaudio for as long as I can remember. I probably would have stuck with XFCE if there wasn’t a way around it. Fortunately, though, you can select packages 1-12, and 14-23 I think it is and it will skip the pulse dependancy. In the mate-extra packages also skip the package that pulls in pulse, and it will fall back to using gstreamer.
To install, just do the usual pacman -S mate mate-extra.
So that Orca will talk when you first open Mate and launch Orca, add this to your ~/.xinitrc

#accessibility enabled
export GTK_MODULES=gail:atk-bridge

There is a second way to do this using gsettings directly. I haven’t tried this method yet, but others say it works just as well.

gsettings set org.mate.interface accessibility true
gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true

So, in closing, if you want a great, accessible desktop that is fun to use, works well, and behaves like a desktop should instead of something that appears to have a Mac and/or tablet identity crisis, use Mate. Even the people who can see prefer mate to the other desktops, the interface is well thought out, and just plain better in pretty much every way.

Customize Everything

Imagine for a moment you have just purchased a car. You get the keys, you climb in, start the engine. Now, let’s take this
imagined scene and add a few details. It’s the middle of a heat wave, outside your car the temperature reads 103 degrees
Fahrenheit. Somehow, the heat in the car has been set to max, and the volume on the radio is all the way up, and what’s worse,
the radio is tuned to rap. You can still save this imagined scene, just reach out, flip the heat over to air, turn down the
radio, and for god’s sake! find a station that plays music, you know, the stuff with talent.
I have noticed that when people get a new program, or in a lot of cases, a new computer, they never customize anything about it
at all. Just like you wouldn’t drive the car with the heat maxed during a heatwave with rap crashing through your new speakers
assailing your ears, neither should leave default settings as they are unless they are what you want. One great example of this
is the completely awesome speech synthesizer eSpeak. I have heard so many people complain that they don’t like the voice or the
British accent. If that is the case, why not customize it? It has a ton of languages including … you guessed it … U.S.
English and, there are a ton of variants as well so the voice can sound different. Go ahead, if you have a command line up:

espeak -v en-us+m3 "I just customized espeak. Yay for me."

See there, not so difficult.
I personally check preferences or settings for programs as soon as I install them. You never know what essential feature you
may discover that is disabled by default.

Blogging With Charm

If you love the CLI, and I do, charm is a great way to write, edit, or pretty much do anything with your blog. It is written for Live Journal, but works with WordPress. Setup is simple, just change the info below to match your credentials and launch charm. In Arch Linux, charm is available in the AUR:

metaweb = USERNAME PASSWORD http://YOURSITE.EXT/xmlrpc.php
editor = vim
pager = vimpager

And that’s it, you’re ready to pretty much control your blog right from the terminal. Charm has tons of options, and the menu based interface makes everything nice and easy.

  • Tip Jar