Hevi blogja

Elso verseny

Vegre sikerult osszeraknom a mult het keddi verseny videojat. Nem az igazi meg a script, az utolso kor ideje peldaul valamiert nem renderelodott. Majd atirom Java-ra, esetleg Swiftre, hatha jobban attekintheto lesz. Viszont hozzaadtam a hatso kamera kepet PIP-ben, meg a poziciot is lehet latni.

Vegre megvolt az elso szervezett versenyem is. 15 perc bemelegites, 15 perc, kieseses rendszeru idomero (1. 8 perc + 2. 4 perc + 3. 2 kor), majd 20 perc verseny egy darab boxkiallassal (10 mp a pitben). Ez utobbi eleg jo taktikai elemnek bizonyult, de errol lentebb. Direkt vettem egy Hero Session-t hogy hatrafele nezzen, hatha lesz valami akcio, ahol probalnak megelozni.

"Vonalzót dugna a szerverekbe az Intel"

A HWSW oldalsavos ajanlojat altalaban megnezem, ha mar ott van, hatha van valami erdekes is arrafele. Altalaban viszonylag informativ cimeket adnak a cikkeknek; most ez nem sikerult.

Ugyan kerulom a clickbaiteket, hiszen nyilvanvaloan a reklamok miatt tolnak ki kiadok es szerzok kulonfele agyalagyultabbnal agyalagyultabb baromsagokat, mert ugy jon a kattintas, de azert egy szakmai oldaltol nem ezt vartam volna. Oszinten kivancsi voltam, hogy milyen use-case lehet, amire egy (szo szerint) OOTB vonalzo a legmegfelelobb a szerverteremben.

Es itt jon az igazi kerdes. Mi haszna ebbol a reklamozonak? Termeszetesen miutan atvertek, 2 masodpercen belul elhagytam a csalo oldalt, amely megtevesztessel probalt rajtam nyereszkedni. Ez nyilvan azt is jelenti, hogy egyetlen egy reklamot sem lattam (hacsak nem tart ott mar a reklamtudomany, hogy a periferias latasra es a tudattalanra alapoznak), es foleg nem klikkeltem rajuk. Folytatolagosan azt is jelenti, hogy a mostani rossz tapasztalatok miatt (gyk: hulyenek neztek a hwsw-nel), egy ideig hanyagolni fogom az oldalsavos ajanlokat.

Gokart - GoPro - ffmpeg

Par honapja vettem egy Hero 5-t jo oreg ContourHD helyett (720P verzio, nem mai darab, de meg mukodik).

Par hete elkezdunk vegre rendszeresen jarni gokartozni. Pentek estenkent 3x15 perc a 2x15 helyett, 2 hetente jarunk.

Par napja rajottem, hogy a felvetel az tok jo, ha van, papiron meg megkapom a koridoket. Miert ne kombinaljuk oket?

Az eredmeny:

https://www.youtube.com/watch?v=dhs2OApK0rA
https://www.youtube.com/watch?v=HU6MAiYsXK0
https://www.youtube.com/watch?v=WpDMFPKo23I

Hang nem nagyon van a GoPro igen fejlett szelzaj filterenek koszonhetoen - szepen kiszuri az elektromos gokart hangjat is, a gumicsikorgassal egyutt. Mostmar kikapcsoltam, szoval legkozelebb lehet majd rajta hallani az osszes tok idegesito hangot!

Számneveinkbe rejtve

Update: a kommentek közt többen rávilágítottak, hogy a huszas értelmezésem nem teljesen helyes. Míg a postot nem frissítem, addig lásd kommentek.

------------

Update2: talaltam en is egy hibat a levezetesben, az eredeti "két" alak helyett a "kettő" alakot hasznaltam, ami valoszinuleg nem helyes.

Ld komment: https://hup.hu/node/153406#comment-2100009

------------

Ahogy az előző postomban is fejtegettem már az ötletet, van egy olyan elmélet*, miszerint a magyar ősi számírás az általunk is ismert, és mai napig használt huzogatós módszeren alapszik, ahogy például a maja számírás is, és ennek a maradványait tükrözik a mai napig használt magyar számneveink.

Unit tests should be black box tests - miert is karos a mockolas, es miert kell talalnuk egy jobbat helyette

Gondolom sokan irtunk mar itt unit testet, ki ilyen formatumban, ki olyan modszerrel, de altalaban ugy nez ki a felepitese, hogy 3 csoport van: given, when, then. Altalaban a given reszben definialjuk (rosszabb esetben) a state-et, a dependenciakat es megadjuk, hogy azok hogy is viselkedjenek. A when reszben meghivjuk az aktuallis underTest fuggvenyt, majd a then agban ellenorzunk.

Ugy gondolom, hogy a given-t vagy teljesen el kellene hagyni, vagy legalabbis csak a parameterek inicializaciojara hasznalni. A mockokat ki kell dobni a fenebe. Karosak. Nehezkes oket felsetupolni. Minden egyes dependencia hivashoz meg kell adni a viselkedest. Implementacio fuggove teszi a tesztunket.

Havesomerest - (REST) API Test Automation and mock framework - Proof of Concept

Par honapja belekezdtem egy test atomation framework irasaba, mert ugy ereztem, hogy REST API-t tesztelni manapsag eleg korulmenyes automatikusan. Van a JMeter meg meg talan egy ket versenyzo, manualra meg most a Postman a divatos, de egyik se volt az az "OOTB mukodik, nem kell szorakozni a setupolassal" tipusu, illetve az se tetszett, hogy kodolni kell hozza. A REST API-k altalaban plain text JSON-ban kommunikalnak, erdemes lehet megtartani azt a formatumot a tesztek irasara is.

Igy szuletett meg a Havesomerest framework. A project oldalan leirtam a koncepciot: JSON vagy XML formatumban kell a teszteket definialni, mig az endpointokat a folder strukturaban elhelyezett tesztfileok jelolik.

The power of Swift

"...For me, functional programming is just another tool in the toolbox. It’s a very powerful tool that changed the way I think about programming. It can be extremely useful when solving problems. For most problems, object-oriented programming is great. But for others, solving the problem functionally might save you massive amounts of time and energy.

Getting started with functional programming might be a bit painful. For one, you have to let go of old patterns. Because a lot of us spent years thinking in an object-oriented way, this is very difficult. In functional programming, you think of immutable data structures and functions that convert them. In object-oriented programming, you think about objects that send messages to each other. If you don’t immediately get functional programming, it’s a good sign. Your brain is probably deeply wired to think of solving problems in the object-oriented way..."

Duck typing - Runtime interface

"If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck"

Ha a wikipedian megfogalmazottakbol indulunk ki:

"With normal typing, suitability is assumed to be determined by an object's type only. In duck typing, an object's suitability is determined by the presence of certain methods and properties (with appropriate meaning), rather than the actual type of the object."

Duck typing-gal azt mondjuk, hogy futasidoben ez a fuggveny ilyen es olyan metodusokkal es/vagy propertykkel kell rendelkezzen. JavaScriptben gyakorlatilag ez az egyetlen lehetoseg arra, hogy egy fuggveny eldonthesse, hogy megfelelo objektumot kapta-e.

Bugfix es a unit test viszonya

Szoktak mondani, hogy ha javitassz egy bugot, arra irj unit testet is, hogy ne ismetlodhetsen meg ujra, legyen tesztelve onnantol fogva. TDD azt mondja, hogy elobb ird meg a tesztet, es csak utana a kodot. Szoval a bugfixre elobb a unit testet kell irni, igy ugye sokkal egyszerubb reprodukalni a hibat az adott kodreszletben, majd a kodban kell fixalni a bugot, mig a teszt at nem megy.

Ezt az egeszet idoben visszatekerve a legelso kodsorhoz, az elso TDD unit tested gyakorlatilag egy bugfix. Leirod hogy kellene a kododnak mukodnie, nem ugy mukodik, szoval fixalod.

Tehat a TDD a folyamatos bugfixalas metodologiaja.

If you want to be successful you got to be willing to give up sleep!

https://www.youtube.com/watch?v=vMg253a36gE

So the old man said: “I thought you said you wanted to be successful?”

“I do,” said the student.

He said: “When you want to succeed as bad as you want to breathe, then you’ll be successful.”

I don’t know how many of you have asthma today, but if you ever had an asthma attack before and you’re S.O.B. — you’ve got shortness of breath — and you’re wheezing, the only thing you’re trying to do is get some air. You don’t care about no basketball game. You don’t care what’s on TV. You don’t care about anybody calling you. You don’t care about a party. The only thing you care about when you’re trying to breathe is to get some fresh air. That’s it. And when you get to the point where all you want to do is be successful as bad as you want to breathe, then you’ll be successful.

A magic numberek kiemelesenek szerepe a karbantarthato kodban

Mindenki ismeri a klasszikus kodreszletet:

--

String typeValue = (String) paramValue.get("type");

if ("beachball".equals(typeValue)) {
// do something
} else if ("volleyball".equals(typeValue)) {
// do something else
}

...

somewhereElseInTheCodebase();

if ("beachball".equals(typeValue)) {
// do something
} else if ("volleyball".equals(typeValue)) {
// do something else
}

--

Mi itt a baj? Hat, ha meg akarjuk talalni, hogy hol voltak kivancsiak az integer type-okra, akkor csak a text search marad, ami valljuk be, nem idealis. Typo-kat csak runtime lehet kiszurni, tesztelessel. Refaktoralaskor text search-replace kell, ami vagy csak erre matchel, vagy nem.

Az off-topic jo!

Az off-topic jo. En ezert latogatom a HUP-ot, ezert olvasom, mint egy forumot, nem pedig, mint egy szakmai portalt. Es ezert nem jarok stackoverflowra. Ott nincs offtopic. Nincsenek jo beszelgetesek. Nincsenek rendes vitak. Nincs trollkodas. Nincs "uj lehetsz errefele".

En szeretem a kozosseget itt. Eleg kulturalt, hogy ne egy troll-cirkusz legyen, de eleg troll, hogy erdekes legyen. Erdekes temakrol olvashatok. A fordito rejtelmeitol elkezdve, a megfelelo locsolocso kivalasztasan keresztul a gyerek maszturlbalasaig minden megtalalhato. Ha feljon az ember, nem fog unatkozni.

Es a kozosseg segitokesz. Koszonom a segitseget ax x220-as topicban! Nyilvan, ha nem lenne az, senki se latogatna, mert minek. De brutalis szeles latokort lehet itt osszeszedni, mert van Linux fanboitol elkezdve MS alkalmazotton at OSX-es sereg meg Ubuntu harcos is, van aki JS-ben programoz, mas C++-ban, harmadik rendszergazda, a negyedik meg teherauto sofor es fogalmam sincs mi vonzotta ide :) De ettol szines a tarsasag itt. Es hiaba szorakozni jarok fel ide az erdekes parbeszedek miatt, kozben nagyon sokat tanulok a szakmabol is. Es kommunikacio teren is.

Tiling WM

Hat hogy en hogy tudtam eddig letezni enelkul? Komolyan mondom.

Win7-re az eddig mar jol bevalt VirtuaWin melle felpakoltam meg a Plumb-ot is, igy mar rogton kellemesebb dolgozni!

Azt sajnalom, hogy OSX-re nem talalok valami jot, az Amethyst-et neztem, meg meg parat, de ez nekem nem all kezre. A Plumb frankon ujrameretezi az ablakokat, ha az egyik meretet noveled, ilyet nem tud az Amethyst, ahogy lattam. Meg valahogy az Aqua se annyira tamogatja ezt. Fullscreen appokkal meg talan meg lehetne csinalni, viszont a Microsoft nagyot szakithatna ezzel, igy meglenne az ertelme a csempes design-nak. Mar van bash is Win 10 alatt, multidesktop is, (3rd party) tiling WM is. Lehet, hogy lassan Win10-et kene raknom az Air-re? :)

HUP allasok

Most realizaltam, hogy az utolso ket munkahelyemre innen erkezett/talaltam allasajanlat/ot.

Hogy a harmadik is meglegyen: keres valaki Vancouverben Java fejlesztot? :)

Valaki Kanada? Vancouver?

Kezdem picit unni Manchestert, ezert elkezdtem nezelodni es raakadtam Vancouverre. Irgalmatlanul tetszik a varos, jo lenne ott is eltolteni egy par evet, de Kanadaba vizum kell. Keresgelek neten, de nagyon relevans infot nem talalok, hiszen keves a szakmabeli iras. Tehat ha van valaki arrafele, mennyire nehez 4 ev Java fejlesztessel vizumot kapni, ugy hogy franciaul nem tudok (nem tudom ez BC-be mennyire lenyeges), hogy erdemes megkeresni a cegeket, tudnak-e, hajlandoak-e express visa-t intezni (vagy hogy hivjak), mit erdemes elozetesen megcsinalni, vizsgat letenni, barmi, ami eloremozdithatja, hogy megadjak, mennyi ideig tart az ugyintezes, milyen Vancouver, milyen Kanada (fiatalos szemszogbol), mennyivel erdemes (kell? talan ha van allasajanlat, nem kell dollar tizezreket magamnal tudnom) nekikezdeni, stb.