<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: ejflick</title><link>https://news.ycombinator.com/user?id=ejflick</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 03:42:49 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ejflick" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ejflick in "Every Frame Perfect"]]></title><description><![CDATA[
<p>Articles from this site pop up occasionally. Something about the background color causes me to see a medium-sized bright spot in my vision after a few minutes. Due to this, I have to remind myself not to click when I see the URL.</p>
]]></description><pubDate>Sun, 14 Jun 2026 03:26:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48523906</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=48523906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48523906</guid></item><item><title><![CDATA[New comment by ejflick in "Emacs is my new window manager (2015)"]]></title><description><![CDATA[
<p>Was just looking at this article yesterday and it inspired me to try it myself. Trying it out today, my fingers became really sore from trying to navigate. Can't imagine using this for a modern development workflow where there's a lot of jumping around. To make it more ergonomic, I'd just be recreating configuration other window managers give me out of the box.<p>The author mentions in the footnotes he mostly uses this setup for note taking. That makes sense as he probably remains in one window for extended periods of time.</p>
]]></description><pubDate>Mon, 08 Dec 2025 09:06:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46190059</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=46190059</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46190059</guid></item><item><title><![CDATA[New comment by ejflick in "Fifty Shades of OOP"]]></title><description><![CDATA[
<p>I've read his book "Domain Modeling Made Functional" without much prior knowledge of F#. He provides some compelling examples and some of it ended up inspiring how I write OO code. F# seems cool but it felt like it was close to being extinct.</p>
]]></description><pubDate>Tue, 25 Nov 2025 15:40:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46046836</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=46046836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46046836</guid></item><item><title><![CDATA[New comment by ejflick in "Fifty Shades of OOP"]]></title><description><![CDATA[
<p>> Basically your objects are data-only, so there's no benefit.<p>This makes me wonder why most of us use Java at all. In your typical web app project, classes just feel like either:<p>1) Data structures. This I suspect is a result of ORM's not really being ORM's but actually "Structural Relational Mappers".<p>- or -<p>2) Namespaces to dump functions. These are your run-of-the-mill "utils" classes or "service" classes, etc.<p>The more I work in Java, the more I feel friction between the language, its identity(OO beginning to incorporate functional ideas), and how people write in it.</p>
]]></description><pubDate>Tue, 25 Nov 2025 01:32:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46041399</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=46041399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46041399</guid></item><item><title><![CDATA[New comment by ejflick in "The Future of Programming (2013) [video]"]]></title><description><![CDATA[
<p>It is unfortunate that this field underestimates the importance of the "people" part in favor of the "computer" part. There's definitely a balance to be stricken. I do believe that languages that are designed for computers have done a pretty decent job at adapting features that are geared more towards the "people" part of the equation. Unfortunately, programmers are very tribal and are very eager to toss the wine out with the cork when it comes to ideas that may help but they've misapplied.</p>
]]></description><pubDate>Wed, 19 Nov 2025 13:49:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45979462</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=45979462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45979462</guid></item><item><title><![CDATA[New comment by ejflick in "Keep Pydantic out of your Domain Layer"]]></title><description><![CDATA[
<p>> APIs should not present nested objects but normalised data<p>If something is nested, let it be represented as a nested structure. I find flattening causes more mental overhead. If something is too flat, it becomes less obvious what data is exactly necessary to do what you want to do</p>
]]></description><pubDate>Sat, 26 Jul 2025 19:35:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=44696433</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=44696433</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44696433</guid></item><item><title><![CDATA[New comment by ejflick in "99 Bottles of OOP now available in Python"]]></title><description><![CDATA[
<p>> OOP is an industry of its own which generates a ton of incidental complexity.<p>Code in any form can generate a ton of incidental complexity. The issue isn't the tool rather than the education to properly wield those tools. Especially when you introduce the team dynamic where everyone has varying understandings of what is being built and how it should be built.</p>
]]></description><pubDate>Wed, 20 Nov 2024 04:13:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=42190770</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=42190770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42190770</guid></item><item><title><![CDATA[New comment by ejflick in "Master Hexagonal Architecture in Rust"]]></title><description><![CDATA[
<p>> 2. Separation of concerns is a myth<p>I don't fully understand the quote from Djikstra where he first talked about this but I'm sure he didn't mean it as it's interpreted today: "draw invisible boundaries in random places because <i>best practices</i>."</p>
]]></description><pubDate>Tue, 17 Sep 2024 09:56:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=41566055</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=41566055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41566055</guid></item><item><title><![CDATA[New comment by ejflick in "Htmx, Raku and Pico CSS"]]></title><description><![CDATA[
<p>> View code in the back-end always looks like crap<p>That's probably the fault of the people writing it. People can also write crap looking code using frameworks too.<p>> and never able to achieve the interactivity the front-end can.<p>That's what small sprinkles of javascript is for. You don't need incredibly beautiful interactivity in every pixel.</p>
]]></description><pubDate>Mon, 09 Sep 2024 08:39:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=41486578</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=41486578</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41486578</guid></item><item><title><![CDATA[New comment by ejflick in "The Fennel Programming Language"]]></title><description><![CDATA[
<p>You'll always need to deal with a bit of Lua afaik. If you like fantasy consoles, you can use TIC-80[1] to not have to deal with any Lua.<p>[1] <a href="https://tic80.com/" rel="nofollow">https://tic80.com/</a></p>
]]></description><pubDate>Mon, 09 Sep 2024 08:24:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=41486505</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=41486505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41486505</guid></item><item><title><![CDATA[New comment by ejflick in "Sequel: The Database Toolkit for Ruby"]]></title><description><![CDATA[
<p>Sequel 5.83.0 Changelog<p><a href="https://github.com/jeremyevans/sequel/discussions/2198">https://github.com/jeremyevans/sequel/discussions/2198</a></p>
]]></description><pubDate>Thu, 05 Sep 2024 07:21:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=41454346</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=41454346</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41454346</guid></item><item><title><![CDATA[New comment by ejflick in "Pharo 12"]]></title><description><![CDATA[
<p>I check every release hoping that they finally fixed rendering for HiDPI. Guess I'll have to keep waiting.</p>
]]></description><pubDate>Sat, 27 Apr 2024 03:50:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=40177026</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=40177026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40177026</guid></item><item><title><![CDATA[New comment by ejflick in "If Inheritance is so bad, why does everyone use it?"]]></title><description><![CDATA[
<p>> "yeah I have a User, but I don't know if it's a valid User".<p>This, imo, is one of the big reasons people so easily dismiss OOP. They put whatever data _they think they probably need_ in an object using setters/builders/what have you. This leads to abstractions of data that don't accurately reflect state. They will then let an external entity (service or whatever pattern) manipulate this data. At this point people might as well use something analogous to a C struct where anything can be done to the values. Objects are not managing their own invariants. When you rip this responsibility from an object, then nothing becomes responsible for the validity of an object. Due to this, people wonder why they get bugs and have trouble growing their software.<p>This also leads to things like "isValid". People don't understand that an object should be constructed with only valid data. The best example I've found of protecting variants and construction of valid objects to be this strategy in F#:<p><a href="https://fsharpforfunandprofit.com/series/designing-with-types/" rel="nofollow">https://fsharpforfunandprofit.com/series/designing-with-type...</a><p>I'm yet to find a good way to do this in a language such as Java unfortunately.</p>
]]></description><pubDate>Sun, 14 Apr 2024 07:23:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=40029320</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=40029320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40029320</guid></item><item><title><![CDATA[New comment by ejflick in "ORMs are nice but they are the wrong abstraction"]]></title><description><![CDATA[
<p>I've found embedding raw SQL into my code has been beneficial in two ways:<p>1. Hot reloading code. As a Java developer, this is important for prototyping as I can iterate quicker.<p>2. Clarity. I can read exactly what's going on and I know exactly what query is being executed.</p>
]]></description><pubDate>Thu, 01 Feb 2024 11:17:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=39214775</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=39214775</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39214775</guid></item><item><title><![CDATA[New comment by ejflick in "Pharo 11"]]></title><description><![CDATA[
<p>I've wanted to spend time on Pharo for over a year now but the blurriness gives me a headache. Occassionally I'll check back during a new release to see if they fixed the hidpi issue. Really surprised they haven't.</p>
]]></description><pubDate>Fri, 12 May 2023 02:28:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=35911197</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=35911197</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35911197</guid></item><item><title><![CDATA[New comment by ejflick in "Clojure needs a Rails"]]></title><description><![CDATA[
<p>This is the one thing I found that prevented me from getting far with Clojure. I love the language and the concepts...but there's no stable well-documented go to tool that I can use to hit the ground running. Instead, I spent so much time looking at blog posts and random videos trying to cobble together some sort of system of various libraries to form the basic functionality of a web framework just to get to a point where I could actually start working on the meat of the application. Luminus is extremely helpful but I'd also end up having to learn about the individual pieces and found it hard to add libraries after I started my project.<p>The pervasive "compostable library" mindset also completely ignores the other benefits of having a standardized framework such as Rails that people can rally around:
1. Standardized documentation
2. Being able to create community that can provide support when you're having issues
3. Easily google-able solutions to common issues
4. A standard that can be iterated upon. I feel like Clojure libraries do this somewhat already so they can work with each other so what's the harm on standardizing these interfaces?</p>
]]></description><pubDate>Sun, 31 Jul 2022 07:22:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=32293897</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=32293897</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32293897</guid></item><item><title><![CDATA[New comment by ejflick in "Ask HN: Who wants to be hired? (January 2021)"]]></title><description><![CDATA[
<p>Location: Taiwan(American citizen)<p>Remote: Yes<p>Willing to relocate: No<p>Looking for: Full time or part time<p>Technologies: Java, AWS(SNS,SQS,EC2,DynamoDB), Neo4j, Spring Boot, (always open to learning more!)<p>Resume/CV: <a href="https://www.linkedin.com/in/ericjflick/" rel="nofollow">https://www.linkedin.com/in/ericjflick/</a><p>Email: flick.eric.j [at] gmail.com<p>About: Backend software engineer for 4 years. Worked at two companies in the past -- one large, one small. Even though I've been primarily a Java person in the past, I'm very much looking to try out different languages and frameworks while working in different parts of the stack! Have been abroad studying at a language school the past year and am looking to get back in the game!</p>
]]></description><pubDate>Tue, 05 Jan 2021 16:56:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=25647499</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=25647499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25647499</guid></item><item><title><![CDATA[New comment by ejflick in "New Linux port for the Nintendo 64"]]></title><description><![CDATA[
<p>Finally! Been waiting for this for 24 years.</p>
]]></description><pubDate>Sat, 26 Dec 2020 06:35:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=25541866</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=25541866</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25541866</guid></item><item><title><![CDATA[New comment by ejflick in "Ask HN: Who wants to be hired? (December 2020)"]]></title><description><![CDATA[
<p>Location: Taiwan(American citizen)<p>Remote: Yes<p>Willing to relocate: No<p>Looking for: Full time or part time<p>Technologies: Java, AWS(SNS,SQS,EC2,DynamoDB), Neo4j, Spring Boot, (always open to learning more!)<p>Resume/CV: <a href="https://www.linkedin.com/in/ericjflick/" rel="nofollow">https://www.linkedin.com/in/ericjflick/</a><p>Email: flick.eric.j [at] gmail.com<p>About: Backend software engineer for 4 years. Worked at two companies in the past -- one large, one small. Even though I've been primarily a Java person in the past, I'm very much looking to try out different languages and frameworks while working in different parts of the stack! Have been abroad studying at a language school the past year and am looking to get back in the game!</p>
]]></description><pubDate>Wed, 02 Dec 2020 02:14:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=25272539</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=25272539</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25272539</guid></item><item><title><![CDATA[New comment by ejflick in "Ask HN: Who wants to be hired? (November 2020)"]]></title><description><![CDATA[
<p>Location: Taiwan<p>Remote: Yes (preferred)<p>Willing to relocate: No. (American citizen but will be remaining in Taiwan for the foreseeable future).<p>Looking for: Full time...but would be down for part time<p>Technologies: Java, AWS(SNS,SQS,EC2,DynamoDB), Neo4j, Spring Boot, (always open to learning more!)<p>Resume/CV: <a href="https://www.linkedin.com/in/ericjflick/" rel="nofollow">https://www.linkedin.com/in/ericjflick/</a><p>Email: flick.eric.j@gmail.com<p>About: Backend software engineer for 4 years. Worked at two companies in the past -- one large, one small. Even though I've been primarily a Java person in the past, I'm very much looking to try out different languages and frameworks while working in different parts of the stack! Have been abroad studying at a language school the past year and am looking to get back in the game!</p>
]]></description><pubDate>Tue, 03 Nov 2020 08:21:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=24977579</link><dc:creator>ejflick</dc:creator><comments>https://news.ycombinator.com/item?id=24977579</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24977579</guid></item></channel></rss>