<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: ycitm</title><link>https://news.ycombinator.com/user?id=ycitm</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 25 May 2026 19:17:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ycitm" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ycitm in "Magnifica Humanitas"]]></title><description><![CDATA[
<p>The next sentence in the quote hasn't aged so well - "What weather they shall have is not ours to rule."</p>
]]></description><pubDate>Mon, 25 May 2026 17:17:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48269227</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=48269227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48269227</guid></item><item><title><![CDATA[New comment by ycitm in "TypeScript Native Previews"]]></title><description><![CDATA[
<p>Most importantly, this means my type system N-queens solution now works for an 8x8 chessboard (actually up to 10x10) instead of complaining about recursion depth:<p><a href="https://www.richard-towers.com/2023/03/11/typescripting-the-technical-interview.html" rel="nofollow">https://www.richard-towers.com/2023/03/11/typescripting-the-...</a></p>
]]></description><pubDate>Fri, 23 May 2025 16:26:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=44074231</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=44074231</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44074231</guid></item><item><title><![CDATA[New comment by ycitm in "AI Avatars Escape the Uncanny Valley"]]></title><description><![CDATA[
<p>Doesn't seem to be any discernable improvement on the Zoom Cat Lawyer.</p>
]]></description><pubDate>Fri, 11 Apr 2025 14:21:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=43654118</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=43654118</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43654118</guid></item><item><title><![CDATA[New comment by ycitm in "TypeScripting the technical interview"]]></title><description><![CDATA[
<p>You can also play around with the code in the TypeScript playground:<p><a href="https://www.typescriptlang.org/play?#code/PTAEEkDsAsEMBsCmAaUBLSBnAxgJzQEaIB0AsAFDYD2WALqIH1ooAvKAMoCeAtgVfABQBKCtTqhAU2gt23XgOGUameoC20KZx58hIxfUB7aGpmb5FEOwCuXLjVC1oiUADcqaACbpamRPABmqWJDcCDDc0egB3UOgbO1BETE9IbHsqb1AAAwY04lAAOUREF1RIKlsMAHNIOMxUW3tvXDMlXFhaAtB4GjLymypQImouEgpaDgAHexy0eCkR8ZTGChMwNi4p7tFWyFaXeA5QFuj7QatcPfmANVcGyFQB0aRWw-aMAGs2+DQlMnJZ+wBhRQAHgAHqhgZgAHxSADaoNA4IAuotyKYACoNWyobxoXAofagTBmSDZABCVCJbgitgk31MABk0HEsQhPNAqFRCk8XIhRrZMKB5rB2rA3qTyQFQFSospvr9QOizPZWL95uJhmN7AAxFlKmwa+bKZFynIlQEEACMUNYFtiwM2Ln5CvsAH5QNr4J5QAAuPrm232-nuz2up3e0CVByIXDq8agADyuDN5tQBAATFbff7EAFHQ0XfK82G01mcwXFaAQ4WfUHEMjTOB+bVcftIHtaBjoK6AJrkglUQa0NCDflhGjc3CyjWgACCradgI+Sgzi-oiDt2YdoABWEBGG8UfhqD3B-BUNdwJLm9DlfLPtnHHnp7DNbry1osFw9AIe2zmEgH+6AAvKMqGyXQahiFxYD2a4SFAABVT0hWA3BeigvZ-DcbAP1OJ4UNAmN7AALRAmZ9VSXQjSnNhAUgDNoUgJFyEI+NKlAdjWBokjUIhFjUVHdi1EBONKl4n4p1RaBcV1Gj+KoMS5U1clcA49hAUk6SFKnTU0EjVSaKUsxcC02M2DQC99MBHTIxM+w2EQSNICEszgTEpZQAAUQARzMBBQg4VAXDQbx91xRI4PALhRioT9-HoUQkl5fkMHxO5-D2D43miT5J1jbzfI9QFYBTDMhTXAM1OPFTYAAfTEwSKz6S9+Roqq+jqigGoa118pZIqapTDryC6wTqx1TrRqa8qN35biqAmkab1rYaRufcbmPE2NpwITAABFgu8IqSqkMr11LVrIFC-Yhu6qazs3C6roIG7Vtdba9oO-rBvq1afVgBai2atT0p+xa+gBhqfTmqjYwAJX8MpEE1VCuDm1EqFosF+VYSZ4AzJzpvO3dLoPSAXvY114cgRHkf7NGMbJ1Bt0wTH4UhUGw2ZwE5qxtyUTAXbEGxNihR8-JiRnVtQDF7MBVSDhlNAbB4H8SVyXgNxKjaE57G5XkolsVWACtGnoC9MNAAL3IIMx6DeHl3AJId7iGTb7AARUVbMQVQDh6LhDgmPcv5cRaewhVQsI5elr2sGydHelsUPNm6WheiIAUnNqAlYEGUBI78ehs8wXP7EHQZkHclLi9L0AiV0qNPHjuw9gieBpjgPS076XXdNcNpYDwKh4ieLgzHgQdI1wJv5WgT53LT3o4H5OBRnGSpOWrmI56UGKznlxWXmCXL7FhqgwjjbxPfFlnqA9VBI4zO-+UJzcubau+jxJlTn-Jxquevt7AuSs+AQlQGfC+V9Y63z4JgAa+dz4Qg5j6Z+r5QA9jMAAcj0pgMIuc67RSzpBByUxMH8hVm8FMttwwOSjEUWhuB6FTyYVGbIGDMHtxoVPdyXARRlxiCXPOqwlB8OyCaFhjCuF0KkROPiUlEBhx3MVPopUgaAMgMTK6sA4RtWgmeO6FV1GaIPAQHR38+h+wBq6BMwlEy9UKtolMrlUD2JZtBFMfswGeR8n1d6+0QpFThKYrxfjPruIsUg5BMiwwRijDDewGkFEp2puolm9xB4FFSagGWdEpDpKSC4VJQN37mPyZk2OX8rplMKdAv+rouaJMUWklWBT1HZNjl4xpySyipMBNU1J8CclIIBj6XGLE2CwH3H0lp5Sb7tPFhmE0tBAT3nnF07M5Ren9OgfM7MkT4luimK0XAEz9y9OwgEVwYdqigG2TfJ+mErmtBfvdfkJSrpeUqQeLykIrHsEmYgaZGSalzOllCV+uZFQQ0EvUoEnzDkTyjKcxAvSfmoDub+YZK0RrViOUigFqKbkYqwFEsZG1jTlUBMA4l2NchTAzDpRFJyCXQMBBAy+vSqY0xRvTQEOQvGP3RTMkFmK0FyXaFQKeNzaitwQLQQCYiSixCnnsJQDtvAxTwbgB0VCvyDxeO2fV5RUCYFGBgSAxrQCIy2LsfYHwyjQEHNTTOTx-C4IPAcE2Sgnj4AdfQKwgwtgn3YHwSMeQ7QQKpefIVwLUkZjYKGwF4blk0UFbc4VcbUCpsQTG1p0DbIhvgJGQEFygpQWeQ-aN6bY35qkK4qNYRUD8qBk6P5panlxGKUCNqcIQbQopluIEcIaUc0hnS+AIylaPPLZ2iFg6dw9q+SpU8-bGoJqLYgZNkbgFc2HRm-N4LXnjtXbdddxbwSVsbdWvN9yT2TTPZu8q26q27tzbMzFo7JpkvcpJewmB1aDhoCxHIahzLjL4LbNA1hOKJr5ZSuaXiebjr5qYJSP8aCOUZOFVA5VmjYCLjEaKmBQhQacvMbOwQ+4uAKjHG+LEoDcmBAuT4tAijLhY12hd5izFXRXdixqBMj2PVJn-W6DG1wghuWTT97EfTAknd+t20sAAMUhxNMfXZBmgqAEMsS8n6Vg6nASacAzcViiAC1eVTGpgIEmTOkdQHJSzABmGzjHjMQdM45+RFm9MABY3N2c8w5t0ylLMAFZAsaeC9pw5Nk9MADYosefgFpszLkIRAA" rel="nofollow">https://www.typescriptlang.org/play?#code/PTAEEkDsAsEMBsCmAa...</a></p>
]]></description><pubDate>Mon, 13 Mar 2023 18:07:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=35139862</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=35139862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35139862</guid></item><item><title><![CDATA[New comment by ycitm in "TypeScripting the technical interview"]]></title><description><![CDATA[
<p>Ah, thank you so much! Great spot.<p>I've corrected this, and credited you in the errata - <a href="https://www.richard-towers.com/2023/03/11/typescripting-the-technical-interview.html#errata" rel="nofollow">https://www.richard-towers.com/2023/03/11/typescripting-the-...</a></p>
]]></description><pubDate>Mon, 13 Mar 2023 18:05:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=35139821</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=35139821</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35139821</guid></item><item><title><![CDATA[New comment by ycitm in "TypeScripting the technical interview"]]></title><description><![CDATA[
<p>I don't think there's any way to do iteration in the type system (other than recursion), so there's no way around it.<p>I considered forking the compiler to set a deeper limit, but at some point Typescript itself is going to stack overflow. Also that probably goes a bit beyond what Criss is expecting in an interview...</p>
]]></description><pubDate>Sun, 12 Mar 2023 22:11:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=35126970</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=35126970</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35126970</guid></item><item><title><![CDATA[New comment by ycitm in "TypeScripting the technical interview"]]></title><description><![CDATA[
<p>I wondered if anyone would spot this :)<p>There's a recursion depth limit of 500 on the TypeScript compiler, which prevents this solution working for N > 7<p>Even Aphyr's original Haskell solution only demonstrates N = 6, so in some sense this is an improvement on the state of the art for type-level N Queens solutions /s</p>
]]></description><pubDate>Sun, 12 Mar 2023 19:18:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=35124875</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=35124875</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35124875</guid></item><item><title><![CDATA[New comment by ycitm in "TypeScripting the technical interview"]]></title><description><![CDATA[
<p>The series is actually by Aphyr: <a href="https://aphyr.com/tags/interviews" rel="nofollow">https://aphyr.com/tags/interviews</a><p>This post is a pastiche of <a href="https://aphyr.com/posts/342-typing-the-technical-interview" rel="nofollow">https://aphyr.com/posts/342-typing-the-technical-interview</a></p>
]]></description><pubDate>Sun, 12 Mar 2023 16:57:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=35122644</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=35122644</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35122644</guid></item><item><title><![CDATA[New comment by ycitm in "TypeScripting the technical interview"]]></title><description><![CDATA[
<p>The runes are mostly "just because", but there is a reason.<p>Ideally, I would have written:<p><pre><code>  type Nil = unique symbol
</code></pre>
Which would ensure the Nil type wouldn't match with anything but itself. Unfortunately, the compiler doesn't allow unique symbol other than on const variables initialised with Symbol(). So I needed some meaningless symbols.<p>I could also have done<p><pre><code>  type Nil = "nil"
</code></pre>
But then it would have looked like the string meant something.</p>
]]></description><pubDate>Sun, 12 Mar 2023 16:49:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=35122492</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=35122492</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35122492</guid></item><item><title><![CDATA[TypeScripting the technical interview]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.richard-towers.com/2023/03/11/typescripting-the-technical-interview.html">https://www.richard-towers.com/2023/03/11/typescripting-the-technical-interview.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35120084">https://news.ycombinator.com/item?id=35120084</a></p>
<p>Points: 727</p>
<p># Comments: 159</p>
]]></description><pubDate>Sun, 12 Mar 2023 13:58:00 +0000</pubDate><link>https://www.richard-towers.com/2023/03/11/typescripting-the-technical-interview.html</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=35120084</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35120084</guid></item><item><title><![CDATA[The impact of removing jQuery on our web performance]]></title><description><![CDATA[
<p>Article URL: <a href="https://insidegovuk.blog.gov.uk/2022/08/15/the-impact-of-removing-jquery-on-our-web-performance/">https://insidegovuk.blog.gov.uk/2022/08/15/the-impact-of-removing-jquery-on-our-web-performance/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=32467483">https://news.ycombinator.com/item?id=32467483</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 15 Aug 2022 09:18:20 +0000</pubDate><link>https://insidegovuk.blog.gov.uk/2022/08/15/the-impact-of-removing-jquery-on-our-web-performance/</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=32467483</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32467483</guid></item><item><title><![CDATA[How and why we removed jQuery from Gov.uk]]></title><description><![CDATA[
<p>Article URL: <a href="https://insidegovuk.blog.gov.uk/2022/08/11/how-and-why-we-removed-jquery-from-gov-uk/">https://insidegovuk.blog.gov.uk/2022/08/11/how-and-why-we-removed-jquery-from-gov-uk/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=32423422">https://news.ycombinator.com/item?id=32423422</a></p>
<p>Points: 49</p>
<p># Comments: 43</p>
]]></description><pubDate>Thu, 11 Aug 2022 09:39:01 +0000</pubDate><link>https://insidegovuk.blog.gov.uk/2022/08/11/how-and-why-we-removed-jquery-from-gov-uk/</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=32423422</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32423422</guid></item><item><title><![CDATA[New comment by ycitm in "Deliveroo raises $385M in new funding"]]></title><description><![CDATA[
<p>If you've got any experience or interest in programming, I'd recommend having a stab at Google Summer of Code[0].<p>[0] - <a href="https://developers.google.com/open-source/gsoc/" rel="nofollow">https://developers.google.com/open-source/gsoc/</a></p>
]]></description><pubDate>Wed, 27 Sep 2017 21:06:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=15352351</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=15352351</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15352351</guid></item><item><title><![CDATA[Lessons from last week’s cyberattack]]></title><description><![CDATA[
<p>Article URL: <a href="https://blogs.microsoft.com/on-the-issues/2017/05/14/need-urgent-collective-action-keep-people-safe-online-lessons-last-weeks-cyberattack/">https://blogs.microsoft.com/on-the-issues/2017/05/14/need-urgent-collective-action-keep-people-safe-online-lessons-last-weeks-cyberattack/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14337569">https://news.ycombinator.com/item?id=14337569</a></p>
<p>Points: 377</p>
<p># Comments: 282</p>
]]></description><pubDate>Sun, 14 May 2017 21:04:32 +0000</pubDate><link>https://blogs.microsoft.com/on-the-issues/2017/05/14/need-urgent-collective-action-keep-people-safe-online-lessons-last-weeks-cyberattack/</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=14337569</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14337569</guid></item><item><title><![CDATA[New comment by ycitm in "A Starter's Guide to Writing Effective Meeting Notes"]]></title><description><![CDATA[
<p>One of my new years resolutions was to learn to type faster. To get some practice I started taking notes in all the meetings I attend. This wasn't common practice in my team before, but I've found it to be really useful. I've lost track of the number of times someone's said "didn't we talk about this in that meeting a couple of weeks back" and I've been able to point them at my notes.<p>I've found a really simple way of authoring and sharing notes is to write them in Org mode and then push them to a wiki on github. Github understands how to render Org markup nicely, so you get a nicely formatted wiki pretty much for free.<p>As an added benefit I can now touch type :)</p>
]]></description><pubDate>Wed, 29 Mar 2017 16:28:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=13987851</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=13987851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13987851</guid></item><item><title><![CDATA[New comment by ycitm in "Chrome 56 will mark HTTP pages with password fields as non-secure"]]></title><description><![CDATA[
<p>If you have control of your nameservers you can use cloudflare's free TLS offering and keep your current webhost.</p>
]]></description><pubDate>Sun, 22 Jan 2017 22:18:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=13457944</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=13457944</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13457944</guid></item><item><title><![CDATA[New comment by ycitm in "Vim 8.0 released"]]></title><description><![CDATA[
<p>Surround support was just added in IdeaVim 0.46. From the release notes:<p><i>Support for vim-surround commands ys, cs, ds, S, enable it with set surround in your ~/.ideavimrc</i></p>
]]></description><pubDate>Mon, 12 Sep 2016 20:03:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=12483169</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=12483169</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12483169</guid></item><item><title><![CDATA[New comment by ycitm in "Announcing BuckleScript 1.0"]]></title><description><![CDATA[
<p>Looks like it's just an optimization. If you change to<p><pre><code>  let test_curry x  y =  x + y + x
</code></pre>
You get the expected output<p><pre><code>  function f(param) {
    return test_curry(32, param);
  }</code></pre></p>
]]></description><pubDate>Wed, 31 Aug 2016 22:19:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=12401896</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=12401896</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12401896</guid></item><item><title><![CDATA[New comment by ycitm in "Love for TypeScript"]]></title><description><![CDATA[
<p>You could call your js function with a string, and rather than a compile time error you'd get broken behaviour at runtime.</p>
]]></description><pubDate>Sat, 30 Jul 2016 08:25:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=12192152</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=12192152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12192152</guid></item><item><title><![CDATA[New comment by ycitm in "Weaintfoundshit.js"]]></title><description><![CDATA[
<p>At least in new versions of Chrome, NodeList is iterable, so you <i>can</i> use forEach and map on it.<p><a href="https://medium.com/@devlucky/nodelist-object-is-finally-an-iterator-cc529d6e2490#.hef056iy9" rel="nofollow">https://medium.com/@devlucky/nodelist-object-is-finally-an-i...</a></p>
]]></description><pubDate>Sat, 23 Jul 2016 18:43:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=12150517</link><dc:creator>ycitm</dc:creator><comments>https://news.ycombinator.com/item?id=12150517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12150517</guid></item></channel></rss>