I got a good snicker out of the YAYAMLMLOLOL :D
Seems like it's tools calling tools all the way down heh
1,418 karma · joined December 17, 2022
I got a good snicker out of the YAYAMLMLOLOL :D
Seems like it's tools calling tools all the way down heh
You don't really have to parse the output, Python already has a parser in the form of the AST library[1].
But I get your drift. Depending on your workflow this could seem like more work.
For whatever reason the second I've solved a problem or fixed a bug, it basically autopurges from my memory when I start on the next thing.
I couldn't tell you the bugs I fixed this morning, let along the "groodilizer" I optimized 20 years ago.
Oh btw Jank is awesome and Jaeye is great guy, and also a game industry dev!
I've been pretty deeply into LLMs myself since 2023 and built several small models myself from scratch and (SFT) trained many more so it's not like I'm ignorant of how it works, I'm just not getting the workflow results.
Each course I took was accompanied shortly after by a significant increase in career, compensation, and understanding. Like anything else, it is what you make of it. All I can say is it was a very good experience for me.
One advantage you have over senior developers is that senior developers need to be generalists, you have the opportunity to go deep. It is entirely conceivable you could learn Postgres, JavaScript, or Python better than someone who has been programming in those languages daily for over a decade simply because they have a lot of other things to worry about. They can't read the manual cover to cover, no time. You can. Being a deep specialist in a technology has a lot of value.
If you find a programming community you love, start going to conferences as soon as possible. There are often financial opportunities available for new developers.
This is not going to happen overnight. In most cases to get proficient you can expect that working 3 hours a day, 3 days per week, it will take you about 3 years to reach a point where you might be employable -- although you will probably find you need to put in more time than that. But you can reach a point where it is enjoyable before then.
Good luck.
The easiest example would be something like wrapping a bunch of arithmetic operations with a "cumulative" monad. Effectively this changes your add, sub, mul, div functions such that instead of taking 2 floats and returning a float, they take a hashmap and return a hashmap. The hashmap consists of the original args as well as the cumulative total, for whatever reason. The details of the hashmap are hidden from you, you use the functions as per normal.
You could also make the wrapper monad have some state, and then batch the operations while making them appear to execute sequentially, or make it appear you are doing pure logic when I/O is happening under the hood.
While you can do monads in dynamic languages, it can be hard to reason about changes to the code without strong compiler support, so typically you see it more often implemented in statically typed languages.
In dynamic languages such as lisp you might be better off writing a small interpreter, and in OO languages there are other patterns that might serve the purpose better.
I still don't know what a monoid is though. Or an applicative.
More like GIR from Invader Zim.
Still, cool jailbreak.
[1]: https://i.kym-cdn.com/entries/icons/original/000/044/025/sho... (shoggoth image)
Finding a way to derive this from the gradients is amazing.
I think the reason is because the DOM is a leaky abstraction and at some level I would just prefer last write wins.
I realize declarative templating is supposed to handle that, but this starts to break down really quickly when you share mutable state between components.
Thank you!
Good video essay. Learned the origins of the term "cargo cult", and to my surprise, has nothing to do with rust...
This sentence from the paper makes me feel a little bad that I don't understand why this goal is obvious. I am not tracking why we are tracking pixels.
Is this basically a competing technology with YOLO[1] or SAM[2]?
[1]: https://en.m.wikipedia.org/wiki/You_Only_Look_Once
[2]: https://ai.meta.com/sam2/
Edit: added annotations, should've done that initially
Some of that is explainable but the pegasus, dude on the pegasus, and Dr Doom ... makes absolutely zero sense. I guess this is the rock opera version we never got. Maybe Dr Doom somehow sorta kinda was supposed to be Princess Kushana..?? I think the squid guy is a firewarrior, but so is the "sandworm" -- some kind of fever dream Ohm/Gorgon/Firewarrior mix. But why is a tiny adult fire warrior riding a baby giant fire warrior? lololol
I can only imagine the requirements gathering session that lead to this debacle.
Legendary.
[1]: https://i.pinimg.com/736x/00/fe/12/00fe121ffa3600cfb14bbbe1c...
Edit: Dear haters, I <3 <3 <3 Warriors of the Wind and all things Nausicaa, incl. the quirky cover. I even love your downvotes, it means you read this and cared enough to click the button, which hopefully means you are defending the cover. So I love you too!
Were there gaping narrative discontinuities...? Certainly.
But that 80s voice acting in the English dub... chef's kiss. The guy who voiced Milo("Asbel" in the movie) was the voice of Leonardo from Ninja Turtles and Kaneda from original dub of Akira!! (Cam Clark)
If I watch any version, I watch Warriors of the Wind. It really is the "Hollywood version" of Nausicaa.
Yeah, the newer one is better, but it doesn't hold a candle to the manga so give me that 80s synth and big hair voice acting any day.
Also I was like 5 when I saw it so nostalgia goggles.
I absolutely love that book. Maybe that's why I get a little cringey at the "AI" monicker for LLMs.
The fact that we were able to have this exchange was great. I appreciate your points and look forward to incorporating your work into mine!
I think the most misunderstood thing about Prolog (and Datalog, the functor-free subset of pure Prolog) is that the syntax is really, really important.
It's like, the whole gimmick of the language. It is designed to efficiently and elegantly query and transform itself. If you lose the syntax you lose all of intermediate and advanced Prolog (and Datalog).
Additionally, there is nothing stopping you from writing pure monotonic Prolog, which does not involve cuts and uses pure IO.
Circling back to DCGs, the combination of DCGs plus interpreters, which can be expressed in a handful of lines of code, allows for powerful language crafting.
While constraint solvers are not unique to Prolog, CS+DCG+MI is a killer combination I've only ever seen in Prolog that when combined allow you to solve some wicked problems rather elegantly.
That being said, thanks for the reminder about Mercury, that looks like it could come in handy on some Java-only projects.
This is DCG+CS only, still quite powerful and I have adapted it for GOAP and Hierarchical Task Networks quite successfully: https://www.metalevel.at/zurg/
Finally, I will agree with you that there is a LOT of jank Prolog, but not ALL Prolog is jank, and some Prolog is truly exquisite-- I hope you will keep an eye out for it.
Respectfully I would encourage you to consider this comment is confusing bad Prolog with all Prolog, and you are really missing out on some elegant and powerful concepts if you believe Prolog stops here.
I would love this to be an invitation for you to reevaluate modern Prolog and see what the language is really capable of.
I'll throw you right in the deep end with Prolog Definite Clause Grammars[1] and meta-interpreters[2].
There are a few things which are very special and magical to Prolog which are quite mind expanding. I hope you enjoy the resources.