https://cbloomrants.blogspot.com/2009/06/06-17-09-inverse-box-sampling-part-2.html
cbloom rants: 06-17-09 - Inverse Box Sampling - Part 2
Okay, in Part 1.5 I asked about the downsample that was the best inverse of bilinear upsampling. I have a solution that pleases me. Se...
cbloomrantsinverseboxsampling
https://cbloomrants.blogspot.com/2010/08/08-31-10-loop.html?showComment=1283391314598
cbloom rants: 08-31-10 - LOOP
Every once in a while I think this is a good idea : #define LOOP(var,count) for(int var=0;(var) =0;var--) but then I never wind up usi...
cbloomrantsloop
https://cbloomrants.blogspot.com/2009/02/02-10-09-image-compression-blues.html
cbloom rants: 02-10-09 - Image Compression Blues
Good lord the world of image compression is so screwed up. There's no standard image test set (the old Kodak images are archaic, and even...
image compressioncbloomrantsblues
https://cbloomrants.blogspot.com/2009/03/03-01-09-clean-up.html?showComment=1236071460000
cbloom rants: 03-01-09 - Clean Up
It does actually help to clean up your machine from time to time. One issue is that NTFS dir listing on large dirs is really slow, so huge...
cbloomrantsclean
https://cbloomrants.blogspot.com/2009/02/02-01-09-swap-and-templates-part-2.html?showComment=1233630960000
cbloom rants: 02-01-09 - Swap and Templates Part 2
So I'm back into the nightmare of std::swap and template overloading. I've been working on my cb::hash_table a bit, which I built on cb::...
cbloomrantsswaptemplatespart
https://cbloomrants.blogspot.com/2010/09/09-04-10-holy-fuck-balls.html?showComment=1283794728768
cbloom rants: 09-04-10 - Holy fuck balls
holy fuckcbloomrantsballs
https://cbloomrants.blogspot.com/2011/10/10-12-11-post-backpacking-recalibration.html
cbloom rants: 10-12-11 - Post-backpacking Recalibration
1. 65 degree house is fucking blazing hot at night. 2. Of course I'll walk a mile in the rain to get lunch. No big deal. 3. Everythin...
cbloomrantspostbackpackingrecalibration
https://cbloomrants.blogspot.com/2014/02/02-03-14-understanding-ans-5.html
cbloom rants: 02-03-14 - Understanding ANS - 5
First in case you aren't following them already, you should follow along with ryg and Yann as we all go through this : RealTime Data Compr...
cbloomrantsunderstandingans
https://cbloomrants.blogspot.com/2009/03/03-07-09-malloc.html?showComment=1236902520000
cbloom rants: 03-07-09 - Malloc
Arseny Kapoulkine has a nice new blog post about replacing CRT malloc . I looked into it a while ago and gathered these links on the s...
cbloomrantsmalloc
https://cbloomrants.blogspot.com/2012/09/09-23-12-patches-and-deltas.html?showComment=1348451028068
cbloom rants: 09-23-12 - Patches and Deltas
addendum: the description of how rsync/rdiff works here is not correct. They use a different method. See later posts. A while ago Jon p...
cbloomrantspatchesdeltas
https://cbloomrants.blogspot.com/2009/09/09-29-09-aliasing-is-pretty.html?showComment=1254257928048
cbloom rants: 09-29-09 - Aliasing is Pretty
I made some images of aliasing/moiray patterns : (BTW inherent to these images is the fact that they don't look at all right except at fu...
cbloomrantsaliasingpretty
https://cbloomrants.blogspot.com/2010/10/10-11-10-deunicode-v10.html?showComment=1318437472399
cbloom rants: 10-11-10 - DeUnicode v1.0
cbloomrants
https://cbloomrants.blogspot.com/2012/06/06-19-12-two-learnings.html
cbloom rants: 06-19-12 - Two Learnings
Two things that I got wrong in the past and have only recently come around to what I believe is the right way. 1. Use pointer-sized ints...
cbloomrantstwolearnings
https://cbloomrants.blogspot.com/2012/05/05-30-12-on-c-atomic-fences.html
cbloom rants: 05-30-12 - On C++ Atomic Fences
C++0x's atomic_thread_fence is weird. Preshing asked some questions and pointed out some errors in this blog post which has got me to loo...
on ccbloomrantsatomicfences
https://cbloomrants.blogspot.com/2014/02/02-25-14-wifi.html?showComment=1395759752506
cbloom rants: 02-25-14 - WiFi
So our WiFi stopped working recently, and I discovered a few things which I will now write down. First of all, WiFi is fucked. 2.4 GHz i...
cbloomrantswifi
https://cbloomrants.blogspot.com/2011/07/07-27-11-callimport.html
cbloom rants: 07-27-11 - CALL_IMPORT
cbloomrantscallimport
https://cbloomrants.blogspot.com/2012/03/03-08-12-oodle-coroutines.html?showComment=1331302280512
cbloom rants: 03-08-12 - Oodle Coroutines
I wrote a year ago ( 03-11-11 | Worklets , IO , and Coroutines ) about coroutines for doing tasks with external delays. (a year ago! wtf) ...
cbloomrantsoodlecoroutines
https://cbloomrants.blogspot.com/2009/02/02-19-09-of-code-and-old-boss-stories.html?showComment=1235075760000
cbloom rants: 02-19-09 - Of Code and Old Boss Stories
I think every good programmer is defensive about their code. It's like a good chef or any good artist, if you find someone who doesn't ca...
and oldcbloomrants
https://cbloomrants.blogspot.com/2012/10/10-04-12-hash-link-match-finder-tricks.html
cbloom rants: 10-04-12 - Hash-Link match finder tricks
match findercbloomrantshashtricks
https://cbloomrants.blogspot.com/2010/12/12-11-10-perceptual-notes-of-day.html
cbloom rants: 12-11-10 - Perceptual Notes of the Day
You have to constantly be aware of how you're pooling data. There's no a-priori reason to prefer one way or the other; when a human looks a...
of thecbloomrantsperceptualnotes
https://cbloomrants.blogspot.com/2009/06/06-22-09-redraw-dilemma.html?showComment=1245735175261
cbloom rants: 06-22-09 - Redraw Dilemma
This apartment searching is really annoying me. I can't handle having "many balls in the air" ; when I put something on my todo list, I l...
cbloomrantsredrawdilemma
https://cbloomrants.blogspot.com/2016/07/improving-compression-of-block.html
cbloom rants: Improving the compression of block-compressed textures
ADD: the best solution for this now is our new product Oodle Texture I'm leaving this post for historical reference, but it is now obso...
cbloomrantsimprovingcompressionblock
https://cbloomrants.blogspot.com/2012/10/10-22-12-windows-7-start-menu-input-race.html?showComment=1350950252625
cbloom rants: 10-22-12 - Windows 7 Start Menu Input Race
I've been super annoyed by some inconsistent behavior in the Windows 7 start menu for a while now. Sometimes I hit "Start - programname - en...
start menucbloomrants
https://cbloomrants.blogspot.com/2012/10/10-02-12-small-note-on-buffered-io.html?showComment=1349212541713
cbloom rants: 10-02-12 - Small note on Buffered IO Timing
On Windows, Oodle by default uses OS buffering for reads and does not use OS buffering for writes. I believe this is the right way to go 99...
small notecbloomrants
https://cbloomrants.blogspot.com/2012/09/09-11-12-lz-minmatchlen-and-parse.html?showComment=1347548726632
cbloom rants: 09-11-12 - LZ MinMatchLen and Parse Strategies
I've been thinking about this and want to get my thoughts down while they're (somewhat) clear. We've seen in the past that changing the L...
cbloomrantslzparsestrategies
https://cbloomrants.blogspot.com/2011/12/12-05-11-surprising-producer-consumer.html
cbloom rants: 12-05-11 - Surprising Producer-Consumer Failures
I run into these a lot, so let's have a quick glance at why they happen. You're trying to do something like : Thread1 : Produce 1 sem...
producer consumercbloomrantssurprisingfailures
https://cbloomrants.blogspot.com/2018/05/
cbloom rants: 05/2018
cbloomrants
https://cbloomrants.blogspot.com/2010/09/09-14-10-threaded-stdio.html?showComment=1284607153816
cbloom rants: 09-14-10 - Threaded Stdio
Many people know that fgetc is slow now because we have to link with multithreaded libs, and so it does a mutex and all that. Yes, that is t...
cbloomrantsthreadedstdio
https://cbloomrants.blogspot.com/2009/09/09-26-09-habits-code-inlining.html
cbloom rants: 09-26-09 - Habits - Code Inlining
There's been an off and on discussion with some peers in email about the issue of putting small code functionality directly inline in a bi...
cbloomrantshabitscodeinlining
https://cbloomrants.blogspot.com/2009/01/01-05-09-paging.html
cbloom rants: 01-05-09 - Paging
Somebody sent me this paper : "I3D09 A Novel Page-Based Data Structure for Interactive Walkthroughs.pdf" a little while ago. While t...
cbloomrantspaging
https://cbloomrants.blogspot.com/2011/11/11-22-11-mature-programmer.html?showComment=1322977910581
cbloom rants: 11-22-11 - The Mature Programmer
1. The Mature Programmer The mature programmer manages their own time and productivity well. The MP knows that maintenance is as much wo...
cbloomrantsmatureprogrammer
https://cbloomrants.blogspot.com/2011/07/07-29-11-problem-with-software.html?showComment=1312050016648
cbloom rants: 07-29-11 - The problem with software
The problem with software is that it allows you to do lots of complicated things that you probably shouldn't. Why is adaptive power steer...
the problemcbloomrantssoftware
https://cbloomrants.blogspot.com/2011/06/06-17-11-c-casting-is-devil.html?showComment=1310576285632
cbloom rants: 06-17-11 - C casting is the devil
C-style casting is super dangerous, as you know, but how can you do better? There are various situations where I need to cast just to mak...
cbloomrantscastingdevil
https://cbloomrants.blogspot.com/2012/06/06-01-12-on-c-atomic-fences-part-3.html?showComment=1338761496080
cbloom rants: 06-01-12 - On C++ Atomic Fences Part 3
Finally a small note of confusion. There are cases where I think "what I need is a #StoreLoad", but a seq_cst fence doesn't work, and chang...
on ccbloomrants
https://cbloomrants.blogspot.com/2009/
cbloom rants: 2009
cbloomrants
https://cbloomrants.blogspot.com/2011/04/04-01-11-dirty-coder-tricks.html?showComment=1301703953914
cbloom rants: 04-01-11 - Dirty Coder Tricks
A friend reminded me recently that one of the dirtiest tricks you can pull as a coder is simply to code something up and get it working. ...
cbloomrantsdirtycodertricks
https://cbloomrants.blogspot.com/2011/01/01-12-11-imdiff-sample-run-and-jxr-test.html?showComment=1294951779121
cbloom rants: 01-12-11 - ImDiff Sample Run and JXR test
This is the output of a hands-off fully automatic run : (on lena 512x512 RGB ) : I was disturbed by how bad JPEG-XR was sho...
cbloomrants
https://cbloomrants.blogspot.com/2012/07/07-15-12-libpng-dll-delay-load.html?showComment=1343197830179
cbloom rants: 07-15-12 - libpng DLL Delay Load
cblib for a long time has used libpng , which creates a damn DLL dependency. Annoyingly, that happens at app startup, which means even if y...
cbloomrantslibpngdlldelay
https://cbloomrants.blogspot.com/2018/02/oodle-260-hydra-and-space-speed.html
cbloom rants: Oodle 2.6.0 : Hydra and space-speed flexibility
Oodle is an SDK for high performance lossless data compression. For more about Oodle, or licensing inquiries, visit the RAD Game Tools web...
cbloomrantsoodle
https://cbloomrants.blogspot.com/2011/09/09-26-11-tiny-suffix-note.html?showComment=1317124730302
cbloom rants: 09-26-11 - Tiny Suffix Note
Obviously there are lots of analogies between suffix tries and suffix arrays. This old note about suffix arrays which provides O(N) ne...
cbloomrantstinysuffixnote
https://cbloomrants.blogspot.com/2010/11/11-09-10-new-technology-fucking-blows.html?showComment=1289496852530
cbloom rants: 11-09-10 - New Technology Fucking Blows
I recently "upgraded" to an HDTV and a PS3 and have been watching some Blu Rays. WTF. Why didn't you all tell me this is a fucking dis...
new technologycbloomrantsfuckingblows
https://cbloomrants.blogspot.com/2009/02/02-16-09-low-level-threading-junk-part.html?showComment=1234909680000
cbloom rants: 02-16-09 - Low Level Threading Junk Part 2.5
Back to threading. See the old posts to catch up . We talked a bit about memory models and singletons and such in the last section. On...
low level
https://cbloomrants.blogspot.com/2011/07/
cbloom rants: 07/2011
cbloomrants
https://cbloomrants.blogspot.com/2014/02/02-25-14-wifi.html?showComment=1393444813051
cbloom rants: 02-25-14 - WiFi
So our WiFi stopped working recently, and I discovered a few things which I will now write down. First of all, WiFi is fucked. 2.4 GHz i...
cbloomrantswifi
https://cbloomrants.blogspot.com/2011/05/05-20-11-lzp1-variants.html?showComment=1306231358280
cbloom rants: 05-20-11 - LZP1 Variants
LZP = String match compression using some predictive context to reduce the set of strings to match LZP1 = variant of LZP without any entr...
cbloomrantsvariants
https://cbloomrants.blogspot.com/2009/01/01-10-09-simple-image.html?showComment=1231978440000
cbloom rants: 01-10-09 - Simple Image
libPNG is such overcomplicated shizzle. I could easily make a little image format that was just BMP with a LZ that was like maybe 1000 li...
cbloomrantssimpleimage
https://cbloomrants.blogspot.com/2014/02/02-25-14-ans-applications.html?showComment=1393364701734
cbloom rants: 02-25-14 - ANS Applications
Some rambling on where I see ANS being useful. In brief - anywhere you used Huffman in the past, you can use ANS instead. ANS (or ABS)...
cbloomrantsansapplications
https://cbloomrants.blogspot.com/2009/01/01-14-09-allocator-alignment.html?showComment=1232083020000
cbloom rants: 01-14-09 - Allocator Alignment
I like it when allocations of size N are aligned to the next lowest power of 2 below N. So eg. an allocation of 4000 bytes is aligned t...
cbloomrantsallocatoralignment
https://cbloomrants.blogspot.com/2020/07/performance-of-various-compressors-on.html
cbloom rants: Performance of various compressors on Oodle Texture RDO data
Oodle Texture RDO can be used with any lossless back-end compressor. RDO does not itself make data smaller, it makes the data more compres...
cbloomrantsperformancevarious
https://cbloomrants.blogspot.com/2010/05/05-27-10-loop-branch-inversion.html
cbloom rants: 05-27-10 - Loop Branch Inversion
A major optimization paradigm I'm really missing from C++ is something I will call "loop branch inversion". The problem is for code sharing...
cbloomrantsloopbranchinversion
https://cbloomrants.blogspot.com/2012/10/10-22-12-windows-7-start-menu-input-race.html?showComment=1351097597109
cbloom rants: 10-22-12 - Windows 7 Start Menu Input Race
I've been super annoyed by some inconsistent behavior in the Windows 7 start menu for a while now. Sometimes I hit "Start - programname - en...
start menucbloomrants
https://cbloomrants.blogspot.com/2011/10/10-18-11-to-wrap-it-up-or-move-on.html
cbloom rants: 10-18-11 - To wrap it up or move on
One of the things I've really struggled with in the last few years at RAD is the trade off between wasting time on a side shoot of the main ...
wrap it up
https://cbloomrants.blogspot.com/2010/08/08-20-10-deobfuscating-lzma.html
cbloom rants: 08-20-10 - Deobfuscating LZMA
I've been trying to figure out LZMA for a while, if anyone can help please chime in. LZMA is very good, and also very obscure. While the...
cbloomrantslzma
https://cbloomrants.blogspot.com/2017/07/well-crap.html?showComment=1504514362063
cbloom rants: Well Crap
I was cleaning my blog, deleting a bunch old posts, and accidentally deleted some I didn't want to. I'm going to repost a few, so if you ha...
cbloomrantswellcrap
https://cbloomrants.blogspot.com/2010/11/11-05-10-brief-note-on-perceptual.html
cbloom rants: 11-05-10 - Brief note on Perceptual Metric Mistakes
A lot of perceptual metrics have some weird ideas about things that are important. Some things that are not actually important : 1. Symm...
brief notecbloomrants
https://cbloomrants.blogspot.com/2009/01/01-10-09-simple-image.html?showComment=1231955580000
cbloom rants: 01-10-09 - Simple Image
libPNG is such overcomplicated shizzle. I could easily make a little image format that was just BMP with a LZ that was like maybe 1000 li...
cbloomrantssimpleimage
https://cbloomrants.blogspot.com/2009/05/05-26-09-storing-floating-points.html?showComment=1243525913513
cbloom rants: 05-26-09 - Storing Floating Points
I rambled a bit before about how to store floating point images . I think I have the awesome solution. First of all there are two iss...
cbloomrantsstoringfloatingpoints
https://cbloomrants.blogspot.com/2009/06/06-17-09-dxtc-more-followup.html?showComment=1353851076835
cbloom rants: 06-17-09 - DXTC More Followup
I finally came back to DXTC and implemented some of the new slightly different techniques. ( summary of my old posts ) See the : NV...
cbloomrantsfollowup
https://cbloomrants.blogspot.com/2010/11/11-19-10-games-without-strings.html?showComment=1290980096030
cbloom rants: 11-19-10 - Games without Strings
Quite a number of major video games have shipped with embarassingly large amounts of time spent in "strcmp" and embarassingly large amounts ...
cbloomrantsgameswithoutstrings
https://cbloomrants.blogspot.com/2009/02/02-16-09-amusing-word-problem.html?showComment=1234909680000
cbloom rants: 02-16-09 - Amusing Word Problem
Found this and it confused me for a second : in a country in which people only want boys, every family continues to have children unti...
cbloomrantsamusingwordproblem
https://cbloomrants.blogspot.com/2012/09/09-23-12-patches-and-deltas.html?showComment=1348454272032
cbloom rants: 09-23-12 - Patches and Deltas
addendum: the description of how rsync/rdiff works here is not correct. They use a different method. See later posts. A while ago Jon p...
cbloomrantspatchesdeltas
https://cbloomrants.blogspot.com/2010/06/06-20-10-some-notes-on-png.html?showComment=1277117543095
cbloom rants: 06-20-10 - Some notes on PNG
Before we go further, lets have a look at PNG for reference. Base PNG by default does : Filter 5 = "adaptive" - choose from [0..4] p...
some notescbloomrantspng
https://cbloomrants.blogspot.com/2010/05/05-29-10-x64-so-far.html
cbloom rants: 05-29-10 - x64 so far
x64 linkage that's been useful so far : __asm__ cmpxchg8bcmpxchg16b - comp.programming.threads Google Groups _InterlockedCompareExcha...
cbloomrantsfar
https://cbloomrants.blogspot.com/2012/07/07-15-12-libpng-dll-delay-load.html?showComment=1342399973372
cbloom rants: 07-15-12 - libpng DLL Delay Load
cblib for a long time has used libpng , which creates a damn DLL dependency. Annoyingly, that happens at app startup, which means even if y...
cbloomrantslibpngdlldelay
https://cbloomrants.blogspot.com/2020/08/oodle-2811-with-rdo-for.html
cbloom rants: Oodle 2.8.11 with RDO for BC1_WithTransparency
Oodle Texture 2.8.11 adds support for RDO encoding of "BC1_WithTransparency" and BC2. We now support RDO encoding of all BC1-7 variants. ...
cbloomrantsoodle
https://cbloomrants.blogspot.com/2021/01/avif-test.html?showComment=1610473855472
cbloom rants: AVIF Test
AVIF is an image format derived from I-frames of AV1 video (similar to HEIC/HEIF from H265/HEVC). See also my 2014 Test of BPG , which i...
cbloomrantsaviftest
https://cbloomrants.blogspot.com/2010/11/11-12-10-some-notes-on-function.html?showComment=1290041372753
cbloom rants: 11-12-10 - Some notes on function approximation by iteration
People often blindly use Newton-Raphson method to iteratively improve function approximations. It's worth taking a moment to think about wh...
some notes
https://cbloomrants.blogspot.com/2013/03/03-06-13-sympathy-for-library-writer.html?showComment=1363043209231
cbloom rants: 03-06-13 - Sympathy for the Library Writer
Over the years of being a coder who was a library-consumer and not a library-writer, I've done my share of griping about annoying API's or w...
for thecbloomrantssympathylibrary
https://cbloomrants.blogspot.com/2020/09/how-oodle-kraken-and-oodle-texture.html?showComment=1605994955519
cbloom rants: How Oodle Kraken and Oodle Texture supercharge the IO system of the Sony PS5
The Sony PS5 will have the fastest data loading ever available in a mass market consumer device, and we think it may be even better than yo...
https://cbloomrants.blogspot.com/2010/10/10-26-10-image-comparison-hipix-vs-pdi.html
cbloom rants: 10-26-10 - Image Comparison - Hipix vs PDI
If you actually want to make a fair test vs. JPEG : 1. Don't test JPEG at quality levels below 40, it doesn't work. 2. Don't compare t...
image comparisoncbloomrantsvspdi
https://cbloomrants.blogspot.com/2008/11/11-11-08-reyes.html?showComment=1226536560000
cbloom rants: 11-11-08 - REYES
Gritz' course on Renderman : To Infinity and Beyond is the best reference I've found on REYES. I'm still curious about the details of h...
cbloomrantsreyes
https://cbloomrants.blogspot.com/2012/05/05-27-12-prefer-push-restore-to-push.html?showComment=1338488534080
cbloom rants: 05-27-12 - Prefer Push-Restore to Push-Pop
It's a standard paradigm to use a Stack for a subsystem which parallels the execution stack. Some common examples : profilers that push/p...
cbloomrantspreferpushrestore
https://cbloomrants.blogspot.com/2013/03/03-01-13-zopfli.html?showComment=1362438508541
cbloom rants: 03-01-13 - Zopfli
zopfli seems to make small zips. There's no description of the algorithm so I can't comment on it. But hey, if you want small zips it se...
cbloomrants
https://cbloomrants.blogspot.com/2009/02/02-16-09-amusing-word-problem.html?showComment=1234908300000
cbloom rants: 02-16-09 - Amusing Word Problem
Found this and it confused me for a second : in a country in which people only want boys, every family continues to have children unti...
cbloomrantsamusingwordproblem
https://cbloomrants.blogspot.com/2020/09/how-oodle-kraken-and-oodle-texture.html?showComment=1611764589804
cbloom rants: How Oodle Kraken and Oodle Texture supercharge the IO system of the Sony PS5
The Sony PS5 will have the fastest data loading ever available in a mass market consumer device, and we think it may be even better than yo...
https://cbloomrants.blogspot.com/2009/02/02-01-09-swap-and-templates-part-2.html?showComment=1233606300000
cbloom rants: 02-01-09 - Swap and Templates Part 2
So I'm back into the nightmare of std::swap and template overloading. I've been working on my cb::hash_table a bit, which I built on cb::...
cbloomrantsswaptemplatespart
https://cbloomrants.blogspot.com/2015/02/02-07-15-lzma-note.html
cbloom rants: 02-07-15 - LZMA note
First a big raw bunch of raw text I previously wrote, then nicer blog afterward : I just had a look in the LZMA code and want to write ...
cbloomrantslzmanote
https://cbloomrants.blogspot.com/2010/05/05-26-10-windows-7-snap.html
cbloom rants: 05-26-10 - Windows 7 Snap
My beloved "AllSnap" doesn't work on Windows 7 / x64. I can't find a replacement because fucking Windows has a feature called "Snap" now, s...
cbloomrantswindowssnap
https://cbloomrants.blogspot.com/2014/02/02-25-14-ans-applications.html?showComment=1393368813656
cbloom rants: 02-25-14 - ANS Applications
Some rambling on where I see ANS being useful. In brief - anywhere you used Huffman in the past, you can use ANS instead. ANS (or ABS)...
cbloomrantsansapplications
https://cbloomrants.blogspot.com/2011/03/
cbloom rants: 03/2011
cbloomrants
https://cbloomrants.blogspot.com/2011/07/07-10-11-mystery-do-you-ever-need-total.html?showComment=1310523653117
cbloom rants: 07-10-11 - Mystery - Do you ever need Total Order (seq_cst) -
The seq_cst memory model ops in C++0x are very mysterious to me. In particular, when exactly do you need them and why? Let's talk about som...
https://cbloomrants.blogspot.com/2015/10/
cbloom rants: 10/2015
cbloomrants
https://cbloomrants.blogspot.com/2010/11/11-19-10-games-without-strings.html
cbloom rants: 11-19-10 - Games without Strings
Quite a number of major video games have shipped with embarassingly large amounts of time spent in "strcmp" and embarassingly large amounts ...
cbloomrantsgameswithoutstrings
https://cbloomrants.blogspot.com/2009/02/02-23-09-low-level-threading-annotated.html?showComment=1235460480000
cbloom rants: 02-23-09 - Low Level Threading - Annotated Linkies
Part 1 : Background Stuff about C++0x. I now believe that C++0x is the right way to talk about multi-threading. You require the bas...
low levelcbloomrantsthreadingannotated
https://cbloomrants.blogspot.com/2010/08/08-02-10-spu-developing.html?showComment=1281338988537
cbloom rants: 08-02-10 - SPU Developing
Programming for the SPU might be really fun if it didn't take like 10 minutes to get the debugger loaded. The whole MSVC editor-is-my-deb...
cbloomrantsspudeveloping
https://cbloomrants.blogspot.com/2010/07/07-27-10-2d-arrays.html?showComment=1280301057276
cbloom rants: 07-27-10 - 2d arrays
Some little things I often forget and have to search for. Say you need to change a stack two dimensional array : int array[7][3]; i...
cbloomrantsarrays
https://cbloomrants.blogspot.com/2012/07/07-15-12-libpng-dll-delay-load.html?showComment=1343089759188
cbloom rants: 07-15-12 - libpng DLL Delay Load
cblib for a long time has used libpng , which creates a damn DLL dependency. Annoyingly, that happens at app startup, which means even if y...
cbloomrantslibpngdlldelay
https://cbloomrants.blogspot.com/2010/08/08-31-10-loop.html?showComment=1283467387092
cbloom rants: 08-31-10 - LOOP
Every once in a while I think this is a good idea : #define LOOP(var,count) for(int var=0;(var) =0;var--) but then I never wind up usi...
cbloomrantsloop
https://cbloomrants.blogspot.com/2010/07/
cbloom rants: 07/2010
cbloomrants
https://cbloomrants.blogspot.com/2010/08/08-12-10-lost-huffman-paper.html?showComment=1281660665732
cbloom rants: 08-12-10 - The Lost Huffman Paper
"On the Implementation of Minimum Redundancy Prefix Codes" by Moffat and Turpin , 1997 , is a brilliant work that outlines very clearly th...
the lostcbloomrantshuffmanpaper
https://cbloomrants.blogspot.com/2012/03/03-08-12-oodle-coroutines.html?showComment=1331282021241
cbloom rants: 03-08-12 - Oodle Coroutines
I wrote a year ago ( 03-11-11 | Worklets , IO , and Coroutines ) about coroutines for doing tasks with external delays. (a year ago! wtf) ...
cbloomrantsoodlecoroutines
https://cbloomrants.blogspot.com/2011/11/11-30-11-basic-sketch-of-worker-thread.html
cbloom rants: 11-30-11 - Basic sketch of Worker Thread system with dependencies
You have a bunch of worker threads and work items. Work items can be dependent, on other work items, or on external timed events (such as I...
https://cbloomrants.blogspot.com/2016/02/
cbloom rants: 02/2016
cbloomrants
https://cbloomrants.blogspot.com/2008/12/12-26-08-in-defense-of-less-typing.html?showComment=1230540720000
cbloom rants: 12-26-08 - In Defense of Less Typing
In the C++ rant we got a bit into the discussion of "that just reduces typing". It's become a common wisdom these days that "anything tha...
in defense ofcbloomrantslesstyping
https://cbloomrants.blogspot.com/2010/06/06-15-10-end-of-ad-hoc-computer.html?showComment=1276674583821
cbloom rants: 06-15-10 - The end of ad-hoc computer programming
I think we are in an interesting period where the age of the "guerilla" "seat of the pants" , eg. ad-hoc, programmer is ending. For the last...
the end
https://cbloomrants.blogspot.com/2009/09/09-08-09-dxtc-addendum.html
cbloom rants: 09-08-09 - DXTC Addendum
Ryg pointed out that there are a few very important little details that I took for granted and didn't mention in my original DXTC postin...
cbloomrantsaddendum
https://cbloomrants.blogspot.com/2017/07/well-crap.html?showComment=1523581949128
cbloom rants: Well Crap
I was cleaning my blog, deleting a bunch old posts, and accidentally deleted some I didn't want to. I'm going to repost a few, so if you ha...
cbloomrantswellcrap
https://cbloomrants.blogspot.com/2013/04/04-04-13-oodle-compression-on-bc1-and.html?showComment=1365542731933
cbloom rants: 04-04-13 - Oodle Compression on BC1 and WAV
I put some stupid filters in, so here are some results for the record and my reference. BC1 (DXT1/S3TC) DDS textures : All compress...
cbloomrantsoodlecompressionwav
https://cbloomrants.blogspot.com/2011/10/10-27-11-tiny-lz-decoder.html
cbloom rants: 10-27-11 - Tiny LZ Decoder
I get 17 bytes for the core loop (not including putting the array pointers in registers because presumably they already are there if you car...
cbloomrantstinylzdecoder
https://cbloomrants.blogspot.com/2012/09/09-01-12-lzp1h.html
cbloom rants: 09-01-12 - LZP1.h
In my continuing STB-ificiation of old code, I did a single file header version of the original "LZP1" (this is "LZP1b" in the nomenclature...
cbloomrantsh