<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://iakovlev.blog/</id><title>Andy Iakovlev</title><subtitle>A personal blog about Swift, iOS, team leading, and life in general by Andrei Iakovlev (Andy for short).</subtitle> <updated>2026-01-26T22:08:39+01:00</updated> <author> <name>Andrei "Andy" Iakovlev</name> <uri>https://iakovlev.blog/</uri> </author><link rel="self" type="application/atom+xml" href="https://iakovlev.blog/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://iakovlev.blog/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Andrei "Andy" Iakovlev </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Fighting Fraud on iOS with Apple DeviceCheck</title><link href="https://iakovlev.blog/posts/fighting-fraud-on-ios-with-apple-devicecheck/" rel="alternate" type="text/html" title="Fighting Fraud on iOS with Apple DeviceCheck" /><published>2026-01-26T00:00:00+01:00</published> <updated>2026-01-26T22:07:06+01:00</updated> <id>https://iakovlev.blog/posts/fighting-fraud-on-ios-with-apple-devicecheck/</id> <content type="text/html" src="https://iakovlev.blog/posts/fighting-fraud-on-ios-with-apple-devicecheck/" /> <author> <name>andy</name> </author> <category term="iOS" /> <category term="Security" /> <summary>Fraud prevention is a critical concern for mobile apps, especially when dealing with features that involve rewards, ads, or premium content. Once an iOS app is released, it can be reverse-engineered or modified to bypass ads, unlock premium features, or cheat in gameplay. This is where Apple’s DeviceCheck framework comes into play. I recently published a comprehensive article on this topic in ...</summary> </entry> <entry><title>Effective Learning</title><link href="https://iakovlev.blog/posts/effective-learning/" rel="alternate" type="text/html" title="Effective Learning" /><published>2025-02-19T21:40:00+01:00</published> <updated>2025-03-09T11:00:58+01:00</updated> <id>https://iakovlev.blog/posts/effective-learning/</id> <content type="text/html" src="https://iakovlev.blog/posts/effective-learning/" /> <author> <name>Andrei "Andy" Iakovlev</name> </author> <summary>Is there a best strategy to learn effectively regardless of the field of knowledge, be it learning how to solve complex algorithmic problems or mastering a foreign language? I’m trying to handle both, and I see some common patterns. It’s not new knowledge, but I find it useful to briefly lay it out here. 1. Persistence The key is repetition. Over and over again. One cannot be good at somethin...</summary> </entry> <entry><title>Geeky macOS Setup for Productivity</title><link href="https://iakovlev.blog/posts/geeky-macos-setup-for-productivity/" rel="alternate" type="text/html" title="Geeky macOS Setup for Productivity" /><published>2024-08-05T18:15:00+02:00</published> <updated>2025-03-09T11:40:00+01:00</updated> <id>https://iakovlev.blog/posts/geeky-macos-setup-for-productivity/</id> <content type="text/html" src="https://iakovlev.blog/posts/geeky-macos-setup-for-productivity/" /> <author> <name>andy</name> </author> <summary>In this post, I would like to share my macOS setup, which I have developed over the years through my experience in programming and general computer usage. Every small amendment to my common routines stemmed from a fundamental need: how can I eliminate the time spent on repetitive actions? Initially, not everything was obvious, and it took time for me to realize that it was even possible. This i...</summary> </entry> <entry><title>Short Introduction</title><link href="https://iakovlev.blog/posts/why-i-write-this-blog/" rel="alternate" type="text/html" title="Short Introduction" /><published>2024-07-21T15:45:00+02:00</published> <updated>2026-01-26T21:59:18+01:00</updated> <id>https://iakovlev.blog/posts/why-i-write-this-blog/</id> <content type="text/html" src="https://iakovlev.blog/posts/why-i-write-this-blog/" /> <author> <name>andy</name> </author> <summary>This post is just the start of a long journey, as I hope. If you’ve somehow come across this blog, liked it, and want to find out more about its origin, you can read this post where I explain my motivation behind it all. I also intend to use it as a reminder for myself if I ever feel the longing to give up. Who I am When I read other people’s “About” pages in their blogs, I often see a lot of...</summary> </entry> </feed>
