Page 1 of 1

What to do after the delay?

Posted: Sun Apr 05, 2015 1:40 am
by Muazzam
I had a huge delay in development (more than a month) due to some reasons, now, I've absolutely no idea about how to, and, where to start again. I think, I have lost the interest in operating systems. Any advice? What should I do?

Re: What to do after the delay?

Posted: Sun Apr 05, 2015 2:11 am
by iansjack
If you can't motivate yourself to get back into your OS development then there's not a lot to suggest. Most of us look at OS development just for fun; if you don't find it fun any more then perhaps that's Nature's way of telling you to find another hobby.

Re: What to do after the delay?

Posted: Sun Apr 05, 2015 4:41 am
by alexfru
:) I haven't worked on my compiler for about the same time for a number of reasons, one of them being that I wanted to implement one missing feature, but hadn't yet figured out how to do it and it looked like a big thing. I have now mostly figured it out (and settled on a less ambitious/efficient implementation just to make the progress easier), so, I'll implement it eventually, step by step, just like I did other things.

But this all is nothing compared to things like going out of physical shape. About 15 years ago there was a period when I didn't play my guitar for 10 months straight. It took me some 3-4 months to regain what had been lost by not playing (there was no injury involved). I've played ever since and I've made some big improvements in the past couple of years. :)

We sometimes embark on big adventures and take on complex projects and we get stuck and frustrated with some obstacles or just plain burn out. It happens. Sometimes we hit something (in the project or in life) that causes us to reassess our abilities and rethink our priorities. It's fine too. So long as you understand what's happening. I have, for example, haven't worked on my OS code for about 10 years now. The last big thing I did was a full FAT12/16/32 driver with a test suite. I realized that the OS project is a bit too big for me time-wise. My Smaller C compiler turned out to be a more contained and manageable project. In just about two years of work on it I have completed most of what I wanted, sometimes even more than anticipated. It's usable on 2 architectures (self-hosting on one) and 4 OSes. Kinda neat. I didn't make a usable OS in 7+ years in contrast, even though many parts are done or are more or less straightforward.

Anyhow, we do it for fun. And as long as it's fun. You may resurrect your interest a few days or weeks or months. Or not. Which is fine too.

Re: What to do after the delay?

Posted: Sun Apr 05, 2015 2:19 pm
by max
Oh hey, another guitar player, nice ^-^

From time to time I also lose motivation in development. This mostly happens because theres something big to do, but I feel like I didn't figure out a proper solution to do it. This condition sometimes lasts up to a few weeks, but then I finally figure out how to do it or at least feel the urge to just continue. Sometimes I just have no time or put effort in other projects. If you don't feel like working on your OS, don't force yourself. Just wait for some days, relax, think about what you want to do next and then go on. There is no need to achieve your goals as fast as possible; the world of operating systems is changing very slowly anyway. It's about fun, learning, and in the end you will see what you have built and be proud.

Re: What to do after the delay?

Posted: Sun Apr 05, 2015 4:19 pm
by carstenkuckuk
Muazzam,

I have a wife and a kid and only an hour here and there of uninterrupted time for my pet projects. Here's how I work around these continuity problems:
- I've set up an archival subversion repository, which contains a "Source" folder, which contains years (2013, 2014, 2015..) as subfolders, and then the project names as the subfolders
- Each project has a readme.txt file, where I put a blurb about the project, the environment needed, etc. It's in essence a letter to myself in the future, when I want to work on that project again. The project also always has a build.bash/bat/.. file that builds everything from scratch. And it contains a "doc" folder which in turn receives proper project documentation (file formats, structure information, etc.) It's limited to what I need to know when I pick up the project again.
- I have an old-style notebook with a pen (notebook in the sense of a book with empty pages that just have squares in them). It serves two purposes: (1) I use it like a diary and write down (non-trivial) stuff I did or found out, (2) I write down ideas that occurr to me, and that I don't want to forget, like data structure designs or such.

The purpose of the repository is to not lose any work ever done, and also to easily switch between computers and operating systems. The purpose of the script files and the documentation files is to make it easy to come back to a project that has been dormant for months or years. The purpose of the notebook/diary is that you can easily go back in time and read up what your train of thought was at the time you worked on something, and also about the small problems you ran into but have forgotten about. It is also useful to catch those ideas that come to you in the most inopportune moments, like when you're on the loo, or in the bathtub, and there's no booted up computer around to work on it.

HTH,
Carsten

Re: What to do after the delay?

Posted: Mon Apr 06, 2015 9:16 am
by Muazzam
Thanks for all replies. I think, I should not force myself. I might start it again in a few weeks.

Re: What to do after the delay?

Posted: Mon Apr 06, 2015 10:23 am
by beyondsociety

Code: Select all

I've set up an archival subversion repository, which contains a "Source" folder, which contains years (2013, 2014, 2015..) as subfolders, and then the project names as the subfolders
- Each project has a readme.txt file, where I put a blurb about the project, the environment needed, etc. It's in essence a letter to myself in the future, when I want to work on that project again. The project also always has a build.bash/bat/.. file that builds everything from scratch. And it contains a "doc" folder which in turn receives proper project documentation (file formats, structure information, etc.) It's limited to what I need to know when I pick up the project again.
- I have an old-style notebook with a pen (notebook in the sense of a book with empty pages that just have squares in them). It serves two purposes: (1) I use it like a diary and write down (non-trivial) stuff I did or found out, (2) I write down ideas that occur to me, and that I don't want to forget, like data structure designs or such. 
That's a great idea carstenkuckuk, thanks for the suggestion. I'm definitely going to do this with my older projects when I get some free time.