Monday, October 24, 2011

Empathy Lost

em·pa·thy
the intellectual identification with or vicarious experiencing of the feelings, thoughts, or attitudes of another.[1] 
Many today have lost a sense of empathy.  They seem unwilling, and even incapable, of seeing outside of their own image.  Everything in the world is treated as if it was made in their image and likeness.

Most children are not born with empathy.  In fact, when young, children behave in a manner assuming others see through their eyes, hear with their ears, feel with their hands. This is why a two-year old will stand in from of a screen that you are trying to see.  They don't even realize someone else might not be able to see.  If they can see, they assume everyone must be able to see.  The same goes for the young child who hides by hiding their eyes or head.  Since they cannot see you, they therefore assume that you cannot see them.

Eventually, we learn to see things from another's perspective.  We are able to place ourselves in their shoes, see from their eyes, feel from their hands.  However, this learning seems to have been lost.  Many grow up nowadays without any sense of empathy whatsoever.  They maintain the attitude of the two-year old.

I see this in how they treat others, I see this in their expectations of others, in their desires for others.  For example, one may hardly ever get colds, while another gets colds quite often.  To the un-empathetic, it seems that the sick one is doing something wrong.  "I don't get the cold, it must all be in the other's head." This is very, very wrong, and can lead to many injustices as well as poor decisions.  For example, I am personally not allergic to poison ivy.  However, it would be wrong for me to tell those who are allergic that it is all in their head and toss poison ivy on them. 

We can see the same thing when we make decisions for ourselves.  Since we assume that everyone is made in our image, what is good for them must also be good for us.  This leads to bad, bad decisions.  What is good for someone else, may be disastrous for me, and something that would not be good for another could be just what I need.

Empathy is important and something we should both strive to learn, and something we should teach our own children.  Empathy is part of growing up, too many today do not grow up.  Growing up is impossible without empathy.

Friday, September 30, 2011

Conspiracy

People like to talk about movies they've watched.  People like to talk about the weather.  Why is this?  It is because these are things that we do not have control over.  These are things that we cannot change.  So it is with conspiracies.  Why do people like conspiracy theories?  Because, as it is with movies, they are usually totally beyond the control of the average person.  But there is more: conspiracies are often used as excuses for not performing changes in our own lives, in our own behavior.  Conspiracies against us are the reasons we are failing, nothing we can do will change that, so there is no reason for us to change our lives.  People don't want to change their lives.  Change is hard.

I've heard more than one Christian who was overwhelmed with conspiracies.  But why do they forget: everything that happens, God allows.  I would have died a million times from disease, cars, accidents, if not for God's Will.  Why do we not trust Him to keep us safe and give us what we need to save our souls?  Some shadowy government agent should be the least of our worries.

I am often confused by the need of some people to 'get the message out'.  What is the purpose? What are you changing?  I can see specific instructions for specific situations, but the purpose of just spreading the information does not follow Christian standards.  Spreading information should have a direct purpose.  I would not go around telling people the performance of a particular contracter, without the imminent need of the person to know it.

Save your soul.  If an obsession with conspiracies is becoming an obstacle, cut it off.

Wednesday, June 22, 2011

GWT & Databases

UPDATE For GWT 2.6+:
You will need to reference a few more jars in your project in order for jetty to work:


You will also need to place a "jetty-web.xml" file in your WEB-INF directory.  The contents of this file will be used to create the pool in jetty.

The file contents are given below:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">

<Configure class="org.eclipse.jetty.webapp.WebAppContext">

        <New id="website" class="org.eclipse.jetty.plus.jndi.Resource">

                <Arg></Arg>
                <Arg>java:comp/env/jdbc/poolname</Arg>

<Arg>
                        <New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
                                <Set name="Url">jdbc:mysql://hostname:3306/dbname</Set>
                                <Set name="User">username</Set>
                                <Set name="Password">password</Set>
                        </New>
                </Arg>
        </New>

</Configure>

There is one last thing to setup, and that is your Run/Debug configuration. In the VM arguments you will need to add:
-Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory

For GWT 2.5:

If you plan on running your GWT application on tomcat, you setup your datasource in the usual way. Normally you use a connection pool, which you setup in META-INF/context.xml

By default, GWT uses jetty when you are running your application in hosted mode.  In order to use the same code to access the database, you must configure a few things in your project.

You will need to reference a few more jars in your project in order for jetty to work:




You will also need to place a "jetty-web.xml" file in your WEB-INF directory.  The contents of this file will be used to create the pool in jetty.
The file contents are given below:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

<Configure class="org.mortbay.jetty.webapp.WebAppContext">

        <New id="website" class="org.mortbay.jetty.plus.naming.Resource">

                <Arg>java:comp/env/jdbc/poolname</Arg>
                <Arg>
                        <New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
                                <Set name="Url">jdbc:mysql://hostname:3306/dbname</Set>
                                <Set name="User">username</Set>
                                <Set name="Password">password</Set>
                        </New>
                </Arg>
        </New>

</Configure>


There is one last thing to setup, and that is your Run/Debug configuration. In the VM arguments you will need to add:
-Djava.naming.factory.initial=org.mortbay.naming.InitialContextFactory
as shown below:

Saturday, May 21, 2011

Chromebook

Inside the box
Friday afternoon I received a strange package via UPS.  The return address had no name.  I opened the box and inside was another box.  This one had a strange diagram of a mouse-powered rocket engine.

There was also a sheet of stickers inside the first box.  This sheet was my first real clue to what was waiting inside the second box.

I opened the box and inside was my chromebook!  Several months ago I had signed up for the pilot program and had forgotten about it.  I opened the rocket diagram box and inside was the chromebook, if you search the web you can find several pictures and videos out there, so I won't post them here.  What I will give you are my experiences thus far.

In order to log in, you need to have access to a wifi network.  This is because you use your google login credentials on the chromebook.  Setting up the wifi was straight-forward and not a problem.  The Verizon 3g, however, was a different story.  More on this later.

Terminal
Once logged in, you basically have a specialized chrome browser.  I tested a few websites and they all loaded as you would expect.  The terminal was a nice addition, although you only have a handful of commands at your disposal.

Google talk worked well, and I tried the video chat.  The quality was ok, the camera blurs motion a bit more than on my macbook pro.



I tried a couple of videos on YouTube and it played them well.  After that, I tried Hulu, while the video did play, there was a noticeable jerkiness.  I did try Netflix, but it is currently not available on the chromebook:

Netflix


The laptop has no marks on it whatsoever, it is basically a rubberized black matte.  The keyboard is a Mac-like 'chiclet'-style keyboard, which makes it very nice for typing.  The touchpad supports some multitouch (two-finger scroll and right click).  It is also like the Mac trackpad, but is more 'sticky' and thus a bit harder to use.

So the 3g...I have not had much time with it.  Initially, when I tried to set it up, the activation failed.  After searching the web, I found some people saying that you could grab the link from the modem status and use that to register, after that, activation would work.  I tried that, but no dice.  The next day I called Verizon and was on the phone with tech-support for a couple of hours.  He was trying to get the system to do a manual activation, but I kept getting a dbus error.  Finally, he said I would have to contact a 'google ninja' and open a ticket there.  I did that, and in the mean-time I thought  I would try some things out.  I had copied down the mdn, min, and system_id that Verizon tech-support gave me earlier and went about trying different combinations of booting with wifi/3g enabled/disabled.

No luck. Then I tried manual activation again---same dbus error. Now, I tried manual activation, but I did not supply any of the parameters on the command line.  This time it said activation failed, but did not give me the dbus error.  I checked the modem status, and saw that it had the min and mdn number were there now (previously they had said 'partial').  I went back to the chrome screen, it still had the 'Activate 3g' option. I went back to the terminal, and typed 'modem connect'.  Success!  3g connected and was working.  I rebooted, just to make sure. I still have the "activate" option in my network settings, but 3g appears to be working.