fupio

Fupio es la forma más fácil de compartir en línea Más información »

Únete a Fupio
Lobsters: Newest Comments

Lobsters: Newest Comments

Newest Comments

Lobsters: Newest Comments
Lobsters: Newest Comments
I think LLMs are a bicycle for the mind. They enable people to go further and faster than they could have before.
https://lobste.rs/c/vuioje

Lobsters: Newest Comments
Lobsters: Newest Comments
That book is, I believe, the only thing by him that I have read. Theres too much to read!
The responses Berry got from magazine readers look very similar to the responses anti-AI folks get. The more things change the more they stay the same.
https://lobste.rs/c/o2cepa

Lobsters: Newest Comments
Lobsters: Newest Comments
Looks nice!
How much faster again is (JIT or even AOT) compiled WASM compared to Wasmi 2.0? I'm just trying to place where I might use this in place of those.
https://lobste.rs/c/23bdzg

Lobsters: Newest Comments
Lobsters: Newest Comments
I have only read a couple of the shorter essays and a bit of his poetry, but I've been eying the (very classy looking) Library of America collection of his work. I'm looking forward to reading it. Have you read any of his novels?
(As an aside, I was college friends with Matt Brown!)
Wow, small world! Honestly I didn't even notice the source was from a class's course materials, his work seems fascinating.
https://lobste.rs/c/emf6bb

Lobsters: Newest Comments
Lobsters: Newest Comments
Editors, compilers, programming languages cryptographic libraries. Like moths to a flame these software types.
https://lobste.rs/c/w22ozh

Lobsters: Newest Comments
Lobsters: Newest Comments
I agree that it should happen at the call site, but I disagree that use MyType::clone; would be sufficiently "at the call site".
In my experience, it's seen as unidiomatic to put use anywhere but at the top of the module, so that would encourage altering the semantics of cloning MyType what could be 600+ lines away from where the magic happens.
The reason I support ideas involving amending the closure syntax is that all the motivating example code I've seen has been to remove an extra

Lobsters: Newest Comments
Lobsters: Newest Comments
Not a great solution, but I found that C++ move in Clang would generate a warning if the variable was used after it was moved [1]. I did not test it, and it is far inferior to Rust's model -- but at least something I think this capability in the language would be required to implement TypeStates as described in the above link. And sofar, it seems like it is only provided by Rust.
[1] https://clang.llvm.org/extra/clang-tidy/checks/bugprone/use-after-move.html
[2] and in MSVC

Lobsters: Newest Comments
Lobsters: Newest Comments
What you're describing is a quantitative difference, not a qualitative one. I was very deliberate in saying "fundamentally the same" instead of just "the same".
...and the position I hold is informed by things like how irritating it is to see PyQt's "no overload matched" errors crammed into gVim's UI until I re-run the thing in a full-blown terminal and start manually parsing through the list of non-matching overload signatures to try to figure out why what I wrote doesn't match any of them.

Lobsters: Newest Comments
Lobsters: Newest Comments
Honestly, I think trait-based APIs are already teetering on the edge, with the design of Iterator::collect being a cautionary tale.
As for erring on the side of empowering programmers, I don't think that's accurate. C++ errs on the side "empowering programmers, even if that means also giving them more ways to write bad code". Rust has historically exercised more caution.
https://lobste.rs/c/oe4u7m

Lobsters: Newest Comments
Lobsters: Newest Comments
One severe limitation with Custom Highlights (::highlight(…)) is that you’re very limited in what you can style: simplifying slightly, it’s just color, background-color, text-decoration and text-shadow. Bold, italic? Nope. Making invisible characters faintly visible (e.g. · for Space and ⇥ for Tab) or drawing faint lines for indentation levels? Nope.
https://lobste.rs/c/ma52m0

Lobsters: Newest Comments
Lobsters: Newest Comments
This is interesting! I once had a job interview with someone from the Netherlands who used the term "positive" to describe numbers including 0, and when I corrected him to "nonnegative" he said it was a curriculum difference. (I didn't get the job...)
Is that the same in France?
https://lobste.rs/c/q6k5ng

Lobsters: Newest Comments
Lobsters: Newest Comments

Lobsters: Newest Comments
Lobsters: Newest Comments
Did all that approval from the LLMs convinced you that nobody could ever sincerely disagree with you, so now you're inventing conspiracy theories?
https://lobste.rs/c/igkenw

Lobsters: Newest Comments
Lobsters: Newest Comments
The first year I started professional software engineering I still had a secret poetic garden in French, once I started digging into programming language theory and database system I kissed my French rhymes good bye and even French fluency. Nowadays I barely practice poetry, except mezangelle://sh4m3
https://lobste.rs/c/4ynviz

Lobsters: Newest Comments
Lobsters: Newest Comments
It should be noted that with the new ranges (std::range) that recently was added the range is no longer the iterator, and instead implements IntoIterator. Though the desugaring will first be changed to use them in a future edition.
https://lobste.rs/c/hnyobz

Lobsters: Newest Comments
Lobsters: Newest Comments
What about deciding at call site which clones are cheap enough? Something like a use MyType::clone; that makes calls to that clone be transparent like copies?
https://lobste.rs/c/xwdwhw

Lobsters: Newest Comments
Lobsters: Newest Comments
Note that a lot of the nice libraries that used to be separate are now part of the spork library collection, e.g. https://janet-lang.org/spork/api/sh-dsl.html instead of the sh library the older Janet book recommends in https://janet.guide/scripting/. There's also a spork version of the cmd library that chapter recommends (forget the exact name).
(Oh, you should look at https://janet.guide/ if you haven't yet, just remember that some library references are out of date, and the newer

Lobsters: Newest Comments
Lobsters: Newest Comments
+1, "let it crash" is always paired with "... and restart at the boundary". The trickiest part in "have you tried turning it off and on again?" is "it".
Though, I would draw a further distinction between cooperative cancelation, synchronous or asynchronous (where custom user code runs during unwinding) and uncooperative "abandonment", where user code doesn't have much control over the tearing down process. Unix and BEAM processes are examples of the latter. And, for the purposes of fault

Lobsters: Newest Comments
Lobsters: Newest Comments

Lobsters: Newest Comments
Lobsters: Newest Comments
If I could broadcast only a single message about this, it would be:
Make sure your web works in lynx
If you write a content site (not an application- light forms can be a site), then if it works on lynx it likely also is:
  • Accessible (not guaranteed and always worth the effort to validate)+
  • Fast
  • Usable and not painful
I like how the document mentions Gemini- I think Gemini is great performative art that explains how the web works better if it's simple. (But although my personal web

Lobsters: Newest Comments
Lobsters: Newest Comments
Upgraded my old, dusty 18RU homelab rack to a shiny new 22RU with lots of bells and whistles for much better cable management etc. Then, once everything is transferred over, switching my Synology RS1219+ (6x16TB in SHR) over to a new Unifi UNAS Pro 8 in RAID 6
https://lobste.rs/c/9roxgl

Lobsters: Newest Comments
Lobsters: Newest Comments

Lobsters: Newest Comments
Lobsters: Newest Comments
No idea, sadly. I've never worked with RPA tools.
The big idea of RF is that you can create commands that read very much like English text. "Log into database" could very well be a command. "Write data into field" could be another. I totally see where they're coming from, because the immediate intent of the code is obvious at a glance, but the issues start when some test isn't passing. We found that IDE tooling was awful (even syntax highlighting struggled at times) and everything was defined

Lobsters: Newest Comments
Lobsters: Newest Comments
That has the potential to insult people who choose to think with their use of AI.
It's pretty clear here then OP is referring to the people on stage with them. They all gave a presentation and are, likely, experts on their topics.
Having said that, there is a chance those people are using AI due to impostor syndrome or something similar. Given that OP was implying most of them were using AI to form their answers, it's unlikely this holds for all of them.
https://lobste.rs/c/jzi2tm

Lobsters: Newest Comments
Lobsters: Newest Comments

Lobsters: Newest Comments
Lobsters: Newest Comments
Your canonical definition of the Step trait is also the reason why I dislike the saturation that NonZero<u*> does since It kinda breaks that S(x) != x, I think throwing a panic would be more reasonable.
Yeah 100% agreed, saturation makes no sense whatsoever. That is IMO the most blatant problem among the things you discuss. Do you know if there's an open issue for that?
The Step trait docs currently explicitly allow this: "If this would overflow the range of values supported by Self, this

Lobsters: Newest Comments
Lobsters: Newest Comments
Best wishes and remember to give yourself some grace. As someone who has had to learn to perpetually deal with both anger and addiction issues, without getting into how remarkably similar they actually are, the best (unsolicited) advice I can give is be patient with yourself as you learn to recognize what is and is not in your control. Recovery is not a race, and the effort counts just as much as the results.
https://lobste.rs/c/ehv6jf

Lobsters: Newest Comments
Lobsters: Newest Comments
Yeah I am not sure what the actual best solution is, I personally like returning None when it reaches the bound, but I am also aware of good arguments against that. Throwing a panic in the case of a overflow would at least make the error a lot more visible.
Your canonical definition of the Step trait is also the reason why I dislike the saturation that NonZero<u*> does since It kinda breaks that S(x) != x, I think throwing a panic would be more reasonable.
Yeah I can see my argument be a bit

Lobsters: Newest Comments
Lobsters: Newest Comments
« As we listened to talks most people were stuck doing pointless tasks on their phones and computers. Less than 10%, likely 5%, were listening attentively. This was quite sad for me. »
It was the case before « AI » : i remember my first big conference in Miami Beach (yeah, well), room was 3/4 empty, most of the people were there because they presented, it was quite sad.
https://lobste.rs/c/gxddvh

Lobsters: Newest Comments
Lobsters: Newest Comments

Lobsters: Newest Comments
Lobsters: Newest Comments
The intent is that you pick whatever type works well for your problem domain. :) If you want to truly represent any range, then don't pick range::Range. (I can see how maybe that's not the best naming. It was called like that because it's the default kind of range that works well most of the time. Naming is hard...)
https://lobste.rs/c/v2tkw6

Lobsters: Newest Comments
Lobsters: Newest Comments
Most Rust project members review code on Github, i.e., outside an IDE. So we are all very well-aware of that being a common way to read code and we're keeping this in mind for language extensions. Every time someone says "but you can just hover this in your IDE", someone replies "code isn't always read in IDEs". This sentiment is very much as alive as it always was.
https://lobste.rs/c/vfpqxd

Lobsters: Newest Comments
Lobsters: Newest Comments
But that's not everything a Range can be used for
Sure. But it demonstrates the need to represent the empty range.
https://lobste.rs/c/w9rx9h

Lobsters: Newest Comments
Lobsters: Newest Comments
which is (to my eye reading the documentation) appears to be a generic sort of range.
The docs start by saying
A (half-open) range bounded inclusively below and exclusively above
So, no, it's quite clearly not trying to be a generic sort of range. It's just the default range type, and Rust defaults to right-exclusive.
Rust doesn't have a single type for a generic sort of range, but it has a trait for

Lobsters: Newest Comments
Lobsters: Newest Comments
There's definitely such a thing as too much syntactic sugar. :) Or, as one of my professors put it, "syntactic sugar can cause semantic cancer".
But that doesn't mean that all syntactic sugar is bad.
https://lobste.rs/c/hwhhn8

Lobsters: Newest Comments
Lobsters: Newest Comments
I see it used online outside lobste.rs as shorthand "I used GenAI to help me produce software". It might be self-deprecating, but it's not self-derogatory. After all, it's someone who produced something they felt was useful to them, and they felt comfortable sharing that opinion with others.
Here's a related example, a website tracking GenAI assisted maths: VibedMath: Math problems solved with AI
https://lobste.rs/c/z1z9yd

Lobsters: Newest Comments
Lobsters: Newest Comments
I have to disagree there for four reasons:
1. As I said, the boundary for "cheap" depends on the context and one of the things that makes Rust special is that it aims to make costs explicit and make it difficult for you to fall off the fast path accidentally. I think, on those grounds, it would rely too much on the skill of third-party implementers of CheapClone or whatever to fit the Rust philosophy.
2. Historically, Rust has leaned toward seeing things which are too footgun-y as candidates

Lobsters: Newest Comments
Lobsters: Newest Comments
I'm guilty of the exact same thing, just followed the post installation instructions on the docker site and thought nothing of it. I'm sure many people have done the same. Why aren't the same people mad at docker docs?
https://lobste.rs/c/vlcvvr

Lobsters: Newest Comments
Lobsters: Newest Comments
I think those refer to documentation improvements, not syntax changes. (See here.)
In general, though, I defend trying to write commit messages suitable for generating release notes. But perhaps this is an example of that not being a great idea.
edit: what's a bit triggering is that I was just skimming through the PR I linked and I think it's making more changes. I don't like "rider"

Lobsters: Newest Comments
Lobsters: Newest Comments
You should tell Daniel what language he should rewrite libcurl in, he loves it. Especially if you could spend a weekend getting that project started.
https://lobste.rs/c/2l0tkt

Lobsters: Newest Comments
Lobsters: Newest Comments
But, if you can survive powerloss, you might as well implement the Quit button by SIGKILLing yourself, simultaneously simplifying the implementation and increasing testing coverage for powerloss scenarios.
This is what most modern OS X apps do. Sudden Termination support allows apps to advertise that they are in a state where they have no unsaved data (including things like window positions, which are persisted in user defaults). Generally, apps leave this state when they receive an event and

Lobsters: Newest Comments
Lobsters: Newest Comments
I found the design of this language very interesting. Bare strings are delimited by at least two space. The first bare string on a line seems to always be a symbol. If not followed by two or more spaces, it is taken as the name of a procedure, if so then the symbol refers to a function and the next value is its first argument.
https://lobste.rs/c/yqfvmy

Lobsters: Newest Comments
Lobsters: Newest Comments
On macOS, Apple’s container tool is a much better option. Pretty much a drop-in replacement but it runs one VM per container so bug related to the kernel’s handling of namespaces or whatever are not container escapes. The only things in the VM that are not part of the container are still part of the container’s security context and it’s fine to assume that a compromise of the container can take control of them.
It’s roughly the same security model that big cloud providers use for containers

Lobsters: Newest Comments
Lobsters: Newest Comments
You don't need to learn it all at once.
Start with something simple, e.g. printing a file line by line:
while (my $line = <>) {
    print $line;
}
Then replace all 'a' by 'b':
while (my $line = <>) {
    s/a/b/g;       # g: all occurences
    print $line;
}
And so on... ;-)
https://lobste.rs/c/k7wo1p

Lobsters: Newest Comments
Lobsters: Newest Comments
It would have been so nice if they could have just standardized one way to turn hardening on... But I guess that would have set a precedent of user friendliness. We can not have that.
https://lobste.rs/c/lxn1ym