My Blog (old posts, page 2)

Better late than never Camera3D Release

A few days ago the Processing Foundation made the beta release of Processing 4 available for download. This was a great opportunity for me to review the Camera-3D and ColorBlindness libraries to make sure all of the example code works with the new version. I had to make some small changes here and there, as well as update some code to adapt to changes to the Shapes3D library. Everything now works and is ready for you to use in your creative projects.

Read more…

New py5 Release: 0.5a1

The 0.5a0 release was a bad release. I botched the py5bot kernel code in a poorly executed merge, and then didn't do sufficient testing to detect the problem. This release fixes those problems.

I have updated my release process to make sure this doesn't happen again. Also, I will prioritize developing a unit test framework for py5.

I managed to sneak in one new feature to this release: Proper support for specifying colors using hexadecimal notation and web color notion. See #26.

Also, the sketch_portal() method will by default throttle the frame rate to 30 frames per second. Previously the default was for no throttling. This change will improve the experience of users who use this for the first time on mybinder, where a Sketch running at the default Sketch speed of 60 frames per second will look jumpy in the Sketch portal when no throttling is used.

What's Ahead:

  • Write Tutorials and How-tos

  • Further develop the py5examples repo

  • Unit tests, because clearly this project needs them

New py5 Release: 0.5a0

What's new:

  • A second Jupyter Notebook Kernel: py5bot. There's also a new IPython magic called %%py5bot that is available within the py5 kernel.

  • The size() method can be called from the setup() function intead of settings(). Before Sketch execution, py5 will identify code in setup() that belongs in settings() and will segment the code appropriately.

  • Improved error reporting for IPython magics, py5bot, and all static mode sketches

  • Sketch windows now appear in the taskbar or Dock with the py5 logo

Breaking changes:

  • args has been renamed to pargs to avoid a name conflict with the conventional use of the variable args

  • the use_thread default parameter in save() and save_frame() has been changed from False to True

Also:

  • Massive improvements for OSX Users. The OSX Sketch exiting issues have been solved. The other OSX issues are better articulated in the Special Notes for Mac Users.

  • Lots of little bug fixes

What's Ahead:

  • Write Tutorials and How-tos

  • Further develop the py5examples repo

New Comment System

Today I replaced this blog's comment system with Utterances, a new comment system built on GitHub issues.

Previously this website used Disqus. I got rid of it because I learned that it had privacy issues as well as a bunch of other problems that aren't worth elaborating on. I know it's a popular comment system in spite of its problems. Disqus has a bunch of user engagement features that I never even bothered to learn about, so I'm not going to miss it.

Utterances is a simple and lightweight comment system with no ads or tracking or other nonsense. The comment thread associated with any page is linked to an issue in a specific GitHub repo. You will need a GitHub account to leave a comment, which is fine, because most of the people I expect to engage with are already on GitHub. This is a better fit for me and for this website.

To see how it works, look at the comment(s) on bottom of this page and compare with this GitHub issue. I created a separate repo just for this website's comments because the repo for the actual website is not public. There's an utterances bot that manages the link between the comments on this page and the issues in that repo. That's all there is to it! Easy to setup and easy to maintain.

New py5 Release: 0.4a2

What's new:

  • py5 on mybinder

  • Py5SketchPortal widget to view animations on mybinder

  • New println method for correctly printing to stdout and stderr from Sketch methods when using Jupyter lab

Breaking changes:

  • The IPython line magics such as %screenshot and %animatedgif are now ordinary functions in py5_tools. They never should have been line magics in the first place.

Also:

  • Some improvements for OSX Users. The OSX issues are now reduced from critical problems to annoyances

  • Lots of little bug fixes

What's Ahead:

  • Coding trick to allow users to skip a settings() method, like what can be done in the Processing IDE

  • Write Tutorials and How-tos

  • Expand example code in the py5examples repo

New py5 Release: 0.4a1

/images/py5/logo.png

What's new:

  • New py5 logo

  • Drawing helper tools such as render and render_sequence have a new use_py5graphics parameter

Also:

  • Complete, accurate, and truthful docstrings for every field and method in every py5 class

  • Correctly support print statements in Sketch methods when using Jupyter lab

  • Code improvements in the service of producing better documentation

  • Some improvements for OSX Users

  • Lots of little bug fixes

What's Ahead:

  • Continue to address platform specific issues

  • Write Tutorials and How-tos

  • Example Code

AWStats and CloudFront Logs

How does one use AWStats to analyze AWS CloudFront logs?

AWStats is a widely used tool to analyze website logs, but unfortunately there is not much information available on how to use it with AWS's (Standard) CloudFront logs. The AWStats documentation seems to assume that you are using AWStats on the actual web server generating the logs, or at least that you have access to normal web server logs. That isn't the case when using CloudFront. I was able to find a single blog post from 2011 documenting how to process CloudFront logs with AWStats, and although that post was helpful, I believe more needs to be said about how to shoehorn CloudFront logs into something AWStats can use. This blog post will document what I learned while getting this to work for me.

Read more…

Removing Google Analytics

I finally did it: I have removed Google Analytics from this website and all subdomain websites.

This task has been festering on my todo list for at least a year or two. I am so happy to have this done.

Read more…

New py5 Release: 0.4a0

What's new:

  • PDE Mode has been renamed to Imported Mode

  • A new Jupyter Notebook Kernel devoted to py5

Also:

  • Better support for OSX Users. Specifically, there are no more issues closing Sketch windows.

  • Repairs to all of the existing Reference Documentation. All of the example code now works correctly and all of the descriptions are now factually accurate.

  • Code improvements in the service of producing better documentation

  • Lots of little bug fixes

  • Lots of big bug fixes

What's Ahead:

  • Continue to address platform specific issues

  • Continue to fill in gaps in Reference Documentation