#12 Winter Ale
Friday, December 2nd, 2011| Malts | Color (Lovibond) | Amount (lbs) |
| 6-row | 8 | |
| Vienna | 3 | 1 |
| Crystal | 60 | 1 |
| Chocolate | 350 | 1 |
| Hops | Alpha % | Amount (oz) |
| US Goldings | 5.7 | 2 |
| Willamette | 5.7 | 2 |
| Yeast | ||
| Edinburgh Scottish Ale WLP #028 (Pitchable tdquid) | ||
| Malts | Color (Lovibond) | Amount (lbs) |
| 6-row | 8 | |
| Vienna | 3 | 1 |
| Crystal | 60 | 1 |
| Chocolate | 350 | 1 |
| Hops | Alpha % | Amount (oz) |
| US Goldings | 5.7 | 2 |
| Willamette | 5.7 | 2 |
| Yeast | ||
| Edinburgh Scottish Ale WLP #028 (Pitchable tdquid) | ||
At work when we do bug fixes we always create a numbered branch matching our ticket number off of our current production code:
git checkout -b [ticket number here] production
This makes for incredibly simple merging and passing bug fixes around. I come across the issue a lot where I will have about 5 bug fix branches created locally and cannot remember which ones I have pushed to my origin (github) and which I haven’t. There is a command to view unpushed commited branches:
git log --branches --not --remotes --simplify-by-decoration --decorate --oneline
This ugly thing pretty much just parses the log for commits not in your remotes and dumps the result with one branch per line. What it doesn’t do is push these branches for me. Instead of trying to remember that all the time I decided today to just chain a few linux commands I do remember to make it a bit easier for myself:
git branch | grep [0-9] | xargs git push origin
This much shorter command just takes all of my number named branches and tries to push them. If they are already up to date, no biggie, git just returns a nice message telling me so. Branches that need updating on my origin get updated.
This little command only works when my HEAD is not currently on one of my numbered branches, otherwise the little “*” causes way more things than I want to push to my origin. There are, I’m sure, many ways to make this command better, but this simple form with its few prerequisites (not being on one of the branches being pushed) works out great for me.
Anyone else have some tricks for keeping your origin up to date?
2011 October 7 – 2011 October 17
I will try to get photos on the map as well as we are travelling. If I’m having too much fun to add photos you’ll just have to wait until we get back to see them!
View Ireland 2011 in a larger map
Pictures
Just a quick note about some small changes I made to the terrain object in Haze. Originally its initialization code just created a single quad made of two triangles with an index buffer in the form {0, 1, 2, 2, 3, 0}. Since then I have updated the constructor to take in an initial size value (int) that sets the number of quads (width and height) in the x and z direction to create. The initialize method now just generates the starting geometry in a loop and sends quad indexes in instead of triangles {0, 1, 2, 3}
The major effect this has on things is that now there can be a single vertex for every single texel passed in as a height map. Since the max tessellation level is 64, we only have to make an 8×8 initial grid to get a full 512×512 tessellated terrain. This opens up other doors as well for things like levels of detail using different tessellation in different quads based on camera distance or view angle. Next up is to get some texture mapping going and see how much I can make things look like real terrain.
I might start with standard splatting techniques, but I’d really like to have the video card generate some of the splat “stencils” based on heights on the whole map (snowy parts at the highest points, less snow on steep slopes, etc.) We’ll see what happens.
As an exercise in learning Hull and Domain shaders with DirectX 11, I decided to whip up a quick (or what I thought would be quick) height mapped terrain demo that only sent a single quad to the video card and handled everything else in the shader. Aside from some minor problems remembering to use SampleLevel instead of Sample in the Domain Shader everything came together fairly well.
At the moment I have a 512 x 512 height map texture (a simple black and white Filter > Render > Clouds in Photoshop) and a single quad that gets tessellated up to level 64 with the heights added in the Domain Shader. I am currently tessellating at the triangle level and would like to switch to quad as well just to see how it looks both ways. I’ll stick a video of the whole on here once I get the quad tessellation going and throw in a FillMode = Wireframe option to make it easier to see what is going on.
edit: Here’s the video
To try and expand my programming horizons a bit, I am working on a version of the HMEngine (codenamed Haze for the moment) using C++ and the latest DirectX version. It has been a while since I have coded anything large in C++ so I’m sure there will be a bit of a curve getting back into it. I am considering posting this version of the engine as a tutorial series alongside the XNA ones depending on how things go and if I feel the concepts are simple enough for beginning game developers. I may also just put it together as a small demo engine for more of a portfolio use. If anyone has thoughts or opinions about this please let me know in the comments.
Tabs. Period.
If you think spaces are better, you are stupid. I can’t set a space width on my editor to deal with your stupid 2 space indents. You can use tabs and set your editor to show tabs as 2 spaces though. So why don’t you stop being stupid and just use tabs so we can both read your code. Although if you are writing code that uses spaces for indentation it probably isn’t worth reading anyway.