Blog

Disaster Recovery Plan

Submitted by mimec on 2021-03-14

The last twelve months have shown that we’ve finally run out of collective luck. The global crisis affected health, economy and climate, all at once. At the same time we took for granted the global network upon which we’ve become more dependent than ever. This week’s incident in Strasbourg shows that a disaster was looming for a long time. Over 3 million websites were taken down because of what seems to be the malfunction of a single UPS unit, which turned into an uncontrollable fire, and our server was among these that were completely destroyed.

I’m currently still in the process of setting up and recovering data to a new server in the Polish data center. At first, when I found out what happened, I wasn’t even sure if there was anything to recover, because I didn’t know where the backup storage was located. It turns out that we were lucky, because some backups were apparently located in the same facility, and are either inaccessible or even lost completely, but ours were stored in another location. We only lost the data of our internal timesheet application, because I forgot to enable backup for this particular site, so I certainly learned my lesson too.

But the most terrifying thing is the number of companies which lost all their data because they didn’t even realize they had to make backups. I’m definitely not an expert in server administration; I volunteered to take this role because someone had to. But that server was used mostly for development and research purposes, and only hosted a few customers’ production websites which were not critical for any business operations. However, companies that have thousands of dollars of revenue which depends on a single server, or a cluster of servers in one location, without offsite backups, is something that I thought ended a long time ago, with the first dotcom bubble. The number of people asking on Twitter how they should activate their disaster recovery plan, after the fact, shows that it’s still a thing.

Enough ranting; I haven’t written anything for a while, so I guess it’s a good opportunity for a brief summary. Last year, when the pandemic started, I thought it wouldn’t affect me very much; after all I started working from home about seven years ago. But that’s the easiest part. It’s hard to live normally without going out, seeing friends, going to the movies, concerts, vacation, etc. With the current rate of vaccination in Poland, it’s not going to change anytime soon. My work was also initially affected in a very bad way. My day job salary was significantly decreased for a few months, and the side project that we were just finishing - a service for selling bus tickets online - went down the drain when international borders were closed. Again, we were lucky, because soon we got the opportunity to work as subcontractors on two projects for the Polish government, and 2020 turned out to be another record year, financially, for Bulletcode.

In November I decided to realize one of my long time dreams, and I bought myself an electric guitar. I was always afraid to do that, because I know how hard it is to learn to play, and how much time and dedication it requires. On the other hand, I always managed to work on various open source projects and other personal nonprofit stuff, which also took a huge amount of time. But last year I worked so much on commercial projects alone, that I decided that I finally need another hobby which is not related to programming. So far I wasn’t able to make a significant progress, and I can’t even say when it’s going to change. This year me and my partner decided to move to a new apartment, so I have to keep working two jobs. But after the move, it’s over. Poland is a relatively poor country, and you really have to work your ass off for years just to be able to afford a house, a higher class car etc. I don’t want any of that; it’s simply not worth the sacrifice of not being able to spend time with my family, to care about my physical and mental health, and to finally be able to do things that I love.

WebIssues 2.0 coming soon

Submitted by mimec on 2020-02-26

It's been almost two years since I announced that I'm working on version 2.0 of WebIssues. I even wrote an article on Medium about it. In fact, in the second half of 2018 it was almost finished. And then the unexpected happened. Just when I thought that the time of commercial side projects is over and I would be focusing on open-source projects again, Bulletcode got two big projects in a short time. So there's a 7-month long gap in the project's git log, not to mention that it took a while before I got back to full speed with WebIssues.

I usually applied the "release early and release often" approach to open-source projects, but this time it was such big technological leap that I decided to postpone the initial release until everything is finished, polished and tested. So even though the first version will be a "beta" version, the only thing that's really missing is the translations (by the way, please join the WebIssues project on Crowdin if you want to help). We're already using that beta version for our Bulletcode projects and everything works fine, but of course there is such diversity of platforms and configurations that it's impossible to catch every bug.

What can you expect from the new version? It has a completetly new user interface, not only when it comes to technology, but also the overall design. The well known tree of projects and folders is now gone; obviously you can still filter issues by project and folder, but the new UI is built around issue types and views. The native desktop client is also gone and replaced with an Electron application. Yes, I know, the desktop client was a major selling point of WebIssues, but it was also the main reason why it was so hard to make changes and introduce new features.

I tried to do my best to make the new application as lean and fast as possible, because like everyone else, I hate heavy and bloated single-page applications which are the reality of today's web. And, most importantly, it remains an open-source application that you can host on your own server, requiring nothing more than PHP and a database, because not everyone likes to store all their data in the cloud.

The first beta version will be available on March 2nd, so I encourage everyone to take a look and try it; there will be an online demo available. The official version will follow soon after, depending on how quickly the translations will be updated and how many bugs will be found.

Migration to GitHub

Submitted by mimec on 2018-03-02

In the last few months I've been quite busy working on the prototype of version 2.0 of WebIssues. My plan was to reach a point where the new web UI is functional, at least in the most important areas, before migrating the code repository to GitHub. However, with the recent series of outages and problems with SourceForge, I decided not to wait any longer. Honestly I don't blame those guys who work for SF. I suspect that these problems have more to do with politics than with technical reasons. The truth is that in today's digital world the largest company wipes out the competition sooner or later, so this was inevitable. But it doesn't change the fact that SourceForge played a very important role in the popularization of open-source software and after using it for at least 13 years, I feel a little bit of sentiment.

Also, I've been using Subversion for so long that I was a little bit reluctant to switch to Git. Believe it or not, but I've never really used it before. I know that in theory it works more or less the same, but such transition always requires some mental processing which distracts from the actual work. Fortunately, thanks to Visual Studio Code and it's built-in integration with Git, this transition went quite smoothly. So the first project is now available at https://github.com/mimecorg/webissues. Please note that this is the current development version of WebIssues 2.0, so it's very far from being functional and stable. In the following days, I will move my other projects to GitHub, including the latest stable version of WebIssues.

Soon I will also publish an article on Medium in which I will describe my initial experiences with Vue.js and my general thoughts about the benefits (and drawbacks) of working on an open-source side project. I will also use this opportunity to reveal some of my plans regarding version 2.0 of WebIssues.

New incarnation of mimec.org

Submitted by mimec on 2017-11-19

Today is the beginning of a new chapter in the history of the mimec.org website, which I created almost twelve years ago, and the related websites dedicated to my open source projects. I moved these sites to a new server, but I also completely redesigned them and migrated them to the latest version of Drupal. I actually built them completely from scratch and imported the old content using some hand-crafted tools, so the whole conversion took about six weeks of work. I hope that you like the result.

If you look closely at my blog, you will notice that there hasn’t been much going on recently. I mainly focused on Bulletcode, the company which I founded three years ago with my friends. We had a lot of ups and downs, but the important thing is that we created a few projects that help thousands of people. Even though it was always just a side project for us, it was definitely one of the greatest experiences in our lives. Each of us moved on to different projects, but we’re still a great team and when the time comes, we may work on something new again.

Personally, the last few years were very hard for me, so the company was one of the things that kept me alive. But now I’m ready to begin a new chapter in my life, start building a new relationship and become the person who I really want to be. I’m more aware of myself. I rediscovered many things that I lost along the way, things that inspire me and drive me to become better at what I do. I am grateful for what I have and I look into the future with optimism and curiosity.

So what are my plans now? A few months ago, I started working on a new, experimental version of WebIssues, with a new user interface based on Vue.js. Those of you who follow me on Twitter could already see some screenshots of that prototype. I also wrote a series of articles on Medium dedicated to programming in Vue.js and to my great surprise, they were very well received. I found a way to create the new version of WebIssues with as little effort as possible. However, I felt that this wasn’t the right approach, so I decided to take a step back and rethink this.

The truth is that it took me many years to learn PHP and C++ before WebIssues could become what it is today. Now I must gain a similar level of skills with the new technologies, even if it takes a similar amount of time. I also want to make a really good use of them instead of just doing a simple face lifting. So instead of rushing toward releasing a new version, I’m going to keep experimenting until I’m satisfied with the results. Of course, I will continue to write about new things that I learn along the way on Medium. I will also share my progress in this blog.

I’m very excited about this new plan, because I think that personal development and improving our skills is the best thing that we can do in our lives. Especially if they allow us to do something both creative and useful. With that goal in mind, I’m sure that the next months and years will be an amazing time.

Debut on Medium and announcement of Frienzzle

Submitted by mimec on 2017-05-06

A few days ago I published my first article on Medium: A brief history of Frienzzle. I announced the plans to publish Frienzzle, an innovative multi-player jigsaw puzzle, by the end of May, and also to publish regular updates on the progress on making this game. If you’re curious about the game and you don’t want to miss the launch date, you can go to frienzzle.com and subscribe today. We will send you an invitation as soon as the game is ready for public beta testing.

Also jut a few days ago I released the long awaited version 1.0 of Saladin, my open-source dual pane file manager for Windows. Currently I'm working on a minor release of WebIssues which will also be published very soon. It's a very busy period for me personally and for the Bulletcode company that I co-founded; challenging but also very creative and exciting. To get the latest updates, make sure that you follow me on Twitter: @MichalMecinski.