
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
I Finally Switched To Firefox And I've Seen A Lot Of Posts About The Effortless Importing Of Preferences
I finally switched to firefox and I've seen a lot of posts about the effortless importing of preferences from chrome and how it's important to support non-chromium platforms, but nobody is talking about the loss of productivity that happens when beautiful women come to your house to kiss you on the mouth because they heard you use firefox now. nobody's talking about this
-
mutualunelite reblogged this · 9 months ago
-
a-dream-journalist liked this · 9 months ago
-
lessproblematical reblogged this · 9 months ago
-
nix-far-scourge liked this · 10 months ago
-
lovebytz liked this · 10 months ago
-
wolfdykes reblogged this · 10 months ago
-
unabashedanthropologist reblogged this · 10 months ago
-
unabashedanthropologist liked this · 10 months ago
-
recusandae6790669 liked this · 10 months ago
-
prebeartobemoosified liked this · 10 months ago
-
hesitantheroine reblogged this · 10 months ago
-
dreamofbecoming reblogged this · 10 months ago
-
y4rdbird liked this · 10 months ago
-
2ds-titties reblogged this · 11 months ago
-
tonisbizarre liked this · 11 months ago
-
dweepingangelw reblogged this · 11 months ago
-
dweepingangelw liked this · 11 months ago
-
chaos-has-theories liked this · 11 months ago
-
small-fairy-child reblogged this · 11 months ago
-
small-fairy-child liked this · 11 months ago
-
fire-swift reblogged this · 11 months ago
-
fire-swift liked this · 11 months ago
-
formlesschromatic reblogged this · 1 year ago
-
formlesschromatic liked this · 1 year ago
-
witchofanguish reblogged this · 1 year ago
-
witchofanguish liked this · 1 year ago
-
justiceismyoxygen reblogged this · 1 year ago
-
youkoartemis reblogged this · 1 year ago
-
moonlit-delight liked this · 1 year ago
-
licantropa liked this · 1 year ago
-
coolcattime reblogged this · 1 year ago
-
coolcattime liked this · 1 year ago
-
syndianites reblogged this · 1 year ago
-
syndianites liked this · 1 year ago
-
the-ark-awaits reblogged this · 1 year ago
-
the-ark-awaits liked this · 1 year ago
-
topazgirlygirl reblogged this · 1 year ago
-
topazgirlygirl liked this · 1 year ago
-
brainfog-and-books liked this · 1 year ago
-
information-learner liked this · 1 year ago
-
ghostly-squid reblogged this · 1 year ago
-
liber-at-domum liked this · 1 year ago
-
zandotherthings liked this · 1 year ago
-
hasbledtodeathunderourknife reblogged this · 1 year ago
-
snozkat reblogged this · 1 year ago
-
snozkat liked this · 1 year ago
-
papyrusadvance reblogged this · 1 year ago
-
c-a-r-0-l-i-n-e liked this · 1 year ago
-
aiha-tries-to-be-productive liked this · 1 year ago
-
auburnrose reblogged this · 1 year ago
More Posts from Moose-mousse
Vocalization of your thoughts can help you solve problems. In the same way that writing them up or making a diagram of the problem can help you fix it. Try tricks people recomend, and if they work for you. Great! Use them! Here is my duck by the way :3

He is so sassy!

Source For more posts like this, CLICK HERE to follow Ultrafacts
Good luck! I hope it turns out how you imagine it! :D I have this… great love for diagrams. I mainly use UML-ish ones but I love all types!
They are like… the middle point between the pure idea in your head (That may have missing parts you do not realize, because brains are silly like that) and the finished product.
They are the shaping of ideas and inspiration into reality. Taking shape like trying to fit a formless blob into one or more boxes so it can become real, without harming the core of the idea. It really is... very neat to get this view into peoples head, in a way I have trouble articulating.
This is one of mine(which had to go into a "real" report, so it is a bit formal):

Making wireframes again


Tuesday 8th August 2023
My head has too many ideas that it has come to me making terrible sketch wireframes, hopefully converting this to code makes sense and looks pretty(˶′◡‵˶)
I'm sure there's a quote out there that talks about something ugly can be turned into something beautiful - yeah, that's what's going to happen to these awful sketches.
Wish me luck o(*^▽^*)┛
>> note: have a nice day/night and good luck with your studies and in life!
What to do when you spot a broken website
I am a very firm believer in either sticking to your principles or update them.
So when I got this error while I tried to search for C/C++ on my national job portal:

My first thought was "Huh, that is sorta funny" (especially since the code to show me the email address to report this error to was ALSO broken... meaning that whoever made the code that should run if the website broke... never tested it). And then I realized what I was looking at.
And at that point I think I had a ethical duty to notify people to get this fixed. FAST. Why?
It comes under "You are responsible for your choices". With it being understood that doing nothing is also a choice, and that taking a job where you work for, and help a company with doing evil is NOT a choice, if that is the only job you could get (IE, you did not have the power/money/mental health/time to make a choice)
It is now fixed*, so I wanted to make this post for all in the little codeblr community doing any front-end work. Web or not. With 3 lessons to learn from this.
First thing to get from this: "Everyone makes mistakes". This is one of the reason good code is not code without errors. It is code where it is easy to make changes and fix errors. You then try to find as many errors as you can with code reviews, automated testing, having a work environment that does not punish human errors( which encourages people to HIDE errors ) and so on.
Second thing: "Sanitize your user input. Always". Write code that assumes that every single user wants nothing more than to break your code and exploit its vulnerabilities.
This had NOT been done here. This error shows that characters in the string that was made from my search terms, was being run as code. As in, I, or anyone else, could run code in the middle of this javascript code. Meaning it is possible that someone could write code as part of their search that would make the javascript code do... whatever they wanted to. Including deleting the entire backend database. Or steal the info. This is why you ALWAYS sanitize your user input. Basically encode all potentially dangerous characters as something else while working on them. There are libraries like validator.js and express-validator that will do it for you, if you use javascript.
And the third thing. "Do NOT investigate further" . As soon as you confirm that your user input gets treated as code, you contact whoever is running it. If they do not take the threat seriously and it is still there after a week or two, contact established press with this info. You may read about so called grey hat hackers, who unlike black hat hackers(who is people wishing to do harm) or white hat hackers(Who are hired to try to break into a companies software to test it), are trying to find security flaws with good intentions, but are unaffiliated with whoevers code they are trying to break into. In an ideal world, doing that, and then contacting the company, SHOULD result in the company thanking them . But often it also leads to the company suing. And winning. Since breaking in to show that it is possible, is technically still breaking in. So do NOT start testing what you are able to do with the exploit you found. Report it to them, and check a weeks time later if it is fixed. If it keeps being vulnerable, contact the press. The site fixed this error after half a week. But they did it, not by encoding the dangerous characters into something else, but to simply remove them all from the user input string. Meaning that I still cannot search for "C++". Now I just get any job that contains the letter "C"... I mean... it is better... So if you take user input, and it does not brick your code in dangerous ways. You are doing better than whoever coded this for the Danish State :p
It works!*
So I (FINALLY) put the final touches on the software for my robot PROTO! (Listen, I am a software person, not a coming-up-with-names person)

Basically, it is a ESP32 running him. He takes HTTP messages. Either GET odometry, or PUT twist. Both just being a string containing comma separated numbers
Odometry is the robots best guess based on internal sensors where it is (Since PROTO uses stepper motors, which rotates in tiny tiny steps... it is basically counting the steps each motor takes)
Twist is speed, both in x,y and z directions, and speed in angular directions (pitch, roll and yaw). This is used to tell the robot how to move

Now, since PROTO is a robot on two wheels, with a third free-running ball ahead of him, he cannot slide to the side, or go straight up in the air. You can TRY telling him to do that, but he will not understand what you mean. Same with angular movement. PROTO can turn left or right, but he have no clue what you mean if you tell him to bend forward, or roll over.
The software is layered (Which I use a BDD diagram to plan. I love diagrams!)

Basically PROTO gets a twist command and hands that over to the Differential_Movement_Model layer.
The Differential_Movement_Model layer translate that to linear momentum (how much to move forward and backwards) and angular momentum (how much to turn left or right). combines them, and orders each wheel to move so and so fast via the Stepper_Motors layer.
The Stepper_Motors turns the wanted speed, into how many steps each stepper motor will have to do per second, and makes sure that the wanted speed can be achieved by the motors. It also makes sure that the wheels turn the right way, no matter how they are mounted (In PROTO's case, if both wheels turn clockwise, the right wheel is going forward, and the left backwards.). It then sends this steps per second request down to the Peripheral_Hub layer.
The Peripheral_Hub layer is just a hub... as the name implies, it calls the needed driver functions to turn off/on pins, have timers count steps and run a PWM (Pulse-width modulation. It sends pulses of a particular size at a specific frequency) signal to the driver boards.
Layering it, also means it is a lot easer to test a layer. Basically, if I want to test, I change 1 variable in the build files and a mock layer is build underneath whatever layer I want to test.
So if I want to test the Stepper_Motors layer, I have a mock Peripheral_Hub layer, so if there are errors in the Peripheral_Hub layer, these do not show up when I am testing the stepper motor layer.
The HTTP server part is basically a standard ESP32 example server, where I have removed all the HTTP call handlers, and made my own 2 instead. Done done.
So since the software works... of course I am immediately having hardware problems. The stepper motors are not NEARLY as strong as they need to be... have to figure something out... maybe they are not getting the power they need... or I need smaller wheels... or I will have to buy a gearbox to make them slower but stronger... in which case I should proberbly also fix the freaking cannot-change-the-micro-stepping problem with the driver boards, since otherwise PROTO will go from a max speed of 0.3 meters per second, to most likely 0.06 meters per second which... is... a bit slow...
But software works! And PROTO can happily move his wheels and pretend he is driving somewhere when on his maintenance stand (Yes. it LOOKS like 2 empty cardboard boxes, but I am telling you it is a maintenance stand... since it sounds a lot better :p )
I have gone over everything really quickly in this post... if someone wants me to cover a part of PROTO, just comment which one, and I will most likely do it (I have lost all sense of which parts of this project is interesting to people who are not doing the project)
C++ SUPPORTS object oriented programming. It also supports Procedural and Functional programming. ( A fair criticism of C++ is that because it can do everything, it is also very complex. Often using a more focused language is simpler and better for a task )
You can ( And really should ) mix and match programming paradigms. Using the right tool for the right job and all that :)

OMG ALL THIS TIME I'VE BEEN DABBLING IN CODE AND ONLY NOW I UNDERSTAND WHAT OBJECT-ORIENTED PROGRAMMING ACTUALLY MEANSSSS (honestly I've been scared to learn C for the loooonnngest time and I've only now used it for cs50... it's actually REALLY good for comparing/contrasting with modern languages...like even C++ which looks very similar to C syntax is apparently an object-oriented programming language?? and you have dictionaries so you don't have to make your own hash tables???? those are HUUUUUGGGEEE upgrades imo [i still don't really understand hash functions tbh...])