Themes for 2018

Introduction

As is tradition on this blog I always lay out some themes to focus on for the upcoming year. These were last years themes if you want to get an idea for the types of things I usually do. I haven’t spent as much time as usual pondering my list this year as I was very busy over my holiday break (at the start with sick kids, and at the end with lots of family activities). Given that today is my last day of vacation I decided it is time to get some things written down. Here are my themes for 2018.

Theme 1 – Health

I started out last year wanting to drop about 50 pounds by my birthday in July (just to get healthier before I turned 40). I managed to lose 30 before my birthday, and then sort of fell off on it in the second half of the year so about half of that came back. So I want to make the same push this year and try to get down to around 200 lbs by my birthday and I am working on my approach. Way back in the day I tried weight watchers and was very successful with it, but always felt hungry on it. Several years later I experimented with the primal diet and found it to be way more effective for me than weight watchers, but a challenge due to limits on foods that you can’t really eat. Last year I lost all that weight following slow carb diet from the 4 hour body. The big advantage of that diet is that you get a cheat day so anything that you really crave you can have once a week. I will probably be doing something between primal and slow carb.

Along that line of thinking one of the priest’s blogs that I follow is doing a program he is calling Nineveh 90 which is sort of his program for physical, mental and spiritual health. He launched it on January 1st and it goes up through March 31st (Holy Saturday). Kind of a lent on steroids. I decided I was going to adopt components of it myself, but not starting until today the 7th as I prefer to celebrate the Christmas feast for the entire 12 days of it.

The components related to physical health that I will be trying to follow in conjunction with eating better are:

  • Regular and Challenging exercise. Not sure I will hit the challenging part, but I will at least try to get close to my 10,000 steps in every day and maybe walk the dog more than usual.
  • At least 7 hours of sleep. I often get tempted to stay up late when reading or when working on some sort of problem and I will try to be diligent and get to bed by 11pm.
  • No alcohol – I enjoy a beer at night generally with my dinner, so I will be cutting this out (which should help cut carbs). I will still allow myself a drink if I am out, so that I can still participate in my neighborhood brew club and if I am out for my wife’s birthday or our anniversary or valentines day which will fall in there I can still have a drink. This should cut a lot of calories and carbs for me as with 4 little kids I don’t get out much.
  • No desserts & sweets – I don’t have much of a sweet tooth so giving up desserts & sweets until Easter is doable, though with the caveat of exceptions for birthdays, anniversary, and valentines day.
  • No eating between meals – This one is going to be more of a challenge. I have gotten into the bad habit of nibbling on a slice of cheese here or a little of this there. This should do a lot to cut out sort of bored snacking, and help me drop that extra holiday weight.
  • No soda or sweetened drinks – This also isn’t much of a challenge. Occasionally I enjoy a root beer float, but those are few and far between so no soda until Easter is easy (and I don’t sweeten my coffee).

So those are the physical health components to the Nineveh 90 stuff that I will be following. There are other aspects related to spiritual aspects as well. I will be adopting some of this as it seems like a good challenge for the start of the year and sort of an extended lent this year. In the original program you can relax the discipline on Sunday and Solemnities, but I will be relaxing the discipline instead as I noted above. The relaxed part sort of reminds me of the cheat day in slow carb, relax one day a week so you can keep it up the rest of the time. The final component he lays out is fasting on Wednesdays and Fridays. He suggests bread and water only if you are medically fit otherwise standard Catholic Lenten fast. I think I will probably fast and only do water and coffee on Wednesdays and maybe not eat until supper time on Friday (since Sofi and I usually eat something together on our Friday nights after we get the kids to bed).

Theme 2 – More blogging

This is sort of an annual one for me. But generally I try to make it a priority anyway. This does compete for a limited slice of time though. After work generally I Am busy with the kids for a couple of hours. After we get them to bed I still need to walk the dog and get some exercise in and hang out with my wife and try to read, and sometimes do a bit of work. So this one will continue to be bumped as it needs to, but I will try to stay in the habit and find some time on the weekend to work on a post here and there.

Theme 3 – Learning

This for me means lots of books and playing around with ideas on the computer. I have just started Effective Java 3rd Edition and it is great as expected. I haven’t quite gotten to the part about the updates for Lambdas and Streams, but I look forward to seeing the insights there. Other things I am playing around with on the learning side are messing around with a bit of Swift. I have a udemy course I was working on for iOS development under Swift. I did some over paternity leave and would like to play more with it. Also have been playing around with Kotlin some. I like most of what I see in that language. Maybe I will do a Java vs Groovy vs Kotlin type post about what I like or dislike about each of the languages. I think Kotlin gets nearly everything right, except for having classes final (not open) by default. I think that was a mistake. I have always been looking a bit at Node.js and Express just because of all the hype it is getting and I want to play around with the newer versions of Angular and the whole progressive web app concept, since I spend most of my time at work focusing on backend development.

Theme 4 – Architectural changes at work

I have already started some of these this fall. Part of this will be shifting more of our app to Java away from Groovy. I think Groovy in an enterprise app is a mistake. It is the opposite of fail fast, instead the compiler hides errors, and it just feels dated after using Java 8 / 9 features. Their closures are inferior to lambdas and streams, and the tooling around the language just isn’t that good.

Included in these architecture changes will be trying to get our services updated to Spring Boot 2.0 when it finally releases and then shift to the Java 9 or 10 platform (instead of 8). I would also like to look into rolling out the SonarQube build breaker to enforce our coding rules, that has worked well for us in previous companies that I have worked in.

Conclusion

I think working on these 4 areas will be plenty to keep me busy this year. If I am diligent about them it should also give me topics to blog on. I started this post on the 7th, but I had to finish it up tonight. My year is already starting out busy and I don’t expect it to slow down at all from here. Happy 2018 everyone!

Themes for 2017

Introduction

As is my tradition on this blog this is my annual post for my Themes for the year. Why themes and not goals? I feel like if you don’t hit your goals that feels like a failure, but as witnessed by my recap of last year I did a poor job of hitting my themes and was still very happy with how the year turned out. Themes are designed to be open ended and the idea is just an accountability tool for myself to make sure I am working on personal and professional growth. In the case of last year my life changes resulted in many of the themes not making sense anymore, but I still felt like there was a ton of growth so I call it a successful year.

Theme 1 – Update the blog

As I do every year my first theme is regular updates to this site. Ideally at least one post a week, but that has proven challenging to me in the past. Still I think it is a good thing to strive for. What is the point of a site without regular content the only way to give people a reason to read is regular updates. Additionally I would like to do some longer posts this year. I still aspire to do a deeper dive into Amazon SQS. I have also considered going with a post about hibernate caching under Spring Boot, but I need to deliver one sort of tutorial post before I dive too deep into these ideas. This will just require me to make enough time to put a deeper post together instead of my more common posts that tend to be lighter, but still technical.

Theme 2 – Regular reading

Like usual I have reading as a priority. In a perfect world I would read 10% of whatever book I am working on in my kindle each day. Generally I don’t hit that daily but often I will hit that 5 days out of a week which allows you to get through a new book every two weeks. In an ideal world I would read at least one book a week, but I know that won’t happen.

Theme 3 – Learn about reactive programming

All the buzz in the Spring world these days is about reactive programming. Spring 5.0 is going to include a reactive model based on reactor. The github page for reactor can be found over here.  I have followed on the Spring Blog about the different milestones as they integrate this model of programming into Spring. So while I get the 50,000 ft view of this model I haven’t played around with it yet, and I am not completely sold on the programming model yet. The best way for me to get a better idea about it will be to play with it and see how it actually works in real code. The style seems interesting, very Java 8 Lambda style, but I am curious how testing this code looks, and how readable this style of code is. So I am not sold as I want to be sure that it is easy to unit test, and maintains Java’s readability which is one of the biggest strengths of the language. If the model for this programming is hard to glance at the code and understand what it is doing we would be giving away one of the biggest advantages of Java, so I need to play with it and get comfortable with it, to really decide how I feel about the style.

Theme 4 – Architectural Changes at work

I have a whole bunch of ideas to improve our legacy app this year. I am in the process of reworking the whole persistence layer. There is a way to just lean on the framework more than the original design did and end up with many fewer lines of code. I am also reworking our controllers just to make the design lighter. A new thing I just started on right before vacation was reworking the way we do caching. So I am hoping to roll that out in the next month. We are also going to launch micro service #3 tomorrow so this is going to be a big year at work.

Theme 5 – Master Angular / lodash

I have been saying I was interested in playing with Swift, Go, and Rust. But realistically for something that will happen this year that will also help my professional growth I want to master angular and lodash. My CSS skills will probably still suck, but CSS is the one thing I really dislike in the whole full stack.

Theme 6 – Healthier eating

I want to try to eat a little bit healthier this year. Not sure if that will have me going back to primal diet, or what. I have heard good things about slow carb, so I may look into that and play around with that to see how that works for me. A bonus of this is to really do this, it means I need to be better about bringing my lunch to the office every day, which has a nice side effect of saving money as well.

Closing thoughts

I think that is all I have right now. Hopefully I can make moves in all these directions or have a bunch of growth in other areas that I haven’t anticipated. Remember the goal is just to make sure that you are growing as a person, not necessarily checking off some box. It is more developing habits to make sure you are giving it your all.