Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "rust"
Friends Pandemic December proposal: "We should all get on Zoom every weekend, play Christmas trivia games and do shots"
Family ideal Pandemic December: "Lets send each other Secret Santa presents throughout the whole month, and get on Zoom and unpack them"
Me: Chilled out on a reclining seat next to a freshly slaughtered green fir tree, burning hearth fire, warm wool sweater, faux fur slippers, big mug of liquored up hot chocolate, keyboard on my lap, writing a Rust library on big screen TV.
Sorry friends & family, y'all are doing holidays wrong.
-- signed, Grandpa Bittersweet.12
The 1st rule of Rust is: You tell everyone you program Rust and how it is better than basically any programming language that existed or will exist.
The 1st rule of C++ is: There are no rules because everyone was too busy debugging templates to think of any rules.
The 1st rule of Java is: You must have excessive numbers of classes and boilerplate. The more boilerplate the better.
The 1st rule of Haskell is: It is great to learn, but you will never see it again once you leave college.38
We can compile, transpile, and do all sorts of fucky internet things through an entire development pipeline and then troubleshoot through all sorts of hackery and dev sorcery to output html.
Or I can just index.php and be done with it.
I dunno man, I dig frontend and using the popular js libs to put shit online and be done without having to deal with the fuckery that is wasm or use something similar to Rust to bring shit to my clients.
9 times out of 10, these dudes have been well served with the php or node or even golang that i give them.
Seems that a lot of tools coming up just make shit harder.
Even VBScript seems simpler compared to the amount of web fuckery going on right now.
Yeah I keep current, but fuck, every day it seems as if shit was just getting more and more complex16
* Go to sleep at reasonable times
* Watch some of those anime I never quite finished
* Read more books
* Become more proficient with rust
* Replace go with rust at work
* Setup a weeb media center I can remotely
* Finally make a personal webpage/blog without overthinking things, to actually get it done
* Find or make a storage solution for all the memes I sto- I mean collected, where I can add tags to find them more quickly. Would love to have them have the tagging be done automatically with machine learning, but I don't think we're quite there yet.2
OK heavy rant on 'modern' software development coming! --> don't take it to seriously though :-)
Electron... why does that shit exist? It is like stacking all the worst technologies available to mankind into an enormous pile of crap and polishing that turd to look like something wonderful. It is big, slow and overall AWFUL!
An example? ... Microsoft Teams :-( it burns your PC like fire and makes it squeal for mercy.
When a library/framework becomes the ultimate evolution of abstraction layer upon abstraction layer and it simply should stop to exist and a reset button needs to be pressed.
I would love to see some research on the real world environmental impact that all those shitty slow and bloated web technologies have.
Software energy label!
C, C++ and Rust e.t.c. and all accompanying efficient UI libraries should be the only languages/implementations allowed to get a A, B and C label.
Consumers ruined software development and we the developers have little to no chance of changing it.
Recently I read a great blog post by someone called Nikita, the blog post talks mostly about the lack of efficiency and waste of resources modern software has and even tho I agree with the sentiment I don't agree with some things.
First of all the way the author compares software engineering to mechanical, civil and aeroespacial engineering is flawed, why? Because they all directly impact the average consumer more than laggy chrome.
Do you know why car engines have reached such high efficiency numbers? Gas prices keep increasing, why is building a skyscraper better, cheaper and safer than before? Consumers want cheaper and safer buildings, why are airplanes so carefully engineered? Consumers want safer and cheaper flights.
Wanna know what the average software consumer wants? Shiny "beautiful" software that is either dirt ship or free and does what it needs to. The difference between our end product is that average consumers DON'T see the end product, they just experience the light, intuitive experience we are demanded to provide! It's not for nothing that the stereotype of "wizard" still exists, for the average folk magic and electricity makes their devices function and we are to blame, we did our jobs TOO well!
Don't get me wrong, I am about to become a software engineer and efficient, elegant, quality code is the second best eye candy next to a 21yo LA model. BUT dirt cheap software doesn't mean quality software, software developed in a hurry is not quality software and that's what douchebag bosses and consumers demand! They want it cheap, they want it shiny and they wanted it yesterday!
Just look at where the actual effort is going, devs focus on delivering half baked solutions on time just to "harden" the software later and I don't blame them, complete, quality, efficient solutions take time and effort and that costs money, money companies and users don't want to invest most of the time. Who gets to worry about efficiency and ms speed gains? Big ass companies where every second counts because it directly affects their bottom line.
People don't give a shit and it sucks but they forfeit the right to complain the moment they start screaming about the buttons not glaring when hovered upon rather than the 60sec bootup, actual efforts to make quality software are made on people's own time or time critical projects.
You put up a nice example with the python tweet snippet, you have a python script that runs everyday and takes 1.6 seconds, what if I told you I'll pay you 50 cents for you to translate it to Rust and it takes you 6 hours or better what if you do it for free?
The answer to that sort of questions is given every day when "enganeers" across the lake claim to make you an Uber app for 100 bucks in 5 days, people just don't care, we do and that's why developers often end up with the fancy stuff and creating startups from the ground up, they put in the effort and they are compensated for it.
I agree things will get better, things are getting better and we are working to make programs and systems more efficient (specially in the Open Source community or high end Tech companies) but unless consumers and university teachers change their mindset not much can be done about the regular folk.
For now my mother doesn't care if her Android phone takes too much time to turn on as long as it runs Candy Crush just fine. On my part I'll keep programming the best I can, optimizing the best I can for my own projects and others because that's just how I roll, but if I'm hungry I won't hesitate to give you the performance you pay for.
Pomodoro timers work only when the task at hand is boring. Yesterday, I worked non-stop on some task I greatly enjoyed(Rust embedded) and I would get distracted if there was some disruption because some overrated technique.7
If there are bugs in your code, the problem 100% of the time is that you’re not using Rust. Just rewrite it in Rust, and all bugs, security, and performance issues will disappear. Any software not currently written in Rust should be rewritten in Rust. Rust is all you need to know as a Software Engineer. This future is Rust. Welcome to Software3.18
I bitch a lot about the complexity of Rust. But every time I do it I go ahead and applaud just how fucking good the compiler messages are.
A fucking thing of beauty.2
So, Rust again.
When I learned that Rust doesn’t support inheritance, only traits (interfaces), I was shocked at first.
Then I tried to remember when the last time was that I have used inheritance in the code that I write (not the code that I use).
And I could remember an instance some months ago. But I also remember that I was very unsatisfied with that design and refactored it to use composition instead. And it was much better.
One of Rust’s properties is that many good practices in other programming languages are enforced rules in Rust.
And in case of inheritance, it seems like Rust decided that composition over inheritance is such a good practice that it should be a rule.
I’m not 100% convinced that there never will be cases where inheritance is better. But I still like this radical idea of forcing the devs to do it "the right way" in the majority of (if not all) cases.
I think many devs will disagree.
What do you think?14
I hate the feeling you get when you do a lengthy, drooling task that once finished got you nowhere.
My day was mostly productive for a Sunday, woke up late as all Sundays, spent the afternoon writing a proposal and exercising when I saw a notification for a homework for tonight at 12.
A research paper about Dijkstra's philosopher problem, 8 pages minimum. To be honest I've seen the problem a long time ago while studying C++ and I had the theory down and that is my issue, it becomes inherently boring and useless in my head. Is in this situations that my mind gets lazy.
I wrote the first 3 pages in half an hour but I was done, I started revising the proposal and fixed a calculation error, checked Rust's take on the philosophers issue and decided to save it for winter break along with learning Rust (although got some basics down), made rough budget approximations for the next 3 months, lost myself a little bit on deep house music (notable tracks tadow from masego, nevermind - Dennis Lloyd and gold - Chet faker), etc...all in all it took me 3 hours more to finish the assignment, including breaks and dinner.
I am working on a lot of stuff lately and my main project's sprint ends this Tuesday and it pisses me off, after all that I learnt nothing new, got nowhere with my project and will probably get 80 because Google docs has no margin setting. Worse than being lazy for fun is inevitably being lazy for being compelled to do low priority tasks by your head's standards.6
Most successful? Well, this one kinda is...
So I just started working at the company and my manager has a project for me. There are almost no requirements except:
- I want a wireless device that I can put in a box
- I want to be able to know where that device is with enough accuracy to be able to determine in which box the device was put in if multiple boxes were standing together
So, I had to make a real time localization system. RTLS.
A solo project.
Ok, first a lot of experiments. What will the localization technique be? Which radio are we going to use?
How will the communication be structured?
After about two months I had tested a lot, but hadn't found THE solution. So I convinced my manager to try out UWB radio with Time Difference Of Arrival as localization technique. This couldn't be thrown together quickly because it needed more setup.
Two months later I had a working proof of concept. It had a lot of problems because we needed to distribute a clock signal because the radio listeners needed to be sub-nanosecond synchronous to achieve the accuracy my manager wanted. That clock signal wasn't great we later found out.
The results were good enough to continue to work on a prototype.
This time all wired communication would be over ethernet and we'd use PTP to synchronize the time.
There was a lot of trouble with getting the radio chip to work on the prototype, ethernet was tricky and the PTP turned out to be not accurate enough. A lot of dev work went into getting everything right.
A year and 5 hardware revisions later I had something that worked pretty well!
All time synchronization was done hybridly on the anchors and server where the best path to the time master was dynamically found.
Everything was synchronized to the subnanosecond. In my bedroom where I had my test setup I achieved an accuracy of about 30cm in 3d. This was awesome!
It was time to order the actual prototype and start testing it for real in one of the factory halls.
The order was made for 40 anchors and an appointment was made for the installation in the hall.
Suddenly my manager is fired.
Ehh... That sucks. Well, let's just continue.
The hardware arrives and I prepare everything. Everything is ready and I'm pretty nervous. I've put all my expertise in this project. This is gonna make my career at this company.
Two weeks before the installation was to take place, not even a month after my manager was fired, I hear that my project was shelved.
"We're not prioritizing this project right now" they said.
It would've been so great! And they took it away.
Including my salary and hardware dev cost, this project so far has cost them over €120k and they just shelved it.
I was put on other projects and they did try to find me something that suited me.
But I felt so betrayed and the projects we're not to my liking, so after another 2-3 months I quit and went to my current job.
It would've so nice and they ruined it.
Everything was made with Rust. Tags, anchors, RTLS server, web server & web frontend.
So yeah, sorry for the rambling.5
Seriously, at what point did the good, kind, selfless souls who write tutorials and guides online turn into fucking food bloggers?
I've been an engineer about 15 years, so I still have to google most of the code I write as I write it, and this week I've been learning a new framework.
Ten years ago it'd be "here's how to..." then the thing you want to do.
Now it's "For the longest time, I didn't want to use Gradle..." followed by a summary of the last week in their life.
I really don't care about your Journey with Rust, I want to know how to define an optional parameter. I don't give a rat's fucking dick how much faster this is than that, my hands are tied by whoever started this mess - just tell me how to make it work.
I guess there's something to be said for remembering things between sessions.4
I dunno why but I decided to look up programming languages in the urban dictionary. Currently, I am fucking around with Rust since I believe it is the best offering by far in terms of writing webassembly programs, or at least the one I like the most (blazor makes me pp soft, but I am still hoping it gets better)
This is what I found inside of the entry for rust:
"Rust is an ancient African word, meaning "I can't learn C++"
Also known for a borrow-checker which makes soydevs crazy."
I thought it was fucking hilarious.1
I started learning Rust and now I know the answer to the question "What would a programming language look like if the engineers were tasked with designing a bad programming language on purpose"16
Rust ahahaah hhaahah ahah
the trait bound `std::result::Result<std::string::String, std::io::Error>: std::convert::AsRef<[u8]>` is not satisfied
the trait `std::convert::AsRef<[u8]>` is not implemented for `std::result::Result<std::string::String, std::io::Error>`16
I am always perplexed by people who write stuff like: "I don't know why people would use Rust, I simply never write code with bugs in it"
Like, using C or C++ is fine of course, but don't pretend you're perfect and that all of your bounds are checked, all of your allocations are freed exactly once and that you never forget to lock a mutex.18
Finally got a new role from testautomation to Embedded sw dev. I will also have to learn Rust for embedded and elixir for web facing side, which is nice!5
I’ve just looked into Rust a bit deeper and was absolutely stunned by how many things it has in common with Swift. The Syntax, the features, the concepts, the "philosophy".
Previously I thought that Kotlin is what comes closest to Swift.
Anyway, Rust seems like a beautiful language and it’s no wonder that it is one of the most loved languages out there!
The compile time index out of bounds errors blew my mind!3
I’m excited because VM based languages such as Java are no longer in their prime on desktop and server and languages which compile directly to machine code (Go, Rust, Swift…) are finding a broader audience12
I have a bunch of computational steps in a Rust program, all very expensive. They all depend on each other, forming a cycle-free and rather small graph of dependencies which is not a tree. The results of each of them for a given input are likely used tens of times by the others, so I would like to cache the subresults dynamically.
How would I go about doing this, considering that caching (rightfully) requires mutable access to the cache and multiple operations often refer to the same subresult?
I can't ask SO because they'd just tell me to use another language or recalculate everything every time, fully convinced that difficult questions can only emerge from design mistakes.12
Tools are made for various audiences. Git is the de-facto standard for version management, so it can be complicated because people will still learn it (they more or less have to). Editors aren't as standard and they are to be used from the minute you start learning, so they have to at least be usable without a course or a handbook. I prefer the first type of tool because to use something really good I don't mind reading a book. Programming languages can fall in either category; Python was meant to be used by laics and is therefore very simple, sacrificing a lot for the sake of simplicity. Rust isn't meant to be used by anyone who isn't trained, and it comes with a great book that explains all the most important gotchas. Haskell doesn't have an official book AFAIK, but it has the best wiki I've ever seen in a programming language.
i have adopted rust in my hobby projects. very happy, i feel like i can correctly make things happen.3
Rust's DX is incredible. I previously published a couple packages to NPM and every step of the way i had to fight with NPM, Webpack, Rollup, Typescript and the mass of third party plugins for all of these that wired them together. Here it's literally just
I prefer to build my solutions bottom-up, creating a component right after identifying the need for it but before whatever would be using it, because this gives me the flexibility to think about the problem in the general sense and produce an optimal solution without overspecialization.
VSCode's Rust plugin is a bit overzelous about dead code detection and runs it whenever the codebase is deemed to be correct, highlighting every item that isn't referenced from main, even if it is referenced from something else that's unreferenced.
Whenever I finally defeat the borrow checker and produce a correct solution my entire codebase lights up in yellow like a christmas tree and I'm completely addicted to this.
This guy has to be trolling. If not I fear for the future of programming. The whole article suffers from a lack of any understanding of anything.
Reminds me of the post from here where a manager thought making a variable private prevents hacking.21
Actually kinda sad, that there is no pure rust ui framework out there, but rather mere adaptations of c/c++ frameworks for rust. It's better than nothing for sure, it just would be nice, if i could use a framework, that doesn't create a massive memory leak, because i looked at it funny.
In particular i'm using fltk-rs, and everytime I'm applying a font to some widget, 500kb get added as leaked memory. Doesn't sound like a lot, but for one it's a dynamically built application, so the order and amount of widgets changes, and this application is supposed to run days, if not weeks.
thanks to heaptrack i was able to pinpoint that to libpango, which i'm not even interacting with directly, but rather indirectly through the api.
Annoying, that i chose to use a language for actively preventing leaks and dangling pointers and stuff, but end up leaking memory because of a dependency somewhere.7
I love Rust's error messages, but I think they were trying to be a little too smart with the error reporting here and ended up relying too much on properties of the medium.
How the fuck do I tell which is which?
My hypothesis is that because #3 can only be a lower bound based on the phrasing of the sentence, and because #2 is an upper bound, the correct order is 2;4;1;3. But why do I have to do intermediate level English grammar exercises to read my error message?
My google search history:
tide with diesel rust
You can imagine the results.4
I like many things the rust language does but my god sometimes it looks just horrendously ugly and is awful to read24
Okay so I don't really know what I did but somehow my Rust executable that implements a parser for an assembly language all the sudden needs more than a minute to compile and is over 700 MiB in size 🤠4
Been trying #rust for 3 weeks now and I really like it. No hopes for a job, but it's nice to have different point of view when coding in Go.3
How come Rust is the most loved programming language? I wanted to give rust a try in my windows machine and when I run `cargo run` or `cargo build` is shows: linker `link.exe` not found
Okay, how to fix it?
you need to download 8GB+ of bullshitty visual studio C++ build tools just to run a simple rust programs! WTF!
Previously when I installed rust, it didn't need all these bullcrap. why now?10
Putting aside my ordinary moral horror for a moment I'd like to comment on rust.
I have never seen a language that seems to have very limited use that so many people make a point of pointing out their use of so proudly and I have to wonder why.24
Learn Rust and Elixir because of my hopefully new and exciting role. I want to become production ready developer for these languages as quickly as possible. But more than anything I want my new role not making me hate my profession.
And also I would like to start a long duration relationship. Can’t have it all though.3
What would be the easiest starting point on low level languages?
I started with java, learned to hate it.
I continued with web development, learned to hate it.
Continued with PHP, learned to hate it.
Continued with scripting languages like Python, NodeJS, etc.., hated it from the beginning but it was easy.
But everytime i touch something like c/c++/rust/etc i immeadiatly give up, because the syntax is so different than all these other high level languages and so much null/type safety and so on.
But i want to get into low level programming languages which compile to an executable and don't get executed on some "vm".12
I'm learning Rust as a case study for my own programming language. It's funny how many approaches exist to the humble loop.
- In classic procedural languages, a loop's job is to repeat actions, and as such it provides a multitude of tools to control this repetition.
- In all languages with iterators, a for-in loop is a construct that does something with every element of a collection. In languages with both iterators and generator functions, this can even be used to define a sequence in terms of another.
- In Rust, a loop is an expression that obtains its value through repeated execution. It can also be used like a classic loop, of course, but this is the interesting part.
- My little language is a functional language, so "loop" is the Y combinator. To loop means to define the value of an expression in terms of itself. It's the only looping construct, gets special treatment from the type checker and it's also used in recursive type definitions.
Quick questions for some vim lovers out there.
I've seen a lot of youtube videos of people using vim/nvim/spacevim/... as their main IDE, claiming that they are perfectly fine with this setup. However, most of this people are programming in not heavy object oriented languages, like JS, C, Rust, Go.
My question is: are there any Java developers who are using vim as IDE and are satisfied with their setup? Is is even possible to migrate from Jetbrains tools to your setup without huge productivity drop? By productivity I mean - a lot of IDE stuff like name refactor, great lombok support, debugging tools7
# Dev goals 2022
- Learn more Rust
- Create a steady source of side income by completing and monetizing side projects, creating NFTs, or maybe assisting a boot camp with tutoring or something (FT dev job is a start up which I like but nothing is certain.)
C/C++ - complex, very fast, used for OS dev
Java - Comparatively easy, fast, used app dev
Python - very easy, comparitively slow, used for app dev
Then there is this boy
Rust - Just fucks you up10
I love C and C++ but their dependency management stuck, there’s a package manager for them which offers a nice experience comparable to Go or Rust?4
Recruiter: I just had a look through your skillset and experience and wow - I am impressed. Looks like you have worked with quite a few different languages and those 2 FAANG companies really stand out when looking through your CV. So let me tell you something.. rather than me going through the roles I had in mind for you, why don't you tell me what would be the next big thing for you?
Me: Well I've been looking into Blockchain for a few years now; specifically Solidity and Rust with web3 now. It'd be great to at least have some exposure to any of these.
Recruiter: Ah yes, these are definitely the next big things, however the roles I have here right now for Solidity, Rust or web3, require around 3 years of commercial experience. I have a lead Rust engineer role, however they need someone who has worked on NFT based projects extensively.
Me: Sounds like you have made a decision to send me to another Nodejs/React role, so what's with the big talk then?5
At this point, I feel so far from tech and programming so nothing is exciting anymore, although, I'm working as a "software engineer".
Every job feels deadend and requires nothing but absolute mundane skills. I mean "make the text bigger"-joke does not come out of thin air. No science, engineering, and little-to-no standards are involved in most jobs.
This leads us to this: you can get excited about rust, fp, extra dazzling clean code, uncle Bob's sect of salvation coders or whatever but you'll be hit with reality so don't get your hopes up.1
I always make sure i can code on Vacation on my own projects. The flipside of this is tho: i never take time off, since my work is rather relaxed anyways.
My employer messages me about that recently, that i still have 100% of my vacation days left, so what i did is using it all up until the year is over. Essentially im almost all the time on vacation until the end of the year (+ a little), and can work on my own projects. One rust project might be in a publishable state soon actually.
Another day, another critical vulnerability due to an out of bounds write that could never have occurred in Rust
Finally!! The rust team fixed the environment setup thingies for Windows. Finally! I can run rust without needing to do all those bullshits like downloading things manually and installing thingies.
Thanks rust team. Good job5
It's a shame that people don't want to use F# but prise C# for how cool it became and continue becoming. At the same time, little do they know that many of the features were simply drawn from F#.
It's just rediculous how far this OO and C-Style syntax crap has progressed. They keep copying things from functional langugages, making the initial language to be a monstrocity like C++ is now, insted of just using languages like C#. I mean, it was right there before C#: async/task, immutablility, records, indexes, lambdas, non-null by default, who the hell knows what else.
Besides, many people (in my company at least) are just blindly overengineering with patterns and shit, where a simple function would be just enogh.
Watch some some NDC talks about F#, in particular those of Scott Wlaschin. It's just better in so many ways: less noice (I'm looking at you, brackets, commas and semicolons), the whole LOT of type inference and less duplication (just look at the C# signatures of linq methods - it's difficult to read them), immutability by default, non-nullable by default, ADTs and pattern matching, some neat features like type providers (how many times have used "paste special" or an online tool to create C# classes from a JSON/XML file, and how many times have your regenrated it because of schema changes?) and units of measure.
Of course, in some cases it's not optimal, in some cases mutable datastructures of C# are better for performance. But dude, how many performance critical systems have you wrote in C#? I mean, if it comes to performance you should use Rust or C++ or C after all.
My list of programming languages that started out promising but turned out to be bad:
Kinda often, the ecosystem around C/C++ kinda sucks
Compilers will give you hieroglyphs instead of readable errors.
Including a separate library, or a code generator, into your project is generally hell on earth to set up.
The language server often needs several seconds to come up with suggestions, some of which are complete nonsense.
The language itself lacks many basic features. C++20 will give us so many fancy things but we still can't convert an enum to a string.
I've programmed in C# and lately in Rust, and damn the developer experience there is just so much nicer overall.31
Limitation as a way to force creativity. What do you think about this?
Platforms such as Vine or Twitter limits you somehow, but people still found a way to build their creativity around and grow a following. At the same rate, most Game Jams give you a theme and sometimes some kind of limitations and the result is in almost every jam at least a few interesting games.
Now, looking specifically at dev work, some frameworks or languages limit you somehow. Lets think about Rust safety or Node single threadness.
Do you think those work as limitation to enhance creativity as well? Not necessary by design.6
Learning rust or go. Not sure which one yet, but I'm really interested in giving both a shot at some point. I just need to decide which one first, and build something nice with it.
Will probably go for another AWS certificate too, probable Architect associate.4
everything is going as planned! :)
Learned Rust Lang. i loved it (that doesn't mean i am done learning na? No! never stop)
new language i could do game memory hacking in without worrying about C++ memory leaks or issues. it also compiles to assembly! another of my favorite languages!
(i use rust for game development and other stuff)
i am not leaving C / C++ though that would be harsh!,
finished learning the android java api so im basically set anything i want to make i can just go on my pc, listen to music and write it out in a couple of days.
well phazor what are you going to do now?!
i will code till i am old.
i will leave my mark like a shid that made its skid in the bowl :)5
Where have i been? the answer is Yes. im still alive, caught rona 3 times never been better.
as a OKAY not pro developer i can create what i want.
and if you're wondering. Yes i have deleted my rants.
i use typescript. i will not go back to js.
RUST IS SUPERIOR TO C++
(i still use C++ because i am a mad cheater in android games this is gonna probably come to a halt soon i haven't been on my mobile a while)
all i literally had to do was sit at a computer for hours. stick to one language and just build projects on my own i stopped coding on mobile after one of my unstable projects had got access to my devices files. oh and last but not least tampermonkey sucks and my favorite game moo moo.io and sploop.io is full of macroers, cheaters and now nobody wants to play legitly in the game. i forgot this website and decided to take things slowly. time goes fast when your mind really be dazed.5
I was browsing google news when i saw a new IDE similar to Visual Code, it is built based on rust, it starts with pcle or pcie i tried hard to find it but i lost it even my damn phone browser didn't save it in history, anyone knows what I'm talking about please 🥺 ?9
It's nice that more and more languages are introducing async/await syntax, but by the example of Rust in particular I'm starting to wonder why we don't instead introduce this syntax for monads in general?
We could have a keyword (say, `bind`) which unwraps a value from any monad provided that the return value of the function is wrapped in the same monad. The ? operator does something a little similar, and I'll be intrigued whether it can actually be implemented for monads other than Result and Option once GATs are stabilized. In particular in the case of Rust, it would be possible to create a reference counting monad for heap-bound management of objects derived from references.9
Looking further into Rust, the macros are quite sexy. My first reaction was "omg really"? But then I learned that macros in Rust are nothing like macros in C++.
Again, comparing with my favorite language Swift, it feels like Rust macros are somewhat similar to result builders (formerly named function builders). Or they they have a similar purpose. Both evaluate to some type safe result at compile time and are a perfect tool to make DSLs.
But Rust’s macros can do even more than that. It’s truly amazing.2
While its really hard to get code wrong in Rust, it is also really hard to get code right in Rust. It took me a considerably long time to write a code which returns the first word in the sentence
I felt the borrow checker introduces a steep learning curve into Rust which is otherwise a beautiful language according to me. C++, my current favorite language, also suffers the same problem with respect to certain language features.3
Why is it that so much of the Apache software for data is written in... Java?
I'm not a veteran Data Engineer, but I cannot imagine what makes Java better than Rust or Go11
Mark Russinovich, the chief technology officer of Microsoft Azure, says developers should avoid using C or C++ programming languages in new projects and instead use Rust because of security and reliability concerns.30
Experimented with embedded Rust. Fuck that. C is a brilliant small language. Trustworthy. Rust is just C++ killer, it doesn’t belong in embedded domain. Bloated syntax, verbose error handling, crap quality crates with little to no documentation.18
Please don't use OS specific libraries/binaries/build tools...etc
I'm talking to C/C++ users here. once in a while I see something on github maybe im just curios maybe I find your niche code useful but then you use make (who the hell still uses make?) or your library depends on another library than can only be mindlessly installed in a unix environment. and the most obscene of all a solution file...
thank god for rust.14
I can work productively and for very long hours with a lot of stuff which many dev considers productivity hurdles:
- single small monitor? No problem (in fact in one occasion in which my roommate accidentally broke my laptop charghing port and I couldn't get a spare I worked on an iPad connected trough SSH to a Linux machine completing one of the hardest tasks I ever did without significant loss of productivity)
- old machine? That's ok as long as I can run a minimal Linux and not struggle with Windows
- noise and chatter around me? A 10€ pair of earbuds are enough for me, no noise cancelling needed
- "legacy" stack/programming language? I'd rather spend my days coding in Swift or Rust but in the end I believe which is the dev and its skill which gets the job done not fancy language features so Java 8 will be fine
- no JetBrains or other fancy IDE? Altough some refactoring and code generation stuff is amazing Neovim or VS Code, maybe with the help of some UNIX CLI tools here and there are more than enough
despite this I found out there is a single thing which is like kryptonite for my productivity bringing it from above average* to dangerously low and it's the lack of a quick feedback loop.
For programming tasks that's not a problem because it doesn't matter the language there's always a compiler/interpreter I can use to quickly check what I did and this helps to get quickly in a good work flow but since I went to work with a customer which wants everything deployed on a lazily put together "private cloud" which needs configurations in non-standard and badly documented file formats, has a lot of stuff which instead of being automated gets done trough slowly processed tickets, sometimes things breaks and may take MONTHS to see them fixed... my productivity took a big hit since while I'm still quick at the dev stuff (if I'm able to put together a decent local environment and I don't depend on the cloud of nightmares, something which isn't always warranted) my productivity plummets when I have to integrate what I did or what someone else did in this "cloud" since lacking decent documentation everything has do be done trough a lot of manual tasks and most importantly slow iterations of trial and error. When I have to do that kind stuff (sadly quite often) my brain feels like stuck on "1st gear": I get slow, quickly tired and often I procrastinate a lot even if I force myself out of non work related internet stuff.
*I don't want this to sound braggy but being a passionate developer which breathes computers since childhood and dedicating part of my freetime on continuously improving my skill I have an edge over who do this without much passion or even reluctantly and I say this without wanting to be an èlitist gatekeeper, everyone has to work and tot everybody as the privilege of being passionate in a skill which nowadays has so much market1
⛔ Rust error: expected Config, found ().
💡 Actual error: process is undeclared.
The actual error has no relation to the error reported by the Rust code checker. So bad7
Do you use rust for production apps? if yes:
1. which framework do you use to build the server?
2. how do you work with mongodb?
3. how do you handle authorizations?
4. any beginner friendly project idea?1
Did someone already thought about how color highlight can be better? It's been 4-5 years now that I'm coding on a virtual console that run on iPad with a monochrome code editor. Despite the fact that's remind me the old days when I was 8 years old, that doesn't stop me for coding with it.
I mean, is it really important to know that strings are red and numbers are yellow? How does that help me? They are both literal and behave to the user-content categories.
I was talking with my friend, and he says he likes to know if something is a keyword or an identifier. In C++, a lot of common keywords to define stuff and control the flow are often the first word and easy to spot.
A couple of months ago, I tried Flutter, and the editor can highlight ident blocks and give them different colors, but with Flutter, it's easy to get 10 or more ident levels, Does the color help? Splitting the code does.
I think, there is so much stuff that is more important than coloring the grammar of a language. For instance: knowing if an identifier belongs to which Rust Crate because, It's easy to stack 10 or more dependencies in one file that as better chances of names collisions.
Knowing if an identifier was recognized, if it used, if it's a local, a member, a global, a compiled value or a macro seems more important.
I would like to color block of code that is important or sensible. That will help my coworker about the severity of a particular place in the code.
What do you think?1
Why do people obsess over Rust for some reason ? Is there any real-world reason to do so ? Can anyone enlighten me please ?5
I wrote a small crate that does unsafe operations, please help me verify its soundness: https://github.com/lbfalvy/bound
(Also I think you'll like it, I'm solving a fairly abstract problem that's not possible in safe Rust)
It's essentially a struct that ties together a heap reference and a struct that's constructed from it. The main use case is to return lock guards derived from Arc<Mutex> but it's defined in a very abstract way intentionally because I'm using Marc from mappable-rc and async-std's RwLock and I didn't want this to depend on either crate.
It actually has no dependencies apart from STD (I think this one may be unavoidable)
I identified the need for a product akin to an ORM that maps an algebraic type system such as that of Rust to a key-value database (my situation dictates lmdb but I'd like to abstract away the store). Can you recommend prior art for me to research?4
When I try to install package 'cryptography' for Python,,, C++ and RUST compilers are launched by the pip package installer. The compilation fails. Is there any chance to avoid this error? 🐍🐞4
I could really do with HKT support in Rust right now. I need to somehow convert a
Marc<Task<Output = T>> into a
Task<Output = Marc<T>> where Marc is a Mappable Atomic Reference Counter from the mappable_rc crate. Nothing technically challenging in the whole operation, it's just not supported by the type system without those two types knowing about each other.
I predict as soon as impl specialization enters stable Rust - if it will extend to member types - CRTP will become omnipresent, because the nature of CRTP is that it's an incredibly unintuitive solution that emerges from simple answers to common questions.2
Our company has the opportunity to start moving towards a more microservices architecture approach.
There is so much technical debt that needs to be paid back, this opportunity is a godsend!
Now, of course, the whole "programming language debate" comes into play at this point.
To provide some context, we've reached the point where we need to be able to scale, and at the same time where speed and performance are also important. I would argue that scale is of more importance at this stage.
Our "dev manager" (who is really only in that position since he's the oldest, like scribbling on a notepad and the sound of his own voice) wants to use Rust, as this is a peformant language. He wants to write the service once and forget about it. (Not sure that's how programming works, but anyhoo). He's also inclined to want to prematurely optimize solutions before they're even in production.
I want to use Typescript/NodeJS as I, along with most on the team are familiar with it, to the point that we use it on a daily basis in production. Now I'm not oblivious to the fact that Rust is superior to Typescript/NodeJS, but the latter does at least scale well. Also, our team is small - like 5 people small - so we're limited in that aspect as well.
I'm with Kent Beck on this one...
1. Make it work
2. Make it right
3. Make it fast
We're currently only at step 1, moving onto step 2 now!7
I swear to god, getting Chumsky to do my bidding has almost taken longer than writing a parser by hand. I'm not looking for operator precedence, I'm not looking for complicated rules or anything, the main part of my language is literally just S-expressions, with some top level bells and whistles.
I don't even have a working lexer yet because I wanted to use this piece of shit library which usually matches the fewest possible characters to parse significant newlines but the Padded combinator takes as much whitespace at the end as it can find, and a host of other atomics don't actually adhere to the library's lazy principle in their procedural implementation. I've had enough. I'm going to bed, and tomorrow I'm writing tickets.
Actually, I'll probably also write PRs because I actually want the fixes to exist and not just complain about the problems, but I also really want to complain before I get started on that because I spent about two weeks just on this bullshit.3
So I wanted to learn rust, and I was thinking: practice is the best way so naturally I went on to leetcode
After spending 4 hours to solve two questions I was like: fuck it, why do I need to go back and forth to the discussion page, why not just show it to me.
So now I spent 4 days to develop a chrome extension that shows the top 10 solutions in the discussion page for a specific question with specific language.
I showed to friend and she was like: you look at the discussion?
The moment I realized that I developed a hot pile of garbage3
#Suphle Rant 2: Michael's obduration
For the uninitiated, Suphle is a PHP framework I built. This is the 2nd installment in my rants on here about it.
Some backstory: A friend and I go back ~5 years. Let's call him Michael. He was CTO of the company we worked at. After his emigration, they seem to have taught him some new stack and he needed somewhere to practise it on. That stack was Spring Boot and Angular. He and his pals convinced product owner at our workplace to rebuild the project (after 2+ years of active development) from scratch using these new techs. One thing led to the other, and I left the place after some months.
Fast forward a year later, dude hits me up to broach an incoming gig he wants us to collab on. Asks where I'm at now, and I reply I took the time off to build Suphle. Told him it's done already and it contains features from Spring, Rust, Nest and Rails; basically, I fixed everything they claimed makes PHP nonviable for enterprise software, added features from those frameworks that would attract a neutral party. Dude didn't even give me audience. I only asked him to look at the repo's readme to see what it does. That's faster than reading the tests (since the docs are still in progress). He stopped responding.
He's only the second person who has contacted me for a gig since I left. Both former colleagues. Both think lowly of PHP, ended up losing my best shot at earning a nickel while away from employed labour. It definitely feels like shooting myself in the foot.
I should take up his offer, get some extra money to stay afloat until Suphle's release. But he's adamant I use Spring. Even though Laravel is the ghetto, I would grudgingly return to it than spend another part of my life fighting to get the most basic functionality up and running without a migraine in Spring. This is a framework without an official documentation. You either have to rely on baeldung or mushroom blogs. Then I have to put up with mongodb (or nosql, in short).
I want to build a project I'm confident and proud about delivering, one certified by automated tests for it, something with an architecture I've studied extensively before arriving at. Somewhere to apply all the research that was brainstormed before this iteration of Suphle was built.
I want autonomy, not to argue over things I'm sure about. He denied me this when we worked together. I may not mind swallowing them for the money, but a return to amateur mode in Spring is something I hope I never get to experience soon
So, I'm wondering: if his reaction reflects the general impression PHP has among developers globally, it means I've built a castle on a sinking ship. If someone who can vouch for me as a professional would prefer not to have anything to do with PHP despite my reassurance it'll be difficult to convince others within and beyond that there could be a more equipped alternative to their staple tool. Reminds me of the time the orchestra played to their deaths while the titanic sank16
You know what sucks? Android having only 2 languages for their android app documentation why can't it at least support rust or typescript or other languages, im sick of all of this "fun" stuff
if you would choose the android documentation language what would you pick? ;o
my jetbrains ide is currently crying in a corner...13