tag:blogger.com,1999:blog-85288458647288008112024-03-06T08:54:18.626+03:00Ahmed AshourAhmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.comBlogger22125tag:blogger.com,1999:blog-8528845864728800811.post-54241999012790072172011-07-31T10:46:00.003+03:002011-07-31T10:49:31.105+03:00Java 7 is releasedOh, finally! After almost 5 years, a new Java version has been released.<br /><br />There are some <a href="http://download.oracle.com/javase/7/docs/technotes/guides/language/enhancements.html#javase7">language enhancements</a>, my preferred ones are "Strings in switch Statements" and "try-with-resources Statement".<br /><br />Next time, i hope we have a much shorter release time.<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-42998899297251605672010-10-22T10:10:00.002+03:002010-10-22T10:22:01.416+03:00Remote System Explorer in EclipseI wonder when I will stop being impressed by Eclipse, today I just found out a plugin that allows remote connections to various systems (Unix/Linux/Windows/SSH/FTP/Telnet).<br /><br />It is called <a href="http://www.eclipse.org/dsdp/tm/">Target Management (Remote System Explorer)</a>, and is part of Device Software Development Platform.<br /><br />From my Windows machine, I used to have three different tools: one for remote shell, another for remote SFTP, and a third for remote file editing (without local download, edit and remote upload). All are now available inside your favourite IDE.<br /><br />Eclipse, you simply rock!<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-90239625261256664512010-08-11T16:55:00.004+03:002010-08-11T17:28:11.761+03:00Google Arabia Jobs!Without question, Google is one of the <a href="http://money.cnn.com/magazines/fortune/bestcompanies/2010/full_list/">most attractive companies to work for</a>, enough to say you would interact with very brilliant brains, and <a href="http://googleblog.blogspot.com/2006/05/googles-20-percent-time-in-action.html">20 percent of work time</a> is allocated to investigate your brightest idea!<br /><br />Google seems to be <a href="http://jobs.google.com/">always searching</a>, and Google Arabia is also <a href="http://google-arabia.blogspot.com/2010/06/were-hiring.html">hiring</a>.<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com2tag:blogger.com,1999:blog-8528845864728800811.post-26502408607358547562010-08-06T16:43:00.003+03:002010-08-06T16:58:18.253+03:00HtmlUnit 2.8 is finally releasedA new version of the <a href="http://htmlunit.sourceforge.net/">GUI-less browser</a> with significant enhancements is now available.<br /><br />The most important features are:<br /><ul><br /><li>Single thread for background JavaScript execution</li><br /><li>Large (binary) download</li><br /><li>Can be used on <a href="http://code.google.com/appengine/">Google App Engine</a></li><br /><li>Support for SOCKS proxy (even at request-level)</li><br /><li>Migration to HttpClient 4</li><br /><li>And as usual, various <a href="http://htmlunit.sourceforge.net/changes-report.html#a2.8">bug fixes</a></li></ul><br /><p>You can download it <a href="https://sourceforge.net/projects/htmlunit/files/">here</a>, enjoy!</p><div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com2tag:blogger.com,1999:blog-8528845864728800811.post-18685303426141386302010-07-01T13:35:00.001+03:002010-07-01T13:36:02.741+03:00Java 4-ever Trailer<object style="background-image:url(http://i4.ytimg.com/vi/cftPHrLxHaQ/hqdefault.jpg)" width="425" height="344"><param name="movie" value="http://www.youtube.com/v/cftPHrLxHaQ&hl=en_US&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/cftPHrLxHaQ&hl=en_US&fs=1" width="425" height="344" allowScriptAccess="never" allowFullScreen="true" wmode="transparent" type="application/x-shockwave-flash"></embed></object><div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-18689878986315948952010-05-12T10:00:00.003+03:002010-05-12T11:10:13.804+03:00Facebook and Zynga!It is interesting to see how the relation of two giants can reach to.<br /><br />The biggest social network, and its largest gaming company are not agreeing, with aggressive actions from Facebook, which I think didn't consider millions of users who login to Facebook just for gaming.<br /><br />Have a look at <a href="http://www.itproportal.com/portal/news/article/2010/5/10/zynga-set-launch-own-gaming-property">this article</a>.<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-46617059965826539322009-09-04T13:26:00.003+03:002009-09-04T13:32:29.618+03:00HtmlUnit 2.6 is out<div>It is always a pleasure to announce a new release of <a href="http://htmlunit.sourceforge.net/">HtmlUnit</a>.<br /><br />The main enhancements of this release: <br /><ul><br /><li>Use cache for all kinds of (cacheable) content</li><br /><li>Fix many issues with (de)serialization</li><br /><li>Add a mechanism to save complete page along with images</li><br /><li>Add support for Proxy Auto-Config</li><br /><li>Better support for XHTML pages</li><br /><li>And as usual, various bug fixes</li></ul><br /><p>You can download it <a href="https://sourceforge.net/projects/htmlunit/files/">here</a>, enjoy!</p></div><div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com8tag:blogger.com,1999:blog-8528845864728800811.post-20462553395844020632009-08-30T14:13:00.001+03:002009-08-30T14:15:31.027+03:00The Pontiac that was Allergic to Vanilla Ice CreamFor the engineers among us who understand that the obvious is not always the solution, and that the facts, no matter how implausible, are still the facts ...<br /><br />A complaint was received by the Pontiac Division of General Motors:<br />"This is the second time I have written you, and I don't blame you for not answering me, because I kind of sounded crazy, but it is a fact that we have a tradition in our family of ice cream for dessert after dinner each night. But the kind of ice cream varies so, every night, after we've eaten, the whole family votes on which kind of ice cream we should have and I drive down to the store to get it. It's also a fact that I recently purchased a new Pontiac and since then my trips to the store have created a problem. You see, every time I buy vanilla ice cream, when I start back from the store my car won't start. If I get any other kind of ice cream, the car starts just fine. I want you to know I'm serious about this question, no matter how silly it sounds: 'What is there about a Pontiac that makes it not start when I get vanilla ice cream, and easy to start whenever I get any other kind?'"<br /><br />The Pontiac President was understandably skeptical about the letter, but sent an engineer to check it out anyway. The latter was surprised to be greeted by a successful, obviously well-educated man in a fine neighborhood. He had arranged to meet the man just after dinner time, so the two hopped into the car and drove to the ice cream store. It was vanilla ice cream that night and, sure enough, after they came back to the car, it wouldn't start.<br /><br />The engineer returned for three more nights. The first night, the man got chocolate. The car started. The second night, he got strawberry. The car started. The third night he ordered vanilla. The car failed to start.<br /><br />Now the engineer, being a logical man, refused to believe that this man's car was allergic to vanilla ice cream. He arranged, therefore, to continue his visits for as long as it took to solve the problem. And toward this end he began to take notes: he jotted down all sorts of data, time of day, type of gas used, time to drive back and forth, etc.<br /><br />In a short time, he had a clue: the man took less time to buy vanilla than any other flavor. Why? The answer was in the layout of the store.<br /><br />Vanilla, being the most popular flavor, was in a separate case at the front of the store for quick pickup. All the other flavors were kept in the back of the store at a different counter where it took considerably longer to find the flavor and get checked out.<br /><br />Now the question for the engineer was why the car wouldn't start when it took less time. Once time became the problem -- not the vanilla ice cream -- the engineer quickly came up with the answer: vapor lock. It was happening every night, but the extra time taken to get the other flavors allowed the engine to cool down sufficiently to start. When the man got vanilla, the engine was still too hot for the vapor lock to dissipate.<br /><br />Moral of the story: even insane-looking problems are sometimes real.<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com1tag:blogger.com,1999:blog-8528845864728800811.post-7770891338277960442009-07-20T18:36:00.004+03:002009-07-23T18:07:28.919+03:00Eclipse Galileo Property Testers complete listDuring extending Eclipse, you may encounter <a href="http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_core_expressions_propertyTesters.html">Property Testers</a>, for example in <a href="http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/debug_launch_uishortcuts.htm">Launch shortcuts</a> extension point.<br /><br />I wanted to have a list of all Property Testers already defined, in order not to reinvent the wheel. A small program was made to list all testers found in a specified Eclipse folder.<br /><br />For reference, Galileo Property Testers are:<br /><br /><span style="font-family:courier new;">buildpathReference, contextlaunch, extendsClass, extendsInterface, hasMethod, hasMethodWithAnnotation, hasProjectNature, hasTypeWithAnnotation, isContainer, isPackageFragment, isPackageFragmentRoot, matchesContentType, projectNature, areBreakpointTypesAvailable, bundleState, canCreateWatchExpression, canLaunchAsJUnit, consoleTypeTest, contentGenerator, contentTypeId, done, editable, extension, fileMarker, getAvailableBreakpointType, getModelIdentifier, hasFilters, hasGroups, hasMain, hasTypeOnClasspath, inArchive, inExternalArchive, inSourceFolder, isActivityEnabled, isBundleInstalled, isCategoryEnabled, isInJavaProject, isInJavaProjectWithNature, isManaged, isMultiStrata, isOnClasspath, isPerspectiveOpen, isTerminatedOrDisconnected, isTest, languageName, launchable, matchesPattern, message, name, open, path, persistentProperty, priority, processTypeTest, product, projectNature, projectOption, projectPersistentProperty, projectSessionProperty, quickFix, readOnly, refactoringPropertiesEnabled, resourceType, reuseEditor, sessionProperty, severity, superType,</span> and <span style="font-family:courier new;">type</span>.<br /><br />You can also list the associated namespace, type, class, and jar or folder location using the snippet <a href="http://snippets.dzone.com/posts/show/7624">here</a>.<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-932795558898624642009-06-24T13:55:00.005+03:002009-06-24T16:26:15.716+03:00Eclipse Galileo is outEclipse team releases at committed date, always! This year, Eclipse 3.5 version contains 33 projects.<br /><br />As you would expect, it contains various enhancements and new features, I think below are the most important ones:<br /><ul><li>PHP Package: another major language added to the constellations</li><br /><li>Memory Analyser: a java heap analyzer to easily find memory leaks</li><br /><li>Xtext: you define your own 'language', and a parser and IDE editor are created for you</li><br /></ul><br />Enjoy the best IDE <a href="http://www.eclipse.org/">here</a>.<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-11608741198639792032009-06-21T20:24:00.004+03:002009-06-21T20:56:43.940+03:00HtmlUnit now supports Proxy Auto-ConfigA previously requested feature, <a href="http://en.wikipedia.org/wiki/Proxy_auto-config">Proxy Auto-Config</a>, is now supported in the latest snapshot of <a href="http://htmlunit.sourceforge.net/">HtmlUnit</a>.<br /><br />As testing requires proxy server with related configurations, the team appreciates testing the feature in the wild.<br /><br />You can get latest snapshot from <a href="http://build.canoo.com/htmlunit/artifacts">here</a>.<br /><br />The typical usage is <code>webClient.getProxyConfig().setProxyAutoConfigUrl("http://proxy_auto_config.url");</code><br /><br />As always, enjoy!<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-79620544729545472172009-06-11T05:39:00.004+03:002009-06-21T20:57:16.626+03:002009 JavaOne HtmlUnit technical session online content2009 JavaOne conference website now has the online version of the technical session "HtmlUnit: An Efficient Approach to Testing Web Applications TS-4238", which was presented by <a href="http://daniel.gredler.net/">Daniel Gredler</a> and I.<br /> <br />You can view the PDF presentation <a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-4238&yr=2009&track=soa">here</a>.<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-19585798695037325032009-06-06T05:03:00.004+03:002009-06-06T05:45:57.753+03:00James Gosling's Toy ShowAs JavaOne has finished, I guess the best general session was the last one. James Gosling really brought some nice ideas:<br /><br /><ul><li>Reading the data from Wii Remote camera and control projector image accordingly</li><br /><li>Open source microfinance web application that helps the needy in undeveloped countries (<a href="http://www.mifos.org/">mifos.org</a>)</li><br /><li>Seriously agressive image analysis, that has medical usage</li><br /><li>Football robots done by high school teams</li><br /><li>A printer application that automatically marks the answer sheets, done by two Hungarian students</li><br /><li>Satellite stations monitoring</li><br /><li>Other cool stuff</li><br /></ul><br />If you haven't already, watch <a href="http://java.sun.com/javaone/2009/playlist.jsp?pid=24589760001&autoStart=on">this</a>.<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-20548686970503543312009-06-02T00:45:00.003+03:002009-06-02T16:33:05.300+03:00A Mother's LetterDear Son,<br /><br /><div align="justify"> Just a few lines to let you know that I am still alive. I am writing this slowly because I know you can't read fast. You won't know the house when you come home, we've moved.<br /><br /> About your father, he has got a lovely new job. He has 500 men under him, he cuts grass at the cemetery. Your sister Mary had a baby this morning. I haven't found out yet whether it's a boy or a girl, so I don't know if you're an aunt or an uncle.<br /><br /> I went to the doctor's on Thursday and your father came with me. The doctor put a small tube in my mouth and told me not to talk for 10 minutes. Your father offered to buy it from him.<br /><br /> Your uncle Patrick drowned last week in a vat of Irish whiskey at the Dublin brewery. Some of his workmates tried to save him but he fought them off bravely. They cremated him and it took 3 days to put the fire out.<br /><br /> It only rained twice this week, first for 3 days then for 4 days. We had a letter from the undertaker. He said that if the last payment on your grandmother's plot wasn't paid in 7 days, up she comes.</div><br /><br /><div align="right">Your loving mother</div><br /><br /><div align="justify">P.S. I was going to send you 5 pounds, but I have already sealed the envelope.</div><div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com1tag:blogger.com,1999:blog-8528845864728800811.post-64458756443987022372009-05-27T13:17:00.003+03:002009-05-27T13:23:52.490+03:00Microsoft First Keynote in JavaOneInteresting to know that Microsoft will have a general session for the first time in JavaOne, hope this will break the ice between Java and .NET.<br /><br />I won't definitely miss the session ;-)<br /><br />More details are <a href="http://www.pcworld.com/article/165432/microsoft_to_give_its_first_javaone_keynote.html">here</a>.<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-39366330803374996922009-05-25T13:43:00.003+03:002009-05-25T13:50:04.084+03:00Don't copy if you can't paste!A popular motivational speaker was entertaining his audience.<br />He Said: "The best years of my life were spent in the arms of a woman who wasn't my wife!" The audience was in silence and shock. The speaker added: "And that woman was my mother!"<br />Laughter and applause.<br /><br />A week later, a top manager trained by the motivational speaker tried to crack this very effective joke at home. He was a bit foggy after a drink. He said loudly to his wife who was preparing dinner, "The greatest years of my life were spent in the arms of a woman who was not my wife!" <br /><br />The wife went; "ah!" with shock and rage. Standing there for 20 seconds trying to recall the second half of the joke, the manager finally blurted out "....and I can't remember who she was!"<br /> <br />By the time the manager regained his consciousness, he was on a hospital bed nursing burns from boiling water.<br /> <br />Moral of the story:<br /><strong>Don't copy if you can't paste!</strong><div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-21004384661012138502009-04-25T13:35:00.013+03:002009-04-27T17:50:59.037+03:00Who said fitness isn't fun?After 10 years, the only thing I strongly recall from the study of the physiology of the respiratory system, is that people are classified into two groups: athlete and non-athlete. It was so repeated whenever a function of that system is discussed.<br /><br />However, even if you know, it doesn't mean you will comply. Sedentary lifestyle is one of the main points I personally suffered from, and doing exercise outdoors or indoors isn't much fun.<br /><br />That was till someone brought a game to play to one of the company's social activities; there is no joystick, you ARE the control of the game; if you want to move forward, you actually have to bend forward, and so on.<br /><br />One day later, I was configuring the game at home, and I was amazed by how the remote control works, it is like no other: when you actually move the remote to the right, it is like PC mouse that works on-air!<br /><br />One week later, I am very pleased that you can play Yoga, Balance Games, and Aerobics till you are physically tired, not because you spend too much time staring at the monitor and playing with the traditional joystick.<br /><br /><img alt="Wii Fit" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbMaD2w8FM39deC4zMKBZcDB_u3lCVpSQVxjCrA9CBOluwoUObdWdICmoNJTnAFqDFVDCudyCjUET6ILg6b_kmITNzwwFXUs0GNuiok1mys_Q_2FRzbUKijanDdL7xku8uYFXeUs1P4jn0/s200/wii-fit.PNG" border=0>, I love you!<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com2tag:blogger.com,1999:blog-8528845864728800811.post-27767026441439490832009-04-22T12:07:00.002+03:002009-04-22T13:06:07.603+03:00HtmlUnit 2.5 is outIt is a pleasure to announce the new release of <a href="http://htmlunit.sourceforge.net/">HtmlUnit</a>, the GUI-Less java browser, which adds to the continuous improvements there.<br /><br />The main enhancements of this release:<br /><ul><li>Improved JavaScript support, particularly full support for <a href="http://mootools.net/">MooTools</a>, adding to already supported <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a>, <a href="http://jquery.com/">jQuery</a>, <a href="http://mochikit.com/">Mochikit</a> and <a href="http://sarissa.sourceforge.net/">Sarissa</a></li><li>Repackaged <a href="http://www.mozilla.org/rhino/">Rhino</a> classes to allow the use of HtmlUnit and a regular Rhino version in the same project</li><li>Support all HTML elements</li><li>Experimental <a href="http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/WebClient.html#waitForBackgroundJavaScript(long)">WebClient.waitForBackgroundJavaScript()</a> and <a href="http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/WebClient.html#waitForBackgroundJavaScriptStartingBefore(long)">WebClient.waitForBackgroundJavaScriptStartingBefore()</a> for simple, fast and deterministic AJAX testing</li><li>Reworked handling of background JavaScript tasks using Java 5 executors</li><li>And as usual, various <a href="http://htmlunit.sourceforge.net/changes-report.html#a2.5">bug fixes</a></li></ul><p>You can download it <a href="https://sourceforge.net/project/showfiles.php?group_id=47038">here</a>, enjoy!</p><div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com2tag:blogger.com,1999:blog-8528845864728800811.post-39800375797156900512009-04-08T11:48:00.003+03:002009-04-08T12:04:12.298+03:00Java on Google App EngineExciting news: Google just announced the Java support for App Engine (in addition to Python), now you can host it in Google servers.<br /><br />Java support is not very complete, but it is a good time to start building your applications.<br /><br />You can read more information at <a href="http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html">App Engine Blog</a>.<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-82504008567778581282008-12-31T10:16:00.007+03:002008-12-31T12:08:21.367+03:00HtmlUnit 2.4 is out<span class="Apple-style-span" style="font-family:arial;">Happy New Year everyone! </span><br /><span class="Apple-style-span" style="font-family:arial;"></span><br /><span class="Apple-style-span" style="font-family:arial;">The new release of the GUI-Less java browser is available, which allows high-level manipulation of web pages, such as filling forms, clicking links, accessing attributes and values of specific elements within the pages, you do not have to create lower-level requests of TCP/IP or HTTP, but just getPage(url), find a hyperlink, click() and you have all the HTML, JavaScript, and Ajax are automatically processed.</span><br /><br /><span class="Apple-style-span" style="font-family:arial;">The most common use of HtmlUnit is test automation of web pages (even with complex JavaScript libraries, such as <a href="http://jquery.com/">jQuery</a> or <a href="http://code.google.com/webtoolkit">Google Web Toolkit</a>), but sometimes it can be used for web scraping, or downloading website content.</span><br /><br /><span class="Apple-style-span" style="font-family:arial;">The main enhancements in this release:<br /></span><span class="Apple-style-span" style="font-family:arial;"><ul><li>Improved JavaScript support, now all jQuery and <a href="http://mochikit.com/">Mochikit</a> tests pass, adding to already supported GWT and <a href="http://dev.abiss.gr/sarissa/">Sarissa</a></li><li><a href="http://htmlunit.sourceforge.net/activeX-howto.html">Native ActiveX</a> support</li><li>Initial applet handling</li><li>Internet Explorer conditional comments</li><li>As usual, various bug fixes, three were reported by GWT users<br /></li></ul><p>You can find more information in the <a href="http://htmlunit.sourceforge.net/">official website</a>, the development team is looking forward to getting your feedback.</p></span><div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-46337283457803801122008-04-08T02:36:00.009+03:002008-04-08T03:45:10.714+03:00HtmlUnit 2.0 is out<p>The team is very glad to announce the release of <a href="http://htmlunit.sf.net/">HtmlUnit</a> 2.0, which is an Open Source headless java browser that simulates Internet Explorer and Firefox.</p><p><br />By this release, HtmlUnit has achieved a significant step in the road to fully support AJAX and JavaScript, it now passes all <a href="http://code.google.com/webtoolkit">Google Web Toolkit</a> 1.4.60 tests.</p><p><br />Out of various <a href="http://htmlunit.sourceforge.net/changes-report.html">enhancements</a>, the following are the most important:</p><ol><li>The codebase migration to Java 5, with heavy usage of generics</li><li>Implementation <a href="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/java-binding.html">W3C DOM</a>, so it can be used with other libraries</li><li>Better XPath support, by switching to <a href="http://xml.apache.org/xalan-j">Xalan</a> instead of <a href="http://jaxen.org/">Jaxen</a></li><li>Few incompatible changes, all documented in the changes list</li><li>Improved support for incorrect HTML code</li></ol><p></p><p>It wouldn't have made its way to the light unless contributions are provided particularly by <a href="http://mguillem.wordpress.com/">Marc Guillemot</a> and <a href="http://daniel.gredler.net/">Daniel Gredler</a>, in addition to <a href="http://htmlunit.sourceforge.net/team-list.html">others</a>.<br /></p><div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0tag:blogger.com,1999:blog-8528845864728800811.post-38597553744948764862008-03-31T13:01:00.007+03:002008-03-31T13:54:11.757+03:00Why blogMy father used to say: "If you want to virtually live more, talk with people".<br /><br />I always consider sharing experience, as whenever you ask someone, you will find that he tackled different areas than yours, and you can both benefit from understanding the other points-of-view.<br /><br />Anyway, I have an exceptional life example that might inspire someone,<br /><br />For the time being, stay tuned...<div class="blogger-post-footer"><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4003814-1");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>Ahmed Ashourhttp://www.blogger.com/profile/03682361451645291434noreply@blogger.com0