New RPN Calculator for Windows

by fwhagen Tue, 18 December 2018

I couldn't (easily) find a decent and simple RPN calculator online anywhere, so I am making my own.  As I get closer to it being more functional, I will post it here for anyone to use.  It will be completely free for anyone to use, reverse engineer, copy, whatever they want.  I miss my old HP-15C, but carrying a physical calculator is just not practical anymore, and the one in windows is not RPN.



Requires .NET 4.6.1 or higher.  Eventually will update it to .NET Core once WPF is finalized in that framework.  The grayed keys are not yet implemented.  For 64-bit Windows, of course (I'm not supporting 32-bit anymore).


Filed Under: .NET | PowerTools | Programming | Software

Software Versioning Rules

by fwhagen Wed, 07 March 2012

Find a versioning method and stick to it!  I have been looking for a good set of rules to apply to all versioning exercises and I have finally found one called Semantic Versioning, or SemVer, online.  And as a bonus, it follows my preference in versioning pretty closely too.  While I normally use or depending on scope, SemVer prescribes following convention:

  • Major: Breaking changes.
  • Minor: New features, but backwards compatible.
  • Patch: Backwards compatible bug fixes only.

Good rules to code by.  And since I like to include the build number as the last digits, automation through the fantastic Build Version Increment VS plugin, makes it (almost) easy.  (Configuration can be a challenge on larger projects.)  Dig a little to find the latest version that also supports VS2010.

Keywords: , ,

Filed Under: .NET | Programming | Software

Ripping DVDs to My Home Media Player

by fwhagen Thu, 12 March 2009

After many years of trying, I have finally managed a good (enough) solution to playing video files on my TV.  And to make it more desirable, last year, we finally bought an HDTV.  I had bought an upconverting DVD player a few years ago for when we did finally do it, and it worked well enough, for awhile.  It was just too slow, and unreliable.  So when I finally upgraded the wife's computer, I used her old hardware along with some other pieces I had laying around to finally build a media PC.  I will never go back.  And the family is almost ready to go for a more expensive (really only a few hundred) solution.

Initially, I talked everyone into just running DVDs as normal, using the optical drive in the machine.  avi.netWindows does a much better job of scaling video than any consumer device I have used (or can afford).  Then I started ripping them to files.  I have been doing this for years, but not very successfully.  Decrypting the discs is easy.  Getting a good transcode has never been satisfactory.   Then I found avi.NET.  This great little tool does only one thing, but it does it very well.  It takes the decrypted DVD files and encodes them to an AVI file.  It has very few options, but does a really remarkable job. 

When encoding a video, I personally never use a fixed bitrate.  And the actual size of the end file is not strictly important to me, so I never choose the default option either.  I always choose the quality setting called Single Pass Quant.  The value used is dependant on the source video.  Animations tend to compress very well, so can use a higher value than FMV.  I tend to use higher numbers on the kids movies and lower on the movies I want very high quality viewing.  Like LAME, lower is better quality.  Below 2 makes for huge files, and above 6 starts to impact quality. 

The screen.SIZE attribute allows you to reduce the overall resolution of the output movie where 720 is typical max horizontal resolution for a widescreen DVD.  The aspect ratio is usually very accurate, but can be adjusted if needed using Height.  I have only had to do it 1 time, and then on a foreign title.  The Deinterlacing Filter works very well where needed and occasionally I will use the Smooth/Sharp if the source quality is poor.  Always use HQ mode; it makes the process slower, but it is very worth it.  I have not found much difference between DivX and XviD, except that DivX will thread across all 4 cores of my Q6600, so I use it, where XviD only seems to use 2.

It may take some experimentation as I am sure Your Mileage May Vary, but I am very pleased with results.  Sometimes I do have a problem reading some DVD rips, but running them through DVDShrink with no compression has always worked.  In fact, DVDShrink is a really convenient way to pick the tracks you want to convert and rip them to a convenient location. 

Keep in mind that avi.NET is only useful for converting DVD .vob files.  It will do nothing else.  For that I use MediaCoder; but that is another show.


Filed Under: Software

FoxIt - FREE PDF Reader

by fwhagen Fri, 02 February 2007

If you've had enough of Adobe's PDF Reader software, I know I have, then get a free alternative called FoxIt Reader.  It does the same thing that the free Adobe Reader does, only it unloads itself from memory when you are done, has a smaller footprint, is faster (for me), and doesn't constantly ask you to register or upgrade or buy anything.  I recommend it to everyone who needs simple PDF support, which is nearly everyone.

What are you waiting for?  Here the link!

Keywords: , ,

Filed Under: Software | System | PowerTools

SharpReader and ATOM

by fwhagen Fri, 18 August 2006

I love SharpReader.  I have tried dozens of other readers and aggregators and always come back to it.  I just hate the way it treats ATOM feeds.  Or more specifically, MINE.

See, when I posted a entry, it gets a date.  If I ever go back and update it, it gets another date.  This is built into the spec.  One tag is labeled "published" and the other "updated".  Pretty obvious what each is for, yes?  When I tagged my own entries, I just ignored the <updated> tag.  But I have moved to DasBlog to ease my administration and now it (properly) updates said tag.  But SharpReader uses <updated>, not <published>, for its display and sorting algorithms.  So all of my entries show up out of order if I, say, go back and apply categories to stories.


Keywords: ,

Filed Under: Blog | Software