skysight-inc/HackerNews huggingface dataset:
"It couldn't possibly be that someone genuinely likes the flavors, aromas, textures, and diversity of a cuisine. No, it's cultural guilt."

Saying 'food is political' doesn't mean anything. Of course it's 'political', just as all art is 'political'. But it would be ridiculous to suggest that I like rock music because I have 'cultural guilt', or because I'm 'over-compensating' - as if I'm trying hard to like it so I'm "woke".

All your comments in this thread have a serious lack of foundation. As it turns out, people generally just find Indian food either tasty (usually on account of the spices, salt, and oil - like most food) or convenient (for vegetarians or vegans). You can read as much as you like into it, but at this point you're just making guesses and shoe-horning it into the culture war topic de jour.
It's funny how the author talks about vendor lock-in (which is kind of a non-issue with tailwind, since you can eject anytime) and then suggests styled-jsx as the better solution.
Craig Ferguson is not Irish.
> Oh and it boots in 5 seconds flat, from pressing the power button to content on screen.

It's sad that 5 seconds is considered a good start up time for a TV.
Pseudolus (submitter), is your name a reference to the Roman play? [1]

[1] https://en.wikipedia.org/wiki/Pseudolus
Yeah I get that. I have the same opinion as I do for mongodb.

Great tech that makes it incredibly easy for shit developers to create monsters.
Seems like SI units are not always available.
They mean a script outside the browser.
I think it's a fairly compelling article. There is a lot of hand-waving around tailwind; I have never seen so many people collectively play the "I can't articulate why it's good, but after using it for a while I can never go back!!" card about a technology before. But I think author hit the nail on the head about the benefit of tailwind: rapid prototyping, but that's about it. I will use tailwind for my next small project. But I can't deny that it is indeed technical debt, albeit one that I have grown to indulge.
Javascript is particularly problematic as there is an uncrossable divide between the async and sync world. But any language with stackless coroutines has as similar problem where you cannot yield across a function stack unless the whole function stack cooperates (i.e. every function is async).
Almost as reliable as "scientist discovers X" in mainstream media since they constantly misinterpret or exagerate the nature of discoveries.
That was a very nasty comment. Whoever said it to you, probably wasn't multilingual.

I have worked on a large system for a multi-national drug manufacturer. Some modules were written by Spanish speakers, others by Germans, a few by French and about half by English speakers. It worked well. The only real problem was that variables and function names were all in their respective native languages. At least the module names were all in English (well sort of). I ended up maintaining it because I spoke all those languages (badly) and was willing to use various dictionaries. It was an experience!

In my experience the vast majority of books and internet resources are in English as are the keywords in most programming languages. If you can read English at high school level you should be Ok.

Since programming relies on teamwork, you need to speak the local language well wherever you live and work.
Yes, int_16/int_32 or something like that makes a lot more sense. Today, not when this compiler was written.

The PDP-9, PDP-10, and PDP-18 have 18 bits registers. The world had not settled on 16/32/64 bits at all.

Even the intel 80286 far/fat pointers are 24 bits.
In production apps, the code would probably get transferred to the server at compilation/bundling/release time. The cluent would only need to send some kind of hash that uniquely identifies the function to call, as well as supply the arguments.
> there is no modulo operation.. So what could we do to solve the FizzBuzz task?

You don’t need modulo instruction when the divisor is known at compile-time.

Good compilers routinely implement integer division and modulo as a sequence of faster instructions like multiplication and bit shifts. Here’s examples: https://godbolt.org/z/4noTxP

Works for SIMD just fine. Take a look at what clang auto-vectorizer did: https://godbolt.org/z/q4bcfj You see what happened to the code? It turned into a bunch of AVX2 instructions, and the loop is gone.
Bit of an old meme now, which mostly comes out of misunderstanding the difficulty of actually designing a layout system and the tradeoffs involved.

Anyway it's easy and has been for ages:

display: table-cell; vertical-align: middle;
At least the "non-compiled and non-minified" part is easy to achieve for many websites trying to be fancy and using today's fancy packers.

You can get their map files and with a simple 10 line php script grab the almost original source code, in tha almost original directory structure. (incl. typescript code, react JSX, original commnets, etc. etc.)

And have fun looking at how, multi-million $ companies, approach frontend code. Sometimes this is a good way to get to view their full backend API surface, if they have it well abstracted in their frontend code.
But a relational database is great for that.

select *
from prices
where symbol = any (?)
and timestamp >= ?
and timestamp < ?

I've worked at a couple of places where we kept price data in relational databases and did pretty much this.

The only way to beat a relational database here would be in performance. Because of course, for a specific use-case, you can always write a specialised data store that is faster than a general-purpose one. But the performance advantage might not be enough to justify the cost. If you're talking about storing every tick on an exchange, it might be, but if you're storing close prices, probably not.
> and that somewhere else may insert new fields at any time in the future without telling you.

That's what interface contracts and API versioning is for - and new fields shouldn't be any problem at all unless you're parsing the JSON by hand.
Yes, nice catch. I'm a big Plautus fan.
The device refusing to load a modified kernel is a GPLv2 violation, at least Conservancy interpret "scripts" to include everything needed to run the modified code, since the device recipient does not have software freedom without the ability to load modified code. The GPLv3 has additional improvements in addition to the clarified requirements around device lockdown.
The obvious move is to ctrl-c ctrl-v the recipes to the ad-free site ;)
I approach everything with scepticism.
Yes, but this is the same kind of cost as, say, switching from an OO to a functional design, and we don't normally refer to "choosing to use OO" as "vendor lock-in". This phrase is normally reserved for use when there is a vendor that one must pay in order to continue to use a service, not merely cases where there is some difficulty or annoyance involved in changing something.
For my part, I loved the long form, in-depth post, and I learned a lot. I'll admit breaking it up visually with some diagrams or photos is tempting (maybe a photo of your serial setup?) but I felt the explanations were all clear without it.
Listing out a few of my go tos!

- Every grain of rice ( Fuschia Dunlop ) is close to what I’d consider a perfect cookbook.

- Franklin BBQ ( Aaron Franklin ) is a definitive guide to how to use an offset smoker. I’ve read through portions over and over again - it’s only got about 10 recipes.

- My two south’s ( Asha Gomez ) - A wonderful collection of recipes inspired by South India, the south.

A good cook book will usually have a section that introduces new ingredients, tells you how to source them, introduces new techniques or methods, and also introduce some shorter recipes that can be used as dependencies for others. At the end of the day - you want good building blocks.
Very interesting when you think about it. A language created in 2009 (Go) owes its syntax to a language from 1969 (B), and the latter looks like it does because it was designed during a short transition period between offline editing (1960s) and electronic terminals (1970s).

And there are people claiming that computer scientists are not conservative :)

To what extend this explanation is correct is another question... The article by Denis Richie says "Other fiddles in the transition from BCPL to B were introduced as a matter of taste, and some remain controversial, for example the decision to use the single character = for assignment instead of :=".

It's a kind of butterfly effect :) Mr. Richie prefered "=" over ":=" and fifty years later a server crashes somewhere because somebody wrote a=b=c instead of a=b==c.
With non USA keyboards some punctuation characters are much harder to type or even non-existent.
MongoDB would have been timely about a decade ago.
Fraidycat is very cool and I encourage everyone to check it out. It is a fantastic idea and it generally works well.

However, to save you time if you run into the same issue it has with Chrome that I encountered.. there's a bug where using the back button on many sites (including HN and many of our internal apps) can cause a non-logged in page to be fetched and rendered (as if the session cookie isn't being used) - possibly relevant issues: https://github.com/kickscondor/fraidycat/issues/178 and https://github.com/kickscondor/fraidycat/issues/194
I still don't like mixing html (jsx) with javascript

Your problem here is thinking of JSX as HTML instead of what it really is – a thin syntactical layer on top of Javascript.
Yet he owns an Xbox... doesn't that cram ads in the menus as well?
Agreed, deepl is pretty impressive, although its language selection is a lot smaller than, say, Google Translate.

The usual caveats of automated translation apply though. "Take it" will be translated as "tomem-no" in Portuguese, "возьми его" in Russian and "prenez-le" in French, every time assuming that the "it" is masculine (or possibly neutral, in the Russian case). Depending on context that could be confusing if the "it" is feminine in the target language's grammar.

There's also a bit of a mess with the conjugations. The Portuguese version uses "tomem", which is imperative plural (y'all take it), the french version uses "prenez" that's either imperative plural or formal/polite imperative singular, while the Russian version uses friendly/familiar imperative singular (thou, as English used to use) instead of the more polite and/or plural возьмите.

Of course those are all valid translations for "take it" in English, but in a given context only one of them will be intended by the speaker.

And those are all indo-european languages which share a common (if sometimes distant) heritage when it comes to grammar and social customs. If I spoke Japanese (which uses a complex system of honorifics) I'm sure I could come up with much more awkward translations.

In Deepl's defense however it manages to piece it together if I give it more context, for instance "The box is on my desk. Please take it." is translated as "Коробка на моем столе. Пожалуйста, возьмите ее." where it uses the correct её for the (feminine) box, and the adding "please" made it switch to the polite form of брать.

But of course in casual conversation through some online messaging application piecing together the context will be a lot harder in many cases. You have to deal with slang, incomplete sentence fragments, typos etc...
This guy is giving you the best advice. They are considering the fact that you already know Objective-C.

One thing: I use Objective-C and I really like it. I don’t feel the same way about C++. If you feel the same way, honor the feeling. Still, I think you can learn C++ and have it be useful for you.

My best wishes!
Why not liquefy air when electricity is low price, use a heat engine between your liquefied air and your power plant heatsink, then use that now heated/compressed gas as input for a turbine? Plus - you can sell liquefied gases (nitrogen and oxygen).
That is my biggest pet peeve, there are no uniquely identifying class names anymore so in a big enough project it can end up really hard to find what is generating the HTML you need to change.

It's part of an overall code quality attribute I refer to as "discoverability" which is tied very closely to clean organisation and maintainability. Can't maintain something quickly if it takes 10 minutes to reverse engineer the code and find it.
Do not lie on your resume or during the interview.

There are lies and there are lies. For example I wrote some shell scripts to create VMs in AWS and install some packages on them. This appears on my resume as "expert in rapid provisioning of infrastructure as code in the cloud" or something like that. It sounds a lot more grandiose than it really is, but that's just how the game is played these days.
I've read this twitter thread, thanks.

I don't know whether @ScienceVet is an expert, I don't know them and they don't use a real checkable name, but I trust that you wouldn't mislead me. The biggest issue for me is that the thread is referring to some data, but doesn't show the data - I guess I have to read cited papers and I would find it somewhere there? If somebody wants to use "scientific arguments", they should add some inline references to the sources, so reader could cross-check. Otherwise it's just an authority argument.
> If you're letting your browser request code you don't want to execute, that's on you.

Indeed. We can run blockers to get rid of user hostile javascripts but we can't get rid of the web site's own code since that's likely to break everything. That's why we'll eventually have to replace them with free software.
They canceled the guy who wrote the fastest Rust web framework because he wasn't apologetic enough about using too much unsafe code.
Apparently the term was used for the region and people from the 16th and 17th centuries, and it was commonly referred to by that name in the Russian Empire as a geographic region rather than an administrative one. So it seems to have started as a geographic name and then converted into being an administrative one.

https://en.wikipedia.org/wiki/Name_of_Ukraine#History
I'd rather have structured data, allowing the users to filter by or search for ingredients and automatically convert units.

There were some XML formats invented for that:

- http://www.formatdata.com/recipeml/

- https://cookmate.blog/my-cookbook-xml-schema/
The backend is someone else's. It's out of scope, because it's effectively a service.

The frontend code executes in your browser, on your machine. It's in scope of GNU/FSF interest, because the end-users of that code would benefit from the four freedoms. A lot of people who strongly believe in the value of the Four Freedoms try to minimize the amount of non-free code they run, hence the desire for free frontend replacements.

The way I see it, this concern meshes nicely with a more general desire to be able to substitute your own frontend for the one that's served to you. If you imagine a world where people develop and exchange alternative frontends, the users would benefit from these frontends being "free as in freedom".

Of course we're pretty far from that world - but it's not impossible; the term of art is "adversarial interoperability" and I'm a great fan of it.
A little surprised no one has mentioned OmniGroup's [0] applications.

Some of their applications (e.g. OmniFocus) support syncing online via an Omni account, but also offer support for syncing to a custom WebDAV server[1]. I run my own WebDAV server and point the macOS and iOS apps at it.

[0]: https://www.omnigroup.com

[1]: https://support.omnigroup.com/documentation/omnifocus/mac/3....
Microsoft’s Mixed Reality Toolkit (MRTK) for Unity
Agreed. Colored functions can be solved, though. See Unison[1] or Zig[2].

[1] https://jaredforsyth.com/posts/whats-cool-about-unison/

[2] https://kristoff.it/blog/zig-colorblind-async-await/
Pricing through demand control. A study of the mechanical keyboard DIY kits
> They see themselves as being in a world but not of it. the gentle well meaning and polite arrogance is astounding to be immersed in.

This is true of pretty much any faith group (Baptist, myself).

So, what is the remedy? Progressivism itself functions as a quasi-faith, but I'm just not singing those hymns.

One remedy could be to omit these metaphysical questions from hiring choices. Various people hold texts sacred that I do not. If the Bill of Rights means anything, I have to respect the Book of Mormon as much as the Koran.
Italian discussions literally look very heated to, say, Northern Europeans, due to the very animated body language.
Understanding how to use GitHub Actions
If there are two types of functions with syntactically distinct calling mechanisms, and there is a cost, in both syntax and performance, for mixing them, then you have two colours. That the cost of mixing isn't infinite but just high -- high enough to require two distinct sets of APIs, one for each colour -- then you have two colours with all their issues, even if to a somewhat smaller extent than the extreme, and unusual, case of JS. If doing something is expensive and unrecommended, then doing it is very much an issue.
Can you give an example of a widely mocked Stallman statement that has been proven true?
> it's best to have the .com for SEO purposes

It's not - and I doubt it ever was - about SEO in the technical sense (the hypothesis being that .com has some kind of innate SE ranking benefit compared to other TLDs).

To me it's far more that if you have a company called, say, 'YCombinator' then a huge number of people will simply assume you are to be found at YCombinator.com, simply because their experience is that all the other well-known brands live at .com, so why wouldn't you?

Why would you choose to fight that if you didn't have to?
> The most non-Indian person often feels compelled to be the loudest voice in some sort of over-compensation for acceptance amongst those he seeks validation from.

from a previous comment:

> Whereas in Italian and Japanese cuisine (both being my repertoire) a greater emphasis is in exalting humble ingredients with skill, prep and elaboration and an emphasis and an eye for in-season quality and utilizing them in smaller portions than other countries...

We're all entitled to opinions about things, especially something as subjective as food. But this sounds a lot like the pot calling the kettle black to me.
Component based approach is widely addopted and proven by big and small players in the industry (I'm not even gonna name drop because it's everyone), and practically all existing frontend frameworks, it's not really debatable at this point. What is debadable is how you implement components, which probably was why yours was unmaintainable.
A framework that helped our data team build a documentation-first culture
Cisco Webex implementing a new feature feels like they are trying to grab a last straw just before the final sinking happens ...
I don't know why do people think the wind is haunting. That's just how gales sound!
In my experience, the real convenience of Tailwind over inline CSS is using all the variant classes (https://tailwindcss.com/docs/configuring-variants) like hover:font-bold, md:w-full, group-hover:text-gray-500 etc to compose your styles. It's not possible to use pseudo classes like :hover in inline CSS.

I've also found the tailwind.config.js very useful - you can load it up with all your custom colours and fonts. It's much easier to refer to text-primary (for your primary brand colour) than remembering a hex code and pasting it all over your markup :)
Transforming usury into finance: Financialization and the ethics of debt (2018)
Turn on automated close captioning on youtube, and see how often it gets the speech wrong, even for English. Now imagine feeding that into a translation service.

The output just barely manages to get the broadest meaning across. If even that.

If it is also supposed to be real time and able to handle a conversation at a realistic pace... just forget it.

This is just too be able to list it as a feature, it's not actually going to be good or work.
I’m seeing a heck of a lot of these services coming out recently.

I’m sure they are quite useful for a lot of folks, but for me, it was just a bunch of Slack or email notifications that usually showed me my own social media feeds.

I’m probably not the target audience for these services. I don’t really have (or want to have) a big social media presence.
That's how I see it - as a sole developer on a side project, Tailwind is a great force multiplier, much like tools like Hotwire/Turbo, Dokku/Heroku for deployments, frameworks like Rails or Django etc.

A large company with frontend specialists and CSS experts might not need Tailwind - and indeed they might find it gets in the way. Personally I find it lets me build and maintain decent UI layouts with minimum fuss. When I'm repeating myself with too-long class strings, I can either use @apply or wrap the markup in a component.
No, it doesn't do type deduction. Without specifying the type, it assumes a type of int. Everything in C revolves around ints.
Google Maps “Satellite” was almost named “Bird Mode”
Rust is to C++ what Zig hopes to be to C.

I don't mean "hope" disparagingly. We're just a few releases away to reach that point, IMO.

Go is what Thompson & Ritchie might have developed in an alternate universe had they used Limbo and Plan 9 before designing the C language.
> I'm curious what GNU considers "non free" JavaScript. If it's any JS without a "free" license, then I would imagine that the vast, vast majority of websites are non-free.

yes.

> They expect volunteers to faithful replicate thousands of man hours of work for every single website?

yes.
We've been testing realtime translation of realtime captions in real meetings lately, with a view to basically answering the same questions you're raising.

Using Google's translation API, the number of mistakes is reasonably low, and it's absolutely possible to have a comfortable meeting even when technical topics are discussed, as long as participants are aware of the possibility of mistranslation and take care to avoid resulting miscommunication. It's far from perfect, but it's good enough with those caveats. We have plans to test out several others including DeepL.
> but convincing them proves to be very difficult, since mostly they don't understand the issue, let alone care about it

I understand the issue perfectly, it's just that you and your needs are not that important to me. Of course you're free to open my website without JS, you're free to crowdsource a bootleg JS package for my website. It's my fault if your bootleg JS package breaks my database, because I should've done better server-side validation. Everything else is your fault and I won't provide any support at all.
CSS custom properties do that natively though.
Can cause some issues, see notion
https://news.ycombinator.com/item?id=26113444