Readit News logoReadit News
treesprite82 commented on Erg: a statically typed language that is Python compatible   github.com/erg-lang/erg... · Posted by u/ArdelleF
dexterlemmer · 3 years ago
> A couple of newlines to create a new paragraph is semantic whitespace, as one newline or a space would not do so. Markdown (although not HN's Markdownesque syntax) even has significant trailing whitespace, which I would object to in a programming language.

A code block is *not* the same as a paragraph. It is the same as a part/chapter/section/subsection/subsubsection. (Think about it.) In formal writing, these are practically always clearly indicated by not just semantic whitespace but also by semantic headers with particular semantic styling as well as semantic numbering. In addition, if you you write these programatically in for example Markdown or LaTeX, you might have semantic whitespace in the markup language but you definitely will have semantic non-whitespace symbols in the markup language.

Next Quote:

    for (i = 1; i < 11; ++i)
        printf("%d ", i);
        printf("%d ", i);
This has nothing to do with the lack of significant white space and everything to do with terrible language design. Here is the *only* valid way to write the above in Rust:

    for i in 1..11 {
        println!("{}", i);
    }
    println!("{}", i);
If you tried:

    for in in 1..11
        println!("{}", i);
        println!("{}", i);
you would get a compiler error because the braces are required around the bodies of all control- and loop structures. Also note that a common class of bugs is avoided in Rust because in Rust the loop condition is not in parenthesis. (Nor are the conditions in `if`s, etc.)

> Also, with Python appealing to new programmers, there'd probably otherwise be plenty of beginner code with no indentation at all.

Which is to say teaching methodology for coding sucks. While you shouldn't overwhelm a beginner with linting errors from a very pedantic linter (to put it mildly), not automatically linting all beginner code for some basic issues like incorrect white space and wEirD_caPS_in_OVERLY_LOOOOOOOONG_idENTIFIERS or `l` `o` `t` `s` `o2` `f` `s2` `h` `o3` `r` `t` `i` `d` `s3` (lots of short identifiers) is, IMHO, a really bad idea.

Furthermore, actually (at least in my experience tutoring C++/Java/C#), bad white space is actually not that common for beginners after the first few lessons. I guess that most humans are used to just automatically write and type semantic white space. Therefore if they see their teacher writing code with white space they'll not only use white space themselves but use it similarly.

On the other hand the identifier issues I've mentioned above are all more common, especially too short and obscure identifiers.

treesprite82 · 3 years ago
> A code block is not the same as a paragraph. [...]

Right, but for Markdown they're a difference in output despite the input \n\n being just whitespace, and for the final text they have semantic effect despite being just a gap between text. I don't think the argument was whether the particular semantic meaning of paragraphs exactly matches the semantic meaning of code blocks, just that they do have semantic meaning.

> This has nothing to do with the lack of significant white space and everything to do with terrible language design

It's a problem that illustrates how indentation indicates intent, and would be fixed by semantic whitespace. I agree that if a language is going to disregard whitespace, then {...} should be consistently required to partially make up for it.

> I guess that most humans are used to just automatically write and type semantic white space

My experience has been the opposite: looking over huge blocks of completely unindented VBA/MATLAB code written by people with little prior programming knowledge, and being thankful that data science is moving more towards Python. Likely a different crowd than those being actively tutored in C++.

But yeah there are bigger, often harder to automatically fix, issues with beginner code. PyCharm has PEP 8 lints by default for things like variable name conventions, which help but are still commonly ignored.

Deleted Comment

treesprite82 commented on John Carmack's new AGI company, Keen Technologies, has raised a $20M round   twitter.com/ID_AA_Carmack... · Posted by u/jasondavies
lagrange77 · 3 years ago
I'm not just imagining self-improvement in the sense, that it optimizes its design to become more efficient or powerful by a few percent. A system, that can 'think out of the box' may come up with some disruptive new ideas and designs.

Just a thought: Isn't lacking intellectual capacity, what keeps us from understanding, how the human brain actually works? Maybe an AGI will eventually understand it and will construct the next AGI generation with biological matter.

treesprite82 · 3 years ago
I think diminishing returns applies regardless of whether it's improving itself through optimization or breakthrough new ideas. There's only so much firepower you can squeeze out if everything else were to remain stagnant.

Like if all modern breakthroughs and disruptive new ideas in machine learning were sent back to the 70s, I don't think it'd make a huge difference when they'd still be severely hamstrung by hardware capabilities.

treesprite82 commented on I Went Viral in the Bad Way   newsletters.theatlantic.c... · Posted by u/andybak
treesprite82 · 3 years ago
I think the original article's chosen image plays well with unsettling/uncanny nature of current AI generated images, faces in particular.

Definitely disagree with claims of "it's never gonna look right" in the tweet chain - DALL-E 2/Imagen/Parti are already notably better than Midjourney in general. Visible flaws will continue to diminish and prices will drop.

> For these reasons, I don’t think I’ll be using Midjourney or any similar tool to illustrate my newsletter going forward

> [Header image from Getty]

Maybe I should complain about how multi-billion dollar companies utilizing aggressive intimidation tactics to collect fees, even for public domain images they have no claim over, are stealing work from developers at the independent Midjourney research lab.

treesprite82 commented on John Carmack's new AGI company, Keen Technologies, has raised a $20M round   twitter.com/ID_AA_Carmack... · Posted by u/jasondavies
lagrange77 · 3 years ago
From the point when an AGI is capable of constructing a slightly better version of itself and has the urge to do so, everything can happen very fast.
treesprite82 · 3 years ago
> capable of constructing a slightly better version of itself

With just self-improvement I think you hit diminishing returns, rather than an exponential explosion.

Say on the first pass it cleans up a bunch of low-hanging inefficiencies and improves itself 30%. Then on the second pass it has slightly more capacity to think with, but it also already did everything that was possible with the first 100% capacity - maybe it squeezes out another 5% or so improvement of itself.

Similar is already the case with chip design. Algorithms to design chips can then be ran on those improved chips, but this on its own doesn't give exponential growth.

To get around diminishing returns there has to be progress on many fronts. That'd mean negotiating DRC mining contracts, expediting construction of chip production factories, making breakthroughs in nanophysics, etc.

We probably will increasingly rely on AI for optimizing tasks like those and it'll contribute heavily to continued technological progress, but I don't personally see any specific turning point or runaway reaction stemming from just a self-improving AGI.

treesprite82 commented on Erg: a statically typed language that is Python compatible   github.com/erg-lang/erg... · Posted by u/ArdelleF
smt88 · 3 years ago
> separated the paragraphs in your post using semantic whitespace

That's not what "semantic" means.

In my post, the size of the whitespace was not semantic. I could have used one spaces, two spaces, tabs, or (as I did) a couple of newlines. All that matters is that there was any whitespace at all -- which is what most mainstream languages do.

In Python, the whitespace I chose would change the actual program.

To repeat: I do not want anything that is literally invisible to change my program. It's easy to glance at code and see "=" vs "==", but it's much harder to tell the difference between " " and " ".

treesprite82 · 3 years ago
> a couple of newlines

A couple of newlines to create a new paragraph is semantic whitespace, as one newline or a space would not do so. Markdown (although not HN's Markdownesque syntax) even has significant trailing whitespace, which I would object to in a programming language.

> it's much harder to tell the difference between " " and " ".

Can't think of any scenario where you'd need to.

If you do mix hard tabs with spaces for indentation, which would cause readability issues with other languages anyway, it'll fail to run and point out where.

I can empathize that significant whitespace sounds off-putting at first, but after biting the bullet I think it's definitely a net positive. Indentation indicates my intent yet most languages just ignore it. For example, consider this gotcha across multiple non-significant-whitespace C-like languages:

    for (i = 1; i < 11; ++i)
        printf("%d ", i);
        printf("%d ", i);
Or, alternatively, hunting down one misplaced closing bracket.

Also, with Python appealing to new programmers, there'd probably otherwise be plenty of beginner code with no indentation at all.

treesprite82 commented on An open letter to the Tesla fan who wants to run over a kid   theverge.com/2022/8/12/23... · Posted by u/codechicago277
treesprite82 · 3 years ago
> Don’t force a kid to walk in front of your 4,000-pound metal box traveling at god knows what speed

Some consolation, according to the tweet chain, is that it'll be at 5MPH and the child wouldn't be in front of the car (just on the sidewalk approaching the road). Still not sure the need to put an actual child at any risk when the car stopping for a dummy would prove the same point if not stronger.

treesprite82 commented on “It’s time for Apple to fix texting”   android.com/get-the-messa... · Posted by u/Fabricio20
nomel · 3 years ago
No, not for me. I'm seeing much darker on my phone:

On the page: #75d993

In the video: #58bf5d

From my iPhone (iOS 15.6): #317332

Edit: scratch that! Apparently I turned on “increase contrast” years ago.

treesprite82 · 3 years ago
Could you upload a screenshot from your phone? Searching images online I see plenty that roughly match the colors they're using on the video/website, but none as dark as your iPhone. Reference: https://i.imgur.com/PlGjjQg.png

Maybe a personalization option?

treesprite82 commented on Dusting “Attack” via Tornado Cash to Public Wallets   etherscan.io/txsInternal?... · Posted by u/martialg
verdverm · 3 years ago
Violating sanctions is breaking the law, isn't it?
treesprite82 · 3 years ago
The distinction they're drawing is between ignorance of the law (e.g: you take someone's phone because you didn't know stealing was illegal) and lack of knowledge/criminal intent relating to the act you committed (e.g: you take someone's phone because someone sold you a stolen phone and you were unaware).

Former is what "ignorance of the law is not a valid defence" applies to. Latter can be valid, and particularly in this case I'd find it hard to imagine that those affected by the dusting attack would be found guilty of violating sanctions.

treesprite82 commented on Dusting “Attack” via Tornado Cash to Public Wallets   etherscan.io/txsInternal?... · Posted by u/martialg
woodruffw · 3 years ago
Ignorance is not a crime, but it’s also not a defense.
treesprite82 · 3 years ago
No knowledge/criminal intent relating to the act can be a defense (other than for strict liability crimes like statutory rape), ignorance of the law is not.

u/treesprite82

KarmaCake day345March 9, 2020View Original