|
Zopotantor posted:Just dump in it hex. Kids these days, never had to read a core dump to figure out why their program doesn’t work. Hex, bah. Octal.
|
# ? Mar 26, 2020 19:50 |
|
|
# ? May 16, 2024 17:42 |
|
ratbert90 posted:Jesus gently caress stop creating duplicated code you fucks! Has anybody heard of a function before? If you just say this you'll end up with five copies of the same function.
|
# ? Mar 26, 2020 20:44 |
|
ultrafilter posted:If you just say this you'll end up with five copies of the same function. It's already happened!
|
# ? Mar 26, 2020 20:58 |
|
Zopotantor posted:Just dump in it hex. Kids these days, never had to read a core dump to figure out why their program doesnt work. Back in my day we wrote to the framebuffer directly! No bullshit fancy graphical APIs for me!
|
# ? Mar 26, 2020 20:59 |
|
ratbert90 posted:Back in my day we wrote to the framebuffer directly! No bullshit fancy graphical APIs for me! The framebuffer is a fancy graphical API.
|
# ? Mar 26, 2020 21:02 |
ratbert90 posted:Back in my day we wrote to the framebuffer directly! No bullshit fancy graphical APIs for me! Real men race the beam and write directly to the DAC registers.
|
|
# ? Mar 26, 2020 21:25 |
|
nielsm posted:Real men race the beam and write directly to the DAC registers. The first embedded Linux job I had was working on the Marcum LX9 sonar. My boss did exactly that because going from a sonar ping -> framebuffer -> LCD was too slow. He wanted time between sonar ping -> LCD to be less than 5ms.
|
# ? Mar 26, 2020 21:27 |
|
ratbert90 posted:Back in my day we wrote to the framebuffer directly! No bullshit fancy graphical APIs for me! Ah, I see that you're familiar with the graphics standard library proposal for C++
|
# ? Mar 26, 2020 22:41 |
|
RPATDO_LAMD posted:Rust has one! How does it validate that e.g. the "%d" in the format string corresponds to an argument with a type compatible with %d?
|
# ? Mar 26, 2020 23:45 |
|
raminasi posted:How does it validate that e.g. the "%d" in the format string corresponds to an argument with a type compatible with %d? Types implement their own formatter to be printable with the macro. There is no %d, only {} with some modifiers. https://doc.rust-lang.org/std/fmt/index.html It's a compiler error (iirc) if the proper trait is not implemented. necrotic fucked around with this message at 00:14 on Mar 27, 2020 |
# ? Mar 27, 2020 00:12 |
|
raminasi posted:How does it validate that e.g. the "%d" in the format string corresponds to an argument with a type compatible with %d? Format strings must be literals, and there's a magic compiler macro that (at compile-time) turns a constant string into a type-safe representation of the string and the args that it requires.
|
# ? Mar 27, 2020 00:15 |
|
https://i.imgur.com/vX0I51B.mp4
|
# ? Mar 27, 2020 07:42 |
sometimes it's the only solution
|
|
# ? Mar 27, 2020 07:48 |
|
ratbert90 posted:Back in my day we wrote to the framebuffer directly! No bullshit fancy graphical APIs for me! On the C64 the graphic memory started at C000, and the text terminal at something like 0EF0 or something like that. To see a A on the screen you would write a byte on the right memory cell. Is too bad, because had they emulated a 80 colums screen, and given a interface to write on that terminal (and maybe peek on it), on separate memory inside the VIC, it would have made the C64 more useful. Is also kind of sad the C64 released with a tape, instead of directly with a disc drive. Disc access (being random) is much more useful and allow to write better OS. CPM and maybe even MS-DOS. The 6502 had not concept of ring 0 or other protected memory for the OS. It would have made it safer to have a way to turn RAM into ROM until the next reboot. So the C64 + a slighly better VIC (with 80 columns terminal)+ native disc drive + the ability to lock RAM into ROM, with ms-dos. That would have been a great machine.
|
# ? Mar 29, 2020 10:24 |
|
Tei posted:On the C64 the graphic memory started at C000, and the text terminal at something like 0EF0 or something like that. To see a A on the screen you would write a byte on the right memory cell.
|
# ? Mar 29, 2020 13:27 |
|
Tei posted:On the C64 the graphic memory started at C000, and the text terminal at something like 0EF0 or something like that. To see a A on the screen you would write a byte on the right memory cell. It's too bad it didn't have SLI support as well
|
# ? Mar 29, 2020 14:01 |
|
Tei posted:On the C64 the graphic memory started at C000, and the text terminal at something like 0EF0 or something like that. To see a A on the screen you would write a byte on the right memory cell. You are pretty much describing C128, but it was released at the same time as the Amiga so it was obsolete on launch so it never got proper support. It was also a weird beast with two CPUs; Z80 for CP/M mode and 6502 for the normal Commodore mode. I have the 128D desktop version sitting in my closet.
|
# ? Mar 29, 2020 14:14 |
|
ultrafilter posted:If you just say this you'll end up with five copies of the same function. All other developers are deranged and unfortunately the key part of my job is un-deranging all their code and trying to train them in the ways of not loving initialising the same drat giant array inside a loop, reimplementing upsert code badly when it was already gracefully solved and in fact used in the same class, and cutting and pasting the same drat thing three times so your method is 1000 lines long.
|
# ? Mar 30, 2020 23:49 |
|
ratbert90 posted:Back in my day we wrote to the framebuffer directly! No bullshit fancy graphical APIs for me! I mean, and speaking as one of the original developers of Qt/Embedded, someones gotta develop those APIs even today and if you don't have a GPU you still end up doing exactly that.
|
# ? Mar 31, 2020 20:44 |
|
DELETE CASCADE posted:as far as i'm concerned, C doesn't have types. it has things that look like types, but really they are just instructions to the compiler on how much memory to allocate. they don't otherwise resemble an actual type system C/C++ compilers don't necessarily target your hardware, they target an "abstract machine" specified in the C or C++ standard. The strict aliasing rule is a pretty cool example of this. Basically, typecasts are a footgun. Some examples of the strict aliasing rule in action: different levels of optimization give you different results. -O0 gives you the intuitive answer -O2 gives you... something. https://godbolt.org/z/a7ZZGW https://godbolt.org/z/jqLz6u First example is based heavily off an example from this talk https://www.youtube.com/watch?v=Nn7zugKc32Q Second example is heavily based off of an example here https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Type-punning
|
# ? Apr 1, 2020 22:47 |
|
code:
code:
|
# ? Apr 2, 2020 00:43 |
|
doxygen can be a bit heavy handed
|
# ? Apr 2, 2020 03:38 |
|
https://twitter.com/manicode/status/1246497036389793792
|
# ? Apr 4, 2020 20:45 |
|
I'm slightly tempted to learn COBOL and try to help out Slightly
|
# ? Apr 4, 2020 21:01 |
|
goon project!
|
# ? Apr 5, 2020 16:47 |
|
I'll start the wiki
|
# ? Apr 5, 2020 19:22 |
|
Volmarias posted:I'll start the wiki ok but you have to write it in cobol there appear to be several cobol web frameworks available but i'd recommend this one as it runs on your existing z/os hardware
|
# ? Apr 5, 2020 19:49 |
|
Soricidus posted:ok but you have to write it in cobol I'm partial to COBOL on Cogs myself
|
# ? Apr 5, 2020 23:16 |
|
IDK if fixed-point math is webscale tho?
|
# ? Apr 6, 2020 13:16 |
|
extremely webscale
|
# ? Apr 6, 2020 21:03 |
|
https://twitter.com/eigenbom/status/1246982053918195712
|
# ? Apr 7, 2020 00:38 |
|
Sounds like many people on the hardware pipeline did not understood the concept of abstraction leaking. But that could be a good thing, if the 6 people that really understand that poo poo and use it commercially have good use of that. I personally hate that. On the web we have an egregious example with service workers.
|
# ? Apr 7, 2020 07:59 |
|
The point of Vulkan was for it to be a low-level API that only crazy people use directly. That has not held up with reality, though.
|
# ? Apr 7, 2020 10:44 |
|
Are there direct javascript bindings yet so you can use vulkan instead of webgl?
|
# ? Apr 7, 2020 10:57 |
Suspicious Dish posted:The point of Vulkan was for it to be a low-level API that only crazy people use directly. Wasn't the point of Vulkan to get an API that more closely resembles modern GPU architecture than OpenGL? Not necessarily something that was more low level
|
|
# ? Apr 7, 2020 13:43 |
Joda posted:Wasn't the point of Vulkan to get an API that more closely resembles modern GPU architecture than OpenGL? Not necessarily something that was more low level That, and remove all the statefulness of OpenGL.
|
|
# ? Apr 7, 2020 13:50 |
|
nielsm posted:That, and remove all the statefulness of OpenGL. To be fair, if you use the latest extensions of OpenGL or DX11, or if you use DX12 or Metal, you're going to see similar things.
|
# ? Apr 7, 2020 14:39 |
|
Soricidus posted:Are there direct javascript bindings yet so you can use vulkan instead of webgl? It’s called Webgpu, generally hidden behind flags on Chome and Safari.
|
# ? Apr 7, 2020 14:54 |
|
lol, webgpu
|
# ? Apr 7, 2020 16:36 |
|
|
# ? May 16, 2024 17:42 |
|
Suspicious Dish posted:The point of Vulkan was for it to be a low-level API that only crazy people use directly. As a graphics dev, Vulkan's a lot nicer to work with than OGL (and to a lesser extent, than D3D). It's massively more verbose (until you build your own abstraction layer, same as you'd do with other graphics APIs anyway), but there's significantly less guessing at what the gently caress the GPU drivers are doing, and then being surprised at their "this is what you meant right" best guesses.
|
# ? Apr 7, 2020 17:41 |