Notes 20th January 2024
-
- Drinking from the fire hose! Experimenting with the Wiki, the ticketing system, the security checking, and Travis-CI.
- Looking into updating all the packages here (mostly done) over the weekend.
Notes 15th January 2024
-
- I have a new job! Chief Architect for Travis-CI and Assembla for Idera, Inc.
- I'm still drinking for the fire-hose at the moment, but becoming familiar with the process, company lingo, and who does what. This is a test case of adding this website to Assembla Perforce hosting. Next up is trying the integrated ticketing and wiki systems.
Notes 28th October 2023
-
- A deep dive into how to decode the BC6H & BC7 texture compression formats.
- Created here!
Notes 29th September 2023
-
- Using Entity Framework and refreshing my Linq skills.
- Created here!
Notes 5th September 2023
-
- Thoughts on writing a game engine in the modern era.
- Added page on a rendering subsystem.
- Created here!
Notes 24th August 2023
-
- Thoughts on writing a game engine in the modern era.
- Added page on an audio subsystem.
- Created here!
Notes 11th August 2023
-
- Thoughts on writing a game engine in the modern era.
- Some musings on my design thoughts for writing a modern day game engine.
- Updated here!
Notes 14th July 2023
-
- Thoughts on programming.
- Some thoughts on the direction of C++, development problems, and pet peeves.
- Updated here!
Notes 13th July 2023
-
News
- Concurrents and Primal Space Systems are still ongoing concerns, but we're currently having trouble getting the money men to sign on the dotted line. In the meantime, the mortgage needs to be paid, so hit me up if you think my talents would be useful as a contractor or a consultant.
- Setting up Perforce with Unreal Engine.
- I'm starting to delve into Unreal Engine 5, so the first step is to trim the base install size to something more manageable.
- Updated here!
- Ultra nerdy t-shirts for sale!
The 'Must Have' Applications for any Developer - time for an update!
- Visual Studio 2022 Community - the one IDE to rule them all! Now with a dark schema so I don't have to change all the colours.
- ReSharper C++ for both C++ and C# to enhance the Visual Studio user experience.
- Perforce - the best source control out there. It now free for up to 20 users!
- 7-zip - the best archiver in existence. Great C++ and C# API support.
- OpenVPN - for creating a secure VPN to your place of work, all native with no need for any Java.
- LinqPad - a great tool for experimenting with C#, writing simple scripts, testing Linq statements, or just tweaking a format spec.
- NotePad++ - for when Notepad just doesn't cut it and Visual Studio is overkill.
- Beyond Compare 4 - an excellent diffing and merge tool. It also works on folders, images, and audio files.
- RapidEE - Rapid Environment Editor - a simple tool to update, manage, and validate your environment variables.
- Paint.NET - Photoshop is too expensive for my needs. Paint.NET suits my use cases perfectly.
- WinSCP - for uploading to Linux machines. Comes with Putty for when a command line is needed.
- Chrome - The fastest and most reliable browser. Internet Explorer is more tightly integrated into Visual Studio, so it still has its uses.
- Handbrake - for converting all my videos into more manageable formats.
- Lastpass - a utility to generate and store secure passwords.
Notes 26th April 2023
-
- Setting up Perforce with UE4.
- I realize I took too much of a quick and dirty approach when reducing the footprint. This has been worked on and is now much more explicit and simpler.
- Updated here!
Notes 11th March 2023
-
The Eternal Coding Standard
Updated here!- Added a section on lambdas.
- Added a section on memory allocators.
Notes 12th September 2022
-
SourceServerIndexer
- A utility to source index pdb files with a simpler setup and no need for Perl.
- Detailed description of SourceServerIndexer.
- Eternal GitHub repository
- Setting up Perforce with UE4.
- Added here!
Notes 26th August 2022
-
UTF16MustDIE
- A utility to fix up Perforce's poor handling of UTF-16 files.
- Detailed description of UTF16MustDIE with background articles.
- Eternal GitHub repository
Notes 4th April 2021
-
The Eternal Coding Standard
Updated here!- Added a section on parameter passing.
- Added a section on C++ versions.
- Pass by value vs. pass be reference.
-
Coming soon
- Lambda captures.
Notes 27th March 2021
- Updated to .NET4.8 to hopefully address the TLS deprecation
-
The Eternal Coding Standard
Updated here!- Added a section on multithreading.
- Added a section on time storage.
- Converted some English spelling to American.
-
Coming soon
- Lambda captures.
- C++ version to use.
- Pass by value vs. pass be reference.
- std transforms.
Notes March 2019
- Unfortunately, this update was lost to the ether due to IT issues. If you're looking for my how to make a fan powered Pinewood Derby car you're out of luck.
Notes 21st May 2017
- The site is now secure!
-
The Eternal Coding Standard
Updated here!- The Codeless Code.
- Multiple assignments.
- Location of comments.
- Unit Tests.
Notes 8th September 2015
- I have a new job - Chief Technical Director at Primal Space Systems, Inc.. I'm very excited for the new and exciting technical challenges this brings!
Notes 21st June 2015
- Happy Summer Solstice!
-
The Eternal Coding Standard
Updated here!- More tips for variable naming and scoping.
- Use of nullptr.
- Use initialiser lists.
- Code in asserts.
- Bad error message example.
- Formatting tools.
- Other coding standards.
Notes 14th March 2015
- Happy Pi Day!
-
The Eternal Coding Standard
Updated here!- Using a this of NULL.
- Someone else's coding standard for comparison.
- Don't use symlinks.
- Class and struct forward declarations.
Notes 1st February 2015
-
The Eternal Coding Standard
Updated here!- Consistent warnings across multiple toolchains.
- Literal definitions.
- Date formatting.
- Fake scoping.
- Pathing of include directives.
- Default folder.
Notes 6th January 2015
-
C++ and C# - Which is the Fastest?
An article meant to promote a discussion on the relative performance characteristics of C++ vs. C#. CodeProject Article
Notes 30th December 2014
- I hope you all had a good Christmas!
-
The Eternal Coding Standard
Updated here!- Moved some of the standard in to a 'Best Practices' section.
- #pragma once and header file inclusion.
- Project file settings.
- Commented on the use of #using.
- AssemblyResolve usage.
- Using native methods in C#.
- Several clarifications and tweaks.
Notes 19th December 2014
-
The Eternal Coding Standard
Updated here!- Storing data in text files.
- #if vs. #ifdef
- Storing times.
- Inappropriate 'this' usage.
- Several clarifications and tweaks.
Notes 8th December 2014
-
The Eternal Coding Standard
Updated here!
Notes 18th November 2014
-
The Eternal Coding Standard
Every programmer has his own coding style and rules. I've attempted to codify mine here. I'm sure this will change with clarifications and additions over time.
Notes 24th March 2014
The Best Of GDC 2014
- nVidia G-Sync - a very simple concept that delivers much smoother visuals. Typically, a game is synced to 30 frames per second to align with the vertical sync of the TV or monitor as a way to avoid tearing artifacts. This means games that most of the time games run much quicker than 30 fps, but have to allow headroom for the more demanding scenes. G-Sync presents the scene when the GPU is ready, so can update the screen as often as the game can create a scene, and not just locked to 30 fps (or 60 fps). The product demo video shows this in action very well.
- CastAR - glasses that allow viewing of computer generated 3D images on photo reflective paper. Or in a more relatable description, it's the holographic chess game that Chewbacca and C3PO played in Star Wars IV - but you need to wear glasses.
- The Steam Controller - touted as being a true mouse and keyboard replacement for the living room. It definitely felt a lot better than a typical controller, and it did emulate the mouse very well, but I don't think it's a true replacement just yet.
- nVidia Shield - an Android gaming device that can stream in real time to a TV either from the device, or from a PC. This means you can play your high end PC games without having to have a PC in the living room. It also has a harwdare h.264 video encoder and decoder which significantly reduces the latency of video based online gaming.
- Most of all, the best part of GDC is meeting up with many old friends and co-workers I haven't seen in years!
Notes 26th August 2013
The 'Must Have' Applications for any Developer
- Visual Studio 2012 - the one IDE to rule them all! Now with a dark schema so I don't have to change all the colours.
- ReSharper for C# and Visual Assist X for C++ - for enhancing the Visual Studio user experience.
- Perforce - the best source control out there. It now free for up to 20 users! I must admit to being one of the luddites who still prefer P4Win over P4V.
- LinqPad - a great tool for experimenting with C#, writing simple scripts, testing Linq statements, or just tweaking a format spec.
- UltraEdit or NotePad++ - for when Notepad just doesn't cut it and Visual Studio is overkill.
- Beyond Compare 3 - an excellent diffing and merge tool. It also works on folders, images, and audio files.
- RapidEE - Rapid Environment Editor - a simple tool to update, manage, and validate your environment variables.
- Paint.NET - Photoshop is too expensive for my needs. Paint.NET suits my use cases perfectly.
- Greenfish Icon Editor - for creating icons.
- Chrome - The fastest and most reliable browser. Internet Explorer is more tightly integrated into Visual Studio, so it still has its uses.
- Nero Burning ROM - the only optical disc burning software that is ever needed.
- Picasa - for managing all my personal photos.
- Handbrake - for converting all my videos into more manageable formats.
- AnyDVD - for those awkward to transcode optical disks.
- Metropass - a KeePass client to generate and store secure passwords.
- Metroradio - a Pandora client.
Notes 21st August 2013
Article and Source Code on Code Project
- The Source Server indexing from Debugging Tools for Windows has never worked well for me, so I worked out what the Perl was doing and wrote a C# version.
- http://www.codeproject.com/Tips/640298/Source-Indexing-with-Csharp It's not the most exciting piece of code, but a useful exercise in getting an article published and shared with the world!
Notes 12th August 2013
Knocked out this web site!
- This is based on the Visual Studio 2012 MVC4 example, and was very straightforward to set up.
- The hosting, domain, and email is from GoDaddy and seems pretty usable so far. The only minor issue is the free email does not support IMAP (only POP), and the latest Metro email clients do not support POP.
- The only workflow annoyance at the moment is that all the external login providers only allow access from a single domain (EternalDevelopments.com in this case). This effectively means you can't develop on localhost and have a live website at the same time. The workaround for this is to update your local hosts file to locally point your external domain to your local host, and set up your site in your local IIS. Visual Studio has to be run in administrator mode to debug this approach as the virtual directory is in a privileged location. Also, the debug entries need removing from the hosts file at publish time to allow uploading to the external domain. This makes the website less self contained as any developer who syncs the site needs to mess around with his local hosts file to debug it.
- No rocket science here, but a little more complicated than it could be. Using the entity framework to automatically create the database infrastructure is awesome!
- Basic instructions