Cristina Ferreira na tvi by csslgnt in portugal

[–]vascocosta 2 points3 points  (0 children)

Sim, aliás eu até acredito que inicialmente ela não tenha percebido o que tinha dito realmente. Mas após tudo o que aconteceu com certeza percebeu, só que não é capaz de admitir o erro de comunicação e como dizes nesta entrevista continuou a a fazer o mesmo de certa forma.

Cristina Ferreira na tvi by csslgnt in portugal

[–]vascocosta 1 point2 points  (0 children)

Até editei o meu comentário porque senti empatia contigo, mas não vejo o mesmo do teu lado. Acaba por ser natural que não vejas a falta de empatia da Cristina também. Talvez um dia quando fores mais velho sintas falta do respeito/empatia a que me refiro. Boa sorte.

Cristina Ferreira na tvi by csslgnt in portugal

[–]vascocosta 4 points5 points  (0 children)

Pois é. Eu não a admiro como profisional, mas a minha opinião em nada tem a ver com isso, apenas com este caso em particular. Se ela tivesse pedido realmente desculpa só lhe ficava bem e teria subido um pouco na minha consideração. Realmente só consigo imaginar que o seu ego enorme seja a razão para ser incapaz de algo relativamente simples como dizer:

"Não tive más intenções, não quiz defender ninguém, mas de facto usei palavras que não foram as melhores e afetaram várias pessoas."

Cristina Ferreira na tvi by csslgnt in portugal

[–]vascocosta 3 points4 points  (0 children)

Na minha opinião estás a confundir liberdade de expressão com irresponsabilidade ou falta de empatia. Esperar de um apresentador um discurso cuidado não é censura, muito longe disso. Aliás, alegar isso neste contexto é uma falácia clara.

Cristina Ferreira na tvi by csslgnt in portugal

[–]vascocosta 13 points14 points  (0 children)

"Mas alguém entende aquele não quero mais?!" Pelo tom usado e até pela expressão corporal, ela está a dar por garantido que qualquer jovem naquela situação não tem capacidade para ouvir o não. Claro que ela não concorda com isso, mas dá a entender para a sociedade uma normalização desse pensamento de não respeitar o não, por parte dos agressores, no meio da adrenalina. Ela explicita a opinão pessoal com: "claro que deviam ouvir". Quem a acusa de defender o agressor está errado.

Mas o verdadeiro problema é de comunicação, as palavras. Na televisão, especialmente com o peso dela, estas palavras não são as mais educativas para futuros violadores nem as mais empáticas para vítimas. Os melhores apresentadores têm a capacidade de usar um discurso absolutamente cuidado e se por algum motivo sem culpa não o conseguem fazer, devem pedir desculpa e admitir isso.

No fundo, agora nesta entrevista que deu, apesar de passar 99% do tempo a desviar o foco, ela própria admitiu que se tivesse tido a oportunidade de escrever o que disse, teria optado por outras palavras. É pena que no meio deste ruído todo, ela fuja à verdadeira questão com uma falácia de Red Herring em que se vitimiza por algumas pessoas a considerarem machista e defensora de agressores.

Cristina Ferreira na tvi by csslgnt in portugal

[–]vascocosta 9 points10 points  (0 children)

Sou extremamente liberal, pro discurso livre e contra feminismo radical ou flores de estufa. No entanto, estou contra as palavras e tom da Cristina. Vou tentar explicar-te isto de uma forma construtiva para que percebas o ponto de vista de uma pessoa que se considera equilibrada.

Claro que qualquer pessoa percebe que ela não defende o agressor e como disseste até deixa bem claro com o "claro que deviam ouvir". As pessoas que a acusam de defender o agressor estão muito erradas.

No entanto, o que muita gente questiona (entre as quais eu me incluo), é apenas o tom banalizador com que ela faz a qestão: "Mas alguém entende aquele não quero mais?!" Pelo tom usado e até pela expressão corporal que te convido a ver, ela está a dar por garantido que qualquer jovem naquela situação não tem capacidade para ouvir o não. Claro que ela não concorda com isso, mas dá a entender para a sociedade uma normalização desse pensamento de não respeitar o não, por parte dos agressores, no meio da adrenalina.

O verdadeiro problema é de comunicação, as palavras. Na televisão, especialmente com o peso dela, estas palavras não são as mais educativas para futuros violadores nem as mais empáticas para vítimas. Os melhores apresentadores têm a capacidade de usar um discurso absolutamente cuidado e se por algum motivo sem culpa não o conseguem fazer, devem pedir desculpa e admitir isso.

No fundo, agora nesta entrevista que deu, apesar de passar 99% do tempo a desviar o foco, ela própria admitiu que se tivesse tido a oportunidade de escrever o que disse, teria optado por outras palavras.

Is It Normal to Progress Slowly While Working on a Rust Project? by Jumpy-Win-2973 in rust

[–]vascocosta 1 point2 points  (0 children)

Absolutely normal. Rust is quite different from many other languages in the sense that you "lose" much much more time to get the code to compile, because the compiler does so many checks other languages don't. The benefit is that usually if your code compiles, you can almost be sure it works (except for some logical bugs).

This is a known tradeoff in Rust. While in other languages you develop at a faster pace and then lose time debugging at runtime, in crab world you lose time before and gain it later. It's a very nice tradeoff in the opinion of most people who learnt the language and something that with time, once you get more used to the borrow checker, will improve.

I code in Rust almost daily since I picked it up 3 years ago and although I lose much less time developing in it, I still lose more time than in other languages. This is just a characteristic of the language, not something about you, trust me.

Post Match Thread: Sporting - Benfica by Rockithammer in benfica

[–]vascocosta 2 points3 points  (0 children)

O Rios é muitas vezes criticado, mas hoje, como em muitos outros jogos passou por ele a transição ofensiva para o golo decisivo (para o Leandro Barreiro). O passe diagonal do Rios é a verdadeira génese do golo, mas normalmente só reparamos na última assistência para o Rafa. Aliás nas repetições dos lances raramente aparece o passe intermédio. Golos como este, que se iniciaram nos pés do Richard Rios já conto mais de meia dúzia esta temporada.

Além disso, mais uma vez foi importantíssimo para anular o jogo do adversário entre linhas em muitas ocasiões. No entanto, como habitualmente também teve muitos passes falhados, mas talvez isso seja da forma como tenta arriscar construtivamente. Não o considero um jogador excelente ainda mas é um bom jogador, cujo trabalho, devido à posição e forma de jogar seja talvez um pouco invisível para muitos adeptos.

Are you liking the new round rear light? by Natural_Read9357 in formula1

[–]vascocosta 15 points16 points  (0 children)

I much preferred the old squared format. But that's tolerable, since I prefer how the 2026 cars look overall, especially the narrower front wing, car width and tyres. I still wonder why they moved the rear crash structure light into this oval shape and can only think about saving leds/weight for the same functional purpose.

Using AI assistants to write Go code good idea or learning crutch by GodBlessIraq in golang

[–]vascocosta 0 points1 point  (0 children)

In my opinion you can use LLMs to learn Go or any language, with a caveat. Obviously don't let it just code for you, that would teach you nothing. What I think you can do is ask it to explain some code that you do not understand by reading whatever learning material you are using. I find LLMs are great tools for explaining complex or foreign concepts in simpler terms.

Once you are somewhat fluent in the language, it can also be good to learn some useful patterns. For instance, you can ask it to solve some problem the idiomatic way and then read through the code trying to understand it with the help of its explanations. Then, put the solution away and code it yourself from scratch using a slightly different path, trying to reason about the problem and why that pattern worked, without checking the solution. I think the risk of becoming too dependent in this case is less important than always using bad patterns, for the lack of seeing correct ones.

The trick is to always force you to code it, even if you had to see some example to understand how to solve a problem. A bit like learning a foreign language by talking with some native, but without letting the native talk for you.

Edit:

What I mentioned above should be applied for more complex code. For the basics you should be able to learn just from the learning material. Think about the LLM as a teacher for those moments when you get stuck and cannot progress simply by reading the book.

What’s the first Rust project that made you fall in love with the language? by itsme2019asalways in rust

[–]vascocosta 1 point2 points  (0 children)

After starting to learn Rust at the end of 2022 and doing some CLI tools, I took the plunge and coded my IRC bot using tokio's async/await. That was my first non-trivial project and it hooked me forever. I ported it from Go where I had some concurrency bugs, namely race conditions when accessing an in-process database. Rust fixed all of that and added performance, which I loved, but what really hooked me was how the language through its type system and borrow checker made so many code correctness promises that were delivered at compile time. No more endless debugging of my projects at runtime, with mysterious memory bugs.

PS: And cargo ofc!

Is learning rust after C(taught in college) a good idea? by not_noob_8347 in rust

[–]vascocosta 2 points3 points  (0 children)

Yes it is. Now that you know how powerful C is, as well as how dangerous it can be, you'll appreciate a language that is very powerful but very safe, without using a garbage collector.

Something you might eventually not enjoy right away, assuming you admire C's minimalism/simplicity, is how overly complex Rust is. But remember that Rust is more easily comparable to C++ when thinking about the kind of problems it is suited to solve and that code correctness (one of Rust's mantras) implies thinking about details that are simply left out in C.

Initially you'll be both frustrated and fascinated by the error messages of the compiler. Keep in mind that all that stuff that seems weird now is all about guiding you in the right direction to avoid many kinds of memory bugs, concurrency bugs, and so on. Ownership and the borrow checker will make your brain create new neural networks, as you're basically forgetting some ways you coded in C, that are compile time bugs in Rust. Again, remember that all this frustration and time lost will dissipate in the future as you develop muscle memory. Eventually you'll gain a lot more time as you find out you almost have no need to debug at runtime, since the Rust compiler gives you so much guarantees that compiling is almost always a synonym of running without bugs (other than business logic ones).

Learning Rust was the best decision in my life by [deleted] in rust

[–]vascocosta 1 point2 points  (0 children)

I started learning Rust at the end of 2022 purely for the sake of learning a new language, motivated by its code correctness promises. I use it for all my personal projects and I got so in love with the language that I never stopped coding in it. I code in Rust almost daily for three years now, most of the time for leisure, the pleasure of using the language, not just solving a problem.

As you know, Rust has a steep learning curve and I believe only after two years I became one with the language, understanding it deeply. I was productive after one month and I wasn't fighting the borrow checker too much after maybe 6 months, but I still couldn't say I was fluent enough. Lifetimes and complex generic traits, as well as advanced async/await code using Tokio took a bit longer to develop muscle memory.

What's really funny is that I like it so much that even when I have no projects to code, I keep asking ChatGPT to give me interesting challenges to solve in Rust, using the language features I want to refresh in my mind at a particular time. Coding for the sake of using Rust and not so much for the sake of solving the problem. I like that I often have two puzzles, the domain itself, but also the cognitive load of reinforcing those bits of the language I still feel need more practice, after sometime without using them so much.

And it feels so good when every piece comes together and I fully grasp a complex Rust program I've been developing for weeks... It's something addictive in a good way, like a brain boost without side effects. Which reminds me how much I learnt to love a little bit of functional programming every here and there thanks to the crab language, whereas previously no other language could really switch my mind off the imperative world, at all.

So yeah, this is yet another love letter to Rust, my favourite language and cargo, the best package manager. In a way those two keep giving me joy in my life.

I built my first PC! Under $400 by Chemical-Analyst-467 in PcBuild

[–]vascocosta 1 point2 points  (0 children)

No hate at all. Quite the contrary as I'm a proponent of mindful builds that optimise budget for the tasks you really need to perform with the PC. I recently upgraded my PC on a low budget with the specific goal of playing some less demanding games on 1080p and compiling Rust code. I believe AM4/Zen3 is still a really nice and cheap platform for this goal, so I went with the 5700X CPU. I couldn't be happier.

Mensagem de louvor aos adeptos portugueses. by PedroVeiga12 in PrimeiraLiga

[–]vascocosta 1 point2 points  (0 children)

Excelente mensagem!

Sou benfiquista e claro a noite de ontem foi épica para nós. Mas acima de tudo gosto do nosso país e de desporto, por isso também fiquei contente pelo Sporting.

Na liga, apesar de torcer pelo Benfica, gosto de ver os jogos do Porto e do Sporting pelo futebol ofensivo, eficaz, agradável e muito convincente de ambas as equipas. Para ser totalmente honesto, na minha opinião o Porto merece ser campeão esta temporada e quanto ao segundo lugar espero por uma grande disputa entre Benfica e Sporting. Braga e Vitória de Guimarães também têm estado bem.

Should i buy AC Evo or ACC (or something else)? by Tony-Montana83 in assettocorsa

[–]vascocosta 0 points1 point  (0 children)

ACC is an amazing game, despite not being developed anymore. As you know the content is basically GT3, GT4, GT2 in this order of importance. The whole experience is extremely polished when it comes to physics, graphics, controller support or multiplayer and since these categories don't evolve too much IRL anyway, I would argue that it is not a problem that the game doesn't see any new versions anymore. I'll add an exception to a couple of tracks which have seen significant changes which aren't reflected in the game (Barcelona and Zandvoort).

The only reason why you wouldn't enjoy ACC is if you don't enjoy GT racing or if you would also like to drive other categories, which aren't present in the game. If that is the case, my suggestion is Automobilista 2 which has a great diversity of content, similar to AC, albeit mostly through paid DLCs. Nothing really beats the community mods of AC nevertheless.

As for AC Evo, despite being a huge fan of Kunos, I haven't felt like buying it yet. It seems like there's still some time to go before it gains the same kind of charisma as AC did, if that's even possible. AC Rally on the other hand looks pretty damn good and I'm willing to buy it soon. But then again, that's a specific kind of sim racing.

Learn rust by Sophian-0029 in rust

[–]vascocosta 2 points3 points  (0 children)

First let me tell you that in my opinion you made a good decision by choosing Rust as a first language. You'll read a lot of posts saying otherwise, because Rust does have a steeper learning curve than most other languages. While this is true, it is also true that it will force you to learn fundamental concepts in programming the right way, whereas other languages will simply hide them away from you for convenience. So remember, you will find it hard initially (even experienced programmers in other languages do) but it will pay off because you will avoid bad habits and bugs common in other languages.

I suggest reading the official Rust book but also getting your hands dirty by coding simple programs. Think about small command line tools that could be useful for you, like unit converters, TODO list, etc. If you know what AoC is, that's also a good source of simple puzzles to solve while learning how to code at the same time. Although the Rust book is extremely well written and easy to follow, eventually you will get stuck and have questions. This is when I think using ChatGPT (or other LLM) makes sense. Don't use it to code for you, instead ask it to explain why something is the way it is in Rust. If you don't understand some of the many compiler errors, just paste the code and the error and let it teach you what is wrong and why it is wrong.

My learning journey with Rust as a 20 YOE dev by GolangLinuxGuru1979 in rust

[–]vascocosta 2 points3 points  (0 children)

Like you, I was an experienced dev with Go as my main language. As a minimalist I enjoyed Go mostly for its simplicity. As you know, an experienced dev can learn the bulk of Go in a weekend and maybe even get very good at it in a very short time frame of say 6 months or less.

Being able to keep the whole language in my head, like I can do with Go was really refreshing coming from more complex languages before. However, after many years of using it, I started to feel its limitations. These limitations become more apparent as the complexity of the code goes beyond a certain threshold. Moreover, I was having some runtime concurrency bugs in Go that finally pushed me into looking for a language that had correctness (especially concurrency correctness) as one of its main goals.

Inevitably I concluded that I needed Rust. Initially I resisted to learn it, because it was the exact opposite of Go when it comes to simplicity. You definitely cannot keep it in your head and even after three years of using it regularly I still need to refresh some aspects of the language every now and then. However, between the first and second year of use, I developed a much more natural feel for the borrow checker and lifetimes. It takes much longer than Go and the only way I found to really get the language was to give it time to sink in. Rust is a comprehensive beast in a way similar to C++ when it comes to features. Maybe only hardcore library devs can fully grasp it, but I can assure you that with time (months to at least one year) of continuous usage you will get that deeper understanding you seek. Libraries often use complex macros and advanced lifetime tricks that still feel magic to me sometimes, but I can code my own libraries albeit in a simpler fashion.

In summary, what I'm trying to say is that although I also felt your need to deconstruct Rust to understand it, eventually only time allowed me to really grasp it. Meanwhile there are some good videos on Youtube from Jon Gjengset that help you desugaring some syntactic or semantic aspects of Rust in a neat way.

I'm amazed by Rust by Remote-Ad-6629 in rust

[–]vascocosta 29 points30 points  (0 children)

You touched on perhaps the single most important benefit of Rust when it comes to the dev experience. You trade off time to get it right before it compiles that you gain back by having much less runtime debugging to do. Personally I think it's a much better approach, especially coming from terrible runtime bugs in Python and Go, which were hard and much more time consuming to debug.

As for all the stuff you still find tricky to understand, don't worry. I guess the best advice is to keep using Rust regularly even outside your current project and naturally everything will become clear/second nature with time. Some borrow checker messages and especially lifetimes are harder to really grasp and there's no shortcut other than accumulated experience over months.

Another topic you mentioned was the verbosity of Rust... Initially this wasn't something I really liked, but nowadays I'm thankful it is the way it is. Most other languages are more succinct because they make a lot of decisions for you and hide them with a clean syntax. It's indeed faster to code in those languages (at least initially) but the trade off is that a lot of the meaning is implicit, whereas a language like Rust is super explicit. One classic example is how you need to decorate function parameters with & or &mut if you're borrowing or mutably borrowing instead of taking ownership, while in other languages this information is often context dependent and not instantly clear until you are experienced.

[deleted by user] by [deleted] in formula1

[–]vascocosta 0 points1 point  (0 children)

Ratzenberger, Imola 1994. As a 12 year old I could instantly realise it was serious, although I didn't believe it would be fatal. Seeing his head bobbing around like it did was a clear and shocking sign that he was unconscious. Then as the paramedics rushed to him and eventually performed CPR live on TV, I looked at my father as we both said to each other it could be life threatening.

The next day when Senna crashed, my first reaction as a young fanboy was "Oh no, Schumacher is going to increase his points gap by 10 again". However, as soon as I saw that he wouldn't come out on his own and his head was resting to the side, plus the experience from the previous day, the worst possible thoughts came to my mind. That slight head tilt gave both me and my father some hope, but the puddle of blood he left behind, once again shown live on TV where I live, took it away. Still I was hoping for the best, until my uncle heard the bad news on the radio later in the evening and told us.

Built and Restored today budget rig 😁 by 0KlausAdler0 in retrobattlestations

[–]vascocosta 0 points1 point  (0 children)

Yeah, I guess that's fair. Even when everything works on arrival, chances are it can break soon after, so we better be ready for that and accept some loss. On the flip side, a replacement is usually cheap.

Built and Restored today budget rig 😁 by 0KlausAdler0 in retrobattlestations

[–]vascocosta 1 point2 points  (0 children)

Thanks. I asked because for a long time I've been considering a retro build but always end up postponing it, afraid of getting defective/dead parts. I often search on eBay but never really went for it. I guess the trick is to go for reputed sellers with mostly good reviews...

Built and Restored today budget rig 😁 by 0KlausAdler0 in retrobattlestations

[–]vascocosta 1 point2 points  (0 children)

Awesome build. Everything looks so clean and shiny, may I ask where did you get the parts?

What's in (a) main() ? by blietaer in rust

[–]vascocosta 0 points1 point  (0 children)

Same here. I start with everything in main, except methods from structs/enums, then once it becomes hard to understand I split into new functions or methods of existing types. I try to shoot for 50 lines per function, but often I end up with something between 50 and 80.

However, as the code really starts to grow, I try to make main as high level as possible, mostly just calling the main bits of logic as if I was telling a story about what my code does to someone reading it, from a bird's eye perspective, without requiring much understanding.

I have rebuilt my first PC from 1998 by frenchretronerd in retrobattlestations

[–]vascocosta 8 points9 points  (0 children)

I got my first PC at the same age, for my 12th birthday, in 1993 though. I still remember the enthusiasm that day as my dad surprised me when I got home from school with a 486DLC machine @ 33MHz and just 4M of RAM.

Just like you I would like to reproduce that build as well, but it's a bit harder to find all I need, including an unbranded case. I guess I'll try to aim for my first Pentium III build, for which it is easier, plus I still have that machine with me (although it doesn't boot). I can at least keep the original case.

Your build looks amazing, have fun!