Details
-
AboutSike
-
LocationScandinavia
Joined devRant on 11/10/2021
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
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Divide and conquer is a brilliant form of control. There are entities that benefit from making us fight each other, no matter the reason. From choosing a Linux distro to choosing a political party: everything goes.
If you hate JavaScript, hug your fellow JavaScript developer today. Tell them they're doing good.
Spread peace and unity. Let peace forever hold her way over the Earth.4 -
Today’s my work anniversary, which also means it’s the anniversary of the day my friend Kirk got a Twitter response from Missy Elliott after he tweeted about writing a function called missyElliott that takes a data structure, flips it, and reverses it (something that may have been a crazy thing that happened once but that we as his friends tell everyone about and celebrate every year, much to his horror).
https://kirkday.club
The org we volunteer for (and that he’s a maintainer of) even went so far as to create Kirk merch (https://store.virtualcoffee.io/sear...)8 -
Probably gonna quit dev and get a job outdoors. Dev sucks dick, is too boring, and it is too political for me29
-
Started playing Skryim again. Playing a pretty big modpack with some really cool mods called: Lost Legacy. It has alternate skills like Pugilist and Unarmored. I can literally punch a bitch with a one shot to death. For some reason this is very satisfying. I wonder what level of my psyche this appeals to. Probably something really animalistic.
These two skills meld really well with playing a mage with no armor. Unarmored skill actually levels faster if you cast an armor spell. So it benefits mages. I also don't have to fumble with weapons with Pugilist.
I had to add Sofia as my follower. Her wit while I punch people to death just fits. I feel like my character is a grumpy old mage that just goes berserk and kills people with his bare hands when upset. Do not disturb my circles, bitch!
I like to name my characters with phonetic names that might mean something else. On the surface it looks like an RPGish character name. But contains another meaning, often vulgar. This character is no different. I have named him: "Rehkuuf". An old Breton bitch of a magic user. Whose only care is learning and acquiring power. I imagine this character doing anything to this cause. Definitely a ends justifies the means kind of person. I am thinking of making him notorious in at least one hold. Not sure which one. So every time I return to the hold I have to kill every guard. Punch a bitch time!
One goal I just thought of: Punch a dragon to death.1 -
Ugh, I can't even begin to express my frustration right now. So, picture this: I'm just minding my own business, trying to navigate through the chaos of my workload, when out of nowhere, I get a ping in a group chat with my manager. And who's the culprit? None other than my teammate who decided to take a casual day off.
But oh no, he didn't just leave it at that. No, instead, he decides it's the perfect time to swoop in with this sudden POC for testing MY project. MY project, people! And get this, he's blabbering on about how this POC should've been done ages ago. Like, excuse me? Do you even understand the complexity of what I'm working on here? Testing two measly APIs does not equate to the 50+ APIs I'm dealing with!
But wait, it gets better. Not only is he shoving this unwanted POC down my throat, but he's also suggesting that it should magically transform into a full-blown testing suite by the end of the sprint. And when's that? Oh, just in time for the next big release due next month. Because apparently, I have nothing better to do with my time than to cater to his whims while he's sunbathing on his leave.
And let's not even get started on the insultingly small bump in salary we received. I mean, seriously? We're busting our backs here, and what do we get? A pat on the back and a few extra pennies in our paycheck. But oh no, Mr. Vacation decides to waltz in, uninvited, and steal the spotlight with his flashy POC demo.
It's like he has zero respect for boundaries or common decency. I'm this close to losing my mind over here. Just when I thought things couldn't get any more frustrating, leave it to him to prove me wrong. Ugh, I need a break -
My freelancing journey so far:
In Jan, I continued working for an Indian client I got back in November last year. A Shopify app built with Laravel/MySQL stack.
In Feb, I got three more clients. One, who's from Bulgaria, wants a Shopify app built with Laravel/MySQL
The second one, who's from the UK, wants me to convert their Yii2 application to Laravel.
The third one, also a UK client, wants me to integrate a fulfillment center to their Shopify store.
This month, I continued working for the above clients and now the Bulgarian client wants me to work on a Typescript + Svelte application. I'm really excited for it.
So yeah.. Just wanted to share it. I'm not making a point or any joke or something.7 -
So I promised a post after work last night, discussing the new factorization technique.
As before, I use a method called decon() that takes any number, like 697 for example, and first breaks it down into the respective digits and magnitudes.
697 becomes -> 600, 90, and 7.
It then factors *those* to give a decomposition matrix that looks something like the following when printed out:
offset: 3, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('2')]]
offset: 2, exp: [[Decimal('2'), Decimal('1')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('1')]]
offset: 1, exp: [[Decimal('7'), Decimal('1')]]
Each entry is a pair of numbers representing a prime base and an exponent.
Now the idea was that, in theory, at each magnitude of a product, we could actually search through the *range* of the product of these exponents.
So for offset three (600) here, we're looking at
2^3 * 3 ^ 1 * 5 ^ 2.
But actually we're searching
2^3 * 3 ^ 1 * 5 ^ 2.
2^3 * 3 ^ 1 * 5 ^ 1
2^3 * 3 ^ 1 * 5 ^ 0
2^3 * 3 ^ 0 * 5 ^ 2.
2^3 * 3 ^ 1 * 5 ^ 1
etc..
On the basis that whatever it generates may be the digits of another magnitude in one of our target product's factors.
And the first optimization or filter we can apply is to notice that assuming our factors pq=n,
and where p <= q, it will always be more efficient to search for the digits of p (because its under n^0.5 or the square root), than the larger factor q.
So by implication we can filter out any product of this exponent search that is greater than the square root of n.
Writing this code was a bit of a headache because I had to deal with potentially very large lists of bases and exponents, so I couldn't just use loops within loops.
Instead I resorted to writing a three state state machine that 'counted down' across these exponents, and it just works.
And now, in practice this doesn't immediately give us anything useful. And I had hoped this would at least give us *upperbounds* to start our search from, for any particular digit of a product's factors at a given magnitude. So the 12 digit (or pick a magnitude out of a hat) of an example product might give us an upperbound on the 2's exponent for that same digit in our lowest factor q of n.
It didn't work out that way. Sometimes there would be 'inversions', where the exponent of a factor on a magnitude of n, would be *lower* than the exponent of that factor on the same digit of q.
But when I started tearing into examples and generating test data I started to see certain patterns emerge, and immediately I found a way to not just pin down these inversions, but get *tight* bounds on the 2's exponents in the corresponding digit for our product's factor itself. It was like the complications I initially saw actually became a means to *tighten* the bounds.
For example, for one particular semiprime n=pq, this was some of the data:
n - offset: 6, exp: [[Decimal('2'), Decimal('5')], [Decimal('5'), Decimal('5')]]
q - offset: 6, exp: [[Decimal('2'), Decimal('6')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('5')]]
It's almost like the base 3 exponent in [n:7] gives away the presence of 3^1 in [q:6], even
though theres no subsequent presence of 3^n in [n:6] itself.
And I found this rule held each time I tested it.
Other rules, not so much, and other rules still would fail in the presence of yet other rules, almost like a giant switchboard.
I immediately realized the implications: rules had precedence, acted predictable when in isolated instances, and changed in specific instances in combination with other rules.
This was ripe for a decision tree generated through random search.
Another product n=pq, with mroe data
q(4)
offset: 4, exp: [[Decimal('2'), Decimal('4')], [Decimal('5'), Decimal('3')]]
n(4)
offset: 4, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('3')]]
Suggesting that a nontrivial base 3 exponent (**2 rather than **1) suggests the exponent on the 2 in the relevant
digit of [n], is one less than the same base 2 digital exponent at the same digit on [q]
And so it was clear from the get go that this approach held promise.
From there I discovered a bunch more rules and made some observations.
The bulk of the patterns, regardless of how large the product grows, should be present in the smaller bases (some bound of primes, say the first dozen), because the bulk of exponents for the factorization of any magnitude of a number, overwhelming lean heavily in the lower prime bases.
It was if the entire vulnerability was hiding in plain sight for four+ years, and we'd been approaching factorization all wrong from the beginning, by trying to factor a number, and all its digits at all its magnitudes, all at once, when like addition or multiplication, factorization could be done piecemeal if we knew the patterns to look for.7 -
lol someone went systematically through my posts and downvoted each of them, i'm down like 200 points from weeks ago
imagine caring that much
"he who angers you controls you"
🤡🤡🤡🤡🤡🤡20 -
@dfox
What does it take to give us some hope the spam around here can be controlled or removed by some power users?
Shit is getting out of control!
I'm pretty sure my ability to -- has been revoked again so that's no longer an option.
Reporting spam doesn't seem to do anything either 🤷♂️
https://devrant.com/rants/10381484/...
https://devrant.com/rants/10381472/...
https://devrant.com/rants/10381262/...12 -
What a sad day for emulation tbh.
But yuzu had it coming, considering the practices they employed 🤷
They also have to pay a 2.4Mio fine.13 -
About a year ago I said I'd be migrating from development into something else. During one year, I studied it, practiced, applied to many job postings, did tests, projects, collab, etc.
So after the latest job application, and being rejected of course, I suddenly thought again about my dev life, and the fire within me ignited like my computer ignited when running Android Studio.
Now, just removing the dust and rust from my fingers, and catching up by following some free project tutorials on YT.
I'm back1 -
Last time I was here I was in college. 🤓
Hello world, again 🫂
I graduated and now I have a job as a developer for two years now.
So much ranting has been happening and I'm excited to tell you all about it.
PS: I already had my first canonical event (Prod deployment at 5 pm ... Was not fun ... Wasn't me if you're asking)1 -
Long time no rant.
Rant::beginRant();
How do people who are, I think, supposed to have a knowledge of what the fuck they're doing, keep their work without knowing what the fuck they're doing?
You're telling me that you have been hired as a "full-stack developer", yet you can't build a motherfucking Vue page over SSH (not even talking about automated deployment, just the most bare bones approach)? You don't know how to deploy a Laravel project? You don't know that Linux server paths are case sensitive? You can't read the log files?!
Rant::commitRant();10 -
Hi guys I just joined like an hour ago and I have been reading a few comments/stories and I have to say this is awesome! Thanks for sharing, I look forward to read some more stories and share a few of mine too :-)5
-
I am sick of misrotated videos.
Sometimes, the phone camera software saves a video vertically because the user hits "record" before the software has detected that the user is holding the smartphone horizontally, because the software stupidly launches in vertical orientation by default.
So the software wants the user to wait until it has finally detected horizontal orientation, which causes the user to miss out on a moment.
How about the camera software actually saves the video in the orientation it was recorded in for the most time, rather than only the beginning of the video?
If I can think of this idea, billion-dollar companies surely can.
In the meantime, misrotated videos can be fixed using this ffmpeg command on Linux or Windows:
ffmpeg -i input_file.mp4 -metadata:s:v rotate="0" -c copy output_file.mp4
And if the phone was held with the home button to the left side:
ffmpeg -i input_file.mp4 -metadata:s:v rotate="180" -c copy output_file.mp4
This solution is superior compared to using -vf (video filters) because it only touches the metadata of the video. No re-encoding. This means no quality loss and no CPU/GPU power needed to process the video again. It just passes through.10 -
docker documentation is terrible. Mf'ers seem allergic to giving actual functional examples.
Watch me generate a 1-to-1 copy of the docker compose docs (real & true):
`docker compose --help > docs.html`11 -
Today, I fell for a prank that someone tried to pull on me several years ago that I was too smart for at the time.
I was told that it was impossible to crush an egg with one hand. I knew that was nonsense so I never tried. This morning I was feeling adventurous so I tried it.
As it turns out, it is definitely possible to crush and egg with one hand and that when an egg pops, its contents get all over everything.5 -
This happened a few years ago. We started this new project that was estimated to take 3 devs around 5 months to complete. We had a meeting where the client, the project manager, me and two other devs were present. When the client asked if we were still on track to complete the project by the end of September, the PM just said “yeah we are totally on track, no worries”.
Me and the other devs looked us straight in the eyes and nonverbally agreed that this guy has to be sniffing glue or something. For context: it was August.
After the meeting we immediately raised our concerns with him and our boss. The deadline was shifted and a freelancer was hired to assist. The PM quit shortly after and a way more competent guy took over. But the damage was already done.
In the end we finished that project in February or March the following year. Client was still happy but this shit triggered a whole clusterfuck of a year. Other projects were lagging behind because of this and we had to push out project after project that had accumulated in our backlog. -
Two largest rollercoasters in Saint-Petersburg, Russia, are called "The Grand Lukii's Meat Factory Number One" and "The Grand Lukii's Meat Factory Number Two". I rode the second one. It was terrifying.
Yes, they named it "the meat factory", because the grand Lukii's meat factory is an actual company that sponsoring them. Can't find any second meaning, none at all.1 -
How do you tell a senior that I don't want to be buddy-buddy with him outside of work?
He keeps trying to befriended me, inviting me to his house along with his friends. I don't think he's romantically interested in me, he's married, he's just too extroverted, has huge social circle.
Being a chronically introvert, I just want to go home and sleep after work. It's enough having him breathing down my neck for 5 days/week, don't want to see his messages during the weekend.
I have to keep the relationship cordial and polite though as my job satisfaction depends on that.6 -
I challenge you to start a process from php.
The following criteria must be fulfilled:
- php-fpm
- the process is started on http request by user
- the response does not wait for the process to be finished
- the process must finish, possibly after the response reached the user
- the running process does not block a fpm thread/worker from handling further requests
Simple, right?8 -
Using devrant on windows phone. Windows phones are so so so nice. Why microsoft did you stop windows phones. They are the best OS and greatest experience. Bring back windows phone please.13
-
Why can't an interview's process to be more like Tinder hookup
Short, direct wants and needs
You are either "cool" or "nah" in about dozens of chat messages at the offer
Way more less stressful for both parties3 -
Aww Alexander why did you delete ur rant? Did you not want people to see my comment about how me and the boys run a train on your dad every two weeks? I mean I get it, it’s tough to see your dad in the hospital. But you got to let him know that moisturizing is REALLY important. Me and the boys are like gorillas, and we don’t have a safe word.20