<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: targafarian</title><link>https://news.ycombinator.com/user?id=targafarian</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 29 May 2026 16:38:56 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=targafarian" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by targafarian in "The Claude Code Source Leak: fake tools, frustration regexes, undercover mode"]]></title><description><![CDATA[
<p>Well is it actually being used as a tool where the author has full knowledge and mental grasp of what is being checked in, or has the person invoked the AI and ceded thought and judgment to the AI? I.e., I think in many cases the AI really is the author, or at least co-author. I want to know that for attribution and understanding what went into the commit. (I agree with you if it's <i>just</i> a tool.)</p>
]]></description><pubDate>Tue, 31 Mar 2026 22:01:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47594055</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=47594055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47594055</guid></item><item><title><![CDATA[New comment by targafarian in "Everything you need to know about Python 3.13 – JIT and GIL went up the hill"]]></title><description><![CDATA[
<p>On the other hand, if people who don't care enough to compile it for themselves try it out, the Python devs can be flooded with complaints and bug reports that effectively come down to it being in alpha.<p>You get both sides (yes, you might limit some who would otherwise try it out).<p>I think requiring people to compile to try out such a still-fraught, alpha-level feature isn't too onerous. (And that's only from official sources; third parties can offer compiled versions to their hearts' content!)</p>
]]></description><pubDate>Sat, 28 Sep 2024 13:09:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=41680014</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=41680014</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41680014</guid></item><item><title><![CDATA[New comment by targafarian in "The Art of Finishing"]]></title><description><![CDATA[
<p>For me this is a set of general strategies for breaking down problems. Here are some I use. (Apologies if these aren't all orthogonal to one another; they just feel different when I'm thinking of how to break a problem down.)<p>1. Break down the steps. Can you find a recipe of steps for achieving the thing? Then start with the first step. Maybe that's a small enough task. Maybe you don't have to perform all steps in order, and you can find a small-enough step to do next.<p>2. Isolate the fundamental challenges. There is often a tough nut to crack within the problem. Can you isolate that from the rest of the project, and turn it into its own thing (I like to cast this as a "toy" problem)? When I say "isolate," I mean to remove all unnecessary complexity to getting at the fundamental issue. Suppose I want to figure out how to create a robust messaging network. There might be user interfaces and caching and different kinds of messages and different networks and different failure mechanisms and performance issues and ... So just create a "toy" at each step: First, simply send & receive a message. Don't worry about performance or worry much about robustness. You now have a small task but whose completion achieves a fundamentally necessary part of the larger task. Finishing that will feel good--you have something that <i>works</i>!--and you've made real progress. You might find examples of others doing something similar to this basic task as well, so you can work on your own but then compare notes to others to gain insights on why others have solved similar problems differently than how you solved it (you might have come to something better, or not; either way, you now have <i>understanding</i> of the fundamental problems involved). Now you can grow that toy or take what you learned from the toy and apply it to the larger task.<p>3. Similar to 2, but maybe a different POV: The physics joke is approximating a cow as a perfect sphere to study its dynamics. Simply the hell out of a problem! Maybe it feels ridiculously simple. Fine; now you are working with something completely tractable. You can then add in complexity to your model one wrinkle at a time.<p>4. Do something that's actually easy even if i might not be "significant" from the "big challenges to getting this project working" POV. Maybe you've been frustrated for a week or two trying to solve the tough-nut-to-crack bit of the problem. Even your toy problem remains (what feels hopelessly) broken! Switch over to creating the GUI or something superficial but that is easily tractable yet yields something satisfying to you when you finish. Simply stepping away from the hard problem for a day or two can re-motivate you when you come back to the hard problem. That time can also give your mind time to process solutions in the background (many people--myself included--have an "a ha!" moment when not thinking directly about a hard problem). And you are still being productive, moving towards the end goal. You had to make a GUI anyway at some point. Might as well be when you are stuck on the hard thing and feeling frustrated.<p>Getting good at breaking down problems took me many years. I credit my physics education as being particularly helpful (training thinking of problems & solutions in their extremes and always connecting solutions back to "does it make sense"). But much of the above is also learning my own psychology of how I work and what/when/how I am motivated to work and in the best position psychologically to solve a problem. I expect this isn't too different for many people, but the details can vary from person to person.</p>
]]></description><pubDate>Tue, 03 Sep 2024 12:08:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=41434126</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=41434126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41434126</guid></item><item><title><![CDATA[New comment by targafarian in "Three questions to turn the table during technical interviews"]]></title><description><![CDATA[
<p>I welcome this question from interviewees and sometimes offer up the information without being asked.<p>I work in a small business where we do hardware, software, help the marketing folks, and do a little IT work where needed. I want someone who is curious, energetic, and enjoys taking on whatever challenge presents itself. They'll start in a pretty well-defined role in a well-defined domain, and I'll give them support in that role. But they will have every opportunity to branch out from there, and I believe the kind of employee I seek—as well as the company—will benefit if the employee fits this technical culture. I want to scare off people who want to be pigeon-holed and fed repetitive tasks.<p>To that end, I also like to discuss with candidates projects they've worked on in the past, rather than offer up new challenges I present to them. Our normal work week doesn't involve isolated puzzles or single activities that one finishes in an hour. Finishing a project takes a long time & requires acquiring new knowledge, skills, and understanding, so I want to explore in depth something the candidate had a long time to work on where this process did (or did not) transpire.<p>My POV is that I want to find a postdoc (or someone who could grow into this paradigm), not a clever parrot.</p>
]]></description><pubDate>Sun, 01 Sep 2024 04:49:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41414384</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=41414384</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41414384</guid></item><item><title><![CDATA[New comment by targafarian in "Running OCR against PDFs and images directly in the browser"]]></title><description><![CDATA[
<p>You act like you were misled, but the article, within the first few sentences, says he realized the tools are available to do this (including naming tesseract.js explicitly!), he just needed to glue them together. Then he details how he does that, and only then mentions he used an LLM to help him in that process. The author's article title is equally not misleading.<p>Was an earlier headline or subtitle here on HN what was misleading, but then that was changed to not be misleading?</p>
]]></description><pubDate>Sun, 31 Mar 2024 13:48:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=39884222</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=39884222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39884222</guid></item><item><title><![CDATA[New comment by targafarian in "Python datetime pitfalls, and what libraries are (not) doing about it"]]></title><description><![CDATA[
<p>64 bit unsigned integer nanoseconds gets you out to 584 years (that's the year 2554 if you're using the Unix epoch). That's good enough for me to use universally for passing times around in the internals of my code. User input and output are going to and from that representation.<p>Half as many, of course, if you use a signed integer. If you don't need nanoseconds, then use microseconds and you get 292 thousand years to work with.<p>Integers are just a bit easier than floats for timestamps in my experience (e.g., comparing floats to one another is fraught and you'll be fighting this at every turn in your code).</p>
]]></description><pubDate>Sun, 18 Feb 2024 16:14:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=39420227</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=39420227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39420227</guid></item><item><title><![CDATA[New comment by targafarian in "Python 3.12"]]></title><description><![CDATA[
<p>A couple big things: Fortran natively performs operations on arrays directly like Matlab or Numpy in Python (Matlab was originally a REPL-style front-end to Fortan), and Fortran compilers tend to yield quite fast code (though specific cases will have another language outperform Fortran).<p>You can read more about the language and its high-level features here: <a href="https://fortran-lang.org" rel="nofollow noreferrer">https://fortran-lang.org</a><p>That website/community was created in part by the original author of the Python Sympy library, Ondřej Čertík. He is also working on his own Fortran compiler that you can use via webassembly to play around with Fortran; find links if you want to play here: <a href="https://lfortran.org" rel="nofollow noreferrer">https://lfortran.org</a><p>I've only dabbled a little, but I like the general idea, and I appreciate a F/OSS Fortran compiler being developed like this alongside actively seeking to grow the Fortran community & push the language & its libraries forward.<p>I expect more widespread adoption of Fortran to be quite a ways out, but what Ondřej is doing for Fortran is necessary (not sufficient) for such adoption to be the case.</p>
]]></description><pubDate>Mon, 02 Oct 2023 20:01:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=37743670</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=37743670</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37743670</guid></item><item><title><![CDATA[New comment by targafarian in "Ask HN: Why did Python win?"]]></title><description><![CDATA[
<p>Did you evaluate Cython? I'm not anti-Julia, but I like that my Cython code is useable out of the box from Python, with no wrapping, and then users can continue to use their Jupiter + Python scripting workflows with performant bespoke modules complemented by the full Python ecosystem.<p>Someday I'll do a project in Julia. But for some such projects, Rust seems fully guaranteed to be performant while Julia might or might not be, so I might still lean towards Rust (unless one of the high quality packages of Julia removes a lot of development time, which is a decent possibility).</p>
]]></description><pubDate>Tue, 05 Sep 2023 12:28:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=37390756</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=37390756</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37390756</guid></item><item><title><![CDATA[New comment by targafarian in "What's SAP, and why's it worth $163B? (2020)"]]></title><description><![CDATA[
<p>Marketing is a helluva drug. People are trained to trust big companies and the bigger the company the more they trust it. I think the issue is the variance in solutions if you compare all the homegrown solutions against all the big company solutions. And that gets managers into the mindset that there's less risk in a generic big company solution. But of course that misses all the details for a specific case like yours.<p>It would be like interacting with other people who knew based on the average of everyone on Earth as opposed to dealing with the person you knew based on their own personality.<p>But it's easy to manage based on these kinds of broad generalities and, as the saying at least once went, no one gets fired for choosing IBM.</p>
]]></description><pubDate>Fri, 09 Sep 2022 13:12:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=32778764</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=32778764</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32778764</guid></item><item><title><![CDATA[New comment by targafarian in "The Jupyter+Git problem is now solved"]]></title><description><![CDATA[
<p>100% agreed.<p>People use a great tool in a poor way and then broadly condemn the tool.<p>And any tool that is sufficiently flexible to be broadly useful can be used in very poor ways.<p>Jupyter is great, it gets me over the barrier potential for starting a task every time. I build and prove out an algorithm/task piece by piece. Once I'm happy, I move the meat of it to a function in a .py file, and move the code I used to test the algorithm to a unit test function. Delete the duplicated bits and replace with imports, and then what remains is a tutorial/demonstrator notebook using the function I wrote and maybe some nice plots to go along with that, that I wouldn't put in a unit test (nor that show up in docstrings). This can be converted to sphinx docs if the code gets big enough.<p>What a great tool for incrementally building software! In my world, I build brick by brick, not all at once. Jupyter is a key to that process.</p>
]]></description><pubDate>Fri, 26 Aug 2022 11:59:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=32606207</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=32606207</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32606207</guid></item><item><title><![CDATA[New comment by targafarian in "Python for Data Analysis, 3rd Edition"]]></title><description><![CDATA[
<p>Why wait when you can read years old blog posts on his personal blog talking about lessons learned (mistakes made) in this iteration of Pandas.<p>You're "waiting" for him to personally call you or something?</p>
]]></description><pubDate>Sun, 03 Jul 2022 01:07:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=31964095</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=31964095</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31964095</guid></item><item><title><![CDATA[New comment by targafarian in "Raspberry Pi Pico W: your $6 IoT platform"]]></title><description><![CDATA[
<p>> not implement low-level radio protocols<p>You don't have to re-implement protocols to commit FCC (or pick your local reg agency) no-no's. See e.g. discussion by this HAM radio operator on his blog (doing legal things, but you can easily do this for non-legal things):<p><a href="https://yo3iiu.ro/blog/?p=1301" rel="nofollow">https://yo3iiu.ro/blog/?p=1301</a></p>
]]></description><pubDate>Thu, 30 Jun 2022 11:30:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=31931091</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=31931091</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31931091</guid></item><item><title><![CDATA[New comment by targafarian in "Thank you to our maintainers"]]></title><description><![CDATA[
<p>Maybe your parent commenter made it too personal by bringing respect into the discussion. I just didn't feel your parent poster called anyone a name, so I disagree with what you're saying was being done there. That commenter named an action as being ugly, which is not problematic, IMHO.<p>I don't think it's the same thing as calling names; it's an important distinction to me to criticize <i>actions</i> and not <i>people,</i> and that's what your parent did.<p>Many here are criticizing the actions of GitHub/MS. That's fair, but we can also criticize the act of criticizing just the same.<p>(Again, I might agree with you if bringing "respect" into it could be seen as having a similar effect as name-calling in the sense that it makes the discussion more personal than it needs to be.)</p>
]]></description><pubDate>Sun, 26 Jun 2022 14:14:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=31884200</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=31884200</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31884200</guid></item><item><title><![CDATA[New comment by targafarian in "Thank you to our maintainers"]]></title><description><![CDATA[
<p>Your parent didn't call anyone a name, but described as "ugly" the <i>actions</i> of the people who impugn GitHub/MS for this act that benefits open source maintainers--and surely seeks positive PR for GitHub/MS as well.<p>(Meanwhile, you solely mention the PR aspect of this act, as if there is no other benefit in the equation. There are two general entities that will benefit from this, although some here seem to prefer no benefit whatsoever befall GitHub/MS and even want to turn this into <i>negative</i> PR. Anyway, assuming it does turn out to be net-positive PR for GitHub/MS, then 900 devs as well as GitHub/MS will benefit from this act.)</p>
]]></description><pubDate>Sun, 26 Jun 2022 14:03:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=31884093</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=31884093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31884093</guid></item><item><title><![CDATA[New comment by targafarian in "Thank you to our maintainers"]]></title><description><![CDATA[
<p>It's absolutely punishment.<p>A company gives to open source projects.<p>People complain about how little it is, and generate <i>negative</i> PR for the donation.<p>For a company, negative PR is a punishment.<p>What's the lesson here? At least the lesson some in the HN community are teaching is that if you are a big company and you donate to open source projects, you will generate negative PR for yourself.<p>(We can assume and/or question their motivations, but to me, motivations are almost always irrelevant to an act of generosity. Feel good about yourself if you help others out! Garner positive PR if you help others out as a company! Why should positive things for the giver detract from an act of generosity? Got a problem with the system? That's a problem with the system, not the person or company being generous.)</p>
]]></description><pubDate>Sun, 26 Jun 2022 13:48:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=31883937</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=31883937</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31883937</guid></item><item><title><![CDATA[New comment by targafarian in "Thank you to our maintainers"]]></title><description><![CDATA[
<p>Thing is, had GitHub done nothing, there's no discussion at all right now on HN about how <i>little</i> they're doing.<p>But because they put $500k toward those people whose projects they rely upon, there is now a discussion of what a pittance it is (whether or not you append "good job, hopefully you do more in the future" doesn't change the critical tone you set with all your other words you said before you said that).<p>The lesson: Almost no act of generosity goes without criticism on social media or discussion sites.<p>(Note: I hold a pragmatic view of generosity. I don't care what a person or company's motivations are for being generous. PR? Great! Let's show it makes for great PR to be generous! Selfishness, bolstering one's sense of grandeur? Great, feel whatever you want about yourself, as others benefited! Trying to out-compete a rival or friend by giving more than they? Great competition to be in! Did GitHub give to one person? Great! Did they give to 900 people? Great! Did they give each person $10? Great! Did they give each person $550? Great!)</p>
]]></description><pubDate>Sun, 26 Jun 2022 13:31:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=31883766</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=31883766</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31883766</guid></item><item><title><![CDATA[New comment by targafarian in "Pyston-lite: our Python JIT as an extension module"]]></title><description><![CDATA[
<p>Why not just write entire project in (pick a language).<p>Sometimes you have a Python project already, you aren't planning to write a new project. In fact there's a ton of non cython python in existence, every time I use a new library, your solution is to rewrite it in cython?<p>Lots of ways to speed up python. It's great to have this option, which will work for some without having to change much of anything. Cython, Numba, C (etc.) extensions, ... All are good, too, where they fit into a project and development cycle.</p>
]]></description><pubDate>Thu, 09 Jun 2022 11:23:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=31679851</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=31679851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31679851</guid></item><item><title><![CDATA[New comment by targafarian in "The Race to Zero Defects in Auto ICs"]]></title><description><![CDATA[
<p>My understanding is that accelerated reliability / lifetime testing is often not terribly representative of actual performance (sometimes failures are underestimated, sometimes overestimated; in either case, the mechanisms for failure can simply be different from those that are emphasized during the testing).</p>
]]></description><pubDate>Thu, 09 Jun 2022 11:14:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=31679794</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=31679794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31679794</guid></item><item><title><![CDATA[New comment by targafarian in "Apple's director of machine learning resigns due to return to office work"]]></title><description><![CDATA[
<p>I have times and tasks for which I'm more productive at home, and times and/or tasks where I'm more productive at work.<p>Good in-person collaboration, sometimes accidentally overhearing someone else, is invaluable. At the same time, people can get off task and chit chat becomes a hindrance.<p>Sometimes we all know our role and what has to be done, we just have to get it done. Sometimes we don't know how to solve a problem.<p>Some employees don't have a good work environment at home. A Ph.D. student with a young special-needs child felt horrible ignoring his daughter while working on his dissertation at home (where his wife was caring for his daughter), bit coming into campus was far better for him, productivity-wise and psychologically.<p>I think the balance might be a dynamic one, in that what's best can change over time and task and stage of a task and stage of a person's career. And by employee, and by task.<p>Being a good manager must be immensely difficult, but also being an employee also requires adapting and compromising between all of these trade-offs.</p>
]]></description><pubDate>Sun, 08 May 2022 15:10:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=31304766</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=31304766</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31304766</guid></item><item><title><![CDATA[New comment by targafarian in "Physicists take a key step in correcting quantum computer errors"]]></title><description><![CDATA[
<p>Quantum computing has already been demonstrated, but on a small scale. The challenge in achieving all of what we know quantum computing can achieve (as well as the things we have yet to discover) is in scaling it up, for which error correction is one of the key missing ingredients.<p>There are various applications. Some that you hear about most might be a little overblown (but still maybe not). For example, quantum simulation is an application within the physics field that already makes these systems worthwhile to pursue, without any mention of breaking encryption and the other things mentioned. Quantum logic, i.e. quantum computing on the smallest scale, has been employed to make cutting-edge atomic clocks (which are undeniably a worthwhile pursuit, with countless applications in the real world).<p>Putting "scaling up quantum computing, the pieces of which have already been demonstrated" in the same sentence as perpetual motion and free energy (known to be in violation of laws of physics) is completely unjustified.</p>
]]></description><pubDate>Sun, 17 Oct 2021 14:31:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=28896724</link><dc:creator>targafarian</dc:creator><comments>https://news.ycombinator.com/item?id=28896724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28896724</guid></item></channel></rss>