Autonomie numérique et technologique

Code et idées pour un internet distribué

Linkothèque. Carnet de bord


This is a great 100% free Tool I developed after uploading this video, it will allow you to choose an LLM and see which GPUs could run it… : https://aifusion.company/gpu-llm/

Min Hardware requirements (up to 16b q4 models) (eg. Llama3.1 – 8b)
RTX 3060 12GB VRAM : https://amzn.to/3M0HvsL
Intel i5 or AMD Ryzen 5
Intel i5 : https://amzn.to/3WGZtp3
Ryzen 5 : https://amzn.to/46IigoC
36GB RAM
1TB SSD : https://amzn.to/4cBebEd

Recommended Hardware requirements (up to 70b q8 models) (eg. Llama3.1 – 70b)
RTX 4090 24GB VRAM : https://amzn.to/3AjIHow
Intel i9 or AMD Ryzen 9
Intel i9 : https://amzn.to/3YCeLxW
AMD Ryzen 9 : https://amzn.to/3YIaUiT
48GB RAM
2TB SSD : https://amzn.to/3YFQ83A

Professional Hardware requirements (up to 405b and more) (eg. Llama3.1 – 405b)
Stack of A100 GPUs or A6000 GPUs
https://amzn.to/3yojZ5T
Enterprise grade CPUs
https://amzn.to/3YDgByw
https://amzn.to/4dEbfY2

El efecto bouba/kiki fue descubierto por el psicólogo Wolfgang Köhler en 1929.[1]​ En sus experimentos llevados a cabo en la isla de Tenerife, donde el español es la lengua primaria, Köhler mostró formas similares a las de la imagen de la derecha a una serie de sujetos, y encontró una fuerte preferencia a asociar la forma puntiaguda con el nombre «takete» y redondeada con el nombre «baluba» («maluma» en la versión de 1947).

The « Extinct Media Museum Otemachi » is a privately owned museum that houses an array of obsolete devices spanning from the 1930s to the present day. It showcases items like the « home video camera, » « APS camera, » « digital camera, » « typewriter, » « personal computer, » « PDA, » and « recording media » from various eras.

This museum stands out for its unique approach, where many of the devices on display are still operational. Visitors are encouraged to handle the items and examine them closely. However, it’s advisable to seek assistance from the staff to safely remove and handle exhibits from the shelves.

An access control list (ACL) is a more advanced approach to security. It can implement the user/group/anonymous user approach with the basic rwx attributes but typically implementations do much more. In the case of Linux, the POSIX access control list (ACL) is usually supported.

Mandatory Access Control (MAC) is a policy-based approach that provides even more control over how security is implemented and controlled. It extends past the basic access controls of DAC and ACL to allowing an administrator to have fine grained control over what changes users can make. With DAC, a user simply needs write access to be able to change the attributes of a file or directory. The ability to create a file requires write access to the directory a file will be created in.

MAC systems normally provide the ability to specify access attributes as well as the ability to see and modify those attributes. The ability to create and delete files or directories can provide fine grain control. In addition, files and directories can have attributes that can be matched against rules that can control where and how data can be used.

MAC systems usually extend their control beyond the file system. This allows network interfaces, ports and other logical and physical devices to be monitored. This approach can even extend to services such as a system’s firewall. An application can be limited to the ports and interfaces they are allowed to use as well as the files, directories and other resources such as applications they have access to. SELinux is the MAC normally associated with Linux but there are others as well.

I don’t use chroot, but the default setup for modern versions of FPM already compartmentalizes everything adequately for example, the private /tmp directory. I agree with others that chroot is an outdated way of doing things.

Also, I use SELinux…yet another way of achieving many of the same goals of chrooting. I’d highly recommend setting up SELinux if you are not already using it. If you’re concerned enough about security that you’d even think of chrooting php-fmp, you probably want to set up SELinux and have it on « Enforcing » (it’s useless on « Permissive » mode, that’s really only suitable for the configuration phase of test servers.) Not only will it provide security with PHP, but you get a whole bunch of other security benefits of it.

I have done some pretty sophisticated things with a web server under SELinux, requiring me to manually change a number of policies, and while I have had a few prolonged sessions of frustration, maybe 3-4 hours at a time of banging my head against the wall trying to get the permissions set up properly, it is totally worth it. It’s all up-front work, and once you learn how to do it it’s very easy.

In context of fresh Chinese smartphones’ telemetry leaks – OnePlus, Xiaomi, Oppo and Realme, the data privacy concerns are rising again. Wearable devices know their user better than anyone else: where he/she lives, eating, sleeping; which sport, TV show, store they like and which politics they support. Even more, they can predict what user wants to eat on lunch with big chances to success, simple ’cause they know what he/she bought last week. We don’t need to even discuss a value of health, finances or private photos – leaking a small piece of related information can make a big hole in a ship called « Comfort Life ». No matter who you are – an ordinary worker, bank owner, green activist or journalist specialising on corruption. Some people will surely disagree here with the slogan « I have nothing to hide » slogan – folks, no point in discussing it anymore ’cause a billion places on Internet still host the finsihed battles; this Wikipedia page should uncover the main points.

Enter the Open-SmartWatch from [pauls_3d_things]. This ESP32 powered watch packs a gorgeous circular 240×240 TFT display, DS323M RTC, BMA400 three-axis accelerometer, and a 450 mAh battery inside of a 3D printed enclosure that can be produced on your average desktop machine. WiFi and Bluetooth connectivity are a given with the ESP32, but there’s also an enhanced edition of the PCB that adds another 4 MB of RAM, a micro SD slot, and a Quectel L96 GPS receiver.

An Open Source Smartwatch For Your Favorite Devices. Low Cost, High Fidelity.

The PineTime is a free and open source smartwatch capable of running custom-built open operating systems. Some of the notable features include a heart rate monitor, a week-long battery, and a capacitive touch IPS display that is legible in direct sunlight. It is a fully community driven side-project which anyone can contribute to, allowing you to keep control of your device.

We envision the PineTime as a companion for not only your PinePhone but also for your favorite devices — any phone, tablet, or even PC. In its current state the PineTime ships with a community firmware called Infinitime, which works with Linux computers and phones, Windows machines, and Android devices. IOS support is currently being looked into for Infinitime.

A fully custom open source Smartwatch with all the features you are used in normal smartwatches

Disclaimer I haven’t worked on this in ages. I never got to get all Parts working together. I would not suggest building it on your own at the moment. If you want to contribute feel free to do so.

Project Airframe is an open-source smartwatch designed to give developers and hobbyists full access to both hardware and software. With state-of-the-art sensors, wireless charging, GPS, and more, it’s a versatile tool for exploring wearable technology. Below, you’ll find everything you need to get started, from hardware specifications to software instructions.

Le Cunff defiende todo lo contrario al consenso popular, que dice que para conseguir el éxito es necesario centrarse en un objetivo grandioso y dirigirse hacia él sin distracciones. Ese camino lineal, dice, favorece la presión social, el burnout, la competición y sorpresas como la que se encontró ella: un destino que la hacía infeliz. Por eso es mejor ir fijándonos en aquello que nos ilumina la mirada y probarlo realizando pruebas controladas y poco arriesgadas.

Para conseguirlo, propone realizar pactos con nosotros mismos bajo el siguiente esquema: “Haré x durante y tiempo”, donde x es algo que nos provoque interés e y una temporada corta, de hasta tres meses. Es decir, menos “a ver si voy al gimnasio” y más “iré a clases de baile dos veces a la semana durante el mes de septiembre”. Y cuando ese tiempo termine, como pequeños científicos, evaluaremos la situación.

Una meta demasiado clara nos impide ver las posibilidades que se van desplegando ante nosotros. Y, ya que vamos a tratarnos como sujetos de prueba, tiene más sentido ir construyendo el camino poco a poco, disfrutándolo, que empecinarse en alcanzar una promesa final que quizá ni siquiera exista.

  1. atime — access time = last time file opened
  2. mtime — modified time = last time file contents was modified
  3. ctime — changed time = last time file inode was modified

Numeric arguments can be specified as:

+n for greater than n,
-n for less than n,
n for exactly n.

Note that « less than » means « strictly less than », so -mtime -14 means « last modified at the current time of day, 13 days ago or less » and -mtime +14 means « last modified at the current time of day, 15 days ago or more ».

A responsibility assignment matrix, also known as a RACI matrix (/ˈreɪsi/) or linear responsibility chart, is a project management technique that describes the responsibilities of various stakeholders in completing tasks or deliverables. The matrix assigns one of four responsibilities to each stakeholder in executing a deliverable: Responsible, Accountable, Consulted, and Informed.

Under the RACI framework:

Responsible stakeholders are involved in the planning, execution, and completion of the task;
Accountable stakeholders are held to be individually and ultimately responsible for the success or failure of the task;
Consulted stakeholders are sought for their opinions on a task;
Informed stakeholders are updated as the project progresses.

To terminate the user session of the remotely logged-in user “linuxiac,” we will use the pkill command in Linux with the option “-KILL,” which means that the Linux process must be terminated immediately (not gracefully). Use the “-t” flag to specify the name of the TTY.

pkill -KILL -t pts/1

The second approach we will show you uses terminating a user session by process ID. To do this, we execute the w command again to get a list of logged-in users along with their associated TTY/PTS.

Then, once we’ve identified the TTY/PTS session, use the ps command with “-ft” parameters to find its PID:

ps -ft [TTY/PTS]
Code language: CSS (css)

Finally, use the kill command with “-9” (unconditionally terminate a process) switch passing the process ID. For example:

kill -9 4374

Run Apache as different User is quite useful in WordPress development and WordPress hosting.

Apache runs as www-data in Debian/Ubuntu.

However, this is not convenient in a WordPress installation:

On the production server

  • Many WordPress files must be owned by the SSH/SFTP user in order to apply changes
  • Most WordPress must be owned by the Web Server user, so WordPress updates can be applied

apache2-mpm-itk (just mpm-itk for short) is an MPM (Multi-Processing Module) for the Apache web server. mpm-itk allows you to run each of your vhost under a separate uid and gid—in short, the scripts and configuration files for one vhost no longer have to be readable for all the other vhosts.

Quirks and warnings

Since mpm-itk has to be able to setuid(), it runs as root (although restricted with POSIX capabilities and seccomp v2 where possible) until the request is parsed and the vhost determined. This means that any code execution hole before the request is parsed will be a potential root security hole. (The most likely place is probably in mod_ssl.) This is not likely to change in the near future, as socket passing, the most likely alternative solution, is very hard to get to work properly in a number of common use cases (e.g. SSL).

The lack of socket passing also leads to another minor quirk: If you connect to httpd, make a request and then make a request on the same connection that gets handled by a different uid, mpm-itk simply shuts down the connection. This is perfectly legal according to RFC 2616 section 8.1.4, and all major clients seem to handle it well; the web server simply simulates a timeout, and the client just opens a new connection and retries the request. However, there is a small performance hit, and thus you should avoid including content from multiple uids in the same page.

Note that mpm-itk is nowhere as tested as, say, prefork. That being said, it’s being run in production at several sites in the world, both hobbyist and commercial, some as large as ~10 million hits a day.

Are NVIDIA GeForce Graphics Cards Compatible with AMD CPUs?

The simple answer is: yes! AMD CPUs are designed to work with any graphics cards, and any modern NVIDIA GeForce GPU will work fine with an AMD CPU. GPU and CPU brands are characteristically inter-compatible.

Where some PC components become incompatible with each other is when the sockets and connectors don’t match up. This is extremely common with CPUs and motherboards, as certain processors only work with sockets and chipsets designed for that CPU.

Modern graphics cards use the PCI Express expansion bus standard, and as long as your motherboard has the right slot for your graphics card you’re good to go. PCIe is a universal standard and therefore you’ll find motherboards for both AMD and Intel CPUs with the right connector for your graphics card.

Unfortunately, WoeUSB is not available in the software-rich Debian repositories. Thus, it cannot be installed via the APT package manager. However, following the steps below, you can quickly install it on your Debian system.

First, install the following dependencies:

sudo apt install dosfstools findutils grep gawk grub-common grub-pc-bin ntfs-3g p7zip-full parted util-linux wget wimtools

Then, run the following command to download and place the software in your system’s correct location.

sudo curl -L "https://github.com/WoeUSB/WoeUSB/releases/download/v5.2.4/woeusb-5.2.4.bash" -o /usr/bin/woeusb

Finally, set the correct permissions:

sudo chmod +x /usr/bin/woeusb

…our command would look like this:

sudo woeusb --device Win11_23H2_EnglishInternational_x64.iso /dev/sda

A built-in feature of Next.js Internationalization enables you to develop a website with content in various languages. The routing and rendering of several language versions of your website are handled automatically by Next.js. The user’s preferred language can be determined using Next.js, which can then offer the appropriate content.

Here we assign an absolute position to the inner <a> tag such that it occupies the entire DIV and we also set the z-index property to 10 to position the link above all the other elements in the DIV. This is the easiest approach and the semantic structure is maintained.

div.box {
   position: relative;
   width: 200px;
   height: 200px;
   background: #eee;
   color: #000;
   padding: 20px;
}

div.box:hover {
   cursor: hand;
   cursor: pointer;
   opacity: .9;
}

a.divLink {
   position: absolute;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   text-decoration: none;
   /* Makes sure the link doesn't get underlined */
   z-index: 10;
   /* raises anchor tag above everything else in div */
   background-color: white;
   /*workaround to make clickable in IE */
   opacity: 0;
   /*workaround to make clickable in IE */
   filter: alpha(opacity=0);
   /*workaround to make clickable in IE */
}
add_filter( 'pods_field_pick_data_ajax_items', 'custom_pods_labels_in_pick_field_ajax', 1, 6 );
add_filter( 'pods_field_pick_data', 'custom_pods_labels_in_pick_field_data', 1, 6 );

function custom_pods_labels_in_pick_field_ajax($items, $name, $value, $options, $pod, $id) {
    if ( 'FIELDNAME' == $name ) {
        foreach ( $items as $key => &$data ) {
            if ( isset( $data['id'] ) ) {
                $data['text'] = custom_pods_select_field_label( $data['id'] );
                $data['name'] = $data['text'];
            }
        }
    }
    return $items;
}


function custom_pods_labels_in_pick_field_data($items, $name, $value, $options, $pod, $id) {
    // pods_meta_ prefix for Pods backend, pods_field_ prefix for front-facing Pods form
    if ( 'pods_meta_FIELDNAME' === $name || 'pods_field_FIELDNAME' === $name ) {
        if ( ! empty( $items ) && is_array( $items ) ) {
            foreach ( $items as $key => $item ) {
                if ( isset( $item['id'] ) ) {
                    $data['text'] = custom_pods_select_field_label( $data['id'] );
                    $data['name'] = $data['text'];
                } elseif ( is_numeric( $key ) && ! is_array( $item ) ) {
                    $items[ $key ] = custom_pods_select_field_label( $key );
                }
            }
        }
    }
    
    return $items;
}

function custom_pods_select_field_label( $id ) {
    // You can return anything you want here.
}

OpenAI has protested a court order that forces it to retain its users’ conversations. The creator of the ChatGPT AI model objected to the order, which is part of a copyright infringement case against it by The New York Times and other publishers.

The news organizations argued that ChatGPT was presenting their content in its responses to the point where users were reading this material instead of accessing their paid content directly.

The publishers said that deleted ChatGPT conversations might show users obtaining this proprietary published content via the service.

“OpenAI is NOW DIRECTED to preserve and segregate all output log data that would otherwise be deleted on a going forward basis until further order of the Court (in essence, the output log data that OpenAI has been destroying), whether such data might be deleted at a user’s request or because of ‘numerous privacy laws and regulations’ that might require OpenAI to do so.”

The FAIR Package Manager is an open-source initiative backed by the Linux Foundation. Our goal is to rethink how software is distributed and managed in the world of open web publishing. We focus on decentralization, transparency, and giving users more control. Our community brings together developers, infrastructure providers, and open web contributors and advocates who all share the same mission: to move away from centralized systems and empower site owners and hosting providers with greater independence.

will never stop learning. I won’t just work on things that are assigned to me. I know there’s no such thing as a status quo. I will build our business sustainably through passionate and loyal customers. I will never pass up an opportunity to help out a colleague, and I’ll remember the days before I knew everything. I am more motivated by impact than money, and I know that Open Source is one of the most powerful ideas of our generation. I will communicate as much as possible, because it’s the oxygen of a distributed company. I am in a marathon, not a sprint, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. Given time, there is no problem that’s insurmountable.

1. Layer one is your internal thoughts.
2. Layer two is triggered as soon as you put something into a medium, like writing it down. It’s everything that leaves your head, but is just reserved for you.
3. Layer three is you and someone else. This is everything you share with one other person, which is an incredibly sacred act.
4. Layer four is sharing within a finite group. N+1. It’s a space of collaboration and brainstorming with families, tribes, and teams.
5. Finally, we have the fifth layer. This is the public layer.

In 2005, being a remote-first company was anathema to investors and business leaders* at the time…

I can’t predict everything that will change over the coming decades, especially with AI making the next few years particularly hard to predict. Still, I do know a few things that won’t change: everything flows from our people, open source is still the most powerful idea of our generation, growth is the best feedback loop, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. People will always want fast, bug-free software; instant, omniscient customer service when they need it; and experiences so intuitive that they usually don’t. And once they’ve had a taste of freedom, it’s hard to return to their previous state. (For more, see our creed.)

El tema es que anoche con mi pareja charlando salió el tema de que ahora ya google te mete IA si o si, quieras o no quieras. Hicimos un par de pruebas y efectivamente: Si añades ciertas palabrotas se desactivan los resultados generados con IA.

…si quieres sentirte como un hacker has de vestir con capucha, teclear muy rápido (con un teclado mecánico gamer que haga mucho ruido) y sobre todo usar palabrotas al buscar en google.

Cubierta de The right not to use the internet

This pioneering collection addresses the prospective fundamental/human right not to use the Internet and the challenges that the non- use of the Internet poses for democracy.

As the Internet has increasingly ceased to be a mere option and rather turned into a de facto obligation for anyone who exercises their rights or fulfils duties, these developments bring about profound ramifications for the very existence and the functioning of democracy, and therefore merit a critical reflection. With contributors from academia and legal practice from all over Europe, this edited volume offers timely critical analysis of the right not to use of the Internet, at times supplemented with policy advice and postulates for law reform.

This book is of key interest to scholars and students of – predominantly – law, political science and philosophy as well as to policymakers, judges and nongovernmental organisations at national, supranational and international levels.

Vibe coding (or vibecoding) is an approach to producing software by using artificial intelligence (AI), where a person describes a problem in a few natural language sentences as a prompt to a large language model (LLM) tuned for coding. The LLM generates software based on the description, shifting the programmer’s role from manual coding to guiding, testing, and refining the AI-generated source code.