Recent Posts

Update for the last month

general

Sorry for the lack of updates, but I was on the end of project march and then off on paternity leave. I am hoping to resume regular posting soon. The project was very successful, we had a big push and brought another 120 tables online in our new Cassandra Cluster and migrated that data from SQL Server. Along the way it has given us a few fun design challenges.

Initially we were working around some limitations in keys in Cassandra. In SQL server often you will query on a column that may be null. In Cassandra none of the columns in your primary key can be null, which means you can’t query on that column since Cassandra doesn’t allow you to do adhoc queries. One work around we started with the obvious solution is to use a secondary index. However Datastax will tell you in general not to use them. We found in playing around with them in production we have just had issues with them. They seem to either get corrupted or be out of sync in some way with the tables very often so end up having to run a repair on that index to get the correct data. As a result of this we are completely moving away from secondary indexes. In the end it gave us some interesting data design problems, but I think we will end up with a much more resilient system in the end.

Read more →

Spring Boot and Security using Spring Data JPA for authentication

java , security , spring-boot , spring-framework

Recently one of my friends was working on a Spring Boot project and he was having trouble finding an example of how to configure user login for his site with Spring Boot using JPA. I had mentioned that there is some mention of configuring security in Greg Turnquist’s book Learning Spring Boot. He had just purchased Spring Boot in Action and I don’t think he was rushing to grab another book, but he hadn’t been able to find a good online tutorial.

Read more →

JavaMug Spring Boot Discussion

java , spring-boot

I attended JavaMug last Wednesday as the speaker was Craig Walls author of Spring Boot in Action. When I heard about the book I had planned on purchasing it, but was disappointed there was no kindle version on Amazon. It does state if you purchase the print edition they will give you the kindle one for free, but I am trying to move away from paper books in general.

Overall the talk was pretty good. It is nice that there is a Pivotal employee local to the area so we can get a talk like this done. For most of the talk Craig just sort of demonstrated examples of what you can do with Spring Boot since there were people of varying degrees of experience with it. It was held at Improving in Addison which I had never been to, but they had some nice beer on tap (Kentucky Bourbon Barrel Ale). In a talk like this where you are just trying to introduce the concept to people it is hard to get as deep of a dive as I would like. But I did enjoy the part of the demo playing around with the metrics. That is something I haven’t really played around with, but of course got me immediately thinking about how much I would like to use that at work. I think maybe this year I will attempt to convert our legacy app to Spring Boot. It will be painful, but it just seems like more and more the benefits are so good that is what we should be doing. Hopefully I can find the time at work.

Read more →

IPv6 and Amazon EC2

general

I saw a bunch of people discussing this article. Basically it is saying that after 20 years IPv6 has only reached 10% deployment rate. I actually expect that number to start growing faster now since IPv4 addresses have been exhausted. At a certain point the cost of rolling out IPv6 will be less than horrible solutions like Carrier Grade NAT if the ISP doesn’t have enough IP Addresses. I always expected them to start rolling out IPv6 on Cell Phones given the number of devices and the growth rate, but I haven’t heard about anyone doing that yet.

Read more →

Themes for 2016

general

As my holiday vacation winds down I decided it is time to figure out what my themes are going to be for 2016. Last year I did a fairly good job at hitting the themes I laid out for the year, so I Am curious to see how it will turn out this year.

  • The first theme is going to be the same. Regular updates to the blog ideally once a week, though as I saw last year I Didn’t quite make the weekly thing but I did average it given 52 posts. Hopefully I can keep the content somewhat regular this year.
  • I want to continue with reading like last year, but that number will for sure drop as we are expecting a baby in February and I know depending on my sleep situation reading may go right out the window.
  • At work I would like to migrate to Spring Security 4. This is going to be a bit of an annoying upgrade for us based on some of the changes, but I think this year is the year to bite the bullet and figure it out before we are dealing with Spring 5 in 2017.
  • At home I would like to play around with Swift and write my first iOS app. I have been programming Java for 17 years now and I feel like mixing it up a little bit to keep things interesting. I was actually going to work on that over my vacation, but I ended up getting Fallout 4 on the Steam winter sale and messing around with that instead.
  • I would like to restructure our webapp at work from an EAR Structure to a WAR structure. If that is successful I would then like to move away from JBoss to Tomcat. And if I got really crazy I would like to end up converting our Spring App to a Spring Boot App which would be a massive restructuring our our application. I think if I could accomplish all of that we would be in a great place going forward, but this is pretty ambitious as a side project and not sure I will be able to find the hours to get us all the way there.
  • I think it would be cool to contribute some sort of patch or something into the openjdk or Spring just to say I have contributed there. It just depends if I find enough time to find a small issue and work it out and do so.

At the end of the day whether or not I do any of these things doesn’t matter too much to me. It is sort of just setting some sort of milestones to track how my year is going. The main purpose of this blog is just keeping myself accountable so that I am always sort of improving a little bit each day, so if I find that I have nothing to write about then I can see I am not pushing myself hard enough to learn something new. Here is to another great year.

Read more →

Amazon EC2 Nano Instances

general

About a month ago I got an email from Amazon that they had introduced a nano instance. This was a very timely email as I was just nearing the end of my free year of AWS (your first year they give you enough of an EC2 budget to run a t2.micro instance for free). I had been running this site on the micro instance (as why not when you aren’t paying for it), but yesterday I got a bill for my EC2 usages. It was $11.46 for the month of December.

Read more →

Recap for 2015

general

At the start of the year I posted my Themes for 2015. I decided now is a good time to look at what I was thinking at the start of the year and see how my year turned out. I think it is sort of pointless to set out some ideas of things you want to accomplish if you never stop and assess what you actually did, so this is sort of an accountability post to myself to see how things played out for the year.

Read more →

Ask and you shall receive Swift edition

general

I had mentioned previously that I wanted to learn Swift over thanksgiving. I ended up taking the Objective C course instead at code school as I didn’t see an option for Swift and I find code school a fun way to get an intro to something. Lo and behold this week I got an email from them and they now have a free Swift Course. Today is my last day of work for the year so I am planning on playing around with this course and messing around with a basic app over the Christmas break. So Code School thank you for the early Christmas present. I will follow up with my thoughts on the language and on iOS development after playing around with it.

Read more →

Twitter Cards

general

I noticed that a bunch of people when they post to Twitter have much cooler looking posts than what the Jetpack plugin seemed to be doing for me on my blog. Over Thanksgiving I was looking into this a bit and discovered Twitter Cards. I am probably the last person on the internet finding out about them, but I hadn’t really paid that much attention to it previously. I decided maybe I should create a plugin to add them to the blog. But this being Wordpress I did a search first and it looks like there is already a great one out there. This post is just me testing it out and seeing how it works. I often see people say that a great way to develop a little side income is to create a Wordpress plugin and sell it. I actually wonder how people do that because it seems like every time I need some sort of plugin to add functionality to the blog I can find an amazing free plugin that does it for me. Anyway hopefully this test post works and I get a Twitter Card for it.

Read more →

Objective C

general

Over Thanksgiving vacation I was thinking I should maybe play around with Swift and maybe try to create a basic iPhone app just to see what the programming model was like. I headed over to Code School to see if they had a free course I could play around with. Unfortunately they didn’t, but I did see the Objective C course over there. My thinking was given that most iOS apps were written in that, why not do that course.

Read more →