"Save me, oh God, from people who have no sense of humor."
— Ludlow Porch

Reversing the mouse wheel scroll on Windows 10.

Update 5/2/2017: My Windows 10 computer took a new, large update yesterday called the "Windows 10 Creator's Update", and it broke this fix. My mouse now scrolls in the un-natural Windows way again. After checking the registry, the FlipFlopWheel parameter had indeed been switched back to 0 because of the update. This isn't OK Microsoft. I had specifically set that value so that my mouse scrolls the way I want it to. The only way that value is going to be set to something other than 0, is that the user set it that way. For you to come in with your updates and break the user defined functionality is certainly NOT OK! 

Update 8/31/2017: I have since installed two more large Microsoft updates and they each also reset my mouse scroll wheel direction to THEIR preference. I know it's a small thing, but it underscores Microsoft's lack of respect for their user base. There is literally no reason why Microsoft keeps resetting a value that the user has specifically set, whenever they install updates.

Update 8/9/2019: I took Microsoft's big update yesterday just as I was shutting down for the day, and this morning I come in to find my mouse wheel settings, reset back to the default. There's really no excuse for this. Plus, this time I had to restart my PC before the new mouse wheel settings would take effect. Just unplugging my mouse dongle didn't cause the mouse to reload its settings.

Update 3/5/2020: The OS took another update last night, and ... broke my mouse wheel settings. Ugh. I'm glad I posted this some years ago and have it available to refer to when I need it. I love me.

I am used to macs now and I have come to like the reversed mouse scroll wheel setting that they use. When I have to use a Windows or Linux machine, I always have to "fix" the mouse scroll because it drives me crazy.

Here's how to fix it on Windows. Copied from Volker Voecking's blog where he shows how to do it on Windows 7. Luckily it still works on Windows 10...

  1. Find the hardware ID of the mouse

    • Go to the mouse control panel
    • Select “Hardware” tab
    • Click “Properties” button
    • Select “Details” tab
    • From the drop-down list choose “Hardware IDs”
    • Save the VID*** entry ( e.g. VID_045E&PID_0039 )

  2. Find and change the corresponding configuration settings in the registry

    • Run regedit.exe
    • Open Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID
    • Here you should find an entry for the hardware ID of your mouse
    • In all sub-keys of the hardware id key look for the “DeviceParameters” key and change the “FlipFlopWheel” value from 0 to 1. Some of the sub-keys may not have the "FlipFlopWheel" setting. Ignore those and move on.

  3. Make it work

    • Unplug the mouse
    • Count to five :-)
    • Plug the mouse back in
    • Update 8/2019 - You may have to restart for the changes to take effect.

For Linux... 

I use Ubuntu Gnome and this works for me. Different distros / desktops may require different instructions. Good luck!

Create a file in your home directory called ".Xmodmap"

    • Run a terminal
    • Type cd ~ to get to your home directory if you're not already there.
    • execute the following command
      sudo gedit .Xmodmap
    • Type your password if it is required
    • *Type the following line in the text file...
      pointer = 1 2 3 5 4 6 7 8 9 10 11 12
    • Save the file
    *Note that the 5 and 4 are reversed in the number list above. This is what flips the scroll wheel's direction.

Unplug the mouse for five seconds and then plug it back in.

Expecting Professionalism

This is a great presentation by Robert C. Martin. If you care about doing software development right, then watch...


  1. We Will Not Ship Shit!
  2. We Will Always Be Deployable after each sprint.
  3. Stable Productivity.
  4. Inexpensive Adaptability - Easy change.
  5. Continuous Improvement over time.
  6. Fearless Competence thanks to unit tests.
  7. Extreme Quality with consistent issue tracking.
  8. Don't Dump On QA.
  9. No fragile system components.
  10. Cover For Each Other. Make one's self replaceable.
  11. Give honest estimates
  12. Say "No" constructively
  13. Continuous Aggressive Learning
  14. Mentoring - Perpetual Inexperience.

Shame on you CIA

Cisco recently announced a vulnerability in 300 OF THEIR SWITCH MODELS in the recent Wikileaks Vault 7 dump. Apparently the CIA discovered the vulnerability and created an exploit for it for their own nefarious purposes, rather than informing Cisco so they could fix it.

Those of you who blindly trust your government to "keep you safe", there you go. There should be sanctions levied against the CIA for this clear violation of public trust. There won't be though.

If you're using Cisco switches, you should disable telnet immediately and keep it disabled until further notice. Cisco will be pushing out the updates as soon as possible.

Did Your New High-End Android Smartphone Come With Some Un-welcome Software?


Apparently security researchers have scanned a number of smartphones from the major manufacturers and found 36 types that came with malware pre-installed. Hacked Phone

The malware didn't come from Google, Samsung, or any of the manufacturers. Rather it was installed somewhere along the supply-chain before it arrived at the distributer's warehouse. The two malware applications found were Loki and SLocker. Loki is a back-door app that gives the attackers full access to the phone and all data on it; and SLocker is a ransomware app.

How would you feel knowing that your new Android smartphone was already pre-installed with ramsomware, and the attackers are just waiting for you to get a bunch of valuable data on it, before locking it down and demanding a $1000 ransom, payable only in bitcoin? 

Would purchasing your phone from a known entity like Best Buy help to mitigate the risk? I don't know and I'm not sure anyone does at this time.

Here's the list of smartphones found to be pre-infected:

Galaxy Note 2 Galaxy Tab S2
LG G4 Galaxy Tab 2
Galaxy S7 Oppo N3
Galaxy S4 Oppo N3
Galaxy Note 4 Vivo X6 plus
Galaxy Note 5 Nexus 5
Xiaomi Mi 4i Nexus 5X
Galaxy A5 Asus Zenfone 2
ZTE x500 LenovoS90
Galaxy Note 3 OppoR7 plus
Galaxy Note Edge Xiaomi Redmi
Lenovo A850  


Why? How? WHY? are people falling for this?

And I presume they are constantly falling for this, because these just keep coming.


Even if it were a real shipment, why on earth would I need to review the shipping label? When the package arrives the label will be on it. Can't I just review it then?

And hey Alberto, if that's your real name (It isn't), why did you ship a package "at" December 8? And why Mr. Haley the <wink wink>postal worker</wink wink>, are you emailing me from a german domain, Too lazy to properly spoof or

How dumb are you if you open that attachment? DON'T OPEN THAT ATTACHMENT! You didn't order anything, and if you did this phishing email has NOTHING TO DO WITH IT.

Jeez. If people will just stop falling for this obviously clear-cut BS, the internet would only have 5.2 million other terrible things on it.

I haven't opened one and don't have time to do it now, but maybe after work tonight I will spin up my forensics machine, snapshot a Kali VM and open up the attachment to see what's in it.

Stay tuned.

Using Dark Patterns Against Your Customers.

This is a good description of "Dark Patterns" and why honorable software developers should push back against this type of design. People will naturally gravitate towards evil and must be guided toward doing good. Evil is the norm while good is an aberration.

Strive to do good in all things.

Clint Eastwood Banned from Twitter?

I got this in my Twitter highlight feed...

EastwoodUSA Tweet

I clicked on it to see the response and I got this...


Quite surprised about this I was! Everyone knows Clint Eastwood to be staunchly conservative and this is a pretty benign tweet; so I did a little digging. It didn't take long to determine that @EastwoodUSA isn't Clint Eastwood's Twitter name. His real Twitter name is, "@Eastwood_". Apparently someone who wanted to make him look bad, created a fake account and posted all sorts of stuff on Twitter. The media was awash with consternation for Clint Eastwood, until someone tipped off Twitter that it wasn't actually him.

You'd think our media would be a little smarter about falling for that kind of stuff. What happened to journalism; to checking one's sources? Here is one of the retractions that the media had to issue. This one from the Washington Post, here...

wapo retraction


Sirius XM Has Gone Rogue

So I'm trying to get my SiriusXM player to work this morning and I see this...

Yeah... Firefox has blocked 95 popup windows. Thank you Firefox and Wassup SiriusXM?

The Samsung CLX-3185FW sucks. Don't buy one.

A couple of years ago I bought a Samsung CLX-3185FW. It prints beautifully and has lots of nice features, but it jammed CONSTANTLY! A friend of mine bought one just like it at the same time. He got fed up with his jamming constantly and eventually smashed it to pieces in his driveway.

Checking Amazon for this printer I see that 45% of the reviews are 1 star...

I replaced mine with a nice HP printer, but recently I needed another printer in my office, and I pulled the CLX-3185FW out of storage and fired it up. The first few pages printed great. Beautiful color and no jamming... then it jammed. and again, and again, and again.

The jamming kept happening in the fuser area so I took it apart to see what was going on, and here is what I saw...

The fuser was completely boogered up in the same spot where it jammed constantly. Also, the fuser roller was all wrinkly and messed up too...

It's weird that the fusers on both of our printers were bad from day one, but I'm positive that they were. In order to get the fuser out of the printer, it was totally destroyed. At least it was destroyed surgically and not smashed all over the driveway out of anger.

The moral of the story is, don't buy a Samsung printer... or a Galaxy Note 7. Apparently Samsung doesn't give a rip about quality. Remember, Samsung is the same comapny that ripped the Google search out of its Fascinate Android phone, and shoe-horned Bing in there instead, with no way to remove it and set the OS back to normal. Microsoft paid Samsung to screw up their phone. without regard to what the customers wanted, and they were more than happy to do so. There was a ton of pushback, and as far as I know they never did that particular evil thing again, but it just goes to show you that Samsung don't care about you.

Installing Apache Tomcat on Fedora.

I recently posted this on the Fedora forum, but thought it might be good to post it here too...

to expand upon luqman's answer...

Install Tomcat by issuing the terminal command ...

sudo dnf install tomcat

Enter your password to allow sudo to give dnf admin permissions.

In case you wanted more information on setting up and using Tomcat once it's installed, here you go... These notes are for Fedora 24, but may work on older versions that have support for dnf. Otherwise try replacing "dnf" with "yum" in these instructions.

To install the webapps, run ...

 sudo dnf install tomcat-webapps

Then issue the command...

service tomcat restart

and enter your password in the challenge screen. Now you should be able to bring up a browser and navigate to http://localhost:8080 and see Tomcat running.


  • on Fedora 24, dnf installs Tomcat to /usr/share/tomcat

  • If you want to install the Tomcat management tools run sudo dnf install tomcat-admin-webapps

  • To set the tomcat admin password, edit /usr/share/tomcat/conf/tomcat-users.xml like this... sudo vi /usr/share/tomcat/conf/tomcat-users.xml Un-comment these lines near the bottom...

    <role rolename="admin"/>
    <role rolename="admin-gui"/> <role rolename="admin-script"/> <role rolename="manager"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user name="admin" password="<must-be-changed>" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />

Change the <must-be-changed> to whatever password you want. You can also change the username to something other than "admin" if you like. Save the file :wq and then run...

    service tomcat restart

To restart tomcat and load the new values. Every time you make a change to Tomcat, you need to re-run "service tomcat restart" to cause it to reload.

Browse to http://localhost:8080 and click on the [Manager App] button. Enter the username "admin" or whater you changed it to, and the password you put in the tomcat-users.xml file and you are logged in to the Tomcat Application Manager.

Have a lot of fun! O_o