Tuesday, November 07, 2017

Cleaning out a code repository

Capturing this for later deep dive, but if I want to cleanup a source repo for a quick drop somewhere else here's the types of files that usually take up YUGE space compared to the source code:

*.pix3, *.pdb, *.pch, *.ipch, *.db, careful with this one: *.lib

these afaik are not picked up by the default visual studio 'clean build' command, however *.obj will (and probably *.lib if part of the build process, but have not verified).

Friday, August 25, 2017

outlook 2016 slow rendering when switching between views

i disabled graphics acceleration to solve this issue. no idea why that worked but it does.


Wednesday, August 23, 2017

windows 10 icons look HUGE!

turn off scaling in display settings, was not doing me any favors and looked terrible.

usb 3.0 interference

had an interference issue in the past...wonder if it was related to this. explore later.


Sunday, August 06, 2017

Vulkan SDK and building your first demo

i wanted to build my own texture mapped rotating cube from an empty project. haven't gotten that conpleted yet because i spent quite a bit of time exploring what was in the lunarG SDK.

after looking at the DEMOS directory I decided to see what it would take to build that source in another separate project. here's what i wrote down along the way:

Building a basic vulkan sdk app based on the Vulkan SDK DEMO (not sample)….  cube.c located in the directory: C:\VulkanSDK\\Demos

  1. Actually create a *.c file instead of a *.cpp file..because there are non MSVC C++ compiler 'features' exploited like init'ing structs without the full declarations.
  2. Change to an x64 build instead of x86 (you can find a way out of this but I don't need a 32 bit app anymore)
  3. Add the path to the include directories to the Vulkan SDK includes: C:\VulkanSDK\\Include
  4. Change the character set to 'not set' because they didn't use unicode
  5. Add a library path: The library path needs to include the path that points to vulkan-1.lib, something like: C:\VulkanSDK\\Lib
  6. Add the library to the library line: vulkan-1.lib
  7. Copy the set of -D flags from cube.c to the new workspace. I don't know/care exactly what the flags are right now, but mostly this sorts through the various Oss for WinMain vs. main for example. 
  8. Copy cube_frag.spv and cube_vert.spv to the directory. I will look at the source for these shaders in the future, not right now. This is specifically for the DEMOs.

From what I can tell, [1] is leveraging some default compiler behavior to initialize non initialized values. 
To resolve the 'unrsesolved WinMain() see [6]'

Wednesday, May 03, 2017

Can I have multiple versions of the Windows SDK installed and switch between them?


when you compile in Visual Studio it will give you the option of which SDK to link to. sweetness.

Tuesday, May 02, 2017

Windows SDK errors about incompatible versions...

Got an error along the lines of 'hey, your version of the Windows SDK is newer than the one this project/solution was built with', retarget the solution or the projects. Trying to use the retarget option off of the right mouse menu for the solution did not work. Going to each individual project (thank goodness there were only three of them!), select properties, select a new 'Target Platform Version' seemed to get me through this issue. 

Sunday, April 23, 2017

Vsync explanation

Posting this to read later, because inevitably we all need a vsync refresh from time to time :)


This was linked from Mike Abrash's blog here: http://blogs.valvesoftware.com/abrash/raster-scan-displays-more-than-meets-the-eye/

Sunday, February 12, 2017

favorite excel amortization table example


Saturday, February 04, 2017

how long to hold RSUs and SPP

Hold SPP shares for at least two years after offer date and one year after purchase date to avoid a disqualifying disposition. 

Hold RSU shares for at least one year.

Phrasing above is fast/lose heuristic, not precise. here are more details for the SPP component.


Summary from link above (TODO: more details on the RSU section):

How much of the stock sale price is compensation and how much is capital gain?

That depends on whether your stock sale is a qualifying disposition or a disqualifying disposition.

Disqualifying disposition:

You sold the stock within two years after the offering date or one year or less from the exercise (purchase date).

  • In this case, your employer will report the bargain element as compensation on your Form W-2, so you will have to pay taxes on that amount as ordinary income.
  • The bargain element is the difference between the exercise price and the market price on the exercise date.
  • Any additional profit is considered capital gain (short-term or long-term depending on how long you held the shares) and should be reported on Schedule D.

Qualifying disposition:

You sold the stock at least two years after the offering (grant date) and at least one year after the exercise (purchase date).

  • If so, a portion of the profit (the “bargain element”) is considered compensation income (taxed at regular rates) on your Form 1040.
  • Any additional profit is considered long-term capital gain (which is be taxed at lower rates than compensation income) and should be reported on Schedule D, Capital Gains and Losses.

Sunday, January 29, 2017

BLAS clarifications

found the parameters lda, ldb and ldc very hard to interpret.
Fortunately, found this article: https://www.christophlassner.de/using-blas-from-c-with-row-major-data.html

that had a key sentence:
  • Matrices A and B, each followed by its leading dimension descriptor. This is the length of one row in row-major order, or the length of one column in column-major order,
  • a scalar factor β with which the elements of the matrix C are multiplied, before its contents are added to the result of 

thanks dude!

Monday, January 16, 2017

Visual Studio Code

in ubuntu linux : /usr/bin/code is the binary

Monday, January 09, 2017

General Unix Commands

wanna find a complete library path in linux?  try: ldconfig -p | grep libOpenCL
find -name foo.txt finds a file in a directory structure, seems default is recursive descent