Fira Programmerarens dag med kodsnack!

Permalänk
Redaktion
Redaktionschef

Fira Programmerarens dag med kodsnack!

Idag är det årets 256:e dag och det betyder att det är den internationella programmerarens dag. Dagen i ära passar vi på att smita iväg till Geeks-kontorets mörkare vrår för att se vad @jreklund har att säga om kodknackande.

Hej Johan! Du är SweClockers, FZ och Geeks superba kodapa och vi har några riktigt hårda frågor.

Vad är roligast med att vara programmerare för Geeks?
Jag gillar ju att leta buggar. Att hitta varför saker inte fungerar. Sedan kan det ju förstås vara riktigt jobbigt. Det är lite som att vara en detektiv.

Vad är det tristaste med att vara programmerare?
Det tråkigaste är nog att granska någon annans kod. Att grotta igenom gammal kod och försöka förstå vad som ens händer och sker. Det är svårt att sätta sig in i någon annans hjärna och tankeprocess. Sedan kan det vara frustrerande att hålla sig uppdaterat kring nya tekniker och språk, även om saker och ting blir bättre. PHP är ju faktiskt bra nu!

Vad gör du just nu?
Just nu jobbar jag på [REDACTED], [REDACTED] och [REDACTED].

Vilka tekniker använder vi?

Det som driver sajten rent kodmässigt är följande:
  • PHP

  • SQL

  • JavaScript

  • HTML5

  • CSS

Våra PHP och JavaScript ramverk är utvecklade in-house.

Bakom kulisserna (servrar) kan man hitta följande:

  • Linux (Debian / Ubuntu)

  • Nginx

  • PHP-FPM

  • MariaDB

  • Redis

  • Varnish

Till vår hjälp i vardagen (dev-verktyg) använder vi:

  • Windows

  • VirtualBox

  • Git

  • Putty

  • WinSCP

  • Visual Studio Code

  • - PHP DocBlocker

  • - IntelliSense / Linters

  • Composer

  • GrumPHP

  • - PHP-CS-Fixer

  • - PHPStan

  • SASS (SCSS)

  • NodeJS

  • - Stylelint

  • - ESLint

Vi håller på att lägga till dev-verktygen:

  • Docker

Visa mer

Var hittar man dig till vardags?
Hello IT-tråden! Där skriver jag uppdateringar om vad som händer och sker på IT-avdelningen och svarar på frågor om utveckling på SweClockers. Annars svarar jag på utvecklarrelaterade frågor i Feedback-delen här i forumet.

Hur firar du programmerarens dag? Knackar du också kod om dagarna och vill dela med dig av dina upplevelser? Eller har du någon kodare på jobbet du skulle vilja uppmärksamma och tacka för sin insats? Dela med dig av alla programmerarrelaterade kod-tankar i tråden!

Permalänk
Medlem

Den som säger att den älskar PHP ljuger!

Visa signatur

Stationär: RTX 4090 OC ASUS | Ryzen 9 5950X | G.Skill Trident Z NEO 3600mhz 32GB | Arctic Liquid Freezer III 360 | Corsair HX1000i | Asus Rog Strix X570-F Gaming | Samsung 990 PRO 2TB | Samsung 980 PRO 2TB | Fractal Design North XL

Jobbdator: MacBook Pro 16" i7 6C, 16GB ram DDR4, AMD Radeon Pro 5300M 4GB

Permalänk
Medlem

void main()
double kakor=""
While {
Kul med en egen dag, det kände inte jag till, ska man äta
function(kakor)
då?
}
kakor{
mums / mums = division by localhost.
}
return.

Visa signatur

*5600|B350M-A|32GB|A750|GX750W|Core V21|280AIO|1TB+2TB.

AMD Ryzen 5(Zen3) @4891|Asus Prime|Corsair 2x16 RGB PRO 3200C16 @3800C18|Intel Arc LE @2740MHz|Seasonic Focus| Thermaltake mATX kub|Arctic freezer II| NVMe SSD PCIE 3.0x2 Kingston A1000 1500/1000 + 2,5" HDD Toshiba 1TB & Samsung 1TB i RAID 0.

Permalänk
Medlem

Jag önskar nog mest att jag lade mer tid på att lära mig programmering i min ungdom istället för att spela alla de underbara spel vi fick under 90-talet och tidigt 00-tal. Men än är det inte försent antar jag.

...Baldurs Gate 3, Starfield, The Crew: Motorfest, Cyberpunk 2077 DLC. Fan....

(Grattis ni andra!)

Visa signatur

Huvuddator: 7800X3D, 2x16GB G.Skill Flare X5 6000MHz CL30, Asus B650E-F, KFA2 RTX 4090 SG, 6TB NVMe/SATA SSD, 42" LG OLED C3 Evo
Spellaptop: Asus ROG Strix G15, 6800H, 16GB, RTX 3070Ti, 1TB NVMe
Övrigt: Dell XPS 13 modell 9310, Apple Macbook Air M1 8GB samt Samsung Galaxy S7 FE, Steam Deck
Dammsamlare: PS5, Switch och Xbox One X
Folda för Sweclockers! https://www.sweclockers.com/forum/trad/1348460-faq-kom-igang-...

Permalänk
Medlem

Hello world!

Permalänk
Medlem

Är koden dokumenterad eller är det fullt med förkortningar och hårdkodad kod som man måste läsa flera gånger för att förstå?

Permalänk

Det tråkigaste jag tycker är att man inte får koncentrera sig och ens kunskap går upp och ner inom olika områden.
Man kanske en gång gör ett superavancerat program i powershell som har konstig syntax. Folk kan i efterhand tycka, herre jävlar vilket powershell guru. I verkligheten så var man duktig i powershell för 10år sedan när man kodade det, idag så vet man inte ens hur deklarerar man en variabel i powershell utan man får Googla.
Och lite tråkigt blir det när man får ett nytt uppdrag i Powershell, då blir det ska jag lära mig detta på nytt?

Permalänk
Medlem

Så länge man skriver koden för nästa programmerare som ska pilla i den om 5 år… ofta är det en själv man lurar när man optimerar för mycket. Koden måste gå att läsa och förstå, annars får man skriva om

Till och med så grundläggande saker som att använda unika språkfunktioner kan ibland bara skapa problem om de inte är lättförståeligt

Permalänk
Medlem

Jag älskar PHP 😊

Skrivet av klotim:

Den som säger att den älskar PHP ljuger!

PHP är en allt-i-allo Schweizisk armékniv - från enkla webbsidor till mer avancerade med objektorientering till kommandoradsrutiner med kopplingar till olika databaser, hantera bilder, skapa PDF:er, ... - och i senare versioner är språket riktigt snabbt också. True story 😊

En negativ sak är att inte allt kan skrivas i PHP - utöver HTML, CSS och SQL blir man tvungen att blanda in lite Javascript för dynamik på klientsidan - där hade förstås ett språk som funkade både på klient och server haft poänger, och Javascript på servern går ju, men har inte lika många fina kopplingar och extensions som PHP, men "YMMV" - och skall själv in och harva i en Node.js-app på en Linux-server nu istället för favoriten PHP... 😮

Visa signatur

Dell XPS 17 - RTX 2060 - 4k touch - ersätter MSI GS73VR efter tre år
Byggen: Simply Red med 950 Pro - Liten Lian Li

Permalänk
Medlem
Skrivet av klotim:

Den som säger att den älskar PHP ljuger!

Jag har aldrig haft så kul i något annat programmeringsspråk som PHP och jag ljuger aldrig [1]. Kan bero på att jag aldrig har gjort något i PHP professionellt utan bara som hobby. Svårt att sätta ord på vad det är som gör kodning i det språket så underhållande -- lätt att få saker gjort kanske. Jag har inte rört språket sedan 2007 eller något så modern PHP kan mycket väl ha blivit tråkigt.

[1] Medvetet, jag ljuger hela tiden för att jag inte vet bättre och inte orkar kolla upp grejer ordentligt.

Permalänk
Medlem
Skrivet av KAD:

Jag har aldrig haft så kul i något annat programmeringsspråk som PHP och jag ljuger aldrig [1]. Kan bero på att jag aldrig har gjort något i PHP professionellt utan bara som hobby. Svårt att sätta ord på vad det är som gör kodning i det språket så underhållande -- lätt att få saker gjort kanske. Jag har inte rört språket sedan 2007 eller något så modern PHP kan mycket väl ha blivit tråkigt.

[1] Medvetet, jag ljuger hela tiden för att jag inte vet bättre och inte orkar kolla upp grejer ordentligt.

Ändå lite humor i ett språk med metodnamn som mysqli_real_escape_string osv 😁
Gillade PHP när jag inte hade testat så mycket annat, nu tycker jag att syntaxen är ganska gräslig och har överlag svårt för dynamiskt typade språk.

Permalänk
Medlem

Jag skulle verkligen vilja sätta mig ner och programmera, har hur mycket tid som helst men blir ju inte av ändå.

Började min hobby-karriär med att optimera NTPRO (bbs-program på Amigan) och göra små plugins till programmet. Språk: C
Men sedan är det bara HTML, PHP, CSS mest och lekt lite i JS också.

Är inte vän än med OOP och alla dessa paket hit och dit. Old school liksom

Kul att @jreklund får lite uppmärksamhet! Han är duktig!

Visa signatur

7600X,Tomahawk B650,NH-U12A,32GB,RX6700,Black SN850 1TB,860Evo 1TB,RM850x, 27GL850,Torrent Compact

Permalänk
Medlem

Knackat kod i 13 år nu, alltså som arbete. Av någon anledning tröttnar jag aldrig, även om det stundtals är frustrerande as hell. Var dock fruktansvärt längesen jag rörde något i PHP. Satt med det en del innan jag började plugga, men det var mest på hobbynivå 😃

Visa signatur

WS: Mac Studio M1 Max | 32 GB | 1TB | Mac OS
WS: Intel i5 12600K | 64 GB DDR4 @3600 Mhz | 2x1TB nvme 2x1TB SSD SATA | Windows 11 & Manjaro Linux
Bärbar: Macbook Pro 14" | M1 Pro | 16GB RAM | 512GB SSD | Mac OS
Servrar: Intel i7 10700K | 64 GB DDR4 @3600Mhz | 3 TB SSD + 22TB HDD | Unraid |
4x Raspberry pi 4b 8Gb | Dietpi |

Permalänk
Medlem

Oj. Hej 2015!

Permalänk
Medlem

Fortfarande min bästa bit kod jag har skrivit.

Permalänk
Medlem

Tacka vet jag assembler, jag började med: AL IBM 360/370, macro-11 (pdp-11), Singer (dom med symakinerna) System Ten. Sen några år med: Basic, Fortran , PL/1, Cobol, JSP, Pascal, C + dess olika varianter på olika maskiner.
Under senare decennier fuskat en del med HTML och php på hemmafronten.

Hört talas om Dave Cutler?
https://en.wikipedia.org/wiki/Dave_Cutler
https://www.youtube.com/watch?v=29RkHH-psrY - Must C!!!!
Pappan till de största och mest framgångsrika operativsystemen från igår och idag.

Jag hittade en bug, 1978, i hans kod till RSX-11M som han sedemerade rättade.

Permalänk
Medlem

Ibland får jag höra argumentet att "kommentarer behövs inte om man skriver bra kod". Jättekul när det är många abstraktionslager, massor med pekare så det är svårt att följa...

Permalänk
Medlem
Skrivet av Leffe_B:

Ibland får jag höra argumentet att "kommentarer behövs inte om man skriver bra kod". Jättekul när det är många abstraktionslager, massor med pekare så det är svårt att följa...

Alternativt som för mig, att koden löser komplexa affärsproblem som är helt odokumenterade, och folket på affärssidan har blivit utbytta 72 ggr sen den person som var med från dom när koden producerades....

Nått av det bästa jag hittat var kommentaren "Denna beräkning är en placeholder under utveckling, byt ut den mot korrekt beteede efter samtal med verksamheten" ... efter 11 år. Mao så blev placeholder-beräkningen det som verksamheten såg som "sanning" i 11 år.

Jag firade gårdagen som dom flesta andra dagar, satt och löste en driftstörning som berodde på "någon annans" gamla legacy-fulkod!

Jag hade en rant om Excel i en tidigare tråd, men jag vill nog ändra mig och säga att jag skulle önska bort -all- legacykod. Det är horribelt hur mycket fulkod som producerats på så kort tid, några årtionden på sin höjd.

Permalänk
Geeks
Jobbar med data
Skrivet av klk:

Är koden dokumenterad eller är det fullt med förkortningar och hårdkodad kod som man måste läsa flera gånger för att förstå?

De nya biblioteken för t.ex. Swish, IDkollen och kryptering har kommentarer, men alla har olika mängd beroende på komplexitet. De flesta metoder skrivs ut i sin helhet, men ibland har det blivit en avstickare. De senaste åren har det lags ned mer tid på att dokumentera IT-miljön och utvecklingsmiljöerna än att lägga till inline-kommentarer på befintlig kod.

Kodstandarder (hur koden ska formateras) har tagits fram för PHP, CSS och JavaScript. Nästa steg är att ta fram dokumentation om hur t.ex. en modell ska se ut och definiera när och hur mycket saker ska dokumenteras.

Permalänk
Medlem
Skrivet av Leffe_B:

Ibland får jag höra argumentet att "kommentarer behövs inte om man skriver bra kod". Jättekul när det är många abstraktionslager, massor med pekare så det är svårt att följa...

Men då är det ju inte bra kod.
Iaf inga buggar i kommentarerna eftersom det inte finns några.

Permalänk
Medlem

Gillar att koda då och då när jag känner för det men gick in i väggen som programmerare, det är ett jävla tryck så det gör jag inte om.

Visa signatur

11600K@5.1 GHz + 32GB Corsair Vengeance RGB PRO 3200@3400 MHz + MSI RTX 2080 Super Gaming X Trio +
WDC Blue SN550 1TB + Black OEM SN730 500GB + Kingston A1000 480GB + A2000 500GB + NV2 1TB + 2TB R10 + RGB most of THE THINGS! + Corsair 4000D Airflow + 2*ZyXEL NSA326 2*3TB @ R1 + Netgear RN2100 4*3TB @ R10 + RN204 4*4TB @ R5 + Synology DS216j 2*4TB @ SHR R1 + DS418 4*8TB @ SHR R6
| tmp: R5 3600@4.2 GHz + 32GB 2666@3066MHz + 1060 6GB@2100/4500MHz + 1 TB NV2 & 512GB SN730

Permalänk
Medlem
Skrivet av ZaInT:

Gillar att koda då och då när jag känner för det men gick in i väggen som programmerare, det är ett jävla tryck så det gör jag inte om.

Samma sak här. Började min bana in R&D för småsystem (inbyggda, lite plc osv) och då blev det en hel del kodande (asm, c, java, cpp osv) för att testa hårdvaran man tog fram. Sedan när det började dyka upp mycket färdiga moduler så gick det över till nästan enbart kodande och nu ca 8 år senare kodar jag endast när det är absolut nödvändigt och lejer ut de mer tunga bitarna vid behov.
Intresset för att ta fram nya lösningar har dock inte sinat nämnvärt... bara blivit riktigt gubbgrinig och less på kodandet.

Visa signatur

MSI K9N SLI Diamond | MSI Diamond HDMI 7600GT | AMD X2 4200+ | 1GB Kingston HyperX| 32" LG 5000:1 screen | Asus EeePC 701

Permalänk

Angående arbetsliv så finns det ordspråket att gräset är grönare på andra sidan. Så jag vet inte vad som är bäst, men att man tror att andra har det bättre.
Jag själv gillar att jobba med emot stora kunder för jag upplever man blir då bättre behandlad av alla andra. Säg att man har strul med ett program, man får knappt någon hjälp alls från supporten.
Om man i samma veva drar ett CC mail till t.ex. Tim Cook (Apples VD) och säger att det berör deras produkter. Ja, man blir helt annat bemöt för exakt samma problem och de kan direkt skicka en tekniker till en.
Samtidigt finns de som argumenterar emot stora kunder med mindre valfrihet.

Permalänk
Medlem
Skrivet av Sinery:

Men då är det ju inte bra kod.
Iaf inga buggar i kommentarerna eftersom det inte finns några.

Det där är en myt, vet ej hur den uppstått, "självdokumenterande" kod existerar inte utan det handlar mer om att programmerare inte lärt sig dokumentera och/eller inte "orkar".

Dokumentation handlar oftast om varför/syfte något görs, personligen tycker jag också det är viktigt att dokumentera variabler, framförallt medlemsvariabler i objekt. Bra med exempelkod i kommenterar med.

Programmerare som praktiserar tekniken DoD (data oriented design) eller 10x kodarna. Med den tekniken kan man ta återanvändning till helt andra nivåer men det blir komplex kod och måste vara noga dokumenterad.

Permalänk
Medlem
Skrivet av klk:

Det där är en myt, vet ej hur den uppstått, "självdokumenterande" kod existerar inte utan det handlar mer om att programmerare inte lärt sig dokumentera och/eller inte "orkar".

Dokumentation handlar oftast om varför/syfte något görs, personligen tycker jag också det är viktigt att dokumentera variabler, framförallt medlemsvariabler i objekt. Bra med exempelkod i kommenterar med.

Det är inte frågan, utan om man ska dokumentera dålig faktoriserad kod istället för att fixa den... vilket brukar stämma från rädslan att introducera nya buggar pga dålig kod från början / dåliga tester.

Vad git är till för.

Permalänk
Medlem
Skrivet av Sinery:

Det är inte frågan, utan om man ska dokumentera dålig faktoriserad kod istället för att fixa den... vilket brukar stämma från rädslan att introducera nya buggar pga dålig kod från början / dåliga tester.

Vad git är till för.

Varför inte både fixa och dokumentera koden

Pratar vi enhetstester brukar de vara ett stort hinder för att fixa kod

Permalänk
Medlem
Skrivet av klk:

Varför inte både fixa och dokumentera koden

Pratar vi enhetstester brukar de vara ett stort hinder för att fixa kod

Ansvars- och tidskrävande, trist, och oberoendeframkallande.
Teknisk skuld är bra när det är din.

Visst, om det är dåliga kod & tester blir det mer att fixa.

Permalänk
Medlem

Skrev rekursiv kod i Visual Basic åt en uppdragsgivare men deras programmerarna kunde inte förstå koden, trots att den funkade och löste sin uppgift, så jag fick skriva om rubbet på ett enklare och längre sätt.

För att inte tala om reentrant kod, men det vet numera bara jag och Dave Cutler vad det är.

Vet du?

Permalänk
Medlem
Skrivet av jookeer:

Skrev rekursiv kod i Visual Basic åt en uppdragsgivare men deras programmerarna kunde inte förstå koden, trots att den funkade och löste sin uppgift, så jag fick skriva om rubbet på ett enklare och längre sätt.

Var det inte så att deras static code analysis flippade ur och därmed krävde en annan lösning?

Permalänk
Medlem
Skrivet av Sinery:

Var det inte så att deras static code analysis flippade ur och därmed krävde en annan lösning?

Möjligen så, men som konsulterad kodslav bör man inte ifrågasätta uppdragsgivarens personals uppfattningar.

...elller som Galileo sa':

"Det är inte lätt att ha rätt när hela världen har fel."