|
also on april 1st I decided to do awful macro things with Erlang to work with the runtime equivalent of option types and whatnot https://github.com/ferd/fancyflow
|
# ? Apr 7, 2017 13:44 |
|
|
# ? May 10, 2024 17:35 |
|
E: dumb cache ate messages
|
# ? Apr 7, 2017 14:10 |
|
MononcQc posted:E: dumb cache ate messages for a period back in the day posts would end in "cache hit!" or "cache miss!", which was funny
|
# ? Apr 7, 2017 14:39 |
|
TIL about a guy who has been employed at the same job for 40 years, he works on an encrypted COBOL application core that can only work in an outdated RHEL, which is wrapped in a bunch of firewalls in the hopes nobody will kick the stone that brings down the temple Only he understands the magical PERL scripts to unlock and update the code. Life goals
|
# ? Apr 7, 2017 23:56 |
|
i was depressed from not getting my latest job i interviewed for today i found this description of pac-man's hardware and dug up a Z80 assembler off the google half an hour later
|
# ? Apr 8, 2017 06:10 |
|
Luigi Thirty posted:i was depressed from not getting my latest job i interviewed for today goddamn stop creating things for every system + <3
|
# ? Apr 8, 2017 06:12 |
|
luigi you are a champion
|
# ? Apr 8, 2017 09:29 |
|
can someone please pay luigi to spend his time making dumb bullshit for obsolete hardware, tia
|
# ? Apr 8, 2017 10:57 |
|
Technically I could set up a patreon I guess Luigi thirty is making dumb bullshit for obsolete hardware
|
# ? Apr 8, 2017 12:04 |
|
well there's your niche. now just make a tumblr or a youtube channel where you post that.
|
# ? Apr 8, 2017 12:16 |
|
Luigi Thirty posted:Technically I could set up a patreon I guess i have no money but its worth a try
|
# ? Apr 8, 2017 12:26 |
|
start the fund Luigi
|
# ? Apr 8, 2017 13:13 |
|
Luigi make stuff for TempleOS
|
# ? Apr 8, 2017 13:19 |
|
oh poo poo i can def afford like 5-10 bucks a month if it means luigi has to make weirdly intense games about crying
|
# ? Apr 8, 2017 13:28 |
|
trying out vim mode in sublime text today wish me luck edit: running uncap.exe to remap caps lock to esc Ator fucked around with this message at 15:01 on Apr 8, 2017 |
# ? Apr 8, 2017 14:49 |
|
gonadic io posted:The main problem that I have with scala futures is they're so easy to accidentally drop because everything coerces to unit. am I misunderstanding because that sounds like a really odd language decision
|
# ? Apr 8, 2017 14:53 |
|
code:
|
# ? Apr 8, 2017 15:45 |
|
hackbunny posted:oh noooo today is tomorrow and I got drunk with coworkers instead and the effortpost will have to wait 😱 who was it who asked about windows driver development again? I don't even know where to start! but very broadly speaking, windows drivers are dlls, not exes, with all that it entails. you're running on borrowed time, in a process that isn't yours, at the highest possible level of privilege! not the highest possible really, due to the many management modes supported by modern cpus, but you know unless your driver is one of those drivers that can run in user mode - but the general rule under windows is that kernel mode code doesn't call user mode code (with very very very few exceptions), so drivers like storage devices (kernel mode client example: filesystems; memory manager) and network cards (kernel mode client example: tcp/ip) are restricted to kernel mode only. but I digress anyway. the things are written in C, in a vaguely object oriented way. two huge red flags, i know, but that's how it works! every driver has a sort of vtable, that provides implementations of each of the I/O functions - all kernels I know about, in fact, implement drivers in a very similar way! all device functions are implemented as I/O operations of some kind, and on windows all I/O is asynchronous by default (with optional synchronous shortcuts for the most common operations, like read and write): when you want to call a device, you allocate a request packet (IRP), set the request parameters, send it and wait for a completion notification. windows has a concept of filter devices, where devices can stack on top of one another, each layer adding some functionality (or just sniffing traffic!), and the IRP has a variable sized tail with enough slots to let each device in the stack transform a I/O operation into a different I/O operation, or maybe just add hooks like completion callbacks, to get notified before the originator of the request is. it's all extremely complicated and quite fragile IME! and the fact that C is the only supported language doesn't help at all. what helps is that some driver classes are already implemented by the OS and what you write is not a full fledged driver, but a "minidriver" that only personalizes the behavior of the os-provided driver. some other driver classes are supported by the windows driver framework, which implements all of the tedious, repetitive boilerplate required. did I mention the boilerplate? OH GOD the boilerplate development now requires visual studio, other than the driver SDK (which used to be called the DDK but I believe it's the WDK now). thank the stars for it, because before it was a godawful makefile-based system, the same godawful makefile-based system that was used to build windows itself, in fact. you need a second machine for debugging, and some sort of cable. in the bad old days, it was a slow AF serial cable, I wonder if USB is supported now? you can use a VM too, of course, if your driver doesn't require some specific hardware this very bad explanation is as succinct an overview I can give you on windows driver development, whoever it was who asked about it in the first place. even more succinctly: it's bad, don't do it
|
# ? Apr 8, 2017 16:17 |
|
dunno who asked but i know i love your effort posts
|
# ? Apr 8, 2017 16:31 |
|
Luigi Thirty posted:i was depressed from not getting my latest job i interviewed for today what is the main language you write in? i'm basicaly a non-programmer webapp interface loser and i want to do some actual programming. i started messing with C++ but what you're doing seems more fun. please start a blag or somethin cos i want to learn!!
|
# ? Apr 8, 2017 16:34 |
|
https://microsoft.github.io/reactxp/ vae victis
|
# ? Apr 8, 2017 16:36 |
|
Powaqoatse posted:dunno who asked but i know i love your effort posts same.
|
# ? Apr 8, 2017 16:41 |
|
schranz kafka posted:what is the main language you write in? i'm basicaly a non-programmer webapp interface loser and i want to do some actual programming. i started messing with C++ but what you're doing seems more fun. please start a blag or somethin cos i want to learn!! a lot of these systems support C more or less. this is in Z80 assembly though
|
# ? Apr 8, 2017 17:09 |
|
raminasi posted:am I misunderstanding because that sounds like a really odd language decision def startFuture(): Future[Butt] = ... def doThing(): Unit = startFuture() when you call doThing you have now leaked the future - it's still running but you can't get its result or interact with it in any way. it might succeed, it might fail, nobody knows. it's an optional compiler warning
|
# ? Apr 8, 2017 17:15 |
|
Luigi Thirty posted:a lot of these systems support C more or less. this is in Z80 assembly though luigi write the blog
|
# ? Apr 8, 2017 22:56 |
|
Luigi Thirty posted:Technically I could set up a patreon I guess that's worth a few bucks a month to me hell, I've considered paying people directly to add features I want to MAME…
|
# ? Apr 8, 2017 23:38 |
|
Wheany posted:well there's your niche. now just make a tumblr or a youtube channel where you post that. does twitch work with Visual Studio? or that IDE you were using on Amiga? Luigi Thirty make the stream eschaton fucked around with this message at 23:46 on Apr 8, 2017 |
# ? Apr 8, 2017 23:39 |
|
hackbunny posted:anyway. the things are written in C, in a vaguely object oriented way. two huge red flags, i know, but that's how it works! every driver has a sort of vtable, that provides implementations of each of the I/O functions - all kernels I know about, in fact, implement drivers in a very similar way! I'd love to hear your thoughts on Darwin's IOKit if you take a look at it, given that we made it actually object-oriented (instead of vaguely) and use Embedded C++ for the API/ABI one plus is that I was able to knock out a virtual frame buffer driver in a couple hours, with most of that time spent learning about the IOKit abstractions
|
# ? Apr 8, 2017 23:44 |
|
eschaton posted:does twitch work with Visual Studio? i'm doing amiga stuff in visual studio code using GCC 6.3 and pointing WinUAE to the root of the git repo as a virtual hard drive. the amiga can also mount that folder over the network with SMB. anyway i found a Z80 C compiler and wrote some headers and string routines. i need to write a ROM graphics editor because turaco doesn't support the roms mame uses anymore i set up a page but idk about rewards
|
# ? Apr 9, 2017 00:21 |
|
figuring out how to detect VBLANKs that come in over the CPU's interrupt lineZ80 Interrupt Mode 2 posted:An interrupt occurs what the gently caress e: turns out mode 2 isn't needed here and mode 1 works just fine - a VBLANK interrupt comes in each frame and the system automatically jumps to... $0038? okay then, have an ISR Luigi Thirty fucked around with this message at 06:24 on Apr 9, 2017 |
# ? Apr 9, 2017 04:37 |
|
how well does redux work with typescript? i'd like to try redux, but there's no way i'm giving up typechecking + tooling that doesn't require npm
|
# ? Apr 9, 2017 07:35 |
|
Luigi Thirty posted:figuring out how to detect VBLANKs that come in over the CPU's interrupt line the device actually triggering the interrupt is supposed to write a particular value. so you can set up an interrupt table and then jump to the handler corresponding to that peripheral. are you using a particular machine that has badly-behaved peripherals?
|
# ? Apr 9, 2017 07:52 |
|
Gul Banana posted:how well does redux work with typescript? i'd like to try redux, but there's no way i'm giving up typechecking + tooling that doesn't require npm it works great. there's a lot of newish features in typescript that make redux really nice. like with type guards i can sort of pattern match off of actions in my reducer. for example: code:
the only place i lose type information is in react-redux's connect() function, in the mapDispatchToProps object you pass in. i can probably use one of the alternatives, like the version where mapDispatchToProps is a function, but i havent bothered to look into it surprisingly, in the majority of the 3rd party libraries i use with redux they include typescript definition files. or there are typescript definitions available in separate packages at least Flat Daddy fucked around with this message at 08:52 on Apr 9, 2017 |
# ? Apr 9, 2017 08:45 |
|
Jabor posted:the device actually triggering the interrupt is supposed to write a particular value. so you can set up an interrupt table and then jump to the handler corresponding to that peripheral. that mechanism only works if you use 100% compatible peripherals like the zilog PIO/SIO/etc instead of the much more common intel-compatible chips. letting the data bus float and using a 256 byte table to trap every possible value was a common trick on most z80 computers. IM0 was rarely used because it also needs hardware support, and IM1 usually jumped somewhere in ROM meaning the programmer couldn't change it to point to their own routine. So IM2 with the table trick was the only option available. Sweevo fucked around with this message at 11:39 on Apr 9, 2017 |
# ? Apr 9, 2017 11:00 |
|
Flat Daddy posted:it works great. there's a lot of newish features in typescript that make redux really nice. like with type guards i can sort of pattern match off of actions in my reducer promising! i'll try and make time to check it out
|
# ? Apr 9, 2017 11:50 |
|
Sweevo posted:that mechanism only works if you use 100% compatible peripherals like the zilog PIO/SIO/etc instead of the much more common intel-compatible chips. letting the data bus float and using a 256 byte table to trap every possible value was a common trick on most z80 computers. IM0 was rarely used because it also needs hardware support, and IM1 usually jumped somewhere in ROM meaning the programmer couldn't change it to point to their own routine. So IM2 with the table trick was the only option available. fortunately i am writing the rom here so i can just have $38 jump to an ISR
|
# ? Apr 9, 2017 19:48 |
|
eschaton posted:I'd love to hear your thoughts on Darwin's IOKit if you take a look at it, given that we made it actually object-oriented (instead of vaguely) and use Embedded C++ for the API/ABI oooh I didn't know iokit was C++. if I can find the time and will, I'll have a look into it god I wish I had the strength to say more about windows drivers. they're the most microsoft thing ever
|
# ? Apr 9, 2017 19:54 |
|
Luigi Thirty posted:i'm doing amiga stuff in visual studio code using GCC 6.3 and pointing WinUAE to the root of the git repo as a virtual hard drive. the amiga can also mount that folder over the network with SMB. You might like NES hacking. The separate address/data busses for CPU/PPU and the resulting restrictions on rendering make it a neat platform to work on.
|
# ? Apr 9, 2017 20:22 |
|
I just finished implemented a std::promise for an overly complex protocol above Beast WebSockets. drat amazing hiding tonnes of async poo poo behind a single call. That's like the most spiffy thing I've ever done in C++. The docs for Boost and Beast ASIO suck balls. async_resolve >> async_connect >> async_handshake >> async_read, async_write >> login >> success, failure MrMoo fucked around with this message at 21:49 on Apr 9, 2017 |
# ? Apr 9, 2017 21:45 |
|
|
# ? May 10, 2024 17:35 |
MrMoo posted:async_resolve >> async_connect >> async_handshake >> async_read, async_write >> login >> success, failure Oh no, did they overload operator,()?
|
|
# ? Apr 10, 2017 00:45 |