If you're reading this, you know I love blogs. I love blogs so much that I have three blogs. You might be thinking, three? This blog and the food blog, but what else? Well, my Teochew site technically has a blog as well. It's just hidden under the "Updates" link at the bottom. But I post updates pretty frequently! (Like waaaay more frequently than the food blog or this personal blog) But I never really considered it my "Teochew blog", no, not until...last Saturday. Because that was when I finally put my Teochew updates on my blog framework.
I have always always been a fan of blogs. I first became interested during the days of Xanga and everyone had a blog back then. A blog wasn't just a collection of entries. You customized your blog. The font, the colors, the obnoxious music playing in the background. And you did that by writing code. (I'm counting html as code) Or maybe by copying and pasting code, it doesn't matter. The fact is that you had a lot of control and it was fun. And it didn't matter what you blogged about. It was just an online journal. You did you and it also allowed you to connect with others remotely which is what the internet was made for in the first place, right?
At some point "social media" took over and blogs stopped being a thing everyone on the internet had. I had my Xanga for years and years, way after it stopped being popular, but eventually I stopped using it too. It was like, the first step in making the internet less fun. The thing is that blogs never really went away, but they became more of a business and marketing tool. It's like you needed a purpose for a blog. But I still enjoyed them! Food blogs, fitness blogs, technology blogs, early retirement blogs. I was reading lots of those.
And I had this yearning to start blogging again myself. I don't know how many times I tried to start a blog and then just stopped after a small number of posts. I had a tumblr, a blogger, a wordpress, even an angelfire website. Maybe I needed a purpose too. And in 2018, I finally had one. I would make my own food blog. My purpose was to show my aunt what I was cooking for dinner. I made sure to post updates frequently and I thought about things like making sure each post had enough pictures. And I put ALL my cooked meals in that blog! When COVID hit, I was food blogging so much and then...I just got tired.
I made an official "Taking a Break" post in my food blog on May 22, 2020, and you know how long it took for me to want to start blogging again? One month, almost exactly. Maybe I didn't need a purpose. Maybe I just needed control again. I needed something that was 100% mine. So I created one incredibly simple static page for a homepage. Then I looked at my Teochew site's code and copy pasted the stuff I used for updates to make the most rudimentary blog framework. And in like a day, I had whipped up my custom-made personal blog site. I had...a sense of pride, really. I had never felt proud of myself for starting a blog in the past. But now I like, actually knew how to code. This felt different.
And it didn't take me long to get back to the food blog either. I basically did the same thing for v2 of the food blog, with the copying and pasting of my blogging script and templates. Eventually I got tired of doing everything twice, so I looked into creating a Mojolicious plugin. And I will admit, that was...a whole project. But I don't know, is that something you'd want to hear more about?
...anyway, while the blog code all started in the Teochew site, I actually had taken such a long break from it, that it never got updated to use the shared framework. Not til last week, when I finally got tired of not having all my nice features that I've added over the years. So if you want to follow along, keep checking my updates page, or use the RSS feed, which I added as part of adopting the framework.
So here I am! Clearly still blogging. Still blogging...about blogging. I just like to share my thoughts online sometimes! I'm trying to think less about putting out the best content and more about, well, posting what feels right to me. In the past half-decade of my life, I've managed to meet a few others that also enjoy reading or writing blogs, which is crazy! Even knowing that one person reads my blog is honestly enough to make me excited about it.
I did another V2!
That's exciting! You're leveling up!
Like a pokemon?
Yeah, like a pokemon
When I climb, I don't really care about trying to puzzle out the solution before I get on the wall. If I flash something, that means it was probably too easy for me. I feel the most accomplished when I finally top a climb that I was struggling on.
Like when I'm finally able to get through a climb that used to feel impossible just to do the first move
Or a climb that felt impossible to top
Or a climb that I saw so many people do with ease, but it took me many many failed tries over several weeks, until I finally found the beta that worked for me (the day before it got reset!)
I used to love doing jigsaw puzzles. I remember the first 1000 piece jigsaw puzzle I ever finished. I was in middle school. It was a collage of stamps. It was honestly a pretty easy puzzle, but I swear it took me months. I was immediately hooked though, and people around me must have noticed it too because I started getting puzzles as gifts.
_______ |_ _| _) (_ (___ __\ (_)
One Christmas, I remember getting one of those huge boxes with 12 jigsaw puzzles in them, 500 - 1000 pieces each. I would finish a whole jigsaw puzzle in one day, and I was done all of them by the time winter break was over. My family would keep all the finished puzzles, intending to eventually hang them up one day. We never did. I never cared for the finished product. I just thought that putting pieces in their proper place was fun.
_ _( )_ | | ) ( |_ _| (_)
I didn't really do as much jisgaw puzzling once I left college, but the craze started up again when one of the admins at work left a jigsaw puzzle out in the cafe. I thought it was just going to be a one-time thing, but when we finished the puzzle, another one was brought out. And another one after that. And we're still getting new jigsaw puzzles in the cafe today!
_ __ _/ Li | (_ _ C \_( )_;
My favorite one was a photo of a hot air balloon, and the reverse side of the puzzle was that same hot air balloon, but rotated 90 degrees. It was a really hard puzzle, and many of my co-workers frequently put pieces in the wrong place, and I had to fix them. I was known as one of the most avid jigsaw puzzlers at work.
__ _ _| l_j |_ (_ _ _) |__/ }_/
But then something happened. I don't know if I could really pinpoint when it happened, but I stopped working on the puzzles. There were too many, and I was way too busy with actual work things. GSG broke me.
_ _( )_ |_ | _) | |_ _| (_)
Every once in a while, I would walk over to the current puzzle, and I'd put a single piece in its place. That was all I could ever do at once. I wasn't really feeling the puzzles, but my co-workers would often work on them together, and I wanted to be a part of it. So I tried to just contribute at least one piece to each new puzzle that came out.
_ _ _| U \_ (_ _) l_n_j
And that continued for years. Once COVID hit, barely anyone was coming into the office, and the same puzzle would sit unfinished for many, many months.
_ _( )_ |_ ;_ _] __) |_ _\ {_)
And then all of a sudden, just about a month ago, another switch seemed to go off in my brain. I was coming into work more regularly again, and I noticed that the puzzle in the office was a really pretty painting of the beach, with a turtle and a bunch of colorful seashells. I did my usual connecting of two pieces together, but instead of going back to my computer, I picked up another piece. And another. And another. I wanted to keep working on the puzzle. And the next time that I was in the office, I wanted to work on it again until it was done.
______ ______ | _| | | (_ _ | |__ _|__( )_| | (_) |_ | | _) | |______\______|
I knew it wasn't just this particular puzzle that grabbed me, because after I finished the beach puzzle, I felt a little tinge of excitement when I saw that there was a new puzzle sitting out.
I've heard that a lot of programmers sometimes get "in the zone". They're working on implementing something new, and they've got all these ideas in their brain and they're just pounding out lines and lines of code, and the hours just melt by. They don't want to get up. They just want to keep coding until they're done, even if it's past End-Of-Day.
I mentioned a few posts ago that I don't really get in the zone when I'm writing code. But I think the closest I ever get to feeling that way is when I'm done making all my code changes and I start making commits. Git commits.
I don't think I have strong opinions about too many things in the tech space, but I care a lot about commit messages. Every time there's a new dev on my team, and I review one of their PRs for the first time, I always point them to How to Write a Commit Message. I know I'm never going to get the hundreds of developers at the company to abide by these guidelines, but damnit I'm gonna try.
I rarely ever make a pull request with just one commit in it. I start with a gigantic diff, and I try to break it apart into smaller, easier to digest pieces. "Okay, first, I'll commit changes I made to the schema of this table, and then I'll make this change to the model layer, and then I'll work on the controller,..." When I make bug fixes, I start by adding a commit that adds a failing assertion, and I commit it by itself:
Exposes a bug in the code. This will fail as of this commit
The order matters too. If I made changes to five different files, what order do I want the reviewer to look at them in? I want to be able to guide the person, and not have them feeling overwhelmed because there are so many changes. I want them to know why I made certain choices in the code, and what parts of my change I feel unsure about.
The act of organizing everything helps me find places in my code that could be improved as well. Does this method need better documentation? Can I easily read this from top to bottom?
And I'll even throw in pointers for looking at a diff:
Look at this diff with the -w option, and you'll see that the only things I changed here were whitespace.
Use the --color-moved flag to see that I didn't add any new logic, just moved it from one spot to another.
And when I can't make something easy to digest, I'll say that too
This diff is kind of a mess, so I'd just recommend looking at the method in the file itself.
In the end, if I'm happy with everything, it feels like I've created something beautiful. At least to me.
Sometimes I wonder, is it really worth it for me to take an extra four hours just for committing? I know for a fact that some people I work with don't even read the commits. They just look at the full diff in bitbucket. And then I get a comment like this:
Why did you remove this line?
And in my head I'm thinking "Well if you read the commit message that went along with it, you'd know exactly why I removed it >.>"
But this scenario is slowly becoming less and less common.
A few weeks ago, everyone on my team was tasked to find an example of good documentation in the code. And one of my co-workers brought up my 30+ commit pull request, and said that even though it was large, it was very easy to follow. It was easy to see which parts of it were simple, and which other parts required a more thorough review. I think I spent a whole day putting those commits together, and it made me feel so good to know that it made a difference. For me, it was one of the most thoughtful comments I've ever gotten about my code.
This is a set of 9 10 blog posts that I wrote in 2018, detailing the food the I made and ate over the course of 9 10 weeks. I had a very specific goal of having a $30 a week food budget, and I basically failed that because I always do :P I had considered just inserting these entries at the time that they were written, but I decided I wanted one long-ass blog post instead. With commentary!
Welp, one week in, and I've already failed to stay within my food budget. It really wasn't too bad considering I did stay under $30 in groceries, but I gave myself a special birthday treat and I was also obligated to get coffee at a programming meeting. (Girl Develop It! I miss those meetups)
| Groceries: | $29.08 |
| Coffee: | $2.94 |
| Eating Out: | $11.28 |
| Total: | $43.30 |
90% of the meals I make are from Budget Bytes (If you've never checked out this blog, you need to. It's amazing. I think it actually changed my life.) So this week I made three different dishes:
If you actually read through those recipes carefully, you'll notice that I stretched out the chicken skillet to 5 meals--one of the meals just didn't have much chicken, and I supplemented it with an egg. I actually still have one more meal of this left. I also really stretched out the salmon meal, but that's because I bought over a pound of salmon and a pound of green beans.
I don't know if it was because I ate way too much in the two weeks prior to this, but I was feeling really hungry a lot of the time. For next week, I'm going to plan four dishes and make the portions a little larger. I know, I still need to stay within my budget. Salmon was about a third of the grocery bill, so I think I can replace that with something cheaper and more filling. For this first week, I didn't actually think about how much each meal would cost, nor did I utilize much that was already in my kitchen or think about what foods were on sale.
My eating out meal was at a fancy restaurant because I had a $30 off birthday coupon! (Man I also miss birthday coupons) Of course I still ended up spending a lot on it because of tips. I've already committed to a meal out next week, but I'll actually try and see if I can keep my grocery bill under $20 for this next week.