Thursday, August 29, 2013

Git repo

Lets get it rolling!  In a real self-hosted repo!
Ok, just dont hack me while I am asleep :)

---
No more :)

Tuesday, August 27, 2013

Patches rfc review

I have submitted my patches to xen-devel list both for Xen/toolstack and linux.
Looks like they are trashy :) I will have to clean them up and re-send once again.

I have got tons of comments from maintainers and now I will jump on them, sort them all out and fix/clean stuff. Looks like I also need a git tree.

I have spent good amount of time clenaning patches, applying them and compiling on each of the stages. As I get this experience, I think I will try to keep in mind the organization of patches as well.

Also I have signed up for some programming courser at coursera.org. I hope that i will learn from solving optimization tasks and would approach my NP-problem in a right way :)

Tuesday, August 20, 2013

I am really busy. 

I have days when I think I know how exactly solve everything :)
Sometime I go dark.

I hit an NP-problem with memory allocation. Because of the timing issue I have decided to avoid it and instead made it very simple, for now. I will sure have time to improve.. but still its NP-problem.

The code grows, I am pushing it hard so it will make to the xen-devel and lklm this week.
Huge work ahead of me on organizing patches, commenting them and formatting, rebasing and applying to the current trees. After the review, I will have to fix all errors or make changes and all over again :)

Well, in draft the whole project works, few bits there and there.
But every day I see more and more room for improvement and I also know what maintainters will tell me :)
But its ok, Id rather push it a bit and have the rest of the time for fixing and communicating.

The very-very important thing I have learned - prototyping!
I can now prototype some pieces of my tasks pretty quickly and this helps great deal. When dealing with a lot of code, this kind of modeling helps to see your algorithm very quick, test all corner cases (or most of them ;), debug and move back to the project efficiently.

So, as I am approaching official code submission, I'd better go off writing change list :)










Monday, August 5, 2013

Leaving job is not easy when looking for replacement admin

Well, thats a milestone I think. 
The vNUMA in real NUMA, going to live on real hardware... 10, 9, 8.. Until I am fixing some compile time errors.. )

I had a great day working on the project and not that great at my part-time work. Actually, these were very frustrating 4 hours.. Out of my life and project.
Funny, I interview poeple to replace me.. cool beans, I put up few tech (linux) questions as a first filter considering my other experience when I was interviewed. Questions are like this: what is inode, swap, zombie, some bash, some about getting info not from commands, but from /proc, some easy troubleshooting.
Not so hard? No! But looks like its hard for some people to comprehend why I ask all this. I am probably not right, my questions are obscure, but I use them just to start off from somewhere. And the point is not to ask something that anyone can google in a second. 
One person today was rude, he asked me questions after I ask mine, he would constantly repeat FIFO... Why the hell you bring up fifo answering questions about paging? And he refused to continue at the end.. Upsetting. Upsetting to loose time, upsetting when people have an attitude, upsetting to hear things such 'I dont work at places where there are no tools'! Wow, you need a pillow too?
Anyways, I am not a recruiter, I do not know how to interview people.. But sometimes you got to think out of the box then DataCenter is on fire.

And tools, yes, tools are important. But how now to understand if person can think if question only about commands? Or when you can download any script you like and run it.







Wednesday, July 24, 2013

source, open!


Oh, I am falling in love with git. Squashing my commits and branching are great!
I did screw up my code couple of times. Now I work with git and keep telling myself 'it's just a graph'.

Just sent out second set of RFC patches to my mentors. Well, I am not satisfied yet. I am never satisfied, as it looks like.

Xen and linux code is getting more friendly, I can pull out now stuff just from source code. I have to admit, the code is just wonderful. It is clean, transparent, easy to reuse.

As a sysadmin I hate blackbox systems. They screw my many nights of healthy sleep. I hate it when I cannot dig into what the heck is going on there INSIDE. It is a great thing when anyone can just look up into the source code and find out what went wrong.

XenAPI. The only thing I did not get yet. I will eventually, and leaving it for now as it defeated me in my few attempts to make my custom VM config options work. libxl showed some mercy and I can
mingle with my domU options when creating domains.

Few times I passed on the red light wich had never happened before. Gotta ask someone to drive me while I have another piece of functionality to think of.

I talk to people around me. I try to explain them what I am working on and what the problem I am trying to resolve. They listen. With people who are not in IT I use abstractions, transforming the programming language into the real-world concepts. Interesting enough, it helps me to think, answer the question and produce new ones. From some people I can get some answer and they would not even realize that they just gave me an idea! Eureka! :) Helps, all that matters what the model we use to resolve the problem.

Tomorrow my proffessor, mentor and my big friend will be celebrating his birthday. He is the one who inspired me and showed the way how to organize work, how to be curious, how to learn new and how to be productive. And he reads Operating Systems Architecture course and inspired many students! Happy birthday, Борис Дмитриевич!











Thursday, July 18, 2013

4:48am. I won.

Happy to see positive result! had to roll back step by step all changes from 3.11.
Result:
hypervisor: xen-4.4-vnuma-unstable
dom0: 3.10.0-rc6+ (no vnuma support yet)
domU: 3.10.0-rc6+ (vnuma support)

Well, it all works nicely together. DomU boots and works with vnuma. But dom0 will need some thoughts to apply since I dont even know whats going on there. 

Tomorrow I will try to git rebase on 3.11.0-rc1+. Good luck to me!



Monday, July 15, 2013

Taking time to think

While the kernel compiles...

That would not come as a surprise to anyone that thinking process leads to a solution finding. I have rediscovered effective method of problem solving :) I know, it is obvious.
'Put away everything and think' I tell myself every time 'it' doesn't work. The new problems come up every time I touch something new in the code. I also recognize that that is being a direct result of me poking on everywhere I would like to learn more about or need to understand.

I am sort of old school sometimes - I use a paper. I just dump whatever I know in drawings with words, some pieces of code, anything, even smiley faces :) That helps me to look at the problem from different angle. Interesting enough, scratching the paper helps to answer right questions. Also redrawing couple of times same concept but in a different form helps to render more information than was previously visible.

I consider myself a person who can easily take too general approach trying to solve all problems at once and forever. Of course, I do not know that to expect in the future, but the tendency exists. Sometimes I do make problem looking more complex that it is. I also do recognize it. And I simplify. OK, I over simplify. Then I am satisfied with the result, I can make it more complex or more universal, but usually it is not even necessary!

Now, after one month after the program start I feel that when reading the code I actually do not see the language semantics, pointers and structures, but I see the functionality. At least in the parts I work on :)

Now I understand what meant the author in one of the books about Linux kernel saying that to understand Linux one should learn about the kernel structures.