<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: hknmtt</title><link>https://news.ycombinator.com/user?id=hknmtt</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 29 Jul 2026 20:44:32 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=hknmtt" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Ask HN: How was setting up EU VAT for you?]]></title><description><![CDATA[
<p>If you have set up an EU VAT for your non-EU company, how was the process?<p>I am in the EU and I am mainly interested about the process for outsiders, since I'd like to be able to explain it to potential business partners in the future.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39201849">https://news.ycombinator.com/item?id=39201849</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 31 Jan 2024 09:40:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=39201849</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=39201849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39201849</guid></item><item><title><![CDATA[New comment by hknmtt in "Firefox built-in spyware that cannot be disabled"]]></title><description><![CDATA[
<p>yes, ff does a ton of background connections. use wireshark to see what it is doing. i tried to block all that crap once but after a while i just gave up.<p>it is still my primary browser because it is now the only alternative to google's monopoly(even though mozilla is de facto living off of google's money).</p>
]]></description><pubDate>Sun, 28 Jan 2024 17:04:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=39167590</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=39167590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39167590</guid></item><item><title><![CDATA[New comment by hknmtt in "From slow to SIMD: A Go optimization story"]]></title><description><![CDATA[
<p>a) why not use
switch {
  case len(a) < len(b):
    b  = b[:len(a)]
  case len(b) < len(a):
    a = a[:len(b)]
}<p>b) do you know the usual length of the slices? if so, can't you autogenerate/manually write switch to manually do the math? how would that perform?</p>
]]></description><pubDate>Wed, 24 Jan 2024 11:34:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=39116114</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=39116114</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39116114</guid></item><item><title><![CDATA[New comment by hknmtt in "Scrum Sucks"]]></title><description><![CDATA[
<p>Scrum/Agile is awesome! I always used the daily calls to ask as much dumb shit as possible to make the meetings as long as i could so i could keep charging my hourly rate without actually working.</p>
]]></description><pubDate>Mon, 15 Jan 2024 17:10:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=39003235</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=39003235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39003235</guid></item><item><title><![CDATA[New comment by hknmtt in "Microsoft suggests command line fiddling to get Windows 10 update installed"]]></title><description><![CDATA[
<p>No, i just remember a comment from some former MS dev who knew something about the testing process in MS. I think it might have even been a comment in here actually.</p>
]]></description><pubDate>Mon, 15 Jan 2024 17:09:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=39003202</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=39003202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39003202</guid></item><item><title><![CDATA[New comment by hknmtt in "YouTube is loading slower for users with ad blockers yet again"]]></title><description><![CDATA[
<p>interesting. i was actually yesterday pondering whether youtube gave up on this since i have not had issues for months now. before i had to scrape all cache and logout. usually once a week. but then it stopped and all went back to normal. i am using ubo, still.</p>
]]></description><pubDate>Mon, 15 Jan 2024 13:28:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=39000710</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=39000710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39000710</guid></item><item><title><![CDATA[New comment by hknmtt in "Microsoft suggests command line fiddling to get Windows 10 update installed"]]></title><description><![CDATA[
<p>i remember reading years ago about the reason windows updates since 8 or 10 were so bad was because MS fired all testers and scrapped their testing hardware and now they are testing virtually in cloud. I guess nothing has changed, still. cost cutting at its best.</p>
]]></description><pubDate>Mon, 15 Jan 2024 13:27:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=39000692</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=39000692</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39000692</guid></item><item><title><![CDATA[Ask HN: How to Count Content Views?]]></title><description><![CDATA[
<p>Say I have a website that has articles, video and audio content.<p>How should I determine how to count a content view?<p>For text, is it a mere visit? What about multimedia, should there be some threshold of watched/listened length before a view is counted?<p>How about repeated visits? Should they count the same or should there be a window where multiple views are counted as one?<p>What if user keeps refreshing the page to increase view count?<p>Should one user be counted always as just one view?<p>etc... any tips on this topic?</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=38911730">https://news.ycombinator.com/item?id=38911730</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 08 Jan 2024 13:39:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=38911730</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38911730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38911730</guid></item><item><title><![CDATA[New comment by hknmtt in "The One Billion Row Challenge"]]></title><description><![CDATA[
<p>essentially that is how integrals are calculated in mathematics if i remember correctly. you take a curve and divide it into columns, the thinner the column the smaller the deviation(because the curve has round edges so your bar will have inherent error) and you simply calculate each column and then total it and you get the body/volume of the function. same principle like radians with circle. you are merely splitting the work into smaller pieces that you can process.</p>
]]></description><pubDate>Thu, 04 Jan 2024 19:55:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=38871446</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38871446</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38871446</guid></item><item><title><![CDATA[New comment by hknmtt in "The One Billion Row Challenge"]]></title><description><![CDATA[
<p>say you load 1 million records and you average them at 5.1. you then load another million and average them at 4.5. so you 5.1+4.5=9.6/2=4.8. rinse and repeat. as long as you keep the amount of records processed per each run about the same, your numbers will not be skewed. only the last chunk will most likely be smaller and it will introduce small rounding error, like if it has only 10k records instead of 1M. but still it is the simplest solution with good enough outcome.</p>
]]></description><pubDate>Thu, 04 Jan 2024 14:26:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=38867360</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38867360</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38867360</guid></item><item><title><![CDATA[New comment by hknmtt in "The One Billion Row Challenge"]]></title><description><![CDATA[
<p>actually i think you can also just average each chunk and then add it to existing data. like read N rows(say all have one location to keep it simple), average the data from the chunk, update/save min and max, move on to next chunk, do the same but now update the average by adding to existing/previously computed average and divide by two. the result will be the same - disk IO will be the most limiting aspect. this "challenge" is not really a challenge. there is nothing complicated about it. it just seems "cool" when you say "process 1 billion rows the fastest you can".</p>
]]></description><pubDate>Thu, 04 Jan 2024 09:49:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=38865116</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38865116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38865116</guid></item><item><title><![CDATA[New comment by hknmtt in "The One Billion Row Challenge"]]></title><description><![CDATA[
<p>first search result for averaging streaming data:<p><a href="https://nestedsoftware.com/2018/03/20/calculating-a-moving-average-on-streaming-data-5a7k.22879.html" rel="nofollow">https://nestedsoftware.com/2018/03/20/calculating-a-moving-a...</a><p>so you just walk the file and read a chunk, update the averages and move on. the resource usage should be 0.000 nothing and speed should be limited by your disk IO.</p>
]]></description><pubDate>Thu, 04 Jan 2024 09:01:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=38864743</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38864743</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38864743</guid></item><item><title><![CDATA[New comment by hknmtt in "Sieve is simpler than LRU"]]></title><description><![CDATA[
<p>>On a cache hit, SIEVE marks the object as visited. On a cache miss, SIEVE checks the object pointed to by the hand. If the object has been visited, its visited bit is reset, and the hand moves to the next position, keeping the retained object in its original position in the queue. This continues until an unvisited object is found and evicted. After eviction, the hand moves to the next position.<p>Dude, what?</p>
]]></description><pubDate>Wed, 03 Jan 2024 07:38:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=38851663</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38851663</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38851663</guid></item><item><title><![CDATA[New comment by hknmtt in "E621, Pornhub, and others block North Carolina residents"]]></title><description><![CDATA[
<p>> Officials explained that companies will be able to use commercially available databases to verify that users are old enough to access their content. The new law will take effect starting January 1st.<p>ಠ_ಠ</p>
]]></description><pubDate>Tue, 02 Jan 2024 02:40:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=38837442</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38837442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38837442</guid></item><item><title><![CDATA[New comment by hknmtt in "Spotify starts divesting from France in response to new music-streaming tax"]]></title><description><![CDATA[
<p>looks like the increased cost is not worth the profit. simple mathematics. capitalism is nature and you cannot fight the nature because sooner or later something gives.</p>
]]></description><pubDate>Tue, 02 Jan 2024 02:37:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=38837421</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38837421</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38837421</guid></item><item><title><![CDATA[New comment by hknmtt in "I Reviewed 1,000s of Opinions on gRPC"]]></title><description><![CDATA[
<p>I used to use it a lot but in time it becomes more of an obstacle than a net positive. http and websockets with json(front end), cbor(back end) or pb(back end) is the way to go. it gives you exactly the same features but zero restrictions. it is nice to have pb schema that is transferable into other languages but you can define schema in anything and port it to anything, it just takes time to initially write it instead of using pb as intermediary. the little layers of code it autogenerates is not worth the limitations you might be needing to overcome in the future with a larger project. also there is massive issue with no value provided vs null or empty or zero value. pb tries to solve this by using wrappers but in code that is massive pain to work with all the nesting. that was actually what broke the camel's back for me.<p>i just want to mention that i do not use rest, at all. i do use http methods and url routes but i never accept any rest rules for design or behavior. i am using something like json rpc but i am not using a single route to handle all communication. i still use the same approach as grpc does - route per method, but i keep the flexibility of naming and http methods. people seem to be very much stuck with rest and its limitations/rules for some weird reason.</p>
]]></description><pubDate>Tue, 26 Dec 2023 06:13:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=38769303</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38769303</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38769303</guid></item><item><title><![CDATA[New comment by hknmtt in "T-Mobile introduce fines from Jan 1 for "Code of Conduct" violations"]]></title><description><![CDATA[
<p>"if you do something illegal, WE will fine you" ... yeah, that makes perfect sense.</p>
]]></description><pubDate>Mon, 25 Dec 2023 21:57:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=38766515</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38766515</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38766515</guid></item><item><title><![CDATA[New comment by hknmtt in "T-Mobile introduce fines from Jan 1 for "Code of Conduct" violations"]]></title><description><![CDATA[
<p>> Tier 2: $1,000, for illegal content<p>strange legal system you got there</p>
]]></description><pubDate>Mon, 25 Dec 2023 11:56:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=38761882</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38761882</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38761882</guid></item><item><title><![CDATA[Ask HN: Why sign in/out replaced log in/out?]]></title><description><![CDATA[
<p>I've been online for over two decades now and I have noticed that the usual "log in", "log out" has been slowly replaced by "sign in" and "sign out" in the past half a decade.<p>Also "sign up" has replaced "register" and "create account".<p>Does anybody know why?</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=38752785">https://news.ycombinator.com/item?id=38752785</a></p>
<p>Points: 10</p>
<p># Comments: 13</p>
]]></description><pubDate>Sun, 24 Dec 2023 11:29:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=38752785</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38752785</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38752785</guid></item><item><title><![CDATA[New comment by hknmtt in "Otter, Fastest Go in-memory cache based on S3-FIFO algorithm"]]></title><description><![CDATA[
<p>> TTL doesn’t say anything about eviction among objects that are still live, no?<p>TTL IS eviction policy. You just store a timestamp along the value. When you access it, you check the timestamp and if it is stale, you delete it and return not found error(or whatever not found should return). And you have a simple bg worker that scans the cache periodically and deletes these stale entries to free up the memory.<p>This is the basis for all caches. You can add cost on top of this as yet another eviction policy but that only adds another worker to scan the cache for items to purge and you have to store the cost along with the entry so you are increasing the each entry by at least 4 bytes, if we're talking uint32. Not to mention that for this eviction policy, you need sorted cache because you need to know where the cut off for cost is.<p>Walking the entire cache to purge expired TTL entries is one thing, but keeping ordered cache is a whole another thing.</p>
]]></description><pubDate>Sun, 24 Dec 2023 04:19:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=38751072</link><dc:creator>hknmtt</dc:creator><comments>https://news.ycombinator.com/item?id=38751072</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38751072</guid></item></channel></rss>