HN user

hashar

93 karma
Posts1
Comments42
View on HN

Maybe but I think you are underestimating the achievements Fabrice has accomplished. Among others: - Improved an algorithm to compute Pi, ran it on a *personal laptop* and broke the world record. That achievement is not even listed on his personal homepage, and it a single line of facts with Zero bragging involved https://www.bellard.org/pi/pi2700e9/ - a PC emulator in vanilla javascript, boot the Linux Kernel in a browser and get a virtual terminal also implemented from scratch - QuickJS, embeddable, self contained (no libs) and fast JavaScript engine matching almost entirely ES2025 - NNCP, a Neural Networks driven lossless data compression system

And more https://www.bellard.org/

I have been referring to his page for decades as an example of one can have a huge respect without having a fancy web page and no bragging at all. He is a genius :-)

L'Affaire Siloxane 1 month ago

I still use « briques », typically « 10 briques » instead of « 100 k ». I think there is some poetry in sticking to the old obsolete term.

I do not understand why the scrappers do not do it in a smarter way: clone the repositories and fetches from there on a daily or so basis. I have witnessed one going through every single blame and log links across all branches and redoing it every few hours! It sounds like they did not even tried to optimize their scrappers.

« mann » comes from Old English and stands for a human being.

« wïfmann », literally "female human", led to « wife ».

« were » means man and comes from Germanic and I don't think « weremann » has ever been a thing.

Why add the complexity of having to maintain an Ansible installation, a logging stack, deal with their upgrades and whatever python issue one might encounter. I had the issue of Ansible builtin `shell` not doing the right thing (sh vs bash) or it being unnecessarily slow when uselessly looking up `cowsay`.

Adding layers and layers of tooling is often overkill and it is hard to bit the simplicity of 33 lines of shell when the use case is a single person doing the code, deployment and maintenance.

I work for Wikimedia and I have been one of the few weirdos assisting in its creation back in the early 2000's. The first time I got exposed to wikis predates Wikipedia and my stance was:

- a site editable by anyone on the internet? That is never going to fly

Few months later I followed a link to Wikipedia and that clicked, we can definitely build an encyclopedia online and the hope (I was in my early 20's) or bet was that more people were wiling to write article than people willing to deface it. I guess we won that bet by a large margin :-]

Even if I was younger, I was not clueless. I was well aware some people would deface it and it did happen. I have also been involved in two very long and tedious fights with editors having a political agenda, which diverting me from actually writing articles. I think that is the real danger: shifting the focus of people from writing articles toward pointless long discussions.

Mourning Google 3 years ago

As a non US person, I have a couple questions:

* What is P&A tech?

* How one retires at 25 when working at Google which is way past IPO and the 100x return on stock option which is only possible at the earliest stage?

Because despite Wikipedia and sister projects being one of the largest web property, it is running on a thin budget and has starved engineering resources. As far as I know, the transcode code is maintained by a single employee (possibly as a side gig / on top of everything else) and the assistance of a volunteer.

For Motion JPEG a recent config change ( https://gerrit.wikimedia.org/r/c/operations/mediawiki-config... ) indicates:

Recent versions of iOS can play back suitably packaged VP9 video and Opus or MP3 audio, with a Motion-JPEG low-res fallback for older devices.

So I guess it is there for back compatibility :)

We have that filed in our bug tracker back in July 2022 and when I looked at the issue ( https://phabricator.wikimedia.org/T313114#8093706 ) almost all of the traffic came from a handful of IP addresses. Thus it is most probably some kind of probe, maybe to check whether internet is reachable.

As a result of the bug above, the entry is filtered out when post processing, but the page view dataset used for https://pagevews.wmcloud.org/ relies on the raw aggregated data.

I recently learned that Kubernetes is running on a lot of free labour.

Not sure what is your source for that? At a quick glance most contributions come from Red Hat, Google, VmWare, Microsoft, Amazon. Lot of independent contributions are done independently but as part of employment, which I guess is not free labour?

datetime.fromisoformat(date_string) Return a date corresponding to a date_string given in any valid ISO 8601 format, except ordinal dates (e.g. YYYY-DDD)

Thank you for that!

`bazel run` is for a rule that has been marked `executable = True` and there is no such rule in the repository.

If you `bazel build //...`, you should get the compiled libs under `bazel-out/*fastbuild/bin/`.

I'd guess the issue with that project is that it is mostly a single person effort and if that person is busy with other projects/repos/real life, they might not have the bandwidth to keep-up with the review, loose interest or maybe did not notice the PR update in the stream of incoming requests.

I guess the community (if there is any) can request to have more maintainers added to the repository to share the burden, else you still have the option to fork the repo and publish it under a different name.

I was wondering how I could have browsed to /lists and /highlights and eventually found the first one in the footer of the page. May I suggest to add /highlights there as well? Maybe just after FAQ and before Lists?

An Internet of PHP 3 years ago

In the "PHP at scale" section, I don't deny that it's possible to do so, but if Facebook and Slack moved away from PHP, it's probably because programs with other languages scale better.

Facebook was/is mostly dynamic and if I remember properly they had the status cards rendered dynamically via PHP (templating) Wikimedia reparsed the whole articles and included templates on any read requests with variances between parses based on users preferences (for example on Wikipedia you could show links to small articles in green rather than the blue for existing ones and red for absent pages, the size threshold being set by the user), that made the pages un cacheable and required a full reparse.

Facebook had a first pass at transcoding PHP to C++ (hiphop-cpp iirc), eventually they went transforming the PHP AST to bytecode executed in a VM: HHVM. It was back compatible with php 5.x including bugs and sometime poorly designed interface and used WordPress, MediaWiki testing suite to ensure they caught any regressions. The team behind HHVM probably saved Facebook from crippling capex / operating costs and at Wikimedia we literally halved the CPU load when we switched. At the time Facebook and Wikimedia ran PHP 5.3 or 5.4 and both had performance issues or at least concern with the huge amount of CPU required for their workload.

HHVM had some optional language feature on top of PHP such as typing and some helpful additional functions, that became the Hack language which is essentially a fork of the PHP language.

All the work on HHMV and the nice performances from it eventually challenged PHP which with PHP v7 came with a similar VM / Jit system. At that point, the performance benefices of running HHVM vs php v7 where not justifying the extra complexity (notably lack of garbage collector by choice, or complexity in deploying the sqlite bytecode holind the code to be executed). Wikimedia then moved back to PHP.

An Internet of PHP 3 years ago

A post about PHP usage on the web which remains strong despite all the buzz about NodeJS, JavaScript frameworks or WebAssembly. It tones down the echo chamber always following the latest trend and reminds us that despite being twenty+ years old, PHP still powers up most of the web today.

First paragraph as a teaser for those not clicking the link immediately:

PHP is big. The trolls can proclaim its all-but-certain “death” until the cows come home, but no amount of heckling changes that the Internet runs on PHP. The evidence is overwhelming. What follows is a loosely organised collection of precisely that evidence.

There is surely multiple alternatives for any given language, similar to Draconis compressing the latin form, in french instead of the literal:

  11 - Elle a dit au revoir trop souvent avant
You could replace: * "dire au revoir" by "saluer" (which used both for greeting and farewell so you get a bit of data information lost) * "trop souvent" which uses the "trop" adverbe when there is a word for it: "excessivement"

Which got me:

11 - Elle salua excessivement avant

Still as many syllable (4) but less words (from 8 to 4) which might be easier to read.

how do you guys find the energy to hack nights and weekends? I do enjoy hobby programming but it takes me at least one week of vacation to detox from the work grind so I end up doing it only when I have extended vacation

Namely passion, curiosity and probably not having much more other hobbies beside programming or hacking stuff around.

I recently went to try to improve a Linux kernel input device driver for a USB headphone: adding unit tests (whose execution is nearly instant). I have learned a ton of things about Linux development, C (I don't know C at all), input devices driver system (hid), the USB protocol and my device specifications.

I have never managed to boot it live to test with my actual device. That is despite spending probably despite spending probably 40 hours including a 10pm - 4am session on a Saturday night. But I had lot of fun doing it and I think that was the point.

I guess you can't beat passion and curiosity.

Not necessarily. I have been working fully remotely for a USA organization, although being a non profit the compensation is nowhere near FANG or anything from tech.

I have some ex-coworkers and acquaintances working remotely from Europe for Bay area companies and they definitely have way higher compensations even without taking in account stock options.

I opened the video in the background and immediately recognized the person: the author behind the 3Blue1Brown YouTube channel. It has a long series of video regarding various mathematical topics which are rather accessible.

My favorite by far is a "proposal" for an alternate notation which makes much more sense and, if adopted, would make mathematics way less intimidating (Triangle of Power (2016), 3Blue1Brown - https://www.youtube.com/watch?v=sULa9Lc4pck ).

I'd give him a Fields medal (or at least an honorary mention of some sort) :-]

The `useskin` parameter should work on any MediaWiki instance as long as the targeted skin is installed on the instance. You can grab the list of skins from:

Special:Version (example: https://en.wikipedia.org/wiki/Special:Version#mw-version-ski... )

An API query: * direct: https://en.wikipedia.org/w/api.php?action=query&format=json&... * demo: https://en.wikipedia.org/wiki/Special:ApiSandbox#action=quer...

Which yields the code name of each skins installed (eg: vector-2022, vector, monobook ...).