2,224 karma · joined October 28, 2016
https://www.arp242.net
martin@arp242.net
jwz wrote about this years ago as well (and there are many more stories): https://www.jwz.org/blog/2014/10/youtubes-joke-of-a-fair-use...
That being said, I feel too many people fail to appreciate the problems YouTube is facing and are too quick to simply shout "censorship!"
For most people installing some C/C++ library it's just "apt-get install libfoo" (and maybe libfoo-dev), and they never have to deal with ninja/autotools/cmake/etc, whereas for JavaScript you directly have to deal with the tooling by using "npm install libfoo".
The same task mentioned in the article would probably be a lot easier: install package, write some code, "c++ -lfoo main.cpp".
The other day I wanted to publish a little script I've been maintaining for years as a module easily usable by WebPack and whatnot, and that's much easier said than done. I published it on npm and put some UMD magic thing in there, and I think it should work now ... but I'm not really sure to be honest (still need to look at this and confirm).
Just searching "publish JavaScript module" and trying to make sense of the WebPack isn't really all that helpful, not for me anyway, as I'm joining half-way through season 6.
I have no opinion on the tooling as such – I lack experience to have an informed opinion – but it sure is confusing to "quickly" do something for people who are not heavily involved in it (i.e. me)
It's not perfect, but nothing YouTube does at this kind of scale will be.
This won't hold true for all use cases; one table now has 11 million rows, and I'm not sure how well SQLite would perform on that. The benchmark was very simple anyway, and it's mostly a read-only where users don't update/insert new stuff. Would be interesting to re-test all of this.
create table foo2 (
col1 int,
col2 text
);
insert into foo2 sleect col1, col2 from foo;
drop table foo;
alter table foo2 rename to foo;
create index on foo(col1);
See: https://www.sqlite.org/lang_altertable.html#making_other_kin...As for the reason, see the next section on that link. It's not perfect, but it is what it is. SQLite wasn't designed to solve 100% of the use cases, and that's not a bad thing.
Whatever failings MySQL or PostgreSQL may or may not have are not important at all here.
But ... that doesn't mean that PHP is a good language, or that people hate in PHP "just because it's cool". There are still many issues that remain. For example the very loose typing checking remains an issue and source of real bugs; e.g. a while ago a SAML library could be bypassed because it forgot to add the flag to in_array() to enable strict comparisons.
Much of the problems in PHP are with the standard library, and this is not easy to fix. Even the mysql deprecation (in favour of mysqli/PDO) took ages. I wrote a thing looking at fopen() in PHP a while ago, and I think it's a good example of the problems that remain in PHP: https://www.arp242.net/php-fopen-is-broken.html
There are still many issues with the standard library like this which are clumsy and just plain design errors, and many of them are too fundamental to work around or fix. Has PHP evolved? Sure, and that's great! But that doesn't mean it's now an especially good language. In general, I'd rather have a poor language with a good standard library than a good language with a poor standard library.
Aside: one weird thing about PHP's stdlib is that it's all written in C; I don't know any other comparable language where all of the standard library is written in C. I think this seriously hamper's the evolution of PHP's stdlib to a more modern experience.
There is no easy fix for any of this btw, because a revamping of the stdlib would likely lead to a "Python 3 scenario", so I don't blame the PHP devs for not fixing it (although I do blame them for introducing new flawed parts to the stdlib, like the whole DateTime fiasco), but that doesn't mean it's not a problem.
That is my personal experience anyway, as someone whose first truly serious language was PHP 20 years ago. Maybe it was just because I was used to it (BASIC also used $), but it took me a bit to get used to the "bare" variables in Python and C back in the day.
And FOIA about the COVID-19 response are unlikely to require digging in to some archive, and are of limited use when fulfilled after it's actually over. This is what the mentioned suit is about.
But ... the online experience here is a bit different from the conference experience.
Even as someone who mostly answers questions it's frustrating.
In-vitro results are worth following up on, but it is my understanding (as a non-expert) that it's very common that they don't pan out in actual humans. Turns out that human bodies and the way we interact with drugs are rather more complex than simple in-vitro situations.
It's really to soon to recommend either drug. Even with 0 side-effects there is a high risk of it being a massive waste of resources better spent elsewhere. This is just classic Trump afraid of being seen as not being on the top of the world in literally every situation.
Also, not sure if Howard is still involved to FastMail? They sold to Opera in 2010, although they've been independent again since 2013, but it looks like the 2010 sale was the end of Howard's involvement?
In fact, /usr/local is actually the default for a lot of programs; you manually have to specifically --prefix=/usr if you want to use that.
I used to maintain a bunch of FreeBSD ports, and whenever this wasn't supported I'd send a patch upstream, which was pretty much always accepted. In a few cases: yeah, you'll have to patch the paths, which is not ideal, but it's a lot less patching than what Debian does, which often has more changes and backports security fixes etc.
It's not really that convoluted: it's just setting a header with a fixed token, which is actually simpler than HTTP auth.
Personally I found Matomo rather hard to use, I tried it for a while but decided that writing my own was easier than figuring out to get Matomo to do what I want (also: cheaper and easier). I think it's a good alternative for some use cases, but far from all. Related comment I left on Lobsters a few days ago: https://lobste.rs/s/cdrrty/why_you_should_stop_using_google#...
With GA, I can do none of that; it's just a massive unreadable blob I can only load from the GA servers. I just have to trust Google doesn't do anything I don't want (including XSS, but also other issues). It's not even easy to figure out what information exactly it collects last time. It's very untransparent and un-auditable and the website equivalent of loading binary kernel blobs.
Small correction: it's not really "commercial licensed", it's completely Open Source/Free Software according to the OSI definition and "four freedoms", and can be used for any purpose including commercial (EUPL license, roughly similar to the AGPL).
Only the hosted goatcounter.com SaaS operates on a "free for personal use, pay for commercial use" basis, but there is nothing stopping you from running your own instance for commercial purposes.
I think I need to clarify the README on this a little bit, as I had someone else ask the same question yesterday as well :-)
It's not always an option, even if they can't read your email casually, your company may still have perfectly legitimate reasons to keep it under their control for reasons of auditing etc.
There are some exceptions of course: if you notify the employee and have a justified reason you can check some emails. So it's not outright forbidden. It matters a lot on the case and what you did, exactly.
I'm not aware of the situation in other countries.
(In Dutch: https://www.cnvvakmensen.nl/nextnow/blog/2016/march/mag-de-b... and https://www.sprengersadvocaten.nl/publicaties/wanneer-mag-ee...)