Ga naar hoofdinhoud

2024-08-03

Vi gikk tom for kolonner

  • Jimmy Millers «We ran out of columns» beskriver hans første programvarejobb sitt kaotiske, men fascinerende kodebase, og fremhever en databasetabell kalt Merchants som gikk tom for kolonner, noe som førte til opprettelsen av Merchants2.
  • Kodebasen var en blanding av VB, C#, ulike JavaScript-rammeverk og en rekke SOAP-tjenester, med bemerkelsesverdige problemer som en utvikler som ikke sjekket inn kode, noe som forårsaket vanskelig å spore feil.
  • Til tross for rotet, tillot kodebasen kreativ problemløsning, med utviklere som utformet sine egne løsninger, noe som førte til et løst koblet system og en unik, direkte forbindelse med brukerne.

Reacties

  • En utvikler delte sin erfaring med en uorganisert kodebase i sitt første selskap, som manglet versjonskontroll og hadde mange globale variabler.
  • Feil ble rettet ved å installere Visual Studio på kundesteder og kjøre appen i feilsøkingsmodus, noe som førte til flere, inkonsekvent navngitte versjoner lagret på en delt disk.
  • Utvikleren introduserte etter hvert moderne praksiser som git, Linux og Continuous Integration (CI) for nye prosjekter, men det gamle prosjektet forble uendret, noe som fremhever utfordringene med å forbedre dysfunksjonelle kodebaser.

p5.js

  • p5.js-biblioteket tilbyr en rekke eksempler og fellesskapsskisser for å hjelpe brukere med å lære og utforske dets muligheter.
  • Merkbare prosjekter inkluderer Geodata Weaving, Slime Molds, Generative Succulents, Padrão Geométrico, Zen Pots og Glitch-animasjon, som viser bibliotekets allsidighet.
  • Brukere kan støtte p5.js-biblioteket gjennom donasjoner eller ved å laste det ned for egen bruk.

Reacties

  • p5.js mottok et tilskudd på €450k fra Sovereign Tech Fund i 2023 for å forbedre dokumentasjonen og tilgjengeligheten, noe som førte til en ny, brukervennlig nettside.
  • Brukere setter pris på p5.js for dens nybegynnervennlige natur, men merker ytelsesbegrensninger sammenlignet med biblioteker som d3 eller three.js.
  • Den nye nettsiden har blitt positivt mottatt, selv om noen brukere savner referanser til p5.js' opprinnelse fra Processing-prosjektet, som har møtt kritikk for budsjettfordelingen.

Tauri 2.0 Utgivelseskandidat

  • Utgivelseskandidaten for Tauri 2.0 er annonsert, med en stabil utgivelse forventet innen slutten av august, med fokus på å fullføre dokumentasjonen og fikse kritiske feil.
  • Tauri 2.0 introduserer grunnleggende støtte for mobilutvikling, selv om det ennå ikke matcher funksjonspariteten for skrivebord, og inkluderer endringer som et fast navneområde for kjerneplugins og en omstrukturering av Rust API.
  • En ekstern sikkerhetsrevisjon er fullført med alle problemer løst, og den fullstendige rapporten vil bli publisert snart; samfunnet oppfordres til å bidra til dokumentasjon og problemløsning.

Reacties

  • Utgivelseskandidaten for Tauri 2.0 har blitt annonsert, noe som har utløst betydelig diskusjon blant brukerne om dens funksjoner og potensielle forbedringer.
  • Tauri er et rammeverk for å lage små, raske binærfiler for store plattformer ved å bruke frontend-rammeverk som kompilerer til HTML, JavaScript og CSS, med backend-logikk i språk som Rust, Swift og Kotlin.
  • Brukere sammenlignet Tauri med Electron, og bemerket Tauri's lettere fotavtrykk og native integrasjon, samtidig som de diskuterte dets sikkerhetsfokus, plattformuavhengige brukergrensesnitt og utfordringer som Linux webkomponentproblemer og behovet for bedre dokumentasjon.

Fremtiden til kdb+?

  • kdb+ er en kraftig teknologi for lagring og analyse av historiske markedsdata, men alternativer som Clickhouse, QuestDB, Bigquery og Redshift er nå konkurransedyktige når det gjelder hastighet.
  • Til lokal kvantitativ analyse foretrekkes Python med DuckDB, Polars eller PyKX på grunn av tilgjengelighet og kostnadseffektivitet.
  • De sanntidsstrømming- og distribuert databehandlingskapasitetene til kdb+ er underutnyttet, mens teknologier som Kafka og Flink blir stadig mer populære.

Reacties

  • Diskusjonen dreier seg om fremtiden til kdb+, en høyytelses tidsseriedatabase, og dens potensielle etterfølgere.
  • Alternativer som TimeScale (en PostgreSQL-utvidelse), DuckDB og ClickHouse fremheves for deres ytelse og kostnadseffektivitet.
  • Den proprietære naturen og høye kostnader ved kdb+ er store ulemper, noe som får noen til å vurdere open-source-løsninger som Python med DuckDB og Polars for tidsserieanalyse.

Hanons Pro – pianoteknikk og øvelser for den digitale tidsalderen

  • Hanons Pro er en moderne pianoøvelsesapp for iPhone, iPad og Mac, som tilbyr funksjoner som fremdriftssporing, tilbakemeldinger og bygging av øvelsesvaner.
  • Avanserte funksjoner inkluderer ytelsesanalyse, automatisk sidevending og interaktive funksjoner når den er koblet til et MIDI-tastatur via Bluetooth eller USB.
  • Appen støtter iCloud-synkronisering, daglige øvingspåminnelser og prestasjoner, og er bygget med SwiftUI og Core MIDI, kompatibel med iOS 17.

Reacties

  • Han Pro er en pianoteknikkapp som tilbyr øvelser og tilbakemeldinger, designet for den digitale tidsalderen.
  • Brukere har rapportert appkrasj med MIDI-kontrollere og uttrykt et ønske om MIDI-avspilling og mer fleksible øvingsalternativer.
  • Appen krever iOS 17+, noe som forårsaker frustrasjon blant brukere med eldre enheter, og forslag til forbedring inkluderer bedre enhetskompatibilitet og tillegg av funksjoner som fremdriftssporing og opplasting av tilpassede poengsummer.

En Lisp med GC på 436 byte

  • SectorLISP inkluderer nå søppelsamling, og passer et høynivå programmeringsspråk med søppelsamling inn i 512-byte oppstartssektoren på en diskett, ved å bruke kun 436 byte.
  • Dette gjør LISP til det minste programmeringsspråket, og overgår FORTH og BASIC, og det er kompatibelt med alle PC-modeller siden 1981 med minst 64kb RAM.
  • Prosjektet viser betydelig optimalisering, reduserer i8086 assembly-implementeringen med ytterligere hundre byte, og inkluderer en 40-byte søppeloppsamler, med binærfiler og kildekode tilgjengelig på GitHub.

Reacties

  • En Lisp-tolk med søppelsamling (GC) har blitt implementert på bare 436 byte, noe som viser en imponerende prestasjon av minimalisme i programmering.
  • Prosjektet, som er vert på justine.lol, har fått betydelig oppmerksomhet og beundring for sitt kompakte og effektive design, med referanser til tidligere arbeider og gir pedagogiske innsikter.
  • Diskusjoner fremhever balansen mellom å skape en minimalistisk tolk og opprettholde funksjonaliteten til en "ekte" Lisp, noe som utløser debatter om naturen til programmeringsspråk som Brainfuck og deres praktiske anvendelser.

Jeg har laget en utvidet versjon av Vimtutor – introduserer Vimtutor Sequel

  • "Vimtutor Sequel" tilbyr avanserte Vim-leksjoner, inkludert kommandoer, teknikker, trinnvise veiledninger og interaktive øvelser.
  • Installasjon kan gjøres via Homebrew eller ved å klone depotet fra GitHub, med detaljerte instruksjoner gitt for begge metoder.
  • Verktøyet er lisensiert under MIT-lisensen, og bidrag er velkomne i henhold til retningslinjene i CONTRIBUTING.md.

Reacties

  • Vimtutor Sequel er en utvidet versjon av den originale Vimtutor, rettet mot brukere som er kjent med grunnleggende Vim-kommandoer og ønsker å lære avanserte funksjoner.
  • Viktige funksjoner inkluderer opplæringsprogrammer om splits, stavekontroll, avansert søk og erstatt, makroer, Vim-skripting, plugins, økter og registre, sammen med en tilpasset vimrc-konfigurasjon for en konsistent læringsopplevelse.
  • Installereingsinstruksjoner er gitt for Mac, Windows og Linux, og skaperen søker tilbakemeldinger og bidrag via GitHub-repositoriet.

1991 WWW-NeXT Implementering

  • Dette GitHub-repositoriet speiler Tim Berners-Lees opprinnelige WorldWideWeb-applikasjon for NeXT, og viser frem den første prototype Hypertext-nettleseren/redigeringsprogrammet.
  • Applikasjonen gir tilgang til hypertekstservere, filer og nyheter, og gir et innblikk i den tidlige webens funksjonalitet.
  • Arkivet inkluderer en historisk endringslogg, med forpliktelsesdatoer tilbakedatert til siste endringsdag for hver fil, og bevarer den opprinnelige tidslinjen.

Reacties

  • 1991 WWW-NeXT-implementeringen har blitt gjort tilgjengelig på GitHub, noe som har vekket interesse blant teknologientusiaster og digitale arkeologer.
  • Denne utgivelsen fremhever den tidlige grafiske naturen til nettet, i kontrast til de tekstbaserte nettleserne som var mer vanlige på den tiden.
  • Prosjektet viser bruken av Objective-C og NeXTStep, og fremhever de raske applikasjonsutviklingsmulighetene som var avgjørende for Tim Berners-Lees opprinnelige nettleser/redigeringsprogram.

Forskere utvikler behandling som kan drepe glioblastomceller i hjernebanen

  • Forskere fra McMaster University og andre institusjoner har identifisert en ny hjernevei brukt av glioblastomceller og utviklet en lovende terapi for å blokkere og drepe disse svulstene.
  • Studien, publisert i Nature Medicine den 2. august 2024, viser at målretting av denne veien med CAR T-celler og et legemiddel betydelig forbedrer overlevelsen i prekliniske modeller.
  • Terapi, med fokus på ROBO1-proteinet, doblet overlevelsestiden i tre kreftmodeller og utryddet svulster i 50 % av tilfellene for to av sykdommene, og gir håp for glioblastom og andre invasive hjernesvulster.

Reacties

  • Forskere har utviklet en ny behandling som kan drepe glioblastomceller, en svært aggressiv hjernekreft med historisk lave overlevelsesrater.
  • Dr. Richard Scolyer, som behandler sin egen glioblastom, har vist lovende resultater uten tilbakefall i over et år, noe som fremhever potensialet i denne nye tilnærmingen.
  • Diskusjonen understreker kompleksiteten og utfordringene ved behandling av kreft, og bemerker at selv om immunterapi er effektiv for noen krefttyper, fungerer den ikke for alle svulster, og alternative behandlinger som ketogen terapi er fortsatt omdiskutert.

Vanlige I/O-oppgaver i moderne Java

  • Artikkelen av Cay Horstmann diskuterer vanlige I/O-oppgaver i Java, spesielt for webapplikasjoner, som å lese/skrive tekstfiler, håndtere JSON og arbeide med ZIP-filer.
  • Det fremhever API-forbedringer siden Java 8, inkludert UTF-8 som standardkoding fra Java 18 og forbedringer av java.nio.file.Files og java.io.InputStream-klassene.
  • Artikkelen gir praktiske kodeeksempler for å lese og skrive tekstfiler, håndtere inngangsstrømmer, og arbeide med kataloger og ZIP-filer, med vekt på bruk av moderne Files-metoder fremfor den eldre File-klassen.

Reacties

  • Diskusjonen dreier seg om særegenheter og problemer med Javas URL- og URI-klasser, spesielt rundt likhetssjekker og DNS-oppløsning.
  • Fremhever utviklingen av Java I/O fra java.io.File til java.nio.file.Path, med vekt på ikke-blokkerende I/O og bedre abstraksjon.
  • Nevenner praktiske råd og vanlige fallgruver ved bruk av Javas I/O-API-er, som håndtering av unntak i strømmer og bruk av var.

Dommerne suspenderer FCCs regel for gjenoppretting av nettnøytralitet

Reacties

  • En dommer har suspendert FCCs regel for gjenoppretting av nettnøytralitet, noe som eskalerer juridiske konflikter rundt nettnøytralitet.
  • Dette opphenget følger en høyesterettsavgjørelse som reduserte føderal reguleringsmakt, noe som førte til et ustabilt reguleringsmiljø.
  • Kritikere hevder at ustabiliteten gagner etablerte selskaper og kompliserer driften for nye markedsaktører, og foreslår at Kongressen bør ta tak i disse problemene i stedet for domstolene.

Magnetisk levitert romheis til lav-jordbane (2001) [pdf]

Reacties

  • Brukere på Hacker News diskuterer en artikkel fra 2001 om magnetisk svevende romheiser til lav jordbane, og mimrer om lignende konsepter i Popular Science.
  • Debatten dekker tekniske utfordringer, inkludert behovet for avanserte materialer som karbonnanorør og høytemperatursuperledere, og risikoen for en ødelagt line.
  • Alternativer som jernbanekanoner og oppskytningsløkker foreslås, med diskusjoner om den økonomiske levedyktigheten og praktiskheten av romheiser, sammen med fremskritt innen superledende materialer.

Et år med Metas nyhetsforbud i Canada

  • Metas nyhetsforbud i Canada, som svar på lovforslag C-18, har ført til en nedgang på 85 % i engasjement for kanadiske nyhetsmedier på Facebook og Instagram, noe som har resultert i en total nedgang på 43 % i engasjement.
  • Omtrent 30 % av lokale nyhetskanaler har blitt inaktive på sosiale medier, og bare 22 % av kanadiere er klar over forbudet.
  • Til tross for forbudet, møter 36 % av brukerne fortsatt nyhetsinnhold gjennom omveier, men kanadiere ser 11 millioner færre nyhetsvisninger per dag på disse plattformene, konsumerer mindre nyheter generelt og gjennom en mer partisk linse.

Reacties

  • Metas nyhetsforbud i Canada, påvirket av avislobbyister og politikere, pålegger plattformer å betale for nyhetsinnhold, noe som fører til at Meta blokkerer nyhetslenker.
  • Kritikere hevder at forbudet skader nyhetsorganisasjoner ved å fjerne fordelaktige gratis lenker på sosiale medier, til tross for at nyhetsinnhold fortsatt vises gjennom omveier som skjermbilder.
  • Den pågående debatten stiller spørsmål ved om Meta bør betale for nyhetsinnhold, med bekymringer om redusert nyhetsforbruk, økt partisk informasjon og virkningen på nyhetsorganisasjoners inntekter og overlevelse.

Mot brukerrumsifisering av POSIX – del I: signalhåndtering og IO

  • Redox OS har mottatt et NGI Zero-stipend for å implementere POSIX-signalhåndtering og prosesshåndtering i brukermodus, noe som gir et års fokus på forbedringer av kjernen og komponentene.
  • Forbedringer i skjema-pakkeformatet og nye systemkall (SYS_PREAD2 og SYS_PWRITE2) har økt RedoxFS kopiytelse med 63 %, tilsvarende effektiviteten til io_uring.
  • Prosjektet har som mål å flytte mer POSIX-logikk til brukermodus, med forbedringer i signalhåndtering og fremtidige planer om å utvikle en brukermodus prosessbehandler og ytterligere forbedringer av kjernen.

Reacties

  • POSIX tillater at filbeskrivere (FD-er) deles av flere prosesser, noe som er essensielt for Unix-lignende systemer og kapabilitetsorientert sikkerhet, men denne delingen kan flyttes til brukernivå.
  • Den globale markøren i FDs kompliserer samtidig tilgang, noe som krever synkronisering, og mens Rusts std::fs::File API adresserer dette med krav til mutabilitet, kan andre språk møte feil eller trenge komplekse API-er.
  • Moderne applikasjoner og systemprogrammering utvikler seg for å balansere POSIXs historiske design med behovet for mer modulære og sikre grensesnitt, ved å bruke verktøy som D-Bus og Linuxs plan9-navnerom for bedre isolasjon og sikkerhet.

Primitive rekursive funksjoner for en arbeidende programmerer

  • Artikkelen understreker viktigheten av å forstå Turing-fullstendighet og primitive rekursive funksjoner, ofte oversett i informatikkutdanning.
  • Det fremhever at mange praktiske problemer kan implementeres i ikke-Turing-komplette språk, som tilbyr fordeler som determinisme og sikkerhet.
  • Diskusjonen inkluderer forskjellene mellom endelige tilstandsmaskiner, Turing-maskiner og primitive rekursive funksjoner, og bemerker at PRF-er alltid avsluttes og kan beregne mange praktiske funksjoner.

Reacties

  • Artikkelen utforsker primitive rekursive funksjoner og deres betydning for å sikre at koden avsluttes, i tråd med prinsippene for strukturert programmering.
  • Den diskuterer begrensningene ved Turing-fullstendighet og fordelene med språk som CUE og Dhall som kan garantere terminering.
  • Diskusjonen tar for seg de praktiske utfordringene med å bevise funksjonsterminering og implikasjonene for konfigurasjonsspråk, og balanserer datakraft og sikkerhet.