Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Viestit - ilkant

Sivuja: [1] 2 3 ... 78
1
FaceBookissa oli python-koodi Ghost Eye. Se olisi tarvinnut pipillä asennettavaa pakettia csfstrafe. Tässä on vähän tietoa siitä paketista: How to Use cfscrape.

Kuinka tietoturvallisia ovat nuo pipillä asennettavat paketit? Onko niissä turvallisuuskontrollia kuten kännykkäsovellusohjelmalähteissä? Niidenkin sekaan on kyllä saatu ujutettua haittaohjelmia.

2
Huomasin, että KDE Framework 6.16.0 päivityksessä on tullut python-esimerkkejä erinäisistä asioita.

Koodia: [Valitse]
Merkittävä kohokohta KCoreAddonsissa ja KGuiAddonsissa on parannettu Python-tuki. Python-esimerkkejä on lisätty tärkeimmille apuohjelmille, kuten päivämäärän validointi ja kuvakkeiden hallinta.

Tarkoittaako tämä, että tietokoneenkäyttäjä voi rakennella itse lisiä KDE:hen? Vai käyttääkö KDE noita koodinpätkiä tulkattuna (python on tulkattu kieli)?

Tarkoittaakohan tällainen sitä, että pikkuhiljaa KDE siirtyy C++:sta Pythoniin?  :)

Kaksi esimerkkiä:

kaboutdata ja kformat.

3
Nyt kokeilin tekoälyä graafin piirtämiseksi painokäyrästä, verenpaineista. Dataa on vuodelta 2017 asti kohtalaisen paljon melkein joka päivältä. Kopioin tietoja käsin kolmesta eri taulukosta. Ehkä tekoäly olisi osannut tehdä senkin kun sanoo, minkäniminen sarake pitää sijoittaa mihinkin. Ja ehkä se olisi osannut tarkistaa päiväykset, jotta tulee kronologiseen järjestykseen. Tein sen kuitenkin käsin.

Sitten huomasin siitä tehdyssä CSV-tiedostossa, että desimaalipilkut sotkevat pythonin Pandas lukemista. Tekoälyä kehiin formatointiohjelmaan. Ja kas kummaa, sepä osasi vaihtaa desimaalipilkut desimaalipisteiksi keskeltä riviä ja vain halutuista sarakkeista. Melkein tunsi itsensä fiksuksi kun osasi kertoa tuon Grokille.

Mutta sitten sain sen piirtämään graafin. Ja siitäpä nauru repesi. Painokäyrä tuli tähdenmuotoiseksi sakaroineen. Nyt juon kahvit ja jatkan sitten korjaamista.

4
Hakemistossa /etc/apt/sources.list.d/ on tiedostot

Koodia: [Valitse]
tc/apt/sources.list.d$ ls -l
yhteensä 48
-rw-r--r-- 1 root root 9623 kesä    1 02:08 graphics-drivers-ubuntu-ppa-kinetic.sources
-rw-r--r-- 1 root root 1808 kesä    1 02:08 kdenlive-ubuntu-kdenlive-stable-hirsute.sources
-rw-r--r-- 1 root root 1650 kesä    1 02:08 kubuntu-ppa-ubuntu-backports-impish.sources
-rw-r--r-- 1 root root 1659 kesä    1 02:08 kubuntu-ppa-ubuntu-backports-kinetic.sources
-rw-r--r-- 1 root root 1826 kesä    1 02:08 kubuntu-ppa-ubuntu-backports-oracular.sources
-rw-r--r-- 1 root root 1812 kesä    1 02:08 kubuntu-ppa-ubuntu-backports-plucky.sources
-rw-r--r-- 1 root root 1820 kesä    1 02:08 kubuntu-ppa-ubuntu-ppa-oracular.sources
-rw-r--r-- 1 root root  727 kesä    1 02:08 mutlaqja-ubuntu-ppa-jammy.sources
-rw-r--r-- 1 root root  107 kesä    1 02:08 teams.sources
-rw-r--r-- 1 root root  389 kesä    1 02:08 ubuntu.sources

Ovatko nuo jammy, oracular, kinetic, impish ja hirsute merkityksettömiä ja voiko ne poistaa? Nyt on käytössä plucky. Tulisiko siellä olls kubuntu repository kun on ubuntukin?

Jotain noille vanhoillekin on tehty kun niitä on päivitetty viimeiksi 1.6.2025.

5
Hankukoneen tekoäly muotoili noiden prosessorien erot näin:

Ryzen 5 4500U suoriutuu yleisesti ottaen Ryzen 3 4300G:tä paremmin, erityisesti monisäikeisessä suorituskyvyssä, vaikka 4300G onkin pöytätietokoneille tarkoitettu APU, kun taas 4500U on mobiilisuoritin, jonka TDP on alhaisempi. Ryzen 5 4500U on uudempi ja noin 46 % nopeampi monisäikeisessä (CPU Mark) testissä ja noin 5 % nopeampi yksisäikeisessä testissä verrattuna Ryzen 3 4300U:hon (joka on eri mobiilisuoritin, mutta vertailu on hyödyllinen suhteellisen suorituskyvyn ymmärtämiseksi). Vaikka 4300G on pöytätietokoneille tarkoitettu prosessori (65 W TDP), joka on suunniteltu AM4-kantalle, 4500U on mobiilisuoritin (15 W TDP), jonka virrankulutus on alhaisempi.

Tuo 46 % nopeampi ei taida tuntua käytännössä järin paljon nopeammalta. Vasta satojen prosenttien ero tuntuu. Kokemusten mukaan keskusmuistin määrällä on selvää vaikutusta ainakin Windowsilla sulavaan käyttöön kun lisää 8 GB -> 16 GB.

6
Kokeilin Grokia tehtävään: Hae LibreOffice-taulukosta rivien 2-200 ensimmäisien sarakkeiden arvot. Niille piti sitten tehdä jotain. Grok sai aikaan toimivan ohjelman, mutta se teki kummallista. Löysi taulukosta arvoja, joita ei siellä ollut. Lopulta tajusin, että se hakee niitä ihan muusta taulukosta, kuin siitä, mikä on avattu käyttöön. Ilmeisesti tuo tapa ottaa kaikki ODF-taulukot käyttöön muistakin hakemistoista? Ja jopa tekstinkäsittelyasiakirjat? Eli meni ainakin tunti hukkaan kun setvin asiaa.  :D Nyt turvaudun kirjaan Beyond the basic stuff with python. Vielä tarvitaan ihmisen älyä koodaukseen. Tuossa Grokin koodissa saattaa olla pari riviä testauksiani, mutta tällaista se antoi:

Koodia: [Valitse]
from odf import opendocument, table
from odf.table import Table, TableRow, TableCell
from odf.text import P

tiedosto = 'taulukko.ods'                                                                 # Avaa LibreOffice-taulukko
dok = opendocument.load(tiedosto)
arvot = []                                                                                         # Lista arvojen tallentamiseen

print("For-silmukkaan mennään")
for taulukko in dok.spreadsheet.getElementsByType(Table):       # Käy läpi taulukot
    rivit = taulukko.getElementsByType(TableRow)
    for rivi in rivit[2:200]:                                                                  # Rajoita 200 ensimmäiseen riviin
        solut = rivi.getElementsByType(TableCell)

        if solut[0] != None:  # Varmista, että rivillä on soluja
            # Hae solun tekstisisältö
            teksti = solu.getElementsByType(P)
            if teksti:
               arvo = str(teksti[0])
            else:
               # Jos solussa ei ole tekstielementtiä, hae arvo suoraan
               arvo = str(solu)
            arvot.append(arvo)

7
Olen asennellut aiemmin koneelleni Julia-ohjelmointikielen tulkin hakemistoon /opt. Uusin versio siitä oli 1.9. Koko Juliaan tutustuin erään matemaattisen ihmisen esimerkeillä. Julialla pystyi koodaamaan yksinkertaisia matemaattisia lausekkeita paljon helpommin ja pienemmällä koodimäärällä kuin Pythonilla. Siis lakennallista matematiikkaa. Likiarvojen laskemista yms.

Nyt sitten menin pitkästä aikaa Julian kotisivulle. Siellä oli neuvo asennukseen:

Koodia: [Valitse]
$ curl -fsSL https://install.julialang.org | sh

Asennus meni virheilmoituksitta. Sitten menin poistamaan tuon version 1.9 sudo rm -rf:llä /opt hakemistosta. Ja myös symbolisen linkin /usr/local/bin -hakemistosta. Tämä uusi versio löytyikin kohtihakemistoni alihakemistosta .~/.juliaup/ . Ohjelman versio näkyy olevan 1.11.5.

Vähän ihmettelen tätä asennusten tekemistä minne sattuu. Sellaista on muissakin ohjelmissa. Ilmeisesti kehitystiimit toimivat omana yksikkönä vailla kytkentöjä muihin kehittäjäyhteisöihin. Teen symbolisen linkin /usr/local/bin -hakemistoon ja jos se ei toimi, palaan asiaan.

8
Löytyi tietoa, että KDE Spectacle voi kaapata kuvaruutuvideon Wayland-ympäristössä. Joten tuo aiempi koodi jää nyt vain koodausharjoitukseksi.  :)

9
Grokkiin voi lähettää koodin suoraan tutkittavaksi.

Kiitos tuosta Grok-linkistä. Uusi tuttavuus minulle. Se antoikin heti kaksi korjausehdotusta.

Muistan KDE:n kehitysjutuista, että Spectaclessakin on ainkin yritetty saada aikaan myös videointimahdollisuutta. En ole sitä ohjelmaa tutkinut, onko sellainen jo olemassa. Tässä on tullut kokeiltua erinäisiä python-koodinpätkiä eri asioista ja opittukin jotain pientä.

Olin 2000-luvun alukupuolella tekemisissä Java J2EE:n kanssa pintapuolisesti. Nyt kun etsiskelin tietoa, onko niitä olemassa Python-maailmassa, törmäsin Enterprise Edition 5:een. Java on siis kehittynyt ilmeisesti kolme major-luokan versionpäivitystä Enternprise Editionissa. Alkaa nuo asiat olla niin pitkälle kehittyneitä, että kun ei ole pakkoa oppia niitä enää, niin jää harrastustasolle.

10
Löysin FaceBookista python-koodin kuvaruudun videokaappaukselle. Asenin pipillä vaaditut paketit. Ja asensin Gnomen kuvaruudunkaappausohjelman. Ohjelman suorittaminen ilmoitti bugin. Ja tämä bugi tulee Genomen kuvaruudunkaappausohjelmasta? Ajoin ohjelman Kubuntu 25.04:ssä Waylandilla.  Taitaa jäädä epäonnistuneeksi kokeiluksi tuo sinänsä niin kätevä ja lyhyt ohjelma. Onko *"XVID" Windows-ympäristöön sopiva parametri cv2.VideoWriter_fourcc -funktiolle?

Koodia: [Valitse]
$ python screen_recorder.py
OpenCV: FFMPEG: tag 0x44495658/'XVID' is not supported with codec id 12 and format 'mp4 / MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x7634706d/'mp4v'
Recording... Press 'q' to stop.
Traceback (most recent call last):
  File "/mnt/sda1/Python/screen_recorder.py", line 19, in <module>
    screen = pyautogui.screenshot()
  File "/home/ilpo/.local/lib/python3.13/site-packages/pyscreeze/__init__.py", line 628, in _screenshot_linux
    raise Exception(
        'To take screenshots, you must install Pillow version 9.2.0 or greater and gnome-screenshot by running `sudo apt install gnome-screenshot`'  # noqa
    )
Exception: To take screenshots, you must install Pillow version 9.2.0 or greater and gnome-screenshot by running `sudo apt install gnome-screenshot`
$ sudo apt install gnome_screenshot
Error: Pakettia gnome_screenshot ei löydy   
$ sudo apt install gnome-screenshot
Installing:                                 
  gnome-screenshot

Installing dependencies:
  libhandy-1-0

Summary:
  Upgrading: 0, Installing: 2, Removing: 0, Not Upgrading: 12
  Download size: 432 kB
  Space needed: 1 957 kB / 374 GB available

Continue? [K/e]
Nouda:1 http://fi.archive.ubuntu.com/ubuntu plucky/main amd64 libhandy-1-0 amd64 1.8.3-2 [251 kB]
Nouda:2 http://fi.archive.ubuntu.com/ubuntu plucky/universe amd64 gnome-screenshot amd64 41.0-3 [182 kB]

$ python screen_recorder.py
OpenCV: FFMPEG: tag 0x44495658/'XVID' is not supported with codec id 12 and format 'mp4 / MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x7634706d/'mp4v'
Recording... Press 'q' to stop.
** Message: 18:57:54.329: Unable to use GNOME Shell's builtin screenshot interface, resorting to fallback X11.

(gnome-screenshot:14836): Gdk-CRITICAL **: 18:57:54.329: gdk_pixbuf_get_from_surface: assertion 'width > 0 && height > 0' failed

(gnome-screenshot:14836): GdkPixbuf-CRITICAL **: 18:57:54.329: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(gnome-screenshot:14836): GdkPixbuf-CRITICAL **: 18:57:54.329: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug


(gnome-screenshot:14836): GdkPixbuf-CRITICAL **: 18:57:54.329: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(gnome-screenshot:14836): GdkPixbuf-CRITICAL **: 18:57:54.329: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(gnome-screenshot:14836): Gtk-CRITICAL **: 18:57:54.354: gtk_window_resize: assertion 'width > 0' failed

** (gnome-screenshot:14836): CRITICAL **: 18:57:54.355: Unable to capture a screenshot of any window
q
^CTraceback (most recent call last):
  File "/usr/lib/python3/dist-packages/PIL/ImageGrab.py", line 78, in grab
    size, data = Image.core.grabscreen_x11(display_name)
                 ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
OSError: X get_image failed: error 8 (73, 0, 890)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/mnt/sda1/Python/screen_recorder.py", line 19, in <module>
    screen = pyautogui.screenshot()
  File "/home/ilpo/.local/lib/python3.13/site-packages/pyscreeze/__init__.py", line 603, in _screenshot_linux
    im = ImageGrab.grab()  # use Pillow's grab() for Pillow 9.2.0 and later.
  File "/usr/lib/python3/dist-packages/PIL/ImageGrab.py", line 87, in grab
    subprocess.call(["gnome-screenshot", "-f", filepath])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/subprocess.py", line 397, in call
    return p.wait(timeout=timeout)
           ~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/subprocess.py", line 1277, in wait
    return self._wait(timeout=timeout)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/subprocess.py", line 2063, in _wait
    (pid, sts) = self._try_wait(0)
                 ~~~~~~~~~~~~~~^^^
  File "/usr/lib/python3.13/subprocess.py", line 2021, in _try_wait
    (pid, sts) = os.waitpid(self.pid, wait_flags)
                 ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt

$

11
Yleistä keskustelua / Käynnistyi mustalla ruudula
« : 04.07.25 - klo:14.45 »
Tänä aamuna tietokone käynnistyi mustalla ruudulla. Tai se oli siis grafiikaton tila ja siinä oli grubin prompti. Aloin tavailla virheilmoitusta, jotta voisin päästä selvyyteen vian syystä ja kysellä apuja. Siihen grubin promptiin tuli tietokoneelta automaattisesti jotain syötettä kun se teki niitä rivejä lisää.

Sitten silmät osuivat muoviseen laatikkoon, jonka kulma oli ESC-näppäimen päällä. Siinä oli syy! Otin laatikon pois ja kolmen sormen tervehdyksellä käynnistin koneen uudelleen.

Mutta olipa hyvä muistutus varmuuskopioiden tärkeydestä. Otan tänään varmuuskopiot kun edellisestä kerrrasta on kuukausia.

12
Ubuntu tietokoneissa / Spring Ubuntuun
« : 02.07.25 - klo:23.30 »
Kehityspaketti Spring Ubuntuun. Se on suunniteltu virtaviivaistamaan koko Springin kehitystyön kulkua Ubuntussa. Jos et tiedä, mikä Spring on, niin se sana on monissa tietokonealan työpaikkailmoituksissa.  :)

Tämä yksittäinen työkalupakki paketoi Spring CLI:n ja lisää seuraavat ominaisuudet:

• Ohjattu ja automatisoitu kehitysympäristö
• Esikonfiguroidut liitännäiset Gradle ja Maven.
• Johdonmukainen joukko riippuvuuksia offline-versioiden määrityksen yksinkertaistamiseksi.

Esittely vaihe vaiheelta:: https://bit.ly/45M1Ehj

#Ubuntu #Linux #OpenSource #Java #Spring #CloudNative

13
Eurooppalaiset 11 autonvalmistajaa aloittavat yhteistyön: Automaailman jättiläisten liitto vahvistui: Mercedes, BMW ja Volkswagen aloittavat yhteistyön. Tarkoitus on irrottautua Amerikasta ja luoda avoimen lähdekoodin tuotteita autoihin. Tarkoitus on saada ne tuotantoon vuoteen 2030 mennessä. Eli vain 5 vuoden kuluessa!

14
Kubuntu 25.04:stä on artikkeli Iltalehdessä: Kokeilussa Kubuntu 25.04 - Puolivalmis käyttöjärjestelmä. Juttu on maksumuurin takana. Jutussa on kerrottu, että tämä viimeinen versio on jäänyt vajaaksi. Laatu vaihtelee. Toisekseen sitä on kehuttu yhdeksi parhaimmaksi Linux-distroksi.

Nyt kehittelijät voisivat kuunnella ja ottaa opiksi. Epäkohdat kannattaa korjata kuntoon. Mielestäni Euroopan siirtyminen Linux-järjestelmään (juttua aiemmin tällä foorumilla) on iso lottovoitto sille taholle, kuka sen voittaa.

15
Lainasin kirjastosta parikin kirjaa koneoppimisesta. Ja sen yhteydessä puhutaan tekoälystä. Kirjaa lukiessa tuli mieleen, että bugiraportit olsiivat oiva koneoppimisen kenttä. 2000-luvun alkupuolella tutustuin päivitysten versionhallinnan ja yhteensopivuuksien kanssa tekemisiin opinnäytteen muodossa. Tänä päivänä päivitykset toimivat helposti ja loistavasti verrattuna niihin aikoihin. Nyt seuraava harppaus voisi olla automaattiset bugiraportit ja tekoälykorjaukset. Mahdollsesti myös ehkä automaattiset bugfix-asennukset koneelle. Ehkä näitä ei pystytä ainakaan vielä toteuttamaan käytännössä, mutta sellaiset tulevaisuudenvisiot uskallan arvata.

16
Laitealue / Vs: Suorittimien lukumäärä
« : 25.06.25 - klo:01.17 »
Käyttöjärjestelmä päättää millä ytimellä suoritetaan mitäkin, eli käyttöjärjestelmän pitää saada prosessorilta tieto siitä, mitkä ytimet ovat nopeimpia, ja osata hyödyntää tätä tietoa.

Tuon viestin jälkeen luin uudelleen tietoa tuosta Turbo Boost Max Technology 3.0:sta. Ja pääsin käsitykseen, että i7-14700 prosessorissa noista kahdesta on kyky säädellä työnjakoa paremmin. Ja ottaen huomioon täällä aiemmin keskusteltuja juttuja skeduloinnista, Linuxilla nimenomaan olisi parempi kyky tuollaisilla prosessoreilla saada aikaan optimaalinen resurssien tasainen käyttö kuin Windowsilla. Ja sekin selvisi siinä, että käyttöjärjestelmä säätelee noita skedulointeja.

EDIT: Tuossa toisessa vastauksessa tulikin sitten vähän siihen suuntaan, että Linux ja Windows olisi suunnilleen tasaväkisiä skeduloinnissa.

17
Laitealue / Vs: Suorittimien lukumäärä
« : 23.06.25 - klo:18.30 »
Katselin tässä yhtä DELL OptiPlex 7020 Intel® Core™ i5 i5-14500T  -konetta hinta 675 € ja toisekseen DELL OptiPlex 7020 Plus Intel® Core™ i7 i7-14700 1085 €. Ensimmäisen TDP on 35 W ja tämän toisen 65 W. Tuo ensimmäinenkin olisi tehokkaampi kuin käyttämäni i5-10400F.

Jälkimmäisessä on Intel Turbo Boost Max Technology 3.0. Tekoälyllä maustettu Google-haku sanoo siitä näin: Intel Turbo Boost Max Technology 3.0 is an enhanced version of Turbo Boost that identifies the best performing cores (favored cores) on a processor and directs critical workloads to them, while also boosting their frequency. This technology leverages the natural variation in core quality found in multi-core processors to improve performance. Suomeksi tuo on Google Translatorilla käännettynä: Intel Turbo Boost Max Technology 3.0 on Turbo Boostin parannettu versio, joka tunnistaa suorittimen parhaiten suoriutuvat ytimet (suositeltavat ytimet) ja ohjaa kriittiset työkuormat niille samalla tehostaen niiden taajuutta. Tämä teknologia hyödyntää moniydinsuorittimissa esiintyvää ytimien laadun luonnollista vaihtelua suorituskyvyn parantamiseksi.

Nyt siis tähän viestiketjuun se pointti, että kuorman jakamisen eri ytimille suorittaa ilmeisesti prosessori itse, eikä Linux. Onko näin? Onko Linuxilla vaikutusta tuohon kuormanjakamiseen kuitenkin?

Niin joo. Molemmissa noissa koneissa tulee Windows 11. Mutta senhän saa katepillarilla matalaksi ja Linux tilalle.

18
Laitealue / Vs: Intelin uudet Core Ultra -prosessorit
« : 23.06.25 - klo:17.26 »
Sitten noissa uusien prosessorien ostossa on huomattava, että parin kolmen sukupolven verran uudempi prosessori ei ole välttämättä kuin 50 % tehokkaampi. Ja muutamassa päivässä uuteen nopeuteen tottuu ja se ei tunnu enää yhtään nopealta. Kuitenkin on ehkä maksanut satoja euroja prosessorista ja ehkä koko koneesta muutaman tuhat euroa, jos on kokonaan uuden koneen ostanut.

19
Annoin Warpin koetaa korjata valmiustilaongelma tästä koneesta.

Mykistävää. Luulenpa, että tietokoneen käyttö muuttaa muotoaan lähitulevaisuudessa paljon. Joskin ihminen etääntyyy tietokoneen rautapuolesta etäämmälle tuon tekoälyn avittamana. Sitten joskus voi tulla eteen tilanne, että ei voi mitään kun tekoäly ei osaa ratkaista ongelmaa.  :)

20
Ubuntu tietokoneissa / Warp - The Intelligent Terminal
« : 22.06.25 - klo:19.07 »
Törmäsin Redditissä Warpiin. Se on terminaalin lisäohjelma, jolla pääsee tehokäyttäjäksi. Mukaan tulee AI-tekoälyä, Sivulta voi ladata .deb -paketin. Sen koko on 37 MB.

En kehoita kokeilemaan, jos ei tiedä, mitä tekee. Näyttää aluksi vähän oudolta sivulla oleva demo. Ja tuon asennustiedoston nimi viittaa vielä rankasti kehitysvaiheessa olevaan tekeleeseen. Mutta tiedoksi vain, että tekoäly tunkeutuu Ubuntuunkin.  :D

Sivuja: [1] 2 3 ... 78