Image 01

Archive for the ‘aš mokausi? Studentiškai’ Category

Cezario šifras

Friday, July 2nd, 2010

Cezaro šifras

yra vienas iš seniausių šifravimų technikų. Šifravimas atliekamas pakeičiant abėcėlės raides per tam tikrą, žinomą pozicijų skaičių. 

Nuotrauka paimta iš http://en.wikipedia.org/wiki/Caesar_cipher

Pateiktame paveiksliuke abėcėlė perstumta yra per 3 vietas, tai Cezario šifravimo raktas lygus trim. Šifravimas naudoja tokį algoritmą:

šifravimui : Ci=(Pi +K) mod 26,

dešifravimui: Pi=(Ci-K+26) mod 26
kur Ci šifruoto teksto  raidės, Pi žinutės raidės, K – šifravimo raktas.

Trūkumai

Šio algoritmo atsparumas atakom yra silpnas. Galima pakankamai greitai atšifruoti žinutę nežinant postūmio.

Rakto atspėjimo būdai

Jei yra užkoduotas angliškas tekstas, galima atlikti raidžių dažnumo analizę. Originalų tekstą gauname keičiant atitinkamo dažnumo raides. Angliško teksto raidžių dažnumo lentelė pateikta žemiau

raidžių dažnumo lentelė

angliško alfabeto raidžių dažnumo lentelė

Taikant šį būdą reikia pakankamai didelio užkoduoto teksto, kad būtų gautas kuo tikslesnis raidžių dažnumas. Dėl efektyvumo papildomai galima paskaičiuoti kiekvienos raidės postūmį. Dažniausia postūmio vertė  - šifro raktas.

Kitas būdas naudoti “brute force”  metodą sudarant įvairius raidžių derinius ir juos tikrinant su žodžių duomenų lentele.  Radus atitikimą paskaičiuoti postūmį.

Programa

Programa sukurta JAVA programavimo kalba ir moka užkoduoti tekstą, jį dekoduoti ir bandyti atspėti kodavimo raktą.  Sukurta tik komandinės eilutės valdymas.

Programos pirminis tekstas priglaustas pastebin.lt sistemoje: main.java encode_decode.java

Plačiau galite pasiskaityti angliškoje wikipedijoje http://en.wikipedia.org/wiki/Caesar_cipher

studijų užrašai virs pelenais

Wednesday, June 30th, 2010

Segnetoelektrikai

Po keturių studijų metų liko daug užrašų, konspektų. Vieni jų rašyti ranka, kiti atspausdinti kompiuteriu, kiti  kolegų rašyti ir vėliau kopijuoti.

Daugiausia ranka rašytų konspektų yra iš pirmojo kurso modulių, ypatingai matematikos. Vėliau atėjo didžioji apvaizda, išmintis, kad tai mažumėlę nenaudinga. Dažniausiai paskaitų medžiagą power point formatu yra prieinama internete.

Paskaitos metu tiesiog klausydavai kaip dėstytojas skaito iš skaidrių. Kas po paskaitos likdavo atmintyje priklausydavo nuo temos įdomumo, dėstytojo įgūdžių perteikti medžiagą ir kolegų, kurie sėdi aplink tave. Turbūt užsirašinėjant medžiagą ar pasižymint pastabas, atsimintum daugiau nei šiaip klausant. Bet žinai, kad ta pati medžiaga yra ftp serveryje; ar galiausiai gausi kokį el. konspektą iš praeitų ar dar senesnių metų.

Liko mano neįgyvendinta mintis nusinešti kompiuterį į paskaitas ir skaidrėse žymėtis komentarus ir kitą aktualią informaciją, susijusią su tema. Net susiradau klaviatūros greitąją komandą įterpti komentarą dokumentų ar skaidrių programose ( CTRL + ALT + N – tokia komanda Open Office pakete sukuria nauja komentarą).

O baigus kur tuos popierinius užrašus dėti? Skaitmeninius studijų dokumentus įsirašiau į DVD, o gal prireiks?

Iškilus klausimui nebėgsi ieškoti kuriam puslapyje yra reikiama informacija. Ir išvis tie popieriai gali būti taip gyliai užkišti ar net kitame mieste. Blogiausiu atveju pažiūrėsi elektroninę versiją, jei tokią turėjai kompiuteryje. O dažniausiai keliausi tiesiai į google ir rašysi užklausą. Na gal kiek vertesni nei sausa teorija, esanti lapuose, yra įvairių užduočių sprendimai, bet vėlgi greičiau rasčiau atitikmenį internete, nei savo lapuose.

Tad geras maišas popieriaus nugulė sode ir bus panaudoti užkuriant šašlykinę. O gal vertėjo nuvežti perdirbti? Juk būtų žaliam ir ekologiškam šiuo metu populiariu…

Burnin' hard, loose and clean

drupal TVS nuotykiai

Saturday, May 1st, 2010

Paskutiniu metu labai daug laiko praleidžiu dirbdamas su DRUPAL turinio valdymo sistema. Ir buvo iškilę nė vienas gliukas. Aprašysiu juos ir jų sprendimo būdus. Tikiuosi bus naudinga.

Edit any page content

Vartotojo grupei įjungiau leidimą redaguoti turinį “edit page content”, bet ši rolė vistiek nematė EDIT laukelio ar negalėjo prieiti prie turinio redagavimo formos. Jei turinys buvo sukurtas naudojant FULL HTML, o šis vartotojas neturi leidimo naudoti FULL HTML, jam bus neleista redaguoti turinio. Šiuos režimus galima įjungti, išjungti varotojams Admin / Site Configuration / Input Formats dalyje.

Sprendimą radau http://drupal.org/node/370360

Formos įvedimo laukelis datos tipo

Kuriant įvedimo formą norėjau įdėti datos pasirinkimą. Reikia kurti formos laukelį su parametrais

….
$form ['kintamasis'] = array (
‘#type’ => ‘date’,
…..
);
O įvestas reikšmes išsaugo kaip masyvą
array(‘year’ => 2007, ‘month’ => 2, ‘day’ => 15)
Keisti į unix timestamp formatą naudojau tokią operaciją:
$date = mktime(0, 0, 0, $node->kintamasis['month'], $node->kintamasis['day'], $node->kintamasis['year']);
Duomenų bazėje esančia datos eilutę Unix timestamp formatu galima atvaizduoti formos date tipo laukelyje tokiu būdu:
$form ['kint'] = array (
‘#type’ => ‘date’,
‘#default_value’ => array (‘year’ => date(‘Y’, $node->kint),
‘month’ => substr(date(‘m’, $node->kint), 1,1),
‘day’ => date(‘d’, $node->kint))
);

Informacijos šaltis: http://api.drupal.org/api/drupal/developer–topics–forms_api_reference.html/5#date

Paieškos laukas

Jei norite, kad paieškos laukelis atsirastų jūsų sukurtoje temoje, reikia nepamiršti įjungti pasirinktoje temoje paieškos lauko galimybę. Tai galima atlikti temos nustatymuose. Taip pat reikia suteikti leidimus pasirinktomis vartotojų rolėmis. Kitu atveju paieškos laukelis nebus matomas.

Sprendimą radau http://drupal.org/node/210812

Navigacijos meniu matomas tik adminstratoriui

Pats nesugalvojau kaip padaryti tik administratoriui matomą navigaciją, Navigacijos bloko nustatymuose galima parinkti kuriomis rolėmis bus matomas blokas. Jei nepasirinkta nei viena konkreti vartotojų grupė, blokas matomas visiems. Pagrindinis vartotojas (vartotojas su UID = 1) nėra sąraše.
Sprendimas paprastas. Sukurti naują vartotojų rolę, priskirti pagrindiniam vartotojui, o navigacijos bloko nustatymuose pažymėti, kad tik naujai sukurtai grupei bus matoma.

Informacija rasta http://drupal.org/node/34677

Nurodyti duomenų bazės lentelės koduotę

Labai gerai, kad drupal turinio valdymo sistema yra visiškai UTF-8 koduotėje. Kurdamas savo modulį .install faile aprašant duomenų bazės lentelę  nebuvau nurodęs numatytos koduotės. Tad turėjau problemų su atvaizdavimu. Modulio install faile kurdamas duomenų lentelę dabar nurodau: UTF8  CHARACTER SET utf8 COLLATE utf8_general_ci

Gali būti kad su šiomis problemomis susidūrė daugelis per pažinimo metą su drupal sistema. Tokiu būdu geriau susipažįsti su sistema.

Alternatyvos mathcad ir matlab

Wednesday, December 2nd, 2009

7 semestre turiu modulį taikomoji matematika. Skaičių eilutės, konvergavimai, divergavimai ir kiti mieli aukštosios matematikos dalykai. Ubuntu operacinėje sistemoje ieškojau programos mokančios skaičiuoti, bet paprastai valdomos. Daugiau mažiau panašios į mathcad, kur galima viską dėlioti ir valdyti per grafinę sąsają.

SMath

Radau SMath, kur vizualiai mažai skiriasi nuo mathlab, tik skaičiuoti daug ko nemoka. Bent jau manuoju atveju, kai reikėjo konkrečių veiksmų. Kartais nuo karto ilgai skaičiuodavo eilutės sumos  rezultatą arba paprasčiausiai užstrigdavo.

Maxima algebra system

Toliau mėginau Maxima algebra system. Komandinės eilutės pagalba suvedamas reiškinys ir gaunamas atsakymas. Taip truputi nepatogu naudotis, reikia žinoti sintaksę, kaip teisingai aprašyti vieną ar kitą funkciją, veiksmą. Šia programą galime naudotis tiek Windows tiek Linux sistemose.

WolframAlpha

Galiausiai atradau WolframAlpha. Internete esanti tarnyba. Buvau ją visiškai  užmiršęs, gerai kad kolegos priminė.
Čia skaičiavimus taip pat reikia vesti komandines eilutės pagalba, ir mokėti sintaksę. Bet ši sistema be pagrindinio atsakymo pateikia gausią informaciją apie suvestą reiškinį (grafikas, kitos formos, apytikslė reikšmė, trupmeninė forma). Kadangi paslauga yra internete gali naudotis nepriklausomai nuo operacinės sistemos.
Keletas mano naudotų funkcijų su pavyzdžiais:

  • sum (n^4+1), n=1..infinity Skaičiuoja reiškinio sumą nuo 1 iki begalybės;
  • integral from 0 to 0.5 sin (4*x^2) dx Skaičuoja reiškinio integralą nuo 0 iki 0.5. Galime Integral keisti žodžiu int arba integrate;
  • sumconvergance [1/n^6) ,n] Patikrina ar suma reiškinio vienetas dalintas iš n pakelta šeštuoju laipsniu konverguoja;

Seniau norėdamas atlikinėti namų darbus jungdavau Windows aplinką ir skaičiuodavau su mathcad, nes Ubuntu sistemoje tingėjau mokytis dirbti su maxima algebra system. Dabar laisvai galiu skaičiuoti ir ten ir ten. Nekalbant jau apie tai kad WolframAlpha yra visiškai nemokama ir prieinama visiems, tik reikia turėti kompiuterį su interneto prieiga.

nemokamos priemonės universitete

Friday, September 18th, 2009

Kodėl kartais gerai nueiti į paskaitą?
Ogi užėjus į fakultetą, neaiškus tipelis duoda  A4 formato sąsiuvinį ir sako: “čia matematikai”. Nesupratęs imi, juk nemokama. Gal kažkur pravers.
Na ir kas kad kiekvieno puslapio apačioje reklama. Ant sąsiuvinio nugarinės pusės šviečia IKI pasiūlymas nemokamai (be pradinio įnašo) pasidaryti “IKI premija” kortele. Vis dar galvoju ar verta dar vieną kortelę laikyti piniginėje. PC Molo lojalumo kortelę pasidariau  – bet nė karto nepanaudojau, ir kažkur ją pamečiau, bet el. paštą ir mobilų reguliariai bombarduoja pasiūlymais.

Taigi sąsiuvinį gavome nemokamai, tušinukų visada galima prisirinkti per visokius pristatymus ar konferencijas, pvz “KTU karjeros dienos”. Jau pagrindinius dalykus turime.

Dar galime susirinkti visokių priedų – atšvaitų, arba studento dienoraščių. Tik reikia žinot kur eiti.

Su nuliu investicijų tiek priemonių! O jei ir dar knygos būtų nemokamos, tebūnie su reklamomis. Ateini į paskaitą, duoda knygą: “va čia tau matematikai” ir kas antrame puslapyje reklama. Išvis būtų pakenčiama ?