jasonbutz.info

Jason Butz's profile picture

Jason Butz is a software engineer and cloud architect with a strong focus on JavaScript, TypeScript, Node, and AWS. Jason has a love for open-soure software and a passion for building scalable, secure, and reliable applications.

  1. AWS, CodeCatalyst
    I recently spoke with Johannes Koch, an AWS Hero, on his YouTube channel about Amazon CodeCatalyst. We focused on CodeCatalyst’s quality reports features, how they can accelerate code reviews, and some features we hope to see. Check out Johannes’s channel, CI and CD on Amazon Web Services (AWS). I’ve also included a link to our conversation below...
  2. AWS, IAM, SQS, TIL
    The other week, I was helping a client work through an interesting challenge. The entire problem resulted from decisions made when the company was designing how they would build and connect their AWS accounts. They had decided there would be two kinds of AWS accounts: one with access to their internal network and one without. The accounts with access to the internal network cannot have any ingress from the public internet; all ingress must be through the corporate network....
  3. AWS, Amazon CodeCatalyst, Code Quality
    Explore the features of Amazon CodeCatalyst, focusing on its quality reports. Learn about the supported report formats, including test reports, code coverage reports, software composition analysis, and static analysis reports. Discover how CodeCatalyst stands out with easy access to code quality reports directly within the console without requiring extensive configuration and integrations with external tools...
  4. AWS, AWS CDK, Speaking

    I spoke at Indy.Code() in Indianapolis, Indiana, earlier this month. I remember attending the first Indy.Code() several years ago and thinking, “I could give a talk here,” and it has finally happened. It was a great conference to give a talk at, and I’m very grateful to those who attended my talk and their questions!…

  5. AWS, AWS Lambda, Deno, Security
    Enhance JavaScript Lambda security. Learn how Deno's fine-grained permission checks add an extra layer of protection....
  6. AWS, Cloud, Security
    Discover the partitions within AWS that safeguard resources and ensure security. Learn about their distinct features, requirements, and potential future updates...
  7. AWS, GitHub, Security, OIDC, AWS CDK
    Learn how to enhance security and streamline the deployment process from GitHub to AWS using OpenID Connect (OIDC). This article explains how to establish a trust relationship between AWS and GitHub, configure an IAM Role, and update GitHub Workflow to leverage OIDC for temporary credentials....
  8. AWS, Serverless, Microservices, Service Discovery, Architecture
    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...
  9. AWS, Architecture, CloudFront, S3, Cloud Resiliency
    AWS 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...
  10. AWS, Architecture
    Use the AWS prescriptive guidance library to help build effective solutions and accelerate your cloud journey...
  11. AWS, Lambda

    This 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…

  12. AWS, API Gateway, SQS, Lambda

    I’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…

  13. AWS, API Gateway

    A 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…

  14. Article Roundup

    All 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. …

  15. Article Roundup

    Ready 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. …

  16. Article Roundup

    GraphQL 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. …

  17. Article Roundup

    Amazon 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. …

  18. Article Roundup

    Conference 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. …

  19. Article Roundup

    No, 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. …

  20. Article Roundup

    Beware 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. …

  21. Article Roundup

    The 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. …

  22. Article Roundup

    Announcing 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. …

  23. Article Roundup

    Addressing 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. …

  24. Article Roundup

    Technical 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. …

  25. Article Roundup

    Don’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. …

  26. Article Roundup

    Decoupling 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. …

  27. Article Roundup

    Don’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. …

  28. Article Roundup

    Jakarta 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. …

  29. Article Roundup

    Composing 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. …

  30. Article Roundup

    Get 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. …

  31. Article Roundup

    Two 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. …

  32. Article Roundup

    Why 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. …

  33. Article Roundup

    Creating 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…

  34. Article Roundup

    The 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. …

  35. Article Roundup

    UK 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. …

  36. Article Roundup

    Up 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. …

  37. Article Roundup

    Microsoft 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. …

  38. Article Roundup

    Trans-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. …

  39. Article Roundup

    Announcing 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. …

  40. Article Roundup

    Microsoft 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.

  41. Article Roundup

    Tinder’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. …

  42. Article Roundup

    Naming 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. …

  43. Article Roundup

    5 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. …

  44. 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…

  45. Article Roundup

    Principles 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. …

  46. Article Roundup

    OpenAI 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. …

  47. Article Roundup

    Ride 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.

  48. Article Roundup

    Understanding 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. …

  49. Article Roundup

    Big 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. …

  50. Article Roundup

    18F 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. …

  51. Article Roundup

    Amazon 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. …

  52. Article Roundup

    Microsoft 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.

  53. node, javascript, agenda.js

    I 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…

  54. Article Roundup

    Managing 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. …

  55. github, graphql
    GitHub's GraphQL API is nice, but the documentation still has a ways to go...
  56. Article Roundup

    Simple 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. …

  57. Article Roundup

    Simple 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. …

  58. Article Roundup

    Introducing 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. …

  59. git
    Learning to make appropriate use of `git rebase` can help you ensure your git commit log makes sense and is easy to follow....
  60. Article Roundup

    Kubernetes: 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. …

  61. Article Roundup

    Inside 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. …

  62. Article Roundup

    Understanding 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. …

  63. Article Roundup

    Serverless 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. …

  64. Article Roundup

    Removing 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…

  65. JavaScript, Node, Express, Server-Sent Events
    Server-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....
  66. Article Roundup

    How 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. …

  67. 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. …

  68. JavaScript, Node

    In 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…

  69. Article Roundup

    The 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. …

  70. Article Roundup

    JavaScript 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 of double(increment(double(double(5)))) you would be able to use 5 |> double |> double |> increment |> double. …

  71. Article Roundup

    In 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. …

  72. JavaScript, Bootstrap

    I’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…

  73. Mac

    I 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…

  74. Article Roundup

    Ten 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. …

  75. Bootstrap, React

    I’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…

  76. Knockout.js

    I’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…

  77. Article Roundup

    URLs 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. …

  78. 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. …

  79. Article Roundup

    CSS 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. …

  80. Article Roundup

    Documenting 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. …

  81. Article Roundup

    Spellbook 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. …

  82. Article Roundup

    Hacker, 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. …

  83. Article Roundup

    Mavo
    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. …

  84. BigCommerce, API

    I’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…

  85. Article Roundup

    A11Y 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. …

  86. Article Roundup

    Upgrade 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…

  87. AWS, BT Sync

    BitTorrent 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…

  88. c-sharp

    For 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…

  89. ServiceNow

    Sending 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…

  90. ServiceNow

    I recently ran into a problem when using Record Producers. In the script for the Record Producer I am using the applyTemplate function on the current 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…

  91. Disclaimer: This post will have absolutely nothing to do with programming

  92. ServiceNow

    If 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 and g_request

  93. ServiceNow

    At 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…

  94. 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…

  95. 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…

  96. Ruby

    Etsy 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

  97. Jekyll

    The 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…

  98. ServiceNow

    I 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…

  99. Bootstrap, Design, Foundation

    There 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…

  100. JavaScript, Bootstrap

    I 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:…