Javascript

2021


cover-caktus-clicks-september.png

Caktus Clicks: September Link Roundup

We’re reviving a blog series from a few years ago in which we compile and share the things Cakti are clicking on — articles, videos, podcasts — whether it’s tech-related, an idea for social good, or just something interesting or amusing that caught someone’s eye. Have a look at this recommended reading and let us know what you think:

cover-javascript-variable.png

JavaScript Variable Declaration in the 21st Century

Michael Ashton

October 2020 marked the 14th anniversary of the introduction of “let” and "const" to Javascript. Yes, it was in 2006 that this feature was first introduced, and we’re still having conversations about it. So why, you ask, are we still talking about this? It seems that a lot of confusion remains, not to mention a lot of old code being passed around on StackOverflow with “var” all over the place. Here I’ll discuss the difference between these three declarations, and come to a conclusion about best practices

2020


cover-usekeypress-hook-react.png

Build a useKeypress Hook in React

Michael Ashton

One of the great patterns to come out of React 16.8 is composable hooks. Using React's built-in hooks such as useState and useEffect, we can encapsulate and modularize bits of functionality — almost the same way we create reusable components. In this article we're going to throw together a quick hook that registers an event listener on a keypress and performs an action. Nothing fancy, but it's a nice abstraction that makes it a lot easier to add some nice power-user features to your app.

2017


cover-how-make-jquery.gif

How to make a jQuery

Calvin Spealman

Learn to live without jQuery by learning how to clone it

jQuery is one of the earliest libraries every web developer learns, and often is the first experience with programming of any sort someone has. It provides a very safe cushion between a developer and the rough edges of web development. But, it can also obscure learning Javascript itself and learning what web APIs are capable of without the abstraction over them that jQuery adds.

2016


cover-common-web-site-vulnerabilities-Django-security.png

Common web site security vulnerabilities

Dan Poirier

I recently decided I wanted to understand better what Cross-Site Scripting and Cross-Site Request Forgery were, and how they compared to that classic vulnerability, SQL Injection.

cover-es6-django-lovers.jpg

ES6 For Django Lovers

Calvin Spealman

ES6 for Django Lovers!

The Django community is not one to fall to bitrot. Django supports every new release of Python at an impressive pace. Active Django websites are commonly updated to new releases quickly and we take pride in providing stable, predictable upgrade paths.

2013


cover-shipit-day-4-saltstack-front-end-exploration-and-django-core.jpg

ShipIt Day 4: SaltStack, Front-end Exploration, and Django Core

Alex Lemann

Last week everyone at Caktus stepped away from client work for a day and a half to focus on learning and experimenting. This was our fourth ShipIt day at Caktus, our first being almost exactly a year ago. Each time we all learn a ton, not only by diving head first into something new, but also by hearing the experiences of everyone else on the team.

2011


cover-lightning-talk-lunch-service-page-api.jpg

Lightning Talk Lunch: Service Page API

Leading the second talk of our Caktus Lightning Talk Lunch series, Calvin Spealman presented on the Service Page API:

The Service Page API is a prototype and proof of concept to deliver a wide range of browser plugins across multiple browsers and to extend the APIs available to websites a user visits by allowing plugins to extend the Javascript API with new libraries, integrate with external services, and more. It puts the power in the users hand to control which services can interact. This talk covers the problems with the current state of browser extensions and the difficulty in building them across multiple browsers consistently, and how the Service Page API is a solution to this, with code examples.