HPAPIFest09
From APIDesign
(8 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
- | One of the winners of [[APIFest08]], [[PetrSmid|Petr Šmíd]], | + | One of the winners of [[APIFest08]], [[PetrSmid|Petr Šmíd]], fulfilled his promise and really organized similar content for Prague's [[wikipedia::HP|HP]] development center, originally founded as [[wikipedia::Systinet|Systinet]]. Here is the twelve brave ones: |
[[Image:HPAPIFest09.png]] | [[Image:HPAPIFest09.png]] | ||
- | The competition finished last week | + | The competition finished last week. On Friday Mar 6, 2009 I had the pleasure to be present to final ceremony. I was pleased to see the first API Fest organized without me. I am glad that the game is making its baby steps towards conquering the developer's world. |
- | I was also amazed that twelve people really participated in the final ''judgement'' round - the round when you not just design, but spend time looking for flaws in solutions done by | + | I was also amazed that twelve people really participated in the final ''judgement'' round - the round when you not just design, but spend time looking for flaws in solutions done by others. In the previous competitions (like [[APIFest08]] or the one described in [[Using_Games_to_Improve_API_Design_Skills|Chapter 17]]), most of the people had just enjoyed the design phases, and then gave up. Congratulations to [[wikipedia::HP|HP]] for having so dedicated and enthusiastic engineers! |
- | Most of the solutions had some kind of [[API]] [[BackwardCompatibility]] bug. As such it was not hard to break them. However one of the solutions, solution 9, seemed unbreakable. Still the competitors did not give up and decided to find ways | + | Most of the solutions had some kind of [[API]] [[BackwardCompatibility]] bug. As such it was not hard to break them. However one of the solutions, solution 9, seemed unbreakable. Still the competitors did not give up and decided to find ways to break it. Excellent attitude! |
+ | However the competition immediately turned from practical contest into ''extreme hackers fight'' - slightly disconnected from reality, but still very interesting. At least very interesting to me, as it revealed new [[APITypes]] that I did not consciously understand before. Did you know following is a form of [[API]]? | ||
+ | |||
+ | * [[IdentityCheck]] | ||
* [[StringsUsedInConstantPool]] | * [[StringsUsedInConstantPool]] | ||
* [[MemoryAllocations]] | * [[MemoryAllocations]] | ||
+ | * Behavior of Date.clone as practiced at [[Ostrava]] JUG | ||
* [[AsymptoticComplexity]] | * [[AsymptoticComplexity]] | ||
* [[MultiThreadedAccess]] | * [[MultiThreadedAccess]] | ||
- | Surprised? Disagreeing? Well, I was too, for a while. In our common development, it is really extreme to consider this program aspects to be real parts of [[API]]s of our libraries. Yet in some special environments, like [[Real_time_Java|real time java]], these ''little details'' may play enormously important role. It is good to remind us of | + | Surprised? Disagreeing? Well, I was too, for a while. In our common development, it is really extreme to consider this program aspects to be real parts of [[API]]s of our libraries. Yet in some special environments, like [[wikipedia::Real_time_Java|real time java]], these ''little details'' may play enormously important role. It is good to remind us of their importance from time to time. |
+ | |||
+ | For other interesting incompatibilities found by participants see [[Media:ApiFest2009En.pdf|presentation]]. | ||
Thanks [[PetrSmid|Petr Šmíd]] for organizing the contest! Thank you all dear participants of [[HPAPIFest09]] for your inspiring solutions. Good luck using your [[API]] Fest skills in real life! | Thanks [[PetrSmid|Petr Šmíd]] for organizing the contest! Thank you all dear participants of [[HPAPIFest09]] for your inspiring solutions. Good luck using your [[API]] Fest skills in real life! |
Current revision
One of the winners of APIFest08, Petr Šmíd, fulfilled his promise and really organized similar content for Prague's HP development center, originally founded as Systinet. Here is the twelve brave ones:
The competition finished last week. On Friday Mar 6, 2009 I had the pleasure to be present to final ceremony. I was pleased to see the first API Fest organized without me. I am glad that the game is making its baby steps towards conquering the developer's world.
I was also amazed that twelve people really participated in the final judgement round - the round when you not just design, but spend time looking for flaws in solutions done by others. In the previous competitions (like APIFest08 or the one described in Chapter 17), most of the people had just enjoyed the design phases, and then gave up. Congratulations to HP for having so dedicated and enthusiastic engineers!
Most of the solutions had some kind of API BackwardCompatibility bug. As such it was not hard to break them. However one of the solutions, solution 9, seemed unbreakable. Still the competitors did not give up and decided to find ways to break it. Excellent attitude!
However the competition immediately turned from practical contest into extreme hackers fight - slightly disconnected from reality, but still very interesting. At least very interesting to me, as it revealed new APITypes that I did not consciously understand before. Did you know following is a form of API?
- IdentityCheck
- StringsUsedInConstantPool
- MemoryAllocations
- Behavior of Date.clone as practiced at Ostrava JUG
- AsymptoticComplexity
- MultiThreadedAccess
Surprised? Disagreeing? Well, I was too, for a while. In our common development, it is really extreme to consider this program aspects to be real parts of APIs of our libraries. Yet in some special environments, like real time java, these little details may play enormously important role. It is good to remind us of their importance from time to time.
For other interesting incompatibilities found by participants see presentation.
Thanks Petr Šmíd for organizing the contest! Thank you all dear participants of HPAPIFest09 for your inspiring solutions. Good luck using your API Fest skills in real life!