Sunday, May 27, 2007

Attack problems

The best way to defend is to attack — common aphorism that we often hear. But what is in it? "Those who need to be on the alert everywhere has a little strength, those who make another to be on the alert everywhere has a lot of strength". That is from Sun Tzu "The Art of War". Recently I watched another part of "Samurai Jack". Main hero ran away from big monster, who shouted at him with strong laser beam. The only thing that Jack was able to do was to run. He even hadn't chance to watch what is happening behind his back. So he couldn't fight or even defend in any way.

Of course Jack found a way to defeat his enemy. But what is in real life? Could anyone be as a main hero of cartoon film? I think no. Sometimes situation is very bad and beats come from many sides and it is even impossible to solve the situation. And the best way top solve problem is to avoid it. Or solve it in its beginning when it is weak. So the problem is a red flag to attack, to attack it. Of course that not mean that you must go forward your problem with naked sword, this can lead more damage than usual waiting for bad news.

First thing to do is to dig problem, understand and classify it. It is also useful to make a formal description of the problem. On this stage it is needed to understand with what fight will be, what will be a condition of win and even is there a necessity of fight.

After that plan to defeat problem can be created. To be formal, plan is a sequence of actions that will lead to the win condition. It is very useful to study solutions for similar problems happened in past. In general, I have to say, studying history is a good practice, that helps to prevent mistakes of predecessors.

And then comes the most interesting part: attack problem with your plan. Defeat it. Celebrate victory...

...and don't forget that problems and enemies doesn't sleep.

And don't wait when your problems will defeat you.

Monday, May 21, 2007

Black and white

There is always white and black stripes in our life. I think my black suit and shoes are the black stripes. So everything other should be white stripe. :)

Saturday, May 19, 2007

xkcd

Two pics from xkcd that I love the most.
Matrix transform
Fourier

Thursday, May 17, 2007

Accidental thoughts...

  1. Why I have a feeling that something is on the wrong place in my life?
  2. I usually live with words "I'm on the way of war" in my mind. Sometimes this phrase is shaded by others by it always back to me. Now is the time when it backs.
  3. Is there any link between first and second?
  4. "On the way of war" — I think soon I'll write a post about this.

Wednesday, May 16, 2007

Big targets and small details

On the last week I saw a part from cartoon film series "Samurai Jack". In that part main hero lost his shoes. He wanted to punish bad guys who broke his shoes but couldn't because he felt uncomfortable without his wooden sandals. He tried different contemporary shoes but he didn't felt good in them and couldn't beat enemies. After all he found a man who made him new pair pf sandals. After that hero beat his enemies.

I think there is a couple of themes to discuss that can be extracted from this film, but I want to mention only one: the importance of small details. No, I don't want to say that big picture is useless and we should concentrate on small details, but inattention to such a small piece of stuff like shoes could break any great plan!

So what to do? How to organize small routines with big plans? How to make them fit together?

As a programmer I could give only one advise: divide and conquer. What's your shoes? It's your equipment as pen, suit and computer. It's not your target activity. You pay attention to your equipment not because they exist, but because they are mean to your target. If your main target is to have pretty shoes and the most advanced computer in the world it's not very good as I think. Main target should produce something or it should be cast out. For what to do something without using it's production?

So in fact only main targets and productive activities make sense. But they are made of smaller pieces which also could be divided on parts. So then you state new task your should understand that "write new computer application" is not a something that make a computer application. It's a bundle for activities that make something, what form new a computer application. You shoes couldn't make a computer application? but they allow you to go on the street without problems and make computer application instead of healing your legs. So is with many different things in your life. That's a stuff that is made on "auto-pilot", without deep thoughts on it meaning. But if over-focus your attention on drawing "great plans" you could fail because of small detail, that you have forgotten...

Forgive my strange linguistic construction and lack of relation between phrases... Just my thoughts...

Summer is coming

Summer is coming... And session follows it... However history has been already passed for best mark — teacher gave me mark without exam on the basis of my participation in seminars. Moreover I've already finished studying English language and Engineering graphics. On physics and discrete mathematics I have only last test works to be done. So now there aren't any problems on my way to the session.

Moreover I continue to work on CodeExplorer. It's rather interesting to develop it, study new features of language and having more ideas on implementation of different solutions. I'm exited with this work!

I think "Code Complete" graved it's mark on my programming style: now I sometimes see new abilities to resolve solution or to implement it better. For example now I'm not using i, j and k as an indices of arrays. I left only them only for prototype code that will be used only once. Furthermore now I'm trying to develop my new habit: writing tests for code before writing code itself. It is called Test-driven development. It is broadly used in Extreme Programming. I think practice of TDD is useful in almost any model of iterational development process. I'm sure it will be useful for me to develop my new habit.

And one more thing... For times I was trying to arrange my time to have a schedule of making tasks. I can't say that I've reached a full success in war with time, but I'm sure that something is changing inside of my mind during my attempts to change myself...

Saturday, May 12, 2007

A lot of news...

Hello! I have a few news about me :)

Some days ago I finished reading "Code Complete". That was a fundamental reading for me. I get a lot of knowledge and wisdom from it. Of course I don't remember all interesting things I've read but I think my programming style will become better after reading. I think in future work while coming to different stages of work I'll get this book from shelf and review checkpoints for my theme, that are pointed in book. All in all I was delighted by "Code complete" and recommend it for all programmers. As for beginners to make a good basis of knowledge and form good habits, so for professionals to improve their skills.

Moreover I started to learn Java programming language. At the moment I'm on basic stages of learning: expressions, statements, etc. They almost like C/C++, so I have no significant problems.

To add more I finished developing first version of CodeExplorer. It works! Now I need to make a list of features to implement in next iteration of development. From first cycle of development I've experienced working with Python built-in PyUnit and distutils. Working with PyUnit was enough successful and in future I continue to write tests for Python software on it. "Communication" with distutils wasn't so good. However I get some knowledge and will make a functional distribution in next iteration. However now I don't understand how to include documentation for software in distribution. All in all I think my experience from this project will be much useful in future life.

In my study life session is coming... So now I pass labs and homeworks. In Engineering Graphics I have only one lab to pass. I think I'll try to make this on Tuesday. In Physics I have only last test to pass. And in programming I need to pass report on penultimate work. However now I'm finding some time not only to study but also for my computer interest. Besides working on CodeExplorer I'm studying Java and taking a breath look ob webbook about data structures. And moreover I'm planning to learn UML.

And I've decided to reread Confucius book while tripping subway.

All in all, life is good! Goodbye, until next post.
— Anthony

Tuesday, May 08, 2007

Todoist

I've discovered new very useful web-tool — Todoist. This tool helps you to organize you tasks and todos.

You can create projects and put into them tasks and subprojects. Moreover you cam embed tasks into another tasks. So you can structure your tasks as a tree withmany branches. Furthermore you can assign to task date on which it should be completed, make it everyday task and set priority. Todoist have a nice set of shortcuts to reduce amount of clicks. What is more while typying your task you type some special marks and it will tell Todoist to make something with this task. For example typed mark !p2 tell app to assign to task priority #2. Moreover there are basic facilities for formatting text.

Also Todoist have been integrated with GMail — you can delegate message to it from GMail and it will be setted as a task. Moreover developer of Todoist provides API of his webapp, so programmers can integrate Todoist into their own apps. For example into Firefox extension.

Hope this application will be usefull for you.

Links: Todoist, GMail

Wednesday, May 02, 2007

Software

Yes, I made it! Yesterday I made some progrees on CodeExplorer — sortware I'm writeing now. And I want to work more on it! However holidays finished, so there will be a problem of finding time for this. Soon I'll prepare first (not very usefull, to be honest) version of CodeExplorer.

And... Yesterday I felt myself as a normal man with life full of something interesting, not depressed one.

Monday, April 30, 2007

Google Calendar vs Scrybe

Some days ago I decided to to compare two on-line calendar utilities — Google Calendar and Scrybe. I had a question — what is better for me?

Result came very very quickly — I'm choosing Scrybe for now. And do you know what make choose it? A very simple detail — in Scrybe when you click on event you instantly has an access to it's settings and can change them. In Google Calendar when you click on event flying baloon appears, closing some of other events and suggesting you to delete event or change details. Are few more clicks but that is very important while creating a shedule with lots of entryes. I was bored by those clicks in Google Calendar. So I choose Scrybe. Althought it doesn't support russian letters.

Moreover I want to compare some other tools — Google Notebook with ThoughtPad in Scrybe. Moreover I want to understand what is better place for blogging for me — here on Blogspot or on WordPress.

Saturday, April 28, 2007

Holidays are comming!

I've get a first "finish" in my study: today I passed last laboratory work on physics. Moreover today I've made in Engeneering Graphics work 7 and pieces of work 8, the last. I also started to work on lab #5 in programming.

Now I'll have 4 holidays. I'll try to make them productive in my study: finish Engeneering Graphics works, write application for 5th lab in programming and solve task in physics. What is more, I hope I'll have time to work on my software "project" CodeExplorer, or whatever it should be called. I want to implement better organisaton in project. In near plans I'll work not on code but on documentation and will document existing elements, in despite of that not all main modules of application exist. I think not-coding work will help in future development of project.

In conclusion alittle bit about how I'm trying to organise my activity. Not always well and correct but I'm trying to write plan for next few days and follow it. These days I'm using for plannig Scrybe and Todoist.

Thursday, April 26, 2007

New tool

I've recently found new web-tool Todoist. Name speaks for itself. This tool is for tracking your todos. First view shows it is much better than similar tools I saw before. Moreover it is on some case can work as calendar. So i will try to use it actively and exlpore it and shape my opinion about it.

Morover today I spend some time working on my CodeExlporer -- some changes in architecture. As a result now I need documentation system to track those changes and organize them, bugs and ideas. Moreover I found how I can test my application with use of Python scripts. So in near plans I should make some documentation for project, roadmap, create test and after that continue to develop it. Good plan, isn't it? :-)

There is only one problem — university wants me to study and it takes a lot of my time...

Wednesday, April 25, 2007

A few words after long silence

Do you hear it? It is silence. Silence of time when I didn't wrote anything here. Now I again make some buzz in the blog.

I continue to read book "Code Complete". Good book. I get some new knowledge from there I more structured appearance of information I've already know. I think soon I'll try to use this knowledge in programming.

What is more I started to develop CodeExplorer — application to create documentation for source files. For example make description of class interface. I write it on Python, though in future may be I will rewrite it on other language.

Moreover I have in my head project of developing computer language! Optimistic idea, I have to say. Now I couldn't give time for it — still in war with arranging of time. However I try to use Scrybe.

And some piece of wisdom — just switch on your head!

Friday, April 06, 2007

In brief — lab #3

I have a little time, so will be short. Yesterday I passed lab #3 on programming. That's cool :-)) And now I get new exercise on recurse. That's not very cool :-(( You can find my lab on Picasa.

Thursday, April 05, 2007

Finding time for all you need

The result of my ideas, which I have written in last posts: don't put all perspective projects on shelf, try do do them. So I started to read new book try to make my own software project. So I need to split my time between studying, self education, reading news, implementing some software projects and of course... living an interesting life! Not an easy task, I need to properly set priorities and to find useful activities, which should be dumped.

Recently I finished work on lab #3 on programming. It was big: about 45 pages. So what will be in future labs??

Moreover I've started to read "Code complete" by Steve McConnel. Hope this book will help me improve my coding skills.

Moreover I periodically think about my own software project. There were some ideas like on-line RSS reader. However it needs from me to know how to interact with databases. So now this project is going on the shelf but I've decided to restart studying of PERL and get another attempt to learn MySQL. After I learn to use them in one system I will try to make something like RSS reader.

But now I have in mind another big project — my own programming language!!! Sounds like a buzz.... And now it is really only a buzz. But I think in next few days I will start little steps on road of developing this project. I should start with an mission, aims and roadmap. I will implement project on C++ of course. I don't have a name for the project, to be honest I don't sure I will make something interesting, so now I will call this like P1. Good codename, don't you think so? :-)

Wednesday, April 04, 2007

Another day

This is a respond to the last article: what I've done today (or yesterday in some terms :-).
  • of course had a classes in university. Moreover I've done some homework
  • read a lot of news, also from the Monday
  • bought a new book: "Code complete, Second Edition" by Steve McConnell. A heard good feedback on this book so I've decided to buy it.

Tuesday, April 03, 2007

Parallel tasking

In the last post I said that the one should do what he want now without postponing his wish to the future. But what what to do if you have a lot of wishes and passions? I.e. I want to read a lot of books. Should I read all these books simultaneously? Of course not, but putting all tasks in one queue will set me in situation, when I want something, but haven't enough time or resources to do that. So, I think, what I should do is to divide my wishes and passions into groups and form several queues. Items from one queue are performed simultaneously, while queue itself are performed in parallel mode.

Not difficult idea, it was formed long times ago... But I in someway walk through this way of organizational principles and getting them for me and trying to use them.

All in all unless you are child it's you who are shaping your mind. It's you who decide what to read, what to do, who to respond on this new knowledge, how to use it.

Saturday, March 31, 2007

What came from last week?

Good news: I passed 2nd lab on programming, created a program for 3rd lab, and now working on report for it. Another series of nights with a small amount of slumber :-(. Moreover I passed 4th lab on engineering graphics.

Furthermore I have one history for you: one of my friends reads book. Some time ago I asked her about that book, its author and content. She answered that she is only in the middle of book. After that I asked when she will finish reading. She answered that now she has a little time, so will read it during her spring holidays. So holidays came and on Wednesday I again asked about book, but she still hasn't continued to read :-(. Now scholar holidays are coming to the end, and I again will give her my question. Interestingly what will be the answer?

While we live we always have some passions and often we say that "we haven't enough time but then we will have holidays or finish some important work and will have free time to realize our passion". But time is flowing, and we still haven't enough time because some other duties are coming to us... And as a result our passion becomes a dream that will be never executed.

And now I'm publishing a diagram with some my passions. It's rather rough by now, but it may be publishing it will give me impulse to make clearer? Hope in this. The higher is branch on diagram the more it is long-term. And in the bottom you can find some short-term activities: i.e. laboratory works.

Sunday, March 25, 2007

Next big step — Programming lab #3

Now I'm working on next lab on programming. It is much harder than previous and as I think report will also be much harder to write. What is more I need to make this lab until April 5 to pretend on 5 in programming. Another series of nights without enough time to sleep... :-( Furthermore I started to log time I'm working on lab. So in the end I will now how much is time to get best mark on programming. I'm still trying to deploy core of rational organization into my processes.

Moreover I've found, that don't like Perl enough to continue to study it. I think I'll take a break on this now. May be I will return to Perl very soon, or may be not... The next I'll try to read web-book about data structures. I think it will be useful. And the next book in my list is "Code Complete" by Steve McConnel. And after that there are some books from Tannenbaum and other authors which I plan to read.

To add more, now I'm reading book about money and becoming richer and less dependent on others. To make your money grow and work for you, you should invest them in actives not passives, what most people do. What is actives? This is something, that is profitable, eg. shares, bonds, bills, real estate and intellectual property. If you invest your time and money into them, your actives and profits are growing, but if you invest in passives, grow your expenses and passives, which isn't good.

So find actives and invest you into them.

Tuesday, March 20, 2007

"Suit to change the world"

"He gave me a black box. There was a label on it: 'Suit to change the world'. I looked at him, but he was silent, so I opened the box. There was:
  • an honest heart
  • intelligence
  • steel will
  • source of energy
  • desire to make world better
  • awl to the ass :-))
'So, we give you a life. And now go there and JUST DO IT!'"

What do you think about this suit. Is it enough? May be an author forgot some important ingredients? I think it's a good topic for discussion.

Saturday, March 17, 2007

Information society

Recently I've read CNET article Lickder's vision of the Digital Age. It is about J.C.R. Licklider, who in 1960 in his essay "Man-Computer Symbiosis" predicted many trends of integration computer systems in our life. I haven't read this essay yet, but want to say some words about symbiosis between people and computers. It will be interesting to find what my opinion will be after reading essay :-)

Computers are intrinsic part of our life. Banality but true. All people in developed countries depend on computers. Computers help us to manage such important for our civilization structures as electricity, telecommunication, transportation and many others. Computers have changed the way of life in civilization, and as a result they have changed people. It is Net Generation people, who grew up in time of raising information exchange, ability to easy communicate with people all other the world, collaborate with them, constantly being online with your friends. Net Generation is much more apt to share useful information by wikis, publish thought by blogs and much more. Though most of these people prefer to communicate by Internet, not by real meeting.

Net generation, as I think, is a beginning of Information Society (IS). Information is not a hard good, it can be easily moved from one point to another and cloned for no price, etc. The one in IS is receiving tons of information, but only small bits of it are useful for him. As a result she needs to read information quickly and find there which she needs and truncate all other. What is more desired is the skill not simply truncate useless information, but if in future comes situation, where it is useful rapidly extract from the memory that you have seen something on this theme and can find it in archive.

However, you can say that that skill have been desired for all people who work with big amounts of data, even those who lived in Ancient times. And your are right. Though, my opinion is that in IS this skill plays a vital role in success. In the past you have to have great experience to make something difficult. While great experience is still highly valuable, you can find in Internet a great amount of information about your problem and what is more advices of professionals. So you can avoid many mistakes of your predecessors. Knowledge itself in IS isn't a private information available only for limited amount of people. While some information of course is kept in a secret, in general you can easily find in Internet almost all you need. And what is more, you can easily exchange your ideas and discoverings with others, taking part in growth of Database of Knowledge.

So the main point in IS will be the ability to share ideas, thought, information and other intellectual goods, providing others the ability to modify them, make them better. A group of people works better than single, but in IS you don't have search for people who will help you. They find information by themself, analyze it, use it, modify it, tell about if to others and much more...

Are you in Information Society? Are you sharing and developing your knowledge with others? If not, don't you think it's a good time to start make one more useful thing in a life, and help others by you knowledge?

Thursday, March 15, 2007

Fantastic abstraction

Impressive images of fractals:
I'm really excited and amazed by this kind of art. May be this is the art of future: combining irration vivid imagination and art vision with strong mathematical base it produces an amazing abstract pictures. So may be fractals with expand their influence on other kinds of human art activity? I'm sure it will one of the art movements in near future.

Two articles

I've read some articles on being proactive person:
And the idea I get from one of this is that may be useful for my struggle with time arrangement. It is that for success you should have strategic thinking. It includes that long-term duties are more important than daily routine, so it will be good for me to spend some time actively working on my time-table. It is hard to live by the time-table for me, but I think it is possible, this the question of time and habit. So may be today I'll try to make something with my affairs?

Ha, this is question for me, not to others, but... Do you try to have a plan of your affairs? No, I don't mean full time-table for every minute, but a list of main goals and deadlines for them? I still haven't... But may be this is a good time to make it for me? And may be it is good time for you, if you also don't have it?

Know what you want, and when you want it to be done. I think it's a good phrase.

Wednesday, March 14, 2007

Idea!

Hey! I've got an idea! I'll try to count how much time I spend on labs for programming :-) It's rather interesting to find how much time does it take and moreover may be it will help me to arrange time. ;-)

try {
countTimeSpentForWork();
} // end try
catch( couldntPerformThisTask &exception ) {
std::cout << "Bad boy!" << face="arial">:-)

Hard work

I want to sleep.... But I'm working on my report on lab 2 on programing... Out what a boring task... But if I could pass all lab 1 and report on lab 2,then I would have to say it will be a good week! Hope in near future, I will have some free time from that programming to relax. For example to program for my own! Or read book! Or go for a walk with girlfriend! Or... something else.

Moreover: I have written about "me vs myself". Could you write about your struggle with yourself? Or may be you do not in war with yourself? Please share your thoughts.

Tuesday, March 13, 2007

>>> "Me vs Myself"

What's a punishment for me: I still couldn't arrange my time... This is frustrating me. So much things to do, so little time for this... I often create a time-table, but couldn't follow it... :-( This is disgusting. But... I will continue my attempts to discipline myself!! I won't stop my efforts! Who is stronger? Me lazy or me active??!! Is one one of my friends says: "Me vs myself".

And one more... Programming on High-Level Languages... Ough... In Thursday I want to defend report on lab#1 and show report on lab#2.... But I couldn't express my feelings about this subject and its annoying reports on labs. Thought, may be it will be useful in future?..

Best wishes!

Sunday, March 11, 2007

Interesting cites

Some interesting cites from Aristotle:
  • Time proof white object is not more white than not time proof
  • We are learning something while doing it
  • Science — where is such, not other
  • Subject of art has a begging in creator not in created object
  • Pleasure gives perfectness and richness to activity and as a result to whole life, and this is something that all people want.

And some my own ideas:
  • Ability to instantly modify itself is an essential skill of that is constant
  • You should feel walls by touching them by hands, not by building them around you(1).

(1) — Very rough phrase on English... Russian priginal is much better. Hope in future I will make it smoother.

Saturday, March 10, 2007

First post!

Hurray! First post in my blog!

That was a hard day: 5 double-classes! And two of them was mathematical analysis. Thought I love this subject :-) Tomorrow (or already today) I'm going to visit Artillery museum and after that go to my courses in databases.

And there are a lot of others tasks and wishes to do...

Best wishes,
Anthony