Hacker Newsnew | past | comments | ask | show | jobs | submit | ogogmad's commentslogin

That's an INCREDIBLY good point about synthetic training data. During model training, AI agents could pretty much start their own coding projects, based on AI-generated wish-lists of features, and verify progress on their own. This leads to limitless training data in the area of coding.

Coding might be cooked.


`forward_shuffle` is the (GROUP) INVERSE of `fisher_yates_shuffle`.

`mirror_shuffle` is the (GROUP) CONJUGATE of `fisher_yates_shuffle` by the cyclic permutation (n-1,n-2,...,1,0). In group theory, CONJUGATEs are like changes of coordinates. In the present application, they reverse the index labels.

The article said it, but it's worth distilling it.

PS: Oh, here's another link. Denote by "S!", or less formally, the factorial of a set S, to mean the set of permutations of S. Fisher-Yates is equivalent to a bijection between (S+1)! and S! × (S+1).


Maybe then the year of Linux (or OpenBSD?) on the desktop would finally arrive. Maybe anti-trust could get used. Maybe parts could get scrapped from data centres.

Interesting times they would be!


It's already here right now, unironically. There's no need for Windows for gaming now. I just build a new rig with a 7900 XTX and with Steam on Arch Linux everything just works with absolutely no hassle or thinking. This was the only value Windows still had and now that's over.

I broadly concur. These days, gaming is usually very easy on Linux.

Except: If I want to kill some time being chaotic in GTA:V Online, and do that in Linux, then that is forbidden. Single player mode works beautifully, but multiplayer is verboten.

(And I'm sure that there are other games that similarly feature very deliberate brokenness, but that's my example.)


This is the part where I just stick with console for specific titles, like the GTA franchise. I feel like Rockstar treats the PC as a second class citizen anyway.

I bought my PS5 Pro in anticipation of GTA 6 and the (hopefully) upcoming DragonQuest 12. May my prayers be answered.


Console doesn't work for anything but platformers. Competitive online gaming = PC (Aoe2, BF6, Dark and Darker, Swordai, MWO, The Finals, War Thunder, PS2 etc.).

144fps + Mouse + Keyboard is just superior.


I definitely get the appeal of running FPS and such on PC. I'm much more accurate with a mouse and keyboard combo over a controller, but I'm appealing to the strengths a console does have as well. I own both so I can change up my experience to whichever offers the best one for me.

There are still some pain points with Linux distros: With some, an upgrade can leave you unable to boot into a graphical login screen. This can also happen if you leave a Linux installation, like Manjaro, alone for a year and then do an update.

Never have I ever once had a problem after updating Arch Linux. I always had problems with Manjaro when I put it on my ex's computer because I thought it would be easier. Wrong. Stop using Manjaro. It's much lower quality than a serious distro.

The problem is you are exposing yourself to brain injury by trying to use Manjaro. Just Use Linux Mint.

Is it the best? No! Is it the most performant? NO! is it rock solid reliable out of the box? YES!

CachyOS and Fedora also looked tempting but bog standard linux mint is my powerhouse right now


That is a problem if you happen to have a nvidia GPU, and, as the article says, by nvidia forcing it, you will not be able to have that brand of customer gamer GPU anymore.

This pain point being a common thing is mostly specific to Manjaro. Much more stable experience on any of the major vanilla distros.

manjaro is arch under the hood and arch is supposed to be updated fairly frequently.

Linux isn’t much use if you can’t get hold of (non-locked-down) hardware to run it on

For now, such hardware is readily available. Every Walmart, for example, will have it. Amazon has it. Pcpartpicker lists numerous other places that you can buy it from.

FOSS is more divided than ever, which is an interesting situation given the timing when they should be a solid place for individuals to turn to against the centralization of control. It's quite convenient that so many petty little wars have broken out across the FOSS landscape at just the right time.

That might be a bit on the paranoid side. It could just be that it's far more profitable right now for companies to sell only to data centres. That way, they don't need to spend money on advertising, or share their revenues with third-party sellers.

I don't think SQL is "perfect" and I'm not sure it's rational to even be saying that. For instance, why is it that the syntax for an SQL query is "select A from B" when many SQL-inspired syntaxes have switched to something like "from B select A" to make it more compositional?

The relational model is pretty simple though. Pandas is an awful mess.


From-before-select has nothing to do with composition as far as I can think of? That’s to solve the auto-complete issue — put the table first so the column list can be filtered.

Things like allowing repeat clauses, compute select before where, etc are what solve for composition issues


Is that really how it should be judged? If I need to get data from state A to state B, SQL is the most elegant and efficient way to do it. If I need to modify the states, or break them up to optimize for memory, SQL is the easiest way to do it. It’s been around for over 50 years and no one’s come up with anything better.

And some very simple computations become much more cumbersome in SQL, e.g. Panda's df.diff() or df.cumsum() is much more awkward using window "functions".

Don't you think people would have figured it out by themselves the moment programmers started writing parsers? I'm not sure his contribution was particularly needed.

Lots of things get invented / discovered multiple times when it's in the air. But just because Newton (or Leibnitz) existed, doesn't mean Leibnitz (or Newton) were any less visionary.

For your very specific question: have a look at the sorry state of what's called 'regular expressions' many programming languages and libraries to see what programmers left loose can do. (Most of these 'regular expressions' add things like back-references etc that make matching their franken-'xpressions take exponential time in the worst case; but they neglect to put in stuff like intersection or complement of expressions, which are matchable in linear time.


Just checked after reading your comment. Surprisingly to me, AFAs (Alternating Finite Automatons) do let you introduce the Complement operation into Regex while preserving the O(mn) complexity of running NFAs.

That's really subtle, because deciding Regex universality (i.e. whether a regex accepts every input) is PSPACE-COMPLETE. And since NFAs make it efficient to decide whether a regex matches NO inputs, any attempts to combine NFAs with regex Complement would trip on a massive landmine.


Actually, I've now checked more thoroughly, and RE+complement matching is O(n^2 m), which is not that good.

See https://en.wikipedia.org/wiki/Regular_language#Closure_prope...

The complement of a regular language is a regular language, and for any given regular language we can check whether a string is a member of that language in O(length of the string) time.

Yes, depending on how you represent your regular language, the complement operator might not work play nicely with that representation. But eg it's fairly trivial for finite state machines or when matching via Brzozowski derivatives. See https://en.wikipedia.org/wiki/Brzozowski_derivative

See also https://github.com/google/redgrep

Regular languages have a bunch of closure properties. In practice, intersection and complement are really useful. So you can say things like:

[regular_expression_for_matching_email_addresses] & ![my_list_of_naughty_words]

Exercise for the reader: expand the expression above to allow the town of 'Scunthorpe'.


:/ Damn. That needs to cost 1000x less before people can try it on their own games.

That's an extrapolation to finish the entire game.

If limit your token count to a fraction of 2 billion tokens, you can try it on your own game, and of course have it complete a shorter fraction of the game.


I think most PL parsers use recursive descent, which doesn't require any formal language theory. That said, it's possible that formal language theory has enabled regular expressions to enter widespread use - first via theory; then to make tokenisers; then included in text editors; and then to make GREP.

You're going to have a very hard time parsing a language using recursive descent if you don't understand some formal language theory. Recursive descent algorithms have a lot of trouble with left-recursion, and can result in arbitrary backtracking if you're not careful, which can blow up memory and time. To fix left-recursion you need to rewrite your grammar, which means familiarity with formal language theory. To avoid backtracking you typically use an LL(N) or variations thereof, which once again require having a pretty good understanding of formal language theory.

Nah. Source: have done it without formal language theory. You can do most things by printf debugging and kludging.

(Left-recursion? Use a while loop! Mutable state is a pathway to many abilities functional programmers consider unnatural.)


You can definitely write parsers and lexers knowing just enough to be dangerous.

I remember being in the PHP culture where people wrote regex-based hacks instead of the character-at-a-time or token-at-a-time state machines or state machine + a stack kind of things which would be too slow in a language like that.

The less you know the faster you get in trouble when things get tough.


My statement was specific to recursive descent parsing.

But recursive descent parsing is implemented with functions operating on parser state. The whole point of it is that it's very easy to write a parser because the abstraction exactly matches to function calling in programming languages. So you can do the whole range of pl primitives too.

> Are they the _only_ flavour of curve that has a nice geometric group law?

For affine conics over the real numbers, the non-degenerate ones are ellipses (affine transform to complex unit circle), hyperbolas (affine transform to y=1/x and use the group law (x,y)(x',y')=(xx',yy')) and parabolas (affine transform to y=x^2 and use (x,y)(x',y')=(xx',yy')).

I was thinking about projective conics, but it turns out there are no algebraic group laws on those, because they're always ill-defined over an algebraically-closed field. Moreover, over the reals and other non-algebraically closed fields k, the definition of a "regular map" needs to consider points with coordinates taking values in the algebraic closure of k.


The following is one of my favourite submissions to HN: https://news.ycombinator.com/item?id=44083753

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: