<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: no_circuit</title><link>https://news.ycombinator.com/user?id=no_circuit</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 06 May 2026 08:27:24 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=no_circuit" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by no_circuit in "Vouch"]]></title><description><![CDATA[
<p>Why stop at restricting pull requests? I wouldn't want spam issues either. New issues and contributors should be gated at the "discussion" stage.</p>
]]></description><pubDate>Mon, 09 Feb 2026 09:32:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=46943377</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=46943377</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46943377</guid></item><item><title><![CDATA[New comment by no_circuit in "Show HN: Artifact Keeper – Open-Source Artifactory/Nexus Alternative in Rust"]]></title><description><![CDATA[
<p>Impressive looking project generated with AI help. Have similar goals of having an artifacts system myself.<p>I think the approach of multi-format, multi-UI, and new (to you) programming language isn't optimal even with AI help. Any mistake that is made in the API design or internal architecture will impact time and cost since everything will need to be refactored and tested.<p>The approach I'm trying to take for my own projects is to create a polished vertical slice and then ask the AI to replicate it for other formats / vertical slices. Are there any immediate use cases to even use and maintain a UI?<p>So a few comments on the code:<p>- feature claims rate limiting, but the code seems unused other than in unit tests... if so why wasn't this dead code detected?<p>- should probably follow Google/Buf style guide on protos and directory structure for them<p>- besides protos, we probably need to rely more on openapi spec as well for code generation to save on AI costs, I see openapi spec was only used as task input for the AI?<p>- if the AI isn't writing a postgres replacement for us, why have it write anything to do with auth as well? perhaps have setup instructions to use something like Keycloak or the Ory system?</p>
]]></description><pubDate>Fri, 06 Feb 2026 12:54:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46912233</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=46912233</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46912233</guid></item><item><title><![CDATA[New comment by no_circuit in "MCP Apps: Extending servers with interactive user interfaces"]]></title><description><![CDATA[
<p>Yes, it is huge to spread the work out on embedded UIs in chat interfaces. But I think the design direction is going, is exactly the same direction of how Google Assistant, Amazon Alexa, or any of the other assistants work, ifkyk.<p>The MCP community is just reinventing, but yes, improving, what we've done before in the previous generation: Microsoft Bot Framework, Speaktoit aka Google Dialogflow, Siri App Shortcuts / Spotlight.<p>And interactive UIs in chats go back at least 20 years, maybe not with an AI agent attached...<p>The next thing that will be reinvented is the memory/tool combination, aka a world model.</p>
]]></description><pubDate>Sun, 23 Nov 2025 14:20:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46023753</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=46023753</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46023753</guid></item><item><title><![CDATA[New comment by no_circuit in "Show HN: Apache Fory Rust – 10-20x faster serialization than JSON/Protobuf"]]></title><description><![CDATA[
<p>If your binary has a small function set, probably not. But in a use case if you want to proxy/intercept cloud APIs, then something like Google APIs has 34K message types:<p><pre><code>    git clone https://github.com/googleapis/googleapis.git
    cd googleapis
    find . -name '*.proto' -and -not -name '*test*' -and -not -name '*example*' -exec grep '^message' {} \; | wc -l
</code></pre>
I think this more speaks to the tradeoff of not having an IDL where the deserializer either knows what type to expect if it was built with the IDL file version that defined it, e.g., this recent issue:<p><a href="https://github.com/apache/fory/issues/2818" rel="nofollow">https://github.com/apache/fory/issues/2818</a><p>But now I do see that the 4096 is just arbitrary:<p><pre><code>    If schema consistent mode is enabled globally when creating fory, type meta will be written as a fory unsigned varint of type_id. Schema evolution related meta will be ignored.</code></pre></p>
]]></description><pubDate>Wed, 29 Oct 2025 17:25:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45750123</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=45750123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45750123</guid></item><item><title><![CDATA[New comment by no_circuit in "Show HN: Apache Fory Rust – 10-20x faster serialization than JSON/Protobuf"]]></title><description><![CDATA[
<p>Yes, I agree that protos usually should only be used at the serialization boundary, as well as the slightly off-topic idea that the generated code should be private to the package and/or binary.<p>So to reflect the real‑world practices, the benchmark code should then allocate and give the protobuf serializer an 8K Vec like in tonic, and not an empty one that may require multiple re-allocations?</p>
]]></description><pubDate>Wed, 29 Oct 2025 16:44:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=45749424</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=45749424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45749424</guid></item><item><title><![CDATA[New comment by no_circuit in "Show HN: Apache Fory Rust – 10-20x faster serialization than JSON/Protobuf"]]></title><description><![CDATA[
<p>IMO, not a fair benchmark.<p>I can see the source of an 10x improvement on an Intel(R) Xeon(R) Gold 6136 CPU @ 3.00GHz, but it drops to 3x improvement when I remove the to/from that clones or collects Vecs, and always allocate an 8K Vec instead of a ::Default for the writable buffer.<p>If anything, the benches should be updated in a tower service / codec generics style where other formats like protobuf do not use any Fory-related code at all.<p>Note also that Fory has some writer pool that is utilized during the tests:<p><a href="https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef7a2ca06935539abf/rust/fory-core/src/fory.rs#L366" rel="nofollow">https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef...</a><p>Original bench selection for Fory:<p><pre><code>    Benchmarking ecommerce_data/fory_serialize/medium: Collecting 100 samples in estimated 5.0494 s (197k it
    ecommerce_data/fory_serialize/medium
                            time:   [25.373 µs 25.605 µs 25.916 µs]
                            change: [-2.0973% -0.9263% +0.2852%] (p = 0.15 > 0.05)
                            No change in performance detected.
    Found 4 outliers among 100 measurements (4.00%)
      2 (2.00%) high mild
      2 (2.00%) high severe
</code></pre>
Compared to original bench for Protobuf/Prost:<p><pre><code>    Benchmarking ecommerce_data/protobuf_serialize/medium: Collecting 100 samples in estimated 5.0419 s (20k
    ecommerce_data/protobuf_serialize/medium
                            time:   [248.85 µs 251.04 µs 253.86 µs]
    Found 18 outliers among 100 measurements (18.00%)
      8 (8.00%) high mild
      10 (10.00%) high severe
</code></pre>
However after allocating 8K instead of ::Default and removing to/from it for an updated protobuf bench:<p><pre><code>    fair_ecommerce_data/protobuf_serialize/medium
                            time:   [73.114 µs 73.885 µs 74.911 µs]
                            change: [-1.8410% -0.6702% +0.5190%] (p = 0.30 > 0.05)
                            No change in performance detected.
    Found 14 outliers among 100 measurements (14.00%)
      2 (2.00%) high mild
      12 (12.00%) high severe</code></pre></p>
]]></description><pubDate>Wed, 29 Oct 2025 00:20:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45741094</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=45741094</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45741094</guid></item><item><title><![CDATA[New comment by no_circuit in "Show HN: Apache Fory Rust – 10-20x faster serialization than JSON/Protobuf"]]></title><description><![CDATA[
<p>Is 4096 types enough for everyone?<p><a href="https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef7a2ca06935539abf/java/fory-core/src/main/java/org/apache/fory/resolver/XtypeResolver.java#L108-L109" rel="nofollow">https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef...</a></p>
]]></description><pubDate>Tue, 28 Oct 2025 20:50:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45738982</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=45738982</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45738982</guid></item><item><title><![CDATA[New comment by no_circuit in "Show HN: Apache Fory Rust – 10-20x faster serialization than JSON/Protobuf"]]></title><description><![CDATA[
<p>Are the benchmarks actually fair? See:<p><a href="https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef7a2ca06935539abf/rust/benches/src/lib.rs#L205-L213" rel="nofollow">https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef...</a><p>It seems if the serialization object is not a "Fory" struct, then it is forced to go through to/from conversion as part of the measured serialization work:<p><a href="https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef7a2ca06935539abf/rust/benches/src/serializers/protobuf.rs#L514-L526" rel="nofollow">https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef...</a><p>The to/from type of work includes cloning Strings:<p><a href="https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef7a2ca06935539abf/rust/benches/src/serializers/protobuf.rs#L175-L188" rel="nofollow">https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef...</a><p>reallocating growing arrays with collect:<p><a href="https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef7a2ca06935539abf/rust/benches/src/serializers/protobuf.rs#L217-L226" rel="nofollow">https://github.com/apache/fory/blob/fd1d53bd0fbbc5e0ce6d53ef...</a><p>I'd think that the to/from Fory types is shouldn't be part of the tests.<p>Also, when used in an actual system tonic would be providing a 8KB buffer to write into, not just a Vec::default() that may need to be resized multiple times:<p><a href="https://github.com/hyperium/tonic/blob/147c94cd661c0015af2e54e44fc750c9f5572e21/tonic/src/codec/mod.rs#L26" rel="nofollow">https://github.com/hyperium/tonic/blob/147c94cd661c0015af2e5...</a></p>
]]></description><pubDate>Tue, 28 Oct 2025 20:40:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45738851</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=45738851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45738851</guid></item><item><title><![CDATA[New comment by no_circuit in "SEC approves Texas Stock Exchange, first new US integrated exchange in decades"]]></title><description><![CDATA[
<p>Yes, from <a href="https://www.txse.com/solutions" rel="nofollow">https://www.txse.com/solutions</a>:<p><pre><code>  TXSE's goal is to provide greater alignment with issuers and investors and address the high cost of going and staying public.
</code></pre>
The alignment part translates IMO to avoiding political / social science policy  issues like avoiding affirmative action listing requirements like the Nasdaq Board Diversity Rules that was just recently repealed: <a href="https://corpgov.law.harvard.edu/2025/01/12/fifth-circuit-vacates-secs-approval-of-nasdaq-board-diversity-rules" rel="nofollow">https://corpgov.law.harvard.edu/2025/01/12/fifth-circuit-vac...</a>.<p>So it is as one might imagine, the formation was probably for similar reasons why owners are moving their company registration out of Delaware.</p>
]]></description><pubDate>Wed, 08 Oct 2025 12:28:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45515409</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=45515409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45515409</guid></item><item><title><![CDATA[New comment by no_circuit in "Show HN: Cap'n-rs – Rust implementation of Cloudflare's Cap'n Web protocol"]]></title><description><![CDATA[
<p>Right, for example,  there are no comments on why something there is something called a PromiseIdAllocator that starts with the magic number "1":<p><a href="https://github.com/currentspace/capn-rs/blob/a816bfca5fb6ae5ce957c3db849bf3842447bd19/capnweb-core/src/ids.rs#L113-L117" rel="nofollow">https://github.com/currentspace/capn-rs/blob/a816bfca5fb6ae5...</a><p>Yet there is a public interface that allows for initialization with "0":<p><a href="https://github.com/currentspace/capn-rs/blob/a816bfca5fb6ae5ce957c3db849bf3842447bd19/capnweb-core/src/ids.rs#L28-L30" rel="nofollow">https://github.com/currentspace/capn-rs/blob/a816bfca5fb6ae5...</a><p>It's like the LLM was able to predict that 1 is needed in the protocol, but wasn't relevant to check in the boilerplate.<p>I don't have a problem with newtype-all-the-things to ensure correctness in some areas, but no comments/constants does not lead to confidence.</p>
]]></description><pubDate>Tue, 30 Sep 2025 12:30:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=45424618</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=45424618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45424618</guid></item><item><title><![CDATA[New comment by no_circuit in "Show HN: Cap'n-rs – Rust implementation of Cloudflare's Cap'n Web protocol"]]></title><description><![CDATA[
<p>Regarding the concept, it's cool to see you using LLMs to quickly generate protocol versions.<p>But asking the community to review an AI-generated implementation week-old announced protocol, is more or less putting the recently coined-term AI "workslop" upon others. It doesn't really matter if it happens to be a good implementation or not.<p>There are two main issues I can think of right now:<p>1) Work going into the protocol is only useful for your implementation of it. The capnweb-core crate depends on the tokio runtime, and parts of the protocol/definitions are in the client crate:<p><a href="https://github.com/currentspace/capn-rs/blob/a816bfca5fb6ae5ce957c3db849bf3842447bd19/capnweb-client/src/client.rs#L82-L86" rel="nofollow">https://github.com/currentspace/capn-rs/blob/a816bfca5fb6ae5...</a><p>What if someone wants to leverage work into the core parts of the protocol to use a different runtime or no-std?<p>2) The project has namespace squatted/swiped the best name for the official implementation of the project. I understand Rust/Crates-IO allows for this free-for-all, but isn't it entirely possible that Cloudflare already has Rust crates for this that they might open source? Or if someone else wants to make a competing implementation? Maybe it's just me, but I like to put my organization prefix on all my crates in the event I ever open source any of them.<p>Would you offer to transfer the crate names to Cloudflare if they were going to offer an implementation -- just like what happened with protobuf/Google?</p>
]]></description><pubDate>Tue, 30 Sep 2025 12:09:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=45424460</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=45424460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45424460</guid></item><item><title><![CDATA[New comment by no_circuit in "SQLx – Rust SQL Toolkit"]]></title><description><![CDATA[
<p>How long ago did you try SQLx? Not necessarily promoting SQLX, but the `query_as` which lets one make queries without the live database macro has been around for 5 years [1].<p>For lower level libraries there is also the more downloaded SQLite library, rusqlite [2] who is also the maintainer of libsqlite3-sys which is what the sqlite library wraps.<p>The most pleasant ORM experience, when you want one, IMO is the SeaQl ecosystem [3] (which also has a nice migrations library), since it uses derive macros. Even with an ORM I don't try to make databases swappable via the ORM so I can support database-specific enhancements.<p>The most Rust-like in an idealist sense is Diesel, but its well-defined path is to use a live database to generate Rust code that uses macros to then define the schema-defining types which are used in the row structs type/member checking. If the auto-detect does not work, then you have to use its patch_file system that can't be maintained automatically just through Cargo [4] (I wrote a Makefile scheme for myself). You most likely will have to use the patch_file if you want to use the chrono::DateTime<chrono::Utc> for timestamps with time zones, e.g., Timestamp -> Timestamptz for postgres. And if you do anything advanced like multiple schemas, you may be out of luck [5]. And it may not be the best library for you if want large denormalized tables [6] because compile times, and because a database that is not normalized [7], is considered an anti-pattern by project.<p>If you are just starting out with Rust, I'd recommend checking out SeaQl. And then if you can benchmark that you need faster performance, swap out for one of the lower level libraries for the affected methods/services.<p>[1] <a href="https://github.com/launchbadge/sqlx/commit/47f3d77e599043bc25f78765ec42189e529dc76c">https://github.com/launchbadge/sqlx/commit/47f3d77e599043bc2...</a><p>[2] <a href="https://crates.io/crates/rusqlite" rel="nofollow">https://crates.io/crates/rusqlite</a><p>[3] <a href="https://www.sea-ql.org/SeaORM/" rel="nofollow">https://www.sea-ql.org/SeaORM/</a><p>[4] <a href="https://github.com/diesel-rs/diesel/issues/2078">https://github.com/diesel-rs/diesel/issues/2078</a><p>[5] <a href="https://github.com/diesel-rs/diesel/issues/1728">https://github.com/diesel-rs/diesel/issues/1728</a><p>[6] <a href="https://github.com/diesel-rs/diesel/discussions/4160">https://github.com/diesel-rs/diesel/discussions/4160</a><p>[7] <a href="https://en.wikipedia.org/wiki/Database_normalization" rel="nofollow">https://en.wikipedia.org/wiki/Database_normalization</a></p>
]]></description><pubDate>Mon, 28 Jul 2025 21:32:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=44715941</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=44715941</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44715941</guid></item><item><title><![CDATA[New comment by no_circuit in "SecretSpec: Declarative Secrets Management"]]></title><description><![CDATA[
<p>I'm assuming that the PaaS/IaaS providers already have solutions for secrets. So a new centralized system may help with just dev and DIY bare metal?<p>But the centralized method, as in secretspec, not everyone will accept reading secrets in environment variables, as is also done with the 1password cli run command [1]. They also may need to be injected as files or less secure command line parameters. In the Kubernetes world one solution the is External Secrets Operator [2]. Secrets may also be pulled from an API as well from the cloud host. I won't comment on how that works in k8s.<p>To note, the reason for reading from file handles is so that the app can watch for changes and reload, e.g., key/token rotations without restarting the server.<p>But what could be useful to some developers is a secretspec inject subcommand (the universal version of the op inject command). I use op inject / dotenvy with Rust apps -- pretty easy to manage and share credentials. Previously I had something similiar written in Rust that also handled things like base64 / percent-encoding transforms.<p>If you aren't tied to Rust, probably could just fork external-secrets and get all the provider code for free.<p>[1] <a href="https://developer.1password.com/docs/cli/reference/commands/run" rel="nofollow">https://developer.1password.com/docs/cli/reference/commands/...</a><p>[2] <a href="https://external-secrets.io" rel="nofollow">https://external-secrets.io</a></p>
]]></description><pubDate>Mon, 21 Jul 2025 23:38:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=44641628</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=44641628</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44641628</guid></item><item><title><![CDATA[New comment by no_circuit in "Most RESTful APIs aren't really RESTful"]]></title><description><![CDATA[
<p>That's correct, the example you are giving represents bike-shedding among request path variations.<p>I assumed most readers of my comment would get that the idea that /users/signup is ambiguous whether or not that is supposed to be another resource, while /users:signup is less so.</p>
]]></description><pubDate>Thu, 10 Jul 2025 02:12:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=44516552</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=44516552</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44516552</guid></item><item><title><![CDATA[New comment by no_circuit in "Most RESTful APIs aren't really RESTful"]]></title><description><![CDATA[
<p>The system won't be able remember why the user was created unless the content of the post includes data saying it was a signup. That's important for any type of reporting like telemetry and billing.<p>So then one gets to bike-shed if "signup" it is in the request path, query parameters, or the body. Or that since the user resource doesn't exist yet perhaps one can't call a method on it, so it really should be /users:signup (on the users collection, like /users:add).<p>Provided one isn't opposed to adopting what was bike-shedded elsewhere, there is a fairly well specified way of doing something RESTful, here is a link to its custom methods page: <a href="https://google.aip.dev/136" rel="nofollow">https://google.aip.dev/136</a>. Its approach would be to add information about signup in a request to the post to /users: <a href="https://google.aip.dev/133" rel="nofollow">https://google.aip.dev/133</a>. More or less it describes a way to be RESTful with HTTP/1.1+JSON or gRPC.</p>
]]></description><pubDate>Thu, 10 Jul 2025 00:38:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=44516145</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=44516145</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44516145</guid></item><item><title><![CDATA[New comment by no_circuit in "Show HN: Seastar – Build and dependency manager for C/C++ with Cargo's features"]]></title><description><![CDATA[
<p>I wouldn't recommend Cargo as something to copy for a real project, even though I've a fan of and have been using Rust exclusively lately. It suffers from not being able to handle global features without manually/conditionally propagating features to dependencies, as well as not being able to propagate metadata to dependencies without abusing the links functionality.<p>Why is that important? Well that's useful if you want something like json/serde or not in all transitive dependencies for a particular artifact you are generating like a library or a binary. That applies for other configurability that C/C++ developers bake into their libraries too.<p>Is this an educational learning experience as part of Hackclub which is a linked organization on your GitHub profile? Whether or not if so, trying to build this will be a good learning experience.<p>Think beyond just C/C++ and maybe Rust...<p>The entire set of ideas of things to implement is just to look at the feature set of Bazel and Buck 2 (which happens to also be written in Rust). Those offer functionality to build complete products in any language, locally or distributed across a build farm of servers, and glue them all together in any format. For example you can't build a multi-arch OCI/Docker container image for a Rust-binary server in a single command with Cargo.<p>Except for the initial learning curve, using them could be as simple as including their "build" files in your published git repo. No central repository needed.<p><a href="https://github.com/hackclub">https://github.com/hackclub</a>
<a href="https://bazel.build/about/why" rel="nofollow">https://bazel.build/about/why</a>
<a href="https://buck2.build/docs/about/why/" rel="nofollow">https://buck2.build/docs/about/why/</a></p>
]]></description><pubDate>Mon, 16 Jun 2025 01:41:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=44286072</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=44286072</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44286072</guid></item><item><title><![CDATA[New comment by no_circuit in "Launch HN: Massdriver (YC W22) – Self-serve cloud infra without the red tape"]]></title><description><![CDATA[
<p>The VR version of network management already existed [1]. It was called CA [2] Unicenter TNG. It really could use an update with some rendering with Unreal Engine! :D<p>Unrelated but could be confused with what was seen in Jurassic Park as "Unix".<p>[1] <a href="https://archive.org/details/vw_ca-unicenter-tng-demo" rel="nofollow">https://archive.org/details/vw_ca-unicenter-tng-demo</a><p>[2] <a href="https://en.wikipedia.org/wiki/CA_Technologies" rel="nofollow">https://en.wikipedia.org/wiki/CA_Technologies</a></p>
]]></description><pubDate>Sat, 22 Feb 2025 09:01:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=43137397</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=43137397</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43137397</guid></item><item><title><![CDATA[New comment by no_circuit in "Just: Just a Command Runner"]]></title><description><![CDATA[
<p>Task is in a similar problem space.<p>Unlike Just which clearly states it is not a build system [1], Task can be told about expected files so tasks can be skipped to avoid unnecessary work [2]. So if your task is to build software, IMO make and the others like Task would be better.<p>If your tasks only care about the success code from a process, and/or are a Rust fan instead of Go, then Just should be fine. Otherwise, for specific use-cases like CI, you are likely already coding in a proprietary YAML/JSON/XML format.<p>[1] <a href="https://github.com/casey/just/blob/e1b85d9d0bc160c1ac8ca3bcadb2342ea37e8e9b/README.md?plain=1#L47-L49">https://github.com/casey/just/blob/e1b85d9d0bc160c1ac8ca3bca...</a><p>[2] <a href="https://taskfile.dev/usage/#prevent-unnecessary-work" rel="nofollow">https://taskfile.dev/usage/#prevent-unnecessary-work</a></p>
]]></description><pubDate>Sat, 07 Dec 2024 17:55:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=42351424</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=42351424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42351424</guid></item><item><title><![CDATA[New comment by no_circuit in "Spin 3.0 – open-source tooling for building and running WASM apps"]]></title><description><![CDATA[
<p>For the audience that would be looking to use the WASM Component Model, and not be an infrastructure implementer of it, whether or not they meet some definition of a method, the component model does define things called resources [1] that have "methods". You'll hold a "handle" to it like you would in your own programming language with the expected drop and/or GC semantics (once implemented [2]) because code is generated to access it like any other FFI like C/C++.<p>With that in mind, the other confusing thing one may come across is composition vs linking within your WASM runtime that supports the Component Model. When you hear "composition" think of compile-time merging of libraries such that the bundle may have less unresolved dependencies of WASM code/implemented component interfaces. Anything unresolved needs to be linked at runtime with your WASM runtime of choice, like wasmtime [3]. Pretty interesting reading/potential after reading if you ask me -- sounds like you could implement something like a custom Java classloader hierarchy [4].<p>But I'd agree with a statement saying it is still a long way for general usage.<p>[1] <a href="https://github.com/WebAssembly/component-model/blob/5a34794dbe3b958b6a1df415f57b8baaa95f98d3/design/mvp/WIT.md?plain=1#L1470-L1508">https://github.com/WebAssembly/component-model/blob/5a34794d...</a><p>[2] <a href="https://github.com/WebAssembly/gc">https://github.com/WebAssembly/gc</a><p>[3] <a href="https://github.com/bytecodealliance/wasmtime/blob/ba8131c6bf208054e71a6f41136cefa3a9fc2e34/crates/wasmtime/src/runtime/linker.rs">https://github.com/bytecodealliance/wasmtime/blob/ba8131c6bf...</a><p>[4] <a href="https://www.digitalocean.com/community/tutorials/java-classloader#classloader-hierarchy" rel="nofollow">https://www.digitalocean.com/community/tutorials/java-classl...</a></p>
]]></description><pubDate>Wed, 13 Nov 2024 15:25:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=42126826</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=42126826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42126826</guid></item><item><title><![CDATA[New comment by no_circuit in "Spin 3.0 – open-source tooling for building and running WASM apps"]]></title><description><![CDATA[
<p>Yes, in retrospect I should have mentioned "Components" in my comment and just compared it to "Java" in general instead. I felt that was implied due to the thread and topic of discussion.<p>From a pragmatic end-user point-of-view explanation, I would still stand by saying WASM Component Model may be similar to working within the JVM multi-language ecosystem. One can work with code compiled from multiple different languages, but the generated code may be different because of the different compilers.</p>
]]></description><pubDate>Wed, 13 Nov 2024 05:18:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=42123135</link><dc:creator>no_circuit</dc:creator><comments>https://news.ycombinator.com/item?id=42123135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42123135</guid></item></channel></rss>