skysight-inc/HackerNews huggingface dataset:
I like Makefiles too :) I use them more or less as a command runner, not often to build new targets based on sources (sometimes still).

In particular, I like:

* The ubiquity: it's easily available almost everywhere I touch and if not, it's usually a package install away.
* The auto completion: I often define variables with default values at the top, but they can be both easily discoverable and their values can be changed just by typing `make VAR<tab>=foobar ...`
* Chaining commands: make targets can be chained with `make target1 target2 target3 ...`. They will execute in the order specified. If I run this too often, I can usually create a 'ew make target that chains them all.

Make is definitely not perfect and could be simpler. My biggest griefs are:

* The abscons list of built-in variable. I can only remember a few of them ("dollar duck `$<` being my favorite), but they are not great to search in the docs and my brain is limited.
* The "one line = one shell" is a bit of a PITA for the use case I have. I usually move more complicated script put of Makefiles.

I thought I would have been bitten by the M4 indentation more often, but it's not really a problem for me anymore at this point (my editor _knows_ Makefiles since it's so ubiquitous and does the right thing)

I have Just on my list of things to check, one day...
> The response has been what's called "safety certification":

This is the most scary part for me. Certifications are mostly bureaucratic sugar and on the other hand very expensive. This seems like a sure way to strangle your startup culture.

If customers require certifications worth millions, nobody can bootstrap a small business without outside capital.
True. Although the ziploc bags can just be left a bit open, that's quite sufficient. The good thing about food-safe bags is that they're usually polypropylene and so good for archival use (and much cheaper than anything from a preservation-supplies shop).
As soon as you turn 25, they become preconceived. Or probably before that.
Thanks, law aside, it is so hard for me to imagine why they continue to be in business. Maybe, it is because whoever is being convinced by them of something believes they would need to pull the same "trick" some day.
Is there a website where one can see some open source contribution metrics? I found https://opensourceindex.io/ , but the absolute numbers do not tell much by themselves; of course the biggest companies contribute more[1].

[1] apart from Meta and Apple, they seem ridiculously low.
The world economy is hemorrhaging over a trillion dollars USD annually to cybercrime, so however you choose to define it it clearly doesn't exist.
Huh must have seen that and gotten it stuck in my subconsciousness :)
I’ll take YouTube and Steam over the olden days of game „journalism“ any day.
Well I didn't do this automatically, that's for sure. It was something my mother saw on TV and said you should start doing that, I was like uh no that's weird.
> THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - MIT license

When using open source, you take that risk. I've used a lot of libraries that have been abandoned over the years where I either had to switch to a fork, another library entirely, or just write the functionality myself. I know the risk inherent in OSS. For large projects like Linux, since it's so large, someone else would pick it up, but again, there's always a risk that someone doesn't.
This is potentially bad news for open source kernels. They do lots of work there.
some people don't like saying no, even if it is silently by not responding to email
Same. Out of 15 shops I worked for this was absolutely different (2017-2018) and the only place I've seen pair programming and TDD done right. Once we managed to deploy first version of a trading product with no bugs at all.

When I tried to explain other people afterwards how to do this, they just shrugged, as if I told a fairy tale. I had a chance to demo it maybe a couple more times while migrating other systems, and very successfully (and with very low mental and emotional effort) - itemizing the tests cases first, building fakes, frequent commits, trunk-based development, small stories, incremental improvements.

But it's never been perceived as a designed success, they are typically so prejudiced that they saw it as a fluctuation in the monkey circus of software development they got used to.

Now I'm at the stage we need a support group for ex-alumnis.
Man, I actually went looking for that. I bet some of us here could've made a killing bringing violators to justice if such a thing existed.
Sure, but you don't want to import CSS Franeworks as precomiled files, don't you? You would like to use them in their packaging system. This seems to be more js-centric today, still lots of SASS.
I don't understand why Gradle doesn't just provide the wrapper for download. They do provide the checksums [0], so it's not like the wrapper is customized for each repo or anything, but to download it you have to download the full distribution, extract the archive to extract the archive to extract the archive and run Gradle to run Gradle.

The properties file specifying the version and checksum is great, but we shouldn't need millions of identical copies of the binary itself checked into every repo.

[0] https://services.gradle.org/distributions/
Yes, the UNIX principle of being simple and doing one thing and one thing well.

Make does dependency tracking relatively well (for 1976). But if you just want to run some commands, your shell already does that just as well, without any of the caveats that apply to make.
This entire article and discussion is about why people like make.
Surprise safety orientation, we're on an airplane: take care of yourself before others.

A big part of Open Source is not knowing or caring about the intentions of the user. Wherever it may go is magical but also, potentially, terrifying.

I can't articulate it that well, but look back at the whole RSA/military grade encryption thing for references.
Your lucky! I never got to climb trees until I was in my late 20s because apparently it was something, for some reason, I just couldn't do. Skydiving though was cool! I'm not kidding.
Life without Aadhaar
> Not true. Your dependency graph might culminate on a single final target, but nothing prevents you from adding as many targets that generate as many output files as you feel like adding and set them as dependencies of your final target.

Sorry, I did phrase that badly. A better version of that sentence would be

A single target (a single node in the dependency graph) of Make does exactly one thing: it takes input files, some dependencies and generates _exactly_one_ output file.

> I think the whole point is that Make excels at a very specific usecase [..]

Excatly what I wanted to express with my post above. But the article isn't about such a case, but for something for which a single shell script (or, better, just adding the commands to the `scripts` stanza of `package.json`, which is the more common, expected way to do it) is actually better suited and way less error prone.
The main innovation in modern electric cars isn't just about swapping fuel with electricity, but eliminating all junk in between that wasted power only to overcome ICE inherent flaws.
More simple electronics aside, clutch, gearbox, then driveshaft are all gone, and they contributed to a huge waste of power, which burned a lot of fuel for nothing. This is so bad that where possible and economically feasible (trains and ships) they use mixed diesel-electric pairs with the diesel engine working as generator so that it would always run at maximum torque not being forced to start from zero rpm and not having its speed related with train and ship speed.
The electric engine is indeed older than internal combustion one, however what makes it a better option also for cars required modern development, especially in batteries and rare earth magnets which would have been unthinkable only a few decades ago.
I understand this perspective if considering CMake in the past (i.e. pre 3.0 or so), but in my experience CMake today is much nicer (albeit definitely still not without its flaws). Specially for the points you mention:

* “Weird bugs”: I suspect CMake wasn’t finding the version of Python you wanted because your find_package command was just finding a different version first. This is much easier to debug today by using —-debug-find-pkg=Python, which will print all the places it searches Python for and what it finds. You can then modify your find_package invocation as appropriate to find the Python you really want to use.

* Messy structure: yes, unfortunately I’ve also seen my fair share of nightmare-inducing CMake files.

* Opaque process: here I actually quite disagree. In my experience I’ve found it super easy to modify things like compiler flags (just use target_compile_options, or add_compile_options for directory wide options). And what made a big difference was using Ninja as the generator (I also use Ninja on Windows), which makes it super easy to view the final compiler commands that will actually be invoked. CMake is essentially a compiler that emits Ninja on the backend, and several times it’s been invaluable to confirm in the generated Ninja code what is actually being invoked.

CMake is definitely not perfect, but it’s much better than what it used to be! It’s ultimately a perfect match for C++ (both extremely powerful, configurable, hamstrung with decades of backwards compatibility, terrible ergonomics, etc.).
From a hardware perspective, juggling is better without flags and without unnecessary addressing modes.

Neither are concepts RISC-V invented, but rather, adopted. Ideas that have been plenty tested out there, and proven beneficial.

Large body of evidence trumps intuition and guesswork. Most of this is documented in the spec itself and/or in:

Computer Architecture: A Quantitative Approach (John L. Hennessy, David A. Patterson)
See also the EnderScope:

https://royalsocietypublishing.org/doi/10.1098/rsta.2023.021...

https://github.com/Pickering-Lab/EnderScope
Why don't all drive makers (both solid state and rotating) use a RAID-like structure to offer drives with any speed or reliability level that buyers want? Seems like it could be much more efficient to put RAID into the drive than to wrap it around multiple physical drives. Maybe it would actually decrease reliability (you lose all the storage if part of it goes out and you can't replace component drives)? It seems like it would be a way to get large permanent storage that is as fast as SRAM, which has been a holy grail in computing for a long time, to get past the CPU I/O bandwidth bottleneck presented by slower drives.
I don't know if it's actually saner than just normal phonys but man I like it.

What does it get you other than the ability to print the list of all phonys?
I too like makefiles, but the sophistication that I’ve added to some mine are a bit much and I now wish I had explained, via comments, to myself what I did :-D

That said, I wish there would come a new tool that could make things easier, that would gain wider appeal and adoption.
What did he do wrong? Seems he knew what he needed to do but the technology wouldn't work.
Ask HN: Sleep and meditation, any teachings on it?
Whenever I do breathing meditation in the evening, I tend to fall asleep. I am more aware of falling asleep since I am aware of not focusing on my breath anymore, so I wake myself up. This happens like 5 times as I meditate for an hour.

The thing is, I am an insomniac. Yet, at this particular hour I tend to fall asleep. I have been using this phenomenon to experientially learn more about the process of falling asleep. I have noticed a correlation between falling deeper asleep and the type of thought my mind seems to “automatigically” generate when I fall asleep.

I have just recently discovered this as an avenue to “practice falling asleep” (to the extent that there’s any merit to it, which remains to be seen). I can’t actually go to sleep since it’s too early and if I want it to work, it doesn’t 50% of the time.

So, is there anyone on here that has experience in meditation that is specifically related to sleep?

I once read a passage in a book of which I don’t remember the name that there was a person that could fall asleep while staying conscious and still overhear the conversations. When he was asked how he did what he did he mentioned that one needs to observe the process of falling asleep while falling asleep. This passage makes me believe that there might be some knowledge out there that could be helpful for falling asleep, especially since western science hasn’t investigated meditation that much compared to how many different forms are out there. It mostly seems to have researched breathing, mindfulness and loving-kindness meditation.

Meditations I currently do:

[1] breathing meditation/Anapana

[2] mindfulness/body scanning/Vipassana

[3] loving-kindness/metta

[4] Tonglen (doesn’t have an English name)

——

[1] https://en.m.wikipedia.org/wiki/Anapanasati

[2] https://nl.m.wikipedia.org/wiki/Vipassana

[3] https://en.m.wikipedia.org/wiki/Metta

[4] https://en.m.wikipedia.org/wiki/Tonglen
I drove stick for a couple of decades. They were fun at the time (except in traffic jams), but I'm no Luddite. I can enjoy being thrown back into my seat with roller coaster acceleration without the accompaniment of vroom vroom noises, exhaust, and shifting.
NB, did the first company manage their own k8s clusters, or used cloud provider's controllers?
The cost of the renewables rollout in Germany is on the order of 2 trillion euros. They produce so much renewable energy that the prices regularly go negative, but then import at much higher prices when they don’t. They pay among the highest prices in Europe, and still their CO2 emissions are among the worst. If wind/solar as a whole were both as cheap as touted and as environmentally friendly, that should not be the case.
You are forgetting something, which is that if the code is hosted on a social site, e.g. GitHub, many additional rules apply.

Gross misrepresentation of one's software will earn complaints to GitHub. It is the responsibility of the author that the repo's readme does not ovepromise and underdeliver.
> For example, the end of life of the old java versions (1.5, 7 and 8 etc) - plenty of companies simply just paid a support fee and get support, while others paid to upgrade (or even change stack)

And plenty others simply keep using the old 1.8 version because there's no budget to upgrade and there's no budget to 'pay a support fee'. And there's no budget to 'change stack'. Because... there's no budget.

Convincing people you need to upgrade or switch to keep current is often a hard problem, and sometimes has to be done with "you'll get all these new features!". But often "hey, we need some money to upgrade system X" is met with "hrm... it's software! It doesn't rot!".
Almost Every infra decision I endorse or regret after 4 years at a startup
Join the Canadian Intelligence Agency: Talent and Startup Funding Opportunities
Are you a technologist, coder, or entrepreneur looking to make an impact? The Canadian Intelligence Agency is on the lookout for talented individuals passionate about advancing cyber-intelligence, AI technologies and emergind technologies. We also offer funding facilitation for existing startups. Explore our mission, apply to join our innovative team, and discover how we can support your growth! Click to learn more.
More resources:

https://make.mad-scientist.net

https://www.cmcrossroads.com/users/john-graham-cumming

https://nostarch.com/gnumake

https://gmsl.jgc.org
> They can hire devs to work on FOSS.

And they do. Most big OSS projects have at least some of the maintainers and contributors be employees at a company where that OSS is used.
Can confirm, I do this all the time lol. The crashing into furneture thing hah. I think it's too much fun! Also, I wouldn't want too much sound around me. I'm already aversive to overly loud, overly changing sounds. They tend to set off my migraines.
It will take a long, long time to move to heat pumps for heating the majority of homes. Last time I looked into it I would have to change all the pipes and radiators in my home. Same with my mums house. The savings would have to be massive to offset the disruption and cost.
In Ireland, it feels like everyone's going the opposite direction. Smaller families with more leftovers, more meal prep, far wider range of ingredients used and kept for longer, and a bigger focus on food safety. I'm not sure I know anyone who doesn't use loads of containers.

That said, the German low cost supermarkets sell much cheaper food containers and if you want higher end, brands like Sistema always seem to be better value than Tupperware.
> What happens when it's no longer fun, but 150,000 people depend on it for their job?

Then someone else can take over, or not, depending on how important it really is to those 150000.

From the perspective of a business, using open source is strictly safer than closed source. With closed source, if the entity owning the code goes bankrupt, increases licensing fees substantially, just axes the project (incidentally what Google is also known for) or looses interest in some other way, you are out of luck. Go find something similar and hope there is a migration path. With open source, the equivalent is the maintainer walking away because they are bored, and you have the code right there to take over, or pay someone else to do so.

> I question the validity of open-sourcing anything for fun unless you design the licence, and more, to enable you to walk away and/or get bored.

Every open source license is already designed so that you can just walk away for whatever reason, e.g. when you are bored.
iOS Version please. Looks great.
Yep, could have been just bugs that I misinterpreted. Anyway, the stuff I want to do works with current gmake, but not with `/usr/bin/make` on macOS.
> I question the validity of open-sourcing anything for fun unless you design the licence, and more, to enable you to walk away and/or get bored.

I’m unaware of any open source license that prevents an author from walking away, ever? GPLv3 has no warranty or liability?

I guess you meant something with “and more”, but that sounds like a mismatch of expectations of what a user of open source might want, vs what is required of an author of open source?
> It’s like buying a Porsche and complaining

Is it, though? How many iPhone owners can afford a Porsche?

I don't think it's remotely like a Porsche: not the same volume, not the same customers. I could say "it's like buying shoes and expecting to be able to change shoelaces" and it wouldn't have much less value than your comparison.
And… you’re doing something.
I think you’re in a techie bubble. I would wager more people care about better water resistance (for example, because they want to use their phone in the shower) than about easily replaceable batteries.

The overwhelming majority of people will never even contemplate trying to replace their own battery no matter how easy it is (unless it’s literally 90s/2000s-style snap on).
>Why can't they hire someone that actually knows what they are doing?

Because those employees cost a lot of money and these commodity widgets have razor thin margins that don't enable them to pay high salaries while also making enough profit to stay in business.

You can pay more to hire better people and put the extra cost in the price of the product but then HP, Lenovo, Dell, et-al aren't gonna buy your product anymore, they're gonna buy instead from your competition who's maybe worse but provides lower prices which is what's most important for them because the average end user of the laptop won't notice the difference between network cards but they do check the sticker price of the machine on Amazon/Walmart and make the purchasing decision on that and stuff like the CPU and GPU not on the network card in the spec sheet.
I'm not in support of that kind of thing, and believes anyone who is should in fact, take a long walk off a non-existent pier! Your just advocating for ableism if you support that kind of thing.
Wait until you see what software engineers make.
Exactly. It's like much of the Sand in the world is produced by these things :)
That's not how I read it. Often square braces are used to denote a -- factual -- addition to a quote, in order to add information that would otherwise make the quote incomplete or confusing to the reader. Square braces around "Megan" doesn't mean "it was actually someone else and I'm taking creative license with the quote".
Well I'm blind, and I would rather not die until 40-50 years from now, thanks! I only support that kind of thing for terminal conditions.
I hear you on "yeah, the patch works, but I don't want it" - or..., as I've had a few times "that works, but it's not the way I want it done - redo it my way". Had that happen a couple times, in tech stacks and projects I'm not comfortable in. I'm not an expert in tech X, and don't have time to become one, to learn 'your way' just to make a PR you find acceptable. I found a legit bug, gave you code to reproduce and a suggested fix; please reformat it if you don't like my way.

I also had an opposite experience - submitted a PR with a fix, and the maintainer rewrote it a 'better' way which addressed the problem higher up the stack, meaning it 'fixed' things in a couple other spots I didn't even know about. That was such a great thing to do, and reminded me that projects can be that collaborative, even when you don't really 'work' with the other people all the time.

I might suggest you find smaller and more focused projects to contribute or donate to. The spirit you're looking for is still out there. Your Mozilla donations individually don't mean much to them, and sending some money to GNOME doesn't mean they'll take your emails seriously. A more niche project addressing a more focused problem would more likely welcome your code and donations, and potentially let you have a 'voice' more effectively than at big projects.
That depends if the person who must do the porting knows Make or not and which GNU Make (it's always about GNU Make!) feature had been used. And chances are JS devs don't at all or just as little as the one who wrote the article.

Don't get me wrong: I don't like Make, but I hate CMake and Autotools (and many other C++ build systems) too (and C and C++ and Fortran compilers and their vendors).
It’s not vilified. It’s the recovery of environmental costs associated with ICEs as well as subsidizing a lower barrier to entry for EVs.
Video calls do work to some extent, true. Just having some form of rapport with someone helps. However, I think there are some downsides to calls:

- The person has to agree to the call (tricky if they are already not responding and/or are more senior and/or dislike meetings)
- Calls often seem to have a lesser effect than in-person
- Plus other standard downsides of Zoom, etc.

In comparison, taking 2 minutes to walk up to someone's desk and directly address them is almost like a magic trick. Instant "pay attention to me now", thanks to the evolved human brain.

Now maybe overall not worth the tradeoff for in-office vs remote, but still I appreciate in-office's effectiveness here.
> (with lids! Very important to prevent dust etc)

Yeah, in the long run "stackable boxes with lids that go onto an independent shelf" are much better than various "stackable plastic drawers".

The latter are not resilient against the wear of time, ex:

* Frame for a drawer breaks? Now you have a weird tub with a handle on only one end.

* Drawer bottom breaks? Now you have an empty spot you can't fill.

* Need to move or reorganize content? You either have to put everything on the floor or your stack ability depends on the squishiness of the contents.