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
Search - "deterministic"
-
So;dfjkhijasdfkjq;sdfhjkl;asdf
I copy a line from one spec (to create a user) and paste it in another spec. It works just dandy in the first, and throws MySQL missing column errors in the other.
Fucking what.
This codebase is full of shit like this. Things work in one place but not another, and it’s never obvious why. Tens of thousands of gotchas and quirks. The only way I can get an answer to things like these is to either beg my boss for an explanation, which I’m sure he’s long since tired of, or spend a full day (or more) wading through several rabbit holes filled with raw sewage.
I wasted two hours today trying to get a simple fucking factory to work. And you know what? I just gave up and used the existing admin user. Yeah it’s a bad idea, but it’s fucking good enough.
They can yell if they want.
I have no cares left.rant non-deterministic this train went off the rails long ago so done so tired trainwreck idc puffing billy15 -
When you run into a supposedly deterministic piece of code that behaves differently each time you run it for God knows what reason4
-
This stupid crap is pissing me off.
I write a quick blob of code that performs an http request with custom headers and writes the response to a file. easy squeezy. Everything works.
I abstract it into a class and add request building and stages (enjoayble!), and have one method make the response, read its body, and write to a file. I literally copy/pasted most of my existing code into the method and indented it. The only changes were updating var names to instance vars.
But now? It's complaining something is trying to read the request body twice, and it's throwing a fit. What? How? You were just working!
asfklasjdf;l8 -
My rants have been too long lately. Have some distilled ire instead.
Fuck computer gremlins.
Fuck non-deterministic BS.
Fuck shit working the third fucking time I try it with no changes in between.
Fuck MojoJojoing
Fuck ExecJS laoding only half the time
Fuck RubyMine for fucking up seven times a fucking day.
And fuck this dev environment!
I just want to fucking work!
adfjlkasdly15 -
Last night i ran my code, it worked. This morning i ran, it didn't.
I'm starting to doubt that my computer is a deterministic system.1 -
garbage collectors' lifestyle matters!
Ever eyeballed the abyss of your memory leaks? Shit, garbage collectors deserve a raise.
Unsung heroes, janitorialing thru that VM like a dung beetle, silently fucking up your perf so you can do that delicious spaghetti. Indiana-jonesing the fuck out of that memory trash can and euthanizing all that disgusting heap of pointers hanging, dangling, like... well, like garbage.
At the very least they're deterministic, unlike that Markov chain we all had the displeasure of fucking up. Amen? Amen! 🙌🏻
You gotta wonder, though, what goes through their nuggin. Do they reminisce about the potential of that half-ass-written class? Do they weep for the elegance of a forgotten function bottlenecking their job? Nah, probably just counting down the nanoseconds till their next full GC cycle. Aaah, like cold beer in Saturday barbecue.
So next time your program miraculously avoids a memory error, take a moment, put your hands up in the air and say a prayer to your garbage collector.
Silently covering for your fuckups2 -
Seeing some jokes about AI and deterministic if/else sort of logic... in a really sleep deprived state I start to wonder - if we are able to make AI that REALLY begins to pass as intelligent / self aware / sentient and imitates us.... and it spawns from deterministic lower level logic that has just grown from an uncontrollably large amount of inputs and complications... will we just end up convincing ourselves that we don't actually have free will either? Maybe we just have an amazing natural data lake. :-/8
-
So I came across this meme and it got me thinking.
We say that if our universe is truly infinite, we are bound to find a place that is the exact replica of our local cosmic neighborhood eventually if we keep looking.
But procedurally generated worlds like minecraft have that determinism to their world structure(with an initial seed to calculate everything) where you can predict how the local neighborhood would look like at any distance, no matter how far.
So would it be correct to say that it's not guarenteed that in a game like minecraft where the world is generated procedurally with a deterministic algorithm, will be such that you can find the exact same local neighborhood from one seed in any other seed?18 -
Question: when modeling a language using a nondeterministic finite state machine, do I have to add a "trash" state, if a deterministic one would need one or can it just be obmited and if so why?5
-
Reading code takes time!
Everytime I read:
"var" or "auto" Add: 10s
- Just use the type
Everytime I read:
if(Expression1 && Expression() ? GetNumber() : 0 > 0) Add: 30s
- Just write two if statements or create two bools the line above.
Everytime I read:
delegate = () => {} Add another 5 minutes of reading time.
- Just write a separate function for it. It helps with searching and understand what it does
Please code like the person that needs to check your code or change it just knows basic coding skills and logics.
I do know all these concepts I just never use them because it makes the code unreadable. hard to follow, mistakes that can happen everywhere. difficult to search.
And it frustrates that I need to read 10 extra lines to understand code flow or hover my mouse in an IDE to figure out what type object it is.
It's properly just me... I just like clean readable code. that is logical and failsafe and strict and deterministic with its behavior9 -
How do you approach generating "random" unique numbers/strings ? Exactly, when you have to be sure the generated stuff is unique overtime? Eg. as few collisions in future as possible.
Now I don't mean UUIDs but when there is a functionality that needs some length defined, symbol specific and definitely unique data, every time it does it's stuff.
TLDR STORY: Generating 8 digits long numbers so they are (deterministically - wink wink) unique is hard but Format Preserving Encryption saves the day. (for me)
FULL STORY:
I had to deal with both strings and codes today.
One was to generate shortlink word for url, luckily found a library that does exactly this. (Hashids)
BUT generating 8 digits long, somewhat random number was harder then I thought, found out on SO something like "sha256(seed) => bytes => ascii/numbers mangling" but that had a lot of collisions because of how the hash got mangled to actually output numbers and also to fit the length.
After some hours I stumbled upon Format Preserving encryption (pyffx) and man it did what I wanted and it had max 2 collisions in 100k values. Still the solution with this feels hacky af. (encrypting straddled unix timestamp with lots of decimals)6 -
Only in React packages...
When you follow the documentation to the exact dot and you get an error and nothing works.
And the stack trace gives you an error coming out of some deep async call, made many calls before the error.
Therefore the stack trace has nothing to tell you.
Equivalent of a brick falling on your head, just bad luck, who said programming should be deterministic anyway...1 -
I hate, hate, hate sockets! All the mysterious way they can fail. The subtleties, different API's if you switch between Linux to Mac, etc.
If the communication between (supposedly) deterministic machines is already such a clusterfuck, how do we even get sentences across humans and act as if we understood?8 -
[worst part of a lang i love]
Not really the language, but i hate how sbt works, it compiles small projects instantly, but really slows down at a certain size, and it seems very deterministic. It stays the same speed after that, but once you hit that project size it just immediately starts being slow. -
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 -
1. Finally someone who understands what I mean, someone who wont make A into B "becouse I thought..."
2. Finally someone who gives deterministic feedback that you actually can understand and work with.
3. Finally someone who dosent have different mood every half an hour
His name is compiler or interpreter... wait... his... Im male... shieeeet...3 -
nothing new, just another rant about php...
php, PHP, Php, whatever is written, wherever is piled, I hate this thing, in every stack.
stuff that works only according how php itself is compiled, globals superglobals and turbo-globals everywhere, == is not transitive, comparisons are non-deterministic, ?: is freaking left associative, utility functions that returns sometimes -1, sometimes null, sometimes are void, each with different style of usage and naming, lowercase/under_score/camelCase/PascalCase, numbers are 32bit on 32bit cpus and 64bit on 64bit cpus, a ton of silent failing stuff that doesn't warn you, references are actually aliases, nothing has a determined type except references, abuse of mega-global static vars and funcs, you can cast to int in a language where int doesn't even exists, 25236 ways to import/require/include for every different subcase, @ operator, :: parsed to T_PAAMAYIM_NEKUDOTAYIM for no reason in stack traces, you don't know who can throw stuff, fatal errors are sometimes catchable according to nobody knows, closed-over vars are passed as functions unless you use &, functions calls that don't match args signature don't fail, classes are not object and you can refer them only by string name, builtin underlying types cannot be wrapped, subclasses can't override parents' private methods, no overload for equality or ordering, -1 is a valid index for array and doesn't fail, funcs are not data nor objects when clojures instead are objects, there's no way to distinguish between a random string and a function 'reference', php.ini, documentation with comments and flame wars on the side, becomes case sensitive/insensitive according to the filesystem when line break instead is determined according to php.ini, it's freaking sloooooow...
enough. i'm tired of this crap.
it's almost weekend! 🍻1 -
Non deterministic behaviour in complex systems is a joyful cesspit...
No matter how much I try to enjoy it as a learning experience, I still feel - and stink - rotten...
The number of stuff that shouldn't have existed in applications is frightening and I really don't want to look at it anymore.
But it suddenly starts working and didn't crap out since 7 hours.
Just stay like that the next years till someone else has to play with you. -.-6 -
One day I decided I wanted to build robots.
And not kidding the reason I wanted to build them was because I wanted someone interesting to talk to and stil not kidding I even fantasized about a robot girlfriend... Lame I know I think I was a lonely little guy back then, though even after 7 years or so it doesn't feel as though it's that long ago. Maybe because things didn't change that much. Which is worrying but it's not the topic so I will pass on that future-past worries bullcrapper. After learning how robots worked and what made them function so things gradually led up to me being more interested in machine learning applications and software. I learned Arduino at first, I think I still have some messy circuits and old arduinos around. I only finished one robot though and it couldn't even support it's own weight. The servo motors were taking too many amps that heated up the little arduino even with a fan attached. Provably I should have made use of mechanics for robots books and calculated things first. But even though it couldn't walk properly I still felt success and I loved it like my own kid (me taking it apart was questionable but believe me). After that I focused more on writing code than using my hands to make things which was a pain in the ass if I might add.
After learning arduino and making that failed project of mine. I then picked up C++ wrote hello world program usual things a starter would do. It was the language I wrote my first game which I finished and this time it worked. But I never released it which was partly because I didn't want to spend a hundred bucks on a license for the engine and I also knew that it was a shit game. If I were to describe; lines in different colors come from the top you need to hit the lines with the same colored columns to break them. The columns changed their height and location on random. The lines sped up and gap between them decreased. Now that I think about it it wasn't half bad. But the code was written in game maker studio's version of C so I have no way to salvage it.
But I learned a lot of things from that project and that was the goal, so I would call it a win. I don't remember but after sometime I switched to python. And I'm glad I did, it's fun to code in which was the main reason I coded in the first place. Fun.
Life happens and time passes,
Now I'm waiting to enter college exams in a few months after hopefully passing them. My goal is to get into computer engineering which will be extremely challenging because it's the highest point department in the university I'm aiming at. But hey if the challenge is great the reward is greater right ? To be honest I'm still not sure about my career path. Too many choices. So I will just let my own road called <millions of similarly random events that are actually caused by deterministic reactions, to affect you and your surroundings leading up to a future which only the Laplace's demon can forsee> guide me. Wish me luck.1 -
CSS is like a deterministic FPGA language; you describe a loop-free dataflow diagram and then switch to a different one to cycle data around.
https://dev.to/janeori/...
This gives me an idea -
Babel fails about 10% of the time, but if I re-run it it works. What the fuck did I even get myself into, and why aren't elements of a modern javascript toolchain completely deterministic? (webpack, babel, typescript, react)1
-
Russians Engineer a Brilliant Slot Machine Cheat
...But as the “pseudo” in the name suggests, the numbers aren’t truly random. Because human beings create them using coded instructions, PRNGs can’t help but be a bit deterministic. (A true random number generator must be rooted in a phenomenon that is not manmade, such as radioactive decay.) PRNGs take an initial number, known as a seed, and then mash it together with various hidden and shifting inputs—the time from a machine’s internal clock, for example—in order to produce a result that appears impossible to forecast. But if hackers can identify the various ingredients in that mathematical stew, they can potentially predict a PRNG’s output. That process of reverse engineering becomes much easier, of course, when a hacker has physical access to a slot machine’s innards...
https://wired.com/2017/02/...1 -
!rant
I'm in the process of building a reccomender engine for the lols. After doing it for awhile I've realized that once I get it going then it will be very hard to optimize because I can't think of test cases or deterministic correct answers. Has anyone built one here who has tips on testing one? Thanks :) -
Python working non-deterministic on VSCode? That just happened ... somehow, wtf??
Getting a list from a method and comparing its last element with an int value. Always worked before like a charm, didn't change a thing. All of a sudden TypeError, cannot run anymore? Restart VSCode, run again, still not running ... ?? Retry and print the element, in case I've surprisingly actually been an idiot all along ... nope, value looks in print as expected. Continue execution, suddenly condition works again. WTF just happened??? Caching, python extension bug, anything like that to blame?1