skysight-inc/HackerNews huggingface dataset:
Agreed. When I program on larger codebases these days, this is my number one desire: I wish I could see the structure of the entire program at glance, and seamlessly navigate it. Unfortunately, there are no tools for that (that I know of). In the absence of such tooling, each extra layer of indirection makes the program fractally harder to understand and follow.

The same applies to runtime. For now, the best trick I have is building the codebase, then launching the program in a debugger, setting breakpoints around areas of interest, and then stepping it, exploring the call stack and the flow of data. But debugger UIs aren't exactly friendly when you're exploring, and not actually debugging.

(Sometimes, but very rarely, I can get away with running a tracer on a program. E.g. for Common Lisp, I wrote myself a small tracing profiler[0], and half the time I use it to explore the control flow rather than chasing performance issues. Fortunately, "time travelling debuggers" are getting more popular as a concept, so maybe good tooling will become more available in the future.)

--

[0] - https://github.com/TeMPOraL/tracer
Calling Ghost ‘shady’ is not ‘polite’.

It’s rude.

Good lesson for anyone looking for trouble.
No doubt what is there works and works well.

The issue is that developer confidence is very low due to google being in a never ending relentless drive to cancel stuff.
Agreed, both appear unprofessional here, I don't sympathise with either any more than two children I might walk past bickering in a playground.

Instead of emailing about 'shady business practices' off the bat, why not just ask the question? 'Please limit my account to the features of tier X rather than autoupgrade me'.

Instead of tweeting, wait for an email response. Then if necessary, again just ask the question: 'uh, what if it goes viral and I break 100k limit too?'.

Then the CEO, well, why's he even getting involved, just ignore it. If he must reply on Twitter, why not just answer the question about what happens on the 100k limit? Why not apologise that autoupgrade wasn't desired and say (even if bullshit) you're grateful for the feedback and it'll be reviewed? Certainly don't start calling customers 'asshole's on the internet.

But.. the tweet seemingly had no traction (so maybe it didn't matter!) but what was 'what are you on about [...] asshole' even supposed to achieve?

Just seems so petty, on both sides...
Not sure about German/EU law, but in the Netherlands the 14 day cooling off period also applies to subscriptions and financial products [1]. However, this is only 14 days after the sale. I don’t think this applies to renewals.

[1] https://business.gov.nl/regulation/cancellation-period-sale/
The funny thing is that people who want to get rid of marriage as a legal concept seem to pipe up almost exclusively in discussions about gay marriage.

Why do you think this idea is relevant here? It's only relevant if you want to argue that gay marriages shouldn't be legally recognized because no marriages should be legally recognized.

You mention that you're married yourself. If you really wanted the state not to be involved, you could just have conducted a non-legally-recognized marriage ceremony. So why didn't you? My guess is that you (a) didn't actually feel strongly about this issue at all and (b) wanted the many benefits conferred by a legally-recognized marriage. As to (b), gay people want these benefits too.
(See https://en.m.wikipedia.org/wiki/Covariance_and_contravarianc... for more context)

Yes, as the terms "co/contra-variance" loosely relate to how certain derived attributes "varies" when base attributes changes:

- vectors: whether scalars scales in the same direction or not of the base vectors (ie is obtained through the base transformation matrix, or its inverse)
- generics: whether generics of a subclass of T is interpreted as a subclass (same direction) or superclass (opposite direction) of a generics of T.

(Maybe they all formally tie together through category theory? I don't know but would love to hear from someone more educated about it!)
"I also decided to tweet about it - because that’s what people do, right?"

I honestly don't know what to think about this.
On one hand I understand you want to create awareness on a practice you consider as shady,ok.

But from what I know, Ghost usually try to please its customers. It's a small team with hardworking members, competing against giants.

Attacking them on Twitter before they could even reply to your email: kind of a dick move.
I agree with the post author that the tactic of allowing users to exceed plan limits and then upping their bill (yes, even with the 7 day notice email) is shady.

I hate this kind of behaviour from my tools - it feels like I am constantly being watched for when I "slip" and can be charged more without recourse. If you are going to use this behavior, provide a switch to enable hard limits on usage so a user cannot blunder unto having their budget blown by accident.

Edit: Also, why does the CEO have direct access to cancel user accounts and send them direct messages? Surely they have more important things to do?
Beautiful that it can get actually compiled... I dreamt of that, but in particular, with J, it'd be very hard as the actual implementation is data driven, i.e., lexical analysis alone would require building a kind of interpreter for chained operations to work efficiently under all circumstances or compile all possible variants of execution.
I don’t think the argument was that he wanted the site to go dark. The author wanted them to block out offending features until the account was upgraded with purpose. Maybe an upsell screen overlay when he tried to add another staff member.

“To add more staff you need to upgrade your account, upgrade with 1 click here”

I don’t agree that it’s “shady” but you can already tell that it would negatively affect conversion to directly inform people of what they’re doing, rather than waiting for them to do it and then automatically upgrading them.

If you charge on some unknown, like requests per second, then it’s better to allow the user to set an upper bound on finances anyway.
_IANAL, but have been working in HF for the past 10 years, with quarterly compliance/regulatory trainings, where I asked numerous questions to lawyers about the subject._

That would not count as insider trading.

For insider trading regulation to kick in, you need to prove the information given carried substantial certainty about the outcome of the trade.

A wink is definitely not substantial certainty. In your situation, the CEO would have to clearly communicate information that led to a positive trade.
Frustrated customers, even rude ones, are an opportunity to learn and improve. The CEO of Ghost unfortunately resorted to schoolboy tactics instread of acting like a diplomatic executive. Sure you should fire your bad customers. But don't mistake a frustrated customer for a bad one. They are not the same.
No, but the existence of water on Ceres was retconned in the show, now it’s again not accurate since while we discovered it has water between the book and the show we didn’t knew that it had that much water.
Companies can’t win here unless they put a prohibitive number of onboarding questions at the start.

Many businesses would complain about the lost business if it didn’t automatically scale to meet demand.

Then there are the cost capped users who would rather the site be disabled due to over usage.
Why are so many videos using computer generated voice overs?

I find find it a real turn off.
I agree with you there. Most mainframe tasks today aren't that heavy on the compute - most relied on the amazing I/O stack, and that makes it easier to replace them.

Heavily vectorised code with modern instruction sets can also be more performant than a lot of the older compute chips, but that requires more rewriting of code, and someone who intricately understands both the code and the math. Which makes modernising much more expensive.

The VM approach is a simpler way to get you most of the way there, but replacing heavy compute stacks is usually going to require a decent bit of investment.
High order meshing is becoming increasing important in Computational Fluid Dynamics since high order numerics requires the boundaries to be more accurately represented. Would be interesting to know if this method could be extended to generate quadrilaterals.
> If you treat 7 +/- 2 as the size of your brain's L1 cache, then what you see in front of you is an L2 cache. Constantly swapping things between L1 and L2 is expensive, but nowhere near as expensive as between L1 and RAM (all the other files in your project you aren't looking at this very second).

As soon as file grows beyond a hundred lines or so, most of it is off-screen so it's not that different to putting it into another file (it's no longer in L2 cache to use your analogy).

It's a choice between jumping around in a single big file, or jumping around between several smaller files organized in a folder tree structure. I have the folder tree open to the side of the editor while I work on the current document so that's also in my L2 vision cache.

Personally I prefer that to one big file that I have to keep scrolling/jumping around in. Of course, for a large file I can open an outline view instead to help me jump around in the file. But I prefer files that are short enough so I don't need that.
I recently had some authentic jamon iberico de bellota from Formaggio Kitchen in Cambridge, MA. Definitely worth trying if you enjoy meat.
Related Reddit thread https://old.reddit.com/r/HBOMAX/comments/i484wx/hbo_max_has_...
Using google properties is a bit of an easy jab, but:

Youtube using polymer/shadowdomv0 and absolutely destroying performance on Firefox is a an easy example. Google Earth used non-standard APIs.

Otherwise, have a quick search for "non-standard" on MDN, and see how many of those Chrome implements.
Why can't the CEO talk to the client more politely? Even with a kick ass product, most companies call centers take time to assist frustrated and angry clients. If the client is unreasonable, simply send a formal email explaining termination procedures but don't call them assholes.

Not everyone can have Twitter clapbacks like Wendy's
You are correct, "shady practices" is wording from his email, not his tweets.

His tweets say things like:

> How can it be fiercely independent publishing and a "non-profit" with such practices?

and

> Ghost operates a very sleazy "auto upgrade" practice.
I can see very strong use cases for each approach - can it not be an option? I mean, if the advice is "just keep an eye on it and cut the service yourself once you get close to the limit" then surely "how about I throw you a dollar a month to do that for me, since it's far more efficient that way?" seems reasonable. The people who are at most risk here are those with the least means - it just seems quite unnecessarily unfair.
A good example, where biting your tongue then steping outside. Before pressing send for all parties was probably a wise lesson.
I've been there.

Procrastination is often a response to fear or guilt. Studies have shown that people who feel guilty tend to indulge in bad habits more. Forgiving yourself is often far better than reprimanding yourself. (Maximum Willpower, Dr. K. McGonigal, 2012)

"...the inertia required to start work..." This is a key point. Try to minimize the energy needed to start, or better yet, make it natural to start. The book Atomic Habits has some good solutions, but the most effective trick for me is to try to get in just 2 mins of work every hour, which usually snowballs to working a full hour. You might also look into changing your environment; old environments mean old habits. Try working at a different time, using a different keyboard or chair, drinking a different drink before work.

I noticed that the commuting period also helps a lot with focus. Even when the brain is idle, it's still at full activity. It could well be that your brain doesn't have enough idle time. You could try allocating an hour or two to "meditation", which might simply be taking a walk, watching music videos, staring at the ceiling.
Sleep could be a mistake, an accident, and bribery could be a crime, but ymmv
This transaction was never authorized and no proper consent was gathered.

Remind me to never use anything you make.
Why was he a bad customer? He was frustrated. And he exaggerated what he was frustrated about. That could have lead to an insightful conversation that improved the product. Don't make the mistake of thinking every frustrated customer is a bad one.
> many advanced economies don’t really have huge public markets

Like, which ones?
Ghost flopped in its attempts to unseat WordPress / Medium, and they've had how many years?

I'd be cranky if I were the CEO too.
Its not the good guys vs the bad guys here. Both parties are inundated with corrupt actors.
And exactly which 'bankers' actions led to the collapse?

If you think someone should be prosecuted, then tell us who they are and what crimes they have committed, instead of resorting to crude populism.

Better yet, try to understand what actually happened.
Your analysis is the only one that we can do currently.

But it is really too limited because even if you know the overall 'spendings' for software dev, you don't know how much is used for Firefox, Thunderbird, pocket, random side projects, by dev for the foundation activities, by dev for charities on the Corp side.

And how the split is evolving years after years.

Also, you can't compare the administrative and marketing costs of the 2 structures to see if they are adequate.

And even the 'Foundation' budget might not be so much relevant as there is no assurance that the 'Corporation' is not funding some charities or fellowships requested by the 'Foundation'.
For a rolling-release model like this a scheme could include the date released, e.g. Firefox 20.07.x which is also used by Linux distros. Right now version numbers are pretty useless.
Just to be clear: the CEO deleting the customer's site is absolutely not okay.

It would also make me reconsider using their service.
Googling, apparently this refers to https://www.intheknow.com/2020/07/31/a-bbc-cooks-upsetting-r...
You're right, I meant complain that it is "shady" or "sleazy". People get annoyed by a lack of hard limits you can set, but it's not "shady" – you are literally paying for your usage of the product. It's not like they're making you pay for something you're not using (which is when I would start to call something "shady").
Why x++ was slower than ++x in the original C compiler maybe (and occasionally still when used inside another expression, but quite rarely these days on modern architectures and optimizing compilers).

Regardless, I much prefer to write ++x Because (a) I pronounce it “increase x” and I haven’t found a concise way to say “x’s current value but it is increased afterwards”. And (b) all other unary operators are prefix - easier to reason uniformly about things like order of evaluation.

In some contexts postfix is simpler - e.g. a memcpy-like implementation

while (n—-) *t++ = *s++;

However, they are not very common in my experience.
The moral of the story is; host your own stuff on your own server and stop giving Ghost, Medium, WordPress, Facebook, Twitter... etc. etc. the power to decide what gets published on the internet.
I think the thing in the middle is taking to Twitter to complain immediately, rather than giving the company time to respond. One piece of advice constantly given to people who run businesses is to delete/remove/get rid of problem customers. In this case the CEO has decided - rightly or wrongly - that this customer is likely to be more trouble than they are worth. So the CEO has refunded his money and terminated the service.

What's wrong is simply deleting the data/site. All the data should have been returned to the (now ex-)customer.

> ...please don't run a service for public usage.

I run multiple services, and I expect people to give me a chance to resolve problems before taking to Twitter. If they don't then I contact them to express my disappointment that they haven't done so, and then I have, on occasion, refunded people, returned their data, and terminated their service.

Admittedly my communities aren't the public in general, but I do have some relevant experience.

Comments here are clearly divided, and it gives me pause to consider how many people are commenting as those who have, and those who have never, had to deal with customers.
I assume the parent means native support for vertical tabs in the browser as opposed to through a third party extension.
That's fair, but I also think the CEO unsubscribing him and revoking his access in the way that he did was a dick move.
I think OP comes across as a bit of an asshole. They send a fairly confrontational email and didn't even wait for a response before taking their dirty laundry to Twitter.

I disagree with Ghost taking down the site without more discussion, but I do think their original practice of giving the user the benefit of the doubt and allowing the use of upgraded features without upfront payment to be generally good. I think OP's complaint could probably be addressed through the UI (though I don't know what that looks like presently).
Neat. It's interesting that they've chosen just plain braces to denote the argument insertion; i.e: "text {value}" rather than something like "text ${value}" which seems to be what most languages use. I guess there must be a way to escape it if you just want braces in your string.
> Where swathes of employees are let go when a company underperforms, but no-one is held accountable for making the strategic blunders that got them there.

Execs should have more Skin in the Game. But it is also a fact that the higher you go in the hierarchy, the riskier your job gets. You get fired easier, in shorter amounts of time and sometimes just for backstabbing/political reasons. The average tenure of execs has gotten shorter and shorter over the last decades. Finding a new job is also considerably harder, as the market size gets smaller and smaller the higher you go in the pyramid.

There are bad and questionable reasons why compensations are high, but also some good and reasonable ones. If markets seem irrational, chances are good you don’t fully understand them.
In many alternative scenarios you hit a sudden spike in traffic that could make your business thousands and the hosting company starts blocking people from accessing your site because you exceeded the quota.

7 day notice of upgrading seems much more reasonable in that case
Just make a browser that supports the bare minimum. DRM, web USB, all that bullshit. Leave it to Google. Yes, people will use flock to Chrome for Netflix, but don't confuse Netflix with The (open) Internet.
There’s a world of difference between the two cases, though. There’s a fairly wide line between a first complaint about your business practices and a customer who’s an actual drain on your business and distracts from your business plan.
I would say both are priorities, govt efforts can't be in sequential priority.

what about villages that already have access to water, should they wait for other things until all villages catchup ?

imagine access to youtube & vast knowledge, may be it will spur the commom folk to take matter into their own hands and improve their lives.
Agreed, a complaint is a gift can help you in so many ways. Often better than never knowing why a customer just upped and left.
>For almost any non-profit maintaining their new donations for the same level for 5 years would be considered good performance

Donations are barely a factor here, it is not a meaningful part of their revenue.

As you say, one year of steady revenue would cause a significant shakeup in a company. By year three, things would look fairly dire. Mozilla has already tried a number of other options, and are in the middle of a management change. Eventually this becomes the only choice
need to add to their TOS:

“if we think you are a dick we reserve the right to make emotionally overreactive decisions like canceling and refunding your account”

also, to OP.. maybe try being nicer ?
> Computing intensive, no. Code that is doing a CPU intensive computation but makes no system calls will never release the GIL.

Any code that does not involve Python objects can release the GIL, no matter whether it makes system call or not.

For example, NumPy the most popular scientific computation package in Python, on which many other popular packages like Pandas are based, releases the GIL when doing operation on matrix. This is documented at https://numpy.org/doc/stable/reference/internals.code-explan...:

> If NPY_ALLOW_THREADS is defined during compilation, then as long as no object arrays are involved, the Python Global Interpreter Lock (GIL) is released prior to calling the loops. It is re-acquired if necessary to handle error conditions.

To do so it uses the same macro used by the socket module when doing system calls: https://github.com/numpy/numpy/blob/18a6e3e505ee416ddfc617f3...
>and you likely hold views that are essentially the same from another viewpoint on another issue

Such as? I'm pretty sure I don't oppose anyone's fundamental human rights.

Would you say the same thing about racism? I.e., I should be prepared to work with a racist coworker because I myself probably hold equally despicable views on some other topic.
Uhmm.. mostly because the value an employee(CEO or not) brings to a business is already a probability function with variables(one of them simply being time and it's impact a unknown) and different expected values. If we believe that result-oriented rewarding is practiced, it's questionable that it can be estimated how much of an impact CEO can have and how it can be 200x of other employee. Infact, the reverse question of why pay a CEO a high salary should be the more common question, rather than why not.

-- I am skipping unknown unknowns for now, but you use your imagination.
May be it is something small as dividing the width by 2 and setting a lower milliseconds value for the setinterval so it runs the checks more often.

Essentially this is the same solution as in the post, just stripped down to the bare minimum of code, but I haven't tested it enough. There must be some edge case that it fails on
Not just politically difficult, it's also generally unwise. In the event of deteriorating relationships, you'll suddenly lose access to what you've been funding, because the US would declare it "a matter of national security" and outlaw the export. You can still work with the sources you have, but it'd be hard to keep it running smoothly. Much better to not have that risk if you're going to spend billions on it.
I have basic notetaking needs and I use Google Keep. Here are the major things I note down:

- blog post ideas

- book ideas

- drafts or text fragments of blog posts or other writings I'm working on

- people or company names, phone numbers, or addresses

- to do items

- things to remember from phone calls

- grocery lists

- links to interesting articles or online resources (I use Google Keep also as a read later or web clipper tool)

To me the key benefit of a notetaking app or process is permanently storing ideas or other information I'd otherwise forget if not recorded immediately.
He was paying and he was not complaining about having to pay.
So DevOps then?