Lawrence Gimenez

iOS

Mobile Development

Swift

Android

Kotlin

macOS

Projects

Personal

Programming

TIL

Coding

Games

Linux

Dad Blog

books

Journal

Bug Hunting

Music

Uncategorized

UI

Funny

onlinejobs

Python

Archive

Legacy

Photo Journal

: My /uses/ as of July 2024 Terminal Setup iTerm2 Build 3.5.3 Monaspace Argon font by GitHub Nord Theme Android Development …

: UITextView using TextKit 1 I received this warning and was surprised to know that there are 2 TextKits, TextKit 1 and 2 in the …

: SwiftUI Text highlights and menu SwiftUI’s Text() view does not support custom colored highlights and custom menus. …

: Gradle Version Catalogs I migrated our Gradle dependency management to Gradle’s new version catalog. It’s very …

: Gemini in Android Studio While everyone is on the AI train, I am still somewhat skeptical. AI is everywhere, it has come to a …

: Kotlin Serialization Shenanigans It’s been a while since I did some serialization implementation on Android. I forgot how …

: Rate My Setup Coding on TV might be one of my favorite developer setups. This was done via Apple’s Mirror …

: iOS Panic My phone suddenly restarted and went into a full-blown panic. After restarting, there were some …

: Lucas app v0.1 Yesterday I developed a new typing notepad app for my kid with text-to-speech feature. I wrote a …

: 2024 Goals I should write here more often. This is one of the few goals I have for 2024, personally. 2023 was …

: Thank you Retro I just want to say thank you to Retro App for their Postcard feature. I was able to send a postcard …

: Single Dot Crash It’s amazing how a single dot can crash the whole app. Xcode should throw a compile error, but …

: My 2023 Spotify Wrapped

: cook-canton.go Found a funny reel on Facebook titled From Coder to Cooker. The person was cooking pancit canton …

: Apple Vision Ready OnlineJobs app now works on Apple’s visionOS.

: VersionedSchema Protocol Updates After updating to Xcode 15 beta 7, I got a VersionedSchema error saying that does not conform to …

: Build Go programs with GitHub modules present I was hit with an error when I try to run a Go script, go run somescript.go. This is a note to my …

: Throwback Android Developer Google Group Out of the blue, I remember that I was in a Google Group community of Filipino Android developers …

: That Annoying Xcode 15 IDELogRedirectionPolicy This issue will cause debugging on either device or simulator to slow down to a crawl. For future …

: Chess Milestone: Advanced to Legend A few days ago, I was able to advance to the most elite division of chess.com, the legend division. …

: Sharing from Linux to macOS Note: The OS versions I used here are macOS Sonoma 14 Beta 3 and Fedora Workstation 38. On the first …

: Last.fm API I recently recovered my Last.fm account, which was one of the top music services before Spotify or …

: WWDC 2023 I just realized that I have not written something or anything about Apple’s WWDC 2023. I was …

: Thoughts on Stack Overflow 2023 Survey Note: I always participate in this survey every year. Developer Type On the developer type question, …

: Stack Overflow Keycap Reward My tiny reward from Stack Overflow arrived yesterday, a small single keycap. I won it when I …

: r/BusinessPH will be going dark The sub r/BusinessPH will join the Reddit blackout on June 12 - 14, 2023, this is in solidarity with …

: dSYM workaround in Xcode 14 Starting with Xcode 14, Bitcode has been deprecated. So, in our team’s case, it is impossible …

: Underwhelming Google I/O 2023 After watching half of the Google I/O Keynote, I had to close the video because it was starting to …

: SwiftUI Tap Anywhere Today I learned how to implement tap anywhere to dismiss the keyboard on SwiftUI. In your parent …

: YouTube Coding 3 days ago I uploaded on YouTube my coding in SwiftUI, working on a couple of simple bug fixes for …

: Chess Milestone I achieved a very rare milestone last night. I had a 10-game winning streak in a …

: Xylophone App In roughly an hour or two, I created an iOS app for our son who loves playing his Xylophone. I came …

: Fedora 38 Released Just installed Fedora 38. So far, no issues found. The default wallpaper sucks though.

: Sound of Metal Movie Just finished watching the movie Sound of Metal. It was a great film and just found out that it was …

: New MacBook Air M2 My new Macbook came in today, from my sister in Houston. Thank you! Coming from Macbook Pro 2015 …

: Early Birthday Gift My wife gifted me an early present, a Fitbit. Thank you so much! I love you! I used to have a Huawei …

: Jetpack Compose Journey Part 1 This will be my first time delving into Jetpack Compose for a rewrite of our existing app. I believe …

: Belated Happy Birthday To My Wife After a very busy day yesterday, there was not enough time to post a greeting here. Happy birthday …

: Google I/O 2023 It’s that time of the year. I’m surprised that Google announced the event this early.

: New Home My wife and I are proud homeowners today. After 3 years in the making, we finally got the keys to …

: Diablo Immortal on Linux I was able to run Diablo Immortal on Linux, despite only being available on iOS, Android, and …

: My first contribution to Google/Android I just had my first GitHub contribution to Android/Google merged into their codebase. I have never …

: Bought ThinkPad T480 Yesterday I bought a ThinkPad T480 for 17,000 PHP or ~315 USD. It has 512 SSD storage and 16GB RAM …

: Leftover Android Studios Thanks to this Reddit post, I just found out that you could remove unused Android Studio cache or …

: Books I've Read this 2022 I haven’t read that many books this year. For 2023, I hope I would be able to improve my …

: My Personal Feedbin Reader - v0.2.1 The name of my personal Feedbin reader is called FeedMe. The more I worked on it the more it feels …

: My personal Feedbin Reader - v0.2 In three days, I developed my own Feedbin Reader since the official one is not written in native. In …

: Philippines Top 10 In Pivoting to Clean Energy According to MIT, the Philippines is one of the countries pivoting towards clean energy. Perhaps we …

: Updating old Android codebase An old client of mine contacted me to fix some bugs and the tricky part was that I have to update an …

: GCF on Hacker News In high school, in me and my brother’s room, I had a vandal of a phrase on my wall saying On …

: Android Studio Render Problem If you encounter a Render Problem issue on your Android Studio, like the one below. The solution I …

: Reddit Gift Reddit made an error with their Premium and in turn, they gifted me with 21,000 coins. I would never …

: Android Job Post Nostalgia Just found this photo of a newspaper ad for an Android Developer job post. This was my first break …

: Xcode 14.1 Beta 3 New Splash? I just saw this new Xcode splash screen for the first time. This popped up on Xcode 14.1 Beta 3. …

: One of the Top Mobile Developers in Cebu Before this gets purged on the internet or LinkedIn. Back in 2018, someone messaged me on LinkedIn …

: Weekend Project: ImageDownloader.py My personal project for this weekend is to migrate my portfolio from my old WordPress blog to my …

: My Wife's Pregnancy Journey Just happen to see this picture again in my photo library and I am still amazed at how strong my …

: SwiftUI: How to use NavigationStack inside the .toolbar First, why do I mostly find a solution after posting a Stackoverflow question? So most examples and …

: BuildException Error Updated last night to the latest Android Studio Dolphin build but encountered this annoying build …

: Compiling iOS Project in GitHub Actions While setting up YAML with GitHub Actions, it seems the build failed. These are the steps I took to …

: OnlineJobs is iOS 16 Ready I just compiled our codebase to the latest Xcode 14 RC and everything looks good during testing. I …

: Our Son Turned 4 Our kid turned 4 this week. We came back to the hotel where he was still tiny. Where we had to …

: Stackoverflow Chat Recent History Backup I just want to post my Stackoverflow recent chat history for nostalgic purposes. I hope that day …

: Legacy Android Library - Networking Valley 7 years ago I open-sourced my first Android library on GitHub. And shared it to my fellow Android …

: Mixpanel Code Refactor Our app uses Mixpanel for analytical and strategic purposes. This post is about my refactoring …

: Manjaro WTF!? Just today I read two bad news regarding Manjaro Linux. The first one is why you shouldn’t use …

: My First Professional Android Project I found my first “professional” Android project while backing up data from my old …

: Be Nice To Your Mobile Developers We need more wholesome reviews like the photo below. I received this notification this morning and I …

: Stay Safe Bug During the Covid pandemic, every country has its own app or service to help track and monitor …

: Became a Subreddit Moderator Last night I was invited to moderate the subreddit /pinoyprogrammer to which I have been …

: Compiling Android on the Command Line First of all, I am on Manjaro Xfce environment for this example. We need to install Gradle. I tried …

: Legacy Projects Part 1 Development Date: Last Quarter 2012 This was one of my app ideas back in 2012 where users can save …

: Familiarizing Linux Again Part 2 So I was able to install Manjaro KDE last night because the new USB drive was delivered yesterday. I …

: Diablo Immortal My wife and I started playing Diablo Immortal yesterday and I’m so happy she’s enjoying …

: The Curse of Monkey Island Game Revisit Since the upcoming return of the game franchise, Monkey Island was everywhere on the gaming news. …

: Smartmatic Hacked by Kids I just found out that the XSOX group has been arrested. It turns out, they’re just some kids …

: Familiarizing Linux Again After more than 5 years on macOS, I’m excited that I get the chance to use Linux again. My …

: Social Distortion - Bad Luck Cover This made me feel old. This is one of my favorite Social Distortion songs and the song was covered …

: Git Checkout to Switch I have finally made the switch from using mainly git checkout develop to git switch develop And a …

: SwiftUI Journey Part 11: Passing parameters Right now I am still figuring out how to pass a parameter from one View to another. I read I need to …

: SwiftUI Journey Part 10: Settings I can’t believe how easy it is to implement a settings page in SwiftUI. For the UI, I only …

: WWDC 2022 I haven’t yet written about this year’s WWDC 2022. In fact, I am still going through all …

: URLRequest not working right away in macOS (AppKit)? URLRequest not working right away in macOS (AppKit)? Do not forget to enable network capabilities in …

: Xcode 14 Multiplatform Migration First Look The next version for OnlineJobs will be migrated to Xcode Multiplatform. So far it is looking great. …

: Post-Covid Vacation Part 3 A lot has happened this week. Wedding Anniversary Last Thursday was our wedding anniversary. We …

: Pre iOS 16 - Last home screenshot This is the last phone screenshot before Apple introduces iOS 16 later today. Of course, I will …

: Post-Covid Vacation Part 2 Lucas has been settling well into his new morning routine and every car ride activity for the past …

: Android's own HTTP library I always wonder why Android doesn’t have its own HTTP library. They stopped supporting Volley …

: Post-Covid Vacation Part 1 Day 1 Today is the first time my family has gone out together for about 2 years before Covid hits, …

: Hiring for Android SDK We are in search of “a Android SDK”. Why do I get the feeling that this email was …

: Late Git Tagging Git tagging is useful for marking the point of the release cycle of a version. But sometimes, we …

: SwiftUI Journey Part 9: WKNavigationDelegate Next on the task is how to extend the class WKNavigationDelegate so I can call the …

: SwiftUI Journey Part 8: Using WebView in macOS There is no WebView in SwiftUI, so you have to use the NSViewRepresentable class. import SwiftUI …

: So, this is what AppKit’s TabView looks like. Not really sure if I like it or not. Might need …

: Interview about Ethical Hacking I was supposed to be interviewed by the Grade 11 STEM Students from Marist School, Marikina, about …

: SwiftUI Journey Part 6: Async/Await with SwiftUI Today I learned how to call async/await functions with SwiftUI. This has the same flow with the sign …

: Several updates went out from Apple today: macOS Monterey 12.4, Xcode 13.4, iOS 15.5 and several …

: IT Outsourcing I read this article today about IT outsourcing and how it is affected by the war in Ukraine. Ukraine …

: Today is me and my wife’s anniversary! 6 years ago she said yes to me. Time flies!

: Google I/O 2022 Part 2 So far I have watched the Google I/O Keynote and What’s New With Android 13. And read a couple …

: Google I/O 2022 Part 1 Today marks my 10th Google I/O. There is still a lot of new information to check out later. But the …

: I wonder what’s wrong with Firefox?

: Android Studio Chipmunk The only clear difference I noticed is Android Studio’s About page. So simple, I bet they …

: Outdated Apple Documentation alert in macOS Human Interface Guidelines. Did Apple mean macOS 12?

: SwiftUI Journey Part 5: Sign In To Home View On iOS, to transition from a SignInViewController to HomeViewController after the user successfully …

: SwiftUI Journey Part 4: OnlineJobs for macOS Coming Soon Soon. Written in SwiftUI. So far I am completely sold to SwiftUI. As long as I don’t have to …

: This is my current dock. As you can see I work mainly on Xcode and Android Studio. I just want to …

: Jetpack Compose Not Stable Yet Jetpack Compose is not yet stable. I could not just make it work in an existing project. There seems …

: Happy Mother's Day To My Wife! Happy Mother’s Day to my wife. Thank you for everything that you do and I’m so proud of …

: What's your signature code? What’s your signature code? Mine is initViews(), short for “initialize views”. …

: iOS 15.5 Developer Beta 4 I installed the latest iOS 15.5 Dev Beta build and so far I haven’t experienced any serious bugs or …

: New Album Alert: Terror - Pain Into Power I liked the new Terror album. Reminds me of there old albums Lowest of the Low and One With The …

: Finished reading: Checkmate in Berlin by Giles Milton. Very interesting read, there were some really …

: SwiftUI Journey Part 3 Now, the frames are static. I need the frames to be resizable. Time to Google. So eventually, you …

: SwiftUI Journey Part 2 Time to implement the sign in page. Welp. Ahh, forgot the frame(). struct SignInView: View { var …

: SwiftUI Journey Part 1: Initial Commit The start of something new in the form of SwiftUI for the macOS platform. I have no significant …

: Why Is Hardcore Music Not Popular? In my teenage up to college years, I was into hardcore music. My friends are in a hardcore band. I …

: Flutter Development Reaction Part 1 I spent majority of my mobile development career on native app development, mainly Kotlin and Swift. …

: Migrate Android build configuration from Groovy to Kotlin Here are the steps I did when I migrated our Android build to Kotlin. Long story short, the reasons …

: Hobby Project - isitmybirthdayyet.py For my upcoming birthday, I decided to write a program just for the fun of it. My initial idea was …

: StaySafe.ph Low Priority Bug I was signing up for StaySafe.ph when out of curiosity, I look around in their public HTML code and …

: Stackoverflow Developer Story Farewell Since Stackoverflow will sunset Developer Story, I feel a little sad because this feature has been a …

: Day in the Life of a Developer Dad 7:14 AM My day begins with washing the milk bottles and the utensils of our 3 year old son. We don’t …

: Postmortem: ProGuard is annoying This morning I received several crash reports from last night's release. I wasn't able to replicate …

: UIKit Drawing Tutorial Fix I tried the tutorial from raywenderlich.com but the behavior was incorrect. The canvas or …

: Submitting Urgent Hotfix and Apple Wasted Time I've been releasing several versions on the App Store for over 2 years now and then Apple suddenly …

: Books I've Read Last 2021 For 2021, I really haven’t read that many books. So compared to last year’s list, this would be …

: Thank you Android! I just finished reading Androids by Chet Haase, about the development journey of the Android …

: iOS 15 Button Title If you encountered default titles on your UIButton when using setImage() like my situation below. As …

: Realm Kotlin Tutorial First things first, make sure you followed the official Realm tutorial on how to install it on your …

: Call Multiple APIs using Coroutines Every time my app starts, I need to call 2-3 URL endpoints to get the latest data from the API. …

: Bluetooth printer scanning using Kotlin One of the requirements of my current project is to be able to establish Bluetooth connection and …

: My 9th Google I/O This week was all about Google I/O and this year was my 9th year watching the event. I enjoyed this …

: Pass list of objects in Intent using Kotlin Every Android developer is familiar with passing data between Activities using Bundle. The old Java …

: OnlineJobs for iOS (v4.5.2) Bug Last week, it was one of those times where you know something went wrong when suddenly you get …

: Bintray Shutting Down Next month, JFrog will shut down JCenter and Bintray and my experience with their service will go …

: Dynamic TableViewCell Height I'm going to demonstrate on how I achieved the dynamic height for my UITableViewCell. Below is what …

: Nobody designs for small iPhone devices anymore Nobody designs for small iPhone devices anymore. Why do I say this? Well, if you've been rocking the …

: Code Refactoring: First Loom Video In programming, you always encounter duplicate code blocks. The best thing to do is to place it in a …

: Keepr Storage Bug Last year, I found a bug on Keepr Storage's Android app. It has the same bug as of Globe Telecom's …

: Play Looping Video using Swift Playing a looping video in iOS is fairly simple but there's a catch. You need to declare …

: Government and its Test Pages Philippine government sites are filled with "Test Pages". Not sure if this is just pure …

: Most active GitHub users in the Philippines Just came upon this site while I was browsing, https://commits.top/philippines_private.html Based on …

: Create a camera shutter in Swift I'm going to show how I achieved the camera shutter button and animation using Swift, more or less …

: Create a custom camera preview using Swift If you are looking to create your own camera on iOS, I will demonstrate how I did it on my end. …

: 2020 Was a Mixed Year Mixed year because as good as the metrics are compared to last year, it saddens me that a huge …

: Mobile App Dev 101: Technical Error Prompts are a no-no Technical error prompts are a no-no. But not that important to submit a quick fix to your pipeline. …

: Books I’ve Read This 2020 As we close off the year 2020, I just want to share the books that I enjoyed reading. Some of this …

: Go Manila Bug I found a simple vulnerability of GoManila, the app from Manila's Office of the Mayor. The app is …

: Globe Telecom Rewards Bug I discovered that the Globe rewards app is communicating over insecure HTTP and because of this, it …

: Mass Delete Firebase Authenticated Users sudo pip install firebase-admin import firebase_admin from firebase_admin import credentials from …

: Google Maps and Directions API using Kotlin I will implement below on how to implement Google Maps and Directions API using Kotlin and we are …

: Implement Chromecast on iOS using Swift I am going to implement Google’s Chromecast on iOS using Swift. I will be using Google Chromecast 2 …

: G Suite Happy Ending Somehow, I got Google's attention. A representative of Google (I am not sure if I can mention his …

: G Suite Horror Story Yesterday my life long Gmail account has been deleted by Google because I integrated it with G Suite …

: Implementing the expandable cell in iOS UITableView I’m going to implement below on how to create the expandable UITableView cell for example on iOS …

: Weezer Original URL: xthekingisdeadx.wordpress.com/2010/09/0… just got the new Weezer record Hurley …

: Rhod Gilbert Original URL: xthekingisdeadx.wordpress.com/2010/08/2… He could very well be the funniest …

: The Swellers Original URL: xthekingisdeadx.wordpress.com/2010/08/2… Get this record by any means …

: Straight Edge Comic Original URL: xthekingisdeadx.wordpress.com/2010/08/0… I stumbled upon this on the web. The …

: Alpha and Omega Original URL: xthekingisdeadx.wordpress.com/2010/08/0… At the back of my mind I always hold …

: I’m Here by Spike Jonze I was introduced to Spike Jonze by the movie “Where the Wild Things Are” and nothing else. …

: Lamps! Original URL: xthekingisdeadx.wordpress.com/2010/08/0… I bought this lamp days ago and I …

: Off With Their Heads Original URL: xthekingisdeadx.wordpress.com/2010/08/0… A good ol’ punk rock album is hard to …

: Perspectives on Drug Free Culture Original URL: xthekingisdeadx.wordpress.com/2010/08/0… Outside looking in, the filmmakers …

: Polar Bear Club Original URL: xthekingisdeadx.wordpress.com/2010/08/0… Polar Bear Club has redefined post …

: Straight Edge and Proud Original URL: xthekingisdeadx.wordpress.com/2010/08/0… I’ve been straight edge since May 1, …

: The Ghost Writer Original URL: xthekingisdeadx.wordpress.com/2010/08/0… I’ve watched this film two days ago, I …

: Trapped Under Ice Original URL: xthekingisdeadx.wordpress.com/2010/08/0… If one would say that this is a …