<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Daniel Alvarez</title><description>Essays and notes on web performance, tooling and shipping software.</description><link>https://danielo.dev/</link><item><title>iOS Versions</title><link>https://danielo.dev/writing/ios-versions-build-numbers/</link><guid isPermaLink="true">https://danielo.dev/writing/ios-versions-build-numbers/</guid><description>Every iOS release with its version, build number and release date, plus the SDK and Xcode version each one shipped with.</description><pubDate>Sat, 01 Apr 2023 00:00:00 GMT</pubDate><category>ios</category></item><item><title>Kotlin Versions</title><link>https://danielo.dev/writing/kotlin-versions-release-dates/</link><guid isPermaLink="true">https://danielo.dev/writing/kotlin-versions-release-dates/</guid><description>Kotlin releases with their dates, so you can check at a glance which version introduced the API you are looking at.</description><pubDate>Fri, 03 Mar 2023 00:00:00 GMT</pubDate><category>kotlin</category></item><item><title>Android Versions</title><link>https://danielo.dev/writing/android-versions-api-levels/</link><guid isPermaLink="true">https://danielo.dev/writing/android-versions-api-levels/</guid><description>Every Android release with its codename, version number, API level, version code and matching NDK release, in one table.</description><pubDate>Mon, 24 Oct 2022 00:00:00 GMT</pubDate><category>android</category></item><item><title>Binary Search</title><link>https://danielo.dev/writing/binary-search-swift-java/</link><guid isPermaLink="true">https://danielo.dev/writing/binary-search-swift-java/</guid><description>A search algorithm that finds the position of a target value within a sorted array.</description><pubDate>Sat, 22 Oct 2022 09:00:00 GMT</pubDate><category>algorithm</category><category>swift</category><category>java</category></item><item><title>Stacks</title><link>https://danielo.dev/writing/swift-stacks/</link><guid isPermaLink="true">https://danielo.dev/writing/swift-stacks/</guid><description>Swift doesn&apos;t have a dedicated Stack struct. Let&apos;s create our own Stack struct.</description><pubDate>Thu, 06 Oct 2022 10:07:00 GMT</pubDate><category>swift</category></item><item><title>Queues</title><link>https://danielo.dev/writing/swift-queues/</link><guid isPermaLink="true">https://danielo.dev/writing/swift-queues/</guid><description>Swift doesn&apos;t have a dedicated Queue struct. Let&apos;s create our own Queue struct.</description><pubDate>Thu, 06 Oct 2022 02:38:00 GMT</pubDate><category>swift</category></item><item><title>iOS Software Engineer Interview</title><link>https://danielo.dev/writing/ios-interview-questions/</link><guid isPermaLink="true">https://danielo.dev/writing/ios-interview-questions/</guid><description>Questions that come up in iOS engineering interviews, from memory management and concurrency to the view lifecycle.</description><pubDate>Tue, 04 Oct 2022 00:00:00 GMT</pubDate><category>ios</category><category>swift</category></item><item><title>Swift Code Interview</title><link>https://danielo.dev/writing/swift-interview-questions/</link><guid isPermaLink="true">https://danielo.dev/writing/swift-interview-questions/</guid><description>Classic Swift coding questions I collected while preparing for interviews, with a worked solution for each one.</description><pubDate>Tue, 04 Oct 2022 00:00:00 GMT</pubDate><category>swift</category></item><item><title>Dictionaries</title><link>https://danielo.dev/writing/swift-dictionary/</link><guid isPermaLink="true">https://danielo.dev/writing/swift-dictionary/</guid><description>Collection of key-value pairs where you can select the type of key, Int, String, Any, etc.</description><pubDate>Fri, 30 Sep 2022 10:07:00 GMT</pubDate><category>swift</category></item><item><title>Rename master branch to main</title><link>https://danielo.dev/writing/git-rename-master-branch-to-main/</link><guid isPermaLink="true">https://danielo.dev/writing/git-rename-master-branch-to-main/</guid><description>The Git commands to rename your master branch to main, push it, move the upstream and delete the old branch on the remote.</description><pubDate>Thu, 01 Sep 2022 08:00:00 GMT</pubDate><category>git</category></item><item><title>Spread syntax / Rest parameter</title><link>https://danielo.dev/writing/javascript-spread-rest/</link><guid isPermaLink="true">https://danielo.dev/writing/javascript-spread-rest/</guid><description>The three dots in JavaScript do two different jobs: spread syntax expands an iterable, rest parameters collect arguments into an array.</description><pubDate>Thu, 25 Aug 2022 08:00:00 GMT</pubDate><category>javascript</category></item><item><title>Proportional Width or Height</title><link>https://danielo.dev/writing/swiftui-geometryreader-proportional-size/</link><guid isPermaLink="true">https://danielo.dev/writing/swiftui-geometryreader-proportional-size/</guid><description>You can use percentages for the width and height of your view with GeometryReader.</description><pubDate>Thu, 25 Aug 2022 08:00:00 GMT</pubDate><category>swiftui</category><category>swift</category></item><item><title>How to display a dictionary in JSON format</title><link>https://danielo.dev/writing/swift-dictionary-to-json/</link><guid isPermaLink="true">https://danielo.dev/writing/swift-dictionary-to-json/</guid><description>Print a Swift dictionary to the console as pretty-printed JSON with a single line of JSONSerialization.</description><pubDate>Wed, 03 Mar 2021 08:00:00 GMT</pubDate><category>swift</category></item><item><title>Obtener el hash SHA de tu aplicación Android</title><link>https://danielo.dev/writing/obtener-sha1-android-firebase/</link><guid isPermaLink="true">https://danielo.dev/writing/obtener-sha1-android-firebase/</guid><description>Firebase y Google Play Services piden el SHA certificate fingerprint de tu app Android. Obtenlo con un reporte de Gradle o con keytool.</description><pubDate>Wed, 01 Jul 2020 08:00:00 GMT</pubDate><category>android</category><category>firebase</category></item><item><title>Ver información de un Keystore con Keytool</title><link>https://danielo.dev/writing/ver-informacion-keystore-keytool/</link><guid isPermaLink="true">https://danielo.dev/writing/ver-informacion-keystore-keytool/</guid><description>Cómo listar el contenido de un keystore con keytool: alias, huellas SHA y fechas de validez, desde la línea de comandos.</description><pubDate>Tue, 30 Jun 2020 08:00:00 GMT</pubDate><category>keytool</category><category>java</category></item><item><title>Generar APKs desde un AAB con BundleTool</title><link>https://danielo.dev/writing/generar-apks-aab-bundletool/</link><guid isPermaLink="true">https://danielo.dev/writing/generar-apks-aab-bundletool/</guid><description>Si tienes un Android App Bundle puedes generar los APKs que necesitas para instalarlas en tus devices.</description><pubDate>Thu, 25 Jun 2020 08:00:00 GMT</pubDate><category>android</category></item><item><title>UI Declarative for Mobile Development</title><link>https://danielo.dev/writing/declarative-ui-mobile-development/</link><guid isPermaLink="true">https://danielo.dev/writing/declarative-ui-mobile-development/</guid><description>SwiftUI on iOS and Jetpack Compose on Android: why mobile UI moved away from XML layouts and storyboards to declarative code.</description><pubDate>Sat, 12 Oct 2019 08:00:00 GMT</pubDate><category>ios</category><category>android</category></item><item><title>Automate AppGallery releases with GitHub Actions (1/2)</title><link>https://danielo.dev/writing/automate-releases-appgallery-github-actions-1/</link><guid isPermaLink="true">https://danielo.dev/writing/automate-releases-appgallery-github-actions-1/</guid><description>Generate a signed APK ready to publish on AppGallery with GitHub Actions, keeping your keystore and other secret files out of the repository.</description><pubDate>Sat, 08 Jun 2019 08:00:00 GMT</pubDate><category>hms</category><category>android</category><category>github</category><category>github actions</category></item><item><title>Automate AppGallery releases with GitHub Actions (2/2)</title><link>https://danielo.dev/writing/automate-releases-appgallery-github-actions-2/</link><guid isPermaLink="true">https://danielo.dev/writing/automate-releases-appgallery-github-actions-2/</guid><description>Upload a signed APK to AppGallery automatically from GitHub Actions using the AppGallery Connect Publishing API.</description><pubDate>Sat, 08 Jun 2019 08:00:00 GMT</pubDate><category>hms</category><category>android</category><category>github</category><category>github actions</category></item><item><title>Android UI testing with Espresso</title><link>https://danielo.dev/writing/android-ui-testing-espresso/</link><guid isPermaLink="true">https://danielo.dev/writing/android-ui-testing-espresso/</guid><description>A cheat sheet of the Espresso matchers and actions I reach for most when writing UI tests for an Android app.</description><pubDate>Fri, 01 Sep 2017 08:00:00 GMT</pubDate><category>android</category><category>espresso</category><category>testing</category></item><item><title>Kotlin Visibility Modifiers</title><link>https://danielo.dev/writing/modificadores-visibilidad-kotlin/</link><guid isPermaLink="true">https://danielo.dev/writing/modificadores-visibilidad-kotlin/</guid><description>En Kotlin todo es public por defecto. Pero existen otros tipos de acceso para restringir la visibilidad.</description><pubDate>Fri, 01 Sep 2017 08:00:00 GMT</pubDate><category>kotlin</category></item><item><title>Contacts app, a simple demo project of MVP</title><link>https://danielo.dev/writing/android-mvp-architecture-example/</link><guid isPermaLink="true">https://danielo.dev/writing/android-mvp-architecture-example/</guid><description>A sample implementation of the MVP (Model View Presenter) architecture pattern in an Android application.</description><pubDate>Thu, 08 Jun 2017 08:00:00 GMT</pubDate><category>android</category><category>java</category></item><item><title>Tower Of Hanoi</title><link>https://danielo.dev/writing/tower-of-hanoi/</link><guid isPermaLink="true">https://danielo.dev/writing/tower-of-hanoi/</guid><description>A graphical solution to the Towers of Hanoi from 1 to 8 pieces in Java. Desktop application written in Java.</description><pubDate>Tue, 14 Feb 2017 08:00:00 GMT</pubDate><category>java</category></item></channel></rss>