<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: exevp</title><link>https://news.ycombinator.com/user?id=exevp</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 23 Oct 2026 11:07:56 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=exevp" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by exevp in "Using LLM for confidence scoring is a bad idea"]]></title><description><![CDATA[
<p>The majority of humans is not delusional <i>all the time</i>. But every human is delusional <i>some times</i>.
Same as the majority of LLMs hallucinating <i>some times</i> but not <i>all the time</i>.<p>So if the bar for proper reasoning is never ever being delusional then humans and LLMs sit in the same bucket.</p>
]]></description><pubDate>Thu, 22 Oct 2026 07:19:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=50192238</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=50192238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50192238</guid></item><item><title><![CDATA[New comment by exevp in "Ask HN: Show me your half baked project"]]></title><description><![CDATA[
<p>Nocode AI-API platform: <a href="https://flowtastic.ai" rel="nofollow noreferrer">https://flowtastic.ai</a><p>Started it some months ago because i needed it and it didn’t exist back then. Now there are some similar competitors but it still has some unique properties.<p>Traction: regular signups, paying customer, some recurring users.<p>Needs some UX love and features/polishing to be self-servicable.</p>
]]></description><pubDate>Fri, 13 Oct 2023 04:43:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=37866777</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=37866777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37866777</guid></item><item><title><![CDATA[New comment by exevp in "How to get new ideas"]]></title><description><![CDATA[
<p>Psssst, if you put it this way it won't attract VC $$$</p>
]]></description><pubDate>Tue, 24 Jan 2023 14:25:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=34503911</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=34503911</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34503911</guid></item><item><title><![CDATA[New comment by exevp in "How to get new ideas"]]></title><description><![CDATA[
<p>So cloning yourself is the actual idea you should pursue? ;)</p>
]]></description><pubDate>Tue, 24 Jan 2023 14:20:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=34503856</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=34503856</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34503856</guid></item><item><title><![CDATA[New comment by exevp in "How to get new ideas"]]></title><description><![CDATA[
<p>This space is getting so much interest that OpenAI will not be the only one providing LLM as a service forever.</p>
]]></description><pubDate>Tue, 24 Jan 2023 14:20:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=34503851</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=34503851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34503851</guid></item><item><title><![CDATA[Thoughts on Daily Standup Meetings]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.calitrix.com/posts/thoughts_on_dailies/">https://blog.calitrix.com/posts/thoughts_on_dailies/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=32151870">https://news.ycombinator.com/item?id=32151870</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 19 Jul 2022 14:20:09 +0000</pubDate><link>https://blog.calitrix.com/posts/thoughts_on_dailies/</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=32151870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32151870</guid></item><item><title><![CDATA[New comment by exevp in "Ask HN: Are there any good Diff tools for Jupyter Notebooks?"]]></title><description><![CDATA[
<p>You can use clean and smudge filters in git. Since notebook files are JSON it's pretty straightforward to stripe outputs from them using `jq`:<p><a href="http://timstaley.co.uk/posts/making-git-and-jupyter-notebooks-play-nice/" rel="nofollow">http://timstaley.co.uk/posts/making-git-and-jupyter-notebook...</a></p>
]]></description><pubDate>Sun, 22 May 2022 14:41:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=31468677</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=31468677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31468677</guid></item><item><title><![CDATA[New comment by exevp in "JavaScript timers can be bypassed with “Infinity”"]]></title><description><![CDATA[
<p>This is probably a good opportunity to have a heated discussion over parseInt() vs Number() since parseInt('Infinity') yields NaN. 
I know people prefer Number() for reasons but in this case it reveals the weakness of using basically a typecast with implicit language semantics for interpreting string inputs.</p>
]]></description><pubDate>Thu, 29 Jul 2021 05:28:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=27993080</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=27993080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27993080</guid></item><item><title><![CDATA[New comment by exevp in "JavaScript timers can be bypassed with “Infinity”"]]></title><description><![CDATA[
<p>Also the example of bypassing this is rather contrived:<p>1) bypassing some timer in an API service requires the API to accept the string „Infinity“ and convert it to the JavaScript value Infinity - which is highly unlikely. Instead, the value would just fail the numeric validation.<p>2) bypassing some timer in client-side code by injecting Infinity seems overly complex - if you alter client-side code you might aswell just remove the validation instead of abusing edge cases of the language runtime.</p>
]]></description><pubDate>Wed, 28 Jul 2021 19:22:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=27988464</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=27988464</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27988464</guid></item><item><title><![CDATA[New comment by exevp in "Money Stuff: Tesla Sold Some Bitcoins"]]></title><description><![CDATA[
<p>The last Bitcoin will be mined in ca 120 years. [1]
Maybe better invest in longevity research if you wish to witness this event.<p>[1] <a href="https://bitcoin.stackexchange.com/questions/10486/when-will-the-last-bitcoin-be-mined/10492#10492" rel="nofollow">https://bitcoin.stackexchange.com/questions/10486/when-will-...</a></p>
]]></description><pubDate>Wed, 28 Apr 2021 19:28:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=26973117</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=26973117</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26973117</guid></item><item><title><![CDATA[New comment by exevp in "Show HN: ORM for TypeScript with no query-builder, supporting full SQL queries"]]></title><description><![CDATA[
<p>> I am not sure about what do you mean here?<p>Given i have defined the columns of interest in my data objects anyways...<p><pre><code>  class User { name = null; email = null; }
</code></pre>
... i wouldn't necessarily have to repeat them when writing my SQL:<p><pre><code>   sql`SELECT ${Object.getOwnPropertyNames(new User).map(camelCase).join(', ')} FROM users`
</code></pre>
Of course using a better helper function.<p>There's a few repetitive tasks when writing SQL where don't necessarily need a powerful query builder but still end up writing a few handler functions. Shipping some common helpers with the framework might be handy.</p>
]]></description><pubDate>Fri, 04 Sep 2020 08:17:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=24372857</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=24372857</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24372857</guid></item><item><title><![CDATA[New comment by exevp in "Show HN: ORM for TypeScript with no query-builder, supporting full SQL queries"]]></title><description><![CDATA[
<p>I understand where Prisma is coming from with the custom DSL: they want to guarantee type safety and therefore need to know exactly the structure of the types the result set is supposed to be mapped to.<p>In most other languages you'd shout "reflection" but unfortunately, there is no such thing in TS. Hence the custom DSL so you know, while parsing, what the structure of the type is.<p>I'm just asking myself: why invent the custom DSL for that? You could just use babel to parse TS types. Sure babel is quite the dependency but in a node environment, that wouldn't be a bigger concern to me then inventing a custom DSL instead.<p>You could even use TS decorators to add more metadata like sequences and (foreign) keys to the TS types.</p>
]]></description><pubDate>Thu, 03 Sep 2020 16:26:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=24365677</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=24365677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24365677</guid></item><item><title><![CDATA[New comment by exevp in "Show HN: ORM for TypeScript with no query-builder, supporting full SQL queries"]]></title><description><![CDATA[
<p>> In my experience this is just a very, very small percent of the cases. Most of the time I find myself doing pretty simple CRUD operations, and the boilerplate for the simple cases goes out of hand quickly, specially when running joins.<p>That's true, although the most frustrating percent of the cases :)<p>I think what KISS will eventually need is some simple toolbelt for the basic CRUD queries, e.g. expanding lists of column names, dealing with casing (snake_case to camelCase). So making the stuff you write 90% of the times easy without inventing a custom SQL abstraction.<p>MyBatis (which i mentioned in another comment) approached this for example with sql snippets one could re-use in queries.<p>KISS enables the same thing by allowing nesting of tagged sql strings. I guess time will show which additional helpers are needed to make the devs life easy/reduce the boilerplate for the simple queries.</p>
]]></description><pubDate>Thu, 03 Sep 2020 14:31:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=24364436</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=24364436</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24364436</guid></item><item><title><![CDATA[New comment by exevp in "Show HN: ORM for TypeScript with no query-builder, supporting full SQL queries"]]></title><description><![CDATA[
<p>Also one of the bigger reasons why i dislike SQL abstractions: you usually pick your RDBMS for a reason, because of some vendor-specific features, extensions or something. Abstracting SQL away makes end up with the smallest common denominator which defeats the purpose of choosing one specific RDMBS.<p>So whenever you have reasons to spend some thoughs on the choice of RDBMS, you'll probably not want to abstract SQL away.</p>
]]></description><pubDate>Thu, 03 Sep 2020 14:25:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=24364378</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=24364378</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24364378</guid></item><item><title><![CDATA[New comment by exevp in "Show HN: ORM for TypeScript with no query-builder, supporting full SQL queries"]]></title><description><![CDATA[
<p>Not specific to TS, just one of the modern JS features: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...</a><p>Scroll down to the part explaining how to use custom tags.</p>
]]></description><pubDate>Thu, 03 Sep 2020 14:13:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=24364240</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=24364240</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24364240</guid></item><item><title><![CDATA[New comment by exevp in "Show HN: ORM for TypeScript with no query-builder, supporting full SQL queries"]]></title><description><![CDATA[
<p>> not care about managing DB connections, at least until they become critical for my use-case.<p>That's something the db driver usually does. E.g. when using Postgres, the pg library already comes with the connection pooling. Haven't looked into the implementation in Knex but i'd suspect they just use the Pool class of pg (<a href="https://node-postgres.com/features/pooling" rel="nofollow">https://node-postgres.com/features/pooling</a>).<p>> Not care about sanitising inputs and protecting myself from SQL injections.<p>That's also not that much of a concern when just binding parameters.<p>> Have more readable and maintainable code in my repositories than SQL in plain strings as a default. Yes I have some raw queries but 98% of my queries are easy to follow knex chains.<p>Comes with the cognitive cost of maintaining another abstraction for SQL.<p>> Not care about creating and maintaining code for migrations.<p>That's actually the one feature which made me use Knex for years (just for the migration part of course :) ). I didn't use the schema builder functions mostly, just a bunch of `knex.raw` calls in the migration files.
But for the benefits you mentioned (transactions, bookkeeping) it is really useful.</p>
]]></description><pubDate>Thu, 03 Sep 2020 14:11:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=24364208</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=24364208</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24364208</guid></item><item><title><![CDATA[New comment by exevp in "Show HN: ORM for TypeScript with no query-builder, supporting full SQL queries"]]></title><description><![CDATA[
<p>I find that most of the production features you mentioned are actually more difficult using a fat ORM.<p>How many hours have i wasted figuring out how i can write and map some complex joins or aggregation query with <insert ORM name here>? Would have been a 3 minute task if all i had to write was just SQL ...<p>Plus i have a hard time seeing the benefit of Prisma. You are learning an entirely new DSL just to define your schema - which actually isn't that far off standard JS or TS syntax-wise so it feels like a complete waste of time to come up with the DSL in the first place.
I can only imagine the hard time you have once you first have to break out of the frameworks cage because you hit a case which isn't easily solved by the framework itself ...</p>
]]></description><pubDate>Thu, 03 Sep 2020 13:58:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=24364088</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=24364088</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24364088</guid></item><item><title><![CDATA[New comment by exevp in "Show HN: ORM for TypeScript with no query-builder, supporting full SQL queries"]]></title><description><![CDATA[
<p>It might be a good idea to focus on the use of template strings for safe and handy SQL generation instead of introducing too many opinionated ORM concepts.<p>If one had to, i'd separate these things in different libraries and let the developer opt in to what he needs.</p>
]]></description><pubDate>Thu, 03 Sep 2020 13:40:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=24363923</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=24363923</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24363923</guid></item><item><title><![CDATA[New comment by exevp in "Show HN: ORM for TypeScript with no query-builder, supporting full SQL queries"]]></title><description><![CDATA[
<p>tl;dr: thank god it finally has been done.<p>Long version: i've been seriously frustrated with the state of ORM (in Javascript in particular) for years.<p>Javascript ORM are nice and handy if all you're doing is simple CRUD stuff. If you're starting with more complex relational queries (we're using an RDBMS so why wouldn't we?) you quickly reach the limits of what the ORM can map.
If you start doing more complex aggregations or stuff like window functions and the likes, you most certainly have to fallback to raw queries, usually rendering the whole mapping function of the ORM completely useless.<p>Also projects like Knex.js (or for example HQL in the Java world) look nice at first but are mostly useless IMHO because they just replace SQL with another syntax you have to learn. Why stay with the language everybody familiar with RDBMS can speak if you can invent some useless abstraction, right?
And please don't tell me you want to support multiple RDBMS in the same codebase. How often is this really an important use-case?<p>I really loved the way MyBatis did this in Java: instead of mapping tables to objects, mapping result sets to objects and leaving the full power of SQL to the developer.<p>Always wanted (and actually started something almost the same as you did some weeks ago) to basically do MyBatis in Javascript and never had the time to.<p>Thanks for getting it started.</p>
]]></description><pubDate>Thu, 03 Sep 2020 13:37:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=24363889</link><dc:creator>exevp</dc:creator><comments>https://news.ycombinator.com/item?id=24363889</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24363889</guid></item></channel></rss>