Sunday, November 29, 2015

The Condition on Love

This conversation is more of a monologue for one of my daughters. God teaches us things in ways that we understand. My geeky logical brain simply can't comprehend things without reason. That's what unconditional always meant to me - for no reason. So God explained it a different way. And I desperately wanted to share it with someone special...

The Letter

You know, it’s kind of weird how much of myself that I see in you. That’s not all bad. Well, from my point of view it’s not all bad. You may think differently :) I can see that you get frustrated with school. I’m guessing that you feel lonely a lot. Don’t know how to tell anyone. And feel like no one would understand. You feel good around your friends. But it fades quickly when you get home. You want that good feeling all of the time. I felt the same way at your age. I see you doing the same things I did. Honestly, I still don’t have the answers. I have no idea how to talk to you about this. So I wrote a letter instead. All I can tell you is that I love you. You probably don’t believe me. That’s okay. We kid around that I have to love you, I’m your dad. Being serious for a moment, that’s not why I love you. Being your father was a good opportunity to know you. I get to spend a lot of time around you. I watched you grow up. Being your dad provided those opportunities. In church, they talk a lot about God’s unconditional love. I never really understood that. Your parents love you because they’re your parents. Your friends because you share common interests. To get married, you have to date - which is pretty much just tryouts. Someone marries you because of how you act while dating. There aren’t any real models of unconditional love. I realized recently that there is one condition on God’s love - He loves us because we exist. In the Old Testament, God tells Moses that His name is “I am”. God declared His existence. God is God because “I am”. He exists. He is real, He is a person, “I am”. God created us in His image. He sees Himself as “I am”. He sees you as “you are”. He exists. You exist. And that is enough for Him to love you. At the end of Romans 8, Paul says “I am convinced that nothing can separate us from the love of God - height, depth, the government, demons, nothing.” Paul can say that because he understood why God loves us - we exist. Nothing can change the fact that we exist. Nothing, no one. You exist, so God loves you. I love you for the same reason. I love you because you exist. And until that changes, well, I love you.

Sunday, September 20, 2015

Brainstorming

Yes, I'm starting with the second step in the development/debug process. The process starts with identifying the problem. Let's assume we have the problem well in hand. Now we have to fix it.

Brainstorming has one rule - no judgement. We don't filter. We don't analyse. We don't organize. Throw out any and every idea that comes into your head. Okay, maybe one filter - only ideas relevant to the problem. Suggesting a vacation in Aruba probably doesn't qualify. And yes, you will get some crazy or stupid suggestions. Keep going anyway. Get those creative juices flowing.

As the ideas start coming, excitement sets in. At this point remember, do not explore any of the ideas. Ask questions to understand what someone said. But do not consider feasibility. We don't care if something sounds impractical. That comes later.

Eventually, ideas slow down and start getting ridiculous. It's time to stop. Next we organize the ideas. Again, don't throw out any of them. We're looking for patterns - similarities, dependencies, costs, and duplicates. How you organize the ideas depends on the problem. There is no right answer. The action matters more than the result.

Now comes the good part - what you wanted to do all along. Analyse the ideas and pick one (or how ever many you need). Weed out the bad ideas, the impractical ones, or the ones that cost too much.

Quick and Dirty

So this goes through my head every time I encounter a problem. List ideas, organize, analyse, and pick one. Except no one else can see what's in my head. In a team scenario, it pays to do this out loud, together. Business people call it buy in. We become emotionally invested in our ideas. That's the heart of creativity. Give everyone a voice. Let them choose the solution instead of feeding it to them. Let them connect with it emotionally.

Wednesday, September 2, 2015

Pulse VPN Client

I got to do something new today - setup a VPN connection with work. Okay, that's not entirely new. For the longest time, I used Network Connect for the VPN. It worked great up until a couple of months ago. The VPN was upgraded and Network Connect wen the way of the dodo.

The new VPN uses Pulse Secure. There exists a Windows client and a Mac client. And I must say, they're pretty nice. Nothing for Linux though. A little Google searching and I came across OpenConnect. So I set about installing OpenConnect.

First, I checked the Ubuntu repositories for a pre-built package. The OpenConnect web site says that Juniper support starts in version 7.05. The Ubuntu package topped out at version 6.0. Note: This was Ubuntu 15.04. I found a PPA testing a 7.06 package for the next Ubuntu release. One more release and my success reverts to the dustbin of history.

Next I installed from source. It promptly crashed looking for a script named vpnc-script. On Ubuntu, that script comes from the vpnc package. Then the program crashed looking for a library. The library was built from the same source as the client program. It was loaded into one of the standard library directories. Ugh.

I tried several things. The ultimate solution - run ldconfig. ldconfig added the new library into its index. Ta-da! The client program ran perfectly.

It still, however, would not connect to the VPN. I used the -v option to see what was happening. The client failed parsing the login form. Just before termination, I saw two fields being ignored. Our VPN displays a confirmation dialog box asking you to proceed or cancel. I actually started digging into the source code for this one.

A quick grep found the warning message about ignored fields. The code compared the control names with a string for the submit button. The submit button name comes from the calling code. Nope, wait, it comes from the code that calls the calling code.

I changed the string to match our Proceed button. Compile, run, and Bob's your uncle! The VPN connected. I logged into the internal app server just to be sure.

So to recap...

  1. Install the vpnc package first.
  2. Change the submit button name in the source code.

Sunday, March 9, 2014

Water, water, water

Imaginary Lunch Companion: I'm thinking about buying one those water filter systems.

Me: Yeah? I looked at some a few months ago.

Imaginary Lunch Companion: Which on did you buy?

Me: I bought a pitcher/filter from a company named Santevia.

Imaginary Lunch Companion: Huh. Why that one?

Me: Well, I was looking more at what the filter added to the water than what it took out. This particular filter uses minerals like calcium and magnesium to change the water's pH level. I wanted the minerals.

A Google search for mineralized alkaline water led me to Santevia. Santevia has pitchers, water bottles, and under the sink filters. While looking for reviews of Santevia, I came across Berkey Water Filters.

Berkey really caught my eye. They sell water purification systems - not just filters. I really liked the idea of using any old water source.

The final decision came down to cost. Santevia costs less over the next 3 years than Berkey.

Official Disclaimer

I am not recommending alkaline water in any way, shape, or form. I am not a doctor. This is not an advertisement. I am just recording my thought process - good or bad. Use your own judgement.

This whole pursuit of a water filter started because of Vania. Vania has a horrible diaper rash. She gets open sores on her bottom. We tried creams, ointments, different diapers, different wipes, and diet changes. The rash goes away for a little bit and returns. The poor girl was miserable.

A poop test showed high uric acid levels. Maybe it's not a rash, but a burn? I learned that there is no single cause of high uric acid. Combatting it involves changing the pH balance in your body. In Vania's case, alkaline water had the best chance.

Foods are also alkaline or acidic. Eating alkaline foods also changes your pH balance. Making an OCD 3 year old try new foods did not sound like fun. Getting my wife to actually plan a menu sounded like even less fun.

Not Created Equal

A lot of companies advertise alkaline water. We started with a 30 day trial from a local water company. This was enough to tell us if the plan even had a chance of working. During those 30 days, I did more Googling.

A lot of people tout benefits of alkaline water. And marketers picked up on the keywords. I ran across two different ways of obtaining alkaline water: ionized or mineralized. I wanted the mineralized water. The health benefits come from the minerals - not the alkaline pH.

That is how I wound up looking at Berkey Water Filters and Santevia.

Comparisons

Both Berkey and Santevia met my first criteria - they can help Vania. Both companies mineralize the water. Both systems rely on gravity (no broken parts). The final decision came down to price.

Right now, my main financial goals are the rainy day fund and buying a house. So I set my time horizon at 3 years. I want a filtering system that gets us through the next 3 years at a reasonable cost. Both systems use replaceable filters. I calculated the cost of filters plus the initial outlay. With such a short time frame, Santevia came in for less.

Sounds easy? That one little paragraph represents several days of me waffling back and forth. I really wanted the Berkey water filter: bigger tank, longer lasting filter, and it filters more out. On the downside, I need somewhere to put it and an easy way of getting water into the multi-gallon tank. Both of those increased the cost. Over the next 3 years, Santevia gave the most bang for the buck.

Results

We've been using the Santevia water pitcher for about 3 months now. Vania's rash is gone. The rash came back briefly while Vania was sick. Otherwise, not even a hint. I assume that the alkaline water neutralizes the excessive uric acid, stopping the burns. For what we needed - clearing away the diaper rash, the mineralized alkaline water worked.

Tuesday, January 7, 2014

'Tis the Season

Last Christmas, my wife sent me an article about gift giving. Specifically, the article calls for banning out of control gift giving. Being the nerd that I am, I asked myself why is gift giving out of control? Martin Lewis, the author, points out how gifts create an obligation for the receiver. This is a symptom of pride. We have lost the skill of being a grateful recipient. Gifts are given without any expectation of return. That's the very definition of gift. Gifts that expect something in return are called bribes. A gift is given whether you do what the giver wants or not. This is why the Bible describes salvation as a gift. God sacrificed His Son without any expectation of a return. Nowhere is salvation linked with any behavior. The Bible describes behaviors that come naturally as a result of the gift. God's gift changes who we are. When we change, our behavior changes. The Bible never commands us to do something or risk losing the gift. Our pride doesn't like that. It means that our happiness relies entirely on someone else, outside of our control. A grateful recipient accepts the outside control and trusts that the giver upholds their promise of not wanting something in return. We're created in God's image. If His gifts change the recipient, it stands to reason that our gifts also change the recipient. Along the same line, God's gift reflects who He is (God is love - 1 John something). Our gifts reflect who we are. Now imagine millions of people in open rebellion to God. If they're evil, doesn't that mean their gifts reflect that evil? And so you get what happens today - bribes. Gifts have become a way of showing off. We brag about how we feel, instead of expressing appreciation for the other person. So I guess it involves selfishness too. Appreciation should be appropriate. Send Vania's teacher a hand made card. Mrs. G invests time in Vania. A hand made card reflects that (you took time to make it). It is appropriate. Stuff is a poor reflection of what you value in the other person. That's why Lucy prefers spending time with us. Granted, an occasional Nerf gun is fun. It just doesn't shape her character as much the experience of being singled out for some special time with Mom.

Monday, August 19, 2013

Loving to Hate GNOME 3

You're going to hate GNOME. Really, trust me on this. You will absolutely despise it. The dumb thing starts up with an empty screen. There is no menu. The intrepid among you will stumble across that "Activities" thing in the upper left. You might even click and see... another empty screen. Seriously! What is up with these empty screens. How do I actually get at my *stuff*? Try it. Go ahead, give it a try right now. See what I mean? Let it out - a nice primal scream of frustration. Good. Now take a deep breath and let's explore why I'm wrong. Huh? Put on your thinking caps. Let's look at the computer like it's your personal secretary. No, not Bill Clinton's secretary. Get your mind out of the gutter. Your secretary. You're sitting at your desk. Papers spread out in front of you. A nice leather chair. A picture of the wife and kids in the corner. Wham! It hits you. The idea of the century. This will catapult your entire company onto the world stage. You mumble an order to take notes and start blabbering away. Your secretary simply carries on whatever you had her doing before. Why? Because she's in the other room, dummy. You didn't get her attention. And she has no idea you wanted her to do something else. Now no rational human being would do this. You would immediately yell her name, get her attention, give the order, _then_ start dictating. So why do you expect the computer to be any different? The computer is an electronic secretary. And when you want it to do something new, you have to get its attention first. That is what the Activities button does - tells the computer that you want something. The computer starts paying attention. So tell it what you want. Start typing the command. Whoa! A bunch of icons pop up onto the screen. Those icons match what you type. The more you type, the more the computer narrows down what you want. Sounds a lot like a human secretary. It learns your habits, putting the most likely choices up front. Click an icon to finish the command. And the computer obeys. You would never expect a human secretary to list all of her job functions every time you grab her attention. That's silly. Yet this is exactly what a menu does. Menus are the computer's list of job functions. Menus make a very poor secretary. We have been spoiled by decades of poor user interfaces. We think of the computer like a hammer - a tool to wield. And that's wrong. The computer is a secretary. Change your expectations, and that crazy GNOME interface makes a lot more sense.

Thursday, August 2, 2012

Realpolitick

It is simply amazing how many ways we can divide people: conservative, liberal, rich, poor, Republican, Democrat, compassionate, greedy. You guessed it - I'm listening to the presidential race on talk radio again. Conservative radio hosts make this race about conservatives and liberals. The politicians themselves talk about Republican versus Democrat. The president pits poor against rich. Everyone has reasons for their position. And the opponent has a compelling counter-example. Class warfare is alive and well!

As it should be. Huh?

No, I'm not writing a diatribe against class warfare. I'm writing a diatribe in favor of it! I agree that class warfare exists. I disagree with the classes. The Bible clearly divides people into classes: sheep and goats, sons and enemies, righteous and wicked. Money and politics are merely secondary issues.

Start at the beginning

Dave Ramsey describes personal finances as 20% knowledge and 80% behavior. Tom Stanley takes it even further in his books The Millionaire Mind and The Millionaire Next Door. Mindset - character - drives behavior. Improving finances involves not just doing what rich people do. It means being the same kind of people.

What, you mean greedy and self absorbed? I can do that!

No, that's not what I mean. Where does money come from? How does one become rich?

Well by working hard, saving instead of spending, discipline, and perseverance.

Bzzz! Wrong answer. Thank you for playing. You get rich by blind luck. Follow me for just a moment here. At some point, every business owner took a risk. Yes, they put research and elbow grease into their venture. They mitigated the risks through knowledge and hard work. But in the end, any one of a million adversities could have completely taken their head off, leaving a bankrupt shell of a person. In many cases, this happened several times before the one successful venture!

In any business, a thousand things completely outside of your control can go wrong. And in the earliest stages, you are vulnerable. You cannot avoid risk. That raises the question, why did none of those things happen this one time? It wasn't you. Remember, these events are beyond your control. Blind luck.

I don't believe in blind luck. And truth be told, neither do you. These events are beyond my control. They are not beyond all control. The Bible shows us that God exercises sovereign control over all things. And by sovereign, I mean absolute and total. Those events that never happened? God did that. God blessed your venture for His own pleasure. Money, aka riches, are a gift from God.

The nature of a gift

Gifts are an act of generosity from the giver. Gifts never expect anything in return - otherwise it's a reward or bribe. Gifts are not earned. They are given solely at the whim of the giver. Wake up - this is the important part. Money is a gift from God, given solely at His whim. You do not earn money. You are not entitled to anything no matter how hard you work. God gives it.

Why does God give us these gifts? Because it pleases Him. Really, it's that simple. He likes it! And He enjoys our gratitude when we understand just how much He gives.

Through the Bible, God let us know what pleases Him. And He stated, as a fact, that He showers gifts on people who please Him. In other words, the path to riches is doing what pleases God.

Now I want to be very clear - following the law (i.e. doing what God told us to do) does NOT entitle you to a lot of money. This is not a deal. Paul made tents to earn money for food. And he certainly obeyed God! We should obey God because He told us to. Sometimes, at His whim, He responds by giving gifts of wealth.

This why it is so STUPID to divide people into rich and poor. The same God who provided one man with wealth gave another just enough. And He did it as He saw fit. Wealth is NOT a measure of God's favor. It is just one possible conduit for His gifts.

Did God do it wrong?

The people who preach re-distribution of wealth believe that He did. If wealth is a gift from God, then it follows that He chose the people who receive it. By taking from them, you believe that God made a mistake. Seriously, you want to stand in front of the God who created heaven and earth, rests his feet on our world, wears the stars as a crown, tells the wind where to blow, keeps us moving around the sun in a safe orbit, and tell Him that He was wrong?

Now having said that, God Himself tells us to give away part of that gift. Notice that He never tells you that you have the right to take it. He instructs the recipient of His gift to reflect His generosity. Our giving builds the same generosity in our spirit. Taking builds selfishness.

Putting the "class" in class warfare

Okay, so we have debunked the idea of wealth as a class divider. If class warfare exists, then what are the sides? I propose that we label them righteous and wicked.

You see, people like wealth because it's so easy to see. Politicians like it because wealth is easy to fake. Character, on the other hand, is harder to hide. So many folks in the news today make it a point of pride that they focus on the issues. "I don't care about their personal life. Do they agree with me on most issues?" That's foolish.

Proverbs teaches us that even the kindest acts of the wicked are cruel. Look at President Obama. A lot of Americans agreed with his stand on "the issues" in 2008. They conveniently ignored the fact that he's a known liar. And they seemed genuinely surprised when, duh, he lied to them. Character matters. Opinions change. Politicians can and should change positions as they learn. Character lasts forever. One righteous man (or woman) who disagrees with me on everything will do more for this country than a dozen politicians who tell me what I want to hear. Of course, if I disagree with a righteous person, maybe my positions aren't so good?