JaroslavTulach: /* Matisse Example */ - 2011-02-21 08:06:37

Matisse Example

←Older revision Revision as of 08:06, 21 February 2011
Line 90: Line 90:
{{#ev:bliptv|4804988}}
{{#ev:bliptv|4804988}}
-
The basic trick is to generate repeatable initialization code for each form. Then, on each upload of new version of the form, we just need to run this re-initialization code again. The whole thing is relatively simple, yet very powerful as the screencast hopefully shows (regardless of few confused comments I had during recording it).
+
The basic trick is to generate repeatable initialization code for the form class. Then, on each upload of new version of the class, one just needs to run this re-initialization code again for all instances of the form. The whole thing is relatively [[wikipedia:Egg_of_Columbus|simple]](!?), yet very powerful as the screencast hopefully shows (regardless of few confused comments I made during the recording).
== Ready for [[Hotswap]]ping? ==
== Ready for [[Hotswap]]ping? ==

JaroslavTulach: /* Matisse Example */ - 2011-02-21 08:04:11

Matisse Example

←Older revision Revision as of 08:04, 21 February 2011
Line 86: Line 86:
== Matisse Example ==
== Matisse Example ==
-
Here is a screencast video showing how the [[hotswap]] friendly code can look like for a desktop application. The whole work ([http://ssw.jku.at/dcevm/ DCEVM]] and also patch for [[NetBeans]] Matisse GUI builder) has been done by [[Thomas Wuerthinger|Thomas]] and his [[Linz]] university colleagues. I just recorded the screencast.
+
Here is a screencast video showing how the [[hotswap]] friendly code can look like for a desktop application. The whole work ([http://ssw.jku.at/dcevm/ DCEVM] and also patch for [[NetBeans]] Matisse GUI builder) has been done by [[Thomas Wuerthinger|Thomas]] and his [[Linz]] university colleagues. I just recorded the screencast.
{{#ev:bliptv|4804988}}
{{#ev:bliptv|4804988}}

JaroslavTulach at 08:03, 21 February 2011 - 2011-02-21 08:03:35

←Older revision Revision as of 08:03, 21 February 2011
Line 105: Line 105:
<comments/>
<comments/>
 +
 +
[[Category:Video]] [[Category:Tools]]

JaroslavTulach: /* Matisse Example */ - 2011-02-19 21:35:10

Matisse Example

←Older revision Revision as of 21:35, 19 February 2011
Line 86: Line 86:
== Matisse Example ==
== Matisse Example ==
-
[[TBD]]: A video showing [[hotswap]]pable matisse will appear here during January 2011 (I guess we cannot make the deadline now, Thomas co-workers are working like students like to do...)
+
Here is a screencast video showing how the [[hotswap]] friendly code can look like for a desktop application. The whole work ([http://ssw.jku.at/dcevm/ DCEVM]] and also patch for [[NetBeans]] Matisse GUI builder) has been done by [[Thomas Wuerthinger|Thomas]] and his [[Linz]] university colleagues. I just recorded the screencast.
{{#ev:bliptv|4804988}}
{{#ev:bliptv|4804988}}
 +
 +
The basic trick is to generate repeatable initialization code for each form. Then, on each upload of new version of the form, we just need to run this re-initialization code again. The whole thing is relatively simple, yet very powerful as the screencast hopefully shows (regardless of few confused comments I had during recording it).
== Ready for [[Hotswap]]ping? ==
== Ready for [[Hotswap]]ping? ==

JaroslavTulach: /* Matisse Example */ - 2011-02-19 21:15:06

Matisse Example

←Older revision Revision as of 21:15, 19 February 2011
Line 88: Line 88:
[[TBD]]: A video showing [[hotswap]]pable matisse will appear here during January 2011 (I guess we cannot make the deadline now, Thomas co-workers are working like students like to do...)
[[TBD]]: A video showing [[hotswap]]pable matisse will appear here during January 2011 (I guess we cannot make the deadline now, Thomas co-workers are working like students like to do...)
-
{{#ev:bliptv|AYKlo2AA}}
+
{{#ev:bliptv|4804988}}
== Ready for [[Hotswap]]ping? ==
== Ready for [[Hotswap]]ping? ==

JaroslavTulach: /* Matisse Example */ - 2011-02-19 16:07:45

Matisse Example

←Older revision Revision as of 16:07, 19 February 2011
Line 87: Line 87:
[[TBD]]: A video showing [[hotswap]]pable matisse will appear here during January 2011 (I guess we cannot make the deadline now, Thomas co-workers are working like students like to do...)
[[TBD]]: A video showing [[hotswap]]pable matisse will appear here during January 2011 (I guess we cannot make the deadline now, Thomas co-workers are working like students like to do...)
 +
 +
{{#ev:bliptv|AYKlo2AA}}
== Ready for [[Hotswap]]ping? ==
== Ready for [[Hotswap]]ping? ==

Apidesign: /* Ready for Hotswapping? */ - 2011-02-17 06:13:30

Ready for Hotswapping?

←Older revision Revision as of 06:13, 17 February 2011
Line 94: Line 94:
True [[Hotswap]] is a must for every developer. It improves development habbits rapidly, speeds up edit/try cycle. Now when [[Thomas Würthinger|Thomas]] improved the [[JDK]], and the [[hotswap]] really works in 99% of cases, I can't imagine living without it. Now it is easier to change any class in my program than to modify content of ''Bundle.properties'' (surprisingly this observation expands to whole [[Javeleon|separate topic]])! Improve your [[JDK]] too: http://ssw.jku.at/dcevm/
True [[Hotswap]] is a must for every developer. It improves development habbits rapidly, speeds up edit/try cycle. Now when [[Thomas Würthinger|Thomas]] improved the [[JDK]], and the [[hotswap]] really works in 99% of cases, I can't imagine living without it. Now it is easier to change any class in my program than to modify content of ''Bundle.properties'' (surprisingly this observation expands to whole [[Javeleon|separate topic]])! Improve your [[JDK]] too: http://ssw.jku.at/dcevm/
-
Do you want to [[hotswap]] components in production systems? Only after a heavy testing. There is so many things that can go wrong! Our current languages are not ready to write [[hotswap]]-ready code. One cannot rely on [[cluelessness]], one needs to think a lot. The chances this could improve in future are not high, imho. Even functional languages are unlikely to help (as they loose track of what has been computed so far). I guess only [[Prolog]] could provide reliable way of coding [[hotswap]]pable programs (as it usually keeps backtracking history of computation and could recompute all the parts of execution affected by the changed rule). However as not many production systems are written in [[Prolog]] the chances are high, massive use of [[hotswap]] will always be limited in production and people will rather find other ways (like [[virtualization]]) to allow them reach high availablity.
+
Do you want to [[hotswap]] components in production systems? Only after a heavy testing. There is so many things that can go wrong! Our current languages are not ready to write [[hotswap]]-ready code. One cannot rely on [[cluelessness]], one needs to think a lot (or limit oneself to small changes). Perhaps people will start changing their coding style just to get those live updates into the running system. [[Javeleon]]'s Allan hopes they will not! However I still believe people have to adjust the coding habits somehow to reach the ultimate [[hotswap]] nirvana. Either they need to be able to undo already executed computations (like in [[Prolog]]) or all your actions needs to be repeatable (like rebuilding UI of a component or serving a web page). Not all code we write in [[Java]] these days falls into these two categories.
 +
 
 +
The chances this could improve in future are not high, imho. Even functional languages are unlikely to help (as they loose track of what has been computed so far). I guess only [[Prolog]] could provide reliable way of coding [[hotswap]]pable programs (as it usually keeps backtracking history of computation and could recompute all the parts of execution affected by the changed rule). However as not many production systems are written in [[Prolog]] the chances are high, massive use of [[hotswap]] will always be limited in production and people will rather find other ways (like [[virtualization]]) to allow them reach high availablity.
[[Hotswap]] for production is dead! Long live [[Hotswap]] for development!
[[Hotswap]] for production is dead! Long live [[Hotswap]] for development!
<comments/>
<comments/>

Apidesign: /* Ready for Hotswapping? */ - 2011-02-14 11:16:23

Ready for Hotswapping?

←Older revision Revision as of 11:16, 14 February 2011
Line 92: Line 92:
[[Hotswap]] or not? That is the question. The answer depends on what you want to use [[hotswap]] for.
[[Hotswap]] or not? That is the question. The answer depends on what you want to use [[hotswap]] for.
-
True [[Hotswap]] is a must for every developer. It improves development habbits rapidly, speeds up edit/try cycle. Now when [[Thomas Würthinger|Thomas]] improved the [[JDK]], and the [[hotswap]] really works in 99% of cases, I can't imagine living without it. Now it is easier to change any class in my program than to modify content of ''Bundle.properties''! Improve your [[JDK]] too: http://ssw.jku.at/dcevm/
+
True [[Hotswap]] is a must for every developer. It improves development habbits rapidly, speeds up edit/try cycle. Now when [[Thomas Würthinger|Thomas]] improved the [[JDK]], and the [[hotswap]] really works in 99% of cases, I can't imagine living without it. Now it is easier to change any class in my program than to modify content of ''Bundle.properties'' (surprisingly this observation expands to whole [[Javeleon|separate topic]])! Improve your [[JDK]] too: http://ssw.jku.at/dcevm/
Do you want to [[hotswap]] components in production systems? Only after a heavy testing. There is so many things that can go wrong! Our current languages are not ready to write [[hotswap]]-ready code. One cannot rely on [[cluelessness]], one needs to think a lot. The chances this could improve in future are not high, imho. Even functional languages are unlikely to help (as they loose track of what has been computed so far). I guess only [[Prolog]] could provide reliable way of coding [[hotswap]]pable programs (as it usually keeps backtracking history of computation and could recompute all the parts of execution affected by the changed rule). However as not many production systems are written in [[Prolog]] the chances are high, massive use of [[hotswap]] will always be limited in production and people will rather find other ways (like [[virtualization]]) to allow them reach high availablity.
Do you want to [[hotswap]] components in production systems? Only after a heavy testing. There is so many things that can go wrong! Our current languages are not ready to write [[hotswap]]-ready code. One cannot rely on [[cluelessness]], one needs to think a lot. The chances this could improve in future are not high, imho. Even functional languages are unlikely to help (as they loose track of what has been computed so far). I guess only [[Prolog]] could provide reliable way of coding [[hotswap]]pable programs (as it usually keeps backtracking history of computation and could recompute all the parts of execution affected by the changed rule). However as not many production systems are written in [[Prolog]] the chances are high, massive use of [[hotswap]] will always be limited in production and people will rather find other ways (like [[virtualization]]) to allow them reach high availablity.

94.113.131.113: /* Matisse Example */ - 2011-01-31 22:42:36

Matisse Example

←Older revision Revision as of 22:42, 31 January 2011
Line 86: Line 86:
== Matisse Example ==
== Matisse Example ==
-
[[TBD]]: A video showing [[hotswap]]pable matisse will appear here during January 2011.
+
[[TBD]]: A video showing [[hotswap]]pable matisse will appear here during January 2011 (I guess we cannot make the deadline now, Thomas co-workers are working like students like to do...)
== Ready for [[Hotswap]]ping? ==
== Ready for [[Hotswap]]ping? ==

JaroslavTulach: /* Matisse Example */ - 2010-12-26 09:50:03

Matisse Example

←Older revision Revision as of 09:50, 26 December 2010
Line 86: Line 86:
== Matisse Example ==
== Matisse Example ==
-
[[TBD]]: Here will be a video showing [[hotswap]]pable matisse.
+
[[TBD]]: A video showing [[hotswap]]pable matisse will appear here during January 2011.
== Ready for [[Hotswap]]ping? ==
== Ready for [[Hotswap]]ping? ==