Homelab 2017 refresh

My faithful Lenovo TS440 home server has reached its peak potential as I have maxed out the 32gb memory limit of the Intel E3 v3 architecture.

My needs for more CPU power and memory is driven by the idea of hyperconvergence. Which means I use a single machine to be my router/firewall, VPN gateway, network storage as well as virtual machine host.

Those themes have been part of my home network design since 2010 or so, today’s hot technologies are focusing on containers (LXC), Docker, etc. So I need a more powerful server in order to be able to expand my playground into those technologies. The 32gb maximum on my old server is simply not enough when you have 5 different VMs that consume almost all your memory resources (windows 10 VM, OSX one and my FreeNAS one being the top users of 75%+). Continue reading

3 week post-LASIK update

If you are following my LASIK journey, where I drove to Mexico to get it done. This is my 3 week post-op update.

I’ll keep it brief and summarize my experience over the past 3 weeks. If you read my initial post you know that I had moderate Hyperopia (farsightedness) plus astigmatism that I wanted to get corrected.

Continue reading

TeamViewer monitoring and instant push notifications

It has been almost a year since that massive reddit post with people freaking out about their TeamViewer accounts getting hacked [link].

Since then I have always wished team viewer would notify my cellphone every time someone connected or disconnected from my workstation, since I am the only user that connects to it I find the peace of mind extremely valuable and I wouldn’t mind getting some push notifications each time I used TeamViewer.

As TeamViewer themselves don’t have this feature I decided to write my own little program that will  send instant notifications to any phone for anyone connecting to your workstation using TeamViewer. Say hello to go-TValerts!


I have released my code as open source, written instructions on how to install and implement it. Find out more at github.com/TheLinuxGuy/go-tvalerts

I drove to Mexico to get LASIK eye surgery

This is a follow up post about my research for LASIK vision correction. You can read it here.

Why Mexico?

Based on the technology advantages of the AMARIS 1050RS laser system that is widely available in Europe, Latin America, Canada but not in the United States I ended up deciding to get my vision corrected using the latest technology. Continue reading

Xenserver 7.1 a good contender to replace esxi

I have been a big fan and user of vmware ESXi for years, I started playing with it since circa 2008. The bare metal hypervisor and its easy to use GUI on Windows makes virtualization management extremely easy.

However in the past couple of years the free version of esxi has moved to HTML5 web management, and in the latest ESXi version the Windows client (vSphere client) requires you to pay for a license a run a central vcenter server/vm in order to manage via GUI (non-web).

Continue reading

Troubleshooting networking issues after fresh install of proxmox VE 4.4

Writing a quick troubleshooting guide and informative post to address an issue I came across when installing Proxmox VE 4.4 on two of my machines.

On servers with more than two network interfaces Debian/Proxmox renames all interfaces and does not properly detect eth0 as the on-board ethernet as many other linux flavors. This may cause a mild headache if you just installed Proxmox with static IP addresses using the installer and upon reboot you can’t access any network resources. Continue reading

Why certain programs launch fine on Start > Run on Windows but not from the command line

On windows, if you run a program such as Chrome.exe (Google Chrome Web Browser) via control + R (run) it will launch without a hitch as long as the browser is installed.

However, if you open the command line and you attempt to run “chrome.exe” it will complain that the executable is not found in the %PATH%

This is because Control+R also looks up the registry values within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\

Which include all apps ever installed such as Chrome.exe, Firefox.exe, Excel.exe, Illustrator.exe, etc.

So if you are ever writing a program in your programming language of choice, using a Windows Registry check of the location (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths) for whatever.exe will be the perfect solution when that program is not in the System Environment variable %PATH%

How to flash Seagate firmware onto HP enterprise MB2000EAMZF drives

In my previous post I talked about how HP locks down their hard drives (made by Seagate) with custom firmware that is exclusive to HP and with the huge caveat that if you do not have an HP storage controller the software update package provided by HP won’t work for you at all.

I spent the past 48 hours researching and trying different things. I unpacked the official HP firmware and tried to find the binary/firmware dump from within the .scexe file provided by HP on their website to no avail.  I even contacted HP for help and they would not be willing to help if the drives were not connected to HP hardware.

After some research I discovered that the HP MB2000EAMZF 2TB drive I had was almost exactly the same (part number) as the official Seagate ST32000644NS  drive after failing to be able to flash HPs firmware using HP’s bootable Firmware Update 8.3 (injecting the .scexe files inside this live CD) – I decided I really had nothing to lose but try the method I will explain below.
Continue reading

Flashing new firmware on HP hard drives without proliant hardware

I purchased a few hard drives off ebay for Docker homelab that I am building and found a good deal on a 2TB HP Enterprise branded hard drive (basically a rebranded Seagate disk with HP stickers on them).

The disk actually is a Seagate ST32000644NS that HP calls it its own model MB2000EAMZF. Once the disks arrived and I was ready to test them I noticed a fatal flaw. Their firmware was very out of date and HP made a critical update that is mandatory for these drives to avoid them from failing due to 24/7 usage.

To my surprise although these drives are Seagate and the internals are exactly the same they run different firmwares, and Seagate’s tools or utilities will not flash or work on HP branded drives thus forcing you to grab the firmware updates from HP.

Seagate makes these firmware updates available for free and HP does as well but with one gotcha – you must run the firmware update tool in Hewlett Packard hardware or the firmware will not flash and there seems to be no workaround. Thumbs down to HP for locking down a critical firmware update to only run on HP Proliant server hardware (I have Dell but a SATA hard drive is recognized as a normal hdd on any brand computer thanks to computing standards).

Useful software development tools

This post is meant to be updated with useful tools for software development. I will only classify the tool and post a link to it, this post will be helpful for someone just starting out in devOps

API

  • Postman: allows to share, test, document & monitor APIs.

IDE

  • Visual Studio: Windows software development IDE (C#/WPF)
  • Jetbrains Webstorm: Javascript IDE that becomes powerful with plugins (I use it for writing Go code)

Text editors

Must have tools

  • Git (or Github Desktop or Git for Windows)
  • Linux terminal/bash (available on any Mac/Linux machine, for Windows download Git for Windows linked above)