We are an independent development group based in Buffalo, NY. We work together to help each other out in our fields and open source projects. We live by the name Silo City Labs and work towards a better future for each other.

Arm 64bit vs Xeon x86_64 performance on AWS

The reason for this test was to determine if arm was a viable option on aws. I noticed that arm had higher network throughputs and faster disk speeds on the aws pages. So I decided I would compare their performance using golang tests. The entire test cost me $0.68 using a quick spot instance. The comparison was done on two very similar instances of aws servers. On paper they would almost seem to function the same but arm was just a few cents more, but lets take a look on how they performed. [Read More]

Opt out of spectrum SPAM

Recently I discovered a way to opt out of all spectrum spam mail, calls, door to door salesmen. I have filled out the form and will wait patiently for my spam to stop. Hopefully my mailbox will be empty in the coming weeks.

To opt out of all spam online, mail etc just click the link below:

Opt Out Spectrum Spam

Silocitylabs Blog

Blog website
The blog when this article was written.

The Issue:

Previously on Wordpress we started noticing performance issues early on into the websites time on the web. Wordpress unfortunately is not very good with performance on high traffic websites.

The Solution:

We decided to try out a static site generator called hugo. After migrating we noticed extreme performance improvements. We made some more adjustments while the project was hot and decided to host on github public repo.

[Read More]

Quick Monitor and Restart in Golang

Go Applications On my desktop I was running a processing script that would occasionally hang at high CPU, so I wrote a quick script to monitor it and restart it. You can see it below and change it as needed. Run it like so after compiling to a binary nohup ./restart & The code package main import ( "fmt" "io/ioutil" "log" "os/exec" "runtime" "strconv" "strings" "time" ) func getCPUSample() (idle, total uint64) { contents, err := ioutil. [Read More]

Kafka Cheat Sheet

Throughout my time working with kafka I have developed great software to use with it. But while the software did many things there are other things I still resorted to this cheat sheet for. I have put together this list of commands which I will keep updated here as I find new links and commands that help. My kafka installtion was under /opt/kafka and you will need to change this to your path you installed kafka too. You can also create a symlink and just copy paste commands as they are after changing ip’s.

[Read More]

Getting Started with Golang

Go Applications A Go app can vary from 3 to millions of lines of code. They should also be written with one or multiple files with the extension .go You can use any text editor to write a Go program like nano, but our favorite and most supported is Visual Studio Code. Setting up a Go Environment For all of our tutorials we will be using VSCode to help us ease into the language. [Read More]

Ultra minimal Raspbian Image for Pi Zero and Zero W

I wanted to make a ultra lite image that I can quickly drop Go programs onto. This image had a few requirements, be under 300MB, have less than 20MB ram usage idle, startup in under 5 seconds. I will post below everything I did to strip this down so that it can be replicated in the future. Currently with the steps below I have achieved 427MB/16MB, close to my goal for disk and memory usage is below the goal. As for bootup time, I am limited by network connection time 5+ seconds.

Install a fresh Raspbian Stretch Lite image into the SD card (source).

Configure headless SSH and Wi-Fi (if necessary) before starting the SD card (source).

[Read More]