Welcome to the website of Kurt Hagen.

The name of the website is derived from the fact that my family crest contains 5 stars and a moon.

Log Viewer 2.2

(Windows Utility Program)

Log Viewer Screen

Log Viewer is a custom-made freeware tool for viewing text files, specifically log files. The text viewing portion of the GUI is custom-made for improved memory usage and file navigating performance on very large files.

The tool provides built-in grep (show and hide filtering on a line per line basis), color highlighting, multiple search strings, file tailing, and viewing multiple files as if they were one file.

Log Viewer is distributed as freeware. If you use this software and enjoy it, then please make a donation to acknowledge my effort on Paypal.

Money CSV 1.4

(Java Utility Program)

Money CSV is a custom-made freeware tool for managing your personal finances. I developed Money CSV as I couldn’t find a free software program that provided the capabilities of Microsoft Money, which was an awesome personal finance program, but it is sadly no longer supported. Money CSV is designed to be a good “lite” alternative to Microsoft Money as the program does not support direct downloading of statements or transactions from financial institutions. Money CSV supports stock price updates if you get a key for the Yahoo Finance (YH Finance) API from RapidAPI.com. The intro level API key is free, and you get 500 downloads per month of all your stocks, which is plenty of downloads as one typically just updates once a day. Money CSV has many of the features that I loved from Microsoft Money: transfers, reoccurring bills, budgeting, net worth tracking, and many reports. The net worth tracking is just a CSV file of snapshots of your net worth over time but taking a monthly or quarterly snapshot is trivial in Money CSV. Other features include account virtual overdraft (impacts displayed balance on the Summary page, which is useful if an account has a minimum balance to prevent fees), goal balance for your targeted savings accounts, alternative currencies for accounts/stocks (automatic exchange rate updates available through the integrated YH Finance), automatic loan payment principal calculations based on the loan’s annual interest rate and payments per year, and automatic backup of your CSV files to a rolling set of ZIP files. Finally, my day job is an embedded software engineer, so I designed the program to be fast and memory efficient. I make heavy use of background threads and I used a custom designed table view to ensure that the viewing of accounts with lots of transactions is very fast.

Money CSV Splash Screen
Money CSV Summary Screen

The main advantage of this Money CSV is that all account transactions are stored in CSV text files rather than a hard to externally read database format. This means that your financial data is always stored locally (or on your own cloud) and your financial data is always accessible as the data is stored in human readable text files. It also means that you can import financial information from any program or financial institution that allows export/download in CSV or any other spreadsheet format. The main caveat is that you need to be savvy with spreadsheets to get the data to match the CSV format that is required by Money CSV. Personally, I manually enter all transactions as I like to closely monitor my finances. I did try to make the status reporting (i.e., CSV reading issues) when reading the CSV file as helpful and as robust as possible as I also had to export data from Microsoft Money to CSV files through Microsoft Excel. Luckily once you successfully transfer one account, then subsequent accounts get much easier. For example, I transferred 25 accounts in about two hours but of course I am quite familiar with Money CSV.

Money CSV is a single Java JAR file (requires the installation of the latest Java JRE 8). The installation process simply requires you to create a new directory to store all your financial information (i.e., the CSV files) and copy the JAR file to this location and launch the JAR. Your initial importing of data from other programs/formats will be the biggest hurdle but the great news is that once you complete all imports then it is smooth sailing. You will not need the use of an external spreadsheet unless you want to download transactions continuously from your financial institutions. Besides the JAR file, I have also provided an icon for download which makes a desktop shortcut a little more meaningful as you can customize the shortcut’s icon.

Money CSV is distributed as freeware. If you use this software and enjoy it, then please make a donation to acknowledge my effort on Paypal.

Money CSV Screen

ForgetNot 3.5

(Windows Utility Program)

I developed ForgetNot using Java because I was unable to find a reminder program with a small footprint for the Windows operating system (i.e. the program runs in the system tray).

This program is designed for annual reminders such as birthdays, anniversaries, etc. The program provides a simple database entry dialog box for all your reminders. When the program detects that it is time for the alarm for the reminder (for example, three days before the reminder), an alarm dialog box appears. The dialog can be "snoozed" for a selectable duration.

System tray icon access with a tooltip to show your upcoming reminders

ForgetNot System Tray

 

Example pop-up reminder dialog box.

ForgetNot Reminder Pop-up

Reminder database entry and modification dialog. Access is available from the system tray icon.

ForgetNot Screen

RobocopyKIS 1.0.0.0

(Windows Utility Program)

RobocopyKIS is a graphical interface to Microsoft's robocopy (Robust copy) tool, specifically its mirror mode where KIS means keep-it-simple. The mirror mode is ideal for home computer backups of a set of folders with unique names to an external USB drive. The intended use is to backup your User folders like Documents, Pictures, Videos, etc. to a directory location on a USB drive. The folder names are created on the USB drive and the contents mirrored (i.e., the contents of your User folders are exactly mirror under the target folder)to each unique folder. The contents of the destination are copied or deleted to match the contents on your main computer's User folders. The selection of folders allows one to only backup the data that they care about and not everything under the User's directory like the folder 3D Objects or other hidden folders like AppData that you may or may not want mirrored.

RobocopyKIS Screen

To use, create a backup configuration by selecting the folders that you want to backup (or mirror), select the location on your USB drive (like D:\backup), save the configuration on your computer and press the "Start Mirror" button. Going forward, all you need to do is run RobocopyKIS weekly or monthly and press the "Start Mirror" button to ensure that your files are safely backed up on your external USB drive (or any other location accessible by Windows via file explorer path).

RobocopyKIS is distributed as freeware. If you use this software and enjoy it, then please make a donation to acknowledge my effort on Paypal.

Jass

(Java Game Program)

Jass Screen

The traditional Swiss-German 36 card trump-style game that is played with two teams of two players (you and an AI partner against two AI opponents). The game is also known as Schieber.

No Knead Artisan Bread

(Recipe)

No Knead Artisan Bread

Info

Total Time
9:00 H
  1st Prep Time
0:05 H
  1st Rise Time
8:00 H
  2nd Prep Time
0:10 H
  2nd Rise Time
1:00 H
  Cook Time
0:30 H
  Cool Time
0:30 H
Servings
1 loaf
Oven temp
500° F

Ingredients

3 cup
bread flour
2 tsp
salt
1 tsp
quick rise yeast
1.5 cup
lukewarm water

Directions

  1. In a large glass bowl, mix together 3 cups flour with 2 teaspoons salt with 1 teaspoon quick rise yeast
  2. Create a dwell in the middle and pour 1.5 cups of lukewarm water into the dwell.
  3. Slowly mix the ingredients. You want the mixture to "just" be wet with no dry ingredients left on the bottom of the bowl. You will probably need to add more water. Add it slowly with 1 or 2 teaspoons of lukewarm water at a time.
  4. Loosely cover the bowl with plastic wrap and let the yeast do its thing overnight.
  5. After a good night's sleep, check your dough and ensure that the yeast has been busy overnight. You should have a bowl that is filled with the dough that has doubled or tripled in size.
  6. Liberally flour your table, flour a rubber spatula and scrap the dough from the bowl onto your floured table.
  7. Lightly flour the dough and pat the dough flat with the spatula into a large square.
  8. If the dough is sticky in sections while flattening, then lightly flour those sections and keep flattening until the dough is a centimetre in thickness.
  9. Using the rubber spatula, scrap and lift the sides inward to create a rough ball.
  10. Cut a square piece of parchment paper and lay flat. Flour your hands and the paper.
  11. Form the dough into a ball and roll the ball in any excess flour on your table.
  12. Place the ball on the parchment paper.
  13. Clean the bowl and lift the dough ball by the parchment paper and the parchment paper with the dough into the clean bowl.
  14. Loosely cover the bowl with plastic wrap and let rise for 1 hour.
  15. In parallel, turn on the oven to 500° and place the empty dutch oven in the oven.
  16. After the rise time, spray the top of the dough with water to ensure that you get a nice brown bread.
  17. Remove the very hot dutch oven from the oven, remove the lid and carefully lift the dough ball by the parchment paper and place the parchment paper with the dough ball in the dutch oven. The parchment paper will brown quite badly so alternatively you can dump the dough ball in the dutch oven and then throw out the parchment paper.
  18. Put the lid back on the dutch oven and place the dutch oven in the oven.
  19. Bake at 500° for 25 minutes.
  20. Remove the dutch oven lid and continue to bake for another 5 minutes.
  21. Take the dutch oven out of the oven, remove the bread from the dutch oven using a metal spatula, and place the bread on a cooling rack.
  22. Wait 30 minutes, slice and enjoy!

Cinnamon Buns

(Recipe)

Cinnamon Buns

Info

Total Time
3:00 H
  1st Prep Time
0:10 H
  1st Rise Time
1:00 H
  2nd Prep Time
0:10 H
  2nd Rise Time
0:40 H
  Cook Time
0:30 H
  Cool Time
0:30 H
Servings
12 buns
Oven temp
350° F

Ingredients

Batter
3 cups
flour
1 cup
milk (warm)
1/4 cup
unsalted butter (soft)
1/4 cup
white sugar
1 tsp
salt
1 tsp
quick rise yeast
1
egg (room temperature)
Inside Roll
1/4 cup
unsalted butter (soft)
2/3 cup
brown sugar
1 tbsp
cinnamon

Directions

  1. In small class bowl, microwave milk for 30 seconds.
  2. Add quick rise yeast to the milk, stir, and let sit for 5 minutes.
  3. In another bowl, combine butter, white sugar and the egg.
  4. Add the milk mixture to the butter bowl and combine all wet ingredients.
  5. In large bowl (ideally stand-up mixer), combine flour and salt.
  6. Create large dwell in the flour and add the wet to the dwell.
  7. Mix the the wet into the flour with your dough hook and mix for 5-10 minutes until a smooth dough is formed.
  8. Cover and let rise for 1 hour.
  9. Remove dough onto a dry surface (no flour typically needed but one can flour if desired).
  10. Roll into a long rectangle that is about 1 cm thick.
  11. Combine "inside roll" ingredients of butter, brown sugar and cinnamon.
  12. Spread evenly on the rectangular dough.
  13. Roll the short edge in the direction of the long edge.
  14. Once completely rolled, pinch dough to seal along the short edge.
  15. Cut into 12 equal pieces.
  16. Place the pieces on the parchment paper on a cookie sheet (4 x 3 pattern).
  17. Preheat oven to 350°
  18. Let rise uncovered for 40 minutes.
  19. Bake at 350° for 30 minutes.
  20. Wait 30 minutes and enjoy!

Swiss Meringue Chocolate Chip Cookies

(Recipe)

Swiss Meringue Chocolate Chip Cookies

Info

Total Time
1:30 H
  Prep Time
0:30 H
  Cook Time
0:30 H
  Cool Time
0:30 H
Servings
12 cookies
Oven temp
300° F

Ingredients

1 cup
flour
1/2 cup
chocolate chips
4 tbsp
white sugar
4 tbsp
brown sugar
4 tbsp
unsalted butter (soft)
2
eggs (separated into whites and yokes)
1/2 tsp
baking soda
1/2 tsp
vanilla
1/4 tsp
salt

Directions

  1. Pre-heat oven to 300° F
  2. Make Meringue
  3. Find a pot that fits your mixing bowl for a double boiler setup.
  4. Place the egg whites and white sugar in the mixing bowl.
  5. Place the mixing bowl on top of the boiling water to create a double boiler.
  6. Whisking the mixture continuous until its temperature reaches 165° F (5-10 minutes).
  7. Remove from double boiler and with a stand mixer (or hand mixer) whisk on medium-high until stiff picks are achieved (15-20 minutes).
  8. Make Cookie Dough
  9. In separate large bowl, beat together the butter, egg yokes, brown sugar, baking soda, salt and vanilla.
  10. Beat or stir in the flour until well incorporated.
  11. Combine and bake
  12. Fold in the meringue mixture until well incorporated.
  13. Scoop (2 tbsp) or spoon batter into balls on a parchment lined cookie sheet.
  14. Bake for 30 minutes.
  15. Turn off oven. Keep the oven door slightly open with a wooden spoon.
  16. Cool cookies in the oven for 30 minutes.

Thanks for visiting!