
Helloooo! I am Moose! They/Them/He/Him I am a embedded software engineer with autism, depression and anxiaty ( Wooo! ). I post about... whatever I want... software things, mental health things... whatever I feel like Feel very wellcome to send me asks about... anything that strikes your fancy :3
266 posts
Fun Fact. Markdown... Is A Markup Language
Fun fact. Markdown... is a markup language
If you do not know what markup is... you should look it up. It is basically HTML that works both encoded and as clear text. Meaning it is the perfect note taking "language". In reality it is "just" a convention for how to write super nice-looking notes that have been tested by millions of people to be the very best it can be.
No big deal.
Oh also it is free, you do not even need a special program to look at it. Your browser can do it perfectly.
-
thegoeticcleric reblogged this · 1 year ago
-
thegoeticcleric liked this · 1 year ago
-
thelazymusician liked this · 1 year ago
-
brightgreendandelions liked this · 1 year ago
-
green-mountain-goose reblogged this · 1 year ago
-
cyancoffee liked this · 1 year ago
-
azurepancake768 liked this · 1 year ago
-
green-mountain-goose liked this · 1 year ago
-
ofravensflight liked this · 1 year ago
-
i-love-linux-and-reject-gender reblogged this · 1 year ago
-
yourlocalnerd07 reblogged this · 1 year ago
-
iceddiamondsyt liked this · 1 year ago
-
dabub167 liked this · 1 year ago
-
caraisl liked this · 1 year ago
-
sonicbattlelm liked this · 1 year ago
-
former-cardassian-oppressor liked this · 1 year ago
-
hopeandquad liked this · 1 year ago
-
nothingbutwaffles liked this · 1 year ago
-
datamodel-of-disaster liked this · 1 year ago
-
stosb liked this · 1 year ago
-
strawmelonjuice liked this · 1 year ago
-
giggleho liked this · 1 year ago
-
nourhanlwt reblogged this · 1 year ago
-
nourhanlwt liked this · 1 year ago
-
allylikes reblogged this · 1 year ago
-
allylikes liked this · 1 year ago
-
bumbass69 liked this · 1 year ago
-
sailorstudent liked this · 1 year ago
-
eytheer liked this · 1 year ago
-
nyanwizard reblogged this · 1 year ago
-
lljramirez liked this · 1 year ago
-
moose-mousse liked this · 1 year ago
-
jiayi-onetwo liked this · 1 year ago
-
cyberfolktale liked this · 1 year ago
-
miifox reblogged this · 1 year ago
-
monstafaith liked this · 1 year ago
-
sra-mapache liked this · 1 year ago
-
lizard---bitch liked this · 1 year ago
-
daemonhxckergrrl reblogged this · 1 year ago
-
daemonhxckergrrl liked this · 1 year ago
-
moose-mousse reblogged this · 1 year ago
-
frog707 liked this · 1 year ago
-
cogi234 reblogged this · 1 year ago
-
cogi234 liked this · 1 year ago
-
puppypilled-sheep-wife liked this · 1 year ago
-
loch-tess-monster reblogged this · 1 year ago
-
loch-tess-monster liked this · 1 year ago
More Posts from Moose-mousse
You made me wake my dog up from laughter! :D
programmers will complain about how C++ is too complicated or arcane or whatever and then will literally go and write in JavaScript
Sharing knowledge is awesome! This inspired me to write... a small novel... which did not really fit as a reblog so I will post as its own thing :)
What’s your take? Should senior developers spend more time coding or coaching more junior peers?
That is a very good point. I absolutely agree!
(Nearly) Never use auto in C++!!!
So I used to be amongst the people who thought "Yeah ok, auto hides the type. But if the type is not really important to understand the code, and was really long and confusing then it is worth it"
Like this: std::vector<std::pair<std::string, Employee>> MyFunction(); To turn it into: auto MyFunction();
And I was wrong. Do NOT use auto to hide that monstrosity. You FIX it. auto hides that awful thing and dumps the problem on the next poor fucker who will use it. ( People writing and using metaprogramming libraries are especially prone to doing this, since their typenames can fill entire screens ).
YOU just looked at YOUR code. Found it confusing... And decided... to HIDE it??? What it is the next person who did NOT write this code going to do when they read this going to do???
No. I beg of you. Use typedef.
You can create aliases of anything and make your code easy to read. And this only "hides" the code as much as auto and you can get the types the alias points to by musing over it. So it is auto... but way better. Because it is a UNIQUE name. Which can DESCRIBE things.
Like, with the horror in the previous example. Let us have a typedef in the .hpp file where "MyFunction" is declared. Now it reads MUCH better:
std::vector<std::pair< Employee_ID, Employee>> MyFunction();
I actually understand what the pair is now! Key value pairs! And screw it. Let us typedef the pair too now that we understand it!
std::vector<Employee_KeyValuePair> MyFunction();
And fuck it. Once more! Typedef the vector too!
Employee_Roster MyFunction();
I will bet most of you reading this only realized what the hell that moster was when you got near the end. BECAUSE THE FIRST THING IS FREAKING UNREADABLE! Fix it. Make your code readable. If you feel the urge to use an auto to hide a typename, it is time to typedef that motherfucker!
Stop teaching top down!!!
So I am trying to learn GoDot because... Well, a game engine can make games, sure... but it can also do a lot of other things when you realize it really is just a GUI renderererer (help! How do you stop spelling renderererererer???) + physics engine. Anywho, so I started following the "official tutorial" (In quotes because I am honestly not sure... It is a big open source project so it can get muddy). And... Once again I am faced with a tutorial that teaches me the larger constructions and the orgenization before telling me anything about how the smaller bits work... This is called top down teaching. And it works, WHEN (And ONLY when), the person you are teaching, are already familiar with what the smaller things can do. It can work when teaching someone who already knows object oriented programming, functional programming. They already know how functions, variables, processes and code execution works. It does NOT work when people haven't gotten the faintest idea of what these boxes and structures you are describing are. We do not teach kids algebra before they know division and multiplication. When writing tutorials like this you cannot write for everyone. You have to go with assumptions of the majority. And it is not a great idea to assume that the majority of the people who tries to learn GoDot are veterans of game development. Sure, your tutorial will be slightly better for veterans, but you have just made sure that newbies have an even harder time starting learning your engine... Whenever I start feeling like I have a solid grasp on this, I will start a tutorial on this... BOTTOM UP!
(Nearly) Never use auto in C++!!!
So I used to be amongst the people who thought "Yeah ok, auto hides the type. But if the type is not really important to understand the code, and was really long and confusing then it is worth it"
Like this: std::vector<std::pair<std::string, Employee>> MyFunction(); To turn it into: auto MyFunction();
And I was wrong. Do NOT use auto to hide that monstrosity. You FIX it. auto hides that awful thing and dumps the problem on the next poor fucker who will use it. ( People writing and using metaprogramming libraries are especially prone to doing this, since their typenames can fill entire screens ).
YOU just looked at YOUR code. Found it confusing... And decided... to HIDE it??? What it is the next person who did NOT write this code going to do when they read this going to do???
No. I beg of you. Use typedef.
You can create aliases of anything and make your code easy to read. And this only "hides" the code as much as auto and you can get the types the alias points to by musing over it. So it is auto... but way better. Because it is a UNIQUE name. Which can DESCRIBE things.
Like, with the horror in the previous example. Let us have a typedef in the .hpp file where "MyFunction" is declared. Now it reads MUCH better:
std::vector<std::pair< Employee_ID, Employee>> MyFunction();
I actually understand what the pair is now! Key value pairs! And screw it. Let us typedef the pair too now that we understand it!
std::vector<Employee_KeyValuePair> MyFunction();
And fuck it. Once more! Typedef the vector too!
Employee_Roster MyFunction();
I will bet most of you reading this only realized what the hell that moster was when you got near the end. BECAUSE THE FIRST THING IS FREAKING UNREADABLE! Fix it. Make your code readable. If you feel the urge to use an auto to hide a typename, it is time to typedef that motherfucker!