jkeisling/hacker-news-corpus-2007-2022 huggingface dataset:
Unfortunately modern English is rather different to Old English. I can read later Middle English (Chaucer to Shakespear) with some difficulty but Old English is very hard.

The WP page on Frisian Languages has this to say early on: "However, modern English and Frisian are not mutually intelligible, nor are Frisian languages intelligible among themselves, due to independent linguistic innovations and foreign influences."

To give you a tiny idea of what we are up against here consider the name of the town I live in: Yeovil. When I first came here I thought - French obvs! Yeo-ville ie the town on the river Yeo. Hmm how wrong can I get: actually it was called Gifle in the 500s or so, which means "bend in the river" in a Saxonish language long gone - that's your old Frisian/German/Dutch/Angle thing. Morph the G into a Y and the f into a v, throw in a vowel shift and squint a bit and there you go. There are over 60 spellings recorded for this little town, including Euwell, Evill, Ivel and Gevelle. The local rugby team is called the Ivel Barbarians. The river is actually named after the town, which is named for a feature in the river! In Germany there is a town called Wegburg (I had my ears operated on in the hospital there in the '70s) and in England there is a town called Weybury - that one is easy to work out.

Now pull back and look at modern English, Dutch, the Frisian collection of languages, German etc ie all the languages that are collected together as "Germanic". They are all rather different these days. I can't even pronounce van Gogh properly despite having a Dutchman repeatedly telling me how (something like "fan hoch"). I can say Moenchengladbach well enough but lets face it the name is pretty obvious even if you ignore the umlaut and the ch sound at the end - both sounds don't exist in modern English. I failed German O level but on the bright side I also failed French too.
I am beyond sick of this Libertarian lie that has somehow gone mainstream. The Federal Reserve is audited bi-annually by both a public and private commission

https://www.newyorkfed.org/aboutthefed/fedpoint/fed35.html

https://www.federalreserve.gov/faqs/about_12784.htm

In regards to your first point, inflation is targeted at ~2.5% a year. Some years do better and some do worse but on average that is the inflation rate. I challenge you to look at the inflation rates (provided below) in the first half of last century and provide a reasoned argument for why having years with +16% inflation (and years with -10% inflation) is a better system of currency than what we have now where people freak out if the deviation is over 2%. The gold standard provided a volatility that only hurt those with less money, and the argument your making is a fallacy (and is the reason I left the Libertarian party four years ago.)

https://inflationdata.com/Inflation/Inflation_Rate/Historica...
FC'G A MAN
TypeScript-style untagged unions don't exist in (safe) Rust. Instead, "or" is done with enums (which are tagged/discriminated unions—https://en.wikipedia.org/wiki/Tagged_union). One difference is that in TypeScript `number | number` reduces to just `number`, but Rust enums don't work that way (`enum Foo { A(f64), B(f64) }` has two distinct variants).

Check out these equivalent-ish programs:

TypeScript: https://www.typescriptlang.org/play?#code/C4TwDgpgBA6gTgQzJO...

type Wrapper<T> = {
value: T
}

function toBoolean(x: Wrapper<boolean | number>): boolean {
if (typeof x.value === "number") {
return x.value !== 0
} else {
return x.value
}
}

function unwrap<T>(x: Wrapper<T>): T {
return x.value
}

const a = { value: 1.23 }
const b = { value: true }
toBoolean(a)
toBoolean(b)
const c = { value: "whatever" }
unwrap(c)

Rust: https://play.rust-lang.org/?version=stable&edition=2018&gist...

struct Wrapper<T> {
value: T,
}

enum BooleanOrNumber {
Boolean(bool),
Number(f64),
}

fn to_bool(x: Wrapper<BooleanOrNumber>) -> bool {
match x.value {
BooleanOrNumber::Boolean(b) => b,
BooleanOrNumber::Number(n) => n != 0.0,
}
}

fn unwrap<T>(x: Wrapper<T>) -> T {
x.value
}

fn main() {
let a = Wrapper { value: BooleanOrNumber::Number(1.23) };
let b = Wrapper { value: BooleanOrNumber::Boolean(true) };
to_bool(a);
to_bool(b);
let c = Wrapper { value: "whatever" };
unwrap(c);
}

In Rust you also have traits to play with: https://play.rust-lang.org/?version=stable&edition=2018&gist...

struct Wrapper<T> {
value: T,
}

trait Boolable {
fn to_bool(self) -> bool;
}
impl Boolable for bool {
fn to_bool(self) -> bool {
self
}
}
impl Boolable for f64 {
fn to_bool(self) -> bool {
self != 0.0
}
}

fn to_bool(x: Wrapper<impl Boolable>) -> bool {
x.value.to_bool()
}

fn unwrap<T>(x: Wrapper<T>) -> T {
x.value
}

fn main() {
let a = Wrapper { value: 1.23 };
let b = Wrapper { value: true };
to_bool(a);
to_bool(b);
let c = Wrapper { value: "whatever" };
unwrap(c);
}

I find there's a decent mental shift switching between TypeScript and Rust, despite some superficial similarities. I use both languages in different codebases and it usually takes me a bit to adjust when hopping back and forth. Both type systems have useful worldviews, but they're pretty different, and they nudge you towards different ways of structuring your code.
Why is this better than everybody just recording their stuff and sending it?
“Cherish those who seek the truth but beware of those who find it.” ― Voltaire
Yeah, this is totally fine.

It’s rare that you need to use vars in Scala, but still if it’s scoped to the function then you know you can mentally discount it once the function terminates.
It's actually quite good if you "root" the device and install koreader[1](the original developer is the same guy who wrote the vnc viewer for kindle, that was mentioned in this thread), or its librerator fork[2]. In contrast to Amazon's practically unusable PDF reader, these open source projects support custom zoom levels, 2-column mode for academic articles etc.
Another option is to use k2pdfopt[3].

[1] https://github.com/koreader/koreader

[2] https://github.com/kai771/kindlepdfviewer/tree/librerator

[3] http://www.willus.com/k2pdfopt/
It's a little unfair to call it "pump and dump" which is a specific kind of unethical stock play. The points you made show how Groupon was a creature of the venture model, and executed well:

No barriers to entry, so you have to exploit first mover advantage as quickly as possible: Check.

Audience and advertiser numbers are more important than anything else: Check.

Executing on these points is worth any risk, and never mind the cost or the plausibility of the P&L projections of throwing as many salespeople at the problem as it takes to be dominant: Check.

Groupon executed on what turned out not to be a viable model with total focus. Nobody remembers who the 3rd-27th players in their market were, and their investors lost most if not all of their money.
That appears to confirm that they are a wholly owned subsidiary of Sony Japan.
I think that's a well-established name for rendering the same JS both in the back-end and front-end. Would some other name work better?
There is a difference between a specialist and a 10X person. Specialization indicates a detailed knowledge of specialized subject. It has nothing to do with how creative, intelligent and talented you are in solving problems of your domain.
I could be specialized into writing device drivers for Real-time linux systems and yet be average programmer. Specialization has to do with knowledge, 10x indicates fluid intelligence in solving problems.
I think the true intent of PR-speak like this is to drive the government to subsidize business growth via tax breaks, etc.
I've always wondered this as well.

Consider a finite collection of atoms consisting of a human and an environment. For simplicity, assume these atoms move classically. The human is a subsystem, and since the entire system involves deterministically, there is only a limited number of configurations that the human subsystem can realize within the environment. If a "human" is what is necessary to comprehend reality, then there are aspects of the system that cannot be realized by the subsystem, since there are far more states available to the total system.

Then again, I could just be rambling.
"Hannah Arendt’s understanding of the political domain of the classic city would agree with the equation of walls with law and order. According to Arendt, the political realm is guaranteed by two kinds of walls (or wall like laws): the wall surrounding the city, which defined the zone of the political; and the walls separating private space from the public domain, ensuring the autonomy of the domestic realm.

The almost palindromic linguistic structure of law/wall helps to further bind these two structures in an interdependency that equates built and legal fabric. The unwalling of the wall invariably becomes the undoing of the law."

"The breaching of the physical, visual and conceptual border/wall exposes new domains to political power, and thus draws the clearest physical diagram to the concept of the ‘state of exception’."

"Future military operations in urban terrain will increasingly be dedicated to the use of technologies developed for the purpose of the ‘unwalling of the wall’.

This is the architect’s response to the logic of ‘smart weapons’. The latter have paradoxically resulted in higher numbers of civilian casualties simply because the illusion of precision gives the military political complex the necessary justification to use explosives in civilian environments where they cannot be used without endangering, injuring or killing civilians.

The imagined benefits of ‘smart destruction’ and attempts to perform ‘sophisticated’ swarming thus bring more destruction over the long term than ‘traditional’ strategies ever did, because these ever more deadly methods combined with the highly manipulative and euphoric theoretical rhetoric used to promulgate them have induced decision makers to authorize their frequent use. Here another use of ‘theory’ as the ultimate ‘smart weapon’ becomes apparent. The military’s seductive use of theoretical and technological discourse seeks to portray war as remote, sterile, easy, quick, intellectual, exciting and even economic (from their own point of view). Violence can thus be projected as tolerable, and the public encouraged to support it."

Eyal Weizman

Lethal Theory

http://www.skor.nl/_files/Files/OPEN18_P80-99%281%29.pdf
Exactly. I've been working on a codebase where we're trying to make a rush-job project into something mature and reusable. One of the developers on my team was concerned about our obviously and grossly inefficient business-logic layer that applied business rules to a given record. I told him not to worry about it - lo and behold, we ran a profiler and the business layer was barely a blip on our performance problems, and our dynamic GUI stuff represented the lion's share of wasted time.
Please do not implement infinite scroll. I find it super annoying.
Agree that documentation is key here. Anything you do that is beyond the vanilla "pave the install and plug it in" should be written down.

It doesn't need to be perfect - I have a onenote notebook that has the customizations that I've done to my router (static IP leases and edits to /etc/config/network), and some helper docs for a local Zabbix install in docker that I have. I recently how to migrate a database from one docker image to another and there is no way I would remember how to do that for the next time, so I wrote everything I learned down.

Just a simple copy/paste and some explanatory text is usually good enough. Anything more complex (e.g., mirroring config files in github) still (IMO) needs enough bootstrap documentation because unless you're working with it daily you're going to forget how your stuff works.

Additionally a part of my brain is worried that if I get hit by a bus my wife/kids will have a hell of a time figuring out what I did to the network. Onenote won't help them there but I haven't figured out the best way of dealing with this.

(I recognize the irony in a "I'll host it myself" post in storing stuff in onedrive with onenote but oh well)
This was my first thought, too. "What is widget X" isn't a good question. Questions more along the lines of "When would you use widget X over widget Y" will lead to better insight about a candidate, and will show actual experience.

In the same way, for normal CS questions, "Write a hash-table implementation" is OK but I think it's better go with a question where a good solution involves using a hash-table.
I think both are true: we should let more talented people into the country AND there is actually no shortage of programmers - there is a lack of programmers at the prevailing rather low programmer salaries.
> Squirrel is written in C++. Wren is pure C99.

Awesome. My primary interest in Lua and Squirrel was to embed a scripting language in a C environment on a microcontroller. This is perfectly doable (and has been done before) but Lua is particularly attractive because it is written in ANSI C.

I think it is interesting how similar embedded systems devs and game devs view their code with an eye towards performance and size. It is nice because embedded systems typically don't use newer languages and the developers tend to never move away from C as the language of choice (sometimes it seems like everyone is stuck in the 80s or 90s).
Wow, it's the second coming of Troff!
21 angel investors! any idea why it's such a long list?
If Dropbox has one key per user, then how do they do deduplication? We know they do deduplication (http://tinyurl.com/4276pxu) so this suggests a very small number of keys.
Uh, were at 1210 mw right now
That should actually be a red flag about the data. When you see a rapid, precipitous decline in deals but amounts don't change, you have to look at the data.

How do you get a rapid, precipitous decline in deals without an expected decrease in dollars? Use a data source that a) is liable to miss deals[1] and b) will classify multi-million dollar rounds involving institutional/venture investors as "seed"[2][3].

[1] Per my other comment I work with a startup that raised a public seed round in Q4 that is not listed in Crunchbase.

[2] https://www.crunchbase.com/organization/skydio

[3] https://www.crunchbase.com/organization/north-technologies
The thing about reality is that there's actually only one. Some of us have come unmoored from it.
> Chern Medal

Self-explanatory, I think.
Well, if they are really just climbing the social ladder, then taxing them 90% only changes the magnitude of the ladder but not their relative position in it, right?

Honestly I don’t really care what the rich want and I’m not interested in having any elite group with that much power over us. This whole thing just sounds like an apologetic, like “if we just give the king more concubines, maybe he’ll stop beheading us.”
I was thinking the same. "Wow, just switch and people will switch too", LOL.
At least you know what your device is doing. But walled garden is definitely bad.
well, the fact is the use of a screen reader (or at least most) can be detected relatively easily by having an element in the screen reader flow that is hidden from sighted users, and if you wanted for extra surety having an element that will be interacted with by anyone accessing the page - but that is hidden from screen readers but available to sighted users.

detecting interaction with visually hidden element, but no interaction with visually shown element, can be registered as screen reader. Obviously this can also happen with bots, but probably you would prefer to register the bot as screen reader rather than to try to filter them out and inadvertently filter out a screen reader (which can often happen with bot filtering strategies anyway)
Is Larry Page still writing programs in Java?
I'd say the current BTC state in this cycle is similar to the beginning of 2017. Regular people are still sleeping on this, not minding it too much. ALTS are barely pumping, compared to the 100x's they did in 2017. BTC will simmer down and correct, but when, that's the question.
This is misleading; empirically, nixpkgs is about 99% [0] reproducible already. We know that the main variance is between language-specific behaviors; Python, Rust, and C all are prone to reproducibility problems.

In general, we want the output to depend on the system architecture and the contents of URLs. Nix uses hashes to require that URL contents don't change over time, which protects from those contents changing arbitrarily.

[0] https://r13y.com/
Yeah, we're seeing inflation in "financial assets". Just not yet in a basket of groceries.
I use the Disconnect extension and no paywall.
This is a long article btw.
The problem with teaching it in college is that most students haven't been exposed to a project that requires engineering or even patterns to solve so they have trouble seeing the value or even engaging with the material

That being said being exposed to common patterns sounds way more helpful than learning UML
Desktops are dying so quickly that it makes me wonder what will be driving the 4k VR in a year or two... How about desktops?
Nukemap targets wherever you put the center. It's completely customizable.
JavaScript Promises have their issues - the same ones all asynchrony-providing libraries do. I feel the author takes a hard stance on something quite nuanced.

Syntactic sugar hides the API, making it more ergonomic, also leaking those problems. Same problem, different API
Yeah, I sure love debugging segfaults. I've used C before and it was cool to learn but I haven't used it since.
> Why would a random dev guy suffer from his/her government actions.

It's hard to keep the facts in order in these days, so just saying:

The action that dev likely suffer from is from a foreign and not his/her government.

And regardless what you and I think, those (and many of the in long past years) sanctions are violating public international law.

What would be interesting thought if there are examples in human history where sanctions have stopped a war. Most of them are done without good examples nor any scientific base it seems, but what do I know?
Also, the original ability to "circle share" was exceptional (and it's truly sad it was apparently abused into the ground by spammers). It allowed "real people" to curate groups of other real people around a certain topic, and then a new user (assuming they could find the curator) could then mass follow/watch those people.

"Here is a group of people who are creating things and having great conversations with each other. Check it out."

It was like someone opening a hidden door to a very nice party.

Don't know how to make something like that non-abusable or how to mitigate the abuse that killed it, but then I never saw it because I wasn't following spam circle shares.
I have a distributed/multiplayer domino and a scrabble (tm) clone game in javascript/redis that I'll change to CRDT. At the end of the day, the concept of updating a board with some tiles lends itself pretty well for CRDTs imho.
It has been said that companies that build rely too heavily on the public, free API’s of another service are doomed when that service decides to monetize those API’s. See, for example, API users of Google Maps.

I think we are now at the point where this applies to individuals. If a person or group of people rely too heavily on a single free service then they’re going to feel pain when that service finally decides to monetize.

There are no free lunches. All these “free” products out there that seem great have Venture Capital investors waiting until the day that the service reaches a critical mass and they can flip the cash-generating switch.
That's fair. I won't rub salt in the wound; seeing this all unfold on video is way more chilling than I'd anticipated. All I'll ask is that once you feel up to it, you have a candid discussion with someone on the other side of the issue about why they feel such drastic action is necessary.
I'll add my experience from the viewpoint of a small time business owner.

Background: I've run an online Ecommerce business that was B2C and a few software businesses that were B2B.

My overarching philosophy: I don’t tolerate abuse of my staff, my business, or myself at all. I step in any time I see any customer abuse my team and let the customer go immediately. Part of being the owner is I chose who works with us, in the same way a customer chooses who they work with when they sign up for our services. One of the first things I share with new members is to bring any abuse to my attention so I can deal with it.

In the Ecommerce/B2C market, there are a lot more mean, angry, and unreasonable customers. I'd say once or twice a month I'd refund someone and politely send them to patronize my strongest competitor.

In software and B2B, the customers are a lot more knowledgable, mature, and professional. We're all engineers, we're aware things can go awry. As long as we do our part of acknowledging a problem, discussion what we're doing to fix it, and following through, we rarely see that type of behavior.

I think in the last six years I've probably only "fired" maybe four B2B customers, out of thousands and thousands of accounts. Nor do I miss the revenue at all, not in the slightest. Losing $1,500 in MRR is so much better than dealing with bad customers, trust me.

Price does have something to do with this issue too. Like many have said, 95% of our questions, issues, and hassles come from the lower tier price points. To be honest, it’s predominantly from people on free plans, unfortunately. Higher tier price points are usually businesses with competent engineers where value-for-money is understood and any issues are dealt with professionally.

My overall recommendation, again based on what I've seen in my own small world, is to sell something in B2B, preferably B2E(ngineer), with a fair/honest, but not cheap, price point. Fire any bad customer the moment you see abusive behavior. There are literally millions of honest, good, and rewarding business relationships out there. Don’t let bad customers stand in your way to reaching those good customers.
Towards the end of this they discuss the mass manipulation of emotions. Surveillance Capitalism is real.

https://www.wnycstudios.org/podcasts/otm/segments/living-und...
Oooh, LBRY allows narcotics traffickers to launder the proceeds of crime, and supports North Korea's effort to nuclearize?
Do we know when yet?
This will then be interesting for the lawsuit in Germany.
As a customer: the content DO makes definitely makes me "love" it more. This is rather due to the format, many guides are exactly what I need, presented in the right way for the audience. No uselessness or BS. This suggests a good company culture, i.e. I believe that the company is good, not just the product.
This is some mafia shit. They're holding users data hostage behind a click-through acceptance of their altered terms. You can either pray they don't alter the deal further, or get the fuck out, abandoning your chat history and social connections.
It's time for me to push everyone I know onto Signal and uninstall WhatsApp. I don't trust Facebook at all and this was the final straw for me.
That's a pretty useless dichotomy. You could say that about pretty much any problem of any size, and it would be technically true.

Enough of the dramatization. It accomplishes nothing but stress.
Yes! Do it! And please send me a link when it's ready to play test.
> "What’s the proper way to use them?"

The only correct answer is "Donate them to your nearest hospital."
Regardless of who I think it should be, chances are they will go after some (young) public, well-respected figure to give Microsoft a "lean" leader, hoping their image as a legacy tech-behemoth without proper corporate infrastructure will improve. Something like Yahoo is trying with Marissa.