skysight-inc/HackerNews huggingface dataset:
>Most supplements are 10ug / 400iu. Especially as it's a 5 year study.

That's because an error was made when the RDAs were initially assessed. 400 IU is going to have no effect. I believe in the above link if the sunlight study they even mention that interventions below 1500 IU/day have no effect.

>Too much vitamin D is pretty grim because of the effects on calcium levels

Sure, but I wonder about this 4000 IU limit. Experts also royally screwed up last time with their suggestions that have had an impact for years . This was such a monumental screw up that somehow took decades to address:

>A statistical error in the estimation of the Recommended Dietary Allowance (RDA) for Vitamin-D was recently discovered, indicating that 8895 IU/day are needed for 97.5% of individuals to achieve values ??50 nmol/l, analyzing correctly the same data used by the Institute of Medicine. [0]

>Since all-disease mortality is reduced to 1.0 with serum vitamin D levels ≥100 nmol/L, we call public health authorities to consider designating as the RDA at least three-fourths of the levels proposed by the Endocrine Society Expert Committee as safe upper tolerable daily intake doses. This could lead to a recommendation of 1000 IU for children <1 year on enriched formula and 1500 IU for breastfed children older than 6 months, 3000 IU for children >1 year of age, and around 8000 IU for young adults and thereafter. [0]

That being said, I'm unsure if I would supplement 8000 IU either, but 2000 a day for a study still seems low.

Apparently it's not that easy to get vitamin D toxicity:

>A total of 127,932 serum/plasma 25(OH)D measurements were performed on 73,779 unique patients. Of these patients, 780 (1.05%) had results that exceeded 80 ng per mL and 89 patients (0.12%) had results that exceeded 120 ng per mL. Only 4 patients showed symptoms of vitamin D toxicity. Three of these cases involved inadvertent misdosing of liquid formulations. [1]

Although, it's important to keep in mind that others could've had problems, but just not shown identifiable symptoms.

[0] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5541280/

[1] https://academic.oup.com/labmed/article/49/2/123/4807321
Because of feature creep. I don't need that feature. Don't merge things that can be kept separate. It is called modularity.
I feel like Java was designed in a way that runs contrary to how my mind works. I tend to navigate code starting at the entry-point and going deep. With lots of layers of abstraction, it's hard to figure out what is actually being run, and I tend to get lost in a Java codebase.
Call to cancel your account, mention moving to another service, etc. Often times companies will transfer you to more empowered "retention specialists".
> If you don’t believe the media, at least take a look at this xkcd comic, it puts the problem into perspective very clearly

Yeah, why discuss complex topics when there are comics instead.

The problem is not weather - but Ideocracy getting reality much more faster than anyone predicted.

Fun fact - by replying in that way you exactly prooved my point. Thank you.

P.S.: "looking at graphs" is exactly media. But you don't think about relevance and probability. At least from the past three years you should have learned that scientific models are not religious truth but are an opinion of the modellers.
Does Tesla not have to produce cars for Europe, Asia and Australia which conform to the other plug standard? Maybe I misremember but I thought he was required to do that.

(In effect he has to do homologation for each regulatory authority)
This doesn't work for me, most pages are blank.
It's so understandable and succinct, I don't know why I thought I wouldn't understand the source. Thanks.
Yes this is possibly why the author renamed the post. There certainly has been a problem of over-abstraction in the industry, with some of the most guilty parties being the frameworks (e.g. the infamous AbstractSingletonProxyFactoryBean from the Spring framework).
Anyone who has worked in Python or Go would tell you that it's not the right analogy. Opinionated rigid solutions kill innovation and this analogy is rather quite innovative!
> Non-profit is the colloquialism for a corporation with a certain status per a statute that grants the corporation some tax exemptions in exchange for their ability to return a profit

Not all non-profits are corporations–many non-profits are trusts, and legally speaking trusts are not corporations (although it is not uncommon for them to own corporations, or to have corporations as their trustees–or even beneficiaries). Many small non-profits are unincorporated associations. Nonprofit versus for-profit status is an orthogonal dimension from corporate vs non-corporate legal structure.

Also, "non-profit" isn't a "colloquialism", it is an official legal term in several jurisdictions: for example, 37 US states have (at least partly) adopted the American Bar Association's "Model Nonprofit Corporation Act" [0]. And it isn't just an official legal term in the US, see section 48 of the Australian state of Victoria's Payroll Tax Act 2007, entitled "Non-profit organisations" [1]

[0] https://en.wikipedia.org/wiki/Model_Nonprofit_Corporation_Ac...

[1] https://austlii.edu.au/cgi-bin/viewdoc/au/legis/vic/consol_a...
Like in that scene in The Terminator (1984), when the skin of the titular assassin melts/burns off/whatever, and it is revealed for what it truly is: a machine. Here, the "death blow" to a corporation reveals its true nature: an artificial intelligence. Implemented in bureaucracy and economics, executing on a runtime that's literally made of humans as processing units. C-suite, employees, customers, partners - all just execution substrate.

So yeah, you'd think that this corporate entity was dead already - but it was never alive in the first place. Unlike the humans opposing it, it doesn't need to be.
> It's almost like the idea that language shapes how you think. Frameworks are kind of like subsets or dialects of programming languages. If you actually know the framework well, you can often do stuff that seems like it would need low level control, in an idiomatic way that doesn't fight the framework.

I think the analogy does not quite fit. A framework is certainly not a dialect. For me a dialect is a variant of the language in which you can accomplish almost the same.

A framework provides you with a couple of blocks for building something specific.

In terms of language, I'd say a framework is like technical jargon. Additional abstract terms that describe concepts useful in that domain. So domain experts don’t need to always explain everything from the beginning.
It's not really. It was unfortunate timing. This used to be called GPT-Index, and then they changed names before Meta released their LLM. So their use predated it.

I feel sorry for the amazing team behind this great library. Changing names is hard.
Crabs in a bucket?
Armando Iannuccis back catalogue is so vast. He's done so so much stuff over the last 30 odd years and so much of it is top tier. Yet few people would recognise the name. He's talented on so many levels. If anyone hasn't I'd highly recommend the 'Armando Iannucci Shows'.
> Crime — including robbery in public spaces — spiked 14 percent from 2021 to 2022, a rise police blame partly on increased drug use.

Why not on economic hardship around the pandemic?

Am I the only one having the feeling that drog use was picked to blame for some of the troubles experienced (not all, visible use must be a burden, just like the visible alcoholismn on streets and related ill behaviour) and the article should have explored the alternative views some more.
Haven’t tried that with Messages or Music. But I know for certain that it works with TV.app.
When I got that leaked Genera image going in Linux I felt like I'd found a crashed UFO. It was incredibly inspiring and I don't think its true at all that we have surpassed it.

Why do I still have a clunky character-mode terminal instead of a Listener that can display rich text, images, mousable forms? Just think what we'd have today if we'd worked on that paradigm for 30 years instead of fetishizing the limitations of 70s minicomputers.

Why is it that when I type a command into said terminal and forget a parameter, I have to delete it, or open another window to type 'man', whereas on Genera I can hit <help> and view (rich, hypertext) documentation for a specific parameter, inline, while still typing in the command? That little feature was a revelation.

Genera's fluid, ergonomic developer experience is something we are turning away from more and more these days. Programming is increasingly surrounded by the most tedious bureaucratic and administrative work. The hoops I have to jump through before I can start creating something in a programming language are only increasing. If people had paid attention to Genera and to Lisp machines it wouldn't be like this.

And I've only mentioned surface aspects of the user experience. I haven't talked about being able to debug anything, or the idea that what look like applications are actually "substrates" that I can potentially use as APIs for my own work. We haven't scratched the surface yet.
^^ 28th Feb 2022, more than a year ago.

Slightly over a month ago:

https://www.hrw.org/news/2023/05/29/cluster-munition-use-rus...

Since Russia’s full-scale invasion of Ukraine on February 24, 2022, Russian armed forces have used cluster munitions in attacks that have caused hundreds of civilian casualties and damaged civilian objects, including homes, hospitals, and schools. The Ukrainian military has not denied credible evidence of its own use of cluster munitions in the conflict and has publicly asked to be supplied with the weapon.
I feel you may also like lolcommits[0], it doesn't pollute the public repository, but takes a webcam photo of you and can optionally add the commit message into the image. Every few months I would convert the images into an animation and it's interesting watching the facial expressions, change in appearance and locations.

[0] https://lolcommits.github.io/
Backed the full shows up here a few years ago if anyone is interested.

https://archive.org/details/OnTheHour

The Chris Morris Music Show was another humorous radio show he did in 1994.

https://archive.org/details/TheChrisMorrisMusicShow
Why would a ts-native offering produce better error messages when it comes to complex types? That is an issue with TS in general (or rather, with complex types in any typesafe language).
It is easy. It's just a terrible idea.

(So as it turns out having thought about it a bit, I am vehemently against this idea.)

Type reflection at runtime would require polluting the JS environment with a lot of cruft.

That might be a global object and lots of helper functions to query types. It might also be tagging objects and fields with additional properties that need to be treated as reserved.

There is certainly no way to do this that doesn't make assumptions about the runtime environment in a way that will cause a mountain of issues further down the line.

The other reason for my disdain is: the need to infer types at runtime is almost certainly indicative of an architectural issue with your code. If you aren't able to write viable code in a given context without requiring runtime type querying then you should step back from your intent and re-evaluate your code structure.
I think one of the problems with tech debt as a metaphor is that generally with financial debt the person or entity who can reap the benefit or suffer the consequences of that debt are one and the same, and they are making a decision with both of those scenarios in mind. The CFO is the sole person "doing the math" on accruing debt. The person who get to live in the house is the one taking on mortgage debt.

In tech debt though, that is split into two groups:

- "the business" concretely reap the benefit of accruing tech debt (release faster = more profit), only abstractly feeling the consequences (developers are maybe slower and maybe more miserable than they should be)

- developers suffer the consequences directly (working with badly maintained code that you don't have leeway to resolve is soul crushing), while only abstractly reaping any benefit[1] (maybe the business profits more which maybe gives them more leeway for maybe a better pay rise than they would have otherwise gotten)

The concrete feelings are obvious, the abstract ones are all arguable because you don't live the opposite (maybe this feature would have always taken this long, maybe the company would have always been able to afford that pay rise), and so are easy to ignore.

So then, unlike financial debt, the decision whether or not to accrue tech debt is ugly tension between two groups who don't really understand or have empathy for each others motivation. The business would always prefer you go as fast as you can, and developers would always prefer they work with code that isn't miserable to work with.

Attempts to solve this are pretty mixed in my experience, and generally the business wins. Which is I think, where most people's negative feelings on the phrase "tech debt" comes from.

[1] the obvious counterpoint here is startups and other jobs where you get stock options etc. I have only worked in that scenario once, and my company was a subsidiary of a much larger one, so our ability to move the needle on stock value was pretty negligible. It may be in scenarios where you really can make a difference tech debt decisions are more harmonious. Interested to hear people's experiences.
And is your point that that’s ok?
First issue I randomly clicked is a somewhat unhinged interaction with the author being threatening or abusive.

https://github.com/kudoai/chatgpt.js/issues/34
Yes, and I am aware of the histories, we just want (and need) something more now. Typescript still seems well positioned for this. Not many reasons you cannot fix this with a compiler flag (which is default off).
Huh? It had other options longer than it had async/await. Async/await is a fairly recent addition. E.g. before fetch with async/await, there was XmlHTTPRequest with callbacks. It also had Web Workers as a means for parallel&concurrent processing for way longer than it had async/await.
You can take a photo of someone else's copyrighted picture (photo, art, whatever). Or any other merchandise they're selling. You can even do it while you're on their property, standing next to a sign that says no photos allowed. All legal.

The business has the right to ask you to leave if you violate their policies. In fact, they can ask you to leave for (almost) any reason at all. They may have some limited right to remove you using a reasonable amount of force, depending on the jurisdiction.

Once you've left or been removed from their property, you still have the legal right to take photos of it from the public place you're now standing in. If you can view the photos or are they're selling through their window, you can keep taking photos of it.

They don't have the right to confiscate your camera or the pictures you took. Your rights in terms of what you can do with those photos may have limitations (e.g. redistribution, reproduction), particularly if you photographed copyrighted works.

This is why the parent's comment confused me so much. In most of the world you live in a society where yeah you have the freedom to take photos of stuff, or copy it down on a clipboard or whatever, and use it as competitive intelligence to improve your own business. And thousands of businesses are doing it every day.
> A walled garden prevents you from doing a lot of things, not just over architecting. It inhibits the top tier engineers as much as the bottom tier ones.

Up to a point, depending on the limitation.

After all, writing raw assembly removes almost all limitations and yet people still argue for introducing limitations in higher level languages.

Static typing is a limitation, and yet more people argue for it than against it.

Structured control is a limitation, and yet people prefer that to raw `goto`s.

Lack raw memory access is a limitation, and yet people argue against raw memory access in favour of alternatives (such as byte arrays).

Top-tier engineers don't feel constrained by static typing, structured program controls, raw memory access or any one of the multitudes of limitations that popular languages define as their "walled garden".

There's no clear line marking the boundary between a constraint that is helpful and one that is not. It's more of a gradual spectrum with assembly on one side and Lisp on the other, and all other languages somewhere in between.

I'm largely in agreement that a language that prevents the programmer doing stupid things also prevents them doing clever things, but I feel that certain particular limitations improve the maintainability and readability of code.

Those languages that have a kitchen-sink approach to features are notoriously for being difficult to maintain. Most large C++ projects, for example, literally have a defined subset of C++ that they will approve in PRs, and they are still considered difficult to maintain.

IMHO (really emphasising the "humble" in that acronym), and as someone who's playing around designing a language (again!), a good language these days should be defined by what it doesn't let you do, not what it lets you do.

Lets you pick one of three different ways to declare a function? Bad Language! No cookie for you

A function declaration always looks the same no matter where it appears? Good! That's a limitation I actually want!
It's certainly not a problem with education. Nobody in this country can claim they were never told that drugs are bad.
I would really like to know what sort of traffic patterns that caused the detection. How would you accidentally mistake susam.in for a C2 server? Where are they sniffing traffic at to determine this?
"Janus the fifth" and "KD6-3.7"
Great post!

One thought: If the code is rewritten using bit arithmetic, then potentially the result could be even faster as there need not be a pointer look-up.

A bit arithmetic solution would have a mask created for the characters ‘p’ and ‘s’, and then the result could be AND-ed, and then with more bit arithmetic this all 1s value can be translated to a 1 if and only if all the bits are 1. Following which, there would be a no conditional check and simply be both an add and a subtract operation but where the value to be added will only be 1 if the mask for ‘p’ matches and 1 to be subtracted if the mask for ‘s’ matches respectively. I’m not fully sure if this would necessarily be faster than the pointer look-up solution, but it would be interested to try this version of the code and see how fast it performs.

Update: The bit arithmetic could also be done with an XOR on the mask, and following which the ‘popcnt’ x86 instruction could be used to figure out if all are 0 bits.
“How societies work” can be used to justify essentially everything and I do not think it’s a good argument.
Snowden also praised Signal several times though…
It's never been legalized.
On the other hand countries like Japan are having a demographic crisis where they have populations that are very old because there aren’t as many young people, and one of the primary reasons Japan doesn’t have as many young people as other countries is because they have very strict immigration laws.

As a person whose parents are from India I take offense to the idea that family values in western countries are somehow incompatible with immigrants, both of my parents came to the US separately and decided to get married and have kids out of their own volition. Europe obviously has separate problems and migrant workers aren’t exactly the same as tech workers from India coming to the US but just because other cultures are different doesn’t mean they’re from alien planets or something.
My time is too valuable to be wasted by god damn updates, because you know what? I'm only getting older, my eventual demise keeps looming closer, and I have so many things I want to do and places I want to go before the grim reaper picks me up.

It's the kind of re-evaluated outlook on life you only get as you grow older and you start witnessing more and more deaths and imminent deaths around you. I'm also dealing with cancer in the family (I'll spare the details), so my time really is too valuable for god damn software updates.

>I hope you are not handling any customer info on such systems... or are you?!

I'm not. Like I said, if my threat model actually incorporates the kind of threats that updates ostensibly protect against, the scales would weigh differently.

Would I keep business computers updated? Absolutely, if for no other reason than so I can make it all someone else's problem. I'm talking about my own personal computers.
You can easily parse json into types using something like typebox. Not only does this work, it works much better than many other languages. Have fun trying to represent even a simple patch request, or discriminated union, in something like c#
And how long has it been that Reagan is no longer the governor and why hasn't funding been restored?
Interesting to read this.

It seems to address strategies for reading physical material, though, and not rapid serial visual presentation. I think the latter does work for non technical material, and am day that the buzz around it 5-10 years ago kind of died out (spritz, speed read, forcefeed, etc)
> And since Harrison Ford won't be able to do another one

I don't know, maybe ask Holo-Reagan or Holo-Tupac what he thinks about that? Or we've got holo-leia or holo-tarkin even within the star wars universe already.

You just have to face it, death isn't the obstacle it used to be. There's lots of dead actors out there living kickass lives.
You just click on "Play", then you take a screenshot as the game opens in your browser. The screenshot is yours to do with as you please.
These show something very basic and timeless that we have in common with ancient Pompeiians – sex

Given the low birthrates in many countries around the world, I'm not so sure this is true anymore.
> You would never apply this attitude to programming

Really? 30 million deaths wouldn't give you pause? Therac-25 killed or injured 6 people and we still talk about that.

Communism doesn't deserve another chance.
Thank you for this discussion and article, both were an interesting read!

One tiny criticism regarding the article: I was hoping you would actually color code the HTML code samples visually, I believe it would have aided understanding better. You could have even used a more realistic/concrete sample as well.
It's true that larger organizations can be more efficient in theory. But it's largely just that: theory.

Because, as organizations scale up and enough time passes, the usual outcome is a gigantic web of inscrutable policies and procedures. And lots of people to write and enforce them. Getting something done that in a small organization can trivially be handled by the person originally seeing the need for it, will in a large organization often involve five other people in a messy chain of emails. Or it can't be done at all, unless one is willing and able to play politics to get it done.

Example: I work at a school/university with some 30 thousand students, that is the merger product of many smaller schools, each targeting different professions. These mergers were done for efficiency reasons. I'd estimate the teacher/support head count overhead for these originals schools to be somewhere between 30 and 50%. Currently, we're well over 100% overhead. So we employ more non-teachers than we employ teachers. (And on top of that, teachers handle a lot of non-teaching-related work, of course.) Somehow, the merger is seen as a success.

Small organizations are awesome. It's a shame that government rules and regulations often make them unsustainable.

/rant
What's the difference vs embeddings on a vector database combined with GPT?
Not long ago the lead author converted all issues to discussions. I think most of the issues were actually questions.