Caktus Blog
2017

Opening External Links: Same Tab or New?
The Debate
My teammates and I recently engaged in a spirited debate over whether outbound links (links to external websites) should open in the same or in a new tab. “Same tab” was a default behavior for a set of external links on a project we were working on. A suggestion had been made, however, that the behavior be changed.

Python type annotations
When it comes to programming, I have a belt and suspenders philosophy. Anything that can help me avoid errors early is worth looking into.

Caktus Attends Wagtail CMS Sprint in Reykjavik
Caktus CEO Tobias McNulty and Sales Engineer David Ray recently had the opportunity to attend a development sprint for the Wagtail Content Management System (CMS) in Reykjavik, Iceland. The two-day software development sprint attracted 15 attendees hailing from a total of 5 countries across North America and Europe.

How to write a bug report
Here are some brief thoughts on writing good bug reports in general.
Main elements
There are four crucial elements when writing a bug report:

How to make a jQuery
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.

Caktus at PyCaribbean
For the first time, Caktus will be gold sponsors at PyCaribbean February 18-19th in Bayamon, Puerto Rico. We’re pleased to announce two speakers from our team.

Plan for mistakes as a developer
I Am Not Perfect.
I've been programming professionally for 25 years, and the most important thing I have learned is this:

Ship It Day Q1 2017
Last Friday, Caktus set aside client projects for our regular quarterly ShipIt Day. From gerrymandered districts to RPython and meetup planning, the team started off 2017 with another great ShipIt.

New year, new Python: Python 3.6
Python 3.6 was released in the tail end of 2016. Read on for a few highlights from this release.
New module: secrets
Python 3.6 introduces a new module in the standard library called
secrets
. While the random
module has long existed to provide us with
pseudo-random numbers suitable for applications like modeling and
simulation, these were not "cryptographically random" and not suitable
for use in cryptography. secrets
fills this gap, providing a
cryptographically strong method to, for instance, create a new, random
password or a secure token.

Responsive web design
What is responsive web design?
Responsive web design is an approach to web design and development whereby websites and web applications respond to a screen size of the device on which they’re being accessed. The response includes layout changes, rearrangement of content, and in some cases selective display or hiding of content elements. Using a responsive web design approach you can optimize web pages to achieve great user experience on a range of devices, from smartphones to desktop.