<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: afidrya</title><link>https://news.ycombinator.com/user?id=afidrya</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 23 Apr 2026 05:58:31 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=afidrya" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by afidrya in "Show HN: Pg-typesafe – Strongly typed queries for PostgreSQL and TypeScript"]]></title><description><![CDATA[
<p>Is there a way to make this work with <a href="https://github.com/porsager/postgres" rel="nofollow">https://github.com/porsager/postgres</a> ? It's very close to raw SQL but with safe substitutions. I use it with Zod, but it would be great to have the types derived automatically.</p>
]]></description><pubDate>Tue, 17 Feb 2026 23:32:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47054996</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=47054996</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47054996</guid></item><item><title><![CDATA[New comment by afidrya in "Ask HN: Who wants to be hired? (September 2024)"]]></title><description><![CDATA[
<p><p><pre><code>  Location: Tbilisi, Georgia
  Remote: Preferred
  Willing to relocate: Yes
  Technologies: TypeScript, React, React Native, iOS / Swift, Node.js, PostgreSQL
  Résumé/CV: on request
  Email: afidrya81@gmail.com
</code></pre>
A full-stack generalist with 26 years of experience.<p>I currently hold a position as a Software Architect at a software consultancy, but I'm not attached to the title. I can quickly prototype things on my own, making me ideal for bootstrapping startups, or I can assemble and train a team.<p>For the past 7 years, I've primarily been working with, and am most proficient in, TypeScript, React, React Native, iOS/Swift/ObjC, Node.js, and Postgres. I've worked with many other languages and technologies and can easily pick up new ones if needed.<p>Here is a list of some other languages and technologies I’ve worked with previously: C, C++, Ruby, Rails, Lua, PHP, C#, .NET, Java (J2ME), OpenGL, WebGL, Cocoa, Qt, QML, MFC, ATL, QNX, Linux/Windows device drivers, Blockchain (miner development, wallet integrations, monitoring, Solidity), etc.</p>
]]></description><pubDate>Mon, 02 Sep 2024 15:28:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=41426258</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=41426258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41426258</guid></item><item><title><![CDATA[New comment by afidrya in "Ask HN: Is Express still "de-facto" for building Node back ends?"]]></title><description><![CDATA[
<p>Fastify is absolutely fantastic. It has the concept of "type providers", allowing you to pair it with fastify-type-provider-json-schema-to-ts (for JSON schemas) or another typing system of choice, such as Zod, to obtain strongly typed queries, request bodies, and responses in handlers with TS types derived on the fly at compile time. It also validates data returned from handlers to conform to schemas, reducing the likelihood of accidentally leaking sensitive information. And it's faster than Express, even with validation.</p>
]]></description><pubDate>Sun, 29 Oct 2023 15:05:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=38059238</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=38059238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38059238</guid></item><item><title><![CDATA[New comment by afidrya in "Play Leisure Suit Larry free in DOS running in browser"]]></title><description><![CDATA[
<p>Al Lowe was not involved with the latest two.</p>
]]></description><pubDate>Fri, 06 Oct 2023 12:47:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=37790046</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=37790046</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37790046</guid></item><item><title><![CDATA[New comment by afidrya in "Ask HN: How do I improve my answer to “Tell me about a project you worked on”"]]></title><description><![CDATA[
<p>If the interview is structured in a way that overloads your short-term memory, which is often the case, you'll have problems remembering things from a long time ago. Ask someone questions about recent events for a few minutes, and they won't even be able to remember not only what they worked on in projects many years ago but also their grandfather's name. Everyone has this problem; it's just how memory works, and poorly structured interviews trigger this effect. A workaround is to prepare beforehand and keep a list of things to talk about nearby.<p>Another approach that can work is to give your memory a bit of time to adapt. For instance, if you're asked to share a story from the past and you don't have one prepared and can't recall anything, suggest starting by discussing your past in general. For example, list the projects you've worked on and briefly describe them. You will feel how, during this process, the ability to recall events returns.</p>
]]></description><pubDate>Thu, 05 Oct 2023 09:39:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=37776593</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=37776593</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37776593</guid></item><item><title><![CDATA[Clean Architecture vs. Pragmatic Architecture]]></title><description><![CDATA[
<p>Article URL: <a href="https://developers.mews.com/clean-architecture-vs-pragmatic-architecture/">https://developers.mews.com/clean-architecture-vs-pragmatic-architecture/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36741026">https://news.ycombinator.com/item?id=36741026</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 15 Jul 2023 21:16:05 +0000</pubDate><link>https://developers.mews.com/clean-architecture-vs-pragmatic-architecture/</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=36741026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36741026</guid></item><item><title><![CDATA[New comment by afidrya in "Ask HN: Best Practices Guides You're Aware Of"]]></title><description><![CDATA[
<p><a href="https://cheatsheetseries.owasp.org" rel="nofollow noreferrer">https://cheatsheetseries.owasp.org</a></p>
]]></description><pubDate>Wed, 21 Jun 2023 11:42:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=36417229</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=36417229</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36417229</guid></item><item><title><![CDATA[New comment by afidrya in "Introducing react.dev"]]></title><description><![CDATA[
<p>It's Docusaurus 2 + TwoSlash:
<a href="https://docusaurus.io/blog/2022/08/01/announcing-docusaurus-2.0" rel="nofollow">https://docusaurus.io/blog/2022/08/01/announcing-docusaurus-...</a></p>
]]></description><pubDate>Fri, 17 Mar 2023 10:31:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=35195253</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=35195253</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35195253</guid></item><item><title><![CDATA[New comment by afidrya in "Ask HN: How do you protect your eyes while coding for long hours?"]]></title><description><![CDATA[
<p>Eyedrops name of which I don't remember, but I can try find if needed as they're commonly prescribed in Russia for this condition. I wouldn't recommend them though as turning a single clot into long wormy things was scary and annoying. I seen similar complaints from others who were prescribed these eyedrops. I'm not sure if they helped with dissolving the floaters, as I had smaller recurrence recently and not used any eyedrops and it's still slowly going away. Btw, if floaters are in the center, try moving the eyes up and down 10 times in succession - most of them should stick outside of vision.</p>
]]></description><pubDate>Fri, 23 Dec 2022 12:14:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=34104958</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=34104958</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34104958</guid></item><item><title><![CDATA[New comment by afidrya in "Ask HN: How do you protect your eyes while coding for long hours?"]]></title><description><![CDATA[
<p>I think mine were. I strained my eyes really bad over days of work, and then one day before going to sleep rubbed them. When I opened the eyes, I seen a brown clot in the middle of vision which after a month of treatment with eyedrops fell apart into lots of floaters / worms. 2 years later most of them dissolved, but some remain and vision is blurred a bit. It also turned out that most people I asked have floaters too, but if there aren't many, they're filtered out by brain. If you  aren't looking for them specifically, they aren't visible. They are hard to unsee though once you seen them, so better not to try. )</p>
]]></description><pubDate>Sun, 11 Dec 2022 19:35:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=33946638</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=33946638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33946638</guid></item><item><title><![CDATA[New comment by afidrya in "Shell script best practices, from a decade of scripting things"]]></title><description><![CDATA[
<p>I also think so. Often script needs to access a file in actual current dir (for example a config file) or process files with relative paths supplied by user and changing working dir makes this hard.<p>I think an easier way is to find script's location and construct paths for accessing script dependencies, for example (works on Linux & macOS):<p><pre><code>  script_root="$(cd "$(dirname "$(readlink "$([[ "${OSTYPE}" == linux* ]] && echo "-f")" "$0")")"; pwd)"
  source "${script_root}/common.sh"
  source "${script_root}/packages.sh"
  source "${script_root}/colors.sh"</code></pre></p>
]]></description><pubDate>Thu, 27 Oct 2022 10:41:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=33355661</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=33355661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33355661</guid></item><item><title><![CDATA[New comment by afidrya in "Ask HN: Who wants to be hired? (October 2022)"]]></title><description><![CDATA[
<p><p><pre><code>  Location: Europe (PST is also fine)
  Remote: Yes
  Willing to relocate: Yes
  Technologies: TypeScript, React, React Native, NodeJS; Swift, ObjC, C++
  Résumé/CV: Upon request
  Email: afidrya81@gmail.com
</code></pre>
Hello! My name is Andrey, I'm full-stack dev with systems programming background. Nowadays, I specialize in web app development and native apps for iOS and macOS, can adapt to your stack or do something very niche / low level (write a device driver etc). Please let me know what you're working on and I'll describe my relevant experience.<p>Looking to join a team as a full-time contractor on a 3+ mo project. Small teams / early stage startups preferred. Relocation is possible if needed.</p>
]]></description><pubDate>Mon, 03 Oct 2022 15:19:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=33068741</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=33068741</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33068741</guid></item><item><title><![CDATA[New comment by afidrya in "Did I just lose half a million dollars?"]]></title><description><![CDATA[
<p>In simple words, he should have called a smart contract's function which would withdraw his tokens and send real ETH to his address. Instead, he sent tokens to smart contract's address and they will stay there forever, not associated with any account.
This complexity should be abstracted away by wallet's UI. Users don't have to call APIs directly.
Also, this whole situation could be prevented by trying to send a smaller amount first.</p>
]]></description><pubDate>Sun, 30 Jan 2022 09:28:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=30135337</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=30135337</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30135337</guid></item><item><title><![CDATA[New comment by afidrya in "How to Squash and Rebase in Git"]]></title><description><![CDATA[
<p>Downside of squashing as opposed to making a merge commit (without fast forward) or merging by rebasing, however, is losing granularity. Later it'll be hard to roll back a small part of PR while keeping rest of the changes.<p>Also it'll be harder to go back and review changes when troubleshooting issues because formatting changes were squashed together with business logic changes. With merges at least there are still original commits available, and it'll be possible to either rollback everything or a single commit.</p>
]]></description><pubDate>Fri, 07 Jan 2022 16:48:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=29841372</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=29841372</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29841372</guid></item><item><title><![CDATA[New comment by afidrya in "Ask HN: Who wants to be hired? (November 2021)"]]></title><description><![CDATA[
<p><p><pre><code>  Location: Russia (UTC+3, but any TZ is fine)
  Remote: Yes
  Willing to relocate: No
  Technologies: TypeScript, Swift, C, C++, ObjC, React, Electron, Node, Docker, Docker Compose, PostgreSQL, Qt
  Résumé/CV: On request, please email me
  Email: afidrya81@gmail.com
</code></pre>
Hey! My name is Andrey, I'm full-stack dev with more than 10 years of remote work experience (20 overall) and specialize primarily in web app development (React + Node) and native apps for iOS and macOS. Ideally I'm looking for a full-time job or 3+ mo project.<p>Previously I've worked on wide variety of projects such as multi-tiered web apps with SSO, Shopify / WooCommerce plugins for delivery services, Linux device drivers, video streaming apps, mobile banking apps and so on.<p>I'm always open to learn something new, particularly interested in Rust and Go.</p>
]]></description><pubDate>Mon, 01 Nov 2021 18:23:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=29070777</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=29070777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29070777</guid></item><item><title><![CDATA[New comment by afidrya in "Launch HN: Gather.Town (YC S19) – Spatial video chat for remote teams"]]></title><description><![CDATA[
<p>Firefox dropped H264 support 1 year ago because of Google Play Store policies. This codec was required for interacting with iOS devices which did not have VP8. However, VP8 has been added since iOS 12.1, so it might be possible to use it now across all platforms.<p>- <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1548679" rel="nofollow">https://bugzilla.mozilla.org/show_bug.cgi?id=1548679</a><p>- <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/68#Media_Web_Audio_and_WebRTC" rel="nofollow">https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Rel...</a></p>
]]></description><pubDate>Tue, 10 Nov 2020 13:15:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=25045578</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=25045578</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25045578</guid></item><item><title><![CDATA[New comment by afidrya in "React v17.0 Release Candidate: No New Features"]]></title><description><![CDATA[
<p>It contains a very serious breaking change: cleanup in useEffect is now being executed asynchronously. I might not be seeing something, but I think this means all patterns like the one below will now have hard to catch racing conditions.<p><pre><code>  const [x, setX] = useState()
  useEffect(() => {
    let isMounted = true
    someAsyncFunc(result => {
      if (isMounted) {
        setX(result) // should not be called on dismounted component
      }
    })
    return () => { isMounted = false }
  }, [])
  return <MyComponent x={x} />
</code></pre>
In this example it's possible that component will be unmounted, then completion handler will run and try to modify state before cleanup function will be able to set the flag.<p>Imo choosing a different name for new useEffect would be better (like useAsyncEffect or introducing a parameter), because just changing its behavior won't even result in compilation errors or guaranteed run-time errors, only make old code unstable.<p>Is there a way to reliably detect if component is still mounted before updating it when doing async operations in effects?</p>
]]></description><pubDate>Tue, 11 Aug 2020 09:18:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=24118596</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=24118596</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24118596</guid></item><item><title><![CDATA[New comment by afidrya in "A Surprise AWS Bill"]]></title><description><![CDATA[
<p>I don't recommend them. We used to host an online text game there (MUD) and when one of the players decided to DDOS it, Hetzner just pulled the plug. I moved to soyoustart.com (it's OVH brand) - in following month they sent a couple emails about the server being attacked and that they're trying to mitigate the attack, but game kept working.</p>
]]></description><pubDate>Sun, 26 Jul 2020 20:34:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=23959984</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=23959984</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23959984</guid></item><item><title><![CDATA[New comment by afidrya in "$14M in ETH stolen from Upbit were laundered in May through well-known exchanges"]]></title><description><![CDATA[
<p>For example which ones? For past few years I'm using Mail-in-a-Box hosted on soyoustart and can't remember any problems when sending mail to big providers. I only had to check that IP is not in spam lists initially and asked to remove it from one of them.</p>
]]></description><pubDate>Fri, 15 May 2020 23:23:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=23198683</link><dc:creator>afidrya</dc:creator><comments>https://news.ycombinator.com/item?id=23198683</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23198683</guid></item></channel></rss>