Summer Solstice 2015 in Catfood Earth

Updated on Thursday, November 12, 2015

Summer Solstice 2015 in Catfood Earth

Summer starts right now in the Northern Hemisphere, Winter in the southern. Rendered in Catfood Earth with the timezone layer (Windows, Android).

(previously, previously)

Catfood Earth 3.40

Updated on Wednesday, February 22, 2017

Catfood Earth 3.40

I've just released Catfood Earth 3.40 for Windows and 1.50 for Android.

Both updates fix a problem with the clouds layer not updating. The Android update also adds compatibility for Android 5 / Lollipop.

Also, Catfood Earth for Android is now free. I had been charging $0.99 for the Android version but I've reached the conclusion that I'm never going to retire based on this (or even buy more than a couple of beers) so it's not worth the hassle. Catfood Earth for Windows has been free since 3.20.

Enjoy!

Vernal Equinox 2015

Updated on Wednesday, February 22, 2017

Vernal equinox 2015 in Catfood Earth

Spring starts right now, unless you're south of the equator in which case welcome to Autumn. Rendered in Catfood Earth (Windows, Android).

(Previously)

Volcanoes Back (Catfood Earth 3.30)

Updated on Wednesday, February 22, 2017

Volcanoes Back (Catfood Earth 3.30)

Catfood Earth fans will want to download Catfood Earth 3.30. This update fixes a problem where volcanoes were all plotted in the middle of the screen.

Winter Solstice 2014

Updated on Thursday, November 12, 2015

Winter Solstice 2014

Winter starts now in the northern hemisphere, Summer south of the equator. Rendered in Catfood Earth (Windows, Android).​ Now read why mornings will continue to get darker for the next couple of weeks.

(Previously)

Crushing PNGs in .NET

Updated on Thursday, May 13, 2021

Crushing PNGs in .NET

I'm working on page speed and Google PageSpeed Insights is telling me that my PNGs are just way too large. Sadly .NET does not provide any way to optimize PNG images so there is no easy fix - just unmanaged libraries and command line tools.

I have an allergy to manual processes so I've lashed up some code to automatically find and optimize PNGs in my App_Data folder using PNGCRUSH. I can call CrushAllImages() to fix up everything or CrushImage() when I need to fix up a specific PNG. Code below:

Autumnal Equinox 2014

Updated on Wednesday, February 22, 2017

Autumnal Equinox 2014

Autumn starts now in the northern hemisphere, Spring in the southern. Rendered in Catfood Earth (Windows, Android).

(Previously)

Minify and inline CSS for ASP.NET MVC

Updated on Wednesday, April 28, 2021

ASP.NET has a CssMinify class (and a JavaScript variant as well) designed for use in the bundling pipeline. But what if you want to have your CSS minified and inline? Here is an action that is working for me (rendered into a style tag on my _Layout.cshtml using @Html.Action("InlineCss", "Home")).

Note that I'm using this to inline CSS for this blog. The pages are cached so I'm not worried about how well this action performs. My blog is also basically all landing pages so I'm also not worried about caching a non-inline version for later use, I just drop all the CSS on every page.

Summer Solstice 2014

Updated on Thursday, November 12, 2015

Summer Solstice 2014

It's the start of Summer in the Northern Hemisphere, Winter if you live south of the equator or in San Francisco. Rendered in Catfood Earth.

Vernal Equinox 2014

Updated on Thursday, November 12, 2015

Vernal Equinox 2014

It's spring time in the northern hemisphere, autumn if your water flows the wrong way down the plughole. Rendered in Catfood Earth.