Posts filed under 'softat'

Spämmifiltterin suunnittelua

En tiedä, mitä olen tehnyt väärin, mutta Facebook-feedini on viime aikoina ollut aivan täynnä bottien kaapatuilta tai valetileiltä postittamaa roskaa. Ensin tuli sadoittain Jennifer Anistonia ja Sandra Bullockia, sitten feikki-intiaania ja nyt viime aikoina aivan loputtomasti lammikossa jäkittäviä, tekoälyn luomia lapsi- ja koiraparkoja sekä hurskaita, kuulemma kauniita lentoemäntiä. Seassa silloin tällöin jotain oikeaakin sisältöä, mutta tuskaisen vähän. Suuri virheeni on varmaan ollut skeidan raportointi, jonka algoritmi on tulkinnut mielenkiinnoksi aihetta kohtaan.

Plessetään nyt sitä peukkua, niin saa terminaattoriressukka korjaamolta paremmat jalat.

En ole ihan tarkalleen edes perillä siitä, mitä näillä kaikilla feikeillä haetaan. Veikkaisin, että pornon mainostusta, tilien kaappaamista, hyväuskoisten rahojen kuppaamista ja muuta sellaista pyyteetöntä. Internetissä eläneelle spämmi ja khalastelu ovat tuttu ja arkipäiväinen juttu, mutta mitä en ymmärrä on Facebookin täysi toimettomuus ongelman suhteen. Itse olen pariinkin kertaan joutunut jäähylle ihan normaaleista postauksista, mutta spämmin raportoiminen ei tunnu johtavan yhtään mihinkään. Jos vaivautuisivat filtteröimään edes kaiken roskan, jossa on sanat “beautiful cabin crew” ja #scarlettjohansson, niin kökön määrä putoaisi murto-osaan. Näin ei kuitenkaan tapahdu, joten ainoa selitys on, että Fese haluaa tuota jöötiä palveluunsa. Dollarit on epäilemättä laskettu.

Beautiful cabin crew ja joku näistä varmaankin on Scarlett Johansson. Veikkaisin, että tuossa oikealla.

Koodarina rupesin miettimään käytännöllistä algoritmia, joka nappaisi automaattisesti suurimman osan roskasisällöstä. Optimoitavia ominaisuuksia ovat ainakin toteutuksen helppous, laskennallinen keveys, pieni muistinkäyttö, osumatarkkuus ja skaalautuvuus, sillä onhan käsiteltävä datamäärä valtava. Hetken pähkäilyn jälkeen välähti ja keksin lupaavan ratkaisun, jonka eri vaiheet näyttävät tältä:

  1. Merkitse kaikki uudet postaukset spämmiksi ja poista ne

Osumatarkkuus tulee olemaan helposti ainakin 99 %, mitä parempaan tuskin pystyvät sen enempää neuroverkot kuin tilastolliset menetelmätkään. Pienenä puutteena hivenen oikeaakin sisältöä saattaa mennä mukana, mutta se vaarahan on joka tapauksessa olemassa. Toteutus on lisäksi erittäin helppo, vaaditun laskentatehon sekä muistinkulutuksen suhteen kevyt ja – mikä parasta – skaalautuu täysin lineaarisesti annetun syötteen mukana O(n). Keksikääpä itse parempi!

Add comment April 26th, 2024

Linuxissa skannausta

Monta vuotta pyristelin vastaan, mutta nyt kun skannaustarpeita tuntui ilmenevän entistä enemmän, niin päädyin hankkimaan talouteen taas tasoskannerin. Taannoin olen yhden tai ehkä kaksikin omistanut, mutta ne olivat kadonneet ajan virtaan vanhanaikaisina ja liian suurina. Clasulta lähti 79 eurolla Canon CanoScan LiDE 300 – eipä nämä enää paljon maksa uusina. Linux-tukea piti olla ainakin räpläämällä saatavissa (ja on nämä ennenkin toimimaan saatu), joten liikkeelle kohtuullisen toiveikkain mielin.

Skanneri on: skanneri.

Riittävän vanhat skannerit tunnistuisivat todennäköisesti jo itsekin, mutta tämä valitettavasti ei. Sane pitää olla asennettuna ja näemmä myös hivenen epäilyttävä Canonin oma ajuri. Eipä tuntunut niilläkään lähtevän, vaan skannerisoftat antoivat periksi heti kättelyssä. Jotain toivoa antoi sentään sudon avulla toimiminen. Lisäsin itseni scanner-ryhmään ja varmuuden vuoksi vielä lp:hen, sillä laitetiedoston oikeudet olivat sillä ryhmällä, minkä jälkeen buutti ja johan soi!

Takavuosina skannailin Xsanella, jolla on mukavan suora yhteys Gimpiin. Muutaman sivun näpläämiseen se varmasti soveltuukin, mutta nyt oli tarkoitus tykitellä kokonainen kirja. Käyttöliittymäkin on jo hieman karski nykykatsannossa. Paremmaksi vaihtoehdoksi liukuhihnatyöhön osoittautui Simple Scan, joka osaa tallentaa kuvat yksittäin tai haluttaessa suoraan koota niistä jopa pdf:n. Ilman säätöjä pdf:stä ei tullut ihan haluttu, joten ajoin jpegit ImageMagickin läpi hieman pienentäen ja kontrastia lisäten. Meisikillä pitäisi onnistua myös pdf:n teko, mutta img2pdf teki saman ilman isompia kikkailuja. Kaupan päälle vielä paketinhallinnasta ocrmypdf ja katso: haku toimii ja tekstiä voi kopioida.

Tämä riittää ainakin toistaiseksi. Osa toiminnoista lienee käytössä vain Windowsin puolella – ainakaan paneelin turhahkot pikanapit eivät tunnu tekevän juuri mitään. Joitakin hienouksia voi myös jäädä pimentoon, mutta tarpeeni eivät ole kovin monimutkaiset ja ahkera skriptaaminen paikkaa puutteita. Hivenen kummallisesti oletuksena lopputulos on ylösalaisin(!), minkä Simple Scan onneksi korjaa parilla klikkauksella. Tämä ei liene sinänsä Linuxin syy, vaan skannaussuunnan, joka kulkee hieman epäintuitiivisesti laitteen etureunasta taaksepäin.

Add comment April 2nd, 2024

Zoom 5.17.5 Crash on Linux

Today I had to update the Zoom client on Linux to 5.17.5 because someone had started a video call with a newer version than what I had. Usually this has caused only irritation, but this time the program just kept freezing, eating memory and finally crashing with a segfault in libQt5Core. I had just updated to newer Nvidia drivers too, but reverting to the old version didn’t help. On another machine with an integrated Intel GPU there were no issues, which pointed the finger at Nvidia as well. Things started looking gloomy, as reinstalling Zoom was of no use and reverting to an older version would not let me join most calls. There is the Web version, sure, but no thanks.

Initial googling around turned up only old problems with useless solutions, but after finding this things took an upward turn. Apparently the crash has to do with downloaded emojis (that haven’t worked anyway), because Zoom tries to load them over and over, leading to a massive memory leak and then segfault. Luckily the temporary solution is easy – delete the .zoom directory in your home directory:

rm -r ~/.zoom

Och samma på finska. Tuorein Zoom (5.17.5) jäi ensin jumiin, söi muistin loppuun ja sitten kaatui. Olin juuri päivittänyt tuoreempiin Nvidian ajureihin, jotka vaikuttivat ensin syypäältä, mutta vanhojen palautus ei auttanut eikä myöskään Zoomin uudelleenasennus tyhjästä. Täältä löytyi onneksi lopulta vinkki ja jonkinlainen selitys ongelmaan: jostain syystä asiakas jää lataamaan loputtomasti ylimääräisiä emojeja, jos sellaisia koneelle on asentanut. Väliaikaisratkaisuna voi poistaa kotihakemistosta hakemiston .zoom ja johan soi:

rm -r ~/.zoom

Add comment February 6th, 2024

Accepting SteamCMD license afterwards

This one was tricky. I mistakenly declined the SteamCMD license when installing it using apt, and then it decided that I’m a hostile person who doesn’t ever want to install it. The debconf key in question is steam/question and its value should be “I ACCEPT” instead of “I DECLINE”. Directly modifying /var/cache/debconf/config.dat seemed promising, but the wrong value reappered when trying to install again. Finally a script did the trick (run as root at your own risk):

#!/bin/sh
set -e

. /usr/share/debconf/confmodule

db_set steam/question "I AGREE"
db_go

Add comment November 4th, 2023

MemTestin ja kernelin yhteispeli

Eräässä projektipöntössä ilmeni 2×8 gigan DDR3-kalikoilla MemTest86:lla satunnaista yhden (1) bitin virhettä tietyssä kiinteässä osoitteessa. Yhtäältä en oikein viitsisi tuollaisen takia ostaa uusia, mutta toisaalta ei tilannetta voi jättää sikseenkään, koska sen yhden bitin muuttuminen voi olla liikaa sopivassa tilanteessa. MemTest kertoo auliisti, että osoite on 4191A9978, mutta mitäs tällä tiedolla sitten tehdään?

Linuxin kernelille on mahdollista kertoa käynnistyksessä, että tiettyjä alueita ei käytetä. Tämän pystyy tekemään joko GRUB_BADRAM-asetuksella tai sitten suoraan kernelin parametrilla memmap. Netistä löytyy vanhoja ohjeita 32-bittisille ytimille, mutta tänä päivänä 64 bittiä on arkipäivää, joten vinkit eivät välttämättä päde sinältään. Tekee säädön kumpaa kautta hyvänsä, täytyy kertoa mikä alue ohitetaan, joko maskilla tai sitten tavumäärä. Koska peeseellä muistisivu on 4096 tavua, seuraava säätö /etc/default/grub-tiedostoon tuottaa halutun tuloksen:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash memmap=4K\\\$0x00000004191a9000"

Alkuun lisätään heksaluvun tunnus 0x ja seitsemän nollaa, jotta saadaan oikea 64-bittinen (16 numeroa) osoite, minkä lisäksi kolme alinta numeroa nollataan, jotta saadaan sivun osoite. Vielä pitää ajaa sudo update-grub sekä buutata kone, minkä jälkeen alue 4191A9000–4191A9FFF ei ole enää käytössä, ja ongelmainen muistiosoite suljetaan tylysti pois karkeloista. Neljän kilotavun haaskaaminen ei nykykoneilla merkitse mitään, etenkin kun toisessa vaakakupissa on vakaasti toimiva kone. Dmesg-komennon tulostus varmistaa säädön menneen perille:

[    0.000000] user: [mem 0x00000004191a9000-0x00000004191a9fff] reserved

Tällaiselle kikkailulle voi tulla tarvetta etenkin, jos kyseessä on emolle kiinteästi juotettu tai erityisen harvinainen/kallis muisti. Jos muistivirheet tulevat satunnaisista osoitteista tai niitä on tolkuttoman paljon, niin peli on toki menetetty.


MemTest errors and Linux command line

And a short summary in English. If there’s an isolate memory issue revealed by MemTest86, it might still be possible to use the memory modules with the help of Linux kernel’s memmap setting – also GRUB_BADRAM does the same, but uses a slightly different format. This might be particularly useful with integrated or rare/expensive RAM. In this example the unstable bit was found at address 4191A9978. Do not follow old instructions meant for 32-bit kernels, but put this in /etc/default/grub instead:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash memmap=4K\\\$0x00000004191a9000"

0x (i.e. hex) at the beginning, then seven zeroes to make it 64-bit (16 numbers) and finally the address with the lowest three numbers zeroed. This is because the page size is 4096 bytes on today’s PCs. Then run sudo update-grub and reboot, after which the offending address will not be used by the kernel. To make sure that is the case, check that dmesg agrees:

[    0.000000] user: [mem 0x00000004191a9000-0x00000004191a9fff] reserved

Losing 4 kilobytes of memory isn’t really any concern today, especially if you get a stable system back that way. If there’s a lot of errors or they appear at random locations, then there’s of course little you can do.

Add comment October 17th, 2023

Mitäs nyt, HandBrake?

Asensin viikonloppuna vanhahkoa HP Elite 8200 USDT -pikkupurkkia Mintille (21.2) ja kaikki menikin ihan mukavasti siihen saakka, kunnes yritin ripata DVD:tä paketinhallinnasta tulleella HandBrake 1.5.1:llä. Sitten ilmeni, että tekstitysten ajastukset menevät päin honkia. Tämä ei ollut ihan ensimmäinen kerta, kun tällaista tapahtuu, sillä joku takavuosien mätä versio teki suunnilleen samaa. Valitettavasti rippaus tulee olemaan kyseisen HooPeen yksi tärkeimpiä käyttökohteita, joten asiaa ei voinut ohittaa pelkällä olankohautuksella.

Omassa isossa pöntössäni on vielä onnekkaasti Mint 20.3, jonka mukana tulee erinomaisesti toimiva HandBrake 1.3.1. Ilmeisesti subit ovat hajonneet hyvin pian sen jälkeen, kiitos jonkun sählingin. Flatpakista pitäisi tulla tuoreen virallisen version (1.6.1), joten kokeiluun sekin. Tällä kertaa ei näkynyt edes optinen asema, ja foorumeilta löytyi selittelyä siitä, kuinka HandBrake ei edes ole mikään DVD-ripperi, vaan levyn lukemiseen pitäisi käyttää ulkoista ohjelmaa, kuten MakeMKV. Mukana ei myöskään tullut DVD:n dekryptaamiseen vaadittua kirjastoa. Lisää asenteellista mussutusta foorumeilta löytyi aiheesta “distrojen libit on rikki ideologisista syistä, ei oo meidän vika”. En toki ole tilanteesta kovin hyvin kartalla, mutta käytännön lopputulos on joka tapauksessa se, että oletuksena HandBrake kusee Linux-käyttäjän kintuille.

No ehkäpä sitten PPA apuun? Niiden kauttahan saa usein kaikenlaista uudempaa ja korjattua versiota softista. Ensimmäinen löytynyt kandidaatti oli rikki eikä edes asentunut – rupesi myös näyttämään siltä, että se sotkee kohta jotain järjestelmästä, joten lopetin. Seuraavaksi löytynyt 1.6.1 asentui nätisti, luki levyjäkin ja … pilasi subit. Mihinkään itse kääntelyyn ym. rumbaan en halunnut ruveta, joten lopulta vedin koneen sileäksi ja asensin hyväksi havaitun Mint 20.3:n, jonka myötä asiat taas lähtivät rullaamaan. Pahoin pelkään, ettei tämä ongelma tule ratkeamaan kovin äkkiä tai helposti, jos HandBrake-tiimi on siilipuolustuksessa eikä distrojen tekijöitäkään asia tarpeeksi kiinnosta.

Add comment October 2nd, 2023

Chromium and Google search

There are some ideological reasons as to why the default Chromium setup doesn’t include Google as one of the default search engines. Whatever the case, it’s also true that many people would like to use it nevertheless. This is more of a note to myself so that I find the magic spell when I need it again. SettingsSearch engineManage search engines and site search – Site search – Add and then Google, google.com and the mystical blurb:

{google:baseURL}search?q=%s&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:iOSSearchLanguage}{google:searchClient}{google:sourceId}{google:contextualSearchVersion}ie={inputEncoding}

After this you can make it default by clicking the three dots on the right. Can’t really tell if this is the optimal search string, but it seems to work well. Goodbye to that Yahoo mess.

Add comment October 2nd, 2023

Sound Blaster Z, Linux and sleep (again)

In an earlier post things first looked up and then down, after which I nearly gave up. It turned out that the SBZ simply didn’t want to wake up and at times even completely disappeared from the ALSA card list. I tried kicking it off the PCI bus and rescanning, but that wasn’t much better. At that point I pulled the card from the machine and put it in a plastic bag where other retired PCI(e) cards rot, very likely forever. But… how about removing the card before sleep and then rescanning the bus after wakeup? Let’s create the following script and place it in /lib/systemd/system-sleep:

#!/bin/sh

case "$1" in
    pre)
	echo 1 > /sys/bus/pci/devices/0000\:05\:00.0/remove
	sleep 1
        ;;
    post)
	echo 1 > /sys/bus/pci/rescan
        ;;
esac

Make it executable too: chmod +x soundblaster or whatever name you used. The numbers above on line 5 will probably be wrong for your system, so find out the actual address of your SBZ with lspci. This whole ordeal looks like a dramatic thing to do, but it seems to be the only possibility to get sleep to work – contact me if you know better. After more than ten sleep/wakeup cycles I still didn’t lose sound, so the kludge just might work. If not, I’ll edit the post below (and lose my cool).

Well, of course that wasn’t quite all of it yet. It turns out that when the card reappears after the PCI bus scan, ALSA will happily have forgot all the previous settings done with Alsamixer. The defaults sound pretty awful and the headphones aren’t detected automatically, so what’s next? Luckily this one seems to be easy: configure the card as you see fit using Alsamixer (if you have a small window, note there’s a lot more settings to the right) and then run sudo alsactl store. This is for every user, which is not optimal, but as I’m not sure whether ALSA will load personal settings after wakeup at all, it’ll have to do for now.

Add comment September 27th, 2023

Mac Mini vs. Mint 21.2

Jo korkeaan virkaikään päässyt vuosimallin 2012 Mac Mini Server tuli lopulta siihen valitettavaan tilanteeseen, että Apple lopetti sen käyttistuen. Viimeisin konetta tukenut versio on Catalina (10.15), jota ei ole päivitetty enää yli vuoteen. Mitään kiirettä Ministä ei olisi vielä ollut eroon, sillä se palveli edelleen arjessa kiitettävästi – lisävuosia on tuonut epäilemättä se, että kyseessä on i7-malli, levynä kelpo SSD ja muistikin päivitetty tappiinsa 16 gigaan. Edelleen siis monenlaiseen käyttökelpoinen masiina, joten mitäs tälle keksitään? Purkkaratkaisuilla ineen saisi uudemmankin macOS:n, mutta toki sieltä täältä rampautettuna versiona. Annetaanpa siis Mintille taas mahdollisuus näyttää kyntensä.

Onpas tämä pysynyt siistinä.

Varmuuskopiohengessä napin talteen vanhan SSD:n ja vaihdoin tilalle uuden puoliteraisen Kingston A400:n. Samalla tarjoutui tilaisuus pöhäyttää sisältä pölyjä pois. Aukominen ei ole aivan hirveä homma, mutta jemmassa on syytä olla setti pieniä torx- ja kuusiokoloavaimia, eikä kaapelinrimpuloiden kanssa saa hätäillä. Koppuloinnin jälkeen kirjoittelin Mint 21.2:sta buuttaavan muistitikun ja ei kun käyttistä asentamaan. Tai sitten ei: Mint ei suostunut buuttaamaan tikulta alkua pidemmälle. Ehkä kyseessä oli joku ongelma huonon pulikan kanssa, mutta en jaksanut ruveta toistamaan virheitäni, joten poltin mieluummin installerin DVD:lle. Ulkoiselta optiselta asemalta tulokset ovat yleensä olleet parempia, eikä tälläkään erää toisin.

Näin kertoilee meille sudo inxi -Fm.

Tästä eteenpäin kaikki olikin yhtä leikintekoa. Mistään ei oikeastaan edes huomannut, että alla oli jotain muuta kuin normi-PC. Ainoa potentiaalinen kompastuskivi oli langattoman verkon vaatima firmispaketti, mutta koska asennuspöydällä oli käytössä myös kaapeli, niin ongelmista selvittiin helposti. Aika tyypillisenä, muillakin koneilla nähtynä kauneusvirheenä installeri ei saanut lopuksi käynnistettyä konetta omin voimin uudestaan. Virtanapin avulla matka jatkui ja ensimmäinen buutti muuttui todellisuudeksi.

Sitten vielä normaali mirrorien valinta ja ohjelmistopäivitys, minkä jälkeen perusta oli kasassa. Nykyään Mint asentaa ilman eri pyytämistä esimerkiksi kiihdytettyyn videonpurkuun tarvittavan VA-API:n automaattisesti, joten suurta teknistä tietämystä ei tosiaan tarvita. Firmiksen tuuletinkontrolli päästää koneen tunnetusti turhankin kuumaksi, joten macfanctld on hyvä lisä, vaikka melutaso hivenen nouseekin. Kokeillut ohjelmat, kuten Gimp, Chromium ja VLC, kieppuivat kaikki hyvää vauhtia koneen iästä huolimatta. Näyttiksen virkaa hoitaa HD4000, joten ainakin emulaattoreita ja kevyitä pelejä voisi kohtuudella ajaa – ei tästä toki mitään varsinaista pelikonetta saa. Kaiken kaikkiaan silti mukava kokemus ja sopivassa käyttökohteessa Minille sai näin reippaasti lisävuosia ihan tuetun käyttiksen kera.

Add comment August 29th, 2023

Nvidia+Cinnamon flicker woes

It used to be a pretty smooth ride with an Nvidia+Mint combination until recently. Unfortunately, things have gone downhill, partially owing to Cinnamon bugs, not to talk about Nvidia’s endless Linux driver woes. The last I checked, the MATE environment didn’t even start with the default settings, so there seems to be something lacking with Mint’s testing on NV hardware. I’ve had flicker problems before on an RTX 2080, but the recent update to an RTX 4060 Ti and 535 series drivers made them noticeably worse – even cards that used to be fine have started exhibiting the symptoms:

Click for an epilepsy-inducing illustration.

The problem is known and may be fixed eventually, but for now you’re left to your own devices. Downgrading to 525 series is one viable option, but of course it shouldn’t even be necessary. Besides, I experienced similar, if not as bad, flicker with them too. As a quick remedy open NVIDIA X Server Settings, navigate to X Server Display Configuration and switch to advanced mode. There tick the Force Composition Pipeline box and apply the settings:

Down there.

If you prefer the command line or want to make a script for toggling the setting on/off, here’s how:

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceCompositionPipeline=On }"

Note that these settings don’t retain themselves unless you save them to the X config file or add them to your startup scripts. Sleep will disable the composition pipeline too. In an optimal world this kind of kludges would be unnecessary, but this is the reality now. Double composition (Cinnamon+Nvidia) might slow things down, but I didn’t notice any actual difference at least yet – games might be affected more. Nvidia’s setting might cap your framerates to the screen refresh rate too, even when running fullscreen. Let’s see how the situation develops.


Ja suomeksi: viime vuosina Mintin ja Nvidian näyttiksen kanssa eläminen ei ole valitettavasti ole ollut enää yhtä huoletonta kuin ennen. Intelin integroidulla ei ongelmia pahemmin ilmene, mutta Nvidialla esiintyy nykyään kaikenlaisia kummallisia vilkutuksia ja välkytyksiä riippuen ajuriversiosta ja alla olevasta raudasta. 535-sarjan myötä ongelma paheni selvästi, mikä lienee taas kerran joku Cinnamonin, X:n ja ajurien entistä huonomman yhteispelin tulos. Yllä ohjeita enkuksi vipatuksen korjaamista varten. Kaksinkertainen kompositointi (Cinnamon+Nvidia) tuskin ruudunpiirtoa nopeuttaa, mutta en mitään sanottavaa eroa kyllä itse huomannut käytännössä.

Add comment July 23rd, 2023

Previous Posts


Kommenttien virta

Aiheet