Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Linkoteca. Archivo de navegación. Página 2

Last summer in the first swings of the global pandemic, sitting at home finally able to tackle some of my electronics projects now that I wasn’t wasting three hours a day commuting to a cubicle farm, I found myself ordering a new smartphone. Not the latest Samsung or Apple offering with their boring, predictable UIs, though. This was the Linux-only PinePhone, which lacks the standard Android interface plastered over an otherwise deeply hidden Linux kernel.

As a bit of a digital privacy nut, the lack of Google software on this phone seemed intriguing as well, and although there were plenty of warnings that this was a phone still in its development stages it seemed like I might be able to overcome any obstacles and actually use the device for daily use. What followed, though, was a challenging year of poking, prodding, and tinkering before it got to the point where it can finally replace an average Android smartphone and its Google-based spyware with something that suits my privacy-centered requirements, even if I do admittedly have to sacrifice some functionality.

The importance of wp_localize_script is when you can pass data directly from PHP to JavaScript.

Functions is very easy to handle there are only 3 parameters required :

(string) (Required) Script handle the data will be attached to.

(string) (Required) Name for the JavaScript object. Passed directly, so it should be qualified JS variable. Example: ‘/[a-zA-Z0-9_]+/’.

(array) (Required) The data itself. The data can be either a single or multi-dimensional array.

You can use single_template filter hook.

/* Filter the single_template with our custom function*/
add_filter('single_template', 'my_custom_template');

function my_custom_template($single) {

    global $post;

    /* Checks for single template by post type */
    if ( $post->post_type == 'POST TYPE NAME' ) {
        if ( file_exists( PLUGIN_PATH . '/Custom_File.php' ) ) {
            return PLUGIN_PATH . '/Custom_File.php';

    return $single;


There are a few steps to create the custom quick edit box and custom column

  1. create a custom meta key (assumed that you have 1 already)
  2. add custom admin column title and data (assumed that you want to shows the custom meta key in the column, if not, you may also modify a bit of the logic to accomplish the same effect because the principal is the same)
  3. add custom quick edit box
  4. add save logic
  5. load script to modify original inline-edit-post function in order to support custom meta value
  6. prepare the script file

This tutorial is meant for D3 v5-v7.

This tutorial is a quick intro to D3.js, a Javascript library for creating interactive data visualizations in the browser. D3 is built on top of common web standards like HTML, CSS, and SVG.

This is not designed to be a deep dive — this tutorial will teach you how to learn D3 and give you a high-level understanding of this powerful tool.

Broadly speaking there are 4 steps to setting up a force simulation:

  • create an array of objects
  • call forceSimulation, passing in the array of objects
  • add one or more force functions (e.g. forceManyBody, forceCenter, forceCollide) to the system
  • set up a callback function to update the element positions after each tick

I’ve just had a nice experience improving and modernizing a large JavaScript codebase in a WordPress plugin. The original code was written in an old-fashioned way with jQuery in a single large file. Using modern EcmaScript and tools like Webpack, I was able to split it into modules and improve the code structure. The new code is much more readable and maintainable, and of course, fewer bugs. In this tutorial, I’ll show you how I did that.

ECMAScript 2015 or ES2015 is a significant update to the JavaScript programming language. It is the first major update to the language since ES5 which was standardized in 2009. Therefore, ES2015 is often called ES6.

cola.js (A.K.A. «WebCoLa») is an open-source JavaScript library for arranging your HTML5 documents and diagrams using constraint-based optimization techniques.

It works well with libraries like D3.js, svg.js, and Cytoscape.js. The core layout is based on a complete rewrite in Javascript of the C++ libcola library.

It also has an adaptor for d3.js that allows you to use cola as a drop-in replacement for the D3 force layout. The layout converges to a local optimum unlike the D3 force layout, which forces convergence through a simple annealing strategy. Thus, compared to D3 force layout:

The filter for modifying, removing or adding columns to post list in WordPress admin panel is manage_{$post_type}_posts_columns.

Which hook you need to use for controlling the output of the column content depends on whether or not your post type is set to be hierarchical or not.

Any non-hierarchical post types, including WordPress’ built-in post type ‘post‘, use the hook name manage_{$post_type}_custom_column. Any hierarchical post types, including WordPress’ built-in post type ‘page‘, use the hook name manage_pages_custom_column (note: no injection of post type name in the hook name).

In QGIS version 3, there are built-in features to use raster and vector data from OpenStreetMap. There is no built-in possibility to upload changes back to a OpenStreetMap server directly from QGIS. For this purpose, please use one of the Editors.

To compress for web at a reasonable broadband bitrate of about 1.5Mbps video / 128kbps audio:

ffmpeg -i source.mp4 -c:v libx264 -b:v 1.5M -c:a aac -b:a 128k target.mp4

To scale down a high-resolution source video to something more reasonable for Web (qHD for cellular, HD for broadband), the -filter:v argument is used:

ffmpeg -i source.mp4 -c:v libvpx-vp9 -b:v 0.33M -c:a libopus -b:a 96k \
-filter:v scale=960x540 target.webm

the open source system for processing and editing 3D triangular meshes.
It provides a set of tools for editing, cleaning, healing, inspecting, rendering, texturing and converting meshes. It offers features for processing raw data produced by 3D digitization tools/devices and for preparing models for 3D printing.

A barn raising, also historically called a raising bee or rearing in the U.K., is a collective action of a community, in which a barn for one of the members is built or rebuilt collectively by members of the community. Barn raising was particularly common in 18th- and 19th-century rural North America. A barn was a necessary structure for any farmer, for example for storage of cereals and hay and keeping of animals. Yet a barn was also a large and costly structure, the assembly of which required more labor than a typical family could provide. Barn raising addressed the need by enlisting members of the community, unpaid, to assist in the building of their neighbors’ barns. Because each member could ask others for help, reciprocation could eventually reasonably be presumed for each participant if the need were to arise.

Basic check is simple, wait for the ended event. This is so simple you can just google it.

Now to check that user played full video an extensive analysis would be needed checking if he played every second of it. That’s not necessary however, it should be enough that user:

  • played as many seconds as the video is long
  • played to the end of the video

This snippet demonstrates exactly that. The video will not be marked as fully played if you just skip to the end. Playing the beginning over and over will also not mark it fully played

‘Imprescindibles’ hace un repaso de la vida de Gay Mercader, el único promotor musical nacional que se atrevió a traer a las grandes figuras del rock a un país recién salido del franquismo, sin infraestructuras ni grandes medios para ello. Rolling Stones, Patti Smith, Bob Marley, Dylan, AC/DC o The Cure son algunos de los 3.400 artistas internacionales que programó a lo largo de su trayectoria.

Si se utiliza una distribución de Gnu/Linux, se debe tener instalada una versión actual de Firefox o Thunderbird.

En Firefox pulsar en —- Preferencias, seleccionar — Privacidad y seguridad, en la misma seleccionar —- Certificados —- Administrar certificados —- Importar— seleccionar y editar el certificado.

También se deben instalar los certificados raíz, activarlos para ser confiables para acceso internet y de correo.

Una vez editados los certificados nuevos y reiniciado LibreOffice.

En Herramientas —- Opciones —- Seguridad — Ruta del certificado —- Certificado, seleccionar — firefox:defaul ó thunderbird:defaul

Reiniciar Libreoffice y:

Pulsar en —- Archivo —- Firmas digitales.

Libreoffice solicita guardar el documento, aceptar.

Después de guardar, aparece el diálogo Firmas digitales.

Pulsar en agregar.

En el diálogo —- Seleccionar certificado, elegir el certificado y pulsar en —- Aceptar.

aparece nuevamente el diálogo Firmas digitales, pulsar en —- Aceptar.

Con la inflación disparada se ha difuminado la posibilidad de que Bitcoin o alguna alternativa ejerciera el rol de reserva de valor antinflacionaria. Cuando más lo necesitaban, sus poseedores han visto que lo que más correlaciona con el precio de un bitcoin es con la valoración en bolsa de empresas tecnológicas.

…la plataforma de compraventa de cripto Celsius Network no permitirá retiradas de fondos debido a problemas de liquidez es lo que más ha recordado a la burbuja puntocom.

A ese momento “2008” de Luna hay que sumar una pérdida del relato, de unas narrativas que, como mitos fundacionales de la Web3, han sido abrazados durante las subidas… pero resultan más difíciles de sostener cuando se han perdido hasta el 80 por ciento de lo invertido.

Pirámide de participantes en una comunidad digital: 90% audiencia, 9% editores, 1% creadores

Here are a few tips to improve the social dynamic across these three groups:

  • Make contributing easy for everyone. Design contribution tools that scale in complexity, giving power tools to power users, while easing usage for light users.
  • Encouraging editing over creating. Blank pages are scary. Create templates, rough examples that can be easily edited, content suggestions, and tons of examples that help eliminate the fear factor.
  • Reward participants. People will give up their first born for a gold star next to their name. Go easy on the rewards, but certainly bake them into the process of participation.
  • Identify both power users and up and coming users. Call out your power users with featured spots on your home page or corporate blog. And don’t forget that if you always call out the top 10 users, the other 90,000 won’t feel like they have a chance. Shine the spotlight on the up and comers too!
La pirámide de la regla del 90, 9, 1 de participación en las comunidades digitales

User participation often more or less follows a 90–9–1 rule:

  • 90% of users are lurkers (i.e., read or observe, but don’t contribute).
  • 9% of users contribute from time to time, but other priorities dominate their time.
  • 1% of users participate a lot and account for most contributions: it can seem as if they don’t have lives because they often post just minutes after whatever event they’re commenting on occurs.

The problem is that the overall system is not representative of average web users. On any given user-participation site, you almost always hear from the same 1% of users, who almost certainly differ from the 90% you never hear from.

It seems apt to his preoccupations that – as King Xavier I – Marías laid a disputed claim to be King of Redonda, the semi-fictional monarch of an uninhabited Caribbean micro-nation. The supposed monarchy of Redonda goes back to a (probably hoax) claim by the Edwardian fantasy writer MP Shiel and his disciple John Gawsworth, who inherited the crown and whom Marías described approvingly as “poet/drunkard/beggar”. During his “reign”, the spurious aristocratic titles Marías doled out were a way, perhaps, of situating himself in a canon: John Ashbery, Arturo Pérez-Reverte, WG Sebald, AS Byatt, Pierre Bourdieu, Pedro Almodóvar and Jonathan Coe were among those given imaginary duchies.

Ahora, dependiendo del color político del medio, o se buscan chivos expiatorios que canalicen la rabia y el miedo, o se ofrece un repertorio de soluciones personalizadas que se resumen en apriétese individualmente el cinturón, búsquese la vida o pase de todo y disfrute, mientras avanza la dinámica de acumulación, acaparamiento, explotación y erosión de los derechos. Es el capitalismo del desastre.

Creo que los movimientos sociales y las izquierdas institucionales se tienen que responsabilizar y actuar coherentemente con los diagnósticos que se hacen. La cuestión es ver si se puede intentar estar a la altura del momento histórico que nos ha tocado vivir.

Las mayores diferencias se establecen en torno a los ritmos y las estrategias sociales, políticas y/o electorales para lograrlo. Pues bien, no hace falta ponerse de acuerdo en todo. Pueden y deben intentarse transformaciones en todos los ámbitos. Que cada cual empuje donde crea que es más útil.

El movimiento ecologista que yo conozco ha sido capaz de aplicar en todo momento un tremendo pragmatismo utópico.

Creo, como dice Bruno Latour, que la racionalidad ecologista, que reconoce las dependencias materiales humanas y los límites, es la más necesaria en el momento actual.

Nombrar y diseccionar los problemas no es catastrofista. Hay una tendencia a confundir los datos con la catástrofe. La catástrofe no son los datos por malos que sean. Lo catastrófico es extraviar la pulsión y el deseo intenso de estar vivos, de permanecer con vida.

La economía doméstica, las pensiones, o que se pague un seguro de entierro, muestran que las personas son capaces de prever y renunciar a algunos bienes en el corto plazo para hacer menos incierto el futuro. Es catastrofista pensar que los seres humanos estamos incapacitados para desarrollar una racionalidad de la precaución y la cautela.

Pero, en mi opinión, también es tremendamente catastrofista declarar de forma taxativa que lo que sería necesario hacer para afrontar el desmoronamiento de los sistemas socioeconómicos fosilistas en tiempos de cambio climático es inviable políticamente. Es otro tipo de determinismo, que viene marcado por la falta de confianza en lo que las personas pueden comprender y construir en común.

[En Chile] Esa explosión comunitaria no surgió de la nada, sino que se condensó alrededor de pequeños coágulos de encuentro y organización previos. La lucha por las pensiones dignas, la rebelión contra los peajes de pago, la resistencia en las zonas de sacrificio, las violencias machistas, el colonialismo… De no haber existido esos pequeños tumores dentro de la normalidad, hubiese sido difícil articular un movimiento que en dos meses se atrevía a proyectar un nuevo horizonte de deseo.

The game failed. Again. Then (again!) he broke out something he and his team had created by accident while making the game.

Yet Slack’s well-designed chat function is a trojan horse for bigger ideas. Its ambition is to become the hub at the center of all your other business software. It ties in to many of the applications you use at work: Dropbox, Google Apps, GitHub, Heroku, and Zendesk to name a few. Once they’re all connected, it can keep track of most everything you do with them. Most importantly, it’s got killer search built right in. «Right now, your data ends up a little bit in Twitter, a little bit in Zendesk, a little bit in GitHub,» Stewart says. «Slack is the one mutual platform where all those things come together. That’s the longer-term thinking.»

And then there’s email. Slack doesn’t support email! For an all-in-one corporate communications system, this is an omission as large as a tech bro’s ego. (Email integration is in the works, Stewart says.)

Cal added the last touch: a way to upload images via email, so you could share pix from a mobile phone. The demo blew everyone’s mind. By the time they walked out of the room at ETech, Flickr was famous.
The service pioneered a cocktail of features that we would come to associate with the Web 2.0 era—the transition period when the world moved from largely static web pages to ones that act more like interactive applications. Although was the first major service to introduce what came to be known as tagging, Flickr took it mainstream.

But its power move was something called an open API. To see just how far we’ve come, nobody who is anybody even uses the term «open API» anymore. It’s just API, now. But prior to Flickr, websites’ application programming interfaces—or the set of rules that govern how a program can interact with something in a database—were typically reserved as internal tools. Flickr threw open the doors and let anyone on the Internet prong into its API, the first big service for consumers to do so. It was a philosophical statement: Our data is better when we let other people do things with it. This is accepted gospel now, but at the time it was a new and radical notion.

Chromoly is a chrome-alloy steel with a medium carbon content and .8% – 1.1% molybdenum for strength. It is a steel that is stronger than carbon steel (more commonly used in bike manufacturing), so we can use thin wall tubing, giving you a lightweight frame that will last through years of riding.

captura de pantalla de

Commutometer uses data openly shared by public transport agencies. If your bus is missing, your agency might not be sharing its data.

Tendemos a juzgar cómo nos va en comparación con los que nos rodean, o en comparación con nuestro propio pasado reciente, no en comparación con puntos de referencia abstractos o generaciones anteriores.

Y muchos de los cambios positivos tienen que ver con la prevención. Nadie se da cuenta de las guerras que no ocurren, de los miembros de la familia que no fallecen a causa de una enfermedad, de los niños que no mueren en la infancia.