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 - Lepotila zZ

Sivuja: [1] 2 3 ... 18
1
Olen melko varma, että tuossa laitteessa ei ole äänikortti-toiminnallisuutta lainkaan. Manuaalissa sellaista ei mainita. Taitaa siis tuo etsimäsi ominaisuus löytyä vain kalliimista malleista.

2
Laitealue / Vs: Ram muistin nopeus
« : 12.07.23 - klo:20.21 »
Luultavasti käytössä on jo nyt 1333 MHz:n muisti. (665 MHz:n DDR3 muistia ei taida olla olemassakaan.) Joka tapauksessa muistin nopeuden päivittämistä ei yleensä käytännössä edes huomaa, bechmarkeissa voi saada hieman paremmat pisteet. Yllättyisin, jos nettinopeuteen vaikuttaisi yhtään mitenkään. Sen pullonkaula on varmasti käyttämäsi liittymä eikä  tietokoneen suoritustehot.

3
Joo näyttää, että combinations-funktio tuottaa halutun tuloksen:

Koodia: [Valitse]
import itertools

for x in itertools.combinations('abcdef', 4):
    print(x)

(Tulostusmuoto on tässä vähän erilainen, koska tulos ei koostu tulostettavista listoista, vaan rivit ovat tupleja.

4
Tässä vielä rekusiivinen versio, jonka hahmottelin ennen kun luin käyttäjän UnelmaIkuisestaOnnesta antaman ratkaisun. Muokkasin ratkaisuani kuitenkin antamaan vastaavan tulosteen. Oma ratkaisuni tulostaa kombinaatiot suoraan puun lehdissä sen sijaan, että se keräisi niitä listaan, joka tulostetaan myöhemmin. Ehkä tämä versio voi olla jollekin helpompi ymmärtää:

Koodia: [Valitse]
lista = ['a','b','c','d','e','f']
max_pituus = 4

def rekursiivisesti(A, positio):
    if len(A) == max_pituus:
        print(A)
        return
    if positio < len(lista):
        A.append(lista[positio])
        rekursiivisesti(A, positio + 1)
        del A[-1]
        rekursiivisesti(A, positio + 1)

rekursiivisesti([], 0)

5
Minäkin ehdin miettiä tätä ennen kun luin edellisessä postauksessa annetun ratkaisun. Tein ensin iteratiivisen version, joka kuitenkin toimi vain annetuilla parametreilla. Tein sitten rekursiivisen version, jonka pitäisi toimia muillakin parametreilla. Asiaa hieman mietittyäni, ja luettuani edellisen postauksen, minusta vaikutti siltä, että iteratiivisenkin version voi toteuttaa siten, että se hyväksyy eri parametreja. Tässä tulos, joka on toki edellä esitettyä rekursiivista ratkaisua rumempi:
Koodia: [Valitse]
lista = ['a','b','c','d','e','f']
max_pituus = 4

def tulosta_kombinaatio(blokatut):
    l = []
    for i in range(len(lista)):
        if i not in blokatut:
            l.append(lista[i])
    print(l)

blokatut = [x for x in range(len(lista)) if x >= max_pituus]

while True:
    tulosta_kombinaatio(blokatut)
    edellinen = len(lista)
    blokatut[-1] -= 1
    for i in range(len(blokatut) - 1, 0, -1):
        if blokatut[i] == blokatut[i-1]:
            blokatut[i] = edellinen - 1
            edellinen = blokatut[i]
            blokatut[i - 1] -= 1
    if blokatut[0] == -1:
        break

(Blokatut tarkoittaa tässä niitä indeksejä, joita vastaavia elementtejä ei sisällytetä kombinaatioon.) Toisin kuin edellisessä postauksessa esitetty ratkaisu, tämä ei kerää listaa kombinaatioista myöhemmin tulostettavaksi, vaan tulostaa jokaisen kombinaation heti. En tiedä, onko tämä rekursiivista ratkaisua nopeampi vai hitaampi.

En mene myöskään vannomaan, että täm on oikein, mutta vaikuttaa siltä minun silmääni, ja vastausten rivimäärät vastaavat käyttäjän UnelmaIkuisestaOnnesta antaman version vastausten rivimääriä. (En jaksa viritellä ohjelmallista tarkistusta.)

6
Tuo virtalähde ei todellakaan ole aito Raspberry-virtalähde, saatampa lähettää sen takaisin ja vaatia oikeaa ja aitoa.
Pakkauskin sen jo paljastaa, valkoinen pahvilaatikko jossa ei ole kuin viivakoodi kannessa. Huijareita.

Olen muistavinani, että minun virallinen virtalähde tuli myös hyvin pelkistetyssä valkoisessa pakkauksessa. Tilasin sen vuosia sitten Pimoroni-nimisestä brittiläisestä liikkeestä, josta on hyvin vaikea kuvitella saavansa väärennöstä. Enpä usko, että Jimmskään on erehtynyt hankkimaan väärennöstä. Oma virtalähteeni on Stontronicsin valmistama ja näyttää aivan siltä, miltä Jimmsin kuvakin näyttää.

7
Minun suosikkini on ollut jo yli vuosikymmenen ajan SpeedCrunch. Se on täyttänyt vaatimattomat tarpeeni ja on toiminnaltaan riittävän yksinkertainen. Hyviä ominaisuuksia siinä on ainakin seuraavat:
- laskuhistoria, josta on monta riviä näkyvillä
- Käytettävän fontin koon ja tyylin valinta
- työtteen ja tulosteen "syntaksiväritys. Minulle on käytössä väriteema nimeltään "Tomorrow night".
- bittikenttä bittijonojen syöttämiseksi ja näyttämiseksi

Olen samaa mieltä nm:n kanssa, että skinnattu taskulaskin ei ole paras vaihtoehto tietokoneelle. Monet niistä ovat kiinteäkokoisia, eli helposti liian pieniä ja ilman mahdollisuutta suurentaa näkymää. Lausekkeet on luultavasti kätevämpi kirjoitella oikealla näppäimistöllä kuin klikkailla hiirellä pieniä kuvakkeita. Minulle ei ole SpeedCrunchissa edes laskinnäpppäimiä ("keypad") näkyvillä, koska ne vievät vain turhaan tilaa, jonka voi käyttää paremminkin. Toisaalta funktioita tulee sitten kutsua ohjelmoinnista tutulla tavalla, mutta voipa ainakin lisäillä omia funktioita ja vakioita tarpeidensa mukaan....

8
En yritäkään ymmärtää säännöllisiä lausekkeita, mutta kun kokeilin ohjelmaasi se mielestäni toimi niin kuin sen pitikin. Tekstitilaan tulee kirjoitustilaan kirjoitetut rivit samalla tavalla rivitettynä. Kun tarkistin asian konsolista (document.getElementById('tekstitila')) , tekstitila on seuraavanlainen: <div id="tekstitila" name="tekstitila">sdfdsdf<br>trert<br>adfaa<br>sdfg<br>tyur<br>fgngfh<br><br></div>. Eli nähdäkseni rivinvaihdot on korvattu <br>-tageilla.

9
Ubuntu tietokoneissa / Vs: redshift ???
« : 10.11.22 - klo:15.57 »
Koska en ole halunnut automaattisesti säätyvää ohjelmaa, olen käyttänyt yksinkertaista komentoriviohjelmaa nimeltään sct. Muistaakseni se löytyi Ubuntun pakettivarastosta. Komentoriviltä sitä käytetään antamalle ohjelmalle argumenttina haluttu lämpötila, eli esimerkiksi:
Koodia: [Valitse]
sct 4500
6500 on ruudun neutraali värilämpötila, eli "sct 6500" palauttaa näytön värit ennalleen.

10
VA käyttää jotakuinkin samaa tekniikkaa kuin TN, mutta on kuvaltaan parempi. Ehkä sen huomaa jostakin muustakin, mutta itse huomaan ainakin sen, että kuva näkyy paremmin laajemmista katselukulmista. Sama etu on muillakin tekniikoilla verrattuna TN-näyttöihin. Eivät nuo katselukulmat tosin ole enää TN-näytöissäkään niin huonoja kuin ennen.

OLED on monien mukaan paras tekniikka, mutta se on kallis ja pitkiä aikoja samana pysyvät näytön sisällöt ovat voineet "palaa" pysyvästi näyttöön.

MiniLed on ilmeisesti vain yksi taustavalaisua koskeva ratkaisu eikä taida olla käytössäkään missään tavallisissa työpöytä-näytöissä.

Itse valitsisin tavalliseen käyttöön VA- tai IPS-näytön. En osaa niiden vahvuuksia ja heikkouksia vertailla, koska minulla ei ole ollut IPS-näyttöä käytössä.

11
Yleistä keskustelua / Vs: Gray hat python
« : 31.07.22 - klo:14.09 »
En osaa suositella hyvää kirjaa, mutta luultavasti ei kannata enää hankkia kirjaa, joka on vuodelta 2009 ja käyttää Pythonin versiota 2.5.

12
Onhan se.  :)  Tuli vain tuo toinen vaihtoehto ensin mieleen. Ajattelin kyllä, että sen täytyy olla muokattavissa hiukan yksinkertaisemmaksi (de Morganin lait). En jaksanut kuitenkaan miettiä kun löysin toimivan lausekkeen - ja logiikka on minulle usein haastavaa.

13
Pariteettibitti voisi olla mikä tahansa biteistä, mutta eiköhän viimeisen (tai ehkä ensimmäisen) bitin valinta pariteettibitiksi ole ihmissilmälle paras, koska itse luku (eli pariteettibitin varmistama data) säilyy yhtenäisenä. Useampaa pariteettibittiä käytettäessä (Hamming-koodi) pariteettibittejä sijoitetaan myös varmistettavan datan lomaan. Tietokoneelle se lienee yksi ja sama, mitkä bitit on määritelty pariteettibiteiksi ja mitkä varsinaiseen dataan kuuluviksi.

Minun muistini mukaan pariteettibitti toimii seuraavasti (parillista pariteettia käyttäen) kolmibittisten lukujen kanssa joihin on lisätty neljäs bitti pariteettibitiksi:

Kun haluamme lähettää luvun 1 (001) siinä on pariton määrä ykkösiä, mutta koska käytämme parillista pariteettia tulee pariteettibitiksi asettaa ykkönen (jotta kokonaisdataan tulee parillinen määrä ykkösiä) eli lähetettävä data tulee muotoon (0011). Jokaisessa validissa kokonaisdatassa (data bitit + pariteettibitti) on siis määritelmän mukaan parillinen määrä ykkösiä.

Jos vastaanottajalle saapuukin data, jossa on yksi bitti vaihtunut (eli datamme onkin nyt muodossa 1011, 0111, 0001 tai 0010), datan pariteetti on virheellinen - ykkösiä onkin pariton määrä. Tästä huomataan, että data on virheellinen.

Kirjoitin edellä datan lähettäjästä ja vastaanottajasta, mutta todennäköisemmin kyse on datan kirjoittamisesta ja lukemisesta järjestelmän (tietokoneen) sisällä. Kun dataa lähetetään ja vastaanotetaan esimerkiksi internetissä, käytetään tarkistussummia.

Voi olla, että muistan jotakin väärin. Olen lukenut näistä mm. Tietokoneen toiminnan jatkokurssilla.

14
Koodia: [Valitse]
if (args.charAt(x) != '0' || args.charAt(x) != '1')Jos ymmärrän tuon ehdon oikein, se on totta aina, oli merkki mikä tahansa. Jos merkki on mikä tahansa lukuunottamatta nollaa ('0') tai-lausekkeen ensimmäinen ehto täyttyy ja koko tai-lauseke on siis tosi. Jos taas merkki on nolla, tai-lausekkeen toinen ehto täyttyy (koska '0' != '1'), ja koko tai-lauseke on siis tosi.

Minun ymmärrykseni mukaan siis tarkistusfunktiosi palauttaa false kaikille merkkijonoille, joissa ylipäänsä on merkkejä. Se hyväksyisi vain tyhjät merkkijonot valideiksi. Tekstisi perusteella se kuitenkin toimii toisella tavalla.

En jaksa kokeilla Javalla, mutta toimisikohan seuraava ehto toivotulla tavalla:
Koodia: [Valitse]
if (!(args.charAt(x) == '0' || args.charAt(x) == '1'))
Pythonilla se siis on seuraavasti:
Koodia: [Valitse]
def checkValidity(args):
    for x in args:
        if not (x == '0' or x == '1'):
            return False
    return True

print(checkValidity("10101"))
print(checkValidity("10RT1"))

15
Joo, se etsii ohjelmaa polusta (PATH). Luulisin, että kyse on turvallisuudesta: Jos kansioon on jostain syystä päätynyt suoritettava tiedosto nimeltään ls, ls komennon käyttö ei suorita tuota tiedostoa, vaan oikean ls-komennon, joka löytyy polusta.

16
Koodia: [Valitse]
./harjoitus
Komentotulkille täytyy kertoa, että haluaa käynnistää ohjelman tästä kansiosta eikä polusta - siksi sen alkuun tulee tuo ./

17
Koodia: [Valitse]
gcc -o suoritettavan_tiedoston_nimi käännettävä_tiedosto.c

18
Pelit / Vs: Arena shakkiohjelman hidas avautuminen
« : 05.09.21 - klo:01.27 »
Kyllä minulla käynnistyi Arenan hakemistossa suoritetulla komennolla:
Koodia: [Valitse]
./Arena_x86_64_linux

19
Pelit / Vs: Arena shakkiohjelman hidas avautuminen
« : 03.09.21 - klo:22.12 »
Minulla ohjelma latautuu parissa sekunnissa. Ubuntu 21.04 (Xfce-työpöydällä), NVMe-ssd.

Edit. Suoritin on Ryzen 3600.

Olen käyttänyt Arenasta useammin Windows-versiota (Winen kautta) kuin Linux-versiota laajemman shakkimoottoritarjonnan vuoksi. Se on mielestäni toiminut aivan yhtä hyvin (ellei paremmin) kuin Linux-versio. Käynnistyy tosin hieman hitaammin.

20
Joitakin huomioita:

Voi olla, että kaupunkien keskustoja on osin mallinnettu 1:1,mutta noin yleensä näissä peleissä taitaa etäisyydet olla lähempänä 1:10. Tämä näkyy siitä, että esim. 12 tunnin työkeikan voi suorittaa reilussa tunnissa. Läheskään kaikkea ei ole muutenkaan mallinnettu mitenkään uskollisesti. (Voi olla, että muistan näitä vähän virheellisesti, koska viimeisestä pelikerrasta on jo aikaa. Lisäksi viimeksi pelasin saman kehittäjän American Truck Simulator -peliä, joka saattaa poiketa hieman toteutuksessaan.)

Peli ja sen lisäosat ovat usein alennuksessa. Niiden hinnasta voi silloin säästää jopa 2/3.

Peli ei näytä tukevan virtuaalilasien käyttöä.

Sivuja: [1] 2 3 ... 18