skysight-inc/HackerNews huggingface dataset:
Well, I could have also put in 1/10th of the work, not just 1/10th of the hours, and matched their output. Also, I'm just naturally dumb.
No, it should barely be challenging on a 8-bit CPU.
That doesn't contradict the first comment, which says they either invest a lot more OR "are very bad at flying under the radar"
Author here! Aside from Lunar (https://lunar.fyi/) all my apps over at https://lowtechguys.com/ are 100% SwiftUI.

In my extensive experience, this is the only major disadvantage I found: UIs with hundreds of stylized elements can be too slow

I suspect this happens especially because adding style to an element makes the graph deeper (e.g. Text(“”).shadow().colorInvert() means SwiftUI will add three function calls in the stack on each render pass)

But if that case does not apply to your UI, the advantages are massive.

For example my Volum [1] app works on iOS, iPadOS and macOS and because of SwiftUI it shares 95% of the code between platforms. That’s hard enough with other frameworks that I couldn’t even consider starting such a project before SwiftUI.

[1] https://lowtechguys.com/volum
That sounds like quitting before even trying. If I were you, I'd first exhaust every possible option I have at my disposal to become better before calling it quits.

You might have ADHD but you can also adjust to it and work around it. Don't call it quit until you literally exhaust everything you can.
I believe that dutch was invented when interdimensional dragon interlopers tried to learn "human language" but got an assortment of English, German, and French books without knowing they were different languages.
> Make ESLint type-aware. This seems to be something we keep banging our heads against -- we just don't have any way of knowing what type of value a variable contains. If we knew that, we'd be able to catch a lot more errors. Maybe we could find a way to consume TypeScript data for this?

An ESLint plugin manages to do this well[1]. Would be nice to have this functionality built in natively although you do take a performance hit because you have to run the compiler.

[1] https://typescript-eslint.io/docs/linting/typed-linting
>There is no reason Hollywood could pay someone to curate their subtitles.

There is because passion will always create a higher quality product than pay.

Subtitles in the pirate scene are good because the person subbing it cares about the source material.

Same reason some commercial versions of classic or rare movies are terrible quality, same reason Seinfeld on Netflix is cropped to 16:9 rather than 4:3.

Yet people in the piracy scene for no pay will take the visuals from a laserdisc version, missing scenes from a dvd, sound and subs from a Blu-ray, fix the subs and then combine it all into a perfect version of a movie. People who actually care put the effort in And the scene polices trash, 16:9 Seinfeld/Simpsons would get deleted from any good private tracker but Netflix/Disney execs are fine with it.
The groups whose differences were highlighted by monkeypox did not share a race. They shared some specific behaviors that have been an issue for public health before.

Is it racist to say that licentious, unprotected intimate contact with many partners is likely to spread disease? Will changing the name of the disease help clarify any discussion about it?
But there are plenty with average inteligence with good work ethic and good productivity. I think work ethic is something to be cultivated individually and has mostly no bearing in genetics.
I think it's a marketing thing. I'd call myself that if i were attending a job interview perhaps and trying to sell myself.

I wouldn't call myself that if I were speaking to a junior developer and helping him with something that's difficult enough to sap his confidence.
> "Integer number of cents" is a fine way to deal with money unless you want sub-cent units

I use this approach to minimize the amount of time I have to waste on trivial money operations such as storage and api's, but this approach (number of cents) falls apart quickly the moment you need to do something as simple as calculate tax or a commission. So, still likely no getting around proper float math even if you may not really be all that interested in sub-cent units.
>>> All dust looks 1000x worse on pictures :(

Indeed, I use a cheap paintbrush and a blast of air to remove dust from small things, including circuit boards, before I have to take a picture.
University of Notre Dame announces additional Covid-19 booster requirement
Full circle to 2020 when people were avoiding boxes from China like the plague.
Ask HN: What kind of data would be interesting coming from our expedition car?
Good day all!

Together with my girlfriend I’m traveling with an electric car from the Netherlands to South Africa and back, charging the car with solar panels we have in the car (11kWp). We are currently in Morocco.

With the help of 3 partners we are getting an enormous amount of data out of the car via the OBD port of the car pushed to different servers. If you can think of it, it is probably an paramater that is measured, liked G-force meter, if we buckled up, cellular reception of the car and so on.
What more data would be nice, beside the obvious like we already have on our website (SOC, altitude, speed and soon windspeed (we have an anemometer on the car) and direction), to show on our website? And what combination of data would be interesting to analyse?

At the moment one of our partners is making this dashboard with the help of students. We are allowed, to a certain extent, to share datasets, if you would be interested to play with it.

Soon we will share more facts and figures about our expedition after the dashboard is set.

Website: www.4x4electric.com/dashboard

Thanks!

Maarten
And it is fun when the movie has some foreign language dialogue with subtitles but the subtitles are covered by “[SPEAKS MANDARIN]”.
Why Finance Is Hard to Decentralize
https://archive.ph/KCALi
Actually no it does not sound very good and I hope I'm wrong : I wish there would be some major discoveries that would still enable us to keep some degree of comfort / food safety / health safety (and a little bit of fun with high-tech for us geeks :) and restore our half-destroyed environment while still being 8 billion people on earth, but at the moment I am extremely pessimistic about the social and environmental consequences of oil/metals depletion * climate change, and how that transition (or collapse) will be handled (or not handled) to reach such a new equilibrium (where my guess is that anyway people will have to live with low-tech, whatever this means in terms of comfort/longevity/...).

Remember that the sustainable world (horses, sustainable agriculture, sailboats, windmills, medicine with herbs, low techs... that many people somehow idealize today) is precisely the one we left 2 centuries ago with the industrial revolution, and there were understandable reasons for that : fossil fuels are infinitely more concentrated than renewables, and all the industrial development they allowed enabled to secure food and health safety, holidays, etc. But now humans are addicted and dependent on those fossil fuels (in particular to sustain 8 billion people on earth), discovering that the party is over will leave us with an extremely bitter hangover. It's just a pity that humanity stupidly wasted all those resources and destroyed their environment so quickly while a different and less greedy economical/political model would have enabled us to live good lives for centuries...
Simple Technologies Don't Scale
Partially related to https://news.ycombinator.com/item?id=33545788
Why wouldn't it? If the people making the decisions are more diverse, represent more different walks of life, demographic groups, etc, the decisions made will take more situations into account. Less incorrect assumptions will be made about one size fitting all, because that one size doesn't fit the people making the decision.
You know, I'm really starting to hate how 2FA, and phone numbers in general, have been hijacked into being an ID that companies just assume you have. A lot of the people who would be extremely opposed from "give us your driver's license or you can't use this service" are perfectly fine with forced 2FA - these leak the same amount of information!
“Wants an early end”?

That must be propaganda because it should be obvious to a lay person that it started in late 2019. China government has been trying for 3 years to “have an early end”
The problem in my experience is that cocky attitudes have a tendency to spread and it creates a really difficult work environment.

You also have to take the Dunning-Kruger effect into account, where most developers aren't able to evaluate themselves correctly. In our work we have a tendency to view thing as "right" and "wrong". I often find people with a few years of experience to be the worst. They have enough experience to recognise that they are more knowledgable than juniors, but lack the overall picture.

Some even come out of studies this way, because they are used to being the smartest in their class and have built up their egos. "Why is the old shitty code written this way, they must have been stupid? We need to rewrite it in the framework I read about in the blog last week". Only experience will teach them that things are not that simple. If they are not exposed to the right working environments in their first jobs, they will spread this negativity for years until they (hopefully) grow as persons.

Pro tip: If something looks unnecessarily complex, there may actually be a reason for it. In the case where you need to rewrite/refactor working stable code, don't try to negatively push down others to enhance your own feeling of superiority. Keep the arguments as objective as possible. If you have tracked the code to specific individuals, at least talk to them in private first to get their input instead of assuming you know best.
While this is a problem, there is also the problem of drivers not having sufficient visibility from behind the crosswalk due to parked cars or bushes or trees, forcing drivers to encroach in the crosswalk at some point.
But if you claim to be a 10x you’d be able to finish their 1x idea in 1/10th of the time wouldn’t you?
No, stocks are not tied to thin air.

Stocks can crash, and some of them are scams, but most of them are not, contrary to crypto.
"This program may or may not loop forever"

Seems pretty viable.
Part of it is that China doesn’t have the same successful vaccines at the US has.
The winds of exaggeration blow both ways.
After years of covid we still are getting ignorant comments like this.
The word “detritus” is a favorite of my wife and I. We use it it many contexts as a little in-joke.

Public digital detritus doesn’t really matter. The huge FANG style corporations have excess disk space. The real gold in cloud infrastructure is to have as much data in-memory for fast access, and those servers have disk space that can be blended into robust distributed super size virtual file stores.

Personally, I like that at least some of my eBooks might be useful to a few people after I die but I don’t feel like I need to do anything to preserve them since I find PDF copies all over the web (which is OK with me).

Personal digital detritus in our devices is a hassle which is why I like to periodically wipe my laptops and setup again and why I like VPSs that I usually discard after a few weeks or few months when I don’t need them.

Personal cloud digital detritus is no problem. On family plans, everyone gets 1 terrabyte on Microsoft OneDrive and on Apple+, and I also buy extra Google storage for myself. I don’t every spend even 1 minute cleaning up old stuff in the personal cloud.

Another commenter’s wife manually puts together short family videos. I stopped doing that when Apple and Google started automatically producing vacation memories of photos and videos - Apple does an especially good job, and half the auto generated memories get stared to keep access.
Those things should be trivial to achieve with most general purpose languages, as the API is so simple. No need for pagination or other things, just request things by ID recursively and you get the full thing, then after than filter/select whatever you want.

Pseudo-code to show how simple it would be:

function get_thread(id) {
let item = http.get(`{api}/?id={id}`).body
if item.childs {
item.fetched_children = item.childs.map((id) => {
return get_thread(id)
})
}
return item
}

(untested, but you don't really need more than that, besides checking if the item was deleted)
Thank you, this is much more interesting with the historical context, I had thought this was a modern creation.
No, it's correct. The asterisk is a little inconsistent, in that it means two opposite things. In the declaration it means "this is a pointer." However, in an expression, it means "this is the underlying type" and serves to dereference the pointer.

int a = 5;
int *x; // this is a pointer
x = &a;
int c = *x; // both c and *x are ints

If it were *data, it would be equivalent to *(data + 0), which is equivalent to data[0], which is an int. You don't want to pass an int, you want to pass an *int.
What does favor mean here?

If a cat makes it into a den full of mice, those mice are going to die. There's no favoritism, it's just how reality works.

People who work harder have a strong tendency to be more successful at the thing they're working at. This is just as true for the high school athlete that puts in 4 extra hours on the weekend as it is for the person working 60-80 hours/week.

----

And if I may, this is a major problem. Society has been built such that many people have been able to successfully exist without an innate acceptable of reality. They've been able to do this because they've never had to actually contend with what it means to poke a bear (hint: you'll get eaten) and over time its colored their view of everything as being negotiable (with little to no respect for reality).

But just as smoking crack for years on end has certain realities that you cannot get away with, people working harder than you also has certain realities (such as them giving up family time but making more money).
My understanding at the time was that Xbox was not so much a bet on gaming as a bet on the PC architecture—and the Microsoft software platforms that dominated it.
I don't think that the special effect budget has a lot to spare. Often its size is due to cutting on-set costs and already relies on overworking the artists.
Toy Commander owned. Don't forget Crazy Taxi while we're getting nostalgic.
Ahh, OK. SysV with BSD extensions rather than the other way round.

No problem and thanks for the clarification. FWIW I have been catching up with HN after a fortnight's holiday and I noticed a bunch of incisive and interesting comments from you, for which my thanks and congrats.

Any other SysV derivatives still on sale I haven't mentioned? Not sure I can think of any myself.

Re the UNIX™, yes, I know, and I've written about this a few times myself. Some Register readers got quite incensed with me. :-D

I think my point is clear enough though: if we consider the design and architecture, rather than compatibility, it is easy enough to distinguish Unix-like OSes that do not aspire or attempt Unix-compatibility from non-Unix-like OSes which either are, or are close to or formerly offered but no longer do, Unix compatibility... and I think that's a useful and important distinction.
The word attack in the phrase might create some negative thoughts.
I would think that a more positive phrase could be something like - "This could be useful".
Please don't feel attacked by my comment. This could be useful.
We are deploying Dutch greenhouses in the US and have deep roots in the Netherlands - AMA
the local variable data effectively decays to int*.

*data would give you an int, &data would give you an int*.
Ah come on, crypto a "major problem for society", get real.
I might have something that might help. (I'm really not sure, but no harm in mentioning it.)

I'm kind of in the same boat. I don't really like the open-source software I'm paid to develop. Some combination of that, my ADD, and maybe burnout, make it really hard to plug away at developing that software. I have no doubt the ennui seriously dings my productivity.

Then a few weekends ago, I started working with some open-source software that's adjacent to my day job. I get to work at my own pace, focus on the parts that interest me, etc. I'm really enjoying myself.

I see two possible benefits to this weekend activity:

(1) It's helping me to enjoy programming again.

(2) If I'm really lucky, the knowledge and/or software I'm developing will become relevant to my day job. I think that would make my day job a lot more fun.
Some constructive feedback:

> Here are the absolute essential flags you may need.

I highly recommend including `-fsanitize=address,undefined` in there (docs: https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.h...).

(Edit: But probably not in release builds, as @rmind points out.)

> The closest thing to a convention I know of is that some people name types like my_type_t since many standard C types are like that

Beware that names beginning with "int"/"uint" and ending with "_t" are reserved in <stdint.h>.

[Edited; I originally missed the part about "beginning with int/uint", and wrote the following incorrectly comment: "That shouldn't be recommended, because names ending with "_t" are reserved. (As of C23 they are only "potentially reserved", which means they are only reserved if an implementation actually uses the name: https://en.cppreference.com/w/c/language/identifier. Previously, defining any typedef name ending with "_t" technically invokes undefined behaviour.)"]

The post never mentions undefined behaviour, which I think is a big omission (especially for programmers coming from languages with array index checking).

> void main() {

As @vmilner mentioned, this is non-standard (reference: https://en.cppreference.com/w/c/language/main_function). The correct declaration is either `int main(void)` or the argc+argv version.

(I must confess that I am guilty of using `int main()`, which is valid in C++ but technically not in C: https://stackoverflow.com/questions/29190986/is-int-main-wit...).

> You can cast T to const T, but not vice versa.

This is inaccurate. You can implicitly convert T* to const T*, but you need to use an explicit cast to convert from const T* to T*.
How does an initiative like the 4 Day Week UK get funded? They describe themselves as UK's national campaign for four-day working week and seem to be spending quite some money advertising this in the UK. Who are the people with money with a vested interest in a 4 day working week? And why are they willing to spend so much money on it in this economic climate?
Instagram Is the New Neighborhood Pot Dealer
The example you give is a statement, not an expression. There is no value returned, and the return-type is void, which can't be constructed. Only imperative languages, that can ignore the lack of a value from an expression (by simply moving on to the next statement), can deal with void returning functions. In Haskell this causes the end-of-the-program because it works solely with expressions, and an expression must have a value.

It's been a good 30 years since I've written any C, and I know its type-system is compromised at best, but I'm fairly sure you can't do something like this?

void x = new void();

Or, using your foo example:

void x = foo();

If you can then void is inhabited (and incorrectly named). I realise you could create void* and other elaborate means of claiming you have an inhabited void, but really can you legally construct one, not hack any underlying value to pretend to have one - there is a difference. If you can construct one and assign it to a variable, then it's inhabited.

Railing against Haskell when its implementation actually works correctly is a very strange position to take. The clue really is in the name empty-set = void, singleton-set = unit.
Unrelated to the content: I'm curious about the domain! It's the first time I've come across a Christmas Island (.cx) domain since the infamous one back in the '00s.
I have a Marantz receiver (same company as Denon) which feeds a 9.1 system with Dolby Atmos. I still have all the problems this article says, including visual issues with dark scenes in a dedicated, dark video room. The system has been tuned and retuned and nothing can be done about the terrible inputs from these misguided filmmakers, IMO. It is similar to the modern music mixing style of compressing the heck out of everything and minimimizing most dynamic range.

One thing that helped a lot was to add 6dB gain to the center channel. Sometimes that is enough, since the voice is usually put on that channel. I became an expert in navigating the menus to change that one volume, then discovered the Android app that makes it easier.
You don't rub them into your face.
int *x = libX_foo();
if (!x) {
return;
}
...

libX_foo from libX gets at some point updated to abort if the return value would be null. After interprocedural analysis (possibly during LTO) the compiler infers that the if statement is redundant.

Should the compiler complain? Should you remove the check?

Consider that libX_foo returning not-null might not be part of the contract and just an implementation detail of this version.
No, in Europe, every country is very different on that topic. Just compare Switzerland vs. France.
Rolls-Royce and easyJet hail successful hydrogen jet engine test
Your apps look really neat. :D
And yet Rust import tons and tons of package for anything, so yes you don't have that `is_odd` but your dep tree if very often bloated.
Why Section 230 reformers should start paying attention to social code platforms
This looks decent, but I'm (highly) opposed to recommending `strncpy()` as a fix for `strcpy()` lacking bounds-checking. That's not what it's for, it's weird and should be considered as obosolete as `gets()` in my opinion.

If available, it's much better to do the `snprintf()` way as I mentioned in a comment last week, i.e. replace `strcpy(dest, src)` with `snprintf(dst, sizeof dst, "%s", src)` and always remember that "%s" part. Never put src there, of course.

There's also `strlcpy()` on some systems, but it's not standard.
Yes, I am seriously mentally ill. I'm in therapy, on medication, and currently orienting my life to focus on getting better (I stepped back from career progression). Do you think I introduce myself as, "Hi, I'm Mezzie, my triggers are X, Y, and Z?" I mentioned my illness in this context because it's relevant. Talking about something in a matter of fact way when it's relevant to a discussion =/= 'advertising' it, 'celebrating' it, or 'wallowing' in it.

I also mention my Multiple Sclerosis when it's relevant. Is discussing my spasticity 'wallowing' in it?

Why is your first instinct to shame the suffering person for talking about it? We shouldn't celebrate it, but nor should we ban any discussion of it socially because it makes you uncomfortable. I'm sorry that you clearly have emotional reactions to frank discussions of mental illness; are you in therapy for that?

And again, work on your reading comprehension. I'm arguing against trigger warning culture because even if I take its assertions at face value, it doesn't help the people it purports to help. It's a refutation of the argument that 'trigger warnings help people with PTSD'. I have PTSD, which is relevant to refuting that argument. That's why I mentioned it.
Has it? The USGS doesn’t indicate that - do you have another source?

http://www.usgs.gov/volcanoes/mauna-loa/volcano-updates

“The eruption continues at the summit of Mauna Loa. All vents remain restricted to the summit area. However, lava flows in the summit region are visible from Kona. There is currently no indication of any migration of the eruption into a rift zone.”