Monday, 29 December 2008

Greetings from Tallinn

Friday, 26 December 2008

Moving toward PhD title: Been stupefied I

Normally, the process of writing of PhD work/articles is well-balanced and rapid, but sometimes a certain problem occurs when you have no ideas how to evolve the work further. You just cannot think of any good ideas and this lasts quite a long time – a week or a month. It seems that all ideas left you head and promised never return back and the best thing you can do is to apply to some none-intellectual type of work. It is especially sad since you had a lot of good ideas just 10 minutes ago .... and now you can park a truck or two into the completely empty garage called „your brain”.

Such problems are quite common and experienced by most scientists during certain periods of their life. What you desperately need in such case is to obtain (somehow) a new point of view on the problem you deal with in your PhD thesis. The best way to get it is to communicate the problem to somebody else. This person can be your supervisor (why else you need him / her :)? ) or another student probably having the same problem and so a lot of time to talk about whatever you would like to talk about.

Saturday, 20 December 2008

Moving toward PhD title: Advices from my supervisor

Been a PhD students, I got once an advice from my supervisor – have a special notes book into which you can write all ideas you get.

  • It will let you return to some ideas you had in the past in case you hadn’t time to develop it until now;

  • It gives a history of research, o you can track down all you did recently and so see your own progress and therefore find efficiency of your work. If you are not working well then you can even limit you own pocket money :)

  • It will give you a visibility of how an idea evolved and what stages it passed. You will see how you arrived to one or another decision and follow the logic you probably already forgot. Moreover it will show all turning points and probably find out how it can be developed from those in other directions.


PS: Obviously you can use any other gadgets instead of pen and paper, but I don’t see any good computer systems at the moment that could allow you to fix ideas quickly, efficiently, in any place you are at the moment.

Saturday, 13 December 2008

Moving toward PhD title: Where conferences are held?

There are two typical place where a conference is held: either in a university or in a congress center. The first place is mostly chosen because it is either free of charge or very cheap having the entire infrastructure you need to organise a conference: auditoriums, projects, chairs, WiFi and so forth. All this is built for students, i.e. is already paid either by state or by students and can be just consumed. Besides science activities aligns well to university positioning itself as a “science center”. The only and the largest disadvantage – infrastructure is heavily used by students and therefore is not in good conditions. Therefore some conferences would prefer to use congress centers, which have the same equipment, but the equipment is much newer and modern. Unfortunately the price is also increased, but that is the amount you have to pay for ensuring the certain level of service for attendees.

Saturday, 6 December 2008

Ubiquitousness

Ubiquitous: precisely this word is used to describe one of the most popular topics in the computer science nowadays: ubiquitous systems.

Wikipedia gives the following definition: that is a model of a human-computer communication when the information is processed by different local midget computers integrated into objects around us. This concepts extend the standard human- computer interaction we used to dealing with desk- or laptops. It is called a "post-desktop" evolutional cycle of information technology when we move first from mainstreams to personal computers and now to AI embedded into everywhere to serve our depending on the current request and context. Of course we started to move that way long time ago, after we god mobile phones, PDAs and so forth that could be integrated and can help us to get or post information ...

BUT ...

This paradigm is actually something bigger than that. It breaks out from the complexity of using all those systems and defines that communication should be transparent and even seamless for the human.

A typical example is so called „smart house”, which is able to recognise movement of a human and turn on/off lights along his/her path, react on voice commands or prepare the house for owner’s return from the office by increasing the average temperature in the house, turning on TV on the channel the owner likes etc).

The following terms are used very often with „ubiquitous systems”: Context-aware systems and RFID.

Sunday, 30 November 2008

Moving toward PhD title: Keep pushing II

The other problem preventing students from moving efficiently towards the goal is an „illness” of concentrating on some kind particular idea that results in producing constantly the same result in a sort of cycle and permanent attempts to push it into different conferences. Like a donkey travelling always toward a carrot been fixed a meter from his nose.

It is useful to fix all ideas somewhere (for example in the old way on a paper) after you have generated those and then attempt to distance from it by asking yourself “what else can be invented?” This will allow you continue thinking as we need to generate a bunch of ideas rather than stop and concentrate on one (which can be potentially wrong or incomplete). In the worst case (you were not able to imagine anything better) you can always return to the fixed idea and continue developing it.

Generating ideas, it is important to invent alternative solutions one after another as long as you got a creative thinking flow. If new ideas don’t popup in your mind by themselves any longer you could use the basic mathematical combinatorial search approach to find new: each topic can be evolved by either a deeper research of different parameters of it or widened by replacing some properties of it / applying the topic to new subjects.

Tuesday, 25 November 2008

Moving toward PhD title: Keep pushing I

One of the most important principles you have to follow working on the PhD thesis – „you should rapidly move the work towards the finish stage (in our case to defence date)”. Practically this topic splits into two. First of all you should permanently invest time into PhD work by writing articles, working on main PhD thesis, reading other authors etc. Secondly you should avoid freezing and waiting for something (like a princess waiting for her prince in a tower).

A requirement to work on articles/work constantly without freezing means that you should not overestimate your geniality (or brightness of what you have done so far) and permanently try to improve it, solve in a better way, find new applications or effects. Quite a common mistake that make majour number of students is submitting an article into a conference and waiting until the decision will be issued. Knowing that the author notification deadline could be up to 3 month after the submission deadline it will mean a lot of time that they simple loose as cannot concentrate of other contributions waiting for reviewers opinion on their latest finding. Moreover, if the work will be accepted then it will prolong the negative effect until the conference finish date, which is 3-4 month later once again.

I especially highlight this problem here, as this text is designed a lot for those that will try to achieve PhD rank in parallel with working somewhere and so it is very easy to switch from working on PhD to the main job tasks been reluctant since „the work is done, lets wait for the answer”. The same holds if you switch to your family rapidly forgetting about PhD activities.
PS: If you are not able to concentrate on new results and contribute efficiently into articles writing, then read at least others authors articles as those could give a lot of new ideas to you and increase your professional level, which is easily visible in your articles.

Tuesday, 18 November 2008

Participating in conferences: Why should you go to the conference after the article is accepted.

At the first glance (may be after you have presented your work once on the conference) it looks like the most correct answer is: THERE IS NO REASONS to go. Fortunately there are still some benefits of visiting conferences and the answer is correct just at the first glance – therefore lets discuss some disappointing moments first.

There are a set of reasons why you can be dissatisfied after your first conference and if you do not understand those in advance (read accept those) you are likely to set expectations too high and disappoint been on site.
First of all, it is likely that the audience of your wonderful presentation (on which you spent several days preparing it) will be just 3 or 4 persons including the session chair. The reason is very simple: results of your work are likely to be interesting for somebody only after this or similar problem will occur in his/her practice, not in advance. Therefore you will rather get references on your article later, when somebody will be searching Internet trying to solve the problem than immediately after you have presented the work on the conference.

Besides it is very hard to understand talks on site been unaware in advance about the specific (narrow) topics of those. Therefore majour part of conference’ participants will prefer to read articles after the conference from the conference proceeding, do it slowly and may be several times. All this decreases your talk potential guests list a lot and sometimes the only persons presented in the auditorium are presenters of other articles within the same session.

Secondly you are a young researcher so people are likely to visit „stars” presentations instead of yours.

Finally, having limited connections to other conference attendees and been the young researcher it is hard to find yourself in any conversations in conference halls and therefore you are likely to feel yourself as a not very welcomed quest.

Despite all of earlier stated problems there are still good reasons to go

Minor:
  • you still could get very interesting points from your auditorium and those could be so crucial that will completely change your work.
  • You can still attend other talks trying to follow basic ideas as sometimes presentation gives much more than article as some people can make really good presentations.


Majour:
  • Conference policy is likely to state that the proceeding will include the work only if it is presented. Although some proceedings are published in advance, some are still not. Besides conference organisers could consider “not show” fact during the next year rejecting your article by default.



PS: Sometimes too high expectations are motivated by PhD students supervisors defining clear goals on publishing articles and having not said anything specific on visiting conferences. Therefore students are left alone and start to imagine something that doesn’t align to the reality at all.

Tuesday, 11 November 2008

Moving toward PhD title: Stress

I don’t want to look like a person positioning himself as a teacher knowing everything and therefore having rights to talk about whatever item. At the same time I would like to talk here about our attitude to failures. An ability to overcome any kind of stress working on doctor work is a key success factor. It is well known that stress produces illness and vice versa. The sick person has restricted abilities to move towards the goal. Probably s/he starts to rush, make wrong decisions, is not able to concentrate on open problems and finally have a limited ability to progress the work.

The first type of stress occurring for students working on PhD thesis is rejections of their articles submitted to conferences. Every student is one hundred percents sure that his/her work is brilliant. The huge amount of efforts and times s/he spent on writing this article just increases his/her believe that this must be rewarded and reviewers will definitely see the geniality of ideas. Unfortunately even for post-docs the acceptance rate for their work is just 50% in average – but they are already skilled and accepted as professionals.

Clearly the majour reason of a stress here - too high expectations. Many students consider each attempt to pass the reviewing process like the last chance to survive and take the reject decision too seriously and personally.

As I pointed earlier you should accept that there are very different reviewers. Moreover you should let them have their own opinion and accept this opinion can easily differ from yours. Consider each reject as an opportunity rather than failure - I have seen cases when an article rejected on very weak conferences have been finally accepted for a serious one. Basically it just indicates that either reviewers were not qualified enough or topics of those conferences were not inline with the main topic of the article.

Summarising, I'd like to give some advices on how to overcome this problem
1. Don’t set expectations too high. You are just studying (although you are not the first year student any longer). Therefore just forget about the article submission after it is posted to the conference – accept internally from the beginning that it will be rejected. It will let you continue working on your doctor work main topics instead of been frozen waiting for an answer. That is a way to decrease stress on rejection and produce some extra happy moments if the article will be finally accepted.
2. Consider the rejection decision as a possibility to improve the work further. Some conferences do post reviewers opinion showing why they disliked the work. Unfortunately ost of those explanations are redicolous as reviewers don’t borther wrtting a good text having rejected the work, but some still could have good points.
3. Don’t forget that the best way not to fail is do nothing, but it also never will lead you to the desired goal. Keep pushing and you will be rewarded.

Friday, 7 November 2008

Moving toward PhD title: Conferences - participation

Any conference is not just a crowd of abstract individuals with mad eyes talking randomly. It is a well-organized event with own, internal rules and practices. Here we describe the conference participation process using ICEIS'08 conference as an example.

Any conference starts for you from a registration desk, which is usually opened from an evening before the conference first day and until the conference last minute. Registration is held in the conference main location, which is either a hotel/conference center or a university. As the desk is constantly open some authors will prefer to appear in the very last minute before the talk (and sometimes it means just the last day of the conference).

The registration process is designed to
1. Inform organisers that you are here (arrived) so
- they will know how many papers are likely to be presented / missed in each session in advance
- the participant can declare that his/her mandatory participation in the conference is fulfilled.

2. Distribute to participants the proceeding (that is the most important book for students as proceedings should be presented to the committee before defending PhD thesis to prove that you fulfilled the published articles requirement) and other conference materials including schedule of sessions, an invoice (which should be presented to the organization funding the visit after you are back). As a rule of thumbs the package includes a pen(cil), a notes book and a bag to make all those gadgets portable.

Usually the entire information on the conference - schedules, changes in it, sessions time and place including names of authors presenting papers in each is located somewhere on the wall in the conference hall or close to the registration desk. The most valuable information is when and where talks are held. It is advisable to check in prior whether your talk is scheduled, does it scheduled to the time you expect it to be in and how you can find the room. Follow the plan or signs and check that you know for sure where your room is located, check it (size, equipment etc) – all that can affect how you organise your talk, where you will have to stand during it etc.

Additionally you will find in halls a set of portable walls (stands) where posters are presented. Notice that they can are also scheduled - for a certain period of time. Authors should post them on the wall no earlier that the start time and organisers will collect them from walls after the finish time, so other posters can be made available.

All talks are divided into plenary talks and ordinal. Plenary talks are given in big rooms by starts or super-stars in computer science (or particular topic of it).

All other talks are clustered into sessions – each hosts 4-6 individuals presentations of 15-30 minutes each, including 5-10 minutes for questions and answers. Sessions are normally organised in parallel in smaller rooms all over the building. Each small room is equipped with a projector, laptop and a big screen. Normally there is a rule that presenters should appear at least 15 minutes before the session starts in order to load their presentation into the conference laptop or ensure that their laptop can be used and is compatible with the projector, and report to the session chair that they are here. Notice that although conference laptops always have either MS Power Point (or some other software used to present the work accordingly to information organisers post on the conference page), sometimes it is not compatible with your version and so organisers will allow you to use your own with a version you know exactly will play slides correctly.
Besides it is always advisable to spent some seconds before the presentation standing on the presenter place (position) to get used the role, check what you can or cannot do (for example how you should walk during the presentation in order to avoid crossing the projecting picture). Btw: one professor told me once that you should stay on the right side from the screen (on the left side from the auditorium perspective).

Traditionally the conference fee includes lunches, so attendees could save time and communicate to each other behind one table instead of loosing the time looking for a good place to eat close to the conference location. If you have no friends or colleges participating in the conference then such lunches will be a perfect way to find contacts or improve relations. That is why quite big tables are normally used instead of small ones. Such lunches are offering very different kind of food, so each standard requirement is satisfied. Besides, those lunches can be a perfect way to try and test the local food.

Finally there are coffee breaks each 4-5 hours (i.e. 2-3 times a day), so between sessions you can recharge. Traditionally tea, coffee or some sort of juice is offered, with cakes or sweets. It can be a standard cake or something specific for this region (I have even seen conferences serving beer – you can imagine it was somewhere in Germany).

Thursday, 6 November 2008

Microsoft & gadgets

A link I recommend you to read on MS Vista sidebar: Is Microsoft serious about gadgets?

Tuesday, 4 November 2008

Locking customers (loyalty prison)

Joel have written a very interesting article where he describes and interprets one novel approach in the business handling customers.

A short introduction into the article located below:
A typical situation for customers of one café is a long line occurring each morning. Once at the morning customers suddenly discovered a new person working for this cafe, who was walking along the line and was collecting orders and transferring them by the phone to the service (and pay) desk.

At the first glance the primary idea of introducing such position is to optimise orders input flow and so optimise service (production of what will be ordered). In reality, here we dealt with a type of product that cannot be really produced in advance in batch and therefore such pre-ordering doesn’t really make sense especially if it is collected from the end of a long line.

Joel states that the only reason of this was to lock customers into this place – earlier it was rather easy to walk out if you see the long line r you waited a bit and then decided to go into other place (may be less suitable for you, but without such lines). Now, a lot of people will rather stay in the line after their order was picked as see it as an ethical obligation to pay for it as it is already in the production (and so they will wait nearly independently of the line size).

In the summary the author offers to think where else such method can be applied to lock the customer into this company service primary in your personal business or even ordinal life.

Saturday, 1 November 2008

How to close (hide) a popup window produced by createPopup

Imagine a situation that you would like to build a menu and therefore you are using createPopup. Now you would like to model something like a menu in MS Excel 2007 where you have a multiple choice and therefore you have to have a button on the menu to be pressed when the selection is complete.

Traditionally the sub-window produced by createPopup will be closed if you press somewhere else. The same will happen if you trigger an action from that window like post back. Unfortunately none of those cases is acceptable for our scenario. The close() method called within that menu-window will produce a dialog asking whether the user would really like to close that window (which is not good for a menu).

Comment: the trivial search in Internet mostly give references to sites talking about popups produced by window.open

The following code should do the trick.

The menu will be produced on clicking on the first row/column cell of the table. The menu contains a combo and a button. The menu is produced by the test function: notice onclick="test(closeAction)" code calling it. Here we also pass as a parameter function that will be closing this window.
Now, in the test function we do
1. Produces the popup using createPopup
2. Assigns the closing function to the button onclick method
3. Store the reference on the popup in this window variable

The close action function consumes this variable and calls hide() .


<html>
<script language="javascript">
var mpopup

function test(clickEv)
{
var wnd= window.createPopup();
wnd.document.body.style.border="solid black 1px";
wnd.document.body.innerHTML="<select><option>a<option>b</select>
<br/><input id="'a1'" type="\">";
wnd.document.getElementById("a1").attachEvent("onclick",clickEv);

wnd.show(150,150,200,50,document.body);
mpopup=wnd;
}

function closeAction()
{
mpopup.hide()
}
</script>

<body>
<table>
<tr><th onclick="test(closeAction)">1kasdkjshd</th>
<th>1kasdkjshd</th><th>1kasdkjshd</th><th>1kasdkjshd</th>
<th>1kasdkjshd</th><th>1kasdkjshd</th><th>1kasdkjshd</th>
</tr><tr>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
</tr><tr>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
</tr></table>
</body> </html>


PS: It is useful to know that you can access objects from such popup window on the main document by using the following reference: parent.document.
getElementById('xxx')
,
where xxx is an id of the object you are accessing

Wednesday, 15 October 2008

Self-organising teams. Introduction

Nowadays business have arrived to understanding that personnel is the key element of the success. One of the modern ways to organise employees is self-organising teams. Talking about software development, those teams have been successfully applied in agile development as agile methods promote a lot using this type of teams over others.

Self-organising teams or autonomous teams are employees teams having a high level authority in the organisation to make (independently) decisions on many (some) aspects of their work like planning, schedule, choice of tasks, budget etc.

Autonomy can be divided on external, internal and individual. The external autonomy of a team defines an influence of management and other groups of the organisation on the team and so how much they do restrict freedom of this group. The internal autonomy shows the the degree to which all members of the team participate in making decisions etc. This autonomy is low if there is one person making all internal decisions. Notice that the group could still will have a high internal autonomy having some type decisions made by one person if members delegated the right to do those decisions to that particular person. In this case they have a right to dismiss tis decision and returned to joined decisions once again.

Important requirements for creating self-organising teams are: such selection of participants that all team members have a similar level of knowledge and respect within the organisation; share a belief that collaborative work is "a must" in order to achieve project goal; and finally all team members are ready to give their best (not to wait each single minute been on work the day end moment).

Friday, 10 October 2008

Co-working - rules

Co-working is an interesting trend in the modern life. Once I will return to this topic, but now I just would like to share rules of such community hoping that they will not blame me for stealing their content: my intention is just to show how such community live by publishing the minimal law they figured out for themselves as a typical way to organise such groups:

GROUND RULEZ for Citizen Space

  • we reserve the right to refuse service to anyone. if a key holder asks you to leave, you need to skedaddle
  • no bittorrent, no pr0n
  • clean up your garbage and recycle (blue bins are recycling, dude)
  • you break it, you buy it
  • coworking is an extreme sport, don’t sue us if you break a blood vessel in your forehead dealing with windows, apple’s DRM, or anything else
  • don’t be a dIck

Software start to convert an ordinal car into a context sensitive vehicle

Today I have read a news that highlighted a trend appeared during last years - car manufactures started to convert cars (i.e. just a combination of metal parts moving by a petrol engine) into something I would call a context sensitive vehicle: "Ford's New MyKey System Helps Teens Drive Safer, Conserve Fuel; Gives Parents Peace of Mind".

The news says: Ford's MyKey feature -- which debuts next year as standard equipment -- allows owners to program a key that can limit the vehicle's top speed and audio volume. MyKey also encourages safety-belt usage, provides earlier low-fuel warnings, disables switching stability/tracking control systems and can be programmed to sound chimes at 45, 55 and 65 miles per hour.

More than half of parents surveyed worry that their teen-age children are driving at unsafe speeds, talking on hand-held cell phones or texting while driving, or otherwise driving distracted. More than a third of parents also are concerned that their teens do not always buckle their safety belts when driving.

According to the National Highway Traffic Safety Administration (NHTSA), teens are more likely to take risks such as speeding -- a contributing factor in 30 percent of all fatal crashes. Teens also are less likely to wear safety belts than older drivers.

Notice that this system is not the unique one. For example Green Road's system presented earlier this year is able to identify a lot of different aspects of the drive like acceleration level, breaks using frequency and so forth and report that to the front panel using light of different colours, so you [or parents] can identify the none-econimial driving mode [read unsafe] by the red one or even see that in the real-time if the car was let to a child or a friend of you.

Tuesday, 7 October 2008

Testing methods

Here I would lkie to give a short review of the article called "Evaluating testing methods by Delivered Reliability" as I find its approach to the testing process to be very interesting and slightly different from the classical one.

The paper states that there are two majour approaches in testing:
a) "debug testing" where the objective is to probe the software for defects so those can be removed in order to achieve adequate quality
and
b) "operational testing" where the objective is to gain confidence that the software is reliable assessing its existing quality.

Although both methods look very similar, that is a devil in details. The debug testing concentrates on probing all possible (available) features and their combinations and the operational testing concentrates on "real life" scenarios of using the software.

In the result the debug testing covers sufficiently more during the test process, but could actually lead to finding mostly unimportant bugs and force the team to spend valuable resources on fixing those (leaving us without test/dev team time and resource to test more important cases).
Here the importance of a bug is calculated as a probability that the bug case will appear in the real use of the software and if the probability is very low, then the bug is unimportant.
Notice that in the result of this, we can even state that sometimes the debug testing will find bugs, but will not lead to the real quality improvement as the massive low importance bug fixing is not worse to do in compare to fixing one real case bug.

The debug testing by its nature is an active hunting for bugs, while the operational testing is a passive one: test cases are just executed and testers are waiting for a bug to happen, rather than trying to imagine cases that could lead to errors.

As we are dealing with selection of scenarios to be used in the operational testing, we can say that the operational testing is a probabilistic testing: it selects a set of test cases to be used from all possible combinations basing on the probability of each one to appear in real customers processes (use). Therefore this kind of testing greatly depends on experts who are assigning those probabilities or write required real-life use cases.

Finally we would like to mention that nowadays wide believe that the testing is a very expensive and time/resource consuming process is produced mainly by the fact that industry uses exclusively the debug testing. There is just a very minor number of companies where the operational testing is applied, although the common shortage of resources should obviously stimulate wider use of the operational testing approach.

Sunday, 14 September 2008

Dutch PhD defense ceremony

I always was interested in learning how the doctor study etc is organised in other countries. Recently I have discovered an interesting post about the Dutch defense process ceremony:

The Dutch thesis defense reminds me most of a traditional American wedding. The defense takes place in a chapel. The players include the defender, two paranimf (the groomsmen role), the promotor (advisor), a Pedel (an official position in the university), who plays a master of ceremonies role and eight opponents. The defender and paranimf are in full tux and tails, the Pedel and full professors in academic gowns and the other opponents in suits. In the audience are the defender's friends and family.

The ceremony starts by the defender giving a short description of this thesis to the audience from a Podium in front of the chapel. Led by the Pedel, the promotors and opponents enter the chapel from the back and march to sit in the choir seats. For forty-five minutes the opponents, one at a time, ask hard questions to the defender about his thesis. At the end the Pedel reenters the chapel marches to the front, hits her staff on the ground and says "Hora Est" (Time has expired). The opponents and promotors march out of the chapel to a discussion room where they vote on the defense and sign the thesis. After that they return back, present the diploma where the promoters read some traditional text and give a short speech.

The ceremony is followed by a receiving line and reception with dinner later on.

Monday, 1 September 2008

Presentation of your work III

Finally before giving the talk to the broader auditorium you should identify what will be typical attendees of the presentation. Depending on that you should use one or another language – set of terms and level of details. Probably beginners will require some extra introduction into the topic while expert will prefer you to proceed directly with the core diving more extra details during the talk.

Real presentation will surely differ from what you though it will be and inexperienced presenter could be even disappointed in the end of ends comparing his talk to what he was going to say or ... may be ... how smoothly it went. Therefore it is advisable, during the training, identify sub parts of the talk that you will be able to through out in order to meet the time frame in case due one or another reason (may be which doesn’t depend on you) your talk is starting to be late. So, you have to split your monologue into sub parts and define what could be the next slide. Text in case you cut something. Moreover you could cut right from the beginning but leave some slides/text to be used in case you proceed faster than it was planned.


Summary
- The presentation should be just right by time – no longer no shorter than the time – frame you have.
- Slides should not change too fast.
- Slides should not be overcomplicated containing too much information.
- Try to grab attention of your auditorium and make them to understand what you are talking.

PS: The most killing presentation I have ever heard was given by Chinese or Japan students. Usually the difference in language is so huge that they either don’t understand what they are saying in the foreign language or just read the paper since are afraid to say something wrongly. In the result, the presentation is very monotone and boring. Try to avoid making the same type of presentation and make your talk to be remarkable and memorable. One professor advised to start from a joke to make the talk less official and grab attention. Even my chess trainer said something similar once describing how he was learning in the music school – the most memorable (and so affecting the end mark on the exam) will be the first and the last composition you are going to present ... therefore all compositions to be performed by the same student are arranged so that the best will be in the beginning and in the final of the his performance.

Friday, 29 August 2008

Presentation of your work II

A very trivial advices, which has a lot of hidden reasons to give – your should try and conduct the presentation before the real one at home. You should not react on this: “Of course .. it is obvious” since the following reason will probably be not as obvious as you think:

Direct reasons: such in advance test will help you to understand what you are going to say because ad hoc talk could easily move you to some other topic or you will find that you miss some important data. So the in advance training will a) let you to build up a plan of the talk; b) let you to understand what expressions you will be using in order to make your talk absolutely correct and make others understand what you are talking about; c) find definitions and terms to be used.

Indirect (or hidden) reasons : such training talk shows whether you meet the time requirement or your talk tends to be long and frustrating. Practise shows that you will have to cut from 20% (for experienced) to 50% (for beginners) of what you thought initially you will be saying. So you need to find how much exactly you have to cut in order to avoid cutting during the real talk risking to cut too important issues then.... and obviously you should repeat the talk in order to identify whether the new speech meets requirements. It will be fine to have approximately one training for presenting an article and 3-4 for presenting your doctor work.

If the presentation is a presentation of PhD thesis then you should also try to show slides (not only make a talk) in order to synchronise your talk and slides and balance time you spent on one or another slide. Moreover you could find it to be hard to understand what your are showing / explaining using your slides. Then you will have either to rebuild your slides or (may be) use more than one screen. Two screen technique is spreading more and more among lecturers. There are several reasons why two can be used. For example some lecturers will show on the second one the previous slide so you will not loose the talk logic. The second method will allow parallel presentation in order you, for example, would like to show the original and modified text and so forth. Finally you could decide for two screens if you want allow to follow both the general level logic (on one screen) and the details logic (on another).

Tuesday, 26 August 2008

Working with customers

Resently I have read a very interesting article written by Joel and so would like to share it with you in case you will find it to be useful: How Hard Could It Be?: Good System, Bad System.

Monday, 25 August 2008

Presentation of your work I

As a rule of thumbs each presentation should be approximately 20 minutes – at least it is true for both doctor work and conferences’ article presentation.

It is very stick with this time restriction in order not to be interrupted in the middle of your presentation as a child will be interfering into parents conversation. You risk to leave very bad impression about yourself and you work and, what is more important, will have to skip a lot of details that can be either small or extremely important. Of course nobody will interrupt you during the doctor work presentation but you will face another risk – the committee will fall asleep by the end of your speech and this will be written by the red ink into history of the university and into your unofficial CV.

It is quite common at conferences that the session chair will give you a mark when you are dangerously close to the end of the time frame and there are no signs that you are completing your speech. For example s/he can show you a peace of paper with number 1 indicating that just one minute left. In practise it means that you should immediately proceed with conclusion as you have no more time to describe the content of your paper.

The core element of each presentation is slides shown normally on a screen. As a rule of thumbs you should plan the number of slides as a slide per 2-3 minutes – then you will have enough time to explain each and slides will not transit neither too fast nor too slow (so people will not be tired looking at the same peace of information). If your slides contain graphical representation of data then those surely requires explanation of what and how (!) is presented there: what is x-axis, what is y-axis, what means each point on the graph. Moreover you should explain what is the trend and its meaning: is it good that the line is growing of falling. Only thereafter you could proceed with conclusions that can be made basing on this picture since only then you and your auditorium will have a common understanding on what is going on the screen.

Friday, 15 August 2008

How to write an article: Style III

Finally nothing should be included into the paper without giving a good reason.

If the proposed method is compared with any others then you should define why those methods where selected for comparison and what were selection criteria. The same should be indeed used for the paper as well – why the author thinks that this area of research is worth to be studied and why the new method should be used. It is not enough to derive some kind tiny or virtual benefits.

Another common mistake is submitting to the conference to brief research. It is never worth to do what ever reason made you believe else. If the deeper paper will exceed the requirement by pages then it will be better to split the paper into subtopics and present them as separate papers. If you don’t have enough time then skip the conference. It will be much better than submitting a work that anyway will be rejected. At least you will regret about that ….. if not now then later when you will achieve more in science.

How to add (replace) a row (tr) or a cell (td) withouth using innerHTML in IE

There is one well know restriction in MS browser called IE that makes developers life very much harder than they actually would like to have : it is not possible to add or change a row context using innerHTML property. A lot of architectural changes were done to work around this restriction and also was quite a head-ache in the project I am working on.

Fortunately I recently discovered very interesting and usefull post explaining why it is so and, what is much more important, describing a workaround that exists!! Very much appreciate to such persons!

Here is a small example demonstrating how this works.. you can go to any w3schools.com test environment, paste the code published below and see how it works)

<head>
<script type="text/javascript">
function change()
{
var temp=document.getElementById('3')
temp.innerHTML="<table><tr id='8'><td>qqq2</td><td>3qqq</td></tr></table>"

var rrr=document.getElementById('8')
var tb = document.getElementById('2');

tb.parentNode.replaceChild(rrr, tb);

}

function add()
{
var temp=document.getElementById('3')
temp.innerHTML="<table><tr id='8'><td>qqq2</td><td>3qqq</td></tr></table>"

var rrr=document.getElementById('8')
var tb = document.getElementById('2');

tb.parentNode.insertBefore(rrr, tb);
}
</script>
</head>

<body>
Choose one or another operation (cannot use both in this demo) <br /><input type="button" onclick="add()" value="Add">
<input type="button" onclick="change()" value="Change">
<table id="22" border=1>
<tr id="1"><td>2</td><td>3</td></tr>
<tr id="2"><td>2</td><td>3</td></tr>
</table>

<span id="3" style='visibility:hidden'></span>

</body>

</html>

Notice that you don't have to go need to know what is the parent of the element to be replaced or try to obtain a parent first and then find a right position of the child. It is enough to have a reference to the item to be replaced and then just get it parent by tb.parentNode and provide the element to be replaced as the function parameter (replaceChild).

Saturday, 9 August 2008

How to write an article: Style II

Having defined the general level direction you have to think through all sub-elements of the paper. How it starts? All problems to be solved should be explicitly defined. By the way, most reviewers will read just the introduction and conclusions and if they will dislike those elements then the rejecting conclusion will be defined immediately without reading the paper body. Quite many authors will not describe in the conclusion what is done and what is new in compare to the previously published works.

The author should also consider sizes of each sub-chapters of the paper. Those should be balanced (!!). It is irrational (or may be ironical) to have a four pages introduction and a body of the same or even smaller size.

If the paper is theoretical and contains some variable to be used later in equitation or in an explanation then those variables should be in italic to distinguish between words and variables. For example if we start a graph theory paper then we could have written: “Lets have G=(V, E), where V is a set of vertices and E is a set of edges connecting vertices”.

It is important to add into the paper proves of what you stated. For example if you publish an algorithm, then it will be not enough to say that it should be faster than any previously published. Sometimes even mathematical proves should be accomplished by tests (as sometimes those do not follow your math) and especially if you have not defined any theoretical proves. Having added tests you should actually specify environment those tests where conducted in or define how those results can be else reproduced.

If the paper is not mathematical then all statements should be accomplished with use case defining how evidence of your theory where gathered, where, method and so forth.

The next important and logical part to have in the paper will be a comparison with other exciting methods including strong and weak sides of the method proposed in the paper. Notice that if you cannot find any weakness of it then you are likely to under-research the method. Science knows very little really universal methods. Sometimes there are some kind special cases when the method is not applicable.

How to write an article: Style I

Once I got an advice from my supervisor that I believe is the most important from the whole our co-work – in the end of the work (article, dissertation etc) you should arrive to the same things that were defined in the beginning. It is important to produce a cycle within the work. – define in the work introduction goals and tasks to be solved and in the conclusion show that it is done and shortly trace the solutions path been explained in the body of the work.

Having defined such task you will be surprised how many exceptions will occur during your work on the article. If the article starts to move to some other direction and force the summary to be slightly or completely different then you should seriously reconsider the content of the paper (and notice that without explicitly defining the cycling target you will easily miss this fact). The first possibility will be to cut the branch that move to any other direction probably isolating it into a standalone research. If the branch means that initial statement were incorrect then the whole article requires revision and rewriting the introduction.

Friday, 8 August 2008

How to write an article: Formatting

One of the most important organisational questions submitting and article to a conference is a formatting issue. Each conference defines a format and formatting rules, which authors should be using compiling their paper. At the same time those rules doesn’t vary greatly as conferences mostly use some larger publishers’ rules, so you will find similar rules for many conferences. The publishers influence is easy to understand considering the fact that those will publish a proceeding and there are not very many publishers with a name. In my practise the most important formats are produced by IEEE and LNCS).
Usually a format that papers should meet is published as a) requirements (to read and understand) b) template (to start from). Therefore the most obvious way to compile the paper will be to open the template and either write your paper in or paste in (probably replacing some sample text in it).
One of the most interesting differences between different templates is software that you should be using to produce the final result (actually the type of the document, which is required). A lot of people from business community used to use MS Word, which is not widely spread at the moment in the scientific community since it is a commercial software – although the use of MS Word is slightly increased now and is often accepted as an alternative solution. One of the reasons why other standards are preferred is the publishing issue – MS Word is not the best source to obtain text from in order to publish a book. So, the main document format you could find yourself to be using in the end of ends is LaTeX or TeX. I would like also to mention GhostScript here as a considerable number of papers is stored in .ps files (so you will know what to use dealing with files having this extension).

Beside quite a sufficient time you will spend formatting your article will be formatting references. At the first glance those are identical in many templates, but the further research will sure that there are quite significant differences and if the article text can be easily reformatted by changing high level styles, then references styling is much more manual work. For example the name of the paper or the name of the publisher should be in italic or in apostrophes, the first name of the author should be either in the front of the name or in the end of the name, the number of pages should have a prefix pp. or p. or nothing, ordering of references should correspond to the names order or to the order of appearing in the text etc.

Tip: If you are not using MS Word then you will find quite hard to number references and provide right links in the text of articles. In order to make your life slightly easier you could start using right from the beginning some kind alternative numbering (for example letters) and only after the article is finished you will replace it with the correct numbers (that do correspond to references order in the last dedicated to references section).

Summary:
  • Pay attention to all formatting elements

  • Use templates right from the beginning rather than pasting later

  • If you don’t have enough software, knowledge to compile LaTeX file consider only MS Word files accepting conferences in the begiing of your PhD study. In the end of ends you need to publish just 5 articles, not 500, so you could miss some conferences if you feel unhappy formatting LaTex.


PS: A lot of conferences will ask you to submit a paper using pdf format. You can easily convert your file into pdf fail simply by printing it into PDF writing software like for example CutePDF. This software will produce a pseudo-printer after is installed, which will write pdf file from the print stream.

Sunday, 3 August 2008

Co-authors

There are quite a number of papers with a set of authors instead of one. It can be caused by very different reasons. The most common (75%) – different parts of articles are written by different authors or an article is completed by one people basing on ideas of others with an active input from those “others”. The second case – it is a possibility to publish an article together, i.e. administrative co-authoring. In that case the second author either finances the publication (using grants he has) or is a people who will be travelling and presenting the work. Consider for example a fact that some professors publish 50 and more articles. Clearly they cannot present all those papers by themselves as they have a lot of other duties. The third case will be a mix of previous cases. For example a supervisor permanently advices what should be changed in the paper so is a co-author and also finance the publishing and participation at the conference.

Finally I would like to mention some cases of fictional co-authoring.
  • A famous person is added to co-authors list to either increase the acceptance probability or to get attention after the paper is published in order to spread the paper ideas in the science community. I would like to explain about acceptance as you know that papers should be accepted during a blind-review – after the review is done there are always some articles that got similar marks (weak acceptance) and not all of them can be fitted into the conference schedule. So conference organisers will have to select some papers rejecting others and they are likely to select professors’ papers etc probably increasing the quality of the conference and the proceeding.

  • Purely administrative reasons – the most faculty people have articles the better they work, i.e. faculty does. Therefore sometimes authors are just added into the end of the list without any good content reason. Mostly universities have a publication minimum that should be completed by each member of a faculty and obviously different groups do compete for fundings.

Wednesday, 30 July 2008

How to write an article: organisational questions IV

Deadlines

Each conference announcement contains several special dates, which are deadlines for different sorts of activities connected to this conference (those dates are also published at the conference Internet site).

First of al it is a deadline for submitting papers. Normally it should be sent approximately 6 month before the conference start date, so it can be reviewed, correctly formatted and published into the proceeding (as the proceeding is normally distributed on the conference) before attendees will arrive to the conference. No articles will be considered to be included into the conference after this deadline.

Secondly, it is a notification date. That is a date when organisers must inform authors whether their articles where accepted or not. If the paper was accepted then there could be some remarks that you probably will like to address submitting the final version. If it is rejected then you could post that paper again to some other conference hoping that other reviewer will understand and value your ideas much more. So, this date is very important planning what will be the next conference you will submit this article to :).

Thirdly there is a deadline to submit a final version of the paper. After that date no changes can be included into the paper, so, for example, all mathematical mistakes cannot be fixed any longer and if such will be there then the paper will be incorrect forever.

Less important, but still presented deadlines are a date to register to attend the conference by, deadline for payments etc.

Finally there are conference dates, i.e. deadline by which you should arrive to the conference place and presumably have a talk in front of other attendees.

Sunday, 27 July 2008

How to write an article: organisational questions III

Submitting

It is an interesting fact proved to happen quite frequently. Mine practise shows that it doesn’t make sense to submit just one article into a conference. It is much better to send several papers (obviously different papers from the content point of view). An increased chance to be accepted here is probably related to the fact that those papers are likely to be assigned to different reviewers. Some reviewers are more requiring and strict some are less. Moreover some reviews can be done by persons that are not quite specialist from the topic of the paper (specialising on some other narrow subtopic still within the same majour topic), so it could be quite difficult to mark the paper adequately. He could end up recommending to reject that just in case (or may be vise versa – he could decide that the paper looks quite scientific, so could recommend to accept it “just in case”).

Friday, 25 July 2008

How to write an article: organisational questions II

Review

Any process of accepting papers to a conference includes a set of steps starting from comparing the theme of an article to conference topics (whether it satisfies at all), formatting correctness … and including one of the most important activity, which is reviewing. That is a phase when (presumable) specialists, from the topic of the conference to which the paper was submitted, revise the content of the paper and formulates their opinion on that. The most widely adopted method is a double blind method. Here two independent reviewers will read your paper knowing nothing about the author of it and suggest whether it should be accepted or not. The review is done in the blind manner in order to abstract from the author titles so a professor paper will not get any extra points over a young researcher work.

Notice that any review is normally done basing on several properties of the paper like grammar, language, how much new it is, how logical it is composed etc. The acceptance suggestion also varies – for example there could be options, reject, accept, accept for sure, likely to accept (weak accept) etc.

Thursday, 24 July 2008

How to write an article: organisational questions I

I would like to start a series of posts how to write an article from organisational questions.

Adapt

A question „whether your article will be accepted for publication at a conference” greatly depends on how much the article corresponds to the conference topics. It is highly unlikely that your current research will fully satisfy available topics. Therefore authors sometimes are practising the following approaches:

1. First of all it is possible to adopt the work to the conference for example by starting the work (introduction) from a conference theme and then continue describing your research results. It is important to conclude the paper also with the conference topic showing how your results advance it. We could name it adoption of the research to the conference.

2. Secondly, it is possible to write a paper specifically for the conference slightly abstracting from your main research topic. It will allow you seeing other topics etc and probably will let you find some new ideas.

Please let me emphasise once again that it is important not to ignore the question of close match between the conference and your paper. May be later, when your work will mature, you will ignore some conference and choose only those that match your work, but now you should start vice versa. You must publish the minimum requirement – 3 articles, so try all possible alternatives.

Wednesday, 23 July 2008

Why should I try to obtain the doctor degree if I already have a good idea to work on?

Quite recently I got a question from one of my friends, which was formulated as “Why should somebody do a lot of work researching different items in order to obtain a doctor degree if he already has an idea? Consider for example S. Brin or S. Jobs. Those who have ideas could develop them, but those who do not have any are forced to work for others. Therefore the question is why should I spend time on this degree? What will it give me except a potential workplace in companies owned by people having ideas and implementing those in their business?

First of all, as I meant to say in the original post promoting the doctor study – this study will provide a lot of fun and memories to you in the future, so if you are not a brilliant sale person and will not eventually earn a lot of money, then at least it will be a top result you have achieved in your life. Moreover if you already know how to earn a lot of money right now, then don’t spend time on the study. Instead grab all those billions and later return to this topic.

Secondly, a doctorate student rarely comes with a ready, well-formulated idea. Normally s/he will have no, or it is too general to develop into a commercial one. Moreover the whole point of studying at university is to get access to online knowledge via libraries of articles etc, attend conferences and discuss different ideas with different people. In other words the study allows searching, finding and developing ideas effectively (!). The same happened with earlier mentioned Brin who left the doctor study since started developing PageRank – an idea he produced during the doctor study with people he found during the doctor study.

Besides the answer on the question greatly depends on the kind of the idea. For example it can be something extremely theoretical (like math theorems), not very broad to provide good enough return on investments or something that cannot be commercialised at all. In that case the doctor study will be the only and the best option to develop such ideas. Another factor I would mention here – this path is much more obvious to choose and follow for those who do not become from commercially successful families and therefore is usually taken. The best option (I tend to believe) will be to study and implement ideas as an own business in parallel.

At last (but not least) – one of my friends Roman answered: “You should not forget that PhD and MBA mean a lot in business and especially in such areas (countries) as Middle East and Germany. Besides you should study if you feel you need that and would like to do it.” I fully agree with that. The only way to complete this road will be to know why you need that and to enjoy this several years long walk. Besides, if you will complete the study and you will not be promoted on your current work place then you either work for the wrong company or your study was a fiction.

The concluding remark will be – the doctor study teaches you to formulate your thoughts, correctly explain them to others (so your ideas as articles would be accepted), how to work with information and knowledge bases, how to generalise and apply ideas producing something brand new.

Wednesday, 28 May 2008

JavaScript performance

A task that I recently got was to find out performance of JavaScript. Actually the task was to find out how different ways of writing applications do perform. Writing an application sometimes you can implement something as a desktop application or as a web application.

Of course it is not a case if you target a broad auditorium (where you probably have to write a web application) or very small and controlled one (where you can built a desktop application).

Been bounded to Microsoft technology and having to write an active input application like for example MS Excel or Google spreadsheets we decided to compare JavaScript (Web), Visual Studio 2005 C# / .Net 2.0 and Visual Basic 6.0 (both desktop application).


Looking for already done research in Internet I found an interesting page measuring JavaScript performance on you computer, which is actually very elementary for everyone to write by himself (herself).

Implementing the same in VB6 and VS2005/C# I got the following results comparing the integer numbers dividing:


- JavaScript is 5 times slower than vb6

- JavaScript is 100 times slower than VS2005/C#


Results looks to be quite logical as JavaScript is not compiled into an executable put is run inside each web browser after the source code of the script is downloaded.

Tuesday, 13 May 2008

GPS Navigators

An interesting post in case somebody wonders which GPS to buy. Here is at least one person who is happy about his choice:

The Mainstreaming of GPS

Tuesday, 22 April 2008

Writing articles or "How easy it is to become a doctor of science II"

Lets assume that you finally decided to try yourself in the PhD race. We already have stated in the previous post, that the corner stone her is writing articles.

It is fact, that after you have published 5 articles or more you can start to use to think that you are PhD. Notice that under "published" in the previous sentence we mean that articles were actually accepted at conferences, not just written by you.

So, we count only articles that were made available vi conference proceedings or journals.

Journals publications of course "cost" more (i.e. are more valuables) than proceedings, but it is much harder to "push" your work into those (i.e. write so that journals will accept it). That is why doctor students should basically forget about it and concentrate attempts on conferences (of course it doesn't mean that you should not write some articles to journals as well, but you should not rely on those).

There are different levels of scientific conferences, but for any serious one a book of articles will be printed, which is called a “proceeding”. Level of a conference is normally measured on the high level by publisher or an indexer (i.e. in which scientific database a link to conference articles will appear). Indexer is either stated directly in the conference description (or "call for papers"), or can be identified by a publisher of the proceeding. For example Springer Verlag and IEEE (for example IEEE Computer society) are most respectful. The worst choice is a conference publishing a local proceeding (for example by the university organising the conference), but still check the indexing policy as even the local one can be well-indexed. Talking about indexer, the scientific activity in Estonia is normally measured by links on your articles appearing in ISI (Web of science). So, if you have got a paper into that index - well done! There are some other indexes that can be acceptable for doctorate students: for example EBSCO or DPLB. Actually it is also not the lowest level for PhD students - in this case local proceedings will also be accepted!
There is also a certain category of conferences proceedings of which can or cannot be indexed especially if the conference doesn't have a good record of previous conferences - so the proceeding will be posted to indexer, but organisers don't know for sure in advance the indexer decision (they can consider the proceeding as too weak [so not interested] to be included into the index). There are also organisers that host series of conferences - circa 10-14 per year in different places all over the world. For example in a decreasing order of my priority list: IASTED, WSEAS, IADIS.

If you have written an article and it was accepted then you can nearly killed this a big and valuable animal or at least frighted it a lot :-) I'd like to say that there are some more activities you should do like а) always: pay the fee as an author (only then the paper will be published) b) normally: present the paper at the conference otherwise it will not be published, although in reality proceeding is published much earlier than you appear on the conference. So you need somebody to finance those activities (publishing fee, travelling). It is obvious that you will not like to finance by yourself, therefore university is the standard place to ask money from. For example in TTU we have а) doktorikool (school for doctorate students) and b) EITSA ( a non-profit organisation founded by the Estonian Republic, Tartu University, Tallinn Technical University, Eesti Telekom and the Association of Estonian Information Technology and Telecommunications Companies to support IT evolution of the country).

Finally I would like to mention virtual conferences (for example CISSE). Participation in those doesn't require to move your person from one place to another in the real dimension - just Internet connection and much less your time than usually as you can participate if you find a talk interesting or go and do some other work.

I would also like to warn you against conferences accepting abstracts (a very short article up to 1 page) instead of the full one. That is happens very often if we talk for example about German hosted conferences. Then normally promise to publish best papers in a proceeding. Be careful. Only full size articles will be counted. Abstracts will not be. Don't expect that your paper is so genuine that you will be in that chosen list of papers. If you really do think - try to submit it to a good journal (for example published by Springer, Elseveir) or to a high level conference. Normally such trick is made to increase a number of participants, so I think they just look for fools

PS: a list of conferences can be found from different Internet pages (for example). Another approach - check where participate those, whom you respect, your professors, other teachers of your faculty. For example here is a list of conferences I am interested in (or some my colleagues).

Monday, 21 April 2008

Supervisor role in writting master work

As an addition to the previous post about writing a master work, I'd like to add a post about the supervisor role in this process.

This role contains several sub roles. First of all the supervisor should direct and verify the content of the work. Normally it means
1. Plan the work on the highest level: majour topic of the work and subtopics; overall logic of discussions.
2. Give advices how to write the work, which topics to include to make the work logical and how to position those to avoid misunderstanding of the work by future reviewers. For example any analysis should be based on certain criteria that are important in this particular type of environment etc. In other words the selection of criteria and description of those should precess any analysis. It is also important to show why one or another methodology for comparison is chosen (to show that it is applicable to the topic of the work).

3. Prepare a time plan (schedule) of writing and defending the work.
4. Compile a content by proposing chapters, sub chapters basing on previous .discussions and finalise by defining an approximate size of each sub chapter length.

The last item actually merge with the second role of the supervisor, which is to direct and watch formatting of the work. There is always certain (sometimes informal) requirements starting from the font size and ending with the number of pages (including formatting of tables and figures, number of sub chapters etc). Notice that in master and similar works the rule "the more the better" doesn't hold. Knowledge (know hows, reviews etc) should be clearly written and concentrated to not exceed the limit of pages. Otherwise reviewers will had to read too much, so will simply read the introduction and conclusion, so there will be a risk that they will simply misunderstood the whole point of the work.

There is also a none official role of the supervisor, which includes the following
1. Inspire a student to start and write to the end the master-work
2. Help students to relax (decrease stress) and produce a confidence that the work will be successfully defended
3. Force the student to meet the schedule (time-plan) of writing the work and ask why s/he doesn't.

Wednesday, 16 April 2008

Master work

This post is designed to extend the earlier started discussion about PhD works as a master degree is an entry level for the doctor study :).

One of the major questions that students and reviewers appear to struggle with is the difference between a bachelor and a master works: what are requirements failing to meet which the work will be graded as "no more than BS"? I am going to give an answer basing on practices of Tallinn University of Technology / Departments of Informatics:

- A bachelor student should demonstrate in his work an ability to use acquired knowledge showing what he got from university.
- A work meeting the "master" level should contain a certain level of analysis done by the student - understand the system, formulate advices how it can be developed further, formulate an opinion on the system stating advantages and disadvantages of it, conduct a comparative study of the system etc.

Master works are divided into two categories:
- applied (engineering)
- scientific

The scientific one is a starting point for a doctor work, since the master one should be further developed there on a higher, PhD level.

The engineering one usually requires sufficiently less and that is why such works sometimes are considered to be too weak i.e. with a conclusion that the work is nothing more than a BS one. Notice that any engineering work normally deals with some kind already existing application or ideas of further development of a real system. That is why it is so important to fulfill all requirements and particularly write why you decided for one or another alternative instead of just describing it. It is very advisable to include into the work a preliminary analysis of alternatives conducting a comparative study.

Regarding the work formating: Normally the work should contain no more and no less than 50-60 pages, font - 12pt with 1.5 line spacing. A paragraphs' depth should be no more than 3 levels.

Your work should generally contain the following chapters
1. An introduction into the area of the work, a description of problems to be solved in this work.
2. An overview of alternatives, existing methods to deal the earlier stated problem. This is done on detailed, professional level (while the introduction contains history, high level descriptions etc.)
3. Conduct the analysis (i.e. the main analytical content of the paper)
4. Conclusion

Considering the requirement to have no more than 3 sub-chapters we could come up with the following calculation: 55 pages divide by (4 chapters * 3 sub chapter [depth only 2]) equals to 5 pages per chapter, which is very very limited amount of pages.

Comments:
- If you have a lot of ideas - you should train yourself to express within the required scope (number of pages)
- If you have very few ideas to publish - well the required number of pages is not too big, so you don't need a lot to fill just 60 pages :)


Finally, the master work should be written during a semester right before completing the master study.

PS: Each country obviously could have own, specific requirements. For example, Estonia requires:
- If your work is written in English then it should contain a summary (1 page) in Estonian
- If your work is written in Estonian then it should contain a summary (1 page) in English

Monday, 14 April 2008

An open letter to VW: Usability / Answer

Today I got an official answer from VW saying:

With reference to your remarks in connection with the instrument panel readings, please allow us some explanations:

The choice of the illumination colours in Volkswagen vehicles has been subject to several customer studies. The blue background and red pointer illumination make up a high contrast together. This leads to a simple and quick recognition of the pointer position, which contains the necessary information for the driver.

The visibility angle of the human eye is higher with blue than with green light; therefore the instruments can be watched even when the view is not straightly directed on an instrument.

All these relevant factors have lead us to choose the given colour combination.

Nevertheless, it is not possible to avoid that difficulties may occur in individual cases - since an automobile producer, as you will certainly appreciate, sometimes has to make compromises.

May we, in closing, thank you for informing us of your opinion.

Yours sincerely,
i.V. Michelina Lauriola Maenza i.V. Karin Gaedecke

Friday, 4 April 2008

Why customers are disappearing

I am not a marketing expert, but I tend to believe that “customers will complain if something is wrong” is nothing more than a belief.

Consider for the beginning the following post. It adequately reflects the fact I would mention: customers will extremely rarely return to software vendors with sufficient complaints, instead they will rather select some other product, i.e. you will just loose the customer knowing nothing about reasons.

Imaging for example you are buying a car. You will visit several dealers and have some test-drives and even have several offers, which you will discuss (making sellers to believe that those are close to a deal). In reality you will buy no more than one car (or even none). Will you go through other car makers’ dealers and explain your choice?
Never

I suppose you are not sо young that it is your first car, so you had another before. BUT, you probably decided to switch to another brand. Will you return to your previous car brand dealer and explain why you have chosen another one?
No

If a dealer will call you will you give them a fair answer? You will likely to give the shortest answer, which rarely will match with the fair one.

The reason is simple: you (the customer) have already decided and you don’t want to spent any more your time for this! The problem is solved and you start to solve another one.

Moreover customers will rarely to return to a producer with complaints right after buying if they don’t expect the producer to fix the ware (in software world - the current release). Have you ever send a feedback to companies like SONY, HP, AEG, Microsoft etc after your discovered that something is user-unfriendly or so? I don’t really believe.

Summarising, if you are designing a product, then don’t make a decision like: let’s do in one or another wait and customers will complain if it is wrong. It is nearly hopeless to expect customers be giving a feedback. It will happen only if you have very good relations with your customer or they have no real choice (nobody else producing something similar).

Sunday, 23 March 2008

An open letter to VW: Usability

I just wonder about colours that Volkswagen uses to show information on the front panel like temperature, odometer information, distance on the remaining petrol etc.: VW is using bright red colour to indicate that. Indicators locate in the center and covers quite a sufficient area in an advanced (actually standard) variation.

Why I wonder that? Because I used to use the following colour scheme:
- If an information will be displayed, then it is normally shown using green (well, may be blue) colour
- If a warning is shown, then it is shown in yellow
- If something critical (may be live-critical) or important, then it is shown in red.
I think you can easily recognize this colour scheme: identical to the traffic light one.

So, VW is ignoring standards exist in traffic and I just wonder what is the reason? Personally, I quite liked this car manufacture and was considering to buy some their cars, but the indicators colour scheme stopped me from doing that. Having to drive quite long distances sometimes and doing it a lot during late evening or night I find this scheme to be dangerous. There is one thing I afraid most: I could become used the red colour and will not adequately react on a decelerating / stopping car in front of me (as you know this is also "indicated" using red colour of rear lights). Moreover decelerating sometimes is just indicated just by more "red" and bright colour... exactly the same as colour of VW car indicators.

PS: I also do wonder why it is possible to customize a lot of things in the car, but cannot to change so simple and cheap thing as a color of indicators?!

Tuesday, 11 March 2008

Is quicker always better

I will start this post from a note: we are not talking here about producing cheap goods with low quality when the cheaper or faster production always means worse. Here we consider our nowadays world when we try to release a software to the market as soon as possible using agile and other methods that will not require compromising the product quality.

First of all, rushing sometimes means that you are constantly changing the release date. The traditional software development process will go through certain well-defined stages and normally you do see the product in more details on later stages, so you could discover some logical/design mistakes that will require certain redesigns and so will mean some more days for development. People hate constant changes of dates. The nature of mankind demands stability around to apply experience and make the future more predictable. Therefore neither customers nor in-house people (consultant, marketing, testers etc) will like such uncertainty and will not probably be happy if you offer your product one week early in the end of ends.

Thereafter, the early cut of project mandays could mean that you don’t have those anymore for future improvements especially if new release dates are promised to the management. Although the statement is quite elementary “you cut + you don’t have those days any more” it is not simple to understand for many people. They will argue that it is what actually we want to do cutting days since we think that the required functionality development will not require those. The real pattern is the following:
At some stage some kind problem will be discovered. My experience shows that it will occur with 200% probability - i.e. there will be at least 2 such problems in each project. A problem can be, for example, an inconsistency in the project design, a technical problem, a performance problem and so forth.
A typical reaction will be: OK, we don’t have any more time to solve the problem, so let’s adopt a workaround which we developed in a time-period we had. Notice that usually everybody is fine to do such decisions: there is a belief that it can be solved in the next release. In reality it rarely happens. Usually you will find that customers are not complaining and designers will say that there are much more important features to do. Unfortunately it will lead to a product, which is hard to develop (as there are a lot of temporally solutions) and sell (customers doesn’t complain – they just switch to something else or doesn’t select it considering which product to buy). So don't rely on a belief that you can improve software in the future, do it now and think twice cutting resources.

And of course you have no time to accommodate any better ideas or design you can come with somewhere in the final stage.

Sometimes the cut of dates is driven by testers who report that they can test a certain area by a certain date. But are they sure that developers will be able to solve all found problems by that date? They are not interested! So, the decrease of the production cycle should be agreed with all team members. Sometimes discovered problems are quite complex. In addition consider performance requirement that could arise during the testing or acceptance face.

Let’s finally talk about uncertainties that exist in any project. It is always possible that even during such relatively short period as is offered by agile and other iterative development methodologies, a re-prioritisation could happen including into the project more/other features. Have you participated in a project, where this never happened? May be if you are the in-house developer, but unlikely otherwise.

Concluding all previously said I would like not recommend rushing in cutting project mandays since faster is not always better.

Monday, 10 March 2008

MeWare

Eric Sink claims in his article that there are three categories of software (actually I would say just ware as the idea is quite general

MeWare
The developer creates a ware. The developer uses it. Nobody else does.
As a case – a ware is created first of all for by the developer for himself and others opinion is not considered at all.

ThemWare
The developer creates a ware. Other people use it. The developer does not.
As a case – a ware is created first of all for others. The developer normally is not qualified enough to have own opinion on how the ware should work, look like etc. Therefore other tell him what to do, while he decided how it should/can be implemented.

UsWare
The developer creates software. Other people use it. The developer uses it too.
The ware is a combination of the developer and others ideas and thoughts.

NobodyWare
The developer creates software. Nobody uses it.
The ware is created to die right after it is released. A good examples of that our students works in universities and some wares created because of some government/bureaucracy regulations.