Autoriaus archyvas: pauliusbau

Netikusios MS Excel paieškos pataisymas

Ar pastebėjot tokią šlykščią MS Excel paieškos savybę: spaudžiam CTRL+F, suvedam pageidaujamą tekstą, su ENTER (ne|su)randam tekstą dokumente. Vėl spaudžiam CTRL+F, suvedam naują tekstą, spaudžiam ENTER ir nieko nerandam. Kodėl? Todėl, kad antras CTRL+F neišvalė prieš tai ieškoto teksto, nors visose normaliose programose paieškos laukelis veikia būtent taip. Pasirodo, galima tai lengvai sutvarkyti. Skaityti toliau

Klaidingų duomenų paieška Tabibitosan metodu

data_islandDarbe iš nutolusių įrenginių kelis kartus per valanda surenkam įvairių meteorologinių jutiklių duomenis. Mums ganėtinai svarbu, kad įrenginys veiktų tvarkingai ir visą laiką fiksuotų realią informaciją. Žinoma, visko pasitaiko: lūžta ryšio įrenginiai ar valdikliai, dingsta elektra arba sugenda pavieniai jutikliai. Kaip identifikuoju viso įrenginio veikimą, jau esu rašęs ankščiau poste apie hierarchines SQL užklausas. Su pavienių jutiklių veikimu-neveikimu yra šiek tiek sudėtingesnė situacija. Kartais pasitaiko, kad sugedus vienam ar kitam įrenginio jutikliui, įrenginio valdiklis „užsiciklina“ ir kiekvienos tolimesnės iteracijos metu gražina paskutinę iš jutiklio surinktą reikšmę, kas labai iškreipią suvokimą apie įrenginio duomenų kokybę. Skaityti toliau

Hibridinė JasperServer ataskaita iš Oracle ir MS SQL vienu metu

dibert_dbTaip jau buvo, taip nutiko, kad prisireikė vienoje ataskaitoje dinamiškai „sukirsti“ Oracle ir MS SQL Server duomenis. Klasikinis variantas šioje situacijoje yra vienos DB duomenų replikavimas/sinchronizavimas į kitą. Toks variantas gal ir yra pats geriausias/patikimiausiais, tačiau jis toli gražu nėra trivialus. Pirmiausia, aš pats nei vienos iš tų DB neadministruoju, todėl nagų kišti į vidų kaip ir negaliu. Antra, abiejų DB duomenų modeliai yra skirtingi, todėl norint gražiai perkelti duomenis, reiktų juos perskaičiuoti ir „pritraukti“ iki vienos iš DB struktūros. Kol DBA keiksnodami bando įsivertinti darbų apimtis, nusprendžiau užduotį atlikti Jasper priemonėmis. Tiesa pasakius, kol pats nepabandžiau net nebuvau tikras, ar Jasperis iš vis gali imti duomenis iš kelių skirtingų DB vienu metu, bet tai atrodė visai logiška, nes Jasperis leidžia vienoje ataskaitoje manipuliuoti keliais tos pačios DB Dataset’ais. Jei jau galima kurti skirtingus datasetus, kodėl gi būtų negalima jų kurti iš skirtingų DB šaltinių? Skaityti toliau

CREE XPE Q5 R2 LED Wrist Watch Flashlight pritaikymas šuniškiems reikalams

New-Arrival-2015-CREE-Q5-font-b-LED-b-font-Wrist-font-b-Watch-b-font

Tamsiu paros metu šuns vedžiojime žibintuvėlis labai praverčia:  su žibintuvėliu lengviau rasti ir susirinkti šuns paliktą „miną“, pasitikrinti batų padus, ar kartais neįlipote į kito šuns reikalą (reiktų rankas išsukioti tiems, kurie nesusirenka!),  įsitikinti, ant kokio padaro vis dėl to jūsų šuo loja, ir dar daugeliui kitų savaime suprantamų priežasčių. Ilgą laiką naudojau 3 AAA baterijų maitinamą kišeninį žibintuvėlį. Kaip ir viskas gerai su juo, tačiau jis turi kelis trūkumus. Pirmiausiai, reikia keisti baterijas: žibintuvėlis buvo kelis kartus netyčia įsijungęs žieminės striukės kišenėje ir tuščiai išdeginęs komplektą naujų Duracell baterijų. Žibintuvėlis užima vietą kišenėje, be to jį lengva pamiršti pasiimti arba palikti namie žmonai. Nusprendžiau užmesti akį į galimus kinietiškus mano diskomforto sprendimo variantus. Ieškojau kažko kompaktiško ir USB pakraunamo. Radau. Skaityti toliau

EASYDOG USB Rechargeable Flashing Band aprašymas ir tobulinimas

IMG_0462

Rudenį įsitaisiau nuostabią, šunytę, kuri tapo neatskiriama mano šeimos dalimi.  Su žmona stengiamės ją visai kaip auklėti ir socializuoti, todėl ji su mumis keliauja visur, kur galima su šunimis: važiuoja autobusu, lankosi kavinėse ir baruose, svečiuojasi pas draugus ir pan. Būdama tikra nenuorama ji visur lando, laksto ir, žinoma, pinasi tarp kojų. Dieną (t. y. šviesoje) tai dar visai nieko, tačiau naktį dėl tamsaus kailio ji tampa sunkiai pastebima ir žmonės, nepratę prie šuniškos kompanijos, ant jos lipa, kliūna ir griūna. Net mums patiems tampa sunku ją palaidą pamatyti lauke lietingą rudens (žiemos) vakarą. Problemą išsprendžiau šviečiančiu antkakliu „EASYDOG USB Rechargeable Flashing Band“. Skaityti toliau

Automatinis nuotraukų mažinimas

app-resizeme-512

Prisireikė darbe sumažinti krūvą kamerų nuotraukų. Nuotraukų, švelniai tariant, daug. Labai daug, apie 6 mln. vnt. (~1 TB).  Visos nuotraukos tvarkingai sudėliotos į hierarchinę aplankų struktūrą pagal kameros pavadinimą, metus, mėnesį ir dieną, todėl „prieiti“ iki konkrečios nuotraukos nėra labai jau paprasta. Dar įdomiau, kad ne visų kamerų vaizdus reikia mažinti. Kai kurie kamerų vaizdai jau yra reikiamo dydžio, ir juos papildomai apdorojant būtų be reikalo gaištamas laikas. Ką daryti..? Aš radau tris skirtingo sudėtingumo šios užduoties įgyvendinimo variantus.  Skaityti toliau

Tekstinių failų paieška ir apjungimas į vieną CSV su Python’u

import soul

Kolega paprašė susitvarkyti su viena kvaila užduotimi. Yra aibė direktorijų, kurių viduje yra krūva subdirektorijų, kuriuose kiekvienoje yra po tekstinį failiuką „info.txt“. Kiekviename failiuke yra 3 eilutės teksto (timestamp, id numeris ir klasifikatorius). Reikia iš visų tų failiukų suformuoti vieną gražų CSV failą. Rankomis tokia užduotis praktiškai neįmanomą (kolega per pusdienį „surinko“ į vieną failą gal tik 250 failiukų), bet su python ji yra išties labai lengva.  Skaityti toliau

JasperServer date input parameters: kaip nustatyti dar gudresnias „default“ vertes

jasper_parametraiSeniai rašiau, kaip JasperServer ataskaitoms suprogramuoti standartines (angl. default) ataskaitos parametrų reikšmes. Po to radau, kaip lengvai ir paprastai galima įjungti ir išjungti SQL užklausos where sąlygas. Nusprendžiau kad iš šių dviejų „metodikų“ galima sukergti visai neblogą sprendimą automatiniam/rankiniam ataskaitų generavimui… Skaityti toliau

Dinaminis SQL užklausos „where“ sąlygų keitimas

sql_geekSituacija dažnai sutinkama kasdieniniame darbe. Turim select’ą su daug where sąlygų. Vieną kartą select’ą tenka įvykdyti su vienomis sąlygomis, antrą kartą su kitomis, trečią – su visomis išskyrus vieną ir pan. Jeigu select’as trumpas, bėdos nėra: užkomentuojam nereikalingas eilutes ir tiek. Jeigu select’as yra labai ilgas, su daug join’ų, union’ų ir daug daug kintančių sąlygų, problema pasidaro gan rimta. Galima lengvai susipainioti ar kažką praleisti. Taip pat toks „užkomentavimo“ metodas nelabai tinka automatiniam ataskaitų generavimui. Na bet pasirodo yra gan paprastas ir patogus where sąlygų įjungimo/išjungimo būdas. Skaityti toliau

Achievement Unlocked: Popierinės vestuvės

blog2Kur buvo, kur nebuvo, tačiau ėmė taip ir nutiko, kad šiandien lygiai metai, kaip esu ženotas! 2014 m. liepos 11 d. buvo tikrai įsimintina. Valandą iki jungtuvių pradėjo pilti kaip iš kibiro. Pamažėle pradėjo rinktis šlapi svečiai, o būsimos žmonos kaip nėr, taip nėr. Iš jaudulio jau linko kojos, tačiau pavėlavusi gerą pusvalandį mano žmonelė ėmė ir pasirodė. Tokios gražios jos dar nebuvau matęs. Net dangus kiek praskaidrėjo ir lietus apsiramino nuo jos spindesio. Skaityti toliau