Archive for the ‘Everything Else’ Category

XQuartz 2.7.7 on OS X 10.10.1 Yosemite

Friday, December 12th, 2014

X11.jpg

As I didn't have a lot to do this afternoon, I decided to check on the state of X11 on OS X 10.10.1 - and it's actually not bad at all. I was able to get Quartz 2.7.7 from the download site, and it installed easily enough. All the normal things run, and it's a complete X11 we just need the apps - or in the case of SSH access, getting to a linux machine for the X11 apps on the remote host.

Because I got rid of my home machines with X11 a while back, I'm not sure how much this is going to get used any more, but it's nice to know that it works before I really need it, so that I know I can go to it in a time of need.

Recovery

Friday, December 12th, 2014

Path

I had a great phone call from an old friend last night. He's known me since the second grade. That's over 45 years. I don't have another friend that's even close to that long, and he's been a wonderful friend. He was remarking last night that he felt I was making progress, and that he was glad about that - and he should know... more than a decade as a nurse on the psych ward puts him in a position to know about recovery. So it was nice to hear that from him.

This morning I was looking at a pull request from one of the younger - and quite smart - developers in the group. I looked at what he'd done, and it was all just very sloppy. Basing the pull request off a deleted branch used in another pull request, and then not checking dependencies in the libraries, and then just changing things because he wanted to.

Typical kinds of things I've seen from a lot of smart, but not very disciplined, developers. They are used to their intelligence covering for their lack of attention to details and general discipline. Most of the time it works, but that's really just luck more than anything else. They aren't really compensating for it, they're just obscuring it. It's still there - the lack of detail, etc. and it'll come back to haunt the group and the code.

But I really can't say anything to him, because until he wants to change, he's not going to be receptive to any other person telling him he needs to change. We are all like that. I'm on a path now that I would have never voluntarily taken... in fact, I fought not to take it - but it had to be. Sooner or later, I had to realize that my marriage wasn't what I needed, nor was it what Liza needed, and maybe we shouldn't have been married, or maybe things just changed. Whatever the reason, it had to happen.

So it will be for the smart-but-lazy developer.

And at the same time, I've been told by many friends that the environment I've been in for months is not good for me. Again, I have been fighting that this should be a good fit, but that's based on a wish - not a fact. As I've interviewed with other shops, I've realized that I'm not a guy to be "just" a developer. That's going to be too big a mis-match, as I'm going to have decades of experience over my bosses, and that's only going to lead to issues.

Here again, I didn't want to see it - I just didn't want it to be true. But it was. I need to stop pretending that I'm happiest as just a developer. I'm a creative person, and consequently, I want to spend the majority of my time creating, but I can't shut off 30 years of professional programming, and all the mistakes made, and lessons learned. And when I am asked to make one of those mistakes again by a manager that hasn't yet made it, I really have to do it. But I can't. I just can't.

So I really need to be in the kinds of positions that I'm looking at currently - Senior Tech positions... Leads, Architects, decision maker. Something where my experience is a requirement so that it's not overlooked, but leveraged. I was again not thrilled with the idea of this a few months ago when I turned down promotions here at The Shop, but I see that was no different than me not wanting my marriage to end - wishful thinking, but sadly not accurate.

Yet I'm learning. Slowly, yes, but I'm learning. Accept. Forgive. Move on.

So I'm honestly looking forward to some of these opportunities I've interviewed for. There's a small company that needs someone to just help out. Lots of things to do, and because there aren't all that many people, there's lots to do. Then there's another place that's looking for real-time trading experience, and that's always a ton of fun to build - and the people there are smart and experienced so I'm not dealing with the 20-somethings that play cards during lunch and come in at 9:15.

Finally, there's one that might be the most interesting of all - as a tech lead for a line of business working side-by-side with the head of the business to make sure that the systems will scale, be robust, and keep moving in the right direction. This would require me to use everything I've learned and apply it on a daily basis - creatively and experientially.

Yet I know it's a path. I don't know that I'll ever have a day where I don't hurt about the marriage and family that might have been. Or the job or group that might have been. But those are just stories, and not reality. But the pain is very real.

My Favorite Muppet

Thursday, December 11th, 2014

Beaker

I was a big fan of The Muppet Show when I was younger... I never missed a Sunday night of that show. Such incredible memories... "Pigs in Space"... The Electric Mayhem... and of course - my favorite: Beaker. I could go on and on about why this character but it all comes down to the fact that he wanted so badly to belong, but at the same time he was always the victim - even if it was all accidental.

I don't know if this was the same for others, but I have to believe there was a genius in casting when they came up with Beaker and Dr. Bunsen Honeydew. But over and over again Henson came up with the perfect characters for each of us to identify with.

Anyway... listening to the Muppets Christmas album made me laugh at Beaker.

My Wonderful Siblings

Thursday, December 11th, 2014

I was scanning iPhoto this morning looking for the picture of the last family Christmas Tree I had, and I came across this picture that was taken of my family... my siblings and me. We have not always agreed with one another, but we have always been there for each other. Without question. Without hesitation. Without judgement.

My Siblings

I am blessed beyond words.

The Joy of Writing

Thursday, December 11th, 2014

smiley.jpg

I just updated my post about the conversion of the CryptoQuip Solver from Obj-C to ruby, and then for a piece of that to clojure, after having built that code in LightTable, and it just brought a smile to my face. The code was fun because closure allows me to do things that most languages simply don't, and it's always a simplification when that happens. In ruby I had to say:

  (pairs.count == ctc) && (ctc == ptc)

but in clojure, it's simpler:

  (= (count p) ctc ptc)

the = operator allows for any number of arguments - as does the other inequalities. Say I needed to have four numbers that all were ascending. That would be a hassle in ruby - maybe a sort, followed by the check that no two were the same, but in clojure it's as simple as:

  (< a b c d)

where it's only going to return true is d is greater than c is greater than b is greater than a. It's simple, and it's elegant.

But I also really like writing to friends about this stuff, and writing here as well. I've been recovering for almost two years now, and it's about time I work a little harder at just forgiving and moving on.

Because there's so much fun stuff to do, and if this little code block is all that exciting and fun to me, I've got a lot of fun ahead of me in a place that will feed my desire to solve problems.

And if I'm lucky enough to once again work for myself, then this blog is going to once again be open, and I'll be putting a lot more about solving problems up here as I think that's just amazingly fun stuff to share.

Christmas Day Plans Firming Up

Wednesday, December 10th, 2014

Christmas Tree

I was chatting with a friend today, and the movie Die Hard came up, and I realized that I haven't seen that moving in many years. Just as importantly, it was a really good movie. And the second one as well. So I was thinking... maybe I'll have a little Die Hard Christmas Film Festival? That might be nice.

So I looked at iTunes, and I can get the complete set of movies for $40. Not bad. I then looked at BestBuy and the Blu-Ray set is only like $27. I have no Blu-Ray player, but then I looked those up at BestBuy, and they aren't more than $60. Hey... we might have a winner here.

I've got my nice TV in the living room... and a $60 Blu-Ray player that does DVDs as well, and then the Die Hard set and for less than $100 I can have a really nice time on Christmas Day. I'm starting to look forward to this... Nice!

My Favorite Time of the Year

Wednesday, December 10th, 2014

Christmas Tree

This morning I got in and fired up my favorite Christmas song playlist and plan to just listen to it over and over all day long. This is my favorite time of the year. I love the music, it makes me feel peaceful, and thankful, and that's a really good place to be.

Every day is not going to be perfect. There are times things still get me a little down... OK, there are times that things get me a lot down, but as long as I can stay focused on the meaning of Christmas, and why we are here, then it doesn't last long.

I don't have a big christmas tree like I used to. But the little tree I have now I leave up all year around because I don't want to let go of this feeling. It makes me feel better to see it each day, and hopefully very soon I'll be at peace much more of the time. But life is what it is, and I need to just keep moving.

But I am blessed. Very blessed.

Christmas Tree

This was the last family Christmas Tree I had... and it was very beautiful.

The Tree of Problems

Monday, December 8th, 2014

Great News

I don't remember who told me this story, but it's an interesting tale that has really hit home this morning as I've been reading some of the posts I wrote in the last month. The story is about The Tree of Problems, and it goes something like this:

At the end of each person's life, they walk up to The Tree of Problems where every person takes all their problems - as a group, and hangs them on the tree. Then they walk around to see what set of problems they would like to have in their next life, and after looking at all the problems on the tree, they pick theirs back up.

Because they realize they can deal with these problems best.

And it's really just a statement that when we look at people, and think they have no problems, that's because we aren't really seeing what their life is like. We are only seeing this tiny slice of their life that they choose to expose to us. And the real issues are not something that we really almost never see, because most of us really try to hide those bad problems from others - even friends and family.

I'm currently in the middle of this job search. It's going well. I'm hoping to have something all lined up before the first of the year, but I'm trying to manage my expectations as well. This all relates to The Tree of Problems in that I've not been happy at work for a while. A long while. I can look at posts going back a while, and while there are times when the work was fun and exciting, the environment I'm working in is really not something I like.

Yet I held onto it far too long.

I kept thinking "It'll get better"... or "This is the system I know"... when in reality it's not going to get better, and in fact, it's getting worse. Not because the people are mean or nasty - just because they share different values that I do, and there isn't a group in Chicago that appears to share my values.

This also reminds me of Liza. Loving and marrying the wrong person is a recipe for the same kind of grief. You think "I'll work harder"... or "I'll stop doing this for them"... or any of a million other things, all of which don't matter because ultimately, they aren't interested in being with you. It's a bad fit.

So I need to Let Go... as Richard Bach said in Illusions... let go of the rocks I'm clinging to at the bottom of this river and trust that the river knows where it's going, and will carry me along. It's not all that easy, but nothing of value is. Letting go and having a little more faith is what I need, and this morning it was just so clear that people hold on all the time.

So I just need to cut myself a little slack and try and relax as I see where my path is headed.

Refreshing my Ruby Skills

Monday, December 8th, 2014

Ruby

Last week I was in an interview where they wanted me to code in Ruby - nothing else. I wasn't really prepared to write Ruby, as it's been a good 18 months since I've written a line of it - maybe more. But I excused my poor memory of the syntax and dug in. But it got me thinking, and I decided to brush up on my Ruby skills, and have a little fun at the same time.

So I made a new directory, and started grinding the gears on my memory to get things back in line for working on Ruby. This means remembering rvm, and how to even find the version of Ruby for the .ruby-version file in the root of the project. Then there were the .rspec lines for getting nice looking test output - and running the tests in random order every time. And I still hadn't gotten to the code.

So I started working on the programming task I got in the interview, and it was really amazing to me that some of the hints I'd gotten in the interview were really not at all how I wrote it when I had the chance to do it on my own. For example, I needed to take a string, and get the first character, and then the rest - very much like clojure would do it. I was given the hint that "hello".chars would give me an Array of the characters, and on their box it did - but in Ruby 1.9.2, it returns an Enumerator, and that's an entirely different thing. Also, it requires that we allocate new storage.

What I really wanted was: "hello"[0,1] - that's a string of the first character in the string. And then the rest is just: "hello"[1,10], or another long number to get the rest. This is what was sitting in the back of my memory, and when I saw it, a lot of other little things started flooding back in.

Things started accelerating, and in no time I was looking at a far cleaner version of the test code I'd written just a few days ago. Far more idiomatic Ruby, and the tests were super simple to write, and took advantage of the contextual nature of the tests.

I'm not going to claim that I'm even a decent Ruby coder. I'm just fair. The class library is just far too expansive to know it all without dealing with it on a daily basis, and even then, on a large codebase that takes advantage of the different classes as well. It's vast. Which is nice, don't get me wrong, but it's why I know it'd take me a very long time to master even where things are - let alone their syntax and usage. But it's something I may have to do, so it's nice to get back in it.

Thanksgiving Week is Here!

Monday, November 24th, 2014

Thanksgiving

Well... it's Thanksgiving Week, and that means a light week at the office, and then a long, stressful day with the family. I suppose it could be a lot worse, and it really kicks off the very best time of the year for me. Yeah, it's cold, and it's supposed to snow today, and it's going to get a lot colder and stay that way for the next six months, but hey... that's Chicago weather, and I knew that going in.

Today is the last full day at the office for me for the week. Tomorrow I have an appointment in the afternoon, and then the day after that, my oldest is moving back to town - and moving in with me, and then there's Thanksgiving, and the day after I'll be making sure things are working well and everything is humming right along with the systems at work for Black Friday and Cyber Monday.

Things at The Shop have been kinda stressful lately - I need to leave, not for cause, but because I make the folks in the team feel uncomfortable, and they would rather have a happy team than one that gets work done. I have known there's a mis-match here for a while, but it's another thing to present it in the way they have.

But hey... it's Thanksgiving Week... let's have a decent week, and relax a little. If we can.