-
Learn how to reduce tightly-coupled services in serverless applications on AWS and discover the benefits of service discovery and how it can save time and effort in the development process... -
Building a Resilient Static Website on AWS
January 15, 2023 • AWS, Architecture, CloudFront, S3, Cloud ResiliencyAWS has great services for building a resilient static website and it isn't difficult, the real challenge comes with deploying it through infrastructure as code... -
AWS Prescriptive Guidance
January 10, 2023 • AWS, ArchitectureUse the AWS prescriptive guidance library to help build effective solutions and accelerate your cloud journey... -
Tracking Unhandled JavaScript Errors with Plausible.io
September 02, 2022 • plausible.io, analyticsI recently tried out Plausible as an alternative to running my own Countly. With Plausible I was able to reduce the effort I needed to put in as well as my costs, the only trade-off was giving up some advanced capabilities I didn’t use…
-
Using Lambda Function URLs to Collect Form Submissions
April 10, 2022 • AWS, LambdaThis past week AWS announced Lambda Function URLs, public endpoints you can enable for Lambda functions to allow them to be invoked. These endpoints can be authorized with IAM, or have no authorization. These new endpoints are well suited to one-off endpoints that don’t require all the capabilities of API Gateway. These URLs are very well suited for use with webhooks. You can also use them to enable functionality on websites and blogs, for example accepting form submissions. Function URLs come with built-in CORS support, so using Function URLs for calls from websites was something AWS had in mind…
-
Invoking AWS Lambda Functions from API Gateway and SQS
April 19, 2021 • AWS, API Gateway, SQS, LambdaI’ve noticed people trying to return HTTP status codes from AWS Lambda functions when those functions are set up to receive events from SQS. That’s not necessarily “wrong”, but it really isn’t necessary. What is wrong is returning an object that tries to set the response status code to 500 and expecting SQS to retry the message. That is not how this works, you’re not working with API Gateway…
-
AWS API Gateway Authorizers & Default Responses
July 02, 2020 • AWS, API GatewayA coworker of mine recently was having issues with calling an AWS API Gateway he had deployed. He was getting responses but no Lambda functions were being executed…
-
Article Roundup - May 22, 2020
May 22, 2020 • Article RoundupSpotify’s Failed #SquadGoals
Remember those super cool videos from Spotify on how they set up their agile teams? The ones that get you all excited for how smoothly agile can go? Turns out it doesn’t work as advertised and was never fully implemented. … -
Article Roundup - April 17, 2020
April 17, 2020 • Article RoundupMy favourite Git commit
It’s worth it to put some effort into git commit messages, especially when the change is truly consequential. This article shows off an amazing git commit message that is for a single character change. Without the message, you would never have been able to understand why this one change was ever occurring and the consequences it has. It’s a master class on git commit messages. … -
Article Roundup - April 3, 2020
April 03, 2020 • Article RoundupAll Pluralsight Content is Free in April
Pluralsight has opened up its content for free in April. I’ve used their videos in the past and they have some good content. If you’re stuck at home and want to try and use some videos to improve your skills give Pluralsight a try, you have nothing to lose. If you’d like to use a referral link, here you go. … -
Article Roundup - March 13, 2020
March 13, 2020 • Article RoundupReady for changes with Hexagonal Architecture
An internal development group was tasked with building an application that would touch a wide variety of data sources across the entire business. Worse still, they knew their data sources would change. To handle this they developed their application using the layered approach of the Hexagonal Architecture, completely divorcing their business logic and data sources. The business logic knew there was an interface to the data and that was all it needed. When a new data source came along all that was required was building code that implemented the interface and swapping things out. … -
Article Roundup - March 6, 2020
March 06, 2020 • Article RoundupGraphQL In Action: Introduction
GraphQL has been gaining a lot of popularity in recent years, and some of that for good reason. Instead of pulling down massive models and hierarchies from a REST API you build a GraphQL query that returns to you only exactly what you want. Nothing more, nothing less. When it comes to mobile development that can be a huge benefit. This article is an excerpt from an upcoming book on GraphQL and serves as a great introduction. … -
Article Roundup - February 28, 2020
February 28, 2020 • Article RoundupAmazon and commercial open source in the cloud: It’s complicated
The war between open source and Amazon/Insert Large Cloud Corporation Here is going to continue for a while. This article dives in and provides analysis and references on the different battles of the war and what the risks are. The article wraps up by discussing “The Commons” and relating the ongoing war to an issue generally seen with resources considered part of the Commons. It’s well worth skimming. … -
Article Roundup - February 21, 2020
February 21, 2020 • Article RoundupBest Practices for Secondary Indexes with DynamoDB - CloudProse
This is an excellent overview of AWS DynamoDB Secondary Index best practices. There’s not much else I can say; if you use DynamoDB make sure you at least skim this. It’s much easier to digest than AWS’s documentation. … -
Article Roundup - February 14, 2020
February 14, 2020 • Article RoundupSupercharge your command line experience: GitHub CLI is now in beta
If you work with GitHub and are frequently working in your terminal you may want to take a look at the GitHub CLI tool that is now in beta. It will let you view information about issues and pull requests associated with your repository. From there you can easily open a link to the item in your browser. … -
Article Roundup - February 7, 2020
February 07, 2020 • Article RoundupConference Talk Proposal Examples
Speaking at conferences is a great way to help your career, it gets your name out there and helps you learn public speaking. Some companies have internal opportunities to give talks, and those are great for practice but eventually, you’ll need to step up to a larger audience. This article discusses the proposals one speaker has put out and the things they learned along the way. … -
Article Roundup - January 31, 2020
January 31, 2020 • Article RoundupClean Code concepts adapted for JavaScript
Every example I can remember in Clean Code was in Java. That’s not necessarily an issue, but it doesn’t always translate cleanly to other languages, like JavaScript. That’s what this is. Examples of key concepts from Clean Code, but written in JavaScript. … -
Article Roundup - January 24, 2020
January 24, 2020 • Article RoundupNo, dynamic type systems are not inherently more open
There is a battle between static and dynamic typing in the programming world, and the battle will likely always be there so long as humans write code. I maintain that both dynamic and static types have their place. This article pushes against one particular argument used for why dynamic types are better in systems where types are unknown. … -
Article Roundup - January 17, 2020
January 17, 2020 • Article RoundupFrom 15,000 database connections to under 100: DigitalOcean’s tale of tech debt
Tech debt can be a nasty thing, but when the scale of your application or infrastructure keeps growing that tech debt can turn into a many-headed hydra. DigitalOcean is a developer-focused cloud hosting provider and has been enjoying quite a bit of success, but that success meant their tech debt was getting out of control. … -
Article Roundup - January 10, 2020
January 10, 2020 • Article RoundupDeming’s Rules of Management and Agile Methods
This article lists out W. Edwards Deming’s 14 key principles for transforming business effectiveness and compares and relates them to the Agile Manifesto and other agile methodologies. It’s an interesting read if you’re on an agile team in any sort of leadership role. … -
Article Roundup - January 3, 2020
January 03, 2020 • Article RoundupBeware SAFe (the Scaled Agile Framework for Enterprise), an Unholy Incarnation of Darkness
I’ve recently started on a project that is using SAFe, so this was an especially interesting article for me to read. I went through SAFe training last month and am expected to get my certification this month. I can see an understand a lot of the issues the author has run into. I’ve seen some of the same issues, others I’m not so sure about. I inherited a bad situation and it makes it difficult to puzzle out what is an issue with SAFe vs the previous lead’s leftovers vs other things. There is one major criticism I have on this article. The author or someone above them doesn’t understand what an Epic is if it has feature level details someone has done something wrong. … -
Article Roundup - December 13, 2019
December 13, 2019 • Article RoundupIt’s been another one-article kind of week.
-
Article Roundup - December 6, 2019
December 06, 2019 • Article RoundupI started a new project this week so it’s been long and I’ve been busy. So here’s one good solid link.
-
Article Roundup - November 22, 2019
November 22, 2019 • Article RoundupThe Relationship Between Modularity and Polymorphism
How much of your Object-Oriented theory do you remember? I don’t generally remember much of it and this article was a great refresher. It may have even gone into more detail than my OOP course in college did. OOP isn’t always important for everyone, but I know a couple of companies that are big on Clean Code and I’m sure they are at least starting to push Bob Martin’s Clean Architecture. … -
Article Roundup - November 15, 2019
November 15, 2019 • Article RoundupAnnouncing the Bytecode Alliance: Building a secure by default, composable future for WebAssembly – Mozilla Hacks - the Web developer blog
Recently the Bytecode Alliance was formed with Mozilla, Fastly, Intel, and Red Hat as founding members. The goal of the Alliance is to create standards and guide the development of WebAssembly outside the browser. By implementing “nano processes” with sandboxing and other features they hope to create a more secure ecosystem to help stop or slow down the spread of malicious code. … -
Article Roundup - November 8, 2019
November 08, 2019 • Article RoundupAddressing Technical Debt
Let’s talk about technical debt. You have it, I guarantee it. Maybe you’re lucky and it isn’t much, but it is still there. It’s not necessarily your code. It could be your documentation. It could be that you’re not using the latest version of your programming language. It’s always something and it will keep piling on until it becomes an issue. Take time and address it. You may not be building any new features, but you’re ensuring you don’t have more issues down the road. It’s like changing your car’s oil. … -
Article Roundup - November 1, 2019
November 01, 2019 • Article RoundupTechnical Considerations to Help Scale Your Product
It’s important to ensure you “right-size” your application. Scaling it to be too big too soon costs money, keeping it too small for too long costs you users. This article goes into what scaling means and how you should work on scaling an application from the cheapest options to the most expensive. … -
Article Roundup - October 25, 2019
October 25, 2019 • Article RoundupHow To Maximize Value at Tech Conferences (as an Introvert)
Conferences can be nerve-wracking and draining for a lot of people. I know they are for me. This article discusses how to get the most value out of attending a conference. … -
Article Roundup - October 18, 2019
October 18, 2019 • Article RoundupRules of Thumb for Software Engineering
There are plenty of great sources for details on programming guidelines, but it takes a bit of time to get through them. In the meantime, this article provides a great list that is short and will make your code better if you follow it. … -
Article Roundup - October 11, 2019
October 11, 2019 • Article RoundupDon’t lead by example
The title is a little misleading, it’s not that you shouldn’t lead by example. It’s that you need to chill out, set expectations, and be a part of the team. This article is a good read based on an engineer’s experience as a tech lead at Dropbox. … -
Article Roundup - October 4, 2019
October 04, 2019 • Article RoundupHacktoberfest presented by DigitalOcean and DEV
Hacktoberfest is here! Contribute to the open-source community during the month of October and receive a free t-shirt and stickers! … -
Article Roundup - September 27, 2019
September 27, 2019 • Article RoundupDecoupling Technical Code from Business Logic with Hexagonal Architecture
When building an application you want to try and keep your business logic easy to maintain. If your business logic is strewn throughout your entire application you’re going to run into trouble when finance wants that new practice implemented. This article discusses the hexagonal architecture, also called the ports and adapters architecture. Its entire purpose is to keep business logic separated from the rest of the application, allowing you to switch out APIs, storage, and other services without impacting your business logic. … -
Article Roundup - September 20, 2019
September 20, 2019 • Article RoundupDon’t get locked up into avoiding lock-in
If I had to select a single article to send out, it would be this one. A lot of people get worked up over avoiding vendor lock-in, but lock-in isn’t a black-and-white issue. It’s full of shades of grey and this article sorts through those shades, names them, and offers a strategy forward. … -
Article Roundup - September 13, 2019
September 13, 2019 • Article RoundupJakarta EE 8: The new era of Java EE explained - Red Hat Developer
I’ve always been a bit fuzzy on the alphabet soup that is Java, but I’m finally starting to get that all sorted out in my head. Java EE, now Jakarta EE, has gone open source. Jakarta EE 8 is a set of specifications extending Java SE, another set of specifications. With this change, some licensing issues are being cleared up and Java is working to positional itself for the cloud. … -
Article Roundup - September 6, 2019
September 06, 2019 • Article RoundupReact Hooks Mini Crash Course
React Hooks have been out for a bit now, but I haven’t had the chance to work with them or sit down and learn them. This article was originally a series of tweets and provides a great introduction to React Hooks. … -
Article Roundup - August 30, 2019
August 30, 2019 • Article RoundupComposing better emails
No matter how much you like your chat application, you probably are still sending a lot of emails. Take the time and learn to email well. This article has some common recommendations that can speed up understanding of a communication and make people’s job easier. … -
Article Roundup - August 23, 2019
August 23, 2019 • Article RoundupGet your work recognized: write a brag document
Have you ever been asked for a list of what all you accomplished in a given time period and drawn a blank? I can barely remember what I did last sprint, let alone 6 months ago. Keep a document that includes what you have done. It can be a short blurb about it, enough for you to fill in later, or it can be a whole explanation of the situation around the work. I’ve also seen it recommended to keep it in the format of what you’d put on a resume, even if some of the things are far too minor for a resume. … -
Article Roundup - August 16, 2019
August 16, 2019 • Article RoundupTwo Good Practices Agile Says You Don’t Need - DZone Agile
There isn’t much consistency in Agile, just the principals. Beyond that, it is the wild west. That’s part of the strength of it but also part of the weakness, it leads to a lot of misunderstandings. I’ve never seen Agile done the same way twice. This article focuses on two things that many people involved with Agile say you don’t need or shouldn’t have: specialists and initial planning. Sure, you can go without but that doesn’t mean it is a great idea. … -
Article Roundup - August 9, 2019
August 09, 2019 • Article RoundupWhy We Need To Talk About Burnout In The Tech Industry
Burnout seems to be a common thing in the technology industry, but that isn’t healthy. This article includes some things that can be done to combat burnout and what the symptoms are. Managers and contributors alike need to be mindful of these things, but ultimately you need to take care of yourself. Stay healthy. … -
Article Roundup - August 2, 2019
August 02, 2019 • Article RoundupCreating a Code Review Culture, Part 1: Organizations and Authors
Creating a Code Review Culture, Part 2: Code Reviewers
Code review is something I am very passionate about. This article walks through the parts of a culture that fully supports code review to its fullest. I wish I could say I had been involved in a code review culture this thought out, but I can’t. I’ve been involved in teams that have put a strong emphasis on code review and ones where it wasn’t as strong. I’ve even strong-armed my way through forcing thorough code review on people. All that to say, the culture of code review laid out in this series sounds excellent to me and I think it will be something I will aspire to build or be a part of at some point in my career… -
Article Roundup - July 26, 2019
July 26, 2019 • Article RoundupThe Evolution of Comcast’s Architecture Guild
Software architecture can get tricky in a large organization. You could have every team do their own thing, but that makes it hard for people to move around and leaders to keep track of everything and ensure things are built well and are kept secure. You could make a few people decide everything, but they are going to lose track of things and burn out very quickly. There is already an organization that creates all kinds of standards and does it very well, the Internet Engineering Task Force (IETF). They are the group responsible for all those RFCs you see scattered around online, like RFC 2616 which sets the standard for HTTP/1.1. The architects at Comcast decided to take a similar approach to the IETF and created working groups to help get people across the organization involved and distribute the decision making. The process seems clear-cut and they seem to be having a fair amount of success with it. … -
Article Roundup - July 19, 2019
July 19, 2019 • Article RoundupObject-Oriented Programming — The Trillion Dollar Disaster 🤦
This is certainly a divisive article, but it lays out a pretty good argument against Object-Oriented Programming in its current form. I’ve seen many of these same issues in the wild and they can make code bases unworkable for anyone other than their initial creator. It’s a longer article but well work the read. … -
Article Roundup - July 12, 2019
July 12, 2019 • Article RoundupUK ISP group names Mozilla ‘Internet Villain’ for supporting ‘DNS-over-HTTPS’
Mozilla is adding DNS over HTTPS to Firefox, and it’s not sitting very well with ISPs in the United Kingdom. DNS over HTTPS provides security around DNS queries, which currently are generally not encrypted at all. Without that encryption, someone can very easily see what websites you are visiting. In the UK ISPs are required by law to do a certain amount of filtering of the internet, and DNS over HTTPS would prevent the easiest way for them to do that. After the initial outcry, Mozilla released a statement clarifying that they did not intend to enable DNS over HTTPS by default in the UK. … -
Article Roundup - June 28, 2019
June 28, 2019 • Article RoundupFirefox Will Give You a Fake Browsing History to Fool Advertisers
Tired of all those ads following you around the internet and being super creepy? Give this site a try. It’s a collaboration between mschf internet studios and Mozilla Firefox. It will open a ton of sites making you look like one of a few specific profiles. … -
Article Roundup - June 21, 2019
June 21, 2019 • Article RoundupUp your Git game and clean up your history
If you use git for version control (which you probably do if you are doing any kind of version control) you really should learn to rebase. As long as you are careful and know what you are doing it isn’t necessarily an unsafe operation. This article should be a good introduction for rebasing and is worth a read. … -
Article Roundup - June 14, 2019
June 14, 2019 • Article RoundupI thought I could live without iMessage — and I was wrong
This article isn’t as technical as many are, but I went with it because it is more privacy-focused. It discusses encrypted messaging and where the strong points and weak points are for both iOS and Android and why you should care. … -
Article Roundup - June 7, 2019
June 07, 2019 • Article RoundupAssessing Your Options for Real-Time Message Buses
Today data busses and event streams are being needed more and more to handle the amount of data applications generate. This article runs through the major options and gives you a brief summary of what they offer. … -
Article Roundup - May 31, 2019
May 31, 2019 • Article RoundupMicrosoft launches React Native for Windows
React Native allows you to build native, or near-native, iOS and Android applications with React. Recently Microsoft has released React Native for Windows, making it possible to develop Windows apps with the same React syntax. As part of this Microsoft is rewriting many components in C++ for maximum performance. … -
Article Roundup - May 24, 2019
May 24, 2019 • Article RoundupTrans-inclusive Design
You hopefully remembered timezones when building your application, you may have even remembered to support more than two names, but did you take into account transgender and non-binary gender users? There more to it than just adding options to the “gender” dropdown, way more. This article provides an excellent overview, of what you should be doing to be trans-inclusive. Also, while the title says “design” it is more of a functionality and information architecture type of design. … -
Article Roundup - May 17, 2019
May 17, 2019 • Article RoundupAnnouncing Microsoft Web Template Studio
Microsoft has announced a new extension for Visual Studio Code called Web Template Studio. It’s still in very early development and currently only supports Express.js and React.js full-stack web apps, but there are plans for a lot more. It provides a simple wizard-style interface and allows you to generate your initial project. It looks like an interesting extension that will make things easier for many developers, but I expect to hear a lot of people complain that it seems too much like Visual Studio. Take a look, the extension is available for download. … -
Article Roundup - May 10, 2019
May 10, 2019 • Article RoundupMicrosoft has some great resources around software architectures and modern application architecture. I found these when looking for a good architecture reference and had to share them. Not quite what I needed, but still a valuable resource.
-
Article Roundup - May 3, 2019
May 03, 2019 • Article RoundupTinder’s move to Kubernetes
If you are interested in Kubernetes or running applications using containers this article is worth a read. Tinder has moved to use Kubernetes instead of plain EC2 instances but ran into some significant hurdles along the way. … -
Connascence - The Language You Have Been Needing in Code Review
April 25, 2019 • Connascence, Code ReviewToday I was attending Indy.Code() and I attended a single talk that I think will make the entire time at the conference worthwhile. The talk was A Physics of Software Design given by David Greg of the Kenzie Academy. The talk was about connascence, and I wish I had seen a talk like this years ago…
-
Article Roundup - April 19, 2019
April 19, 2019 • Article RoundupWhy software projects take longer than you think – a statistical model
Estimating software projects is hard and the bigger they get the harder it gets. Ever notice that the sum of your estimates is usually wrong? In this article, the author talks about some ideas they have had about project estimation and walks through some statistics around it. … -
Article Roundup - April 12, 2019
April 12, 2019 • Article RoundupNaming Conventions Do’s and Don’ts
Your class, function, and variable names matter. If you have read Clean Code, Pragmatic Programmer, or a host of other books you should already know that. This article focuses on JavaScript, but the concepts are universal. Some of the rules may or may not apply to the standards for other languages, but the concepts will mostly hold true. … -
Article Roundup - April 5, 2019
April 05, 2019 • Article RoundupEnriching Event-Driven Architectures with AWS Event Fork Pipelines
Event-Driven architectures are a popular way to deal with applications with a high throughput that require high-availability. Serverless computing works well with event-driven architectures, this article goes through building our the architecture with AWS Event Fork Pipelines. … -
Article Roundup - March 29, 2019
March 29, 2019 • Article Roundup5 steps for Disagreeing Effectively
Ever strongly disagreed with something, tried to push back, and gotten shut down? I have. You can’t win them all, but to win as many as possible you should take an effective reasoned approach. That is what this article is all about, disagreeing effectively. … -
Let's Encrypt - Cloudflare
March 26, 2019 • Let's Encrypt, Cloudflare, SSL, HTTPS[Let’s Encrypt][letsencrypt] and [certbot] are wonderful and make it easy, and cheap, to get SSL certificates setup. But sometimes your application or site isn’t really set up in one of the common patterns. One set up that I use a lot is to have the application running on my server, but have the Cloudflare CDN setup in front of the application. The default [NGINX method][nginx-certbot] won’t work in that case…
-
Article Roundup - March 22, 2019
March 22, 2019 • Article RoundupCloud Programming Simplified: A Berkeley View on Serverless Computing
I haven’t read the paper referenced here, but it is something I very much intend to read. In 2009 authors from UC Berkley weighed in on cloud computing. This time they weighed in on serverless computing. I look forward to seeing what they have to say. … -
Article Roundup - March 15, 2019
March 15, 2019 • Article RoundupPrinciples of Modern Application Development
This is a large article, but it is tackling a large topic: modern application development. They break things down into three main principals: keep it small, design for the developer, and make it networked. The principals lend themselves well to a microservices architecture, but they aren’t necessarily advocating for that. You can just as easily accomplish much of what they are looking for by building components or libraries. It’s a long read, but it’s a good read. … -
Article Roundup - March 8, 2019
March 08, 2019 • Article RoundupOpenAI built a text generator so good, it’s considered too dangerous to release
OpenAI is a non-profit artificial intelligence research company, and they recently built a new language model. This model was trained on over 40GB of text from the internet, you’re probably starting to see the problem now. This language model is designed to predict the next word. The model is able to adapt its response based on the style and content of the text it is given as an input. Turns out that gets a little scary and has lead to the model not being released over ethical concerns. The article has an example of input and output text, and I think the researchers were right to hold off on releasing their model. … -
Article Roundup - March 1, 2019
March 01, 2019 • Article RoundupRide the Serverless Wave with DigitalOcean’s One-click Droplet
Do you want to take advantage of serverless technology but not deal with being locked into Amazon’s or Azure’s particular way of doing serverless functions? You could always try OpenFaaS, just deploy a Docker container on your platform of choice and you are good to go. It may not be managed for you, but you get the flexibility you want. This article focuses on DigitalOcean, but you can run Docker contains just about anywhere these days. The link above is my referral link for DigitalOcean, but it will give you a $100 credit to get you started. With how inexpensive many of their services are, that will last you a long time. … -
Article Roundup - February 22, 2019
February 22, 2019 • Article RoundupUnderstanding Database Sharding
This article doesn’t focus on one database technology in particular but instead focuses on the theory of database sharding and different sharding architectures. I also liked that it admits that sharding is tricky and provides a list of things to investigate before going down the path of sharding. … -
Article Roundup - February 15, 2019
February 15, 2019 • Article RoundupWhat’s New in ES2019: Array flat and flatMap, Object.fromEntries
ES2019 has been finalized! Prepare yourself for a small handful of new JavaScript functions. All of the features will be available in Chrome 73. Node should be following along before too long. … -
Article Roundup - February 8, 2019
February 08, 2019 • Article RoundupHow to Rewrite Your Bedrock Application While Remaining Operational
It’s tough to get buy-in that your whole application needs to be scrapped and rewritten. Instead, maybe keeping it running while slowly changing out the guts is a better option. This article talks about how Chargify changed the wheels on the bus but kept it moving. … -
Article Roundup - February 1, 2019
February 01, 2019 • Article RoundupBig Win for Web Accessibility in Domino’s Pizza Case
I didn’t expect I would ever include an article from a law office, but here we are. Apparently, a case has been making its way through the California courts pertaining to Domino’s website and mobile apps and a lack of accessibility for individuals who are blind. The Ninth Circuit Court of Appeals has ruled that the Americans with Disabilities Act does apply to Dominos’ website and apps because Dominos is a place of public accommodation. … -
Article Roundup - January 25, 2019
January 25, 2019 • Article Roundup18F Methods
Design isn’t all about “making it look pretty”. Design is about making something usable and easy to look at. This site is created by the US government in order to share a collection of tools that describe how their teams put human-centered design into practice. The main focus of human-centered design is incorporating feedback from the actual people you are designing for, not just the people who are having you design something. … -
Article Roundup - January 18, 2019
January 18, 2019 • Article RoundupMother of All Breaches Exposes 773 Million Emails, 21 Million Passwords
There has been a large dump of email addresses and passwords and there are reported to be even more available from a seller. You may want to use your password manager to scan for exposed passwords and check Have I Been Pwned. … -
Article Roundup - January 11, 2019
January 11, 2019 • Article RoundupAmazon DocumentDB
AWS has released a new database service called DocumentDB that is compatible with the MongoDB 3.6 API. This new product has set off a firestorm of tweets and articles with titles like ”Amazon Web Services calls MongoDB’s licensing bluff with DocumentDB, a new managed database” and ”AWS vs. open source: DocumentDB is the latest battlefront”. It’s no secret that AWS has been wrapping automation and UIs around open source projects for a while and then managing the infrastructure and selling it as a service, and they aren’t the only ones. In October MongoDB changed its license to the Server Side Public License, a license similar to the AGPL license. The SSPL basically requires that anyone who provides the licensed software as a service to others must share and make free to use the software they are using to provide that service. SSPL and AGPL both attempt to prevent companies like AWS from offering a managed service without contributing back to the project. Time will tell if these licenses will work or if open source companies will continue to have difficulty with revenue. … -
Article Roundup - January 4, 2019
January 04, 2019 • Article RoundupInfinite Data Structures In JavaScript
This is an interesting exercise in iterators, generators, and general data structures and is worth a read. The methods shown in the article have their limitations, but it is pretty cool to see everything put together. … -
Article Roundup - December 21, 2018
December 21, 2018 • Article RoundupMicrosoft Edge: Making the web better through more open source collaboration
Microsoft announced that they will be contributing to Chromium, the open source project behind Google Chrome, and will bring Microsoft Edge “to a Chromium-compatible web platform”. I read that as they will begin using the guts of Chromium for many features of Microsoft Edge. This sounds like great news, no more waiting for months or years for Microsoft to implement features other browsers have. Not everyone is happy though, this article was posted on Mozilla’s blog denouncing the move. It’s an interesting issue to discuss, but I don’t see Microsoft reversing course at this point. Here is a more complete summary of the news/issue. … -
Node.js Job Scheduling with Agenda
December 19, 2018 • node, javascript, agenda.jsI have a freelance project I’ve been working on that needed to be setup to allow tasks to be retried automatically. The application depends upon an integration between two 3rd-party systems, and those systems only sync up at certain intervals. If one system didn’t have the information I needed to wait until it did. So I started looking at different scheduling and queueing systems to see if something already existed that would work for my situation. I came across Agenda.js, and it seemed to fit the bill well. I already had a MongoDB in place for my client and this wouldn’t require me using any new services…
-
Article Roundup - December 14, 2018
December 14, 2018 • Article RoundupManaging Kubernetes Just Got a Lot Simpler
Another cloud provider has entered the managed Kubernetes cluster arena. DigitalOcean opened their service this past week for limited availability. I took a look at it and they did not add much of an interface to manage the cluster, only to add and scale nodes. It depends heavily on the Kubernetes CLI tool. … -
GitHub GraphQL Thoughts
December 14, 2018 • github, graphqlGitHub's GraphQL API is nice, but the documentation still has a ways to go... -
Live Process Output To The User With Redis and Server-Sent Events
December 13, 2018 • Node, Redis, Server-Sent Events, ExpressIn a recent project I needed to collect the output from a process that was occurring on the server and output it to the user on the frontend. Ideally that would occur in nearly real time…
-
Article Roundup - December 7, 2018
December 07, 2018 • Article RoundupSimple and Easy Mentorship with a Mentoring Agreement
At work, we have a concept called “Managing Consultant”. Everyone has one and they are basically your manager for everything other than money and discipline, they are there to help you with your career and help advise you. Basically a formal mentor. It’s something I’m interested in working towards and I think this type of agreement could be a helpful tool for establishing the right relationship and to keep things runnings smoothly. … -
Article Roundup - November 30, 2018
November 30, 2018 • Article RoundupCloud Diagrams & Notes
This site has a cool collection of graphics and cheat sheets for different aspects of Amazon AWS. A lot of them look good enough to get them printed and hung up in an office. … -
Article Roundup - November 23, 2018
November 23, 2018 • Article RoundupThe State of JavaScript 2018
The 2018 State of JavaScript report has been released. I haven’t dug through the results but there are always interesting things to find. … -
Article Roundup - November 16, 2018
November 16, 2018 • Article RoundupSimple Git Rebases
I’m tooting my own horn here, but this is an article I wrote that I felt was especially helpful. Git rebases get a very bad wrap, but that is understandable with how destructive they can be if you don’t follow the rules. The important thing to remember is you can rebase your commits to your heart’s content if they have never been sent to your repository. In this article, I talk a bit about my use case, how I kept things straight, and all the steps I went through. … -
Article Roundup - November 09, 2018
November 09, 2018 • Article RoundupIntroducing reCAPTCHA v3: the new way to stop bots
Google has announced their latest version of reCAPTCHA. This time it is an API that computes a score and lets you decide what to do based on that. From the looks of things, this new API takes advantage of the data that Google accumulates from across the web and from all the pages you add the reCAPTCHA v3 code to. It can provide a much better user experience, but it is also likely tracking your visitors. … -
Article Roundup - November 02, 2018
November 02, 2018 • Article RoundupThe Illustrated TLS Connection: Every Byte Explained
Have you ever wanted to really understand TLS? I mean really understand it? TLS is used to secure connections on the web, so at least some understand can be very useful. This page has a detailed but easy to understand walkthrough of TLS 1.2. … -
Simple Git Rebases
November 02, 2018 • gitLearning to make appropriate use of `git rebase` can help you ensure your git commit log makes sense and is easy to follow.... -
Article Roundup - October 26, 2018
October 26, 2018 • Article RoundupMODALZ MODALZ MODALZ
Modals can be a divisive subject when building applications. This site gives some different options and advice around the use of modals. … -
Article Roundup - October 19, 2018
October 19, 2018 • Article RoundupWhat’s a senior engineer’s job?
This is a nice opinion article talking about what is and isn’t a senior software engineer’s job. I do have to so that by far my favorite part of the article is that it links to a Twitter post showing Mozilla’s engineer career ladder. I wish more organizations had career progression and high-level expectations laid out like this. … -
Article Roundup - October 12, 2018
October 12, 2018 • Article RoundupKubernetes: The Surprisingly Affordable Platform for Personal Projects
Kubernetes is an open-source container-orchestration system and has been getting more popular in the last several years. Amazon AWS finally make their managed Kubernetes service available this past June in spite of their own proprietary solution they had been sticking to. This article can serve as a gentle introduction into Kubernetes. There is a fair amount of handwaving, but with it and a bit of Googling you should be able to have whatever application you want up and running on a Kubernetes cluster before too long. Docker experience is very helpful. … -
Article Roundup - October 5, 2018
October 05, 2018 • Article RoundupInside look at modern web browser
This is the first of a four-part series (all four parts are out) that provides a view into the architecture of the Chrome browser with some graphics along the way. The series shows both how different things are broken down and separated in Chrome as well as why things were done that way. … -
Article Roundup - September 28, 2018
September 28, 2018 • Article RoundupUnderstanding the Difference Between CI and CD
Continuous Integration, Continuous Delivery, and Continuous Deployment all mean different things and none of them is tied to a specific tool. You could use custom scripts for all of it. They are just processes and that is what the author is trying to convey. Instead of explaining them in terms of a tool he explains them in terms of how things were done and then how they are done with CI or CD. … -
Article Roundup - September 21, 2018
September 21, 2018 • Article RoundupThe State Of JavaScript 2018
The State of JavaScript 2018 survey is out. It can take a while to fill out, but it can do a great job taking the temperature of the JavaScript community. … -
Article Roundup - September 14, 2018
September 14, 2018 • Article RoundupStrategies for implementing user authentication in serverless applications
Authentication should always involve some deep thinking, you want to get it right the first time. This article runs through some possibilities for a serverless application. It focuses mostly on AWS, but the concepts can be applied elsewhere. … -
Article Roundup - September 7, 2018
September 07, 2018 • Article RoundupUsing the React DevTools Profiler to Diagnose React App Performance Issues
The React DevTools received an update recently that added a new Profiler tab. This tool can help you find your performance issues in React. This article goes through how Netlify was able to use it to find a long-standing performance issue on their site. … -
Article Roundup - August 31, 2018
August 31, 2018 • Article RoundupServerless Best Practices – Paul Johnston – Medium
Serverless architecture has been around for a bit now so it’s important to know the best practices. You may read through this and think “doesn’t all this just make it harder to manage serverless architectures?“. This is why automation is so important and why a serverless architecture may not be the best solution for everything. … -
Article Roundup - August 24, 2018
August 24, 2018 • Article RoundupSetting up constants via proxies
This is not a long article, but it is a great example of how you can use the Proxy class in JS. It also gives you JS enums. … -
Article Roundup - August 17, 2018
August 17, 2018 • Article RoundupRemoving Babel’s Stage Presets · Babel
Babel has been making a lot of changes recently with v7. One of the newer changes is removing the ES stage presets i.e. preset-stage-0…preset-stage-3. There are multiple reasons for it but it seems like this will ultimately be a great help to the maintainers and the developers that use the plugins for different proposed ES features… -
Server-Sent Events With Node
August 16, 2018 • JavaScript, Node, Express, Server-Sent EventsServer-Sent Events (SSEs) allow one-way communication from the server to the client. They can be very useful for things like notifications or activity feeds.... -
Article Roundup - August 10, 2018
August 10, 2018 • Article RoundupHow we scaled nginx and saved the world 54 years every day
Cloudflare handles a large chunk of internet traffic between DNS and CDN features. Cloudflare makes use of nginx but doesn’t fit nginx’s primary use case. A new feature was in upstream nginx that looked like it could provide a significant performance boost, but instead, it had minimal impact for Cloudflare. When they dug deeper they were able to make small changes that provided a significant boost. This article gets into lower-level file management, but it an interesting read. … -
Article Roundup - August 3, 2018
August 03, 2018 •Logging Activity With The Web Beacon API
Sometimes your app has an error that keeps happening for the user, but you can’t figure out what is wrong. You know where the problem happens, but not what goes wrong and you can’t get the information you need from your user. Maybe that is the time to use the Web Beacon API, it’s supported by most browsers and lets you fire off a request and not wait for a reply. … -
Article Roundup - Week of July 22, 2018
July 27, 2018 • Article RoundupHere’s the final nail in the coffin of open plan offices
This research may “put the final nail in the coffin” for open office plans, but they’re going to be around for decades to come. Having different spaces for different purposes does help. I have recent experience with that. But without hard and fast rules around phone etiquette and noise buffers those “zones” count for little. … -
Article Roundup - Week of July 15, 2018
July 20, 2018 • Article RoundupVS Code Can Do That?
I’m a big fan of VS Code. This site showcases a lot of features and extensions that you may not know about. … -
Article Roundup - Week of July 8, 2018
July 13, 2018 • Article RoundupThe State of Developer Ecosystem 2018
JetBrains has recently released their “State of Developer Ecosystem” report. It’s something interesting to look through. The sample size is only around 6000 people, but it is interesting to see the information spread over multiple programming languages. … -
Article Roundup - Week of July 1, 2018
July 06, 2018 • Article RoundupDon’t Use The Placeholder Attribute
This article makes a strong case as to why the placeholder attribute added to input elements in HTML5 should not be used. Most of the reasons revolve around user experience and accessibility. … -
Article Roundup - Week of June 24, 2018
June 29, 2018 • Article RoundupUTC is Enough for Everyone, Right?
Read this, even if you ignore everything else … -
Article Roundup - Week of Jun 17, 2018
June 22, 2018 • Article RoundupHow Git Changed The History of Software Version Control
I remember the days before Git when Subversion was the main VCS. It worked just fine, but Git was so much better. This article goes through the history of version control software. It’s not long, but it provides a nice dose of history. … -
Article Roundup - Week of Jun 10, 2018
June 15, 2018 • Article RoundupHow to display a “new version available” of your Progressive Web App
Wouldn’t it be awesome to be able to easily let your users know when a new version of your web app is available? It’s actually not all that hard. This article provides a run through of what it takes to get the basic of this feature going. … -
Article Roundup - Week of Jun 03, 2018
June 08, 2018 • Article RoundupDRY to the point of WET yak shaving
DRY is a great principle, but it is just that: a principle. This article does a good job of going through that, though with a few too many images. If you get to nothing else, read the quote from Dave Thomas near the end. … -
String Length & Bytes In JavaScript
May 29, 2018 • JavaScript, NodeIn most cases, you can assume one character in a string is 1 byte, but that is only in most cases. How many bytes do you think
ü
is? It turns out it is 2 bytes. But if you run'ü'.length
it will return the string’s length as 1. Unicode characters can appear as a single character but be made up of multiple bytes of data. Usually, this isn’t a big deal if you just need the length of a string, but if you actually need the size in bytes of a string it is a big deal… -
Article Roundup - Week of May 27, 2018
June 01, 2018 • Article RoundupCSS Grid Builder
This is a very cool tool that makes building CSS grids super easy. … -
Article Roundup - Week of May 20, 2018
May 25, 2018 • Article RoundupA Gentle Introduction to Prepack, Part 1
Prepack is a tool that optimizes JavaScript. It’s still in early development. This article is quite a read, but it’s pretty interesting. … -
Article Roundup - Week of May 13, 2018
May 18, 2018 • Article RoundupThe Eponymous Laws of Tech
This is just a fun collection of all those laws and such things you find used in tech frequently. Occam’s Razor, Godwin’s Law, Brooks’ Law, those kinds of things. … -
Article Roundup - Week of May 06, 2018
May 11, 2018 • Article RoundupTesting Strategies for React and Redux
Mozilla recently ported the Firefox extensions and themes website to React and Redux. This article goes through how they do much of their unit testing. … -
Restarting Your Node App After Changes
May 03, 2018 • javascript, nodeA nice feature of tools like create-react-app,…
-
Article Roundup - Week of Apr 29, 2018
May 04, 2018 • Article RoundupMario Kart: CSS
This is just plain cool. It’s an article about creating a MarioKart-like interface, that is interactive, with just CSS. … -
Article Roundup - Week of Apr 22, 2018
April 27, 2018 • Article RoundupAngular 6 wants to be smaller, faster and easier-to-use
I recently started trying to learn Angular. The documentation is good, there are plenty of examples out there, but it is still a complex framework with a lot to learn. I’m happy to see the next version focusing on being easier to use. … -
Article Roundup - Week of Apr 15, 2018
April 20, 2018 • Article RoundupFIDO Alliance FIDO Alliance and W3C Achieve Major Standards Milestone in Global Effort Towards Simpler, Stronger Authentication on the Web
For the last several years there has been a working group focused on web authentication trying to come up with a standard. Their work has resulted in a candidate recommendation being put forward by W3C. … -
Article Roundup - Week of Apr 08, 2018
April 12, 2018 • Article RoundupReact Lifecycle
It’s only a tweet, but it is a very handy visualization of the React component lifecycle. … -
Article Roundup - Week of Apr 01, 2018
April 06, 2018 • Article RoundupEnvironment Settings in JavaScript Apps
This article provides a nice overview of the common methods to handle the environment specific configuration of a JavaScript frontend. … -
Article Roundup - Week of Mar 25, 2018
March 30, 2018 • Article RoundupA blockchain in 200 lines of code
The idea behind blockchains isn’t that complicated. I like to think of it has a verifiable linked list. This article goes through a simple blockchain built in 200 lines of JavaScript. … -
#DeleteFacebook - Videos
March 21, 2018 • Facebook, Greasemonkey#DeleteFacebook is still be going strong,…
-
#DeleteFacebook - Albums
March 20, 2018 • Facebook, Greasemonkey#DeleteFacebook is getting a lot of momentum and I would love nothing more than to delete my Facebook…
-
Article Roundup - Week of Mar 18, 2018
March 23, 2018 • Article RoundupA Practical Introduction to Container Terminology
This is a long article, but it’s worth it to get the terminology for containers if you’re planning to use them. It’s also a good article if you want to understand containers better. … -
Article Roundup - Week of Mar 11, 2018
March 16, 2018 • Article RoundupStack Overflow Developer Survey 2018
StackOverflow’s 2018 developer survey results are out. It’s a lot of data and perusing it was interesting but mostly confirmed things I already suspected … -
Article Roundup - Week of Mar 04, 2018
March 09, 2018 • Article RoundupThe real cause of large DDoS
This past week GitHub announced that it was the target of a massive DDoS attack. These kinds of attacks are becoming more and more common. Cloudflare wrote this article that goes into why these kinds of attacks are possible and advocates for solving the problem. … -
Article Roundup - Week of Feb 25, 2018
March 02, 2018 • Article RoundupJavaScript Pipeline Operator | MDN
There is a proposal to add the pipeline operator to JavaScript. The pipeline operator would make functional programming and using multiple functions to modify a value much easier. Instead ofdouble(increment(double(double(5))))
you would be able to use5 |> double |> double |> increment |> double
. … -
Article Roundup - Week of Feb 18, 2018
February 23, 2018 • Article RoundupPhaser
If you’re looking to make in-browser games you might want to take a look at Phaser. It’s a 2D game framework written in JavaScript. … -
Article Roundup - Week of Feb 11, 2018
February 16, 2018 • Article RoundupWebAssembly Studio
Mozilla created an online IDE for building simple WebAssembly apps in C or Rust. It’s a lot of fun to play around with and worth checking out. … -
Article Roundup - Week of Feb 04, 2018
February 09, 2018 • Article RoundupLet’s make multi-colored icons with SVG symbols and CSS variables
Icon fonts, like Font Awesome, are great but they don’t allow you to have multi-colored icons. To accomplish this you can use SVG symbols. This article is a good walkthrough of how to reuse SVGs without a ton of repeated markup and how to apply colors. … -
Article Roundup - Week of Jan 28, 2018
February 02, 2018 • Article RoundupDecouple Business Logic using Async Generators
Generators are a newer feature to JavaScript and they can provide you with a lot of power, but they are not for the faint of heart. It takes a bit of a different way of thinking to wrap your head around them. The article walks through using generators for a drag and drop interface. … -
Article Roundup - Week of Jan 21, 2018
January 26, 2018 • Article RoundupAsynchronous JavaScript: Async/Await Tutorial
Asynchronous JS with async/await is easier to teach than Promises and yields even cleaner looking code. Most modern browsers already have support, but with Babel or another transpiler, you can get up and running quickly. … -
Article Roundup - Week of Jan 14, 2018
January 19, 2018 • Article Roundup2017 JavaScript Rising Stars
This is a breakdown of some of the more popular JavaScript frameworks and tools based on stars on GitHub … -
Article Roundup - Week of Jan 7, 2018
January 12, 2018 • Article RoundupSpectre and Meltdown have been in the news lately, in addition to OS manufacturers browsers are attempting to mitigate the issue. It is actually possible to take advantage of the exploit via JavaScript.
-
Article Roundup - Week of Dec 31, 2017
January 05, 2018 • Article Roundup8 Best Practices for Perfect CSS Documentation
Documenting CSS is totally a thing, and it gets more important as the size of your application grows. This article provides some best practices to follow. … -
Article Roundup - Week of Dec 17, 2017
December 22, 2017 • Article RoundupSpeed up Your Node.js App with Native Addons
Node’s optimizer can do a lot, but sometimes writing an algorithm in C++ is better for your application. This article provides a quick overview of how to get started with native addons for Node. … -
Article Roundup - Week of Dec 10, 2017
December 15, 2017 • Article RoundupHow Stripe Designs Beautiful Websites
This article goes over some tips and tricks Stripe uses when designing websites. It’s a lot of small things that can make a big difference. … -
Article Roundup - Week of Dec 3, 2017
December 08, 2017 • Article RoundupIn The Works – Amazon Aurora Serverless
I am very excited about this product; it seems perfect for hobby projects. If you’re already paying $5/mo for somewhere to host your application do you really want to use that machine’s resources for your database too? I’ve had to because I don’t want to add another $5-$10/mo just for a database. I expect this will take care of that need very well. … -
Article Roundup - Week of Nov 26, 2017
December 01, 2017 • Article RoundupVS Code Can Do That?
VS Code is an excellent editor, and this site has great tricks I never knew about … -
Article Roundup - Week of Nov 19, 2017
November 24, 2017 • Article RoundupLearn Async/Await by Example
If you haven’t yet learned how to use JavaScripts async and await keywords it is worth it. They allow you use to Promises as if they were synchronous, removing a lot of the complexity. … -
Bootstrap v4 Responsive Navbars without jQuery
November 16, 2017 • JavaScript, BootstrapI’ve been using Bootstrap v4 in a project I am working on for a friend. He wants to be able to use the application on a mobile phone. Since I used Bootstrap’s navbar, I was going to need Bootstrap’s collapse javascript code. That code depends upon jQuery, and that is an issue for me. So I decided I would write some code that would perform the same basic function as Bootstraps, but not use jQuery at all…
-
Article Roundup - Week of Nov 12, 2017
November 17, 2017 • Article Roundup5 React 16 Features You Can’t Live Without
This is a nice runthrough of some of the most important updates that came with the latest version of React. … -
Change Your Mac's Lock Screen Image
November 08, 2017 • MacI worked at Interactive Intelligence before before it was acquired by Genesys and IT had put a custom lock screen image on all the Macs. Well, now that the transition is mostly through I figured it was about time that custom lock screen went away…
-
Article Roundup - Week of Nov 5, 2017
November 10, 2017 • Article RoundupTen Extras for Great API Documentation
Good APIs and API documentation are hard. This article has suggestions for good API documentation, and I have to agree with it. Most of the APIs I’ve enjoyed using followed these concepts. I’m working on a project with a friend and one service he wants to use has nothing more than a generated Swagger UI page with minimal explanation. I’ve had to guess at so much and I really wish they had followed even half these concepts. … -
Article Roundup - Week of Oct 29, 2017
November 03, 2017 • Article RoundupImpress Your Friends With Code Splitting in React
Webpack can make code splitting very easy, and if you are building a React application with create-react-app webpack has already been setup for you. … -
Article Roundup - Week of Oct 22, 2017
October 27, 2017 • Article RoundupChoosing between names and identifiers in URLs
Do you use permanent ids in URLs or do you use the name of something, even though it can change? This article weights both options and ends up suggesting a hybrid approach in-spite of the possible challenges to the implementation and understanding by users. … -
Article Roundup - Week of Oct 15, 2017
October 20, 2017 • Article RoundupReact, Inline Functions, and Performance
This is a good article to read if you have an interest in React, or if you care about application performance. One central theme is “premature optimization is the root of all evil” … -
Responsive Table With React and Bootstrap
October 14, 2017 • Bootstrap, ReactI’m currently working on an application for a friend to help him with his business. The application needs to be responsive since he may have employees perform certain actions from mobile devices…
-
Article Roundup - Week of Oct 8, 2017
October 13, 2017 • Article RoundupScaling the GitLab database
GitLab makes use of PostgreSQL and started out with a single database server plus replica. They outgrew that after a few years and detail more about their current setup in this article. … -
Article Roundup - Week of Oct. 1st, 2017
October 06, 2017 • Article RoundupThe Ten Essentials for Good API Documentation
Good API documentation is something that sounds easy in theory, but is actually difficult. How many times have you looked at the documentation for an API and had no idea how to make it perform the action you wanted? This article gives a few things to think about when writing your API documentation. … -
Article Roundup - Week of Sept. 24, 2017
September 29, 2017 • Article RoundupOn-Demand Environments With Docker and AWS ECS
This is a long article, but it is a step-by-step set of instructions on how to get a docker environment running on AWS with deployments and all. I haven’t tried the steps they go through, but I skimmed the article and it looks very thorough. … -
Article Roundup - Week of Sept 17th 2017
September 22, 2017 • Article RoundupPartitioning Behavior of DynamoDB
This is part 3 of a 3 part series about DynamoDB. This article dives into how Dynamo handles creating partitions and why understanding partitions and RCUs/WCUs is important for the best performance. … -
Article Roundup - Week of Sept. 10th 2017
September 15, 2017 • Article RoundupMaking the Google Developers Documentation Style Guide Public
Google has made their style guide for documentation public. While it may not be particularly exciting it does highlight one neglected topic: good documentation. Google’s documentation for all their services has always been fairly good, but it has been getting even better in recent years. I expect this style guide is part of that transformation. … -
Article Roundup - Week of 9/3/17
September 08, 2017 •Accessibility Testing with pa11y
Accessibility testing can be a painful process, and it is easy to miss things. Pa11y is an accessibility testing tool that loads a page with PhantomJS and then checks the page against web accessibility standards set by W3C. … -
Knockout Observables & Maps
August 29, 2017 • Knockout.jsI’ve used Knockout.js quite a bit, I was looking at some code and come across an interesting situation. I saw a JS Map object being put into a KO observable which got me thinking. Does Knockout actually support that? Will subscriptions trigger? I hypothesized that they would not, but I had to test it…
-
Article Roundup - Week of 8/27/17
September 01, 2017 • Article RoundupUnderstanding Failure Modes in Message and Event-based Systems
Error handling is exactly a fun topic, but dealing with errors and failure modes is a necessary part of development. This article goes into detail about the different cases you can run into with a message or event based system. If you use Kafka, RabbitMQ, or any of a host of other messaging systems this is well worth a read. … -
cloud-init User Data Include File Format
August 24, 2017 • AWS, CloudI ran into something today with cloud-init that lead to a bit of a deep dive and I thought I’d share what I found…
-
Article Roundup - Week of 8/20/17
August 25, 2017 • Article RoundupAPIs as infrastructure: future-proofing Stripe with versioning
Stripe’s main product is payment processing, something you can’t afford to break for your clients. They recently wrote an article about how they version their API and why. It is well worth a read. I haven’t used their API before, but it sounds like a dream come true to work with. … -
Article Roundup - Week of 8/13/17
August 18, 2017 • Article RoundupChoosing the Right Features with Kano Model
The Kano Model is a tool that helps prioritize features based on how users perceive the feature. It’s been around since the 80’s but it seems to be gaining more attention now. It’s definitely worth a look. … -
Article Roundup - Week of 08/06/17
August 11, 2017 • Article RoundupBuilding A Simple AI Chatbot With Web Speech API And Node.js
New services are popping up all the time, especially around AI. This article shows a fun way to combine an AI service with with experimental SpeechRecognition API in the browser. … -
Weekly Article Roundup - 7/30/2017
August 04, 2017 • Article RoundupThis was a bit of a light week in regards to articles I found, but here is what I have.
-
Article Roundup - Week of 7/23/2017
July 28, 2017 • Article RoundupURLs are UI
The URLs for pages on your site actually do matter. It’s something small, but it can make a big difference. Keep them short, and ensure they make sense. … -
Article Roundup - Week of 07/16/2017
July 21, 2017 •GPU.js
Browsers have been pushing boundaries for a while. This libraries uses some more recent advances to allow you to offload expensive JS computations to the GPU using WebGL. It will even gracefully fallback to using the CPU if the browser doesn’t support the necessary features. … -
Article Roundup - Week of 7/9/2017
July 14, 2017 • Article RoundupMySQL Infrastructure Testing Automation at GitHub
GitHub’s MySQL databases are critical to the functioning of their site and service. Every git request touches a MySQL database. In this article they talk about how they handle backups, failovers, and schema migrations. … -
Article Roundup - Week of 7/3/2017
July 07, 2017 • Article RoundupWhat I’ve Learned Over 5 Years as a Software Developer
This is a nice article going over some lessons the author has learned thus far in their career as a developer. … -
Article Roundup - Week of 6/26/2017
June 30, 2017 • Article RoundupCSS vs. JavaScript: Trust vs. Control
JavaScript can do what CSS does, but it generally doesn’t need to anymore. Before there was good animation support, before flexbox, before custom properties you might have needed to use JavaScript for styling and laying out your site. You don’t need to do that anymore, so long as your CSS and JavaScript work together you can get the best of both worlds. … -
Article Roundup - Week of 6/19/2017
June 23, 2017 • Article RoundupDocumenting Architecture Decisions
Have you ever joined a new team or begun working on a new project only to have no idea why things were done the way they were? It can be incredibly frustrating. Documenting those decisions can also be difficult. This article describes a method to document those decisions in a manner that reminds me a lot of how IEEE handles RFCs. … -
Article Roundup - Week of 6/16/2017
June 16, 2017 • Article RoundupSpellbook of Modern Web Dev
This is an amazing collection of links with resources for both frontend and backend web development. It has links to libraries, best practices, and a whole lot more. I will probably end up sending people links to this a lot. … -
Article Roundup - Week of 6/05/2017
June 09, 2017 • Article RoundupHacker, Hack Thyself
You hear a lot about security breaches in the news, and as a developer you should hope that your product is never mentioned in one. This post talks about the security of Discourse, and what was done and what defaults are set to try and keep things as secure as possible. One especially interesting part of this article centers around hashing algorithms along with a few benchmarks. … -
Article Roundup - Week of 5/29/2017
June 02, 2017 • Article RoundupGitHub’s CSP journey
If you’re interested in web application security this is a good read. The article come out a while back but it chronicles GitHub’s implementation of Content Security Policy. … -
Article Roundup - Week of 5/22/2017
May 26, 2017 • Article RoundupMavo
I don’t know that Mavo is going to take off, but it is interesting. It lets you create web applications with just HTML. No JavaScript required. … -
Article Roundup - Week of 05/15/2017
May 19, 2017 • Article RoundupDesign Better Data Tables
There are small features that can be added to tables of data that make them far easier to use. This article provides a brief visual overview of many of them. … -
BigCommerce API Oddities & Concerns
May 14, 2017 • BigCommerce, APII’ve been working on a project for a friend, making him a tool to help him manage his BigCommerce store. I had previously made the tool for Shopify, but he ended up needing to switch providers…
-
Article Roundup - Week of 5/08/2017
May 12, 2017 • Article RoundupA11Y Style Guide
Accessibility isn’t very fun, but it is a necessary task when designing a site. This is a beautiful style guide showing many of the things that should be done to make your site functional for people who use screen readers and other assistive technologies. … -
Article Roundup - Week of 05/01/2017
May 05, 2017 • Article RoundupUpgrade your SSH keys!
Security recommendations are always changing, and I bet you probably have an older SSH key that is needs improving. These directions are Linux/Mac focused but still provide good information even if you are using Windows. Thanks to Craig for sending this article my way… -
Article Roundup - Week of 04/24/2017
April 28, 2017 • Article RoundupUnderstanding Stacked Bar Charts: The Worst Or The Best?
This article is a response to this article by a Research Scientist at Tableau that made the claim that stacked bar graphs are horrible. I think the take away from both these articles is this: different charts have different purposes. Use a graph wrong and it may not show what you need it to show, so be careful and make sure you are using your graphs correctly. … -
It's Been A While
April 20, 2017 •Article Roundup - Week of 4/10/2017
-
Article Roundup - Week of 4/17/2017
April 21, 2017 • Article RoundupClient-side DSP library utilizing the power of WebAssembly
The repo has a link to a video editor the author made to show the library being used. This is a really cool use of WebAssembly and the performance is very impressive. … -
BT Sync & AWS
March 12, 2015 • AWS, BT SyncBitTorrent Sync (BT Sync) is a tool that can be used to synchronize files between devices using peer-to-peer (P2P), technology. Using this method means that no server is storing the files between your devices. Think of it as a theoretically more secure Dropbox. I say theoretically because BT Sync is not open source, so we don’t really know what it is doing beneath the covers…
-
C# Memory Leaks
January 19, 2015 • c-sharpFor the past three or four work days I have been trying to find a memory leak in a Windows Service we created that is used to synchronize data between two systems on a nightly basis. I had just added a single method to it for a new job and the memory usage was climbing until it hit the 2GB process limit…
-
ServiceNow - Workflow E-Mails
October 29, 2014 • ServiceNowSending an e-mail from a workflow is ServiceNow is very easy. It barely takes any work. What happens when you need to include Request Item variables? Things get ugly. I had to dig around to find out how to do it; then I hoped I could find a better looking way. I didn’t…
-
ServiceNow Record Producer Caveats
September 25, 2014 • ServiceNowI recently ran into a problem when using Record Producers. In the script for the Record Producer I am using the
applyTemplate
function on thecurrent
GlideRecord. The template used varies, which is why I can’t use the template field on the Record Producer. I kept ending up with duplicate task records with the exact same value in the number field… -
GORUCK Light
May 24, 2014 •Disclaimer: This post will have absolutely nothing to do with programming…
-
ServiceNow - Navigation Handlers
February 01, 2014 • ServiceNowIf you’re working in ServiceNow, depending upon where what you need to do you may run into objects ServiceNow gives you access to but doesn’t document. This posts lists out the available methods for
g_uri
andg_request
… -
ServiceNow - Passing Data
October 25, 2013 • ServiceNowAt work we came across an interesting issue when dealing with ServiceNow this week. We are working on implimenting Incident and needed to be able to create a change or a request from the incident. The new record needed to have its
parent
field set to reference the inicident. Some of the original code does this for requests by redirecting the user to the Service Catalog and setting a parameter in the URL that is meant to will in a field on the form. Unfortunatly that doesn’t work in our case. Our changes are generated by using a wizard, and our requests are done with a record producer. We figured out a way to work around the issue and pass the values to the wizard and record producer. I thought it was something people might like to see… -
I Got Mentioned
September 10, 2013 •Last week a newletter went out that I had never heard of. It is called “Hacks && Happenings” and it is put out by a group called Indy Hackers. In their September 2013 Issue my Time Tracker project was mentioned! I didn’t even know about it until my boss forwarded me the newsletter…
-
Importance vs. Urgency
August 23, 2013 •A little while back my boss introduced me to the Importance vs. Urgency Matrix. It was a nice concept and I saw the reasoning behind it, but I didn’t pay it much heed. More recently I have started using it a great deal. I have two white boards in my office. One I keep blank for use as needed. The other one has a list of the primary things that are on my radar listed, with a color coded letter next to them. Then at the top I have a matrix similar to the one below and each letter is placed in a quadrant. That is how I keep track of the major things I have to do, and which I should pay the most attention to. Let me explain the matrix…
-
Etsy Deployinator Environments
July 31, 2013 • RubyEtsy open-sourced their deployment tool a while back, but I didn’t learn about it until more recently. It is called Deployinator and runs on Ruby. I’m looking at using it for a project at work, but I ran into a horrible lack of documentation. The one example that is in the repo isn’t bad, it just doesn’t show you how to have multiple deploy buttons. In the case I may use it in, I will need multiple. If you aren’t sure what I mean by “multiple deploy buttons” check out the picture on this page…
-
New Site with Jekyll
July 24, 2013 • JekyllThe old version of my site was powered by laravel, and for what I used it for that was over-kill. I have tried out Octopress in the past and liked it, so I thought I would try the source and use Jekyll. It quickly turned into my new site! Jekyll is very easy to learn and gives you an amazing amount of flexibility out of the box. Once you add on the plugins you can create there seems to be almost no limit…
-
Service Now
June 21, 2013 • ServiceNowI recently switched jobs, and at the new company my department makes use of Service Now. I must say, I am impressed with the product. It is sold as an ITIL compatible help desk solution, but it is so much more. You are able to customize nearly every aspect of the system if you wish. Want to rearrange a page? Done. Want a wizard so people enter their issues correctly? Done. All of this customization is done through their interface, which I expect you can customize, and through JavaScript scripts…
-
Foundation Instead Of Bootstrap?
May 14, 2013 • Bootstrap, Design, FoundationThere seem to be an increasing number of people throwing rants about overuse of Twitter Bootstrap. This is not one of them, I like Twitter Bootstrap. It is great for people who are not designers and need to put together something that looks decent. It makes putting together a site easy. That said, you can kind of tell when it is used. The buttons are usually a dead giveaway, and customizing it is not for the faint of heart…
-
Bootstrap Lightbox Update
May 03, 2013 • JavaScript, BootstrapI took a bit of a break from working on Bootstrap Lightbox. I just needed to get away and be lazy for a while, but I am back. The other week I re-wrote the whole thing again. I’m sure that gets tiring for some, but I had several reasons:…
-
Ruby on Rails Exceptions
April 12, 2013 • Ruby, Ruby on Rails- Services…