“We Exist for the People Outside These Walls”
What does it look like when that message does not line up with reality?
What does it look like when that message does not line up with reality?
A couple years ago the company I worked for had had just launched a free consumer-facing application, and had been pushing it hard on social media. They were seeing hundreds to thousands of active users. It was painfully slow, and the culprit appeared to be the database. One of the main queries on the application was pushing the database server to its limits. Some users …
A common problem I have worked on in my career has been to troubleshoot and improve slow, complex SQL queries. Usually these are part of codebases with few or no tests. If there are tests, they usually are testing some other part of the code and assume that the query is correct. It is rare to see tests that prove the columns being selected are …
Quickly Testing A Refactored SQL Query for Equivalence Continue Reading »
Last week there was a large update in the court case of a woman who is engaged in a lawsuit against my former employer, Ramsey Solutions. There are on the order of 1,000 pages that were released of depositions and e-mail threads in documents 93 and 94 on the case. While reading through those, one thing I noticed was the evolution of the NDAs used …
Comparing the Non-Disparagements of a “Christian” Workplace Continue Reading »
From time to time, I have had to go back to a legacy database and for one reason or another add a non-integer surrogate key. Sometimes this has come up when working on an old API that exposes a primary key in the URL (GET /account/123). This generally can be bad for security, as a user could attempt to access other resources by incrementing the …
My current team maintains an application built using Spring and Kotlin. We have several thousand unit and integration tests. I’m a big fan of condensing code as much as possible, so long as it remains legibile. A lot of our older integration tests in particular take the following form: Using default Kotlin formatting, the dependencies for the tests take up 3 lines each. This could …
Condensing Tests in Kotlin : Dependencies Continue Reading »
Last month I said I had hoped to stop talking about Lampo (d/b/a Ramsey Solutions). I’m not going to talk about them as an employer, I hope I am done with that. What I do want to talk about is this video that has been circulating over Twitter over the past week, titled “Should Landlords Feel Guilty About Raising Rent Prices?”. The clip is actually …
Today’s topic is not one that is terribly exciting. But if you lived in Texas in February of 2021, maybe you are making similar choices to what I am discussing below. I’m writing this up because maybe someone out there is weighing some of these same options.
I’ve been asked a handful of times why have I occasionally written about The Lampo Group LLC (d/b/a Ramsey Solutions)? Why use this space to talk about a previous employer? A quick disclaimer: views expressed below are my, Dan Watt’s, own. The domain name should make that obvious. I think the problem is the assumption that this was just an employer. Some on the outside, …
Why Write About Lampo (dba Ramsey Solutions)? Continue Reading »
Last year we moved from Tennessee to Texas. We sold our paid-for house, and purchased a new house that was about 20% more expensive than the one we sold. Due to the timing and not having a credit score, we had to take out a mortgage for the full amount of the new house before the sale completed on our old house. We had been …
How much should my opinions or actions should affect my spouses’ employment. Should it matter? Should her actions or opinions affect my employment? Real life experience shows that there are some employers out there who will fire you for something your spouse does.
A good number of people I’ve worked with over the past 10 years and I have been reflecting on our time working for a place that turned out to not be what we thought it was. In doing so, it is so easy to get caught up in the bad things, that it is hard to reflect on the parts that were good. I had …
March of 2020 presented the opportunity to beta test working from home for about 5 weeks, while the company I worked for tried to figure out how it was going to respond to COVID. I had wanted to work from home for a long time, but this experience helped to see that it would be possible. Maybe you the reader know me, and are curious to know how a real-life transition to remote work has worked out.
A year ago today I had to make a tough decision. I thought I had found the place that I could work at until retirement, or at least until I was ready to do my own thing. I thought I worked for people of integrity. But, I was always open to new information, and some finally was revealed that called all of that into question. …
This is the third post in a series. Part 1: Studying an Old E-Reader for Fun Part 2: Studying an Old E-Reader for Fun : Text Compression 1 Part 3: Studying an Old E-Reader : Compressing a Dictionary with Huffman Codes Part 4: Studying an Old E-Reader : Compressing a Dictionary with a Prefix Tree (coming soon) Quick Recap Last week I established a few …
Studying an Old E-Reader : Compressing a Dictionary with Huffman Codes Continue Reading »
This is the second post in a series. Part 1: Studying an Old E-Reader for Fun Part 2: Studying an Old E-Reader for Fun : Text Compression 1 Part 3: Studying an Old E-Reader : Compressing a Dictionary with Huffman Codes Part 4: Studying an Old E-Reader : Compressing a Dictionary with a Prefix Tree (coming soon) Programming Tradeoffs A lot of what we do …
Studying an Old E-Reader for Fun : Text Compression 1 Continue Reading »
This is the first post in a series. Part 1: Studying an Old E-Reader for Fun Part 2: Studying an Old E-Reader for Fun : Text Compression 1 Part 3: Studying an Old E-Reader : Compressing a Dictionary with Huffman Codes Part 4: Studying an Old E-Reader : Compressing a Dictionary with a Prefix Tree (coming soon) I’ve recently picked up an old E-Reader, specifically …
About 5 years ago I was introduced to Flyway, a tool for managing schema migrations using simple SQL scripts. I’ve used it on several projects now, and have more recently been introduced to Liquibase. The two tools both solve similar problems, with slightly different approaches. The main purpose of these tools is to version changes to the schema of the databasse. Liquibase has a good …
Database Schema Migrations : A Few Lessons Learned Continue Reading »
The very strict rules and forms of the Baby Steps helped to establish some discipline for us very early on, but in the long term aging our money to the point that we could budget on the previous month’s income was a lot easier for us to work with and eliminated a lot of headaches.
Earlier this year I wrote about the hypothetical process of getting a mortgage with no credit score. Now that we have lived through that process, and have finally closed on selling our old house, I want to document what it actually looked like. I hope someone out there went through this process recently and can say they had a better experience. Maybe there was a …
Actually Getting a Mortgage With no Credit Score Continue Reading »
A few days ago I talked about the number of nurses that it takes to take care of a patient in an Intensive Care Unit (ICU). I want to expand on that a little more, based on my experience being married to an ICU nurse during “times like these”. A quick recap – for most ICUs, the typical ratio in a single shift is 1 …
Staffing Nurses and Refactoring A Hospital Layout Continue Reading »
My wife is an ICU nurse. Specifically, she works in a Medical ICU, which at her hospital, is the primary unit responsible for taking care of COVID-19 patients. The Medical ICU staff has the training and experience that lines up with the symptoms exhibited by most COVID patients (they are used to taking care of extreme cases of flu, people with lung failure, pneumonia, etc). …
Over the course of our marriage, Summer and I have ran several small side businesses between the two of us, including: A photography business Web / application development Childbirth education classes Doula (childbirth support) services We learned a very hard lesson with our very first customer for our photography business. It was a small wedding, and we were just starting out, so the total was …
Side Hustles, COVID-19, and the Tide Going Out Continue Reading »
We are nearing the end of the first wave of the COVID-19 shutdown. Tennessee is set to “re-open” at the end of this month, and people will start returning to work. This includes my team. This past month of working from home has afforded me the opportunity to clean up my home office / homeschool room / dumping ground, and I finally cleared some room …
I had a thought a few years ago that I never committed to writing. It is probably not an original thought. There are very likely people who are way smarter than me who have researched this topic well, maybe even written a scientific paper or dissertation about it. But, this is just a thought experiment, and I wanted to write it down. So, feel free …
Sharing Time-Stamped Knowledge of Secrets Continue Reading »
At work we have been trying to ensure that all of our applications correctly support UTF-8. This includes making sure that our REST APIs can handle accented characters (ex: é) and emoji (?) when it makes sense to. This is somewhat complicated by the multiple database platforms we have (MSSQL, MySQL, and Postgres). MSSQL is fairly straight forward – it usually involves swapping the text …
We are in the first week of many states and municipalities in the US asking people to stay home and avoid group gatherings to prevent the spread of COVID-19. Many churches who may never have considered streaming their services or doing online video are now faced with having to switch to digital options. Part of my day job is helping on the digital side of …
Simple Broadcast and Group Call Resources for Churches Continue Reading »
We have been in this house for nearly nine years, and have added three more children to our family since we made that purchase. Three years ago we paid the house off. Over the years, we have toyed with the idea of moving to a house that is slightly bigger. We have five children in a 4 bed, 2.5 bath, 2200 sqft house. Our guestroom …
Getting a Mortgage Without a Credit Score Continue Reading »
Or, how to poorly implement adding css and javascript resources to a page One of the tools we use at work is the MagnoliaCMS. It powers some portions of some of our properties. For those who have not heard of it (I had not until a few years ago), think of it as WordPress, but more enterprise-y. Recently we noticed that some of the properties …
Troubleshooting a Performance Problem Using NewRelic Continue Reading »
At work we have a project that used Essentials4J, and its predecessor Rapidoid Fluent, to simplify some stream/collection APIs. We have been converting this project to Kotlin, and no longer need that library. The conversion was very simple. It highlights some of the things you can do with collections with Kotlin’s standard library. Do.group(…).by(…) Do.map(…).to(…) Do.map(…).to(…) with unique values d639a7ccf9252433
Red, Blue, Yellow, Green. Does it really matter who we live under while occupying our earthly home? Aren’t we really supposed to respect them regardless?
I’ve been doing a lot of tweaking of SQL queries as of late, trying to squeeze some performance out of a query by adding indexes, optimizing joins, and some other operations. To do a quick check to ensure that the queries return the same results, I’ve been hashing the results to see if I get an identical hash back. This solution was adapted from https://stackoverflow.com/a/13948327/206480. …
Getting a quick hash of a query in PostgreSQL Continue Reading »
PostgreSQL has two functions that are not standard SQL, but are very helpful in certain situations : GREATEST and LEAST. PostgreSQL does not have scalar functions for MIN and MAX (those are aggregate functions that operate on all rows in a query), but GREATEST and LEAST accomplish that and then some. Both allow for more than two values to be passed in, and also handle …
PostgreSQL’s GREATEST (and LEAST) function Continue Reading »
I recently learned 1) I have zero credit score, and 2) some rental car companies won’t rent to you if you do not have a credit score. Read more…
I still do a little bit of web development on the side. Usually it involves helping small organizations upgrade their presence. Usually it takes several days to a week of back-and-forth e-mails to get all of the necessary settings and credentials ironed out. Today, I was pleasantly surprised when taking on a new client. They sent me a document containing the registrar, admin user and …
I’ve been doing some de-junking at our house, and in this process discovered a box of Mini-DV tapes. I’ve owned two cameras that can write to these – an old Sony that shot in the original DV format, and a Cannon HV20 that shot in HDV. I’ve tried to archive these in the past, but due to the very high bitrate of DV/HDV and low …
I started writing this back in 2015 when we still had a balance on our mortgage, but for some reason never hit the “Publish” button. Back then we had a refinanced mortgage of $120,000 that we were aiming to pay off before 2020. Around 2015, our monthly interest payment was somewhere around $300. We ended up having no surprises with the birth of #4, so …
A few months ago I worked on a process that imports Facebook Leads into a legacy system. Facebook sends its advertising data as UTF-16 encoded CSV. The tool also had to support the CSV files occasionally being ended by hand, which reverted the encoding to something a bit more standard. Thankfully, there was a small library out there that helped. So, in case you ever …
Automatic file encoding detection in Java Continue Reading »
I was going through Facebook, and noticed that i had a handful of old “Notes”. In an effort to keep blog-type stuff consolidated, I am moving some of those over here and off of Facebook. The last “Note” I wrote was about my first week’s experience at my current employer, Ramsey Solutions. This was originally posted 10/03/2010. A full week has gone by, and I …
Working for Ramsey Solutions – The First Week (2010) Continue Reading »
A few years ago while my uncle, while he was still alive, made a good argument for why the Christian should not gamble – it is a selfish act – if you want to win, you are wanting someone else to lose. You are violating the golden rule. Put another way: Gambling, then, is an essentially selfish exercise. Not only is the gambler indifferent to the …
Where I work, we have this concept of Stupid Tax – when someone does something stupid and it costs them money. My wife and I thankfully haven’t had too much stupid tax, but we did have one big expense that came down to me stupidly holding on to something that was “mine”.
My family just went on a trip to the 30A area of Florida. This area is a combination of small towns in South Walton County, FL, between Destin and Panama City. I wanted to take my DJI Mavic Pro on the trip to take a few photos, and I was aware that the airspace along the entire panhandle of Florida is tricky due to several …
At work we are working on a new Salesforce organization. We’ve written some code over the last few months, but at the advice of some contractors who are more seasoned with Apex, we are doing some refactoring of the code. One of these changes is making sure that recursive triggers are not possible – something along the lines of Account AFTER INSERT being called, which …
There have been a handful of times over the last few years where I have needed to take time series data, and group the runs of data together to determine when a certain value changed, and how long it stayed that way. Every time I do this, I have to go back and figure out how I did it the last time, so this time …
One final post from the old company blog, from March, 2011. A couple of us are working on a new project that involves Salesforce CRM. We recently came upon a few technical challenges related to our need to keep a subset of the data stored in the cloud in-sync with our internal application servers. These include: Limited number of API calls we can make per 24 …
One more from the archives of the company dev blog, this time from August 2011. We have been gradually moving off of ColdFusion over the last several years, but maybe there is something in here that might be useful for someone. We have been using ColdFusion 9 for a few months now. With all new code that is developed, we have been abandoning <CFQUERY> in …
This is another article from the retired company blog. This one is from September, 2011. I have been developing ColdFusion on and off for about 10 years, and one topic that has been controversial the entire time is CFScript. The arguments go back and forth: ‘It’s too slow’, ‘it’s not ColdFusion’, ‘It looks like Javascript, but isn’t’. On our team, the majority of our code …
Im continuing to clear out articles from the retired company development team blog. This one, was instrumental in getting me connected with one of my first big side work projects, which evolved into a two year project that helped us retire our mortgage. From August 2011: We have been working the last few months on an experiment with Salesforce.com. The code is some of our …
Restored using the Wayback machine from: https://www.developwithpurpose.com/digital-lumberjack/ When we had our development team blog, our content team would edit our posts. This one was very different before it went in to copy editing, I had embellished the lumberjack metaphor a lot more than this, and they cut it back. Also, I took out the clickbait title. In EntreLeadership, Dave talks about catching people doing something right. In the …
Here is another post revived from the Wayback machine from our (discontinued) company blog from December 2011. One of the great things about working for Dave Ramsey at the Lampo Group is that they treat all team members equally well. This is especially true of the Web Development Team, which has its own flavor of generosity. One of the Web Development traditions is to help new team …
I used to blog periodically on my company’s blog. Earlier this year, the blog was taken down, and I needed to reference something I posted from 2012. I’ve restored the post using the Wayback machine here. The information is a little dated, but maybe it could be useful to someone. This post references the old reCAPTCHA system that Google used to verify book scans and …
Gradle 4.0 is out. It is fast, much faster than Maven. I tried it out on 3 projects that I maintain, and all of them saw build times cut in half (longest one was 86 seconds -> 40 seconds). cukes-rest – I am really late the to the Cucumber / Gherkin party, and I finally started to use it this week. I started writing my …
Development tools/links for the week of 2017-06-11 Continue Reading »
TL:DR; takeaways: These seem very obvious, but with rushed deadlines, and “it works well enough”, these things are sometimes overlooked. Use the right data type for the job. If the documentation says VARCHAR when the values are always integers, maybe you should use INT. Generate a proper primary key when you can, skip indexes that overlap with the primary key Sort your data before importing …
We just got back from our first trip to Disney World, and had a great time. We procrastinated a bit in our planning, and there are some things I wish I had known before going. Maybe these will be helpful to someone: Complete your registration. When you get an e-mail to “complete your registration”, go ahead and do that early. We stayed “on property” (at …
Lessons learned from our first trip to Disney Continue Reading »
I recently picked up a DJI Phantom 3 Standard Quad / Drone / UAS. I ultimately would like to use it for some aerial photography, and am considering getting a FAA UAS license at some point, but for now I am just toying around with it. When I was researching the Phantom, one thing that caught my attention is that its camera can record images …
An excellent wife who can find? She is far more precious than jewels. The heart of her husband trusts in her, and he will have no lack of gain. She does him good, and not harm, all the days of her life. (Proverbs 31:10-12, ESV) A little over twelve years ago, I was a very nerdy, very much single guy wrapping up his Junior year at the University of Illinois. …
The links in this article point to a free Heroku instance, which can shut down due to inactivity. It may take a few seconds for the instance to start up. I’ve uploaded a little experiment to Heroku, showing something I toyed around with a couple years ago. Would it be possible to approximate a map of zipcodes using just centerpoints? I loaded the US zipcode …
In one of my projects I have a custom Spring Validator that validates a nested object structure, and adds per-field error messages. As an example, a field nested inside an array might produce an error like the following: array[0].field must be a valid value The Errors object works as a stack, so field names have to be pushed as the validator iterates through arrays and nested …
Using Consumer in Spring Validator to validate nested collections Continue Reading »
For years I have relied on a simple property “show-sql=true” to see Hibernate’s generated SQL. This option is fairly limited: it bypasses the logging framework in the rest of my apps (SLF4J) it doesnt show parameters, just question marks it doesn’t show any timing information Frustrated at these limitations, I set out to understand all of the other options available to me. This is very …
For the past 3 years, my primary laptop has been a MacBook Air. Technically, it is a Mid 2012, 11-inch MacBook Air. It is a very agile little machine – I can do all of my development on it, plus play the occasional game (albeit at minimum settings). But the one thing that constrains it the most, just like every Apple product I have owned, …
One of the projects I am currently working on involves re-writing a REST service written in ColdFusion into Java/Spring. I’m in the testing phase, and am trying to make sure the endpoints behave the same as the ColdFusion versions. One of the tests I am performing is to replay a month’s worth of GET requests from production against this service, and look for differences in …
Making JMeter accept a HTTP 404 as success Continue Reading »
At work we have a copy of the zip-codes.com Business database, which I tend to reference somewhat frequently due to the nature of projects I work on. Today I needed a list of postal codes from major metro areas, which would be used to drive a test data generator. The data generator has access to a simpler, non-commercial zip code list, and can do radius …
Sql Quickie: Find zip codes near the center of a region Continue Reading »
Tax season is here, and we just received our annual mortgage interest statement from our bank. It is somewhat depressing to see how much money went to pay interest on our loan, but cool thing about it this year is that we paid about half as much in interest than we did last year. As I wrote last year, one of our goals was to …
I’m currently working on a Salesforce project that utilizes a few home-built managed packages. There are lots of restrictions of what you can and can’t do with managed package, and most of those are documented fairly clearly. Some, however, are somewhat hidden. One such restriction is this: Only custom objects, which are sObject types, of managed packages can be serialized from code that is external …
Salesforce: Serializing Objects from a Managed Package Continue Reading »
In 2014, one of my goals was to be an encourager to others. I had been at the receiving end of written encouragement and appreciation many times, but until then had done a very poor job of paying that forward. I had experienced it in multiple areas of life – church, family, and even work. Several of our executives and team leads are particularly good at …
Last year one of my goals, actually a goal for both my wife and I, was to make a serious dent in our mortgage. We set a fairly aggressive long-term goal to have our house paid off by our 10 year anniversary in July of 2016. We moved into our current house in April, 2011, so we had a super-stretch goal of having it paid …
Last year I wrote a series of posts about my goals for the year. With the start of a new year, it is time for a fresh set of goals. Goals, not Resolutions I was introduced to the concept of setting real, measurable goals a few years ago – goals that are supposed to be more concrete than simple resolutions like “I want to lose …
I am currently working on a small managed package for a Salesforce project. One of the nice things you can do inside of managed packages is create post-install scripts, which are sort of like migrations in Rails. For some reason, I kept getting a compiler error when I created even the simples of install handlers: global class PostInstallHandler implements InstallHandler { global void onInstall(InstallContext context) …
Naming a class in Salesforce the same as a built in interface Continue Reading »
Over the last couple of weeks, I have been spending some time troubleshooting performance issues in some of our Java-based RESTful services. This week I came across one that required some different steps to troubleshoot. First, the tl;dr – our JDBC driver (jTDS) converts CHAR to NCHAR, which causes an index SCAN on a CHAR column instead of an index SEEK. The Architecture Here is …
Troubleshooting a SQL Server Implicit Conversion Issue Continue Reading »
My wife and I have an unwritten rule about how we raise our kids: Make decisions about how to raise our kids using the best information we can find, without being paranoid, second guessing, or spending every waking hour reading every opinion about how to parent. Ok, maybe that’s not really as concise as the rule really is, but you get the general idea. When it …
Have you ever had a moment where you realized that something the majority of the population hold as true was actually a bad idea? You believed that idea for many years, and those telling you seemed to have good data to back their claim, so you just ran with it? But, after having someone sit down with you and show the numbers, you realized that …
Home Mortgage Tax Deduction – Part 1 : Intro Continue Reading »
A fellow developer today asked me a question about the Optional interface in Java 8. My team is still working on a Java 6 stack, but his team is blazing the trail to Java 8. I’ve used Optional a little bit in some side work, and I am a little more familiar with Guava’s version. His use case centered around the correct syntax to rewrite this using map() instead …
Let’s talk about a really fun topic today: life insurance. Before we get to that exciting topic, I want to excite you even more with a short meta-post. I sat down and started to write this really long post – what would have amounted to 5+ pages, complete with tables and numbers – and realized that I needed to step back and focus on the most important thing. …
When we first started using a written budget about 5 years ago, one of the first semi-irregular expenses that we had to start budgeting for was car maintenance. Up until that point, if a tire wore out or a battery needed to be replaced, we just whipped out the credit card, and worked it out at the end of the month when we paid our statement. It turns out, …
Where my family worships we are a bit “weird”. We currently worship at a building bearing the name “Church of Christ” in Franklin, TN. What is strange, at least according to many followers of Christ in the United States, is our form of worship. We worship exclusively and collectively with our voices – no piano, no guitars, and no iPads. You may be stumbling across this article, and scratching your head …
Sometimes you use a framework for years, and then discover something new that it can do. I had one of those moments today with Mockito. I have an API that I am mocking, where I need to capture the argument passed in for further testing, that had a line that ended up looking something like this: This is actually incorrect Mockito syntax. The captor.capture() doesn’t go …
This should be the last in a series of posts about my family’s goals for the year 2014. Thank you for reading. I hope I haven’t been annoyingly personal. It has been my hope that maybe someone out there has struggled with goals, and might gain some ideas from me speaking about our thoughts that went into our goals. If that’s not something you struggle with, awesome. Thanks for …
This is the third in four posts about goals for 2014. Goal 1: Be An Encourager Goal 2: Run Goal 3: Mortgage Reduction Goal 4: Last Will The rich rule over the poor. The borrower is servant to the lender. Proverbs 22:7 Take a moment and think about how much your rent or mortgage payment is every month. Chances are, its probably a lot. If you …
This is the second in four posts about goals for 2014. Goal 1: Be An Encourager Goal 2: Run Goal 3: Mortgage Reduction Goal 4: Last Will Waiting for the end to come… Wishing I had strength to stand… This is not what I had planned… It’s out of my control…. Linkin Park – Waiting For The End When I ran my first half-marathon, I …
This is the first in four posts about goals for 2014. Goal 1: Be An Encourager Goal 2: Run Goal 3: Mortgage Reduction Goal 4: Last Will Have you spoken a word full of hope and cheer? Have you walked with a slower pace, Till the weary of heart who were stumbling on Took new courage to run the race? “Oh, The Things we May …
I wish they could see this now The world they say is changing oh ‘Cause I was on a video chat this morning With a company in Tokyo Hey, everyday is a revolution Welcome to the future — “Welcome to the Future”, Brad Paisley Earlier this year I had one of those “wow, we are living in the future moments.” My family was on our way home from celebrating our …
If you follow desktop computer trents, chances are you know that Solid State Disks, or SSD, are quickly replacing Hard Disk Drives as the storage medium of choice. SSDs are more expensive per GB of storage than their spinning relatives, but make up for the smaller space by being much faster. I’ve had an SSD for over a year now – I bought a 256GB drive to …
Over the past two years, I have had the pleasure of fixing two issues with printing from Internet Explorer 9. Both of the problems deal with IE-specific “filter” attributes in CSS. We have an application that is used by an audience that deals with a lot of paperwork. They like to print information from our application to add to their paper files, so it is important that printing functionality works …
We are currently on a road trip to watch opening weekend of College Football. I’m trying to get a little work done in the car – and by that, probably a whole hours worth. Im working on a Java application on my Macbook, which communicates with a MySQL backend. Due to various dependencies, MySQL runs inside an Ubuntu VM via Virtualbox. Normally this setup works great – communicating …
Recently I purchased a used GoPro Hero 3 Black. I’ve used it mainly to take time lapse pictures. The GoPro records images in 4×3 aspect ratio, and makes quite large images (2MB+ per frame). With the help of Google, I was able to piece together some scripts to help me convert these to mp4 videos on my MacBook. Assuming the images have been offloaded from …
This is part 3 in a series about vacationing on a budget. Recap I’ve said it before, and will do so again – by budget I do not mean “cheap”, I mean “a plan” – on paper, on purpose, before the trip began. There are many people who take far more expensive trips than we did, but our trip was far from being a “budget” …
Vacation on a Budget – Part 4 – Recap and Lessons Learned Continue Reading »
This is part 3 in a series about vacationing on a budget. As a quick recap, our budget for the entire trip was $2,400. We broke it down into the following categories: $1,200 for lodging (50%) $300 for gas (12.5%) $400 for food, groceries, supplies (16.7%) $500 for activities (20.8%) As I covered in part 2, we spent $1,188.84 out of our budgeted $1,200 for …
Vacation on a Budget – Part 3 – Remaining Expenses Continue Reading »
In part 1, I went over our budget for our 2013 Family Vacation. Our total budget was $2,400 cash. We had saved up that amount in a savings account, and had no more than that to spend. Our rough breakdown was: $1,200 for lodging (50%) $300 for gas (12.5%) $400 for food, groceries, supplies (16.7%) $500 for activities (20.8%) Location, Location, Location Our family enjoys …
Vacation on a Budget – Part 2 – Where to Stay Continue Reading »
Our family loves to travel. During the first 3 years of our marriage, we would travel over 500 miles from home at least 3 times a year. One year we went to Hawaii, San Francisco, Texas, and it seems like at least one other place in that year. One year we drove out to Colorado from Missouri to see some property that has been in …
Vacation on a Budget – Part 1 – Establishing a Budget Continue Reading »
Don’t be rash with your mouth, and don’t let your heart be hasty to utter anything before God; for God is in heaven, and you on earth. Therefore let your words be few. For as a dream comes with a multitude of cares, so a fool’s speech with a multitude of words. — Ecclesiastes 5:2-3 I would have written a shorter letter, but I did …
It has been a long time since I have written anything of substance, so why not break the hiatus and write about a very exciting subject – health insurance. Maybe this is a bit personal, but I am not going to reveal how much my family earns, nor how much of our income as a percentage is spent on health care, nor how much my employer’s group plan …
I have been going to old sites where I used to blog, and am trying to consolidate anything that may matter and bring it here before shutting down those services. I came across a site where I used to write, Pleonast, and realized I had not posted there in over 2 years, yet, I had some fairly good content there. So, it is here now. …
It has been around 2 years since I last posted on Pleo. I am going to start taking the content down, and move it over to my personal blog at danwatt.org.
A big project I have been developing over the last year has been an automated billing system. There is a part of it that involves scheduling bills, and has a lot of pieces that need to know various dates – when bills are due, when they were created, and the current time. We are trying to write good unit tests, and I am trying to make sure the …
I’ve been working on a project that at one point needed encrypted configuration files. The JASYPT library provides a very nice tie-in with Spring. There were some pieces I had to put together, so here are the results of my @Configuration file that handles encryption. It will scan a given directory (specified by the VM argument config.dir) for any .properties files, and uses JASYPT to …
Encrypting config files with Spring 3.1 and jasypt Continue Reading »
Someone asked for my full Spring 3.1 annotation configuration. I’ve stripped all domain-specific information, but the overall structure is intact. SpringConfig.java – this is the top level class, is empty except for @ComponentScan and @Import statements. The web.xml references this. SpringMvcConfiguration – Any MVC related configuration DatabaseConfiguration @Configuration @ComponentScan(basePackageClasses = { SpringConfig.class}) @Import({ SpringMvcConfiguration.class, DatabaseConfiguration.class}) public class SpringConfig { } @Configuration @EnableWebMvc @Import({ MvcComponents.class,BeanConfiguration.class }) …
Lately I have been maintaining several Spring-MVC applications written from the ground up with Spring 3.1. They use the purely Java based configuration scheme that comes in version 3.1, Hibernate. The apps do not have the pattern of “an interface for every class” that some Spring apps have, so it proxies concrete classes using Cglib. When the apps are deployed to Tomcat, we do a …
Spring 3.1, No-XML, Hibernate, Cglib, and PermGen errors Continue Reading »
One of the more odd parts of our architecture at work involves a cluster of Tomcat instances running ColdFusion and Java services side by side. We are porting our existing ColdFusion services over to Java/SpringMVC applications, and during the transition they are being served up by the same app servers. One of these services interacts with Paypal/PayflowPro. We have a ColdFusion Component (CFC) that makes …
Making Java, Coldfusion, Tomcat and PayflowPro Play Nicely Continue Reading »
I’ve posted another article on my team’s blog about a neat thing we do to help new team members.
Posted at my development team's blog