skysight-inc/HackerNews huggingface dataset:
Kotlin can do this -- `(null as String?).isNullOrBlank()`. I really like this feature because it prevents nullability cascade. I'd love to see pure Java adopt and I feel like Kotlin's edge language development has really helped the greater Java ecosystem (records + `data class`, exclusive `when`, so many good examples).
How dare you slander The Noble House. I love most of his works, but Straung is peak Clavell.
GPT-4 is not a static code analyser
If I look back at how the UK has evolved over my lifetime the main issue is essentially that we are just wealthier and therefore do more. Either that or some sort of Jevons Paradox e.g. people spend less on basic necessities and more on luxuries.

There are far more cars on the roads now, and there are far more people who can simply afford to own a car that gets 20-30mpg instead of 50-70mpg.

I don't really know how we can "solve" this. The main route being taken at the moment is basically to try to reduce living standards, but to code it (e.g. "reduce car journeys") in such a way that everyone doesn't revolt.
Indeed. Because of the price mechanism they don't have to. Provided that some do, of course.
> On another note: C++ compiler should by default keep statistics about the chain of #include's / parsing during compilation and dump it to a file at the end and also summarize how badly you're re-parsing the same .h files during build.

Not exactly that, but do you know clang's -ftime-trace and tools like https://github.com/aras-p/ClangBuildAnalyzer which help analyzing where time is actually spent? (In small repeated headers I don't see much of a problem, but they of course may contain not so small things ...)
If you can't get someone to the bus stop to write a ticket, that's a question of resources. I see no reason that getting someone there is some insurmountable task and thus requires a completely different solution.
So expand upon it, functions trivially compose unlike classes. There is nothing about deduplicating a function that prevents you from diverging from it later on.

There could be some judgement calls and technical expertise needed to determine the right amount of parameterization of a function, but I'm not sure I follow the idea that a simple function, which is nothing more than a "name(parameters...)" that needs to be changed 6 months down the line is somehow causing a giant mess.

If anything, the benefit of deduplicating is that if you find there is a bug in your implementation, or an optimization, you can fix the bug or apply the optimization in one place and get the benefit at multiple call sites, as opposed to having to go to a bunch of places.

With that said, it's not my position to tell you not to repeat yourself. If you find repeating code helps you for whatever reason, go for it. I'm just saying that it's perfectly fine for developers to avoid repeating themselves by using functions and their code won't become a giant mess as you seem to indicate it will. Functions are very simple, flexible, and elegant abstractions for code reuse and even if you somehow found that you had to eliminate a function and repeat it in multiple places, that's a trivial operation to perform that most IDEs can do, so it's not like you're locked into this.

The same can not be said if you use a class as a way to avoid repetition.
This is extremely interesting to read.

I did learn my multiplication tables correctly, but I was always horrible at mental arithmetic—my elementary school periodically had formal exams for mental arithmetic, and I consistently failed them. It was the only type of task where I ever consistently scored less than 90%,

I am also terrible at directions, my parents used to be worried about what would happen to me when I lived on my own—thankfully, Google maps became a thing and nobody notices I am bad at directions anymore.

Like you, my learning difficulties are strictly compartmentalized to these two specific domains. I hold a PhD in engineering, and I even have a minor in math, lol.
Norway is kinda caught between a fortunate rock and a hard place. Their gas reserves are absolutely crucial and strategic for security in Europe as a whole. You'll note the country itself went absolutely whole hog on electrifying transport and infrastructure (powered via hydro) so they could export their gas to the rest of europe. This really paid off when Russia cut off oil and natural gas as Europe would have been crippled otherwise.

I suppose healthcare is a major issue for me due to my disability. When I had to get insurance on the private market prior to the ACA I had to go in the high risk pool, which was stupidly expensive even as a SWE. I hear it's better now but every year some Republican gets the bright idea to try to repeal it. I fear with enough of a majority they will.
Wow, PyScript has come a long way. I remember when loading it into the browser would take 5-10 seconds. This seems much faster. Great work!!
Work vans in Europe have quite some variety to choose from, usually the segment is divided in 3 sizes: small ones based on compact cars chassis, a mid-size and larger ones with the chassis adaptable from a box van to a mini-truck, even with the possibility to exchange part of the rear for a bed truck.

Some brands have an extended version for the mid/larger sizes, either to accommodate more passengers, have larger boxes or to fit a box truck enclosure on the back.
Alberta is the same. The playbooks is the same the players are a bit different. Resistance to change and embedded incentives are the cause. Its tiring to watch us repeat the same things over and over again.
Wouldn't the surveillance work just fine on that site?

Also my memory suggests 3x. But I'll go check.

Top result says 2.6x from ftc.gov but is from last decade.

Another result says "Targeted ads are twice more effective as non-targeted ads, and retargeted display ads encourage 1000 percent more people to search for a product." In response to that, I will note that even if google could not discern the site content at all, that would only affect targeting and not retargeting. So that suggests 2x at most in this situation.
It was a marked queen in a small hive, this happened at a (shared, membership based) bee park where the keeper keeps hives for breeding, not production. There’s some longer backstory to why the queen was targeted that I probably shouldn’t post, but otherwise that’s what I was told. I’m not a beekeeper, just someone who signs up to help with too many things, so your barometer will be a lot more accurate than mine!
That is simple. The board sets top level strategy goals. Could be AI at one point it was Mobile. Then groups fight for resources (money) in each silo who come up with projects that incorporate these strategic goals. If the goal is mobile, customer service department fights for phones for each cs agent. Sales wants all websites mobile friendly. It leads to internal tools team jumps in and makes internal tools mobile friendly (but no one using them has a mobile device). Much time/money is wasted but people get promoted, bonuses paid, jobs created because of these goals. Senior leaderships get to say we are more mobile than this company.

The entire top down strategy approach thing is a waste.
Sure, people can write bad functions, I'll never disagree with that. I tend not avoid allowing what bad programmers do dictate how I or people on my team write code.
I remember running this in the background any time I was in the computer lab at school. Thanks for making this back in the day :).

There were a few genetic algorithm "polygons approximate picture" pages back in that era as well.
No. Congress represents the American people, not corporations. There is no “both sides” between people and corporations any more than there is a both sides between Americans and Canadians when discussing a trade bill.
"We have linear regressions in our metrics pages, yes we have AI"
A three bladed prop modification along with floats is very common. Wipaire, the leading float manufacturer has its own STC for that. In combination with STOL kits is not uncommon either. I expect the Robinson STOL STC explicitly accommodates floats (Wipaire’ STOL STC sure do) but not sure since I don’t have the paperwork in front of me.

You are over inflating issues here. Are you a pilot? The issue here is straight up incompetent operation of an aircraft.

Operating a floatplane and separately operating with a STOL kits can increase complexity and risks especially when aircraft are mishandled/abused like here with an incompetent pilot who does not know what they are doing. You don’t need to dream up issues from combination of stuff here, the simple linear addition of issues was more than enough for an incompetent pilot to get into trouble, and seems they are lucky they did not get into more trouble before, and lucky they were not killed.

The C185 is a beautiful well behaved workhorse used extensively in bush and floatplane flying, often with multiple STCs to upgrade these aircraft.
Why stop at null, when you can have both null and undefined? Throw in unknown, and you've got a hat trick, a holy trinity of nothingness!

Of course the Rumsfeld Matrix further breaks down the three different types of unknowns.

https://en.wikipedia.org/wiki/There_are_unknown_unknowns

>"Reports that say that something hasn't happened are always interesting to me, because as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns—the ones we don't know we don't know. And if one looks throughout the history of our country and other free countries, it is the latter category that tends to be the difficult ones." -Donald Rumsfeld

1) Known knowns: These are the things we know that we know. They represent the clear, confirmed knowledge that can be easily communicated and utilized in decision-making.

2) Known unknowns: These are the things we know we do not know. This category acknowledges the presence of uncertainties or gaps in our knowledge that are recognized and can be specifically identified.

3) Unknown unknowns: These are the things we do not know we do not know. This category represents unforeseen challenges and surprises, indicating a deeper level of ignorance where we are unaware of our lack of knowledge.

And Microsoft COM hinges on the IUnknown interface.

https://en.wikipedia.org/wiki/Tony_Hoare#Research_and_career

>Speaking at a software conference in 2009, Tony Hoare apologized for inventing the null reference:

>"I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years." -Tony Hoare

https://news.ycombinator.com/item?id=19568378

>"My favorite is always the Billion-Dollar Mistake of having null in the language. And since JavaScript has both null and undefined, it's the Two-Billion-Dollar Mistake." -Anders Hejlsberg

>"It is by far the most problematic part of language design. And it's a single value that -- ha ha ha ha -- that if only that wasn't there, imagine all the problems we wouldn't have, right? If type systems were designed that way. And some type systems are, and some type systems are getting there, but boy, trying to retrofit that on top of a type system that has null in the first place is quite an undertaking." -Anders Hejlsberg
Am I the only one who had trouble reading the post with that font? Maybe it's because I'm now an ancient 37 year old but reading full paragraphs in a monospace font makes my eyes hurt.
Is it? I'm using LXC containers, but that mostly because I don't want to run VMs on my devices (not enough cores). I've noted down the steps to configure them if I ever have to redo it so I can write a shell script. I don't see the coordination problem if you choose one distro as your base and then provision them with shell scripts or ansible. Shipping a container instead of a build is the same as building desktop apps instead of electrons, optimizing for developer time instead of user resources.
I guess we begin with the FTC’s claim? Which is not really that they’re upset about Signal, they’re accusing Amazon execs of destroying evidence that was in scope for the FTC investigation. Signal just happens to be the method they’re claiming was used to destroy evidence.
Don't they pretty obviously mean "10,000 MWh"? Or am I missing something
Yea. I had this discussion not too long ago about this. I'd love to have a combination of a library (Personal Knowledge Management style), data ingestions, and a current world view/state.

The PKM is the stored info to write to and query against (both for LLMs and humans). The data ingests are just a pipeline of digital inputs to the system, like chat logs, maybe (transcribed) webcam feeds, files i'm currently editing on desktop, browsing history, etc. The current world view is the interpretation of what i'm doing - to tie all the ingests together and give them context. Eg in isolation browsing some Rust crates might not be that useful. But if i'm also editing Project X on my computer then it's reasonable to assume the searching is related to X. However if it's been 8 hours since any Project X activity, it's less likely related. Same goes for context-less chat logs (as happens frequently in my house) where they are extensions of a voice conversation, etc.

All of this stuff is of course insanely privacy invading, so i'd only implement this locally. I also wouldn't even store most of it for fear of data invasion, but using it to fuel a PKM automatically seems pretty sexy. Like browser history, but for your life.

This is all just wishful thinking though, LLMs have been moving too fast for me to even bother toying with this. I should note though that i did not intend for LLMs to be "smart". Rather, in a RAG-like fashion (i think is the term), i want to just let LLMs do what they're good at - summarization & autocomplete, and let the world view / PKM store the real data.
Startup time of an SPA is meaningless when it's for the sort of app you open once in the morning and then use during the rest of the day. It's a single startup-hit, and the user suffers it in between closing the tabs from the previous day and fiddling with some emails. Doesn't matter it is 10-20 seconds.

The problem with the long startup is that it tends to cloud any discussion on performance. Code loading and parsing is basically the biggest bar in the app-perf breakdown of your profiles, and thus spins this narrative that this is the thing to optimize for, because it's the biggest bang. Rather than say, responding to user selections, reducing jitter and sluggishness while scrolling, etc...

I'm starting to believe that for a large class of apps, developers should look at it as if they are writing video games: the user will tolerate the spinner before the level, but then it needs to be silky smooth after. And the _smooth after_ requires a whole class of other optimizations; it's striving for a flat memory profile, it's small ad-hoc data transfer, it's formatting data into usable layout at lower levels in the stack, it's lazy loading of content in the background, etc... Those are the areas where web-devs should be looking a

(again, this only applies for that sort of SPA; e.g read-only content, blogs and such, should display _fast_).
I tried Zed a while ago, not long after they first launched. It was pretty interesting (gpu+rust+tree-sitter+lsp), but not enough to draw me from neovim. After they went open source (and launched extensions!) I looked at it again and actually I'm really impressed with the progress (incl. vim keybindings ftw!).

I'm at the point of using it for some new projects and continuing with neovim for my existing ones -- there's a lot of community input e.g. nvim-surround functionality was just added. I think at this point it does everything that I have in my (somewhat minimal) nvim config (and much of that is tree-sitter/LSP).

The one big feature I'm interested in is dap support so I can finally give up on gdb cli.
You should have one source of truth for data. But frequently multiple implementations of the same, or similar, interface don't actually have the same semantics. By merging them, you now have the same source of truth for two distinct concepts.
> I think we lost our way of developing optimized, efficient, and performance-wise applications.

I'm not going to deny that we could do better, but it is more nuanced than that:

OP uses Word as an anecdotal example, but Word is not designed with a goal of being optimized. It is designed with a goal of being backwards-compatible to decades of history.

We cannot assume that all software shares the same goals because they simply do not. When we look at the problem any given software is trying to solve, performance optimization is almost always important, but almost never #1... #1 is "solve the problem". Doing it fast is always secondary to doing it at all.
Pete Ballmer: what its like to grow up as Steve Ballmers son
What Is the Cost per Square Foot of Different Earth Building Methods?
“medo-bear 2 hours ago | parent | next [–]

Market cap refers to size“

Short term memory isn’t great?
> namespace

Precisely. I’m a DBRE, not SWE, but I use Python a lot, and have written some internal tooling. Classes as namespacing is wonderful.
Living my dream. I hope I can afford to start doing this some day. I work on small antique machines and would love to cast small replacement parts.
Yup, unfortunately for us there is a lot of C# code written without NRT. If all of your code utilizes NRT and you respect the warnings, you can nearly eliminate issues related to null. There are some paper cuts around generics, but generally it has been working quite well for me. Our entire code base has NRT enabled and the only place where null sneaks in is with EF Core missing includes. This is actually kinda nice because if you get a null-whatever exception, 99% of the time it's a missing include.
The king of game development has returned [video]
If you live in the US the only entity you need to collect sales tax for is the state you live in. Despite what they may say you are under no legal obligation to collect sales tax for the other 49 states, nor the EU or UK.
Not exactly what you're asking but Topology Optimization is now a standard feature of the big CAD packages. It allows the designer to express various constraints and goals, then a combination of gradient methods and genetical algorithms are used to find an optimized part. Example: https://www.solidworks.com/media/topology-optimization
I have seen what ZFSBootMenu can do and I really like it.

Its just 'crazy' to me that there are ZERO Linux distributions that install as root on ZFS with ZFSBootMenu and enabled ZFS Boot Environments.

None. Zero. Why?
Oh no. Are we talking diamond-shaped inheritance… in real life?!
The California Environmental Quality Act (CEQA) makes it extremely difficult to build new pumped storage facilities. It's possible in principle but will take many years to get through the construction permits and inevitable lawsuits.
One important distinction I didn't get at first is that Nullable<T> is a struct (not a class). It is only for value types. Nullable reference types are implemented via attributes.
I'd be much more interested in where the money is from than who the people are.

Not trying to attack anyone and at some level I don't care because I agree with the cause but I can still imagine benefactors that would make the whole thing look bad.
Either way you're coupled to your data. It has to come from somewhere. The alternative is that the "origin" of the data either posts it to me (so my origin has a direct dependency on me and any other service that wants to use that data) or the origin fires events which I subscribe to, in which case I have that same tight coupling but I need to deal with circumstances where the event source fails (no one likes to talk about this but it happens, often).

Not only that but if I ever want to change data I now need to somehow inform the origin that the data has changed. Coupling me even more strongly.

The coupling is inherent. Things are simpler if you keep the source of truth in one place.
I’ll happily support regulation of the space when the bill writers of these proposals stop using definitions of “artificial intelligence” that could reasonably be construed by a lawyer to cover literally any computer program.

> (b) “Artificial intelligence model” means an engineered or machine-based system that, for explicit or implicit objectives, infers, from the input it receives, how to generate outputs that can influence physical or virtual environments and that may operate with varying levels of autonomy.
Every time I talk to my GCP account reps they kind of half-heartedly pitch me their new AI features. I respond that there are no business problems I would see value from approaching with AI / LLMs (as that’s what they really mean by “AI” these days). They basically immediately agree and we move on to real problems.
HN isnt really the best space for LLM news - r/LocalLlama and twitter are much better. I think HN has some cultural issues with “AI” news
Buried in their presentation is the current effectiveness of agents to complete desktop computing tasks.

Humans are able to complete the tasks given at 70%+ effectiveness while the best model is at 12% (GPT4-v). Most of the other models were <5% effective.
If you use a "unity" build (all .cpp files concatenated into one compilation unit) with the normal '#pragma once' or guard in the headers, then you can be certain that every header file is parsed only once, with no discipline needed. CMake can do this for you with an option. You lose the ability to do incremental builds of individual changed files, but it may be fast enough that you don't care.

For my own personal projects, I just use ccache and precompiled headers. It's good enough for me. I don't want to have to apply "hard-core discipline" to my projects.
This is something that I'm trying to take note of. Thanks for this comment.
I've been learning PRY over the years. I definitely used to be in the DRY mindset where I'd try to factor out any abstraction I could. The cost of abstractions wasn't clear to me at first. Now I approach abstractions with fear. I only take them on if breaking a pattern would cause problems.
Totally agree. I worked at a company where everybody was always paid the full bonus target. We were acquired by a much larger company that was confused. Eventually after much persuasion they just folded the bonuses into our base salary.
> OOP was a terrible mistake and mixing state with logic was a major catastrophe

You're gonna have to justify that. Can't just take your word for it. Where do you store your state, if not in objects?
Yes, that's the house builder standard guideline. Not the conservative financial advisor advice
Then congrats you are among the tiny minority for whom BMI is not an accurate measure of obesity. You are simply unlike 99% of the people for whom BMI obesity means they are actually obese.

That however doesn't detract from the argument in this thread that Americans are being more obese and that affects their vehicle choice.
Firefox about:process reports the article taking 239 MB of memory and 0.06-0.2% of my CPU ten minutes after it finished loading - 45% of the CPU time seems to be spent in Google's reCAPTCHA.

I wish Mozilla or Google or someone aggregated statistics for cpu/memory/energy usage by domain to shame devs who clearly don't otherwise care.
Tell that to hertz, and give up this dumbshit debate.
Space Matters