<?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-2431580979496134509</id><updated>2011-11-27T18:00:44.918-06:00</updated><title type='text'>A Day in Life</title><subtitle type='html'>Anything that comes to my mind, lessons learned, curiosities, experiences, opinions, anecdotes, poems, songs, thoughts... will be placed here anytime I'm inspired to write.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-4505119997859350119</id><published>2010-10-08T15:19:00.004-05:00</published><updated>2010-10-08T15:28:03.792-05:00</updated><title type='text'>How to Make a JTextPane / StyledDocument TRULY Transparent</title><content type='html'>It's been a long time since my last update; I wanted to share with you a solution that took me weeks to get:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;How can I make a Java Swing JTextPane component (including text background) transparent?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; textPane.setBackground(new Color(255, 255, 255, 0)) ; &lt;span style="font-weight: bold;"&gt;&lt;- Set a background Color with a 0 alpha value (a 100% transparent color).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In my case, using &lt;span style="font-style: italic;"&gt;textPane.setOpaque(false)&lt;/span&gt; didn't work, and I tried EVERYTHING trying to understand why, and get around it. I blamed the StyledDocument believing the text or paragraph included a background color, I blamed the component layers and their blending, I browsed over a lot of forums and pages; no one gave me a working solution.&lt;br /&gt;&lt;br /&gt;I tried overriding paintComponent and setting an Icon property for the text but both draw the image above the text.&lt;br /&gt;&lt;br /&gt;I hope this is useful for people who, just like me, can't understand WHY IN THE WORLD the setOpaque method does not always work on a JTextPane with a styled text. I still don't know why.&lt;br /&gt;&lt;br /&gt;If someone out there is as wise as to have the answer, it would be nice to know, for know there's the solution to make it work. ;-)&lt;br /&gt;&lt;br /&gt;See you later!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-4505119997859350119?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/4505119997859350119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=4505119997859350119' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/4505119997859350119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/4505119997859350119'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2010/10/how-to-make-jtextpane-styleddocument.html' title='How to Make a JTextPane / StyledDocument TRULY Transparent'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-5126431354896710149</id><published>2010-09-15T10:50:00.002-05:00</published><updated>2010-09-15T11:02:50.826-05:00</updated><title type='text'>Credo Mexican (Mexican Creed)</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Ricardo López Mendez&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Just as the last year, I post this from 1940 that I think still reflects the essence and feelings of our Mexican  culture. It makes me cry sometimes.&lt;br /&gt;&lt;br /&gt;The essence of it is the patriotism expressed as FAITH; México, CREO EN TÍ (Mexico, I BELIEVE - IN YOU -):&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;¡QUE VIVA&lt;/span&gt;&lt;span style="color: rgb(192, 192, 192);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;MÉXICO, C&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;ABRONEEES!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;como en el vértice de un juramento.&lt;br /&gt;Tú hueles a tragedia, tierra mía,&lt;br /&gt;y sin embargo ríes demasiado,&lt;br /&gt;acaso porque sabes que la risa&lt;br /&gt;es la envoltura de un dolor callado.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;sin que te represente en una forma&lt;br /&gt;porque te llevo dentro, sin que sepa&lt;br /&gt;lo que tú eres en mí; pero presiento&lt;br /&gt;que mucho te pareces a mi alma,&lt;br /&gt;que sé que existe, pero no la veo.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;en el vuelo sutil de tus canciones&lt;br /&gt;que nacen porque sí, en la plegaria&lt;br /&gt;que yo aprendí para llamarte Patria:&lt;br /&gt;algo que es mío en mí como tu sombra,&lt;br /&gt;que se tiende con vida sobre el mapa.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;en forma tal que tienes de mi amada&lt;br /&gt;la promesa y el beso que son míos,&lt;br /&gt;sin que sepa por qué se me entregaron:&lt;br /&gt;no sé si por ser bueno o por ser malo&lt;br /&gt;o porque del perdón nazca el milagro.&lt;br /&gt;&lt;br /&gt;México, creo en ti&lt;br /&gt;sin preocuparme el oro de tu entraña:&lt;br /&gt;es bastante la vida de tu barro&lt;br /&gt;que refresca lo claro de las aguas&lt;br /&gt;en el jarro que llora por los poros&lt;br /&gt;la opresión de la carne de tu raza.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;porque creyendo te me vuelves ansia&lt;br /&gt;y castidad y celo y esperanza.&lt;br /&gt;Si yo conozco el cielo, es por tu cielo,&lt;br /&gt;si conozco el dolor, es por tus lágrimas&lt;br /&gt;que están en mí aprendiendo a ser lloradas.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;en tus cosechas de milagrerías&lt;br /&gt;que sólo son deseo en las palabras.&lt;br /&gt;Te consagras de auroras que te cantan&lt;br /&gt;¡y todo el bosque se te vuelve carne!,&lt;br /&gt;¡y todo el hombre se te vuelve selva!&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;porque nací de ti, como la flama&lt;br /&gt;es compendio del fuego y de la brasa;&lt;br /&gt;porque me puse a meditar que existes&lt;br /&gt;en el sueño y materia que me forman&lt;br /&gt;y en el delirio de escalar montañas.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;porque escribes tu nombre con la equis,&lt;br /&gt;que algo tiene de cruz y de calvario;&lt;br /&gt;porque el águila brava de tu escudo&lt;br /&gt;se divierte jugando a los volados&lt;br /&gt;con la vida y, a veces, con la muerte.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;como creo en los clavos que te sangran,&lt;br /&gt;en las espinas que hay en tu corona,&lt;br /&gt;y en el mar que te aprieta la cintura&lt;br /&gt;para que tomes en la forma humana&lt;br /&gt;hechura de sirena en las espumas.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;porque si no creyera que eres mío&lt;br /&gt;el propio corazón me lo gritara&lt;br /&gt;y te arrebataría con mis brazos&lt;br /&gt;a todo intento de volverte ajeno&lt;br /&gt;sintiendo que a mí mismo me salvava.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;porque eres el alto de mi marcha&lt;br /&gt;y el punto de partida de mi impulso.&lt;br /&gt;¡Mi credo, Patria, tiene que ser tuyo,&lt;br /&gt;como la voz que salva y como el ancla...!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-5126431354896710149?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/5126431354896710149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=5126431354896710149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/5126431354896710149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/5126431354896710149'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2010/09/credo-mexican-mexican-creed.html' title='Credo Mexican (Mexican Creed)'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-3840182713088155921</id><published>2010-01-13T16:48:00.003-06:00</published><updated>2011-03-12T00:40:40.780-06:00</updated><title type='text'>We Have To Improve Communication - Part II</title><content type='html'>So last time I talked about the use of the "I" pronoun instead of "one" or "they" when talking about opinions or feelings. It seems simple but is deeply rooted in the notion of taking ownership of my own feelings and thoughts.&lt;br /&gt;&lt;br /&gt;It is hard to get used to it because it implies a deep transformation within myself: I am no longer justifying my actions in advance by deflecting my responsibilities on others.&lt;br /&gt;&lt;br /&gt;But most importantly, it implies I acknowledge my own thoughts and feelings are as valid as others', and they can disagree with me; I'm starting to LISTEN. Because when I acknowledge my own feelings and thoughts are not the rest of the world's, I automatically open myself to different ideas.&lt;br /&gt;&lt;br /&gt;Now let's talk about something that may sound rather trivial at first:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;How to ask for things.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;"Aaw come on, Juan! Are you saying I don't know how to ask for things? That's intuitive!"&lt;br /&gt;&lt;br /&gt;Let's make a very simple exercise: take a piece of paper and something to write with. (a pen, pencil, etc...)&lt;br /&gt;&lt;br /&gt;Ready?&lt;br /&gt;&lt;br /&gt;Ok, now write down on that piece of paper how would you ask for someone to pick you up in the morning to drive you to the airport.&lt;br /&gt;&lt;br /&gt;Now keep that piece of paper for later.&lt;br /&gt;&lt;br /&gt;I as said on my previous post, communication has an structure, and that structure has a purpose.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The structure of a request.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A request has to contain the following:&lt;br /&gt;&lt;br /&gt;- What needs to be done.&lt;br /&gt;- What need will it satisfy? / Why should it be done? (objective, purpose of the request)&lt;br /&gt;- How should it be done. (acceptance criteria)&lt;br /&gt;- When should it be done. (timeline, deadline)&lt;br /&gt;&lt;br /&gt;Now let's see: How would I write a request for John to pick me up in order to drive me to the airport?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Hi John, could you please pick me up tomorrow at 7 am at my home and drive me to the Monterrey International Airport? I need to be there at 8 am as I have to take the 10 am flight to NYC, and am advised to be 2 hours in advance. I have an important meeting with a potential client at 14:00 hrs EST and can't miss it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;I will be waiting for you outside, please ring my cell if I'm not there: 555-555-5555&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Thank you!"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A rather large e-mail for a simple request don't you think so? Well, let's see some common scenarios:&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-style: italic;"&gt;"Hi John, please pick me up tomorrow morning at home. I need you to drive me to the airport. I have to be there at 8 am."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The next day John arrived to my home... at 7:15 am, as he thought that was a good time. John didn't know traffic from home is jammed at that time. I arrived at 8:30 am and was not admitted to the flight. I had to cancel the meeting as I couldn't reschedule it.&lt;br /&gt;&lt;br /&gt;Is it John's fault? No! I missed the&lt;span style="font-style: italic;"&gt; when it should be done&lt;/span&gt;, and &lt;span style="font-style: italic;"&gt;why it should be done&lt;/span&gt; parts. If John knew how important this meeting was, maybe even if I didn't indicate the time for him to pick me up, he'd certainly have arrived the earliest.&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-style: italic;"&gt;"Hi John, please pick me up tomorrow morning at 7 am. I have to take a flight at 8 am and can't miss it".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;John arrived sharp... to the office! And he had no way to call me. I waited for John until 7:20 and had to take a cab. I arrived late.&lt;br /&gt;&lt;br /&gt;Is it John's fault? No! I didn't tell him to pick me up at home, nor I gave him any contact number in case of emergency.&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-style: italic;"&gt;"Hi John, tommorrow 7 am at home. You'll drive me to the airport."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;"Clear enough" John thought. And he went into a party with some friends. "How important can it be? I do this almost every week." He arrived hungover at 7:10 am. He was driving so fast we crashed. I took a cab but I missed the flight.&lt;br /&gt;&lt;br /&gt;Is it John's fault? Well, I didn't tell him to get drunk, but I certainly didn't tell him how important this meeting was. Had he known, he might not have gone to that party. I missed the &lt;span style="font-style: italic;"&gt;why it should be done&lt;/span&gt; part.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The ideal scenario.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Enough tragedy, let's see what happened after I asked John properly:&lt;br /&gt;&lt;br /&gt;John left his home at 6:00 to go pick me up, but he had a car accident at 6:45 am. He called my  cellphone and I asked for a taxi cab. I called my office admin and told her about the situation to see what she could do. I informed my colleagues at NYC about the risk of me not arriving on time or not arriving at all.&lt;br /&gt;&lt;br /&gt;Taxi arrived at 7:10 am and I roughly made it to the flight at 8:15 am, where the airline had been notified of my delay and security inspectors were waiting for me. I made it! I informed my colleagues and called John to see how he was doing: he was alright.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The importance of properly asking for things.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We have to remember we take decisions based on the information we have. Providing the proper information to people is then crucial if I want to rely on others to achieve a goal; it's not just about them doing it right, &lt;span style="font-weight: bold;"&gt;it's about me asking it right&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I bet you can think of several examples now, I bet you're thinking in your head about how you ask for things, and how not having asked them properly affected the results. This applies to both our professional and personal lives.&lt;br /&gt;&lt;br /&gt;When I went through this course, at this point I realized why people kept failing me: I was asking others to fix in themselves something I had to fix in myself!&lt;br /&gt;&lt;br /&gt;If after requesting things properly people still don't comply, well, that's another story. I accomplished my responsibility of making a proper request.&lt;br /&gt;&lt;br /&gt;So now go back to the piece of paper where you wrote a request as an exercise. Take a deeper look at it.&lt;br /&gt;&lt;br /&gt;Is it really that easy to ask for things? Is it really that trivial?&lt;br /&gt;&lt;br /&gt;Hope this helps you somehow. I'd like to read your thoughts at the comments section.&lt;br /&gt;&lt;br /&gt;Regards!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-3840182713088155921?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/3840182713088155921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=3840182713088155921' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/3840182713088155921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/3840182713088155921'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2010/01/we-have-to-improve-communication-part.html' title='We Have To Improve Communication - Part II'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-3400163729223119159</id><published>2010-01-12T12:49:00.001-06:00</published><updated>2010-01-12T12:49:32.978-06:00</updated><title type='text'>It May be Happening to You</title><content type='html'>What is happenning to me? All is right in my life: I have a great job which I like a lot, my family and friends are ok, my sentimental life is ok, my health is ok.&lt;br /&gt;&lt;br /&gt;Why is it I don't feel enthusiastic like before? I am not full of energy like before, I get headaches, bad mood. I'm not able to focus and I get sleepy too soon over the day.&lt;br /&gt;&lt;br /&gt;Coffee doesn't work anymore and my attitude is turning all negative.&lt;br /&gt;&lt;br /&gt;Why is it I know I have to change my attitude, and I try to do something about it, but I can't? It's frustrating!&lt;br /&gt;&lt;br /&gt;I have been to a psychologist before, back when I was overloaded with work, with stress, but I am over it now. This new job has it's challenges, but it's not stressing at all.&lt;br /&gt;&lt;br /&gt;I'm not depressed; my doctor said it. Nor I have any health problems.&lt;br /&gt;&lt;br /&gt;Exercise! Yes that's the solution, I used to be very active and healthy. I wake up in all disposition to exercise, but my mid-day I loose all energy. I tried it for the first week, but it just got me more tired.&lt;br /&gt;&lt;br /&gt;It's a vicious circle! Have I been cursed?&lt;br /&gt;&lt;br /&gt;Then I heard comments from the friends I camped with last weekend. Hey man! You snore out loud!&lt;br /&gt;&lt;br /&gt;I know, I snore, but only when I lay upside, I replied. Well, not anymore, and it seems it's becoming louder and louder according to my family.&lt;br /&gt;&lt;br /&gt;Ok, let's read about it: snoring. A very common thing it seems, and it can be due to physical and fisiological reasons: air can be blocked on the nose, at the throat, it can be due to overweight, drinking...&lt;br /&gt;&lt;br /&gt;Then I further read: sleep apnea. Sleep apnea is caused when air is completely blocked during sleep, and heart receives less oxygen. It usually causes a sense of asfixya that wakes up the person in order to breathe harder.&lt;br /&gt;&lt;br /&gt;Result: no deep sleep, no real rest, possible cardiac attack, very low quality of life. Wow! May that be it?&lt;br /&gt;&lt;br /&gt;I keep reading: this lack of rest causes sleepiness during the day, headaches, tiredness, lack of concentration, bad mood. Bingo!&lt;br /&gt;&lt;br /&gt;I never thought something like this can cause so many problems. So many people out there snore, and they joke about it, and they learn to get along with it; their partners and family learn to get along with it.&lt;br /&gt;&lt;br /&gt;Most of them suffer sleep apnea, and they don't know about it; they don't realize the health problems it implies.&lt;br /&gt;&lt;br /&gt;People get divorced for it! People loose jobs because of it! People relationships get detrimented by it!&lt;br /&gt;&lt;br /&gt;It is a serious problem. So I've decided to start doing something about it.&lt;br /&gt;&lt;br /&gt;Interestingly, health insurance plans don't cover it: none of the hospitals and clinics and doctors I called are affiliated to any insurance company.&lt;br /&gt;&lt;br /&gt;And everyone sells their own miraclous technique: a device with a mask you need to connect every night to your face, the newest laser treatment... it's like a joke, like they're merchandising with such an important disease.&lt;br /&gt;&lt;br /&gt;And companies, well, they won't assess how much this tampers their people performance, their productivity. I have just been off my first performance review on December, and results were mediocre for myself. I had no way to explain and no will to excuse myself, I don't like excuses.&lt;br /&gt;&lt;br /&gt;Now I know it's a health problem, a health problem few people know about. It changes your mood, your energy, your creativity, your intelligence.&lt;br /&gt;&lt;br /&gt;You don't believe me? Try not sleeping for two days. Now imagine not sleeping for months. That's how serious it is. You can have an accident because of it.&lt;br /&gt;&lt;br /&gt;It's a dissappointment it is not regarded the importance it should; or maybe it is such a sadly common problem, it will be costly cover it.&lt;br /&gt;&lt;br /&gt;Anyway, I made my first trial: I bought myself nasal strips, they're know as "Breathe Right" in US, "Anti-Ronc" in Mexico. These strips attach to your nose and open up more space for air to come in, immediately relieving nasal congestion.&lt;br /&gt;&lt;br /&gt;It might work or not, remember snoring has very different causes and so does sleep apnea.&lt;br /&gt;&lt;br /&gt;I have been using it for 3 days. So far so good. Let's see what happens after this week; I don't think recovering for years of bad sleep happens in a day. I feel better with time, I feel rested.&lt;br /&gt;&lt;br /&gt;Hopefully my problem is nasal. And it makes sense: I broke my nose when I was 5 years, maybe it's time to have a surgery, if I can assess this is the cause of my sleep apnea.&lt;br /&gt;&lt;br /&gt;I hope this experience is helpful for anyone out there: beware of snoring, it seriously affects your life quality.&lt;br /&gt;&lt;br /&gt;And any company CEO or insurance company boss out there: assess the seriousness of the problem, it is already costing you a lot.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-3400163729223119159?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/3400163729223119159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=3400163729223119159' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/3400163729223119159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/3400163729223119159'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2010/01/it-may-be-happening-to-you.html' title='It May be Happening to You'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-760121191614321756</id><published>2009-10-12T15:12:00.006-05:00</published><updated>2009-10-13T13:35:01.082-05:00</updated><title type='text'>"We Have to Improve Communication" - Part I</title><content type='html'>Have you ever heard that phrase, upon a team review, a company review, a post-mortem meeting, etc...? I bet you have; When looking at the root cause of a problem or series of problems, (ok areas of opportunity or deltas if you prefer) this phrase features inevitably.&lt;br /&gt;&lt;br /&gt;And then a question automatically pops out of my mind. Ok, so "We Have to Improve Communication". But HOW?&lt;br /&gt;&lt;br /&gt;I don't have an idea of how. Why? Because I learned to communicate by intuition, by day-to-day social interaction. So for me this is so obvious I did never mind looking deeper at what communication means, nor that it has a structure, and that rules have to be established and shared in order to make it work. I didn't realize that words or letters by themselves mean nothing, that COMMUNICATION = ACTION; the way I communicate is the way things will be executed.&lt;br /&gt;&lt;br /&gt;It has a direct effect on the results. Yes, I'm talking about verbal communication.&lt;br /&gt;&lt;br /&gt;Even when they say verbal communication weights as little as 7% on delivering a message, the "what we say", knowing how to structure it, becomes the most important part of the "how we say it", the other 93% that goes along with the body language, voice tone, rhythm, tonality, etc...&lt;br /&gt;&lt;br /&gt;Bear in mind nowadays in business, technology had made us more practical, more impersonal, and most of our communication occurs first through e-mail or documentation, then by phone, and at last by personal contact.&lt;br /&gt;&lt;br /&gt;I didn't realize either that knowing HOW TO COMMUNICATE is the most powerful weapon I have to make things happen, and it provides added value to any team I work along with.&lt;br /&gt;&lt;br /&gt;Effective communication is the cornerstone of any task, any project, any human interaction. It is the main driver to success, and to make my way along to get what I want.&lt;br /&gt;&lt;br /&gt;I have to thank Softtek for helping me realize it, particularly Emilio Rojas, may he rest in peace, for his valuable two days course "Communication for Action". This is a course in which I learned so much, and it was just so simple.&lt;br /&gt;&lt;br /&gt;And also have to thank Infosys for providing me the Business Writing Skills course.&lt;br /&gt;&lt;br /&gt;I feel that knowing how to communicate is a MUST for any leader, manager, director to be efficient, yet I don't see many of them applying this knowledge. Why? Because learning how to communicate seems to be a waste of time, and even an offense: I already know how to ask for things, how to praise, how to reprehend, how to inaugurate, how to close, how to feedback, how to express my thoughts...&lt;br /&gt;&lt;br /&gt;Give it a second thought. Let me give you a sample of how I realized I didn't know how to communicate effectively. The first thing I learned on Emilio's course was the most important, ask yourself:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Do I take ownership of my thoughts? Do I take responsibility of what I say?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At the course there was this little, inflatable plastic smiley called "One". You may also call it "We" sometimes. Emilio established the rules of the course and said: "I introduce you to One, an inert being made out of plastic and air".&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hyycBLG5jvs/StOOE6XkXtI/AAAAAAAAAFs/ITfLmvxUvY8/s1600-h/1135637951_smiley-inflate.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 110px; height: 122px;" src="http://1.bp.blogspot.com/_hyycBLG5jvs/StOOE6XkXtI/AAAAAAAAAFs/ITfLmvxUvY8/s400/1135637951_smiley-inflate.gif" alt="" id="BLOGGER_PHOTO_ID_5391809393931345618" border="0" /&gt;&lt;/a&gt;Ok, yeah, so?&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Let me ask you my reader your opinion about anything, let's say: Have you ever been so stressed out you treat people so badly that you later regret? Why did you do it?&lt;br /&gt;&lt;br /&gt;Think of an answer before continuing, as if I was in front of you.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Ready?&lt;br /&gt;&lt;br /&gt;Ok now think: How many times did you use the "One" or "We" pronouns? Like in: "Well, you know sometimes One is just so filled up with such pressure One lets it go inadvertently." or "Well, I mean we may be under so much stress sometimes and don't think about what we do, but people understand we are just under stress".&lt;br /&gt;&lt;br /&gt;Well, if you said "One", let me introduce you to him: it is an inert being made out of plastic and air. And I don't think One has an opinion, do you?&lt;br /&gt;&lt;br /&gt;If you said "We", let me ask you, what do you mean by "We"? Because if you ask me, I may disagree. And maybe someone in Asia won't either. Or any other reader of this post.&lt;br /&gt;&lt;br /&gt;It was so annoying to be constantly interrupted by Emilio during the course whenever I said "One", or "We" or "Them". But it made me realize how badly I was used to not taking ownership nor responsibility on my thoughts.&lt;br /&gt;&lt;br /&gt;Using "One" as a pronoun may seem not a big deal, but try it. It was so hard for me. If this was not a big deal, why was it so hard for me to avoid being indirect when expressing my thoughts an opinions?&lt;br /&gt;&lt;br /&gt;This is deep, this is profound. I see it coming from a rooted thought or assumption that the world as I see it, is the world everyone else sees. That what I think must be what everyone else thinks.&lt;br /&gt;&lt;br /&gt;This is automatically blocking my disposition to LISTEN, and puts me as a Proposer, never a Listener.&lt;br /&gt;&lt;br /&gt;How can I achieve understanding, or get to an agreement, if I can't even take ownership of my thoughts, hence I am predisposed to reject a different opinion? I'm closed to diversity!&lt;br /&gt;&lt;br /&gt;I will be posting about communication, about what I've learned. Next post will be about how to ask for things.&lt;br /&gt;&lt;br /&gt;On the meantime, try avoiding "One", see how it works for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-760121191614321756?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/760121191614321756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=760121191614321756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/760121191614321756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/760121191614321756'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2009/10/we-have-to-improve-communication-part-i.html' title='&quot;We Have to Improve Communication&quot; - Part I'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hyycBLG5jvs/StOOE6XkXtI/AAAAAAAAAFs/ITfLmvxUvY8/s72-c/1135637951_smiley-inflate.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-34375723164637138</id><published>2009-09-15T17:11:00.004-05:00</published><updated>2009-10-13T13:32:22.369-05:00</updated><title type='text'>Credo Mexicano (Mexican Creed)</title><content type='html'>&lt;span style="font-style: italic;"&gt;by Ricardo López Mendez&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;This poem from 1940 still reflects the essence and feelings of our Mexican culture and feeling. It's too deep and I share it with you. I'll try to translate on a later time, for now, let's enjoy the holidays.&lt;/span&gt; &lt;span style="font-style: italic;"&gt;=)&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;¡QUE VIVA&lt;/span&gt;&lt;span style="color: rgb(192, 192, 192);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;MÉXICO, C&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;ABRONEEES!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;como en el vértice de un juramento.&lt;br /&gt;Tú hueles a tragedia, tierra mía,&lt;br /&gt;y sin embargo ríes demasiado,&lt;br /&gt;acaso porque sabes que la risa&lt;br /&gt;es la envoltura de un dolor callado.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;sin que te represente en una forma&lt;br /&gt;porque te llevo dentro, sin que sepa&lt;br /&gt;lo que tú eres en mí; pero presiento&lt;br /&gt;que mucho te pareces a mi alma,&lt;br /&gt;que sé que existe, pero no la veo.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;en el vuelo sutil de tus canciones&lt;br /&gt;que nacen porque sí, en la plegaria&lt;br /&gt;que yo aprendí para llamarte Patria:&lt;br /&gt;algo que es mío en mí como tu sombra,&lt;br /&gt;que se tiende con vida sobre el mapa.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;en forma tal que tienes de mi amada&lt;br /&gt;la promesa y el beso que son míos,&lt;br /&gt;sin que sepa por qué se me entregaron:&lt;br /&gt;no sé si por ser bueno o por ser malo&lt;br /&gt;o porque del perdón nazca el milagro.&lt;br /&gt;&lt;br /&gt;México, creo en ti&lt;br /&gt;sin preocuparme el oro de tu entraña:&lt;br /&gt;es bastante la vida de tu barro&lt;br /&gt;que refresca lo claro de las aguas&lt;br /&gt;en el jarro que llora por los poros&lt;br /&gt;la opresión de la carne de tu raza.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;porque creyendo te me vuelves ansia&lt;br /&gt;y castidad y celo y esperanza.&lt;br /&gt;Si yo conozco el cielo, es por tu cielo,&lt;br /&gt;si conozco el dolor, es por tus lágrimas&lt;br /&gt;que están en mí aprendiendo a ser lloradas.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;en tus cosechas de milagrerías&lt;br /&gt;que sólo son deseo en las palabras.&lt;br /&gt;Te consagras de auroras que te cantan&lt;br /&gt;¡y todo el bosque se te vuelve carne!,&lt;br /&gt;¡y todo el hombre se te vuelve selva!&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;porque nací de ti, como la flama&lt;br /&gt;es compendio del fuego y de la brasa;&lt;br /&gt;porque me puse a meditar que existes&lt;br /&gt;en el sueño y materia que me forman&lt;br /&gt;y en el delirio de escalar montañas.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;porque escribes tu nombre con la equis,&lt;br /&gt;que algo tiene de cruz y de calvario;&lt;br /&gt;porque el águila brava de tu escudo&lt;br /&gt;se divierte jugando a los volados&lt;br /&gt;con la vida y, a veces, con la muerte.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;como creo en los clavos que te sangran,&lt;br /&gt;en las espinas que hay en tu corona,&lt;br /&gt;y en el mar que te aprieta la cintura&lt;br /&gt;para que tomes en la forma humana&lt;br /&gt;hechura de sirena en las espumas.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;porque si no creyera que eres mío&lt;br /&gt;el propio corazón me lo gritara&lt;br /&gt;y te arrebataría con mis brazos&lt;br /&gt;a todo intento de volverte ajeno&lt;br /&gt;sintiendo que a mí mismo me salvava.&lt;br /&gt;&lt;br /&gt;México, creo en ti,&lt;br /&gt;porque eres el alto de mi marcha&lt;br /&gt;y el punto de partida de mi impulso.&lt;br /&gt;¡Mi creo, Patria, tiene que ser tuyo,&lt;br /&gt;como la voz que salva y como el ancla...!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-34375723164637138?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/34375723164637138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=34375723164637138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/34375723164637138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/34375723164637138'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2009/09/credo-mexicano-mexico-creed.html' title='Credo Mexicano (Mexican Creed)'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-8229004241447089331</id><published>2009-04-13T18:01:00.000-05:00</published><updated>2009-04-13T18:17:59.208-05:00</updated><title type='text'>Making File Uploads Work in IE6 and 7</title><content type='html'>So, I'm developing a web application at home with Linux OS and Firefox web browser. Then I deploy it on a Windows OS and a IE Web Browser. &lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Yeah I know how dumb and risky it sounds, problem is I can't afford a new computer right now, so I use Ubuntu 8.10 for developing, and the target server for my developed web app is Windows. &lt;br /&gt;&lt;br /&gt;You know cross-browser compatibility is always a headache, and this it's all true for File Uploads.&lt;br /&gt;&lt;br /&gt;I use PHP, and for some reason, the file upload feature wouldn't work in IE Browser. WHYYYY!!&lt;br /&gt;&lt;br /&gt;I spent almost 3 hours on forums and finally found the reason: ENCTYPE. All file upload features warn you: You have to change your form enctype attribute to "multipart/form-data" in order that the file input contents can travel through the request.&lt;br /&gt;&lt;br /&gt;Well... I DO! SO WHAT'S WROONG?!!&lt;br /&gt;&lt;br /&gt;As I use an admin page with header, left navigation pane and content areas, I use the same form for several different features. And I have a feature which uploads files.&lt;br /&gt;&lt;br /&gt;Hence, I dynamically change the ENCTYPE attribute through javascript. And after hours of trying to explain myself "why in the world is this not working if I'm doing everything right", and just before I start blaming the elves or believing I was coursed, I found this page: http://www.talkphp.com/javascript-ajax-e4x/1176-form-enctype-internet-explorer.html&lt;br /&gt;&lt;br /&gt;It turns to be that for Internet Explorer, the W3C STANDARD enctype attribute is NOT ENOUGH. I have to set this particular ENCODING attribute as well, so my code ended up like this:&lt;br /&gt;&lt;br /&gt;form.enctype = "multipart/form-data";&lt;br /&gt;form.encoding = "multipart/form-data";&lt;br /&gt;form.submit();&lt;br /&gt;&lt;br /&gt;Yeah, I addded the form.encoding=... line and it worked perfectly.&lt;br /&gt;&lt;br /&gt;Thanks Wildhoney @ talkphp forum! &lt;br /&gt;&lt;br /&gt;Now I am compelled to spread the words of wisdom to all you programmers that have lost hope. No, you're not cursed, you just didn't know.&lt;br /&gt;&lt;br /&gt;PS. Yes, my writing style today is a little bit crazy, that's what's left of an stressed mind after 3 hours of trying to find a logical reason to an error that shouldn't be there in the first time. Now I'll take some rest and no more coffee for me.&lt;br /&gt;&lt;br /&gt;GREETINGS!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-8229004241447089331?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/8229004241447089331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=8229004241447089331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/8229004241447089331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/8229004241447089331'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2009/04/making-file-uploads-work-in-ie6-and-7.html' title='Making File Uploads Work in IE6 and 7'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-896444190123483235</id><published>2009-04-04T17:00:00.005-06:00</published><updated>2009-04-13T11:40:56.073-05:00</updated><title type='text'>Overcoming AJaX UTF-8 Encoding Limitation (in PHP)</title><content type='html'>I've been learning a lot about PHP, MySQL programming through a project I've been working on for 2 months.&lt;br /&gt;&lt;br /&gt;I didn't know AJaX, actually. And when I find any challenge that takes time and a lot of headaches to overcome, I share the solution for the sake of saving people some time and bad moments.&lt;br /&gt;&lt;br /&gt;My web application is in Spanish (latin american characters), and I use AJaX to show search results paginated, in order to make it simpler and faster to go through the results, sort them, etc...&lt;br /&gt;&lt;br /&gt;And the results include words in Spanish, containing characters not supported in UTF-8, AJaX won't show those characters correctly.&lt;br /&gt;&lt;br /&gt;And no, there's no way, so far I've researched, to change the UTF-8 character set for the XMLHttpRequest object; setRequestHeader("Content-Type", "...; charset=ISO...") won't work.&lt;br /&gt;&lt;br /&gt;Some pages say you may encode the URI you are sending, and decode the responseText and you're all set. I assume encoding the URI applies when using GET method, or when using non-UTF-8 characters in the parameter values, but not to make the responseText UTF-8 compliant. I can't decode a responseText that was never encoded. And I wasn't able to decode the responseText when assigning it to the containing element.&lt;br /&gt;&lt;br /&gt;So I finally found the solution on a web page, much simpler than what I would imagine: encode the string representing the HTML string at the server-side to UTF-8 before returning it.&lt;br /&gt;&lt;br /&gt;In PHP, it's like this:&lt;br /&gt;&lt;br /&gt;$html = "... all my html response text here ...";&lt;br /&gt;echo(utf8_encode($html));&lt;br /&gt;&lt;br /&gt;or whatever way you decide to do it, the fact is, encode the response text with ut8_encode() before printing it or returning it.&lt;br /&gt;&lt;br /&gt;Also, very important, make sure the HTML page receiving the responseText has the appropriate character encoding. &lt;br /&gt;&lt;br /&gt;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&amp;gt&lt;br /&gt;&lt;br /&gt;I assume it'll work pretty much the same way on other programming languages; simply encode the response text server side before responding, and make sure the receiving page character set is utf-8.&lt;br /&gt;&lt;br /&gt;Hope it is helpful for anyone.&lt;br /&gt;&lt;br /&gt;Greetings!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-896444190123483235?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/896444190123483235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=896444190123483235' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/896444190123483235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/896444190123483235'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2009/04/overcoming-ajax-utf-8-encoding.html' title='Overcoming AJaX UTF-8 Encoding Limitation (in PHP)'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-3674226108806487547</id><published>2009-02-17T13:51:00.003-06:00</published><updated>2009-02-17T14:20:41.787-06:00</updated><title type='text'>Correct Installation Steps for XAMPP 1.7 on Ubuntu Linux</title><content type='html'>So, for my freelance projects, I have to learn PHP, and use MySQL as database.&lt;br /&gt;&lt;br /&gt;I have an Ubuntu 8.10 Linux distribution, and the best tool available for developing web apps with PHP and MySQL is &lt;a href="http://www.apachefriends.org/en/xampp.html"&gt;XAMPP&lt;/a&gt; (formerly LAMPP: &lt;span style="font-weight: bold;"&gt;L&lt;/span&gt;inux, &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;pache web server, &lt;span style="font-weight: bold;"&gt;M&lt;/span&gt;ySQL database engine, &lt;span style="font-weight: bold;"&gt;P&lt;/span&gt;HP programming language, &lt;span style="font-weight: bold;"&gt;P&lt;/span&gt;ERL scripting language)&lt;br /&gt;&lt;br /&gt;XAMPP is basically a set of tools well-packed to run altogether. It is called now XAMPP and not LAMPP because it is available to all operating systems, not only &lt;span style="font-weight: bold;"&gt;L&lt;/span&gt;inux.&lt;br /&gt;&lt;br /&gt;Usually the best way to install a software in Linux is to get the debian package installation, (.deb file, this is because Ubuntu is built over Debian distribution) but for XAMPP there's nota debian package; there's a self-contained .tar.gz file (like a .zip file for windows users) with a folder called lampp that includes all tools embedded.&lt;br /&gt;&lt;br /&gt;There's a &lt;a href="http://www.apachefriends.org/en/xampp-linux.html#374"&gt;comprehensive installation manual&lt;/a&gt; on the XAMPP pages for installing and setting it up, however, it doesn't include some minor changes that are required in order for some included XAMPP tools (such as MySQL) to work well.&lt;br /&gt;&lt;br /&gt;After installing XAMPP do the following:&lt;br /&gt;&lt;br /&gt;1.- For XAMPP web page to run: give proper read/write permissions to 'others' on the lang.tmp file at /opt/lampp/htdocs/xampp folder; go to the folder and execute the following command as root user:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#chmod 666 lang.tmp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2.- For MySQL correct execution: provide read/write/execute permissions over the var folder and all its contents. As I hadn't identified the right user, I assigned it to everyone. Go to the /opt/lampp/ folder and type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#chmod -R 777 var&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've spent HOURS figuring out in error logs and forums for the right answers. I don't even want to list all of the errors I've faced. This should solve any of your installation problems on Ubuntu 8.10 and basically any Linux distribution.&lt;br /&gt;&lt;br /&gt;Greetings!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-3674226108806487547?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/3674226108806487547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=3674226108806487547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/3674226108806487547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/3674226108806487547'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2009/02/correct-installation-steps-for-xampp-17.html' title='Correct Installation Steps for XAMPP 1.7 on Ubuntu Linux'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-7143822835181211348</id><published>2009-01-13T11:21:00.016-06:00</published><updated>2011-03-12T00:25:54.657-06:00</updated><title type='text'>Basic Java Thread Exercises</title><content type='html'>&lt;span style="font-weight: bold; font-style: italic;"&gt;Was this helpful for you? Please take a little time to comment on the exercises and solutions after you've used them, I'd like feedback from you. Thanks! =)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;UPDATE 12/03/20011: &lt;span style="font-weight: bold;"&gt;Fixed broken download links&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.4shared.com/file/163639535/856414a9/AssassinThreadSlayer.html"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/VyQ7j6EA/ThreadRace.html"&gt;&lt;span style="font-family:arial;"&gt;Thread Race&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/U7ESrhBS/ThreadRelayRace.html"&gt;&lt;span style="font-family:arial;"&gt;Thread Relay Race&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.4shared.com/file/9PAknMsB/AssassinThreadSlayer.html"&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;Assassin Thread Slayer&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;BASIC JAVA THREAD EXERCISES&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;This brief, simple tutorial assumes you already know the basic use of OOP in Java language.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Basic Theory Background - What is a thread?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I like to take the approach form the Operating Systems perspective, where a thread defines a single execution unit in a process, being a process an instance of a program in a multitasking environment.&lt;br /&gt;&lt;br /&gt;Meaning, for example, when I run my internet browser, it is a process, and each separate browsing window tab inside that browser is a thread.&lt;br /&gt;&lt;br /&gt;Threads, ideally, are independent execution units; they don't depend on others to execute, and a process can go on separately from the thread.&lt;br /&gt;&lt;br /&gt;However, this would work fine in a multi-processing environment, like in a server with several CPU's. Most operating systems are multi-tasking, meaning they emulate this multi-processing by reserving time slots and resources alternately for each process, and as the CPU clock speed is high, it is transparent for the user.&lt;br /&gt;&lt;br /&gt;Think about your computer now: you probably have this browser window open and also maybe your personal messenger, and maybe playing some music. Well they are executing alternately in the background, but for you as a user it's seamless.&lt;br /&gt;&lt;br /&gt;And even in a multi-processing environment, threads may be having access to a resource another thread may be using, and this can cause what is called a deadlock; when neither thread can have access to a resource.&lt;br /&gt;&lt;br /&gt;Imagine for example me and my brother want to wash our cars, and there's only one bucket and one sponge. Let's say I got the sponge and my brother the bucket: I won't be able to start washing my car because I'm waiting for the bucket, but my brother won't give it away because he's waiting for the sponge, so we're both just standing there looking at each other to see who releases his item first, but no one does, and I'm late for my date =(&lt;br /&gt;&lt;br /&gt;If we were an harmonious family, we'd agree to share both alternately; he'll be using the bucket and sponge while I'm removing the soap from the part of the car I've washed and dry it, and then ask him for the bucket and sponge when done and he'll dry his part of the car and then ask me for the bucket when done and so on... and I'll be on time for my date with a shining car =D&lt;br /&gt;&lt;br /&gt;What I mean is that when we program threads, we must consider these possibilities and provide our classes with a mechanism to manage shared resources. Java itself includes several &lt;span style="font-style: italic;"&gt;synchronization&lt;/span&gt; methods for that purpose.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;EXERCISES SECTION&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The purpose of this post is to provide exercises that will help practice a basic implementation of threads. Here we'll present the problem and guide through the solution from a design approach, the implementation is up to you, and that's what these exercises are about: use what you've learned about threads implementation in Java for coding the solution. Good luck with your self-assessment exams! :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exercise 1 - Thread Subclassing Vs Runnable Implementation - The Thread Race.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I wanted to make an interesting experiment: is it true that threads run independently, and that in multi-tasking environments each execution unit is given a time slot based on certain algorithms? What will happen if I made a thread race, let's say 10 threads... will the first one being run will finish first, or are they completely asynchronous and independent?&lt;br /&gt;&lt;br /&gt;Let's make a thread race program, where a ThreadRace class will create an instance of 10 ThreadRaceCompetitor's. Then it'll run them all. There will be a results class called ThreadRaceContext, which will keep the scorecard of who finished in which place.&lt;br /&gt;&lt;br /&gt;When a ThreadCompetitor finishes the race, it will have to inform the ThreadRaceContext his race number, and that it's done, so the ThreadRaceContext will inform about its arrival. Who'll arrive first? Make your bets!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hyycBLG5jvs/SWzdui91YaI/AAAAAAAAAEQ/uTGAE0o2fq0/s1600-h/thread_race_class_diagram.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 385px; height: 241px;" src="http://2.bp.blogspot.com/_hyycBLG5jvs/SWzdui91YaI/AAAAAAAAAEQ/uTGAE0o2fq0/s400/thread_race_class_diagram.PNG" alt="" id="BLOGGER_PHOTO_ID_5290847453983367586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Design challenges:&lt;/span&gt; The ThreadRaceContext object is a common resource for all ThreadCompetitor's. How can I make sure it keeps an accurate record of each of their positions at the race?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;How should I implement the solution of I extended from Thread rather than implementing the Runnable() interface? What will the difference be? How would the ThreadRace class control each of the threads execution?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/concurrency/runthread.html"&gt;Reference for solving this exercise.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exercise 2 - Synchronizing the Threads Through the join() Method - The ThreadRelayRace&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now let's make the Thread Race even more interesting: let's make it a ThreadRelayRace, in which the competition will occur between 10 ThreadRelayRaceTeam's, each of them composed of 4 ThreadCompetitor's.&lt;br /&gt;&lt;br /&gt;Now the ThreadCompetitors will have a thread number and a team number, and the ThreadRaceContext will inform when a ThreadRaceCompetitor from a team finished, and then the whole team finishes, informing the results of the team's positions.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hyycBLG5jvs/SWzhol-M5UI/AAAAAAAAAEY/6AAsuPYBvPE/s1600-h/thread_relay_race_class_diagram.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 231px;" src="http://1.bp.blogspot.com/_hyycBLG5jvs/SWzhol-M5UI/AAAAAAAAAEY/6AAsuPYBvPE/s400/thread_relay_race_class_diagram.PNG" alt="" id="BLOGGER_PHOTO_ID_5290851749757510978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Design challenges:&lt;/span&gt;&lt;span style="font-style: italic;"&gt; Did you make the previous classes reusable? How would I redesign the ThreadRaceCompetitor and the ThreadRaceContext to comply with these changes?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Now the ThreadRace will start running the ThreadRelayRaceTeam, and the ThreadRelayRaceTeam will start running its ThreadRaceCompetitor #1. How can I ensure the ThreadRaceCompetitor #1 starts and then follows #2 using the join() method?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/concurrency/join.html"&gt;Reference for solving this exercise.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exercise 3 - Reserving a Shared Resource Using the interrupt() Method - The Assassin Threads Slayer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I decided to make an experiment in which I want to see that will happen if I place 10 AssasinThread's in a ThreadSlayerRoom, where there's only one ThreadKillerGun? Who'll take the gun first and kill all others?&lt;br /&gt;&lt;br /&gt;The AssasinThreadSlayer class will make sure the AssasinThreads are placed on the ThreadSlayerRoom where the fun will start when their run() method is invoked. They'll all try to get the ThreadKillerGun first, and if it's already taken, they'll say it: "Assassin 1: Oh No! Gun's Taken!"&lt;br /&gt;&lt;br /&gt;You should be informed who takes the gun and how all AssasinThread's are being killed one by one.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hyycBLG5jvs/SWzkRmuZsqI/AAAAAAAAAEg/IusQZst_tdw/s1600-h/assasin_threads_class_diagram.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 249px;" src="http://2.bp.blogspot.com/_hyycBLG5jvs/SWzkRmuZsqI/AAAAAAAAAEg/IusQZst_tdw/s400/assasin_threads_class_diagram.PNG" alt="" id="BLOGGER_PHOTO_ID_5290854653357568674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Design Challenges:&lt;/span&gt; Who will call the interrupt for the AssasinThread's when one takes the gun? It has to be the gun.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/concurrency/interrupt.html"&gt;Reference for solving this exercise.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;A Reference Code Example.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/concurrency/simple.html"&gt;A useful code example implementing all the methods included in this exercise.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Was this helpful for you? Please take a little time to comment on the exercises and solutions after you've used them, I'd like feedback from you. Thanks! =)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Regards!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-7143822835181211348?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/7143822835181211348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=7143822835181211348' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/7143822835181211348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/7143822835181211348'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2009/01/basic-java-thread-exercises.html' title='Basic Java Thread Exercises'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_hyycBLG5jvs/SWzdui91YaI/AAAAAAAAAEQ/uTGAE0o2fq0/s72-c/thread_race_class_diagram.PNG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-8793276137113303930</id><published>2008-12-08T10:55:00.005-06:00</published><updated>2009-01-08T14:39:37.020-06:00</updated><title type='text'>Something Very Terrible Will Happen to This Town.</title><content type='html'>&lt;span style="font-style: italic;"&gt;I received this story by e-mail, and decided to translate it and share it with you.&lt;br /&gt;&lt;br /&gt;In times of uncertainty like this one, where economical crisis is hitting all companies, sometimes fear takes us over and we create our own doom.&lt;br /&gt;&lt;br /&gt;Speculation is a dangerous demon, that makes all come to a vicious circle: companies started selling their shares and assets looking for money foreseeing they won't be able to pay their debts, then people noticed and they started taking out their money from them, making company's value to go down and them needing to sell more and so on until bankruptcy.&lt;br /&gt;&lt;br /&gt;Let it no happen to ourselves.&lt;br /&gt;&lt;br /&gt;Hope this story gives you an idea about how ridiculous is human nature sometimes, and makes you reflect:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Are we the people causing something terrible to happen to this town? &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Imagine yourself a very small town where there's an old lady who has two siblings: one boy, 17, and a daughter, 14. She's serving them breakfast and has a worried expression on her face. Her sons ask her what's wrong and she answers:&lt;br /&gt;&lt;br /&gt;- I don't know, but I have woke up with the feeling that something very terrible will happen to this town.&lt;br /&gt;&lt;br /&gt;They laugh at their mother. They say those are old people feelings, it happens. The son goes to play to the billiards, and at the moment he's about to strike a simple cannon, the other player says to him:&lt;br /&gt;&lt;br /&gt;- I bet you a dollar that you won't do it.&lt;br /&gt;&lt;br /&gt;Everyone laughs, he laughs, he shoots and misses, pays his dollar due and everyone asks him what happened, if it was a simple shot. He replies:&lt;br /&gt;&lt;br /&gt;- It's true, but I'm concerned about something my mother told me this morning, about something terrible happening to this town.&lt;br /&gt;&lt;br /&gt;All laugh at him, and the dollar winner goes back home, where he's with his mother or a granddaughter or anything, any sibling. Happy about his dollar he says:&lt;br /&gt;&lt;br /&gt;- I won this dollar to Dámaso on the simplest way because he's such a fool.&lt;br /&gt;&lt;br /&gt;- And why is him such a fool?&lt;br /&gt;&lt;br /&gt;- Well, because he couldn't strike a very simple cannon, worried about the idea that her mother woke up with a feeling that something terrible will happen to this town.&lt;br /&gt;&lt;br /&gt;Then his mother tells him:&lt;br /&gt;&lt;br /&gt;- Don't make fun out of old people feelings because sometimes they come true.&lt;br /&gt;&lt;br /&gt;She listens to him and then goes to buy food. She says to the shopkeeper:&lt;br /&gt;&lt;br /&gt;- I want a pound of food - and at the moment she's being served, she adds-: No, better them be two, because they're saying something terrible will happen to this town and it's best to be prepared.&lt;br /&gt;&lt;br /&gt;The grocer dispatches her food and when another lady comes to buy a pound of food he tells her:&lt;br /&gt;&lt;br /&gt;- Take two, because people is coming here saying something very terrible will happen, and they're preparing and buying things.&lt;br /&gt;&lt;br /&gt;Then the old lady replies:&lt;br /&gt;&lt;br /&gt;- I have several sons, look, better give me four pounds.&lt;br /&gt;&lt;br /&gt;She takes the four pounds, and to make the long story short, I'll say that the grocer in half an hour runs out of food, go gets more from the warehouse, he sells all of it and the rumor spreads. The moment comes when everyone in the town is waiting for something to happen. All activities are stopped and suddenly, at two o'clock, weather's hot as usual. Someone says:&lt;br /&gt;&lt;br /&gt;- Have you noticed how hot it is?&lt;br /&gt;&lt;br /&gt;- But this town has always been hot!&lt;br /&gt;&lt;br /&gt;(So hot that it's a town where musicians had their instruments mended with tar, and always played under a shade beacause if they played under the sun, their instruments will tear down in pieces.)&lt;br /&gt;&lt;br /&gt;- However -someone says-, it's never been that hot at this time.&lt;br /&gt;&lt;br /&gt;- But it's at two o'clock is when it's hotter.&lt;br /&gt;&lt;br /&gt;- Yes, but not so hot as now.&lt;br /&gt;&lt;br /&gt;To the desert town, to the desert town square, suddenly a little bird comes down and rumor spreads:&lt;br /&gt;&lt;br /&gt;- There's a bird in the town square.&lt;br /&gt;&lt;br /&gt;And everyone comes, frightened, to look at the little bird.&lt;br /&gt;&lt;br /&gt;- But people, there have always been little birds who come down here.&lt;br /&gt;&lt;br /&gt;- Yes, but never at this time.&lt;br /&gt;&lt;br /&gt;It comes to a moment of such tension for the town residents, that everyone is desperate for leaving and are not brave enough to do it.&lt;br /&gt;&lt;br /&gt;- I am a real man. -someone yells- I'm leaving.&lt;br /&gt;&lt;br /&gt;He takes his goods, his children, his animals, place them on a cart and passes through the central street, where all the poor town is looking at him, until the time they all say:&lt;br /&gt;&lt;br /&gt;- If he dares, then we are leaving too.&lt;br /&gt;&lt;br /&gt;And they literally start to desert the town. They take their goods, animals, everything.&lt;br /&gt;&lt;br /&gt;And one of the last to abandon the town says:&lt;br /&gt;&lt;br /&gt;- Let no disgrace come to what is left from our house -and then he burns it and others start to burn their houses too.&lt;br /&gt;&lt;br /&gt;They run away in tremendous and true panic, like in a war exodus, and in the middle of everyone is the woman who had the premonition crying out:&lt;br /&gt;&lt;br /&gt;- I said something very terrible will happen, and they told me I was crazy.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-style: italic;"&gt;by Gabriel García Márquez - told on a writer's congress.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Translation and adaptation by Juan Manuel Trejo Sánchez&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-8793276137113303930?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/8793276137113303930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=8793276137113303930' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/8793276137113303930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/8793276137113303930'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2008/12/something-very-terrible-will-happen-to.html' title='Something Very Terrible Will Happen to This Town.'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-8009404040890642408</id><published>2008-12-03T15:31:00.003-06:00</published><updated>2008-12-03T16:01:08.196-06:00</updated><title type='text'>How to Keep your Job in Crisis Times</title><content type='html'>I receive a bi-weekly news digest from the &lt;a href="http://www.acm.org/"&gt;ACM&lt;/a&gt;, called CareerNews, which focuses on news related to IT Carreer Development.&lt;br /&gt;&lt;br /&gt;Economical crisis is hitting everyone, menacing our jobs or our growth opportunities. In times like this (and on any other time) is good to be well-informed. I'll be sharing with you the articles digest with what I consider the most relevant news.&lt;br /&gt;&lt;br /&gt;Today I'll focus on the articles related to how to keep my job, how to ensure I get the best opportunities.&lt;br /&gt;&lt;br /&gt;*I highly encourage you to keep in touch with this news digest, it has helped me keep up-to-date and well prepared: &lt;a href="http://www.acm.org/membership/careernews/current"&gt;http://www.acm.org/membership/careernews/current&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;   &lt;a href="http://www.techcareers.com/articles/i/ad3973/blogs/information-technology/how-to-ensure-it-job-security-despite-an-economic-meltdown.htm" name="11df97e7466d91ee_1"&gt;How to Ensure IT Job Security Despite an Economic Meltdown&lt;/a&gt;&lt;br /&gt;Tech Careers, November 2008&lt;br /&gt;&lt;/b&gt;  &lt;p&gt; Despite the steady growth that the technology sector has experienced over the past few years, the declining economy could lead to slower growth in this key industry. The current economic meltdown has caused many companies to re-evaluate their technology budgets and hiring plans, which could potentially lead to layoffs or increased outsourcing of technology jobs to other countries to save money. As a result, IT professionals will need to adjust their skills to align with changing business demands, learn how to demonstrate their value to employers and find ways to impact the bottom line.&lt;/p&gt; &lt;p&gt; First and most importantly, employers are looking for workers who can provide meaningful results. This is the perfect opportunity for IT staff members to demonstrate their value to the organization by identifying new ways to save money or increase revenue. Workers can also expand beyond their traditional role to take on more responsibilities. Although this inevitably means an increased workload, it is important to make the most out of this opportunity to gain more experience and demonstrate value to the employer. Additionally, IT workers can diversify their skill set and express a willingness to help out wherever needed. &lt;/p&gt; &lt;p&gt; The current period may be the right time for IT professionals to assess their current skill set and determine if they could benefit from additional certifications or training. In an industry that is constantly evolving and changing, it is important for IT professionals to anticipate emerging technology trends and continue to learn new skills to stay competitive in the job market. It is also important for professionals to proactively maintain their skills and continue networking at all times. It helps to be aware of what is going on in the job market, so as to avoid being unprepared in the case of a layoff. &lt;/p&gt;&lt;/span&gt;&lt;span&gt;&lt;p&gt;  &lt;b&gt;   &lt;a href="http://www.eweek.com/c/a/IT-Infrastructure/10-Steps-Techies-Should-Take-to-Keep-Their-Jobs-in-a-Financial-Meltdown/" name="11df97e7466d91ee_6"&gt;Ten Steps Techies Should Take to Keep Their Jobs in a Financial Meltdown&lt;/a&gt;&lt;br /&gt;eWeek, October 10 &lt;/b&gt;  &lt;/p&gt;&lt;p&gt; Against the backdrop of a slowing economy, there are a number of steps that corporate IT professionals can take to increase their job security. With belt-tightening now a common theme -- even in Silicon Valley, IT workers need to focus on practical ways that they can help their company reduce costs. They also need to learn how IT can drive business value throughout the organization and develop the type of peer network that will help them build consensus about important projects. Finally, they need to think about ways that they can position themselves as a generalist rather than a specialist in order to increase their perceived value to an employer.&lt;/p&gt; &lt;p&gt; In order to maximize your value to the organization, you really need to understand not just a specific part of the IT world, but all the technology tools that keep your company running. This is especially true as companies look for utility players rather than specialists in an era of tighter budgets. If possible, try to learn as much about the business and the types of technology projects that can really create value. Also, try to build some personal contacts within the company who can give you an early warning of organizational changes afoot.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;p&gt;  &lt;b&gt;   &lt;a name="11df97e7466d91ee_7"&gt;&lt;/a&gt;&lt;/b&gt;&lt;a name="11df97e7466d91ee_7"&gt;&lt;span&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;b&gt;&lt;a href="http://www.cio.com/article/461885/IT_Jobs_How_to_Re_Skill_Yourself_for_a_Higher_Paying_One?source=nlt_ciocareers" name="11df97e7466d91ee_7"&gt;How to Re-Skill Yourself for a Higher-Paying IT Job&lt;/a&gt;&lt;br /&gt;CIO.com (via Computerworld), November 11 &lt;/b&gt;&lt;/p&gt;&lt;/span&gt;&lt;b&gt;&lt;a name="11df97e7466d91ee_7"&gt;&lt;/a&gt;&lt;/b&gt;  &lt;/p&gt;&lt;p&gt; While IT professionals face challenges in switching to a different technical discipline to take advantage of increased demand for a hot skill, there are several ways to make the transition as easy as possible. The easiest path is to convince an employer to pay for online or classroom courses to hone or develop certain skills. However, given current cost constraints, most employers have fewer resources available than they once did to retrain IT workers in different technical fields. With that in mind, the article provides an overview of different opportunities that could lead to higher-paying roles. &lt;/p&gt; &lt;p&gt; While employers may be more willing to provide reimbursement for certain technical certifications, they may not be as willing to support more advanced training opportunities. From the perspective of employers, providing IT staffers with training opportunities can have mixed results. On one hand, a well-rounded technical staff with enhanced knowledge in various disciplines can provide better IT support. On the other hand, as IT workers become more knowledgeable, they also become more marketable, increasing the risk that they will leave for another employer or ask for higher compensation. &lt;/p&gt; &lt;p&gt; To underscore this point, the article profiles an application support supervisor in Michigan, who took advantage of his company’s training program to bolster his supervisory, project management and VMWare skills. In addition, he enrolled in MBA classes at a nearby college. However, after only receiving a 3% raise and being passed over for a promotion, this IT worker took advantage of social networking connections to explore senior systems analyst jobs. After interviewing for a position at a Detroit-area law firm, he received an offer and decided to take the job, since it included a 20% salary increase and better benefits.&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-8009404040890642408?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/8009404040890642408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=8009404040890642408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/8009404040890642408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/8009404040890642408'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2008/12/how-to-keep-your-job-in-crisis-times.html' title='How to Keep your Job in Crisis Times'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-8369637651510591368</id><published>2008-11-20T12:39:00.002-06:00</published><updated>2008-11-20T17:21:28.049-06:00</updated><title type='text'>The Hottest IT Skills</title><content type='html'>I read an article from Computer World called "&lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;taxonomyName=Careers&amp;amp;articleId=329395&amp;amp;taxonomyId=10&amp;amp;pageNumber=2"&gt;The Hottest IT skills to Survive a Cool Economy&lt;/a&gt;" which comes as a result of their &lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9119020"&gt;Computerworld 2008 Salary Survey&lt;/a&gt;, and it states the trends on which will be the most demanded/best paid IT Skills in the next 5 years.&lt;br /&gt;&lt;br /&gt;It identifies Web Developers, Network Administrators and Information Security Managers at the top of demand.&lt;br /&gt;&lt;br /&gt;SECURITY is the top skill among organizations, according to a CompTIA survey of 3,500 IT Managers from 9 countries, --Australia, Canada, France, Germany, Italy, Japan, the Netherlands, the U.K. and the U.S.-- 73% of the respondents identified security, firewalls and data privacy as the IT skills that are most important to their organizations today. But just 57% of the same group said their IT employees are proficient in security. This leaves a 16% GAP to be covered yet.&lt;br /&gt;&lt;br /&gt;Something that called my attention in the article is the recognition of the increasing pervasiveness of remote access for mobile employees and the implementation of wireless networks, particularly on high demand from Health Care and Education industries. This increase challenges IT sector tu secure communications, data and networks.&lt;br /&gt;&lt;br /&gt;Hence, wireless technologies is included as a top too, at least for the next 5 years.&lt;br /&gt;&lt;br /&gt;I know in the end, it's not about going with the trend, but about doing a quality job.&lt;br /&gt;&lt;br /&gt;But it's also about being a "value worker": that who provides real value through the contribution of his/her work rather that the amount of extra-hours applied.&lt;br /&gt;&lt;br /&gt;So, preparing our skills on these areas will ensure we can provide high-value where we will be more needed. And in these downstream times, where we struggle to keep our jobs, this is important to consider.&lt;br /&gt;&lt;br /&gt;I just changed from company, and my new work is in the Telecommunications area, particularly on wireless technology. I leaked in through a Java project, but I'm preparing myself to hop-in to this wireless train.&lt;br /&gt;&lt;br /&gt;And you, what are you doing to be a value worker?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2431580979496134509-8369637651510591368?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/8369637651510591368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=8369637651510591368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/8369637651510591368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/8369637651510591368'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2008/11/hottest-it-skills.html' title='The Hottest IT Skills'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2431580979496134509.post-8200960768407426102</id><published>2008-10-06T11:23:00.002-05:00</published><updated>2008-10-06T11:28:14.951-05:00</updated><title type='text'>If</title><content type='html'>&lt;span style="font-family:arial,helvetica;font-size:+1;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;  &lt;p&gt;  &lt;/p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;This poem has become my motto. This is what I try to become everyday.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;If you can keep your head when all about you&lt;br /&gt; Are losing theirs and blaming it on you,&lt;br /&gt; If you can trust yourself when all men doubt you&lt;br /&gt; But make allowance for their doubting too,&lt;br /&gt; If you can wait and not be tired by waiting,&lt;br /&gt; Or being lied about, don't deal in lies,&lt;br /&gt;  Or being hated, don't give way to hating,&lt;br /&gt; And yet don't look too good, nor talk too wise:&lt;p&gt;  If you can dream--and not make dreams your master,&lt;br /&gt; If you can think--and not make thoughts your aim;&lt;br /&gt; If you can meet with Triumph and Disaster&lt;br /&gt;  And treat those two impostors just the same;&lt;br /&gt; If you can bear to hear the truth you've spoken&lt;br /&gt; Twisted by knaves to make a trap for fools,&lt;br /&gt; Or watch the things you gave your life to, broken,&lt;br /&gt;  And stoop and build 'em up with worn-out tools:&lt;/p&gt;&lt;p&gt;  If you can make one heap of all your winnings&lt;br /&gt; And risk it all on one turn of pitch-and-toss,&lt;br /&gt; And lose, and start again at your beginnings&lt;br /&gt;  And never breath a word about your loss;&lt;br /&gt; If you can force your heart and nerve and sinew&lt;br /&gt; To serve your turn long after they are gone,&lt;br /&gt; And so hold on when there is nothing in you&lt;br /&gt;  Except the Will which says to them: "Hold on!"&lt;/p&gt;&lt;p&gt;  If you can talk with crowds and keep your virtue,&lt;br /&gt; Or walk with kings--nor lose the common touch,&lt;br /&gt; If neither foes nor loving friends can hurt you;&lt;br /&gt; If all men count with you, but none too much,&lt;br /&gt; If you can fill the unforgiving minute&lt;br /&gt; With sixty seconds' worth of distance run,&lt;br /&gt; Yours is the Earth and everything that's in it,&lt;br /&gt; And--which is more--you'll be a Man, my son!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: right;"&gt;&lt;span style="font-style: italic;"&gt;Rudyard Kipling&lt;/span&gt;&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/2431580979496134509-8200960768407426102?l=juanmtrejo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanmtrejo.blogspot.com/feeds/8200960768407426102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2431580979496134509&amp;postID=8200960768407426102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/8200960768407426102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2431580979496134509/posts/default/8200960768407426102'/><link rel='alternate' type='text/html' href='http://juanmtrejo.blogspot.com/2008/10/if.html' title='If'/><author><name>Juan Manuel Trejo Sánchez</name><uri>http://www.blogger.com/profile/15814859797217343124</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://3.bp.blogspot.com/_hyycBLG5jvs/SVkrb8JssmI/AAAAAAAAAD4/PSzDYCUypuM/S220/jmts.jpg'/></author><thr:total>0</thr:total></entry></feed>
