unlipic
i.e. my explorations into low-level computing, hardware simulation, CPU design, etc.
- Very interesting story of bringing forth a neglected cluster scheduler in waiting
- Another Open Hardware CPU and modern computing project
- Scratch notes evaluating accuracy of approximate square root
- Coboot API improvements
- My skunkworks attempt at approximate division
- Other folks on Twitter discussing automatic GPU compilation
- Efficient ways to factor numbers
- Designing a SIMD processor of my own, reflection on many-core communication architectures
- Extending CPU framebuffer graphics rendering subroutines into GPU parallel subroutines
- OpenCL versus OpenGL compute shaders
- Other reflections on math software libraries
- Explaining power series on polynomials
- Explaining optimized parallel compute primitives
- Wow, 16th century math textbook with pop-up models
- Computing roots, logarithms, and exponents, part 2
- Explanation of calculating number e
- Another way to compute carry bit in software
- BLAS with GMP? Yes, it was done...
- The original Apple II did **not** have a vertical blanking interrupt
- Draw a circle using Bresenham's algorithm starting at an arbitrary point
- My complex project dependencies
- Some great lightweight graphics libraries: CPU 2D rendering, JPEG+PNG loading
- Wow! SPARC CPU on an FPGA, and ideas of a classic Macintosh FPGA
- Ideas on creating "vendoring generating" software packages
- Simple 8-bit CPU revisited
- Compute a carry bit in software, shift right in software, "find first set" instructions
- Build a table of logarithms using integer arithmetic
- Compute square roots with binary integer arithmetic, and discussion of shifting without shift instructions
- Interesting optimization issues with Java software
- How to build a keyboard controller in pure hardware circuits
- Very interesting modern 8-bit computer design
- CRC-32 is reasonably easy to compute
- Review of Macintosh Classic software development tools, and also evolution of ROM/BIOS programming
- Reflection on the trouble of bloat in popular software
- Explaining fast and efficient factorization
- Fun with generics programming in C
- Documentation in new software projects is hard
- Moving fast and being organized go together
- Key features and APIs to emulate in a minimal computer system
- Bresenham's line plotting algorithm explained
- Windows equivalent of Linux system calls? No.
- Type-in arbitrary binary files on various operating systems
- How remote syslog works, and how to use it with Docker
- Code golf
- Register allocation considerations in a compiler
- Plans on constructing a simple pipe implementation, and other ideas for a simple operating system
- Get information about area in program where signal occurred
- Discussion on implementing hardware parallel arithmetic
- Some very useful Wikipedia articles on circuits
- The story behind `tuxcall` in Linux?
- Simplistic gate array simulation discussion
- Bi-directional communication on a parallel port
- SLIP and TFTP are really easy to implement and use
- Run Linux on an Xbox 360
- Libre RISC-V M-Class -- Competitive Progress
- Front panel control switch discussion, and TV Typewriter
- gcc-ia16 is the successor to bcc
- Other miniature libc implementations
- String hashing algorithms and psychology
- Compile-time hashes
- The theory behind software test
- Exciting progress on the custom RISC-V project
- Reusable linked list code algorithms
- Null pointers
- Chrome extension to reformat paragraphs?
- Standard bit widths
- Constructors, destructors, compilers, and standard C library
- Tiny C libraries and programs
- Source-to-source translator that can translate target updates to source updates?
- Discussion on memory buffer implementation and network updates
- Explaining how a B-tree stays balanced
- Minimal features for text editors
- Weird Unix things, software bugs, and programming "must-haves"
- Interesting details about the MIPS architecture
- ARM syscall interface details, more cross compiling, and connect NTP to your Raspberry Pi Zero via USB gadgets mode
- More memory allocation algorithms
- Other hardware with more processor architectures for me to program
- Discussion on interrupts for I/O
- More notes on a minimal C standard library
- More ARM/MIPS Linux syscall programming notes, and more on cross-compiling
- ARM/MIPS Linux syscall programming notes, and cross-compile information
- Better ideas for tiny computer architectures
- Linux system calls, sbrk()
- Can GCC inline specific function calls?
- Poor man's JTAG programmer
- More optimized array looping in C
- What exactly is the stack?
- Apple II monitor as a modern application
- Components of a full public domain operating system
- More info on compilers
- Processor interrupts preventing useful progress