<?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: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-718882310162184516</id><updated>2012-01-27T03:18:26.423-08:00</updated><category term='get absolute path of the web-inf folder'/><category term='JAXBElements'/><category term='process explorer'/><category term='remove flash disk'/><category term='JAXB'/><title type='text'>Nerd Experience</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-5773618297635472669</id><published>2012-01-27T03:03:00.000-08:00</published><updated>2012-01-27T03:18:26.428-08:00</updated><title type='text'>trim() not supported by IE7 and IE8</title><content type='html'>Funny fact, trim function is not supported by IE7 and IE8.&lt;br /&gt;&lt;br /&gt;Ok, it is supported, but through jQuery trim function.&lt;br /&gt;So, when you have something like this: &lt;blockquote&gt;jQuery(...).attr().trim()&lt;/blockquote&gt;, this trim() function stops having any relation to jQuery, as the attr() would return String type, which method would be then trim(). Since IE7 and IE8 do not support trim() method within String type, you should use instead &lt;blockquote&gt;jQuery.trim(jQuery(...).attr())&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;or if you don't wanna use jQuery (whyyyy?), you can simply implement the trim function youself.&lt;br /&gt;&lt;blockquote&gt;if(typeof String.prototype.trim !== 'function') {&lt;br /&gt;  String.prototype.trim = function() {&lt;br /&gt;    return this.replace(/^\s+|\s+$/g, ''); &lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;http://www.blogger.com/img/blank.gif&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/7719508/jquery-object-doesnt-suhttp://www.blogger.com/img/blank.gifpport-property-or-method-trim-in-ie"&gt;source 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/2308134/trim-in-javascript-not-working-in-ie"&gt;source 2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-5773618297635472669?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/5773618297635472669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=5773618297635472669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5773618297635472669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5773618297635472669'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2012/01/trim-not-supported-by-ie7-and-ie8.html' title='trim() not supported by IE7 and IE8'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-6857977462276450162</id><published>2012-01-27T02:16:00.000-08:00</published><updated>2012-01-27T02:32:02.286-08:00</updated><title type='text'>Testing developments for different versions of Internet Explorer</title><content type='html'>I found excellent article on development environments different IE versions review, made By &lt;a rel="author" title="Posts by Addy Osmani" href="http://coding.smashingmagazine.com/author/addy-osmani/"&gt;Addy Osmani&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Article can be found &lt;a href="http://coding.smashingmagazine.com/2011/09/02/reliable-cross-browser-testing-part-1-internet-explorer/"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I usually tend to take all the context from the page into this blog to make sure it exist also after the page disappears (you will be surprised how fast linkhttp://www.blogger.com/img/blank.gifs gets changed, wither due to change of the link itself, or to site being closed down due to whatever reasons). This time I'll give it a risk.&lt;br /&gt;&lt;br /&gt;Just as a summary, for fast and simple testing, use F12 development mode, and for more detailed test, use the virtual machines and &lt;a href="http://utilu.com/IECollection/"&gt;IECollection&lt;/a&gt; (you have to get yourself licensed versions of Windows (XP, Vista, and 7)), or use the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=11575"&gt;Windows Virtual PC VHDs&lt;/a&gt; (read Notes, max 90 days of being able to permanently save any changes, made on the images).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As a long time user of Virtual machines, I do like to use virtual machines, like &lt;a href="http://www.vmware.com/"&gt;VMware&lt;/a&gt; or &lt;a href="https://www.virtualbox.org/"&gt;VirtualBox&lt;/a&gt;, but still, the easiest way so far is to use F12 developer mode button on IE, and set the browser version to one you require.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-6857977462276450162?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/6857977462276450162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=6857977462276450162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/6857977462276450162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/6857977462276450162'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2012/01/testing-developments-for-different.html' title='Testing developments for different versions of Internet Explorer'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-3084017970414482368</id><published>2012-01-25T03:21:00.000-08:00</published><updated>2012-01-25T03:29:07.188-08:00</updated><title type='text'>tabindex browser compatibility issue</title><content type='html'>When creating form, take care of the way how the fields are passed on when &lt;TAB&gt; key is pressed. It is usually solved via tabindex, being set as an attribute to the form fields.&lt;br /&gt;However, if some of the elements in the following set {A, AREA, BUTTON, INPUT, OBJECT, SELECT, and TEXTAREA} are not tabindexed, browsers will behave differently upon them. &lt;br /&gt;&lt;br /&gt;Internet Explorer will make them first in the order, and then those which are tabindexed, and Firefox would do opposite. Therefore you can either put to not tabindexed elements very large value (up to 32545), so they are shown always the last, or put tabindex="-1". I personally would not use the latter case, as it is not valid value for tabindex in its defition, so the browsers might change the way they behave upon it in the future.&lt;br /&gt;&lt;br /&gt;Some more details about it, I have found pretty nice article:&lt;br /&gt;http://www.codestore.net/store.nsf/unid/BLOG-20060706&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-3084017970414482368?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/3084017970414482368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=3084017970414482368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/3084017970414482368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/3084017970414482368'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2012/01/tabindex-browser-compatibility-issue.html' title='tabindex browser compatibility issue'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-1609665215174119154</id><published>2012-01-24T07:55:00.001-08:00</published><updated>2012-01-24T07:59:02.105-08:00</updated><title type='text'>Triggering event in a Form/Javascript</title><content type='html'>Sometimes the values you put in the form through any kind of way except user interaction are not triggering change event upon which some other parts of the form behave. In order to forcefully trigger the even, you can use jQuery.&lt;br /&gt;jQuery('YOUR_SELECTOR').trigger('change');&lt;br /&gt;or simply&lt;br /&gt;$('YOUR_SELECTOR').trigger('change');&lt;br /&gt;&lt;br /&gt;My Advice. ALWAYS use jQuery rather than any custom made functions, since jQuery is guaranteed to be web browser compatible! And it is cool and easy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-1609665215174119154?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/1609665215174119154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=1609665215174119154' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1609665215174119154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1609665215174119154'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2012/01/triggering-event.html' title='Triggering event in a Form/Javascript'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-583044533688075707</id><published>2012-01-22T11:11:00.001-08:00</published><updated>2012-01-22T11:12:29.933-08:00</updated><title type='text'>Problem of Spring using ISO9968-1 instead of UTF8</title><content type='html'>After a long search for a solution, a friend of mine gave me this solution.&lt;br /&gt;Put on top of each jsp file the following two lines:&lt;br /&gt;&lt;%@ page contentType="text/html; charset=UTF-8" %&gt;&lt;br /&gt;&lt;%@ page pageEncoding="UTF-8" %&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-583044533688075707?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/583044533688075707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=583044533688075707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/583044533688075707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/583044533688075707'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2012/01/problem-of-spring-using-iso9968-1.html' title='Problem of Spring using ISO9968-1 instead of UTF8'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-5201408095876637630</id><published>2012-01-19T03:08:00.001-08:00</published><updated>2012-01-19T03:13:08.474-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='get absolute path of the web-inf folder'/><title type='text'>Get the current path of the web project - alternative way</title><content type='html'>This alternative way to get absolute path for some of the things, is useful when you need to read or write a some project related file and use it later again.&lt;br /&gt;&lt;br /&gt;File file=new File(&lt;currentClass&gt;.class.getClassLoader().getResource("WEB-INF/").getFile());&lt;br /&gt;System.out.println("path is:"+file.getAbsolutePath());&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-5201408095876637630?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/5201408095876637630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=5201408095876637630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5201408095876637630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5201408095876637630'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2012/01/get-current-path-of-web-project.html' title='Get the current path of the web project - alternative way'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-8204088790264989666</id><published>2012-01-18T06:30:00.000-08:00</published><updated>2012-01-18T06:37:11.052-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXBElements'/><title type='text'>Prevent JAXB from creating JAXBElements</title><content type='html'>I had some annoying trouble with updating JAXB1.0 code into JAXB2.0 code, among which the one of the things is the generation og JAXBElements instead normal type, like JAXBElements&lt;Double&gt; instead of simple double.&lt;br /&gt;This is due to fact that JAXB wants to define cases of elements in XSD with minOccurs="0" and nillable="true". If you don't care about such issue, then you can prevent JAXB from creating the JAXBElements in a following way:&lt;br /&gt;&lt;br /&gt;Add to your command line generation -b addCFG.xjb&lt;br /&gt;where addCFG.xjb is this file:&lt;br /&gt;&lt;jaxb:bindings http://www.blogger.com/img/blank.gif&lt;br /&gt;    xmlns:xsd="http://www.w3.org/2001/XMLSchema"&lt;br /&gt;    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"&lt;br /&gt;    jaxb:version="2.0"&gt;&lt;br /&gt;    &lt;jaxb:globalBindings generateElementProperty="false"/&gt;&lt;br /&gt;&lt;/jaxb:bindings&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mail-archives.apache.org/mod_mbox/cxf-users/200812.mbox/%3C200812021651.07999.dkulp@apache.org%3E"&gt;source&lt;/a&gt;:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-8204088790264989666?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/8204088790264989666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=8204088790264989666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8204088790264989666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8204088790264989666'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2012/01/prevent-jaxb-from-creating-jaxbelements.html' title='Prevent JAXB from creating JAXBElements'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-5041966787738077794</id><published>2012-01-18T06:21:00.000-08:00</published><updated>2012-01-18T06:29:07.015-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remove flash disk'/><category scheme='http://www.blogger.com/atom/ns#' term='process explorer'/><title type='text'>Process Explorer</title><content type='html'>(Windows related)&lt;br /&gt;&lt;br /&gt;There is a nice additional utility from Microsoft, for regulating problems/stuff in windows. This utility is sort of a advanced version of task manager, just muuuch better.&lt;br /&gt;&lt;br /&gt;It's called the &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653"&gt;Process Explorer&lt;/a&gt;, and it has number many additional features among which these are probably most interesting for regular users:&lt;br /&gt;- Actual view of all the applications that are running&lt;br /&gt;- list of handles opened - this is especially useful when some of programs have closed the connection opened towards peripherals, like removable media (USB stick, flash stick, camera, etc.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-5041966787738077794?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/5041966787738077794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=5041966787738077794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5041966787738077794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5041966787738077794'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2012/01/process-xp.html' title='Process Explorer'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-7597878185436271069</id><published>2011-06-15T01:01:00.001-07:00</published><updated>2011-06-15T01:03:53.807-07:00</updated><title type='text'>Timeline on Latex</title><content type='html'>One of nicer looking timeline graphs for Latex is by using the chronology package&lt;br /&gt;&lt;br /&gt;This is the example:&lt;br /&gt;\usepackage{chronology}&lt;br /&gt;...&lt;br /&gt;\begin{chronology}[5]{1983}{2010}{3ex}{\textwidth}&lt;br /&gt;\event{1984}{one}&lt;br /&gt;\event[1985]{1986}{two}&lt;br /&gt;\event{\decimaldate{25}{12}{2001}}{three}&lt;br /&gt;\end{chronology}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/217834/how-to-create-a-timeline-with-latex"&gt;source&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-7597878185436271069?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/7597878185436271069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=7597878185436271069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/7597878185436271069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/7597878185436271069'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2011/06/timeline-on-latex.html' title='Timeline on Latex'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-8957484113374260124</id><published>2011-06-15T00:59:00.000-07:00</published><updated>2011-06-15T01:04:39.159-07:00</updated><title type='text'>Installing new package in Latex</title><content type='html'>If you are using linux, the TeX Live is installed on:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;/usr/share/texmf-texlive/tex/latex&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To install a style file you have to create a directory for it and copy the contents there. Next you have to run the program &lt;span style="font-weight:bold;"&gt;mktexlsr&lt;/span&gt; as root.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-8957484113374260124?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/8957484113374260124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=8957484113374260124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8957484113374260124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8957484113374260124'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2011/06/installing-new-package-in-latex.html' title='Installing new package in Latex'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-6682183116411132627</id><published>2011-05-16T11:29:00.001-07:00</published><updated>2011-05-16T11:31:05.920-07:00</updated><title type='text'>Bulk renaming in Debian Linux</title><content type='html'>The simplest way to this is using a perl script called rename (debian linux only)&lt;br /&gt;&lt;br /&gt;I used only substitute strings, but it fully supports filenames which is really cool :)&lt;br /&gt;&lt;br /&gt;rename -v 's/oldString/newString/' *.htm&lt;br /&gt;&lt;br /&gt;Two sources for this:&lt;br /&gt;http://tips.webdesign10.com/how-to-bulk-rename-files-in-linux-in-the-terminal&lt;br /&gt;http://www.troubleshooters.com/codecorn/littperl/perlreg.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-6682183116411132627?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/6682183116411132627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=6682183116411132627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/6682183116411132627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/6682183116411132627'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2011/05/bulk-renaming-in-debian-linux.html' title='Bulk renaming in Debian Linux'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-6268473952215064410</id><published>2011-02-26T09:40:00.000-08:00</published><updated>2011-02-26T10:07:50.313-08:00</updated><title type='text'>Case sensitive stuff and figures in latex</title><content type='html'>I had some troubles to link the latex sources done in windows (case insensitive) to compile on linux (case sensitive). In order to fastly solve this problem, first, I run in shell (simply copy/paste in terminal) following code to make all figure files lowercase. This code works only for current directory.&lt;br /&gt;&lt;br /&gt;for f in *; do&lt;br /&gt;g=`expr "xxx$f" : 'xxx\(.*\)' | tr '[A-Z]' '[a-z]'`&lt;br /&gt;mv "$f" "$g"&lt;br /&gt;done &lt;br /&gt;&lt;br /&gt;However, I found a bit difficult part to rename all the figure links within latex to lowercase. At least not without coding. I didnt have time to check the possibility to edit the code above to so it could be used also within files, but when I come up to this issue again, I might reedit this post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-6268473952215064410?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/6268473952215064410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=6268473952215064410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/6268473952215064410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/6268473952215064410'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2011/02/case-sensitive-stuff-and-figures-in.html' title='Case sensitive stuff and figures in latex'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-4881476691887376020</id><published>2011-02-10T02:50:00.000-08:00</published><updated>2011-11-22T04:27:10.729-08:00</updated><title type='text'>X forwarding: Took me long for this discovery :)</title><content type='html'>VNC works usually pretty well to control PCs remotely. However, sometimes you only want to run just one program from the remote PC (or 64-core server), like matlab.&lt;br /&gt;Better option than VNC is definitely X forwarding.&lt;br /&gt;&lt;br /&gt;ssh -l username -X -v servername&lt;br /&gt;&lt;br /&gt;Once you login, simply just run the command for your program, and it will be open like a regular program :)&lt;br /&gt;&lt;br /&gt;More details on:&lt;br /&gt;http://www.vanemery.com/Linux/XoverSSH/X-over-SSH2.html&lt;br /&gt;&lt;br /&gt;There is also a possibility to do the same in windows using putty and Xwin32:&lt;br /&gt;http://www.math.umn.edu/systems_guide/putty_xwin32.html&lt;br /&gt;&lt;br /&gt;edit: In order to enable the X forwarding on your own machine, do the following (ubuntu 11.10)&lt;br /&gt;&lt;br /&gt;1) Install openssh-server&lt;br /&gt;“sudo apt-get install openssh-server” &lt;br /&gt;&lt;br /&gt;2) Edit the file /etc/ssh/ssh_config. Find/uncomment/modify these lines:&lt;br /&gt;ForwardAgent yes&lt;br /&gt;ForwardX11 yes&lt;br /&gt;ForwardX11Trusted yes&lt;br /&gt;&lt;br /&gt;3) Edit /etc/ssh/sshd_config. Find/uncomment/modify these lines:&lt;br /&gt;X11Forwarding yes&lt;br /&gt;&lt;br /&gt;4) Restart your SSH server. &lt;br /&gt;Earlier, you were playing with init.d, now in Ubuntu it is advised to use this instead:&lt;br /&gt;"sudo service ssd restart"&lt;br /&gt;&lt;br /&gt;source: http://www.craigryder.com/linux-ubuntudebetc/x11-forwarding-and-ssh-for-remote-linux-ubuntu-desktop/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-4881476691887376020?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/4881476691887376020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=4881476691887376020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/4881476691887376020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/4881476691887376020'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2011/02/x-forwarding-took-me-long-for-this.html' title='X forwarding: Took me long for this discovery :)'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-1890446084059921051</id><published>2010-08-04T00:55:00.000-07:00</published><updated>2010-08-04T01:01:34.568-07:00</updated><title type='text'>Parallel processing, yiha :)</title><content type='html'>So, you have some very high computation-demanding work to do? Furthermore, you also have some fancy server with 16 cores or more, all available for your sexy computations?&lt;br /&gt;Cool, then you would LOVE the &lt;a href="http://code.google.com/p/ppss/"&gt;ppss&lt;/a&gt;.&lt;br /&gt;What it does is that it can scan for you how many cores has the machine that runs ppss, and schedules list of processes to each of the cores.&lt;br /&gt;For example, I have around 200 separate simulations to perform.&lt;br /&gt;I downloaded ppss (no compilation necessary :) ), and just run it with specific command (help can be found on link above).&lt;br /&gt;&lt;br /&gt;It reduced the running time of my simulations from 2 weeks to 2 days :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-1890446084059921051?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/1890446084059921051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=1890446084059921051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1890446084059921051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1890446084059921051'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2010/08/parallel-processing-yiha.html' title='Parallel processing, yiha :)'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-1333193608392075165</id><published>2010-08-04T00:52:00.001-07:00</published><updated>2010-08-04T00:54:59.128-07:00</updated><title type='text'>Turn off the windows automatic updates</title><content type='html'>I am one of those people who don't like to turn off their PCs. Yea, really nice waste of energy, I know...&lt;br /&gt;&lt;br /&gt;Usually work PC is the place when always something is running overnight, either some sort of calculations, parsing, simulations or any other nerdy stuff.&lt;br /&gt;&lt;br /&gt;The most annoying part, when you work on windows, are the automatic updates. It can restart your PC by itself just to apply just installed updates. "§$%&amp;%$ windows!&lt;br /&gt;&lt;br /&gt;In order to disable such a stupid option, &lt;br /&gt;Go to Start, Run "gpedit.msc" to bring up the group policy editor. &lt;br /&gt;Then navigate to the folder&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Local Computer Policy&lt;br /&gt;-&gt;Computer Configuration&lt;br /&gt;  -&gt;Administrative Templates&lt;br /&gt;    -&gt;Windows Components&lt;br /&gt;      -&gt;Windows Update&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;There are two settings and both will work, so it's your choice. Either enable &lt;span style="font-weight:bold;"&gt;No auto-restart for schedule Automatic Updates installations&lt;/span&gt; or set &lt;span style="font-weight:bold;"&gt;Re-prompt for restart with scheduled installations&lt;/span&gt; to a long time interval, like 1440 minutes.&lt;br /&gt;&lt;br /&gt;I prefer the first one :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-1333193608392075165?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/1333193608392075165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=1333193608392075165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1333193608392075165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1333193608392075165'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2010/08/turn-off-windows-automatic-updates.html' title='Turn off the windows automatic updates'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-9151026543264652030</id><published>2010-05-13T08:05:00.001-07:00</published><updated>2010-05-13T08:08:49.814-07:00</updated><title type='text'>Running a process that doesnt get killed on hangup</title><content type='html'>If you want to run a process on a server you are remotely connected to, without getting it disturbed if you close your SSH/telnet connection to a server, you should use command nohup&lt;br /&gt;&lt;br /&gt;example:&lt;br /&gt;nohup your_command &amp;&lt;br /&gt;&lt;br /&gt;&amp; puts it into backgroung process, and nohup is a POSIX command to ignore the HUP (hangup) signal, enabling the command to keep running after the user who issues the command has logged out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-9151026543264652030?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/9151026543264652030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=9151026543264652030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/9151026543264652030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/9151026543264652030'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2010/05/running-process-that-doesnt-get-killed.html' title='Running a process that doesnt get killed on hangup'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-4902580550119557447</id><published>2010-04-29T10:43:00.000-07:00</published><updated>2010-04-29T10:50:49.256-07:00</updated><title type='text'>TOSSIM Python compiling problem</title><content type='html'>When you use TOSSIM in TinyOS, you come up to this error:&lt;br /&gt;&lt;br /&gt;In function ‘void SWIG_Python_FixMethods(PyMethodDef*, swig_const_info*, swig_type_info**, swig_type_info**)’&lt;br /&gt;error: invalid conversion from ‘const char*’ to ‘char*’&lt;br /&gt;&lt;br /&gt;(overall there are two errors like this one)&lt;br /&gt;&lt;br /&gt;First check whether the error can be solved using solution on TinyOS wiki website on &lt;br /&gt;&lt;a href="http://docs.tinyos.net/index.php/TOSSIM#You_have_Python_support_installed.2C_but_the_make_system_can.27t_find_it"&gt; TOSSIM &lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If even than, it doesn't work,&lt;br /&gt;go to $TOSROOT/tos/lib/tossim and run ./generate-swig.bash&lt;br /&gt;In my case, it shows you some warnings, but that is ok.&lt;br /&gt;afterwards, it worked fine for me.&lt;br /&gt;&lt;br /&gt;If you still have troubles, check also:&lt;br /&gt;python and python-dev should be on the same version,&lt;br /&gt;swig should be installed.&lt;br /&gt;&lt;br /&gt;If all this didnt solve your problems, good luck finding it, and I hope you put the solution somewhere on internet as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-4902580550119557447?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/4902580550119557447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=4902580550119557447' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/4902580550119557447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/4902580550119557447'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2010/04/tossim-python-compiling-problem.html' title='TOSSIM Python compiling problem'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-1303122573875390167</id><published>2010-03-26T11:57:00.000-07:00</published><updated>2010-03-26T12:03:37.830-07:00</updated><title type='text'>Debugging QUALNET with GDB</title><content type='html'>Compiling QualNet with Debug Option&lt;br /&gt;By default, the optimization option of the compiler is enabled in the Linux and Mac OS X Makefiles. When the optimization option is enabled, the compiler may optimize the program for better performance. However, for better source level debugging, the optimization option of the compiler should be disabled and the debug option should be enabled.&lt;br /&gt;Perform following steps to recompile QualNet with the debug option enabled:&lt;br /&gt;1. Go to QUALNET_HOME/main. Copy the makefile for your compiler to Makefile.&lt;br /&gt;2.Edit Makefile as follows:&lt;br /&gt;•Enable the DEBUG line by removing the ‘#’ character so it is displayed as:&lt;br /&gt;DEBUG = -g&lt;br /&gt;•Disable the OPT line by inserting a ‘#’ character at the beginning of the line so it is displayed as:&lt;br /&gt;# OPT = -O3&lt;br /&gt;3.Recompile QualNet by typing the following commands:&lt;br /&gt;make clean&lt;br /&gt;make&lt;br /&gt;&lt;br /&gt;Running the Debugger&lt;br /&gt;QualNet can be run from within debug tools such as gdb or dbx. Here, we use gdb as an example.&lt;br /&gt;To run gdb, perform the following steps:&lt;br /&gt;1. Open a command window. Go to the directory where the scenario to be debugged is located.&lt;br /&gt;2.Load the QualNet executable into gdb by typing the following command (this assumes that QualNet is installed in /home/username/qualnet/5.0):&lt;br /&gt;gdb /home/username/qualnet/5.0/bin/qualnet&lt;br /&gt;3.From within the gdb environment, run your scenario in gdb by typing the following command (assuming the scenario configuration file is myscenario.config):&lt;br /&gt;run myscenario.config&lt;br /&gt;4.To exit gdb, type following command in gdb:&lt;br /&gt;quit&lt;br /&gt;Refer to gdb user manual for more information on how to debug a program in gdb.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Taken from https://www.scalable-networks.com/boards/viewtopic.php?f=47&amp;t=4833&amp;start=0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To get the value of the current variables use &lt;br /&gt;print name_of_the_variable&lt;br /&gt;&lt;br /&gt;To see where the function is called from:&lt;br /&gt;backtrace&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-1303122573875390167?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/1303122573875390167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=1303122573875390167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1303122573875390167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1303122573875390167'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2010/03/debugging-qualnet-with-gdb.html' title='Debugging QUALNET with GDB'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-6890051129514679646</id><published>2010-03-12T14:28:00.000-08:00</published><updated>2010-03-13T10:55:38.189-08:00</updated><title type='text'>Regular expression for the functions</title><content type='html'>If you wanna have something like &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;int thisFunction(int a, &lt;br /&gt;     int b) &lt;br /&gt;{&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt; to be turned into&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;int thisFunction(int a, &lt;br /&gt;int b) &lt;br /&gt;{ &lt;br /&gt;printf("thisFunction Started");&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;You can search for functions using the following regular expression:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;[[a-zA-Z0-9_-]+[\s]+]?[a-zA-Z0-9_-]+[*]?[\s]+[*]?([a-zA-Z0-9_-*]+)[\s]*\([\s]*([a-zA-Z0-9_-]+[\s]+[*]?[*]?[*]?[a-zA-Z0-9_-]+[,]?[\s]*)*\)[\s]*\{&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;update:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;(static)?[\s]+(//inline//[\s]*)?[a-zA-Z0-9_-]+[*]?[*]?[\s]+([^\s\(]+)[\s]*\([^\)=]*\)[\s]*\{&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Replace with:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;\0 // \1 Started\r\nprintf("\1 Started");&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;update:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;\0 // \3 Started\r\nprintf("\3 Started");&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-6890051129514679646?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/6890051129514679646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=6890051129514679646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/6890051129514679646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/6890051129514679646'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2010/03/regular-expression-for-functions.html' title='Regular expression for the functions'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-3228252472221795828</id><published>2010-02-20T02:32:00.000-08:00</published><updated>2010-02-20T02:45:51.113-08:00</updated><title type='text'>"Reverse Engineering" in different programming languages?</title><content type='html'>A lot of engineers in one point of another needs to look through usually undocumented open source code, in order to modify/implement additional features. Using editor for bigger projects built in C/C++ (without OOP) can be unbelievably painful (my own experience). Two software that helped me a lot to reverse engineer my any source code are:&lt;br /&gt;&lt;br /&gt;1) &lt;a href="http://www.doxygen.org"&gt;Doxygen&lt;/a&gt;: Creates nice documentation of all the functions in the project. It gives links to definition of each function, but more interesting is also can create call/caller graphs (for each function it gives graph of functions which it calls, and another graph of the function which call that function).&lt;br /&gt;It is completely a freeware, and the graphs are done using the &lt;a href="http://www.graphviz.org/"&gt;dot&lt;/a&gt; program.&lt;br /&gt;&lt;br /&gt;2) &lt;a href="http://www.scitools.com/"&gt;Understand&lt;/a&gt;: the free trial version of this application (14 days) is very handy, and is a bit more powerful comparing to Doxygen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-3228252472221795828?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/3228252472221795828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=3228252472221795828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/3228252472221795828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/3228252472221795828'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2010/02/reverse-engineering-in-different.html' title='&quot;Reverse Engineering&quot; in different programming languages?'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-2786667793964926076</id><published>2009-07-02T04:33:00.000-07:00</published><updated>2009-07-02T04:41:53.233-07:00</updated><title type='text'>Multiline Regular Expressions</title><content type='html'>There are a lot of text editors that offer regular expression search and replace, but rare are those that support multiline regular expressions. In my case I need to find all the function headers with starting body bracket.&lt;br /&gt;example:&lt;br /&gt;"int a(int b, int c)&lt;br /&gt;{"&lt;br /&gt;&lt;br /&gt;should be changed with&lt;br /&gt;"int a(int b, int c)&lt;br /&gt;{&lt;br /&gt;printf("Entered function a");"&lt;br /&gt;&lt;br /&gt;Text editor that supports such thing is called "EditPad Pro". Besides multiline regular expression support, it also have coloring system for your regular expression, so u can debug your regex easier.&lt;br /&gt;&lt;br /&gt;To be edited with regular expressions that solved my problem&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-2786667793964926076?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/2786667793964926076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=2786667793964926076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/2786667793964926076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/2786667793964926076'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2009/07/multiline-regular-expressions.html' title='Multiline Regular Expressions'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-5221891086687247328</id><published>2009-06-18T06:30:00.001-07:00</published><updated>2009-06-18T06:30:55.947-07:00</updated><title type='text'>Same useful links while learning TinyOS</title><content type='html'>http://www.eecs.iu-bremen.de/wiki/index.php/TinyOS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-5221891086687247328?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/5221891086687247328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=5221891086687247328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5221891086687247328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5221891086687247328'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2009/06/same-useful-links-while-learning-tinyos.html' title='Same useful links while learning TinyOS'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-6280938159894495484</id><published>2009-06-18T03:25:00.000-07:00</published><updated>2009-06-18T03:27:22.779-07:00</updated><title type='text'>Changing parameters in TinyOS via Makefile</title><content type='html'>Changing the Radio channel&lt;br /&gt; - Radio channel numbers have range between 11 to 26&lt;br /&gt; - Add the following line in the Makefile before the Makerules&lt;br /&gt; CC2420_CHANNEL=x where x = [11 26]&lt;br /&gt;Changing the Radio Transmit power&lt;br /&gt; - Transmit power valid levels are 1 to 31 with power 1 equals to -25dBm and 31 equals to max (0dBm)&lt;br /&gt; - add the following line in the Makefile before the Makerules&lt;br /&gt; CFlags = -DCC2420_DEF_RFPower= x where x = [1 31]&lt;br /&gt;&lt;br /&gt;Changing the Active message group ID&lt;br /&gt; Add DEFAULT_LOCAL_GROUP = X to the makefile where X = [0×10 0×50]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-6280938159894495484?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/6280938159894495484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=6280938159894495484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/6280938159894495484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/6280938159894495484'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2009/06/changing-parameters-in-tinyos-via.html' title='Changing parameters in TinyOS via Makefile'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-1273179964015165502</id><published>2008-11-21T05:30:00.000-08:00</published><updated>2008-11-21T08:12:38.299-08:00</updated><title type='text'>Working with floating point in TinyOS</title><content type='html'>There are two ways to represent float in nesc.&lt;br /&gt;One way, is to do it through by convention using the exponent and mantissa,&lt;br /&gt;where you need to use 2^exponent. The function that does that is called powf().&lt;br /&gt;The problem with using that function is that it is reaaaaallly slow.&lt;br /&gt;[QUOTE]&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;span&gt;----8&lt;----&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;span&gt;  DbgOut_P20_ON;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;span&gt;  r = logf((float)v / 10000.0);       // takes up about 10 ms (!!)&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;span&gt;  DbgOut_P20_OFF;&lt;/span&gt;&lt;br /&gt;&lt;span&gt; ----8&lt;----&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;span&gt;and a &lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;span&gt;----8&lt;----&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;span&gt;  DbgOut_P20_ON;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;span&gt;  r = &lt;b class="highlight"&gt;powf&lt;/b&gt;(10,(float)v / 10000.0);    // takes up about 32 ms (!!!!!!)&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;font-size:85%;"&gt;&lt;span&gt;  DbgOut_P20_OFF;&lt;/span&gt;&lt;br /&gt;&lt;span&gt; ----8&lt;----&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span&gt; [/QUOTE]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In case you need to have fast response, this function might not be your choice.&lt;br /&gt;One way to optimize the speed of those operations are:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"I'd like to mention that &lt;b class="highlight"&gt;pow&lt;/b&gt;(a,b) is MUCH harder to implement than &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;exp(b).  Use the latter whenever possible.  &lt;b class="highlight"&gt;In&lt;/b&gt; particular, if a is &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;fixed, use exp(b * log(a)) rather than &lt;b class="highlight"&gt;pow&lt;/b&gt;(a,b).  (&lt;b class="highlight"&gt;In&lt;/b&gt; fact, that's a &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;common low-precision implementation technique even when a is not fixed.) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Also note that keeping logarithms &lt;b class="highlight"&gt;in&lt;/b&gt; fixed-point format is often &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;convenient, and shaves a bit of overhead from the code when you &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;don't have hardware floating-point. "&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One quite dirty trick to show real numbers in nesc is to define fix point.&lt;br /&gt;for example in 16 bits, you say 12 bits are the bits before the decimal point, and 4 bits are bits after the point. a(12bits) + ( b(4bits)/16 ).&lt;br /&gt;This dirty trick is good in case one wants working with float go faster, without need for much precision.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-1273179964015165502?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/1273179964015165502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=1273179964015165502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1273179964015165502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1273179964015165502'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2008/11/working-with-floating-point-in-tinyos.html' title='Working with floating point in TinyOS'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-4057098833092721411</id><published>2008-11-05T03:07:00.000-08:00</published><updated>2008-11-05T03:10:45.997-08:00</updated><title type='text'>File Sharing between to PCs under Windows</title><content type='html'>Several times I badly needed the connection between to PCs and I never actually managed to make it working :(&lt;br /&gt;&lt;br /&gt;One thing I always forget to set is that both PCs have the same Workgroup, besides the part where you set your folder to be shared among PCs in the network.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-4057098833092721411?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/4057098833092721411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=4057098833092721411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/4057098833092721411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/4057098833092721411'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2008/11/file-sharing-between-to-pcs-under.html' title='File Sharing between to PCs under Windows'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-8898791988515858806</id><published>2008-06-05T03:37:00.001-07:00</published><updated>2008-06-05T03:39:19.127-07:00</updated><title type='text'>Finally, clear explanation of TinyOS 2.x serial packet structure</title><content type='html'>TinyOS 2.x&lt;br /&gt;&lt;br /&gt;A message sent through serial ports from motes to PC will typically look like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00 FF FF 00 00 08 00 09 19 77 02 07 00 13 00 00 &lt;/span&gt;&lt;hr /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;The first byte &lt;span style="color: rgb(255, 0, 0);"&gt;00&lt;/span&gt; is the leading zero.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;After that, the whole packet is of the type "&lt;span style="font-weight: bold;"&gt;serial_packet_t&lt;/span&gt;", defined in &lt;span style="font-style: italic;"&gt;tinyos-2.x/tos/lib/serial/Serial.h&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Inside the serial_packet_t structure, the first 7 bytes are of the type "&lt;span style="font-weight: bold;"&gt;serial_header_t"&lt;/span&gt;, which is also defined in &lt;span style="font-style: italic;"&gt;tinyos-2.x/tos/lib/serial/Serial.h&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;In the case above, it would be &lt;span style="color: rgb(255, 0, 0);"&gt;FF FF 00 00 08 00 09&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Within the "serial_header_t", the following structure takes place:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;nx_am_addr_t       &lt;span style="font-style: italic;"&gt;    dest&lt;/span&gt;          // &lt;span style="font-weight: bold;"&gt; Destination&lt;/span&gt; (2 bytes)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;nx_am_addr_t       &lt;span style="font-style: italic;"&gt;        src&lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt; &lt;/span&gt;             // &lt;span style="font-weight: bold;"&gt;Source&lt;/span&gt; (2 bytes)&lt;/li&gt;&lt;li&gt;nx_uint8_t             &lt;span style="font-style: italic;"&gt;                       length&lt;/span&gt;  //&lt;span style="font-weight: bold;"&gt; Payload Length&lt;/span&gt; (1 byte)&lt;/li&gt;&lt;li&gt;nx_am_group_t     &lt;span style="font-style: italic;"&gt;  group&lt;/span&gt;  // &lt;span style="font-weight: bold;"&gt;Group ID&lt;/span&gt; (1 byte)&lt;/li&gt;&lt;li&gt;nx_am_id_t           &lt;span style="font-style: italic;"&gt;         type&lt;/span&gt;     // &lt;span style="font-weight: bold;"&gt;Active Message Handler Type&lt;/span&gt; (1 byte), some enum value that you can define yourself.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;After the 7 byte header, here comes the payload, which can be up to &lt;span style="font-weight: bold;"&gt;TOS_DATA_LENGTH&lt;/span&gt; (28 bytes) long. The content could be anything.&lt;br /&gt;&lt;br /&gt;In the above example, the payload is: &lt;span style="color: rgb(255, 0, 0);"&gt;19 77 02 07 00 13 00 00&lt;/span&gt;, which is of the &lt;span style="font-style: italic;"&gt;length&lt;/span&gt; (8 bytes) denoted in the "&lt;span style="font-weight: bold;"&gt;Payload Length&lt;/span&gt;" field.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;     &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yxhbBCQYNfU/RpHI3slyqlI/AAAAAAAAAC0/-VTE-1iZk4w/s1600-h/serial_msg_format.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_yxhbBCQYNfU/RpHI3slyqlI/AAAAAAAAAC0/-VTE-1iZk4w/s400/serial_msg_format.jpg" alt="" id="BLOGGER_PHOTO_ID_5085066313466030674" border="0" /&gt;&lt;/a&gt;       &lt;/div&gt;&lt;hr /&gt;&lt;br /&gt;&lt;/div&gt;To note, besides the payload part, we need to fill out the destination address and payload length field by calling &lt;span style="font-weight: bold; font-style: italic;"&gt;SerialActiveMessageC.AMSend&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;(&lt;/span&gt;am_addr_t &lt;span style="font-style: italic;"&gt;dest&lt;/span&gt;, message_t* &lt;span style="font-style: italic;"&gt;msg&lt;/span&gt;, uint8_t &lt;span style="font-style: italic;"&gt;len&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;)&lt;/span&gt;. It would be a good programming manner to fill the &lt;span style="font-style: italic;"&gt;len&lt;/span&gt; with &lt;span style="font-style: italic; font-weight: bold;"&gt;sizeof().&lt;/span&gt; And we also need to specify the &lt;span style="font-weight: bold;"&gt;Active Message Handler Type&lt;/span&gt; by wiring the AMSend to &lt;span style="font-weight: bold; font-style: italic;"&gt;SerialActiveMessage.AMSend[&lt;/span&gt;am_id_t&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-style: italic;"&gt;id&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;]&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;ref:&lt;br /&gt;http://www.tinyos.net/tinyos-2.x/doc/html/tutorial/lesson4.html. The doc here doesn't seem to be up-to-date since it left out the source address from the header.&lt;p&gt;GREAT THANKS TO http://tristan-tech.blogspot.com/ and his blog!!!!&lt;/p&gt;&lt;p&gt;(I copied whole blog from him in order to have in mine blog everything I might use in future)&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-8898791988515858806?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/8898791988515858806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=8898791988515858806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8898791988515858806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8898791988515858806'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2008/06/finally-clear-explanation-of-tinyos-2x.html' title='Finally, clear explanation of TinyOS 2.x serial packet structure'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_yxhbBCQYNfU/RpHI3slyqlI/AAAAAAAAAC0/-VTE-1iZk4w/s72-c/serial_msg_format.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-7823922771432212899</id><published>2008-04-25T05:10:00.000-07:00</published><updated>2008-04-25T05:21:22.499-07:00</updated><title type='text'></title><content type='html'>Some really nice people has made cool Linux Live CD which has TinyOS installed.&lt;br /&gt;Really cool for people who need the TinyOS fast!&lt;br /&gt;This is the version with TinyOS 2.x&lt;br /&gt;http://toilers.mines.edu/Public/XubunTOS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-7823922771432212899?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/7823922771432212899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=7823922771432212899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/7823922771432212899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/7823922771432212899'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2008/04/some-really-nice-people-has-made-cool.html' title=''/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-7971521135630657732</id><published>2008-01-17T01:34:00.000-08:00</published><updated>2008-01-17T01:45:06.464-08:00</updated><title type='text'>Changing communication channel and RF Power</title><content type='html'>To change default communication channel and RF Power you can either:&lt;br /&gt;1) edit opt/tinyos-1.x/tos/lib/CC2420Radio/CC2420Const.h&lt;br /&gt;        CC2420_DEF_CHANNEL 11 (this is default value)&lt;br /&gt;        CC2420_DEF_RFPOWER 0x1f (31, maximum, if you for example want to test multihop         routing easiest way is to make RFPOWER smaller)&lt;br /&gt;       &lt;br /&gt;2) add line in Makefile&lt;br /&gt;        CC2420_DEF_CHANNEL = 11&lt;br /&gt;        CC2420_DEF_RFPOWER= 0x1f&lt;br /&gt;&lt;br /&gt;3) change it in program by colling function from CC2420Control interface, called:&lt;br /&gt;            SetRFPower(uint8_t power);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-7971521135630657732?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/7971521135630657732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=7971521135630657732' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/7971521135630657732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/7971521135630657732'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2008/01/changing-communication-channel-and-rf.html' title='Changing communication channel and RF Power'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-5401156433596519244</id><published>2008-01-16T09:51:00.000-08:00</published><updated>2008-01-17T01:34:04.199-08:00</updated><title type='text'>TinyOS little help</title><content type='html'>Last 2 months I was actively working in TinyOS, and since there's no better place than internet to put solutions to problems which most likely you will forget in near future, I will write here some little things about TinyOS.&lt;br /&gt;&lt;br /&gt;In general, that was the main idea of this blog.&lt;br /&gt;Quite recently I started with Linux, which have as usual, a lot of difficulties with drivers; you find a number of solutions which maybe one or maybe none is working.&lt;br /&gt;&lt;br /&gt;Yes this is also public cause I support idea of helping people with similar problems over internet.&lt;br /&gt;That is just my gratitude for all those nice people who helped me simply by posting their solutions on forums and other public places.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-5401156433596519244?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/5401156433596519244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=5401156433596519244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5401156433596519244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5401156433596519244'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2008/01/tinyos-little-help.html' title='TinyOS little help'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-7344473358921704879</id><published>2007-10-12T09:24:00.000-07:00</published><updated>2007-10-12T09:26:46.663-07:00</updated><title type='text'>Raising Elephants Is So Utterly Boring</title><content type='html'>Taken from http://en.wikipedia.org/wiki/Magic_SysRq_key&lt;br /&gt;"Raising Elephants Is So Utterly Boring" is a mnemonic device for remembering a keystroke sequence that should be used as an alternative to hitting the power button if a Linux system should ever freeze and need to be rebooted.&lt;br /&gt;Alt + SysRq + R – takes the keyboard out of raw mode.&lt;br /&gt;Alt + SysRq + E – terminates all processes (except init).&lt;br /&gt;Alt + SysRq + I – kills all processes (except init).&lt;br /&gt;Alt + SysRq + S – synchronizes the disk.&lt;br /&gt;Alt + SysRq + U – remounts all filesystems read-only.&lt;br /&gt;Alt + SysRq + B – reboots the machine.&lt;br /&gt;Or it can be remembered as "BUSIER" in reverse.&lt;br /&gt;"Raising Skinny Elephants Is Utterly Boring" is an alternative mnemonic for the same series of keystrokes, though changing the position of the disk synchronization to before terminating and killing all processes.&lt;br /&gt;Regardless of which of the above hotkey sequences are chosen, they should be entered in slow succession, giving the system a chance to complete earlier steps before moving on to subsequent ones. Typing the sequence slowly may allow the system to safely terminate most or all processes before the more drastic kill command is invoked. Also, to minimize the chance of data corruption, it is a good idea to wait between the disk synchronization command and the unmount and finally the reboot command.&lt;br /&gt;An alternative to issuing the REISUB/RSEIUB keystrokes is to just press Alt + SysRq + R, followed by Ctrl + Alt + Del. This is the equivalent of issuing a shutdown now command at a root console; it does take a short while for the system to shut down after the Ctrl + Alt + Del keystroke. However, not all Linux systems support this easier method.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Special thanks to my sister :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-7344473358921704879?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/7344473358921704879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=7344473358921704879' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/7344473358921704879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/7344473358921704879'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2007/10/raising-elephants-is-so-utterly-boring.html' title='Raising Elephants Is So Utterly Boring'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-8455665083453454401</id><published>2007-10-12T09:10:00.000-07:00</published><updated>2007-10-12T09:13:11.463-07:00</updated><title type='text'>starting program from terminal in background</title><content type='html'>So, if you want to start the program and to use terminal afterwards, you just need to put "&amp;amp;" character at the end of the line&lt;br /&gt;so, for example, if you just want to call skype, then you write skype&amp;amp;&lt;br /&gt;&lt;br /&gt;It is simple thing, but sometimes one just forget this as a option :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-8455665083453454401?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/8455665083453454401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=8455665083453454401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8455665083453454401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8455665083453454401'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2007/10/starting-program-from-terminal-in.html' title='starting program from terminal in background'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-2156589566221093415</id><published>2007-10-12T09:05:00.000-07:00</published><updated>2007-10-12T09:06:58.463-07:00</updated><title type='text'>Embedded Font Problems with PDF files</title><content type='html'>&lt;pre wrap=""&gt;Some of you may have encountered some problem of embedded fonts with PDF&lt;br /&gt;files. All fonts are embedded with the following command (Linux):&lt;br /&gt;&lt;br /&gt;ps2pdf14 -dPDFSETTINGS=/prepress -dEmbedAllFonts=true file.ps file.pdf&lt;br /&gt;&lt;br /&gt;This is done thanks to my colleague, Alex :)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-2156589566221093415?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/2156589566221093415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=2156589566221093415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/2156589566221093415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/2156589566221093415'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2007/10/embedded-font-problems-with-pdf-files.html' title='Embedded Font Problems with PDF files'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-8960961423221533912</id><published>2007-10-11T09:11:00.000-07:00</published><updated>2007-11-22T05:51:47.948-08:00</updated><title type='text'>RPMs</title><content type='html'>This can be useful for those who had problems installing programs in openSUSE 10.2 (in my case, YasT is somehow crashing very often).&lt;br /&gt;To install rpm package:&lt;br /&gt;rpm -ivh packagename&lt;br /&gt;To upgrade the package:&lt;br /&gt;rpm -Uvh packagename&lt;br /&gt;To remove the package:&lt;br /&gt;rpm -e packagename&lt;br /&gt;&lt;br /&gt;If you not sure that your package is installed, there is a way to see it:&lt;br /&gt;rpm -qa packagename&lt;br /&gt;There can be problems to remember full name of the package since it is having all those version numbers etc.etc. so instead of writing out whole name, you can do next command:&lt;br /&gt;rpm -qa | grep SomeKeywordOfWantedPackage&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-8960961423221533912?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/8960961423221533912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=8960961423221533912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8960961423221533912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8960961423221533912'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2007/10/rpms.html' title='RPMs'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-1068566804911366070</id><published>2007-10-01T13:58:00.001-07:00</published><updated>2007-10-01T13:58:50.133-07:00</updated><title type='text'>How to merge multiple pdf files into one</title><content type='html'>&lt;span style="font-family:arial, helvetica;"&gt;&lt;span style="font-family:Courier;font-size:85%;"&gt;Linux command:&lt;br /&gt;gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Merged.pdf -dBATCH *.pdf&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-1068566804911366070?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/1068566804911366070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=1068566804911366070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1068566804911366070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/1068566804911366070'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2007/10/how-to-merge-multiple-pdf-files-into.html' title='How to merge multiple pdf files into one'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-3304321549243645512</id><published>2007-09-12T04:19:00.000-07:00</published><updated>2007-09-12T05:25:33.604-07:00</updated><title type='text'>how to install source programs in linux</title><content type='html'>How often does it happen to you to download a new program which happen not to be any kind of debian package or something similar that you just need to use option install.&lt;br /&gt;&lt;br /&gt;Beforehand, look for README text which will probably tell you how to install the program&lt;br /&gt;&lt;br /&gt;Often for those, source code applications there are couple of steps to do in order to install them.&lt;br /&gt;1. open terminal window (I use yakuake, in which u can open terminal just by pressing F12)&lt;br /&gt;2. go to directory of your new, just downloaded application&lt;br /&gt;3. run ./configure command - it looks if your system is ready to install application. It is checking for packages it needs to get its installed (newly downloaded application)&lt;br /&gt;4. Look for comments at the end. If there is some comment like, error: 'libxyz' is not found, than you have to look for package that contains this library. I use adept-manager to search for those, and google if I fail to find it there.&lt;br /&gt;5. when you finally install all packages needed, you proceed to next step&lt;br /&gt;6. run make command&lt;br /&gt;7. run make install command&lt;br /&gt;8. finito, last two commands should run smoothly, if there are still some problems, consult google with keyword as your error text.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-3304321549243645512?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/3304321549243645512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=3304321549243645512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/3304321549243645512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/3304321549243645512'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2007/09/how-to-install-source-programs-in-linux.html' title='how to install source programs in linux'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-7260654351874276499</id><published>2007-09-11T15:48:00.000-07:00</published><updated>2007-09-11T15:49:30.278-07:00</updated><title type='text'>Yakuake</title><content type='html'>very cool console which starts when u press F12.&lt;br /&gt;alt-f2 and then write yakuake&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-7260654351874276499?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/7260654351874276499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=7260654351874276499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/7260654351874276499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/7260654351874276499'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2007/09/yakuake.html' title='Yakuake'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-5650158736101599283</id><published>2007-09-07T08:04:00.000-07:00</published><updated>2007-09-07T08:17:42.693-07:00</updated><title type='text'>To put translate absolute link into relative links</title><content type='html'>Search for:    http://((.*)/)*(.*)"&lt;br /&gt;Replace with: \3"&lt;br /&gt;&lt;br /&gt;Useful when you have downloaded all file from particular page, but you need this webpage for navigation through files.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-5650158736101599283?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/5650158736101599283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=5650158736101599283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5650158736101599283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5650158736101599283'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2007/09/to-put-translate-absolute-link-into.html' title='To put translate absolute link into relative links'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-5406413905079676243</id><published>2007-09-07T07:25:00.000-07:00</published><updated>2007-09-07T07:34:09.632-07:00</updated><title type='text'>Download a list of files (list of their links)</title><content type='html'>If you have list of files you need to download, there is a way to do that automatically.&lt;br /&gt;so, assuming every line is starting with http:... in any kind of text editor you replace option to replace every "http" with "wget -c -t5 -l1 http".&lt;br /&gt;Then Save the list-file as a download.sh.&lt;br /&gt;When you do that, then go to terminal/console window, type chmod 777 download.sh&lt;br /&gt;and then ./download.sh&lt;br /&gt;&lt;br /&gt;It then downloads everything from the list into current folder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-5406413905079676243?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/5406413905079676243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=5406413905079676243' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5406413905079676243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/5406413905079676243'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2007/09/download-list-of-files-list-of-their.html' title='Download a list of files (list of their links)'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-718882310162184516.post-8918933974795823433</id><published>2007-09-03T05:49:00.000-07:00</published><updated>2007-09-03T05:52:36.358-07:00</updated><title type='text'>HTTPS website download</title><content type='html'>linux command&lt;br /&gt;wget -r --http-user=USERNAME --http-password=PASSWORD  https://www.SOMEPAGE.com&lt;br /&gt;&lt;br /&gt;A lot of download managers and windows freeware website downloaders claim that they can download from https website, but somehow they always fail to login to page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/718882310162184516-8918933974795823433?l=renesto.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://renesto.blogspot.com/feeds/8918933974795823433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=718882310162184516&amp;postID=8918933974795823433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8918933974795823433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/718882310162184516/posts/default/8918933974795823433'/><link rel='alternate' type='text/html' href='http://renesto.blogspot.com/2007/09/https-website-download.html' title='HTTPS website download'/><author><name>renesto</name><uri>http://www.blogger.com/profile/05733611258426592294</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
