Autonomie numérique et technologique

Code et idées pour un internet distribué

Linkothèque. Carnet de bord. Page 9


…Muy pronto un negocio mucho más atractivo que el teatral atrajo mi atención y la del país. Era un asuntillo llamado mercado de valores. Lo conocí por primera vez hacia 1926. Constituyó una sorpresa muy agradable descubrir que era un negociante muy astuto. O por lo menos eso parecía, porque todo lo que compraba aumentaba de valor. No tenía asesor financiero ¿Quién lo necesitaba? Podías cerrar los ojos, apoyar el dedo en cualquier punto del enorme tablero mural y la acción que acababas de comprar empezaba inmediatamente a subir. Nunca obtuve beneficios. Parecía absurdo vender una acción a treinta cuando se sabía que dentro del año doblaría o triplicaría su valor.

Sobre los Centros sociales autogestionados okupados como infraestructuras sociales, término acuñado por Eric Klinenberg.

En los últimos 25 años han sido fábricas de innovación y un lugar fundamental de encuentro para mucha gente anónima.

To facilitate a “Laboratory for the unexpected” approach, here are 2 tips:

Run a community event first
Whether you are a public or private organization, when planning to create a space dedicated to creative cultures in your city, there are huge benefits in running an event to gather the community you want to engage with, before the actual opening of your space. This would allow your project to perform an agile reality check (”is the vision of the project in line with local expectations?”) and to inform early stage decisions to be more efficient (”does my space need to be 500 or 1000 sqm?”).
Adopt an incremental approach: the 80/20 principle for space design When it comes to spatial design, you can temporary leave 20% of your square meters undesigned, only with basic furniture and without a pre-defined specific destination. This will allow the community to come up with real needs for it (a laboratory for professional photography, a special meeting room, a café, etc…). This will avoid overdesign and overbudgeting of your operation, while strengthening the bonds between your physical space and the community.

The ultimate goal of every software developer should be to write reliable code. Nothing else matters if the code is buggy and unreliable. And what is the best way to write code that is reliable? Simplicity. Simplicity is the opposite of complexity. Therefore our first and foremost responsibility as software developers should be to reduce code complexity.

I’m not criticizing Alan Kay’s OOP — he is a genius. I wish OOP was implemented the way he designed it. I’m criticizing the modern Java/C# approach to OOP.

Many dislike speed limits on the roads, but they’re essential to help prevent people from crashing to death. Similarly, a good programming framework should provide mechanisms that prevent us from doing stupid things.

Yes, Functional Programming has a strong mathematical foundation and takes its roots in lambda calculus. However, most of its ideas emerged as a response to the weaknesses in the more mainstream programming languages. Functions are the core abstraction of Functional Programming. When used properly, functions provide a level of code modularity and reusability never seen in OOP. It even features design patterns that address the issues of nullability and provides a superior way of error handling.

I think that it is not right that OOP is considered the de-facto standard for code organization by many people, including those in very senior technical positions. It is also unacceptable that many mainstream languages don’t offer any other alternatives to code organization other than OOP.

Captura de pantall de scribe.cemea.org

Les envois de vidéos sont supportés, mais il est plutôt conseillé d’envoyer un fichier audio (wav, mp3, m4a, ogg…) pour limiter les délais.

Un outil comme celui-ci est utile pour fournir une version texte d’un fichier média (audio ou vidéo). L’objectif de ce programme est de fournir un outil simple et rapide pour permettre de récupérer un texte et l’utiliser comme version numérique. Ceci peut être pratique pour retransmettre rapidement des notes audio par écrit, par exemple. Il vous suffit de vous enregistrer en train de les lire à haute voix, puis d’envoyer votre fichier audio pour qu’il soit transcrit au format texte.

Conduit is a simple, fast and reliable chat server powered by Matrix.

Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements. That means you can make your own Conduit setup in just a few minutes.

Other server implementations try to be extremely scalable, which makes sense if the goal is to support millions of users on a single instance, but makes smaller deployments inefficient. Conduit tries to keep it simple. The future for Conduit in peer-to-peer Matrix (every client contains a server) is also bright.

Conduit tries to be reliable by using the Rust programming language and paying close attention to error handling to make sure that evil clients, misbehaving servers or even a partially broken database will not cause the whole server to stop working.

https://www.youtube.com/watch?v=jHx5rePmz2Y

There’s all these industries that are, basically, if they disappear it wouldn’t make any difference. Telemarketing! You know, the whole telemarketers vanished: most people would not complain. They’d be pretty happy actually. Corporate lawyers. I mean, there’s one or two big shots who think waht they do is important, but the vast majority say « Well, yes, I mean, it’s completely unnecessary. If I didn’t have this job the world would not change in any way »

Perhaps you have wondered how predictable machines like computers can generate randomness. In reality, most random numbers used in computer programs are pseudo-random, which means they are generated in a predictable fashion using a mathematical formula. This is fine for many purposes, but it may not be random in the way you expect if you’re used to dice rolls and lottery drawings.

RANDOM.ORG offers true random numbers to anyone on the Internet. The randomness comes from atmospheric noise, which for many purposes is better than the pseudo-random number algorithms typically used in computer programs. People use RANDOM.ORG for holding drawings, lotteries and sweepstakes, to drive online games, for scientific applications and for art and music.

Ser pobre, de nuevo, es una percepción por comparativa. Y esto tiene una trascendencia crucial a la hora de entender el actual panorama de polarización en el que vivimos: mientras que los de arriba intentan convencer al mundo de una visión cartesiana y cientificista de la realidad (que curiosamente coincide a pies juntillas con su experiencia vital), los de abajo se la explican a través de sus percepciones y experiencias del día a día. Y la pobreza, amigos, se adhiere a la piel hasta fundirse con ella. Y la percepción de injusticia aumenta con cada gesto, con cada pequeña discriminación sentida, hasta degenerar en rabia. Entender esta dicotomía de la percepción de la realidad es clave si queremos entender por qué los de abajo apoyan a las lepen, los bolsonaro, los castillo o a los abascales de turno. Reacciones contra un establishment que sigue hablando para sí mismo, mientras el resto del mundo se muere, casi literalmente, de hambre.

Play all your games on Linux

Lutris is a video game preservation platform aiming to keep your video game collection up and running for the years to come.

Over the years, video games have gone through many different hardware and software platforms. By offering the best software available to run your games, Lutris makes it easy to run all your games, old and new.

Desde la década de los años veinte empieza a plantearse en España la posibilidad de incorporar la fotografía aérea a los trabajos catastrales, realizándose los primeros experimentos al respecto en los años treinta. Entre tanto, fue la iniciativa privada, representada por la Compañía Española de Trabajos Fotogramétricos Aéreos (CETFA), la que asumió el grueso de las labores fotogramétricas, trabajando de manera sucesiva para las Confederaciones Hidrográficas, la Diputación de Navarra, los Ayuntamientos, o incluso los propios servicios del Estado, el Instituto Geográfico Nacional y el Ministerio de Hacienda

A este fenómeno lo bautizaron los habitantes de los Alpes que contemplaban el brillo de las altas cumbres después de que el sol se hubiera escondido tras el horizonte. Por eso se conoce como ‘resplandor alpino’ o Alpenglow, que viene de la palabra alemana Alpenglühen.

Hoy en día el término Alpenglow no se utiliza solo para describir la última luz en la cima de las montañas: también vale para describir la luz que ilumina la parte más alta de un rascacielos, como en este atardecer en Nueva York.

Si seguimos hacia arriba y tomamos la definición de Alpenglow en este sentido tan amplio, cada vez que vemos pasar la Estación Espacial Internacional (ISS) sobre nuestras cabezas cruzando el cielo nocturno (hay aplicaciones que te dicen en qué días y horas se ve mejor), estamos viendo un objeto iluminado por el sol en las alturas que brilla en medio de la noche.

El “Atlas de la Vulnerabilidad Urbana” en España 2001-2011 es una aplicación web que ofrece información estadística y permite analizar la vulnerabilidad urbana a nivel de sección censal en todos los municipios de España, generando mapas temáticos de diferentes indicadores. Es una herramienta complementaria al “Visor del Catálogo de Barrios Vulnerables”, dentro de las varias que ofrece el “Observatorio de la Vulnerabilidad Urbana en España”. Se ha realizado a partir de los datos del INE (Instituto Nacional de Estadística) de los Censos de Población y Vivienda de 2001 y de 2011, y se actualizará próximamente cuando estén disponibles los nuevos datos correspondientes a 2021.

How to apply a filter
* Right-click on the layer listed in panel Layers
* Choose Filter...
* The window Query Builder is displayed

How to build a query in Query Builder
* Double click on a field in Fields list
* Select All in Values
* Choose a operator from Operators
* Double click on a value in Values list
* Your expression is shown at the bottom of the window
* Click Test to have a preview of how many rows are returned
* Click OK to apply the filter
* The layer is displayed according to the filter applied (you see a filter icon aside the layer name in panel Layers)

In this essay a new form of Internet activism is proposed: stacktivism. Building on hacktivist practices, this form of code and standard development as political struggle is envisioned to connect different layers of the techno-protological stack (also known as the Internet) in order build bridges between different, still isolated institutional levels and disciplinary practices such as grassroots wifi-access initiatives, interface design, geeks, computer scientists and governance experts. How do we envision a public stack that goes beyond the structures such ICANN, IETF and IGF that can take up the task to rebuild the Internet as a decentralized, federated, public infrastructure?

There’s three steps to add zoom and pan behaviour to an element:

  • call d3.zoom() to create a zoom behaviour function
  • add an event handler that gets called when a zoom or pan event occurs. The event handler receives a transform which can be applied to chart elements
  • attach the zoom behaviour to an element that receives the zoom and pan gestures

Quantile and quantize scales have very similar names, confusingly so. Here’s how to remember their meanings:

Quantiles are defined, in statistics, as separating a population into intervals of similar sizes (the 10% poorest, the 50% tallest, the 1% richest…); a quantile scale is essentially defined by its domain, a fixed set of values — when applied to a new value, it will then compute its ranking with respect to the initial distribution, and map that ranking to the output range.

To Quantize means to group values with discrete increments — like expressing a list of floating point numbers with 1 decimal digit, or rounding time to the closest minute. It is the output range that is discretized, and such a scale allows to transform an initial continuous range into a discrete set of classes.

Threshold scales allow us to directly specify the cut values that separate the classes.

When, on a print map, 1 cm figures a real distance of 1 km on the terrain, we say that the map has a 1:100,000 scale.

But scales are not limited to a proportional ratio (or rule of three) between an actual distance and a length on paper. More generally, they describe how an actual dimension of the original data is to be represented as a visual variable. In this sense, scales are one of the most fundamental abstractions of data visualization.

Scales from the d3-scale module are functions that take as input the actual value of a measurement or property. Their output can in turn be used to encode a relevant representation.