<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: livre</title><link>https://news.ycombinator.com/user?id=livre</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 06 Apr 2026 06:26:16 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=livre" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by livre in "Show HN: A readable macroassembler for .NET that no one asked for"]]></title><description><![CDATA[
<p>> I don't use assembly daily, how well does this work across different instruction sets?<p>This particular macroassembler is for .NET CIL (<a href="https://en.wikipedia.org/wiki/Common_Intermediate_Language" rel="nofollow">https://en.wikipedia.org/wiki/Common_Intermediate_Language</a>), normal CPU assembly seems to be out of the scope for this project.</p>
]]></description><pubDate>Tue, 04 Apr 2023 21:33:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=35446124</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=35446124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35446124</guid></item><item><title><![CDATA[New comment by livre in "Swiss to vote on preventing cashless society, pressure group says"]]></title><description><![CDATA[
<p>Nobody here has addressed the actual issue of Blockchain in a cashless society. You need internet for using crypto, your internet company accepts only legal currency (card, cash, etc) and since there's no chash and you have been cut off from using cards you can't pay for your internet bill and that means it'll eventually get cut and you won't be able to use crypto. Crypto needs cash to work, because people need cash or card for utilities, those companies won't accept your make believe money like the little shop in the corner does.</p>
]]></description><pubDate>Wed, 15 Feb 2023 10:53:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=34802213</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=34802213</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34802213</guid></item><item><title><![CDATA[New comment by livre in "SQLAlchemy 2.0 Released"]]></title><description><![CDATA[
<p>I've worked for close to a decade with Django's ORM and recently with TypeORM, both have been simple to use and generally (minus some weird things I tried to do) a pleasure. I recently started working with a not so important project at my current job with sqlalchemy because I had to use Flask, I cannot describe the pain I've felt working with this, I dread having to write yet another query with sqlalchemy. The docs are terrible, some of the worst I've ever seen, an obscure and undocumented government library I'm also using at work has been easier to learn by reading its code than sqlalchemy. Someone above mentioned that the new 2.0 docs are better, I seriously hope they are, they will make my suffering more tolerable. However, even if the docs are good the API is still the worst and least intuitive I've ever seen, it honestly feels like I'm writing raw sql code shaped like python code. But it is weird, non standard and difficult to follow, unlike the official python sql interface. I recently had to write an upset and it felt like I was trying to summon a forgotten demon. It would have honestly been much easier to just write it in raw sql.<p>I'm sorry for the wall of text, I wanted to let you know that I'm very grateful for you suggesting that library. I hope I can migrate this (still) relatively small codebase away from sqlalchemy. I'm going to give pugsql and peewee a try, both have been mentioned in this thread as good alternatives.<p>I can summarize my basic complain here: the abstraction layer that sqlalchemy provides is more complex than SQL itself. It's almost not worth it, add to that the docs are a huge mess and you get something only diehards and people who have been using it for decades want to use.</p>
]]></description><pubDate>Fri, 27 Jan 2023 01:43:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=34541452</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=34541452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34541452</guid></item><item><title><![CDATA[New comment by livre in "Show HN: I built a Hacker News userscript to make this site more legible"]]></title><description><![CDATA[
<p>That's a shame, never happened to me, have you tried changing it to an include or adding a wildcard at the end? The project has been active for a very long time, I've been using it since it was only an Opera 12 extension, the developer seems very responsive, try reporting a bug.</p>
]]></description><pubDate>Sun, 18 Dec 2022 19:58:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=34042251</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=34042251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34042251</guid></item><item><title><![CDATA[New comment by livre in "Show HN: I built a Hacker News userscript to make this site more legible"]]></title><description><![CDATA[
<p>Try to not recommend Tampermonkey, it is closed source, slow, bloated and a bit sketchy, uses Google Analytics and right now the privacy policy link in their website isn't working for me (redirects to the home page). There are better, faster, less bloated and open source alternatives, like Violentmonkey which now has a reasonable privacy policy (<a href="https://violentmonkey.github.io/privacy/" rel="nofollow">https://violentmonkey.github.io/privacy/</a>).<p>Btw thanks for the script, the alternating colours between comments and replies should be part of the standard hacker news experience, thanks for adding that.</p>
]]></description><pubDate>Sun, 18 Dec 2022 17:42:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=34040098</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=34040098</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34040098</guid></item><item><title><![CDATA[New comment by livre in "AdGuard Home: Network-wide ads and trackers blocking DNS server"]]></title><description><![CDATA[
<p>I've been running AdGuardHome for years, almost since it came out. I prefer keeping it up to date manually after reading the release notes and known issues (by visiting the config page and clicking update if it notifies me that there is a new version) but if you want to automate it you can install the Snap or Docker version or use the API[1] to trigger an auto upgrade. Installing it is easy, there's even an automated installation script now[2] but I prefer to do it manually and run it as a regular user without root permissions. It can run from pretty much anywhere in your filesystem and as any user as long as it has the correct permissions, that's what made me choose it instead of PiHole at first, also the more advanced regex blocking rules.<p>The easiest way to keep it up to date is probably a Cron script that runs curl to trigger the upgrade API endpoint.<p>[1] <a href="https://github.com/AdguardTeam/AdGuardHome/blob/master/openapi/openapi.yaml" rel="nofollow">https://github.com/AdguardTeam/AdGuardHome/blob/master/opena...</a><p>[2] <a href="https://github.com/AdguardTeam/AdGuardHome#getting-started" rel="nofollow">https://github.com/AdguardTeam/AdGuardHome#getting-started</a></p>
]]></description><pubDate>Sun, 30 Oct 2022 02:16:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=33390322</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=33390322</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33390322</guid></item><item><title><![CDATA[New comment by livre in "Ad blocking is under attack (2017)"]]></title><description><![CDATA[
<p>Yes, Mozilla is keeping the whole functionality. You can MITM yourself but then you'll be lowering your own security and your proxy will have to do its own certificate validation because the browser won't be able to do it anymore. You are also restricted to things you can modify with a simple regex (unless you add HTML parsing to your proxy but then you'll be double parsing, once in the proxy and another time in the browser). And it's still probably going to break with websites in the HSTS preload list. And content generated by JavaScript won't be blocked easily. It's also going to be very inefficient, don't underestimate the years of performance improvements behind adblocking extensions. Adblockers like uBlock Origin also do much more than just blocking requests. For example they can inject small snippets of JavaScript to neutralize tracking scripts without breaking websites that depend on them by introducing dummy functions with the same API as the tracking script or to counter anti adblocking scripts. It can also inject CSS snippets to fix website breakage. And block requests based on what website they originate from. And probably much more than you can easily do with a simple proxy.</p>
]]></description><pubDate>Thu, 27 Oct 2022 19:24:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=33362704</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=33362704</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33362704</guid></item><item><title><![CDATA[New comment by livre in "Ad blocking is under attack (2017)"]]></title><description><![CDATA[
<p>Let's say you load <a href="https://example.com/video" rel="nofollow">https://example.com/video</a> and that page loads <a href="https://example.com/ads.js" rel="nofollow">https://example.com/ads.js</a> in the background.<p>What DNS adblockers like PiHole see is only a request for the domain (example.com), they can't see whether it is http or https nor can they see /ads.js or the rest of the path, port, query parameters, etc. They may not even see the second attempt at loading the domain (the /ads.js request) because the browser and the OS have probably cached the request.<p>uBlock Origin and other adblockers can see the whole request and modify it[1]. They can see whether it is http or https (that's how https everywhere knows what to redirect and where) and they can see whether you are loading /video or /ads.js and if they see /ads.js they can tell the browser to not load that.<p>[1] Google is going to remove the "modify" part of functionality in manifest v3 citing privacy and security concerns (while ironically keeping the "see" part) in an attempt to kill or limit the functionality of adblockers. Since YouTube uses an ever changing list of domains for serving videos and ads this change will effectively unblock ads in YouTube because adblockers can only keep a static list of what to block and when instead of doing it dynamically, and said static list can only be updated (as far as I know) by pushing a new version of the extension to the store, severely limiting the frequency of updates, making it impossible to keep up with the frequent changes in YouTube.</p>
]]></description><pubDate>Thu, 27 Oct 2022 15:07:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=33358669</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=33358669</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33358669</guid></item><item><title><![CDATA[New comment by livre in "Django 4.0 alpha 1 released"]]></title><description><![CDATA[
<p>I agree with this, I've been using Django for more than a couple of years. The built-in admin interface is a blessing, the ORM is good enough and unless you are handling very huge loads it doesn't matter if it doesn't always generate the most efficient queries (in more than 5 years I've never run into any issues with that). The almost but not exactly MVC pattern that also let's you mix both class and function based views coupled with a very limited template system is a curse. I would have preferred one way to do things(TM) but the Django approach let's you badly do a hundred and more different ways if you aren't very experienced with it (and even if you are you need a lot of discipline to do things properly, and even if you have discipline sometimes Django doesn't have a feature you need so you implement your own and then a major release comes and now it has its own incompatible way of doing the same thing). I still wouldn't change Django for anything else, I'm sure I wouldn't have a job anymore if it weren't for how fast and easily I can implement things with it (management is an absolute hell here and changes how everything is done every couple of months until management itself gets fired and replaced every year or two).</p>
]]></description><pubDate>Wed, 22 Sep 2021 04:21:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=28613079</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=28613079</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28613079</guid></item><item><title><![CDATA[New comment by livre in "Writing Programs with Ncurses"]]></title><description><![CDATA[
<p>> Block reason:  Access from your Country was disabled by the administrator.<p>Thanks for that mirror, I occasionally use the lynx web browser that is also hosted there and being blocked has always been a problem.</p>
]]></description><pubDate>Mon, 30 Aug 2021 14:05:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=28355767</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=28355767</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28355767</guid></item><item><title><![CDATA[New comment by livre in "Debian for Mobile"]]></title><description><![CDATA[
<p>That's pretty much the answer I expected but I had to ask anyway. Thanks.</p>
]]></description><pubDate>Mon, 26 Jul 2021 22:47:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=27966428</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=27966428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27966428</guid></item><item><title><![CDATA[New comment by livre in "Debian for Mobile"]]></title><description><![CDATA[
<p>Any plans on porting it to more mainstream phones? It seems to be aiming for "first-world phones" at the moment which is nice since they are more open and you don't have to worry (too much) about proprietary blobs and firmware but leaves a big chunk of the world out.</p>
]]></description><pubDate>Mon, 26 Jul 2021 22:01:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=27966032</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=27966032</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27966032</guid></item><item><title><![CDATA[New comment by livre in "HTML and CSS techniques to reduce your JavaScript"]]></title><description><![CDATA[
<p>> It spawns an isolated process. Javascript as a language and its runtime cannot support threads. To do "threads" they basically initialise a new instance of JS runtime.<p>Sometimes I need an answer as blunt and direct as that one to understand something, thanks.</p>
]]></description><pubDate>Sat, 05 Jun 2021 00:47:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=27400866</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=27400866</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27400866</guid></item><item><title><![CDATA[New comment by livre in "HTML and CSS techniques to reduce your JavaScript"]]></title><description><![CDATA[
<p>I'm not sure I get your point. It's more or less what I said, it isn't using real OS threads but it is doing something similar to green threads. It isn't true multithreading in the sense that it doesn't spawn an OS thread but it spawns lightweight (or green or simulated) threads with their own VM.</p>
]]></description><pubDate>Fri, 04 Jun 2021 21:10:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=27399115</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=27399115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27399115</guid></item><item><title><![CDATA[New comment by livre in "HTML and CSS techniques to reduce your JavaScript"]]></title><description><![CDATA[
<p>If you mean multithreaded as running separate OS threads I've got to agree with you but the definition of thread isn't limited to just that. I don't know about the internals of web browsers or whether they use OS threads or green threads or a combination of both for web workers but they are threads and that's how the MDN calls them too: <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers...</a></p>
]]></description><pubDate>Fri, 04 Jun 2021 14:15:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=27393816</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=27393816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27393816</guid></item><item><title><![CDATA[New comment by livre in "HTML and CSS techniques to reduce your JavaScript"]]></title><description><![CDATA[
<p>Saying that JavaScript is single threaded isn't accurate anymore. Even the article we just read mentions that you can run multiple threads with WebWorkers. The problem with JavaScript is that the main thread may* block the UI.<p>* Why may? The older APIs such as document.write and synchronous XHR do but modern browsers already warn against that. And the modern APIs don't block the UI because they are asynchronous and work with callbacks or promises. Bad JavaScript code can make the UI sluggish though, people should be performing complex tasks on a WebWorker but that's not as easy or as obvious as the default of performing them on the UI thread. The same problems can happen in native Windows programming for the same reason, the UI thread being the main thread. This is a bad design decision from decades ago that will likely haunt us for many more decades in the desktop OS and on the web.</p>
]]></description><pubDate>Fri, 04 Jun 2021 03:53:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=27390373</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=27390373</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27390373</guid></item><item><title><![CDATA[New comment by livre in "New Firefox"]]></title><description><![CDATA[
<p>This seems like the same problem with have with RAM requirements, we have more resolution and RAM than we used to have in the past so developers and designers waste more of it because they don't need to be as careful as they used to.</p>
]]></description><pubDate>Wed, 02 Jun 2021 15:10:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=27369614</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=27369614</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27369614</guid></item><item><title><![CDATA[New comment by livre in "Google’s new popup will further weaken Facebook’s advertisement business"]]></title><description><![CDATA[
<p>>Why can't governments make tracking illegal?<p>Why would they? These companies are collecting the data the government wants, it's a free service for the government and they only have to ask for the data when they need it.</p>
]]></description><pubDate>Mon, 31 May 2021 15:29:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=27345015</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=27345015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27345015</guid></item><item><title><![CDATA[New comment by livre in "Zellij – a friendlier tmux or screen in rust"]]></title><description><![CDATA[
<p>I prefer it to be intuitive rather than save half a second pressing keys (and then lose it because I forget which one goes up and which down). It would be better to have both ways for the two kinds of people.<p>I didn't know it was for efficiency, thanks for explaining that. I have always been so inefficient with it that I thought it was just a remnant from the 80s.</p>
]]></description><pubDate>Sat, 29 May 2021 13:59:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=27325246</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=27325246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27325246</guid></item><item><title><![CDATA[New comment by livre in "Zellij – a friendlier tmux or screen in rust"]]></title><description><![CDATA[
<p>> With tmux the leader key (default ^b) followed by '?'<p>I used to know that, thanks, but you aren't the first person to point that to me and won't be the last. My memory is really bad and by the time I have to use that again I will forget that it exists. For someone like me a command like that has to be visible on the screen at all times, I can't nemorize things no matter how much I try.<p>To summarize, my problem isn't just that I forget that X action's shortcut, it is that I forget that X can be done and that also prevents me from searching "how to do X with tmux" because I don't even remember X.</p>
]]></description><pubDate>Fri, 28 May 2021 21:08:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=27320526</link><dc:creator>livre</dc:creator><comments>https://news.ycombinator.com/item?id=27320526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27320526</guid></item></channel></rss>