snabelen.no er en av mange uavhengige Mastodon-servere du kan bruke for å delta i det desentraliserte sosiale nettet.
Ein norsk heimstad for den desentraliserte mikroblogge-plattformen.

Administrert av:

Serverstatistikk:

358
aktive brukere

#programmering

2 innlegg2 deltakere0 innlegg i dag

Om du sender BankID-tjenesten XML-filer til signering kan du sende UTF-8-tegnsett, men BARE så lenge du legger til en XML-prolog som juger og påstår det er iso-8859-1. BankID-tjeneren konverterer da innholdet tjenestevillig men i all hemmelighet til faktisk iso-8859-1 før det signeres 😮 !

UTF-8 data korrekt merka som UTF-8 takler den ikke. 🙃 (Heldigvis fungerer korrekt merka iso-8859-1 fint).

Ingen av disse oppførslene er dokumentert.

Replied in thread

@atlefren Jeg tror ikke AI vil overta så mye som man tror, i et lengre perspektiv. Ikke før den kunstige intelligensen blir mer intelligent.

En utvikler kan se potensiale i både gammel og ny kode. En dagens generative AI motorer skjønner knapt nok koden den genererer. De fremtidige generasjonene vil nok forstå bedre koden den genererer, men det er fortsatt et langt stykke frem til at den ser potensialet i dens egen kode.

En god utvikler i dag vil forstå om koden som skrives er generisk og kan gjenbrukes. Og hvis utvikleren kommer over kode som man vet er effektiv og som gjør mye av det en ny utfordring trenger - så vil utvikleren se potensialet i koden med litt "refactoring" og så gjenbruke koden flere steder. Dagens AI evner ikke dette.

En utvikler med bred erfaring med flere programmeringsspråk vil også forstå hvilke språk som egner seg mer enn andre, ut fra oppgaven. Og en særdeles dyktig utvikler vil også se potensialet i et programmeringsspråk hvis det utvides med noen ekstra funksjoner, og dermed kan språket utvikles videre. Noe som skjer med de fleste programmeringsspråk i dag. Dette vil i lengden gi mer effektiv kode, men det kan ta lengre tid å nå frem til målet.

Det er her de som hyper AI ikke skjønner noen de viktigste begrensingene til LLMene:

  • Den er ikke intelligent - den kan ikke tenke "utenfor boksen".
  • Den forstår ikke fullt ut resultatet av sine egne svar
  • Det en AI genererer trenger ikke være sant, riktig eller realistisk

Eksempel: I OpenVPN 3 Linux prosjektet vurderer vi å bytte fra C++ til Rust. Trengte et godt D-Bus bibliotek og så at zbus hadde nesten alt vi trengte. En av kollegene mine involverte seg og fikk inn det som trengs av manglede funksjonalitet inn i zbus og vi vet nå at alt bortsett fra en selve OpenVPN 3 Core biblioteket vil gi store utfordringer, så alt av stacken bortsett fra selve klienten er klart for Rust.

Min kollega spurte da, for gøy, flere AI/LLMer om hvordan man kunne bruke OpenVPN 3 Core library (skrevet i C++) fra Rust. Og det manglet ikke på kreative svar. Alle pekte på forskjellige OpenVPN crates som kunne brukes og gjorde dette veldig enkelt. Problemet var at ingen av disse Rust crates eksisterte i virkeligheten.

Noe som Inga Strumke også påpeker mer generelt:

– Språkmodeller er lagd for å skrive gode setninger, ikke for å undersøke virkeligheten.
(ref: nrk.no/tromsogfinnmark/folk-br)

Det dagens AI kan brukes til, hvis den trenes primært på dine egne data (altså ikke en av disse generelle LLM tjenestene)
:

  • Forstå kode godt nok til å kunne gi en generell forklaring på hva koden gjør - men den kan fortsatt ha misforstått noen detaljer
  • Generere kode basert på en template, for eksempel refactoring av eksisterende kode den allerede kjenner. For eksempel: Flytt class Foo fra namespace ABC til namesspace DEF og gi den navnet class Bar. Slike "kjedelige" og repeterende oppgaver har jeg mer tro på at AI kan håndtere bedre - fordi den kan også "forstå" nok til oppdatere tilhørende dokumentasjon samtidig.
  • Generere et generelt rammeverk med litt generell dokumentasjon for å komme i raskere gang.

Jeg tror nok at vi vil se AI og LLM bli tatt mer i bruk, men ikke i de store grande visjonene til AI hypen. Det blir mer som en assistent til dagens utviklere for å redusere mengden repeterende kode som må skrives.

Samtidig vil programmeringsspråkene også utvikle seg, til å også gjøre programmeringen enklere - noe vi definitivt så med vårt prøveprosjekt med OpenVPN 3 Linux i Rust. Mengden "boilerplate code" som trengtes for å få D-Bus integrasjonen endte opp mye mindre enn i C++, da zbus craten tok meste parten av den jobben.

NRK · Folk bruker kunstig intelligens feil, sier forsker Inga StrümkeMenneskelig latskap fører til uriktig bruk av KI, mener forskeren.
#ai#ki#llm

Jeg tror det er en haug utviklere i feeden min, så prøver meg her med et problem jeg ikke skjønner: Hva kan være årsaken til at en applikasjon som er litt selektiv med hvilke filer den aksepterer, nekter å ta imot en fil som er endret av et PowerShell script, men ikke en som har nøyaktig de samme endringene gjort manuelt i VScode? Har sjekket om det er tegnsettet, og det er utf8 over alt.

Er ferdig med det letteste nivået; man løser oppgavene i økende rekkefølge først 1-gangen, så 2-gangen osv.

Brukeren kan velge mellom 3 nivåer, men bare det første fungerer nå.

Man kan avbryte når som helst ved å svare blankt eller trykke space.

Neste nivå blir at man skal kunne velge det første tallet, mens det andre skal være random.

Siste nivå er at begge skal være random.

Et "lite" prosjekt som man kan lære en del av.

i

Har en elev som sliter med multiplikasjonstabellen. Prøvde å lage et lite program i Scratch for å hjelpe eleven med å øve seg, men det ble for vanskelig. Har skiftet til Python. Det var jammen ikke lett der heller, men lettere.

Man skal kunne avslutte når som helst og man skal kunne velge et nytt tall å øve seg på. Jeg har aldri programmert GUI i Python. Tenker at det ville være det beste her.

Jeg har hatt gleden av å jobbe fulltid med frontend med noen av de mest besøkte websidene i Norge det siste året.

Og dessverre er det en nettleser som er vanskeligere enn de andre å utvikle for, Apple sin Safari.

Vi pleier å si at Safari er nye Internet Explorer, altså den som holder nyutvikling igjen. Den som gjør det vanskelig å bruke nye web standarder.