Details
-
AboutI'm a fast typer and a slow eater. I enjoy long walks off short piers. I am the Florida Man.
-
SkillsJavaScript, HTML, CSS, Python, Lua, C#, c, c++, Java, XML/ XAML, VB.net, MySQL, php, Android, Node, Linux, Windows, Scratch.
-
LocationAmerica (38.8976074, -77.0365946)
-
Website
-
Github
Joined devRant on 1/8/2017
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
![](/static/devrant/img/pipeless-devrant-banner-white.png)
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
I have never used my personal email client enough to get anything except for the default in Windows, but the “new outlook” is so broken and shitty that I actually might.
-
Pro tip for XAML binding:
Set your data context before you initialize the component!
Otherwise the component will render with the default values for the properties. -
Microsoft has the audacity to put "Get the new Outlook (It's free for Windows Users!)" on my lock screen. Extraordinarily annoying because:
- It's just the web app packaged in the SHITTIEST electron wrapper you ever did see.
- IT FUCKING HAS ADS8 -
Just submitted my first app to the Microsoft Store 🎉🎉
It's a simple offline password manager that also accepts other formats of data such as credit card and personal info.
Made it using WinUI 3. To prevent you from forgetting your master password, each "locker" accepts an unlimited number of passwords. If you forgot one, you can just use a different one. This is my idea to make offline password managers a little less of a hassle.
Can't wait for approval from the store!26 -
I hate that the general consensus to the solution of “themes” has been exclusively dark/ light.
Not only does this make it future un-proof in case “light blue” becomes a common style choice, but it already fucks up TODAY when considering high contrast themes!
Who made this shaky system the agreed standard!?8 -
The NASA website sends back a header called X-launch-status. Right now it has the value “go flight!”1
-
c++ tip: modern cpp standard libraries have std::optional, which allows you to declare a variable that may or may not have a defined value:
std::optional<std::string> optional_string;
(I've started a journal of interesting c++ things I have learned: https://github.com/AlgoRythm-Dylan/... ) -
Lesson learned: if you're going to derive a class in c++, make sure to declare a virtual destructor on the base class!
I just fixed (one of...) the massive memory leaks in my damn project.
Pictured: the strings in a derived class actually getting freed!20 -
c++ has a little bit of a learning curve, I think.
Used smart pointers everywhere in my code because I heard that's what we gotta do nowadays.
When learning about shared vs unique vs weak, I disregarded weak pointers because I didn't really understand them.
"That sounds like something for liberal pansies", I said to myself, then continued on with my STRONG shared and unique pointers.
Now my app leaks memory like a MOTHERFUCKER, if you can believe that.
So now I need to go back and manage my object lifetime with more intent instead of just making everything a shared pointer. Fuckin circular references. Fuckin reaping what I fuckin sow. God damn.9 -
My watch gives me periodic reminders to stand up.
I just so happened to be on the crapper at the time. I had just come to the conclusion of my business and before I could, it reminded me to stand up.
For a split second, I was like, man this thing really is living my life for me.2 -
The importance of not using static salt / IVs.
I've been working on a project that encrypts files using a user-provided password as key. This is done on the local machine which presents some challenges which aren't present on a hosted environment. I can't generate random salt / IVs and store them securely in my database. There's no secure way to store them - they would always end up on the client machine in plain text.
A naive approach would be to use static data as salt and IV. This is horrendously harmful to your security for the reason of rainbow tables.
If your encryption system is deterministic in the sense that encrypting / hashing the same string results in the same output each time, you can just compile a massive data set of input -> output and search it in no time flat, making it trivial to reverse engineer whatever password the user input so long as it's in the table.
For this reason, the IVs and salt are paramount. Because even if you generate and store the IVs and salt on the user's computer in plaintext, it doesn't reveal your key, but *does* make sure that your hashing / encryption isn't able to be looked up in a table1 -
I’m working on a new app I’m pretty excited about.
I’m taking a slightly novel (maybe 🥲) approach to an offline password manager. I’m not saying that online password managers are unreliable, I’m just saying the idea of giving a corporation all of my passwords gives me goosebumps.
Originally, I was going to make a simple “file encrypted via password” sort of thing just to get the job done. But I’ve decided to put some elbow grease into it, actually.
The elephant in the room is what happens if you forget your password? If you use the password as the encryption key, you’re boned. Nothing you can do except set up a brute-forcer and hope your CPU is stronger than your password was.
Not to mention, if you want to change your password, the entire data file will need to be re-encrypted. Not a bad thing in reality, but definitely kinda annoying.
So actually, I came up with a design that allows you to use security questions in addition to a password.
But as I was trying to come up with “good” security questions, I realized there is virtually no such thing. 99% of security question answers are one or two words long and come from data sets that have relatively small pools of answers. The name of your first crush? That’s easy, just try every common name in your country. Same thing with pet names. Ice cream flavors. Favorite fruits. Childhood cartoons. These all have data sets in the thousands at most. An old XP machine could run through all the permutations over lunch.
So instead I’ve come up with these ideas. In order from least good to most good:
1) [thinking to remove this] You can remove the question from the security question. It’s your responsibility to remember it and it displays only as “Question #1”. Maybe you can write it down or something.
2) there are 5 questions and you need to get 4 of them right. This does increase the possible permutations, but still does little against questions with simple answers. Plus, it could almost be easier to remember your password at this point.
All this made me think “why try to fix a broken system when you can improve a working system”
So instead,
3) I’ve branded my passwords as “passphrases” instead. This is because instead of a single, short, complex word, my program encourages entire sentences. Since the ability to brute force a password decreases exponentially as length increases, and it is easier to remember a phrase rather than a complicated amalgamation or letters number and symbols, a passphrase should be preferred. Sprinkling in the occasional symbol to prevent dictionary attacks will make them totally uncrackable.
In addition? You can have an unlimited number of passphrases. Forgot one? No biggie. Use your backup passphrases, then remind yourself what your original passphrase was after you log in.
All this accomplished on a system that runs entirely locally is, in my opinion, interesting. Probably it has been done before, and almost certainly it has been done better than what I will be able to make, but I’m happy I was able to think up a design I am proud of.8 -
Being a c# junkie moving to c++, I hated the archaic practice of declaring things in one file, then implementing them in another.
I have been using c++ as my main language for about two months straight now, and I went back to a c# project and I HATE not having them in separate files.
Funny, eh?9 -
Just got a basic HTML parser written in c++. Uses state machines. Should be pretty efficient considering the lack of backtracking or looking forwards. Still lacks a bunch of features, but works, so I am pretty darn stoked.
Pic attached is output, not input. I also wrote an HTML pretty-printer.18 -
Wrote my first u it tests for c++. Considering how hard everything else is, I was sort of afraid. But turns out it’s not as bad as I was expecting.2
-
Something they don't tell you about c++ development until it's too late: cross-compiler compatibility is an enormous monster.
When I worked with C# creating a DLL and distributing it to others is a completely transparent process, there's no special considerations required at all.
In c++ you basically aren't allowed to use the standard library in many cases. You can't just export a class with a standard string as a member because when another person goes to use your DLL, the string might have a different implementation.8 -
Just built libcurl from source on Windows and was able to add it to my c++ project and use it. This is a grand accomplishment because:
-You need to use the correct command prompt (Visual Studio command prompt)
-You need to use the correct correct command prompt (Visual Studio command prompt 64 bit version)
And throughout the whole process every resource kept telling me to just use a package installer. But I stayed strong and put the work in! -
"Write a tech tutorial without explaining something via a fucking stupid as hell analogy" challenge IMPOSSIBLE.5
-
Holy shit, I never thought I would see the day that Microsoft makes me even more disappointed, but this is a NEW low.
The windows 11 email client is being deprecated, and they automatically "upgrade" you to the new outlook.
THERE'S ADS. THERE'S ADVERTISEMENTS IN OUTLOOK. WHAT THE FUCK. IF YOU CLICK THIS, IT JUST OPENS THE AD IN A BROWSER. IT'S IN MY EMAIL LIST, THEY ARE ACTIVELY TRYING TO TRICK YOU INTO CLICKING IT.
This is crappy free Chinese mobile game ad level of scummy. I never fucking thought they would honestly stoop so low as to make misleading ads a default part of their operating system. But here it is, in an app installed by default, developed in-house by Microsoft. Actually astounding and appalling.40 -
Looking for hosting recommendation.
I want to set up a very simple, damn near static Node.JS site that uses handlebars and some custom routing logic (static site wouldn't cut it).
No database connection, nothing serverside except handlebars and Node.js.
I want HTTPS and to use my own domain.
Can anything accomplish this for less than a $5/mo droplet from digitalocean?18 -
Postman needs to learn it's god damned place.
No, I will never sign up for an account you god damn crappy wrapper for curl written in electron. Stop giving me banner ads. Fuck SO FAR off.14 -
Damn, history web API really sucks for SPAs that have a hierarchical navigation structure.
For example there's no built-in way to know whether the back or forwards button were clicked, only that one of them was clicked.
And if you reload the page, any state you pushed remains in the history stack. So the user might not be able to go back in your application anymore, but they can still press the browser back button and all those states you pushed will be fucking up your navigation system3 -
Stop rounding the corners of content!!!!! Round corners are meant for buttons!!!! Not my fucking video!!!!12
-
Had a somewhat specific question about a new technology, searched up the answer on Stack Overflow, nothing there except my same question with an unhelpful answer.
Combed through the open source repository, found the answer, created a helpful answer on SO with reference to the source code I got the info from.
Got one upvote :)1 -
Something I learned the hard way: the steak emoji is 4 bytes, whereas a lot of the commonly used emojis are only 3 bytes.20
-
I've decided to, as an educational exercise, implement DEFLATE compression / decompression and zip file format, and eventually tackling Excel format (which is just a .zip) so I can generate true excel spreadsheets (instead of .csv files) client-side using JavaScript.
Are there already libraries that do this? Yes, but then I don't get to try to implement these interesting algorithms. Is it currently 1 AM? Yes. Do I have work tomorrow? Also yes.
If I don't just fall flat on my face, I'll post updates!1