Dealing with translators

December 19th, 2010 No comments

I have gotten a few translations to my programs since their beginnings. The languages include Spanish, Galician, Korean, Russian, German, Lithuanian, Nynorsk, Dutch, Bulgarian and Farsi. These have all been submitted by helpful users.

Previously I had a wiki page that described how to submit a translation. I wrote that page in an attempt to get more translations. A simple, efficient, straight-forward, and fully explanatory way to submit a translation. Following each new release I typically received one or two submissions. Some might say that the wiki page fulfilled its purpose.

There is one problem with this however. People are given the opportunity to simply dump their translation on me. And they did. For them, there was little feeling of being involved with the development of the program. So what happened is that I got a few translations with poor quality.

The biggest annoyance of all has been trying to get the authors to update their translations when the time to release a new version arrived. It is quite different now when I sometimes have to wait one or two weeks to release a new version, to before when I didn’t have to wait for anyone. I was in complete control back then.

I don’t mind waiting a few days, though. I know that in some places in the world, people can hardly speak English, and they (unfortunately) don’t see a point in learning. So it’s important to have the means to provide translations. Having said that, there are some people who doesn’t even bother replying when I ask them to update their translation. The least they can do is reply with a message saying “I don’t have the time to translate your program anymore.” How hard can that be? This is one thing that can really piss me off.

Now that I have fully explained the problem, let’s get down to improving the situation. As I mentioned above, people need to feel committed to their contribution. They must know that I will ask them to update the translation later. This means there have to be communication between the translator and the rest of the project (this mostly means me). Simply put, the bar have to be raised. To this end, I no longer provide a wiki page with instructions. People can no longer simply dump a translation on me. I still encourage people to submit translations, but that they must be committed to update the translation in the future. I also set firm deadlines. If they don’t update their translation in time, it won’t be included in the installer and it will at best be released only as a zipped version.

Morale of the story? If you need your peers to update their contributions in the future then don’t give them any chance to simply dump their contribution on you. Make them feel involved and make sure they understand that it is a long-term commitment.

Tags:

Server switch complete

December 18th, 2010 No comments

As I wrote in an earlier blog post, I have been meaning to move stefansundin.com to my new server in Luleå. I finally completed the transfer this Thursday. The whole of stefansundin.com is now hosted on my tiny server that sits on one of the shelves at Ludd.

I have not transferred over everything yet. Specifically, the files in /speedruns/ and /games/. I will do this after new years. There might be something else that is not working, or something that I have not transferred yet. Send me an email if you notice something missing or misbehaving.

Tags:

Peer contributions

September 9th, 2010 No comments

A few days ago I got an email where a user explained a way in which I could improve one of my projects, Google Calendar Week Numbers. I have now applied his fix on a few weeks as an experiment to see if anyone else objects or if the fix has some unintended side effect.

This improvement was quite unexpected as I have reiterated the week numbers from the ground up many times. I thought I had searched every corner, looked under every rock and tweaked every switch. But thanks to the open source nature of my projects, every user has the power to see exactly how I created the project, copy it to create their own version and even improve upon my version. This user did just that and was kind enough to tell me about the improvements so that I could implement them on my official version.

Since Google launched their own week numbers I thought that the days of my week numbers were numbered, since their week numbers were equally as well done as mine. Now my calendar has an edge over Google’s. I wonder how long it will take until they make the same improvement. ;)

Anyway, the morale of the story is: Open up your project and give people an easy way to contribute and your project will be the best of its kind.

Tags:

Ah, the memories…

August 14th, 2010 No comments

Recently, I have started coding a bit in Delphi. I used to code a lot in Delphi long ago. It’s actually the first proper programming language I learned. It’s really easy to learn and it’s easy to do windowed programs, but it has a weird syntax. I haven’t used it in about 5 years and I don’t plan on going back.

This time I made a custom version of the open source program SubRip. I added a bunch of stuff that I needed. Unfortunately the source code is a total mess, but I managed to add what I needed after a few tries.

Go here to find my files. Go here to read a thread I made about them.

You might find it interesting to know that my programs TrayCD and ShutdownGuard originated as Delphi programs. Their Delphi variants including source code are available too (follow the links).

P.S. I might post some of my old Delphi apps someday. I got a lot of them, but most of them are about as useful as TrayCD. :-)

Tags:

New site

July 6th, 2010 No comments

Finally! A new blog post. :-)

I got some good news: I am launching a new site! The purpose of this new site is to serve as a hub for my various projects and contain some basic information about me. Its ultimate purpose is to assist me in getting myself a job when I finish university (so please excuse any bragging ;) ).

Along with the new site there is a new server. To this date, stefansundin.com has been hosted at Dreamhost, which means the server is located in the US. This hasn’t been particularly convenient because I live in Sweden. I have now added ny.stefansundin.com, which points to my new server and contains my new site.

I currently got the new server in Sundsvall, but it will move to Luleå when school starts again. Once in Luleå I will try to get it a new home at Ludd, at which point it will eventually take over stefansundin.com.

This means that right now, I got two servers running concurrently. I have set up stefansundin.com to redirect you to ny.stefansundin.com if the new server is online. All of the old stuff (like this blog) is still hosted on the server in the US because I don’t want to take all the bandwidth at home (my brothers will get angry at me, hehe). So the two servers will work in conjunction with each other until the new server can take over completely. An added bonus of this is that I have a redundancy in case anything goes wrong with the new server.

Finally, I’ve changed the subtitle of this blog to “Me and my projects” to better represent what I talk about here.

Let me know if you have any suggestions.

Tags:

Dear hackers

May 26th, 2010 1 comment

Dear hackers.

I am well aware that you are trying to hack my site. Since I added my speedruns hosting site, there have been about 20 attempts to upload malicious php files and what not. In recent days, the attempts have occurred more frequently.

Of course, all these attempts have failed. I am pretty sure it’s unhackable, but thanks for testing my security anyways. There is a review made by me before any file is accessible, so it simply will not work. Most of you are probably script kitties also, so I’m not surprised you aren’t having any success.

Anyway, please stop. It’s tiresome. But it does get me to laugh sometimes. Maybe I’ll make a map with the places people are trying to hack me from (since I got your IP addresses), could be fun to see.

Update: Here’s the map! Also, I can see that the script kitties are searching on Google for sites where they can upload files, for example inurl:upload.php.

Update: I just went ahead and blocked the upload script, this was getting far too annoying. Just email me if you want me to host a speedrun.

http://stefansundin.com/speedruns/upload.php
Tags:

Flattr

May 9th, 2010 2 comments

So the new service Flattr is slowly but surely launching. It’s a new service that is meant to fix the problem of not being able to give something back to the creative creators on the internet. You will finally be able to add some money to that Thank You note. Flattr fixes this ingeniously, by implementing a monthly flat-rate, so you can flattr as many people as you want without having to worry about how much money you are giving away. Everyone will get a piece of the pie (or cake).

Right now Flattr is in beta, but you can sign up for an invite on the website. I am expecting it to launch very soon. Flattr will get very exciting when everyone gets a chance to test it out. You can’t make a living on it yet, but who knows what will happen when it gets popular?

The biggest problem with the de facto standard way of donating so far — Paypal — has been the problem of giving small sums. People who have little income will not bother since the overhead cost is simply too big. I have noticed this myself. Out of the 194507 downloads that my Windows tools have received so far (SuperF4, KillKeys, TrayCD, ShutdownGuard and AltDrag combined), only six people have donated. Those six people combined have generously given me 240$ (Thanks!).

Imagine instead that out of each download, 10% of the people want to give something back. Imagine that those 10% presses my Flattr button, and at the same time presses Flattr buttons for 9 other people that month.  Lets consider that they use the lowest possible flat-rate on Flattr, 2€. Since they have pressed 10 Flattr buttons, that amount will be split between 10 people, giving 0.2€ to each, with one of them being me. Lets do some simple math: 194507 × 0.10 × (0.2 €) = 3890 €. This means I would get 3890€, an enormous amount compared to the measly 240$ I have gotten so far using Paypal. And all of this while having quite pessimistic expectations — 10% wanting to give, each one with the lowest flat-rate and also giving to 9 other people.

There is one big hurdle that faces Flattr though. Adoption. The fantastic scenario I just wrote is only possible if Flattr gets a high adoption. This will definitely require some effort on Flattr’s part, but also depends on community help. Hopefully this blog post will get you excited enough to try it out. Here’s my advice: try out Flattr — it’s extremely cheap and best of all, everyone will get a piece of the cake (or pie)!

P.S. I have one Flattr invite in case you want to try it out. First person to email me gets it. It’s taken!

Tags:

My first circuit board

March 17th, 2010 No comments

I finished my first circuit board last week; an AVR programmer. I made it at an evening course arranged by an association at my university. It was pretty cool to learn how to make circuit boards DIY-style, and it wasn’t that difficult either. I had some previous soldering experience but this is the first time I soldered surface mounted components, which was probably the most difficult part in the whole process. Everything turned out great though, and the card worked on the first try. :-)

Here are some pictures:

The only mistake I made was to pick the wrong footprint for the resistors, so they are a bit crammed, but you would only notice that if you know what to look for.

A very fun project indeed. I learned a lot.

Tags:

MinGW and mingw-w64

February 23rd, 2010 4 comments

MinGW is a port of the gcc compiler to Windows. I have used it for all my Windows programs, like AltDrag and SuperF4, and it has served me well for years. Recently though, I have become increasingly frustrated with MinGW’s stagnated development.  Simply put, nothing has happened for years.

It started with missing #define statements in the header files, and I eventually encountered missing library definitions for dll files. MinGW doesn’t even have all the correct definitions for Windows XP, some of which I want to use. A temporary workaround to these problems was to simply add a bunch of #define statements in my own code, and sure, this worked pretty well. The missing library definitions were a lot more troublesome to work around, but I eventually managed to do it (more about this here).

Off topic: one of the things I hate to do while programming is having to do things that doesn’t really concern the functionality of my program. Some things worth mentioning here is GUI, documentation and compilers. The basic reason why these compiler problems exist in the first place is because I only want to use free software programs in my toolchain. All the processing of my code to a working binary is entirely done by free software, which I think is pretty important. This might be a controversial statement since the programs are for Windows, a closed operating system, but I will leave that issue for another blog post.

When I started looking for a 64-bit compiler for Windows, it wasn’t long before I found out that the MinGW project had no intention of adding that anytime soon. I soon found the mingw-w64 project, a fork of MinGW. mingw-w64 is not only adding 64-bit support, but it is a lot more cutting edge; instead of gcc 3.4.5 (MinGW) there is gcc 4.4.3. They are also developing a 32-bit version called mingw-w32, which is basically MinGW but a lot more cutting edge. When I first found mingw-w64, the documentation wasn’t that great and I had a lot of troubles getting it to work. It is still a little difficult to find the stable downloads, but here are links to help you: mingw-w64 1.0, mingw-w32 1.0.

When I first tried mingw-w32, it was also missing the library definitions, but after I visited the IRC channel and asked them to add the definitions, they did so on the spot, and the next daily build worked flawlessly. I have seen many forum threads trying to get the MinGW people to add the very same library definitions, but with no success. I have been idling in the IRC channel ever since, and I am seeing constant development happen. This project is very much alive. I would like to encourage all MinGW users to check out mingw-w64 and decide if they want to switch to it.

Currently only the 64-bit parts of AltDrag 0.8 is compiled by mingw-w64 (the 32-bit files were compiled with MinGW). I am planning to compile all future releases with mingw-w32 and mingw-w64, which means I will start offering 64-bit binaries. All my programs can still be compiled by MinGW, but I don’t think I will be actively maintaining support for it.

Tags: ,

Name days in Google Calendar

February 13th, 2010 No comments

I recently finished a new project; Name days in Google Calendar.

This calendar works very similar to my Google Calendar Week Numbers, but instead adds flag icons to each day. Simply hover the mouse over the flag to see a tooltip with that day’s names. Click the flag to read more about the names (on Wikipedia).

Currently there are only Swedish name days, but if this becomes popular then I am willing to work to support more countries.

Tags: ,