CodeStock 2019 Thoughts

Overall

I thought the Codestock conference was pretty smooth this year. I’m glad the free sodas made a return (last year, a can of soda cost more than a Starbucks latte, though that wasn’t the conference’s choice). I wish there was a little more variety in talks – everything is still web/.NET/soft skills. That’s not to say there aren’t plenty of good talks – there are – but I keep hoping to see more Ruby/Python/Mobile/XR/etc type of talks so you have a more diverse (from a technical background) audience. It was hosted at the Knoxville Convention Center in downtown Knoxville, TN again this year. It’s a great space with plenty of room.

If you’ve never been, it’s a good deal if you’re anywhere close to Knoxville. Ticket prices vary each year, but it’s usually in the $125-$200 range if you get in at the “early bird” pricing. For that, you get two days of talks, lunch provided both days, a social event at the conference on Friday, and an after party later on Friday (though the after party doesn’t happen every year), and a nice conference T-shirt. It’s a great value overall.

I ended up having to skip Saturday due to illness, but here are the talks I attended on Friday.

Keynote: A Tale of Short Links

By Jeremy Likness
Slides

I enjoyed this talk, though it was a little different than previous keynotes. It was half about Jeremy’s history and half how he used Azure to solve a specific problem he had. I think the point of the talk was to point out how new tools are always becoming available that will save you time and/or money, so it’s important to stay on top of them.

Introducing .NET Core 3

By Jeffrey T. Fritz

This was a great overview/demo of .NET Core 3’s support for desktop apps. Jeff did a live demo where he converted a WinForms app over to .NET Core 3 without much trouble. He pointed out it was obviously a simple app and a production app would certainly take longer and have more fixes needed, but it works. The migration progress was a little clunky, but it sounds like that’s only because .NET Core 3 is still a few months out from being released – so all of the VS tooling is in flux or flat out missing at the moment.

Terraform: Everything as Code

By Andy Cowell

This was my first introduction to Terraform. I always had the impression it was similar in concept to a Dockerfile – not that it used Docker or any of that, but the same types of things you did in a Dockerfile would be what you did in Terraform…you were just targeting a physical server/VM instead of a container. My take away from this talk was Terraform wasn’t anything like that and it sounded like it was more trouble than it was worth. I came away from the talk wondering why you would actually use Terraform given how limited it sounded. Maybe it was just the introductory nature of the talk that a lot of important details were skipped, but from what I saw, I wasn’t encouraged to try Terraform.

Goodbye REST APIs. Hello GraphQL!

By Cory House
Slides & Resources

This was a pretty eye opening talk about GraphQL. I’ve heard of it and seen a few examples, but I didn’t understand how the backend was implemented. Cory didn’t get a chance to go into too much detail on the backend side of things, but he gave enough info in the talk to get a feel for what is going on. I can see why it’s a powerful technology and it’s something I think I’ll experiment with in the future. His suggestion was to wrap your existing REST APIs with GraphQL so you can use both depending on which one made sense in a given situation. I believe I’ll try to implement this in one of my personal projects to see how it works. I do wish we had more time to go through filtering/paging/security in the talk.

Drawing: How to be a Superhuman Communicator

By David Neal
Slides & Resources

This was another great talk. I always enjoy David’s talks because they are a bit different from the usual tech talks. I was familiar with the tools David talked about – basically using an iPad Pro + Apple pencil + Sketches Pro, but, I enjoyed seeing his live drawing demos just to get a feel for his process. I really want to try this type of sketching/illustration and his talk was a good motivator.

The Highs and Woes of Innovation on a Small and Highly Effective Team

By Branden Schwartz

This talk was about Branden’s experience building & working on a small team within a larger organization. There were some interesting tidbits of what worked/didn’t work for them. I was hoping to find some action items that might help my current team, but I can see the tips working better in a larger company vs a smaller company. I used to work for a giant 60,000+ employee company and I could see these tips being handy there. I still had a few takeaways for my own small team at a smaller company.

Jeff Fritz’s Live Twitch Stream

twitch.tv/csharpfritz

This wasn’t officially part of Codestock per se, but Jeff does lots of live coding on Twitch and was able to setup a Codestock twitch stream. He talked to the Codestock organizers, quite a few speakers, and a few sponsors. I hope he’ll make this a part of the yearly conference since.

Full Schedule

If you’re curious what types of talks are at Codestock, see this PDF built by Cody Lambert from KnoxDevs. The schedule always changes just a bit due to cancellations/travel issues/etc, but that’ll give you an idea of what you’ll likely see at Codestock.

Making MealMind #9: More Planning

For the last several weeks, I’ve put MealMind on the back burner. It’s probably going to remain there for the rest of October, and then it’ll pick back up in November. There are just too many things going on for me to focus on it at the moment.

That said, I’ve been trying to lay out a more specific plan of attack for MealMind when I have the time to get back to it. One of the big issues I’m struggling with is the fact that there are lots of different parts to MealMind, they are all interlinked, and there isn’t a clear place to start. I also haven’t broken it down into bite-sized pieces so I can pick up a small, well-defined task and knock it out.

I think I’m leaning toward working these things next:

  • Define a logical recipe & meal schema
  • Pick some sample recipes & meals and manually map them to the schema
  • Build out the logic code to perform this mapping with a suite a test cases to confirm the mapping is successful
  • Start tasking out the process to take this schema and scale it up/down, build a shopping list of ingredients from it, calculate nutrient information, etc

At the end of this process, I’d like to point the system at a specific recipe url and have it give me a schema back along with the nutrient calculations. If I can get this part out of the way, then I can make progress on several other parts of the system, but having a really quick and reliable way to get recipes into the system seems like a good place to start.

Making MealMind #8: No Progress

I had more going on this week than I planned, so I didn’t get a chance to make any progress. I’m hoping to get things back in gear this coming week. I had a good amount of momentum going when I built the proof of concept app, but I need to rebuild that momentum for this version. At the very least, I’d like to get a marketing page up for MealMind even if I don’t make much progress on building the backend features.

I did start thinking about building the mobile app again though. I think one of the critical features as far as adoption goes is to get recipes into the system quick & easy. With the proof of concept, I have to type in each ingredient, break up the quantity, units, and description and all of that. I’m not even capturing the recipe steps in the proof of concept, so I have to augment it with the Paprika app on my iPhone. It’s funny, there are quite a few apps out there that are good at organizing recipes, showing cooking steps, and building shopping lists, but none of them do meal planning the way I want it done. All of these apps are basically little silos of data so there isn’t a great way to plugin to them so I can add just the meal planning side. To do meal planning, I have to rebuild everything else (recipes, shopping lists, etc) or the meal plans aren’t usable.

On that front, one of my goals for MealMind is to have an API so you can import/export data easily and other apps can build on top of it. If you just want to use it as a recipe database, it should be able to do that. The only catch with other apps using it is that the existing formats aren’t great for what MealMind needs once we get to some features down the line. That’s a ways off though, so I’m sure there will be lots of additional thought going into that over time.