Thursday, January 06, 2011

The breakpoint will not currently be hit. No symbols have been loaded for this document.

I'm posting this blog mostly to remind myself how to fix this if ever I run into it again, but if anyone else benefits from it, then awesome.
In the Visual Studio IDE, when I set a breakpoint at a line of code, and start debugging, the breakpoint becomes that hollow maroon circle with a warning that says The breakpoint will not currently be hit. No symbols have been loaded for this document.
I've read a bunch of articles about makiing sure you're running in debug versus release mode, and making sure you deleted your obj AND bin folders. None of that worked for me. After some digging, and some help from John Alexander and Jeff Julian, I found one way that works for me.
While debugging in Visual Studio, click on Debug > Windows > Modules. The IDE will dock a Modules window, showing all the modules that have been loaded for your project.
Look for your project's DLL, and check the Symbol Status for it.
If it says Symbols Loaded, then you're golden. If it says something like Cannot find or open the PDB file, right-click on your module, select Load Symbols, and browse to the path of your PDB.
I've found that it's sometimes necessary to
stop the debugger
close the IDE
close the hosting application
nuke the obj and bin folders
restart the IDE
rebuild the project
go through the Modules window again
Once you browse to the location of your PDB file, the Symbol Status should change to Symbols Loaded, and you should now be able to set and catch a breakpoint at your line in code.

Friday, December 17, 2010

I'm the purifier, the light that clear all shadows...

Casi le pego..., hace casi exactamente un ano que no escribia nada en este "corner" del cyberspace...., de cualquier forma..., miro hacia atras y veo todos los cambios y vueltas que ha dado mi vida y la verdad me quedo impresionado.... El crecimiento personal, intelectual, profesional....., todo es un proceso..., pero nunca antes habia visto un cambio tan enorme.... Solo me queda decir que me quedo asombrado... No ha sido facil, pero quien quiere que las cosas sean faciles? Si fueran asi no se disfrutarian....
Me estoy preparando para escribir nuevamente registro activo.., razones? Cambio de tecnologia, estrategia, reto ! Pienso que el cambio definitivamente es una constante en mi vida..., y quiero que asi siga siendo, porque eso hace que cada dia sea distinto y tenga su propio sabor!

Prometo estar escribiendo aqui mas a menudo...

Feliz navidad si alguien todavia me lee por aqui !

Thursday, November 12, 2009

Mysql Asp.Net sessionState provider!

Currently I have an application that has the following mix:
ASP.net
C#
MySql for data storage.
SqlServer Express for session management.

I was looking for a way to only keep MySql and drop the instance of SqlServer Express, that's when I found an article where they explain how to create a custom provider to store the session information:
http://msdn.microsoft.com/en-us/library/ms178589.aspx
I copied and pasted the code and but didn't work quite well.

I fixed the sql, since the provided seems to be written for other db engine.
CREATE TABLE `sessionmanager`.`Sessions` (
`SessionId` varchar(80) NOT NULL,
`ApplicationName` varchar(255) NOT NULL,
`Created` datetime DEFAULT NULL,
`Expires` datetime NOT NULL,
`LockDate` datetime NOT NULL,
`LockId` int(11) NOT NULL,
`Timeout` int(11) NOT NULL,
`Locked` tinyint(1) NOT NULL,
`SessionItems` text,
`Flags` int(11) NOT NULL,
PRIMARY KEY (`SessionId`,`ApplicationName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

I decided as well to use directly the MySql Connector instead of the Odbc stuff in order to gain some speed.

To use the code just download the project, add it as a reference to your project and that's it.
Inside the web.config you will need to add the following entries:






To download the source project clic here!

Wednesday, June 17, 2009

Primer post del 2009...

Hoy me dio por leer los posts que tengo desde el ano 2004 (hace ya 5 anos), y el hecho de hacerlo me trajo una cantidad de memorias y recuerdos que ya daba por perdidos dentro de mi cabeza..., ademas.., con esta memoria que cada dia esta mas llena de informacion los lapsus mentales en donde no me acuerdo de ciertos hechos cada dia se hacen mas frecuentes..., y eso, como todo, tiene su razon de ser..., mi mente probablemente no esta tan "sharpy" como cuando tenia 25 anos...., pero si esta mucho mas cuerda que nunca... La conclusion es que quiero sentarme en 10 anos y leer y acordarme y reirme de todas las cosas que han pasado y seguiran pasando en mi vida...

Ayer estaba en carrefour comprando una trapeadora que necesitaba y casualmente, cuando iba a pagar me encontre con unos libros muy muy baratos, cada uno a $5,900 pesos..., compre entonces "Wicked" de Gregory Maguire y "Club Lovecraft" de Antonio Lazaro...., de wicked no tuve muy bueos comentarios.., sin embardo pienso darle la oportunidad..., el otro si no tengo idea como sea...
Mientras tanto pienso terminar "Un mundo sin fin" que es la continuacion de "Los Pilares de la Tierra"..., recomiendo los dos..., son buenisimos...

8A

Tuesday, June 03, 2008

La gente tesa tambien se equivoca !!

Ayer por la noche estaba leyendo una revista y me encontré con un articulo donde hacían la siguiente pregunta:

What idea did you initially dismiss and now realize was brilliant?
"Tivo" -> Mike Blum, owner of Pipsqueak Films.
"Jackson Pollock" -> Irwin Jaconvs, Co-founder and chairman of Qualcomm.
"The Blackberry" -> Jeffrey Katzenberg, Co-founder of Dramworks.
"Google. I was factually and materially wrong at every level" -> Eric Schmidt, C.E.O of Google.

Mi conclusión aquí es que un cargo o una posición no tiene peso a la hora de tomar una decisión.

Wednesday, May 28, 2008

Reporte Trafico las palmas

Todavia sigue cerrada la via, lo cual es un problema debido a que no solo "El Escobero" sino tambien "Santa Elena" estan cerradas, lo cual deja como unica opcion la autopista Medellin-Bogota por donde llegar a mi casa desde Medellin puede tomar dos o tres horas facilmente.
Segun informacion privilegiada, la via tiene que estar abierta para el viernes a mas tardar, razones? OEA !

A Caro..

Si no es de marca entonces no sirve?
Instrucciones para que nunca mas las olvides y puedas generar tus pdf's for free:
1.Bajate el programita Cute Pdf Writter desde aqui: http://www.cutepdf.com/Products/CutePDF/writer.asp
2.Instalalo.
3.Usalo
Pero como lo uso? (Apuesto a que eso es lo que estas pensando...). El te instala una impresora nueva que se llama "Cute Pdf Writter" y la manera de usarla es super sencilla. Desde la aplicacion de donde quieras crear un pdf seleccionar "imprimir" y escoge como impresora "Cute pdr Writter", luego el te va a preguntar por una ubicacion para guardar tu pdf, escogela, clic ok y listo, tienes pdf !

Tuesday, May 27, 2008

Mucha Agua !!

Estas ultimas semanas han sido de lluvia, lluvia y mas lluvia..., anoche hubo otro derrumbe en las palmas, según escuche alcanzo a coger 2 carros pero no le paso nada a nadie, el caso es que esta manana cayo otro derrumbe y los tapo del todo.
Anexo fotos extraídas del colombiano (http://www.elcolombiano.com/proyectos/tiemporeal/galerias/palmas/palmas.html).

















Ojala que estos derrumbes no se extiendan a la parte mas pobre de la ciudad que es la gente que mas sufre con este tipo de situaciones.

Tuesday, April 29, 2008

Un cambio de diseño...

Un cambio de look definitivamente no le cae mal a nadie, y bueno, hoy me dio por ver mi blog donde hace meses de los meses no escribía absolutamente nada, o bueno, de hecho si había escrito varias cosas pero me dió la impresión de que estaba perdiendo el rumbo, casi todos los posts que había hecho eran copias de artículos que me habían gustado de otras paginas y esa no es la idea.
También decidí que voy a seguir escribiendo en español (Lo único pelle son tantas tildes que hay que poner...) a ver si mejoro un toque la ortografía. Afortunadamente tengo el diccionario de firefox que me va subrayando a medida que me voy equivocando o cuando me falta una tilde en alguna palabra.
Acabe de darle una vuelta a la "cuadra" en bicicleta, después de una mañana de una cantidad de voleo y de estar mirando un LCD todo el tiempo es algo reconfortante no solo para el cuerpo sino para la mente..., algo como el dicho de redbull: "Reconforta cuerpo y alma" pero sin la parte de "..redbull te da alas!!". En fin, lo único que seguiré escribiendo aquí son cosas netamente triviales, nada de tecnicismos ni de cosas raras...
Fin.

Friday, August 10, 2007

Lofting Movement...

I really want to build a house.., but I want it to be just of seel and glass.., so I was searching the web and found this interesting article about the "lofting movement", it talks about how it began and became what it is today..




"....My first hint of a better, more efficient, way of housing came with the discovery of the Lofting Movement. In the 1970s the wave of urban decay that spread across the industrialized countries resulted in an interesting phenomenon. Artists, always compelled to live efficiently by virtue of an alternately feast-or-famine self-employment income, began to explore abandoned urban industrial/commercial structures in search of low cost live/work space within the urban cultural centers they have always tended to congregate in. Pooling their resources, groups of artists purchased some of these obsolete buildings and turned them into mini-communities, partitioning them into private residence spaces and shared studios and galleries. The novel environments these creative people made for themselves from these spartan structures attracted the attention of architectural and interior designers who came to appreciate the freedom of creative expression afforded by large simple clear-span spaces. Once publicized in the media, this concept went mainstream and became the basis of a kind of ad-hoc urban renewal driven by the needs of a new generation of young urban professionals migrating to the cities in response to a resurgence in corporate growth and white collar work opportunity. Thus was born the Lofting Movement and today we see the seemingly peculiar phenomenon of new industrial style buildings created specifically to serve as residential loft housing...."

Extracted from: http://radio.weblogs.com/0119080/stories/2003/02/08/gallerysimplicityAndPavili.html

Monday, August 06, 2007

invincible ????

I bought a new laptop a couple of weeks ago...., I was pretty happy with it and I have had used it for only 2 weeks... Then I invited my work pals to my house for a working session..., after finishing work we took a beer or two and I misplaced mine just to the right of my laptop..., then when I finished using my mouse I spilled it over the keyboard and the screen.., I was like in shock or something.., but after a couple of seconds.., I realized that nothing wrong happened to it, except the smell that it was going to have for a couple of weeks..., no big deal anyway.... AND, AND the spill proof keyboard that the computer comes bundled with helped to avoid a greater damage..., peace of mind !!
I worked flawlessly for a couple of days (maybe 3 or 4, can't remember though)..., and I remember that it was a Monday morning...., I was thirsty so I asked my sister to bring me a glass with water.., she did it and I did put it exactly in the same place where the beer was placed a couple of days ago...., I did the same movement and for my surprise I spilled not a few drops but the hole glass over it.., the computer turned off immediately and this time I was scared like hell, I didn't know what to do because the water came from the side and entered inside my thinkpad by every single side you can imagine.., it was full f water everywhere..., "This is the END" I thought.... In that very moment I loose all the hopes to get it back..., and what really bothered me that day is that I already had a warning a couple of days before.., I was really mad at me for doing that... I unplugged it, disassembled it and started to dry it with a hair dryer (just air, not hot air....) until no water remained on it.., then I tried to turn it on.., no luck at all !! I tried to start but a weird sound came in, so I turned it off....., I lost it !! I lost it !! that was the only thing that was in my head...., and what really kept me sad is that it was a brand new computer..., because honestly if it had like 1 year or 1 year and a half that would be like more acceptable, but NOOOO, it just had 2 weeks of use !!!!!!!! ARRRGHHHHHH !!!!
I dissasembled it again and placed a heather by its side for 2 hours.., then I tried again and no luck !! So I tried calling to lenovo without any kind of hope because I knew that that kind of accidents are not covered by the warranty.., they gave me an appointment in town, so I went, and the tech guy told me that there was maybe a chance of saving it..., some hope came to me. He asked me to call him the next day in the morning. Next morning I called and the guy told me that they dried it, they did everything they could and that the thinkpad wasn't turning on.., and that the replacement of the damaged part (mainborad) could cost like US 900..., I said to him never mind.., I prefer to buy a new one than just getting the replacement part..
However he asked me to call him again a couple of hours later... I was hopeless this time.., but for my surprise when I called him he told me that the mainboard didn't have any burned part, so maybe they could claim warranty for it.., also he told me that the board inside it had some fungus..., weird !! having in mind that it was a brand new computer..... He asked me to call a few hours later, which I did and he told me that the warranty manager approved the change of the mainboard as warranty !! I couldn't believe until today that I picked it up and now I'm writing this post from it.
So from now on.., I think that thinkpads are like Phoenix.., they just reborn from dust.
So far, I can say that my experience with Lenovo has been the best of the best.

The meaning of the word "Expert"

This is just a part of the definition:
"....Experts use better tools and care deeply about their craft. They aren't assembling bits on an assembly line, they are crafting a unique product to solve a unique problem. Experts are lazy, they work smarter rather than harder. Experts prefer the easiest solution that gets the job done. Experts aren't interested in creating complex solutions simply to have the complexity, that misguided egoism is the territory of more junior developers. They often get it right the first try and almost always on the second one...."

Extracted from: http://blog.revsys.com/2007/08/a-guide-to-hiri.html

Long time without posting...

I know.., it's been a long time since my last post..., reasons ?? A lot and none at the same time..., weird, isn't it ? ANyway.., today I read a very short article about meetings..., yes..., meetings..., some of us have a love/hate relationship with them...., and this are a few tips that the following page (http://www.behance.com/Featured/Articles/Tip-Measure-Meetings-With-Action/5593) suggests:

  • Beware of "Posting Meetings." A meeting to “share updates” should actually be a voice-mail or an e-mail. Rule of thumb: if you leave a meeting without action steps, then questions to value of the meeting (especially if it is recurring).
  • Abolish Monday Meetings. Gathering people for no other reason than "it’s Monday!" makes little-to-know sense, especially when trying to filter through the bloated post-weekend inbox. Automatic meetings end up becoming “posting” meetings.
  • End With A Review of Actions Captured. At the end of a meeting, go around and review the action steps each person has captured. The exercise takes less than 30 seconds per person, and it almost always reveals a few action steps that were missed. The exercise also breeds a sense of accountability. If you state YOUR action steps in front of YOUR colleagues, then YOU are likely to follow through.

Wednesday, July 18, 2007

Never expect the expected..

It can sound weird, but my conclusion is to never expect the expected and the expected will happen, Murphy's law??? I guess it is ! Aren't we pica?

Tuesday, July 17, 2007

Cool Article.

JuanE sent me yesterday this article, I found it quite cool and interesting.

Many of our problems come from within our own minds. They aren’t caused by events, bad luck, or other people. We cause them through our own poor mental habits. Here are 10 habits you should set aside right away to free yourself from the many problems each one will be causing you.

Stop jumping to conclusions. There are two common ways this habit increases people’s difficulties. First, they assume that they know what is going to happen, so they stop paying attention and act on their assumption instead. Human beings are lousy fortune-tellers. Most of what they assume is wrong. That makes the action wrong too. The second aspect of this habit is playing the mind-reader and assuming you know why people do what they do or what they’re thinking. Wrong again, big time. More relationships are destroyed by this particular kind of stupidity than by any other.

Don’t dramatize. Lots of people inflate small setbacks into life-threatening catastrophes and react accordingly. This habit makes mountains out of molehills and gives people anxieties that either don’t exist or are so insignificant they aren’t worth worrying about anyway. Why do they do it? Who knows? Maybe to make themselves feel and seem more important. Whatever the reason, it’s silly as well as destructive.

Don’t invent rules. A huge proportion of those “oughts” and “shoulds” that you carry around are most likely needless. All that they do for you is make you feel nervous or guilty. What’s the point? When you use these imaginary rules on yourself, you clog your mind with petty restrictions and childish orders. And when you try to impose them on others, you make yourself into a bully, a boring nag, or a self-righteous bigot.

Avoid stereotyping or labeling people or situations. The words you use can trip you up. Negative and critical language produces the same flavor of thinking. Forcing things into pre-set categories hides their real meaning and limits your thinking to no purpose. See what’s there. Don’t label. You’ll be surprised at what you find.

Quit being a perfectionist. Life isn’t all or nothing, black or white. Many times, good enough means exactly what it says. Search for the perfect job and you’ll likely never find it. Meanwhile, all the others will look worse than they are. Try for the perfect relationship and you’ll probably spend your life alone. Perfectionism is a mental sickness that will destroy all your pleasure and send you in search of what can never be attained.

Don’t over-generalize. One or two setbacks are not a sign of permanent failure. The odd triumph doesn’t turn you into a genius. A single event—good or bad—or even two or three don’t always point to a lasting trend. Usually things are just what they are, nothing more.

Don’t take things so personally. Most people, even your friends and colleagues, aren’t talking about you, thinking about you, or concerned with you at all for 99% of the time. The majority of folk in your organization or neighborhood have probably never heard of you and don’t especially want to. The ups and downs of life, the warmth and coldness of others, aren’t personal at all. Pretending that they are will only make you more miserable than is needed.

Don’t assume your emotions are tustworthy. How you feel isn’t always a good indicator of how things are. Just because you feel it, that doesn’t make it true. Sometimes that emotion comes from nothing more profound than being tired, hungry, annoyed, or about to get a head-cold. The future won’t change because you feel bad—nor because you feel great. Feelings may be true, but they aren’t the truth.

Don’t let life get you down. Keep practicing being optimistic. If you expect bad things in your life and work, you’ll always find them. A negative mind-set is like looking at the world through distorting, grimy lenses. You spot every blemish and overlook or discount everything else. It’s amazing what isn’t there until you start to look for it. Of course, if you decide to look for signs of positive things, you’ll find those too.

Don’t hang on to the past. This is my most important suggestion of all: let go and move on. Most of the anger, frustration, misery, and despair in this world come from people clinging to past hurts and problems. The more you turn them over in your mind, the worse you’ll feel and the bigger they’ll look. Don’t try to fight misery. Let go and move on. Do that and you’ve removed just about all its power to hurt you.

Extracted from: http://www.lifehack.org/articles/lifestyle/10-virtually-instant-ways-to-improve-your-life.html

Sunday, June 24, 2007

Long time...

Long time without posting...... So much things have happened..., moved to a new house outside the city..., a place that by the way I like just so much.., the weather is like Bogota (15 to 20 degrees all the time) and that moving was taking almost all of my free time.., packing, getting rid of things that I'm not using any longer, organizing, and packing, packing, packing and packing...
Settling down takes some time....., I even have boxes without unpacking...
Getting used to the weather has also been a challenge, but now it's under control.
Also other aspects of my private life have had very big changes..., not easy to overcome all of them though..., but I did them for the best and my last intention was to hurt anybody but me.
I'm kind of speechless today...., so I'm not writting anymore.

Thursday, May 31, 2007

Quieres un Margarito ?

Hey Burro, el video esta una caja completa, de donde lo sacaste?

Wrong email?

I googled my email today and found this entry.., and I'm quite sure that I didn't write even if I was drunk or something because there are words that I don't even know.

"...ah ya no mas argentinuchos todos son unos prepotentes, arrogantes, creìdos, chilangos, nacos, y sus novias, esposas, hijas, etc., son unas garnachas, osea tienen cerebro de guacamole, huelen a ajo y parecen una cebolla, ya dèjense de creerse los meros machos porque no son ni faldita, maradona su ìdolo es un drogadicto y un homosexual, al igual que el 99 por ciento de ustedes. si otro mexicano quiere unirseme a esta lucha, que me escriba a esteban8A@gmail.com y les damos a estos robacanecas lo que se merecen, chilangos!!!......."

Wednesday, May 30, 2007

test

<span xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"><t:select t:id="monthSelect" t:value="month" t:model="monthsModel" t:validate="required" onChange="Dodo.Utils.fixDayList('${clientId}');"/> <t:select t:id="daySelect" t:value="day" t:model="daysModel" t:validate="required"/> <t:select t:id="yearSelect" t:value="year" t:model="yearsModel" t:validate="required" onChange="Dodo.Utils.fixDayList('${clientId}');"/></span>

Tuesday, May 29, 2007

New Template

Finally google allowed me to migrate my blog to their new version.

Thursday, May 24, 2007

Sleep Adjustment - Gain 10 days per year

10 days extra per year, and if you live for 70 years that gets translated into 700 extra days, does it sounds interesting?
I was reading the web and found this interesting article (http://www.dumblittleman.com/2007/05/sleep-adjustment-gain-10-days-per-year.html)...., I agree in the 20 mins power nap and with the lying in bed is not sleeping...

"On Dumb Little Man I have mentioned (several times) that I am generally awake each morning at 4AM. While that time may seem inconceivable to most of you, the simple idea of at least waking up earlier in general should be easy to swallow.

From 4-6 AM, I simply get a ton of things done. In fact, I'd argue that I get more done from 4-6 AM than I do from 8-Noon. No matter what I decide to do, it's uninterrupted simply because no one else is awake and functioning. It's purely a time for knocking out tasks (work or home related), reading, project work, planning, etc. It's great.

My life was not always this way, I used to be the guy that stayed up late and woke up with barely enough time to shower before work. So, how did I change that? It's actually pretty simple, I installed a regimen that I have now followed for years. On average, I believe that I have given myself an extra 5 hours per week or (do the math) an extra 10.8 days per year to get stuff done.

Lying in bed is not sleeping: 10:00 PM was my previous bedtime. Frankly, I chose that time because that's when my parents went to bed when I was a kid. I had no real reason for it. What I found was that I would watch the news and then end up lying in bed for an hour pondering and stressing.

In my belief, the key to extending your days is to lie down when you simply cannot ponder any longer. If you are drifting off at the computer, while reading, or watching TV, it's time to get to bed. Your bedtime should and will vary from night to night. Let your body tell you when to sleep as opposed to the following the 8-hour rule. Really, how good is that rule if you a laying in bed awake for an hour?

Rise and Shine: No matter what time you to go to bed - you're alarm should go off each morning at the same time, 7 days per week. When I started this self-programming, I chose 4AM and today, regardless of the time I hit the rack, I am up at 4AM without an alarm. I have gone to bed at 2:30 AM on occasion and still gotten up automatically at 4:00 feeling good.

Sleepy at Noon?: We've all heard the some countries encourage lunchtime naps. Well, me too. For lunch, I eat a sandwich and when possible (and only when I feel tired, this is not daily) I take a power nap that lasts all of 20 minutes. Instead of sitting at my desk for lunch, I will hop in the car and head to a forest preserve, behind a strip mall, etc. I eat, and then turn the radio down for a quick nap (set your cell phone alarm). I wake up totally refreshed. It's actually kind of eerie because the energy I have after this little midday nap easily trumps the energy I had in the morning.
These 3 simple things have created a self-adjusting alarm clock inside my body. Since I wake up at the exact same time each day, my body knows how to adjust. In the evening, it will (through drifting off) tell me to go to bed earlier if in fact I am tired. On the flip side, if my body has the energy, I can write on this site or do whatever until 1AM if I want. This is essentially due to a hormone release that happens internally. I am programmed to be drowsy when I need to be and productive when I don't.

Think about what you could do with this added 5 hours per week. I am not implying that you have to be up at 4AM, but if in fact you find yourself "trying" to fall asleep or watching TV for hours at night, this may be something for you to try."

Tuesday, May 22, 2007

Pessimism ???

This year the Colombian peso "COP" has been gaining value against the dollar, but in every magazine and newspaper that you read inside the country it says something like: "The dollar went down to $2.000 pesos for example, or the dollar went down $20 pesos..." and I can continue writing and writing things like that..
We all know that this phenomena is good for certain industries and disastrous for another's. For example, I'm being affected because of the revaluation of the peso, anyways.., my question and my post is about this: Why the concept is being written as something bad instead of something good?? A headline like this would definitively help:
"The peso won $20 pesos", or "The peso beaten the dollar in $34 pesos" should be used instead... even if it's not as good for some industries as for another's.
The conclusion here is that a positive writing produces a positive thinking inside us, while a negative writing produces of course a negative thinking.

Wednesday, May 16, 2007

Business Idea.



I've been offering some of the paintings that my mom does in the city, not too much luck.. So this idea came to my mind.., create a page called something like artistasindependientes.com, where independent or part time artists could post their arts and paintings, then people could log into the site and browse them.., having of course the chance to buy them...

Friday, May 11, 2007

PVD again..



Can't believe it.., Paul Van Dyk again in medellin!!

My favorite tool.

Today I was replying to some post that a guy did on codeproject.com asking for a tool that could allow him to model and understand a huge piece of somebody's else code.
So I suggested him to use my favorite tool, the one that I use on a daily basis: Cmaps !

This was my reply:
"...Most of the times I use a tool called "cmaps" (Conceptual maps) and let me tell you that I've tried a lot of knowledge modeling tools, but this one is terrific. Most of the times before facing a coding session I create myself a road map to clarify and polish my ideas about what I'm going to do. And not only for coding, when I'm reading a book I also use it to keep track and get a better understanding of what I've read... I also have used it for when I'm reading somebody's else code and it does a pretty good work. i highly recommend it to you.

You can get a copy from here: http://cmap.ihmc.us/

Just picture this: The tool was sponsored and is sponsored by the US navy for the single reason that they needed a tool that allowed them to teach faster to the soldiers in the aircraft carriers. (Having one single soldier for a year in one of this ships costs a LOT of money).
The tool allowed them to teach a 10% faster !! Just imagine that you could have a soldier 11 months instead of 12, and that each month per soldier is US 1,000, and imagine you have 1,000 soldiers, how much money did they save ?? Interesting !!!....."

Anyways..., this tool works in the same way the neurons work inside the body !