Details
-
AboutChief Procrastination Officer, Keeper of The Keys to My Father's Flat, proud holder of a mediocre BSc. Analytical fundamentalist Manufactured: Budapest, 2001 Calories: 70,000 May contain traces of other viewpoints Matrix: @lbfalvy.matrix.org
-
SkillsTypescript, C#, Rust, Orchid, goofy altlangs, group theory
-
LocationBudapest, HU
-
Website
-
Github
Joined devRant on 5/18/2018
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
-
If I'm moderately happy in my current company but I would switch for a significant raise that offsets the relative risk, does it make sense to claim that my current salary is the bottom end of the desired range so as to encourage potential employers to start the negotiation from that point? I ask this especially because I find the act of haggling stressful.3
-
The best thing about SkyRant is that it shows the unread notifications marker in the main text font and not alarm red, so when the counter bugs out and stays on 1 it doesn't make me feel like I need to act on something that doesn't exist.1
-
We need a list of functions with an associated string, keyed by a sequential int. Neither can change between program versions. In fact, any changes align perfectly to program versions.
The datastructure: a list of string and func with statically known parameters
The solution my PO insists on: a class with static methods that have an attribute for specifying the number, and a database table of number to string. Whenever you need to pass around the list, you pass around a Type object of the class.6 -
So fun fact! The Rust macro error
"Macro expansion ignores <token> and everything after it"
does NOT mean that macro expansion on general ignores this token. What it DOES mean is that the macro expanded to something, then the parser was invoked, and the parser stopped consuming tokens at the specified point.
In normal human speak, this means
"This token is invalid in its context after macro expansion. Refer to the generated code for concrete error."
I spent hours moving intermediate results into macro parameters because I thought the error meant that your macro cannot expand to the second half of a comma-separated list or whatever, until I got the same message about '(' which is very obviously permitted macro output and doesn't even really make sense given that it's not a token.2 -
given Mossad's recently demonstrated brilliance in supply chain attacks, I'm leaning to believe that they were behind the liblzma backdoor.8
-
my ISP set up a coax cable splitter with all 3 ends disconnected, and my internet is running through a parallel pair uninsulated phone line.1
-
what's the most memorable way you've destroyed a piece of hardware?
I left my laptop on top of a heating unit today and then proceeded to crank it up to like 80°C. I'll try turning it on when it cools down, the plastic hasn't melted so I'm optimistic, but I'm pretty sure the battery's a pillow.30 -
I want to kidnap Sony's design team and have them produce headphone designs that I reject or approve until they can tell me what's wrong with their jack port placement.6
-
Turns out the app was crashing because YouTube was hogging 8GB of memory and so queries started failing spontaneously.2
-
Why does email suck so much oh my god, I don't want a fucking lesson in the kinds of domain records, I can set a TXT to prove that I control the DNS record, I have a TLS certificate, what the fuck else would I possibly need to prove!? None of this is contributing anything to security! Just fucking figure it out, it's the internet, not an international border, jesus.6
-
I prefer VSCode over visual studio for a ton of tiny conveniences. Some git operations can really only be done conveniently by switching rapidly between the command line and the big scrollable list of diffs. The currently open file is automatically focused in the tree, not by explicit user command. Ctrl+Tab shows the last viewed section of files and not their name, so I can find an arbitrary point in my jump chain. If I open the diff for a newly added file it's possible that I want to edit the file, but it's also possible that I didn't notice that it's newly added. Painting the whole background green doesn't hinder the first scenario nearly as much as it solves the second, in contrast to VS not showing any changes, which just has me confused because of the total lack of modification marks.3
-
Trust Google. Trust the Process.
The Android Studio Installer doesn't show download progress bars, speeds, ETAs or the size of files being downloaded. I hate this design. Tell me exactly what, why, and where is being downloaded so that I can download it myself with a better HTTP large file client, put it where you want it, and restart the installer. I know my machine and ISP and Google does not. I don't trust Google to make a single right decision, and I only want to relinquish control when I don't have time to do something myself.7 -
I have an unreasonable phobia of bugs, but I never really feared wasps. I still don't, actually. They mostly just mind their own, sure they carry a weapon, but if I remain calm they aren't as trigger-happy as most policemen.
BUT GOD DAMN IT, if this FUCKING STRIPED DUMBASS decides to crawl under my wrist while I'm typing, hidden completely from view, in total silence, standing on a hard surface with something obviously alive above its head, I feel like it DESERVES to get squished and it should take it without a retaliatory strike against the densest collection of nerve endings on exposed skin on a human body. FUCK. I can't even type right, pure anger fuelled me through this rant.3 -
Is there a debug tool in Visual Studio that acts like a global HashMap<String, object> that you can add random objects to so that you can verify which objects are the same instance between breakpoints and view the state of an object that you had access to but is not in scope at a given breakpoint? I'm debugging a GUI app right now and it's an enormous pain in the ass to track identities, I resorted to adding random properties and statics to classes just so I can express this basic ass persistent debugger state6
-
Git's fucked, I guess I have to retype my website from memory. :/
```
git restore --source=HEAD :/
```2 -
y'all the optometrist just fat fingered the parameters for my 500€ custom order glasses for my uniquely fucked up eyes
I ask specifically the seasoned webdevs here, what's the most effective typo prevention system you've ever seen, where a measurable decrease in mistakes indicates the effectiveness of the system?3 -
So fun fact about message-passing plugin APIs, everything becomes a parallel programming problem. My lexer (the part of an interpreter that recognizes fundamental syntax elements) spawns a callback thread with request and reply channels, and then messages a plugin which is able to either talk to the callback thread or message the original thread with a successfully parsed token or an abort.
It has just occurred to me that plugins are under no obligation to sequence their requests to the callback thread, which means that having one channel for requests and one for responses no longer suffices; the requests need to each contain their response channel. -
in a moment of enlightenment, I realized what problem Cow (copy-on-write smart pointer) actually solves.
Time to touch every file I guess4 -
I played around with Git Rebase today to learn a bit about it, and it was fun, but in the process I completely obscured my process and erased a commit that has a published artifact associated with it. What remains is a few incremental preparation commits hoisted up from today's cleanup, then a pair of commits on two projects both of which only compile against the version of the other repo built from the other commit.6
-
election period always makes me cynical (more cynical than I already am that is).
Apocalyptic fantasies are indulgent because they suggest a catastrophe that might end the world. The dull reality is that the world doesn't end, and you just have to go about your life with a new standard.4 -
I actually found a use for Outlook's scummy default behaviour to open links in Edge and not the default browser.
On my company laptop I mainly use Librewolf because it allows installing plug-ins despite group policy. I only use Edge for Azure DevOps and company portals because MS SSO doesn't work with Librewolf for some reason.
Because Outlook disregards the OS settings and uses Edge by default, MS software forms a sort of bubble, and I can freely set Librewolf as my default browser.9 -
I love reading code samples where the author was clearly very talented and up to the task, but had clearly used a different language up until that point, so they write with a strong accent. The C# codebase I'm working on right now for example had clearly been written by Delphi programmers6
-
Zoom free tier calls end after 40 minutes.
Idea: pwyw conference software where the call ends after 40 minutes if the host isn't paying €5 more monthly than everyone else in the call. There is no way to discover whether this is a limited call until the 40 minute mark, and there's no way to discover who outbid the host at all except by getting everyone to show their bank statement.1 -
My department head is shitposting in the company slack on the middle day of a 3 day weekend. I guess it doesn't really count as encouraging overtime because it's not work-related, but come on, does he really have nothing better to do?2
-
What's the message passing IPC with the least RTT for messages that are in the 16-32 byte range? It's gonna run approximately once per command in an interpreter.5
-
My new favourite RUNTIME c# error, evidently thrown by the standard library because the string is not present in the project:
"no parameterless constructor defined for this object"6 -
group policy prevents me from installing browser plugins at work. For crying out loud, I'm a dev! Any set of permissions that enables me to do my job would include an escape hatch for this! I can just rebuild Firefox without group policy support! What the fuck is this meant to achieve besides waste company resources!?4