Details
-
AboutEnthusiast of strict, safe, elegant and beautiful programming languages. Allergic against boilerplate. Certified hater of clown languages like JavaScript. 📱 Developer of JoyRant, the unofficial devRant iOS app that doesn’t crash.
-
SkillsSwift, SwiftUI. I have a truly large list of other skills which this margin is too narrow to contain.
-
LocationGermany
-
Github
Joined devRant on 6/30/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
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Here is my idea for a time machine which can only send one bit of information back in time.
@Wisecrack has asked me about it and I didn’t want to write it in comments because of the character limit.
So here we go.
The DCQE (delayed-choice quantum eraser) is an experiment that has been successfully performed by many people in small scale.
You can read about it on wikipedia but I'll try to explain it here.
https://en.wikipedia.org/wiki/...
First I need to quickly explain the double slit experiment because DCQE is based on that.
The double slit experiment shows that a particle, like a photon, seems to go through both slits at the same time and interfere with itself as a wave to finally contribute to an interference pattern when hit on a screen. Many photons will result in a visible interference pattern.
However, if we install a detector somewhere between the particle emitter an the screen, so that we know which path the particle must have taken (which slit it has passed through), then there will be no interference pattern on the screen because the particle will not behave as a wave.
For the time machine, we will interpret the interference pattern as bit 1 and no interference pattern as bit 0.
Now the DCQE:
This device lets us choose if we know the path of the particle or if we want wo erase this knowledge. And we can make this decision after the particle hit the screen (that is the "delayed" part), with the help of quantum entanglement.
How does it work?
Each particle send out by the emitter will pass through a crystal which will split it into an entangled pair of particles. This pair shares the same quantum state in space and time. If we know the path of one of the particle "halves", we also know the path of the other one. Remember the knowledge about the path determines if we will see the interference pattern. Now one of the particle "halves" goes directly into the screen by a short path. The other one takes a longer path.
The longer path has a switch that we can operate (this is the "choice" part). The switch changes the path that the particle takes so that it either goes through a detector or it doesn't, determining if it will contribute to the intererence pattern on the screen or not. And this choice will be done for the short path particle-half because their are entangeld.
The path of the first half particle is short, so it will hit the screen earlier.
After that happened, we still have time to make the choice for the second half, since its path is longer. But making the choice also affects the first half, which has already hit the screen. So we can retroactively change what we will see (or have seen) on the screen.
Remember this has already been tested and verified. It works.
The time machine:
We need enough photons to distinguish the patterns on the screen for one single bit of information.
And the insanely difficult part is to make the path for the second half long enough to have something practical.
Also, those photons need to stay coherent during their journey on that path and are not allowed to interact with each other.
We could use two mirrors, to let the photons bounce between them to extend the path (or the travel duration), but those need to be insanely pricise for reasonable amounts of time.
Just as an example, for 1 second of time travel, we would need a path length about the distance of the moon to the earth. And 1 second isn't very practical. To win the lottery we would need at least many hours.
Also, we would need to build the whole thing multiple times, one for each bit of information.
How to operate the time machine:
Turn on the particle emitter and look at the screen. If you see an interference pattern, write down a 1, otherwise a 0.
This is the information that your future you has sent you.
Repeat this process with the other time machines for more bits of information.
Then wait the time which corresponds to the path length (maybe send in your lottery numbers) and then (this part is very important) make sure to flip the switch corresponsing to the bit that you wrote down, so that your past you receives that info in the past.
I hope that helps :)3 -
Let‘s talk about time travel and the bootstrap paradox (look it up if you don‘t know what it is)
I think that I have a solution for this paradox, but it requires the many worlds interpretation (quantum mechanics) to be true.
I‘m in the many worlds camp anyway.
So, how can an object exist in a time loop? The paradox is that it looks like it has no origin. It wasn‘t created. It just exists.
What if the act of time travel puts you into a different world, just like any decision puts you into a different world?
I‘d argue that the object has an origin and it was created. But it was created in a different world (different timeline, if you will). The person who observes the object in a loop is not in the same world as the person who observes the object being created.
After its creation, the object has entered the loop and by traveling in time it also traveled into a different world, where the creation event never happened.
This also solves the grandfather paradox in my opinion, because there is no contradiction when you go back in time and kill your grandfather. You are in a different world. You will never be born in that world, but so what, you are from a different world.
What do you think?11 -
I have finished my project for a new devrant sdk in swift:
https://github.com/WilhelmOks/...
(Yes, the readme is missing and I will add it later 😅)
And I built it into JoyRant (build 32), which required quite a bit of refactoring.
I think I tested everything but let me know if you find any problems.
You will need to logout and log in again.
The downvote reason feature isn‘t there yet (in JoyRant), but now I have a good basis to add it 😄
Yes, implementing a whole new SDK just for one little feature is overkill, but I had fun doing it and I wanted to have a nice, clean and extensible code base which I can work on in the future. 😌26 -
Another weird property of the devRant API:
For every POST request the url parameters need to be passed in the http body instead of in the URL, like this:
app=3&user_id=42
Wtf why?22 -
Currently implementing a Swift devRant SDK and encountered something very stupid:
The json value for attached image is an object (dictionary) when there is an image but it‘s an empty string "" when there is no image.
So two different types for the same property.
I hate this kind of crap.
Why not make it null or omit that property when there is no image?
Now I need to add ugly as fuck custom decoding code for this object.25 -
Yesterday‘s Windows 11 update brought back an old bug which I haven’t seen since Windows 8 or so.
The EN keyboard layout is added in the task bar UI but it‘s not actually there when you try to remove it in the settings.
Fucking hell! Why even make new versions of Windows if it‘s all the same pile of shit?
That‘s not the only old bug that persists across multiple major Windows versions!3 -
I think I‘ll bite the bullet and write my own version of SwiftRant (Swift REST API for devRant) with modern concurrency and a clean implementation and without semaphores and force unwraps which cause app crashes.9
-
I just released JoyRant build 30 with some improvements:
* fixed user-mention text insertion for iOS 18
* improved text selection in rants and comments to make it easier to quote specific parts of comments. See screenshot.
TestFlight link:
https://testflight.apple.com/join/...
I'm curious to know who uses JoyRant here.
I can see 48 users in TestFlight but there are probably many duplicates.5 -
End of the year. Management announced that the project that our team has been working in for more than 4 years, will be killed.
Shit.13 -
Dear great ux lords at ms azure devops, could you make the whole freaking button clickable instead of just the text inside of the button?10
-
Space Age, the expansion for THE game for programmers, Factorio, will be out tomorrow.
Who else will be playing the shit out of it?9 -
So, when hovering on that element in the bottom task bar in Windows 11, it shows those two icons (wifi and sound) grouped together.
Left click anywhere on that button and it opens the same menu.
But if you right click, now it suddenly depends if your cursor was on the one or on the other icon. It opens different menus!
Great UX! Good job, MS!13 -
The disabled option cannot be disabled if the UI element is disabled. 🩼
Each of the 3 words "disabled" has a different meaning.5 -
I‘m curious what you guys think about puzzle games with timers.
I personally hate it to be pressured by the timer. And I hate it when the puzzle resets and I need to start from scratch because I ran out of time.
I prefer to take my time and think about the next move rather than rapid fire my moves by intuition and hoping to get lucky.
Yet so many puzzle games have timers. Is this just lazy design? Do you like timers? What do you think about this?12 -
So I’ve requested images for the dark mode because the existing images are very bright and look bad when dark mode is enabled.
After a few days the designer says that it’s done and sends me the figma link.
And what do I see there? He added the screens but in dark mode with the same bright images! 😂
I mean… even if he misunderstood me… doesn’t it look odd to him?4 -
Idea for a next gen image compression method:
* Put your image into a reverse AI image generator to get the prompt for that image.
* store the text string as the compressed image
* Put the text string into to AI image generator to get back your compressed image.14 -
I was wondering if there are "employees" in scam call centers, who genuinely don‘t know that they are scamming the people who they call.
Maybe they get minimal information or are lied to and don‘t care enough to question it.
So I‘ve tried to google it. I‘m bad at googling and couldn‘t find anything. All the results were how to avoid or to spot scammers and similar things.
I tried searching in German and in English and I also tried Duckduckgo. No luck.
Then I asked ChatGPT and it basically said that it could be very well true and gave some examples and referenced some articles.
Of course I know that ChatGPT can‘t be trusted because all of it could be hallucinated.
So I asked for references. It gave me just one link, which lead me to a 404.
Maybe you can help me out on this topic?
The reason that I want to know is because I get a lot of those scam calls for years now and I started to mess around with the scammers.
But if they don‘t know, then maybe I should try to convince them that they are working for a scam "company".6 -
A mandatory update (for security) for MS Outlook has just broken the badge indicator for new emails 🤡1
-
I have a personal rating system for personalities of people.
On the very bottom of the list, which represents the most disgusting scum, I have those "people":
…
dictators like hitler
politicians
ad spammers
scammers
I never fell for a scam myself but I just can’t comprehend how someone can do it the whole day. You must be a very fucked up piece of shit to do such a thing.
The sad thing is that there are so many of them. This makes me lose hope for humanity.17 -
Teams annoys me again by selecting the black skin tone for this emoji 💪🏿 no matter what I try to do to select another tone or the neutral yellow tone.
Now my colleagues must think of me that I want to send some message or something… damn it Teams!
I need to go to the freaking iOS Teams client to be able to post 💪. The other one is the bullshit electron desktop client.11 -
I give up. It‘s impossible to argue with Apple.
I tried to bring my unofficial iOS devRant app "JoyRant" into the AppStore. It was available via TestFlight for years and it wasn‘t a problem there, apparently. Now for the AppStore, it is a problem.
I talked with the Apple review team for 3 weeks and the discussion went in circles.
They said that my app tries to disguise as or to misrepresent another app on the store (the official devRant app, even though it‘s not available anymore, apparently).
I was asked to remove all of the mentions of devRant from any description or any place in the app. I did. Even though it was stupid because how are people supposed to know that they need a devRant account to use my app? I‘m not allowed to mention devRant.
After that, they said that it can not have the name JoyRant because it sounds too similar to devRant.
I changed it to devJoy everywhere, the app, the meta data for the app store, the github page where the required legal crap is hosted, and in the legal documents themselves.
Did it help? No, it didn‘t.
Apple then proceeded to claim that my app is trying to deceive the users into thinking that this is the official devRant app. Even though I have explicitly stated in the description that it is just an unofficial devRant client.
Now apple says that I should "revise the app content".
Which I assume means that I need to make it something different. Yeah. Great suggestion!
So, I will rename the app back to JoyRant and provide it via TestFlight, as it was before.
Thanks for reading. I needed to vent.31 -
MS Teams sending an email to inform me about people which "are trying to reach me", one hour after I already talked with those people via Teams chat.
🤦♂️13 -
How to fuck up a simple feature in terms of usability and functionality and take two freaking years (!) for it?
Just use some low code dogshit like the crap that SAP provides.1 -
Fucking hell! Why can‘t I block notifications for a specific conversation thread for a limited amount of time in Teams? I get spammed with shit that I don‘t care about but when I block it now, I will forget to unblock it later. 😡4
-
Another reminder to be be very cautious when you rely on services from MS or Google:
https://learn.microsoft.com/en-us/...
(App Center is shutting down)10 -
Dear fellow devranters
ostream has created his 3rd generation accounts, @godiebitch and @gofuckyourself
Can we please downvote him this time?
He will delete his accounts anyway in a few months but maybe we can reduce the spam that way.
And also try to convince him to get some help.94