<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Le blog de Jean-Eric &#187; Travail</title>
	<atom:link href="http://blog.jesc.ch/category/travail/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jesc.ch</link>
	<description>Family and thoughts on life, computers and others</description>
	<lastBuildDate>Wed, 30 Jun 2010 05:38:50 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.jesc.ch' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/4e0dc4fb3c9a5ab4b437fb316b1aadda?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Le blog de Jean-Eric &#187; Travail</title>
		<link>http://blog.jesc.ch</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.jesc.ch/osd.xml" title="Le blog de Jean-Eric" />
	<atom:link rel='hub' href='http://blog.jesc.ch/?pushpress=hub'/>
		<item>
		<title>Which profile does bash run at login?</title>
		<link>http://blog.jesc.ch/2009/08/07/which-profile-does-bash-run-at-login/</link>
		<comments>http://blog.jesc.ch/2009/08/07/which-profile-does-bash-run-at-login/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 06:18:35 +0000</pubDate>
		<dc:creator>Jean-Eric Cuendet</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Travail]]></category>

		<guid isPermaLink="false">http://blog.jesc.ch/?p=36</guid>
		<description><![CDATA[Have you ever wondered which of the multiple files does bash run when you login to a Linux machine? Remember, there are at least those files that are potentially run: /etc/profile /etc/bash.bashrc /etc/bash_completion .profile .bash_profile .bashrc .bash_completion Depending if you login interactively (getting a shell) or just running a command,some of these files are sourced. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.jesc.ch&amp;blog=442511&amp;post=36&amp;subd=jesc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Have you ever wondered which of the multiple files does bash run when you login to a Linux machine?</p>
<p>Remember, there are at least those files that are potentially run:</p>
<ul>
<li>/etc/profile</li>
<li>/etc/bash.bashrc</li>
<li>/etc/bash_completion</li>
<li>.profile</li>
<li>.bash_profile</li>
<li>.bashrc</li>
<li>.bash_completion</li>
</ul>
<p>Depending if you login interactively (getting a shell) or just running a command,some of these files are sourced.</p>
<h3><span id="more-36"></span>Assumptions</h3>
<p>We will take the case where:</p>
<ul>
<li>You login through SSH</li>
<li>Or you change to a user using su</li>
<li>You have an Ubuntu or Debian Linux machine</li>
</ul>
<p>I suspect that Redhat/Fedora and others are not far away from these assumptions, but I have none to check&#8230;</p>
<p>There are in fact 6 scenarios</p>
<h2>First Scenario : interactive shell with SSH</h2>
<p>You login to a remote machine using SSH, getting a shell. This is the most current use of SSH.</p>
<p>With:</p>
<pre>     ssh user@machine</pre>
<p>You then get a shell.</p>
<p>The files that are sourced are:</p>
<ul>
<li>/etc/profile</li>
<li>/etc/bash.bashrc</li>
<li>.profile</li>
<li>.bashrc</li>
<li>/etc/bash_completion</li>
<li>.bash_completion</li>
</ul>
<p>That&#8217;s right only if <strong>there is no .bash_profile</strong> file in your HOME directory. Else the files sourced are:</p>
<ul>
<li>/etc/profile</li>
<li>/etc/bash.bashrc</li>
<li>.bash_profile</li>
</ul>
<p>In fact, bash sources <em>.bash_profile</em> if it exists, else <em>.bashrc</em></p>
<p>Note that</p>
<ul>
<li><em>/etc/bash.bashrc</em> is sourced by <em>/etc/profile</em> if the shell is <em>bash</em></li>
<li><em>.bashrc</em> is sourced by <em>.profile<br />
</em></li>
<li><em>/etc/bash_completion</em> is in fact sourced by <em>.bashrc</em> (not <em>bash</em> itself directly)</li>
</ul>
<p>So we could summarize this way.</p>
<p>When asking for an interactive shell, bash sources:</p>
<ul>
<li><em>/etc/profile</em></li>
<li><em>.bash_profile</em></li>
<li>Or <em>.profile</em> if <em>.bash_profile</em> is not found</li>
</ul>
<h2>Second scenario : running a command through SSH</h2>
<p>You login to a remote machine using SSH, asking to run a command (no interactive shell)</p>
<pre>     ssh user@machine "command to run" (Ex: ssh user@machine "ls /tmp")</pre>
<p>The files that are sourced are:</p>
<ul>
<li><em>/etc/bash.bashrc</em></li>
<li><em>.bashrc</em></li>
</ul>
<p>Note that <em>.bashrc</em> is run in place of <em>.bash_profile</em> in this case.</p>
<h2>Third scenario : getting an interactive shell using <em>su -</em></h2>
<p>You are logged with root and want to get a shell as another user:</p>
<pre>     su - user</pre>
<p>Note that the <em>minus</em> sign means that you want to source the config files for the target user.</p>
<p>The files that are sourced, are</p>
<ul>
<li><em>/etc/profile</em></li>
<li><em>.bash_profile</em></li>
<li>Or <em>.profile</em> if <em>.bash_profile</em> is not found</li>
</ul>
<h2>Fourth scenario : running a command using <em>su -</em></h2>
<p>You are logged with root and want to get a shell as another user:</p>
<pre>     su - user -c "touch /tmp/file"</pre>
<p>The files that are sourced, are</p>
<ul>
<li><em>/etc/profile</em></li>
<li><em>.bash_profile</em></li>
<li>Or <em>.profile</em> if <em>.bash_profile</em> is not found</li>
</ul>
<p>Note that in this case, <em>.bashrc</em> is <strong>NOT</strong> run from <em>/etc/profile</em> since the shell is not interactve! (PS1 is not defined)</p>
<h2>Fifth scenario : getting an interactive shell using <em>su (without the minus sign)<br />
</em></h2>
<p>You are logged with root and want to run a shell as another user:</p>
<pre>
<pre>     su user</pre>
</pre>
<p>Surprise! Even since you thought that the minus sign would source NO config files, the files that are sourced, are</p>
<ul>
<li><em>/etc/bash.bashrc</em></li>
<li><em>.bashrc</em></li>
</ul>
<p>Note that the sourced files are the same as running a command through SSH!</p>
<h2>Sixth scenario : running a command using <em>su (without the minus sign)<br />
</em></h2>
<p>You are logged with root and want to run a shell as another user:</p>
<pre>
<pre>     su user -c "touch /tmp/file"</pre>
</pre>
<p>And this time, <strong>no surprise</strong>, the files that are sourced, are &#8230; <strong>NONE</strong>!</p>
<p>That&#8217;s exactly what the minus sign means. Become &lt;user&gt;, but don&#8217;t source its config files.</p>
<h2>And the bonus scenario</h2>
<p>What happens when you run a command from a crontab?</p>
<p>First, the default shell when running from a CRON, is /bin/sh. You can change this to bash putting:</p>
<pre>     SHELL=/bin/bash</pre>
<p>as the first line of your crontab file (<em>crontab -e</em> is your friend for this one).</p>
<p>Then sourced config files when the command is run are &#8230; <strong>NONE</strong> also.</p>
<h2>Conclusion</h2>
<p>Every time I need to run remote command on a machine or run a script as a user using <em>su</em>, I ask myself the same questions about those config files!</p>
<p>And we can see above that it&#8217;s not that clear which files are run when&#8230;</p>
<p>So now that&#8217;s done, for the posterity, on my blog so it should last for some time.</p>
<p>Comments of course welcome!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jesc.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jesc.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jesc.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jesc.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jesc.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jesc.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jesc.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jesc.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jesc.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jesc.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jesc.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jesc.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jesc.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jesc.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.jesc.ch&amp;blog=442511&amp;post=36&amp;subd=jesc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.jesc.ch/2009/08/07/which-profile-does-bash-run-at-login/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a0bc15a12faa532d9ca600d5b444ccc0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jesc</media:title>
		</media:content>
	</item>
		<item>
		<title>Embedding Tomcat in Eclipse with Maven, JNDI et tutti quanti!</title>
		<link>http://blog.jesc.ch/2009/05/29/embedding-tomcat-in-eclipse-with-maven-jndi-et-tutti-quanti/</link>
		<comments>http://blog.jesc.ch/2009/05/29/embedding-tomcat-in-eclipse-with-maven-jndi-et-tutti-quanti/#comments</comments>
		<pubDate>Fri, 29 May 2009 11:08:09 +0000</pubDate>
		<dc:creator>Jean-Eric Cuendet</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Travail]]></category>

		<guid isPermaLink="false">http://jesc.wordpress.com/?p=18</guid>
		<description><![CDATA[Context I work at &#171;&#160;Etat de Vaud&#160;&#187; in Switzerland and we have a lot of j2ee Servlet applications which run on Tomcat 6.0.x, that are multi-modules Maven projects. My main concern is about development time, about the time the developer spend (or loose) compiling, packaging, deploying and running the application between 2 &#171;&#160;tests&#160;&#187; Of course, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.jesc.ch&amp;blog=442511&amp;post=18&amp;subd=jesc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Context</h3>
<p>I work at &laquo;&nbsp;Etat de Vaud&nbsp;&raquo; in Switzerland and we have a lot of j2ee Servlet applications which run on Tomcat 6.0.x, that are <strong>multi-modules Maven projects</strong>.</p>
<p>My main concern is about development time, about the time the developer spend (or loose) compiling, packaging, deploying and running the application between 2 &laquo;&nbsp;tests&nbsp;&raquo;</p>
<p>Of course, we use unit tests extensively here, to develop Services, DAOs and other classes, but when it comes to pure web development (understand JSP) the &laquo;&nbsp;round-trip&nbsp;&raquo; time can become huge.</p>
<p>For example, on one of our project, when the developer change code in a controller (Spring MVC), it must</p>
<ul>
<li>Run maven to compile the code and package the war (~30-60 seconds)</li>
<li>Copy the war to webapps of the Tomcat server (or have a symlink if on Linux)</li>
<li>Then tomcat redeploy the application, including the Spring context (DAOs, Services, SessionFactory) which takes around 30 seconds</li>
</ul>
<p>One code modification, <strong>round-trip time = ~1 minute&#8230;</strong></p>
<p>Compare that to PHP, Ruby on Rails or even Grails which are quite instantaneous!</p>
<p><span id="more-18"></span></p>
<h3>Multi-modules Maven projects</h3>
<p>If you have single modules Maven projects, this is not a problem. Say we have:</p>
<pre>myapp/webapp</pre>
<p>which contains JSP and static contents:</p>
<pre>myapp/webapp/css/...
<pre>myapp/webapp/images/...
myapp/webapp/WEB-INF/jsp/...</pre>
</pre>
<p>You have all your code in one location, say</p>
<pre>
<pre>myapp/src/main/java/...</pre>
</pre>
<p>then Eclipse can output compiled classes to</p>
<pre>
<pre>myapp/webapp/WEB-INF/classes/...</pre>
</pre>
<p>and have your libs in</p>
<pre>
<pre>myapp/webapp/WEB-INF/lib/...</pre>
</pre>
<p>Then you can start tomcat on</p>
<pre>
<pre>myapp/webapp/</pre>
</pre>
<p>And that&#8217;s all.</p>
<p>But when you have Multi-modules Maven projects, then you have Java source files in 2-3 places and Eclipse is unable to write all the compiled classes in one place (myapp/webapp/WEB-INF/classes)</p>
<h3>Embedding Tomcat in Eclipse to the rescue!</h3>
<p>The idea is to embedd Tomcat in Eclipse, so Tomcat is in the same JVM/ClassLoader of Eclipse and Tomcat &laquo;&nbsp;sees&nbsp;&raquo; all the projects, and also all the compiled classes and all the libs that are configured in Eclipse.</p>
<p>Step by step:</p>
<ul>
<li>Create a muli-modules Maven project that have, say, 2 modules : business and web (web depends on business)</li>
<li>Import them in Eclipse using the Maven plugin for Eclipse (http://m2eclipse.codehaus.org/)</li>
<li>You then have 3 projects in Eclipse: base, business and web</li>
<li>At this point, the web project sees all the <strong>classes and libs</strong> from business <strong>and</strong> web</li>
<li>Create a class to Embed Tomcat in Eclipse as I&#8217;ll show below</li>
<li>Run your webapp using that class and you have<strong> instantaneous view of your modifications</strong></li>
</ul>
<h3>Embedded Tomcat, with JNDI data sources</h3>
<p>Tomcat 6.0.x is totally able to Embed itself in your code. The idea, is to create a java main() in the <strong>test part of the web</strong> project (in myapp/src/test/java). It&#8217;s important to create it in the test part, so it won&#8217;t be in your generated WAR, and the needed dependencies (catalina.jar, jsp-api, &#8230;) won&#8217;t be neither in your packaged WAR.</p>
<p>Step by step:</p>
<ul>
<li>Create a class that implements the Embedded part of Tomcat (See below)</li>
<li>Debug it as Java Application (It&#8217;s important to &laquo;&nbsp;Run as Debug&nbsp;&raquo; so Eclipse is able to &laquo;&nbsp;feed&nbsp;&raquo; the webapp with the modified code without restarting the whole application)</li>
</ul>
<p><span style="text-decoration:underline;">Embedded class:</span></p>
<pre>public class TomcatRunner {

 private static final Logger log = Logger.getLogger(TomcatRunner.class);

 private Embedded embedded;
 private String catalinaHome;
 private String pwd;

 public TomcatRunner(String contextPath, String webappDir, String contextXmlPath) throws Exception {

 // Current dir =&gt; ..../myapp/web
 final File file = new File(".");
 pwd = file.getCanonicalPath();

 // Create CATALINA_HOME
 File catalinaHomePath = new File(pwd+"/target/CATALINA_HOME");
 if (!catalinaHomePath.exists()) {
 Assert.isTrue(catalinaHomePath.mkdirs());
 }
 catalinaHome = catalinaHomePath.getCanonicalPath();

 // Create an embedded server
 embedded = new Embedded();
 embedded.setCatalinaHome(catalinaHome);

 // Create an engine
 final Engine engine = embedded.createEngine();
 engine.setDefaultHost("localhost");

 // Create a default virtual host
 final Host host = embedded.createHost("localhost", pwd /*Bas dir for webapps*/);
 engine.addChild(host);

 // The context of myapp
 // myapp/default-web.xmlis the default web.xml used for the context.
 // It contains the JSP and "static content" servlets. You can find that file in apache-tomcat-6.0.18/conf/web.xml
 final Context context = createContext(contextPath, pwd+"/"+webappDir, pwd+"/"+contextXmlPath, "myapp/default-web.xml");
 host.addChild(context);

 // Install the assembled container hierarchy
 embedded.addEngine(engine);

 // Assemble and install a default HTTP connector
 final Connector connector = embedded.createConnector(""/*Default to localhost*/, 8080/*Port to listen*/, false/*Secure*/);
 embedded.addConnector(connector);
 }

 public void start() throws Exception {
 // Start the embedded server
 embedded.start();
 }

 private static Context createContext(String path, String docBase, String contextFilePath, String defaultWebXmlPath) {
 log.debug("Creating context '" + path + "' with docBase '" + docBase + "'");

 StandardContext context = new StandardContext();

 context.setDocBase(docBase);
 context.setPath(path);

 ContextConfig config = new ContextConfig();
 config.setDefaultWebXml(defaultWebXmlPath);
 config.setCustomAuthenticators(null);
 context.addLifecycleListener(config);
 // This is the config of the JDNI datasources
 if (StringUtils.isNotBlank(contextFilePath)) {
 File configFile = new File(contextFilePath);
 context.setConfigFile(configFile.getAbsolutePath());
 }
 return context;
 }

}</pre>
<p>Then you can use it with:</p>
<pre> // A global property configured for the server
 System.setProperty("myapp.appDir", "appDir/devel");

 TomcatRunner runner = new TomcatRunner("/my/app", "webapp", "webapp/META-INF/context.xml");
 runner.start();</pre>
<p>And then start it as &laquo;&nbsp;Debug&nbsp;&raquo;. That&#8217;s it!</p>
<h3>JNDI</h3>
<p>If you have JNDI data sources, you can configure them in the file</p>
<pre>webapp/META-INF/context.xml</pre>
<p><span style="text-decoration:underline;">Example of context.xml:</span></p>
<pre>&lt;Context debug="true" reloadable="true" crossContext="true" antiJARLocking="true"&gt;
   &lt;Resource name="jdbc/myAppDataSource" auth="Container" type="javax.sql.DataSource"
     maxActive="100" maxIdle="30" maxWait="10000"
     validationQuery="select sysdate from dual"
     username="WEB_USER" password="pwd" driverClassName="oracle.jdbc.OracleDriver"
     url="jdbc:oracle:thin:@&lt;server&gt;:1521:orcl"/&gt;
&lt;/Context&gt;</pre>
<h3>Usage</h3>
<p>The goal is to be able to modifiy static content, JSPs or java code and that it is used instantaneously without needing a restart or a manual operation.</p>
<p>To be able to use that Embedded tomcat thing, you need to start it as debug, then browse to http://localhost:8080/my/app</p>
<p>You should then be able to access your application, through the embedded tomcat.</p>
<p><span style="text-decoration:underline;">Static content (CSS, images):</span></p>
<p>Say you modify myapp/webapp/css/myapp.css, the file is directly in the webapp folder so it is reloaded next time you load a page that use that CSS. Idem for images.</p>
<p><span style="text-decoration:underline;">JSPs</span></p>
<p>If Tomcat is configured to recompile JSPs when they are modified (which is the default), then as soon as you modify a JSP, it&#8217;s recompiled the next time you access it.</p>
<p><span style="text-decoration:underline;">Java code</span></p>
<p>This is the greatest part. If you modify java code in Eclipse, eclipse recompiles the java file to the corresponding .class, then also <strong>feed it to the debugger</strong> so the JVM sees the new version. (That works only if you &laquo;&nbsp;Run as Debug&nbsp;&raquo; from Eclipse)</p>
<p>So when you reload your page, the new class is used and the modified code is used. Magic!</p>
<h3>Limitations</h3>
<p>There is one limitation, which is not due to this setup, eclipse or Tomcat. It&#8217;s due to the fact that Java debugger can&#8217;t be feed a class that has &laquo;&nbsp;changed too much&nbsp;&raquo;. Changing too much means that as long as you change code <strong>in a method</strong>, that&#8217;s normally fine. But if you add/remove/rename a class, a class method or a class member, then the debugger is unable to feed it to the JVM through the debugger. Eclipse warns by saying: &laquo;&nbsp;Hot code replaced failed&nbsp;&raquo;, saying that your modified code is not available in the JVM (the old code stays there) and that you should restart your application.</p>
<p>You then need to simply stop the TomcatRunner and restart it.</p>
<p>Another limitation is that if the modified classes was already run and loaded, then it won&#8217;t be reloaded before a server restart. One example, is if you have a class that set up some values in a Singleton, changing the singleton code won&#8217;t change the singleton already in memory. Idem for the spring context.</p>
<h3>Conclusion</h3>
<p>Using this setup change the round-trip time from ~60 seconds to instantaneous, which is great. Due to the limitations above, we must restart the webapp every 3-10 minutes depending which code we are changing, but that&#8217;s acceptable. And remember we use Unit tests for all development, we use that setup only for pure web development (JSPs)</p>
<p><span style="text-decoration:underline;">References:</span></p>
<p>http://www.onjava.com/pub/a/onjava/2002/04/03/tomcat.html</p>
<p>http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/startup/Embedded.html</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jesc.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jesc.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jesc.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jesc.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jesc.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jesc.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jesc.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jesc.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jesc.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jesc.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jesc.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jesc.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jesc.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jesc.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.jesc.ch&amp;blog=442511&amp;post=18&amp;subd=jesc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.jesc.ch/2009/05/29/embedding-tomcat-in-eclipse-with-maven-jndi-et-tutti-quanti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a0bc15a12faa532d9ca600d5b444ccc0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jesc</media:title>
		</media:content>
	</item>
		<item>
		<title>Jesc.ch est mort. Vive jesc.ch!</title>
		<link>http://blog.jesc.ch/2009/01/03/jescch-est-mort-vive-jescch/</link>
		<comments>http://blog.jesc.ch/2009/01/03/jescch-est-mort-vive-jescch/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 14:23:32 +0000</pubDate>
		<dc:creator>Jean-Eric Cuendet</dc:creator>
				<category><![CDATA[Travail]]></category>

		<guid isPermaLink="false">http://jesc.wordpress.com/?p=7</guid>
		<description><![CDATA[Et voila, c&#8217;est fait. Mon site est down! Vive mon nouveau site! Fini le site jesc.ch de mon travail indépendant et vive mon (notre) blog sur wordpress. Ce changement est important parce qu&#8217;li met un terme à mon travail indépendant, terminé effectivement en décembre 2006 sur burn-out, mais le site restait. Il est maintenant down, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.jesc.ch&amp;blog=442511&amp;post=7&amp;subd=jesc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Et voila, c&#8217;est fait. Mon site est down! Vive mon nouveau site!</p>
<p>Fini le site <a title="jesc.ch" href="http://jesc.ch" target="_blank">jesc.ch</a> de mon travail indépendant et vive mon (notre) blog sur wordpress.</p>
<p>Ce changement est important parce qu&#8217;li met un terme à mon travail indépendant, terminé effectivement en décembre 2006 sur burn-out, mais le site restait. Il est maintenant down, voila, ça c&#8217;est fait, comme dirait brice.</p>
<p>Pour votre info, <strong>JeSC</strong> ca voulait dire &laquo;&nbsp;<strong>J</strong>ean-<strong>E</strong>ric <strong>S</strong>oftware et <strong>C</strong>onsulting&nbsp;&raquo;</p>
<p>Et maintenant ça veut tout simplement dire: &laquo;&nbsp;<strong>J</strong>ean-<strong>E</strong>ric et <strong>S</strong>ara <strong>C</strong>uendet&nbsp;&raquo;</p>
<p>A bientot donc pour de nouvelles aventures.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jesc.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jesc.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jesc.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jesc.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jesc.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jesc.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jesc.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jesc.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jesc.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jesc.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jesc.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jesc.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jesc.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jesc.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.jesc.ch&amp;blog=442511&amp;post=7&amp;subd=jesc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.jesc.ch/2009/01/03/jescch-est-mort-vive-jescch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a0bc15a12faa532d9ca600d5b444ccc0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jesc</media:title>
		</media:content>
	</item>
		<item>
		<title>Intel Core 2, is that the same as Intel core duo? Not really&#8230;</title>
		<link>http://blog.jesc.ch/2006/09/28/intel-core-2-is-that-the-same-as-intel-core-duo-not-really/</link>
		<comments>http://blog.jesc.ch/2006/09/28/intel-core-2-is-that-the-same-as-intel-core-duo-not-really/#comments</comments>
		<pubDate>Thu, 28 Sep 2006 10:27:36 +0000</pubDate>
		<dc:creator>Jean-Eric Cuendet</dc:creator>
				<category><![CDATA[Travail]]></category>

		<guid isPermaLink="false">http://jesc.wordpress.com/2006/09/28/intel-core-2-is-that-the-same-as-intel-core-duo-not-really/</guid>
		<description><![CDATA[Hi, As some of you know, Intel is releasing a new family of processors, the &#171;&#160;Core 2&#8243;. Here is a short explaination of what it is exactly. Intel made several families of microprocessors: - Pentium - Pentium II - Pentium 3 - Pentium 4 - Pentium M (for laptops, also known as Centrino) - Intel [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.jesc.ch&amp;blog=442511&amp;post=3&amp;subd=jesc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="moz-text-flowed" style="font-size:13px;">Hi,<br />
As some of you know, Intel is releasing a new family of processors, the  &laquo;&nbsp;Core 2&#8243;. Here is a short explaination of what it is exactly.</p>
<p>Intel made several families of microprocessors:<br />
- Pentium<br />
- Pentium II<br />
- Pentium 3<br />
- Pentium 4<br />
- Pentium M (for laptops, also known as Centrino)<br />
- Intel Core<br />
- Intel Core 2</p>
<p>These are families, based on different micro-architectures.<br />
In 2000, Intel introduced the new P4, a completely new processor family,  with a new micro-architecture called NetBurst. It was designed to be  able to go very high in frequency. At the expense of a bad  instruction/cycle rate. This had also the drawback that it used a lot of  power, since the frequency was very high (as high as 4GHz). And also  become very hot, needing BIG fans to cool it.</p>
<p>In parallel, Intel developped its Pentium 3 processor into the Pentium  M, known as Centrino, for laptops. The P4 used too much power for  laptops, so Intel used that good old P3 and redesigned it to be very  power efficient.</p>
<p>Intel also has the Xeon family of processors, used in servers. It is  based on the P4 design. The differences between a P4 and a P4 Xeon is  the quantity of cache memory on the processor chip and the ability to be  run as multi-processors.</p>
<p><span id="more-3"></span></p>
<p>Then Intel unveiled the &laquo;&nbsp;Intel Core&nbsp;&raquo; processors, which is a Pentium-M  (aka Centrino) redesigned to be more powerful. They were used in  laptops, but also in desktops, for not too demanding applications. Apple  Intel based Macs use the &laquo;&nbsp;Intel Core&nbsp;&raquo; processors. These processors are  available in 2 flavors:<br />
- Intel Core Solo : 1 processor<br />
- Intel Core Duo : 2 processors<br />
The DUO is just like a Dual-processor computer (it&#8217;s like having 2 &laquo;&nbsp;Core  Solo&nbsp;&raquo; processors), but the 2 processors are in the same chip (In the  same piece of silicon).</p>
<p>So Intel has 3 lines of processors:<br />
- Desktops (P4)<br />
- Laptops (Centrino)<br />
- Servers (P4 Xeon)</p>
<p>Since 3 years, AMD, the other microprocessor firm, has the lead in  performance over Intel, with its Opteron and Athlon64 series of  processors. They are more powerful, and use less power to do it. That&#8217;s  all that companies want for servers. Less power means less climatisation  and smaller power bill at the end of month! And that&#8217;s also all that  gamers want for best FPS in games! So AMD got +16% market share from  Intel last year only!<br />
AMD has the lead in servers and desktops computers, but are quite  insignifiant in laptops.</p>
<p>But now, Intel strikes back! They unveil the &laquo;&nbsp;Core 2&#8243; microarchitecture.  This is not the same as &laquo;&nbsp;Core Duo&nbsp;&raquo;, this is a new architecture based on  the &laquo;&nbsp;Intel Core&nbsp;&raquo;. So you have:<br />
Intel Core<br />
Core Solo (One &laquo;&nbsp;Intel core&nbsp;&raquo; processor)<br />
Core Duo (Two &laquo;&nbsp;Intel core&nbsp;&raquo; processors)<br />
Intel Core 2<br />
Core 2 Solo (One &laquo;&nbsp;Intel core 2&#8243; processor)<br />
Core 2 Duo (Two &laquo;&nbsp;Intel core 2&#8243; processors)</p>
<p>These processors are designed to get the lead back from AMD. After the  first benchmarks (based on Games like Quake or UnrealTournament), they  seem to be around 30% faster that AMD Athlon64 at the same clock speed!  Done by independent reviewers of course:<br />
<a class="moz-txt-link-freetext" href="http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2795">http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2795</a> <a class="moz-txt-link-freetext" href="http://reviews.cnet.com/Intel_Core_2_Duo_E6700/4505-3086_7-31973836.html">http://reviews.cnet.com/Intel_Core_2_Duo_E6700/4505-3086_7-31973836.html</a><br />
<a class="moz-txt-link-freetext" href="http://www.tomshardware.com/2006/07/14/core2_duo_knocks_out_athlon_64/">http://www.tomshardware.com/2006/07/14/core2_duo_knocks_out_athlon_64/</a></p>
<p>&laquo;&nbsp;Core 2&#8243; processors are declined in 3 versions:<br />
- Laptops (Code name Merom)<br />
- Desktops (Code name Conroe)<br />
- Servers (Code name Woodcrest)<br />
They are all based on &laquo;&nbsp;Core 2&#8243; architecture, and they all come in Solo  or Duo versions (which is 1 or 2 processors on the same chip). Core 2  processors are available now for Desktops and Servers, while laptops  ones will arrive in september.</p>
<p>Voila. The goal of this (lengthy) mail was to explain that &laquo;&nbsp;Core 2&#8243; and  &laquo;&nbsp;Core Duo&nbsp;&raquo; are not the same thing as a lot of people tend to believe.</p>
<p>See you.</p>
<p class="moz-txt-sig">Jean-Eric Cuendet<br />
Perso     : <a class="moz-txt-link-freetext" href="http://www.jesc.ch/">http://www.jesc.ch</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jesc.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jesc.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jesc.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jesc.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jesc.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jesc.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jesc.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jesc.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jesc.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jesc.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jesc.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jesc.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jesc.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jesc.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jesc.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jesc.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.jesc.ch&amp;blog=442511&amp;post=3&amp;subd=jesc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.jesc.ch/2006/09/28/intel-core-2-is-that-the-same-as-intel-core-duo-not-really/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a0bc15a12faa532d9ca600d5b444ccc0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jesc</media:title>
		</media:content>
	</item>
	</channel>
</rss>