JavaScript
How Can I Wordle Out of Housework?
Let me start this with a confession: I don’t (technically) play Wordle This is very important, as recently my wife came to me and proclaimed “I just got a “magnificent” in Wordle” (the blank look on my face definitely bumped up my heating bill for a few days). When I asked my daughter if she…
Read MoreFully Type-Safe JSON in TypeScript
There are several libraries available for validating JSON in TypeScript, but the ones that I am aware of have at least one of the following drawbacks. The type safety of TypeScript itself does not come into play until after the validation is complete. There is excessive boilerplate code, either manually created or generated. The flexibility…
Read MoreShareable ESLint/Prettier/TypeScript configurations
Modeling Hierarchical Data in Postgres
Hierarchical data has historically been a challenge with relational databases. There are well-known solutions for implementing a hierarchy in a purely relational fashion, but their complexity and performance are not generally desirable. To overcome this, some modern RDBMSs have a special data type for hierarchical values. In the case of Postgres, this data type is…
Read MoreImplementing An Internal Software Development Project In A Technology Consulting Firm (aka EATING YOUR OWN DOGFOOD!)
Part One “The task of the software development team is to engineer the illusion of simplicity” – Grady Booch At Pinnacle, we are blessed with a population of senior technologists well versed in a multitude of modern development languages, approaches, frameworks, tools, apps and processes. Each of these elements are honed daily in the…
Read MoreHTML5 WebSockets
All code and slides can be found on GitHub: https://github.com/thoward333/websockets-demo Know When You Need Real-time Real-time applications need instant updates from the server, often when an external event triggers the need to receive new data. The most popular solution involved long polling, where the page makes an AJAX call to the server that remains open until…
Read MoreSpring + REST + Angular: Consuming the API — Part 2 of 2
This series of posts builds a RESTful service that is consumed by an Angular front end. In this post we will create an Angular application that consumes the RESTful web service we built in Part 1 of the series. The source code for this sample application is on GitHub: https://github.com/thoward333/addrbook Angular Overview Angular is a…
Read MoreSpring + REST + Angular: Creating the API — Part 1 of 2
This series of posts builds a RESTful service that is consumed by an Angular front end. In this post we will create a RESTful web service built on Spring MVC that uses JSON. The source code for this sample application is on GitHub: https://github.com/thoward333/addrbook Service-Oriented Architecture With the growing popularity of Single Page Application (SPA)…
Read MoreEnabling IntelliSense for JavaScript Libraries in VS 2012
In Microsoft Visual Studio 2012, you can enable IntelliSense for commonly used JavaScript libraries such as jQuery and BackBone.js, as well as your own application-specific libraries.
Read MoreEffective Bench Warming
One of the benefits (or detriments, depending on your perspective) of being a consultant is that there is occasionally some down-time in between projects. Even though we typically have more work than available consultants, the logistics of coordinating our available resources with client schedules can lead to brief breaks while the next client is preparing…
Read More