Made with Drew

Recovering JavaScript developer

Turn Up the Heat Level 9 Week 11

Week 11 Category Tx Sample Quantity Meal 1 Bread 3 bran flakes 1.5 cups Fruit 1 blueberries 1 cup Meat 3 egg white 9 items Meal 2 Meat(nut) 1 pumpkin seeds 1⁄8 cup Vegetable 1 Celery 2 cups Meal 3 Bread 1.5 lentils 1⁄2 cup Meat 8 chicken Vegetable 2 carrots 1 cup Meal 4 Fruit 1 pear 1 item Meat (nut) 1 almonds 1⁄8 cup Meal 5 Meat 4

Turn Up the Heat Level 9 Week 10

Decided it was easiest to post these on the blog. Week 10 Category Tx Sample food Quantity Meal 1 Fruit 2 banana 1 item shake 2 whey protein shake 2 scoops Meal 2 Meat (Nut) 1 almond butter 1 tbsp Vegetable 1 jicama 0.5 cup Meal 3 Meat 8 flank steak 8 oz Vegetable 3 peppers 3 cups Meal 4 Meat (Nut) 1 olives 20 items Vegetable 1 cucumber 2

Christina Wells - Modernize

My wife has started as Director of Recruiting at Modernize. Her job move is featured in Austin Business Journal Modernize helps to create a fresh experience to help homeowners looking to upgrade their home by providing educational content and ideas for inspiration. Modernize also have relationships with the top contractors in the industry who can help make your dream a reality. I couldn’t be more proud! Congrats my love!

Go benchmark md5 sha1 sha256

I needed to add checksums for caching url resources. The internet was surprisingly vacant of good benchmarks of different hashing methods. It’s very easy to do these kinds of tests in Go, so here’s one. Go has a well crafted hash package. Then to use a specific hashing function, simply implement this interface with one of the many available crypto functions. For this test, I only tested md5, sha1, sha256, and the 32bit hash crc32.

Division by Zero

Found some interesting idiosyncrasies while doing some floating point math. float64(1) / 0 // panic: division by zero float64(1) / float64(0) // panic: division by zero All good so far, then it gets more interesting. var f1 float64 f1 = float64(0) float64(1) / f1 // +Inf float64(0) / f1 // NaN It appears the compiler provides some safety when using static types, but does not provide the same benefit for variables.

Spotify Crashing on iOS8

If you’re experiencing Spotify crashes after upgrading to iOS8, try this little trick. Open Settings > General > Language & Region Switch Region to another country (I used Uruguay), now open Spotify. If that worked, switch your Region back to United States. Happy Spotifying

Statically Linking C to Go

A little trick to statically link C to Golang with cgo There’s a lot of information out there about how to link C and Go. I found it took a combinaton of all of that information to properly statically link my C code to Go. I will preface this by saying I’m not a native C developer. Most of this research was done in an exploration of getting Go code linking against C via trial and error.

Current browsers

The nice thing about working on the web is that it’s constantly evolving, this also turns out to be a challenging part of working on the web. We closely monitor our traffic by platform (desktop, tablet, phone) and by browser (Chrome, Firefox, IE, Safari, etc). This data is very useful when we see sudden traffic changes. Every now and then, we will pick up issues with page completion rate in a browser.

Choosing a Go Web Framework

It’s very easy to write your own website in Go. Just check out the very excellently documented http package. However, there’s a lot more to building a website than serving content. There’s many things to think about: Session management Caching Logging Database access Asynchronous job queue Development and deployment tools MVC or other architectural pattern It’s easy to go rambo on this effort writing your own session management and logging library, but your time my be better served checking out some of the open source libraries being developed and there are many available.

Simple concurrency in Go

I have been hearing about Go a lot lately including it being the most requested language at my work. This got me interested in why people find it so appealing. Developer enthusiasm boils down to one of a few reasons: The New Hotness Marketing - Develop 50% faster, that’s more time for showers! Developers wanting to learn something new I fell very strongly into #3. I like to get my hands dirty, and learning a new language is a great way to do that.