Tag Archives: Tutorial

Choir practicing home alone with Musescore

Here’s a simple, hopefully helpful, guide for those who are in a choir, and maybe just got an email with a link to a bunch of Musescore-files sent to them from that weird nerd in the back row.

This is what you do.

0. Download Musescore

Go to musescore.org, download Musescore (big green button), and install it as you would any other program.

Note: If you struggle with this, and/or the next step, just ask that nerd, or a friendly one in your neighbourhood, for help 🙂

1. Get a file onto your computer

Download one of the Musescore files. You can identify them by having the extension “.mscz”, and once on your computer they might have the icon seen below. Here seen next to a PDF file, which might be more familiar to you. But yeah, you want the Musescore file now 🙂


Note: If you see files whose name starts with a dot, for example “.Celtic Advent Carol.mscz”, these are temporary files that doesn’t work, so ignore them and find the one that doesn’t start with a dot 🙂

2. Open the file in Musescore and start practicing!

Once you’ve opened the file in Musescore (either via Explorer or Finder, or via File/Open inside Musescore, like you would in any other application, like Word, Pages, etc), you should have a view similar to this:


There might be some extra panels open, but they are mostly useful for entering sheet music. For playback, very few things are needed.

The View menu, that you see open in that image, is where you turn on and off all those various panels, including the essential Play Panel and Mixer, which we come to shortly.

Simple playback

At the middle top, you have the play-button, and a jump-back-to-the-very-start-button.

If you want to start playback from a certain place, simply click on a note to select it, and then press the play-button.

Playback with the Play Panel

In the View menu, you can open the Play Panel. It looks like this:


On the right you can adjust the tempo and the main volume.

The tempo can be useful in tricky parts (or if the tempo is just wrong compared to what you remember from last choir practice).

The Volume slider is mostly useful if the song has a lot of unison parts, which can sometimes result in a bit distorted sound because all the sound gets added on top of each other and ends up being too loud to function. If that happens, just nudge this one down a bit. Otherwise, just use the computer volume as you normally would.

At the bottom middle, you find the same play buttons as in the main window, but you also have some loop buttons you can play around with if you feel like it. I rarely use them, but found it useful a few times when I really struggle to find a certain note. Then I’ve set the playback to loop over that section over and over again until it sticks.

The mixer!

In the View menu you also find the mixer, which is the most important thing. It looks like this:


As you can see, you have a number of controls repeated down, one for each staff (note line) in the score. And you can fiddle with these both when playback is stopped, and while you’re listening.

Use Mute to turn one off. Use Solo to turn everything else off. Use the volume dial, by clicking on it with your mouse and dragging up/down, for more control over the volume of the various voices. You can also change panning (for example put your voice in the right speaker, and the rest in the left), or change instruments used to playback and such, but I rarely bother with that. If you double-click a dial, it resets to its default value, which is useful.

Either way, I usually do something along the lines of this:

  1. I start by turning my voice up to max.
  2. And and the rest down to a quarter or a half, depending on how secure I already am. That way it’s easy to hear what I’m supposed to sing, but I still have the others in the background.
  3. Practice until getting comfortable.
  4. Then I start turning the other voices back up towards their default value. (remember: double-click the dial to reset it).
  5. If I then have trouble finding my notes, I go back to step 1.
  6. If I’m still finding my notes ok, I start turning down my own sound to make sure I can still find my notes without leaning on what I hear.
  7. If not, practice more.
  8. And when I can get through the whole song, with basically no volume on my own voice, then I’m good to go 🙂

Which in my case usually means: Go, lay down on the couch, and memorize lyrics for an hour or two… because that’s what I personally really struggle with learning 😛

Happy practicing!

Hope this helps someone. I use it for literally every new song I get in the choir, and it helps me a lot. Especially with those tricky bits… that one note I just can’t quite find… that place with a bit of an off beat making it difficult to articulate properly without “getting it”… that crazy section where everyone sings something different and I’m not sure when to actually start and/or stop singing…

PHP Tutorial: PayPal Instant Payment Notification (IPN)

Got a letterIn a previous post I tried to give an introduction on how to get started with PayPal Payment Data Transfers (PDT). PDT is very handy in several cases, but you can’t always rely on it since it requires the user to return to your page after doing the payment. That will often happen, but it’s not guaranteed to happen. If you for example want to mark an order in your system as paid or something like that, you most likely want to use PayPal Instant Payment Notifications (IPN) in addition to PDT.

Instant Payment Notification (IPN) is a message service that notifies you of events related to PayPal transactions. You can use it to automate back-office and administrative functions, such as fulfilling orders, tracking customers, and providing status and other information related to a transaction. — PayPal

Once again the documentation, tutorials and code samples I found on this was a bit all over the place. Sort of messy and outdated. So, once again I decided to do my own thing and just follow the steps required and implement them myself. And since the tutorial on PDT turned out to be a bit of a success, I decided to share this too. Hopefully it can make the lives of fellow developers easier 🙂

Continue reading PHP Tutorial: PayPal Instant Payment Notification (IPN)

PHP: How to get all images from an HTML page

I was curious to how I could make something similar to what Facebook does when you add a link. Somehow it loads images found on the page your link leads to, and then it presents them to you so you can select one you want to use as a thumbnail.

Well, step one to solve this is of course to find all the images on a page, and that is what I will present in this post. It will be sort of like a backend service we can use later from an AJAX call. You post it a URL, and you get all the image URLs it found back. Let’s put the petal to medal!

Continue reading PHP: How to get all images from an HTML page

PHP: How to proportionally resize an uploaded image

Big mug and tiny mug
Say you have a form where someone can upload a profile image. The uploaded image can be of any size of course, but you want all the profile images to fit inside a certain frame. You could just set the dimensions on the image tag to this size, but in most browsers that would look ugly, and it would also most likely stretch the image. It would look awful. In addition you would be serving a image which most likely was a lot larger than you wanted it to be. This would cost you bandwidth.

In this case you might want to proportionally resize the image to the appropriate size when you get it uploaded. You can then store the resized image instead and serve it directly with no problems afterwards. It doesn’t have to be difficult! Here’s how 🙂

Continue reading PHP: How to proportionally resize an uploaded image

Unix: How to redirect stderr to stdout

Today I ran a Java application in a Unix console. It printed out some messages before it crashed with an exception and a loong stack trace. Too long to see the top of. So, I figured I’d just pipeline it into the lovely less like this:

$ java -jar foobar.jar | less

The result was not what I expected however. All I got to see was the messages that had been printed out. No exception or stack trace to be seen.

Continue reading Unix: How to redirect stderr to stdout

How to backup a folder with Robocopy

HarddriveAs a simple way to keep my computer backed up I copy all that I care about onto external hard drives twice a day. I mostly do this in case my internal hard drives would die or something like that, so I haven’t cared too much about finding anything more fancy with incremental history and such. What I have is a simple batch file that I have set to run periodically using the Task Scheduler in Windows.

Note: If you want an easier solution which supports incremental backups to external drives, other computers and the cloud, you should check out CrashPlan. I personally pay for a CrashPlan+ Family Unlimited license and use it to back up all my computers. Very handy and has already prevented me from losing all my stuff once 🙂

Continue reading How to backup a folder with Robocopy

PHP Tutorial: PayPal Payment Data Transfers (PDT)

MoneySay you have a PayPal “Buy Now”-button on your website and you have assigned return URLs like http://example.com/order?done and http://example.com/order?canceled. You can then welcome the user back after a successful payment. But what if you wanted to say something more interesting than just “hey, welcome back” when they click on that “Return to Merchant”-button? And can you know if the order was actually done or canceled? Maybe you’d like to log the transaction in your database and mark a payment as complete or something like that too? In that case you sure can’t trust a simple flag in the address bar…

Payment Data Transfer (PDT) is a secure method to retrieve the details about a PayPal transaction so that you can display them to your customer. It is used in combination with Website Payments Standard, so that after a customer returns to your website after paying on the PayPal site, they can instantly view a confirmation message with the details of the transaction. — PayPal

I’ve tried to figure out how to use PDT and found that most samples and classes to build from are usually quite ugly, old or outdated. I didn’t find them too useful anyways… So, therefore, I’ve tried to do my own thing based on the documentation found on the PayPal Developer websites. (Seriously, how many versions of documents and developer websites do they have anyways? It’s like a complete jungle…)

Since the documentation was a bit of a mess, I thought I make a small tutorial on the steps needed to get started. That way I can learn it better myself and hopefully help some other poor souls that need to figure this stuff out as well. Please provide feedback if you have any! Would love to make this page nicer and clearer if possible 🙂

Continue reading PHP Tutorial: PayPal Payment Data Transfers (PDT)