Wellcome and enjoy.

I would like to welcome you on my blog and thank for time you spend reading it I hope you will enjoy.It is personal creation of me, Lukas Tencer, and it will map my professional success as well as my personal interests.

Wednesday, November 24, 2010

Bye HTML5 and Quickr, Welcome Xpages and Vulcan

So where one project end another begins, I have developed some nice features for Lotus Quickr like HTML5 upload (same as Google has for Gmail), nice facebook-like chat using web-sockets and other nice (mostly GUI) features. But its over.

And where saga ends, saga begins.

So here we go for Xpages extension library and project Vulcan, what seems to be also nice things to be working on.



OpenCV issue

So quick one post. If you are getting OpenCV error:
warning: error opening file (c:\user\vp\ocv\opencv\src\highgui\cvcap_ffmpeg.cpp:452)
where is the problem?

There could be 2 main causes:
1. You need to have build highgui WITH cv_ffmpeg, but before rebuilding check:
2. You dont have resources in right directory.

For Visual Studio (I am using 2008) it is directory in which is your .cpp file, but of course if you have build it and want to run it, it is also directory where is your .exe file, so debug or release directory, depending on what are you building.

I hope this helps.

Friday, November 5, 2010

More on computer games PhD

Hello mr. reader.

So application for ITU Copenhagen done. It was pretty much fight to get everything on time, but there is not too much bureaucracy. We will see how it will go. Btw. I have combined topics 2 and 3 from previous post and submit them. looks pretty good.

But not to bet always only one horse, I have decided also to post more applications. Currently it will be University of Waikato. And here are research topics I am proposing (as topic for research):


1. Persuasive games and public gameplay : Company called MegaPhone [1] recently present their technology, which allows for people play computer games using their mobile phones just in the middle of the street. This technology has been used widely in marketing, which is by nature persuasive. Until now, there was no study about use of this technology specially in persuasive games. It is really interesting to explore what is people attracting to this kind of games and factors as public presentation or physical aspect, which brings difference between classic multiplayer games and MegaPhone games. Also, because this is pretty different way of presentation of game, design challenges and decisions are pretty different, so this is another nice topic about which one can think. So here are few basic questions, on which I would like find answers in work on this topic: How can public games influence players behaviour? What are design challenges for combination of public and persuasive games? How to design successful public game? What are main differences between design of classic casual multiplayer games and public multiplayer games? Are public games suitable only for casual games? How can be public persuasive games used in other areas (marketing, public opinion research, education)? How to use public games for education (use of serious games)?

More generally about persuasive design and technology, there are some young conferences about this topic [2] [3], so here it is observable, that this topic is becoming interesting for scientific community.

Megaphone provides free developer program, in which I participate now and I believe that they would appreciate cooperation in this area, so I can can contact them and create university+industry link.

2. Brain-Computer Interface and adaptive gameplay : Adaptive games are nothing new in computer games research, there is plenty of publication by many institutions and also there are IEEE and ACM conferences on this topic. Pioneer in this are was ITU Copenhagen Centre for Computer game research [4]. Currently research is done all over the world including Sydney Australia, Concordia Canada, Bergen Norway, Georgia Tech USA and many others. Most of papers use for "adaptation" direct player feedback or indirect variables, such as player success in the game.

BCI is existing for a long time, but it is really young area and there is not too much commercial use of it. Most advanced product is [5], which is one I would like to use in my work. First papers about combination of BCI and computer games are only from last years (09-10). And none of them is actually discusses their combination with adaptive gameplay.

This is more experimental topic and open questions are not so clear, but some can be stated: How can be BCI used for adaptive games? Should be BCI used only as passive element, or should player be able also to influence gameplay through it? What is the right metrics to measure player satisfaction with BCI? What challenges are in design of adaptive games with BCI? Can use of BCI during early prototyping of game give results, which can lead to better design of final game?

But except wide theoretical study, purpose of this research will be create actual game, which is using BCI to adapt.

Friday, September 24, 2010

Center for Computer Games Research

Hi people, recently I have found this page of Center for Computer games Research and it looks like, they are accepting PhDs! So I have write down few proposal, please give me feedback so I can form solid Statement of Purpose from it. It is 3 of them, 1 main and 2 spare. Fell free to be bad and have a lot of criticism.

Here it is:

Real-World data based game content - basic idea is to generate game content based on actual real-world data. There could be multiple uses for this and it is wide area. Examples:

1. Games content delivery - you can deliver game content based on geographical location of player, in different places you can play different levels of game. It can be used for example for propagation of cultural attractions, where if you visit museum or gallery you can play game on your phone, and levels of this game will be personalized to that museum or gallery. Goal of this would be to build a game, which delivers game content depending on geographical position and other easily obtained data (time) from client (player).
2. Solving real world problems - lets imagine a computer game, which reflects real traffic situation and quest of the player is to get from point A to point B. There could be multiple players and one who can get there in best way will be the winner and actually his solution can be delivered to someone, who will be using GPS and would like to get from point A to point B. Next example is to have game with climate situation and the quest of the player will be to manipulate with the weather. Based on player actions then we can observe the resulting situation and compare it to actual situation evolved after time. Those are simple examples, we can think about more complex models, which provides player with ability to solve real-world problems with computer games, based on real-world content. One bright example can be found here.
3. Gameplay in real-world environment - Here you can imagine computer games, mostly on mobile phones, which are using augmented reality to provide game content. Provided game content is also dependant on current surrounding of the player. This would be nice combination with point 1. Under this point one can also discuss game-content based on real world models. Just imagine you have a model of a car, you would move your mobile phone around that car, the car get 3D into the mobile phone and you can play the game with that car. Actually this, what I am describing in last sentence is based on video-based rendering and I have already some results in that area.

Those are 3 main possible areas, where to use real-world data based game content. If none of them would be suitable, I have few ideas here for other themes for thesis. For this other themes I have not deep background, but it is not problem for me to work hard to get it. So here are few other ideas:


Indirect control gameplay - The name is little bit mysterious, but have you ever play Black and White game? This is one of a kind game and it is using this indirect feedback model. You have a creature, which is acting in the game according his own will and you as player can punish or reward it. Also this creature is observing players behaviour and actually it reflect players style of play. I think it is pretty interesting area to observe. For example in strategy games, when one is playing for a race and he will build a new base. So he will have 2 bases. Then he can promote and general, which will take care for the old base and he can concentrate on the new base. The player can give some indirect orders to the general and also promote/demote him. This can result into forming generals character. This is example for strategy game, same can be done for racing game, where teams are racing against each other and in one race there is multiple racers, who need to cooperate. Here it can be also interesting to get the good balance between player feedback and agent autonomous behaviour.


Adaptive computer-player cooperation in gameplay - I have read your papers on adaptive content and how to maximize player fun. This was one of other factors, which can be taken in consideration. Besides player there could be another character in the game controlled by the computer and this character will help the player based on his current results. So if he is doing well, the character will interact less, otherwise he will help more. This could be really nice addition to generated game content, because it has no delay in response to player actions (if we are thinking about Mario game, then computer controlled character can help also on the same screen so player does not need to wait to move to another screen).

Thursday, September 23, 2010

Detecting HTML5 Features


Welcome back,

so I have finished another chapter, and here is a short summary, what you can learn in this chapter. Its title is "Detecting HTML5 Features" and it introduces 3 basic ways how to check for HTML5 support from browsers. Currently there is a pretty good support especially from mobile browsers, only pain in ass is IE, but starting from version 9+ there should be some support. Also if you would like to run your HTML5 pages in IE there is plenty of other options (Chrome frame, Gears, explorercanvas,...), but none of them is native. About these more in later articles.
So what are therse 3 ways how to detect HTML5 features? Its all about existence of some variables.

1. Property of global object. There are few global objects always available as Window or Document. So example how to detect application cache would be:

return !!window.applicationCache // !! is trick to get the result boolean value, output of operator ! is assigned to left side and it is true/false

2. Create an element and then check for a property on that element
3. Create an element and then check for a method on that element

2. and 3. ways are almost identical, because what are we checking in 3. case is actually a pointer on a function, what is also a propperty, so it would look like this:

return !!document.createElement('video').canPlayType

So this are 3 basic ways, about which is autor talking, but in fact, he is using little bit more of them. I have summarize them in small .js library mastermind.js which you can download also with examples how to use it. On this exapmle you can check, what functionality your browser supports.



under the line: HTML5 specification has divided into multiple groups, so there is one for DEVICE, other one for GEOLOCATION or FILES, so if you follow one of them, keep an eye on others, because they also bring some cool new stuff.

Wednesday, September 15, 2010

Shipping code wins. How 'img' tag arise


First chapter of book HTML5: Up and Running is called "How Did We Get Here" and shortly tells story how HTML makes it to its current position. It was very exciting reading especially along with 17-years old mail conversation, which shows, how 'img' tag was created. The true is, there was 4 proposals, how images should be inlined to HTML, and some of them was perhaps even better than today used 'img', so what makes it to current form? It was just implementation of code in one of the that day's browsers. So in this case was true, that shipping code wins. Off course its not the golden rule, but it can help. Author in chapter 1 also introduces examples, when shipping the code just did not help. This was true for some of dead branches of HTML evolution tree.

Besides this examples author also gets over past evolution of HTML in W3C and WHAT working groups. As you can know, there was initiative from W3C to bury HTML and replace it with "better" and more strict XHTML. but unfortunately this initiative was not successful and even without support of W3C development of HTML continues. And then in 2007 W3C cancel its own initiative on really strict XHTML 2.0 and instead continues in development of HTML.

So where was the problem of XHTML? it was at most in lack of backwards compatibility and restrictions for developers. In version 1.0 XHTML has something called Apendix C, which said sth. like, obey these rules, but there is a way, how to make an exception. This Apendix C was removed in version 1.1 and did not make it to version 2.0, because work on this version was stopped. Without Appendix C all current sites would be needed to be rewritten to XHTML 1.1 and developers and users did not like it. Also there was an strict rule, which did not tolerate any errors in markups or parameters. So for example if you did not put " around parameter, the page just did not display, instead of tolerant browsers behaviour, which just can handle it somehow.

This "all or nothing" rule makes to to think little bit about broken and non-valid code on pages. Yes its true, that if we wont be strict on nice code, there will be more and more pages, but how to make some compromise? Because from developers point of view one has to optimize its site for different browsers in many cases, only because of browser dependant non-valid handling. So what about standardization of wrong code handling? Yes I know its very close to rendering engine and it will require big support from browsers site, but its kind of solution. Any other suggestions about this question is more than welcome.

HTML5: Up and Running


HTML5: Up and Running is a book about recent news in web development from Mark Pilgrim released by Google press. It is on of the resources which supports Google's initiative to push forward development and support for HTML5. I really appreciate this initiative, because it also allows me, to push some bony applications in IBM little bit further. So far I have some experience with HTML5 because I have implemented some of the features, which have google introduced in Gmail in some IBM product and I believe this book will help me to master my HTML5 skills and let me implement more features in this product.
Now little bit about the book. It`s price is pretty low (amazon $19), so I have decided to get it. I have obtain electronic version and in comparison to paper version is pretty more rich, you can use hyperlinks directly from text, what helps a lot especially, when you are not aware about some topics.
So far I have get to page 30, total number of pages is 222, so I hope I will make it through the book in most 2 weeks. I will bring you periodically updates about what I have learn and I hope I will help the community. For the moment I have learn how HTML5 arise and how to detect its features in different browsers. Updates about this 2 topics I will bring soon in my other posts.

HTML5 Learning Resources

Hi there,

I would like to share few resources, which I have gathered about HTML5 and also ask you, if you have any, to share it with rest of community. I hope this will help you.

First one close to IBM by Niklas Heidloff:

Usage of HTML5 Offline Functionality in XPages 8.5.2 :

Few talks from Google guys:

Introduction to HTML5:

HTML5: Features you want desperately but still can't use:

Learn About HTML5 and the Future of the Web:

Google I/O 2010 - Developing with HTML5:

Google I/O 2009 - HTML5 Database/Gears & Offline Web Apps

Book resources:

HTML5: Up and Running:

Introducing HTML5 (Voice That Matter):

Beginning with HTML5 and CSS3: Next Generation Web Standards

Thursday, June 24, 2010

Real-World Data Based Game Content

I have read about research of computer games research group on ITU Copenhagen. They are generating game content based on users action and they are trying to maximize enjoyment from the game. Based on they research I have been thinking about game content little bit also on myself and following idea come into my mind.

Basically every game has some content and it could be created by artists or somehow generated. Generated context could be done procedurally. But even when you want to have procedural context, you need some seed, based on which you generate this context. Seed for researchers from ITU are players actions. I have been thinking about little bit different approach, and it is to generate game context on the biggest set of data one can acquire. It is real-world data. Just imagine about mixing real-world data and game context. There are a lot of ways, how to do this, so lets speak about few of them.

First of all one can just deliver game context based on the basic real-world, what is position. This is basically best executable on mobile devices. Where player is playing the game, but on different locations are available to him different levels. So where to use this? First of all education, where you can just give people more inspiration to visit some places, like museums, galleries, parks and other cultural and other institutions. Just a family on a trip around museums in their city and great way to deliver information to kids is to let them play game, which context is based on in what museum they just are. Second nice use is marketing. Also model situation. You are a big fast food company, which wants they visitors to pay a visit to their affiliates. You can release game, which will provide to players in every affiliate different level, for each level they receive award and after enough awards they will get some free drink or any of your products. Last use of just position is the legal issue. In many countries there exists rules and laws about specific game context, which can and can not be delivered to players. Best examples are Australia or Germany. It is easy to filter game content in stone shops, where developer and publisher adjust game context for release in particular country, but it is harder to done in electronic publishing. Also nice example are mobile games, where is no guarantee, that the application will pass all the local laws. For this purpose could be also used location specific game context.

Lets move to second option of mixing game context and real-world data. Now we want to use some more information than only position in computer games. It is best, that it would be information, that could be obtained explicitly and is available worldwide. This type of information are: traffic, weather, daytime, stock information ... there is a plenty of data, which can be used in games for game content. We does not need them to simulate, we can just use them. Also, when you use real world data in computer games, one can actually solve real world problem. Model situation: GPS, which communicates with game server and players quest is to lead the car as fast as possible from point A to point B with avoiding dangerous places(some really bad neighbourhoods), traffic jams... . Also use of real world information, for example weather in computer games, could make step toward personalization of game context (did ever happen to you, that you have noticed, that its raining not by looking outside window, but by looking on forecast instead?). Also option to let player play from some initial state, which is based on real data, and then to compare their results with results based on actual data, could lead to some nice statistic observations.

Last use of real-world data in game context is the deepest one from previously described. It is use just a real world as a environment, mixed with artificial models. Some solutions already exists in augmented reality, but none of them is actively used for computer games. This could be nice in combination with approach number 1, so you can play in real world and based on your position, you are playing with different game content. This idea is a little bit abstract but it is strong proposal for game prototype, which could bring new view on mobile game playing, especially now, when new devices with new technology are introduced. So augmented reality + location based game context could really make a difference.

On this theme I have not found any scientific articles published, even when in some areas are already existing solutions (games based on stock information, AR for PC ...), I have found none published on scientific conferences. So I am happy that I have option to share my ideas and visions with you and I hope, this could be helpful to you.

Friday, June 4, 2010

Drag and Drop in HTML5 and File Input. They have sth. wrong.

Hello everyone. At first, let me please say little background about recent events in my life, if you are interested only in technical stuff, skip this paragraph. Be unpredictable events it happens, that I am currently working on front-end of one web application for big big company. My role in team is not big, but I like my work and now I actually work on something pretty interesting. It is only 3 days what I am working with Dojo, Ajax, so please be patient with me. But as you can see I learn fast :-).

Let`s say something, what we would like to do today. As Google has started its Drag and Drop for Gmail, everyone wants to have one like that. So my BigB company has asked me to do also one like that for them. This is what I am working on in combination of Dojo, Ajax, HTML5 and classic HTML. Our task is like this: You have some form, there is some default behavior on this form and you would like to keep it, but also add some other. Thing are now like this, we have DOJO Fileinput and user can select there files and after submit of form they get uploaded on page. Now we would like to sth. like this. After dragging files on special div, we would like to add new Fileinput fields with those files in it. So no XHR request or sth. like this what is commonly used for uploading, we have to rely on script, which is processing form now and of course we can not touch him. So how to do this? There is a lot of limitations.

First of all, get working Drag and Drop, what is pretty simply task and even withou no knowledge of DOM or Ajax you can do it, I was able to do it, so you have to do it also. Follow this examples:


Get here until phase you would have access to you dataTransfer object. Now it is going to be little more complicated. First of all we need to put files to . To do this will help of new property of input DOM object and it is files. API is described here: http://help.dottoro.com/ljwjmspm.php. It is an Filelist object, and there are some problems with it, which I will mention later. Ok now, we have the files there and we would like also show names of files to user. This really could be problem with classic input, because value property is read only for security reasons, which are pretty clear. Using it could anyone download any file from your computer. So what to do now? Because we are using DOJO, there is one big advantage. DOJO Fileinput is little bit hack, and what you see is actually not an real file input, it is just text input and button, inside an file input. I know it sounds strange, but try to take a look on code in DOJO and you will get it fast. So now we just get this text input and we put there our file.name, great. We submit form, hoping that everything will go ok, and... PROBLEM!

Files added by user are uploaded without a problem, but files added to input programmatically are not submitted, so where the problem is? Could it be even done? So let`s take a look on documentation of Filelist, let`s play little bit with debuger and after a while we could find out, that our files property of input is allways 0?!?!. And this is pretty a problem in implementation of Filelist. Because, yes, you can access files with operator [], and this operator even accepts file to write into files, but it does not increase its length :-(. So on submit is nothing submitted. And what is worse, it is read only property, and there is no way how to change it. Just look on previous link.

This is pretty serious issue, and I hope, that in future implementations it will change, I would even report it to someone, if I would know to who. I can imagine, that there will arise a lot of more security and other issues, with allowing this property not to be read only, or by letting operator [] to set length. Other solution is to make operator [] able only to read, not write, but I believe, this would be step back. It is really nice help for developers. Especially, when you want to use file from other sources (DND, Web...). So how now solve this problem? On monday I am going try to write my own XHR request and override submit function, which is sending form. Will see, if it could be done, more info in part 2.

I hope, I have helped you at least a little bit. Have a nice day.

Monday, May 24, 2010

Voice control?

Yesterday I have opportunity for first time use Voice Control built in Windows 7 and I would like to share my experience with you.

At first, there was 15 min intro about learning how to use voice control. Ok, I have made it somehow through, but it was not one of the most user friendly learning sessions. After that you can train you voice control by reading bunch of sentences about how voice control is awesome.

At least, when you make it to the real control of system, here it goes. I must really appreciate this "show numbers" command, which practically will show number over each GUI element and just by saying numbers you can navigate. I can not imagine such navigation in open-space lab, but whatever. So system control GUI is pretty good.

Next part of voice control is dictating, when you are saying text and it is actually typed on the screen. Here Microsoft claims that speaking is faster than typing. And yes, they are right, but fixing errors after voice recognition software takes you much more time than typing. This can be caused also by my bad accent, but should not recognition count also with that?

Ok, now when we are over short review, lets take a look about good use of voice control. While I was lying in bad and thinking, how voice control could help you and few things come into my mind. And perhaps Google will implement some of them someday :-). First of all voice control allows you to multi-task. You can be typing on a keyboard and at the same time you can make a note. Or better use, you let copy files and at the same time you are playing a game, but some of the files are in conflict and this nice windows with: replace, skip, cancel is show. Here instead of breaking your game you can just after voice reader reads that message say yes. Full screen applications are currently mostly games, so yes, use for games would be handy. Another example, you are playing a game and just in you have remind, that you must send an e-mail, you can do that by voice, while still playing. This is nice use for desktop applications.

Another story are mobile applications. In current world of smart phones and hands free this wont be such a big deal, but it could be nice to have sth. like this. Imagine you are just talking wit somebody and you are NOT using hands free. This person have just say you, that you will met at 8:00 pm at main square, you want to continue the call and at the same tame make notation about the meeting, what to do? You will just press voice control button and you will say: new event 8:00 pm at main square. And here we go, new event has been added to you calendar.

Anyway, why is not Google working on software, which will analyze context of spoken language, so it could automatically offer options, when someone say you his number, in case of appointment and a lot of others, which could be used in combination of Google calendar, contacts and many others.

So Google, go for it!

Monday, January 25, 2010

Today`s Menu: Toast and Android

Hi and welcome to my third Android post. So long I am now on tutorial #6 from previously mentioned guide, and there are no slighter difficulties. One useful tweak I would like to talk about is class Toast in Android API.

Toast is used for displaying short messages for user. It`s main plus is, that it does not steal focus, so it is perfectly suitable to report about completed actions as: your message have been send, alarm have been set, option are saved etc.

It is defined as follows:
Toast.makeText(getApplicationContext(), "Saved!", Toast.LENGTH_SHORT).show().

First argument is just Context of current application, above which Toast should be displayed, second parameter is text of Toast itself and at last, there is parameter about duration. You could choose SHORT or LONG. Does not forgot about .show() parameter in the end, or else you will be lost as me and keep googling. Message itself has native look, so it is perfectly suitable for short messages. By now it is also for me only way to debug applications, because I am not so far by now. As soon I will come in touch with debuging, I will report as soon as possible.

Good bye for now and have some Toast. :-)

1, 2, 3 Sta... Problem

Hi and welcome to my second post about Android programming. So long, if you have followed video-tutorials from here, which I have recommended, you could face first issues with running your application right now.I have found some solutions on some problems, so let me please share this solutions with you.

In second part of video tutorial you are said to create new application and run it in android emulator. Creating application is the first problem. on screen "New Android Project" you could noticed, that there are here missing in field "Build Target" options to choose SDK version. This could be fixed bu running "SDK setup.exe" from android SDK directory and updating all required packages. There could jump out error message about unavailable connection, for me it jumped. Then under tab "Settings" check checkbox to use http instead of https. It helped me. After this restart Eclipse and create new application, now should be everything OK.

After creating application you should try to run it. I have other issue with Path Error and exactly application says "the project cannot be built until build path errors are resolved". This issue, in combination with Eclipse and is described also on android group here and it is known issue by android developers, not fixed yet. But easy solution is to menu item Project and choose Clean option. Now clean your new project. It could be run now.

Other difference between tutorials and reality is setting of emulator. On first run, you need to set up your emulator, this could be easily done by creating new instance of emulator, but be aware to choose right SDK version and proper devices. To decide which device to add look at specification of phone, which is you application intended to be run on. For me it is Google Nexus One, with specification available here.

So long about recent Android issues and I look forward for next post I could use to help you.

Sunday, January 24, 2010

Hamster Invasion, Not another B movie

Welcome to my second, first non-technical, post on my blog. This time I will share with you interesting random experience, what life brought me. Like caption whispers it will be all about hamsters today, a lot of hamsters.

One day, while visiting my girlfriend, we have been siting in her room and playing games. Unexpectedly loud noises come from hamster house, which was in her hamster cage. She was little bit afraid, because she have had pair of hamsters with female hamster little bit dominant and she used to beat male hamster. So she asked me to open their house and take her out from there. I opened house, pick the hamster and only the scream had followed. Two pink little beans were hanging from body of that tiny rodent. Another one bean had fallen down on floor and more one on first floor of cage. I don`t know, who was scared more, female hamster or girlfriend. Scream comes from one side, scared eyes of hamster from other one. I need to act quickly and fortunately I was able keep my mind calm. I have quickly put mother hamster with two babies into the house, opened cage, pick baby from first floor and put it into house, at least there was tiny problem with junior on the floor. It was so tiny, that you could almost pick it between last finger segments. Situation was successfully closed with female hamster with all four babies in house and male hamster already separated on another place.

So long about our scary birth, this situation had motivated me to little bit study about hamsters and what to do if they have child. So let me please share my knowledge now. What if my hamster gives birth to babies? [First of all search for red button with title DON`T PANIC. /joke /ref] First thing you need to do is separate male hamster from female hamster and babies. It is not required step, some of male hamsters help female feed and care about babies, but in most cases they would kill babies to copulate with female again. First rule, that you can read on every blog/fun-site is not to touch babies. But if something action-like happens to you as to me, do not hesitate and put babies into house.
In recent days after birth will be female especially nervous. I does not recommend you to touch her or open her house, she will be very angry and most likely will try to bite you. She will now more intensively than ever take care about her house or nest. I recommend you to give her a lot of stuff (pieces of toilet paper, non aromatic tissues, straw) to stuff her home. Also she need little bit change in diet. Because of the babies, she need a lot of proteins to her milk, best option is to give her mealworm, which you could buy in pet-store. Believe me, mealworms are dedicates for hamsters. Also some cheese or insects as gryllus or grasshopper will be OK. In first week babies will be blind and pink, in the end of first week also there should be sigh of fur on their skin. Also you will hear rising beeping from house. They are still blind. After second week they will start to open their eyes and female will spend less time with them. After three to four weeks they will start to come out from their house. At first mother will try to bring them back, but after few days she gives it up.
After four weeks you could separate babies from their mother. It is good to keep separated male and female babies, because they start sexually live very early, from one month to six weeks. You should avoid inbreeding, it is when close relative have babies. After separation from mother you can give them to your responsible friends, or other option is to sell them to pet-store, but you could not be sure it they would not and as snake`s lunch.

So much about hamsters and their babies. I would update my experience as they grow older.

Friday, January 22, 2010

Let`s go Android!

Just hear it (and say) about million times: "Today is the first day of my new life". No, I would not claim this today, I will rather change it a little bit, to sound like this: "Today is the first day of my new experience." Oh yes it`s an Android day.

As it is clear from this little intro in beginning, I have today begin my journey for new knowledge, knowledge about mobile application programing. Long time ago I was playing with idea to begin with programming on mobile platform, especially iPhone. But let`s ask ourself, who wont think about it? While watching this "one day millionaire" stories, and how people get rich just by developing simple application on iPhone.

But the problem was ... a lot of things. First of all (and at all) you need MacBook 1500 €, next you need iPhone 400 €, because motion control could not be tested on emulator, and last is SDK $100. Summed up it is about 2000 € and this if too much for just only try and idea. Also when I was speaking to people, who take this way, they were complaining about Apple and their policies. Long time before accepting application, problems with micro-transactions and demo applications a so much others. Honestly, now I don`t know, if Google and android has not similar problems, but at least, you can develop applications on windows and SDK is free.

Now let`s go to the point. How I have begin. At first, I have found nice collection of video tutorials here. I will follow them and write additional text to every one tutorial. At first, you need to download Java JDK, Android SDK and if you have some nice environment, then I recommend Eclipse, be sure to download Eclipse for Java Developers (not Java EE). I have also found some useful books about Android development, but about them and installation and preparations for first project we will talk later.