atlas news
    
Menno
30  mars     00h00
Introducing the Logseq DONE Time plugin
   I x ;ve recently become quite enamoured with Logseq. It x ;s a modern, open source notes app and outliner with some unique and powerful features. At home I use it to keep track of personal notes and all kinds of random data, and at work it x ;s become my personal knowledge dump and task...
27  février     00h00
Python Security For Developers
   I gave a talk tonight at the Christchurch Python meetup titled quot;Security For Python Developers quot;. It touched on general security issues from a Python perspective such as typo squatting, and very Python specific issues such as the dark side of the pickle. The slides are available here....
25  février     00h00
Reducing Fan Noise on Intel NUCs
   I have an Intel NUC that I’ve been using for monitoring and backups on my home network. It lives in the corner of a living room and the noise of the fan has been surprisingly and annoyingly loud, even when the machine is idle. On other machines, I’ve had success using fancontrol to control fan...
29  octobre     00h00
IMAPClient 3.0.0 is out
   IMAPClient . . is out The big news here is that support for Python and older Python versions has been dropped. IMAPClient now support Python . and later. This allows for the removal of various compatibility shims, expands the set of Python language features that can be used and...
29  août     00h00
pytest is Awesome
   I gave a presentation today for the Christchurch Python meetup that talks about why pytest is so such a fantastic testing framework and how to approach common testing tasks and problems with it. Some potential areas of confusion around pytest’s quot;magic quot; were raised by the audience which...
07  mai     00h00
All About (Python) Iteration
   I gave a talk this week for the Christchurch Python meetup that went into how iteration works in Python in some detail. Iterators, iterables, generator functions, list expressions and the various language protocols involved with iteration in Python were all covered. The while loop even gets brief...
08  février     00h00
Storing & Exchanging Data with Python
   Mike Kittridge and I ran a talk last week for the Christchurch Python meetup that covered a large assortment of ways that Python programs can store data and exchange data with other programs. We covered the ins and outs of binary files, text files, buffering, text encoding, newline ending, mmap,...
23  novembre     00h00
Faster software through register based calling
   The release notes for Go . mention an interesting change in the Go compiler: function arguments and return values will now be passed using registers instead of the stack. The proposal document for the feature mentions an expected throughput improvement across a range of applications...
07  septembre     00h00
New Features in Python 3.8 and 3.9
   I gave an online COVID lockdown presentation to the Christchurch Python Meetup tonight that covered a host of new features that were added to Python in versions . and . . While preparing for the presentation I was blown away by how quickly Python is evolving and I didn x ;t even get to the...
16  janvier     00h00
IMAPClient 2.2.0
   IMAPClient . . is out The most critical change in this release is a fix to avoid an exception when creating an IMAPClient instance under Python . . imaplib used by IMAPClient internally now supports connection timeouts and this conflicted with IMAPClient x ;s own timeout handling. Other...
10  mai     00h00
Better Emacs Config: use-package
   use package is an Emacs package which allows packages to be loaded declaratively. It’s been around for ages and I’ve seen it used in other people’s configurations, but I’ve only recently paid some real attention to it. I wish I’d learned how to use it sooner it’s really improved my Emacs config....
30  octobre     00h00
My Python Toolbox
   After a recent Christchurch Python meetup, I was asked to create a list of Python libraries and tools that I tend to gravitate towards when working on Python projects. The request was aimed at helping newer Pythonistas find a way through the massive Python ecosystem that exists today. This is my...
08  août     00h00
Python virtualenvs talk
   I had the pleasure of giving a talk about Python virtual environments at this week x ;s Christchurch Python meetup. It described the problem that virtualenvs solve, some gotchas and the tools people use to create and manage them. We also spent some time on some of the newer entrants in this space...
25  novembre     00h00
Introduction to attrs
   I x ;ve just published a Jupyter Notebook I used to present an introduction to the excellent Python attrs package at the November Christchurch Python meetup. You can find it on Github.
11  septembre     00h00
influx-spout 2.1
   influx spout . has just been released and it includes a bunch of exciting new features. Here’s the highlights... Downsampler The biggest addition is a new quot;downsampler quot; component which is useful for creating rolled up versions of metrics streams for long term archive. Generating rolled...
05  septembre     00h00
IMAPClient 2.1.0
   IMAPClient . . has just been released Here x ;s the main highlights: Python . is now officially suppported Testing against PyPy version and Added support for the QUOTA extension Helper for locating special folders Document usage for using self signed TLS certificates Document how to...
03  juillet     00h00
Introducing influx-spout
   As well as my main gig, I do some work with the excellent folks at Jump Trading. My main focus there so far has been finalising and open sourcing a project implemented in Go called influx spout. influx spout will primarily be of interest to you if: you use the InfluxDB time series database you...
26  juin     00h00
Listing S3 objects with NodeJS
   I recently had to write some NodeJS code which uses the AWS SDK to list all the objects in a S bucket which potentially contains many objects currently over , in production . The S listObjects API will only return up to, keys at a time so you have to make multiple calls, setting the...
14  mai     00h00
Never Write Shell Scripts Again
   I recently gave a talk at the Christchurch Python meetup which discussed the strengths and weaknesses of shell scripts, and why you might want to consider using Python instead of shell scripts. I went into some areas where Python is arguably worse than shell scripts, and then we dived into the...
13  janvier     00h00
IMAPClient 2.0.0
   I x ;m very happy to announce that IMAPClient . . is out. Many thanks to all the contributors who helped to shape what is one of the biggest IMAPClent releases to date. A major focus of this release was removing the dependency on backports.ssl and pyOpenSSL for TLS support. These dependencies...
23  novembre     00h00
IMAPClient 1.1.0
   IMAPClient . . has just been released Many thanks to the recent contributors and the project x ;s other maintainers, Nicolas Le Manchet and Maxime Lorant. This release is full of great stuff because of them. Here x ;s some highlights: search now supports nested criteria so that more complex...
27  octobre     00h00
UC Data Science talk
   This week I had the pleasure of giving a talk to Data Science masters students at the University of Canterbury NZ . It was my attempt at giving some real world advice from many years working as a technology geek. I think it went well and I hope the audience got something useful out of it. The...
07  avril     00h00
Showing all Go compiler errors
   The Go compiler normally stops after it finds errors, aborting with a too many errors message. For example: go build sandbox manyerrs . errs.go: : undefined: w . errs.go: : undefined: w . errs.go: : undefined: w . errs.go: : undefined: w . errs.go: : undefined: w . errs.go: : undefined: w ....
05  avril     00h00
Python async talk
   I gave a talk at last night x ;s Christchurch Python meetup about Python x ;s relatively new asynchronous programming features. To be honest, I didn x ;t know all that much about the topic and signed myself up for the talk to force myself to learn : I used Jupyter Notebook for the...
29  août     00h00
IMAPClient has moved to Github
   The code has been imported, tickets have migrated and the Bitbucket repository is now a redirect: the IMAPClient project is now using Git and Github. The Github link is: https: x F; x F;github.com x F;mjs x F;imapclient http: x F; x F;imapclient.freshfoo.com redirects to the new location ...
22  août     00h00
IMAPClient 1.0.2
   IMAPClient . . is out This is release comes with a few small fixes and tweaks, as well as a some documentation improvements. Specifically: There x ;s now an explicit check that the pyOpenSSL version that IMAPClient is seeing is sufficient. This is to help with situations typically on OS X ...
10  juillet     00h00
Nikola
   Those paying attention may have noticed that this site has changed. Up until recently, freshfoo.com was generated using a combination of PyBlosxom and rest web but it x ;s now using the wonderful Nikola static site generator. The change was prompted by a desire to have more flexibility about...
07  juin     00h00
IMAPClient mailing list moved to Groups.io
   The IMAPClient mailing list has been hosted at Librelist for a while. It worked OK initially but the site doesn’t seem to be getting much love these days. People also tend to find the quot;send an email to subscribe quot; model confusing. After looking at a number of options, I’ve decided to shift...
24  novembre     00h00
IMAPClient 1.0.0
   IMAPClient . . is finally here This is a monster release, bursting with new features and fixes. Here x ;s the highlights: Enhanced TLS support: The way that IMAPClient establishes TLS connections has been completely reworked. By default, IMAPClient will attempt certificate verification and...
15  septembre     00h00
Search Changes in IMAPClient 1.0
   Following on from last week’s post about the upcoming IMAPClient . release, I’d like to draw attention to some significant, compatibility breaking changes related to the handling of search criteria. IMAPClient’s methods that accept search criteria search, sort, thread, gmail search have been...
08  septembre     00h00
TLS Changes in IMAPClient 1.0
   IMAPClient . is really close to being done now and it x ;s going to be one of the biggest releases in its history thanks largely to the support of the good people at Nylas . The headline feature of this release is the completely revamped TLS support. With . , IMAPClient will perform...
01  juillet     00h00
IMAPClient 0.13
   I x ;m chuffed to announce that IMAPClient . is out Here x ;s what x ;s new: Added support for the ID command as per RFC . Many thanks to Eben Freeman from Nylas. Fixed exception with NIL address in envelope address list. Thomas Steinacher gets a big thank you for this one. Fixed a...
30  juin     00h00
IMAPClient 0.12
   I’m very happy to announce that IMAPClient . is out This is a big release. Some highlights: Unicode handling has been fixed. Some bad decisions were made during the Python port v . and this release fixes that. Bytes are now returned in most places instead of unicode strings . MODSEQ...
08  mars     00h00
IMAPClient introduction
   I gave a presentation introducting IMAPClient at the monthly Christchurch Python meetup on Thursday. It included a brief introduction to the IMAP protocol, the motivation for creating the IMAPClient package, some examples of how it compares to using imaplib from the standard library, and some...
01  mars     00h00
IMAPClient now all at Bitbucket
   I x ;ve been wanting to do this for a while: IMAPClient is now completely hosted on Bitbucket. The Trac instance is no more and all tickets have been migrated to the Bitbucket issue tracker. http: x F; x F;imapclient.freshfoo.com now redirects to the Bitbucket site. The primary motivation for...
08  août     00h00
Go for Pythonistas
   I gave a talk last night at the monthly Christchurch Python meetup titled quot;Go For Pythonistas quot;. It was an introduction to the Go programming language from the perspective of a Python developer. The talk went well, with plenty of questions and comments throughout. Thanks to all who...
16  juillet     00h00
IMAPClient 0.11
   This is a somewhat belated announcement that IMAPClient . is out and has been for a little over a week now . Notable changes: Support for raw Gmail search API when connected to Gmail x ;s IMAP ENVELOPE FETCH responses are now returned as Envelope instances. These objects are namedtuples...
    00h00
Inbox is sponsoring IMAPClient development
   Now that they have officially launched I can happily announce that the good folks at Inbox are sponsoring the development of certain features and fixes for IMAPClient. Inbox have just released the initial version of their open source email sync engine which provides a clean REST API for dealing...
06  juin     00h00
IMAPClient 0.10
   IMAPClient . has just been released. This is an important release because it x ;s the first to support Python Here x ;s the highlights: Python . and . are now officially supported. This release also means that Python versions older than . are no longer supported. Be sure to see the...
08  mai     00h00
Monitoring Audio Levels with PulseAudio
   I’m working on driving an analog VU meter from my Raspberry Pi using whatever audio is going out the Pi’s sound outputs. The de facto Linux sound system, PulseAudio, allows any sound output or quot;sink quot; in PulseAudio’s nonclementure to be monitored. In PulseAudio land, each sink has a...
    00h00
Raspberry Pi: driving a VU meter using a digital-to-analog converter
   As I’ve mentioned in previous blog articles, my wife and I have been working on driving an analog VU meter based on the sound going out the Raspberry Pi’s audio outputs. This now works Here’s a video demonstrating the result: The music is playing from a Raspberry Pi, with software...
29  mars     00h00
IMAPClient 0.9.2
   IMAPClient . . was released yesterday. In this release: The IMAP THREAD command is now supported. Thanks to Lukasz Mierzwa for the patches. Enhanced CAPABILITY querying Better documentation for contributors see HACKING file Copyright date update for . See the NEWS file and manual for more...
13  novembre     00h00
IMAPClient 0.9.1
   IMAPClient . . is out In this release: OAUTH support: OAUTH v is still supported by Gmail but is now deprecated. Thanks to Zac Witte for the patch for version support. Stream support: It is now possible to have IMAPClient run an external command to establish a connection to an IMAP server....
05  novembre     00h00
itertools.groupby
   A relatively unknown part of the Python standard library that I find myself using fairly regularly at work these days is the groupby function in the itertools module. In a nutshell, groupby takes an iterator and breaks it up into sub iterators based on changes in the quot;key quot; of the main...
02  octobre     00h00
Tiling addiction
   So I have this problem ... Well it’s not really a problem I can stop whenever I want, really I can. My problem is that I have a thing for tiling window managers WMs . I love the efficient window management, keyboard focussed operation, extensive customisability and lightweight feel that most...
21  juillet     00h00
Somewhat over-engineered blinking LEDs
   My Raspberry Pi arrived a couple of weeks ago and I x ;ve been working on turning it into a mini audio server to connect to the home stereo in the living room. As part of the project I x ;d like to drive an analog VU meter from the sound signal. This week my enthusiastic wife and I played...
17  mai     00h00
IMAPClient 0.9 released
   I’m pleased to announce version . of IMAPClient, the easy to use and Pythonic IMAP client library. Highlights for this release: Support for Gmail’s label API. Thanks to Brian Neal for the patches for this. Significant cleanup and refactoring in preparation for Python compatibility. The...
08  avril     00h00
Introducing elemental
   The first release of my first Elisp project is out. The project is called quot;elemental quot; and the intro from the README goes: elemental is a set of Emacs Lisp functions for intelligently jumping between and transposing list tuple dictionary function parameter elements. These functions are...
12  janvier     00h00
IMAPClient 0.8.1 released
   Version . . of IMAPClient has just been released. This version works around a subtle bug in distutils which was preventing installation on Windows from working. Thanks to Bob Yexley for the bug report. This release also contains a few small documentation updates and packaging fixes. The NEWS file...
10  novembre     00h00
IMAPClient 0.8 released
   Version . of IMAPClient is out Although I didn’t get everything into this release that I had hoped to, there’s still plenty there. Thanks to Johannes Heckel and Andrew Scheller for their contributions to this release. Highlights for . : OAUTH authentication support IDLE support example Full...