Mikina

joined 2 years ago
[–] Mikina 2 points 1 week ago (1 children)

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.

[–] Mikina 8 points 1 week ago* (last edited 1 week ago)

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.

[–] Mikina 96 points 2 weeks ago (6 children)

This 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.

[–] Mikina 3 points 2 weeks ago (1 children)

Is this reply AI generated?

[–] Mikina 2 points 2 weeks ago

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.

[–] Mikina 2 points 1 month ago (1 children)

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.

[–] Mikina 40 points 1 month ago* (last edited 1 month ago) (2 children)

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.

[–] Mikina 3 points 1 month ago* (last edited 1 month ago) (1 children)

What 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?

[–] Mikina 102 points 1 month ago (5 children)

I think I know who killed him.

By 11, he was programming on his own—a skill he used to playfully torment his friends. One remembers Balaji’s idea of a middle-school prank: writing code that deleted a friend’s Skyrim save file.

[–] Mikina 2 points 1 month ago

I've recently tried setting it up to work with C# solutions, and I've ran into some issues and couldn't get it working, which combined with the fact that it's not that well known made me consider learning neovim instead.

I can already see that Helix is way smoother to use, but neovim has one huge advantage - there's so much more tutorials and resources about it. So far there's a lot of questions I, as someone who has only ever worked with IDEs, have run into along the lines of "How do I do this?" that I wasn't able to find an answer for Helix, but while looking for it stumbled upon in-depth tutorials for neovim plugins that answer those questions.

I'll not give up on helix so soon, but it's been more difficult than I expected.

[–] Mikina 1 points 1 month ago

but if they do it’s a scandal waiting to happen

That was my line of thought. If you pay for failed captchas, there are a few websites using it that'd deserve a bot failing them constantly.

[–] Mikina 1 points 1 month ago* (last edited 1 month ago) (1 children)

I use Pixel with GrapheneOS as my phone, and I just have a separate profile that only has WhatsApp installed and nothing else. Since the profiles are completely separated, it doesn't have access to anything else I do on the phone and it's not running in the background (the profiles are basically sandboxed fresh slates, and switching it can be set-up to behave in a same way as basically turning off the phone as far as the profile is concerned).

When the bridge asks me to log in again or refresh a session, I simply switch to the second profile for a minute and re-log in. I've heard iIt might be possible to set up an emulator and leave it running on the server, but that felt like too much effort.

view more: ‹ prev next ›