Home News Download Introduction Guide Install Roadmap Library NB module Tasks Scripts FAQ history

English

Karel - History


>> last release >> next release
 
State : 0803   State : 080420 State : 080512 State : 080515 State : 080521
State : 080523 State : 080527 State : 080603 State : 080703 State : 081010
State : 081028 State : 081114 State : 081208 State : 090118 State : 100616
State : 100727 State : 100926

Origin, early history and other interesting things about robot Karel you can read in Introduction for this Karel implementation. So there is my life ...

NOTE: I will translate this beginning to English later last parts are in English


State : 0803

When I saw Karel program on 8-bit computers I wanted to make own one. It is good for learning how to use divide and rule for problem solving. But I didn't have any computer for long time and I used mainframes in my job. Now I have computer, beautiful language (java) and time for my hobbies.

I wanted to learn some framework I could use as base of application for my hobby and in my job. Man can't do everything alone. It is too time-consumming and it needs some experience and skills.

I tried to use Swing Application Framework (JSR 296) which is (JSR 296) supported in NetBeans. But its functionality wasn't enaugh and API changed to next version.

NetBeans Platform offerd me great ground. It is robust, stabil. I can solve only my domain part. Even, I can create my own file-type with full support. Creating of NB modules is very good supported from version 6. I had big plans, small knowledge an experience. So very long time...

I played with the Platform, I passed through tutorials. Next Sun and JUG (Roman) aranged a good occasion - course about Platform. It was only two days without practice but I enjoyed it. I thought what I could to create as homework. All was clear in Prague but to use all in practice was more difficult.

So I joined both wishes together. I created very quickly prototype of Karel's library to wrap it and use in NB module. (I tried to find some library but nothing was suitable for me.) It was interesting process. It could be fain to describe it as experience for other. And psychoanalysts could be useful these weeks. You notice some part is bad designed. So you make refactoring. Nothing runs. Than is a break good...

However, base functionality Karel knew. Atomic commands as step, turn left, turn right, put sign, pick sign, regognized his direction and wall front of him and if there is any sign under him. He parsed sipmle scripts and executed it. He could visualise simple GUI for testing. All in English and in Czech (including commands). Later there were some problems in module testing and JUnit tests with Czech, so I put off it for this time.

I am sorry for poore graphics. I created pictures for buttons quickly in MS Paint and converted to png in a batch.

After all came long awaited point. I created Library wrapper module, Module soute and Module projects and KarelTopComponent. I added my visualization (I will it create as service in the future.), buttons and joined library functionality.

Next I created my file-types Karel .kar (by tutorial of course) and .kat (for command script and for town content) and noticed that I had wrong named TopComponent and file-type. Its right it was the first prototype to learn platform usage.

I moved projects from one computer to other, I ommited some modules I hadn't needed. There came difficulties by running and MultiView usage.

So I returned to previous closed state V0M4.


State : 080420

Library karel can write script, but NB module can't it.

Exception by Instal in target platform

java.lang.AssertionError
	at org.netbeans.TopSecurityManager.register(TopSecurityManager.java:111)
	at org.netbeans.core.execution.Install.restored(Install.java:110)
	at org.netbeans.core.startup.NbInstaller.loadCode(NbInstaller.java:419)
	at org.netbeans.core.startup.NbInstaller.load(NbInstaller.java:340)
	at org.netbeans.ModuleManager.enable(ModuleManager.java:936)
	at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:428)
	at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:364)
	at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:276)
	at org.netbeans.core.startup.Main.getModuleSystem(Main.java:174)
	at org.netbeans.core.startup.Main.start(Main.java:325)
	at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:110)
[catch] at java.lang.Thread.run(Thread.java:595)
It have happened yet
But Karel is running!

Procedure to run nbKarel :
Create (open) empty NB module project, Install it in target platform and than install both .nbm modules into this NB instance.
It's running!

TODO:


State : 080512

TODO:


State : 080515

o zobrazí dostupné příkazy v JList

TODO:

Questions

Jaký je zvyk, zkušenost nebo standard s nastavováním Action.isEnabled()? 
   1) GUI podle stavu komponent (např. zda má co spustit), popř. podle 
      listeneru na událost property "running" nastaví runAction.setEnabled. 
   2) RunAction překryje isEnabled() a bude jen testovat karel.engine.isRunning() 
      a super.isEnabled().
   3) verze 2) + poříedí si listener na změnu property "running".
  Tj. nastavuje se zvenku nebo se o sebe Action postará sama? 
   Podle mě se musí Action postarat sama - 3). 
   Made


State : 080521

TODO:

roadmap:


State : 080523


State : 080527

MADE

BUGS:

  1. Recursion does not work.
    It will be better make it after adding max deep or nesting property.
  2. Syntax coloring of CMDNAME4 is wrong - repaired.
  3. Application has not its icon and splash.
  4. Application size is 63 MB because of ommitting of unnecessary modules is dificult (dependencies).
  5. Command list is not sorted. Why?

Syntax coloring and code completion is made via Manifest syntax coloring sample. Schlieman will be tested later - it overwrote all till this time implemented features.

TODO:


State : 080603

MADE

BUGS:

  1. Output window covers script textarea.
    But command list will be moved to navigation area.
  2. Application size is 63 MB because of ommitting of unnecessary modules is dificult (dependencies).

Syntax coloring and code completion is made via Manifest syntax coloring sample. Schlieman will be tested later - it overwrote all till this time implemented features.

TODO:


State : 080703

Dificulties by commands tree programming.
Tree with commands is not refreshed when Main top component gets focus. It is handled by global listener but it doesn't work.

Application (karlik) can not open files. It needs Java Project modules.

MADE

BUGS:

  1. Output window covers script textarea.
    But command list will be moved to navigation area.
  2. Wrong icons of commands.

Syntax coloring and code completion is made via Manifest syntax coloring sample. Schlieman will be tested later - it overwrote all till this time implemented features.

TODO:


State : 081010

Release 2008-10-10 for downloads.

I began new stage with my Karel's developing:

MADE

BUGS:

  1. File-type support is not used to open/save sources to illustrate simple implementation of actions.
  2. Karel don't propagate changes of runState property.
  3. TownPanel does not change its size if town is reloading to the bigger.

TODO:


State : 081028

Release 2008-10-28 for downloads.

I began tutorial writing. First three lessons introduce basics of NB programming to the reader. It has not been published yet. Contents:

Mercurial repository was added (2008-10-30) on

https://kenai.com/hg/karelnb~mercurial

MADE

BUGS:

  1. File-type support is not used to open/save sources to illustrate simple implementation of actions.

TODO:


State : 081114

State : 081208

State : 090118


State : 100616

TODO:


State : 100727

TODO:

Next release

Last informations


State : 100926

Desperade experiments and searches went to success. NetBeans Lexer works using ANTLR lexer by syntax coloring. Antlr lexer knows different languages but NetBeans lexer must get Locale as a parameter or it has to set language itself by file name or lang keyword in the first commented line. Otherwise it gets Locale.getDefault() locale.

Now I will continue working on Parser and using AST generated by ANTLR.

TODO message about uploading. I expose soures as a zip-file only because I am not able to upload sources to ¨mercurial work repository by SSH. See according to time.


Thank to SourceForge.net Logo Reports send to : silhanek (at) users.sourceforge.net RSS Home to top   TOPlist count