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

As a dyslexic person with a higher education this hits really close to home. Not only should we not be surprised that a LLM would be good at answering tests like this, we should be excited that technology will finaly free us from being judged in this way. This is a patern that we have seen over and over again in tech, where machines can do something better than us, and eventually free us from having to worry about it. Before it was word processing, now it is accurate knowledge recall.


Very little on these tests is pure knowledge recall


It genuinly upsets me to see this kind of rubbish. I have otherwise happy and healthy people in my life, who I love ,who have been taken in by these conspiracy theories. I have seen them fall deeper and deeper into a pit of anxiety and mistrust of everything arround them. I have never felt more helpless. All you can do to argue aginst it is appeal to the very authority they are being convinced is evil...

I am not generally a violent person, but if I ever met the cynical people who put these kinds of productions together, I dont know what I would do.


I swapped to TalkTalk recently and have the same problem. All but the most obscure VPN sites are blocked. My guess is because using them is aginst TOS?


Have you checked that you've turned off any "parental controls". I believe by default, new connections come with a "family friendly" filter. And that includes VPN services, since (presumably by their logic) VPNs are the first thing a kid will download to get around this filter...


Why do people use Lua in a world where we have Python?


IMO, these are the main reasons;

1. Embeddability. You can create a game engine in a performant systems language like c++ and embed lua in it for the scripting.

2. Speed. The lua interpreter is much faster than python in general. When you throw luajit into the fix, they are not really comparable at all.

3. simplicity: lua is tiny. and one of the easier languages for non coders (game designers, artists) to get started with.

4. Effortless C interop. You can make lua bindings for anything written in c with minimal effort.

Now to this specific engine. lua has one of the simplest and most beloved game frameworks out there - Love2d. its almost a foundational game framework for so many people (like pygame in python, XNA etc), including yours truly. Its been a beginners choice for over a decade now. Grid is built on top of Love2d.

btw, just in case you are interested in a python game engine, you should try out Arcade. Its pretty feature rich and aimed at beginners.


To be clear: Python does have embeddability, but it is orders of magnitude more complicated to integrate.


Hehe, hence the word "embeddability" instead of "embeddable".


Oh yes. I used that word very precisely :D


I was half asleep when typing that comment, sorry. Too late do edit now. I meant to write:

"I believe that word was used very precisely"


To add to this, Lua has a thread-safe interpreter, which allows running multiple Lua threads in the same process. This contrasts with Python's GIL.


You could make the same 4 points about Pawn, I don't know why nobody uses it. Pawn has all of lua's strengths without any of its quirks and weaknesses.


Some reasons I might not use Pawn:

The only benchmarks I could find claims that it is significantly slower than Luajit. The official docs claim that the fastest implementation is available on fewer platforms than Luajit.

Regarding the lack of structs, the official docs say "pawn has no "struct"s, but it extends arrays so that it can mimic light-weight structures with arrays; as an example of those extensions, pawn supports array assignment and array indices can be assigned an individual "identify" (or "purpose") and even form a sub-array." but the manual's mentions of array assignment make it seem like that's just memcpy. One could imagine having bullet objects and declaring BULLET_X=0, BULLET_Y=1, BULLET_SPRITE_IDX=2, and so on, just so that when one has a bullet object and they would like to draw it at the right location they could avoid writing draw(b[2], b[0], b[1]). Having an array of untyped cells and memcpy isn't really the same as having a struct with named members. Please correct me if I'm wrong.

A lot of useful patterns become less possible when one does not have a map or set type and when one does not have coroutines. It seems like instead of coroutines Pawn includes a syntactic sugar for a switch statement that depends on a single global state variable, in which the cases can be declared like functions. This is interesting but not particularly helpful. Why can one not have multiple different state machines, multiple instances of a state machine, and so on?


Because Lua is much simpler than Python, but not in a way that makes it less powerful. You can grasp the entirety of Lua in your head, with all its semantics and behaviour, which is less easily done with Python (in my opinion).


LuaJIT is much faster than Python, directly interfaces with C, incredibly small,and the language itself is very simple. This is also built on top of LOVE2D which is written in Lua and is arguably one of the best game frameworks out there.


just a minor nitpick: LOVE2D is written in C++ :-)


Seriously asking or just trolling? This statement could be made for almost any language. Why did we start with Python when there was Perl? Why did we start with Perl when we could use shell and awk? Why did we start writing something like awk when we could just have dedicated C programs? Why C when we had BCPL/Algol? Why Algol when we had... okay, granted, there's a limit.

Regarding the specifics: Lua is very simple, you can keep the whole language in your head easily, the table mechanism is very powerful, and the whole thing is easy to embed. Which is why it was used in commercial games and thus is industry/genre-relevant.


Does Python have any good game engines? PyGame project is a nightmare.

Lua's https://love2d.org/ is amazing.


Grid appears to be based on LOVE: https://www.planimeter.org/grid-sdk/api/Game_Loop


They are not comparable with Pygame, but easier for beginners:

https://pygame-zero.readthedocs.io

https://github.com/mjbrusso/game2dboard

Disclosure: I am the author of game2dboard


I recently found https://arcade.academy/ Haven't used it myself but it looks feature rich and has an active community.


Arcade is pretty nice. It's what pygame should be, at least in terms of installability.

https://arcade.academy/


I'm curious as to what you found nightmareish about Pygame... It's SDL.


Years of being extremely difficult to run on a Mac (no pip install), horrible website update (the old one was bad, but at least it was cool & functional), and on-going issues like this: https://github.com/pygame/pygame/issues/555

There's not even a note on the website that it's entirely broken in Mojave. It's just _always_ something.

Compared to LOVE and numerous other projects which just worked right out of the box. I'm a total Python guy, but Pygame has always been frustrating.


Fair enough. Though I have similar complaints about other packages on mac (Python and Ruby MySQL packages being good examples.)


Lua has significantly better performance than Python, but the big reason is that Lua has a very nice C/C++ API that makes it easy to integrate with other programs. Combined with a 20k LoC source code, and you have a programming language that is cheap and easy to embed, fast, and simple. Batteries are not included, so it’s very light weight.


I'm constantly asking a similar question: Why do people use Python in a world in which we have Lua.

Never gotten a satisfactory answer.


Ease of embedding has been pointed out.

Another reason for using Lua in games is that its garbage collection strategy is well-suited for the task.

Python uses reference counting (which has a predictable performance profile but can lead to long pauses if a large object graph is deallocated at once) and stop-the-world GC for reference cycles.


Have you ever tried to embed a python interpreter?

Lua is both easier to embed and allows you to have a strict interface. Look up the history of bastion/rexec in Python - with python there's no possibility of controlling untrusted code.


I liked the speed and the power of tables. It's also an incredibly simple language. I learned the ins and outs in a couple of days and was able to get right to work on making a game. Almost never did I have to reference documentation after that--it all fit in my head without even really trying to memorize it. Python, on the other hand, has loads of features, but that results in me often looking up the right way to do something since there are so many layers to it. What Lua provides is rather bare, yet powerful and incredibly easy to jump right into.


Lua is very easy to parse fast in a way python isn’t. It makes it adaptable to embedding, JIT and other optimizations.

The cost is a less elegant syntax. I understand a lot of folks hate working with Lua, but it fits a certain niche.


Hi Kataphract,

Much like many people turn to Python for scientific scripting, for example, Lua has gained a reputation for being easy to use in the game development world.


I am not sure this is not a trolling attempt.


I like how that comment has more responses than the OP


Its nuts how big our societies have grown where hundreds of thousands could die and it wouldn't really matter (assuming you were willing to be a complete psycho about it). I really just can't see it affecting my life


I'm surprised how often I see this argument in a world where Portugal succeeded in doing exactly that.


Oh thank you so much, i search's for the Portugal example through the comments and here it is :)


"pay a percentage of your final salary" is essentially what the student loans system in the UK boils down to. However I am expected to start paying back after earning over £21,000. Maybe a shift to a graduate tax on the higher end of earners would be a fairer way to structure it


Yes, the UK system is much closer to a good idea than that in the US (which is a complete train wreck). Australia’s model is relatively solid too.

There are, however, some major differences in how the UK structures student loans vs Lambda School:

1. If you attend Lambda School you don’t begin making payments until you’re making $50k+/yr in the field you study. In the UK it’s $24k (at current exchange rate) regardless of what you study.

At Lambda you pay a 17% of income for 2 yrs, capped at a maximum of $30k, so if you get a job for $50k you’ll only end up paying $17k. In the UK you pay a full tuition (generally around $50k + however much you borrow for living costs for four years).

In the UK you have a 3-7% interest rate, Lambda has no interest.

In the UK if you make payments for 30 years and still haven’t paid it off it’s forgiven. At Lambda that happens at year 5.

And perhaps this is the most important: In the UK if you default the University was paid a long time ago. The university gets paid day one and doesn’t have to care. At Lambda if you don’t get a job Lambda School never gets paid, so the incentives of the school are aligned with the incentives of the student, instead of the taxpayer writing a check to cover it.


Yeah but the U.K. student loans are written off when you retire if you haven’t paid them back already. Lambda writes it off after five years of you haven’t paid them their $30K.


Thanks, I love these kinds of projects


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: