<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2054184038285859131</id><updated>2026-03-21T19:41:36.423+01:00</updated><category term="Java"/><category term="How To"/><category term="Reminder"/><category term="Example"/><category term="Web Application Development"/><category term="Spring Framework"/><category term="SEO"/><category term="Spring MVC"/><category term="Hibernate Framework"/><category term="Tutorial"/><category term="JPA"/><category term="Introduction"/><category term="JSON"/><category term="Maven"/><category term="Annotation"/><category term="Concept"/><category term="Security"/><category term="MVC"/><category term="Summary"/><category term="Web"/><category term="XML"/><category term="JAXB"/><category term="Javascript"/><category term="CSS"/><category term="Error"/><category term="HTML"/><category term="Code"/><category term="Configuration"/><category term="Inheritance"/><category term="Key"/><category term="Resource"/><category term="Traffic"/><category term="Agile Development Methodology"/><category term="Byte Array"/><category term="Crash Course"/><category term="Cryptography"/><category term="Generics"/><category term="Method"/><category term="REST"/><category term="Ranking"/><category term="Relationship"/><category term="Software Development Methodologies"/><category term="Tomcat"/><category term="API"/><category term="Abstract"/><category term="Advanced"/><category term="Bidirectional"/><category term="Blog"/><category term="Blogger"/><category term="Class"/><category term="Data"/><category term="Google Webmaster Tools"/><category term="In Memory"/><category term="In-Memory"/><category term="Issue"/><category term="JSP"/><category term="JXTA"/><category term="Marketing"/><category term="OpenShift"/><category term="Private"/><category term="Quality"/><category term="Service"/><category term="Standalone"/><category term="Test"/><category term="Unidirectional"/><category term="AES"/><category term="Ajax"/><category term="Analysis"/><category term="Apache"/><category term="Book"/><category term="Catch"/><category term="Communication"/><category term="Conversion"/><category term="Crawling"/><category term="Create"/><category term="DAO"/><category term="DOM"/><category term="Decode"/><category term="Definition"/><category term="Dependencies"/><category term="Deploy"/><category term="Email"/><category term="Encode"/><category term="Entity"/><category term="Entity Manager"/><category term="Exception"/><category term="Finally"/><category term="FreeMarker"/><category term="Git"/><category term="Google"/><category term="HTTP"/><category term="Hash"/><category term="Hexadecimal"/><category term="Import"/><category term="Indexing"/><category term="Interface"/><category term="Internationalization"/><category term="JCA"/><category term="JNDI"/><category term="JUnit"/><category term="JXSE"/><category term="Javax"/><category term="Keyword"/><category term="License"/><category term="Logging"/><category term="Login"/><category term="Map"/><category term="Marshalling"/><category term="Netbeans"/><category term="Online"/><category term="Oracle"/><category term="Parser"/><category term="Path"/><category term="Persistence"/><category term="Plugin"/><category term="Pojomatic"/><category term="Public"/><category term="Remote"/><category term="SQL"/><category term="Servlet"/><category term="Sitemap"/><category term="Sitemesh"/><category term="Social Buttons"/><category term="Spring Security"/><category term="StaX"/><category term="Static"/><category term="String"/><category term="Subversion"/><category term="Super"/><category term="Symmetric"/><category term="System"/><category term="Tool"/><category term="Try"/><category term="Type"/><category term="URL"/><category term="Unmarshalling"/><category term="User"/><category term="User Authentication"/><category term="Variables"/><category term="Windows 7"/><category term="pom.xml"/><category term="robots.txt"/><category term="ACL"/><category term="Absolute"/><category term="Acronym"/><category term="AdSense"/><category term="AdWords"/><category term="Address"/><category term="Advertising"/><category term="Array"/><category term="Attachment"/><category term="Authorize.net"/><category term="Base64"/><category term="Benefit"/><category term="Best Of"/><category term="Bislki"/><category term="BouncyCastle"/><category term="Branch"/><category term="Break"/><category term="Breakpoint"/><category term="Button"/><category term="CCI"/><category term="CDI"/><category term="CDMP"/><category term="CNN"/><category term="Cache"/><category term="Caching"/><category term="Calendar"/><category term="Capture"/><category term="Cargo"/><category term="Cassandra"/><category term="Caveat"/><category term="Centering"/><category term="Certification"/><category term="Circular"/><category term="Class Example"/><category term="Class Loader"/><category term="ClassCastException"/><category term="Closure"/><category term="Cloud"/><category term="Code Coverage"/><category term="Code Quality"/><category term="Collection"/><category term="Color"/><category term="Column"/><category term="Commons"/><category term="Competition"/><category term="Composite"/><category term="Consequence"/><category term="Content"/><category term="Context"/><category term="Continue"/><category term="Controller"/><category term="Corruption"/><category term="Criteria"/><category term="Crust"/><category term="Cryptocurrency"/><category term="Currency"/><category term="Customized"/><category term="DAMA"/><category term="DSA"/><category term="Data Governance"/><category term="DataSource"/><category term="Dependency Injection"/><category term="Diffie Hellman"/><category term="Diffusion"/><category term="Digest"/><category term="Div"/><category term="Docker"/><category term="Drama"/><category term="Drop"/><category term="Drupal"/><category term="EJB"/><category term="Earnings"/><category term="Economy"/><category term="ElementCollection"/><category term="Embeddable"/><category term="Embedded"/><category term="Emma"/><category term="Encoding"/><category term="Environment"/><category term="Equals"/><category term="Erasure"/><category term="Estimation"/><category term="Exit"/><category term="Extends"/><category term="Extreme Programming"/><category term="File"/><category term="Finalize"/><category term="Findbugs"/><category term="Focus"/><category term="Form"/><category term="Formatting"/><category term="Free"/><category term="Free Market"/><category term="Future"/><category term="Garbage Collection"/><category term="Getting Started"/><category term="Glassfish"/><category term="Google Sandbox"/><category term="Gregorian"/><category term="HTML5"/><category term="HashCode"/><category term="Header"/><category term="Heap"/><category term="IPv4"/><category term="Ideas"/><category term="Identifier"/><category term="Image"/><category term="Implements"/><category term="Include"/><category term="Innovation"/><category term="InputStream"/><category term="Installation"/><category term="Instantiation"/><category term="Inversion of Control"/><category term="Iterate"/><category term="JAAS"/><category term="JACC"/><category term="JASPIC"/><category term="JAX-RS"/><category term="JAX-WS"/><category term="JAXP"/><category term="JAXR"/><category term="JCE"/><category term="JMS"/><category term="JSF"/><category term="JSLT"/><category term="JSTL"/><category term="JTA"/><category term="Java EE"/><category term="JavaMail"/><category term="Javadoc"/><category term="Joined"/><category term="JpaRepository"/><category term="LDAP"/><category term="Landscape"/><category term="Layout"/><category term="Less"/><category term="Lesscss"/><category term="Life Cycle"/><category term="Limitation"/><category term="Link"/><category term="List"/><category term="Load"/><category term="Locale"/><category term="Logout"/><category term="Loop"/><category term="Lulu.com"/><category term="MD2"/><category term="MD5"/><category term="Many to Many"/><category term="Many to One"/><category term="Mapped"/><category term="Message"/><category term="Methodology"/><category term="Mining"/><category term="MySQL"/><category term="NAT"/><category term="NPE"/><category term="Noca"/><category term="Nuke"/><category term="NullPointerException"/><category term="Number"/><category term="One to Many"/><category term="One to One"/><category term="Open Source"/><category term="Option"/><category term="Otaku"/><category term="Overview"/><category term="PMD"/><category term="POJO"/><category term="Package"/><category term="Panda"/><category term="Parameter"/><category term="Patent"/><category term="Payment"/><category term="Persistence Unit"/><category term="Plain"/><category term="Portrait"/><category term="Post"/><category term="Practical"/><category term="Primary"/><category term="Processing"/><category term="Promotion"/><category term="Pros and Con&#39;s"/><category term="Protected"/><category term="PuTTY"/><category term="Quantity"/><category term="Query String"/><category term="RHC Client Tool"/><category term="RUP"/><category term="Random"/><category term="Range"/><category term="React"/><category term="Reference"/><category term="Refresh"/><category term="Reified"/><category term="Reinstallation"/><category term="Relative"/><category term="Release"/><category term="Remarkable"/><category term="Repository"/><category term="Responsive Design"/><category term="Retrieve"/><category term="Return"/><category term="Revision Control"/><category term="Run Out"/><category term="Runtime"/><category term="SAM"/><category term="SHA-1"/><category term="SHA-256"/><category term="SHA-384"/><category term="SHA-512"/><category term="SOAP"/><category term="SOM"/><category term="SPI"/><category term="SSH"/><category term="SSL"/><category term="Scope"/><category term="Script"/><category term="Scrum"/><category term="Select"/><category term="Selenium"/><category term="ServiceLoader"/><category term="Session"/><category term="Session Factory"/><category term="Set"/><category term="Single"/><category term="SmartPhone"/><category term="Software"/><category term="Sonar"/><category term="Statics"/><category term="Strange"/><category term="Stuff-that-works"/><category term="Super Token"/><category term="TAM"/><category term="Table"/><category term="Table of Content"/><category term="Tag"/><category term="Taglibs"/><category term="TestNG"/><category term="Text"/><category term="Time Zone"/><category term="Timestamp"/><category term="Tortoise"/><category term="TortoiseGit"/><category term="Transaction"/><category term="Traversal"/><category term="Trunk"/><category term="Unique"/><category term="Update"/><category term="Updates"/><category term="UserTransaction"/><category term="Validation"/><category term="Value"/><category term="Version Control"/><category term="WSLD"/><category term="Web Application"/><category term="Widget"/><category term="Width"/><category term="Wilcard"/><category term="Windows"/><category term="Windows.Location"/><category term="XP"/><category term="instanceof"/><category term="isAssignableFrom"/><category term="isInstance"/><category term="jar"/><category term="schemaLocation"/><category term="toString"/><category term="xmlns"/><category term="xsd"/><category term="xsi"/><title type='text'>My Technical Notes &amp;amp; Others...</title><subtitle type='html'>Tips &amp;amp; Tricks, Summaries, Check Lists, Do&amp;#39;s &amp;amp; Don&amp;#39;ts, Reminders, Stuff that works...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>167</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-6961344366774539417</id><published>2018-08-25T17:06:00.000+02:00</published><updated>2019-01-12T12:20:18.332+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CDMP"/><category scheme="http://www.blogger.com/atom/ns#" term="Certification"/><category scheme="http://www.blogger.com/atom/ns#" term="DAMA"/><category scheme="http://www.blogger.com/atom/ns#" term="Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Governance"/><title type='text'>How to prepare for the DAMA CDMP exam? My experience...</title><summary type="text">Update

From the&amp;nbsp;Dama website: &quot;CDMP Status - On Saturday, August 25, 2018, the Board of Directors met for the first time as a full Board. One of the topics discussed was the current CDMP testing process.
Based on a) experiences setting up and holding the three chapter-hosted boot camps in the last month, and b) other stability issues with the CDMP testing platform and content, the DAMA I </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/6961344366774539417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2018/08/how-to-prepare-for-dama-dmcp-exam-my.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/6961344366774539417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/6961344366774539417'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2018/08/how-to-prepare-for-dama-dmcp-exam-my.html' title='How to prepare for the DAMA CDMP exam? My experience...'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-467369483683626673</id><published>2017-04-21T20:59:00.000+02:00</published><updated>2017-07-09T16:53:47.054+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Cryptocurrency"/><category scheme="http://www.blogger.com/atom/ns#" term="Mining"/><category scheme="http://www.blogger.com/atom/ns#" term="Stuff-that-works"/><title type='text'>Cloud Mining - How Much Passive Income Can You Make?</title><summary type="text">
About Cryptocurrency Mining
Cloud mining is profitable, I have tried it. The question is, what is the return on investment and when will you get your money back? Considering mining fees, contract duration and many other factors, it&#39;s hard to guess which site offers the best cloud mining contracts. And what about reinvestment opportunities?

Well, rather than guessing, I&#39;ve spent a bit of my </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/467369483683626673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2017/04/cloud-mining-how-much-can-you-make.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/467369483683626673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/467369483683626673'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2017/04/cloud-mining-how-much-can-you-make.html' title='Cloud Mining - How Much Passive Income Can You Make?'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-3333141324257215817</id><published>2016-08-14T15:58:00.002+02:00</published><updated>2016-08-14T16:00:07.306+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Concept"/><category scheme="http://www.blogger.com/atom/ns#" term="Docker"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial"/><title type='text'>Docker Concepts Plugged Together (for newbies)</title><summary type="text">Although Docker looks like a promizing tool facilitating project implementation and deployment, it took me some time to wrap my head around its concepts. Therefore, I thought I might write another blog post to summarize and share my findings.

Docker Container &amp;amp; Images
Docker is an application running containers on your laptop, but also on staging or production servers. Containers are </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/3333141324257215817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2016/08/docker-concepts-plugged-together-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/3333141324257215817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/3333141324257215817'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2016/08/docker-concepts-plugged-together-for.html' title='Docker Concepts Plugged Together (for newbies)'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-5506016502736157661</id><published>2015-09-26T12:39:00.001+02:00</published><updated>2015-09-26T12:40:40.837+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Concept"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="React"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial"/><title type='text'>Explain React Concepts &amp; Principles, Because I Am Not A UI Specialist</title><summary type="text">I have been reading React&#39;s documentation, but found it to take too many shortcuts regarding the descriptions of concepts and how they related to each other to understand the whole picture. It is also missing a description of the principles it relies on. Not everyone is already a top-notch Javascript UI designer. This post is an attempt to fill the gaps. I am assuming you know what HTML, CSS and </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/5506016502736157661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2015/09/explain-react-concepts-principles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/5506016502736157661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/5506016502736157661'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2015/09/explain-react-concepts-principles.html' title='Explain React Concepts &amp; Principles, Because I Am Not A UI Specialist'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-1350856161770020657</id><published>2013-10-14T16:01:00.001+02:00</published><updated>2013-11-24T20:58:36.997+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Error"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenShift"/><category scheme="http://www.blogger.com/atom/ns#" term="RHC Client Tool"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Updates"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Application"/><title type='text'>Creating An OpenShift Web/Spring Application From The Command Line</title><summary type="text">OpenShift offers online functionalities to create applications, but this can also be achieved from command line with the RHC Client Tool. For windows, you will first need to install RubyGems and Git. The procedure is&amp;nbsp;straightforward.

Git SSL Communication&amp;nbsp;
OpenShift requires SSL communication between local Git repositories and the corresponding server repositories.&amp;nbsp;Generating SSH </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/1350856161770020657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/10/creating-openshift-web-application-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1350856161770020657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1350856161770020657'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/10/creating-openshift-web-application-from.html' title='Creating An OpenShift Web/Spring Application From The Command Line'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkDg-13LpwWgYHXrIh8Jcq69aWYYsCsd1RTK_ZksV6y6_Tc-J5cAvTv6qcu4r2sppqVme1jTyOSbCO92f9bQM3uyPyjDF0T7B3iuPIJ-l9EWGpEIQ5I95Qsw4EZT97dpW-_5JfOVpNsN8u/s72-c/LoadPuttyKey.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-1091277995848850771</id><published>2013-10-01T15:29:00.002+02:00</published><updated>2018-08-26T14:24:43.025+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Communication"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Webmaster Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Issue"/><category scheme="http://www.blogger.com/atom/ns#" term="Panda"/><title type='text'>September 21-22-23, 2013 - Search Queries Not Updated in Google Webmaster Tools</title><summary type="text">This week-end, many people have started reporting the same issue in Google&#39;s Webmaster Forum: no more daily search queries information updates. For most, the data reporting stopped on September 23, 2013, but I have observed this since September 22, 2013.

Yesterday, a top contributor has announced that this issue had been&amp;nbsp;&quot;escalated to the appropriate Google engineers&quot;. He mentions this </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/1091277995848850771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/10/september-21-22-23-2103-search-queries.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1091277995848850771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1091277995848850771'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/10/september-21-22-23-2103-search-queries.html' title='September 21-22-23, 2013 - Search Queries Not Updated in Google Webmaster Tools'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-4055659750053730105</id><published>2013-09-09T19:50:00.000+02:00</published><updated>2013-09-09T20:33:21.007+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Breakpoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Landscape"/><category scheme="http://www.blogger.com/atom/ns#" term="Portrait"/><category scheme="http://www.blogger.com/atom/ns#" term="Responsive Design"/><category scheme="http://www.blogger.com/atom/ns#" term="SmartPhone"/><category scheme="http://www.blogger.com/atom/ns#" term="Width"/><title type='text'>Best Responsive Design Breakpoints</title><summary type="text">While trying to find an answer to my own question: &quot;What are the best responsive design breakpoints?&quot;, I have performed a small statistical study over SmartPhone screen widths (portrait and landscape) using information provided by i-skool.




The above table shows how often a specific SmartPhone width in the source data is reported. There are five peaks:

320 pixels
480 pixels
768-800 pixels
</summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/4055659750053730105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/09/best-responsive-design-breakpoints.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/4055659750053730105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/4055659750053730105'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/09/best-responsive-design-breakpoints.html' title='Best Responsive Design Breakpoints'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb8Cpom9ObLWJLhstEi6_kTWigRTSscjD-eYGW3adZ0PVIeA69Y56tiwHhWNlQ9lThvJdWXH8w57_3xDg7rfs3XjdjohhuOPBQTLYyxznERlDQQOsKpe9GzspoXNYms6SEzEQM-6K5HW3-/s72-c/Sm-Widths.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-5850483642882140948</id><published>2013-09-07T18:00:00.000+02:00</published><updated>2013-09-14T17:05:11.144+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Analysis"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Ranking"/><category scheme="http://www.blogger.com/atom/ns#" term="SEO"/><category scheme="http://www.blogger.com/atom/ns#" term="Traffic"/><title type='text'>Sep 4th, 2013 - Sudden Drop In Traffic - A Thin Or Lack Of Original Content Ratio Issue? </title><summary type="text">Many people have reported a sudden drop in traffic to their websites since September 4th, 2013.

Google Webmaster forum is full of related posts. A Webmaster World thread has been started. Search Engine Roundtable mentions&amp;nbsp;&#39;early signs of a possible major Google update&#39;. A group spreadsheet has been created. No one seems to make sense of what is happening. There is a lot of confusion and </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/5850483642882140948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/09/sep-4th-2013-sudden-drop-in-traffic.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/5850483642882140948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/5850483642882140948'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/09/sep-4th-2013-sudden-drop-in-traffic.html' title='Sep 4th, 2013 - Sudden Drop In Traffic - A Thin Or Lack Of Original Content Ratio Issue? '/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-8693118840119589170</id><published>2013-08-30T17:58:00.000+02:00</published><updated>2014-10-17T09:56:49.797+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Decode"/><category scheme="http://www.blogger.com/atom/ns#" term="Encode"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Parameter"/><category scheme="http://www.blogger.com/atom/ns#" term="Query String"/><category scheme="http://www.blogger.com/atom/ns#" term="URL"/><title type='text'>Encode &amp; Decode URL Parameters In Java</title><summary type="text">A small code example describing how to encode and decode URL query strings properly from Java. The code example is available from GitHub in the in the Java-Core-Examples directory.

String paramValue = &quot;with spaces and special &amp;amp;!=; characters&quot;;

String encoded = URLEncoder.encode(paramValue, &quot;UTF-8&quot;);
String decoded = URLDecoder.decode(encoded, &quot;UTF-8&quot;);

System.out.println(paramValue);
</summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/8693118840119589170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/08/encodedecode-url-parameters-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/8693118840119589170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/8693118840119589170'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/08/encodedecode-url-parameters-in-java.html' title='Encode &amp; Decode URL Parameters In Java'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-1684278356613523728</id><published>2013-08-29T12:28:00.001+02:00</published><updated>2013-08-30T16:00:44.994+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FreeMarker"/><category scheme="http://www.blogger.com/atom/ns#" term="Reminder"/><title type='text'>FreeMarker Reminders</title><summary type="text">A small post to aggregate notes related to FreeMarker.

Accessing Parameter Inside A Directive
The following piece of code:


    &amp;lt;#assign myVar = ${myValue}-1&amp;gt;


will trigger the following exception:


    Exception in thread &quot;main&quot; freemarker.core.ParseException:
      Encountered &quot;{&quot; ...


One should not use ${...} inside a FreeMarker directive, but rather:


    &amp;lt;#assign myVar = </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/1684278356613523728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/08/freemarker-reminders.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1684278356613523728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1684278356613523728'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/08/freemarker-reminders.html' title='FreeMarker Reminders'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-8290877756730537101</id><published>2013-04-18T16:08:00.002+02:00</published><updated>2013-10-22T20:23:16.120+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Example"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><title type='text'>Calling Javascript From Java (Example)</title><summary type="text">This post explains how to call Javascript from Java. The code example is available
 at GitHub in the Java-Javascript-Calling directory.

Code Example
We create some small Javascript code in a string. This code dumps &quot;Hello World!&quot; and defines a function called myFunction() adding 3 to the provided value:


public class JavascriptCalling {

    public static final String MY_JS
        = &quot;print(\&quot;</summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/8290877756730537101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/04/calling-javascript-from-java-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/8290877756730537101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/8290877756730537101'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/04/calling-javascript-from-java-example.html' title='Calling Javascript From Java (Example)'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwbOWDr3ZyPY_XUTC_NAfVtmN1pOFV3stCa_vp9JV6dTTfKn2tQUmE3kD7fZWH9OPcDyI6oR2jCsExc4gDiNoNYPP9ZjRgWJcND7usELbKondRRG_NEJG6iO0emIxQdSpIMi_JbXpS43Ws/s72-c/Stuff.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-1074478554947895045</id><published>2013-04-02T19:27:00.001+02:00</published><updated>2013-04-07T18:44:22.732+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="In Memory"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Persistence"/><category scheme="http://www.blogger.com/atom/ns#" term="Security"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring MVC"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring Security"/><category scheme="http://www.blogger.com/atom/ns#" term="User"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Application Development"/><title type='text'>Creating A Customized Spring User &amp; Persistence</title><summary type="text">This post explains how to create a customized Spring user and persistence mechanism for authentication. The code is available
 at GitHub in the Spring-MVC-Customized-User directory.

Things To Take Into Consideration
Before creating a customized user, we need to remind what a user is in Spring. We know from here that a user is an implementation of the UserDetails interface. Spring security also </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/1074478554947895045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/04/creating-customized-spring-user.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1074478554947895045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1074478554947895045'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/04/creating-customized-spring-user.html' title='Creating A Customized Spring User &amp; Persistence'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsmkawi9hpS88eOY1VOuGh0ZkjFJtqPHMIitS5RITMv1zNgT4CpeO_NiFCc_KqOwjNb6TE5fNZ1v3JiBwNOhQ8rJUoU9DjnenyeJAhYDbuwuhJjl_tNgaQz4ncY7zgScIG0f7ejcRqFwQP/s72-c/CustUserCD.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-1788553839523403678</id><published>2013-04-02T14:40:00.001+02:00</published><updated>2013-04-05T13:59:27.789+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ACL"/><category scheme="http://www.blogger.com/atom/ns#" term="In Memory"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Script"/><category scheme="http://www.blogger.com/atom/ns#" term="Security"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring MVC"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring Security"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Application Development"/><title type='text'>Execute Spring ACL SQL Script In Memory</title><summary type="text">This post describes how to execute the Spring ACL script to create ACL tables in an in-memory HSQL database instance. The code is available at GitHub in the Execute-ACL-SQL-Scripts-In-Memory directory.

In-Memory DataSource
We are using a configuration classe implementing the DisposableBean interface to shut down the created HSQL embedded database nicely.

@Configuration
public class </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/1788553839523403678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/04/execute-spring-acl-sql-scripts-in-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1788553839523403678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1788553839523403678'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/04/execute-spring-acl-sql-scripts-in-memory.html' title='Execute Spring ACL SQL Script In Memory'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG-lFVb8tOwV0zRCN79fITVU7DzYB5N0rK8bNaPRH1G7j4pgvDLQMdUkv5t7NNglBtzEBSTIRO0UO4fT7A8ZYHbmuQGtOXfI9w2s7-ETEusWWciKVSjhUTjlVDdIV_G6NBcm37hINVnVNQ/s72-c/aclSchema.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-4377557515075283568</id><published>2013-04-01T21:26:00.000+02:00</published><updated>2013-04-02T12:10:56.643+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Centering"/><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="Div"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><title type='text'>Centering An Image Or Text Within A Div</title><summary type="text">This post explains how to center an image or text in HTML using CSS. The code example is available on GitHub in the Center-Image-Text-Div directory.

Centering An Image Vertically And Horizontally Within A Div
The method described here requires to know the size of the image. The HTML is the following:


&amp;lt;div id=&quot;myDiv&quot;&amp;gt;
    &amp;lt;img id=&quot;myImg&quot; src=&quot;SomeImg.jpg&quot;&amp;gt;
&amp;lt;/div&amp;gt;


The CSS is </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/4377557515075283568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/04/centering-image-or-text-within-div.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/4377557515075283568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/4377557515075283568'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/04/centering-image-or-text-within-div.html' title='Centering An Image Or Text Within A Div'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-6355782633524723763</id><published>2013-03-28T17:20:00.001+01:00</published><updated>2013-03-28T17:21:00.805+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="Example"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Service"/><category scheme="http://www.blogger.com/atom/ns#" term="ServiceLoader"/><title type='text'>Java ServiceLoader Example</title><summary type="text">Defining an API and developing the corresponding implementation has become an uber mainstream practice when developing large Java applications. Modularization is such an useful design principle, especially to avoid spaghetti code, for testing and debugging, and for re-implementation of old code.

Many developers seek to separate API interfaces and abstract classes from their implementation in </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/6355782633524723763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/03/java-serviceloader-example.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/6355782633524723763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/6355782633524723763'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/03/java-serviceloader-example.html' title='Java ServiceLoader Example'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6BWSw16u8G5HBpMDppYzHd23urqViKL4fe-Pj2ywqSSvCfL__PApRuP2Dxs9Ol9upwPDT5K2yTBLfqEqX2P_ixZRUUzwqb3lWitd0dE5MVMETygfbVGSHC053US0dF5dE__mITzJ_LpjV/s72-c/serviceload.jpg" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-4488227186870747202</id><published>2013-03-24T17:30:00.000+01:00</published><updated>2013-10-22T20:23:16.101+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Maven"/><category scheme="http://www.blogger.com/atom/ns#" term="TestNG"/><title type='text'>Java TestNG Example</title><summary type="text">This post illustrates some of the feature of TestNG. The code example is available at GitHub in the Java-TestNG directory. We use maven. Therefore, the configuration will located in the pom.xml.

Source Code
We use a very simple class returning integers for testing purposes:


public class Generate {

    private Generate() { }

    public static int aOne() {
        return 1;
    }

    public </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/4488227186870747202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/03/java-testng-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/4488227186870747202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/4488227186870747202'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/03/java-testng-example.html' title='Java TestNG Example'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-2320179489962606984</id><published>2013-03-20T11:58:00.002+01:00</published><updated>2013-10-22T20:23:16.096+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Error"/><category scheme="http://www.blogger.com/atom/ns#" term="How To"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Javax"/><category scheme="http://www.blogger.com/atom/ns#" term="Maven"/><category scheme="http://www.blogger.com/atom/ns#" term="Package"/><category scheme="http://www.blogger.com/atom/ns#" term="Servlet"/><title type='text'>&#39;package javax.servlet.http does not exist&#39; Solution</title><summary type="text">This is a common error which occurs when trying to compile a web project. This package is usually provided by the container. However, it is not (always) available at compile time and one should not include it in the final .war too.

If you are using Maven, the solution is simple. Add the following dependency with the provided scope:

&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;javax.servlet&amp;lt;/groupId</summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/2320179489962606984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/03/package-javaxservlethttp-does-not-exist.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/2320179489962606984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/2320179489962606984'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/03/package-javaxservlethttp-does-not-exist.html' title='&#39;package javax.servlet.http does not exist&#39; Solution'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-4538386022392961955</id><published>2013-03-08T13:49:00.000+01:00</published><updated>2013-06-20T13:43:49.735+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Crawling"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Sandbox"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Webmaster Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Indexing"/><category scheme="http://www.blogger.com/atom/ns#" term="Ranking"/><category scheme="http://www.blogger.com/atom/ns#" term="robots.txt"/><category scheme="http://www.blogger.com/atom/ns#" term="SEO"/><category scheme="http://www.blogger.com/atom/ns#" term="Sitemap"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring MVC"/><title type='text'>Exiting From Google&#39;s Sandbox In A Week</title><summary type="text">Sharing the experience acquired while trying to get a keyword-stuffed site out of Google&#39;s sandbox. I explain how I succeeded faster than methods described on the net so far. Not a silver bullet, but surely a boost. In less than a week, I got my site at search result position number 3 for its title keywords:




As a reminder, the Google Sandbox effect is observed when a site is indexed by Google</summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/4538386022392961955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/03/exiting-from-googles-sandbox-in-week.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/4538386022392961955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/4538386022392961955'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/03/exiting-from-googles-sandbox-in-week.html' title='Exiting From Google&#39;s Sandbox In A Week'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRQOdBzjiZsruiu5Yndc1UbFJ_xHhNF1IRLT6g6r_WxoBVYnDc9IyZDeRVB09o0FExIHggZ4ypUCi7cSvt7TkG43OzMa1yBw3_84jUILdmKan0rMFYzmPzXiwx759EaOrGt5IDbXxLk-up/s72-c/OutSandbox.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-4979862485426029009</id><published>2013-03-07T16:02:00.004+01:00</published><updated>2013-04-07T18:26:40.604+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="In Memory"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="JpaRepository"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring MVC"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Application Development"/><title type='text'>Spring JpaRepository Example (In-Memory)</title><summary type="text">This post describes a simple Spring JpaRepository example using an in memory HSQL database. The code example is available from GitHub in the Spring-JpaRepository directory. It is based on the Spring-MVC-With-Annotations example and information available here.

JPA Repository
We implement a dummy bean for this example:


@Entity
@AutoProperty
public class SomeItem {

    @Id
    @GeneratedValue(</summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/4979862485426029009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/03/spring-jparepository-example-in-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/4979862485426029009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/4979862485426029009'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/03/spring-jparepository-example-in-memory.html' title='Spring JpaRepository Example (In-Memory)'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8N532x6hfgEJCqIe-mDQXjjsktd9AoPhK6jiBXcvuSp2ex_uqTvImELuhxRT7IBSUYnZTowx2Ce9D4j2Os45h45kEX0JGieZ2M_P4_7hvQyHKkDEuczqbZUXIyUYmAOKX9h6YrBOESE8e/s72-c/JpaRepositories.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-6434017101770324391</id><published>2013-02-14T18:17:00.001+01:00</published><updated>2013-03-08T20:35:17.409+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Caching"/><category scheme="http://www.blogger.com/atom/ns#" term="Crawling"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Webmaster Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Indexing"/><category scheme="http://www.blogger.com/atom/ns#" term="Ranking"/><category scheme="http://www.blogger.com/atom/ns#" term="robots.txt"/><category scheme="http://www.blogger.com/atom/ns#" term="SEO"/><category scheme="http://www.blogger.com/atom/ns#" term="Sitemap"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring MVC"/><title type='text'>Dealing With Google Webmaster Tools Frustrations</title><summary type="text">If you don&#39;t understand the mechanics behind Google Webmaster Tool (GWT, not to be confused with Google&#39;s Web-Toolkit framework) and of page indexing, trying to obtain valid information about your website can be a very frustrating experience, especially if it is a new website. This has even led me to take counter-productive actions in order to solve some of GWT flaws. This post is about sharing </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/6434017101770324391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/02/dealing-with-google-webmaster-tools.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/6434017101770324391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/6434017101770324391'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/02/dealing-with-google-webmaster-tools.html' title='Dealing With Google Webmaster Tools Frustrations'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-5111231677876592107</id><published>2013-02-11T19:07:00.000+01:00</published><updated>2013-03-08T20:33:40.921+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Concept"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="JSP"/><category scheme="http://www.blogger.com/atom/ns#" term="Reminder"/><category scheme="http://www.blogger.com/atom/ns#" term="Security"/><category scheme="http://www.blogger.com/atom/ns#" term="Service"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring MVC"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial"/><category scheme="http://www.blogger.com/atom/ns#" term="User Authentication"/><title type='text'>Securing A Service And JSP Pages</title><summary type="text">
Securing A Spring Service 
When a service is implemented in Spring, it can be secured with the @Secured annotation. It has a parameter where the list of roles can be defined. In order to enable this annotation, one must add the the following line in the Spring Security configuration XML file: 

&amp;nbsp; &amp;lt;security:global-method-security secured-annotations=&quot;enabled&quot;/&amp;gt;

A complete example is </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/5111231677876592107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/02/securing-service-and-jsp-pages.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/5111231677876592107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/5111231677876592107'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/02/securing-service-and-jsp-pages.html' title='Securing A Service And JSP Pages'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-5573265334048925613</id><published>2013-02-07T16:22:00.001+01:00</published><updated>2013-03-08T20:35:17.360+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Content"/><category scheme="http://www.blogger.com/atom/ns#" term="Online"/><category scheme="http://www.blogger.com/atom/ns#" term="Promotion"/><category scheme="http://www.blogger.com/atom/ns#" term="Quality"/><category scheme="http://www.blogger.com/atom/ns#" term="Ranking"/><category scheme="http://www.blogger.com/atom/ns#" term="SEO"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring MVC"/><title type='text'>Online Content: Quality, Ranking And Promotion</title><summary type="text">This post is a summary of thumb rules collected here and there and personal experience about content posted online. It is a living document that I will update from time to time:

Love the content or have a genuine passion for it! - People notice when you are being authentic and passionate, or not.
Content is king! - The quality of the delivered content influences your ranking much more than </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/5573265334048925613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/02/online-content-quality-ranking-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/5573265334048925613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/5573265334048925613'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/02/online-content-quality-ranking-and.html' title='Online Content: Quality, Ranking And Promotion'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-5779376560012560526</id><published>2013-02-05T16:42:00.003+01:00</published><updated>2013-03-08T20:29:55.514+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CDI"/><category scheme="http://www.blogger.com/atom/ns#" term="EJB"/><category scheme="http://www.blogger.com/atom/ns#" term="JAAS"/><category scheme="http://www.blogger.com/atom/ns#" term="JACC"/><category scheme="http://www.blogger.com/atom/ns#" term="JASPIC"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Java EE"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaMail"/><category scheme="http://www.blogger.com/atom/ns#" term="JAX-RS"/><category scheme="http://www.blogger.com/atom/ns#" term="JAX-WS"/><category scheme="http://www.blogger.com/atom/ns#" term="JAXP"/><category scheme="http://www.blogger.com/atom/ns#" term="JAXR"/><category scheme="http://www.blogger.com/atom/ns#" term="JCA"/><category scheme="http://www.blogger.com/atom/ns#" term="JMS"/><category scheme="http://www.blogger.com/atom/ns#" term="JSF"/><category scheme="http://www.blogger.com/atom/ns#" term="JSLT"/><category scheme="http://www.blogger.com/atom/ns#" term="JSON"/><category scheme="http://www.blogger.com/atom/ns#" term="JSP"/><category scheme="http://www.blogger.com/atom/ns#" term="SOAP"/><category scheme="http://www.blogger.com/atom/ns#" term="WSLD"/><title type='text'>Introduction To Java EE Concepts</title><summary type="text">This post aims at clarifying acronyms and concepts used in the Java EE paradigm, where EE stands for Entreprise Edition. It enables the creation of modular Java applications to be deployed on application servers. It relies on Java SE, a core set of Java libraries upon which all Java applications are implemented.

General Concepts
Before we dive into Java EE, here is a reminder of general concepts</summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/5779376560012560526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/02/introduction-to-j2ee-concepts.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/5779376560012560526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/5779376560012560526'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/02/introduction-to-j2ee-concepts.html' title='Introduction To Java EE Concepts'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvtnxZKcERwmWnI1FRt5fdoHSi6ijekQFvpUwT3g8amVhyKXeifXc_hAWBWLJkkhWFWm0n0V606-Z_wNlRbnev-B_cD1dsy3fatN3hapcEab1DZdwlF4XReIg4Pe5w6aKIy-uc0yCUQKpj/s72-c/J2EE_1.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-1054514338636732292</id><published>2013-01-29T17:13:00.000+01:00</published><updated>2013-03-08T20:20:39.814+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hibernate Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenShift"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Application Development"/><title type='text'>Anatomy Of The Default OpenShift Spring Web Application</title><summary type="text">OpenShift lets users create different kind of applications by using cartridges, including Spring applications running on JBoss EAP6. As confirmed by Kazaag on StackOverflow, porting a Spring application developed on Tomcat 7 on JBoss EAP6 should not be a hassle, especially if Tomcat specific features are not used in the application.



The purpose of this post is to discuss the default Spring </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/1054514338636732292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/01/anatomy-of-default-openshift-spring-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1054514338636732292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/1054514338636732292'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/01/anatomy-of-default-openshift-spring-web.html' title='Anatomy Of The Default OpenShift Spring Web Application'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQMt1cWka3r7O3cdiAJlIrYqYxaqp04cz4HsEMMqgOU2KQPHU60I4uGluaLrmEmkUT2BcJI_t_kT3I5mDKMMxL1nsms7xCcZVXJofmvqAejRIne49jTbWomgS_mO-t_fIvvxn6Bv-gjjw0/s72-c/Anatomy.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2054184038285859131.post-3216445697807519784</id><published>2013-01-29T16:33:00.000+01:00</published><updated>2013-03-08T20:29:55.416+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CCI"/><category scheme="http://www.blogger.com/atom/ns#" term="Definition"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="JCA"/><category scheme="http://www.blogger.com/atom/ns#" term="JNDI"/><category scheme="http://www.blogger.com/atom/ns#" term="LDAP"/><category scheme="http://www.blogger.com/atom/ns#" term="SPI"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Application Development"/><title type='text'>What Is JNDI, SPI, CCI, LDAP And JCA?</title><summary type="text">JNDI stands for Java Naming and Directory Interface. It is an API to providing access to a directory service, that is, a service mapping name (strings) with objects, reference to remote objects or simple data. This is called binding. The set of bindings is called the context. Applications use the JNDI interface to access resources.

To put it very simply, it is like a hashmap with a String key </summary><link rel='replies' type='application/atom+xml' href='http://tshikatshikaaa.blogspot.com/feeds/3216445697807519784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/01/what-is-jndi-spi-cci-ldap-and-jca.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/3216445697807519784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2054184038285859131/posts/default/3216445697807519784'/><link rel='alternate' type='text/html' href='http://tshikatshikaaa.blogspot.com/2013/01/what-is-jndi-spi-cci-ldap-and-jca.html' title='What Is JNDI, SPI, CCI, LDAP And JCA?'/><author><name>Jérôme Verstrynge</name><uri>http://www.blogger.com/profile/08714431392750519235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>