<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: cribwi</title><link>https://news.ycombinator.com/user?id=cribwi</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 20 Jun 2026 08:22:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=cribwi" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by cribwi in "1k Photos of Dolphin Fins"]]></title><description><![CDATA[
<p>A similar research is done for humpback whales by HappyWhale: <a href="https://happywhale.com/" rel="nofollow">https://happywhale.com/</a>
They're doing a great effort with already over 600K user/tourist submitted photos of whale encounters to track individual whales over the globe</p>
]]></description><pubDate>Tue, 11 Apr 2023 07:15:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=35521868</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=35521868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35521868</guid></item><item><title><![CDATA[New comment by cribwi in "PostgreSQL views and materialized views and how they influenced TimescaleDB"]]></title><description><![CDATA[
<p>Great approach and good write-up! I’ve implemented a similar technique before on PostgreSQL, but with the materialisation in the application backend. Still works like a charm.<p>>So instead, we created a special kind of trigger that tracks the minimum and maximum times modified across all the rows in a statement and writes out the range of times that were modified to a log table. We call that an invalidation log.<p>Does this invalidation log also take into account cases where the view has an aggregate that is based on data from a bucket other than itself? For example, a lag() or lead() might be used to calculate a delta compared to the previous bucket. Then, if a data point inside bucket 1 is added into the realtime table and bucket 1 is invalidated and re-materialised, for integrity reasons also bucket 2 needs to be re-materialised?</p>
]]></description><pubDate>Fri, 15 Jul 2022 14:52:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=32108779</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=32108779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32108779</guid></item><item><title><![CDATA[New comment by cribwi in "PRQL – A proposal for a better SQL"]]></title><description><![CDATA[
<p>In some cases for removing repeating (intermediate) calculations, I generally find it easier to use a lateral join (in postgres), like<p><pre><code>    select
        title,
        country,
        avg(salary)         as average_salary,
        sum(salary)         as sum_salary,
        avg(gross_salary)   as average_gross_salary,
        sum(gross_salary)   as sum_gross_salary,
        avg(gross_cost)     as average_gross_cost,
        sum(gross_cost)     as sum_gross_cost,
        count(*)            as emp_count
    from
        employees,
        lateral ( select
            (salary + payroll_tax)                   as gross_salary,
            (salary + payroll_tax + healthcare_cost) as gross_cost
        ) employee_ext
    where
        country = 'usa'
        and gross_cost > 0
    group by  title, country
    having    count(*) > 200
    order by  sum_gross_cost
    limit 3;</code></pre></p>
]]></description><pubDate>Tue, 25 Jan 2022 07:59:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=30069360</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=30069360</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30069360</guid></item><item><title><![CDATA[New comment by cribwi in "How to create a 1M record table with a single query"]]></title><description><![CDATA[
<p>If you're running PostgreSQL, you can use the built-in generate_series (1) function like:<p><pre><code>  SELECT id, random()
  FROM generate_series(0, 1000000) g (id);
</code></pre>
There seems to be an equivalent in SQLite: <a href="https://sqlite.org/series.html" rel="nofollow">https://sqlite.org/series.html</a><p>[1] <a href="https://www.postgresql.org/docs/current/functions-srf.html" rel="nofollow">https://www.postgresql.org/docs/current/functions-srf.html</a></p>
]]></description><pubDate>Wed, 24 Mar 2021 08:03:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=26564621</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=26564621</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26564621</guid></item><item><title><![CDATA[New comment by cribwi in "Why is it so hard to see code from 5 minutes ago?"]]></title><description><![CDATA[
<p>You can assign a custom shortcut to it via Settings > Keymap and then the action "Main Menu > File > Local History".
I myself have assigned the shortcut control+shift+=</p>
]]></description><pubDate>Fri, 19 Feb 2021 10:07:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=26191390</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=26191390</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26191390</guid></item><item><title><![CDATA[An automatic pool playing robot]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=vsTTXYxydOE">https://www.youtube.com/watch?v=vsTTXYxydOE</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=26156047">https://news.ycombinator.com/item?id=26156047</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 16 Feb 2021 17:05:03 +0000</pubDate><link>https://www.youtube.com/watch?v=vsTTXYxydOE</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=26156047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26156047</guid></item><item><title><![CDATA[New comment by cribwi in "Dependency"]]></title><description><![CDATA[
<p>Try using <a href="https://m.xkcd.com/" rel="nofollow">https://m.xkcd.com/</a> and click the comic to toggle the alt text</p>
]]></description><pubDate>Tue, 18 Aug 2020 06:57:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=24195948</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=24195948</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24195948</guid></item><item><title><![CDATA[The Mexican Fisherman]]></title><description><![CDATA[
<p>Article URL: <a href="https://bemorewithless.com/the-story-of-the-mexican-fisherman/">https://bemorewithless.com/the-story-of-the-mexican-fisherman/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21870851">https://news.ycombinator.com/item?id=21870851</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 24 Dec 2019 09:16:31 +0000</pubDate><link>https://bemorewithless.com/the-story-of-the-mexican-fisherman/</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=21870851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21870851</guid></item><item><title><![CDATA[Wikipedia's JavaScript Initialisation on a Budget]]></title><description><![CDATA[
<p>Article URL: <a href="https://phabricator.wikimedia.org/phame/post/view/175/wikipedia_s_javascript_initialisation_on_a_budget/">https://phabricator.wikimedia.org/phame/post/view/175/wikipedia_s_javascript_initialisation_on_a_budget/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21024588">https://news.ycombinator.com/item?id=21024588</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 20 Sep 2019 09:00:25 +0000</pubDate><link>https://phabricator.wikimedia.org/phame/post/view/175/wikipedia_s_javascript_initialisation_on_a_budget/</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=21024588</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21024588</guid></item><item><title><![CDATA[New comment by cribwi in "The Lottery Hackers"]]></title><description><![CDATA[
<p>I know that specific story from the book "How not to be wrong", by Jordan Ellenberg.
It was nice to read it from a different angle in this article</p>
]]></description><pubDate>Sun, 04 Mar 2018 22:22:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=16517139</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=16517139</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16517139</guid></item><item><title><![CDATA[Builder Pattern in Scala with Phantom Types]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/@maximilianofelice/builder-pattern-in-scala-with-phantom-types-3e29a167e863">https://medium.com/@maximilianofelice/builder-pattern-in-scala-with-phantom-types-3e29a167e863</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=15263892">https://news.ycombinator.com/item?id=15263892</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 16 Sep 2017 10:05:23 +0000</pubDate><link>https://medium.com/@maximilianofelice/builder-pattern-in-scala-with-phantom-types-3e29a167e863</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=15263892</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15263892</guid></item><item><title><![CDATA[Computational Zoom: A Framework for Post-Capture Image Composition]]></title><description><![CDATA[
<p>Article URL: <a href="http://cvc.ucsb.edu/graphics/Papers/SIGGRAPH2017_ComputationalZoom/">http://cvc.ucsb.edu/graphics/Papers/SIGGRAPH2017_ComputationalZoom/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14904915">https://news.ycombinator.com/item?id=14904915</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 01 Aug 2017 20:20:40 +0000</pubDate><link>http://cvc.ucsb.edu/graphics/Papers/SIGGRAPH2017_ComputationalZoom/</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=14904915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14904915</guid></item><item><title><![CDATA[Pev: Postgres EXPLAIN Visualizer]]></title><description><![CDATA[
<p>Article URL: <a href="http://tatiyants.com/pev/#/plans/new">http://tatiyants.com/pev/#/plans/new</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14747574">https://news.ycombinator.com/item?id=14747574</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 11 Jul 2017 20:08:32 +0000</pubDate><link>http://tatiyants.com/pev/#/plans/new</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=14747574</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14747574</guid></item><item><title><![CDATA[$PHP = dead;]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/fuzz/php-a0d0b1d365d8">https://medium.com/fuzz/php-a0d0b1d365d8</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14085925">https://news.ycombinator.com/item?id=14085925</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 11 Apr 2017 08:48:12 +0000</pubDate><link>https://medium.com/fuzz/php-a0d0b1d365d8</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=14085925</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14085925</guid></item><item><title><![CDATA[What is the value of code review anyway?]]></title><description><![CDATA[
<p>Article URL: <a href="http://blog.phacility.com/post/what_is_the_value_of_code_review_anyway/">http://blog.phacility.com/post/what_is_the_value_of_code_review_anyway/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=8915810">https://news.ycombinator.com/item?id=8915810</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 20 Jan 2015 07:20:18 +0000</pubDate><link>http://blog.phacility.com/post/what_is_the_value_of_code_review_anyway/</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=8915810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8915810</guid></item><item><title><![CDATA[New comment by cribwi in "Spotify Engineering Culture – Part 2"]]></title><description><![CDATA[
<p>Part 1: <a href="https://news.ycombinator.com/item?id=7654439" rel="nofollow">https://news.ycombinator.com/item?id=7654439</a> <a href="http://vimeo.com/85490944" rel="nofollow">http://vimeo.com/85490944</a></p>
]]></description><pubDate>Mon, 01 Dec 2014 19:56:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=8683318</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=8683318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8683318</guid></item><item><title><![CDATA[Spotify Engineering Culture – Part 2]]></title><description><![CDATA[
<p>Article URL: <a href="http://vimeo.com/94950270">http://vimeo.com/94950270</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=8683309">https://news.ycombinator.com/item?id=8683309</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 01 Dec 2014 19:55:18 +0000</pubDate><link>http://vimeo.com/94950270</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=8683309</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8683309</guid></item><item><title><![CDATA[New comment by cribwi in "Phabricator, Wikimedia’s new collaboration platform"]]></title><description><![CDATA[
<p>Since it has been broken some time ago: no. But when it was still working: yes, I found it rather useful. Especially with very small commits/bugfixes and such.
I hope they'll fix it soon</p>
]]></description><pubDate>Tue, 25 Nov 2014 07:20:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=8656715</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=8656715</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8656715</guid></item><item><title><![CDATA[New comment by cribwi in "Phabricator, Wikimedia’s new collaboration platform"]]></title><description><![CDATA[
<p>I've been using Phabricator for almost a year now in our company. At first, I also had my questions about the workflow with arcanist (the local PHP cli software to interact with Phabricator). However, right now I really love it and miss it on every repository which works without Phabricator. Commands like 'arc feature', 'arc tasks' and 'arc inlines' provide a solid abstraction over the repository to bring the workflow to the cli.<p>About the unit tests: indeed, out-of-the-box Phabricator only supports running them locally (you can configure the unit engine to run every time a piece of code is been send into review). Luckily, it's not that hard to hook into the event engine (<a href="https://secure.phabricator.com/book/phabricator/article/events/" rel="nofollow">https://secure.phabricator.com/book/phabricator/article/even...</a>) to, for example, trigger your CI-server to run the test suite for a specific revision.
Also, Phabricator is still being developed actively. There are a bunch of alpha and beta applications which will only make it more powerful (for example: DryDock and Harbormaster, which will ease the work for automatic builds: <a href="http://www.guywarner.com/2014/05/integrating-jenkins-and-phabricator.html" rel="nofollow">http://www.guywarner.com/2014/05/integrating-jenkins-and-pha...</a>)<p>In my opinion, Phabricator is one of the most powerful tools around for doing code reviews and effective collaboration management. Even with the large amount of beta applications (which are promising in many cases) the decision for us was easy to make.</p>
]]></description><pubDate>Mon, 24 Nov 2014 22:15:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=8655039</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=8655039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8655039</guid></item><item><title><![CDATA[PostgreSQL vs. MS SQL]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.pg-versus-ms.com">http://www.pg-versus-ms.com</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=8615320">https://news.ycombinator.com/item?id=8615320</a></p>
<p>Points: 142</p>
<p># Comments: 103</p>
]]></description><pubDate>Sun, 16 Nov 2014 20:30:28 +0000</pubDate><link>http://www.pg-versus-ms.com</link><dc:creator>cribwi</dc:creator><comments>https://news.ycombinator.com/item?id=8615320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8615320</guid></item></channel></rss>