Effective Date: May 13, 2026 These terms and conditions apply to messages sent to and from Dennis Beatty. Messages may include invoices, project updates, review requests, and answers to customer inquiries. You can cancel the SMS service at any time. Just text “STOP”. After you send the SMS message “STOP” to us, we will send you an SMS message to confirm that you have been…
I’m not sure how you managed to find my blog, but welcome! I graduated in 2016 from BYU, and I still love going to and watching BYU football and basketball games. Right after graduating, I started working as a software engineer at Podium, building software to help local businesses manage their online reputation and learn from their customers. I love to learn, and write mostly about my goals…
Booleans are one of the oldest constructs in programming. They’re simple. Binary. And we use booleans everywhere. One of my earliest software projects had a database table called “users” with several columns used to specify role like is_admin, is_moderator, and is_seller. %User{is_admin: false, is_moderator: false, is_seller: false} This gets even worse when booleans are used to…
Update Nov 2, 2020: It’s been over a year and a half since I first published this Phoenix LiveView tutorial. Since then a lot has changed with the library. I’ve now updated the entire tutorial to work with Phoenix 1.5 and Phoenix LiveView 0.14. The new generators will let you get up and running a lot faster. As always let me know on Twitter if there’s anything you don’t…
I recently built a recurring report that required matching a bunch of data from an external API to data from a local database, and I wanted to show you a good way to do that. Say your external API returns data that looks something like this: %{ 'transactions' => [ %{'amount' => 1948, 'id' => '8195dd0b', 'user_id' => 1}, %{'amount' => 2048, 'id' => '04226e26', 'user_id' => 4}, %{'amount' => 482,…
This is part 1 of a series on working with Ecto associations in Phoenix LiveView. To get updates when I release the next part, please subscribe to my channel on YouTube and enter your email at the bottom of this post to subscribe to email updates. To start, I want to apologize for being MIA for the past couple months. I got married at the end of July, so I was doing quite a bit with that over the…
TIL I’ve been creating a lot of longer-form content that takes me a lot of time to prepare and write, so now I’m hoping to create some shorter videos in between. I will call this the TIL series, and just share small things that I learn that may not take me as much time to show off. If you have any feedback on this idea, please let me know.
If you follow Elixir Twitter very closely, you probably noticed that Chris McCord released Phoenix LiveView on Friday. Chris (and the other original contributors) did a great job with the release: it has thorough documentation and I was especially impressed with the examples that were released at the same time. I’m going to walk you through creating a counter similar to one of the examples…
In the last post, I talked about using IO.write/2 to create cool CLIs. After writing that post, I got lots of great feedback along with recommendations for further topics. So that’s exactly what I’m doing. IO.write/2 is a cool function, but the real work there is done by the carriage return (\r). Carriage returns are a control character that let you reset the cursor to the beginning of…
A couple months ago I wrote a script that needed to take a CSV file with ~500k lines and process records from each of those lines. I wanted some way to keep track of the progress, and logging out each line number on a separate line was filling my console really fast. Even just outputting a single period without a newline was overwhelming. This led to me researching how to overwrite a console line.
Well, we’re now two months into 2018. If you’re actually reading this, you probably know that I decided to work towards monthly goals this year. I set four goals for January and then three more goals in February. And it’s going really well. I’m now 7 for 7 on completing goals. And I’m having to work to get there. Go to the gym at least once a week This was possibly my…
I decided this year that I would focus on monthly goals instead of yearly ones. So last month I set four goals for January. And I killed it. I’ve already hit more of my goals than I did in all of 2017. Read the Book of Mormon every day I made this one happen. And I’ve already read more than I did in all of 2017. I started keeping a copy of the Book of Mormon on my nightstand, and made…
Every year I tell myself I’m going to have a better year than I did the last year. I always do, but oftentimes I end up measuring the year on different metrics than those I foresaw. Last year I set some goals. Too many goals. Spoiler: I didn’t meet most of them. By the end of January, I had all but forgotten most of the goals. What I completed Out of the 13 goals I set, I succeeded…
Disclaimer: This post is an adaptation of a talk I delivered in front of my congregation at church. As such, it contains many of my personal beliefs. While I would love to discuss these ideas and beliefs with you, please respect them and comment constructively on Twitter if you wish to do so. Thanks! This last week I’ve spent way too much money. Amazon had too many deals and I couldn’t…
As part of my work at Podium, I get to use Elixir on a daily basis. We host a twice monthly Elixir Lunch where other developers come to learn with us. Meetup Currently one of our engineers manages a page on Meetup. It’s great for several reasons: Discovery — Many developers already have accounts on the site. RSVPs — The site tells us how many developers will attend so we know how much food…
In 2015, I set some great goals that helped me to focus my life a bit more, and I did a pretty good job of accomplishing them. For 2016 I decided to just wing it instead of focusing on goals that I set. It went okay, but it wasn’t great. This year I’ve decided to make a return to a goal-oriented lifestyle. Now that I have a year-round full-time job, my life should be more predictable.
I think 2016 has been a roller coaster of a year for everyone. We were reminded that people get old and die no matter how important they may seem to us. We realized that literally anyone can become President of the United States. But I wanted to analyze my accomplishments this year, and not just everything that happened in the world. In 2015, I set some pretty ambitious but reachable goals.
While I was driving home from Thanksgiving in southern Utah, I listened to the story of Grooveshark on the Startup podcast. It was really kind of intriguing. I never really used Grooveshark much, but apparently what the product did is let people resell their music to other people online. There is a company that is quite popular here in Utah called VidAngel. The idea behind their product is that…
I took this photo at Bradley Lake in Grand Teton National Park. The original is a 118 Megapixel panorama. I’ve included a link to download the full size original below this if you want to print it or use it as a background for multiple monitors. Download the full-size version
Haven’t posted anything in a while. Just got back from a month in Europe last weekend, and just started my last semester of college today. While I was in Europe I really didn’t take many photos. It’s funny: everyone assumes that since I have a fancy camera and love taking photos of beautiful things and places that I will take a ton of photos when I travel. Well… I…
Similar to Pokemon Go, I think you could create a really cool AR game based around hacking. Instead of the three teams you could have white hats and black hats. Black hats could go around and put “skimmers” on ATMs to gain money and position “equipment” for man in the middle attacks at banks and other places to collect users’ info. You could talk to people to gain new…
This privacy policy has been compiled to better serve those who are concerned with how their ‘Personally Identifiable Information’ (PII) is being used online. PII, as described in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please…
We typically attribute Benjamin Franklin with having coined the phrase “A penny saved is a penny earned.” Though catchy, the phrase isn’t quite true. Franklin’s statement says that saving money increases our wealth just as much as earning the same amount of money would. However, either he came up with the phrase in that period of limbo after the British had been defeated…
While I’ve been thinking a lot lately about moving away from Provo, I have noticed that the sense of community here is different from most other places in the world. One thing that is really cool is the concept of dinner groups. Here in my apartment complex, there are usually one or two groups that will get together for dinner five or six nights a week. The groups will have 10-15 members…
I took this photo of the Provo City Center temple as a gift for my little sister Becky for her 17th birthday. I’ve also decided to release it as a wallpaper for your computer or mobile device. Phone Wallpaper Tablet Wallpaper Desktop Wallpaper
The sharing economy has really changed the way that we get things done. Apps like Uber have made it so that you can have other people drive you places, instead of having to own your own car. AirBnB makes it so you can use someone else’s house, rather than owning your own. People have gotten used to the idea of letting others use their things. A shared library could be similar.
Update (Sep 20, 2016) : The first version of the app is now on the App Store. Check it out! Here at BYU, our student section for sports is called The ROC. A couple years ago, an app was developed for the ROC. Basically, you could sign in at games and if the app saw that your location was correct during the time of the game you would get points, which could be redeemed for prizes at the end of the…
I use the Clear app on my phone to store quick one line ideas that pop into my head all the time. I’m going to start taking some of the best ones and fleshing them out a bit on here. Some of these I might try to build, but most of them I probably won’t, so if you see an idea that you like (either this one or in the future) feel free to take it and run with it.
As 2015 draws to a close, I want to share the progress that I made in the last year. This is the first year that I’ve been able to focus enough on my goals to actually remember them at the end of the year. Sometime in the next week I will post my goals for 2016. I learned a lot this year, not just about the goals that I was working on, but also about setting goals in general.
One of the biggest problems I had when learning node was figuring out how to get a production server up and running. Coming from a PHP background, I was used to just installing a LAMP stack on an Ubuntu server and then uploading PHP files to the directory specified in Apache. Because node runs the server itself, the process for setting up a server is a bit different, so I’m going to try to…
While I was serving as a missionary in Chile, I worked every day with goals. We would set goals each month for the number of people that we wanted to help teach about Christ, and then each week, we would set shorter term goals that would help us to reach those goals. Every day we would set even shorter term goals about the number of people we would talk to on the street, and the number of people…
Over the last two weeks, I’ve been taking some classes through Treehouse to learn how to create iPhone apps. I feel like my web development skills are in a good place, but I would like to begin learning to create apps that are native to phone devices. I’ve tried a couple of different online classes to try to find the one that works best for me, and so far I’ve been most impressed with Treehouse.
I returned last night from a week-long trip to Glacier National Park. From east to west, the entire area is wooded with pines and cedars, clear blue rivers, lakes and waterfalls. Glacier is perhaps one of the most beautiful places that I have visited on Earth, but after less than a day, I was already tired of it. We stayed in the park for more than twelve hours, but I realized that after we had…