HN user

treesprite82

345 karma
Posts0
Comments170
View on HN
No posts found.

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.

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.

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.

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.

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.

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.

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.

...your response to which is to liken me to a dog while crying bully

Dog whistles are blown by humans. Arguably it implies the people you're trying to reach are dogs, but I don't think the analogy is intended to be taken that far.

I said nothing about the non-binary demographic-- you did that in trying to spin my comment into HR Thunderdome.

Following up "you used the wrong pronoun. Reddit posts identify as "they,"" with "As a wolf, I am deeply offended" doesn't exactly reassure me of honest intentions.

For convenience features advertised as requiring active driver supervision and not making the vehicle autonomous, I think it only really makes sense for the driver to be liable.

Similarly, if some airplane instrument is stated to require regular calibration to stay within acceptable error limits, I don't think the manufacturer would be liable if the instrument starts to drift when those calibrations are not carried out. Or if some crash-contributing decision is made based on assuming a higher accuracy than promised.

Something that just flies an aircraft straight and level is still an autopilot, so I don't think it's a totally inaccurate metaphor.

Ironically in these situations a more understated name would probably work better for PR. Headline of "Tesla on cruise control rear ends motorcycle on freeway, killing rider" gives a much stronger impression of it being the driver's fault.

But ask which is heavier, a goldfish or a whale, and it will tell you a goldfish. Or ask what Napoleon said about hamburgers, and it will say, “Hamburgers are the food of the gods.”

Both are answered correctly by GPT-3 on OpenAI Playground's default Q&A preset: https://i.imgur.com/ewpvhp9.png

Likely comes down to the instructions/examples given. The Q&A preset tells it to give factual answers and respond to trickery with "Unknown", whereas by default - since its training includes fiction material - it's not really wrong to make up some plausible answer to fictional questions like "Where does the wizard Uldywuld live?".

i.e. it has the ability to disregard nonsense and give factual answers (well, to a certain extent: https://i.imgur.com/sKO5inu.png) , but you have to specify that's what you want since by default it's more general than factual Q&A.

Note that I'm being intentionally reductive to argue that the net buscoquadnary threw around ML models and future-telling with sheep entrails also includes the scientific method.

I do also think that ML as a field progresses through the scientific method ("I theorise that this network with residual connections will converge faster, lets see if there's a significant difference") - but maybe not to the full extent it could.

Just trying two things at random and picking the one that makes some arbitrary metric go up, is not the scientific method. It’s gradient descent.

I'd say that's closer to evolutionary algorithms. GD finds (locally) the direction to tweak the weights to improve predictions on a given batch.

I mean basically that is what ML is, trying to predict the future

If being so reductive, that's also the scientific method. Form a model on some existing data, with the goal of it being predictive on new unseen data. Key is in favoring the more predictive models.

they called it magic, we call it math, but both seem to have about the same outcome

Find me some sheep entrails that can do this: https://imagen.research.google/

There's just something I can't describe with words about what it lacks today - where it's possibly more philosophical than technical

My personal viewpoint is that there's nothing inherently special about biological intelligence that can't theoretically be reproduced with electronics, but that today's AI has some practical limitations like no significant persistent internal state. I saw an "Inner Monologue" paper by Google Robotics recently which could be a step in the right direction.

Humans for example operate within the universal set and within all dimensions we can percieve.

Our brain's direct output is electrical signals to a set of muscles. I don't think there's anything in particular stopping a physical robot from having similar generality of operating space.

Even in todays state of the art if we gave robots all the sensors that we have they still couldn't evolve with their environment like we could

Ability to evolve seems mostly orthogonal to intelligence to me. If humans instead came about by an intelligent creator or gradient descent, wouldn't we still be intelligent? AI adapting to the environment through gradient descent or self-modification should be fine and faster than evolution.

or invent fire like we would with current algorithm or neural nets. They would just keep doing whatever they're programmed to do within their set of "stuff" for lack of a better term

In virtual environments, neural networks have adapted to changes and learned new strategies, even those not intended by the creators. [0]

[0] https://www.youtube.com/watch?v=kopoLzvh5jY

based on all the data it's seen before?

it's closer to another virtual layer on top of the ever growing virtual layers

I'd claim similar can be said for us. Don't forget to count the billions of years of evolution through which we've been adjusting to the environment.

At least with our brains we can adapt and learn any task that has never been encountered before

Modern language models can, to a certain degree, follow novel instructions.

Or if there's some indication of success/progress, it can learn from that.

[Video @ 21:50] I don't know about you, I put my car in reverse and if it gets too close to something it beeps because it's aware of its surroundings, right? Does that make my car self-aware?

I wouldn't call sensing the external environment "self-awareness" even for humans - it's more about ability to inwardly inspect our own thoughts and have an internal model of ourself. If you take some entity with a train of thought and then you give it that ability, I'd probably say you gave it self-awareness.

[Video @ 25:18] Computers are constrained by something called the Church-Turing thesis, which says anything you can do on a computer of today or a computer of the future could be done on Alan Turing's original 1938 Turing machine

Now today's computers can do things millions billions of times as fast.

A Turing machine is an abstract model of computation with infinite time and memory. Maybe nitpicking, but I feel it's being talked about here as if it were some real physical machine.

[Video @ 26:35] You have an algorithm on your shampoo, right? "Wet, apply shampoo, lather, rinse, repeat". Unfortunately if a computer was looking at this what would happen? You would wash your hair forever wouldn't you? Because it doesn't say "rinse once", it says "rinse, repeat".

[Article] The computer will not do anything that departs from its programming. That’s a human specialty.

I think there's conflation between instructions given to some agent and its low-level underlying programming (floating point math, or chemical interactions for us).

Modern AI would likely be capable of using context and understand the intended meaning of the video's given examples, or disobey a given instruction.

[Video @ 28:50] The first one he did is something called the Turing halting problem.

You can't correctly answer a question like "What won't you answer this question with?" - halting problem is effectively this. Less a limitation specific to computation, more about showing that some tasks are sufficiently non-trivial to embed this kind of paradox so can't be solved in all instances.

[Video @ 30:58] Imagine trying to explain your experience to a man who has been blind since birth. [...] but duplicating the experience that you're having, the simple experience of seeing green, is not possible to describe to the blind man to the point where he can experience it also

Could probably build up the concept and associations of green in his head, but the visualization part is going to be limited by neural pathways in/between visual cortex not being properly formed without having received signals from the eyes. Sufficiently advanced future neurosurgeon could make someone experience green without actually having seen green, I'd bet.

[Video @ 31:24] Now if we can't explain it to a blind man then how are we ever going to write a computer program to have qualia? And the answer is we won't.

Consider a text-based agent that can reason and introspect. How would it describe the tokens of text that it receives? I reckon similar to how we consider qualia - seemingly irreducible inputs that are hard to explain in terms of anything else.

[Video @ 31:48] Understanding is something that computers will never do. This was established a long time ago by [Chinese room example], but does the person inside the room understand Chinese? No, he is exercising an algorithm.

I think one problem with the thought experiment is that people imagine the person in the room's procedure to be relatively tractable - like replacing English characters with a couple sets of intermediate characters, and then finally to Chinese.

While you can translate Chinese just with look-ups and writing symbols (with unbounded time/memory), to do so at a human-Chinese-speaker level would currently (until machine translation improves) involve using symbols to simulate arithmetic, to simulate quantum field theory, to simulate chemical interactions, to simulate a Chinese speaker's head.

I personally believe the answer of whether the system as a whole understands Chinese at that point has to be "yes", but at the very least it's not a clear "no".

[Video @ 35:58] Rather I like the proposal made by Selmer Bringsjord called the Lovelace Test for strong AI. That is as follows: "Strong (or General) AI will be demonstrated when a machine's performance is beyond the explanation of its creator"

This was originally proposed in 2001, and I feel since then it has been accomplished by deep learning. Leaps in performance that take theory a while to catch up and understand what it's actually doing, agents that cheat games in unintended ways not previously thought possible, or unexpected generalization ability to novel tasks.

I think this definition of strong AI is generally too lenient. Although in the opposite direction, given this is a Christian conference and beliefs on God's omniscience, it doesn't seem like they'd consider humans to meet the bar.

[Video @ 37:12] All computer programs have done what they were designed to do.

That would make my job a lot easier!

[Video @ 37:30] Can AI create music? No it can't create music, do you know what a typical scenario of creating music is? Say you want to have a computer program AI generate baroque music, what do you do? You feed it a bunch of musical scores which were written by Bach. What's it going to generate? It's going to generate a musical score which sounds like Bach. It's not going to generate Wagner's music or Schoenberg's music or any of the more modern music, it's only going to generate things that sound like Bach, it just does the interpolation. So again it's this idea of interpolation, that we have. So no a computer cannot create music.

On sufficiently high dimensional data like music, novel examples are essentially always going to be extrapolation. If there's acceptance that it can learn from pieces of music and produce new pieces, with ability to vary similarity to existing piece distribution, then I don't see the objection to it not being able to do the same with musical styles.

[Video @ 41:16] [...] totally splits the brain. Now if this is true, shouldn't we end up with a split personality after it was over if the mind was the same as the brain?

By materialism there'll be no direct communication between the halves of a split brain, and that's what's observed. It doesn't imply anything about whether both halves of the brain have the capability to develop personality traits, or that they'll noticeably diverge even given roughly the same experiences.

Default behavior being for a single mouse button to paste and run (if it contains newlines) whatever's on the clipboard always seems dangerous to me. Beyond the accidental mistakes, I bet a website could catch a lot of people out about not checking in a text editor if it presented an innocuous command then swapped it out (with JS or tiny invisible text) for something nefarious when copied.

The absurdity of Microsoft and OpenAI’s legal justification for GitHub Copilot.

Note 1: See Comment Regarding Request for Comments on Intellectual Property Protection for Artificial Intelligence Innovation (application/pdf) submitted by OpenAI to the USPTO

With where I predict the author is heading, I'll point out that that this document clarifies:

> We do not claim that AI systems are invariably beneficial or non-infringing. Rather, we address the narrow question of whether training AI systems on copyrighted data constitutes copyright infringement.

> Generative AI systems might generate output media that infringes on existing copyrighted works. We think that this is an unlikely accidental outcome of well-constructed generative AI systems, though it remains possible due to overfitting or developers’ intentions.

----

It contains a screen recording of Copilot suggesting this Quake code.

I'd call the fast inverse square root algorithm "folk code", passed down and altered multiple times before being misattributed to Carmack. It appears in many repos, often with permissive licenses like WTFPL. I don't think it's generated by Copilot anymore, after steps to prevent exact regurgitations.

As a challenge, since I see the same one example used so much, I'd be interested to see if there are any examples of:

1. With the public version of Github Copilot, not opting out of any protections...

2. Using a prompt that could be entered incidentally...

3. Generate code of problematic length and similarity to existing code...

4. Which is not (even ostensibly) under a license allowing such copying

This tests whether Copilot would be an issue for someone using it earnestly. Whether it could be used to intentionally generate protected code is another question.

Elaboration/reasoning:

1. To allow corroboration and demonstrate that it's an issue on the service being sold commercially. My understanding is that Copilot is deterministic

2. As opposed to, say, intentionally copying 90% of a source file and having it complete the last function. The prompt code appearing in other unrelated repos would be sufficient to show this

3. Doesn't have to be an exact regurgitation, but I think it should at least by unambiguous that the given code is what's being copied

4. Most licenses require at least attribution. "even ostensibly": someone might share code under public domain without permission to do so, but here even an honest human could make the same mistake of copying it

A school day ending at 2pm already has this issue - this just splits it between the start and end of the day. For some parents that may be better, for some it may be worse. There's also the possibility for before-school activities or in-school breakfast.

So it shouldn't matter.

It definitely does matter that any secrets generated were already public:

* Emitting secrets from private repos would be a huge confidentiality issue (though really you shouldn't commit code secrets to git at all), as it'd be taking something that's private + exploitable and making it public

* Emitting secrets that are already public doesn't cause the confidentiality issue. Once a secret is out, it's out, and should be changed immediately. By the time it's in Copilot's training set, it'll have already been on search engines/archive sites/black-hat forums/etc.

Tangentially, GitHub do also do some scanning to alert of accidentally committed secrets in repos: https://docs.github.com/en/code-security/secret-scanning/abo...

2. Already public unintentionally.

Right, but therefore already compromised and no longer confidential. Copilot isn't leaking any secrets, someone else did by making them public.

AFAIK, any code that I produce is automatically copyrighted to me. This means if I write something in public and not provide a license, IT IS LEGALLY under the copyright protection provided to me by my country. At least that is the case in US and India which are home to a huge portion of OSS.

Essentially correct, to my understanding. If you're making it public, you'll generally also give some hosting/publishing/distribution rights to the services involved - as specified by their T&C.

Reproducing it and remixing my work would be illegal

The US has the concept of fair use which provides exceptions for "transformative” purposes. For example: copying and downscaling your image to use as a thumbnail, caching the webpage your work is on, or creating a parody of your work.

Consider Google Books for example, where Google scanned millions of copyrighted books and made them searchable (showing snippets). This was ruled fair use due to being transformative.

Question would be whether code generated by Copilot that falls under this. Ultimately it's up to the courts to decide, but I'd lean in favor of "yes".

The PII and secrets is enough to find out the license of a repo which would make it easier to prove whether they violated it or not. Don't tell me all OSS that copilot has trained on is only public domain stuff. Even ISC license needs attribution.

Fair use is about unlicensed usage, so if it's fair use then it doesn't need to abide by the terms of the licenses. Even if it's ruled not to be fair use, I think they could still train it on GitHub-hosted code due to the mentioned rights you give them by agreeing to GitHub's T&C.

How does that change anything I mentioned? Very curious.

Changes your claim of impossibility, so now it's just about whether there's a violation.

What's described as impossible is "[keeping the license] attached to each chunk of code as it wends its way through the model".

Checking generated code for similarity against training set is possible, and is now done by both Copilot and CodeWhisperer. But it'll include code that just happens to be similar, even if that code had no influence on what the model generated.

There was many personally identifying information leaks when it initially launched

The aforementioned PII and secrets emitted

It's not trained on private GitHub repos. Any secrets it generated would have been already public and compromised.

Which suggests that they snooped through OSS code and violated any licenses

That it was trained on FOSS code is already known. Whether doing so violates the licenses is probably up for courts to decide.

An AI just scrapes the code in mass scale which is impossible for a human even with automation

Human programmers can do this with search engines.

How Imagen Works 4 years ago

Asking for two different images in a series that have similar "art styles" is going to be enough work to still need a specialist aka an artist

Running a separate style transfer network on the generated images is currently possible, although won't achieve the best possible results.

I wouldn't be surprised in the near future to see generation models that can take a text prompt and an image to mimic the style of, which could let it take style into account when generating the image rather than at just the surface level.

Do you recall/have a link to such examples? Would be interesting to try them again with the filter.

The example I can remember was Carmack's* quick square root - but I'd probably call that "folk code" given it was passed down/altered before being misattributed to the Quake dev, and appears in hundreds of Github repos (many with permissive licenses like WTFPL, so a well-intentioned human may do the same).