Advanced Mortgage Calculator

 

 

amc

After my first post about a simpler mortgage calculator now I developed a more advanced one, especially designed to compare different mortgages, and calculate which one lets you pay less interest over time.

The app can be found here

amc2

Compared to the last tool, which just calculated the total interests and the installment amount, this app offers these other features:

  • charts of the installments over time
  • capability to add different types of events:
    • interest rate change
    • time renegotiation
    • amortization on time
    • amortization on installment amount

amc4

Adding events makes this tool extremely versatile and allows for simulating complex scenarios. You can compare a 10 year mortgage with a 20 years one in which you reduce the time amortizations with annual cash deposits, or a combination of different interest rates which may happen in some situations. The charts are updated automatically, and there is a comparison chart to make it easy to compare the two mortgages over time, focusing on the interest amount paid.

amc3amc5

Radio Lockdown

Just keeping track of the projects.. On the 28th of October 2020 Radio Lockdown was founded. It’s a web radio in which me and my gf talk nonsense, but unbelivably on the second day we hit almost 200 active listeners.. wow. Anyways, going back to the technical details, it was so easy to make it from scratch:

  1. install icecast2 on the server
  2. configure icecast2 following the instructions (from apt-get)
  3. install darkice on the client
  4. configure /etc/darkice.cfg specifying the device (I used ‘pulse’ which uses the system sound in ubuntu) – if you don’t have a default darkice.cfg I think you can find an example somewhere in /usr/share
  5. run darkice and speak into the mic
  6. make a simple website with an audio element sourcing from your icecast2 address

Of course there are same small tweaks you can do, like could be useful to know that the default maximum number of simultaneous listeners is set to 100, that was why we had only 99 listeners for quite some time yesterday evening. And then if you wanna have same good sound too, you should probably connect a decent microphone or equipment, but that’s a different story.

So that’s how Radio Lockdown is born. But why? As the name itself tells, because of the lockdown imposed in France starting today. We stay isolated, but radio-connected!

If you want to listen for some trash talking, we don’t have a plan but we do have an url (we speak mostly italian):

http://radiolockdown.online

https://radiolockdown.danielenicassio.eu

NotesLearn

I recently bought an alto saxophone. It was quite a while I haven’t seriously been playing an instrument, so I came across a little challenge when it was time to read a music sheet. You know, that thing with a pentagram and some notes of various shapes drawn over it.

Since playing a note on the saxophone is not straightforward as it would be on a piano, I actually had two separate challenges: the first was to recognize a note on the pentagram, the second was to play it well (it means play the correct note steadly for some seconds – and in tune).

So I decided to code a little app to aid me doing so. The app is pretty simple: it shows a (random) note on the pentagram, and then listens to the microphone waiting for a note, identifying the pitch and, after some seconds of playing, says if the played note was correct or not. This app has proven quite useful in the process of improving my reading accuracy and speed, and I guess it might be useful to someone else too.

It’s published here: https://dmnk.cloud/noteslearn.

Technical infos

On the technical side, it is entirely coded using Javascript, and has been a cool challenge to code since it was the first time for me interacting with the microphone data on a web app. It uses some advanced Audio features of HTML5, based on the AudioContext component. Recognizing the pitch was a minor issue, obtained by playing a bit with the FFT of the signal, some other challenges included volume thresholding and octave recognition (less trivial).

In the end, the result is pretty usable for my alto sax, even though it may be less accurate if used with other instruments I didn’t test. The piano version is not perfect, for some notes it needs to repeatedly play the key to make the app recognize it. I guess it should work best with constant-volume-notes kind of instruments, like violin or flute, but as I said it was only fully tested with my alto sax.

KangaMex

Hello everyone! It’s been a while since I last wrote a piece on this blog, since that a lot of things changed, but I still want to share some of my experiences with the world.

I’ll be making some brief posts to track some projects I’ve been working to in these almost 2 years of absence.

This post is about KangaMex, a messaging platform which idea is really simple, yet I didn’t find something like it when I needed it. The app is a delayed messaging service, or a service to send messages which will be delivered only at a specified date and time in the future. You write your message, set the unlock date and time, the recipient’s username, and send it. The recipient will be notified that he/she has an upcoming message, but will not be able to see it until the unlock time has come. Very simple, nice way to send delayed messages.

The app is at mex.kanga.life.