• Agypihentetés - Onlife Konferencia

    Az Agypihentetés 🧠 minden nap szerepel a teendőim listáján. Ez egy olyan folyamat, aminek során a napom közepén kicsit megpihenek, visszalassulok, meditálok, hogy a délután gördülékenyebben menjen.

    Számomra erről a visszalassulásról (is) szólt a múlt pénteki Onlife Sprint konferencia, hiszen a nap folyamán a “lassan sietni”, “hátralépni két lépést” fogalmak, gondolatok több különböző előadó beszédében is felbukkantak.

  • Elkerülni a fejfájást

    Szeretem megmenteni magam a fejfájástól. Ezért is tanulok folyamatosan, hogy az elém kerülő feladatokat minél olajozottabban tudjam megoldani. Na ez az, ami nagyon nem sikerült a minap…

    Sürgős segítségre volt szükségem az egyik csapatunk tagjaitól. Írtam nekik a közös chat-en, viszont belátható időn belül senki nem reagált. Ekkor vettem fel a telefont, hívtam fel egyiküket, és kértem meg immár szóban a feladat elvégzésére: küldjön ki egy fontos leírást e-mail-ben.

    Letettem a telefont, majd koppantam, hogy sajnos csak feladatot adtam, nem leszállítandót, mint azt az Onlife podcastjában megtanultam. Fogalmam sem lehetett sajnos, hogy az illető elvégezte-e a megbeszélt munkát. Nem kértem meg ugyanis pl. hogy engem is csatoljon be a kiküldendő levélbe. Így egy negyed órás fejfájás, idegeskedés után sikerült csak információt szereznem arról, hogy a kritikus e-mail kiment-e már.

    Legközelebb megpróbálom jobban hasznosítani a tanultakat.

    A vonatkozó podcast rész, amit egyébként melegen ajánlok.

  • Ötletek hasznosítása

    Rendszeresen hallgatok beszélgetéseket nálamnál okosabb emberekkel. Mivel az adott területen műveltebbek, tapasztaltabbak nálam, számtalanszor csapok a fejemre: basszus ezt tényleg így kéne csinálni.

    Itt jön be egy döntési helyzet, ahol szerintem nagyon sokszor rosszul választunk, ugyanis:

  • To-do list, mind reflex

    Néhány hete született meg az első gyermekem. Nem meglepő módon fenekestől felfordult az életem: hirtelen annyi minden szakadt a nyakamba, hogy csak kapkodtam a fejemet. Vagyis csak kapkodtam volna, ha nem álltak volna a rendelkezésemre már bevált, régóta használt eszközök.

  • Tanulás időablak

    Vezetőként az egyik legfontosabb feladatom priorizálni. Irdatlan mennyiségű teendő keletkezik minden percben, a sok teendő között pedig könnyű elveszni, főleg akkor, ha nem látod jól a nagy képet.

  • Jól áll a világnak a sebesség

    Heti rendszerességgel tekerek 10-10 km-t a Veszprém megyei faluvilág két települése között. Biciklivel bő fél óra, kellemes edzés. A forgalom minimális, inkább őzekkel és nyulakkal találkozok, mintsem autókkal. Van időm nézelődni, gyönyörködni a tájban, hiszen bringával azért nem kilencvennel repeszt az ember a közutakon, másrészt amúgy sem rohanok.

    Az első néhány alkalommal még a nagyobb képre koncentráltam: mikor jön a falu, a következő kereszteződésnél merre kell fordulni, hol érdemes menni a három kátyú között. Ahogy az útvonal már rutinból megvolt, el tudtam kezdeni fókuszálni másra is: egyre több őzet és madarat vettem észre, szép fákat, amik biztonságot nyújtva meresztik ágaikat a mező egy része fölé, és szemetet. Töménytelen szemetet.

  • A barackkonzerv

    Vasárnap már éreztem, hogy valami nem stimmel. Úgy fájt a jobb combom, mint annak idején, mikor gyerekként növésben voltam, és jött a front.

    Ez a gyerekkori emlék azonnal bekapcsolt egy másikat: amikor beteg volt valaki a családban édesanyám elővett a kamrából egy barackkonzervet, amit persze pikpakk elfogyasztottunk. Magozott, hámozott fél barackok. Imádtam!

  • Napi bringa

    A héten egyik délelőtt nem igazán sikerült felvenni az aznapi fonalat. Elkezdtem dolgozni reggeli után, de valahogy semmi nem akart elkészülni. Mivel nem volt sikerélményem, hiszen nem értem semminek a végére, így belefogtam másba, hátha majd az sikerül. Ebéd előttre már azt vettem észre, hogy legalább 5 féle dolgot próbálok csinálni, benne vagyok egy ördögi körben, azaz mindig újabb feladathoz fogok abban a reményben, hogy majd az sikerül és kibillent ebből a rossz érzésből.

  • Energiatartalék

    45-60 percet bírok igazán fókuszáltan egy témára figyelni. Utána lankad a figyelmem, már el-elkalandozom, nem hallok ki minden összefüggést olyan jól, mint előtte. Azért, hogy ez a fáradási folyamat ne harapódzon el túlzottan nekem kell tennem, hiszen más nem fog figyelni az én igényeimre pl. egy megbeszélés kellős közepén.

  • Notion Epic template

    We are using Notion for knowledge sharing and task management at work.

    We use the Engineering Roadmap template with several minor customizations to track our development processes.

    Today I’ll show you how I improved the Epic type of tickets to be more descriptive and demonstrate the crucial data quickly for the viewers.

  • Agypihentetés a mosógéppel

    A napi teendőm listáján ott figyel egy Agypihentetés elem (is).

    Ilyenkor felteszem az ipari fülvédőmet, hogy kizárjak minden zajt, leülök általában az ágyamra, becsukom a szemem, és negyven szép lassú levegővételen át megpróbálok csak a légzésemre, a testemre figyelni, és kizárni minden más gondolatot a fejemből.

    Általában nap közepén szoktam agypihentetni, hogy az addig felgyűlt feszültség, újdonságok, történések tudjanak ülepedni kicsit. Ezáltal a délutánt frissebben, fejfájás nélkül tudom kezdeni. Sokkal produktívabb vagyok így.

    Eddig a megszokott napi rutin.

  • Fejetlenség

    A feleségem épp munkát keres, vele esett meg az alábbi történet, ami mellett nem tudtam szó nélkül elmenni.

    Legfőképpen azért, mert ha az alábbi történet annál a cégnél esne meg, ahol én is dolgozom biztos vagyok benne: én lennék az egyik első, aki elkezdeném kongatni a vészharangot.

  • Anniversaries

    This week I’m celebrating two anniversaries:

    • this blog became three years old,
    • and I quit smoking one year ago totally.
  • Narrow your focus during testing

    Recently, I wrote the first UI test for an Android app. The first one is often way longer than the others, as you need to set up many things which can be reused later. The infinite amount of time required is especially true if you overcomplicate the test case and want to test too many things in the first simple run, as I did. Let me show you how.

  • Fairphone 4 - the new sustainable candidate

    OnePlus 3T - the past

    I used a OnePlus 3T for 5 years and 3 months (1907 days in total). It was a great device, but once I couldn’t answer phone calls I knew: it was time to replace it.

  • Type alias used to simplify future refactors

    I had to introduce a new model in one of my projects, and by that time, I wasn’t sure about its type (Int or String). I had to start the implementation to meet the deadline, so I choose to hide the type somehow. Kotlin’s type aliases came to help me.

    typealias Key = Int
    
  • Let the Dependency Injection work for you

    Recently I received a comment on a code review pointing on this line in one of my ViewModels:

    context.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
    

    My colleague suggested refactoring it, that the Dependency Injection framework should provide the proper system service for me.

  • How to accelerate your input

    As a software engineer, it’s crucial how quick you can translate your thoughts into machine-readable code. Nowadays, it’s obvious that we’re using a keyboard and some pointer (mouse or touchpad) as inputs for a computer. However, new ways are approaching (like voice typing, etc.), but I’d focus on the keyboard right now.

    Why keyboard only?

    The answer is super easy: it’s a time loss to use the mouse. You need to move your hand away from the keyboard, clicking on some objects, which takes a lot of your precious time.

  • The importance of unit testing

    Are you writing code in TDD? I guess not.

    But we all know unit testing can easily catch issues, and they’re incredibly cheap in terms of resources, especially time.

    I’ll show you a case of how.

  • Compare files with diff command

    Recently I sent a text file to a colleague, and I received it back with a few, almost viewless changes. I was looking for something that can compare the two files and help me understand the differences.

    A quick search and an article gave me the solution:

    The diff command.

  • Coding in Kotlin, like speaking in English

    I’ve been using Kotlin for 2,5 years now, but it still amazes me how naturally this superb language allows me to write code.

    Regularly I try to solve simple issues with writing the words into the IDE like into a chat. After typing a few characters (writ for example), I’ll pick a suitable writeThisBlogPost() method from the suggestion list.

    Sometimes such a method does not exist, and I have to write my own implementation for that, but Kotlin’s interface is so cool, that often it is already there for me.

  • Config files migrated to git

    Recently I started to use another laptop for development, and I wanted to keep my configs in sync between all my devices.

    I wanted to sync:

    • .bash_aliases
    • .bashrc
    • .gitconfig
    • .ideavimrc
    • .vimrc
    • .zshrc

    Previously I was creating backup irregularly into my cloud storage, but I read an article about adding all these files into a git repository, which I found an interesting idea.

  • Change default JDK to Android Studio's bundled JDK

    Recently I was looking for a solution to reduce a bit the enormous amount of RAM consumed by Android Studio and Gradle.

    During a meetup of the Kotlin Budapest User Group I received a suggestion to change my default JDK to Android Studio’s JDK and this link for help.

  • Duplicate label in when

    Maybe you already encountered the warning above if you’re using Kotlin, and copy-paste often.

  • Sustainability contribution as an Android Engineer

    Did you ever wonder how can you as an individual help build a sustainable world? With my fiancée, we’re constantly improving our way of life to produce less waste, and reduce our footprint on Earth.

    The main focus of ours is the decrease in consumption. For example, I’m using a OnePlus 3T for 3,5 years, and my girlfriend has an iPhone 5S…

    Thinking about old phones it came to my mind, that finally, I found a field in my professional life I definitely can contribute to the waste-reducing goal: I have to create apps that are running on old devices too.

  • How to avoid Android DataBinding NPE related crashes

    During investigating and fixing a crash in one of the apps I’m contributing, I found an issue with DataBinding and custom adapters I’d like to share with you.

  • Home office setup

    Given that we should prepare ourselves for a quite long home office run I dig deep into my - almost forgotten - carton box, which contains a lot of cables, webcams, spare keyboards and mouses, etc. to create a reasonable setup for working from home.

    The basic idea was, that as I have a Bluetooth keyboard and mouse too (which I was using in the office in general) I should use them to connect both my laptop and PC and control them with the same input sources. I wanted to create such a setup where hitting a few buttons can help me to switch between those 2 devices wireless, without the need to disconnect/reconnect USB and HDMI cables.

  • 10 thoughts of mine about Android Data Binding

    I’ve been using the Data Binding for Android for 1 year, and I found it’s a pretty handy tool for us to wire up xml layouts, Fragments, and our ViewModels. However, I’ve been facing some issues during day-to-day usage I want to share with you.

  • Sit/stand added to my setup

    I was so joyful today morning seeing the first snow of the winter. The whole city was white, and especially the inner court of the office building was amazingly snowy.

    But there was one more shiny white surprise today: finally, I received my new sit/stand desk from Ikea.

  • Fixing bluetooth mouse lag on Ubuntu

    Friday morning, you are sitting on a train heading to Praha, building some xml layouts for a new screen of the app you’re working on right now.

    Meantime your fiancée is a bit sad because she left her mouse at home.

    The solution is pretty easy, as you are using the keyboard for almost everything: you will lend her your Logitech G603 Bluetooth mouse.

    Steps to reproduce the story:

    1. Switch on the mouse
    2. Open its panel in the Bluetooth settings
    3. Click Remove Device
    4. Disaster
  • Join lines in Android Studio

    A warm welcome to you, who are reading the first post here, on my brand new blog.

    In the previous days I was wondering what could be the best content for the first post in a blog, where I want to share my moments with Linux, Android, etc. Considering these requirements: it should be something deep technical and for sure a long one!

    Mean time Android Studio just made me smile today while I was using a keybinding I found recently.

subscribe via RSS