HackerTrans
TopNewTrendsCommentsPastAskShowJobs

NortySpock

2,816 karmajoined há 13 anos
GitHub: https://github.com/NortySpock Blog: https://nortyspock.github.io/

comments

NortySpock
·ontem·discuss
"integrated graphics processor, using system memory" had its name dragged through the mud for decades.

So we had to rebadge it to "unified memory".

Curious if we'll ever see some old integrated graphics processor "hacked" to manage to handle 128 GB of allocated system RAM and be able to serve diffusion-LLMs at a decent rate on "old" hardware...
NortySpock
·há 9 dias·discuss
I find it to be a useful tool for summarizing things, creating examples, and as a tutor for explaining a topic using analogies. Plus it can generate and iterate on code snippets.

Like, I personally find python pandas documentation unusable because they don't come with examples next to the function definition. (historically at least, maybe they have changed)

So I was left flailing, trying to cobble something together that was even capable of running without error, much less emitting the output I wanted.

Now that an LLM has badly-memorized 80% of the documentation and can generate 3 different attempts in 5 seconds, I'm free to focus on the actual problem I am working on rather than guessing at syntax for something I use less than once a week.

So I see at least the ability to have a on-demand tutor or sounding board, at any time of day, for pennies, to be a boon for anyone who wants to learn a bit or try reaching for something just outside of their current understanding.
NortySpock
·há 10 dias·discuss
You can work in the technology department of a non-tech company.

I am enjoying being a part of an employee-owned company so far.
NortySpock
·há 11 dias·discuss
Ok, and? You can live with that if there are more important things to deal with.

I've stared at ugly LLM code, that I had just had generated, and worked well enough for my purposes. (generally, some quick recursion into a nested python dictionary in order to dig out some property -- especially for linting or quick data analysis).

And I wanted something better, sure, something a bit more readable ...but I just needed it to work well enough to recurse through a yaml file for config file linting, not be battle-hardened against every test case.

So to deal with the mess, I shoved it in a pure function, threw a few basic sanity unit tests around it, put a comment with a disclaimer of "#this is LLM generated code, it is lightly tested, do not use it for anything truly load-bearing without a lot more tests" and I moved on to something else.

Not everything has to be bulletproof.
NortySpock
·há 16 dias·discuss
I have been looking at this sandbox tool, but haven't quite figured out how I want to deploy it, and anyways I haven't found an agent I like yet.

https://github.com/kstenerud/yoloai
NortySpock
·há 20 dias·discuss
I play with my brother and an old friend of mine. I'm getting close to forty.

There's no "leagues", it's just lobbies you join, and you gain or loose OS (Elo) per battle. Party up with your friends, find a lobby that says it's for noobs, has some other nonsense in the title ("rotato" is for map rotation) or just seems to have a lot of low-OS players, and have fun. You can avoid or mute/ignore people. Or start your own lobby so you can be boss and set the tone in the title.

Spectate a full match or two before you just jump in, to sort of see the pacing. Announce to the team that you are noobs... But yeah, I think it's perfectly possible for old friends to have fun in BAR PvP ranked; you just ignore / tell off the flamers, or bounce to a nicer lobby. Most people are friendly if you are friendly. Heck sometimes the spectators jump into the player chat and banter while the battle rages.

And yes, the artillery still hits just as hard as it did before.
NortySpock
·há 20 dias·discuss
Speaking as an occasional contributor: there's a roadmap towards that, but there's a few components that need to finish baking before we release on Steam. e.g. the current lobby protocol isn't capable of handling Steam levels of traffic, so we are working on replacing it.

You only get one chance to make a good first impression, and if the server melts on release day, that's not a good first impression. :)

The Hooded Horse deal is expected to provide some professional development time to help knock out these blocking items.

https://www.beyondallreason.info/development/steam-release#M...

https://www.beyondallreason.info/news/beyond-all-reason-and-...
NortySpock
·há 20 dias·discuss
BAR does have a series of scenarios for singleplayer / offline play.

Or in multiplayer you can arrange a co-operative game with humans against AI opponents, which often has substantially less flaming involved, especially when playing a "survive against an onslaught of enemies" scenario.

Also the account system of course allows for muting, avoiding-being-paired-with, or fully blocking players. For more egregious behavior a player can be reported to moderators and temporarily / permanently suspended if they break the community code-of-conduct.
NortySpock
·mês passado·discuss
Knowing what to build (and that it hasn't already been built or bought elsewhere in the company) requires bits of information / person-to-person networking / visibility into the state of the company that not all managers or VPs have.

In fact, most people don't have that knowledge, because they're busy with existing or "local" problems , or because they didn't know to ask Davis the DBA or Kris the Kafka Cluster Manger or Alex from accounting if we have <resource> our team can plug into and use. "Oh, yeah, El has one under their desk they kick occasionally, ask them to hook you up!"

If you solve this problem in a turnkey way Fortune 500 companies will write you very large checks to help them prevent such duplicate waste, and will in turn become the 15th system they need to integrate....

That XKCD joke about "how 14 standards becomes 15 standards" also applies to the class of "one system to integrate with and report from all other systems"
NortySpock
·mês passado·discuss
You can also observe this in games like Dyson Sphere Program, (which is all workers and queues and buffers) where adding a buffer storage section of a belt only hides the fact that you are under-producing one of the components required.

The buffer smooths out bursty flow but you don't want that in the middle of the pipeline, as it actually represents mid-pipeline inefficiency. You should actually be fixing the upstream or downstream problem.

[1] or other automation games like Factorio, Mindustry
NortySpock
·mês passado·discuss
Orbital ring would kickstart the space economy like nothing else, and is technically achievable with existing materials.
NortySpock
·mês passado·discuss
As others have said, the server receives a function call request and decides what to do with it. Whether or not a user or session is currently authorized to perform the action they want is something you evaluate inside the function -- but you

E.g. https://github.com/beyond-all-reason/teiserver/blob/f6ff6d68... here, we are in a function call that handles requests to send a chat message into a game lobby. We updated the flood protection timestamps above, and then determine if the user has permission to send the message, and finally if they are speaking just as a client or via the Coordinator. Then we reply the updated state back to the websocket.

This is what I found beautiful about GenServers, by the way. It's a very explicit "starting state, consume from queue, and each message handling function returns the next system state", which makes it very clear that a state transition does not occur unless you reach the bottom of the event-handling function call, and at that point, it's an atomic state transition of the entire internal state.

In summary: don't trust the client. Independently determine, server-side, in the function itself, if the function call you just received is valid given the current state, not rate limited, etc, and then from there you can choose if you want to act on it.

Disclaimer: Elixir noob, but I have been using Teiserver to learn.
NortySpock
·mês passado·discuss
Nice, I might try using this as I'm currently on 16 GB of RAM / 11 GB VRAM and feel like the VRAM is usually idle except for when I game or try a local LLM.

It would be nice to have dynamic scaling or even just auto-shutoff on VRAM pressure if I forget I have this enabled and then fire up a game or LLM.
NortySpock
·mês passado·discuss
Hey, congratulations on creating this!

While I'm already using a Raspberry Pi, NATS, docker container, etc and am happy with my setup, I am looking forward to reading over this and seeing how it works! The use of an RTOS and berry looks interesting.
NortySpock
·mês passado·discuss
I have occasionally wondered the same thing.

Thinking about it more, on my setup I have a DVI port on the motherboard that I would be happy to use with a DVI cable, but I instead need to buy a DisplayPort <-> DVI converter cable to plug directly into my video card...

Yeah, seems like an obvious thing for some motherboard providers to want to provide.
NortySpock
·há 2 meses·discuss
Cool! Thanks for the details, and your blog posts are usually interesting food for thought, so thank you for them too!
NortySpock
·há 2 meses·discuss
"[would have spent] $1,199 with Anthropic, $980 with OpenAI"

How many tokens is that, input/output-wise?

(a) I'm curious if you feel like you got $2000 worth of value out of them in the last month?

(b) I'm also curious if you would have gotten similar quality out of a slightly lower-cost provider of an open-weight model? (e.g. Kimi K2.6 and DeepSeek v4 Pro) and what the spend would have been for that.

I myself have managed to spend not quite $4 on OpenRouter and have felt it was very worth it; I just have much smaller, or more targeted requests I guess. (Lately, adding features to a static site generator in Python, or setting up log forwarding via a docker compose file)
NortySpock
·há 2 meses·discuss
I don't think your counterpart is arguing that OpenRouter created DeepSeek. Rather I suspect their argument is that there are 13 providers listed on OpenRouter for DeepSeek v4 Pro that are competing on price. (That's the default balancing algorithm in OpenRouter, roughly: weighted towards the lowest price and was available in the last 30 seconds)

If any providers are able to turn able to sustainably turn a profit, OpenRouter allows them to compete in an open market to process your tokens (or anyone else's tokens).

Thus anyone subsidizing tokens bears the brunt of the compute load and gains not much more than name recognition and tokens to train on, but since switching to a different provider is a matter of changing one setting in the config panel (and can be set to auto-switch based on price), switching costs are very low. Providers of open models via OpenRouter have almost zero ability to lock-in users.

So this claim that all 13 providers are selling subsidized inference is... a tough claim to swallow. Maybe some of them are, but all of them? I assume at least some providers want to show profitablity, and are pricing their service accordingly.

https://openrouter.ai/deepseek/deepseek-v4-pro/pricing

https://openrouter.ai/docs/guides/routing/provider-selection
NortySpock
·há 2 meses·discuss
I asked the LLM to explain, rephrase, or rewrite things until I was happy. Some examples :

I asked for examples of how the algorithm worked. I asked for examples of how to call the code. I asked for a happy-path unit test and a simple error-handling unit test. I asked it to rewrite something as a pure function. I pointed out an obvious race condition and told it to guard against that issue. I asked it to rewrite a function in the style of this other function. I told it to separate one function into two separate functions that handle the first step and the second step separately.

Etc etc.

If you don't understand it, ask for more or better comments, or better variable names, or cut down the scope into a smaller section, or more examples.

Edit: also I almost entirely leave the LLM in read only mode... I tell it to make the smallest change possible, and tell it I will only copy paste it in its proposed change when I understand the change and where it needs to be made. That way it's my hands on the keyboard, interacting with the code by making recommended changes... 80% of the code is touched by me (via copy-paste) most-of-the-way before I will 'git commit'.

Sure, there was one recursive folder descent function that found the most recent file modification time that I didn't fully understand, but it's self-contained in a function, I don't care to learn every corner of file modification times, and it appears to work, so I left it as is for my static site generator.
NortySpock
·há 2 meses·discuss
Thank you for all your work. I love your reports (even if they fly over my head when the timelines get squirrly), I love that you release them under an ethical reporting guideline, and I don't blame you if you take your test harness private. (sqlite does that and we still love them). (I hope it stays open but the world is the world and we gotta eat. If it's any consolation, I assume the therapist is also concerned about their job prospects...)

I would buy a book on distributed transactions (or databases in general) if you wrote one.