




On this Friday night, I decided to give my mini Python to pseudo-Michelson compiler 1 a little polish. I remembered leaving it working flawlessly, so that it’d be easy to get back grinding at it anytime I so desired to. Using the Python AST module as a compiler frontend, I was sure it’d be pretty stable, unlike Marshall code, purposely left undocumented 2.
So I gave my code a go, and somehow, my integration test wasn’t working
anymore! What could possibly have gone wrong. I noticed I was using the
Python 3.8 interpreter and that I had only tested my code on Python 3.7.
Could this update contain breaking changes with respect to my code? I
figured if this had been the case, then surely it’d be in the AST
module. I compared the bytecode output I was getting with the one my
test expected and surprisingly, it was not the same! It wasn’t pushing
my constants onto the stack when assigning them to variables. A little
more digging, with the help of Python’s new breakpoint()
, until I
noticed that my condition on ast.Num
, to push a number on the stack,
had been replaced by ast.Constant
… Hence the weird bug I was
noticing. A little Googling to find that indeed:
This articles presents the most convenient way to deal with global node packages as non-root user.
By default, npm install -g
tries to write a root-writable directory and
greets you with:
$ npm install -g cypress
WARN checkPermissions Missing write access to /usr/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! [Error: EACCES: permission denied, access '/usr/lib/node_modules'] {
npm ERR! stack: "Error: EACCES: permission denied, access '/usr/lib/node_modules'",
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/lib/node_modules'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.
Read More
Django-autocomplete-light 3.5.0 was released, including backward compatibility breaks.
Read MoreDjango-autocomplete-light 3.4.0 introduced a regression in locale loading, it has been reported by Phil Gyford, thank you !
This release re-enables Python 2 and Django 1.11 support, even though it doesn’t pass all tests because tests rely on dicts being ordered by default which came in Python 3
Also, this release exits from using Django’s vendored select2, and vendors select2 itself with a submodule again, this is to benefit from upstream bugfixes faster
https://github.com/yourlabs/django-decision
A Delegative Democracy implementation made in BlackLoop HackerSpace for Les Indignés back in the days I used to squatt hackerspaces in-between gigs (now running my own). It’s a bit old but probably still valid, given the complexity is handled in SQL with a WITH RECURSIVE query. Anyway, hope this will inspire you ! Have a great week
https://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html
Pretty nice alternative docstring syntax for argument description and much more !
pyfront is a research project implementing data binding over django-channels.
https://www.ministryoftesting.com/testers_chat_invite
Join thousands of testers online at Ministry of Testing, a thriving community sharing the passion for better automated testing !
Dynamic Environment is when your pipeline creates a branchname.example.com deployment, for integration tests or manual review.
Gitlab in autodevops mode and with Kubernetes lets you enjoy this kind of stuff by just starting projects from their template images. Note that YourLabs offers consulting if you need help to setup/maintain your baremetal K8S or GitLab instance to do this kind of thing. (Please forgive horrible sound recording in our demo)
This article however, demonstrates how to acheive dynamic environments for integration testing and reviews with the product team with just docker-compose and nginx-proxy.
Read More