41554 blogs · [ { "id": "01a08c55-c1e9-73ad-8575-6a2b8f78650b", "title": "Building an electromagnetic treasure chest with JavaScript", "url": "https://tigeroakes.com/posts/treasure-chest/", "published_at": "2025-01-04T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca84932491d1", "title": "How to fix Storybook screenshot testing", "url": "https://tigeroakes.com/posts/storybook-test-runner-screenshots/", "published_at": "2024-12-04T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849352c857", "title": "2024 JS Rap Up", "url": "https://tigeroakes.com/posts/2024-js-rap-up/", "published_at": "2024-11-28T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca84944a1061", "title": "ResizeObserver is a safe place to read scrollWidth/clientWidth", "url": "https://tigeroakes.com/posts/resize-observer-avoid-forced-sync-layout/", "published_at": "2024-04-09T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca84953d0caa", "title": "A Whodunnit Party Meets Tech Innovation", "url": "https://tigeroakes.com/posts/whodunnit-meets-tech-innovation/", "published_at": "2024-03-15T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca8495fc1645", "title": "Tricks for writing CSS in Fluent UI React v9", "url": "https://tigeroakes.com/posts/fluent-ui-css-tricks/", "published_at": "2024-02-12T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca84960fcd3c", "title": "Takeaways from React Day Berlin & TestJS Summit 2023", "url": "https://tigeroakes.com/posts/takeaways-2023-react-day-berlin/", "published_at": "2023-12-13T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca8496deda4b", "title": "The easiest way to set focus on mount in React", "url": "https://tigeroakes.com/posts/react-focus-on-render/", "published_at": "2023-10-23T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b91b31055", "title": "mutableStateOf(list) vs mutableStateListOf()", "url": "https://tigeroakes.com/posts/mutablestateof-list-vs-mutablestatelistof/", "published_at": "2023-09-20T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b921e08fc", "title": "The right way to add TODO to eslint-disable comments", "url": "https://tigeroakes.com/posts/til-eslint-disable-todo-description/", "published_at": "2023-08-16T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849796a190", "title": "Display math formulas without any CSS or JS", "url": "https://tigeroakes.com/posts/til-math-latex-without-css/", "published_at": "2023-05-07T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849809e12a", "title": "Alternatives to the resize event with better performance", "url": "https://tigeroakes.com/posts/resize-event-alternatives/", "published_at": "2023-04-23T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca8498b8ad6d", "title": "Tricks for easier right-to-left CSS styling", "url": "https://tigeroakes.com/posts/rtl-tricks/", "published_at": "2023-03-12T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849906043a", "title": "When is it safe to use import statements in Jest tests?", "url": "https://tigeroakes.com/posts/jest-mock-and-import-statements/", "published_at": "2022-12-27T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca8499aab2b9", "title": "You should use ReadonlyArray in your React state", "url": "https://tigeroakes.com/posts/readonly-by-default/", "published_at": "2022-07-25T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca8499bc8a69", "title": "How to use Segoe UI Variable in a website", "url": "https://tigeroakes.com/posts/segoe-ui-variable/", "published_at": "2022-05-25T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca8499e967f1", "title": "Make advanced React animation easy using finite state machines", "url": "https://tigeroakes.com/posts/react-finite-state-machine-animation/", "published_at": "2022-05-17T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b9622380a", "title": "How unpaid internships affect you and the tech industry", "url": "https://tigeroakes.com/posts/unpaid-internships/", "published_at": "2021-04-27T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849ab3c7a8", "title": "How to replace onCommit, onActive, and onDispose in Jetpack Compose", "url": "https://tigeroakes.com/posts/compose-oncommit-deprecated/", "published_at": "2021-03-15T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b9735e74a", "title": "Are unpaid internships empowering women in tech?", "url": "https://tigeroakes.com/posts/flik/", "published_at": "2021-03-04T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849acf3660", "title": "Turning junk phones into an art display", "url": "https://tigeroakes.com/posts/junk-phones-to-art-display/", "published_at": "2021-02-01T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849b203526", "title": "Deploy a site to GitHub Pages from multiple branches using GitHub Actions", "url": "https://tigeroakes.com/posts/til-github-pages-two-branches-github-actions/", "published_at": "2020-12-26T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849bd8af2c", "title": "Going from Android LinearLayout to CSS flexbox", "url": "https://tigeroakes.com/posts/android-linearlayout-to-web-flexbox/", "published_at": "2020-10-26T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849c3e303c", "title": "The secret trap when using ANY in TypeScript", "url": "https://tigeroakes.com/posts/any-wreaks-havoc-on-overloads/", "published_at": "2020-10-13T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b9904700c", "title": "How to easily cache Kotlin Android synthetics", "url": "https://tigeroakes.com/posts/til-kotlin-android-ext-cache/", "published_at": "2020-07-27T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849d2f1f08", "title": "React to Jetpack Compose Dictionary", "url": "https://tigeroakes.com/posts/react-to-compose-dictionary/", "published_at": "2020-07-20T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849d8cf84b", "title": "How to use git branch aliases with Mozilla Central", "url": "https://tigeroakes.com/posts/til-mozilla-central-main-alias/", "published_at": "2020-07-19T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b9ad951a8", "title": "Maskable Icon template for Affinity Designer", "url": "https://tigeroakes.com/posts/maskable-icon-template/", "published_at": "2020-07-10T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b9b03abe6", "title": "How to make Android Studio show documentation on hover", "url": "https://tigeroakes.com/posts/til-jetbrains-intellisense/", "published_at": "2020-07-06T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849e62589e", "title": "Experimenting with using Eleventy for web apps", "url": "https://tigeroakes.com/posts/eleventy-bus-app-experiment/", "published_at": "2020-04-13T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849f471788", "title": "Scraping a 15-year-old Drupal site into Markdown files", "url": "https://tigeroakes.com/posts/scraping-csss/", "published_at": "2020-03-07T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b9c9d970c", "title": "Adaptive icon support in PWAs with maskable icons", "url": "https://tigeroakes.com/posts/web-dev-maskable/", "published_at": "2019-12-19T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b9d8b454f", "title": "Participating in Hacktoberfest 2020 with Firefox Daylight", "url": "https://tigeroakes.com/posts/firefox-hacktoberfest/", "published_at": "2019-10-01T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b9dac47ad", "title": "Maskable Icons: Android Adaptive Icons for the Web", "url": "https://tigeroakes.com/posts/maskable-icons/", "published_at": "2019-08-29T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849f493769", "title": "Animating a strike through on Android", "url": "https://tigeroakes.com/posts/android-animate-strike-thru/", "published_at": "2019-08-12T00:00:00+00:00" }, { "id": "01a0821f-142c-73ac-9d5a-ca849fc597ae", "title": "The Thinking Behind Simplifying Event Handlers", "url": "https://tigeroakes.com/posts/javascript-events/", "published_at": "2019-05-09T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2b9fdd133e", "title": "Automatic resume editor", "url": "https://tigeroakes.com/posts/resume-editor/", "published_at": "2018-10-30T00:00:00+00:00" }, { "id": "01a08c55-c1e9-73ad-8575-6a2ba076a8e2", "title": "Unifying code to read local and network files", "url": "https://tigeroakes.com/posts/unify-local-network-file-reading/", "published_at": "2018-10-26T00:00:00+00:00" } ] posts Claim your blog
Back to Planet Mozilla | Tiger Oakes
Blog · corpus.blog/blogs/tigeroakes.com/posts

Planet Mozilla | Tiger Oakes

tigeroakes.com

2025

2024

2023

2022

2021

2020

2019

2018