I highly recommend looking into vertical ergonomic mice. It’s really easy to switch to (took me around an hour to get used to it when I randomly decided to get one), I regularly switch between regular and vertical for work/gaming and I don’t even notice any difference, and they are reasonably cheap (I’ve been using one for 15EUR).
- 12 Posts
- 737 Comments
If you can’t stand anything else, I highly recommend giving vertial mouse a try. It took me around hour top to get used to it and forget that I switched mouse types, and I also regularly switch between vertical for work and regular for gaming and it’s effortless.
The point is that the mouse is, well, vertical, so you don’t have twisted wrist. It’s a pretty small difference and it’s super easy to get used to it, and the mouse costs basically the same as a regular mouse. I have been using one for 15EUR for years now, and am pretty happy with it - I don’t see any reason why not to make the switch, if it has a health benefit.
deleted by creator
I have randomly decided to buy a cheap vertical mouse when I needed a new mouse in my office, and it has been suprisingly easy to get used to. I didn’t struggle with it, and after a few hours I didn’t even notice any difference, so I highly recommend giving it a try.
I still use regular mouse for gaming, but for any office work or programming, as well as in a laptop bag, I have this mouse. I haven’t really looked into any research behind it, and since I’m fortunate to not have issues with my wrist (so far), I can’t really rate the health benefits, but I assume it should be at least slightly better than a regular mouse.
And since the transition was effortless, the mouse is cheap and works for daily programming and web browsing perfectly, even if the health benefit was actually small, I don’t see any reason why not use it instead of a regular mouse.
MikinaOPto Game Development•ZLINQ - A zero allocation LINQ rewrite, with added support for Unity and Godot scene hierarchy, that has a drop-in replacement support.1·22 days agoI didn’t know that LINQ had more usages than just me being lazy to write a for loop, I have something to look into, thanks. Judging by the first documentation page I found, I wouldn’t even recognize the syntax as the LINQ I’m used to. I really need to catch up on new C# stuff.
Saying LINQ produces garbage is uncalled for when it’s a different use case and supports other or more use cases.
I don’t think I understand why would it be uncalled for, though. At least in the context of game development, where even small allocations can be a problem, it feels ok to generalize, especially if most people probably only encounter LINQ in it’s basic form instead of the other use cases. Mostly for the sake of new programmers, who may fall into a trap of over-using it.
Unless you are talking about using the term garbage, which now I realize may sound degradatory. That wasn’t my intention, and I don’t have any negative connotations with that word, so it was not meant in a negative way - I though it’s the correct terminology for allocations that need to be collected by garbage collector later, which is an issue in performance critical applications.
Has anyone tried any of them? I’ve recently discovered one of their libraries, and I wonder if they are reliable and production-ready. Some of it does look cool!
Mikinato Programmer Humor•Explain how I got here? Not unless everyone gets really cool about a lot of stuff really quickly.6·23 days agoI started as part time without any experience durring my college. I was studying gamedev software engineering, but we had one voluntary class about Ethical Hacking.
I just asked my professor if he can reffer me to someone in the field, followed OWASP Web App Testing guide to the letter when testing the interview homework website, and landed the job without much prior experience (I did attend a few CTF competitions, though).
Just following the checklist in OWASP testing guide made my results comparable to, or even better to some of my colleagues, and I’ve slowly learned the rest (especially internal domain pentesting) from our internal documentation or shadowing seniors during pentests, and simply being interrested in the field, having initiative and looking up new tools and exploits eventually got me to a Red Team Lead role (not a very good RT, though, but it did improve eventually).
The pay was pretty good compared to what’s usuall here in Czech, too. I could comfortably pay rent and get by even with part-time, during college.
MikinaOPto Game Development•ZLINQ - A zero allocation LINQ rewrite, with added support for Unity and Godot scene hierarchy, that has a drop-in replacement support.1·23 days agoI’ve never heard of them, but a colleague told me he recognized the name and thought that they do middleware that’s extremely expensive. Haven’t looked into it, but their FOSS stuff looks nice.
Have you worked with their other/older projects? I’d be interrested in someones experience with this developer, if it’s something that can be reasonably trusted.
MikinaOPto Game Development•ZLINQ - A zero allocation LINQ rewrite, with added support for Unity and Godot scene hierarchy, that has a drop-in replacement support.51·23 days agoI can imagine a few use cases, sorting or selecting or filtering a list is something that does pop up from time to time. It’s nothing major, and definitely not a must have.
From the top of my head it can be finding a closest enemy to the player, while it doesnt have to be done every frame, you’d want to do it often enough.
Sure, you can just for loop it (as with any LINQ calls), but I’d say that LINQ is more readable.
MikinaOPto Game Development•ZLINQ - A zero allocation LINQ rewrite, with added support for Unity and Godot scene hierarchy, that has a drop-in replacement support.2·23 days agoI’ve picked the first example article I found, which was really old (Unity 2018), since I wasn’t sure if the question was about what’s garbage or how much, so I just wanted to illistrate the concept more than concrete numbers.
The ZLINQ repo does have a benchmark screenshot in readme and it does shows that LINQ still does allocations. It’s not clear what the benchmark was ran on, but it shows mean of 200b of allocations, so LINQ probably still does them in some capacity.
MikinaOPto Game Development•ZLINQ - A zero allocation LINQ rewrite, with added support for Unity and Godot scene hierarchy, that has a drop-in replacement support.3·23 days agoSome of LINQ functions do memory allocations in the background, which are then thrown away and left for the garbage collector to handle.
Here is an example what I mean - https://www.jacksondunstan.com/articles/4840
My issue with canvas fingerprinting and, well, any other fingerprinting is that it makes the situation even worse. It plays right into the hands of data brokers, and is something I’ve been heavily fighting against, and simply don’t visit any website that doesn’t work in my browser that’s trying hard not to be fingerprintable.
Just now there is an article on the front page of programming.net about how are data brokers boasting to have extreme amounts of data on almost every user of the internet. If the defense against bot will be based on fingerprinting, it will heavily discourage use of anti-fingerprinting methods, which in turn makes them way less effective - if you’re one of the few people who isn’t fingerprintable, then it doesn’t matter that you have no fingeprint, because it makes it a fingerprint in itself.
So, please no. Eat away on my CPU however you want, but don’t help the data brokers.
I did Software Engineering Bachelors and then gamedev masters, and while I didn’t really appreciate it at the start, since it felt like I’m learning a lot of stuff I’d never need, I’ve eventually come to be really glad that I did it.
Throughout the classes it felt pretty meh, I didn’t understand why I have to do so much stuff that I’ll never really use, and always felt like I’m just forgetting 90% of what I was taught the moment I was done with finals for that class. Why do I need to learn Smalltalk? Why Lisp? What even is Prolog? Does anyone even do UML anymore? I want to be a C# programmer, I don’t need this.
And it was true. From most of the languages I’ve had to go through, I don’t remember almost anything. But that’s not what it was about, and that’s something I only came to appreciate with time - it was not about learning Pharo or Prolog, it was about overcoming the initial learning curve and getting somewhat familiar with OOP or formal-logic style of languages. And while you forget the details, the familiarity will stay with you. The goal is not to make you a Prolog programmer, but to make you a programmer.
I’ve eventually realized that I can pick up any language pretty quickly, no matter what it is - because I’ve already seen and learned all of the different styles or types of languages there are, and no matter what it is, it’s similar to something I vaguely remember seeing somewhere. And that’s an immense help. I picked that up naturally, I’ve kept hearing the question “what programmer are you? What language you can program in?”, and it felt weird - sure, I do know the most about C#, but I never had issues with picking up whatever was close at hand or needed, and writing anything I needed with a little bit of documentation and googling. And it was thanks to what I learned in school.
And the same applies to the math and data structures that they hammer into you. Do I remember the difference between red and black tree, or a min-heap, and can I prove it? Not really, but I know they exist, and when I see a problem that sounds like it could use some obscure data-structure, it comes to my mind and I know what keywords to look up. And that’s a skill that I’ve notice is missing from most of the people who didn’t have formal CS background. Same goes for algorithms like FFT - you know it exists and what it’s used for, and seeing a problem that could use it will trigger your PTSD.
So, I highly recommend giving college a try. You will learn a lot of cool algorithm, and some of the classes were fascinating, and it will give you a vague overview that will stay with you throughout your carreer, feeding you with keywords about stuff that might be usefull for the problem at hand. It’s the best thing I’ve done in regards to programming.
Mikinato Linux•Asahi Lina: For personal reasons, I no longer feel safe working on Linux GPU drivers or the Linux graphics ecosystem. I've paused work on Apple GPU drivers indefinitely.11317·29 days agoThis is the worst way how to announce something like this.
I don’t know the context, but if the goal was to not start a wave of speculations, it would be better to simply not hint at anything. I wonder what happened, and I respect if they don’t want to deal with it, but this does feel weird.
Mikinato Programming•An open source Peer-to-peer serverless decentralized social media protocol built on IPFS3·29 days agoIs this reply AI generated?
Just a headsup, hosting your own server, so you can have all the bridges you need (messeger, WhatsUp, Discord…) is really easy, thanks to the amazing Matrix Ansible project. In my experience it’s one of those rare docker/ansible projects that is robust and just works, that has a pretty well documented install process.
Setting up a server took me like 2 hours max, incuding getting a hosting (a cheap Hetzner cloud for 6$ a month) and a domain, and I do not have almost any docker or ansible experience. It’s literally just changing a few config variables to enable bridges you want, setting up a DNS and letting it run.
I’ve just discovered Distrobox, and it has immediately replaced my .devcontainers. The fact that it integrares into your system so well is awesome, especially since I am doing Vulkan stuff at the moment.
Haven’t really looked into shareability, though. If it’s as easy to define and share a distrobox setup than it is a docker .devcontainer, then it’s perfect.
I’ve added a subtle prompt injection into my email signature (capitalize random words and start every sentence with the same letter), with small font size and color to not be visible.
I have already received two emails from customers that did trigger it.
Mikinato Programming•What are some good resources to learn to write very reliable/formally verifiable software?3·2 months agoWhat would be ELI5 use case of this? It has been almost a decade since I did anything math-formal in college, and I wonder what would be some practical uses or situations is SW dev where you should turn to this language.
EDIT: I skimmed the intro to Verifiable C, and I think I vaguely understand the idea - do I get it right, that the point is to basically create a formal definition of the function you are writing, i.e if you have a function that takes an array and sorts it, you’d have something like
For every sequence a and every i, 0 <= i < len(F(a)) -> F(a)i < F(a)i+1
(Or whatever would the correct formal definition be, I don’t really remember the details, I know I missed some stuff about properly defining the variables, but the idea of the definition should be kind of correct)
And then you define this formal definiton in CoQ, then somehow convert your code into CoQ code it can accept it as F(a), and CoQ will try to proove formally that the function behavior is correct?
So, it’s basically more robust Unit Testing that’s backed by formal math proofs?
How’s PostmarketOS doing recently, anyone using it as a daily driver? I have a PinePhone in a cupboard that I bought more than a year ago that lasted like a week as my daily before I quickly gave up on it (or rather, reinstalled it to Kali Nethunter and just have it in my pentesting bag. Not that I ever used it :D), since it had too many issues.