fn sub(foo: &String) {
println!("We got this string: [{}]", foo);
}
fn main() {
// "Hello", 0x00, 0x00, "!"
let buf: [u8; 8] = [0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x00, 0x00, 0x21];
// Create a string from the byte array above, interpret as UTF-8, ignore decoding errors.
let lossy_unicode = String::from_utf8_lossy(&buf).to_string();
sub(&lossy_unicode);
}
Create a string from a byte array, but the result isn’t a string, it’s a cow 🐮, so you need another
to_string() to convert your “string” into a string.- https://doc.rust-lang.org/std/string/struct.String.html#method.from_utf8_lossy
- https://doc.rust-lang.org/std/borrow/enum.Cow.html
I still have a lot to learn.
(
into_owned() instead of to_string() also works and makes more sense to me, it’s just that the compiler suggested to_string() first, which led to this funny example.)
fn sub(foo: &String) {
println!("We got this string: [{}]", foo);
}
fn main() {
// "Hello", 0x00, 0x00, "!"
let buf: [u8; 8] = [0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x00, 0x00, 0x21];
// Create a string from the byte array above, interpret as UTF-8, ignore decoding errors.
let lossy_unicode = String::from_utf8_lossy(&buf).to_string();
sub(&lossy_unicode);
}
Create a string from a byte array, but the result isn’t a string, it’s a cow 🐮, so you need another
to_string() to convert your “string” into a string.- https://doc.rust-lang.org/std/string/struct.String.html#method.from_utf8_lossy
- https://doc.rust-lang.org/std/borrow/enum.Cow.html
I still have a lot to learn.
(
into_owned() instead of to_string() also works and makes more sense to me, it’s just that the compiler suggested to_string() first, which led to this funny example.)
By the way, looks like there was a bit of a discussion regarding that name:
https://github.com/rust-lang/rust/issues/120048
By the way, looks like there was a bit of a discussion regarding that name:
https://github.com/rust-lang/rust/issues/120048
display() doesn't actually display it. But it's a Rust thing.
display() doesn't actually display it. But it's a Rust thing.
https://doc.rust-lang.org/std/path/struct.Path.html#method.display
Note the little
1.0.0 in the top right corner, which means that this function has been “stable since Rust version 1.0.0”. We’re at 1.87 now, so we’re good.Then I compiled my program on OpenBSD with Rust 1.86, i.e. just one version behind, but well ahead of 1.0.0.
The compiler said that I was using an unstable library feature.
Turns out, that function internally uses this:
https://doc.rust-lang.org/std/ffi/struct.OsStr.html#method.display
And that is only available since Rust 1.87.
How was I supposed to know this? 🤨
https://doc.rust-lang.org/std/path/struct.Path.html#method.display
Note the little
1.0.0 in the top right corner, which means that this function has been “stable since Rust version 1.0.0”. We’re at 1.87 now, so we’re good.Then I compiled my program on OpenBSD with Rust 1.86, i.e. just one version behind, but well ahead of 1.0.0.
The compiler said that I was using an unstable library feature.
Turns out, that function internally uses this:
https://doc.rust-lang.org/std/ffi/struct.OsStr.html#method.display
And that is only available since Rust 1.87.
How was I supposed to know this? 🤨
https://www.kurdistan24.net/en/story/845550/iran-confirms-contamination-at-natanz-nuclear-facility-following-israeli-strike
https://www.kurdistan24.net/en/story/845550/iran-confirms-contamination-at-natanz-nuclear-facility-following-israeli-strike
"Avançar na disseminação da interação por via digital e remota com os serviços administrativos do Estado, mas sempre garantindo a assistência pessoal (incluindo através dos Espaços do Cidadão, apoio telefónico e Assistentes Virtuais/IA) aos que têm dificuldades técnicas, económicas ou de info-exclusão;"
Porque já se sabe que quem tem dificuldades em interagir por via digital vai conseguir sem problemas ser atendido e ver o seu problema resolvido por um assistente virtual de Inteligência artificial... *suspiro*
"Avançar na disseminação da interação por via digital e remota com os serviços administrativos do Estado, mas sempre garantindo a assistência pessoal (incluindo através dos Espaços do Cidadão, apoio telefónico e Assistentes Virtuais/IA) aos que têm dificuldades técnicas, económicas ou de info-exclusão;"
Porque já se sabe que quem tem dificuldades em interagir por via digital vai conseguir sem problemas ser atendido e ver o seu problema resolvido por um assistente virtual de Inteligência artificial... *suspiro*
"Criar um modelo de número único de identificação para as pessoas e em-
presas, assim evitando que a mesma pessoa tenha de ter número de utente,
de cartão de cidadão, de contribuinte, de Segurança Social, de eleitor, etc;"
Só que a Constituição Portuguesa, no artigo 35º, nº5, estabelece que "É proibida a atribuição de um número nacional único aos cidadãos". Quer dizer, eles podem estar a dizer que querem mudar este número na constituição, mas também foram eles que disseram que uma revisão constitucional não é uma prioridade deste governo... em que ficamos?
"Criar um modelo de número único de identificação para as pessoas e em-
presas, assim evitando que a mesma pessoa tenha de ter número de utente,
de cartão de cidadão, de contribuinte, de Segurança Social, de eleitor, etc;"
Só que a Constituição Portuguesa, no artigo 35º, nº5, estabelece que "É proibida a atribuição de um número nacional único aos cidadãos". Quer dizer, eles podem estar a dizer que querem mudar este número na constituição, mas também foram eles que disseram que uma revisão constitucional não é uma prioridade deste governo... em que ficamos?
A #desburocratização prometida pelo novo #Governo é o que já se suspeitava, agora vertida na sua proposta de programa de governo. Esta frase resume bem o que se pretende fazer:
"Tudo isto assenta num princípio essencial: o da confiança. O Estado deve confiar
nos cidadãos, reduzindo exigências injustificadas, adotando regras como o deferimento tácito e mecanismos de controlo eficazes e justos. A confiança é a base de uma administração mais ágil, mais humana e mais justa – e o antídoto contra a
corrupção que se alimenta da opacidade e da lentidão."
Se acham que isto não parece muito mal, porque afinal só se fala em tirar as exigências que não são justificadas, e que apesar da ideia central é no de confiar que ninguém vai agir mal continuam a haver mecanismos de controlo eficazes... note-se que esses são "mecanismos de controlo e fiscalização a posteriori" - isto é, só depois do mal estar feito é que se vai ver se o Governante submeteu os dados que devia, se o concurso público não era para uma obra que até já estava feita, ou uma dessas muitas coisas que temos de confiar que não vão acontecer.
Em suma: vamos ter menos corrupção porque vamos ter menos e piores mecanismos para detectar a corrupção, e como é tudo mais simples e rápido e algumas coisas até passam a ser legais, pode ser que isto funcione.
A #desburocratização prometida pelo novo #Governo é o que já se suspeitava, agora vertida na sua proposta de programa de governo. Esta frase resume bem o que se pretende fazer:
"Tudo isto assenta num princípio essencial: o da confiança. O Estado deve confiar
nos cidadãos, reduzindo exigências injustificadas, adotando regras como o deferimento tácito e mecanismos de controlo eficazes e justos. A confiança é a base de uma administração mais ágil, mais humana e mais justa – e o antídoto contra a
corrupção que se alimenta da opacidade e da lentidão."
Se acham que isto não parece muito mal, porque afinal só se fala em tirar as exigências que não são justificadas, e que apesar da ideia central é no de confiar que ninguém vai agir mal continuam a haver mecanismos de controlo eficazes... note-se que esses são "mecanismos de controlo e fiscalização a posteriori" - isto é, só depois do mal estar feito é que se vai ver se o Governante submeteu os dados que devia, se o concurso público não era para uma obra que até já estava feita, ou uma dessas muitas coisas que temos de confiar que não vão acontecer.
Em suma: vamos ter menos corrupção porque vamos ter menos e piores mecanismos para detectar a corrupção, e como é tudo mais simples e rápido e algumas coisas até passam a ser legais, pode ser que isto funcione.
Gopher is a small world. It’s slow and cozy.
And much like twtxt, the protocol is simple(r), so it’s easier to tinker with it.
Gopher is a small world. It’s slow and cozy.
And much like twtxt, the protocol is simple(r), so it’s easier to tinker with it.
time="2025-06-14T15:24:25Z" level=info msg="updating feeds for 8 users"
time="2025-06-14T15:24:25Z" level=info msg="skipping 0 inactive users"
time="2025-06-14T15:24:25Z" level=info msg="skipping 0 subscribed feeds"
time="2025-06-14T15:24:25Z" level=info msg="updating 80 sources (stale feeds)"
AI Agent learning to play Connect3!
> and have an unexplainable dislike for its creator.
What? What? 😅 🤔
prologic.blog domain from µBlog and redoit with my handy zs tool with some nice CSS 🤣
If I feel like it, I do. If not, I don’t. Not social, not intended for anyone to see them. I am enjoying it!
Baby tomatoes starting to get red
Baby tomatoes starting to get red
Gopher and Mastodon are two completely different things. That’s where my confusion comes from.
I still have WireGuard running—because it is so lite that it doesn’t matter—to use as regular VPN, but Headscale keeps all my devices connected forming their own “mini-Internet” 100% of the time.
the physical copy of the 2000s game tux racer from the front, showing box art of tux racing on his stomach with the game's logo above him
the physical copy of the 2000s game tux racer from the front, showing box art of tux racing on his stomach with the game's logo above him
"We bring you the delights of Scott Marshall Hurdy Gurdy, and Bristol's Dead Space Chamber Music, with a little Sieben to kick off proceedings. Come join us in the garden!"
Starting *now*!
https://www.youtube.com/live/k9V92zE4dyk
"We bring you the delights of Scott Marshall Hurdy Gurdy, and Bristol's Dead Space Chamber Music, with a little Sieben to kick off proceedings. Come join us in the garden!"
Starting *now*!
https://www.youtube.com/live/k9V92zE4dyk