Caktus Blog
2017

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

Using Priority in Scrum to address team anxiety
In Scrum, the backlog of tasks is ordered by the Product Owner from highest to lowest business value - not merely prioritized - so that the team knows what the most valuable items are. This helps to prevent Product Owners/Project Managers from being able to say two or more Product Backlog Items (PBIs) are the “same priority.” And this makes sense for the most part. However there are times when this information is not enough.

Django is Boring, or Why Tech Startups (Should) Use Django
I recently attended Django Under The Hood in Amsterdam, an annual gathering of Django core team members and developers from around the world. A common theme discussed at the conference this year is that “Django is boring.” While it’s not the first time this has been discussed, it still struck me as odd. Upon further reflection, however, I see Django’s “boringness” as a huge asset to the community and potential adopters of the framework.

CSS Grid, not Frameworks, are the Future
At the 2016 An Event Apart Conference in San Francisco, I peeked under the hood of a new technology that would finally address all the layout woes that we as designers and developers face: CSS Grid Layout Module. At first I was a little skeptical - except for Microsoft Edge, browser support for Grid is currently non-existent - however its official release is actually not that far off. Currently it is enabled behind a flag in Chrome and Firefox, or you can download the latest nightly or developer versions of Firefox or Safari. Here’s my brief synopsis of why I think CSS Grid is going to change the landscape of the web forever, and why I think it’s so important from a design and developer perspective.