Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Laya the open source version of Jev(convaiinnovations.com ↗)
    89comments
  2. A graphical desktop for the ZX Spectrum(github.com/mindbox77 ↗)
    14comments
  3. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    381comments
  4. What Zig felt like, coming from Rust(besok.github.io ↗)
    58comments
  5. Tin: full-text search for Postgres(planetscale.com ↗)
    7comments
  6. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    169comments
  7. “The Secret Life of Circuits” is here(coredump.cx ↗)
    37comments
  8. Asking Authors About Their Own Papers(medium.com/tmlrorg ↗)
    10comments
  9. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    523comments
  10. Black Holes or Black Hole Stars? Astronomers Spar over 'Little Red Dots'(quantamagazine.org ↗)
    7comments
  11. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    121comments
  12. San Francisco Onion Futures Company(onionfutures.com ↗)
    98comments
  13. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    175comments
  14. Learning Another Language May Be One of the Best Ways to Keep Your Brain Healthy(theconversation.com ↗)
    15comments
  15. I built the fastest PHP webserver in the world(qbixserver.com ↗)
    discuss
  16. Cloudflare Quick Tunnels(cloudflare.com ↗)
    299comments
  17. How to Write with an LLM(sockpuppet.org ↗)
    360comments
  18. Communication by means of modulated Johnson noise(pnas.org ↗)
    16comments
  19. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    23comments
  20. SDCC – Small Device C Compiler(sourceforge.net ↗)
    22comments
  21. Saving another 100TB of RAM(cloudflare.com ↗)
    87comments
  22. Science Is Open Software(jepedersen.dk ↗)
    47comments
  23. From Stonemasons to Carpenters(thelastsoftwareengineer.substack.com ↗)
    4comments
  24. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    44comments
  25. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    120comments
  26. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    115comments
  27. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    6comments
  28. OpenJev(openjev.com ↗)
    276comments
  29. Ray Ozzie and the Optimism of Being Early(reproof.app ↗)
    7comments
  30. Goroutine Leak Profiles(go.dev ↗)
    6comments

Runtime Compiled C++ Dear ImGui and DirectX11 Tutorial

83 pointsby 6y agoenkisoftware.com
12 comments
6y agoHN ↗

This looks really nice.

I still remember when I worked in game development back in 2004 or so, that I made extensive use of Visual Studio's "Edit and continue build" feature at work, and how it really helped with the feedback loop. It was a little buggy but worked very well considering it was only a "debug" feature.

A few years later I worked on an even bigger game with an even bigger loading time, and "Edit and continue build" no longer worked at all due to the platform architecture of the game. It really, really hurt my productivity (and motivation). I wish this project all success, it could help many people!

(Does Unity have something like this yet? I remember last time I worked with it I loved being able to change the properties of objects at runtime, but still missed being able to change the actual code...)

6y agoHN ↗

The last time I used Unity (about 1~2 years ago), hot reloading was basically useless and I tried to avoid it as much as possible (some people actually disable to disable this feature to avoid any "accidental" runtime recompilation.) It messes with serialization too much that it only works with very, very simple cases.

6y agoHN ↗

In my experience, it only reliable works for singleton objects which have changes in their method bodies. Any change in the memory layout creates random null reference exceptions on each frame update.

6y agoHN ↗

It also depends on how you've designed your MonoBehaviours. If you have anything dependent on resources retrieved in your Awake event, those references will not be restored and the Awake event will not re-occur. So you either have to check and reacquire the references in your Update event (which is costly), or design everything around serialized fields that are set in the editor, with no objects acquired during Awake (which is intractable for anything but the most basic projects).

Unity is designed to get the basic demo feature of whatever you're doing done as quickly as possible. But building a production-scale product is actually harder than just writing from scratch, as there are a lot of stupid design decisions in Unity that get in the way.

6y agoHN ↗

It's not always reliable however, if you add/remove variables in your UCLASSES or USTRUCTS, or the values in your UENUM, it can fail or have unpredictable results, or at least it did as recently as 4.18/4.19.

Otherwise if you're just adding/removing code from classes it works extremely well and saves a lot of time restarting the editor.

6y agoHN ↗

For me, the most memorable chapter in the excellent book Coders at Work was the Dan Ingalls one, in which he made the case for interactive development.

6y agoHN ↗

Does this have any applications other than hot reloading?

6y agoHN ↗

The purpose of Runtime Compiled C++ is robust 'hot reloading'.

6y agoHN ↗

I suppose I'm the only person who wondered if "DirectX11" meant that MS had finally ported their flagship game APIs to the venerable Unix graphics system.