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.


Aiheet - teele

Sivuja: [1] 2 3 ... 18
1

On kohtalainen joukko merkkijonoalkioita, joita laitetaan c++ sdt:map:iin niin, että yksi alkio on avain ja sen häntänä on vaihtelevan pituinen vektori muita joukon merkkijonoalkioita.

Mikä tahansa joukon merkkijono voi olla avaimena ja mitkä tahansa muut merkkijonoalkiot voivat kuulua sen häntään.

Kun mikä tahansa avaimena oleva merkkijonoalkio tekee muutoksia häntäänsä, hakemistossa korvataan sille uusi, muutettu häntä eli koko avain-häntä-pari korvataan uudella avain-häntä-parilla hakemistossa.

Vanhasta hännästä taitaa tulla roskaa. Osaako std:map huolehtia roskistaan vai jääkö se ohjelmoijan tehtäväksi. Mitä tapahtuu, jos map-rakenteessa muutetaan ja korvaillaan häntiä pitkä aika, kerääntyvätkö roskat jonnekin?



2
Netin ohjesivulla

https://www.tutorialspoint.com/cpp_standard_library/cpp_vector_range_constructor.htm

on hyvä esimerkkiohjelma, jonka voi kääntää suoraan sivulla. Tässä ohjelmassa vektorin v2 esittely ei toimi autona, vaikka näyttäisi, että kääntäjällä on tarpeeksi tietoa vektorin tyypin määrittelmiseksi. Yritin saada siistimmän näköistä ohjelmakoodia auton kanssa, mutta ei siis onnistu.

Mikä auton rajoite tässä kohtaa voisi olla kyseessä, miksi auto ei toimi. Kääntäjä antaa kyllä pitkät selitykset, mutta en oikein osaa niitä liiemmälti tulkita.

Tässä on alkuperäinen ohjelma, joka toimii

Koodia: [Valitse]
#include <iostream>
#include <vector>

using namespace std;

int main(void) {
   vector<int> v1(5);

   /* assigned value to vector v1 */
   for (int i = 0; i < v1.size(); ++i)
      v1[i] = i + 1;

   /* create a range constructor v2 from v1 */
   vector<int> v2(v1.begin(), v1.end());

   for (int i = 0; i < v2.size(); ++i)
      cout << v2[i] << endl;

   return 0;
}

ja tässä autoversio, joka ei toimi


Koodia: [Valitse]
#include <iostream>
#include <vector>

using namespace std;

int main(void) {
   vector<int> v1(5);

   /* assigned value to vector v1 */
   for (int i = 0; i < v1.size(); ++i)
      v1[i] = i + 1;

   /* create a range constructor v2 from v1 */
   auto v2(v1.begin(), v1.end());

   for (int i = 0; i < v2.size(); ++i)
      cout << v2[i] << endl;

   return 0;
}



3
Pilvikoneelle pääsee kirjautumaan ilman salasanaa, koska joskun olen tehnyt avaimen

Koodia: [Valitse]
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"

ja lähettänyt sen pilvikoneelle tiedoksi

Koodia: [Valitse]
ssh-copy-id remote_username@server_ip_address
Mutta kun yritin kopioida pilvikoneelta tiedostoa kotikoneelle, tuli

Koodia: [Valitse]
/./tiedosto.odt: Permission denied
Yritetty komento kotikoneelta oli

Koodia: [Valitse]
scp -r pilvikäyttäjä@xx.xx.xx.xx:/home/pilvikäyttäjä/hakem1/hakem2/teksti1.odt /.
Muistelisin, että jos en olisi koskaan lähettänyt avainta pilvikäyttäjelle, scp kysyisi vain pilvikäyttäjän salasanaa ja kopiointi onnistuisi.

Kopiointi onnistuisi varmaankin kikkailemalla vaikka tekemällä jonkun toisen käyttäjän pilvikoneelle ja jättämällä sen ilman shs-avainta, mutta olis helpompaa, jos asiat sujuisivat muutenkin.

Ehkä scp-komennossani on joku (kirjoitus)virhe, jota en huomaa?








4

Taloyhtiöön on tullut elisan kaapeli, ja yhteys toimii ilman modeemia, kun laittaa piuhan seinään.

Onko tällainen osoite vakio niin, että jos laitan koneelle vaikka apache2:n, niin näkyy tiedostoja netissä. Voisiko selvitä ilman varmenteita (sertifikaatteja), jos selaimeen kirjoittaisi verkko-osoitteen, vai valittaisiko selain tässäkin tapauksessa epäluotettavasta sivusta.

5

Olisiko kellään Portaudio-kehityspaketista kokemuksia, voisi ehkä joskus kokeilla saada ääntä mikrofonista tiedostoon vaikka taajuuksien tutkimiseksi.

Kehityspaketit taitaa saadaa suoraan

sudo apt install portaudio19-dev


Octave on toinen vaihtoehto, mutta siihenkin pitää sitten löytää sopivia scriptejä taajuuskuvien piirtämiseen.  Onko hyviä vihjeitä octave-scripteistä, jotka näyttävät äänen voimakkuuden ja sen taajuuskomponentit kuvaajina.

Tai joku muu keino vaikka 16-bittisen äänen saamiseksi tiedostoon riittävällä taajuudella.






6
Haluaisin formatoida vanhan asennustikun, jossa on Ubuntu 20.04, tavalliseksi tiedostotikuksi, mutta formatointi ei onnistu tiedostonhallinnassa, koska tikulla on ositustaulukko (partition table).

Miten saan tikun formatoitua ja mikä tiedostotyyppi kannattaa valita, jos tikkua haluaa käyttää Ubuntussa ja joskus kirjaston Windows-koneella. Onko pakko olla fat, käykö ntfs tai joku muu.


7
Nyt tilanne on se, että olen kahden tikun loukussa. Huawei yrittää ilmeisesti ottaa yhteyttä, mutta luovuttaa sitten. Samoin banddeluxe, joka ilmestyy yhdisttäväksi ethernet-yhteydeksi, mutta ei kuitenkaan yhdisty, vaikka sen napsauttaa yhdistymään.

Huawei ilmioittaa, että johto on irti. Sen kanssa on edistytty sen verran, että se ei enää ilmoita olevansa vain cd-rom.

Osaisiko joku neuvoa hyviä keinoja tilanteesta eteen päin. Jos tarvitaan tarkempia oirekuvauksia, voin taas kokeilla niitä oikean tikun kanssa. Mutta jo tässä vaiheessa tikkuja ja simmiä on vaihdeltu aika monta kertaa edestakaisin. Pieni käytännön ongelmahan on, että toimimattoman kortin tilannekuvaa ei helposti pysty lähettämään netissä, koska silloin ei ole yhteyttä.

Hmmm, olisiko mahdollista laittaa kaksi tikkua yhtä aikaa eri usbeihin, silloin käytännön selvittely voisi helpottua.  (nyt toiminnassa on yksi huawei, joka yhdistyy kuin junan vessa :)     )


8

Kun pilvikoneen tiedostojen etämuokkaus menee hyvin sftp:llä ja kotikoneen tekstinmuokkaimella, seuraavaksi tulee mieleen kysymys, onnistuisiko etämuokkaus myös windowsilla tai jopa puhelimella.

Onko sftp niin yleinen menetelmä, että kaikki toimii sillä.


9
Olen pääkäyttäjänä pilvikoneella ja kokeilen

Koodia: [Valitse]
$ cd käyttäjä1
-bash: cd: takaovi: Permission denied

sitten

Koodia: [Valitse]
$ sudo chmod -R g+rx käyttäjä1
[sudo] password for slam1:

ja vielä

Koodia: [Valitse]
$ sudo chmod g+rx käyttäjä1
$ ls -l käyttäjä1
ls: cannot open directory 'käyttäjä1': Permission denied

Muistaakseni sudolla on aina ennen voinut tehdä mitä vain.

Eli homma näyttää olevan hieman sekaisin  :(

Hassuinta oli, että kaikki näytti toimivan ennen selaimen sulkemista niin, kuin pitikin.

Miten asiaa voisi alkaa selvittää?









10
Nyt pilvikoneen tiedostojen muokkaminen geditillä menee hienosti. Mutta jos oikeasti pilvikoneella olisi eri käyttäjiä, miten pitäisi asettaa rajoituksia, että käyttäjä1 ei näkisi käyttäjä2:n tiedostoja. Kummatkin käyttäjät ovat /home - hakemistossa.

www-data löytää näytettävän nettisivun /var/www/html hakemistossa olevan symbolisen linkin avulla. Linkki osoittaa käyttäjän kotihakemistossa olevaan tiedostoon.

Vain käyttäjän itsensä ja www-datan pitää päästä lukemaan tiedostoja. Muokkaaminen onkin jo näköjään kielletty. 

Millaisilla luku-, kirjoitus-, ja muokkausoikeuksien asetuksilla tilanne voitaisiin ratkaista.



11
Tiedostonhallinnassa on valinta Other locations. Kun sitä napsaisee, tulee näkyviin oma kone ja Windows Network.

Muistaakseni ja ymmärtääkseni koneessani ei ole windowsia ollenkaan vaan pelkkä ubuntu 22.04.4

Pilvikoneellakin on ubuntu 20.04. Mistä Windows Network ilmestyy tiedostonhallintaan (1)

Olisiko mahdollista käyttää oman koneen tiedostonhallintaa pilvikoneen tiedostojen avaamiseen ja siirtelyyn, jos tiedostonhallinnan kautta saisi jollain tavalla yhteyden pilvikoneeseen. Miten yhteys pitäisi ottaa (2)

Nyt pilvikonetta on käytetty vain päätteen kautta ssh:n avulla.

12

Libreofficen calciin piti saada jokaisen vuoden kuukauden toinen päivä koko vuoden osalta. Joitain lukuja voi sarakkeessa "kopioida" hiirellä vetämällä niin, että seuraavan sarakkeen luku kasvaa aina yhdellä. Päivämäärien kohdalla kuukauden olisi pitänyt kasvaa, mutta siihen ei löytynyt keinoa libreofficessa.

2023-01-02
2023-02-02
2023-03-02
2023-04-02
2023-05-02
2023-06-02
2023-07-02
2023-08-02
2023-09-02
2023-10-02
2023-11-02
2023-12-02

Vähän kaukaa haettu ratkaisu oli

Koodia: [Valitse]
#include <iostream>

int main(int argument, char const *argv[] )
{
  for(int i = 1; i < 13; i++)
    {
      std::cout << "2023-" << std::to_string(i) << "-2" << std::endl;
    } 
}

josta sitten päätteeltä piti kopioida päivämäärät calciin.

Olisiko asiaan suorempi ratkaisu calcissa.

Toinen kysymys koskee c++ ohjelman kääntämistä.

Koodia: [Valitse]
g++ päivämäärät.cpp -o päivämäärät -pedantic -std=c++20
Tarvitseeko ollenkaan käyttää -std=c++20 -tyylistä vipua, vai ottaako kääntäjä automaattisesti uusimman määrittelyn.

13
 Kun Ubuntu 22.04 -järjestelmässä laittaa usb-tikun asemaan, se näkyy tiedostoikkunassa ja sitä voi käyttää helposti.

Mutta kun laitan maxell 32 GB usb 3.0 -tikun kiinni, kuuluu vain merkkiääni, mutta tikku ei ilmesty tiedostoikkunaan eikä sitä siis voi käyttää.

Diskd-ohjelma näyttää tikun  generic flash diskinä ja sarjanumeron, mutta ei mitään muuta, ei kokoa, ei sisältöä. Muut usb-tikut näkyvät normaalisti. Kokeiltava tikku on uusi, olisiko se alustettava jollain tavalla, mutta luulisi, että ainakin tikun koko olisi ihan alusta asti tiedossa. Voisiko tikku olla viallinen, koskaan aikaisemmin ei tällaista ole sattunut.

Täällä on Disks-ohjeita, mutta niissäkin näkyy tikun koko kaikissa kuvissa.

https://linuxways.net/ubuntu/mount-usb-ubuntu-22-04/



14
Ubuntu tietokoneissa / Odottamaan jätetyt päivitykset
« : 10.12.23 - klo:13.48 »
Kun ottaa päivityksen päätteessä, tulee ilmoitus

Koodia: [Valitse]
$ sudo apt upgrade
Luetaan pakettiluetteloita... Valmis
Muodostetaan riippuvuussuhteiden puu... Valmis
Luetaan tilatiedot... Valmis                 
Käsitellään päivitystä... Valmis
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
  libjs-jquery-ui python3-scipy libpostproc55 libavcodec58 libavutil56
  libswscale5 libgsl27 libswresample3 libavformat58 libgslcblas0 libavfilter7
Learn more about Ubuntu Pro at https://ubuntu.com/pro
Nämä paketit on jätetty odottamaan:
  gjs libgjs0g python3-update-manager update-manager update-manager-core
0 päivitetty, 0 uutta asennusta, 0 poistettavaa ja 5 päivittämätöntä.

Miten tässä tilanteessa tavallisena Ubuntun käyttäjänä kannattaisi toimia, mikä  on Ubuntu Pro, tarvitseeko sitä tavallisena käyttäjänä ja miksi kaikkia turvallisuussovelluksia ei tarjota perusversiossa, vievätkö ne esimerkiksi suoritintehoa turhaan tavallisessa käytössä?

Mistä esm-appsin voi laittaa päälle, jos sitä tarvitaan?

15
Tuli ostettua huawei e3372-325 -nettitikku, mutta nyt pitäisi saada se vielä toimimaan 22.04 -ubuntussa.

Netistä löytyy asiaa koskevia linkkejä, mutta ne vaikuttavat omaan osaamiseni nähden aika teknisiltä, eikä oikein ole selvinnyt, mikä on ongelman ydin :(

Ehkä hyvällä onnella voisi jotain linkkien esittämää loitusua seurata, mutta sitten voisi olla taas sama edessä, kun siirryn uuteen lts-versioon ubuntussa.

Tikku toimii windowsissa ja sillä on olemassa hallintasivu 192.168.8.1 , joka toimii huawein tikkujen kanssa. Erään ohjeen mukaan sieltä voisi kohdasta advanced - updates ajaa päivityksen tikulle, mutta siihen tarvitaan se windows-kone, eikä ole selvää, riittäisikö se.

Onko jollain kokemusta tästä tikusta tai näkyykö netin linkeistä, mistä ongelmassa on kyse. Mikä olisi sellainen tapa, että myös uuden lts-päivityksen kanssa tikku toimisi?



16
Jos käyttäjä voi syöttää nettisivulta tekstiä niin, että se menee php:n post-taulukkoon, miten olisi parasta varmistaa, että syötettävä teksti ei vuoda yli ja tarkistus olisi jopa mahdollisesti turvallinen.

Turvallisuuden takiahan javascript merkkijonotarkistukset eivät varmaankaan ole riittäviä.

Onko ainoa keino säätää php.ini -tiedoston post_max_size -muuttujaa, mikä varmaan vaikuttaa koko  $_POST -taulukon kokoon. Toisaalta senkään koon rajoittaminen ei olisi ehkä huono asia. Ajateltu syötettävän tekstin koko on suunnilleen 1 a4-arkin verran.

php:n merkkijonon pituuden rajoittaminen ei varmaan toimi, $_POST ei kai tiedä, että sinne luetaan merkkijonoa eikä sen tulevaa pituutta?


Muokk.

php.ini tiedoston mukaan

Koodia: [Valitse]
; How many GET/POST/COOKIE input variables may be accepted
;max_input_vars = 1000

muuttujamärää voi säätää mutta ei merkkijonopituutta??

Olisko tämä

Koodia: [Valitse]
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit

memory_limit = -1

sitten keino vaikuttaa myös scriptin lukeman merkkijonon pituuteen, vaikuttaisi aika äärimmäiseltä sellaiseen käyttöön?


Tämä olisi ehkä lupaavin

Koodia: [Valitse]
; Handling of LONG fields.  Returns number of bytes to variables.  0 means
; passthru.
; http://php.net/odbc.defaultlrl
odbc.defaultlrl = 4096

??



17

Pilvikoneella olevaa nettisivua pitäisi  muokata selaimella php:n avulla mutta luulisi olevan kyse niin pienestä asiasta, että siihen olisi jo tehty monia ohjelmaia.

Olisi hyvä, jos löytyisi joku yksinkertainen valmissovellus, jonka avulla voi omalla selaimella päivittää pilvikoneellla olevaa nettisivua ja tehdä uusia sivuja tai poistaa vanhoja.

Wordpressi voisi olla turhan rankka vaihtoehto ja pilvikonekin on ihan pieni muistin ja levytilan osalta eikä siinä ole mitään mysq:täkään.

Eli joku pikku php-scripti voisi olla ratkaisu, onko niistä kokemuksia tai voisiko joku suositella jotain sen tapaista.

18
snap-asennettu wxmaxima sammuu, jos yrittää piirtää kuvaajaa plot-komennolla. Jo käynnistyksessä tuleva virhelista on pitkä (se on vasta lopussa, että ei haittaisi tämän viestin lukemista).

Tilanteessa omilla taidoilleni sopivin ratkaisu oli

Koodia: [Valitse]
$ sudo snap remove wxmaxima
wxmaxima removed

mutta vielä tämän jälkeenkin jotain jää, eikä se ole ainakaan alias

Koodia: [Valitse]
$
wxmaxima
bash: /snap/bin/wxmaxima: No such file or directory

Koodia: [Valitse]
$ alias -p
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

snapissa ei ole purge-komentoa, ja toimimattomasta wxmaximasta olisi hyvä päästä eroon kokonaan, että voi kokeilla apt-asennusta, joka on kuitenkin valitettavasti vanhempi.

Pitäisikö kaikki poistaa ja käyttis asentaa kokonaan tikulta :(

Ubuntu 22.04 on asennettu do-release-upgrade -komennolla, olisiko sillä jotain vaikutusta, toimiiko kenelläkään snap-asennettu wxmaxima kunnolla. snap asennus oli se, jota ubuntu ehdotti päätteessä, kun olin tehnyt käyttispäivityksen.

19
 wxmaximan saisi myös snap-pakettina esimerkiksi täältä

https://snapcraft.io/wxmaxima

mutta mistä tietää, että snap-sivustot ovat luotettavia, vrt. windows-ohjelmien asennus netistä.


Muokk.

Laiton versiopäivityksen, kun uudemmassa versiossa oli ainakin vähän uudempi wxmaxima

Koodia: [Valitse]
sudo do-release-upgrade
wxmaximan käynnistyskuvake hävisi ja taisi poistua koko ohjelmakin, koska päätteessä ubuntu ehdotti uuden asentamista joko snapina tai apt-pakettina. Snap oli uudempi ja pakettikin on yhtä turvallinen kuin ubuntun ehdottamat muutkin paketit, sitä ei ainakaan ole etsitty netistä.

Uusi wxmaxima toimii ainakin alustavan kokeilun mukaan, mutta aseteusten muutosvalinta sammuttaa koko ohjelman, koska joitain tiedostoja puuttuu. Jo aloituksessa tulee pitkä varoituslista, josta pikku näyte alla

Koodia: [Valitse]
Gtk-Message: 21:06:48.451: Failed to load module "canberra-gtk-module"
Gtk-Message: 21:06:48.451: Failed to load module "canberra-gtk-module"
21:06:48: Debug: Failed to connect to session manager: Could not open network socket

(wxmaxima:6861): Gtk-WARNING **: 21:06:48.561: Could not find the icon 'network-error'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
http://icon-theme.freedesktop.org/releases

(wxmaxima:6861): Gtk-WARNING **: 21:06:48.622: Error loading theme icon 'document-new' for stock: Icon 'document-new' not present in theme Yaru

(wxmaxima:6861): Gtk-WARNING **: 21:06:48.622: Could not load a pixbuf from /org/gtk/libgtk/icons/48x48/status/image-missing.png.
This may indicate that pixbuf loaders or the mime database could not be found.

(wxmaxima:6861): Gtk-WARNING **: 21:06:48.622: Error loading theme icon 'image-missing' for stock: Failed to load /org/gtk/libgtk/icons/48x48/status/image-missing.png: Unrecognized image file format

Koska asetuksia ei pääse muuttelemaan, kieli pysyy englantina ja laskentakin näytti toimivan, Tällä pärjännee ainakin aluksi  :)


20
Yritin muuttaa ubuntu 20.04-version wxmaximan kirjasinkokoa 13-kokoon, mutta wxmaxima sammui, ja kun käynnistin sen uudestaan, se oli portugalinkielinen. Koska en saanut sitä palautettua englanninkieliseksi poistin sen

Koodia: [Valitse]
sudo apt remove wxmaxima
sudo apt autoclean && sudo apt autoremove

Sitten asensin sen uudestaan

Koodia: [Valitse]
sudo apt update
sudo apt install wxmaxima

Mutta se on vieläkin portugalinkielinen. Miten saan kieleksi eglannin?

Sivuja: [1] 2 3 ... 18