Archyvas

Kategorijos ‘Kompiuteriai’ archyvas

Naujų darbuotojų apmokymai ir savaitė su Logitech Z-5500 :D

2010.06.19 Xamas Komentarų: 0

Taigi vajeigi vataigi :D :D… Ką aš šiandien veikiau… O vat ir nepatikėsit – vykdžiau naujų darbuotojų apmokymus ir žinių patikrinimą… Ir kaip mintyse man buvo juokinga kai kuriais momentais… Kaip faina prisiminti kaip prieš 5-erius metus pats tokiu pat būdu stengiausi įtikti ir įrodyti kad galiu sukurti geriausią produkciją, ir buvau kupinas entuziazmo :D . Dabar lygiai tą patį naujokuose mačiau :D . Entuziazmo varikliai su grandiozinėm įdėjom :D , technologijų asai :D . Na bus įdomu žiūrėt kaip jie tai realizuos realiame komandiniame darbe, bet jau mintyse nusidėjau :D – pradėjau planuoti kai kuo didesnę dalį savo darbo perkelti ant jų, entuziazmu trykštančių, galvų :D .

Ir tuo pačiu keista, šiandien susimasčiau, nejaugi jau tiek metų praėjo, ir to entuziamo kažkaip nebėra tiek daug – į tai neatkreipdavau dėmesio, kol nepamačiau tokių entuziastingų žmonių.

Na o dabar apie Z-5500 –  prisimenat, kaip beveik prieš metus rašiau blogo įrašą, kaip apie jas svajoju (http://www.prisimenu.lt/2009/07/logitech-z-5500/ ) – tai va, nebeištvėriau :D :D:D – sakau jamu, nes labiau jau knieti ir norisi jas turėti, o tai bo dar būsiu nelaiminga žmoguva… Na o juk nelaimingu būti yra griežtai draudžiama(o dar mokslininkų tiek prirašyta, kaip tai smarkiai kenkia ir darbo efektyvui ir t.t.)…

Tai vat aš jomis džiaugiuosi jau savaitėlę gerą, kartu su Creative Sound Blaster X-Fi Titanium Fatal1Ty Champion:

Creative X-FI Titanium Fatal1ty Champion Edition

Ji laikoma pačia geriausia, šiuo metu rinkoje esančia, kompiuteriui skirta garso korta – ir išties, lyginant su integruota garso kortą, ir X-Fi Titanium Fatal1Ty – skirtumas kaip diena nuo nakties. Visų pirma – papildomas aparatūrinis garso stripinimas ir daug didesnės kortos galimybės tikrai leidžia išgauti tuos 109 db, o integruota vargiai ar vos 90db. (Tiems kas nežino, tai db – reliatyvus eksponentinis dydis, t.y. (2db != 2×1db).

Taigi, ši garso korta, kartu su Logitech Z-5500 (dievinu jas dar ir dėl LCD ekrano valdymo dėžėj ir nuotolinio pultelio), kurios šiuo metu yra laikomos geriausiomis rinkoje esančiomis kompiuteriams skirtomis kolonėlėmis(berods vienintelės turi skaitmeninę išvestį), bei galingiausiomis savo 5.1. kompiuterinių kolonėlių serijoje (505W RMS, 1,01 kW PMPO, 8 Omai @ 100Khz, >115db max., norm. 100db), yra fantastinis tandemas.

Ir kaip aš džiaugiuosi kad nereikia sėdėt gyvenant butuke kokiam nors, kur per šią savaitę turbūt būčiau bent 5-etą kartų nuovadoj pabuvojęs..  :) Dabar – subą ant maxinumo, satelitus į lauką nukreipi, pradarai langą ir susišnekėt kieme nebeįmanoma :D :D, visas rajonas skamba :D :D:D.

Išpakuojam Z-5500 :)

O štai ir pats žvėriukas:

Logitech Z-5500, Max. SPL > 115db (norm. 100db), 8 omai @ 100 Khz, 505W RMS, 1,01kW PMPO

 —

Tai tiek va :) .

Kategorijos: Kompiuteriai, Mano filosofavimai, Verslas Žymos:

Nauji žaidimai už lietuviškas kainas

2010.04.28 Xamas Komentarų: 0

Nors ir vargu ar nors kokiu aspektu galėčiau save pavadinti ‘geimeriu’, bet vienas faktas pritraukė mano dėmesį -
ar žinojot, jo šiandien Steam’e “Grand Theft Auto IV”(GTA4) kompiuterinis žaidimas – vienas populiariausių nūdienų gyvenimo simuliatorių, kurio pačiam nors ir bandyt nelabai teko, tačiau šiandien Steam’e jis kainavo, atkreipkit dėmesį, 7,50 EUR. Manau nelabai pavyktų rasti žmonių, net ir Lietuvoje, kurie pasakytų kad šis žaidimas nevertas tokios kainos(ypač turint galimybę ‘legaliai’ žaisti daugelio žaidėjų režimu).

Jeigu būtų tokios visų žaidimų kainos lietuviams, tai ir piratavimo mastai matyt artėtų į ribą:
limkaina->5 EUR(LT union PIRACY) = 0

Mano asmenine nuomone, net ir 50 Lt kaina, (krizės neišgyvenantiems arba ją išgyvenantiems tik popieriuje), kada būtų galima sumokėti už kokybišką tik pasirodžiusį naują kompiuterinį žaidimą(tiesa tai negalioja šio blogo įrašo atveju, kai kalbame apie ~1,5 metų senumo objektą)), net ir Lietuviui, būtų tikrai suprantama ir logiška.

O ir už langines geras(pvz. W7), x64 Proffesional ar Ultimate versiją su XP mode, galima būtų mokėti manau kokius 250Lt, o ne 700Lt ar kiek ten dabar yra. (tiesa, juokingai skamba, bet perkant laptopą, šiais laikais 90 proc. atveju tau nori nenori duoda tą Windozę legalią, už kurią, jeigu gerai pakalkuliavau, turbūt primokėjau kokius 350 Lt (ir tai čia tokios kainos būna tik laptopuose iškart įdiegtoms)). Dar juokingiau yra tai, kad universitete duoda Windows XP ir Visual Studio ‘na haliavu’(vieni iš retųjų studijų pliusų, neskaitant pigiaus savęs transportavimo galimybės į Kauną už 7 litus :D ), tai apskritai pasijutau paskutiniu metu didelis legalumo puoselėtojas :D :D O kadangi dar nesu nei geimeris, o kino filmus pirmiausia kino teatre pasižiūriu, tai išvis Latga puoselėtoju pasijusti galima :D :D.

Jau į lankas muset būsiu nukrypęs… :D Cya ;)

*cya aka ’see ya’ aka ’see you’

Paprastumas ir logika

2010.04.22 Xamas Komentarų: 0
Tai ką galime išmokti apie paprastumą, galime nusakyti iš žemiau esančio paveikslėlio…

Ką galime išmokti apie paprastumą...

  :)

Deja, bet tai kraupi šių dienų tiesa… :D .

Dar viena svajonė išpildyta :D – Itin lengvas laptop’as

2010.04.20 Xamas Komentarų: 7

Kadangi turėjau keletą nerealių reikalavimų lapotopui:
- Plonas
- Be dvd įrenginio
- Tik 13.3″ colio
- Pakankamai galingas (jokių celeron, 2 branduolių)
- Su baterija galėčiau dirbti ne mažiau kaip 5 valandas
- Svoris būtų 1.2-1.4 kg.
- Žmoniškas webcam’as – 1.3 – 2Mpix.
- HDMI jungtis. Kad nereiktų kaskart USB flash’o į LCD teliką kišti.
- Jeigu jau legalios OS pirkimas yra neišvengiamas dalykas, tai jokių gyvu tai nebus VIŠTA.

-

Galiausiai tokį gaminį pavyko rasti Lenovo gamoje:

Lenovo U350

Tiesa, gavęs tai ko noriu, užsinorėjau daugiau. Todėl nusprendžiau paaukoti 400 gramų, ir nors ir nebetilpau į 1.3kg svorį, tačiau pasirinkau variantą su dvigubai talpesne baterija – maksimalios talpos, kuri statosi į šį laptopą.

O dabar geriausias faktas, lėmęs tokį mano apsisprendimą:

Pasak gamintojų, su 8 celių baterija, nešiojamas kompiuteris be pertraukos atjungtas nuo tinklo gali dirbti iki 10,5 valandų.

Todėl mano pasirinkimas išmainyti 5 valandų darbo maksimalią trukmę į dvigubai ilgesnę – 10 valandų visų pirma rėmėsi ta idėja, kad absoliučiai nebereikės nešiotis maitinimo laidų, kas būtų su dvigubai mažesne talpa, todėl bendras svoris turėtų būti net mažesnis.

Taip pat pasirinkau maksimalius kitus parametus:

Vietoje vieno branduolio Intel Pentium SU2700, pasirinkau kur kas padoresnį variantą – Intel Pentium SU4100, kuris jau apginkluotas visais dviem branduoliais – poros šimtinių toks primokėjimas, mano nuomone buvo tikrai vertas (apie šio loptopo variantą su Intel Celeron ULV743 aš net nevertinu kaip kompiuterio).

Taip pat be abejonės – 3 GB DDR3 1066 Mhz atminties, vietoje standartiškai statomų dviejų.

Bei žinoma – turiu poreikių kietąjam diskui, todėl nei 160GB nei 250GB variantai manęs netenkino – mačiau didelę prasmę papildomai primokėti už maksimalų gamykliškai statomą HDD – 320 GB.

Na ir webcam’as – šį kartą lenovo nepasišiukšino – 1.3Mpix webcam’as suteikia puikią kokybę video konferencijoms.

Iš papildomų privalumų turbūt būtų HD LED WXGA ekranas. Kaip žinia, būtent LED LCD televizoriai yra žymiai taupesni net ir už standartinius LCD, kadangi led diodais skleidžiama šviesa suvartotoja daug mažiau elektros energijos. Tiesa, tų LED kiek žinau būtų tik iki ~40 proc., ir tai visvien yra LCD monitorius. Anyway, tai turi prasmę budėjimo trukmei.

Na ir pabaigai, šioks toks presentation’as:

Peržiūrėjau nemažai laptopų, ir tų kurie tinka man, arba nėra Lietuvoje, arba kainos kosminės – soory, bet mano nuomone, mokėti už 13,3 laptopą po 6,5 – 7 tūkst. litų yra per daug. Normali padoraus laptopo kaina yra 2,5-4 tūkst. litų, bet tik jau ne 7 tūkst. litų.

Tie visi kurie kainuoja po 1400-2000 Lt 95 proc. atveju būna ARBA TRIPERIAI, arba IŠKASTRUOTI normalių modelių variantai.

Kaip pavyzdį pateikčiau mano paties laptopo alternatyvą su Intel Celeron ULV743(1 core, 1.3Ghz, 1MiB L2, nėra Intel64 palaikymo) procesoriumi – man apskritai kyla tuomet mintis, kas per protas turėtų būti kad įstatyti tokį procą vietoje Pentium SU4100(2 core, 1.3Ghz, 2MiB L2, Intel 64, be Intel VT(Virtualization)*) ar Core 2 Duo SU 7300 (2 core, 1.3Ghz, 3MiB L2, Intel 64, su Intel VT).

Pagal visus dėsnius Celeron variantas negalėtų dirbti 64bit-OS’e, o SU4100 nepalaikys Windows 7 Professional esančio “Virtual Win XP SP3″ režimo(na bet manau apsieisiu ir be jo).

Dar, jeigu kažkas pagalvoju kad naujuose netbukuose(Pentium SU/C2D SU ir pan. procesoriai yra statomi į galingiausius netbukus, ir “nebook destroy” notebookus) esantys Pentium Su procesoriai yra iš kitos eros nei C2D SU, tai tai pagalvoję klysta – abu pagaminti Penryn architektūros pagrindus, skirtumai tik du – Virtualizacijos nepalaikymas ir 1MB mažesnis L2 cache’as. Kadangi Lietuvoje tokio Lenovo kompiuterio, kuris turėtų C2D SU7300 CPU nebuvo, tai pasirikimo kito ir nelabai buvo.

Ok, užteks apmąstymų… :D

Microsoft nori išlaikyti C# ir VB tolimesnį kūrimą lygiagrečiai

2010.03.25 Xamas Komentarų: 0

Gana keistų minčių teko pasiskaityti iš C# vieno iš kūrėjų, bei dabartinio ’.NET product unit manager’. Kas keisčiausia, kad jis visas -.NET kalbas (VB, C#, F#, IronPython, IronRuby) vertina lygiavertiškai, ir planuoja, nepaisant to ar C# VS VB bus 50:50 ar 70:30 santykiu, visas naujas funkcijas, kaip supratau, nori kurti lygiagrečiai VB.

Aš asmeniškai apskritai nesuprantu, kokia reali prasmė tobulinti Visual Basic’ą, kuris kaip pamenu, dar 2002 pačio microsoft buvo paskelbta kaip ‘retiring‘ ir apskritai, kodėl nauji žmonės išvis turėtų domėtis Visual Basic’u. Asmeniškai neketinu parašyti nė eilutes Visual Basic’u(kurio aišku ir nemoku, ir mokytis neketinu). Sakyčiau greičiausiai čia būtų tu 30-50 metų JAV programerių, kurių JAV firmose yra begalės, ir kurie visiškai nepripažysta ‘outdated’ dalykų.

Beje, girdėjote apie Php hip-hop? Ne, tai nieko bendro su muzika neturi, na bet tiek kurie yra labai labai labai advanced programeriai php srityje, supranta apie ką aš :) . Remiantis hip-hop’u, visas C# ir Python lieka toli gale :) )). Panašu kad iš Php ir Zend pusės dar yra stiprių galimybių pasistūmėti į prieki.

Dar vienas dalykas – ar jau bandėt opera 10.51. Asmenškai esu apakęs – taip greit vykdomo JS kodo neteiko matyti. Mano 400-800 eilučių DHMTL parserius, ir objektų perkūrimais(new(), remove() [hate of IE6,7] kupino JS kodo vykdymas stulbinantis – IE ir Firefox lieka smarkiai gale. Opera NETIK kad VISIŠKAI neapkrauna CPU su parseriu, bet vykdo tarsi tai būtų ‘native application’, t.y. zero-load time’as :) … Didelis pliusas ir pagarba už tai, į operos pusę… Ir ahh, CSS 3.0 ir opera 10.5 tiesiog idealiai dera kartu… Na bet viską css 3.0 serijoje į vietą turėtų pastatyti IE9, kurio pasirodymas jau visai ne už kalnų(ar jau turite developers IE9 versiją – nelaimei, tik W6/W7, apie W5 MS nuomonė jau seniai aiški(nelaimei, ji nesutampa su mano nuomone apie W5) – kiek žinau sheduled ie realease yra 2011 Q1. Tik neaišku final, official ar pre-release.

Linkomanų siaubas

2010.01.28 Xamas Komentarų: 0

‘Gąsdino pasaulį baisusis megztukas, pakol sulaukė pagalbos iš dėdulės Bilo ir viso softmikromafijozo.’

Man galima, jam galima, o tau ir negalima – nes tu gali būti potencialus piratų laivo kapitonas, o aš turiu tokį galingą Shidomicro Softerizo užnugarį. Tooookį galingą, kad negaila samdytis visokių peliūkščių iš “Baltic Law”… Ah, taip… Money does everything…

Parsidavėliai teisėjai… išsigandę spaudimo… Taip uždarykit viską – tik nesuvokiam kad uždarydami vietoje padėjimo kenkiame sau… Kožnas vartotojas pradės vengti duoklėmis apmokestintos produkcijos vartojimo… Ir tada – tiek didieji siaubai ir baubai, patys žlugs savaime…

O tai tai belieka palinkėti sėkmės K. Ermantui ir visam LM staff’us… Kad nesibaigtų taip kad baigėsi su TPB… Įlanka liko, o gyventojų joje – nebe… Ir dar limoninės baudom ir tiurmom apkarstė…

Ech tas pasaulis… Kvailas kvailas ir dar kartą kvailas tas oligarcho ir visokių kitokių archų požiūris… Matau kas už kilometro, bet atsakymas gi visai prieš nosį… Deja, ne jų pasipūtimui tą atsakymą sužinot, ar juo labiau suprasti…

Kaip džiugu, kad yra nemažai technologijų

2010.01.02 Xamas Komentarų: 0

Tai vat, beveik prieš šventes nusipirkau čia tokį dalyką – televizoriumi kompiuteryje, kitaip dar ‘Digital hd tv tiuneriu’ vadinamą. Na televizoriai šiais laikais tiek sumažėjo, kad vos didesnis už pirštą tapo. Be abejonės tai usb įrenginys. Bet fainumas yra ne tame, o tame kad galiu turėti 4 tabus užduočių juostoje ekrano apačioje:

1-ąjameWinamp’o radijo stočių playlist’as.

2-ąjametelevizorius, kur backgrounde veikia koks nors LNK ar Liuks kanalas (iki šiol niekados jo nežiūrėdavau, neturėdavau paprasčiausiai tam laiko), kur gali vieno mygtuko paspaudimu matyti DVD kokybės kokį “69 danguje” ar “Stano” koncertą – jeigu turit ką nors prieš lietuvišką muziką, tai čia jau kiekvieno asmeninis požiūris, mano nuomone ko klausyti tikrai galima surasti ir lietuviškajame repertuare.

3-ąjame tabe paleista interneto naršyklė -  Firefox’as su Firebug’u vykdo kokį 2GB XML parsinimą background procesu.

Na o 4-ąjame tabe veikia Mafia žaidimas.

——–

Dar puikiau yra tai, kad tarp 1,2 ir 4 tabų naviguoti galima Gamepad’o bei pultelio pagalba :) .

Ir keistas dalykas, bet TV background’e pradeda tapti įpročiu. Na kai nuo jos mane skiria 5cm į kairę nuo klaviatūros esančiame pultelyje esantis (power) mygtukas. :) .

Be abejonės, viso šito esmę 99 proc. sudaro didelis monitorius. Kadangi manasis yra 22″W 16:10, o dabartiniai 26″W monitoriai standartiškai yra 16:9, o mūsų televizijos transliuojamos 4:3 formatu, tai praktiškai turėdamas 30cm aukštyje 1050 taškų gaunu bene geriausią ką galima gauti iš standartinių šiuo metu rinkoje esančių monitorių(26″W 16:9 siūlo 1080 taškų). Ir to dėka praktiškai nebematau jokios prasmės žiūrėti svetainėje esantį didelį TV, kai monitoriuje gaunu dar didesnį vaizdą(kadangi + esu arčiau). Tačiau, pabandžius tą patį pasijungti loptop’e, tokio įspūdžio ir patrauklumo nebuvo, todėl priėjau išvadą, kad šis pozityvus reiškinys, įprastam TV žiūrėjimui suteikiantis alternatyvą, įmanomas tik dideliuose monitoriuose(beje MagicBright technologija monitoriaus viename iš mygtukų yra neįkainojama. Neįsivaizduoju kaip atsibostų kaskart keisti nustatymus, jeigu negalėčiau vienu mygtuko paspaudimu pasikeisti režimo iš “normal” į “movie:) )

PS. Pastaba tokia - jeigu perkate TV tiunerį, žiūrėkite kad jis turėtų integruotą skaitmeninio signalo stiprintuvą. Nes prie daugelio paprastų TV tiunerių(dabar ypač populiarūs USB tipo) griežtai draudžiama jungti išorinius stiprintuvus, o su paprasta metrine antenėle galite nieko gero nesitikėti – gaudys jums vienintelį balticum’ą iš lietuviškų ir BBC news iš užsienietiškų.

Visus 12 lietuviškų TV kanalų matysite labai tikėtina arba gyvendami šalia TV bokšto, arba turėdami įrenginį su skaitm. signalo stiprintuvu).

Ir dar – žiūrėkite kad pultelis būtu normalus su visiais reikiamais mygtukais, o ne tik kanalu numeriais. Toks dalykas tikrai gana patogus, kai pasinaudoji ilgiau.

PS. Lame yra tik vienas dalykas – kad lietuviški kanalai dar nepalaiko EPG. Šitas stuff’as žiauriai patogus(po “Džo Bleko viešnagės” šioje vietoje sakyti ‘mirtinai reikalingas’ nelabai apsiverčia liežuvis :D , kas žiūrėjo – supras apie ką aš :) ).

PPS. Gal kas žino kuom “Šerlokas Holmsas” susijęs su “Kovos klubu“. Susidariau įspūdį, kad jie sumaišė roles ir ten Pitas Bredas rūsiję iki pusės nusirengęs skaldė kepenis kitam bičui.

XML – Amadeus, PNR, CRS, GDS, SOAP; Python VS Php

2009.11.24 Xamas Komentarų: 7

Prieš kelis mėnesius maniau kad apie XML’ą žinau didžiąją dalį ir ten nieko naujo būti negali. xml.gz kūrimus/eksportavimus/nuskaitymus laikiau sudėtingesne užduotimi.
Tačiau, kaip sakome, technologijos ir reikalavimai vietoje nestovi.

Todėl visai nenustebau gavęs requirement listą su reikalavimais:

  • Įsisavininti ir tinkamai panaudoti SOAP duomenų perdavimo šifravimą vykdant prisijungimus per XML.
    Pilnai įsisavinti Amadeus sistemos sąsajos kvietimus ir panaudojimus.
  • Suprogramuoti ir automatizuotai įvykdyti(sheduled cronjobs) P.N.R.(part of <– CRS) transakcijos importus automatizuotų modulių pagalbą.
  • Naudoti GDS sitemų gražinamą informaciją tiesioginės transakcijos būtu.

* Tiems, kas nežino:
PNR - Passenger Name Record
CRS – Computer reservations system
GDS – Global Distribution Systems

Dar vienas dalykas kuris mane kiek nudžiugino yra tai, kad vis dėl to iš universiteto naudos kažkiek yra. Iki universiteto UML diagramų paišyti ir jų skaityti tikrai papildomų pastangų mokytis nedariau. Turėjau galima sakyti tik pačius pagrindus, būtinus suprasti reikalavimus.

O štai dabar jau turbūt gerą pusmetį pastebiu kad visi projektai kuriuos kuruoju/programuoju ar dalyvauju realizuojant/programuojant eina su milžiniškomis *.pdf dokomentacijomis:

  • prieš metus-pora 80 proc. atvejų jos būdavo 1-5 A4 puslapių dydžių, be UML diagramų, ir tik 20 proc. turėdavo primityviais diagramas, būtinas suprasti reikalavimams.
  • pastarąjį pusmetį dokomentacijų dydžiai vis augo jau geometrine progresije. Ir pastaruosiuose projektuose vien dokomentacijoms perskaityti reikia skirti keleta dienų, kadangi jų dydžiai pradėjo viršyti 100-140 puslapių.

Na ir čia jau turbūt nenuostabu, kad visi tie ‘docummentation’ai kupini sekų, būsenų, ER, klasių(class), veiklos(activity), objektų(objects) ir netgi diegimo(deployment) diagramų.

Todėl dabar jau turbūt užtikrintai galiu sakyti, neįsisavinus UML’o praktiškai nieko stambesnio nesuprogramuosi, nes requirementus ir realizaciją aprašo matomai specialūs UML ‘profai’, kurių atrodo kiekvienoje stambesnėje įmonėje yra net po keletą.

Na o iš viso to seka, kad funkcinis programavimas tampa praktiškai neįmanomas norint teisingai realizuoti reikalavimus. Viskas praktiškai seka tik per objektus.

———-

Python:

Vis dažniau pastaraisiais mėnesiais į mano valgiaraštį patenka prieskonis ‘Python’. Todėl visai nenustembu kad Gūglas gražina 28 milijonus rezultatų su fraze ‘Python VS Php’.

Vienas žmogelis kaip argumetą ‘why the php is the greatest programming language in the world’, pateikia šias eilutes:

$a = 'var'; $b = 'iable';
$variable = 'var';
echo ${$a.$b};
$filter = array("name", "email");
foreach($filter as $v) $$v = $_POST[$v];

Šaunu, ar ne? :) Nedaugelis programavimo kalbų gali pasigirti tokia realizacija :)

Pitonu paskutinės dvi eilutės būtų realizuojamos taip:

post = {'name': 'ijoshua', 'email': 'spam@example.com', 'extra': 'data'}
filter = ['name', 'email']
for k in filter: locals()[k] = post[k]
print name, email

Kuri programavimo kalba yra geresnė, atsakymai ir ginčai turbūt būtų beprasmiai, tačiau bendrai ką pastebėjau, tai, jeigu žmogus programuoja Php, jis yra linkęs po kiek metų išmokti ir Python(o jeigu tiksliau, tai Ruby on Rails programavimą, na bet Python turbūt būtų geriausias jų atstovas). Ir būna nemažai atveju netgi taip, kad tas programuotojas pereina nuo Php į Python.
Tačiau visi Python’instai kažkodėl labai dažnai pasisako prieš Php, ir nė nebando pažinti šios programavimo kalbos subtilybių.

Python(ir viso ruby on rails) privalumas yra tas, kas jis pasižymi geresniu skaitomumu nei Php. Ten nebėra kabučių print’e, kabliataškių eilutės pabaigoje, nebeliko ir laužtinių skliaustų {}. Praktiškai kodas turėtų išties gebėti būti rašomas ir skaitomas greičiau. Bet ne visada praktika atitinka tikrovę.

Tačiau,

  • Python’as turi kur kas ribotesnį funkcijų sąrašą, metodų, operatacijų sąrašą nei Php.
  • Kitas dalykas, nors ir sakoma kad Python turi tokį pat gerą documentation’ą, tačiau aš visgi tikrai pastebėčiau, kad bendro internete išplatinto ‘example’ kodo, bei tutorial’u atžvilgiu, bei ypač DAUGIAKALBIŠKUMO šitiems dalykams(Php LT doc’as interneto platybėse yra tikrai didžiulis) atžvilgiu Php yra geresnėje situacijoje.
  • Trečias dalykas, visgi vėl tie patys Python naudotojai pripažysta, kad Php web terpėj kai kuriais atžvilgiai tikrai yra paprastesnis – pvz. sql prisijungimu ir pan. Tačiau Python’as dar yra plačiai taikomas Desktop programoms ir sisteminiam script’inimui, ko nėra Php atveju.
  • Python’as praktiškai turėjo sujungti C++ ir Php į kažką vieną, Ruby on Rails pagrindu. Kadangi Python’u suprogramuotas Jūtūbas, tai galima būtų sakyti, kad jiems tai neblogai ir pavyko.
  • Php kompiliavimo/vykdymo laikas yra geresnis nei Ruby on Rails atveju, t.y. naudojant pvz. Python. Tačiau jeigu labai aktualus greitis tai tam pasitelkiamas ASM arba išvis tiesiog 0/1 kodas.

 

Na bet tai kol kas tik teoriją. Phyton teks išmokti iki kitos vasaros, lygiai taip pat kaip teko mokytis C# praėjusį šių metų pavasarį. Kaip sakoma nuo reikalavimų nepabėgsi – jeigu jau kartą teko rašyti WWW tinklapį C#(.NET)’u ir tą padaryti pavyko sakyčiau, kaip pirmą kartą dirbus konkrečiai su C# (.NET), tai matyt turėtų pavykti ir Phyton’u.

Na, nors projekto su Python’u end-line’as dar už bene pusmečio, tačiau jau šiandien parašiau pirmąsias 70 eilučių Python kodu. Liko dar 9930.  Aišku antrąjį skaičių primečiau kreivai iš akies, bet +-~ kažkas tokio :D .

Tad skirtumas tarp studentų besimokančių Python’ą universitete ir darbe matyt tiktais vienas – čia tau dar ir sumoka už tai kad tai išmoktum :).
Apie universitetines elgetos dydžio stipendijas nekalbu. Nors, tiesa sakant, turbūt per gerai pasakiau – tiksliau būtų ‘Prienų bobutės pensijos dalis išskaičiavus pragyvenimo išlaidas’. Taip, galbūt ir atsiras smerkiančiųjų, tačiau manau 95 proc. studentų pasirinktų ‘darbas+studijos(5-8 pažym.)’, vietoje ‘tik studijos 9-10 balų pažymais+stipendija’… Svarbiausiai, kad pirmajam atvejui nereiktų pridėti prie sąrašo “-X dalykų kartojimas” :D . Nes tada jau kuo toliau tuo labiau gaunasi ‘tas ant to’.

Apie indų programerius dirbančius už 2 baksus per valandą

2009.11.16 Xamas Komentarų: 4

Kadangi turbūt niekam nepaslaptis, kad turiu polinkį į Php, ir visos kitose programavimo kalbose(funkcinėse, objektinėse, skriptinėse) stengiuosi emuliuoti Php galimybes (C++’e nesugebu apsieti be explode();),

tai šiandien negalėjau apsiieiti be dar vienos labai šaunios Php funkcijos – tai print_r();. Jos esmė ta, kad priešingai nei kitų prog. kalbų kurėjai, kurie neturi kažko panašaus į print_r(), print_r nuosekliai išprintina n’tai masyvo, objektų sarašo visus elementus rekursiškai – užtenka paduoti seką į parametrus :) .

Taigi šios idėjos vedamas, susiradau alternatyvą print_r(); bene populiariausiai skriptine kalbai – javascript.

Po to kai programa į downtime’ą keletui minučių pasiuntė visą dedikuotą servą, atsidaręs skripto autoriaus puslapį kažkodėl nenustebau – Bandula Binny Bandulay iš Indijos :) . Nebūtų non-sense’as, jeigu ne faktas – kad šito Binny’io source kodas yra pirmoje pozicijoje Google :D DD.

/**
* Function : dump()
* Arguments: The data - array,hash(associative array),object
*    The level - OPTIONAL
* Returns  : The textual representation of the array.
* This function was inspired by the print_r function of PHP.
* This will accept some data as the argument and return a
* text that will be a more readable version of the
* array/hash/object that is given.
*/
function dump(arr,level) {
 var dumped_text = "";
 if(!level) level = 0;
//The padding given at the beginning of the line.
 var level_padding = "";
 for(var j=0;j<level+1;j++) level_padding += "    ";
if(typeof(arr) == 'object') { //Array/Hashes/Objects
  for(var item in arr) {
   var value = arr[item];
  
   if(typeof(value) == 'object') { //If it is an array,
    dumped_text += level_padding + "'" + item + "' ...\n";
    dumped_text += dump(value,level+1);
   } else {
    dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
   }
  }
 } else { //Stings/Chars/Numbers etc.
  dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
 }
 return dumped_text;
}

Norint užlenkti visą sistemą užteko ją pabandyt :D :

alert(dump(document.getElementById("xc_obj").childNodes));

Moralas tas – jeigu jau dedi sūrsą, kuris gūglėj bus pirmoj pozicijoj, bent jau jį patikrink.

Nes jeigu tokie pat išminčiai būtų rašę kokį TinyMCE, ar PhpExcel, tai beieškodamas klaidų ir užmiršti kam tau to skripto reikėjo, būtų galima…

(dalyje plačiau – įmečiau pilnai gerai veikiantį kodą).

Skaityti toliau

Pajutau hi-end programavimo reikalavimus

2009.11.01 Xamas Komentarų: 17

Anksčiau, išskyrus Asemblerio(assembler) užduotis, bei Disasemblerį(disassembler), kurio taip ir neparašiau, mokantis universitete, visad į pateiktas programavimo užduotis žiūrėdavau kaip į labai elementarius dalykus. Visų pirma dėl duodamų mėnesio terminų vien maksimaliam balui gauti, o visų antrą dėl nedidelių reikalavimo skirtumų.

Taip buvo ir su C, ir su C++ ir su Java pirmom užduotim. Tačiau dabar, praktiškai viskas pasikeitė. Faktiškai yra duodama viena savaitė naujai programai parašyti(terminai yra kas dvi savaitės, bet viena iš tų dviejų yra 95 proc. atveju esamos programos pataisymas pagal reikalautus pakeitimus).

O ir palyginus dviejų užduočių reikalavimus:

Užduotį reikia atsiskaityti iki 2009.10.26 imtinai

1. Kurios nors užduoties klasės vietoje sudaryti bent trijų klasių hierarchiją.
2. Aprašyti specifinį išvestinių klasių elgesį, perrašant reikiamus bazinės klasės metodus.
3. Bent vieną išvestinę klasę papildyti laukais ir metodais, kurių nėra bazinėje.
4. Pademonstruoti klasių polimorfinį elgesį vykdymui skirtoje klasėje.

Bei: 

Užduotį reikia atsiskaityti iki 2009.11.09 imtinai

1. Parengti parašytas klases klonavimui.
2. Vykdymui skirtoje klasėje pagaminti objektus su identiška būsena.
3. Išimtinių situacijų aprašymui sukurti savo išimčių klasių hierarchiją ir ją panaudoti.
4. Vykdymui skirtoje klasėje išimtis pagauti ir atspausdinti informatyvius pranešimus.
5. Prasmingai panaudoti static, final, static final specifikatorius kuriems nors klasių laukams ar/ir metodams.

Tikrai, kaip vienos savaitės darbui, reikalavimai tikrai gana progresyviai keliami. Ir jeigu visi universitetiniai dalykai būtų dėstomi tokiais tempais ir reikalavimais, manau nesunkiai būtų galima pamanyti besimokant ne VU MIF’e, o Kembridžo MIF’e :) . Ir mokslo kokybės nebūtų galima kritikuoti.

Taip, dauguma atveju tai priklauso nuo pačio dėstytojo. Šiuo atveju tikrai pasitaikė ‘programeris’ :) . Ir išties malonu tokiais atvejais rašyti programą, kuomet reikalavimai jai nebėra pirmoko lygmens :) .

Atsimenu vieno dėstytojo pretenzijas, kai parašiau programą per gudriai. Kadangi programos reikalavimas buvo rašytas Pascal programai, ir C++ buvo kaip alternatyvą, aš pasinaudojau ‘vector.h’ įrankiu ir labai lengvai realizavau programą. Tačiau visvien galiausiai teko perrašyti vector.h, t.y. pasirašyti savo ‘vector.h’ vien dėl to, kad realizuoti programos ‘tūpūmą’.

Beje, nusivyliau ir C++ universitetiniais reikalavimais. Niekas nereikavo panaudoti nei ‘template’ <T> tipo abstrakčių duomenų tipų, nei realizuoti grafinio interfeiso. T.y. bent jau primityvaus grafinio modeliavimo. Tai padariau tik savo noru ir nuožiūrą.

Ko pasekoje gaudavosi kuriozinė situacija, universitetinį pažymį ‘10′ galėjo gauti tie, kurie rašė elementarias programas.

Java programų atveju, kaip jau minėjau vienas dalykas tapo idealus – tai deadline’ai. Kas dvi savaitės, o praktiškai – kas viena. Reikalavimų progresija išties puiki. Neskaitant tūpų pirmųjų programų, kuomet atsiskaityt pirmas dvi pavyko per 30 minučių, o parašyt – tik pora dienų, nes reikalavimai joms buvo tarsi cheap-quality php tinklapio.

Mano supratimu, jeigu jau mokaisi VU, ir neva hi-end specialybėje, tai apskritai joje neturėtų būti žmonių gaunančių aukštus įvertinimus rašant žemo lygio programas. Ir reikalavimai turėtų būti ne hi-end, o labiau super-hi-end.

Nes priešingu atveju universitetas neteikia jokios naudos – gi universitetas siekia išugdyti kvalifikuotus specialistus. Bet kaip jis tokius gali išugdyti, kai ’sunkiausiai’ semestro programa ‘tenkinanti’ reikalavimus teužima vos 700 eilučių ir parašoma per dieną-dvi. Ir tokia programa gerų geriausiai teišnaudoja vos pusę programavimo kalbos galimybių.

Ir po to tokie specialistai eina dirbti į įmones. :) Nieko stebėtina, kad pačios įmonės po to turi inverstuoti tūkstančius į darbuotojų kvalifikacijos kėlimą.

——-

Kitas aspektas – tikrai neturėtų būti taip, kad visus semestro laboratorinius programavimo darbus pavyktų atsiskaityt vos per pirmas 4-5 semestro savaites kiekvienai programai skiriant vos viena-dvi dienas darbo.

O to esmė vėlgi, kaip jau ir minėjau – tiesiog programų sudėtingumo kilimo kreivė yra kone horizontali, nors pagal Kembridžo dėsnius ji turėtų būti bent jau geometrinės progresijos arba netgi eksponentinė.

Galbūt ir tokiu atveju būtų įmanoma atsiskaityti darbus per 7-8 semestro savaites, bet tokiu atveju vienai programai mažiausiai 4 pilnų dienų gilinimosi į prog. kalbos galimybes ir jos realizacija prireiktų, ir bent jau gavęs diplomą studentas galėtų sakyti kad jis kažko vertas.

Dabar gi gaunasi taip, kad ir tas, kuris rašo 3000+ eilučių programas realizuodamas paskutine ’sunkiausia’ semestro užduotimi 90+ proc.  prog. kalbos esminių galimybių, ir tas, kuris rašo 600-700 eilučių programas, realizuodamas vos 40-50 proc. prog. kalbos savybių, gauna lygiai tokius pačius diplomus. Negana to, jeigu pastarąjam geriau sekąsi antriniai specialybės dalykai, jis gali būti netgi aukščiau už pirmąjį žmogų.

Taigi ar tame yra logikos? Manau, kad ne.

Žinoma, visada atsiras prieštaraujančių, kad reikalavimai programoms yra ‘kosminiai’.

Bet tada kyla natūralus klausimas tokiems žmonėms – ko Jūs einate į tuos universitetus?

Kitas kuriozinis dalykas – universitetuose praktiškai nedėstomas Php. O C# dėstomas minimaliai. Kas dar kurioziškiau – realybėje realūs darbo užsakymai būtent sudaro 90 proc. būtent šioms programavimo kalboms. :)

Tačiau itin uoliai išdėstomas ‘pascal’is’. Ir turbūt būtų išdėstytas dar uoliau, jeigu ne galimybės pakeisti pascal į C++ leidimas antrame ir tolimesniuose semestruose universitete. Tačiau visgi visi dėstytojai ‘pasikaustę paskalyje’, ir kartais gana juokinga būdavo žiūrėti kaip jie vertina ‘C++ kodą’ :) . O supratę, kad C++ tai padaryti be galo paprasta ir lengva atsidurdavo keblioje situacijoje – universitetiniai reikalavimai tiesiog nėra ruošiami aukštesnio lygio programavimo kalboms.

Tai tiek minčių apie mokslo kokybę Lietuvos universitetuose. Šiuo atveju, bene geriausiu laikomame ‘VU’. Skirtumas tas, kad nuo šių metų fux’ai už tai dar moka ir kelioliką tūkstančių litų kasmet :) . Argi ne kurioziška :) .