diff --git a/20150403.html b/20150403.html
new file mode 100644
index 0000000..ddf0f6e
--- /dev/null
+++ b/20150403.html
@@ -0,0 +1,19 @@
+
+
20150403 - Why I'm Using Fedex From Now On
+
+
+
+
+
+
+Payed extra to have a 100 lbs UPS package delayed a day so I could ensure I'd be there to sign for it on Friday (was out of town Thursday), very important to me that I get the package before the weekend. This required the hassle to sign up for a UPS account and pay extra to have it delayed a day. Website accepts the money and provides an estimate delivery of 11am - 3pm. Delivery day at home waiting, 3pm rolls around and no package. Use the online chat, let them know something is wrong, double check the online tracking and I don't see a "Out For Delivery" on the tracking webpage. The first online chat I tell them something is wrong, they say no everything is fine. I ask is the package on a local truck for delivery, they say yes, then tell me to wait around until the end of the day which is 7pm. I ask for confirmation, they say yes it will make it by 7pm. Then an hour passes, I use the UPS online chat again, saying the tracking webpage still does not say "Out For Delivery", I tell them again something is wrong, and again they tell me I'm wrong. I ask for a guarantee that the package is in-fact on a local truck with a guaranteed delivery today, I wait, they again confirm and say that for sure I will get the page by 7pm. I wait around until 7pm. Still no package after waiting for 8 hours. I call their customer support line, asking where is the package, they put me on hold for 30 minutes. Then 5 or so more minutes saying I can pick it up tomorrow at a location which is 15 minutes away. They say the package is there at a pickup location which is 15 minutes away but closes at 8pm. With roughly 17 minutes to get there, I speed over, manage to get to the UPS location with a few minutes to spare. Sharing the building with a bunch of other random people who are also waiting for something. 8pm rolls around and they lock us in the building so no one else can enter after close. They cannot seem to find my package, they tell me the person on the phone lied and the page isn't in the building. Person by person, they give excuses of why they cannot get their package. One woman got confirmation that her package was pulled and ready for pickup. Except it was left on a trailer next store, and they cannot get the package until next Monday. Roughly 30 minutes of waiting they tell me the same line. My package is right next store in the warehouse on a truck which cannot be "sorted" until Sunday at midnight. Even UPS has Saturday delivery, they won't bother to just take the package off their truck on the weekend. UPS has managed a rare perfect score in the "ensure your customer will never use your service ever again if they have a choice not too" category!
+
+
+
+
+
+
+
+
+
+
+
+
+
+There are a bunch of people working-on and succeeding in non-triangle rendering. With GPU perf still climbing IMO it is possible to return to the golden age of a different kind of software rendering: the kind done in a pipeline built out of compute shaders.
+
+In my sphere tracing of math based SDF fields I was purely ALU bound, tracing to the limit of floating point precision. The largest performance win was found by doing a many-level hierarchical trace (starting with very coarse grain empty space skipping). But the limit of all this is just a log reduction of the number of steps in the search, still requires many search steps per pixel. And when doing a memory based trace (instead of a math based trace) the search is just a very long latency chain with divergent access patterns. Tracing via searching on the GPU hits a wall. To make matters worse when tracing, the ALU units are loaded up with work involved in tracing, instead of something useful.
+
+The alternative to this is to switch to a mostly scatter based design. A large amount of the tree structure traversed each frame in a gather based approach is similar across frames. Why not just have the tree stored mostly expanded in memory based on the needs of the view. Then expand or collapse the tree based on the new visibility needs of the next frame. Rendering is then a mostly scatter process which reads leaves in the tree once. Reads of memory can now be coherent, and ALU can be used for things more interesting than search. Scatter will be somewhat divergent, but that cost can be managed by loading up enough useful ALU work in parallel. There are a lot of ways to skin this. Nodes of the tree can be bricks. Bricks can be converted into little view based depth sprites, then binned into tiles and composited. Seems as if bricks converted into triangle meshes and rasterized is the popular path now, but still using the CPU to feed everything. This could get much more interesting when the GPU is generating the cached geometry bricks: artistically controlled procedual volume generation...
+
+
+
+
+
+
+
+