C# geek’ams :D – force’iname Windows Form’os refresh’ą

2010.04.20 Xamas Komentarų: 0 | 427 views

Šitas dalykas daug nervų sugadino, kol susigaudžiau kame replės.
O esmė ta, kad priskiri delegatą eventui, ir kai delegatas executina funkciją, kuri nuskaito duomenis iš user RTFBox input’o įrašydamas į List variable’ą per Add(), o Windows forma buvo sukurtas turinti ‘DataGridView’ objektą, kurios konstruktoriuje yra aiškiai nurodyta:

public StackForm(ref Stack refToStack)
{
    <...>
    this.stackDataGridView.DataSource = refToStack.stackData;
    <...>
}

Padarius bet kokį Add’ą, Remove’ą, Forma elgdavosi labai keistai – tai sureguodamo, tai nesureguodamo, tai rodydavo kad pridėtų elementų nėra, arba rodydavo nebeegzistuojančius elementus, o ant jų paspaudus execeptionus pradėdavo mėtyti.

Taigi teko susirasti WorkAround’ą :D , ir šitas bajeris labai efektyviai veikia, tiesiog po bet kokių pokyčiu List variable’a(aka kolekcijoje), formos data bind’o update’ą forsuojame iškviesdami funkciją:

public void updateStackData()
{
     // Force a refresh of the DataGridView
     ((CurrencyManager)stackDataGridView.BindingContext[this.stack.stackData]).Refresh();
}

Tikiuosi kam nors padės :) .

128 bitų Operacinė juda į priekį (128bit OS developer blog #1)

2010.04.19 Xamas Komentarų: 4 | 758 views

Intel AVX, IA-128(Intel Iatanium), Intel x32-64 developer manuals, bei C#, C#, C# … Tūkstančiai eilučių C# kodo(tiksliau – jau turbūt ir dešimtimis tūkstančių eilučių galima būtų skaičiuot :D ).

v0.99 pre alpha versiją jau turim :D :

1. v 0.99 pre-alpha versijos galimybės:

Tvarkingai veikia neveikia nei vienas režimas :D .

+/- daugmaž veikia IA-32ee, bei IA-32e režimai, ‘legacy mode’ bloke.

8 lygių puslapiavimo lentelėje(PML8…PML4, PDPT, PDT, PT) 80 proc. atveju adresai nepasiklysta :D

aprašyta ~600 cpu komandų ir jų variantų, iš jų +/- ~30 tvarkingai realizuotos (570 left :D )

Galutinėje versijoje turėtų būti realizuota ~200 komandų ir jų variantų, beta versijai pilnai turėtų pakakti ir ~50 veikiančių komandų :D .

Kalbų palaikymas – angliška versija dar labai smarkiai buksuoja, tad kol kas tik mono-language support (sorry, englishman :D ).

————

Final release date ????-??-?? ;D. O šiaip tai – Summer, 2010 :D . (I guess??? :D ).

Antradienio darbų suvestinė

2010.04.12 Xamas Komentarų: 2 | 455 views

1.Lyg ir kolis buvo.
2.Pagavau vagį. Kilą teko vytis. Apmėtė 2 lomais ir plytom. Bet žaliems pristačiau :D .
3.Dauguma čigonų nėra geri žmonės.
4.Prieš bandant pabėgt nuo xamo, pradžiai kojas išsitreniruotų bent jau žmonės.
5.Benzas yra per brangus. Nuvažiuodamas pyliausi už 4,01 grįždamas, jau 4,03. Taip sakant brangsta minutėm.
6.Pragariška savaitė: 1/5 done. (M.L., KOMB., Kaunas, CISCO, OS).
7.Niekados nemylėjau tikimybių. Niekur kitur 10 kartų išsprendęs negausi 10 skirtingų atsakymų ir visi jie bus neteisingi.

8.Šiandien buvo graži diena :) .

Sudėtingas bitų išsitraukimas C#

2010.04.08 Xamas Komentarų: 4 | 412 views

int nibbleRequired = (int)Math.Truncate((double)updateBit / 4);
int reversedChangingHexNibble = oldRegValue.Length - nibbleRequired - 1;
char[] hexBitChar = {'0'};
hexBitChar[0] = oldRegValue[reversedChangingHexNibble];
uint hexBitValue = Convert.ToUInt32(System.Text.Encoding.ASCII.GetString(Encoding.ASCII. GetBytes(hexBitChar)));

Ypač paskutinė eilutė man patinka. Aišku galima SHIFTinti << ir >>, bet toje interpretacijos tas dalykas netinka. :)
Su php užtektų 1 eilutės, pvz. išsitraukti pirmus 3 bitus:
printf(“[%2.3s]\n”, decbin(hexdec(“0EFFA”)));

Negalima gąsdinti žmonių :D:D

2010.04.07 Xamas Komentarų: 0 | 386 views

Ir sugalvok tu man tokioj vietoj atsistot :D

Yamaha Ride’as – pavasaris, 2010

2010.04.05 Xamas Komentarų: 0 | 487 views

Throttle, power, torgue :)

Svajonė tapo realybe

2010.04.05 Xamas Komentarų: 18 | 584 views
Tai va, šį kartą uoliai laikiausi ‘neperšokęs griovio – nesakyk op’ principo, todėl kol nesusivarkiau visų dokų ir neparsivariau moto iš Lietuvos pajūrio(tam reikėjo visos savaitės, ir vieno tarpinio stojimo, atidėjimo kelioms dienoms(iki pasibaigs lietus)), dabar jis jau čia :) . Aišku kelionė buvo su nuotykiais kaip niekad, pradedant tuo, kad reikėjo važiuoti 30 cm gylio molio provėžom išmaltais kaimo keliais žliaugiant lietu, ir pramokti valdyti šį, beveik 200kg(187kg) sverentį Yamaha žvėrį. Nelaimei, pavyko įveikti tik ~80 proc. distancijos tokiu keliuku iki iklimpau(o taip, teko ištraukti ant buksyro :D ).

Na bet bent jau konkrečiai žinau, kur su šituo motu dar įmanoma pravažiuoti, o kur jau nebe. :D .
Mano 600ccm Yahama :)

Manoji 600 ccm Yamaha :) {SPORT-TOURING}

Visgi, dėl pačio moto, tai manasis buvo dviejų komplektacijų – pilnai sportinis ir sportinis turistinis(sport-touring).
Esminis skirtumas tarp dviejų komplektacijų – manasis labiau pritaikytas keleiviams vežti, duslituvas nėra taip užkeltas, pats moto šiek tiek aukštesnis ir pakeistas svorio centras suteikia daugiau stabilumo(na priekinį ratą irgi pakelti automatiškai sunkiau, bet kadangi to daryt artimiausiu metu neketinu, tai nėra svarbu), bei talpesniu kuro baku (~4,7 l/100 km važiuojant A1-ąja magistrale, taupiai leidžia su pilnu baku įveikti galima ~450km) ir kelioms AG mažiau(sportinis R6 modelis turi 120AG).
Svarbi dar ir bagažinės man kadangi buvo – tai šis turi gana talpia – telpa 12 būtelių alaus(manau Lietuvos jaunimui kur kas aiškesnis matas, nei bagažinės talpa kubiniais centimetrais.
Dar vienas faktorius buvo, tai amžius. Šį kartą griežtai buvau užsibrėžęs neprasidėti su 10-14 metų motais. Todėl, po manojo, tik vienas moto atnaujinimas tik tebuvo – t.y. buvo išleistas tik 2005-2007 m. modelis ir tas susijęs tik su 2kg padidintu svoriu.
Dar beje, turiu pasakyti vieną įdomu dalyką – moto draudimas man išeina ~120Lt/pusmečiui(kas yra žiauriai pigu). O mažinos draudimas – ~120Lt/mėn(čia tiek yra mokant kas mėnesį, net ir neturint jokių įvykių bei turint tęstinį draudimą :D ).
 
Manau nesunku paskaičiuoti:
mašina mieste: ~12l/100km (~240AG) + 120Lt/mėn draudimas
motas mieste: ~5,5l/100km (~110AG) + 20Lt/mėn draudimas
Todėl visi protingi mieste važinėja tik su motu, kai nėra lietaus. Ką jau bekalbėti apie judėjimo greiti kamščiuose – čia motociklas ~20 kartų pranašenis ir juda ~20 kartų greičiau :) .
Beje, jeigu kam kiltų klausimas – ar pavargau važiuojant A1 magistrale – tai važiavau NE ant bako prigulęs,  kadangi žemiau įleista sėdynė, šiame mote tokią galimybę suteikia, ir nuovargis buvo minimalus, tik tiek kiek vėjas šalmą spaudė. :) .
Aišku visai kas kita būtų, jeigu su tuo motu būčiau ten varęs 260km/h, bet kažkaip visai nebuvo tokiam dalykui poreikio.
Matyt stosiu į motomanų klubą – ‘tiems, kuriems patinka važinėti lėtai’ :D . Na bent jau kokiam pusmečiui :D . Juk dar reikia kažkiek pagyventi :D DDD.
Ok, varau apsuksiu ratą aplink miestą :D :D.

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

2010.03.25 Xamas Komentarų: 0 | 395 views

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.

100+ eilučių SQL užklausos :))

2010.03.08 Xamas Komentarų: 0 | 430 views
Iki praėjusių metų vidurio į SQL užklausas taip smarkiai niekados neįsijausdavau. Būdavau linkęs viską labiau iš PHP pusės realizuoti, na o kadangi teko dar ir tokį kursą išklausyti pavadinimu DBVS, tai tuo pačiu ir labiau pačiu SQL ir jo galimybėmis pradėjau domėtis.
Anksčiau teikiau pirmenybę new DateInterval(“P7D”) vietoje ADDDATE(CURRENT_DATE,7) time() vietoje UNIX_TIMESTAMP() vartoti, praktiškai beveik nenaudodavau UNION’u, bei CASE – abu pastaruosius dažniausiai realizuodavau kaip atitinkamai dvi užklausas bei if’ais/switch’ais. Beto, tokio pomėgio 10 ir daugiau INNER/LEFT/RIGTH JOIN’ams irgi kažkaip neturėjau, tai realizuodavau keliomis užklausomis.
Tik vieno dalyko gaila, kad PHP nepalaiko komentarų query_mysql(..) dalyje. Na dalinai turbūt dėl to, kad įmanoma padaryti tik vieną užklausą, o bet tačiau, kai užklausos tampa 100+ eilučių ilgio, tai pasikomentuoti kartais būna visai naudinga(apie brutalų:
'dabar skaičiuosime tikrąjį id' AS comment_1
nekalbu).
Aišku, kaip programuoju Zend’u, tai ten viską gamina autogen’as su savo:
$select->from( … table and cols… );
$select->where( … search… );
$select->order( …sorting… );

Bet, tų Zend projektų yra ne visi, ypač tie, kuriems turiu daryti Maintenance’ą, kurie buvo buildinti 5-6yrs ago.

:)
Tai vat, šiandien visai netikėtai pasižiūrėjau į ‘trumputę’ užklausėlę kurią parašiau vienai GIS(geografinė-informacinė-sistema), ir pamačiau kad mano QUERY’is jau lenda ties 100+ lin’ų riba. :)
100 eilučių MySQL užklausa

100 eilučių MySQL užklausa

Ir šitas dalykas asmeniškai kodo švarumo atveju daug kokybiškiau atrodo, kaip pačiam teko stebėti:
desing paternai vienur (nesvarbu ar tai tiesiog pre-html output’o paruošimas su sugeneruotais array variable’ais, ar paruoštas SMARTY autogen templat’as), gen php kodas antroj vietoj, funkcijos – trečioj, klasės – ketvirtoje, include/require libai dar kitur, o štai dabar jau ir sql queriams pradėjau naudoti atskirą prefixą  – t.y. excludint’i iš code failų į atskirą failą :) .
Ir tai yra labai logiškai, ypač tais atvejais kaip SQL queriai yra 100+ eilučių :) .

Linkomanų siaubas

2010.01.28 Xamas Komentarų: 0 | 522 views

‘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…