News for hackers. Stuff that matters.

amirkdv

> forces the other players to reduce their prices or shed customers.

Excpet they revert back to old prices once the competition is dead. This is textbook predatory pricing.

> It's not like Bell, in this case, were offering 1Gbps for something absurdly below cost, like $1/mo or something just to drive the new comer out of business.

What's the significance of "absurdly below cost" here? They are doing exactly what you describe except the exact number here is not 1 but 50.

(1) Real Mathematical Analysis, by Charles Pugh is a wonderful introduction to pure mathematics for a mathematically inclined engineer. The back cover starts like this

> Was plane geometry your favourite math course in high school? Did you like proving theorems? Are you sick of memorising integrals?

(2) The Man Who Mistook His Wife for a Hat, by Oliver Sacks. I think it's impossible to read this (or a number of other works of Sacks') and not be mesmerized by the workings of the human brain. Disclaimer: I wouldn't call neuroscience my "field of study" even though I did study it.

Re:Automated Genome Assembly on Sunday March 27, 2022 @01:58PM (#30822389)
Yup. Great article overall until the bit you quoted.

Sure, it has the _potential_ to transform personal genomics, but the (insanely cool) T2T project is indeed almost exclusively an academic one.

Maybe I'm too cynical, but I think academics are wired to automatically produce such declarations of Greater Societal Impact simply because of how we, as a society, have decided to allocate resources for scientific research.

Re:Ask HN: Why isn't there a Google competitor emerging? on Sunday March 27, 2022 @01:41PM (#30822225)
I've heard this a lot. I think there are two problems with this. First, you need massive adoption for the "social" part to be at all useful, hence only the few big social platforms can even try it. Second, even at maximum possible adoption, you'll probably run into the problem that actual human social networks have nowhere near enough branching breadth to help rank the behemoth that the web is today, i.e. for most queries and most possible hits, there's not enough signal coming from the social network.
Re:Ask HN: Why isn't there a Google competitor emerging? on Sunday March 27, 2022 @01:35PM (#30822162)
It's not ridiculous at all.

> They stop using it if the results are poor.

These are not laws of nature. There are so many reasons why most people would still use $X even if the performance of $X was underwhelming.

Re:How did Europe become the richest part of the world? on Sunday March 20, 2022 @10:58AM (#30743147)
The document you shared is a great example of the education system acting as a vessel for inculcating children with sterile, polite thoughts. I can imagine the room full of well-meaning adults who think they must protect children from dangerous ideas like racial superiority and end up building an edifice of useless ideas.

Maybe we shouldn't even try to explain such an overwhelmingly complex topic like "development of civilization" in grade 4? A charged topic where reasonable sounding yet deeply flawed ideas are known to dupe entire generations of adults.

Alas, our education culture still prefers a feeding tube of narratives over an actual education that equips children with a robust understanding of basics (history, economics, ...) and the ability to question content in front of them. The same sadly applies to science education I think, but with less dramatic effect.

Re:What You Can't Say (2004) on Wednesday March 16, 2022 @06:30PM (#30704971)
A lot of morality is of course fashion (and "relative", if you want).

But failure to articulate universal moral rules concisely, doesn't mean there's no concensus.

Circumstances and relevant context can be very complicated and laborious to describe, but there are still many cases where overwhelming majority of people would agree on what's right and what's wrong.

Re:What You Can't Say (2004) on Wednesday March 16, 2022 @03:21PM (#30702843)
> Such obviously false statements might be treated as jokes, or at worst as evidence of insanity, but they are not likely to make anyone mad. The statements that make people mad are the ones they worry might be believed.

There's some truth to this that's worth pausing on.

But it's a fallacy (probably with a fancy name) to say "it made you mad therefore you worry it's true".

A statement could be false yet incite anger because it's demonstrably harmful.

Re:Don't ask to ask, just ask (2019) on Friday March 11, 2022 @10:24AM (#30640999)
> Asking "Any Java experts around?" takes little effort

which is precisely why this is annoying: it's asking for a social commitment without putting any effort in. It also reaches for the top shelf for no reason. Does the person's question really need a Java "expert"? Probably not.

> A "no" response for the first question could save you from wasting your time with the second.

Arguably if they were to find help _anywhere_ they would benefit from articulating their question in a clear and concise way. Let alone the high probability that through writing the question they might answer their own question, because we're all humans.

Re:Ask HN: Best Gmail Alternative? on Sunday February 20, 2022 @02:28PM (#30408495)
I've been a happy FastMail customer for 8 years now. Migration from Gmail was a breeze too!

The only feature I've missed in all this time is schedule-send which they seem to have indefinitely put on their backlog.

Re:Ask HN: Leaving to work on my own. Tips? on Friday February 18, 2022 @01:49PM (#30389555)
OP listen to this.

And go read So Good They Can't Ignore You by Cal Newport. You'll see stories of people in situations very similar to you.

Source: I rebeled in my early 20s for a more meaningful life before I had enough career capital to spend and learned a lot of lessons the hard way. My saving grace was that I already had a degree and was demonstrably good (i.e. employable) at a couple of things.

CLRS is the text, but for a more gentle introduction see Grokking Algorithms.
> Natural selection is what stops DNA from becoming non-functional [...] Over the extremely long run regions of the genome that have no biological function should disappear, no?

If you have a sequence that's neutrally mutating with no corrective pressure it won't eventually disappear. At most it'll mutate into something unrecognizable [^1]

For example, your genome is littered with pseudogenes. These are mutated, ineffective shadows of what used to be a functioning gene. Nonetheless they're still close enough to what they used to be that you could reason about them in an evolutionary sense, eg: this one is also a pseudogene in other primates (i.e. it stopped mattering a long time ago), or this other one has a functioning homolog in non-primate vertebrates (i.e. it kept functioning in that lineage).

[^1] as a first order approximation. There are of course other structural events that can create much more change per event than your run of the mill single-point mutations that occur during every DNA replication.

> as we have more and more interdisciplinary scientists jumping in at the interdisciplinary level, we're already in an era where diletanttery (especially in trendy science mashups like biophysics) is high

Once heard a bioinformatics (CS) PhD candidate say "natural selection would remove a region of the genome if it didn't have biological function". They graduated with a thesis having to do with genome evolution.

Re:Elizabeth Holmes found guilty on Tuesday January 04, 2022 @01:21AM (#29791995)
Except for PCR has been around for decades and its basic principles are taught in first year molecular biology courses.

Whereas Theranos' newfangled secret "innovation" was ... well, a secret throughout.

(Not grandparent commenter) I think you're usually right but I doubt it makes a difference at the scale of 2-5 objects created in a test case. The big game changers IME are in-memory dbs (SQLite) or parallel execution of tests.

This idea of "transaction rollback in test teardown because performance" has a life of its own. The recommended base class for django unit tests (informally recommended, via code comments, not actual docs) uses transaction rollbacks instead of table truncation [0].

On top of this, I think, db truncation gets mixed up with table truncation sometimes too. For example, from OP:

> The time taken to clean the database is usually proportional to the number of tables

... only if you're truncating the whole db and re-initializing the schema, no?

And people sometimes actually do clear the whole db between tests! One unfortunate reason being functionally necessary data migrations that are mixed up with schema-producing migrations, meaning truncating tables doesn't take you back to "zero".

[0]: https://docs.djangoproject.com/en/2.2/_modules/django/test/t...

Re:Attrs – the Python library everyone needs (2016) on Saturday December 25, 2021 @12:29AM (#29680759)
There's good discussion in this thread about when and why to use attrs, pydantic, or stdlib dataclasses; I have my own thoughts too.

But all I can really feel is gratitude for all of us not having to do namedtuple/slot contortions anymore. Good riddance.

Re:Keep a Log on Friday December 03, 2021 @08:46PM (#29437879)
I love this! And have been doing something like this for years.

The zero-effort part is key in my IME: if it's not zero effort, it won't stick. And if it doesn't stick, you won't reap the nonlinear long term benefits. There's the obvious benefit of magically reaching into the past and remembering things. But the hidden power that surprised me was the day-to-day experience of clearing cognitive clutter by typing things out in a place that I trust won't get lost.

Shameless plug: two years ago I hacked together a little node script to give my pile of markdown files a more friendly UI than grep: it would pass them through pandoc and massage the DOM and slap a a bit of JS on it. I've been using it everyday since and it's become my favorite productivity hack. I'm currently in the process of rewriting that ole hack in Go to make it more stable and easy to distribute (and to learn Go!): https://github.com/amirkdv/codex

Re:A guide to organizing settings in Django on Friday November 12, 2021 @11:20AM (#29200932)
Having experimented with a bunch of different ways to organize complex django settings, I think what OP suggests is a local optimum that's hard to scale and doesn't solve a bunch of important problems (eg ok, credentials are now in local.py which is not committed to git. Now how do I get it to people's dev machines / CI?)

My key observation is this: If you're actually deploying and maintaining a django app you can't escape having quite a few environment variables that control different pieces of config. Once I accept that I can't shake these off, I'd rather minimize all other complexity, including having to reason about multiple settings modules that import/override each other in creative ways.

What I've settled on is:

1. Every thing controlled by env vars, not choice of settings module

2. the one and only settings.py toggles config based on env vars, say something like this:

    STORAGE_MODE = os.environ['STORAGE_MODE']
    
    STATICFILES_STORAGE = {
       'local': '...StaticFileStorage',
       's3': '...S3Boto3Storage'
    }[STORAGE_MODE]
EDIT: wording and typos
Re:Ask HN: How to Get Better at Finishing? on Tuesday November 09, 2021 @03:22PM (#29166951)
I used to struggle with this a lot. Here are a few things that have really helped me over the past decade:

1. This is incredibly common. Some of the most productive people you know probably struggle(d) with this. And this is important to keep in mind because if you think "there's something strange and unique wrong with me" your brain will dismiss standard insights and tools.

2. Dysfunctional perfectionism is a procrastination tactic. And procrastination is a standard human coping mechanism for anxiety. These are hard facts even if they don't _feel_ real. The source of anxiety for most knowledge workers with their baisc needs satisfied is often this: the grandiosity of unrealistic dreams that have calcified as expectations. This messes with your self-esteem too

3. Echoing vesuvianvenus's comment on this thread ('scale back the dream, scale up the grind'), this Tim Minchin commencement speech [0,1] has stayed with me for years.

> I never really had one of these big dreams. And so I advocate passionate dedication to the pursuit of short-term goals. Be micro-ambitious. Put your head down and work with pride on whatever is in front of you… you never know where you might end up. Just be aware that the next worthy pursuit will probably appear in your periphery.

[0]: https://genius.com/Tim-minchin-commencement-speech-and-unive...

[1]: https://youtube.com/watch?v=yoEezZD71sc

Re:Don’t do interviews, do discussions on Sunday November 07, 2021 @02:42PM (#29142745)
This so much. This would be on the syllabus of the missing Employment 101 course. Very few people I've seen try to evaluate the company as much as they're being evaluated.

We all grow up with the false, ingrained assumption that it's some sort of one-way privilege for you, the employee, to rent your time/body/mind to the employer.

Do you really think Facebook has a soft spot for Antifa? (whatever that amorphous "organization" is)

Tip: there's a toggle on the page where you can get the raw text of the document, then use ctrl+f.

> Just wait for antivaxers to hear 'DNA' and go wild.

Sure the already anti-vaccination crowd will have more reasons to be peeved and more talking points to scream about. But would it mean new people would turn against vaccines because they hear "DNA"?

It seems to me like the big divide in the general population is over people who are open to their conceptions of nature be challenged and corrected (this whole pandemic has been a mini science course for a lot of people: exponential growth, conditional probability, mRNAs, to name a few) and those who just are not. Any other pre-existing opinion/ideology ("I just don't do vaccines") is probably unaffected by technical details.

Re:YAML and Configuration Files on Saturday August 14, 2021 @04:44PM (#28183793)
> it becomes a pain once you start trying to use it like a DSL or templating language.

I like YAML and use it a lot. But I'd argue the fact that it even allows/encourages you to do such things with it is a design flaw that ultimately has kept it from Do One Thing Well.

Re:Software Engineering's Greatest Hits [video] on Saturday August 14, 2021 @04:40PM (#28183758)
> Lots of code metrics have been proposed ... But nothing works better than counting lines of code [with citations]

Here's an anecdoate, not to dispute the empirical finding.

I recently discovered McCabe (cyclomatic) complexity and found it remarkably good! In a tiny experiment, I ran it on a 50k Python code base with a threshold of 8, and the output almost exactly matched all of the already existing `FIXME: refactor this` comments. According to McCabe the threshold to look out for is 10.

---

p.s: if you write Python, you already probably have the mccabe package installed through flake8. Use it like so:

    $ python -m mccabe --min 8 foo.py
Re:Software Engineering's Greatest Hits [video] on Saturday August 14, 2021 @04:28PM (#28183692)
Did this actually lead to better error handling? I'd be worried that it leads to silent idioms of "catch-and-drop" to silence the Slack blow up
Re:YAML and Configuration Files on Saturday August 14, 2021 @04:10PM (#28183603)
> I think YAML is even worse as a serialization format than a configuration format.

This. I find YAML to be the least offensive option for configuration and one of the worst for serialization.

I might be misinformed, but I find it absurd that in 2021 we still don't have a default, universally available tool that supports the basic table stakes without headache:

1. core data types (number, string, etc)

2. lists, maps, and arbitrary nesting

3. comments

4. multiline strings

5. is acceptably readable

6. Just Works everywhere

YAML does get 1-5 right (specifically 3 and 4 that JSON doesn't and IMO better in 5). But then it adds a ton of complexity that has left us without a standard, safe, and sane parser implementation: anchors and references (& and *) , casting (via !!), custom data types (via !), loads of other things I don't understand.

> But, can humans do this? I think not;

> Even humans are only probably approximately correct.

Fair point. But how about this:

It's true that what John would do with the sentence is technically an "approximation" of what Alice would do because they have slightly different understandings of correct behavior. However, for humans to do what they do, they still do build an absolutely correct model of meaning in their mind wrt their (subjective) notion of correctness.

This may sound like an obtuse play with words but the point is that to even attempt to do the right kind of reasoning in NLU, you need a different framework than PAC. You can't for example approximate whether "during the Cold War" qualifies "was based in" or qualifies "an Eastern European country". You just need to decide. And once you decide, you have an absolute correct interpretation, not an approximate one.

EDIT: wording.

Re:Sci-Hub is fundraising on Saturday August 07, 2021 @07:13PM (#28102716)
Yup. They shouldn't exist. It's an outrage that they do.

They don't pay the reviewers. They charge the authors (who pay the ransom typically from taxpayer funded research grants), and they charge the readers, who are either the public or said academics again.

But the reason they do exist is that they have the monopoly on issuing the only acceptable currency that dictates the life and career of academics: publishing their work in "high impact" publications.

Older »