Autonomie numérique et technologique

Code et idées pour un internet distribué

Linkothèque. Carnet de bord. Page 16


In my opinion, “instant, public, global messaging and conversation” should, in fact, be global. Distributed between independent organizations and actors who can self-govern. A public utility, without incentives to exploit the conversations for profit. A public utility, to outsurvive all the burn-rate-limited throwaway social networks. This is what motivated me to create Mastodon.

Besides, Twitter is still approaching the issue from the wrong end. It’s fashionable to use machine learning for everything in Sillicon Valley, and so Twitter is going to be doing sentiment analysis and whatnot when in reality… You just need human moderators. Someone users can talk to, who can understand context. Unscalable for Twitter, where millions of people are huddled together under one rule, but natural for Mastodon, where servers are small and have their own admins.

the telecom operator locates the damaged area by zeroing in on the problematic part. To do this, they send signal pulses through the cable from one end or base station. The damaged area (break) will bounce back the pulse to the signalling site which sent the data. Calculating the time delay from the reflected signal, engineers can zero in on the exact point and area of the problem. Then they send out a large cable repair ship, with fresh optic cables to replace the defective part under the sea. The cable is then lifted from the sea bed using special hooks (grapnel) and dragged onto the ship. The faulty cables are then spliced onboard, joined with a fresh cable, sealed with a watertight and anticorrosive covering and returned back to the seabed. Then the ship sends out the information to the base stations to test the cable again. Once the test signals are reaching the destination, the work is confirmed and the cable is repaired successfully. The data is then switched on and the connection restored. The entire process can take up to 16 hours or more, depending the number of cable breaks, successful repairs, time of day, weather conditions at sea and ships around the area.

Climate disaster could take away both their connection and a crucial source of income. And, ironically enough, these cables are used to help gather data on climate impacts, so climate change could mess up the very tools we need to monitor the impact of climate change.

The thing about buttons, though, is there seems to be some invisible magic taking place between the moment you press them down and when you get the expected result. You can never really be sure you caused the soft drink to appear without opening up the vending machine to see how it works.

Maybe there’s a man inside who pulls out the can of soda and puts it in the chute. Maybe there’s a camera watching the machine, and someone in a distant control room tells the machine to dispense your pop.

You just don’t know, and that’s how conditioning works. As long as you get the result you were looking for after you press the button, it doesn’t matter. You will be more likely to press the button in the future (or less likely to stop).

The problem here is that some buttons in modern life don’t actually do anything at all. The magic between the button press and the result you want is all in your head. You never catch on – because you are not so smart.

New Yorkers (those who don’t jaywalk, that is) have for years dutifully followed the instructions on the metal signs affixed to crosswalk poles:

To Cross Street

Push Button

Wait for Walk Signal

But as The New York Times reported in 2004, the city deactivated most of the pedestrian buttons long ago with the emergence of computer-controlled traffic signals. More than 2,500 of the 3,250 walk buttons that were in place at the time existed as mechanical placebos. Today there are 120 working signals, the city said.

About 500 were removed during major construction projects. But it was estimated that it would cost $1 million to dismantle the nonfunctioning mechanisms, so city officials decided to keep them in place.

Most of the buttons were scattered throughout the city, mainly outside of Manhattan. They were relics of the 1970s, before computers began choreographing traffic signal patterns on major arteries.

La razón de esto la explicaron hace un tiempo en medios como el New York Times o Science Alert. Una ley estadounidense llamada ‘Americans With Disabilities Act’ y aprobada en 1990 que buscaba proteger a las personas con discapacidades físicas de situaciones como la de no poder entrar en un ascensor a tiempo antes del cierre de puertas. De repente, por ley, ya no se podían cerrar las puertas voluntariamente si ello implicaba cerrar el paso a alguien que usase una silla de ruedas o unas muletas.

Sin embargo, al mismo tiempo, quedó patente que botones como el de cerrar las puertas de un ascensor dan cierta sensación de control de una situación aunque a nivel efectivo no hagan nada. Esa sensación de control reduce el estrés y la ansiedad, según la profesora Ellen J. Langer de la Universidad de Harvard.

Así que a partir de 1990, todos los ascensores empezaron a fabricarse con botones de cerrar puertas que no hacían nada.

Captura de pantalla de switching.software

switching.software is a grassroots website, that is trying to let people know about ethical and easy-to-use alternatives to well-known websites, apps and other software.

Switching.software is a fork of a former website known as ‘switching.social’. It was created and maintained by an anonymous person and gained popularity in 2018 and 2019 – especially on the Fediverse.

Electronic Frontier Foundation co-founder John Gilmore said that the internet routed around censorship. But what if the net stopped being one big, connected thing? National governments are busy walling off their own sections, and in some cases changing the technologies that underpin it. What’s more, they’re not stopping at their own borders.

There are terms for this sliced-up internet, with rules that vary between countries. Some call it digital balkanisation. Others, like Julie Owono, call it the splinternet.

This set of digital gated communities is growing. Russia has the Runet, its domestic internet infrastructure, which it has been working to make independent from the external internet since at least 2014. The country unplugged the Runet from the rest of the world a year ago in a test run to see how it would fare on its own.

Still, national calls to wall off portions of the internet are spreading. In 2013, then-Brazilian president Dilma Rouseff called on countries in the UN to build their own sovereign internet government structures. North Korea has Kwangmyong, a centrally administered network accessible only via a heavily monitored Linux distro called Red Star. Cuba has RedCubana, an alternative to the open net that houses Cuban versions of popular websites like Wikipedia, along with local apps. Iran has its National Information Network (aka the Halal internet), a government-controlled network that hosts Iranian sites and tracks all its users. It allows heavily moderated access to the outside world.

The battleground of this splinternet, and where we really see what’s at stake, is the African continent, where billions are yet to be connected.

China has invested just over $300bn in Africa in the last two decades. In 2018 President Xi Jinping pledged $60bn in assistance, investment, and loans, $10bn of which will come from Chinese companies investing in the region.

Chinese companies have been busy helping countries in Africa roll out everything from fibre networks to smart city initiatives and data centres, as the Australian Strategic Policy Institute has documented.

Pop Shell is a keyboard-driven layer for GNOME Shell which allows for quick and sensible navigation and management of windows. The core feature of Pop Shell is the addition of advanced tiling window management — a feature that has been highly-sought within our community. For many — ourselves included — i3wm has become the leading competitor to the GNOME desktop.

Openbox is a stacking window manager, but there is a simple shell script called winfuncs, which can be used to tile the openbox stacked windows at any time. Winfuncs is based on wmctrl, an old command line tool that provides access for doing many neat things to many modern Linux window managers. This is almost as good as having a tiling manager; it only fails in that new windows opened after a tile has been completed will not be automatically put into the tiling scheme. Each time a new window is opened the tiling button or key has to be re-applied to include it in the tiling. Winfuncs generates two tiling modes, one displays the open windows in a rectangular matrix mode assigning the same area to each window and one stacks the windows in an orderly, regular manner in the upper left corner of the screen.

What the heck is going on? Big brands turned off millions of dollars of digital ad spending, and saw no change in business outcomes. Small businesses tuned their digital marketing and reduced the number of ad impressions, clicks, and traffic to their sites, but saw business activity go up, instead of down.

Some brands paused digital ad spending in 2020, due to the pandemic. If they saw no change in business outcomes, they can be very selective in what spending they turn back on, because those expenses were not driving incremental business anyway. Other advertisers reduced the number of websites and mobile apps showing their ads by going to a strict include-list. This prevents the vast majority of fly-by-night fake sites and mobile apps from sapping their digital ad budgets. And finally, smart advertisers should run more controlled experiments like eBay did in 2012 and prove to themselves what portion of digital advertising truly drives incremental business outcomes, versus the portion of the spending that is just wasted to bot activity.

Hola, gente contagiada. Este grupo de Telegram es una virus-emergency-version-conversation del programa radiofónico « On Collaboration ». Qué supone o qué podemos aprender de lo que está haciendo la ciudadanía para apoyarse mientras la crisis, dentro de los tiempos en los que nos movemos con la familia en casa, y demás.

Como este grupo se convierte en podcast, nos comunicamos únicamente por notas de voz. Por favor, hablad mucho, o hablad poco, escuchad todas o no escuchéis ninguna de las notas de voz, sentíos cómodos en este grupo de hacer lo que queráis y cuando queráis de aquí adelante.

Hola gente contagiada de civismo, de curiosidad, de necesidad de aprendizaje, de compañía. Queremos recuperar las inteligencias colectivas, las estrategias, herramientas y vivencias en torno a la colaboración y los nuevos agenciamientos producidos en este contexto tan crítico y especial del Sars-Cov2 en nuestra realidad.

Pues, adelante.

There was a time when Thunderbird’s future was uncertain, and it was unclear what was going to happen to the project after it was decided Mozilla Corporation would no longer support it. But in recent years donations from Thunderbird users have allowed the project to grow and flourish organically within the Mozilla Foundation. Now, to ensure future operational success, following months of planning, we are forging a new path forward. Moving to MZLA Technologies Corporation will not only allow the Thunderbird project more flexibility and agility, but will also allow us to explore offering our users products and services that were not possible under the Mozilla Foundation. The move will allow the project to collect revenue through partnerships and non-charitable donations, which in turn can be used to cover the costs of new products and services.

Gobernar es partir de un plan a priori, habitar es escuchar.

… hay que quedarse en casa. ¿Y la gente que no tiene casa? Hay que escuchar qué es lo que pasa para poder actuar en ello.

el virus son unas lentes a través de las que mirar la realidad.

La palabra Apocalipsis significa revelación. Se revela lo escondido. Estamos en un momento en el que, a través de lo que nos muestra el virus, podemos repensar la realidad y transformarla.

El modelo nos pone por debajo. Hay que pensar en una política sin modelos, partir de lo que está pasando.

La opción del libro es esta segunda: asumir activamente, no nostálgicamente, la condición de huérfanos de una revolución que no tiene apego a la realidad.

Esa idea de militancia nostálgica que dice que todo lo que no es el modelo es posmodernismo, es anclarnos a la tristeza y no escuchar lo que ocurre.

Confinement oblige, ça fait maintenant un mois qu’on zone presque toutes chez nous, mais on a tenu à vous concocter un épisode un peu spécial, dans l’espoir de vous redonner le sourire :).

Elles s’aiment, elles nous aiment et nous apprennent à nous aimer, elles se mobilisent ou bien elles stagnent et emmerdent qui ça dérange, elles diffusent, elles écrivent, elle partagent… nos warriors en confinement vont vous réconcilier avec vos corps, vos envies et non envies, et c’est de ça, JUSTE de ça dont on a besoin en ce moment.

Voilà donc un épisode auto-calin pour vous faire du bien !

ArchiveBox is a powerful self-hosted internet archiving solution written in Python 3. You feed it URLs of pages you want to archive, and it saves them to disk in a varitety of formats depending on the configuration and the content it detects. ArchiveBox can be installed via Docker (recommended), apt, brew, or pip. It works on macOS, Windows, and Linux/BSD (both armv7 and amd64).

La plataforma social «València per l’aire» som una iniciativa organitzada de ciutadania col·lectiva, autònoma i plural. Els motius i finalitats generals que ens mouen cerquen solucions eficaces que milloren la qualitat de l’aire urbà de la ciutat de València i de l’entorn metropolità. Ens hem dotat de mitjans tècnics propis que són necessaris per a realitzar mesuraments i vigilància sobre la qualitat de l’aire. Produïm i difonem informació objectiva i socialment accessible sobre la contaminació de l’aire de València i la seua àrea metropolitana. També realitzem un seguiment continuat i unes valoracions especifiques per zones sobre la composició de l’aire i la presència de components tòxics.

BEM — Block Element Modifier is a methodology that helps you to create reusable components and code sharing in front-end development.

BEM is a highly useful, powerful, and simple naming convention that makes your front-end code easier to read and understand, easier to work with, easier to scale, more robust and explicit, and a lot more strict.

The BEM approach ensures that everyone who participates in the development of a website works with a single codebase and speaks the same language. Using BEM’s proper naming convention will better prepare you for design changes made to your website.

Captura de pantalla de app.dvf.etalab.gouv.fr

Cette application est proposée par Etalab, département de la DINUM, et permet de visualiser les données DVF (demandes de valeurs foncières), correspondant aux mutations à titre onéreux réalisées les 5 dernières années. Les données DVF brutes sont téléchargeables sur le site https://www.data.gouv.fr depuis le 24 avril 2019 et sont produites par la direction générale des Finances publiques. Vous y trouverez des informations sur le cadre technique et légal de cette publication.

A quoi correspond le prix affiché ?

Il s’agit dun prix « net vendeur », c’est-à-dire ne comprenant ni frais d’agence immobilière, ni frais de notaire. En cas de vente de mobilier (une cuisine équipée par exemple) avec le bien immobilier, le montant de ce mobilier n’est pas compris dans le prix affiché. La TVA est incluse.

PyPI packages not in the standard library:

  • virtualenv is a very popular tool that creates isolated Python environments for Python libraries. If you’re not familiar with this tool, I highly recommend learning it, as it is a very useful tool, and I’ll be making comparisons to it for the rest of this answer.

    It works by installing a bunch of files in a directory (eg: env/), and then modifying the PATH environment variable to prefix it with a custom bin directory (eg: env/bin/). An exact copy of the python or python3 binary is placed in this directory, but Python is programmed to look for libraries relative to its path first, in the environment directory. It’s not part of Python’s standard library, but is officially blessed by the PyPA (Python Packaging Authority). Once activated, you can install packages in the virtual environment using pip.

  • pyenv is used to isolate Python versions. For example, you may want to test your code against Python 2.7, 3.6, 3.7 and 3.8, so you’ll need a way to switch between them. Once activated, it prefixes the PATH environment variable with ~/.pyenv/shims, where there are special files matching the Python commands (python, pip). These are not copies of the Python-shipped commands; they are special scripts that decide on the fly which version of Python to run based on the PYENV_VERSION environment variable, or the .python-version file, or the ~/.pyenv/version file. pyenv also makes the process of downloading and installing multiple Python versions easier, using the command pyenv install.
  • pyenv-virtualenv is a plugin for pyenv by the same author as pyenv, to allow you to use pyenv and virtualenv at the same time conveniently. However, if you’re using Python 3.3 or later, pyenv-virtualenv will try to run python -m venv if it is available, instead of virtualenv. You can use virtualenv and pyenv together without pyenv-virtualenv, if you don’t want the convenience features.
  • virtualenvwrapper is a set of extensions to virtualenv (see docs). It gives you commands like mkvirtualenv, lssitepackages, and especially workon for switching between different virtualenv directories. This tool is especially useful if you want multiple virtualenv directories.
  • pyenv-virtualenvwrapper is a plugin for pyenv by the same author as pyenv, to conveniently integrate virtualenvwrapper into pyenv.
  • pipenv aims to combine Pipfile, pip and virtualenv into one command on the command-line. The virtualenv directory typically gets placed in ~/.local/share/virtualenvs/XXX, with XXX being a hash of the path of the project directory. This is different from virtualenv, where the directory is typically in the current working directory. pipenv is meant to be used when developing Python applications (as opposed to libraries). There are alternatives to pipenv, such as poetry, which I won’t list here since this question is only about the packages that are similarly named.

Standard library:

  • pyvenv is a script shipped with Python 3 but deprecated in Python 3.6 as it had problems (not to mention the confusing name). In Python 3.6+, the exact equivalent is python3 -m venv.
  • venv is a package shipped with Python 3, which you can run using python3 -m venv (although for some reason some distros separate it out into a separate distro package, such as python3-venv on Ubuntu/Debian). It serves the same purpose as virtualenv, but only has a subset of its features (see a comparison here). virtualenv continues to be more popular than venv, especially since the former supports both Python 2 and 3.

Recommendation for beginners:

This is my personal recommendation for beginners: start by learning virtualenv and pip, tools which work with both Python 2 and 3 and in a variety of situations, and pick up other tools once you start needing them.

Hack_Curio is a video portal into hackerdom that helps explain why hacking is one of the most important phenomena of global culture and politics in the late 20th and early 21st century.

They are people of different kinds: they are young and old, men, women, and nonbinary. They are not invisible, immaterial, hidden or cloaked except, of course, when they want to be. Hackers are funny, and scary; hackers are do-gooders, and assholes; they write code; hunt for bugs; tell the government to fuck off; land in jail (and even break out of jail); they work for three-letter agencies and expose them; they secure and break into our systems; invent new laws; bitch and rant; whistle, hum, and rap.

USB-C capabilities

Whereas USB-A connectors have to be plugged into their ports in a specific orientation, the symmetry of the oval shaped USB-C connector head, along with the pin configuration within it, allows the USB-C connector to be completely reversible…

With two-way charging, a USB-C port has the potential to either output power in order to charge a connected device, or input power from a connected device in order to charge itself.

Alt Mode allows USB-C ports to transfer data/video via multiple interfaces, including the increasingly popular DisplayPort video interface. USB-C ports which are able to transfer DisplayPort signals are either called USB-C DisplayPort or DP Alt Mode. They allow you to connect video sources (e.g. PCs, Blu-Ray players, etc.) and display devices (e.g. TVs, projectors, etc.) that support DisplayPort to each other via their USB-C ports to broadcast high-definition video.

The last thing I’m going to mention, and this is on me not Pine64 in any way, it caught me off guard that it’s running Manjaro. It shouldn’t have since it’s on the box and on the phone itself, but it did. I’ve been using Mobian with Phosh on the PineTab, and Manjaro with Phosh looks pretty much identical, but obviously tools like apt aren’t there. Tomorrow when I have the chance to look around a little bit more, I’m going to have to get myself in the Manjaro head space instead of a Debian based distro. I’m looking forward to it.

The splinternet (also referred to as cyber-balkanization or internet balkanization) is a characterization of the Internet as splintering and dividing due to various factors, such as technology, commerce, politics, nationalism, religion, and divergent national interests. « Powerful forces are threatening to balkanise it », writes the Economist weekly, and it may soon splinter along geographic and commercial boundaries. Countries such as China have erected what is termed a « Great Firewall », for political reasons, while other nations, such as the US and Australia, discuss plans to create a similar firewall to block child pornography or weapon-making instructions.

What does it mean to leave the city behind? Can the reality of living in the countryside fulfil our desire for a better, simpler, more creative life? My book sheds a light on what rural life can be like today, with all its joys and challenges, providing a fresh look at the people and scenes thriving outside urban spaces.

From experimental co-habitation in a renaissance castle to oversized artworks on a farm, City Quitters offers a global perspective on creative post-urban life: 22 stories from 12 countries and five continents, all based in places with fewer than 10,000 inhabitants.

Captura de pantalla de france-geojson.gregoiredavid.fr

Le projet Github france-geojson propose au format GeoJSON les cartes des régions, départements, arrondissements, cantons et communes de France (métropole et départements d’outre-mer) à partir des données publiées par l’IGN et l’INSEE.

Ce site permet de rechercher, visualiser et télécharger individuellement chacun de ces fichiers dans un format optimisé. Pour plus de détails ou pour accèder à la version non optimisée des tracés, cliquez sur le bouton ci-dessous.

La industria de la telefonía móvil está en las puertas de una nueva revolución, solo que es una que tiene poco o nada que ver con incrementar el acceso o la asequibilidad. De hecho, ni siquiera está claro cuándo el 5G empezará a funcionar en alguna escala. Según la propia estimación de la GSMA: “La adopción global del 5G será solo de alrededor de un 16% en 2025”.

Un problema fundamental es que el 5G no está centrado en los humanos. La comunicación entre los seres humanos es solo una pequeña parte del paquete, como también lo es el acceso a la información y el diálogo entre pares. Como enfatizaba mi texto previo, hay un enfoque importante en facilitar las comunicaciones de máquina a máquina (“Internet de las Cosas o IoT”) y en convertir al 5G en una plataforma de distribución mediática para televisión HD, gaming, realidad virtual y otros. Cuando la gente ya no es el foco intrínseco del sistema de comunicación, entonces algo fundamental ha cambiado en la naturaleza y el propósito de la red.

La tecnología 5G es increíblemente cara de desplegar, incluso en condiciones urbanas óptimas. Las estaciones base son caras y se necesita muchas de ellas, y además requieren una costosa infraestructura de soporte para operar, como cableado de fibra óptica de alta capacidad. Esto tiene sentido si quieres crear una red muy densa que pueda movilizar muchos datos a mucha gente en un área pequeña. Esto no tiene sentido para áreas rurales, donde generalmente tienes que cubrir pocas personas en un área grande. Como sabemos de nuestra situación actual, a las redes móviles se les dificulta< operar de forma sustentable en ambientes rurales donde las densidades de población y el ingreso disponible de la gente son menores. Es por esto que los operadores tienden a evitar construir cualquier cosa en este tipo de lugares. Si los grandes operadores deciden no construir en nuevos lugares, el hecho de que sus licencias de espectro sean nacionales, significa que otros no podrán construir redes. Adicionalmente, el 5G en la mayoría de los casos, requiere que los operadores acceden a nuevas bandas espectrales, lo que no es barato. Los operadores de tecnología móvil están invirtiendo grandes sumas de dinero para acceder a espectro de ondas milimétricas para 5G, cuyo uso no es factible en áreas rurales, ya que estas frecuencias muy altas no son adecuadas para cubrir grandes áreas.

Además de las noticias que relacionan el 5G con el covid-19 y otras ideas conspiranoicas, aún no está claro que este tipo de tecnología tenga afectaciones a la salud, ya que hay controversia en los estudios y no se ponen de acuerdo. Lo que sí es seguro es que el 5G significa más fabricación de dispositivos, antenas, cables, servidores y aparatos de todo tipo, que se construyen con minerales, que se extraen de minas, que afectan gravemente a la tierra y el territorio. También llevará aparejada mucha obsolescencia y renovación de equipos, y por tanto, mayores cantidades de residuos tecnológicos, que irán a parar a vertederos, ríos, costas, que también afectarán gravemente a la tierra y el territorio. Es decir, a muchas personas.

Y estar a la última en tecnología para acceder a estas redes ¿significará trabajar más para consumir más tecnología? ¿En qué condiciones laborales? Pues con el 5G también se prevé más automatización en puestos de la industria y los servicios. Suena a más precariedad, deslocalización, desempleo. ¿O vendría acompañado de dignificación de otros puestos de trabajo y rentas básicas?

Pero también con consecuencias geopolíticas, como hemos estado viendo con la pugna entre Estados Unidos y China. ¿Dentro de unos años habrá varios Internet, según los bloques geopolíticos? Todo apunta a ello.

Asynchronous requests will wait for a timer to finish or a request to respond while the rest of the code continues to execute. Then when the time is right a callback will spring these asynchronous requests into action.

Generators

One use for generators is that they allow you to have async code looking like sync.

Instead of returning with a return, generators have a yield statement. It stops the function execution until a .next is made for that function iteration. It is similar to .then promise that only executes when resolved comes back.

Async/Await

This method seems like a mix of generators with promises. You just have to tell your code what functions are to be async. And what part of the code will have to await for that promise to finish.

The async and await keywords are a great addition to Javascript. They make it easier to read (and write) code that runs asynchronously. That includes things like:

API calls (using fetch or a library like axios);
Timeouts (though these need a little extra work); or
Reading/writing files if you’re using NodeJS.

I’m going to assume you’re familiar with Promises and making a simple async/await call. Where it can get tricky is when we have a whole bunch of tasks in an array. You might run through the array expecting calls to run one-by-one. But instead, they run through all together and don’t wait for each individual item to resolve. Or, you might find yourself with the opposite problem. You run through your array in a loop, wanting them to run in parallel. But instead, it waits and does them one by one. And sometimes, you try something and it doesn’t work at all. The program just continues after the loop instead of waiting until the calls are all done. You end up wondering if there’s something you’re missing.