Hop til hovedindhold

2024-08-03

Vi løb tør for kolonner

  • Jimmy Millers "Vi løb tør for kolonner" beskriver hans første softwarejobs kaotiske, men fascinerende kodebase, og fremhæver en databasetabel kaldet Merchants, der løb tør for kolonner, hvilket førte til oprettelsen af Merchants2.
  • Kodebasen var en blanding af VB, C#, forskellige JavaScript-rammer og adskillige SOAP-tjenester, med bemærkelsesværdige problemer som en udvikler, der ikke tjekkede kode ind, hvilket forårsagede svært sporbare fejl.
  • På trods af rodet tillod kodebasen kreativ problemløsning, hvor udviklere skabte deres egne løsninger, hvilket førte til et afkoblet system og en unik, direkte forbindelse med brugerne.

Reaktioner

  • En udvikler delte deres erfaring med en uorganiseret kodebase i deres første virksomhed, som manglede versionskontrol og havde adskillige globale variabler.
  • Fejl blev rettet ved at installere Visual Studio på kundesider og køre appen i fejlsøgningsmodus, hvilket førte til flere, inkonsekvent navngivne versioner gemt på en delt disk.
  • Udvikleren introducerede til sidst moderne praksisser som git, Linux og Continuous Integration (CI) for nye projekter, men det gamle projekt forblev uændret, hvilket fremhæver udfordringerne ved at forbedre dysfunktionelle kodebaser.

p5.js

  • p5.js-biblioteket tilbyder en række eksempler og fællesskabsskitser for at hjælpe brugere med at lære og udforske dets muligheder.
  • Bemærkelsesværdige projekter inkluderer Geodata Weaving, Slime Molds, Generative Succulents, Padrão Geométrico, Zen Pots og Glitch animation, hvilket viser bibliotekets alsidighed.
  • Brugere kan støtte p5.js-biblioteket gennem donationer eller ved at downloade det til eget brug.

Reaktioner

  • p5.js modtog en bevilling på €450.000 fra Sovereign Tech Fund i 2023 for at forbedre sin dokumentation og tilgængelighed, hvilket førte til en ny, brugervenlig hjemmeside.
  • Brugere værdsætter p5.js for dets brugervenlige natur, men bemærker præstationsbegrænsninger sammenlignet med biblioteker som d3 eller three.js.
  • Den nye hjemmeside er blevet positivt modtaget, selvom nogle brugere savner referencer til p5.js's oprindelse fra Processing-projektet, som har mødt kritik for budgetallokering.

Tauri 2.0 Release Candidate

  • Udgivelseskandidat for Tauri 2.0 er annonceret, med en stabil udgivelse forventet i slutningen af august, med fokus på at færdiggøre dokumentationen og rette kritiske fejl.
  • Tauri 2.0 introducerer grundlæggende support for mobiludvikling, selvom det endnu ikke matcher desktop-funktionalitet, og inkluderer ændringer som et fast navneområde for kerneplugins og en omstrukturering af Rust API'et.
  • En ekstern sikkerhedsrevision er blevet gennemført med alle problemer løst, og den fulde rapport vil snart blive offentliggjort; fællesskabet opfordres til at bidrage til dokumentation og problemløsning.

Reaktioner

  • Udgivelseskandidaten Tauri 2.0 er blevet annonceret, hvilket har skabt betydelig diskussion blandt brugerne om dens funktioner og potentielle forbedringer.
  • Tauri er et framework til at skabe små, hurtige binære filer til større platforme ved hjælp af frontend-frameworks, der kompilerer til HTML, JavaScript og CSS, med backend-logik i sprog som Rust, Swift og Kotlin.
  • Brugere sammenlignede Tauri med Electron og bemærkede Tauri's lettere fodaftryk og native integration, mens de også diskuterede dets fokus på sikkerhed, cross-platform UI og udfordringer som Linux webkomponentproblemer og behovet for bedre dokumentation.

Fremtiden for kdb+?

  • kdb+ er en kraftfuld teknologi til lagring og analyse af historiske markedsdata, men alternativer som Clickhouse, QuestDB, Bigquery og Redshift er nu konkurrencedygtige i hastighed.
  • For lokal kvantitativ analyse foretrækkes Python med DuckDB, Polars eller PyKX på grund af tilgængelighed og omkostningseffektivitet.
  • kdb+'s realtidsstreaming og distribuerede computerkapaciteter er underudnyttede, mens teknologier som Kafka og Flink vinder mere popularitet.

Reaktioner

  • Diskussionen drejer sig om fremtiden for kdb+, en højtydende tidsseriedatabase, og dens potentielle efterfølgere.
  • Alternativer som TimeScale (en PostgreSQL-udvidelse), DuckDB og ClickHouse fremhæves for deres ydeevne og omkostningseffektivitet.
  • Den proprietære natur og høje omkostninger ved kdb+ er store ulemper, hvilket får nogle til at overveje open-source løsninger som Python med DuckDB og Polars til tidsserieanalyse.

Hanons Pro – klaverteknik og øvelser til den digitale tidsalder

  • Han Pro er en moderne klaverøvelsesapp til iPhone, iPad og Mac, der tilbyder funktioner som fremskridtssporing, feedback og opbygning af øvelsesvaner.
  • Avancerede funktioner inkluderer præstationsanalyse, automatisk sidevending og interaktive funktioner, når de er forbundet til et MIDI-keyboard via Bluetooth eller USB.
  • Appen understøtter iCloud-synkronisering, daglige øvelsespåmindelser og præstationer, og er bygget med SwiftUI og Core MIDI, kompatibel med iOS 17.

Reaktioner

  • Han Pro er en klaverteknik-app, der tilbyder øvelser og feedback, designet til den digitale tidsalder.
  • Brugere har rapporteret app-nedbrud med MIDI-controllere og udtrykt et ønske om MIDI-afspilning og mere fleksible øvemuligheder.
  • Appen kræver iOS 17+, hvilket forårsager frustration blandt brugere med ældre enheder, og forslag til forbedringer inkluderer bedre enhedskompatibilitet og yderligere funktioner som fremskridtssporing og tilpassede scoreuploads.

En Lisp med GC på 436 bytes

  • SektorLISP inkluderer nu garbage collection, hvilket betyder, at et højniveau programmeringssprog med garbage collection kan passe ind i de 512 byte boot-sektoren på en diskette, ved kun at bruge 436 byte.
  • Dette gør LISP til det mindste programmeringssprog, der overgår FORTH og BASIC, og det er kompatibelt med alle PC-modeller siden 1981 med mindst 64kb RAM.
  • Projektet viser betydelig optimering, reducerer i8086 assembly-implementeringen med yderligere hundrede bytes og inkluderer en 40-byte garbage collector, med binære filer og kildekode tilgængelig på GitHub.

Reaktioner

  • En Lisp-fortolker med affaldsindsamling (GC) er blevet implementeret på kun 436 bytes, hvilket viser en imponerende bedrift af minimalisme i programmering.
  • Projektet, som er hostet på justine.lol, har tiltrukket sig betydelig opmærksomhed og beundring for sit kompakte og effektive design, der refererer til tidligere værker og giver pædagogiske indsigter.
  • Diskussioner fremhæver balancen mellem at skabe en minimalistisk fortolker og opretholde funktionaliteten af en "ægte" Lisp, hvilket udløser debatter om naturen af programmeringssprog som Brainfuck og deres praktiske anvendelser.

Jeg har lavet en udvidet version af Vimtutor – introduktion af Vimtutor Sequel

  • "Vimtutor Sequel" tilbyder avancerede Vim-lektioner, herunder kommandoer, teknikker, trin-for-trin vejledninger og interaktive øvelser.
  • Installation kan udføres via Homebrew eller ved at klone repositoryet fra GitHub, med detaljerede instruktioner til begge metoder.
  • Værktøjet er licenseret under MIT-licensen, og bidrag er velkomne i henhold til retningslinjerne i CONTRIBUTING.md.

Reaktioner

  • Vimtutor Sequel er en udvidet version af den originale Vimtutor, rettet mod brugere, der er fortrolige med grundlæggende Vim-kommandoer og ønsker at lære avancerede funktioner.
  • Vigtige funktioner inkluderer vejledninger om splits, stavekontrol, avanceret søg og erstat, makroer, Vim-scripting, plugins, sessioner og registre, sammen med en brugerdefineret vimrc-konfiguration for en ensartet læringsoplevelse.
  • Installationsvejledninger er tilgængelige for Mac, Windows og Linux, og skaberen søger feedback og bidrag via GitHub-repositoriet.

1991 WWW-NeXT Implementering

  • Dette GitHub-repository spejler Tim Berners-Lees oprindelige WorldWideWeb-applikation til NeXT, der viser den første prototype af en Hypertext-browser/editor.
  • Applikationen giver adgang til hypertekstservere, filer og nyheder, hvilket giver et indblik i den tidlige webs funktionalitet.
  • Arkivet inkluderer en historisk ændringslog, hvor commit-datoer er tilbagedateret til den sidst ændrede dag for hver fil, hvilket bevarer den oprindelige tidslinje.

Reaktioner

  • WWW-NeXT-implementeringen fra 1991 er blevet gjort tilgængelig på GitHub, hvilket har vakt interesse blandt teknologientusiaster og digitale arkæologer.
  • Denne udgivelse fremhæver internettets tidlige grafiske natur i kontrast til de tekstbaserede browsere, der var mere almindelige på det tidspunkt.
  • Projektet fremviser brugen af Objective-C og NeXTStep, med vægt på de hurtige applikationsudviklingsmuligheder, der var afgørende for Tim Berners-Lees oprindelige webbrowser/editor.

Forskere udvikler behandling, der kan dræbe glioblastomceller i hjernebanen

  • Forskere fra McMaster University og andre institutioner har identificeret en ny hjernevej, som glioblastomceller bruger, og udviklet en lovende terapi til at blokere og dræbe disse tumorer.
  • Undersøgelsen, der blev offentliggjort i Nature Medicine den 2. august 2024, viser, at målretning af denne vej med CAR T-celler og en medicin markant forbedrer overlevelsen i prækliniske modeller.
  • Behandlingen, der fokuserer på ROBO1-proteinet, fordoblede overlevelsestiden i tre kræftmodeller og udryddede tumorer i 50% af tilfældene for to af sygdommene, hvilket giver håb for glioblastom og andre invasive hjernesvulster.

Reaktioner

  • Forskere har udviklet en ny behandling, der kan dræbe glioblastomceller, en meget aggressiv form for hjernekræft med historisk lave overlevelsesrater.
  • Dr. Richard Scolyer, som behandler sin egen glioblastom, har vist lovende resultater uden tilbagefald i over et år, hvilket fremhæver potentialet i denne nye tilgang.
  • Diskussionen understreger kompleksiteten og udfordringerne ved behandling af kræft, idet det bemærkes, at selvom immunterapi er effektiv for nogle kræftformer, virker det ikke for alle tumorer, og alternative behandlinger som ketogen terapi stadig er til debat.

Almindelige I/O-opgaver i moderne Java

  • Artiklen af Cay Horstmann diskuterer almindelige I/O-opgaver i Java, især for webapplikationer, såsom læsning/skrivning af tekstfiler, håndtering af JSON og arbejde med ZIP-filer.
  • Det fremhæver API-forbedringer siden Java 8, herunder UTF-8 som standardkodning fra Java 18 og forbedringer af java.nio.file.Files og java.io.InputStream klasserne.
  • Artiklen giver praktiske kodeeksempler på læsning og skrivning af tekstfiler, håndtering af inputstrømme og arbejde med mapper og ZIP-filer, med vægt på brugen af moderne Files-metoder frem for den ældre File-klasse.

Reaktioner

  • Diskussionen centrerer sig om særhederne og problemerne med Javas URL og URI klasser, især omkring lighedstjek og DNS-opløsning.
  • Fremhæver udviklingen af Java I/O fra java.io.File til java.nio.file.Path, med vægt på ikke-blokerende I/O og bedre abstraktion.
  • Omhandler praktiske råd og almindelige faldgruber ved brug af Javas I/O API'er, såsom håndtering af undtagelser i streams og brugen af var.

Dommerne suspenderer FCC's regel om genindførelse af netneutralitet

Reaktioner

  • En dommer har suspenderet FCC's regel om genindførelse af netneutralitet, hvilket eskalerer juridiske konflikter omkring netneutralitet.
  • Dette ophør følger en højesteretsafgørelse, der reducerede den føderale reguleringsmagt, hvilket førte til et ustabilt reguleringsmiljø.
  • Kritikere hævder, at ustabiliteten gavner etablerede virksomheder og komplicerer driften for nye markedsdeltagere, hvilket tyder på, at Kongressen bør tage fat på disse problemer i stedet for domstolene.

Magnetisk svævende rum-elevator til lavt jordkredsløb (2001) [pdf]

Reaktioner

  • Brugere på Hacker News diskuterer en artikel fra 2001 om magnetisk svævende rum-elevatorer til lavt jordkredsløb og mindes lignende koncepter i Popular Science.
  • Debatten dækker tekniske udfordringer, herunder behovet for avancerede materialer som kulstofnanorør og højtemperatur-superledere, samt risikoen for en brudt tøjring.
  • Alternativer som railguns og launch loops foreslås, med diskussioner om den økonomiske levedygtighed og praktikalitet af rum-elevatorer, sammen med fremskridt inden for superledende materialer.

Et år med Metas nyhedsforbud i Canada

  • Metas nyhedsforbud i Canada som svar på lovforslag C-18 har ført til et fald på 85% i engagementet for canadiske nyhedsmedier på Facebook og Instagram, hvilket har resulteret i et samlet fald på 43% i engagementet.
  • Omtrent 30% af lokale nyhedsmedier er blevet inaktive på sociale medier, og kun 22% af canadiere er opmærksomme på forbuddet.
  • På trods af forbuddet støder 36% af brugerne stadig på nyhedsindhold gennem omveje, men canadiere ser 11 millioner færre nyhedsvisninger pr. dag på disse platforme, hvilket resulterer i, at de samlet set forbruger mindre nyheder og gennem en mere forudindtaget linse.

Reaktioner

  • Metas nyhedsforbud i Canada, påvirket af avis-lobbyister og politikere, kræver, at platforme betaler for nyhedsindhold, hvilket har ført til, at Meta blokerer nyhedslinks.
  • Critikere hævder, at forbuddet skader nyhedsorganisationer ved at fjerne fordelagtige gratis links på sociale medier, selvom nyhedsindhold stadig vises gennem omveje som skærmbilleder.
  • Den igangværende debat stiller spørgsmål ved, om Meta skal betale for nyhedsindhold, med bekymringer om reduceret nyhedsforbrug, øget forudindtaget information og indvirkningen på nyhedsorganisationers indtægter og overlevelse.

Mod brugerrumsificering af POSIX – del I: signalhåndtering og IO

  • Redox OS har modtaget et NGI Zero-tilskud til at implementere POSIX-signalhåndtering og processtyring i brugerrummet, hvilket muliggør et års fokus på forbedringer af kerne og komponenter.
  • Forbedringer i skemapakkens format og nye systemkald (SYS_PREAD2 og SYS_PWRITE2) har øget RedoxFS kopiydelsen med 63%, svarende til effektiviteten af io_uring.
  • Projektet sigter mod at flytte mere POSIX-logik til brugerrummet, med forbedringer i signalhåndtering og fremtidige planer om at udvikle en brugerrumsprocesmanager og yderligere kerneforbedringer.

Reaktioner

  • POSIX tillader, at filbeskrivere (FD'er) deles af flere processer, hvilket er essentielt for Unix-lignende systemer og kapabilitetsorienteret sikkerhed, men denne deling kan flyttes til brugerrummet.
  • Den globale markør i FDs komplicerer samtidig adgang, hvilket kræver synkronisering, og mens Rusts std::fs::File API adresserer dette med krav om mutabilitet, kan andre sprog stå over for fejl eller have brug for komplekse API'er.
  • Moderne applikationer og systemprogrammering udvikler sig til at balancere POSIX's historiske design med behovet for mere modulære og sikre grænseflader, ved at anvende værktøjer som D-Bus og Linux's plan9 navnerum for bedre isolation og sikkerhed.

Primitive rekursive funktioner for en arbejdende programmør

  • Artiklen understreger vigtigheden af at forstå Turing-komplethed og primitive rekursive funktioner, som ofte overses i undervisningen i datalogi.
  • Det fremhæver, at mange praktiske problemer kan implementeres i ikke-Turing komplette sprog, som tilbyder fordele som determinisme og sikkerhed.
  • Diskussionen omfatter forskellene mellem endelige tilstandsmaskiner, Turing-maskiner og primitive rekursive funktioner, idet det bemærkes, at PRF'er altid afsluttes og kan beregne mange praktiske funktioner.

Reaktioner

  • Artiklen udforsker primitive rekursive funktioner og deres betydning for at sikre kodens afslutning, i overensstemmelse med strukturerede programmeringsprincipper.
  • Den diskuterer begrænsningerne ved Turing-komplethed og fordelene ved sprog som CUE og Dhall, der kan garantere afslutning.
  • Diskussionen omhandler de praktiske udfordringer ved at bevise funktionsafslutning og implikationerne for konfigurationssprog, hvor der skal balanceres mellem beregningskraft og sikkerhed.