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 - Tommi S.

Sivuja: [1] 2 3 ... 13
1
Yleinen käsitys on pikemminkin se että Linuxin ja muun avoimen lähdekoodin käyttöönottoa rajoittaa se että ne eivät toimi yleisesti käytettyjen suljettujen ohjelmien kanssa, esim. usein puhutaan että graafikot tarvitsevat Windowsin jotta voivat käyttää Photoshoppia.

Adoben Inc:in Photoshop on kaupallinen sovellutus, jota ei tarjota edes maksullisena Linux/Unix -ympäristöön, koska markkinat ovat liian pienet - eikä kaupallisen ohjelman lanseeraminen ko. järjestelmille tule kannattavaksi (vrt. jotkin pelitalot, jotka tarjosivat kaupallisia pelejä Linux/Unix -ympäristöön).

Mutta olisitko siis sitä mieltä että tilannetta voisi parantaa se että Ubuntun kauppaan asetettaisiin tiukka kielto suljetun lähdekoodin ohjelmille? Että avoimen lähdekoodin kaupallista hyödyntämistä voisi edistää siten että Ubuntun pakettivarastoista poistettaisiin esim. Flash ja Skype?

2
Eli sinä puhut siitä, mikä periaatteessa on mahdollista, ja minä taas vaadin, että niin tapahtuisi myös käytännössä. Suuri valta tuo suuren vastuun. Canonicalilla on valtavat panostukset Linux-työpöytään. Siksi juuri Canonicalin pitäisi varmistaa, että niistä panostuksista hyötyvät muutkin kuin se.

Minua kiinnostaisi kuulla käytännön ideoita, miten saisimme Canonicalin vaihtamaan tyyliään, ja lisäämään yhteistyötään muun yhteisön kanssa.

Mutta ydinkysymys onkin että onko ollenkaan totta että Canonical ei tee tarpeeksi yhteistyötä muun yhteisön kanssa? Olisiko jotain täsmällisiä esimerkkejä?

Mutta on myös niin, että jos Roviolle laittaa muutosehdotuksen ohjelmasta, he voivat toteuttaa sen, jos heitä huvittaa. Mutta jos Ubuntun software centerissä olevalle projektille lähettää muutosehdotuksen, kuka tahansa voi toteuttaa sen patchiksi asti: ehdottaja itse, joku hänen kaverinsa, palkattu ohjelmoija, joku kyseisen projektin ohjelmoijista, tai ihan kuka hyvänsä, joka sattuu kuulemaan ideasta ja pitämään siitä. (Edelleen suurin osa Software Centerin ohjelmista on avointa koodia.)

Niinpä, mutta tämä ei edelleenkään ole se ero Applen App Storeen. App Storessakin on tarjolla avoimen lähdekoodin ohjelmia, ja Linux-jakelujen pakettivarastoissa voi olla suljettuja ohjelmia.

Tässä on myös hyvä muistaa, että Ubuntu voisi aivan hyvin vaatia (tai ainakin suositella), että maksulliset Software Centerissä olevat ohjelmat olisivat avointa lähdekoodia. GPL ei estä ohjelmien myymistä, ja suurin osa ihmisistä varmasti edelleen haluaisi ostaa ohjelman helposti Software Centerin kautta sen sijaan, että latailisi jostain ilmaiseksi hämäriä tarballeja, ja kääntäisi lähdekoodista.

Tämä olisi konkreettinen toimenpide, joka edistäisi avoimen lähdekoodin käyttöönottoa kaupallisissa projekteissa. Tuollaista muutosta ei myöskään voi kovin moni muu kuin Canonical tällä hetkellä tehdä: harvalla on hallinnassaan Linux-järjestelmän päällä toimiva sovelluskauppa, jota oikeasti myös käytetään.

Minä kylläkin pystyn kuvittelemaan että avoimen lähdekoodin vaatiminen sovelluskaupassa voisi hyvin tehokkaasti estää avoimen lähdekoodin käyttöönottoa. Kuvittele esimerkiksi että Flash-soitin olisi aikoinaan poistettu Ubuntun pakettivarastoista jos olisi otettu tiukka linja että vain avoimen lähdekoodin sovellukset sallitaan. Välittömästi suuri osa ihmisistä olisi todennut että Ubuntua ei voi käyttää edes perus web-surffaukseen kun YouTube-videot ja nettipelit eivät toimi, ja käyttäjämäärät olisivat kutistuneet ehkä kymmenesosaan.

Harvoin olen kuullut että Linux-jakelujen ongelma on se että niissä on tarjolla liian vähän avoimen lähdekoodin ohjelmia, ja että avoimen lähdekoodin määrää pitäisi joillain periaatepäätöksillä lisätä. Yleinen käsitys on pikemminkin se että Linuxin ja muun avoimen lähdekoodin käyttöönottoa rajoittaa se että ne eivät toimi yleisesti käytettyjen suljettujen ohjelmien kanssa, esim. usein puhutaan että graafikot tarvitsevat Windowsin jotta voivat käyttää Photoshoppia.

3
Mikään pakko ei tietenkään ole tehdä yhteistyötä, ja mitään lupia ei tarvitse kysellä, mutta käytännössä hommat on kuitenkin helpompia, jos vähän ottaa muitakin huomioon.

Juuri siksi minun mielestä ne väitteet, että "jos ei kelpaa, ainahan voi tehdä toisin" on epärealistisia. Onhan toki totta, että aina voi kirjoittaa oman ohjelman/ohjelmiston tilalle tai vaihtaa johonkin muuhun projektiin, jos ei miellytä: niinhän minä tein silloin, kun hylkäsin esimerkiksi Windowsin. Se ei kuitenkaan mielestäni ole lainkaan avoimen lähdekoodin pointti! Mun mielestä avoin koodi ekaa kertaa pitkiin aikoihin mahdollistaa, että ei ole pakko hylätä toimimatonta/itseä miellyttämätöntä proggista, vaan voi osallistua sen kehitykseen, ja muuttaa toimimattoman toimivaksi.

Mulle avoin koodi ei ole niinkään forkkausta, vaan patchien hyväksyttämistä. Joskus toki joutuu forkkimaankin, mutta kyllä suurimmat menestykset on saatu aikaan nimenomaan voimat yhdistämällä.

Hommat voivat olla myös vaikeampia jos ottaa muita huomioon, mikä riippuu ihan siitä ketä nämä muut ovat.

Patchien hyväksyttämisen etu on siinä että jos patchin tekijä ei tunne projektia hän voi pyytää palautetta niiltä jotka työskentelevät proktin parissa aktiivisemmin, jolloin vähäisemmilläkin tiedoilla voi saada aikaan laatutyötä. Samoin jos ei ole kiinnostusta alkaa syvällisemmin kehittämään projektia mutta haluaa korjata jonkin pienen itselle tärkeän asian niin kun tämän korjauksen lähettää projektin ylläpitäjille niin oma ongelma tulee korjatuksi mutta itse ei tarvitse esim. alkaa hoitamaan kaikkea projektin ylläpitotoimintaa, mikä forkkauksen tapauksessa tapahtuisi.

Tilanne voi kuitenkin olla sellainen että sinulla on yritys jossa on N kappaletta työntekijöitä joiden kokopäivätyötä on jonkin tietyn asian tekeminen maksaville asiakkaille. Tämä asia mitä teette perustuu johonkin vapaaseen ohjelmistoon, mutta tämän projektin varsinaiset ylläpitäjät ovat harrastelijoita joilla on ehkä 2h/kk aikaa työskennellä projekin parissa. He voivat myös olla toisen yrityksen palkkalistoilla jolla ei ole mitään kiinnostusta tehdä niitä muutoksia joita teidän täytyy saada tehtyä niille maksaville asiakkaille, joten ylläpitäjät eivä voi käyttää työaikaansa mihinkään teitä kiinnostavien ominaisuuksien kehittämiseen.

Tällainen tilanne voi olla täysin mahdoton jos nämä N kappaletta työntekijöitä joutuvat istumaan mitään tekemättömänä 2 viikkoa kun odotetaan projektin ylläpitäjien mielipidettä johonkin tekniseen suunnitelmaan. Tällaisessa tapauksessa siis hommat ovat käytännössä moninkertaisesti vaikeampia kun otetaan muitakin huomioon, ja usein oikea ratkaisu onkin tehdä itselle tärkeät asiat muilta kysymättä.

Esimerkiksi legendaarinen GCC-kääntäjän forkkaus tapahtui juuri näin, eli oli yrityksiä joiden oli pakko saada toimiva kääntäjä markkinoille, mutta Stallmanin johtama GCC:n kehitystiimi ei pystynyt yhteistyöhön, joten nämä ulkopuoliset päättivät että he eivät ota GCC:n kehittäjiä millään tavalla huomioon vaan tekevät asiat oman päänsä mukaan. Tuloksena oli että heidän kääntäjänsä oli niin paljon parempi että alkuperäinen GCC heitettiin roskakoriin ja tästä ulkopuolisten kehittämästä versiosta tehtiin uusi virallinen GCC.

Usein tuntuukin että nämä jotka alunperin ovat huolestuneita Ubuntun kehityksestä ovat niitä jotka pelkäävät itse joutuvansa sinne roskakoriin jos Ubuntu onnistuukin tekemään kaiken paljon paremmin heiltä kysymättä. Jonkin verran on puhuttu siitä että avoimen lähdekoodin harrastajien motivaatio on maine toisten ihmisten silmissä, ja jos tuleekin joku uusi taho joka tekee kaiken paremmin ja vie kaiken huomion niin tämä voidaan kokea uhkana.

Nythän näyttää, että Canonical kehittää Ubuntulle oman SDK:n ja sille kehityssoftat (tähän suuntaan ainakin Ubuntu Phone näyttää menevän). Tässä olisi mainio mahdollisuus rakentaa kaikkien (tai edes suurimpien ja suosituimpien) distrojen välinen yhteinen kehitysalusta ja sille huippulaadukkaat työkalut. Se tarkoittaisi, että kaupallisilla toimijoilla olisi paljon helpompaa, mikäli haluaisivat portata softaansa Linux-ympäristöön.

Linuxillehan on jo olemassa jonkinlainen lähinnä Red Hatin määrittämä standardi joka takaa yhteensopivuuden eri jakelujen välillä. Mikäänhän ei toki käsittääkseni estä muita distroja ottamasta tätä Ubuntun SDK:ta omaan käyttöönsä, paitsi edellä mainittu uhka omalle asemalle.

Mitä taas tulee paketinhallintaan, sen walled garden -asenteesta olen aina pitänyt. Paketinhallinta vaan on siitä mukava, että kuka tahansa voi alkaa ylläpitämään pakettia, tai ottaa yhteyttä paketin ylläpitäjään ja ehdottaa muutoksia. Tämä on tietenkin oleellinen ero Applen App storeen – onneksi myös Ubuntun Software Center edelleen tässä mielessä eroaa App Storesta edes vähän.

Se oleellinen ero ei kuitenkaan taida olla tämä, sillä jos esim. App Storesta ladatussa Angry Birds pelissä on bugi niin mikään ei estä ottamasta yhteyttä Rovioon ("paketin ylläpitäjään") ja ehdottamasta muutoksia. Kuka tahansa voi myös laittaa oman sovelluksensa App Storeen.

Se oleellinen ero on siinä että Applen järjestelmään ei voi asentaa ohjelmia muuten kuin App Storen kautta, mutta esim. Ubuntun Software Centeriin voi asentaa haluamiaan pakettilähteitä, tai voi vaikka ladata satunnaisen .deb paketin netistä ja Software Center asentaa sen (ns. "Windows-tyyliin" tuplaklikkaamalla ladattua pakettia). Se mistä kannattaa huolestua ja mitä kannattaa pitää silmällä on että rajoitetaanko tätä mahdollisuutta asentaa ohjelmia ja sisältöä muista lähteistä, ei se että onko jossain yhdessä lähteessä, esim. Ubuntun kaupassa, myynnissä suljettuja ohjelmia tai sisältöjä.

4
Ja Ubuntustakin saa tosiaan aidatun ympäristön jos siitä poistaa ohjelmistolähteiden muokkaamisen ja ohjelmistojen käsiasennuksen, samoin kuin Debianista, mutta mitään kummempaa eroa Debianiin ei tässä suhteessa ole toistaiseksi tullut näköjään esiin.

Jep, en tiedä mitä tässä pitäisi tulla esiin, mutta tulevaisuus näyttää. Kuten aikaisemmin mainitsin. Alkaa sen verran offtopic:ksi tämä alkaa mennä.

Kuten itse aikaisemmin sanoin, nämä "olen huolissani" kirjoitukset ovat kovin usein liian epämääräisiä, kuten "uskon että ensi vuonna tiedämme millainen Ubuntu on ensi vuonna; olen huolissani".

Tuntuu lähinnä siltä että nämä huolestuneet mielipiteet perustuvat jonkinlaiseen loogiseen päättelyvirheeseen joka menee: Applella on tietynlainen graafinen käyttöliittymä, Applen järjestelmä on aidattu puutarha. Ubuntun graafinen käyttöliittymä näyttää samalta kuin Applen --> Ubuntu on aidattu puutarha.
Tämä päättely on samaa sarjaa kuin: Napoleon oli 170cm pitkä, minä olen 170cm pitkä --> minä olen Napoleon. Näitä kirjoituksia lukiessa sitä usein toivoisi että argumentointi ja päättely olisi vähän vankemmalla pohjalla, ja ehkä myös toivoisi että näistä asioista keskustelemalla argumentoinnin tasoa olisi mahdollista parantaa.

5
Se minun pointtini oli että Debian ja apt-get tai Red Hat ja RPM eivät juurikaan eroa tässä suhteessa, eli ohjelmat asennetaan yhden tahon tarjoamasta lähteestä. Yhtä hyvin samanlaisen aidatun puutarhan voi tehdä Debianiin tai Red Hatiin, ja on voinut jo pitkään.

Toki muistakin distroista voi tehdä aidatun puutarhan. Tosin Debian pitäisi kehittää jonkilainen kauppapaikka, kuten Ubuntussa tai yksinkertaisen pakettihallinnan. Samoin Red Hat distroon. Plus poistaa ohjelmistolähteiden muokkaamisen ja ohjelmiston käsiasennuksen.

Debianissahan siis on olemassa, on ollut jo pitkään, pakettihallinta, nimeltään apt ja apt-get. Se että onko se "yksinkertainen pakettihallinta" riippuu sitten siitä mitä yksinkertaisella tarkoitetaan, mutta tuo "walled garden" perusperiaate on ollut siellä käytäntönä jo pitkään, eli kaikki asennetaan vain ja ainoastaan yhden tahon määrittelemästä ja hallitsemasta lähteestä. Ja Ubuntustakin saa tosiaan aidatun ympäristön jos siitä poistaa ohjelmistolähteiden muokkaamisen ja ohjelmistojen käsiasennuksen, samoin kuin Debianista, mutta mitään kummempaa eroa Debianiin ei tässä suhteessa ole toistaiseksi tullut näköjään esiin.

6
"Walled garden" ei kuitenkaan tarkoita sitä että järjestelmä sisältää suljettuja ohjelmistoja, kuten voimme sieltä "walled garden" wikipedia-artikkelista lukea. "Walled garden" tarkoittaa järjestelmää johon ei pysty asentamaan muita kuin tietyn tahon hyväksymiä sovelluksia, tai jolla ei pysty pääsemään käsiksi kuin tietyn tahon hyväksymään sisältöön, tai että pääsy näihin ulkopuolisten tekemiin ohjelmistoihin tai sisältöihin on tehty hankalaksi.

Tommi S. hyvä tarkennus. Tuo walled garden on ehkä vähän radikaalinen ilmaisu, mutta täysin realistinen.
Tuohan jo täysin mahdollista tehdä jo Ubuntuun. Löytyy oma kauppa, pilvi ja työpöytä ympäristö hakukoneineen ja mainoksineen. Saa sitten nähdä tulevaisuudessa.

Se minun pointtini oli että Debian ja apt-get tai Red Hat ja RPM eivät juurikaan eroa tässä suhteessa, eli ohjelmat asennetaan yhden tahon tarjoamasta lähteestä. Yhtä hyvin samanlaisen aidatun puutarhan voi tehdä Debianiin tai Red Hatiin, ja on voinut jo pitkään.

7
Testasin tuota omalla pöytäkoneellani, joka on järjestelmän valvonta ohjelman mukaan AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ × 2. Ei mikään ihan moderni kone, muttei kauhean huono.

wxMaxima laski tuon m2:n noin 30 sekunnissa, ja toinen CPU oli koko ajan 100% käytöllä.
m3:sta wxMaxima laski noin 2 minuuttia, toinen CPU 100%:ssa, mutta siitä ei tullut valmista kahdessa minuutissa joten keskeytin sen.

Sitten kun käynnistin komentoriviltä pelkän maximan, ilman tuota graafista käyttöliittymää, niin se sai laskettua nuo kaikki n. 15 sekunnissa. Vaikuttaa siis siltä että wxMaxima on jotenkin tehottomampi kuin pelkkä komentorivillä toimiva perus maxima.

maxima versiotiedot sanovat: Maxima 5.24.0, using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (a.k.a. GCL)

wxMaxima about sanoo: wxMaxima 11.08.0, Maxima version: 5.24.0, Lisp: GNU Common Lisp (GCL) GCL 2.6.7 (a.k.a. GCL)

8
Kirjoituksessa mainittiin myös "walled garden" tyyppiset ympäristöt, mutta esimerkiksi Debianin apt-get tai Red Hatin rpm ovat jo "walled garden" tyyppisiä ratkaisuja siinä missä Ubuntu, sillä kuka tahansa ei voi laittaa pakettilähteisiin omia pakettejaan.

Itse vertaisin "walled garden" distroiksi Red Hat Enterprise, Suse Enterprise ja Mandriva:a. Nämä sisältävät omia suljettua ohjelmistoja, mitä ei ole muissa distroissa. Kehittävät sitä siis itse.

"Walled garden" ei kuitenkaan tarkoita sitä että järjestelmä sisältää suljettuja ohjelmistoja, kuten voimme sieltä "walled garden" wikipedia-artikkelista lukea. "Walled garden" tarkoittaa järjestelmää johon ei pysty asentamaan muita kuin tietyn tahon hyväksymiä sovelluksia, tai jolla ei pysty pääsemään käsiksi kuin tietyn tahon hyväksymään sisältöön, tai että pääsy näihin ulkopuolisten tekemiin ohjelmistoihin tai sisältöihin on tehty hankalaksi.

9
Tässä joitain ajatuksiani:

Kirjoituksessa mainittiin että avoimeen lähdekoodiin kuuluu kehitysprosessin avoimuus ja moninapaisuus. Tuo kehitysprosessin moninapaisuus on kuitenkin mielestäni väärin ymmärretty jos tarkoitetaan sitä että asioiden tekemiseen täytyisi kysyä lupa joltain tahoilta. Ei kenenkään tarvitse kysyä lupaa keneltäkään kun vaihtaa työpöydän taustakuvan omalla koneellaan, eikä kenenkään tarvitse kysyä lupaa jos haluaa muokata omalla koneellaan olevista ohjelmista haluaman laisiaan, tai tehdä kokonaan uudet ohjelmat alusta lähtien jos siltä tuntuu. Yhteistyö muiden tahojen kanssa voi tietenkin olla joissain tilanteissa järkevää, mutta ei kuitenkaan aina.

Kirjoituksessa mainittiin myös "walled garden" tyyppiset ympäristöt, mutta esimerkiksi Debianin apt-get tai Red Hatin rpm ovat jo "walled garden" tyyppisiä ratkaisuja siinä missä Ubuntu, sillä kuka tahansa ei voi laittaa pakettilähteisiin omia pakettejaan.

Kirjoituksessa mainittiin että ubuntu-fi:n palvelimet toimivat välillä huonosti koska ne ovat Canonicalin ylläpitämiä ja sijaitsevat Britanniassa. En tarkalleen tiedä miten nämä maakohtaiset ubuntusivustot toimivat, mutta oletan että olisi mahdollista että esim. tietty porukka laittaisi rahaa pöytään ja hankkisi omat palvelimet joilta sivuston pyöritys onnistuisi paremmin. Esimerkiksi Ruotsin Ubuntun maasivujen palvelimet näyttäisivät sijaitsevan Ruotsissa. Toisin sanoen uskon että tahmailusta ja Canonicalin byrokraattisuudesta huolimatta sivustojen ja foorumin käyttäjät saavat kuitenkin rahoilleen vastinetta.

Yleensä tällaiset "en pidä kehityksen suunnasta" tyyppiset kirjoitukset Canonicalista ja Ubuntusta ovat liian epämääräisiä, ei oikein selviä että mikä se "kehityksen suunta" oikein on.

Ja otsikon kysymykseen: Itselläni pyörii tässä koneessa järjestelmä jossa ohjelmat voi kätevästi käynnistää vasemman reunan palkista, palkista löytymättömät ohjelmat voi etsiä kun kirjoittaa pari kirjainta ohjelman nimestä, ja joka asentuu ilman suurempia ongelmia helposti koneeseen kuin koneeseen LiveUSB tikun avulla. Tuntuu hyödyttävän ainakin minua.

10
Ensimmäiseksi todettakoon että Javascript ei ole samanlaista kuin Java.

Toiseksi: kysymys on melko epäselvä, mutta tässä muutamia huomioita.

"summa = testValue": tässä kohdassa muutat globaalin muuttujan 'summa' arvoa. Haluatko varmasti tehdä näin, vai onko tämä virhe? Paikallisia muuttujia luodaan 'var' avainsanalla.

this avainsana funktion sisällä viittaa objektiin joka "omistaa" funktion, eli esim. se linkki jota klikattaessa tämä funktio suoritetaan.

this.test1 on siis muuttuja jossain HTML-oliossa tms., ja demo.test1 on muuttuja 'demo' funktio-oliossa, ja nämä ovat siis täysin eri asia.

Kun kysyt "miksi on suositeltavaa tehdä näin?", niin esittäisin vastakysymyksenä: missä näin suositellaan, ja minkälaisessa asiayhteydessä?

11
Sitten se minulle haastavampi asia. Miten tuo tietokantapuoli kannattaisi tehdä Gitin kannalta? Tällä hetkellä en ole tehnyt mitään asian hyväksi, joten kaikki vinkit/ohjeet ovat tervetulleita. Tai onnistuuko tietokannan kehitys tällä tavalla ollenkaan?

Tietokannan versioinnissa voi käyttää migraatioita, joka periaatteeltaan on että aina kun tietokannan rakennetta muutetaan niin kyseisen muutoksen tekevä SQL-lause tallennetaan git-repoon, ja kun uutta koodia pushataan palvelimelle niin nämä migraatio-komennot ajetaan siinä samassa skriptissä joka päivittää sovelluksen palvelimella.

Tunntetuin esimerkki tietokantamigraatioista on ehkä Ruby on Rails -websovelluskehykseen sisältyvä migraatio-ominaisuus, mutta on myös erilaisia kirjastoja ja palikoita eri kielille ja alustoille jotka osaavat hoitaa nuo migraatiot.

12
Tämä tulostaa taulukon:
Koodia: [Valitse]
pvm: 28.10.2012 Siirto: 0
pvm: 27.10.2012 Siirto: 2,46
pvm: 26.10.2012 Siirto: 4,4
pvm: 25.10.2012 Siirto: 3,75
pvm: 24.10.2012 Siirto: 4,42
pvm: 23.10.2012 Siirto: 5,22

Nyt pitäisi keksiä, miten saan tietyn päivän tuntikohtaiset lukemat haettua. Tuo sivusto on varsin monimutkainen rakenteeltaan ja samaa sivua päivitetään käyttäjän tekemien pyyntöjen mukaan Ajaxilla. Tähän loppuukin sitten oma osaaminen. Jos haluan vaikkapa päivämäärän 25.10.2012 tuntiraportit, niin miten sen teen?

Mahdotonta sanoa tarkemmin miten tuo pitäisi tehdä, kun en tunne sivustoa, mutta itse lähtisin ratkomaan esim. siten että asentaisin Firefoxiin Firebug-nimisen lisäosan, ja sitten Firebugilla katsoisin minkälaisia Ajax-pyyntöjä se sivusto lähettää (mihin URLeihin ja minkälaisilla parametreilla), ja minkälaista dataa ne Ajax-pyynnöt saavat vastauksena, ja sitten näiden perusteella tekisin pyynnöt omassa skriptissä.

Tarvitseeko muuten esim. tuo curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"); tehdä aina joka kerta uudelleen, vai riittäisikö että sen tekee kerran tuolle $ch kahvalle ja sitten ainoastaan vaihtaa niitä optioita jotka oikeasti muuttuvat eri pyyntöjen välillä?

13
Nyt tuli stoppi vastaan eräässä pienessä käännöstyössä. Mitä eroa on toiminnolla "query" vrt "search" kun haetaan tietoa tietokannasta. Homma liittyy radioamatöörien loki touhuihin, joten mistään hirmu vakavasta hommasta ei ole kysymys. Olisi vaan kiva päästä eteenpäin asian tiimoilta, terveisin Timo

Suomennoksen kannalta ero on yksinkertaisesti "query"="kysely" ja "search"="haku".

Teknisesti yleensä query eli kysely on jokin käsky joka annetaan tietokantamoottorille, ja jonka perusteella tämä moottori sitten noutaa tiedot.
Haku, tai hakeminen, taas on prosessi jossa tietoja käydään läpi ja yritetään löytää jotain tiettyjä ehtoja vastaavia tietoja.

Esim. MySQL tietokantaa käytettäessä kysely on se "SELECT * FROM table WHERE nimi LIKE '%nen'"-tyyppinen lause joka lähetetään tietokantapalvelimelle. Haku on taas sitten se toiminto mitä se tietokantapalvelin tekee kun se käy läpi niita tietoja ja yrittää löytää Virtaset ja Niemiset tietokannasta.

Samoin myös esim. se mitä Google tekee on hakemista, mutta se lause mikä siihen Googlen kenttään syötetään on kysely, eli query. Esim. jos katsoo sitä Googlen urlia kun on tehnyt haun niin siellä on &q=sinun+haku+sanasi, ja tuo 'q' tuossa on lyhennys sanasta 'query'.

14
Sonera (kuten kaikki muutkin) on blokannut portin 25 käytön. Ei onnaa pitää sähköpostipalvelinta, paitsi siten että muutat portin 25 joksikin muuksi esim.2525. Tuon voi toteuttaa esim. dnsexit palvelun tarjoamalla mailrelay palvelulla.



Entäs voinkos käyttää Soneran omaa SMTP palvelinta tähän? (ELi mail.inet.fi)
P.S MIksi smtp2go.com toimii sitten?

Käsittääkseni tuon pitäisi onnistua jos konffaat sen Soneran SMTP palvelimen relayksi sinne postfixiin. Jos se vaatii tunnuksen ja salasanan niin nekin voi jotenkin konffata postfixiin. Esim. tällaisen ohjeen löysin: http://www.green-light.ca/2009/12/configure-postfix-with-relay-host-and-smtp-authentication/

Tuon smtp2go.com:in FAQ:ssa lukee tällaista: "Will SMTP2GO work even if port 25 is blocked? Yes - SMTP2GO is open on 4 different ports (25, 2525, 8025 and 587).", eli niillä on useita portteja auki juuri sitä varten että jos portti 25 on tukittu, eli tuosta voi johtua yllättävä toimivuus.

Muuten hyvä muttakun ei ole tunnuksia soneran SMTP palvelimelle :/

EDIT:
Nyt tuli toinen ongelma ja outo sellainen:
Koodia: [Valitse]
Sep 11 18:20:08 sami-server postfix/smtpd[26575]: connect from localhost[127.0.0.1]
Sep 11 18:20:43 sami-server postfix/smtpd[26575]: 40222C2FF9: client=localhost[127.0.0.1]
Sep 11 18:21:23 sami-server postfix/cleanup[26624]: 40222C2FF9: message-id=<20120911152043.40222C2FF9@saakuttinen.co.cc>
Sep 11 18:21:23 sami-server postfix/qmgr[26564]: 40222C2FF9: from=<sami@saakuttinen.co.cc>, size=408, nrcpt=1 (queue active)
Sep 11 18:21:23 sami-server postfix/smtp[26672]: connect to mta.inet.fi[195.156.147.12]:25: No route to host
Sep 11 18:21:23 sami-server postfix/smtp[26672]: 40222C2FF9: to=<smantysaari@facebook.com>, relay=none, delay=53, delays=53/0.03/0.04/0, dsn=4.4.1, status=deferred (connect to mta.inet.fi[195.156.147.12]:25: No route to host)
Sep 11 18:21:26 sami-server postfix/smtpd[26575]: disconnect from localhost[127.0.0.1]

Se postipalvelin voi olla myös smtp.inet.fi.

Minusta tuo virheilmoitus näyttää samalta kuin aiemmin, eli sami@saakuttinen.co.cc on yrittänyt lähettää postia facebook sähköpostiosoitteeseen, ja mta.inet.fi sanoo "No route to host", eli yhteyttä ei saada.

15
Sonera (kuten kaikki muutkin) on blokannut portin 25 käytön. Ei onnaa pitää sähköpostipalvelinta, paitsi siten että muutat portin 25 joksikin muuksi esim.2525. Tuon voi toteuttaa esim. dnsexit palvelun tarjoamalla mailrelay palvelulla.



Entäs voinkos käyttää Soneran omaa SMTP palvelinta tähän? (ELi mail.inet.fi)
P.S MIksi smtp2go.com toimii sitten?

Käsittääkseni tuon pitäisi onnistua jos konffaat sen Soneran SMTP palvelimen relayksi sinne postfixiin. Jos se vaatii tunnuksen ja salasanan niin nekin voi jotenkin konffata postfixiin. Esim. tällaisen ohjeen löysin: http://www.green-light.ca/2009/12/configure-postfix-with-relay-host-and-smtp-authentication/

Tuon smtp2go.com:in FAQ:ssa lukee tällaista: "Will SMTP2GO work even if port 25 is blocked? Yes - SMTP2GO is open on 4 different ports (25, 2525, 8025 and 587).", eli niillä on useita portteja auki juuri sitä varten että jos portti 25 on tukittu, eli tuosta voi johtua yllättävä toimivuus.

16
Ensimmäinen mikä tulee mieleen on että miten tuo serveri on yhteydessä internettiin?

Useimmat kuluttajanettiliittymät käsittääkseni estävät yhteyden kaikkiin muihin paitsi liittymän tarjoajan sähköpostipalvelimeen, jotta tavallisten käyttäjien koneille pesiytyvät virukset eivät voisi lähettää roskapostia massoittain jokaiseen maailman postipalvelimeen.

Jos siis palvelin on omassa kotiverkossasi ja yhdistää internettiin kuluttajaliittymän kautta, niin silloin tuolle SMTP palvelulle pitäisi ehkä konffata välityspalvelin (relay) jolle viestit toimitetaan edelleen eteenpäin välitettäväksi, ja se relay on liittymäntarjoajan sähköpostipalvelin.

Jos haluaa testata tuota yhteyttä postipalvelimelle niin sitä voi tehdä telnet komennolla. Esim. jos yritän kotikoneeltani telnet yhteyttä tuohon mx47488.pri.secmail.com palvelimeen niin käy seuraavaa:
tommi@tommi-desktop64:~$ telnet mx47488.pri.secmail.com 25
Trying 217.112.192.18...


Mutta jos yritän samaa Saksassa sijaitsevalta vuokravirtuaalipalvelimelta, josta on ihan oikeat yhteydet, niin käy näin:
[tommi@xxxxx12345 ~]$ telnet mx47488.pri.secmail.com 25
Trying 217.112.192.18...
Connected to mx47488.pri.secmail.com.
Escape character is '^]'.
220 mx19.solutions.fi ESMTP


Eli yhteys muodostuu ja sieltä tulee vastaus 220, joka näyttää tarkoittavan että "service ready".

17
Kun prosessi jostain syystä loppuu, joko se poistuu exit(x):llä tai tulee jokin virhe yms., niin kerneli automaattisesti siivoaa käyttämättömän muistialueen pois, eli muistiresurssit eivät jää ohjelman loputtua kummittelemaan varattuina vaikka niille ei tekisikään free:tä.

Kiitos, hyvä tietää.

Miten käy jos esim malloc-funktio ei palauta muistia eikä muista tarkistaa paluu-osoitetta vaan kirjoittaa sopimattomaan paikkaan, jolloin ohjelma kaatuu. Siivoaako kerneli jäljet myös siinä tapauksessa?

Joo, aina kun prosessi päättyy mistä tahansa syystä niin kerneli siivoa kaiken siihen liittyvän pois.

Tässä esimerkki reallocilla ja memcpy:llä, joita _Pete_ ehdotti aiemmin. Saattaa olla yksinkertaisempi kuin linkitetty lista. En ole testannut tätä ollenkaan joten joitain bugeja voi olla, mutta perusperiaate pitäisi selvitä:
Koodia: [Valitse]
// jonon koko voi olla pienempikin, sitä kasvatetaan tarvittaessa
int jonon_koko = 1000;

int luetut_merkit = 0;
int puskuriin_luetut_merkit = 0;

char *merkkijono = malloc(jonon_koko * sizeof(char));
char puskuri[100];

while((puskuriin_luetut_merkit = read(STDIN, puskuri, 100)) != 0) {
  // jos meinataan kirjoittaa merkkijonoon enemmän kuin sinne mahtuu niin
  // tuplataan merkkijonon pituus reallocilla
  if ((luetut_merkit+puskuriin_luetut_merkit) > jonon_koko) {
    jonon_koko *= 2;
    merkkijono = realloc(merkkijono, jonon_koko * sizeof(char));
  }
  // kopioidaan puskurin sisältö merkkijonon loppuun
  memcpy(merkkijono+luetut_merkit, puskuri, puskuriin_luetut_merkit);
  luetut_merkit += puskuriin_luetut_merkit;
}

// Merkkijono sisältää nyt stdinin sisällön kokonaisuudessaan.
// Merkkijonon loppuun voisi ehkä vielä lisätä tyhjän merkin
// jotta C-kielen merkkijonofunktiot osaavat käsitellä sitä oikein.

18
Jos resursseja varatessa tulee stoppi ja poistuu exit(1):llä, niin jääkö jo varatut resurssit vapautumatta? Jos exit-vaihtoehto toteutuu, olisi systeemi sen jälkeen ongelmissa. Onko?

Ohjelma ajetaan omassa prosessissaan, ja prosessilla on oma muistialue jota se voi käyttää. Prosessien muistialueet on eristetty toisistaan niin että yksi prosessi ei voi sotkea muiden prosessien toimintaa. Jos prosessin muistialue käy liian pieneksi, ja se haluaa lisää muistia käyttöönsä, niin se voi pyytää kerneliä laajentamaan muistialuettaan esim. juuri malloc komennolla.

Kun prosessi jostain syystä loppuu, joko se poistuu exit(x):llä tai tulee jokin virhe yms., niin kerneli automaattisesti siivoaa käyttämättömän muistialueen pois, eli muistiresurssit eivät jää ohjelman loputtua kummittelemaan varattuina vaikka niille ei tekisikään free:tä. Toinen asia on sitten jos ohjelma esim. luo tiedostoja, näitäkin voidaan kutsua resursseiksi, ja ne eivät automaattisesti poistu.

19
Korjatkaa jos olen väärässä, mutta käsittääkseni Linuxin historia ei pohjaudu mitenkään mihinkään Stallmanin luomukseen? Eli siis Linus pyysi kuitenkin sakkia netin kautta osallistumaan avoimesti. Taas ilman Linusin panosta uskoisin että oikeastaan häävin kukaan tämän foorumin lukijoista edes tietäisi kuka Stallman on.

Jos lukee sen kuuluisan viestin josta Linux sai alkunsa, eli sen missä Linus sanoo "I'm doing a free operating system, just a hobby, nothing big", (linkki), niin kyseisessä viestissä Linus mainitsee: "I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months". Eli saadakseen jotain toimivaa aikaiseksi hän tarvitsi jonkun shell-ohjelman lähdekoodin (tässä bash v.1.08), sekä C-kääntäjän lähdekoodin (gcc v.1.40).

Gcc on tunnetusti alunperin Richard Stallmanin kehittämä, ja bash shell on alunperin kehitetty Stallmanin perustaman FSF:n rahoituksella, eli bashin kehittäjä Brian Fox sai kehitystyön ajan FSF:ltä säännöllistä kuukausipalkkaa.

Vielä tänäkin päivänä kun selaa joitain man sivuja Ubuntu 12.04:ssä niin Stallmanin nimi löytyy sieltä.

Esim. ls-komento, eli se jolla näkee hakemiston sisällä olevat tiedostot, kertoo man sivullaan: "Written by Richard M. Stallman and David MacKenzie." Samoin esim. rm-komento (tiedoston poistaminen) ja cat-komento (tiedoston sisällön tulostaminen ruutuun) mainitsevat Stallmanin yhtenä alkuperäisistä tekijöistä.

Ilman Stallmanin panosta Linux olisi saattanut jäädä harrasteprojektiksi jolla muutamat ihmiset olisivat leikkineet 1991-1993 jonka jälkeen se olisi hylätty, eikä kukaan tämän foorumin lukijoista olisi Linuxista koskaan kuullut.

Tässä oli siis jotain näkökulmia joita löysin hieman wikipediaa ja vastaavia selaamalla. Toinen asia on miten tämä vaikuttaa Stallmanin sijoittumiseen vaikuttavimman henkilön listalla.

20
Kiitos vastauksista. Täytyy kokeilla illan aikana.
En ole varma kuinka pitkää videota saa lataa youtubeen, mutta nuo yli tunnin pätkät varmaankin vaatii jonkilaista maksullista tiliä? Täytyy ottaa selvää.

Itse en ole koskaan ladannut yhtäkään videota YouTubeen, mutta ihan mielenkiinnosta kokeilin löytyykö YouTuben ohjeista tarkempaa tietoa, ja löysin tällaisen:
http://support.google.com/youtube/bin/answer.py?hl=fi&answer=71673

Eli lyhyesti: Kuka tahansa voi muuttaa tilinsä sellaiseksi että sinne saa ladattua pitkiä videoita (maks. 12 tuntia), tämä vaatii jonkinlaisen tekstiviestivahvistuksen, eli ilmeisesti jotain sellaista että Google lähettää kännykkään jonkin vahvistuskoodin jotta varmistetaan tilin omistajan henkilöllisyys.

Lisäksi tämä pitkien videoiden latausoikeus voidaan ottaa pois jos rikkoo sääntöjä, eli esim. tekijänoikeusrikkomukset.

Sivuja: [1] 2 3 ... 13