published 28 Aug 2015

Finally fixed osu!stream today. It should have been easier than it was, but as I was bypassing using the UIViewController hierarchy for maximum performance, a bit (well, a lot) of hackery was required. I’m not proud of the final code to get it to work, but it does work. Now begins the joys of the Apple approval process. Wish me luck!

Managed to destroy my osu! (PC) dev environment beyond repair. Going to have to clone a fresh copy tomorrow and start from scratch. Honestly not sure how I broke git so badly, but let’s just say submodules are an evil which I’d like to avoid going forward.

We also managed to release osu!web for public consumption today. Please note it is heavily a WIP, and though it may not be visible from the lack of any git history, it’s quite an active project. I will be discussing more about how you can contribute to the project – should you choose to – in future blog posts. Please DO submit issues on GitHub for bugs you find (pull requests work too!). Please DON’T submit issues for things you want to see implemented (we are likely already planning it).

I haven’t done a Q&A post in a while, so let’s make that happen. Tweet me your questions and I’ll answer them sometime this weekend. Oh, and have a good one!



published 27 Aug 2015

Today I

  • Spent many hours discussing and slightly rewording license headers. This week is the week of getting osu!web out into the public (probably tomorrow)!
  • I almost finished my complete rewrite of osu! netcode to support HTTPS amongst other things.
  • Didn’t get osu!stream back in a usable state yet :(.


published 26 Aug 2015

What busy times.

  • Had a long discussion about what licences to use when open-sourcing osu!. Currently we are happy with AGPLv3 for the server-side components (stuff specific to osu!), otherwise MIT wherever possible (stuff we want to give out for the good of everyone). The osu! client is still open for discussion; while GPLv3 seems like a great choice, it means we may have issues releasing on iOS, which is something I plan on doing. Let me know if you have any suggestions on how we can get around this (dual-licensing from the beginning? a different license altogether?).
  • Started to delegate more of my accounting work so I can look at figures less and program more.
  • DDoS’d myself with almost 3 gigabits of traffic by creating an infinite update loop on the stable release stream. Not directly my fault (the MySQL GUI I use bugged out and removed a row it shouldn’t have), but still quite amusing. Lucky CloudFlare could save the day, because my servers sure weren’t about to recover.
  • Deployed a new public release with a qualified map warning. Baby steps, but I believe they are in the right direction.
  • Started factoring out the release streams we don’t use from stable and cutting-edge. Basically just cleaning up the garbage, but it feels good.
  • Started the cogs turning to get osu!web open-sourced. Now that we have a license, it should not be far away at all. Please star the repo and follow along if you are at all interested.

Still making good forward progress on the cutting-edge release. Switch if you haven’t already… for your own sake. We need all the feedback we can get (seriously).



published 25 Aug 2015

If you were following my tweets, you will know that I am taking a stand to increase the transparency of the ranking process. It’s one of those areas of osu! that I used to spend a heap of time managing but have since delegated. When you delegate, you tend to lose control and eventually lose track of what is going on. This may mean that the goals of those in charge reach a point where they no longer align with your original intentions.

I intend to bring things back in line with my ultimate goal of keeping osu! as transparent as possible. I also hope to improve the overall process gradually in the direction of making it more enjoyable for everyone involved. Mappers and modders alike need to be enjoying themselves the whole way. At the moment, it would seem both parties are relatively neutral or even unhappy at how things work, so it’s definitely time for some change.

I’ll try not to step on too many toes in the process and also try to make changes as soon as possible, but while I am giving this more priority, I still have a metric tonne of other things that need immediate attention, so delays may happen. Rest assured I am aware that issues exist and I will do my best to resolve them.

For those living under a box, please continue to do so. You’re probably enjoying yourselves more than anyone who is following this drama along :).

p.s. Once I’ve figured out exactly how I will proceed with the changes, I will do a more detailed write-up post on what is planned.



published 24 Aug 2015

I somehow managed to miss more than one post last week. Let’s play some more catch-up!

  • Following up on the database performance lead I thought I found last Thursday: after spending Friday working through it, trying to understand what was going on – which ended with us setting up a test KVM environment to replicate DigitalOcean’s – I feel like I have more questions than answers. Safe to say, KVM is adding some weird, magical, invisible overhead to MySQL.
  • I spent a good portion of the weekend and today focused on osu!stream. Turned out Apple changed the way paid app contracts work causing all in-app purchases to suddenly fail! This means I need to redeploy the app. Not such a simple task when you are one year behind SDK changes (some that have seriously broken display and input subsystems). I plan on submitting an update for it this week, along with a full-fledged blog post about the future of osu!stream. Quite a touchy subject for me.
  • There’s some experimental code up on the new forums to make scrolling upwards in threads more pleasant… we hope. Check it out and leave some feedback in the comments.
  • Been trying to track down the cause of some users seeing endless update loops. I could have sworn that the updater was flawless, but alas. If you are experiencing issues with updating, make sure to get on the public slack #cuttingedge channel and highlight the fuck out of me.
  • The osu!mania World Cup is ongoing. Make sure to tune in and see how polished the tournament streaming setup is!