New diet plan, but manual

One of the last goals of this year was to get a bit leaner. I am well-versed in counting calories, having successfully used it to loose weight at the beginnings of my fitness journey.

The first steps at the time were of course some online tools, but I found them horrible unusable. Therefore I wrote my own Python based command line tool. It was equally horrible to use, but streamlined to my needs.

This worked, I lost weight, and after some time being comfortable with myself, the weight slowly increased.

Now, the tools are not really less horrible to use (tried fddb and myfitnesspal) and my old Python script is broken.

A few months back i tried to wrote something new and better with Electron and typescript, but things always got broken, and learning UI while always fighting the tools really left me dispirited. Nothing against the tools, they obviously work, but it didn’t really fit how I liked to use them.

The latest iteration is completely manual. On paper (together with a spreadsheet).

It is not as bad as I first had guessed.

Only calories and protein is tracked. Protein is rounded to the nearest 5, and calories are rounded always up to the nearest 50. It’s less to write, easier to calculate, and should cover the most important numbers. The weight itself is tracked via the median, maximum and minimum weights per week. I try to weigh myself always after breakfast, which usually includes something to eat and a cup of tea.

I have been doing this for 3 weeks now, and it gets the job done for now 🙂

My Personal Budgeting

A (personal) budget is just like a plan, or a calendar: it shows things that are, things that have to be, and things that could be.

Being free to spend money on the things that matter to you as much as you can is the goal of a good budget.

There are apparently many different named “categories” or “types” of budgets. I am not going to even try to distinguish if there are different types in my approach.

For one, it seems that there are multiple, overlapping names of different things by different parties; meaning there is not really a standard naming scheme. And secondly, how you personally achieve your money goals depends on how you personally have to handle money — it doesn’t matter if it works for me, if it couldn’t work for you, but maybe you understand the idea, and adapt it to your needs.

A budget is the sum of finances allocated for a particular purpose and the summary of intended expenditures along with proposals for how to meet them. It may include a budget surplus, providing money for use at a future time, or a deficit in which expenses exceed income. [1]
I am assuming that income and expenses are already in some form allocated and are tracked. I personally use GnuCash[2], but there are many other programms, or you can use spreadsheets, or even track it with pen and paper.

General ideas

  • Income budgets are slightly smaller than the real income.
  • Expense budgets are slightly higher than the real expense.
  • Cashflow at the end of the month has to be positive.
  • Always have at least one month income buffer
  • We are interested in the overall picture. Every week could be different, but over the year it should make sense.

Purposes

I have some categories for were my money is allocated, in order to easier see were something can be adjusted.
  • Income: Everything you earn at your job, gifts, dividends, …
  • “Hard” expenditures: Rent, utilities, … everything you have to pay, that is basically out of your control.
  • “Soft” expenditures: Food, gifts, … things you need, but are more under your control.
  • Long Term Savings: personal retirement provisions
  • Short term savings: bigger financial spending (vacation, bigger subwoofer, …)
  • Buffer savings
  • Fun Stuff: Books, Games, Music, Movies, …
After writing it down this way, this is basically my budget.

Income and Expenditures are at least predictable and can be budgeted. Just check what always has been, and think about what is going to happen. Gifts can also be budgeted: you know when people have birthdays, and what gifts are expected.

Long and short term savings can be automated. For short term savings just use a suitable second account (for example “Tagesgeldkonto” in Germany). If you do not want to automatically invest in your long term savings (you should), then you could also just transfer this temporarily to a different account.

Buffer savings don’t need to be much. They are just there, to get to a positive cashflow every month. If there is enough buffer savings, this budget can be removed for the time being, and spend on other things.

Which leaves the remaining budget for fun stuff. This fluctuates a bit, because peoples birthdays are not regular, or some other expenditures are not every month. There are two ways to deal with this: use what you have for the month. If it is less, then it is less. Or calculate the average for every month.

Buffers

Don’t be too hard on yourself, if not every budget is working every time. Life happens. If you spend too much one month, then spend less the next month. Or adjust the respective budgets.

There is a reason you should have a buffer on your main spending account, and under-budget income respectively over-budget expenditures, and have dedicated buffer savings.

At the end of the year, we want to have maximized our goals in term of savings and fun money, while also don’t have to be stressed about paying the bills.

[1] https://en.wikipedia.org/wiki/Budget
[2] Gnucash

Adventures in HomeCinema: Audio /2 Bass woes

Bass woes

Last post finished with flaky bass in movies… sometimes great, sometimes not.

Without some objective measurements it is quite hard to understand the underlying problem, and without understanding the problem it is even harder to find some solution, let alone a good solution.

I bought an USB measurement microphone (UMIK-1) and used REW (room eq wizard) to measure the bass behavior.

Measurements

The first (green) measure is without Audyssey, the second with.

You can see, that Audyssey helped a bit by lowering the peak at 33Hz and filled a bit the valley afterwards. Nonetheless there is a rather big drop of about 15db at 35Hz. It is often said that 10db difference represents a perceived 2-times loudness increase — 20db 4-times.

This certainly can explain the sometimes missing bass response.

I made more measurements and played a bit with difference subwoofer positions and AVR settings, but the problem at around 35Hz always stays the same.

Simulations

There are tools to simulate / calculate these problem frequencies for rectangular rooms.

Amroc clearly shows problems between 33 and 36Hz (and even calculates the Schrödinger Frequency).

REW has a room simulator, where you can place your subwoofer(s) and your main listening position.

Both simulators show inherently the same characteristics that were actually measured. Playing around with REW room simulator shows a few positions for subwoofer / listener, that are unfortunately not possible.

Are there things to fix this situation?

Possible Solutions

position changes

Changing the position of the listener position respectively the subwoofer inherently also changes the loudness of the low frequencies. If possible this is the simplest fix. Not possible for me right now.

Sound Dampening

When building a home cinema from scratch in its own room, there should always be the concern of which (not if) sound dampening measures to install.

Living room cinemas are more constrained, and mostly limited to installing absorbers at the first reflection points.

I have not much clue about sound dampening, because I stopped researching after preliminary results. The needed space and costs are just nut feasible. Lower frequencies are longer, and need thicker and more heavier dampening, which I cannot install here.

AVR

There is the possibility to manipulate the frequency curve in the Audyssey App, or so I thought. Turns out you can only change the target curve the AVR should try to reach. And there are definitely limits how much equalising the AVR does, because it cannot be used to really do great changes unfortunately…

Parametric EQ

There are equalizer boxes (for example the miniDsp 2×4 HD) you can switch between the AVR and subwoofer, which offer the possibility to equalize like we need.

Additional Subwoofer

Additional subwoofer also should help, by basically filling up the valleys and reducing the peaks. Positioning them in opposite corners should do the trick.

The simulation says so! I have to read up, why specifically this should work.

Next steps

The most promising (and possible) things to try are the EQ box, and more subwoofer. I lean on the side of more subwoofer.

I have ordered a suitable cable to try out my kitchen subwoofer. It is better to use the same subwoofer, but this should be ok for a quick proof of concept.

Adventures in HomeCinema: Audio

The home cinema experience depends of course on the picture quality, but also the sound quality, if not more.
    Sound quality is directly reflected by your equipment and your subjective listening experience. Meaning more expensive is not always better for you, even though the equipment might be objectively measurable better.
    My 5.1.2 equipment:
  • Mains: Klipsch RP RP 280F
  • Center: Canton Center
  • Subwoofer: Klipsch R-112SW
  • Surrounds: Klipsch RP 402S
  • Atmos Ceiling: KEF T301
  • AVR: Denon X1600
My basic steps and AVR settings:
  • subwoofer crawl for finding a suitable place
  • Audyssey measurements
  • Set boxes to small and set the the LFE crossover to 120Hz
in the AVR android app (MultiEQ) are some more settings to change:
  • disable “Midrange Compensation”
  • set “MultiEQ Filter Frequency Range” to your rooms Schrödinger Frequency. This effectively restricts the AVR EQ to the lower frequencies.
The Schrödinger Frequency is the limit where your room doesn’t act like a resonator anymore. [1, 2] Bass frequencies up to 100-300Hz get amplified or negated, while everything higher disperses after some reflections.
    Seems easy enough, and sounds pretty good under most circumstances. Unfortunately some movies (for example Deep Water Horizon) that should be very bass-heavy sound / feel pretty tame. Will have to check how to fix this in the next post…
Sources:
[1] https://www.soundandvision.com/content/schroeder-frequency-show-and-tell-part-1
[2] https://www.soundandvision.com/content/schroeder-frequency-show-and-tell-part-2

Buying HiFi music boxes

After repairing my gifted amplifier (Link), the next step was to get some good music boxes. My preferences are mostly metal and rock music, but also soundtracks. The first step in buying something expensive should always be some “independent” research.

Some steps before buying / trying

  1. Check what most people are buying and recommending, and what it costs.
  2. Which feature do you really need? What do you only want?
  3. Cross-reference the needs and wants with the price of the products. Can you get what you need for the price you are willing to pay?
  4. There is almost never a linear progression between quality and cost. At some point, the miniscule better quality is not worth the cost. But there is often a sweet-spot, a point where you get the most “bang for your buck”.

Candidates

Music preferences can play a role in the choice. Depending on your viewpoint between “should replicate the sound exactly” or “should sound how I like it”, some products others like are just not for you, and vice versa. Know what you need.

After researching (hifi-forum is a really good source for audio-equipment opinions if you speak german), cross-referencing, etc. there were three products I was willing to try.

  • Nubert nuBox 513
  • Canton Ergo 670 DC
  • Klipsch R-820F

In the end I choose none of them 🙂

All had great build quality. Sound is of course subjective; the nuBox 513 sounded a bit flat (lifeless?) at my amp in my room — it is often written Nubert boxes have a neutral sound reproduction. Seems I don’t like such sound.

The Canton Ergo 670 and Klipsch R-820F were both great. R-820F seemed to have more bass and highs, while the Ergo 670 were more “clear” with better mod-sections. Bottom line: Some music were better on the Klipsch, while others were better on the Canton…

Luckily my brother did also listen to them, and would have liked to get the Canton if I would chose the Klipsch. I was on the fence with the Klipsch, because I bought the wrong recommended pair…

Therefore my brother got the Canton Ergo, the Nubert nuBox and Klipsch got returned while my final pair was sent on its way.

The arrival and repair

The final pair was a Klipsch Reference Premiere 280 F. In hindsight I am really glad to returned the R820 and got the RP280; they sound even better 🙂

Unfortunately one of them was broken on arrival. The tweeter (which produces the high tones) was dead. But after a short email exchange with the seller, I was able to repair it. After opening the chassis and re-attaching a single cable everything was great.

Summary

Do your research, especially for higher-prices items.
Try and compare.
Buy the correct things.
Don’t be afraid to repair the things (if the warranty is still intact afterwards).

Thanks for reading

Error with wrong API version of node module

Intro

Some npm packages are not pure javascript. If they have some kind of binary, these binaries have to be compiled against the right nodejs version; or else the ABI is wrong. There are precompiled binaries, but sometimes there aren’t or they doesn’t fit the version you need. Especially with electron, which maybe uses different versions…

Problem

Either way, this was the error message

Error: Cannot find module node_modules/sqlite3/lib/binding/node-v57-linux-x64/node_sqlite3.node

while there was a node_sqlite3.node, but in a different /binding subdirectory.

Solution

This stackoverflow post https://stackoverflow.com/a/39463304 has guided me to a package that can rebuild to the correct ABI used: https://github.com/electron/electron-rebuild

npm install –save-dev electron-rebuild
$(npm bin)/electron-rebuild

And that was another problem fixed. Thanks for reading!

How I brew a decent cup of coffee

Just a short post how I make my coffee at home. In case I forget something ^^. We have a coffee automate at work, when visiting relatives I usually get ok drip coffee or horrible capsule coffee.

Therefore I like to taste something different at home: french press coffee. Additionally it doesn’t produce waste and is easy to clean.

0. Tools

  • Beans
  • French press
  • Grinder

The taste of the beans contribute the most to the overall taste. Therefore try different kinds to get a coffee to your liking.

 

1. Grinding

The granularity of the ground coffee powder determines how it should be further processed (https://ineedcoffee.com/coffee-grind-chart/). And the taste changes a bit. Again try different settings to find a granularity that fits your taste.

For a french press I aim for medium coarse. I like to have some fine particles in my coffee.

Boil the water while grinding. Both will be ready at the same time.

2. Pour some water

Fill the glas jar with water until the coffee ground is under water.

Wait 2 minutes und then stir.

3. Fill with water

Pour the remaining water in.

4. Press

After 5 minutes, slowly press down.

5. Enjoy