> Bitcoin is actually kind of useful for some niche use cases - namely illegal transactions, like buying drugs online (Silk Road, for example),
For the record - the illegal transactions were thought to be advantaged by crypto like BTC because it was assumed to be impossible to trace the people engaged in the transaction, however the opposite is true, public blockchains register every transaction a given wallet has made, which has been used by Law Enforcement Agencies(LEA) to prosecute people (and made it easier in some cases).
> and occasionally for international money transfers - my French father once paid an Argentinian architect in Bitcoin, because it was the easiest way to transfer the money due to details about money transfer between those countries which I am completely unaware of.
There are remittance companies that deal in local currencies that tend to make this "easier" - crypto works for this WHEN you can exchange the crypto for the currencies you have and want, which is, in effect, the same.
That doesn't give you a way to exclude conflicting code, unfortunately, so you can't provide an optimal one for non-test code with it.
And stuff like `func SetTime(...)` in a _test.go file only works for tests in that same package, because other packages don't compile that _test.go and won't have that function defined.
Are you saying that you want multiple build tagged files each with a different implementation of the function, all in the same package? (eg. windows, linux, arm)
I mean, the example given by the GP is two implementations in the same package, the standard library version is used in the prod file and the test implementation in the test files - the _test.go is the (implicit) build tag
Just for the record - this is package local - it's fine within the package it is defined in, but no other package will use the implementation, they will all use the standard library.
Others have linked to the much more "fun" https://github.com/bouk/monkey which is an actual monkey patch, in that it changes the code that is called from anywhere in the runtime
We really need a rule in politics which bans you (if you're an elected representative) from stating anything about the beliefs of the electorate without reference to a poll of the population of adequate size and quality.
Yes we'd have a lot of lawsuits about it, but it would hardly be a bad use of time to litigate whether a politicians statements about the electorate's beliefs are accurate.
The thing is... on both the cited occasions (Nixon in 1968, Morrison in 2019), the politicians claiming the average voter agreed with them actually won that election
So, obviously their claims were at least partially true – because if they'd completely misjudged the average voter, they wouldn't have won
When there are only two choices, and infinite issues, voters only have two choices: Vote for someone you don't agree with less, or vote for someone you quite hilariously imagine agrees with you.
EDIT: Not being cynical about voters. But about the centralization of parties, in number and operationally, as a steep barrier for voter choice.
Two options, not two choices. (Unless you have a proportional representation voting system like ireland, in which case you can vote for as many candidates as you like in descending order of preference)
Anyway, there’s a third option: spoil your vote. In the recent Irish presidential election, 13% of those polled afterwards said they spoiled their votes, due to a poor selection of candidates from which to choose.
> We really need a rule in politics which bans you (if you're an elected representative) from stating anything about the beliefs of the electorate without reference to a poll of the population of adequate size and quality.
Except that assumes polls are a good and accurate way to learn the "beliefs of the electorate," which is not true. Not everyone takes polls, not every belief can be expressed in a multiple-choice form, little subtleties in phrasing and order can greatly bias the outcome of a poll, etc.
I don't think it's a good idea to require speech be filtered through such an expensive and imperfect technology.
FTR I am firmly of the opinion that LLMs are not the pathway to AGI - they work by word association, albeit at sentence/paragraph level, which does not require understanding of the words.
To put it in layman's terms
If I have words like jhgjkhg and kjhgsd (etc) and I know that the former always precedes the latter, with a spacing of 3 or 4 words, then I know to use those words at that spacing, and have an understanding of what words can go in the middle.
But at no point have I deciphered what those words mean, nor will I ever.
This differs from humans who have a central understanding of the meaning of a word.
That core understanding is where LLMs are failing and where I believe AGI lives.
How this will be achieved, or proved, I have NFI - I have long given up on ML as a pathway to AGI, and even if it was I don't think that I possess the skills/knowledge/creativity required to help find it.
I was honestly embarrassed to admit that I have no idea what I've been using on my Ubuntu server for the last 10 years. The way to find out if I'm using vi or vim is to enter command mode (by pressing “:”) and run “version” I'm using vim ;)
I'm struggling to think of the last time I saw a commercial unix -- we still had solaris on some new machines until about 2006 - the last I remember was the x4500 with ZFS.
Our sun sysadmin contractor (whose full time job it was to look after about 10 solaris machines) was a big fan of ksh at the time.
I used a Sun workstation as late as 2008, but by that time it was ancient and kept around only for the expensive engineering software that wouldn’t run anywhere else. Even at the time, using CDE felt like a blast from the past. I didn’t dig too deep because I wasn’t using it for long, but I’m pretty sure the vi was original.
I think, to add to the comment, the whole raison d'être of zero days is that an (exploitable) bug has been found that the producer of the software is not aware of/has not produced a patch for.
It's fine to say "Look this is bad, don't do" and "A patch was issued for this, you are responsible" but when some set of circumstances arises that has not been thought about before that cause a problem, then there's nothing that could have been done to stop it.
Note that the entire QA industry is explicitly geared to try and look at software being produced in a way that nobody else has thought to, in order to find if that software still behaves "correctly", and <some colour of hat> hackers are an extension of that - people looking at software in a way that developers and QA did not think of.. etc
Defense in depth and multiple layers of security should ideally protect against zero-days; see the Swiss cheese model of accidents for an example; most aviation accidents are rarely caused by a single factor but an improbable combination of factors.
This is why I also think “zero trust” and internet-accessible SaaS has done so much damage to the industry. Before, if your version control server has a vuln, the attackers still need to get on your VPN to even be able to scan for that vuln. Now, your version control server is on the internet and/or is an SaaS and all it takes is an exploit or a set of phished credentials for anyone anywhere in the world to get in.
For the record - the illegal transactions were thought to be advantaged by crypto like BTC because it was assumed to be impossible to trace the people engaged in the transaction, however the opposite is true, public blockchains register every transaction a given wallet has made, which has been used by Law Enforcement Agencies(LEA) to prosecute people (and made it easier in some cases).
> and occasionally for international money transfers - my French father once paid an Argentinian architect in Bitcoin, because it was the easiest way to transfer the money due to details about money transfer between those countries which I am completely unaware of.
There are remittance companies that deal in local currencies that tend to make this "easier" - crypto works for this WHEN you can exchange the crypto for the currencies you have and want, which is, in effect, the same.
reply