HNHacker News
TopNewBestAskShowJobs

dxxvi

160 karma · joined July 22, 2016

submissionscomments
dxxvi··on Unifi Travel Router
You can search for "travel router" on youtube, buy a router like in the videos and done. However, a lot of cruise ships forbid travel routers, so you might need to buy a router which you can take the antenna out (keep the router in one luggage, the antenna in another luggage :-) ). I never did that though.
dxxvi··on Unifi Travel Router
Not sure if anybody gives you the answer to "what is tailscale?". So, this is my answer (hopefully it's correct and simple enough to understand).

Tailscale allows devices that can access the Internet (no matter how they access the Internet) to see each other.

To do that, you create a tailscale network for yourself, then connect your devices to that network, then your devices can see each other. Other devices that are connecting to the Internet but not to our tailscale network won't see your devices.

AI might explain it better :-) Don't know why I wanted to explain it.

dxxvi··on Rue: Higher level than Rust, lower level than Go
You couldn't get the rue-lang.org domain? There are rust-lang.org, scala-lang.org, so rue-lang.org sounds better than .dev.

I'd love to see how Rue solves/avoids the problems that Rust's borrow checker tries to solves. You should put it on the 1st page, I think.

dxxvi··on Thoughts on Go vs. Rust vs. Zig
I wonder what the advantage of passing it around is when it makes the argument list longer. The only advantage that I can see is that it emphasizes that this function does something with cache.
dxxvi··on Thoughts on Go vs. Rust vs. Zig
> It's exceedingly rare to see any sort of global mutable state I know a bit of Rust, so you don't need to explain in details. How to use a local cache or db connection pool in Rust (both of them, IMO, are the right use case of global mutable state)?
dxxvi··on Azure hit by 15 Tbps DDoS attack using 500k IP addresses
I wonder why nowhere talked about who Jia Tan was. In my understanding, a few people already talked to that person. Now, does Jia Tan really vanish?
dxxvi··on Unofficial Microsoft Teams client for Linux
I agree. Screen sharing in Teams used to work in Firefox but not in the current version (144). It works in Chrome though.
dxxvi··on Why is Zig so cool?
There's at least 1 thing that Zig is better than Rust is that Zig compiler for Windows can be downloaded, unzipped then used without admin right. Rust needs msvc, which cannot be installed without admin right. It is said that Rust on Windows can use cygwin but I cannot make it work even with AI help.
dxxvi··on Kafka is Fast – I'll use Postgres
Is it true that a message from a queue will disappear after it is consumed successfully? If yes, at this moment, how do you make kafka topics work as queues?
dxxvi··on Show HN: Apache Fory Rust – 10-20x faster serialization than JSON/Protobuf
Is Google guava really needed? I would like it to be taken out.
dxxvi··on We saved $500k per year by rolling our own "S3"
> I've been considering it too and hesitant about it

Why hesitant? Just ask AI. It'll tell you how to do it and then you can experiment it yourself.

dxxvi··on We saved $500k per year by rolling our own "S3"
I already checked with AI before putting the comment :-)

1GB with the bytea data type (https://www.postgresql.org/docs/current/datatype-binary.html) and 4TB with the BLOB data type (https://wiki.postgresql.org/wiki/BinaryFilesInDB).

dxxvi··on We saved $500k per year by rolling our own "S3"
So, you want a place to store many files in a short period of time and when there's a new file, somebody must be notified?

Have you ever thought of using a postgresql db (also on aws) to store those files and use CDC to publish messages about those files to a kafka topic? In your original way, we need 3 aws services: s3, lambda and sqs. With this way, we need 2: postgresql and kafka. I'm not sure how well this method works though :-)

dxxvi··on How I turned Zig into my favorite language to write network programs in
Do you know that there's a concurrent Scala library named ZIO (https://zio.dev)? :-)
dxxvi··on California invests in battery energy storage, leaving rolling blackouts behind
Does it make the electricity price go down or up? It seems to me that the electricity price never goes down.
dxxvi··on Show HN: A better Hacker News front end

    // ==UserScript==
    // @name        ycombinator
    // @namespace   Violentmonkey Scripts
    // @match       https://news.ycombinator.com/*
    // @grant       GM_addStyle
    // @version     1.0
    // @author      -
    // @description 10/5/2022, 6:35:39 PM
    // ==/UserScript==

    GM_addStyle(`
      .pagetop { color: #fff }
      body .title { font: 19px/1.5 sans-serif }
      body a, body a:link { color: #222 }
      body .comhead { font-size: 16px; font-style: italic }
      body .title .rank { color: #aaa; font-size: 14px }
      body .subtext { font-size: 16px; padding: 4px 0 6px 19px }
      .c00, .c00 a:link { color: #444 } body .comment { font: 16px/1.45 sans-serif; max-width: none }
      body span.pagetop a, body span.pagetop a:visited { color: #fff }
      body tr.athing:not(.comtr):nth-child(even) { background: linear-gradient(#f4f4f4, #eee, #f4f4f4) }
      body tr.athing > td { padding: 5px 10px 5px 1px }
      body tr.athing > td.votelinks { padding-right: 5px }
      td.zoom { font-weight: 700; color: #fff; width: 32px }
      td.zoom > span { cursor: pointer; font-size: 1.5rem }
      div.toptext { font-size: 17px; color: #333 }
      span.number-of-comments { font-size: 18px; color: #666 }
    `);

    const t = document.getElementById('hnmain');
    if (t != null) {
      t.removeAttribute('bgcolor');
      t.removeAttribute('width');
      t.parentNode.removeChild(t);
      document.body.prepend(t);
    }

    const spanPagetop = document.querySelector('td span.pagetop');
    if (spanPagetop) {
      const tr = spanPagetop.parentElement.parentElement;
      tr.insertAdjacentHTML('afterbegin', `
        <td class="zoom"><span onclick="zoomIn(); return false">+</span></td>
        <td class="zoom"><span onclick="zoomOut(); return false">-</span></td>
      `);
    }

    setTimeout(function() {
      while (true) {
        const td = document.querySelector('tr:not([id]) > td.subtext');
        if (td == null) {
          break;
        }

        const tr = td.parentElement;
        const previousTr = tr.previousElementSibling;
        if (previousTr != null) {
          tr.parentElement.removeChild(tr);
          previousTr.append(td);
        } else {
          break;
        }
      }

      while (true) {
        const tr = document.querySelector('tr.spacer');
        if (tr == null) {
          break;
        }
        tr.parentElement.removeChild(tr);
      }

      document.querySelectorAll('td.title[valign="top"]').forEach(td => td.setAttribute('valign', 'middle'));

      document.querySelectorAll('table > tbody > tr:has(> td + td + td + td) + tr + tr > td[colspan="2"]:first-child + td:last-child').forEach(td => {
        td.setAttribute('colspan', '2');
      });

      document.querySelectorAll('a[href^="item?id="]').forEach(a => {
        const arr = a.innerHTML.split('&nbsp;');
        if (arr.length == 2) {
          a.innerHTML = `<span class="number-of-comments">${arr[0]}</span> ${arr[1]}`;
        }
      });
    }, 419);

    const myScript = document.createElement('script');
    myScript.innerHTML = `
      const FONT_SIZE_THRESHOLD = 26.9;
      function zoomIn() {
        const bodyTitle = document.querySelector('body .title');
        if (bodyTitle) {
          const newFontSize = parseFloat(getComputedStyle(bodyTitle).getPropertyValue('font-size').replace('px', '')) + 1;
          document.querySelectorAll('body .title').forEach(t => {
            t.style.fontSize = newFontSize + 'px';
            if (newFontSize > FONT_SIZE_THRESHOLD) t.style.fontWeight = 300;
          });
        }
        const bodyComment = document.querySelector('body .comment');
        if (bodyComment) {
          const newFontSize = parseFloat(getComputedStyle(bodyComment).getPropertyValue('font-size').replace('px', '')) + 1;
          document.querySelectorAll('body .comment').forEach(t => {
            t.style.fontSize = newFontSize + 'px';
            if (newFontSize > FONT_SIZE_THRESHOLD) t.style.fontWeight = 300;
          });
        }
      }

      function zoomOut() {
        const bodyTitle = document.querySelector('body .title');
        if (bodyTitle) {
          const newFontSize = parseFloat(getComputedStyle(bodyTitle).getPropertyValue('font-size').replace('px', '')) - 1;
          if (newFontSize > 12) document.querySelectorAll('body .title').forEach(t => {
            t.style.fontSize = newFontSize + 'px';
            if (newFontSize < FONT_SIZE_THRESHOLD) t.style.fontWeight = 400;
          });
        }
        const bodyComment = document.querySelector('body .comment');
        if (bodyComment) {
          const newFontSize = parseFloat(getComputedStyle(bodyComment).getPropertyValue('font-size').replace('px', '')) - 1;
          if (newFontSize > 12) document.querySelectorAll('body .comment').forEach(t => {
            t.style.fontSize = newFontSize + 'px';
            if (newFontSize < FONT_SIZE_THRESHOLD) t.style.fontWeight = 400;
          });
        }
      }
    `;
    document.head.appendChild(myScript);
dxxvi··on Show HN: A better Hacker News front end
My hacker news modified with violentmonkey: https://vercel-html-example.vercel.app/hn-violentmonkeys.png

The + - buttons on the top panel change the font size of every thing except the font size of the panel.

Things are arranged to minimize the page scrolling.

The news title and number of comments are darker and a little bit bigger than other elements for an easy reading.

dxxvi··on Show HN: ut – Rust based CLI utilities for devs and IT
As it is a utility toolkit, I'd like to have:

- the Web & Network section expanded: the copyparty features (github.com/9001/copyparty) and curlie (github.com/rs/curlie).

- compress/decompress features with password: it doesn't need to use the best compress algorithm, gzip is good enough.

dxxvi··on Cancellations in async Rust
My Rust knowledge is too low to understand. However, thank you very much for the article. I hope AI will learn it and explain to me in a few years :-)
dxxvi··on The AI coding trap
There is this statement in the article: LLMs are lightning fast junior engineers. I don't know if that is right or wrong. To me, good LLMs are a lightning fast better version of me. That means that I can write code like some LLMs but it'll take me days to do it (if I use a language that I'm not good at, for example Rust) but with carefully crafted prompts, LLMs take maybe half an hour or less.
dxxvi··on CT scans of 1k lithium-ion batteries show quality risks in inexpensive cells
What about expensive cells? Any quality risks in them or they are perfect?
dxxvi··on Pop OS 24.04 LTS Beta
It's Sep 2025. Why is the 24.04 LTS still at Beta?
dxxvi··on A clickable visual guide to the Rust type system
I agree. With a 1920-pixel wide monitor, I have to scroll horizontally to see everything.
dxxvi··on Why was Apache Kafka created?
> turn to Redis Cluster Streams instead. So much simpler to manage and so much cheaper to run

I don't have any experience with Redis Cluster Streams. Could you please tell us how it is simpler to manage? IMO, installing and managing a Kafka cluster in a non Fortune 100 scale is simple enough: run 1 java command for zookeeper, run another java command for a broker (with recent version of Kafka, zookeeper is not needed anymore). The configuration files are not very simple but not very complicated either. When we have another machine, we can run another broker on it.

Redis Cluster Streams is cheaper to run because it's written in C, doesn't need a VN to run? Or because its messages are stored in RAM not SSD?

dxxvi··on Cerebras Code
I agree 100%.
dxxvi··on A Rust shaped hole
> What we need isn't Rust without the borrow checker. It's C with a borrow checker, and without all the usual footguns

I agree with the other comment. Then what you need is Rust without all the bells and whistles (pattern matching, Cow, Rc, Result, Option ...).

dxxvi··on Two guys hated using Comcast, so they built their own fiber ISP
This "$80 for gigabit fiber, unlimited data" is a problem for me. I want to save money, I don't need a gigabit fiber but there's no other options. If there's $30 for 300Mbps unlimited data (I'm paying $40 for optimum) option, then I'll take it.
dxxvi··on Windows 11 clean install guide: remove bloatware and optimize performance
It asks us to download the Windows ISO from its website not from Microsoft website. So, it's a NO for me.
dxxvi··on What If We Could Rebuild Kafka from Scratch?
> why is there no in-memory kafka server that I can use for simple testing purposes https://github.com/embeddedkafka/embedded-kafka It's for scala. I'm trying to do something similar in Java but haven't got time yet.
dxxvi··on A 2025 Survey of Rust GUI Libraries
Wow, the author seems to have a lot of knowledge of what he's talking about. I know almost nothing about writing desktop apps and only a bit of Rust. So, I guess that if we need to choose a Rust gui library, we'll go with something that has "Yes" in all columns?
← PreviousPage 2 of 8Next →