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
Search - "two worlds"
-
POSTMORTEM
"4096 bit ~ 96 hours is what he said.
IDK why, but when he took the challenge, he posted that it'd take 36 hours"
As @cbsa wrote, and nitwhiz wrote "but the statement was that op's i3 did it in 11 hours. So there must be a result already, which can be verified?"
I added time because I was in the middle of a port involving ArbFloat so I could get arbitrary precision. I had a crude desmos graph doing projections on what I'd already factored in order to get an idea of how long it'd take to do larger
bit lengths
@p100sch speculated on the walked back time, and overstating the rig capabilities. Instead I spent a lot of time trying to get it 'just-so'.
Worse, because I had to resort to "Decimal" in python (and am currently experimenting with the same in Julia), both of which are immutable types, the GC was taking > 25% of the cpu time.
Performancewise, the numbers I cited in the actual thread, as of this time:
largest product factored was 32bit, 1855526741 * 2163967087, took 1116.111s in python.
Julia build used a slightly different method, & managed to factor a 27 bit number, 103147223 * 88789957 in 20.9s,
but this wasn't typical.
What surprised me was the variability. One bit length could take 100s or a couple thousand seconds even, and a product that was 1-2 bits longer could return a result in under a minute, sometimes in seconds.
This started cropping up, ironically, right after I posted the thread, whats a man to do?
So I started trying a bunch of things, some of which worked. Shameless as I am, I accepted the challenge. Things weren't perfect but it was going well enough. At that point I hadn't slept in 30~ hours so when I thought I had it I let it run and went to bed. 5 AM comes, I check the program. Still calculating, and way overshot. Fuuuuuuccc...
So here we are now and it's say to safe the worlds not gonna burn if I explain it seeing as it doesn't work, or at least only some of the time.
Others people, much smarter than me, mentioned it may be a means of finding more secure pairs, and maybe so, I'm not familiar enough to know.
For everyone that followed, commented, those who contributed, even the doubters who kept a sanity check on this without whom this would have been an even bigger embarassement, and the people with their pins and tactical dots, thanks.
So here it is.
A few assumptions first.
Assuming p = the product,
a = some prime,
b = another prime,
and r = a/b (where a is smaller than b)
w = 1/sqrt(p)
(also experimented with w = 1/sqrt(p)*2 but I kept overshooting my a very small margin)
x = a/p
y = b/p
1. for every two numbers, there is a ratio (r) that you can search for among the decimals, starting at 1.0, counting down. You can use this to find the original factors e.x. p*r=n, p/n=m (assuming the product has only two factors), instead of having to do a sieve.
2. You don't need the first number you find to be the precise value of a factor (we're doing floating point math), a large subset of decimal values for the value of a or b will naturally 'fall' into the value of a (or b) + some fractional number, which is lost. Some of you will object, "But if thats wrong, your result will be wrong!" but hear me out.
3. You round for the first factor 'found', and from there, you take the result and do p/a to get b. If 'a' is actually a factor of p, then mod(b, 1) == 0, and then naturally, a*b SHOULD equal p.
If not, you throw out both numbers, rinse and repeat.
Now I knew this this could be faster. Realized the finer the representation, the less important the fractional digits further right in the number were, it was just a matter of how much precision I could AFFORD to lose and still get an accurate result for r*p=a.
Fast forward, lot of experimentation, was hitting a lot of worst case time complexities, where the most significant digits had a bunch of zeroes in front of them so starting at 1.0 was a no go in many situations. Started looking and realized
I didn't NEED the ratio of a/b, I just needed the ratio of a to p.
Intuitively it made sense, but starting at 1.0 was blowing up the calculation time, and this made it so much worse.
I realized if I could start at r=1/sqrt(p) instead, and that because of certain properties, the fractional result of this, r, would ALWAYS be 1. close to one of the factors fractional value of n/p, and 2. it looked like it was guaranteed that r=1/sqrt(p) would ALWAYS be less than at least one of the primes, putting a bound on worst case.
The final result in executable pseudo code (python lol) looks something like the above variables plus
while w >= 0.0:
if (p / round(w*p)) % 1 == 0:
x = round(w*p)
y = p / round(w*p)
if x*y == p:
print("factors found!")
print(x)
print(y)
break
w = w + i
Still working but if anyone sees obvious problems I'd LOVE to hear about it.36 -
10 years experience in DoD C4I enterprise hardware and software.
Looks at civilian job (requires A+)
Gets A+
Looks at civilian job (requires Network+)
Gets Network+
Looks at civilian job market (requires Security+)
Gets security+
Looks at civilian job market (requires CCNA)
Getting CCNA
Looks again at job market (requires CCNP)
Fuck...
Job interview "we don't think you have a strong enough background"
Looks back at my 5 million dollar military flying robotic server FML4 -
I have a really huge admiration for people who works for the free software, those who made very good tools for almost everything. The Debian community, the FSF.
I'm also admirative in front of those who used computering as a science and made big discoveries in AI, compressing methods, pentesting...
I'm wondering how it is to work in these two worlds?2 -
Founder of world two most hated companies/product ( Apple/iPhone, microsoft/windows vista/windows8/windows10/lumia/ ) are amongst richest person in the world.
Meanwhile creator of worlds most loved/less hated products are hardly know to people (Android/Andy, linux/Trovalds)10 -
Microsoft: let's develop a solution that helps *nix users use the best of two worlds! Let's create WSL! And then WSL2!
Also Microsoft: oh, let's randomly pick an IP for the WSL host so that it can mess with VPNs!
https://github.com/microsoft/WSL/...14 -
Today on forgotten games – Vangers.
Even though the game is extremely hard and very, very frustrating, it somehow has an ability to make you obsessed with it. A very complex pieces of information, either carefully crafted or accidentally emerged from the void, delivered straight to your brain, making you an addict. If you play it and not delete it after five minutes, there is no way back – you better get used to new, different you.
There are many hard but addictive games based on simple mechanics, but Vangers is a different story. Compared to Vangers, Dark Souls seems nice, simple and easy casual game.
One can easily imagine "the hardest game possible", but all of them simply makes you delete the game and not to play it at all. Vangers precisely balance over this, achieving a very fragile equilibrium, being hard enough to frustrate you like no other game does, but not hard enough to simply make you quit instantly. While doing so, the game makes you a junkie, addicted to its eerie psychedelic nature.
This game spits in your face. This game makes you a slave, a desperate addict. All of your previous gaming skill, and speedrun experience doesn't matter.
The plot roughly goes like this: humans fucked up while experimenting with portals and accidentally discovered an advanced hivemind race. Trying to escape they fuck up spacetime and the two incompatible civilizations annihilate each other, creating a primal soup of creatures, from which the whole new world emerges. So there are many different strange creatures trying to survive in fucked spacetime where incompatible worlds are forcefully fused together, and you are the Vanger, one of many other Vangers trying to figure out what they are and how they was created.
The game features a voxel, fully-destructible world mapped on a torus. The game lore and terminology are extremely complex, and no one will explain it to you, you have to figure everything out yourself. Skip the dialog and no one will repeat it, you're on your own now.
Every playthrough is different. There are very many game mechanics and play styles available.
Everything in the game including complex rendering engine was written in C and Assembler back in 1998.
There are two types of Vangers players: the ones who was able to escape early and the ones who think that Vangers is the best game of all time. This says it all.
Last warning – DON'T PLAY THIS GAME. You better watch some playthrough on youtube.12 -
It is the year 2451 ad and mankind rules the galaxy with a lazy iron fist. There are roughly 14,000 civilizations, comprised of just over
17,000 intelligent species on a quarter of a million earth-like
worlds. And all of them call themselves 'the galactic empire'.
No one told them that twenty planets doesn't qualify them for the title "galactic."
Well, we could rule, if we wanted to. Most of its just backwaters that no one wants anyway. It turned out that the reason no one invaded earth before was because they were too busy fighting themselves. Stupidity it appears, is not a unique human quality.That and the sex robots. Theres more of them in the galaxy than actual meatbags. Many species had taken to artificial wombs and 'vatbabies', which is exactly what they are called. Those poor bastards will carry that label for life.
We never did break light speed, but most of the rich exist in hypersleep anyway. Most of them only wake up once a year or so. There are some that only creek out of bed to check their stock portfolio. I hear there is even one trillionaire thats up and about once a century to ask if we have broken light speed yet.
Despite all the progress over the last 400 years, historians all agree about the most significant event in modern history.
The lobster went extinct two hundred years ago on earth.
Theres been riots ever since.
* * *
In other news I'm still working on the game I guess. It's like totally the most okay indie game you'll ever play--if I ever finish it.
I put about a year of work into the NPC system, and then chatGPT came out.
After everything thats happened, at this point I may just make a game about an indie dev making a survival game, being stuck in the actual apocalypse or some weird political dysopia.
Put it on rewind, it was originally a zombie game. But at the time the market got flooded and steam sales for zombie games cratered. So I pivoted to something more along the lines of fallout. Then the flash market crashed, bunch of publishers folded, and adobe stopped support for flash (probably for the best). Then newgrounds, which I was gonna launch on for promotion (because actual marketing is expensive), ended support for flash.
Was going the route of kickstarter, and that year the KS market got flooded and the bar rose almost over night so you needed super high production quality out the gate, and a network of support you already built for months.
We had a brief nuclear war scare, and I watched the articles come out about market saturation for post-apocalypse games, so I pivoted back to zombies. Then covid happened and the entire topic was really fucked. So I went back to fallout meets rimworld. Then we had a flood of games doing that exact premise pretty much out of the fucking blue, so I went for a more single-survivor type game. Then ukraine happened and the threat of nuclear war has been slowly sapping the genre of its steam, on well, steam.
Then I was told to get a cancer screening which I can't afford. Then I broke a tooth and spent a month in agony.
Then a family member died. Then I made no money from the sale of a business I did everything to help get off the ground, then I helped renovate an entire house on short notice and sell it, then I lost two months living in a hotel
while looking for a new place to live. Then I spent two and a half years suffering low-level alcoholism, insomnia, and drifting between jobs.
Then I wrote amazing poetry. And then I rediscovered my love of math. And then I made out for the first time in over a year. And then I rediscovered my love of piano and guitar. And then I fell into severe depression for the last year. Then I made actual discoveries in math. And I learned to love my hobbies again, and jog, and not drink so much, and sing, and go on long drives, and occasional hikes, and talk to people again, and even start designing games and UIs again. And then I learned that doing amazing things without a lot of money is still possible, and then I discovered the sunk cost fallacy, and run on sentences, and how inside me there was a part of me that refused to quit because of circumstances I couldn't control, and then I learned that life goes on even when others lives have ended, even when everything and everyone never had an once of faith in you, and you've become the avatar of the bad luck brian meme..still, life goes on.
And we try to pick up the pieces, try, one more time, because the climb, and the fall, and the getting back up, is all there is.
What I would recommend, if you're thinking of making a game, or becoming an independent game developer, is, unless you have a *lot* of money upfront (think 50-100k saved, minimum, like one years income *bare* minimum), and unless you already have a full decade in the industry--don't make a game.
Just don't.17 -
1. Change Windows to be one of Linux Distros. Merging the two worlds into one.
2. Every open source contributer gets magically paid based on their contribution. Your welcome Wikipedia.
3. Genie Dev, I set you free.6 -
I need to stop treating an OO language as if it were a procedural language.
I have the tendency to turn my code into GOTO spaghetti even though I'm semi-aware that objects exist and that they are distinct.
I still have to get used to this paradigm.
My Java professor always swore by the Plato paradigm, i.e.:
""Platonism" and its theory of Forms (or theory of Ideas) denies the reality of the material world, considering it only an image or copy of the real world.
According to this theory of Forms there are at least two worlds: the apparent world of concrete objects, grasped by the senses, which constantly changes, and an unchanging and unseen world of Forms or abstract objects, grasped by pure reason (λογική). which ground what is apparent." (wikipedia)
Thinking in objects, abstractions and metaphysics is not something I haven't done before (I've practiced it during Sociology and Ethics with the whole Pascal Leibniz, Newton and DesCartes approach) but it's certainly not easy.
Then there was my cool Programming 201 professor who said: "Don't worry man, just read those great UML, Program Design and GOF books and it will all become easy, like a story. It'll all make sense.
I mean, I've graduated, I've passed my Software Engineering I, II and III (hard as hell) but since I haven't focused on those theories and practices anymore, I've lost my touch.
It's definitely not easy for a novice programmer to transition between paradigms..10 -
Me and my mates rent a flat near the beach to work together on some code. We usually live in Saigon Vietnam which is a very nusy and polluted city. So beach is nice.
However,we went from office houra to full on, waking up and having breakfast at 5pm some days and others ant 2Am....
Right now i love on 12 hour day cycles.
Anyyyways. I also learnt to code this year.
So right now i was dreaming... And i did not dreami was coding, but my dream seemed to be organized like a code. For a split second,my mind was between the two worlds.... I actually thought to myself that i was surely a robot!!!1 -
The first one was changing the main topic of my research activity, from distributed systems to AI/Deep Learning... Then moving from academia to companies, two very different worlds and two very different approaches, but I still like to think that my formal background is driving my decisions and helping me, even with everyday problems
-
Be instrumental in the creation of the first Human-AI baby, and it'll bring our two worlds together!
-
hi
November 28/29 2018
I was in a different world. I experienced this different world. It is beautiful in the beginning and hell after. It is everything u need compared to our engineering world but dangerous with potential. This world kept killing me for 3 months. It was hell.
February 23/24 2019
I was in another world. Same as the first one but this one was better. I experienced everything u would ever need to experience in order to find the vision and purpose to go forward especially in sofrware engineering world. Motivation and the REASONN to go. Climb. Because of over 3 month suffering the pain was suppressed in the secondary world dimension.
March 31 2019
I am back into our world. With slight side effects from the previous two. I am left in scars from war. To travel to the other worlds is to invest extraordinary amount of time energy and effort. U have to vibrate at a different specific frequencies in this universe. It fixed me to continue but broke my focus.
I am here to tell you that u should travel to these worlds with extreme caution. You will know when to do it. You will know what i am talking about. When you do it, pull back quickly and continue in the software engineering regime. This message is abstract and cryptic. You will understand it when that day in your journey comes. Everyone will understand.
Never have the focus broken.3 -
So I have an idea for a game. While I'm still learning the code required to make it run I'm also fleshing out ideas in my dome box. Keep in mind this is a basic rundown of said game. Not an all inclusive list of features or mechanics.
A Text RPG MUD loosely based on Stargate. Make a world creator for it and let people connect thier own worlds to the network. Original idea came from games like Neverwinter Nights where people could run thier own privately hosted modded servers.
Base game is effectively a tutorial leading up to powering on the gate.
At which point you will have one or two randomly generated worlds that can be explored by other players and role played in.
I'm a long way off of being able to make this but what do you all think?2