Top 10 Most Powerful Computers in the World!

As some people may know; I like to use the example of  “Out of the top 500, how many supercomputers in the world do you think  use [your OS here]?”.  I use this example for a reason.  Unlike conjecture, theories, and even “gut feelings”; it shows that the OS was chosen, and serious money and time were poured into it.  This shows that is it at least a player in the field, and can handle the serious levels of computing needed.  It also shows things like, tune-ability, flexibility with change, and a few other things that only the people working with their own projects will be able to tell.  We are not concerned with that, just that they are on the list; and why if it sticks out as odd to see why.

I am using the TOP500 Project for this information, and it does get re-evaluated often.  However, I will say this; just like in nature there will always be a pretty clear delineation when it comes down to who is the “Winner” in this space.  Or the most efficient/successful like in nature.

The reason I write this article is to show a certain group of people an example of the difference in reality versus what advertisements, rumors, and self-perception have molded in their minds.  I think it is a good exercise to show the affects of the budgets used to change our perceptions. A good example is the budget used by companies like Microsoft (over $2,000,000,000); and Apple (over $1,000,000 in 2013/2014).  This is just money, and perception however.  This will never affect real life numbers on performance, math doesn’t lie. Results and time are my favorite sources of information.  Its a simple concept, there are 1000s of ways to move items.  However, in our lives in this age of technology the wheel is still very much in use.   Its the best solution at the time…. (a small but powerful statement).

So in lieu of keeping you away from the data pron you came to look at:


Top 10 Super Super Computers - Nov 2015

Top 10 Super Super Computers – Nov 2015



Here is the actual breakdown by OS (as of Nov 2015), as I know that is what most people are interested in:



I know some people are wondering where is Windows, or IOS.  If you will notice; even in the breakdowns by OS they are pretty much all Linux/BSD [Windows isn’t even a filter option on their site as of right now].  This list is more a list of flavors of Linux with a few BSD machines in the list.  You will notice, like in most of the lists done in the past; there is not a single Microsoft product on the list.  This is a very simple, and very important fact that way too many people make.  This includes everyone from the guy that fixes your desktop all the way up to the VP of Infrastructure.  They are all swayed by what they own, and the amount of advertising spewed forth at them non-stop. Keep in mind these people are generally more connected than the rest of the populous.  Thus, affected even more so by the ads.  Combine that with sales people/calls/pressures on support/etc, and you get smart companies ( I didn’t say large), that make really bad technology decisions.  I exclude myself from that ad loop; and look purely at statistical performance.   This is great for business; since you can eliminate a TON of costs; and licensing fees/etc that you would have if you went with something not on this list.


List_Statistics___TOP500_Supercomputer_Sites 2


Want to see the full list of over 500 super computers for 2015?


Time Machine Backup with Ubuntu 15.x and OSX 10.7+

In the Older versions of this how-to, you will see people use the method shown just below.  Obviously that no longer works.  I will walk you through setting up TimeMachine via AFP over your LAN.  This is using an Ubuntu 15.04 machine; but since all the packages are common and in the base repos; I don’t see there being a problem getting it to work on any distro.

defaults write TMShowUnsupportedNetworkVolumes 1
NOTE: Any OSX after 10.6 Lion, will have to use the method demonstrated here.


Step 1: Install Netatalk

Install the following packages:

sudo apt-get install netatalk libc6-dev avahi-daemon libnss-mdns

Step 2: Configure /etc/nsswitch.conf

Once those packages are installed, we have to adjust 4 configuration files:

sudo nano /etc/nsswitch.conf

Locate the following:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Add mdns  as below:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

Step 3: /etc/avahi/services/afpd.service

sudo nano /etc/avahi/services/afpd.service

Paste the following:

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
    <name replace-wildcards="yes">%h</name>

Step 4: /etc/netatalk/AppleVolumes.default

Now we setup the share:

sudo nano /etc/netatalk/AppleVolumes.default

At the bottom the section that reads:

# The line below sets some DEFAULT, starting with Netatalk 2.1.
:DEFAULT: options:upriv,usedots

# By default all users have access to their home directories.
~/                      "Home Directory"

# End of File

Change the path “~/”  to your share directory.

IMPORTANT:  Don’t forget to add ‘tm’ to options:upriv,usedots
As seen below:

# The line below sets some DEFAULT, starting with Netatalk 2.1.
:DEFAULT: cnidscheme:dbd options:upriv,usedots,tm

# By default all users have access to their home directories.
/path/to/share                       "Time Capsule"

# End of File

Step 5: /etc/default/netatalk

Now, we need to adjust netatalk settings.

sudo nano /etc/default/netatalk

Locate the following section:

#### Set which legacy daemons to run.
#### If you need AppleTalk, run atalkd.
#### papd, timelord and a2boot are dependent upon atalkd.

Update it to reflect the following:

#### Set which legacy daemons to run.
#### If you need AppleTalk, run atalkd.
#### papd, timelord and a2boot are dependent upon atalkd.

Once all is completed, and all the services have been restarted on the Ubuntu server.  The drive should show up under “Select Disk” under “Time Machine Preferences”.  If you have an old one, you may have to remove it.  Once selected you can use it as if it were physically plugged in.


*TIP – Use a wired connection only, and a gigE network will help immensely.  I do not recommend WiFi .

TCPDUMP with Date for Wireshark

Just another handy snippet:

It will date the output, and also put it in a handy pcap for Wireshark.

tcpdump -i eth1 -s0 -v -w /tmp/capture_`date +%d_%m_%Y__%H_%I_%S`.pcap

*Note: Should work on all Linux distros (make sure to have the right network interface selected, Ex: eth1); it might have to be slightly modified for Mac. Windows can go DIAF.



Search entire server for Q4 2015 obfuscated PHP malware of unknown origin.

This is just a snippet I have used before to identify some malicious code on web servers.  This will not work on everything; but it will give you a way to find suspect files.  It is easy to cron in a script with others to make a nice daily report if you have those concerns.

# Malware Search Script
# 11/1/15 – Matthew D. Curry

echo “Search entire server for Q4 2015 obfuscated PHP malware of unknown origin.”

find / -name \*.php -exec grep -Hn .1.=…….0.=…….3.=…….2.=…….5.= {} \;


Hope this helps, enjoy.


Remove Spaces (or any character) from File Names in Linux

This is actually a pretty common thing to run into in a Linux file system.  It is especially prevalent in the files that are moved from another operating system (Usually Windows).  So if you get files that need to have a space or a character removed, the below snipped is a very simple, and handy way to fix this issue.

file 1.txt
file – 2.txt

So, from here we want to rename the file “file 1.txt” to “file_1.txt”.  This would be done as follows:

rename ‘s/ /_/g’ file\ 1.txt

This will remove any spaces in the file-name listed.  If you want to do all the files in a directory:

rename ‘s/ /_/g’ *

Here is an example output if we run it on all the files in the directory (as seen above):



Note:  If you are new to Linux; and you haven’t heard of the “sed” command, that is the syntax used in the command.  If you get comfortable with this, then you can easily learn sed, which is a great tool to have on the command line.

Want to use DNF? What to expect…

DNF actually DOES stand for something… Not sure where that started.

DNF stands for Dandified yum

DNF started showing up in Fedora 18, and Fedora 20 was the first Linux distro that welcomed users to utilize  DNF in place of YUM.

The technical challenges of DNF are that there is little or no support for features:

  • Debug
  • Verbose output
  • Enable Repository
  • Exclude packages during install
  • No effect of –skip-broken switch
  • The command resolvedep unavailable
  • The option skip_if_unavailable is ON by default
  • Dependency resolving process is not visible in Command Line
  • Parallel downloads in future release
  • Undo History
  • Delta RPM
  • Bash completion
  • Auto-remove
  • many others…


In short, if you drink the cool-aid then you should run this in a lab only.  I know people that try to run this stuff in production.  You are just asking for a serious problem. Other than that, I hope it gets there, DNF is just too new.

who did what with ROOT?!

When you are not sure who is using SUDO on a server, and you really need to know who keeps making that annoying change.  You can install something to watch them, and maintain that software and related logs. Keep it setup in your package management system, and make sure it doesn’t have any patches.


You could use the little-known (at least those I have asked in the field) modifications I will list below.  They are two fold.  One, you will enable to record who logs in and uses SUDO, and records their session. Much like many pieces of software out there today.  The one catch to my method is simple.  You already have the software installed, yup this has been a feature of SUDO since version 1.7.4p4.  So nothing else to install, worry about, or maintain.  It is also very easy to setup, see below:

/etc/sudoers modifcation:
All you need to do is to add 2 tags to all required sudoers entries.
*(where "su" specified, either with command or alias). 

Add the following default log dir structure to sudoers:
Defaults iolog_dir=/var/log/sudo-io/%{user}
Output is logged to the directory specified by the iolog_dir option (/var/log/sudo-io by default) using a unique session ID that is included in the normal sudo log line, prefixed with TSID=.  The iolog_file option may be used to control the format of the session ID.  Output logs may be viewed with the
sudoreplay(8) utility, which can also be used to list or search the available logs.   Keeping in mind that if the user has a really long session you will be viewing it like a movie, it will replay as if he is sitting there typing.  With this in mind, sudoreplay gives you the ability to play back at faster speeds.  This makes it easier to find where things happened in a long recording.

So that is one good method to help find a culprit, but what if you are just looking at history of root?  Can you tell me who ran what? Can you tell me when they ran the commands you see when you type ‘history’?  By default, no.  The next tidbit of info is very useful, and extremely easy to add to your machines.  Simply add the following to your /etc/profile:

export HISTTIMEFORMAT=”%d.%m.%y %T “

Yes, that is a space at the end.  If you do not put that in there you will end up with it running together with the actual command typed in history.  So your history should look like the example below:

1995 06.10.15 13:08:05 top
1996 06.10.15 13:08:05 clear
1997 06.10.15 13:08:05 df -h
1998 06.10.15 13:08:05 umount /media
1999 06.10.15 13:08:05 sudo umount /media
2000 06.10.15 13:08:05 sudo su –
2001 06.10.15 13:08:07 history

I hope this helps someone save some time, as it has me.  Please feel free to share with others.




If you use Microsoft, you get what you deserve…

…only if you read this and keep using it…


     If you use Microsoft, it doesn’t make you dumb. We all know its the most popular, and shoved down your throat by the $2,000,000,000 they spend a year trying to sway your opinion.  Not to mention the bullying tactics I have seen first hand in the B2B space.

Keep in mind I am not talking solely about privacy as seen in the picture below.  However, that alone should be enough for any business to stop using them immediately.  Most companies are afraid of change, because it usually costs money. Although, if you truly calculate the costs of running Microsoft as an OS you will see that it is much higher.  Not only is it fiscally irresponsible (not to mention ethically/morally), but if you are a software company; or one that relies on it heavily.  You will find that the completely horrid security of windows makes it a great target.  Combine that with uneducated users and you get the hackers favorite playground.

You may have noticed that I haven’t mentioned performance comparisons.  Thats because windows doesn’t even come close to the stability and speed of Linux/BSD.  Here is an experiment for you Windows users.  Try turning it on, and not doing anything and let it run for a month straight.  Then make note of when it crashes (because it will).  Then do the same with a vanilla Linux install. I turned my last laptop off after 376 days of uptime.



The Nightmare of Azkaban with Hive (Hadoop)

I have been working on a deployment of Azkaban for about a week now; and getting the server up and running was easy.  However I have had many major issues with Azkaban since day one.  I feel like sharing this could help someone else if they decide to use it.


  • It has dependency flows that are easy to use.
  • ACLs
  • Pretty Graphs
  • Scheduling (Kinda its purpose)
  • Good API


  • Hive/Pig and Possibly other Jobtypes simply do not work.
    • After many hours of searching I found there is a bug in the jobtypes plugin, and it has not been fixed.
      • You must completely recompile with the newer version to have these job types work.
    • The Newest version of Azkaban is no where close to the version they have on their site.
      • This also is not compiled, you will have to do it manually.
    • The Documentation is full of errors, bad links, and omissions (at best).
      • Not to mention it is all for 2.5, when 3.x is out.
      • SSL Keystore Doc Links are all bad (major setup step).
    • No Packages for YUM/APT/ZYPPER/etc
      • I would have thought someone would have done this by now
        • I created some using FPM
    • No INIT script built. (Azkaban Init Script)

So, in closing as you can see the project has good intentions but that’s about it.  Its not ready for prime time, and they really need to get their stuff together.  If it were cleaned up and recompiled, and packaged.  It would probably be an OK product. However, the lack of organization and communication will be what prevent me from recommending this for any of my personal customers going forward.  I hope this helps anyone considering this product.


Matthew Curry

Your Favorite IDE/Editor (GUI)

I have tried many editors in Linux, Mac, and even Winblows.  However, none of them like this…  Please take a look at this video and you will be surprised at the customization that is possible with this editor.  No matter your language, theme, or plugin preferences.  It also has its own package manger to mange all the awesomeness so you dont get corn-fused…