13 karma · joined July 6, 2020
Wolfram alpha will literally answer.
Specifically I'd like to see us semantically identifying code objects and rather than doing commits in lines of code or whatever, print things out like "submitted a highly connected object" or "made amendments to some fields on a class" or "updates comments in a text file".
The current GitHub metrics reflect all of these changes as identical little "events of participation" but they're not indicative of the amount of work or effort put in to them.
I've never seen a tool (other than, arguably, an Operating System) that does all of this comfortably.
You might collaborate, however.
Now throw in Covid.
Welcome to hell.
Being homeless is excruciating no matter the country.
Personally, I think it makes accounting more annoying for businesses. I say leave the penny as it is, and move everyone to plastic.
They really didn't though. At the most, their likability is insignificant. I'm reading the Walter Isaacson biography on Steve Jobs and I can tell you: Yes, he was annoying as fuck, but that's not the reason he was successful. If anything, it hindered him repeatedly. He got to where he is because he recognized the genius of Wozniak and knew to push in a way that Wozniak never would have (and not because he didn't possess the talent, but because Wozniak chose not to take leadership roles; it's something his father taught him and something he decided for himself).
As I wrote in another post, I came up with the solution while out walking around and it was like an "Ah Ha!" moment, I think things are finally starting to click a bit more. I purposefully chose to write a chat server/client because it lets me work through language features one at a time. There is some basic printing/reading of console input (though I did go full blown Cursive), some networking, threading, and lots of string manipulations. I am not sure when lifetimes will come in to play, but I have started reading about them and I try to think about the lifetimes of my objects when I write.
I think Rust initially suggested I implement the Copy trait or something, and so I had to brush up on traits and all that (which I did), only to find that my types can't have traits because vec<T> doesn't implement the Copy trait. So I abandoned that.
The problem turned out to be that I needed a minor refactoring. I think the issue eventually turned out to be that I was mutably iterating through a list reading from TCPStreams, and then trying to write back to those streams. So it was like a read_object_from_stream(stream) on each element in a vector, and then the next line was a broadcast_to_all_streams(message) (I'm psuedocoding).
The fix for me (when I finally came to understand what was happening) was to read_object_from_stream(stream) in to an intermediary vector (I named it cache), and THEN iterate through the intermediary and broadcast each item.
In my notes I paraphrased it as "Instead of doing a readwrite, I separated my algorithm in to a READ and then a separate WRITE", because the way things were written I was double borrowing.
I keep wondering about whether the hype is justified - I must be slowing down because I find myself hanging for long periods of time on borrow checker errors. One of the errors has stopped my progress dead for a week now, I swear it worked a week ago and then Rust decided that a borrow I was doing was no good.
I've also heard the borrow-checker is a common hold up for new Rust developers, so I keep slogging on.