Cum să actualizezi Node.js cu NVM

Comanda
nvm install VERSIUNE_NOUĂ
unde VERSIUNE_NOUĂ poate fi, de exemplu, 8.7, pare suficientă, dar dacă ne amintim de pachetele instalate global cu NPM, știm că trebuie să avem grijă ca ele să se mute în dosarul noii versiuni Node.js sau să fie legate cu noua versiune Node.js. Deci comanda devine:
nvm install VERSIUNE_NOUĂ --reinstall-packages-from=VERSIUNE_VECHE
Un exemplu:
nvm install 8.7 --reinstall-packages-from=8.6
Apoi putem dezinstala versiunea veche Node.js cu
nvm uninstall 8.6

Inspirat din https://stackoverflow.com/q/34810526/258462.

Cum să cauți rapid și vizual prietenos un fișier în interiorul unui director în terminal?

Dai comanda următoare după ce ai folosit comanda cd sau altele pentru a ajunge în directorul în care vrei să realizezi căutarea.
tree . | less
Se deschide arborele directorului curent desenat cu caractere. Apeși Ctrl+End pentru a ajunge la finalul datelor afișate pe ecran de program până în acest moment. Apoi apeși Ctrl+C pentru a opri așteptarea după date. Apoi apeși „/” urmat de un termen de căutat în numele tuturor fișierelor/directoarelor și subfișierelor/subdirectoarelor din directorul curent, apoi apeși Enter. Vor fi atunci evidențiate cu fundal diferit toate fragmentele din textul afișat care se potrivesc termenului căutat. Apăsarea tastei „/” urmate de Enter va trece prin toate rezultatele de căutare ciclic evidențiind-o diferit pe cea curentă, și derulând la ea. Derularea manuală se poate face cu tastele săgeți, tastele Page Up, Page Down, Ctrl+Home, Ctrl+End sau prin învârtirea rotiței mausului dacă acesta dispune de o rotiță.

[EN] web-blinds

Web experiment: blinds (window shutters) simulation in a web page. There are two sliders that control the blinds in front of a window (with realtime update tooltips with the value of the updated characteristic): rotate (0deg-180deg) and pull (0.0%-100.0%).

Screenshots here.

[RO] web-blinds

Experiment web: simularea unor jaluzele într-o pagină web. Sunt două cursoare care controlează jaluzelele din fața unei ferestre (cu tooltip-uri actualizate în timp real cu valoarea curentă a caracteristicii schimbate): rotate (rotație: 0 grade - 180 grade) și pull (trage: 0.0% - 100.0%).

Capturi de ecran aici.

[RO] qt-cli-folder-index

Un program simplu de linie de comandă care permite utilizatorului să descrie directoare (dosare) folosind cuvinte și legături (link-uri) către fișiere/directoare, astfel încât el să poată crea, de exemplu, o pagină de cuprins.

Am dezvoltat un program cu interfață grafică pentru utilizator bazat pe aceeași idee. Dacă dorești să afli mai multe despre el, urmează această legătură.

Testat pe Ubuntu și Windows 10.

Capturi de ecran aici.

[EN] qt-cli-folder-index

A simple command line program that lets the user describe directories (folders) using words and links to files/directories, such that s/he can create, for example, a table of contents page.

I have developed a program with a graphical user interface for the user based on the same ideea. If you want to find more about it, follow this link.

Tested on Ubuntu and Windows 10.

Screenshots here.

[RO] qt-analiza-text

Un program care analizează literele și sunetele din care este alcătuit un text. Funcționează de asemenea și ca un simplu editor de text: are funcțiile de deschidere și de salvare de fișiere de tip text simplu.

Capturi de ecran aici.

[EN] qt-analiza-text

A program that analyses letters and sounds that build up a text. It works also as a simple text editor: it has the features of opening and saving files of the type plain text.

Screenshots here.

[RO] qt-unelte-dex

DEX vine de la „Dicționarul EXplicativ al Limbii Române”. Funcții ale programului qt-unelte-dex:

- căutare după definițiile unui termen sau după definițiile termenilor care au ca formă flexionară șirul de caractere căutat;
- căutare după anagramele unui termen sau după anagramele unei forme flexionare a unui termen care se găsește în baza de date;
- în modul de căutare de anagrame poți căuta anagrame care sunt anagrame doar din cauza pronunției;
- în modul de căutare de anagrame poți căuta folosind metacaracterele „?” și „*”.

Capturi de ecran aici.

[EN] qt-unelte-dex

DEX comes from "Dicționarul EXplicativ al Limbii Române" translated to English by "The Explanatory Dictionary of the Romanian Language". qt-unelte-dex is a program whose title is translated in English to "DEX tools". Features:

- search for definitions of a term or for the definitions of the terms that have as a flexionary form the searched string of characters;
- search for the anagrams of a term or for the anagrams of a flexionary form of a term that is in the database;
- in the anagram search mode you can search for anagrams that are anagrams only because of their pronounciation;
- in the anagram search mode you can search using the wildcards "?" and "*".
Screenshot here.

[RO] web-darmaths

Un software educațional pentru matematică, scris în limbajul de programare al Google numit Dart, ca o pagină web.

Funcții curente:
- editor de matrice printr-un textarea;
- editor de matrice prin casete de text pentru fiecare celulă a matricei;
- editor de matrice cu multieditare prin casete de bifare;
- calculator cu matrice, cu adunare și scădere;
- conversia matricei editate în prezent într-un tablou bidimensional JSON de coloane sau într-un tablou JSON bidimensional de linii.

Capturi de ecran aici.

[EN] web-darmaths

An educational software for Mathematics, written in Google's Dart programming language, as a web page.

Current features:
- textarea matrix editor;
- matrix editor with textboxes for each matrix cell;
- multiedit matrix editor with checkboxes;
- matrix calculator with addition and substraction;
- conversion of current edited matrix to JSON array of columns or to JSON array of lines.

Screenshots here.

[RO] qt-acidlink

AcidLink - Un mic navigator WWW bazat pe Qt și scris în C++, care folosește QtWebEngine.

Captură de ecran aici.

[EN] qt-acidlink

AcidLink - A small WWW browser that uses QtWebEngine, it is based on Qt and written in C++.

Screenshot here.

[RO] qt-crystaldev

CrystalDev - un mic mediu de dezvoltare pentru programatori bazat pe Qt, extensibil la alte scheme de colorare de evidențiere a sintaxei și la alte limbaje de programare prin fișiere JSON ușor de înțeles.

Capturi de ecran aici.

[EN] qt-crystaldev

CrystalDev - a small Qt-based programmer development environment, extensible to other syntax highlighting color schemes and other programming languages through easily understandable JSON files.

Screenshots here.

[RO] rb-humble-bug

Titlul proiectului s-ar traduce „bug (gândac) umil”. Este un bug tracker (sistem informatic de gestiune a problemelor dintr-un proiect) mic, local, bazat pe consolă, scris în limbajul de programare Ruby. L-am folosit și funcționează foarte bine.

Captură de ecran aici.

[EN] rb-humble-bug

A small, local, console-based bug tracker written in the Ruby programming language. I used it and it works very well.

Screenshot here.

[RO] cs-winforms-schimbarea-bazei-intr-un-spatiu-vectorial

Program Windows Forms scris în C# care prezintă schimbarea bazei unor vectori într-un spațiu vectorial. Programul utilizează biblioteca C# NCalc. Am făcut acest program ca proiect pentru d-nul prof. univ. Sorin Mureșan de la Universitatea din Oradea, Facultatea de Științe, departamentul Matematică-Informatică.

Captură de ecran aici.

[EN] cs-winforms-schimbarea-bazei-intr-un-spatiu-vectorial

A Windows Forms program written in C# which presents the change of base of some vectors in a vectorial space. The program uses the C# library NCalc. I made this program as a project for the universitary teacher Sorin Mureșan from the University of Oradea, Faculty of Sciences, department Mathematics-Informatics.

Screenshot here.

[RO] cs-systemuptime

Un mic program C# WPF doar pentru SO-ul Windows, program care afișează timpul curent de funcționare a sistemului, posibil automat actualizat în fiecare secundă. El folosește o funcție din Windows API. Testat pe Windows 10 (31.08.2017).

Captură de ecran aici.

[EN] cs-systemuptime

A small C# WPF Windows-only program that displays the current system uptime, possibly automatically updated every second. It uses a Windows API function. Tested on Windows 10 (31.08.2017).

Screenshot here.

[RO] cs-powerpoint-presentation-resource-extractor

Un program compatibil doar cu Windows care extrage resurse (cum sunt imaginile) dintr-o prezentare PowerPoint. Funcționează doar când programul Microsoft Office PowerPoint este instalat. Testat pe Windows 7+.

Captură de ecran aici.

[EN] cs-powerpoint-presentation-resource-extractor

A Windows-only program which extracts resources (such as images) from a PowerPoint presentation. It works only when Microsoft Office PowerPoint is installed. Tested on Windows 7+.

Screenshot here.

[EN] qt-timeout

A small Qt-based countdown timer program.

Screenshots here.

[RO] qt-timeout

Un mic program de cronometru invers bazat pe Qt.

Capturi de ecran aici.

[EN] simulare-efectul-compton

Theory: In the dispersed X radiations, alonside the radiations with the wavelength equal with the incident ones there show up radiations with the wavelength bigger with Δλ. This phenomenon is called the Compton Effect.

Screenshot here.

[RO] simulare-efectul-compton

Teorie: În radiațiile X împrăștiate, pe lângă radiațiile cu lungimea de undă egală cu a celor incidente mai apar și radiații cu lungimea de undă mai mare cu Δλ. Acest fenomen s-a numit Efectul Compton.

Captură de ecran aici.

[RO] simulare-postulatele-lui-einstein

Cele două postulate ale lui Einstein sunt:

In­ter­va­lul de timp din­tre două e­ve­ni­men­te es­te re­la­tiv

Du­ra­ta u­nui pro­ces es­te mi­ni­mă în a­cel sis­tem de re­fe­rin­ță fa­ță de ca­re lo­cul un­de se pe­tre­ce un e­ve­ni­ment es­te fix.

Di­men­si­u­ni­le cor­pu­ri­lor sau dis­tan­țe­le din­tre e­le au un ca­rac­ter re­la­tiv

Lun­gi­mea cor­pu­ri­lor se con­trac­tă pe dis­tan­ța miș­că­rii lor fi­ind ma­xi­mă în sis­te­mul de re­fe­rin­ță pro­priu.
Capturi de ecran aici.

[EN] simulare-postulatele-lui-einstein

The two postulates of Einstein are:

The time interval between two events is relative

The time span of a process is minimal in that system of reference to which the place where an event takes place is fixed.

The dimension of the bodies or the distance between them have a relative character

The length of the bodies is contracting on the distance of their movement being maximal in their own system of reference.

Screenshots here.

[EN] web-generare-orar

The project qt-generare-orar rebuilt with web technologies.

Repository name: program-de-generare-orar.

Screenshots here.

[RO] web-generare-orar

Proiectul qt-generare-orar reconstruit cu tehnologii web.

Numele depozitului: program-de-generare-orar.

Capturi de ecran aici.

[EN] qt-generare-orar

Below is the documentation of my attestate project from the 12nd grade in highschool.

Usage of the program

The program presents 4 menus and a space destinated to the content shown, space which by default shows a list with information about the inserted teachers.
The information inserted in the program is structured like this: a list with information about teacher, each teacher has associated: a name, a list with information about the schools where s/he teaches, a list with information about the classes where he teaches and a list with information about the restrictions regarding the timetable.
Information about schools where a teacher teaches are the name of the school, the halves of hour in the week when the teacher can be present in that school.
Information about classes where a teacher teaches are the name of the class, the scool in which the class is and the numer of hour per week (in steps of a half of an hour) in which the teacher at which the class is inserted, must teach this class.
Information about restrictions regarding the timetable are the reason of the restriction and the halves of hours from the teacher's timetale in which it applies.

The Fișier menu contains the options Deschide…, Salvează, Salvează ca… și Închide.
By selecting Deschide… a new window will open in which an input file will be selected for the program, in JSON format (with the extension .json).
By selecting the option Salvează the unsaved changes in the opened input file are saved.
With Salvează ca… a new copy of the dates inside the current session of the program is saved as a .json file in the file system of the computer.
Through selecting the option Închide the input file opened before is closed and the session's data in the program is cleaned.

The menu Editare has the options Adaugă un profesor…, Șterge profesorul.
By selecting the option Șterge profesorul the teacher selected in the list of teachers is eliminated from the list.
By selecting the option Adaugă un profesor… a new window for inserting the information of a new teacher is opened.
The window contains fields or boxed of type list for the name of the teacher, the schools, classes and tje restrictions associated to him/her, buttons for adding or deleting schools, classes or restrictions and buttons for adding the teacher (Adaugă) or to cancel the form (Anulează).
When the Adaugă o școală button is clicked a new window is opened in which the name of the school is inserted and the hours when the teacher can be present in that scool are selected.
When the Adaugă o clasă button is clicked, a new window is opened which has fields for the name of the class, the school to whom the class belongs, the number of hours per week in which the teacher teaches the class.
When the Adaugă o restricție button is clicked, a window is opened in which the reason of the restriction is inserted and the hours affected by the restriction.

The menu Vedere has two options, Lista cu profesori and Creează orarele. The default mode is Lista cu profesori (it is seen at the startup of the program). When the creation of the timetables from the inserted information is wanted, the Creează orarele option is selected and in this way we enter the second section of the application.
In the timetable creation section, in the left side is the panel where the timetables will be shown. In the right part, in the two white boxes, there will be shown filtres. By default, on the left are shown all the generated timetables. In the panel in the right the user can select the display of just the teachers' timetables, just the timetable of a single teacher, the schools' timetables, the timetable/s of a single school or of a single class.
The button Înlătură filtrul eliminates the filter selected with the two list boxes above.
The option Salvează în format HTML orarele afișate... opens a window in which a file in HTML format can be saved containing all the timetables shown in the left panel.
The button Recalculează orarele builds a new set of timetables starting from the dates inserted in the mode Lista cu profesori, which may be modified.

The menu Program contains the options Despre program… and Documentație și ajutor….
The option Despre program… opens a window with the name of the progra, of the author and his email address.
The option Documentație și ajutor… opens a window with descriptions of the actions of the items in the program's menus. (The documentation in this blog post, but available only in Romanian)

Screenshots here.

[RO] qt-generare-orar

Mai jos este documentația lucrării mele de atestat din clasa a XII-a.

Folosirea programului

Programul prezintă 4 meniuri și un spațiu destinat conținutului afișat, spațiu care implicit afișează lista cu datele profesorilor introduși.
Datele introduse în program se structurează astfel: o listă cu date despre profesori, fiecare profesor are asociat un nume, o listă cu date despre școlile la care predă, o listă cu date despre clasele la care predă și o listă cu date despre restricții cu privire la orar.
Datele despre școlile la care predă un profesor sunt numele școlii și jumătățile de oră din săptămână când profesorul poate fi prezent în acea școală.
Datele despre clasele la care predă un profesor sunt numele clasei, școala din care face parte și numărul de ore pe săptămână (în pași de o jumătate de oră) în care profesorul la care este introdusă clasa, trebuie să predea clasei.
Datele despre restricții cu privire la orar sunt motivul restricției și jumătățile de oră din orarul profesorului în care aceasta se aplică.

Meniul Fișier cuprinde opțiunile Deschide…, Salvează, Salvează ca… și Închide.
Prin selectarea opțiunii Deschide… se va deschide o fereastră de unde se va selecta un fișier de intrare pentru program, în format JSON (cu extensia .json).
Prin selectarea opțiunii Salvează se salvează modificările nesalvate din fișierul de intrare deschis.
Prin selectarea opțiunii Salvează ca… se salvează o copie a datelor încărcate din fișierul de intrare deschis, și poate modificate, într-un alt fișier.
Prin selectarea opțiunii Închide se închide fișierul de intrare deschis anterior și se golește setul de date încărcate în program.

Meniul Editare cuprinde opțiunile Adaugă un profesor…, Șterge profesorul.
Prin selectarea opțiunii Șterge profesorul se șterge profesorul selectat în lista de profesori.
Prin selectarea opțiunii Adaugă un profesor… se va deschide o fereastră de introducere a datelor unui nou profesor.
Fereastra conține câmpuri sau casete de tip listă pentru numele profesorului, școlile, clasele și restricțiile asociate lui, butoane pentru adăugarea sau ștergerea școlilor, claselor sau a restricțiilor și butoane de adăugare a profesorului (Adaugă) sau de anulare a formularului (Anulează).
La apăsarea butonului Adaugă o școală se deschide o fereastră în care se introduce numele școlii și se selectează orele în care profesorul poate fi prezent în acea școală.
La apăsarea butonului Adaugă o clasă se deschide o fereastră care are câmpuri pentru numele clasei, școala din care face parte clasa, și numărul de ore pe săptămână în care profesorul predă clasei.
La apăsarea butonului Adaugă o restricție se deschide o fereastră în care se introduce motivul restricției și orele afectate de restricție.

Meniul Vedere cuprinde două opțiuni, Lista cu profesori și Creează orarele. Modul selectat implicit este Lista cu profesori (care se vede la pornirea programului). Când se dorește crearea orarelor din datele introduse, se selectează Creează orarele și se astfel se intră în a doua secțiune a aplicației.
În secțiunea de creare a orarelor, în partea stângă se află panoul unde se vor afișa orarele. În partea dreaptă, în cele două casete albe, se vor afișa filtre. Implicit, în stânga se afișează toate orarele generate. În panoul din dreapta se poate selecta afișarea doar a orarelor profesorilor, doar a orarului unui singur profesor, a orarelor școlilor, a orarelor/orarului unei singure școli sau a orarului unei clase.
Butonul Înlătură filtrul înlătură filtrul selectat în casetele de mai sus.
Opțiunea Salvează în format HTML orarele afișate… deschide o fereastră în care se poate salva un fișier în format HTML cu orarele afișate în panoul din stânga.
Butonul Recalculează orarele construiește un nou set de orare pornind de la datele introduse în modul Lista cu profesori, care poate sunt modificate.

Meniul Program cuprinde opțiunile Despre program… și Documentație și ajutor….
Opțiunea Despre program… deschide o fereastră cu numele programului, al autorului și adresa sa de email.
Opțiunea Documentație și ajutor… deschide o fereastră cu descrieri ale acțiunilor meniurilor programului.

Capturi de ecran aici.


[RO] web-edu-chimie

Software educațional pentru chimie (pagină web).

Funcții:
- modelare de molecule (Add atom - adaugă atom, Delete selected atoms - șterge atomii selectați, Select all atoms - șterge toți atomii, Unselect all atoms - deselectează toți atomii, Invert selection - inversează selecția)
    - salvează formulele local, șterge una dintre ele sau pe toate;
    - masa moleculară calculată automat (g/mol);
    - calculator de ecuații redox.

Capturi de ecran aici.

[EN] web-edu-chimie

Educational software for chemistry (web page).

Features:
- molecular modeling (Add atom, Delete selected atoms, Select all atoms, Unselect all atoms, Invert selection)
    - save formulas locally, delete one of them or delete all of them;
    - molecular mass calculated automatically (g/mol);
    - redox equation calculator.

Screenshots here.

[EN] Folder Index

A program for navigating through the files and folders on the computer with the special functionality which gives the user the power to create a Contents/Index of every folder on the computer using text and links to subfolders and files in the folder. The program was tested on Windows 7/10.

Help text inside the program (in Romanian - if there is interest in translating this in English, please post a comment):
Acesta este un program de navigare prin fișierele și dosarele de pe calculator.
Pe lângă câteva funcții de bază pe care le așteptați de la un asemenea program, există funcția de „Dosare importante” (vezi panoul din partea stângă), o colecție de dosare pe care utilizatorul le poate accesa foarte ușor, într-un mod asemănător cu semnele de carte (bookmarks) dintr-un program de navigare pe Internet.
O funcție esențială a programului este întâlnită în panoul „Despre dosar” unde utilizatorul poate crea un cuprins al dosarului, cu legături către subdosarele și fișierele din dosarul curent. Legăturile se creează prin tragere cu mausul din panoul central în panoul „Despre dosar”. Legăturile din „Despre dosar” au același meniu contextual (la clic-dreapta) ca fișierele/dosarele din panoul cental.
Conținutul panoul „Despre dosar” este stocat într-un fișier ascuns din dosar numit „.folder_index.txt”. Acesta poate fi șters apăsând butonul „Șterge fișierul index”.
Screenshots available here.

[RO] Folder Index

Un program de navigare prin fisierele si dosarele de pe calculator cu functia speciala care da posibilitatea utilizatorului sa creeze un cuprins al fiecarui dosar de pe calculator folosind text si legaturi la subdosare si fisierele din dosar. Programul a fost testat pe Windows 7/10.

Textul de ajutor din program:
Acesta este un program de navigare prin fișierele și dosarele de pe calculator.
Pe lângă câteva funcții de bază pe care le așteptați de la un asemenea program, există funcția de „Dosare importante” (vezi panoul din partea stângă), o colecție de dosare pe care utilizatorul le poate accesa foarte ușor, într-un mod asemănător cu semnele de carte (bookmarks) dintr-un program de navigare pe Internet.
O funcție esențială a programului este întâlnită în panoul „Despre dosar” unde utilizatorul poate crea un cuprins al dosarului, cu legături către subdosarele și fișierele din dosarul curent. Legăturile se creează prin tragere cu mausul din panoul central în panoul „Despre dosar”. Legăturile din „Despre dosar” au același meniu contextual (la clic-dreapta) ca fișierele/dosarele din panoul cental.
Conținutul panoul „Despre dosar” este stocat într-un fișier ascuns din dosar numit „.folder_index.txt”. Acesta poate fi șters apăsând butonul „Șterge fișierul index”.
Capturi de ecran disponibile aici.

[RO] qt-file-manager

Un navigator de sistem de fișiere scris cu Qt și C++ cu unele idei inovative, o interfață grafică pentru utilizator rapidă și scopul lui este să arate dosarele ca un graf cu text pe săgeți ca relații dintre fișiere și dosare în aceeași ierarhie, lin animate, el ar putea avea funcțiile programului, Folder Index, și de asemenea să arate clipboard-ul sistemului ca un graf într-un panou. Dar el de asemenea păstrează vederea clasică de tip listă a fișierelor.

Trist este că eu nu am mai lucrat cu Qt de câțiva ani și mi-ar lua ceva timp să reînțeleg acest proiect. Acest program software este în versiune de dezvoltare alfa, are destui bugs. Dacă cineva dorește să muncească cu mine pe asta, voi fi bucuros să muncesc cu el pe asta, și vom împărți venitul - primul lucru care ar trebui adăugat ar fi un banner cu reclame.

Captură video de ecran aici.

[EN] qt-file-manager

A file manager written in Qt and C++ with some inovative ideas, a fast graphical user interface and its objective is to show files in folders like a graph with text on arrows as relations between files and folders in the same hierarchy, smoothly animated, it should have the features of Folder Index, and also show the filesystem clipboard like a graph in a pane. But it also preserves the classical list view of the files.

It is sad that I did not work with Qt for some years now and it would take me some time to recomprehend this project. This is a software in alpha development version, it has enough bugs. If someone wants to work with me on this, I would pe glad to work with him on this, and we will share the revenue - the first thing that should be added is a banner with ads.

Video screen capture here.

Problem solved: Windows 10 won't wake up from sleep mode

Solution: open a Command Prompt window with administrator permissions and in it type
powercfg /h off
This will disable the Hibernate option between the options Shut down, Restart, Lock, Sleep, but the problem in the title is solved.

This solution was extracted as the first tehnique in this video on YouTube:

Software anticapitalist făcut pentru oameni (și din ce motiv contează)

Twitter lansează funcționalități pe care nimeni nu le dorește. Parse se închide. Site-urile web ne urmăresc până la un nivel uimitor. Corporațiile închid sistemele deschise. Ei dau datele noastre în mâna guvernului.

Software-ul și serviciile care ar trebui să ne facă viața mai bună devin nesigure și de neîncredere. Este tot mai clar că interesele noastre, ca oameni care folosim software, deviază de la interesele companiilor software.

Am ajuns la concluzia că noi pur și simplu nu ne putem baza pe corporații să producă și să mențină software foarte bun, de încredere, centrat pe om. Sistemele și motivele sunt în conflict direct.

În mintea mea, una dintre problemele principale este lipsa de mijlocire. Dacă Twitter sau Facebook introduc o funcționalitate care este distructivă felului în care noi le folosim serviciile, putem face doar puțin - să ne plângem. Ca indivizi, utilizatori care nu plătesc, efectiv nu avem nici o pârghie.

Există de asemenea o lisă de mijlocire pe partea de construire a lucrurilor. Cu sisteme deschise, avem oportunitatea de a crea și de a rula propriile noastre variante ale sistemelor care se potrivesc mai bine scopurilor noastre. Când API-urile și magazinele de aplicații sunt controlate strict, chiar și abilitatea de a augmenta în mod folositor sistemul este redusă.

Deci, evitând doborârea capitalismului, ce putem face?

În ciuda pesimismului, eu chiar cred că încă avem șansa să construim o cale diferită. Singura cale de a devia cu însemnătate de la tendințele curente este să îmbrățișăm în mod conștient noi valori și constrângeri diferite. Cu acest final, aici sunt o nouă mulțime de principii:

Comunitatea ar trebui să aibă de zis cuvântul final

Trebuie să reintroducem mijlocirea. Fiecare comunitate individuală (nu neapărat întreaga bază de utilizatori - mai multe despre aceasta mai târziu) ar trebui să decidă dacă ei vor să accepte ultima actualizare legată de serviciul dat sau nu. Dacă o comunitate nu poate să formeze sistemele pentru a reflecta valorile ei, atunci aceste sisteme sunt depășite.

Scara este o capcană.

Atât de mult din complexitatea ingineriei web vine din întrebări legate de scară. Dar de ce avem noi nevoie de scară? Dacă încercăm să construim software omenos, există beneficii semnificative în a păstra lucrurile mici și simple. Dacă vrei să rulezi ceva pentru sute de oameni - sau chiar mii - asta este în întregime sustenabil pe un singur server ieftin partajat.

Huburi, nu monoliți.

O piesă critică a acestei chestiuni este crearea sistemelor care sunt undeva între sistemele gigantice, corporatiste și cele complet distribuite cu viziunea fiecare-rulează-propriul-server, fiecare-trebuie-să-fie-hacker. Sunt inspirat de proiecte ca Artisanal Integers despre care am gândit inițial că este o glumă de aruncat, dar de fapt este un model pentru a munci noi înșine cu scopul de a ieși din aceste sisteme centralizate.

Aceste huburi pot fi operate de un individual sau de un grup mic în numele unei comunități. Cât timp acolo este suficientă înțelegere între operatorii hubului în legătură cu regulile de interoperabilitate, fiecare hub își poate menține un nivel de autonomie. Comunitatea de oameni folosindu-l poate să îi controleze direcția. Și, în final, dacă o comunitate alege să se despartă de sistemul mai larg, aceasta este o opțiune care este disponibilă lor.

Permite comunității să creeze.

Doar decizând care software să accepți nu este destul pentru a modela un sistem - participanții trebuie să fie capabili să adauge lucrurile de care au nevoie. Aceasta ar putea să ia forma unor interfețe de utilizator alternative, servicii auxiliare conduse de API, sau modificarea funcționalităților existente.

Aceasta implică open source (sursa deschisă), dar aceasta nu este suficientă. Aceste schimbări trebuie de asemenea să fie ușor de dezvoltat, testat și desfășurat (lansat). Chiar mai important, ele trebuie să fie învățabile și accesibile.

Mulți din prietenii mei au învățat despre calculatoare, programare și Internet în era BBS-urilor, când individuali sau grupuri mici de oameni își configurează sistemele pentru ca prietenii lor să interacționeze. Acești oameni puteau alege ce software doreau să ruleze, ce extensii doreau, și puteau scrie propriile lor extensii dacă doreau. Zilele de început ale web-ului s-au simțit la fel, și transparența opțiunii View Source (Vezi sursa, din navigatorul de Internet) a făcut posibil să lucrăm din exemple.

.  .  .

Merită zis că eu cred că software-ul comercial își are locul. Eu folosesc software comercial și servicii în mod constant, și nivelul de investire necesar pentru multe proiecte necesită un fel de structură condusă de bani. Sunt mulțumit cu asta. Da de asemenea cred că nu poate fi singura opțiune, în special când este vorba de unelte sociale, de platforme care devin rapid părți centrale ale felului cum comunicăm, învățăm și ne organizăm.

Am câteva idei pentru cum să atingem asta, dar am scris aceste rânduri nu fiindcă vreau să îmi vând ideile, ci fiindcă vreau ca noi toți să ne gândim despre cum va arăta asta, ceea ce valorăm, și cum am putea ajunge acolo.

Tradus de aici: https://medium.com/@jkriss/anti-capitalist-human-scale-software-and-why-it-matters-5936a372b9d.

Sfat pentru organizarea mai bună a fișierelor și a dosarelor

În fiecare dosar important, ale cărui relevanță și conținut vrem să ne fie cunoscute în viitor, creăm un fișier numit Cuprins.docx sau Cuprins.txt (sau Cuprins.md pentru formatul Markdown), sau de un alt format. În acel fișier descriem rolul fiecărui fișier din dosarul în care acel fișier se găsește, precum și alte informații referitoare la semnificația dosarului părinte.