In this post I’ll tell you a bit about K9s, which is an open source, command line interface for Kubernetes that makes me feel like a super hero. I’ll tell you what K9s is, why I like it so much, and what the trade-offs are. I hope that to convince you to give it a shot, and that you’ll love it as much as I do.[Read more…]
Coding Blocks is excited to be hosting a Game Jam on itch.io January 21-24.
This Game Jam is a light-hearted and creative challenge where you and other devs in the Coding Blocks community make a game over the course of a few days.
The goal is to learn something new and practice old skills by bring something new and cool and fun into the world.
Everything is free, and you can sign up now over on itch so head there for more info: https://itch.io/jam/coding-blocks-2021
There is a lot of value in truly finishing a side-project. You can look back with pride at your accomplishment, and it’s a pleasure to share. Also, that last bit of a project is where you gain most of the benefits. It’s no surprise that it’s easier to walk away when things get tough or complicated, but you get more value out of seeing those things through. I am still stopping though, because I am happy with what I’ve gotten from this project, and ultimately I’m judging that the value I would get from continuing this project isn’t currently worth the opportunity cost. Simply put, there are other things I would rather be doing. I am ready to move on.
Below is a quick video walking you through the game, I think this is more interesting than playing the game yourself since it lets you see what I wanted to show, not just what’s there.
Okay, so I promised to sing a song if we got enough podcast reviews and, thanks to you, we kinda made it, and I kinda sang a song!
I dusted off a song I had written a while back for a Halloween gag I never went through with but..dang, I cannot sing. Rather than subject you to my voice, I hired an amazing singer on fiverr. Trust me, it’s better this way.
Anyway, here it is – a song, and a video, about the inevitability of making programming mistakes. Enjoy!
Are you looking for a simple getting started guide for working with Kotlin and Apache Beam? Well congratulations, you are in the right place. I’ve been doing some live coding on the subject, and I made a teeny tiny project to help me get started on new Beam projects quicker.
There is an official guide for getting started, so you should probably start there. However, that guide begins with a fully functional project and I prefer to build a minimum viable product from scratch that is easy to run in an IDE. So if you are like me, and prefer to type your own code then keep reading![Read more…]
I’m a big fan of audio learning, and of course there are tons of great, free, dev podcasts but did you know that there are quite a few great audiobooks for devs as well?
I’ve been a subscriber to Audible.com (and yes, these are affiliate links below) for a long time, but they have only recently started adding the types of programming books that I liked to read. I’ve kept track of the Audiobooks that I’ve picked up that intersect with books you frequently see on “best of ” lists. I’m proud to say I’m 6.5/7 through the list already and I’ve got the next one already on deck!
By no means have I seen everything there is to see in the world of development, but I have been around long enough to see the change from needing a single database which housed all your data, to this world where there’s SO MUCH data that you couldn’t possibly store it all in a single database, on a single server, or in many cases, not a dozen servers.
As the volume of data has increased, we’ve seen new patterns emerge such as microservices, database sharding and more. Many times those tasked with adapting to these changes try to take our existing toolsets such as languages, or database technologies and we try to force them to handle those changes along the way. Ever heard that saying, “When you have a hammer, everything looks like a nail”. Check it out – there’s an entire Wikipedia article dedicated to it here.
I suggest that it is incumbent on you, as a developer, as a manager, or a director, or a leader…someone in the capacity making technological decisions to make yourself aware of tools that already exist to solve the technical challenges you or your organization encounter.[Read more…]
New Year’s is my favorite holiday because I find the notion of periodic renewal invigorating. Let that old lasagna be forgot, I want to move forward! Overall, I was pretty happy with how my technical skills progressed last year, but I think I can do better. Much better.
This year I’m done trying to micromanage my future with limited information. I want to keep things simple by setting a high level focus and prioritizing habits over static goals.[Read more…]
I’m happy to announce that I’m taking part in the The Third Annual C# Advent this year along side many great articles and podcasts. If you have even a passing interest in C# then you should go check it out and follow all of the authors on social media!
Okay, enough with the niceties! See, when it comes to holidays I am more of a Grinch than a Griswold so I’m going to show you how to do something in C# that is cool, powerful, and … dangerous! I’m going to show you how, from a website, to invoke processes in a command shell and stream the results back to the browser via SignalR.
And before we get any further I should note, this blog post will not be a good introduction to SignalR, that documentation already exists. This article is intended for developers who have web development experience with C#, and are at least somewhat familiar with the concepts of SignalR, and web sockets.
But first, a disclaimer:
Warning! We are literally about to create a remote code execution injection vulnerability, as it allows any user or process with access to the website to run arbitrary commands. However, there are times when you may want to do something similar, very carefully and in a limited fashion. Check out Azure Cloud Shell and Coder.com for examples of web apps that let you interact with shells in a browser.
Now, with the disclaimer out of the way – let’s get our hands dirty![Read more…]
One of the few things that developers can agree on is that the interview process is terribly broken. There are ideas about how to fix it (links below) but the industry has yet to come to a consensus on a better way forward.
Many developers are particularly aggravated by the way some organizations insist on “academic” interview problems that test developers skill with algorithms and (big O) algorithmic analysis. The argument is that these types of problems are often irrelevant to the job, rewarding antiquated knowledge over practical skill, and are biased in favor of developers with more time and resources to spend on preparation.
Now, before we continue let me get this out of the way:
I agree with those arguments!