HNHacker News
TopNewBestAskShowJobs

dobin

295 karma · joined December 5, 2016

submissionscomments
dobin··on Better cognitive ability from less snacking of processed carbohydrates
> Physics has made no progress. It has discovered no stable facts. Everything physicist have said, they have said the opposite ten or twenty years later (if not much sooner). They literally know nothing. After a century of countless experiments, the most common, most basic problem they’ve addressed —the basic elements of particles— is completely unsolved. If they can’t figure that out, anything more sophisticated seems hopeless.

A very generic counterpoint.

dobin··on Ring0VBA – Getting Ring0 Using a Word Document
I also mostly seen it as EDR/AV killer. A bit overkill as initial access, but thats part of the joke of the article
dobin··on Ring0VBA – Getting Ring0 Using a Word Document
Note this is partially covered in MITRE Technique T1068 BYOVD "Bring Your Own Vulnerable Driver". If the driver is not already loaded, it necessary to be local admin to be able to load it.
dobin··on Ring0VBA – Getting Ring0 Using a Word Document
Microsoft Defender Application Control Policy: https://learn.microsoft.com/en-us/windows/security/threat-pr...

List of vulnerable drivers: https://github.com/eclypsium/Screwed-Drivers/blob/master/DRI...

dobin··on Security in Plan 9 (2002)
I tried to install it once, a long time ago (around 2000?). Linux was already taking off, BSD's had the possibility to overtake it, other unices were made available more for the end user.

But basically, the hardware support was pretty bad. It took me a long time to find a SCSI controller which was supported, when ATA disks were already standard for years. Same with network- oder graphic cards.

Nowadays, if esoteric OS's would just support standard Vmware hardware, they'd be much more successful (looking at you fuchsia!)

dobin··on Meshtastic: A Review
Between 2km (dense urban area) and up to 100km, usually probably around 10km. It is basically a replacement for CB radio, and works similarly. The Meshtastic devices are set for a specific (chat-) channel, and only mesh with devices which have the same configuration/channel.
dobin··on Meshtastic: A Review
This is correct. It just sends all messages via LORA, which nearby receivers can pick up. These will broadcast it again (with a initial TTL of 3).
dobin··on How to Design Programs
+1 for #2. Keep it simple
dobin··on It is your responsibility to follow up (2019)
100k unread mails, of which 75k are "hey have you got my previous emails" ?

If someone doesnt answer me after the first email, too bad for him - i will go somewhere else.

dobin··on Things to know about databases
I just use files
dobin··on Ask HN: Does anybody still use bookmarking services?
The bookmarks i require are usually research related, therefore clustered. Just add the link into Trilium (or other note taking software), and add a few bullet points of description.

If i need it again, i either know where it is (part of which research), or can find it with the note search.

dobin··on Copilot sells code other people wrote
1) Copilot is not designed to output the source code for a project source file 2) It does not re-create the whole source code, just parts of it (sentences, not chapters) 3) The source code license, e.g. BSD, works on "the code" - copying a line like "void main(void) {" will not trigger it, obviously
dobin··on Copilot sells code other people wrote
I neither see it "stealing". The neuronal network was trained with code as input. It's creating code as output. The output has nothing to do with the input once it is trained. Do people dont know how neuronal network work?

It's like saying GPT-3 created text is copyright infringement, because some author used the same sentence in a book before.

dobin··on Classified specs leaked on War Thunder forum for third time
https://www.marines.mil/News/Publications/MCPEL
dobin··on Zero-Day Exploitation of Atlassian Confluence
When I evaluated some last year, my favourites have been Bookstack and Wiki.js. Both are open source.
dobin··on Classified specs leaked on War Thunder forum for third time
These leaks are usually just a photo of a page of the booklet all the soldiers get with their weapon systems. I had dozens of them, and they were not considered particularly sensitive (e.g. dont care if you lose them).

Is it classified? Yes. Is it bad? Probably not.

dobin··on SomaFM
Listening to this since musciforhackers.com went down. Donated a bitcoin back when they were still cheap. Rusty also DJ's at Defcon.
dobin··on Everything that makes working with databases easier
Nice. Rare writes are indeed a good indicator.

Its liberating to be able to focus only on the code. I am a big fan of KISS. Serverless, or better no-server?, is this pushed to the extreme.

dobin··on Everything that makes working with databases easier
Unrelated, but I am happy I managed to avoid using any kind of DB in my last few small projects.

User authentication? Hard code my credentials, and SSO for users. I dont want to store user accounts (als gets rid of all this password mail and reset stuff). Storing small amounts of data from users? Pickle it to files. Caching data? Keep it in-memory, retrieve it again when server restarts. Need to keep some data? Pickle it all 10 minutes and on sig-int.

Saving so much time and nerves to not having to handle SQL, relations, foreign keys, docker-compose and all the other things.

dobin··on The Apple M1, ARM/x86 Linux Virtualization, and Boinc (2021)
I SSH into a local XEON server homelab, or one of several Hetzner servers over Wireguard (which runs in a Proxmox container). Symmetrical 1gbit fiber connection helps. Only disadvantage is that it doesnt work on (long) flights.

For me, MacBook Air M1 is just a "dumb terminal", with VSCode and its remove development server it doesnt matter where all the stuff is.

dobin··on The harsh truth of video games programming
Unity uses some kind of ECS, see other discussion.

And there is a bit of a difference between game, and game engine. Unity is really for creating games itself, where most part is not engine work. Like most developers, we like to do engine work though, not graphics.

If you want some fun, find a lower-level engine which just implements some parts (e.g. while Phaser.js is a big game engine, still need to do a lot of coding by hand). Alternatively, use weird things. ASCII, HTML Checkboxes, voxel graphics, svg, in rust...

dobin··on The harsh truth of video games programming
Hehe, i like it!

Except that changing direction quickly left/right feels kinda bad. Seems you wait for the animation to finish before checking for new key presses, not buffering the last pressed key.

dobin··on The harsh truth of video games programming
The nice thing about using an event system is that you can just record all events. This allows you to record gameplay directly. This can be used as a demo, scripted scenes, and especially for debugging! Encountering a bug during playing? The recording can be used to reproduce the bug, as it will be a "pixel perfect" playback. Code until it is gone. Debugging is suddenly way easier, as you can just check the events wireshark/tcpdump style, and see what went wrong.

Even more, in networked games it can be used to roll-back actions you did (e.g. because someone with a 100ms ping shot you 50ms before launching a rocket, to roll-back rocket-launching animation). Or in the simulations of the behaviour of the other players (peeking around the wall).

dobin··on The harsh truth of video games programming
To give a slightly different example.

Basically, entities consist of components. Components should ideally just be data (a struct). Systems work on components (data), they are the code / functions. A system only cares about it's component (but for all entities, which have this component).

A entity "player" consists of the components like "texture", "input". A "monster" entity has components "texture", and "ai". The graphic processing done by the texture system doesnt care how the changes in x/y position is happening (via AI statemachine, or keyboard input).

Player and Monster should shoot too, so attach a "weapon" component to it. But then it's also possible to also create an entity with components "texture:door" and "portal" (portal system will teleport you to something, e.g. next level). No one stops you to attach the "ai" component too, making the door move around. And "weapon", which makes the door shoot too (then maybe call the entity something else, like portaling-monster).

As the components are just data stored outside your code, e.g. in files or a DB, you can change them at will. And load it, without recompiling or even restarting your game! This allows a large amount of creativity and innovation, without refactoring your code all the time.

I like to connect my systems with a message bus, where they send messages to each other. Messages change components, data, of entities. These may generate more messages. E.g. player clicking left mouse button creates a message, which gets handled by input system. This creates a message for the weapon system, reducing ammo count by one, and change its texture (-index) to like "shootingstance:1", and creating a new entity "bullet" with the source x/y and destination angle.

dobin··on The harsh truth of video games programming
Exactly this. Something like ECS, where you code your game "outside" of your game, may also be useful at some non-game software.
dobin··on The harsh truth of video games programming
Thanks. Still, abandoned it like the author mentioned after nearly getting the MVP to work. All which is left to do is fixing all the bugs, implementing all the skills, animations, enemies and bosses with choreographed attacks, and designing a lot of maps, add a story... (at least there is no music or sound effects).

And of course, what often gets forgotten: Make sure it is fun, somehow. In my opinion, nobody can "make" a good game. Can just pump out a lot of games, and hope one is good. Be it EA, or King Digital Entertainment.

dobin··on The harsh truth of video games programming
Sure: https://github.com/dobin/nkeyrollover. You can play it with "telnet exploit.courses". It will crash a lot. Stole some animations from "Stone Story" (Steam)
dobin··on The harsh truth of video games programming
Same here, first games in QBasic (no functions, all goto!) like Skifree. Used phaser.js for a bit. Last project implemented a sidescrolling beat em up in ASCII.

The most important thing i learned was that implementing your game as classes (with inheritance and all that) is futile. Use ECS (Entity-Component-System), its awesome.

Even a simple MVP takes like months or years to develop. During studying how Disney designed animations (the 12 principles, like anticipation, staging..) i realized just how deep you need to go into non-coding things like animations, music, graphics, UI, and more.

Shout out to the r/roguelikedev community though, they are awesome. People coding on their rougelikes for 12 years seems to be not extraordinary.

dobin··on Tor Browser: a legacy of advancing private browsing innovation
Tor Browser is just an old version of Firefox, with lots of known vulnerabilities. FBI is well known to take over Tor hidden services and exploit the visitors with a 0-day/1-day, which makes it easy to de-anonymize them.

Privacy depends on security. Firefox is about 3-5 years behind security level of Chrome (Sandbox, Fuzzing efforts, hardening efforts, source code reviews, etc.).

dobin··on Poll HN: What operating system do you primarily develop on?
Just need a UI to start Chrome and Visual Studio Code. Have WSL for SSH into Linux servers.
← PreviousPage 2 of 3Next →