• 0 Posts
  • 39 Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle




  • I have an inner voice but I don’t use it when I’m reading, which is maybe why I am a very fast reader.

    I tend to use it when pondering on things. That said I just noticed that when composing and cross-checking this text for posting, I also used it.

    Curiously, nowadays my inner voice is not just in my own mothertongue but can be in just about any of the languages I know enough for basic conversation. It’s probably related to, because my foreign language skills are so advanced (I can speak about 7 languages) that I’ve long stopped translating to my native tongue in my mind and concepts just translate directly from those foreign languages. Also, I’ve lived in a couple of countries and as I would eventually end up mainly speaking the local language, my inner voice would also, eventually, end up also using that language.



  • Imagine if you gave away some old clothes to some Charity and they called you and said “Some of the socks have holes in them and we need you to come over here and fix those holes ASAP because we want to sell them in our used clothes store”. What would be your reaction to that?

    The expectation of payment is not for the software (which MS already has and is already using, free of charge, same as everybody else), it’s for getting priority in bugfix and maintenance work, or in other words, it’s for dictating other people’s work rather than merelly getting the product of work they, of their own choice and in their own timings, did and gave away for free.

    Free software is a social relationship, not a business relationship: the users get what they get because somebody chose to put their own time into it and is giving it out for free. Such relationship does not entitle the recipients of the goodwill of others to make demands on their time, especially if said recipients are actually profiting from what those other people gave away. If they want the right to get to use other people’s time as they see fit, then they have to get into a business relationship and that’s only going to happen in business terms that both parties are willing to have.

    Further, nobody is stopping MS from using their own programmers to fix that problem themselves.


  • Most of the “conventions” (which are normally just “good practices”) are there to make the software easier to maintain, to make teamwork more efficient, to manage complexity in large code-bases, to reduce the chance of mistakes and to give a little boost in productivity.

    For example, using descriptive names for variables (i.e. “sampleDataPoints” rather than “x”) reduces the chances of mistakes due to confusing variables (especially in long stretches of code) and allows others (and yourself if you don’t look at that code for many months) to pick up much faster what’s going on there in order to change it. Dividing your code into functions, on the other hand, promotes reusability of the same code in many places without the downsides of copy & paste of the same code all over the place, such as growing the code base (which makes it costlier to maintain) and, worse, unwittingly copying and pasting bugs so now you have to fix the same stuff in several places (and might even forget one or two) rather than just fixing it in that one function.

    Stuff at a higher, software design level, such as classes, are mean to help structure the code into self-contained blocks with clear well controlled ways of interaction between them, thus reducing overall complexity (everything potentially connecting to everything else is the most complex web of connection you could have) increasing productivity (less stuff to consider at any one point whilst doing some code, as it can’t access everything), reduce bugs (less possibility of mistakes when certain things can only be changed by only a certain part of the code) and make it easier for others to use your stuff (they don’t need to know how your classes works, only to to talk to them, like a mini library). That said, it’s perfectly feasible to achieve a similar result as classes without using classes and using scope only, though more advance features of classes such as inheritance won’t be possible to easilly emulate like that.

    That said, if your programs are small, pretty much one use (i.e. you don’t have to keep on using them for years) and you’re not having to work on the code as a team, you can get away with not using most “conventions” (certainly the design level stuff) with only the downside of some loss in productivity (you lose code clarity and simplification, which increases the likelihood of bugs and makes it slower to transverse and spot stuff in the code when you have to go back and forth to change things).

    I’ve worked with people who weren’t programmers but did code (namelly with Quants in Finance) and they’re simply not very good at doing what is but a secondary job for them (Quants mainly do Mathematical modelling) which is absolutelly normal because unlike with actual Developers, doing code well and efficiently is not what their focus has been in for years.




  • I’m not used to the US Keyboard layout.

    I think I only used it when I got a cheap second hand notebook in Canada during my vacations there.

    The reason not to change the keyboard layout to something different from the physical layout is that once in a while you have to use a seldom used symbol for which you don’t really have the touch-typing muscle memory, and looking at a physical keyboard with a different layour from the one you’re using at the software level won’t tell you were that symbol is, turning the whole thing into an unnecessary PITA of trying to find it by trial and error (I usually get this the other way around: when the software defaults to US Layout but my actual keyboard doesn’t have that layout).

    I do more than just programming on keyboards and some of the languages (spoken, not programming) I write in have accents and funny characters which don’t even appear in a US Layout keyboard.

    Also sometimes you really don’t have much of a choice if you’re in some country and the local employer/hotel/internet-caffee provides some local keyboard and you don’t have the permissions to change the layout in the OS.

    Yeah, yeah, you do have to climb and overcome the small learning-curve of learning to adjust to new keyboards, but once you have it’s not at all a big deal to adjust to whatever you happen to get your hands on.


  • I’ve used various layouts of non-US keyboards over time since I’ve lived and worked in various countries in Europe and whilst you do start by looking down to find stuff and for a while will at times unthinkingly choose the “old” position for a symbol when touch typing, you just get used to the new layout in a month or two, even if touch typing - your brain just starts directing your fingers to the new positions.

    That said, for seldom used symbols you still have to look down and check on which key that symbol is (it’s generally printed on the key), I suppose because you don’t really exercise those enough for your brain to reliably start sending your fingers to the new position without looking.

    (So given the languages I usually program with, for stuff like semicollon and open and close brackets and parentesis the brain quickly adjusts but stuff like the dollar sign I still have to look down and check, which is really noticeable if for some reason I have to do some shell scripting or similar)

    Things like letters and numbers don’t change position so that’s not a problem.

    Once you’ve become accustomed to a new layout, switching keyboards between those layouts is a bit like switching the side of the road you’re driving (say, between the UK and Continental Europe) - you get a couple of hours of extra memntal tension and having to think things a bit more at first and after that you’ve fully readjusted.


  • I’m old school and just download torrents with something like BiglyBT and put them in my local NAS (which is really just a bunch of portable HDs connected to my router), from where I can access them anywhere in my home, most importantly from a cheap media player connected to my TV.

    Been doing this for over a decade and it works for me. Also I know how to do it in a way that keeps me safe from such legal firms extorting money from people pirating digital works, whilst if you thrown “convenience” software into the mix, it’s harder to make sure it’s not leaking your IP address or other personal data even when using a VPN.

    The rule with running under a VPN is to:

    • Use a VPN provider which does not keep logs, hence my recommendation of Mulvad but there are others that the community considers reliabled in that respect (look around)
    • Do not register for any pirate anything using your e-mail.
    • Configure your torrent application to only connect via the VPN (settings depend on the program) so that it doesn’t “leak” by using your ISP connection directly if, for example, you forgot to start the VPN.
    • Personally I also tend to chose a VPN exit point outside my own country to make things harder from a legal point of view: complex legal cases involving multiple legal jurisdictions aren’t worth the trouble for the legal system to catch a person torrenting for personal use.

    If your torrenting goes via a VPN (hence it’s important to make sure it’s not leaking) all that those law firms have is an IP address to an exit point of the VPN provider. Unless the VPN provider is willfully cooperative (i.e. a letter in legal language merelly asking is enough for them to give the data, and the whole point of the likes of Mulvad is that they are not cooperative) those legal firms need to get a Court Order to force the VPN provider to give them the IP address of the machine using that VPN exit point at that time (i.e. your machine) and if the VPN provider doesn’t keep logs they can’t give that data since they don’t have it anymore, plus is both the VPN provider and the exit point are in a different country - i.e. a different legal jurisdiction - it gets even harder because, for example, German Courts can’t directly issue valid court orders for other countries (it’s pretty simple when the target is your local ISP, not so much if it’s, say, a company in Sweden)

    It’s simply not worth it for those law firms or the courts to go after common torrenting in such a situation, especially as there is a vast number of easy to extort people torrenting from their home connection directly, what the Americans would call “low hanging fruit”.

    Certainly this is how it worked in the UK which had the same kind of situation.

    A VPN is not a protection for people committing actual real crimes (say, murder for hire) because it’s definitelly worth it for the Justice System to jump through the hops needed to get such a person (in this case they would need a court order to wiretap the VPN provider to catch that person on the act and other legal jurisdictions would definitelly cooperate in a timelly manner to catch a murderer), but for people just doing normal torrenting for personal consumption it’s absolutelly not worth it to overcome that many hurdles to give somebody a fine. For those law firms too, it’s just easier to send legal letters to the ISPs of people torrenting via their home connection directly to get their name and address (without even involving a Court) and then send those people threathening legal letters than to try and legally force an uncooperative VPN provider in a different country to give them the IP address of the home user whilst they still have it (if I remember it correctly, Mulvad’s logs are in-memory only and last only 24h).


  • You should be using a no-logging VPN, even if only as a question of principle (I’m afraid that in Germany, it’s highly likely common people’s Internet activity is already under dragnet state surveillance: things like the mandatory providing and recording of ID when buying a phone SIM in Germany - which is unusual elsewhere in Europe - only serve for there to be a centralized record linking communication streams to people).

    Something like Mulvad will cost you €5 a month, way cheaper than any streaming service.

    I got used to using a VPN back when I live in the UK (which is probably the worst Surveillance State in Europe after Russia, as show by the Snowden Revelations which in Britain only led to politicians making laws to rectroactivelly make their massive civil society surveillance practices legal) and as it so happenned it was perfect at hiding my sailing of the high seas from those law firms (which were very active there) for more than a decade there.

    The way things are fast decaying in so-called Democracies when it come to the actually practice of democracy in governance, it’s probably a good idea to start doing your online life behind a VPN (not that it suffices, but it’s a start).


  • It’s called the Discounted Value Of Money in Finance.

    As in, the future money returned by an investment is converted to today’s money by using a risk free investment - say US Treasuries - as baseline to convert that future money to today’s money.

    Maybe an example helps: if I have a $1000 investment I can make today that returns $1050 in 2 years time, the way to check if it’s worth it and by how much is by comparing it with how much would $1000 put today in, for example, US Treasuries return in 2 years time and if it’s more than $1050 then that investment isn’t worth it because I could make more from those $1000 in 2 years with no risk.

    You could say that the baseline, no-risk, future value of today’s money is how much it will turn into by that future time if I kept it in a risk free investment from today until then, and you can also do the operation in reverse, Discounting the Value Of Money in the Future to a Present Day value.

    PS: There is also another concept which applies here which is to do with having your money lock-into something called Opportunity Cost. Simply it’s trying to have a value for the investment opportunities you might miss if you money is already lock-in for a certain time frame in something. Back in the example above, if those $1000 are put in our example investment for 2 years, they can’t be used if a better opportunity appear in the meanwhile.

    This actually applies to regular people all the time: for example, if you don’t have time to play a game, why buy it now if you can instead buy it later when you do have time to play it, it might be cheaper and you even have the option to change your mind in the meanwhile and get something else you enjoy more with that game. Mind you, this is maybe an example more suitable for the Patient Gamers forum than for the Piracy one ;)