NewEgg BitCoin Users GET 10% Off – EXTENDED!

Previously, the cutoff was July 22nd at midnight; it has now been extended to the 31st.

*Offer expires July 31, 2014 at 11:59PM PT. Offer valid while funds and/or supplies last. Does not include Newegg Promotional Gift Cards, Marketplace or Open Box items. Cannot be combined with other promo codes, or promotions that include a free gift. Total discount limited to $100. Enter promo code: BITCOIN at checkout. Discount not applicable to taxes or shipping. Discount is applied before taxes and shipping are calculated. Offer is only valid for purchases made using bitcoin. By using the promo code, you consent to receive additional deals and promotions through our e-mail newsletter. Limit one discount per customer.


Becoming a Non-Profit

Hello all,

I am currently researching all of the steps to become a non-profit in TN, as many of you know I am new to this state.  The laws being different, I want to ensure it is done correctly.  There will likely be fees involved in setting up the non-profit (at least $100, so far).  I am not in a position personally to pay those for the moment.  Anyone who can help donate to get this started would be very well appreciated.  This can be done via the donations page.  As many of you know, I have paid for everything 100% out of my pocket, and I don’t mind doing so.

However, we have recently been given some very bad medical news in the family which has affected our budget considerably.  This is the first time I have ever publicly asked for donations; but even the smallest will help.

Thank you all for your prayers, and consideration.

Matthew Curry


Painless Move….

I want to start this article out by saying this, in a recent poll of public opinion the I.R.S. was ranked higher than Comcast.  That right there should be a direct indication of how little they care about their customers, and dare us to do anything, being a monopoly that is unregulated makes this possible for them…. That being said, here is my most recent 7 MONTH long experience setting up an account with comcast.

I finally got my internet service restored to what it should be…. This after about 10hrs of calls with Comcast; and them creating 3 false accounts, and failing to activate their own equipment.  Today 7/17/2014, I finally got them to put the speed on my account that they were billing me for (105MB); they had loaded the incorrect configuration in the cable modem.  A Motorola Surfboard SB6411, that I own and is approved on their site.  I was getting an average of 50Mb/s; and I was paying for more than double that.

Also, they were billing me for 2.5x the rate that I was promised.  It was only after 2 BBB complaints, and an additional 3hrs of time on the phone that I was able to get that resolved.  Instead of the $89/mo that I was paying, I finally received the $34.99/mo that I was promised.

In addition to all of this; I moved from Texas to Tennessee in January.  I found out after the move that there is a Data Cap of 300G on ComCast Customers in the Nashville, TN area.  This is absurd; and should not be tolerated.  Why is it ok to do this to people here; and not everywhere else when we are paying the same amount of money.  I moved my account from TX to TN; and I am paying the same amount of money, but now I get phone calls harrassing me about the data limit, and additional charges which are ridiculously high for every gigabyte over 300GB that I use.  I believe that if they are going to do this, that they should be required to notify you before you sign up (which I was not).  They should also have the same rules in every market, this charging more in some markets than others is price gouging at the very least.  We as consumers should rally; and show comcast that we are not to be trifled with.

With the advent of google displaying that some ISPs are so oversubscribed that they can’t even perform well on youtube, now is a good time to get the data we need to prove our point.  Netflix does this as well, as seen below…



Here is googles example of times of day, proving that the network is heavily oversubscribed…

Screenshot - 07172014 - 08:01:59 PM

Lab Under Construction

Our new lab is coming together, if anyone has any item they want to use in it please let me know.

Also, if you have equipment you would like hosted in the lab; I am happy to consider it.  The only exceptions would be if the hardware is unsafe; or uses a very large amount of power.  If it is power, we can see if it is justified.

If anyone would like to donate any hardware or Bitcoin, please contact me on the Contacts page; or use the “Donate!” page on the main menu..

Matthew Curry


2 TB Free Google Cloud Storage

Acquire the free Panzura Gateway virtual appliance and free 2 TBs of Google Cloud Storage by filling out the form linked below using a valid company email address.

You will receive an email with download instructions.

It has to be loaded on a VMware Hypervisor, and you can use any of the following storage providers:


  • Amazon S3
  • Google Cloud Storage
  • Microsoft Azure Storage
  • Others Might be Accepted*


  • EMC Atmos
  • Cleversafe

Request Link

Although it has not been launched, and you may have to wait a while; its a pretty good deal.  Just be sure to mark your calendar for 1yr from the start date… That’s when they start charging….


Monitor CPU & Hard Drive Temps

Most new computers support ACPI which stands for Advanced Configuration and Power Interface. ACPI provides for many functions besides power management, such as thermal management and plug-and-play events. If the fan on your PC is always on this could mean the CPU and hard drive are running hot and this could cause permanent damage to your PC. There are some command line and GUI based utilities that can be used to monitor the CPU and hard drive temperatures.
Installing the required packages
The following packages need to be installedL

lm-sensors – a hardware health monitoring package for Linux. It allows you to access information from temperature, voltage, and fan speed sensors. It works with most newer systems

hddtemp – monitors and reports the temperature of PATA, SATA or SCSI hard drives by reading Self-Monitoring Analysis and Reporting Technology (S.M.A.R.T.) information on drives that support this feature

sensors-applet(optional – GUI Based) – an applet for the GNOME panel that displays readings from hardware sensors, including temperatures, fan speeds and voltage readings.

computertemp (optional – GUI Based) – little applet for the GNOME desktop that shows the temperature of your CPU and disks in the panel.

psensor (optional GUI Based) – Small applet that gives a good graph over time; and monitors all your sensors along with average cpu usage.
Open terminal window and type the following command
sudo apt-get install lm-sensors hddtemp

Before we can monitor the temperatures we need to configure the sensors. The sensors-detect command helps determine which kernel modules need to be loaded to use lm_sensors most effectively.

Open terminal window and type the following command
sudo sensors-detect

You will be asked a few questions. It is generally safe and recommended to accept the default answers to all questions except the last one – the default is NO. You need to answer yes so that the required entries are made in /etc/modules file.

Next step is to load the new modules into the kernel
sudo service kmod start

Now that you have everything in place you can monitor the CPU and hard drive temperatures either from the command line or add an applet to the GNOME panel.

Command line options
Open terminal window and type the following command(s)
cat /proc/acpi/thermal_zone/*/temperature

Depending on your hardware, you may have more than one sensor.
sudo hddtemp /dev/sda (verify your device paths with ‘fdisk -l’)


That should get you going with monitoring your temperatures; you can use a bash script or application to notify you or even shut the box down if they exceed a certain level.  If there is a request for it I will happily do a write up on both of those tasks.  They are easier that they sound.


** I would like to thank the guys at for the article that inspired this one.


HOSTED Services (Planned Outage)

We are changing around some hardware and will be down for our hosted services tonight.  This is for our Linux Apprentices, and Mentors.  I will attempt to have them back up and running as soon as possible.

Thank you for your patience,

Matthew Curry

VIM – Cheat Sheet


Cursor movement

  • h – move cursor left
  • j – move cursor down
  • k – move cursor up
  • l – move cursor right
  • w – jump forwards to the start of a word
  • W – jump forwards to the start of a word (words can contain punctuation)
  • e – jump forwards to the end of a word
  • E – jump forwards to the end of a word (words can contain punctuation)
  • b – jump backwards to the start of a word
  • B – jump backwards to the start of a word (words can contain punctuation)
  • 0 – jump to the start of the line
  • ^ – jump to the first non-blank character of the line
  • $ – jump to the end of the line
  • G – go to the last line of the document
  • 5G – go to line 5
Tip Prefix a cursor movement command with a number to repeat it. For example, 4j moves down 4 lines.

Insert mode – inserting/appending text

  • i – insert before the cursor
  • I – insert at the beginning of the line
  • a – insert (append) after the cursor
  • A – insert (append) at the end of the line
  • o – append (open) a new line below the current line
  • O – append (open) a new line above the current line
  • ea – insert (append) at the end of the word
  • Esc – exit insert mode


  • r – replace a single character
  • J – join line below to the current one
  • cc – change (replace) entire line
  • cw – change (replace) to the end of the word
  • c$ – change (replace) to the end of the line
  • s – delete character and substitute text
  • S – delete line and substitute text (same as cc)
  • xp – transpose two letters (delete and paste)
  • u – undo
  • Ctrl + r – redo
  • . – repeat last command

Marking text (visual mode)

  • v – start visual mode, mark lines, then do a command (like y-yank)
  • V – start linewise visual mode
  • o – move to other end of marked area
  • Ctrl + v – start visual block mode
  • O – move to other corner of block
  • aw – mark a word
  • ab – a block with ()
  • aB – a block with {}
  • ib – inner block with ()
  • iB – inner block with {}
  • Esc – exit visual mode

Visual commands

  • > – shift text right
  • < – shift text left
  • y – yank (copy) marked text
  • d – delete marked text
  • ~ – switch case

Cut and paste

  • yy – yank (copy) a line
  • 2yy – yank (copy) 2 lines
  • yw – yank (copy) word
  • y$ – yank (copy) to end of line
  • p – put (paste) the clipboard after cursor
  • P – put (paste) before cursor
  • dd – delete (cut) a line
  • 2dd – delete (cut) 2 lines
  • dw – delete (cut) word
  • D – delete (cut) to the end of the line
  • d$ – delete (cut) to the end of the line
  • x – delete (cut) character


  • :w – write (save) the file, but don’t exit
  • :wq – write (save) and quit
  • :x – write (save) and quit
  • :q – quit (fails if there are unsaved changes)
  • :q! – quit and throw away unsaved changes

Search and replace

  • /pattern – search for pattern
  • ?pattern – search backward for pattern
  • n – repeat search in same direction
  • N – repeat search in opposite direction
  • :%s/old/new/g – replace all old with new throughout file
  • :%s/old/new/gc – replace all old with new throughout file with confirmations

Working with multiple files

  • :e filename – edit a file in a new buffer
  • :bnext or :bn – go to the next buffer
  • :bprev or :bp – go to the previous buffer
  • :bd – delete a buffer (close a file)
  • :sp filename – open a file in a new buffer and split window
  • :vsp filename – open a file in a new buffer and vertically split window
  • Ctrl + ws – split window
  • Ctrl + ww – switch windows
  • Ctrl + wq – quit a window
  • Ctrl + wv – split window vertically


  • :tabnew filename or :tabn filename – open a file in a new tab
  • Ctrl + wt – move the current split window into its own tab
  • gt or :tabnext or :tabn – move to the next tab
  • gT or :tabprev or :tabp – move to the previous tab
  • #gt – move to tab number #
  • :tabmove # – move current tab to the #th position (indexed from 0)
  • :tabclose or :tabc – close the current tab and all its windows
  • :tabonly or :tabo – close all tabs except for the current one



LS – The usage of the LS command in linux

ls – Unix users and sysadmins cannot live without this two letter command. Whether you use it 10 times a day or 100 times a day, knowing the power of ls command can make your command line journey enjoyable.

In this article, let us review 15 practical examples of the mighty ls command.


1. Open Last Edited File Using ls -t

To open the last edited file in the current directory use the combination of ls, head and vi commands as shown below.

ls -t sorts the file by modification time, showing the last edited file first. head -1 picks up this first file.

$ vi first-long-file.txt
$ vi second-long-file.txt

$ vi `ls -t | head -1`
[Note: This will open the last file you edited (i.e second-long-file.txt)]

2. Display One File Per Line Using ls -1

To show single entry per line, use -1 option as shown below.

$ ls -1

3. Display All Information About Files/Directories Using ls -l

To show long listing information about the file/directory.



$ ls -l
-rw-r----- 1 ramesh team-dev 9275204 Jun 13 15:27 mthesaur.txt.gz
  • 1st Character – File Type: First character specifies the type of the file.
    In the example above the hyphen (-) in the 1st character indicates that this is a normal file. Following are the possible file type options in the 1st character of the ls -l output.

    • Field Explanation
    • - normal file
    • d directory
    • s socket file
    • l link file
  • Field 1 – File Permissions: Next 9 character specifies the files permission. Each 3 characters refers to the read, write, execute permissions for user, group and world In this example, -rw-r—– indicates read-write permission for user, read permission for group, and no permission for others.
  • Field 2 – Number of links: Second field specifies the number of links for that file. In this example, 1 indicates only one link to this file.
  • Field 3 – Owner: Third field specifies owner of the file. In this example, this file is owned by username ‘ramesh’.
  • Field 4 – Group: Fourth field specifies the group of the file. In this example, this file belongs to ”team-dev’ group.
  • Field 5 – Size: Fifth field specifies the size of file. In this example, ’9275204′ indicates the file size.
  • Field 6 – Last modified date & time: Sixth field specifies the date and time of the last modification of the file. In this example, ‘Jun 13 15:27′ specifies the last modification time of the file.
  • Field 7 – File name: The last field is the name of the file. In this example, the file name is mthesaur.txt.gz.

4. Display File Size in Human Readable Format Using ls -lh

Use ls -lh (h stands for human readable form), to display file size in easy to read format. i.e M for MB, K for KB, G for GB.

$ ls -l
-rw-r----- 1 ramesh team-dev 9275204 Jun 12 15:27 arch-linux.txt.gz*

$ ls -lh
-rw-r----- 1 ramesh team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz

5. Display Directory Information Using ls -ld

When you use “ls -l” you will get the details of directories content. But if you want the details of directory then you can use -d option as., For example, if you use ls -l /etc will display all the files under etc directory. But, if you want to display the information about the /etc/ directory, use -ld option as shown below.

$ ls -l /etc
total 3344
-rw-r--r--   1 root root   15276 Oct  5  2004 a2ps.cfg
-rw-r--r--   1 root root    2562 Oct  5  2004 a2ps-site.cfg
drwxr-xr-x   4 root root    4096 Feb  2  2007 acpi
-rw-r--r--   1 root root      48 Feb  8  2008 adjtime
drwxr-xr-x   4 root root    4096 Feb  2  2007 alchemist

$ ls -ld /etc
drwxr-xr-x 21 root root 4096 Jun 15 07:02 /etc

6. Order Files Based on Last Modified Time Using ls -lt

To sort the file names displayed in the order of last modification time use the -t option. You will be finding it handy to use it in combination with -l option.

$ ls -lt
total 76
drwxrwxrwt  14 root root  4096 Jun 22 07:36 tmp
drwxr-xr-x 121 root root  4096 Jun 22 07:05 etc
drwxr-xr-x  13 root root 13780 Jun 22 07:04 dev
drwxr-xr-x  13 root root  4096 Jun 20 23:12 root
drwxr-xr-x  12 root root  4096 Jun 18 08:31 home
drwxr-xr-x   2 root root  4096 May 17 21:21 sbin
lrwxrwxrwx   1 root root    11 May 17 20:29 cdrom -> media/cdrom
drwx------   2 root root 16384 May 17 20:29 lost+found
drwxr-xr-x  15 root root  4096 Jul  2  2008 var

7. Order Files Based on Last Modified Time (In Reverse Order) Using ls -ltr

To sort the file names in the last modification time in reverse order. This will be showing the last edited file in the last line which will be handy when the listing goes beyond a page. This is my default ls usage. Anytime I do ls, I always use ls -ltr as I find this very convenient.

$ ls -ltr

total 76
drwxr-xr-x  15 root root  4096 Jul  2  2008 var
drwx------   2 root root 16384 May 17 20:29 lost+found
lrwxrwxrwx   1 root root    11 May 17 20:29 cdrom -> media/cdrom
drwxr-xr-x   2 root root  4096 May 17 21:21 sbin
drwxr-xr-x  12 root root  4096 Jun 18 08:31 home
drwxr-xr-x  13 root root  4096 Jun 20 23:12 root
drwxr-xr-x  13 root root 13780 Jun 22 07:04 dev
drwxr-xr-x 121 root root  4096 Jun 22 07:05 etc
drwxrwxrwt  14 root root  4096 Jun 22 07:36 tmp

8. Display Hidden Files Using ls -a (or) ls -A

To show all the hidden files in the directory, use ‘-a option’. Hidden files in Unix starts with ‘.’ in its file name.

$ ls -a
[rnatarajan@asp-dev ~]$ ls -a
.                             Debian-Info.txt
..                            CentOS-Info.txt
.bash_history                 Fedora-Info.txt
.bash_logout                  .lftp
.bash_profile                 libiconv-1.11.tar.tar
.bashrc                       libssh2-0.12-1.2.el4.rf.i386.rpm

It will show all the files including the ‘.’ (current directory) and ‘..’ (parent directory). To show the hidden files, but not the ‘.’ (current directory) and ‘..’ (parent directory), use option -A.

$ ls -A
Debian-Info.txt               Fedora-Info.txt
CentOS-Info.txt               Red-Hat-Info.txt
.bash_history                 SUSE-Info.txt
.bash_logout                  .lftp
.bash_profile                 libiconv-1.11.tar.tar
.bashrc                       libssh2-0.12-1.2.el4.rf.i386.rpm
[Note: . and .. are not displayed here]

9. Display Files Recursively Using ls -R

$ ls  /etc/sysconfig/networking
devices  profiles

$ ls  -R /etc/sysconfig/networking
devices  profiles




To show all the files recursively, use -R option. When you do this from /, it shows all the unhidden files in the whole file system recursively.

10. Display File Inode Number Using ls -i

Sometimes you may want to know the inone number of a file for internal maintenance. Use -i option as shown below to display inone number. Using inode number you can remove files that has special characters in it’s name as explained in the example#6 of the find command article.

$ ls -i /etc/xinetd.d/
279694 chargen      279724 cups-lpd  279697 daytime-udp
279695 chargen-udp  279696 daytime   279698 echo

11. Hide Control Characters Using ls -q

To print question mark instead of the non graphics control characters use the -q option.

ls -q

12. Display File UID and GID Using ls -n

Lists the output like -l, but shows the uid and gid in numeric format instead of names.

$ ls -l ~/.bash_profile
-rw-r--r--  1 ramesh ramesh 909 Feb  8 11:48 /home/ramesh/.bash_profile
$ ls -n ~/.bash_profile
-rw-r--r--  1 511 511 909 Feb  8 11:48 /home/ramesh/.bash_profile

[Note: This display 511 for uid and 511 for gid]

13. Visual Classification of Files With Special Characters Using ls -F

Instead of doing the ‘ls -l’ and then the checking for the first character to determine the type of file. You can use -F which classifies the file with different special character for different kind of files.

$ ls -F
Desktop/  Documents/  Ubuntu-App@  firstfile  Music/  Public/  Templates/

Thus in the above output,

  • / – directory.
  • nothing – normal file.
  • @ – link file.
  • * – Executable file

14. Visual Classification of Files With Colors Using ls -F

Recognizing the file type by the color in which it gets displayed is an another kind in classification of file. In the above output directories get displayed in blue, soft links get displayed in green, and ordinary files gets displayed in default color.

$ ls --color=auto
Desktop  Documents Examples firstfile Music  Pictures  Public  Templates  Videos

15. Useful ls Command Aliases

You can take some required ls options in the above, and make it as aliases. We suggest the following.

  • Long list the file with size in human understandable form.
    alias ll="ls -lh"
  • Classify the file type by appending special characters.
    alias lv="ls -F"
  • Classify the file type by both color and special character.
    alias ls="ls -F --color=auto"