Services Blog Français

Arch & Alpine Linux YourLabs Mirrors & Scripts

| by jpic

This articles describes how to use the scripts we use to maintain public and private mirrors for Arch and Alpine Linux packages (more distros to come): arch.yourlabs.org and alpine.yourlabs.org.

The whole point of having this is that we also have arch.yourlabs.org and alpine.yourlabs.org on our local networks, as such upgrades are extremely fast at the hackerspace.

Read More

BigSudo eXtreme DevOps: Hacking Operations

| by jpic | devops

BigSudo is a command line generator wrapping around Ansible: the excellent tool for automating operations which has proven itself in an extremely heterogenic ecosystem over the course of the last years, and currently maintained by Red Hat.

eXtreme DevOps is when code traditionnaly known as network and infrastructure operations automation meet continuous integration, merges with continuous delivery, made it almost trivial to deploy per-branch ephemeral deployments on each git push, say on test-$GIT_BRANCHNAME.ci.example.com, so that the product team can review a feature during development without forcing the developer to merge unfinished code into master, in order to keep the master branch clean and deployable at any moment.

Read More

Developping on Tezos with custom gas restrictions

| by Thomas Binetruy

Then next Tezos Protocol update, Carthage net, will increase the gas restrictions allowing the development of hungrier smart contracts. In this post, we document how to update these hard limits to arbitrary values letting developers implement contracts in view of protocol updates. For instance, the gas restrictions will increase by multiple folds before the end of the year.

We develop on the Tezos sandbox, the simplest is to pull Yourlabs' docker image:

Read More

Python 3.8 AST updates

| by Thomas Binetruy

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:

Read More

Use npm install -g in ~/.local non-root

| by jpic | nodejs npm linux

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.4.0 release

| by jpic | django-autocomplete-light python

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

Previous Page 3 of 33 Next Page

They trust us

Contact

logo