HNHacker News
TopNewBestAskShowJobs

wott

1,784 karma · joined October 1, 2015

submissionscomments
wott··on 5% of 666 Python repos had comma typo bugs (inc V8, TensorFlow and PyTorch)
Same for Perl.
wott··on 5% of 666 Python repos had comma typo bugs (inc V8, TensorFlow and PyTorch)
It's not related to being dynamic or not, it's a syntactical choice: that's also the way to concatenate string literals in C.
wott··on Wave Function Collapse library in pure C
If the library is installed separately, the terribleness is about adding "-lfunkylib" to your linker command.

If you embed the source in your project, the terribleness is about adding to your Makefile:

  funkylib.o: funkylib.c
       $(CC) $<

  myfinalexe: ... funkylib.o ...
       # your existing executable creation (linking) command
wott··on Wave Function Collapse library in pure C
It is an atrocious fad imported a few years ago by young programmers coming from script languages, because they don't grasp modularity à la C and adding -lthatlib in a Makefile or a build script seems out of their reach :-(
wott··on Search engines and SEO spam
> A lot of sites seem to have scraped StackOverflow and GitHub issues, put a crappy ad-loaded interface around them, and somehow out-rank the original SO/GitHub content.

Some even made slideshows of SO screen captures and put that on Youtube, with a fake video or spoken intro to make believe an actual content will be discussed... A number of shameless people would go any length to grab bits of money anywhere and anyhow, and I've hit those links a couple of times.

wott··on Ask HN: Why is today's Internet experience so user hostile?
I never had a problem with the website of my Finnish bank 20 years ago. And I could order my plane tickets too through the Web in the first half of the 2000s.

I cannot say the same of the website of my French bank and its multiple rewrite over the last 8 years, which still provides less features and make them harder to reach each time.

Or the website of the national lottery and its countless rewrites, each of them getting slower, more inconsistent, and displaying less information on each screen.

Or the website of the national weather forecast, which gets worse at each iteration: now there's a 'weekly' view that shows 5 days; and I cannot for the love of God find the curves of snow and other parameters from the automated altitude weather stations any more (at each iteration, they have become harder to find, but with last iteration there is no access any more; someone's got direct links to the pictures URL on a website, but for how long?). Each time they make an update, the site is completely broken for days or weeks, before they sort out their crap and return the new shit to a more functional state.

Or the website where I did put my bicycle recordings for years without a problem and without feeling the need for any extra feature, which all of a sudden cannot be displayed any more by my old browser.

In all those cases (except the last, which is probably more recent), the needed features have been implemented for at least 15 years. They were working 15 years ago. Yet they got rewritten multiple times, and not for the best. Oh yeah, sorry, for the weather forecast website (which is a public service belonging to the legal type which is the most integrated with the State), there is a new feature added at each iteration: more advertisement, and now more tracking too! The site has become unbrowsable without and ad blocker.

And BTW now, I am met more and more often with the infamous "your browser is not compatible with this site, please update to Chrome / Edge / ..." messages. I thought this kind of things were dead and buried. They were dead and buried, for 10 or 15 years, but now dreadful times are starting again and they rise from their grave.

wott··on Ask HN: Why is today's Internet experience so user hostile?
Normal users, as they represent by definition the largest numbers, are necessary to enable the network effects on which the Internet companies rely, and as a result they also put other, reluctant users in a position of minority, the position of the 'unreasonable', the position of the grumpy old fart, the position of the burden to support.

The mass, thus the normal user, is indeed the enabler.

wott··on Evidence for a mouse origin of the SARS-CoV-2 Omicron variant
There cannot be evidence of the first, but there can be evidence of the other two (supposing one of the latter options happened). The problem is that there cannot be evidence that those two didn't happen. So if the first option happened, we can never be sure of it; the only way of being sure of something is if one of the other options happened and it is revealed.
wott··on “Fast Kernel Headers” Tree -v1: Eliminate the Linux Kernel's “Dependency Hell”
> As someone who had to go rattling over the USB gadget subsystem, I can tell you that running "grep" with "find" was the standard way to find some data structure buried in a file included 8 layers deep.

It has always amazed me how finding something which originally seemed a trivial little thing, usually meant going through a chain of #defines and typedefs across many header files. It's the same with GLibc, by the way. It' a bit like when you hike to a summit by following a crest path: you always think the next hump in sight is the right one, your destination, the promise land; and when you reach it, dammit, it wasn't, your goal is actually the next one. Or perhaps the next after the next. Or...

wott··on “Fast Kernel Headers” Tree -v1: Eliminate the Linux Kernel's “Dependency Hell”
> Every machine can do web browsing too.

Tell that to most of my browsers which refuse to display any Gitlab content (they only ever show the side bar).

wott··on We need to reclaim our attention
To many people, Italy would first evoke pizza and (the huge amount of Nonna's) pasta :-)

"Gourmet", "Chef", "Cuisine" and dozens of other terms: even in the English culinary vocabulary, the French words have a predominant role. It ruled the world of 'proper' cooking at some point. But I was more thinking about how, from the USA, the French are presented as having a balanced diet, eating a bit of everything but not eating too much of anything, cooking by themselves and not resorting to mostly ready, industrial, over-processed meals, how they would be a sort model in those matters related to food.

What was very fashionable at some point in the discourse on healthy food (10-15 years ago, maybe), was the Greek/Cretan diet; which was often extended to the whole Mediterranean, including Italy indeed, and south of France. Traditionally the butter & cream you mentioned are associated with northern France: the South was supposed to be a land of oil (olive oil in the most Mediterranean part, other oils in other parts) and the North a land of butter.

wott··on We need to reclaim our attention
> Developped countries share the same technologies, but this obesity and diabetes problem you're talking about seems largely rooted in North America.

In France ("the land of delicate and healthy food", as it is sold to you), obesity rate was multiplied by 3 since the 80s. Overweight rate raised by 50%.

Diabetes has also been on the raise: double or tripled since the 90s.

You know, in general all the crap that develops in the USA reaches other countries after a while. Depending on which specific 'crap', it is just a matter of variables delays and variable intensity, but it surely comes one day.

wott··on We need to reclaim our attention
Yeah, when we are lucky to have a several days long Internet breakage at home (we don't use cellular Internet), all of a sudden things which had been 'not possible' or 'so hard' or 'so tiring' for months or years suddenly become possible or normal or even obvious. We even manage to do things together with family members. Imagine!
wott··on We need to reclaim our attention
> if you have a draining job and don't have energy

Never in modern times have we worked less. It is not that much the 7 or 8 hours of not-quite-daily work which make us tired, it is that on top of it come the 2 or 3 hours of not-really-interesting-but-designed-for-addiction serials watching, the 1 hour of news article browsing, the 2 hours of reading and sometimes writing hundreds of comments about what makes us rage on whichever form of forum or social media or newspaper comment section, the 1 hour on social media of keeping-connected-with-family-and-friends you wouldn't have cared about before, the 1 hour of wanking off to the hundreds of thousands of hours of free porn available in 1 click while you would never have bought a porn magazine before, the 1 hour of browsing online shops for stuff you don't really need of for which you could just have bought the first item at your supermarket without spending hours of research to get the very best one or to save 10 cents.

For most people, at least half of this time spent connected to Internet would have been free 15-20 years go. Free to cook, free to rest, free to read, free to get bored, free to do something a bit more productive or interesting than indulging into one's vices or immediately yet falsely rewarding consumption, which is what the new Internet-backed face of consumerist capitalism excels at providing.

A lot of Internet leisure now occupies many hours a day, and gets placed at the same level as work and duties, instead of being considered as one way of occupying one's free time, so now the free time seems to be only starting after all this leisure consumption has be done, thus it appears extremely reduced.

wott··on EU drafts plan to label gas and nuclear investments as green
Please update your views of European urbanism (browsing Google's aerial photos should be enough). Urban sprawl is the defining key of the last 50 years.

Here is a starting point, miles and miles away from the historical centre of Toulouse: https://www.google.fr/maps/@43.537841,1.2268468,2639m/data=!...

Now it is not only happening around cities, around big towns, around small towns, it also happens at unprecedented speed around the tiniest villages.

A site that puts side by side aerials from now and from before urban sprawl: https://remonterletemps.ign.fr/comparer/basic?x=1.212446&y=4...

Back in huge cities. The city of Paris is much less populated than one century ago. Now it represents only 1/6th of the population of its urban area, an ogre which has swallowed almost 2000 municipalities (two thousand!).

Elsewhere in the country, you see urban areas from cities multiple dozens of miles apart joining in a continuous sprawl. Heck, even in my deep and remote area disconnected from any city or even town, there is now 5 miles of sprawl joining the 3 villages of the valley in continuous strips along the roads; before the sprawl, population of my municipality was 50% higher, and yet 80-90% of the now occupied space was free.

wott··on A Guide to Twitter
> people like to share things they like.

People like to share things they hate, especially on the Internet of the last decade

My national subreddit was a perfect example of that, most of the posts were posted by people opposing what was said in the linked article and willing others to rage about it too.

wott··on Wrapping Up 2021. Leaving C++
> My advice (after also having spent 'too much' time C++) is to never focus on a single language.

Well, you/they practised at least C++98, C++11, C++17... That's many different languages already ;-)

wott··on Wrapping Up 2021. Leaving C++
It seems to be one of those nowadays numerous people who invest a great part of their time into programming 'communities' to the point it becomes a defining point of their life, instead of just considering the underlying tool... a tool (or one hobby) among others. It often ends this way.
wott··on Whatever happened to Flickr?
It used to be well organised grid-ordered thumbnails (regularly displayed even when from different aspect ratios) on a white background that made picture stand out, with titles and descriptions as first citizens. Ipernity (http://www.ipernity.com/explore/whatshot) kept more or less that appearance, if you want to see).

Then in 2012 or 2013, they 'modernised' it into the current one: glued pictures with almost no separation and 100% screen occupation making an irregular patchwork; no title/description if you don't hover, I guess to accommodate a growing number of people who dumped their memory card without captioning their photos, and often without sorting them.

wott··on A realization of why email is critical infrastructure for the Internet
> And since robocall spam is illegal, i get ~1 call every 4-5 months at most, to sell me a different internet or electricity or mobile plan, and they're obligated to respect my refusal to be contacted thereafter ( and all do).

You are just lucky with your number. We get an average of 10 calls a day. Yes, in France. Stuff like Bloctel do not work, it isn't respected. I don't even know if fake caller numbers are now finally disallowed, it doesn't look so; anyway they were allowed for a long time.

Each time the government grants subsidies for whatever, it is immediately diverted by an enormous amount of companies which deal with the grey areas of the laws (laws concerning that subsidies and laws concerning solicitations), and if you have a residential number, you get spammed with commercial robot calls all the time (and then there are the 'empty' robot calls, too).

wott··on ‘Hard’ skills from PhDs remain relevant beyond academia
> the demonstrated ability to complete a large, self-directed project from beginning to end

I am not sure this (both the self-direction criterion and the 'complete to the end' criterion) applies to a majority of PhDs .

wott··on Please don't use Discord for FOSS projects
> [headers] There is some kind of message matching algorithm, which looks at the "subject" of your e-mail.

There are dedicate headers fields for that purpose, they are set automatically.

wott··on Please don't use Discord for FOSS projects
> It feels like more than a coincidence that the flavor of "security" that comes out of these companies hinges on infringements of ever increasing amounts of their users' privacy.

It is the same as in politics: saying 'because security', is a very convenient and easy way to get about anything accepted, little by little.

wott··on The Rise and Rise of Corrugated Iron
> Those will last basically forever.

  Yes, but where? :-) Because those large plates and the attached isolation plates fly damn well when there is a bit of a tempest.
wott··on C Is Not a Low-level Language (2018)
> And structures, unions, pseudo-meta programming via the macro processors,

Those exists in macro assemblers, for they are extremely thin abstractions, no thicker than jumping to a label instead of jumping to an absolute or relative address.

> no exposure to IO unless on a CPU with MMIO.

Well, since not all processors have I/O instructions (or dedicated I/O pins), the easiest way to implement portability is simply to not provide a direct access to them in the language, and let library functions handle it.

wott··on An Efficiency Comparison of Latex vs. Word (2014)
> 40 is not an adequate sample size. Not even close.

Last time I looked for a study of a similar subject (I think I was looking for speed comparison between T9 and multi-tap input), it was something like that too: 30 or 50 students given a short exercise. And then subdivided in several categories (T9 / multitap x novice / average /expert), which brought the size of each group way below 10. The measuring criteria were also a bit weird, concentrating on the number of errors and not on the time to get a correct result. They were surprised that they were getting sensibly different results from a former study they were quoting, which was also using ridiculously low sample size...

I didn't find a proper study on that subject. I thought it would be easy to find, as it didn't seem to be a niche subject at all: on something that was in use by 100 of millions people... I was a bit appalled that such crappy papers were published, but even more by the fact that no good one was. No-one decided to run a proper one after seeing the poor ones. And don't get me started on 'meta' studies (there was one) which push the limits of laziness even further since they do no study at all and even don't reproduce or improve a former one; packing a variety of crappy studies doesn't make a good one, no more than running bloody abstract statistics over figures which were not harvested using similar methodology in the first place.

wott··on Selling my own GPL software, part 1: a lot of hurdles
> GPL software should use the same predatory tactics as proprietary, and trend chase. Focus primarily on trend-chasing and marketing, focus on getting cash by any means necessary other than not making the source available. Market hard, dual license.

I'd rewrite this as "People who want to make money from GPL software should ...", because GPL software in general doesn't have to have a commercial goal.

wott··on For C programmers that hate C++ (2011)
Well, you don't really need to mimic OO to make that code cleaner and less error prone.

Here's what he wrote in order to complain about it:

    if (mode == ambient) {
      // handle pixels as ambient...
      int steps = right.a.x - left.a.x;
      float dv = (right.a.ambientLight - left.a.ambientLight)/steps;
      float currentIntensity = left.a.ambientLight;
      for (i=left.a.x; i<right.a.x; i++) {
        WorkOnPixelAmbient(i, dv);
        currentIntensity+=dv;
      }
    } else if (mode == gouraud) {
      // handle pixels as gouraud...
      int steps = right.g.x - left.a.x;
      float dred = (right.g.red - left.g.red)/steps;
      float dgreen = (right.g.green - left.g.green)/steps;
      float dblue = (right.g.blue - left.g.blue)/steps;
      float currentRed = left.g.red;
      float currentGreen = left.g.green;
      float currentBlue = left.g.blue;
      for (j=left.g.x; i<right.g.x; j++) {
        WorkOnPixelGouraud(j, currentRed, currentBlue, currentGreen);
        currentRed+=dred;
        currentGreen+=dgreen;
        currentBlue+=dblue;
      }
Nobody should do that. We use a temporary variable of the correct type. For example this way (but it could also be done with pointers to access directly the union variable):

    switch(mode) {
      case AMBIENT: {
        PixelDataAmbient l = left.a;
        PixelDataAmbient r = right.a;
        int steps = r.x - l.x;
        float dv = (r.ambientLight - l.ambientLight)/steps;
        /* ... */
        break;
      }
      case GOURAUD: {
        PixelDataGouraud l = left.g;
        PixelDataGouraud r = right.g;
        int steps = r.x - l.x;
          /* ... */
          break;
        }
      /* ... */
      default:
        show_error("Illegal mode");
    }
There is no need to cart all the .a. and .g. around and clutter the code. And there is no possibility to accidentally access the wrong fields the wrong way: trying to access l.ambientLight in the second block (GOURAUD) will fail at compilation since a PixelDataGouraud doesn't have an ambientLight field. It is also not possible to do PixelDataGouraud l = left.a; since left.a is not a PixelDataGouraud.

Much cleaner, much more readable and avoids most of the possible errors he complains about.

wott··on LaTeX Cookbook – Collection of LaTeX Recipes
I use ConTeXt. It is a perpetual moving target. If you want a document to keep compiling to the same result, you'd better pin a version :-/

They keep on adding things, experimenting things, sometimes removing things, changing engines. If they think of a feature or someone asks for it, they implement it right away as a fix. They are very nice and helpful, but the problem is that those small features and fixes are not sufficiently thought out to maintain consistency. They are just there to get things done on the moment.

The documentation is mostly at introduction level, whether it is named that way or not. It is almost never exhaustive, it is often not up to date. Often, the options are not described, you just have their name: no idea about what they do, let alone how they interact.

Because things interact there too, and as with LaTeX, it doesn't always interact well, despite the more integrated approach that ConTeXt proposes.

It (more and more?) shares some of the problems of LaTeX. LaTeX has many different packages for the same thing (let's say tables) and none of those is complete? Same thing in ConTeXt nowadays, there are several table environments, and none of them is a pure improvement upon the others. So a package/environment adds a feature compared to an existing one, but it doesn't include all the features of existing ones. So you often end up with the same category of problem:

-- I want to do A => use this package/environment! -- I want to do B => use that package/environment! -- I want to do A and B => you're out of luck!

Yes, I am a bit, no, a lot pissed at the moment:

a. by my constant or growing struggles to get some stuff done on ConTeXt and LaTeX, stuff which doesn't look from outerspace and seems it should be handled out of the box, without needing to get dirty with low-level macros just to get stuff to behave consistently (because often said stuff actually works in some cases);

b. by the lack of robustness those tools are still showing, despite decades of massive time and energy investment by people who have a much better understanding of these shenanigans than I have. This is emphasised by my recent attempt to come back to LaTeX and the subsequent finding that I am hitting the same kind of exhausting inconsistencies I was hitting 10 years ago.

I am so depressed about the situation that I think that it must be impossible to build something robust upon TeX as a programming language. TeX the composition algorithm is probably fine, but building something based on this fragile, clunky macro language is probably destined to end up being fragile and clunky, in spite of the original intent. The automation of composition is already a difficult subject with a great many moving, interacting pieces; having to deal with such a rough language on top of this...

wott··on Krita 5.0
You'd better test if her Photoshop works fine with Wine. If it does, nobody get frustrated, there is no need for her to relearn everything from scratch if she is satisfied with that tool and her workflow established over more than 10 years, and you don't have to pay for a new tool.
← PreviousPage 2 of 34Next →