tiistaina, lokakuuta 20, 2026

Dell OptiPlex tuulettimen kontrollointi

Pöytätietokoneeni Dell OptiPlex 7000 firmware päivittyi versioon 1.43.0. Sen jälkeen koneen tuuletin on pitänyt ikävää mekkalaa, pyörien jatkuvasti 3 500 kierroksen nopeudella, joka aiheuttaa häiritsevää suhinaa.

Avasin koneen, irrotin tuulettimen ja katsoin, että johdot olivat varmasti oikeilla paikoillaan. Se ei auttanut, tuuletin jatkoi huutamista.

Löysin reddit-keskustelun, jossa kirjoittajalla oli samanlainen ongelma Dellinsä kanssa ja hän oli ratkaisuut sen kirjoittamalla Python ohjelman, joka säätää tuulettimen kierroksia sen lämpötilan mukaan sekunnin välein.

Ensimmäinen vaihe oli konvertoida skripti python3-yhteensopivaksi. 

Ubuntu 26.04 käyttää oletuksena apt-paketinhallintaa ja GRUB-käynnistyslataajaa (toisin kuin Reddit-oppaan Arch/Pacman-ympäristö). Jotta skripti toimii Ubuntu 26.04 -versiossa, kernel-asetukset ja moduulin oikeudet on konfiguroitava oikein Ubuntu-pohjaiselle järjestelmälle.

1. Esivalmistelut Ubuntu 26.04:ssä

Asenna tarvittavat työkalut:

bash
sudo apt update && sudo apt install lm-sensors python3 -y


Aja tunnistus (ja vastaa YES tai y kaikkiin kysymyksiin):


bash
sudo sensors-detect


2. Dell-ajurin pakotus ja rajoitusten poisto

Ubuntun oletusasetuksissa Dellin SMM-ajuri saattaa olla rajoitettu tai estetty (`restricted=1`). Luo tai päivitä ajurin asetustiedosto:

bash
sudo nano /etc/modprobe.d/dell_smm_hwmon.conf



Lisää tiedostoon seuraava rivi:

options dell_smm_hwmon force=1 restricted=0 ignore_dmi=1


Tallenna tiedosto (`Control+o`, Enter, sitten `Control+x`).

Lataa ajuri uudelleen, jotta muutokset astuvat voimaan heti:

bash
sudo modprobe -r dell_smm_hwmon
sudo modprobe dell_smm_hwmon force=1 restricted=0 ignore_dmi=1


3. Grub-käynnistysparametrit

Ubuntu 26.04 käyttää GRUBia. Lisää tarvittava parametri käynnistykseen:

Avaa GRUB-konfiguraatio tiedosto /etc/default/grub

Etsi rivi, joka alkaa `GRUB_CMDLINE_LINUX_DEFAULT`, ja lisää loppuun (ennen lainausmerkkiä) `dell_smm_hwmon.ignore_dmi=1`: 

 

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash dell_smm_hwmon.ignore_dmi=1"

Tallenna ja päivitä GRUB:


bash
sudo update-grub




4. Python3-skripti (`ultra_fan.py`)

Tässä on optimoitu ja nykyaikaisille Python 3 -standardeille päivitetty versio skriptistä, joka etsii `dell_smm`- ja `coretemp`-polut dynaamisesti.

Koodi löytyy githubista: ultra-fan

Tallenna koodi kotihakemistoosi nimellä `ultra_fan.py` ja anna sille suoritusoikeudet:

 

bash
chmod +x ~/ultra_fan.py


 

5. Järjestelmäpalvelun (Systemd) luominen

Ohjeistettu tarkemmin skriptin repositoryssä, Quickstart kohdassa.

 

Lopuksi

Voit tarkistaa tilatiedot ja livenä tulevat tulosteet komennolla:

bash
journalctl -u dell-fan.service -f




Tuloksen pitäisi näyttää tälle:

Klikkaamalla kuva suuremmaksi

 

Dell firmware riippuvuus

Tämä ei aluksi toiminut, mutta kun palautin edellisen 1.42.0 firmware-version koneeseen (Dell onneksi tukee edelliseen firmware-version palauttamista), yllä olevat muutokset toimivat! 

Näyttää sille, että  Dellin järjestelmähallinta (SMM, System Management Mode) estää käyttöjärjestelmää ottamasta suoraa kontrollia tuulettimen rekistereistä uudemmassa firmwaressa. Dell on kyseisessä 1.43.0 versiossa tiukentanut emolevyn turvatasoja ja lukinnut SMM-väylän niin, että käyttöjärjestelmän kautta tulevat kirjoituskomennot (pwm1_enable ja pwm1) torjutaan suoraan rautasuojauksella, mistä I/O error johtuu.

Kone toimii nyt lähes äänettömästi ja ultra_fan.py tarkkailee prosessorin lämpöä ja muokkaa tuulettimen kierroksia lennossa.

Otan kiitollisena vastaan mahdolliset parannukset ohjelmaan. 

maanantaina, lokakuuta 19, 2026

Lisää keskusmuistia

Olen kokeillut käyttää  lokaalia tekoälyä uudessa tietokoneessani. 16 gigan keskusmuistilla ei pitkälle pötkitä ja joudun valitsemaan raskaasti kvantisoituja malleja.

Näinkin ilmoituksen että myynnissä on 64 gigatavua 3200 Mhz DDR4 SO-DIMM muistikammat. Ostin ne ja ajoin noutamaan muisteja Sipooseen asti, missä myyjä majaili.

Laitoin uudet muistit Delliin ja virrat päälle. Muistit ovat prosessorin jäädytysiilin alla, joten pientä askartelua muistien päivittäminen vaatii.

Vanhat muistit

 
Uudet muistit

Kone valitti, että konfiguraatiota on muutettu ja kun menin BIOSiin, hiirikin oli alkanut toimia ongelmitta.

Kone tunnisti muistit heti ja keskusmuistin määrä oli kasvanut täyteen 64 gigatavuun.

Uudet ovat Samsungin muistit, kuten vanhatkin. 

Google Gemini kertoo muisteista seuraavaa

  • Valmistaja: Samsung Electronics Co., Ltd.
  • Kapasiteetti: 32 Gt yhdessä moduulissa (1 × 32 Gt)
  • Muistityyppi ja kellotaajuus: DDR4, 3200 MHz
  • Tyyppi: 260-nastainen SO-DIMM
  • Käyttöjännite: 1,2 V
  • Rakenne 2Rx8 (Dual rank)
  • Latenssi: CL22 (SE1-11) 

Olen erittäin tyytyväinen uusiin muisteihin. Tavallisessa surffauskäytössä ei eroa juurikaan näy, mutta nyt on mahdollista käyttää  huomattavasti isompaa LLM-mallia.

lauantaina, lokakuuta 10, 2026

Ensimmäinen ohjelmistoinsinööri on kuollut

Ohjelmistoinsinöörityön uranuurtaja Margaret Hamilton menehtyi 90-vuotiaana 30.9.2026. Hänet tunnetaan erityisesti siitä, että hän oli ensimmäinen nainen NASAn Apollo-kuuohjelman ohjelmoijien joukossa ja yksi ohjelmistotekniikan alan merkittävimmistä pioneereista.

Hamilton joutui aikoinaan perustelemaan ohjelmistotyön merkitystä laiteinsinööreille NASAn sisäisissä kokouksissa. Hänen sinnikkään työnsä ansiosta ohjelmistokehitystä alettiin pitää varsinaisena insinööritieteen haarana, ja termi software engineer sai virallisen hyväksynnän. Apollo-ohjelman aikana hän eteni MIT:n Software Engineering Divisionin johtajaksi vastaten koko Apollo-ohjelman ohjelmistoista.

Ohjelmointi oli Hamiltonin uran alkuvaiheessa hyvin erilaista kuin nykyään. Ohjelmat kirjoitettiin suoraan konekielellä nollina ja ykkösinä. Ensimmäisessä työpaikassaan hän muokkasi ohjelmakoodia kirjaimellisesti tekemällä reikiä paperinauhoihin kynällä tai peittämällä niitä teipillä, jolloin nollat vaihtuivat ykkösiksi ja päinvastoin.

Apollo-ohjelmassa muistiratkaisutkin olivat kaukana nykyisestä teknologiasta. ROM-muisti rakennettiin pienistä metallirenkaista, joiden läpi pujotettu johdin vastasi yhtä bittiä eli ykköstä. Apollo-aluksen ROM-muistin koko oli 72 kilotavua, mikä tarkoitti yhteensä 589 824 rengasta. Muistien fyysisen ohjelmoinnin suoritti joukko erittäin taitavia naisia, joita Hamilton kutsui leikkisästi nimellä LOL (Little Old Ladies).

Ohjelmistovirheitä puolestaan kutsuttiin nimellä FLT (Funny Little Things). Virheiden etsintä, eli debuggaus, tapahtui usein niin sanotulla Auge Kugel -menetelmällä, jonka nimi tarkoittaa saksaksi silmämunaa. Käytännössä ohjelmoijat kävivät lähdekooditulosteita läpi käsin ja yrittivät seurata ohjelman toimintaa mielessään samalla tavalla kuin tietokone.

Apollo-ohjelmistosta kehitettiin aikansa mittapuulla poikkeuksellisen vikasietoinen. Järjestelmään sisällytettiin hajautettu virheidenvalvonta, joka kykeni tunnistamaan ongelmatilanteita ja ilmoittamaan niistä astronauteille. Apollo 11:n historiallisen kuulaskeutumisen aikana ohjelmisto havaitsi, että alukselle oli jäänyt päälle tutkajärjestelmä, joka kuormitti prosessoria tarpeettomasti. Ohjelmisto reagoi käynnistämällä itsensä uudelleen, priorisoi kriittisimmät tehtävät ja sulki vähemmän tärkeät prosessit. Tämä ratkaisu auttoi mahdollistamaan onnistuneen laskeutumisen Kuun pinnalle.

Apollo-ohjelmasta saamiensa kokemusten pohjalta Hamilton kehitti myöhemmin formaaleja menetelmiä vikasietoisten järjestelmien suunnitteluun. Hän kutsui lähestymistapaansa nimellä Development Before the Fact, jonka tavoitteena oli ehkäistä ohjelmistovirheitä jo ennen koodin syntymistä. Samankaltaiset ajatukset ovat sittemmin nousseet laajempaan käyttöön esimerkiksi funktionaalisessa ohjelmoinnissa sekä Rust-ohjelmointikielessä.

Tunnetussa vuonna 1969 otetussa valokuvassa Margaret Hamilton seisoo Apollo 11:n ohjausjärjestelmän tulostetun lähdekoodin vieressä. Kuvasta on tullut yksi ohjelmistotekniikan historian ikonisimmista symboleista, ja se muistuttaa siitä, kuinka ratkaisevassa roolissa ohjelmistot olivat ihmiskunnan matkalla Kuuhun.


https://en.wikipedia.org/wiki/Margaret_Hamilton_(software_engineer)

Suomen pelimuseon remontti valmistui

Suomen pelimuseo Tampereella viettää 10-vuotispäiväänsä ensi tammikuun 16. päivänä. 

Suomen pelimuseo


Juhlavuoden kunniaksi museo on remontoitu ja sinne on saatu uusia pelejä. Näyttelyssä on 110 erilaista peliä ja ne ovat kaikki suomalaista tekoa! On tietokonepelejä (Angry Birds), lautapelejä (Kimble, Afrikan tähti), arcade-pelikoneita (Donkey Kong) ja perinnepelejä, kuten Fortuna.

Pelimuseo on Tampereella Vapriikissa. Osoite on Alaverstaanraitti 5,  33100 Tampere. Museo on avoinna Avoinna ti-su klo 10-18, maanantaisin se on suljettu.


maanantaina, syyskuuta 28, 2026

Kumpi on nopeampi läppärini i7 vai pöytäkoneen i5

Läppärissäni on 11. sukupolven Intel i7-prosessori. Tutkitaan, kumpi on nopeampi, vuotta vanhemman arkkitehtuurin i7-prosessori, vai pöytäminikoneen i5-prosessori.

Dell pöytätietokoneen prosessori on Intel Core i5-12500T ja Lenovo Thinkpad X1 -läppärin tarkka prosessorimalli on Intel Core i7-1165G7.

Yleiskatsaus

Intel Core i5-12500T on yleisesti nopeampi kuin Intel Core i7-1165G7, erityisesti moniydintehtävissä.

Yhden ytimen nopeudessa (Single-core): Intel Core i5-12500T on noin 20 % nopeampi. 

Moniydin suorituksessa (Multi-core) Intel Core i5-12500T on noin 40–43 % nopeampi, koska siinä on enemmän fyysisiä ytimiä. Jokaisella ytimellä on välimuistia 80 kilotavua, 1,25 megatavua L2-välimuistia ja 18 megatavua jaettua L3-tason välimuistia.

Tärkeimmät erot

Intel Core i5-12500T on pöytäkoneisiin suunniteltu energiatehokas malli. Intel tekee Core i5-12500T: n 10 nm: n tuotantolinjalla, transistorimäärää ei tiedetä. Se käyttää FC-LGA16A kantaa. Prosessorin kerroin on lukittu Core i5-12500T: llä, mikä rajoittaa sen ylikellotuspotentiaalia.

Intel Core i5-12500t

 

Ytimien määrä on 6 suoritusydintä. Energiatehokkaita E-ytimiä ei ole, mutta uudempi Alder Lake-S arkkitehtuuri. Valmistusprosessissa käytetty viivanleveys on 10 nanometriä. Hyper Threading mahdollistaa 12 säikeen rinnakkaisen suorituksen.

Virrankulutus (TDP) on 35 W perusasetuksella.

Intel Core i7-1165G7 on kannettavien tietokoneiden matalatehoinen malli. Siinä on 4 ydintä  ja se voi suorittaa rinnakkain 8 säiettä.

Intel Core i7-1165G7 mobiiliprosessori

 

i7-1165G7 prosessorin kanta on BGA 1449 ja se perustuu vanhaan Tiger Lake-U arkkitehtuuriin ja kannettavien prosessorien koodinimi on Willow Cove-U. 

Core i7-1165G7:ssä on 12 Mt L3-välimuistia ja se toimii oletusarvoisesti 2,8 GHz nopeudella, mutta voi kiihdyttää jopa 4,7 GHz: n työmäärästä riippuen. Intel rakensi Core i7-1165G7:n 10 nm:n tuotantoprosessilla ja sen transistorien määrä on tuntematon. Kerroin on lukittu Core i7-1165G7 mallissa 28:aan, mikä rajoittaa sen ylikellotusominaisuuksia.

Virrankulutus (TDP) on 15–28 wattia. Sisäinen näytönohjain Iris Xe-LP Graphics G7 96EU on graafisessa suorituskyvyssä vahvempi kuin i5-12500T:n perustason UHD Graphics 770. UHD-grafiikka dynaaminen taajuus on 1450MHz, kun läppärin grafiikkapiiri toimii 1.30 GHz taajuudella.

Olin vähän yllättynyt, koska yhden sukupolven arkkitehtuuriero ei kuulosta paljolta, mutta silti i5-sarjan prosessori on selkeästi vanhempaa i7-prosessoria nopeampi. Intuitiolla olisin vastannut läppärin olevan pöytäkonetta nopeampi.

Läppärillä en juurikaan koodaa, joten on tietysti parempi, että  pöytäkone on tehokkaampi. Läppärillä tulee blogattua ja muuten se toimii lähinnä surffilautana.

sunnuntaina, syyskuuta 27, 2026

Uusi pöytätietokone

Minulla on ollut päivittäisessä käytössäni Lenovo Thinkcentre M910q pikkutietokone. Se alkaa olla nykymittapuulla vaatimaton.

Olen opiskellut tekoälyn käyttöä ohjelmistokehityksessä. Se toimii hyvin, mutta asettaa paljon vaatimuksia käytetylle laitteistolle.

Voit toki tehdä ohjelmistokehitystä vaatimattomalla laitteella ja ostaa kapasiteettia toimittajan pilvestä, mutta se tulee helposti kalliiksi.

Silmiini tarttui  Dell Optiplex 7000 MFF pikkutietokone. Dell OptiPlex 7000 MFF (Micro Form Factor) on erittäin kompakti yritystietokone, joka on suunniteltu tiloihin, joissa tehokkuus ja pieni koko ovat tärkeässä roolissa.

Vanha ja uusi kone


Laite on BIOS-tietojen mukaan valmistettu 4 heinäkuuta 2022 ja otettu käyttää 4 elokuuta 2022.

Avasin laitteen ja halusin puhdistaa sen pölystä, mutta se oli moitteettomassa kunnossa. 

Siinä on Intel Core i5-12500T prosessori, jonka TDP-arvo on vain 35 wattia. Arkkitehtuuri on Alder Lake ja prosessorissa on 6 ydintä ja se voi suorittaa 12 säiettä samaan aikaan. Sen normaali taajuus on 2.0 gigahertsiä, mutta yksittäinen ydin voi Turbo-tilassa käydä jopa 4,4 gigahertsin nopeudella ja prosessorin tehonkulutus voi tällöin nousta hetkellisesti 74 wattiin.

Laite edestä


Laite takaa

Prosessori on julkaistu 2022 vuoden alussa ja on viisi vuotta uudempi kuin vanhassa koneessa ollut Intel Core i5-8400t prosessori. Vanha prosessori oli myös 6-ytiminen, mutta se pystyy ajamaan vain 6 säiettä samanaikaisesti.

Uusi  prosessori tukee rinnakkaista virtualisointia, Intel Virtualization Technology (VT-x), Intel Virtualization Technology for Directed I/O (VT-d) IO-laitteiden virtualistointia ja muisti-intensiivistä Intel VT-x with Extended Page Tables (EPT) kiihdytystä.

Uusi prosessori sisältää peräti 18 megatavua välimuistia. Siinä on sisäänrakennettu grafiikkasuoritin, Intel UHD Graphics 770. Koska en pelaa, en tarvitse tehokkaampaa grafiikkasuoritinta.

Koneessa oli yksi 8 gigatavun ddr4-muistikampa, mutta päivitin sen Lenovossa olleisiin 16 gigan muisteihin. Muistipaikkoja on kaksi. Muistien päällä on suojaava tarra, mutta niiden tiedot voi lukea ohjelmallisesti.

Muistien päivitys

Muistit ovat Samsungin (0x80CE—Samsung Electronics, Inc.) ddr4 SO-DIMM muisteja, joiden nopeus on 3200 MT/s. 

Handle 0x1102, DMI type 17, 92 bytes
Memory Device
        Array Handle: 0x1000
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 8 GB
        Form Factor: SODIMM
        Set: None
        Locator: DIMM1
        Bank Locator: Not Specified
        Type: DDR4
        Type Detail: Synchronous
        Speed: 3200 MT/s
        Manufacturer: 80CE000080CE
        Serial Number: 40C58080
        Asset Tag: 02210900
        Part Number: M471A1K43DB1-CWE              
        Rank: 1
        Configured Memory Speed: 3200 MT/s
        Minimum Voltage: Unknown
        Maximum Voltage: Unknown
        Configured Voltage: 1.2 V
        Memory Technology: DRAM
        Memory Operating Mode Capability: Volatile memory
        Firmware Version: Not Specified
        Module Manufacturer ID: Bank 1, Hex 0xCE
        Module Product ID: Unknown
        Memory Subsystem Controller Manufacturer ID: Unknown
        Memory Subsystem Controller Product ID: Unknown
        Non-Volatile Size: None
        Volatile Size: 8 GB
        Cache Size: None
        Logical Size: None

Koneessa oli 256 ggatavun SSD asema, jossa oli asennettuna puhdas Windows 11. Otin levyn pois ja vaihdoin tilalle 2 muuta laatikossani ollutta SSD-asemaa.

Sen verran kokeilin Windowsia, että annoin Dellin tukiohjelman tarkistaa, olisiko laitteen komponenttien firmware-versioihin ollut päivityksiä, mutta ohjelmiston mukaan kaikki olivat jo uusinta versiota. 

Laite avattuna


Käyttöjärjestelmä on asennettu ensimmäiselle SSD-asemalle. Se on  Union Memory PCle Gen3 x4 NVMe LENSE30256GMSP34MEAT3TA 256GB M.2 PCIe SSD, joka on Lenovon käyttämä peruslevy.

Koska laitteessa on paikat kahdelle nvme-asemalle, laitoin toiseen porttiin  Intel Solid State Drive 600p Series SSDPEKKF256G7L levyn, joka on M.2 PCIe Gen3 x4, NVMe levy. Sillä sijaitsee /home-osio. Käytän koneessa vain Ubuntu linuxia, jonka  versio on 26.04.

Kaksi NVMe asemaa ja WLAN-radio

 

Intel on näistä NVMe-asemista nopeampi, mutta molemmat ovat nykymittapuulla hyvin perustasoisia asemia.

Laitteen etupaneeli tarjoaa 1 x USB 3.2 Gen 2, 1 x USB-C 3.2 Gen 2x2, ja ääniliitännät. Koneen takana on lisäksi 4 x USB 3.2 Gen 2, 2 kpl DisplayPort-lähtöjä sekä gigabitin RJ45 ethernet. Sen malli on Intel Ethernet Connection (17) I219-LM.

Ainoa ongelma tähän mennessä on laitteen BIOS, joka ei pidä hiirestä. BIOS on graafinen, jotehn siinä ei voi navigoida näppäimillä, mutta jos liikutan hiirtä se "painelee" hiiren näppäintä ja muuttaa asetuksia, joita en halua muuttaa.

Dellin graafinen BIOS


Kun kone käynnistyy, hiiri toimii normaalisti. Ongelma vaivaa vain BIOSta. 

Voin ilokseni kertoa, että Ubuntu toimii ongelmitta ja Dell onkin sertifioinut Ubuntun heidän laitteilleen.

 

Ubuntu 26.04 toimii 


Dellin tukisivustolla on myös ohjeet Ubuntun asentamisesta.

maanantaina, lokakuuta 20, 2025

Video Chess Vic-20:lle

Aleksi Eeben on portannut Video Chess -pelin Atari 2600 puretusta (disassembly) versiosta Commodore kotimikroille. Porttaus eli siirros on tehty sekä Commodore 64:lle että Vic-20:lle.

Video Chess on Atarin marraskuussa 1979 Atari VCS / 2600 -konsolille julkaisema shakkipeli, jonka ohjelmoijat olivat Larry Wagner ja Bob Whitehead.

Pelin web-sivu löytyy täältä

https://sites.google.com/view/vic20videochess

Porttauksista Vic-20 -versio on lähempänä alkuperäistä Ataria.  

Pelin voi ladata ilmaiseksi, mutta Aleksi ottaa vastaan myös rahalahjoituksia ohjelmointityön jatkumiseksi.