Tag Archives: Programming

Functional Programming with Arrays

As object oriented programming starts to fall out of favor with developers, functional programming is making a comeback. Reasons such as side effects and unit testability are hastening it. The Telerik developer blog has a great post up detailing functional programming with arrays.

They have examples of map, filter, and of the lesser known reduce. There is even a pretty easy to understand example of currying in javascript. All in all, if you are new to javascript or coming up to the newer syntax, this post is a great teaching tool. And honestly it is also a great reference to keep when you have that mid-day coding session brain fart.

Telerik blog: https://www.telerik.com/blogs/functional-programming-with-javascript-object-arrays

Visual Studio Code Tips and Tricks

Visual Studio Code
Visual Studio Code

As I’ve really started to use Visual Studio Code as my daily editor of choice, I can never remember all of the little tips and hints you hear on podcasts. Thankfully  the VS Code team has a great little doc up that you can use to refresh your memory. I really like the tip of using the automated script to allow command line access on the Mac. I couldn’t remember how to do that.

Visual Studio Code Tips and Tricks

John Papa – Readable Code

John Papa gave a great talk at NgConf this year about readable code. It is a great listen for new and old developers alike. The ideas in here are highly important, especially for projects with multiple developers and projects that aren’t your own. I’ve tried to take these ideas to heart and make sure all of my junior devs do too. Take 15 minutes out of your day to give this a watch.

Render Blocking CSS

When building a performant web site, we all always look to the complexity of our DOM, file sizes, and bundle size/splitting to drive the performance of our web site. One thing we always seem to forget is that CSS is a render blocking asset. The complexity and breadth of the CSS we built will block rendering and give the user a poor experience, especially on an underpowered device.

Google dev resources has a good writeup here.

Why Good Logging Is Important

One thing that you learn as you rise in your career as a software developer is that good logging is very important. I had a great experience of why writing out as much data as you can is important.

A client of ours has been load testing our application before their production pilot. During the load test I noticed in our single sign on routine that we were getting primary key errors on role insertion. Being that this was one of the first things I had worked on early in my career, I had not done any duplicate checking on the roles. After fixing that, we received the results of the second round of testing. We were still getting duplicate errors! I frantically and frustratingly went back an retested my logic over and over again. Not once would it try to insert a duplicate.

Finally after combing the logs I noticed one tiny discrepancy between the logging lines where the duplicate role was trying to be inserted. The process ID was the same, but the Thread ID was different. Because we are calling an external service before the insertion, we have a thread collision occurring and trying to insert the same user in two separate threads. Granted this is mostly due to the fact that there are only a few user id’s being used during the load testing, it still can be something that can be seen in production.

Had we not logged this out, I’d still be beating my head against a wall to try to figure it out. Now to come up with a bulletproof solution for the thread collision problem.