2014. október 30., csütörtök

HVG - Big Data a marketingben konferencia


Tegnap volt szerencsém részt venni a HVG rendezvényén, a "Big Data a marketingben" című konferencián. Noha nem vagyok marketinges, hanem - crawler programok fejlesztése révén - inkább adatgyűjtő, a konferencia hasznos és érdekes volt számomra is. :) A sok előadáson és az azt követő kerekasztal beszélgetésen elhangzott rengeteg gondolatot megpróbáltam összefoglalni, ezt osztom meg most itt.

2014. augusztus 27., szerda

Achievement unlocked: utolértem a Doktort!

forrás: brandsoftheworld.com

Most, hogy végre szabadságomat töltöm, végre volt időm kihúzni a todo listámról valamit, amit hónapokkal ezelőtt is megtehettem volna: megnéztem a Doctor Who (magyar címén Ki vagy doki?) 7. évadát és az azt követő special részeket is, szóval utolértem a "jelent". :)

2014. augusztus 12., kedd

Lightweight JS IDE

Nos, talán már említettem, hogy egy UserScript-en ügyködöm, ami ugye JavaScript. SublimeText-ben dolgozom, és ma rátaláltam egy újabb nagyonnagyon hasznos plugin-re, ami nagyban megkönnyíti a fejlesztést a későbbiekben. Ez a SublimeLinter, ami szintaktikai hibák kiemelését teszi lehetővé. (UPDATE!)

2014. augusztus 1., péntek

In Your Room metálban

És íme, elkészültem az In Your Room cover-emmel... immáron másodszor. :) Az első verzió nem volt elég átgondolt zeneileg, noha az outro egész jól sikerült. Az új verzióban gondosan megválasztottam a megfelelő akkordokat, és a dal felépítését tekintve igyekeztem kissé eltérni az eredetitől, de nem kerültem nagyon messze. Az outro lett új, illetve a metálos hangzás. Ez utóbbinak két komponense van: egyrészt 2 bunddal mélyebbre tekertem a gitáromat, másrészt pedig tenyérrel tompított powerchord nyolcadokkal keményítettem a nótán. Végül pedig új fejezetet nyitva gitár felvételeim történetében, újfajta utómunka technikát is alkalmaztam: dupláztam a ritmusgitár sávot (posztom erről).

2014. július 31., csütörtök

Gitársáv duplázása Audacity-ben

Néhány napja, amikor háttérzaj-mentes környezetben, fülhallgatóval hallgattam pár Nightwish nótát, felfigyeltem valamire: mintha a ritmusgitárból kettő lenne, az egyik bal oldalon, a másik jobb oldalon szól. Ugyanakkor annyira pontosan megegyeznek... nem hiszem, hogy 2x játszotta volna fel Emppu ilyen tökéletes pontossággal (noha kiváló gitáros!). Viszont, ha egyetlen sávról van szó, valamiben különböznek, hiszen két oldalon hallom és nem középen. Nem tudtam rájönni, mi a különbség. :-)

Tegnap, amikor újra elővettem a hó elején szinte befejezett cover-emet (hamarosan publikálom:)), hogy elvégezzem rajta az utolsó simításokat, gondoltam, utánajárok a fent említett dolognak.

Elsőként kipróbáltam, hogy egy megkettőzött sáv egyik példányán levágom a basszust, a másikon pedig levágom a magas hangokat EQ-val, majd beállítom a balanszot, hogy két oldalon szóljanak. Ez csak részleges megoldást hozott, nyomokban külön szóltak, bizonyos részeken viszont együtt, de furán.

Itt nekiálltam guglizni. A kulcsszó a "doubling" (track doubling), vagyis megkettőzés. Nagyon hamar használható leíráshoz jutottam: egy about.com-os cikk a dolog kulcsának a minimális időbeli eltolást említette.

2014. július 26., szombat

Sortörések eltávolítása a szöveg körül (HTML, JS)

Dolgozom egy kis "meglepi" UserScript-en (amit majd hamarosan publikálni fogok;)), és a következő problémába ütköztem.

Adott a HTML kódban egy bekezdés, és a szöveg előtt-mögött sortörések.
A feladat pedig az, hogy a szöveg körül helyet foglaló <br> tag-eket eltávolítsam.

2014. július 22., kedd

A finn angyal

Néhány hete, miközben Nightwish cover-eket kerestem, rábukkantam az enkelination nevű csatornára a YouTube-on. Sajnos csak egy cover van fent, a Sleeping sun, de a hölgy nagyon szépen énekli. Ahogy nézegettem a feltöltött videókat, rábukkantam erre: enkElination - Tears Of Lust. Ekkor tudatosult bennem, hogy a csatorna mögött egy egész banda van.

2014. július 16., szerda

Gyakori kérdés - Melyik programozási nyelvvel kezdjek?

Már több mint 3 éve (?! erre most eszmélek rá :O) lelkes válaszadó vagyok GyakoriKérdéseken és ez a kérdés nagyon sűrűn felmerül

Mivel meguntam, hogy mindenhova begépeljem a válaszomat, amit zöld kezekkel megerősítettek mások is (itt és itt); népszerűsítené a blogomat; és még másoknak is segítenék vele, úgy döntöttem, hogy megér egy bejegyzést ez a kérdés és a válaszom.

Tehát még egyszer, a kérdés:

Melyik programozási nyelvvel kezdjek?

Válasz:


2014. július 3., csütörtök

Happy

Pharrell néhány hónapja bedobott egy slágert a zenei világba. Mint a Flappy Bird, szerintem a Happy is elindított egy hullámot, rengeteg profi és amatőr cover gyáros is legyártotta a saját verzióját belőle, és persze a fanatikusoknak készült 10 órás loop verzió is. Mi lehet a dal titka? Egész egyszerűen jó. Nem csípem a figurát, de ezt nagyon eltalálta. Dallamos, könnyed, vidám, és szerintem a szöveg is ötletes.

A továbbiakban bemutatom a 3 (szerintem) legjobb Happy covert! :-)

2014. június 2., hétfő

Property-k kezelése Java-ban, BeanWrapper nélkül ;-)

Elkezdtem írogatni érdekességből egy saját ORM rendszert, ami pont azt tudja majd, ami nekem kell, sem többet, sem kevesebbet: konvertál osztályt táblára, objektumot rekordra, rekordot objektumra. Mivel meg akarok valósítani embeddelést ("a.b.c" property-ből legyen "b_c" SQL oszlop az "a" táblában), ezért szükségem van hasonló működésre, mint amit a múltkor bemutattam a BeanWrapper-rel.

Azonban egy picit másfajta működésre is szükségem van, használnom kell közvetlenül a Reflection-t, mert kezelek annotációkat, illetve kényelmesebb így kilistázni egy osztály property-jeit, mint BeanWrapper-rel. És hamár így szoros együttműködésbe fogtam a Reflection-nel, gondoltam megírom a saját BeanWrapper-emet, amely tudja a 2 múltkor bemutatott funkciót: getProperty és setProperty. Sikerült is, és több előnye is van a BeanWrapper-el szemben! :-)

2014. május 25., vasárnap

2014. május 4., vasárnap

Spring Beans + EL = Magic! :-)

Néhány napja, mikor egy melóban felmerülő feladatra kerestem megoldásokat, belefutottam a Spring hasznos cuccaiba.

Elsőként a BeanWrapper-re találtam rá, mely arra lesz jó, hogy automatizáltan és flexibilisebben tudok feltölteni objektumokat értékekkel, akár egy properties fájl alapján. A lényege az, hogy String-ben mondhatom meg, hogy a becsomagolt objektum melyik adattagjával akarok operálni, ő pedig a háttérben lerendezi nekem, nyilván Reflection-el. Ez nagyon szépen működik addig, amíg a property útvonal létezik. Például "cég.cím.város" esetén a "cím" mezőben lennie kell egy megfelelő objektumnak, hogy a "város" adattagját be lehessen állítani.

2014. április 26., szombat

Lenovo Thinkpad Yoga - tuti kis gép ... lenne

Bevezetés

Volt szerencsém céges gépet kapni, és gondoltam, most megosztom a tapasztalataimat, amik egyelőre vegyesek. Noha a készülék tökre tetszik, van egy teljesen nonszensz probléma vele (szerk: de van már megoldás is, linkelem azt is!). Részletek alant.

2014. március 31., hétfő

2048

A Flappy Bird hisztéria után újabb játék terjed robbanásszerűen a világon, mind a játékosok, mind a programozók körében: a 2048. Ez már maga egy klón, de a hullámot elindító Gabriele Cirulli játékából (játszd itt) néhány nap alatt rengeteg másolat és kusztomizáció (úh, ezt még így sosem írtam le:D) született. (cikk erről)

Engem is megfertőzött a játék, napokig toltam, és minden szemem elé kerülő és tetszésemet elnyerő klónnal el akartam jutni a 2048-as csempéig. (Ami eddig sikerült is!:D) Elsőként a kormánypárti politikusok arcképeivel operáló klón jutott el hozzám, Cirulli verziójához csak ezután értem el. Találtam Doctor Who figurás játékot is.

Vannak persze vadabb átalakítások is, például a 2-es helyett 1-es csempével indító Fibonacci változat, ami szerintem gondolkodósabb, mert korántsem mindegy, hogy melyik csempét melyikkel egyesíted. Van tetrisz változat, ami szakít a játék eddig mozgatási szabályaival és természetesen a Flappy Bird őrültek sem maradnak ki a jóból, nekik is készült egy repdesős áltozat. Akinek pedig nem elég a 4x4-es tábla, az bonyolíthatja az életét a 3D-s verzióval.

Aki pedig szeretne saját képeket megjelenítő verziót csinálni, használhatja a Make your own 2048 generátort.

Én is elkezdtem egy sajátot írni nulláról, a logika már meg van, és egyébként nem triviális, egész gondolkodós feladat, élvezetes volt összerakni. Szerintem kezdőknek gyakorlás gyanánt kiváló projekt. :-)

Az XKCD-t is megihlette a játék:


EDIT:
A bejegyzésem közzététele után találtam még egy gonosz, nehezített változatot is, azt hiszem, ezzel fogok szenvedni most. :D

MySQL beszúrás - sebességteszt

Munkám során felmerült a probléma, hogy a több millió rekordos adatbázis tábla újragenerálása (az inputból) csöppet sokáig tart. Maga az input elemzése sem villámgyors, de a teljes futásidő túlnyomó részét a beszúrások veszik el.

2014. január 29., szerda

Nightwish

Tavaly, az év utolsó napjaiban, már nem is tudom miért, de eszembe jutott a Nightwish zenekar, és hogy 2 számukat leszámítva egyáltalán nem is ismerem őket. Elhatároztam, hogy változtatok ezen. YouTube-on beírtam a keresőbe a zenekar nevét és próbáltam tetszetős dalokat kihalászni a rengetegből. Volt amelyik nem tetszett, de volt amelyik megfogott. Az Amaranth c. dalukat már ismertem korábbról, ezúttal a kedvenceim közé emeltem a Nemo-val együtt. Utóbbiban először a szóló és az azt körbeölelő riff-ek, illetve a megelőző közjáték tetszett meg először.

Aztán, már nem is emlékszem hogyan, látókörömbe került egy koncertfelvétel. Gondoltam, na ez jó lesz, megismerem a leghíresebb számaikat, hiszen általában azokat szokták nagy publikum előtt játszani a zenészek. Ez a koncert a 2013-as Showtime, Storytime.

2014. január 5., vasárnap

Chrome felhasználói szkriptek

Néhány napja támadt egy ötletem, miszerint egy weboldalt kiegészítenék egy mini-funkcióval (talán majd egy későbbi posztban írok erről is). Ehhez gondoltam, telepítem a Tampermonkey-t, ami a Greasemonkey Firefox add-on Chrome-ra íródott változata, ami felhasználói szkripteket (userscript) tud futtatni a böngészőben. Viszont valahol rábukkantam arra az infóra, hogy nem is kell Tampermonkey felhasználói szkriptek használatához! Alább ismertetem, hogyan lehet egyszerűen kiegészítő szkripteket írni weboldalakhoz. :)