skysight-inc/HackerNews huggingface dataset:
I'm glad! Thanks for saying so.

It's true, a lot of this stuff doesn't explain itself and HN can be particularly cryptic. We try to make up for that by answering questions whenever people have them.
> Honestly, to me it is unreadable. Defining function inside a function inside yet another function where you use a for loop kind of function.

Perhaps you think the same thing about JS where that was (and maybe still is?) a common idiom. Except that people didn't give those functions names.

And for sure, it's possible to do it in all sorts of languages: python, ruby, js, go, and of course lisp

I get that the syntax is "weird", but honestly, the only two real difference is that the parens are "on the wrong side" for functions/expressions, and the indentation is truncated (the trailing side of the paren pyramid is accumulated and stuck to the end of the last functional line).
Counterpoint from Josh Sokol, former OWASP board member: https://www.linkedin.com/feed/update/urn:li:activity:7031305...

The OWASP nonprofit isn’t like the well-funded Linux Foundation; it runs on a shoestring budget made worse by the loss of conference revenue during the pandemic. OWASP charters events, local meetups, training content and OSS projects - the authors of this memo focus only on the OSS project needs. The OWASP board sees itself as community first and foremost; projects should seek their own sponsorships.
Yep this was making sense until they started to get all philosophical. I mean can you prove anyone exists or anything?
It's not a connector that's _already_ available on 99.9% of the planets network installs. Customers have to buy additional hardware to use your thing.
Find it counter intuitive, like we have to memorize new constants that a programer defines... But having this with english words like next line or page down or page up, gamechanger.
Such a narcissistic man-child. Reality distortion fields are alive and well, it seems.
Read the State of DevOps reports over the years and you'll see why this is the direction we're all heading now. It turns out all that safety we thought we were building by making complex commit flows to multiple branches and environments was not only more complex than it needed to be but has also slowed us down and not made things better. Truly based development is back again and this time with data. Push early, push often, push small changes and iterate quickly. It's not just easier but it also seems to increase quality. (There are a lot of reasons why this turns out to be true. Read Accelerate. I won't do a better job explaining in a comment.)
No, you can't attack someone by putting them down as "senile and old" here. Doing it because you disagree with someone is particularly distasteful.

Please don't do the putdown/name-calling/slur thing on HN at all. You can make your substantive points without any of that.

(Edit: I see pvg already made this point, and I don't mean to pile on, but maybe it's important for a moderator to make this clear.)
The problem is that it would need to be near perfect or else you're ending up with another kludged-in mess like networkmanager. I'll take my one-tool-does-one-thing-well over that anytime
(Fun fact: I read meindnoch's comment right after I woke up and I, too, was about to reply to them with a godbolt listing to show that it would compile to the same thing, only to realize I completely forgot about short-circuit semantics. So you're not alone!)
I'd like to offer you a different view of how to solve your problem. So let's say your problem is:

> a similar home for managing "everything". Notion is just too generalised and I'm missing the UX of purpose made tools though, but I still want some kind of ownership and control over my own data.

What you're doing is looking at your tools, or rather solutions, available completely wrong. What you're looking for is a dedicated software solution but I suggest looking at your computer as the true solution. I know it's very convenient to contain everything within apps like Notion and Obsidian but I think you're better off looking at your computer's OS as the solution. You can do everything you've noted plus you have the bonus of compatibility and portability if you're already using Apple devices. You can definitely control and create your own views+tools this way plus you have the technical choice with various programming languages
Thanks! I'm never sure how the title guidelines (that prohibit editorializing) apply to tweets where there is no title.
In my experience, nVidia had the best OpenCL stack of everyone. AMD should probably focus on CUDA support - everyone writes for it and it is a much nicer API. Nothing in it ties it to nVidia hardware. With enough push it will probably get opened like SGI's GL became OpenGL. But at this point I wouldn't trust AMD's graphics division to be able to write a competent driver for anything or to not just abandon their efforts a couple of years in.

As for OpenCL, Apple are the ones who killed it in the end to focus on Metal.
We're in a much better place with the 7900 cards now having a hardware accelerator for FP16 and BF16 precision. Looking at benchmarks for Stable Diffusion they can match the rtx3090.
https://www.tomshardware.com/news/stable-diffusion-gpu-bench...

The strategy should be to break the chicken and egg situation we are in, fixing the impression that NVIDIA is the go too.

First make the packages easy to install and get started, plus show-off things like SD performance being competitive or models on huggingface.co

Secondly if AMD can't allocate the development budget, they should open it up to the smart people in the community, give them all the hardware documentation required to build out support.
> How little Apple and Google care about privacy doesn't matter.

It's impossible to take this seriously.

Google, literally has surveillance capitalism as it's entire business model.
Thanks for the laugh, that first line is amazing

IMO, PopOS is the ideal Ubuntu alternative right now. They're mostly doing things right. For Desktop, anyway.
You can access this post with any client you want, TUI/CLI, a simpler webclient (https://brutaldon.org) etc. Or you can load the rss feed by adding ".rss" behind the username.
Application support files are still new files that get created from scratch, not moved from the application bundle.

It’s possible there’s misunderstanding in what we both consider application files. Anything that exists in the AppName.app bundle never gets modified, deleted or moved. And it’s not possible to create any new file in that bundle, not even symlinks, without invalidating the signature.
Btw they actually just merged mouse acceleration options into Gnome settings.
I agree.

Good code design, regardless of paradigm used, encapsulates complexity in order to minimize the amount of context needed to understand any one bit of code. The better the encapsulation, the better we can scale our limited mental capacity to larger and more complex systems.

If the complexity is better encapsulated, it's also faster and easier for the reviewer to acquire the necessary context.

When I was first learning OOP, I wish someone had mentioned why classes are useful: they leverage our natural mental abstraction machinery for understanding the world. Walking down the road, we generally think of each car as a whole and ignore thinking about the thousands of parts that make it up. It would be overwhelming to simply cross a busy street if we were considering all of the millions of car components flowing down the streets or considering the various differences in cars all the time, rather than abstractly thinking of various differing collections of parts as just "car". All of this happens at a subconscious level, and we can consciously tap into some of this mental machinery to help us reason about code. Of course, we don't need OOP to leverage this mental machinery, but it's one technique for doing so.
Yeah, it isn't the panacea that some people make it out to be. It doesn't reduce pain for me, it "backgrounds" it -- I can still feel the pain but it no longer bothers me. That isn't going to work for everybody.
They could have called it ELESIUM with a lot less effort...
David Allen's Making It All Work book has a 2x2 that fits TFAs scenario.

Captain and Commander - appropriate control and perspective, seen as that flow state in FFA chart

Micromanager - has too much control, not enough perspective, work gets out of control because it's being squeezed too hard

Crazymaker - has not enough control, but has lots of perspective. Work doesn't happen because new ideas pop up like fungus covering everything and nobody can iterate on anything because of all the context shifting.

Victim - not enough control or perspective, just responds to crises. Sounds like TFA version of the disengaged manager to me.

The thing is that the control and perspective axes change on the subject matter, so a person can be a Victim in one space and a crazy maker in another and a captain and commander in a third, at least at this point in time.
> - Debian still has the unattended-upgrades thing. I don't like this.

Then don’t install it? I don’t get the problem.

> - Debian's package manager doesn't support zstd compression so you can't use modern Ubuntu packages on it (I _think_ they're fixing this)

Fixed and released a week ago: https://bugs.debian.org/892664

> - Debian's packages can be quite far behind, for example the current version of Boost is 1.74 where the offical release 1.81

Boost 1.81 is in experimental; download the package if you want it.

> - I couldn't see any obvious performance improvements (Apache stack)

“No obvious performace improvements” is a negative? What you can reasonably expect of Debian is the same as Ubuntu, minus the bloatware.
> the problem arises when AMD64 takes 9 + k cycles for k bytes of input while cryptographic engineers have tested on IA32e and assumed a constant overhead of 7 cycles.

Why is that a problem? Doesn't that just leak something you could determine by just looking at the CPU type?
I spoke at a Clojure conf a bunch of years ago, I remember thinking “Wow this is a big room.” But afterwards I got talking to an event organiser about what they had to do for the Scala version of the same event…
TIL. I'd ask now what the difference is between a barrister and a solicitor, but I'm not sure that's a thing an American is even capable of understanding.
And it changed and people's lives got better. I don't think it's unjustified to say they want it to stay. If the company started offering free coffee for 3 years and then took it away people would be annoyed.
> you're just a manager of things you don't understand.

It seems like a pretty big leap to assume the authors don't understand their own algorithm.
One thing I've seen that helps out immensely with this in a large complex code base is extremely liberal use of ASSERTs.

Every time you have a function or clause that takes an object or data with many possible versions or states, but only will work correctly with particular assumptions, ASSERT that your assumptions are satisfied. Every time.

This helps in several ways. At the time of writing the code, it makes you think about possible states that could be represented and the generality of what your new code actually handles, and so encourages you to write general solutions and avoid unhandled or mishandled cases.

At the time of reading the code, it helps the reader see what cases the writer considered. It helps document the intended scope and use cases the code is designed for.

At the time of extending surrounding code, it helps to catch cases where the extension introduced state combinations that had not been considered before. Its nice to make an extension, run a test case, and get an assert that tells you exactly what other function needs an extension. Without the assert you would make the extension and run your test case and get wrong behavior or a crash and have a big debugging mystery or even worse: apparently working but subtly wrong code.

Others in the thread are talking about making invalid states unrepresentable, which is nice, but not always doable. In a big code base you don't have the luxury of redesigning things; usually you have to stick to more local changes. But you can always add ASSERTs -- that is a completely local way to mark invalid states as invalid.
Nonsense, is obvious that an smart artificial throat will be the final solution to this problem, it will use AI and lasers to dispose atoms of pork and non-kosher food before it reaches your stomach, automating God's will just like he intended.
Then this part is very poorly worded:

> To avoid losing access to Twitter, remove text message two-factor authentication by Mar 19, 2023.
I also really, really hate this. I think its because I take it as a violation of trust.
More likely is that it was mentioned in a recent front-page article about comparing specialty Linux distros:

https://news.ycombinator.com/item?id=34837219
Final update as it has been nearly a day now: no response from support. :)

Changing the email address associated with my account to one that hopefully isn't blocked in the future.

Question in case anyone actually sees this: What downsides would there be to whitelisting email addresses associated to active/paying customer accounts? Seems like a no-brainer move to have your customers whitelisted to send you email if support is primarily done through email. I understand blacklisting domains known for abuse/spam but whitelisting individual accounts from that domain that are paying you seems like a good compromise having only put 5 seconds of thought into it.
That's why I actually support paid licensing for commercial use. I'm all for helping out people but not a fan of getting taken advantage off - you make money off my or someones else's work then pay up.
I think what he thinks of as "mass" is probably what we would call "himself and two or three of his friends who think similarly".
Yes this is the problem I've seen young and old happen to deal with. They get obsessed with the details. Maybe, they don't have that many things going on.
Your assertion is that we have no way of assessing someone's health until they have died?
HVDCs are increasingly being used inside grids too. Any grid needs high capacity links (AC or DC) to connect its far corners.
AMD based supercomputers are mostly (maybe even all) float64 machines more physic simulations than Deep Learning/AI (BF16/FP16)
Definitely not for classical gravity. https://en.wikipedia.org/wiki/Shell_theorem Point 1 there says that the physical extent of the mass doesn't matter for a spherically symmetric object, to which a star is close enough.
If you look at the market shares, you’ll quickly realize that this would mean abandoning all the BSDs, Haiku, Hurd, all the obscure Linux distributions and so on.

Just support macOS, RHEL/SLES, Debian, Ubuntu and Windows.

Everything else gets tagged with “UNSUPPORTED/WONTFIX”.

But please don’t complain when your favorite operating system is not supported.

Or, you know, we could just stop trying to tell others what targets to use.

And, FWIW, Rust is actually getting support for more architectures thanks to the GCC codegen and GCC frontend.
Right. Build the environment from scratch and I bet you will immediately find newfound adoration for the work distro makers do.

That kind of utterly ignorance driven complaints are nothing new
Yes. Read Accelerate and read the State of DevOps reports from 2017 through 2022. The reports have the data and explain their methodologies for evaluating said data. It's all there for you to consume.
That is true, unfortunately most apes just build messy things these days. So, select your tribe with care.
I think you're right with the immediate gratification in this sort of thing. Then I think that's the problem right there.
Poe’s Law
I'd mention glances here as well - in particular because it can show resource usage on a per container basis if you run docker which is something I haven't seen in the others.
End-to-end (or deeper-than-usual) understanding is the reason why I never worried about losing a job.

At the same time… trying to grok-everything consistently kills my attempts at anything business-like, where one has no choice but to focus and delegate.
Thanks for your feedback mtmail. I'll work on preparing an affiliate discloure and adding it to the site. Let me know if you have any other suggestions or feedback.
> The C abstract machine, despite looking a lot like a PDP-11, leaks the underlying memory and ordering semantics of the architecture being targeted. The result is that even seasoned C programmers regularly rely on architecture-specific assumptions when writing ostensibly cross-platform code: assumptions about the atomicity of reads and writes, operation ordering, coherence and visibility in self-modifying code, the safety and performance of unaligned accesses, and so forth. Each of these, apart from being a potential source of unsafety, are impossible to detect statically in the general case: they are, after all, perfectly correct (and frequently intended!) on the programmer’s host architecture.

I don't disagree with his general point that C isn't really cross-platform, but these are bad examples:

- The C memory model addresses the issues regarding atomicity, memory ordering, and the safety of unaligned accesses (although users might not like the answer for the last one).

- Coherence within a C program is guaranteed by the language, so issues with coherence only arise when interacting with an incoherent external agent. How could any language solve this?

- Are there any examples of self-modifying code that don't already make assumptions about the underlying ISA? If you're already doing that, dealing with data/instruction memory consistency doesn't seem particularly onerous. Even when only targeting AArch64, it isn't possible to write platform-independent userspace assembly code that does this because instruction cache maintenance instructions might not be enabled for EL0.
I've been using Linux for...huh, I guess next year makes 30 years. I run Ubuntu on all of my machines, because it's easy and well-supported and I got tired of tinkering with my Linux install for its own sake roughly 20 years ago.
Show HN: PC Face: Bitmap arrays for rendering CP437 glyphs using PC OEM fonts
((Oh,) (I (don't (know.))) (Just (a (random (thought (I (got.))))
Spoiler: it's hardware.

And the opening line sounds like a challenge:

> Given that the much more powerful 16-bit Amiga 500 is unable to play MP3’s,
Math notation is terrible! I write like 4 or 6 midterms for Algebra and Calculus for the first year in the university. We are using LaTeX (for most of them), but we need to write LaTeX assuming the copy machine is not very well maintained.

For example, we can't write $e^{-\frac{x}{2}}$ because the minus and the bar of the fraction may not be clearly separated. Also x and 2 will be too small. A solution is to use \dfrac to make them bigger, but the 2D structure of the formula will make the e and 2 be too close and confusing. After some year of trying, one of my coworkers insisted in using $e^{-x/2}$ that is ugly but copy-machine-poof.

We also need huge integrals for $\int_0^7\dfrac{1}{1+x^2}\ dx$. The standard one is too small. I tried to write a macro for that, but the 0 and the 7 must be in weird positions. Also, there are too many cases, because the limits may be missing. Finally, we are using https://ctan.org/tex-archive/macros/latex/contrib/bigints with some tiny macro to rename it to \lint because I don't like the names the author used.

The math notation is very good to write in dead tree paper with a pencil in 2D, but in 1D with a keyboard or automatic processing is horrible.
> It has a learning curve the same as this tool.

Are you saying that it takes roughly the same amount of effort to learn this tool as it does to learn Kubernetes? If so, please point me to a less than 500 line README file that teaches me how to use all the major features of Kubernetes.

Most companies will never be as large as Google, and Kubernetes is massive overkill in the majority of situations where it is used.
Does dropping PNG/JPG provide you some really significant benefits?

If no, then why?
To be honest, I'm happy with the standardization of emoji. I remember cases where I sent an emoji, but the other person saw one that was expressing a different emotion or it was hard to understand what I was trying to convey.
I tried Pop_OS! on my gaming laptop last year.

It does have some nice UI improvements.

It is also terrible:

- Suspend did not work

- My GPU would always be activated, which would make my fan run at maximum speed.

- Steam didn't work out of the box, so I never actually played any games, which was the whole point. Steam did work with some effort on regular Ubuntu.

- Eventually, the system became glitchy in record time, i.e. random crashes.

Going back to Ubuntu server edition, I felt like I had been given a new computer again.
I expect there is a group of developers and tinkerers who used to run linux on the desktop (where Ubuntu traditionally was perhaps easier to use, especially on laptops with wifi, etc...), who switched to MacBooks and now develop and run their linux stuff in docker, ec2/cloud or even just some Raspberry Pis.

(Though I guess that in itself wouldn't be a large enough group to be seen as a "Mass Exodus")
Hence why they are called enums in Rust.
An MS-DOS like editor in the browser
> - Debian's packages can be quite far behind, for example the current version of Boost is 1.74 where the offical release 1.81

Debian is released every two years. Debian gets security updates through LTS for five years.

If the packages in Debian are "old" it's because of the biennial release cycle. As a sysadmin I'm fine with that, and Debian is no worse than Ubuntu which has its LTS every two years as well.

If you're on the desktop then there could be an advantage to running the more frequent non-LTS releases. But I'm fine with the biennial LTS, which makes Debian and Ubuntu roughly equivalent.
It's crazy to think I've been (fairly consistently) playing MUDs for 29 years now...
I think Civ V in particular reduced micromanagement in certain respects to a degree where I now often find SMAC becoming tedious towards the end game. The main reason is the massive reduction in the number of cities and units in Civ V due to their high maintenance costs, and making individual cities matter more.

Since owning lots of cities essentially comes at relatively little cost in the older Civ games, towards the end the AI will have spammed cities in just about every nook and cranny. (The addition of sea bases in SMAC seems like an interesting addition at first but accentuates this problem.) In SMAC the relationships with some of the AI leaders also tend towards more or less perpetual war which, with the high number of cities, I find frustrating since striking down or conquering a chronically belligerent neighbour requires capturing (or razing) a ridiculous number of individually insignificant cities.

Shifting the maintenance costs of units from individual cities to gold paid from the treasury also reduces micromanagement of those unit costs. Having cities defend themselves at some level without having units stationed also reduces the need to micromanage their defences in some cases.

I haven't played the first Civ that much but I played a lot of Civ II, and I think it suffered from some of those issues as well.

It's true that some of the changes in later Civs do also add further micromanagement. The archaeologists added in Civilization V: Brave New World require going all over the world (and generally hand-holding them), and the entire mechanic seems like a bit of an odd but more or less compulsory detour in the game. And optimizing the great works stuff in general quickly turns into micromanagement. Dealing with e.g. city-states and their quests also introduces some of it, although they also add another (potentially interesting) strategical conduit to the game.

With that said, I still find SMAC to be one of the best games in the series, and there will always be a place in my heart for Civ II.