Peyton Holland Peyton Holland

Algorithmic Rigor

Good morning! Decided to get a quick blog post out because I don’t have enough time to launch headlong into my Java exercises this morning before Mobile App Development class. Today, I’m going to touch base on the proverbial irons I have in various and sundry fires as I start ramping up to the last five or so weeks of classes leading up to Thanksgiving break and final exams.

So, in the wake of last week’s assessment failure, having taken a pretty good assessment of my strengths and weaknesses, I’m addressing blind spots in Java directly by really grinding out Java fundamentals. Where two weeks ago I was really acknowledging how my skills had lapsed, I’ve made some significant and tangible progress. I set my scope in the first week to regaining familiarity with data structures: lists, arrays, array lists, working with collections, engaging appropriate syntax, index traversals, decision structures, and things in that scope. This week, I’ve been moving into hash sets, hash maps, working with lists of objects inside of hash maps, and as of yesterday, had left off with working with sliding windows. During the last few days, I’ve had an eye towards optimizing time complexity as I’m performing operations, especially using hash maps and sliding windows. Over the next week, I’ll continue in this way by trying to develop better algorithmic rigor, and thinking critically about code as a way of solving real-world problems. I will also be intentional about working on creating more modular, elegant, and streamlined code. The things I think I’m strongest at, such as code documentation, creating readable code, and working with in-place test cases are really helping during this process.

I have been leveraging Gemini as a test medium and knowledge base. In the beginning of the process, I prompted Gemini to give me an overview of what I was working with, and then would try to replicate the code on my own. When I encountered errors, I’d screenshot the error and feed it into Gemini in an effort to better understand where I fell short. Over that first week, it was an incredible help to be able to quickly and easily access the information that I needed to regain my footing, increased my understanding of the subject matter, helped me redevelop my syntactical skill, and then I would continue to grind on that subject until I was able to work the code from scratch. After the first week, I pivoted to a code-first approach, which has helped me be able to evolve my work into assessing a problem or desired outcome, and then coding towards that. Then, if there was a gap, I’d leverage Gemini for some ideas on the best path forward, and would incorporate that into my approach. Sliding window algorithms and the two-pointer approach were extremely difficult for me to master in my algorithms class, but the fundamental understanding of many of those concepts are still there. It’s been especially helpful as I’ve incorporated an approach with more of an eye on time complexity and code elegance. This process has been significantly helpful, and I truly feel that I’m becoming a more well-rounded engineer as a result.

I’ve been pushing every exercise to my Java Practice Environment GitHub repository if you’d like to take a look.

The last five real class session weeks of the semester are here. It is insane how fast time has moved. I definitely haven’t left any time on the table. It’s now group project season, so I’m now juggling three active group projects as well. The most significant is the Chemistry II CURE project, in which our group is taking a look at water hardness and alkalinity. There’s much and more to do in that aspect, and I intend to be as far ahead of the curve with this work as possible. In Mobile Application Development, our group is creating a rock/paper/scissors game app that will use multiple fragments and other Android development disciplines, and will operate the game functionality using Java. The Capstone project group is doing extremely well, and our work on our GGC Pothole Detection App (now in Comic Sans font and with new clever branding as GGC SansPotholes) continues apace. We are working on the look and feel of the app. Since we have been working with Antigravity, we are engaging it directly to make the app look less AI generated, and are proceeding intentionally to give our app a more lived-in feel. Chemistry II is taking the majority of my focus at this time, as the workload is significant. This week covers Bronsted-Lowry acids and bases, Arrhenius acids, buffers, buffer range, and related aspects.

This morning, I’ll be leading my Mobile Application Development group’s presentation for our app proposal, for which I created the documentation and PowerPoint. Afterward, I’ll get into my Java exercises, in which I’m going to touch up once more on sliding window algorithms, and the two-pointer approach. I’ll also be working heavily on Chemistry II homework and beginning the first of the two CURE pre-lab write-ups. As I continue with Java, I’ll continue with an eye towards time complexity and code elegance. I’m also incorporating more command-line bash in my workflows. In Web Development, we’ve been working with regex and SQL, so I’m also reawakening my understanding of that. Currently, we are working with basic syntax as well as joins, which is hugely beneficial and incredibly relevant given the nature of the technical assessments. So, there’s much to do, and I will continue doing my very best over these next 5-7 weeks as I approach graduation on December 11th. The grind continues apace!

Read More
Peyton Holland Peyton Holland

On HackerRank And The Way Forward

So, before I launch into a cutting a promo here, I want to offer a quick context window. As I’m working towards graduation at Georgia Gwinnett College with a bachelor’s degree in software development, I’ve formally started to apply for career opportunities. I’ve been hitting a lot of the early-career, recent-grad types of postings. I was recently extended an invitation to interview for one of these opportunities. I did the asynchronous interview, 8 questions about what I’ve worked with, times I’ve failed and how I’ve responded, working in difficult groups, moments of triumph, standard interview fare. I was then invited to participate in a technical assessment, administered by HackerRank. The question involved a pair of pretty difficult algorithmic problems.

Well, gang, here we are on a Monday of a morning, and what’s the first thing I wake up to as I’m scrolling through LinkedIn? A faux mea culpa from the CEO of HackerRank announcing their new marketing campaign and a change in the way that they administer their assessments.

As someone for whom this demonstratively and anecdotally cost a job opportunity, it’s pretty difficult to not feel a little hard done by in this circumstance. Zooming out a bit, I can also see an employer’s point of view in being frustrated that they will now, ostensibly, need to subscribe to some new product if they want to continue working with this company and their tools. For just as many, this approach will probably remain unchanged.

Another thing to acknowledge is that this is the new reality of a field that is changing in significant ways by the day. New technology is multiplicative in an exponential manner with the tools meant to govern aspects of its administration. This is true in human resources, this is true in business operations, this is true essentially everywhere.

However, the standard is still the standard. Life is not an exclusively boolean condition. I can acknowledge the shortcoming of, to quote the HackerRank ad, not being able to algorithmically determine “how many golf balls can fit in a 747” from right off the top of my head. If that’s the standard, then that’s the standard, and I didn’t meet it, and life goes on. That won’t change my approach.

In my previous LinkedIn post, I had mentioned how I had prepared for the exam. Getting back the lapsed muscle memory of programming in Java. Understanding data structures. Understanding traversal. Understanding sliding windows. Time complexity. How to document code. How to create readable code. How to use function and variable naming conventions that point to what the purpose of the variable is, and what it’s meant to do. Understanding the nature of algorithms and how to approach problems analytically and think critically through them remains an important core concept.

I worked as a civil designer in Atlanta for one of the city’s oldest land surveying and civil engineering firms. I was green as a pepper tree and didn’t know poop from apple butter about civil engineering. This company was kind enough to take a chance on me. During my time there, however, I developed the ability to use AutoCAD land desktop to plot street layouts, determine lot sizes, establish build pads, and cite city and county ordinance to create water service distribution plans. I started to learn the differences in what pipe material to call for depending on the application, whether it was PVC, ductile iron, or otherwise. I became NPDES certified as an erosion and sediment control professional. I developed understanding of how and where to deploy silt fencing to ensure earth-moving construction activities didn’t cause Georgia red clay to spill out into the street when it came a real good rain. I understood the principles of riparian buffers and call for certain plantings and grasses to mitigate stormwater runoff in a meaningful way.

If I want to be a software engineer, these are the types of concepts I need to expose myself to and master in order to put my foot in those doors when they open and try to get in. I need to understand the importance of meeting time complexity requirements. I need to understand how to group data in unique ways. The engineering concepts will never go away. These are among the most important skills I still need to hone and develop as I’m trying to break into this industry. Even when they keep changing the gates.

I remain undeterred in this pursuit. Just because HackerRank’s approach changes doesn’t necessarily mean that mine should. Just like I talked about in my LinkedIn post about my approach, once Web Development class is over, you can find me on campus refreshing my memory about Java lists because I want to be able to pass them into a hash map so that I can fully leverage the power of key-value pairs.

The standard remains the standard.

Read More
Peyton Holland Peyton Holland

Object permanence

It is Monday and we go again! Decided to spend some time in the library this morning after finishing up a Web Development PHP exam and practical. Did pretty well on it. I am absolutely not a good test taker, so I did pretty much how I expected to do. I passed, and that’s what is the most important thing. I’ll be banking on a very successful practical for the better grade there.

Some positive and favorable developments over the last week! I’ve formally began my job search. With the site completed, my resume completed, and some of the components of my portfolio up, I feel that it’s time to start striking early while the iron is hot to try to get the most favorable outcomes. I’m looking specifically at recent grad opportunities. I’ve only submitted a couple of applications so far, but have managed to get into the process with one of them, so I’m pretty thrilled with a 50% success rate so far. Finished out the third step in the process on Friday with an asynchronous interview. Hoping for good things to come of this, because the opportunity would be incredible, and I think I’d be a great fit. It certainly helps tremendously that the location is like 5 minutes from my condo. So, we shall see what comes of this. In the interim, I’m going to continue working some applications over the course of the week in hopes of good outcomes and a great opportunity.

I try to get a blog post out every week, but missed my post from last week because it was exams week, so I was working like a madman all week. Reasonably good results including a 100 on my Systems Analysis and Design exam, which I’m thrilled about. I’m thinking I held ground in Chemistry II. The Capstone project course is going well, and my group is stellar, which makes that much easier to navigate. Mobile App Development didn’t go so well, but that is fully on me. My postmortem on my issues there was that I assumed the project would be a simple calculator, which was true for the layout, but I began the project with the incorrect layout (I began with Linear Layout as opposed to Table Layout) and wasted about 45 minutes after I realized I had began the approach wrong. I was mostly able to course-correct and got a lot of the required functionality in. I explained this to the professor in my submission, and I think she was pretty understanding. The most wild thing in all of this is that I simply can’t believe midterms have already come and gone. 8 weeks into my final undergrad semester, and over the halfway mark. I’m certain that the final stretch will go by just as fast and it’ll be December 11th and time to graduate before I know it, so I have to continue to do my very best to see this completely through.

The weather in Atlanta has been absolutely impeccable. From my perch here in the library up on the 2nd floor on campus, it’s crystal clear skies and 60 degrees. Fall is finally here, which is phenomenal because I am so sick of 90 degree weather. When I get back home from classes today, I’m definitely getting out to the park to get my miles in and set a good tone for the week. There is much and more to do.

For the rest of this Monday morning until Systems Analysis class I’ll probably try to get another application or two submitted, and pivot to doing some work on my Java RPG project. Trying to decide if I should continue to flesh out the character Statistics class, or if I should start roughing in my approach to the environment and rooms. The closer I can get to having the full foundation of the game in place, I think the easier it’s going to be to build out from there. The best thing of all of this has been taking a manual approach to this to reaffirm Java fundamentals to keep them sharp.

With that in mind, it’s time to get to work and make the best of these couple of hours between classes. Dear Reader, I hope we all have a phenomenal week. Let’s continue to do our very best.

Read More
Peyton Holland Peyton Holland

Elementary chemistry

Well hello there, cherished reader. If you are viewing these words, I want to extend my gratitude to you for stopping by. I’m taking a moment amidst the grind to touch base with what I’ve been working on here in the last number of days.

Classes are full steam ahead on all fronts, and especially so in Chemistry. First exam is this week, so I’ve been drilling down on quantum numbers, electron configurations, Lewis structures, periodic trends, VSEPR, bond order, and all sorts of other fun things. That comes up on Friday. I just today (Wednesday) took my 2nd quiz in PHP/Web Development. PHP is not my best subject for whatever reason and it’s been 16 years since I’ve worked with it, so I’m very rusty with it. Haven’t done exceptionally stellar on either programming question for either quiz so far.. the first one was an absolute disaster, this most recent one was much easier since I’ve worked to increase my understanding of W3 CSS for styling, form, and table creation. This most recent quiz was about file operations, and my sites looked great, but for some unknown reason (probably something that would irritate me if I knew what it was!) my PHP wasn’t compiling, and was instead just displaying as if it were something I was meaning to type. Almost guaranteed I didn’t close a paragraph bracket or something. I’ll cuss about it in private, but we keep it marching on.

Capstone course has been an absolute blast. Love my group, and grateful to them for voting me as project manager for our pothole detection app. We’ve been working with Antigravity, which is absurdly, ridiculously powerful and impressive. Between the four of us, we all had separate visions which we recently united into a single unified source, and the result was a GIGANTIC app with so much functionality that we are now having to take a big ol’ digital hatchet to it and chop everything down to the bare minimum, then pivot and press forward with making what we have better, and getting a better idea of scope, direction, and all the other things that go into making an ambitious project something more feasible and pragmatic.

In addition, I’ve continued to work on the website earnestly. This week, I finalized and debuted a slick new look, and then made some minor tweaks to a couple of things like making sure links were going where they are supposed to. I’ve also added a section on the site for my resume. The resume is still a work in progress and something I’m actively working on, and I also need to get the downloadable PDF version up. The current-but-incomplete resume is up and reasonably accurate (definitely gonna rework that ugly summary), but the download link does not work. That’s on the list to fix. I made a quick adjustment to my calendar in which days from the previous and following months are shown in the current month’s view. Small QoL changes that make it a bit easier for me to navigate and get use from. I also spruced up my GitHub account, where I’ve deployed the current iteration of the group Capstone prototype, as well as an additional repository where I have stuck a Java text-based adventure game that I’ve decided to undertake. The reasoning behind this is that I want to re-sharpen my Java skills and make sure they are 100% ready to go. I love getting to use generative AI to make all this mad scientist-type stuff, but it’s worth nothing if I can’t back it up with actual practical knowledge and understanding of what’s doing what. Also, I haven’t gotten to use just straight-up Java regularly in as long as I would have liked to. So, to this end, the text-based Java adventure game is going to serve the purpose of getting back to the level I want to be at with Java fundamental knowledge, but also getting some exposure to actual granular GitHub usage. I’m intending on leveraging GGC’s free LinkedIn learning courses to find a good one for GitHub so I can get that under my belt as well.

Outside of that, Trails in the Sky 2nd Chapter remake just arrived today, and as soon as I’ve finished up Ys X: Nordics, I’ll be jumping on that, and I cannot begin to even express how excited I am. I love the Trails series so much (and clearly Falcom in general with the titles I’m juggling right now) and having wrapped Sky FC last week, I’m extremely hyped to begin SC.

And that wraps up everything up to now, I guess. I would have included a photo but there haven’t been very many because I’ve been pretty slammed the last couple of weeks, but if I manage to get out to the Brewhouse Saturday for the Arsenal match, I guess that’ll be the next photo in the next post, next week. So, ‘til next time, gang.

Read More
Peyton Holland Peyton Holland

In the thick of it all

So, it's been a couple of weeks since my last blog post. Thought I'd take a moment to circle the proverbial wagons and get some thoughts out about how the last couple of weeks have gone. Well, gang, it has been busy! I've spent the last couple of weeks bearing down and making the adjustments necessary to support an extremely heavy workload in this chemistry course. In its absence, this semester would be a complete breeze. Chemistry is a pretty intense workload and requires a lot of hours spent on menial handwriting of pretty much everything. This is something I don't really agree with, but I'm actively acknowledging there's nothing for it but to do it and get through it. Otherwise, everything is going spectacularly. I'm excited about the group I am a part of for the Capstone course. Our Software Dev II class was an exploration of Google Antigravity and Cursor. We engaged both to create an operative prototype for a couple of our project ideas. I am absolutely blown away with how powerful they both are. With Cursor, I hit my token limit within about 10 minutes. With Antigravity, in conjunction with the free year of Google AI Pro offered to students, we had much better results. Cursor seemed to very much brute force its way through creation of the app. Antigravity, however, checked in with every major file operation and elaboration that needed to be made. Having used the same prompt for both, they yielded very different results, but the deliverable created by Antigravity seemed more useful, with more mechanics, more layers, and a much cleaner dashboard. We have some really exciting ideas in play for that course, and I'm really looking forward to getting a chance to work Antigravity more.

With the website, I have so much I'd like to continue to do. I have to brag on the calendar first. It has been, far and away, the tool I have used the most. I get a great deal of satisfaction out of the tool I've been able to create, and I'm constantly looking at ways to tweak it and change it to make it better. I'll get to those eventually, but I also need to get the remainder of the site operative. I've recently integrated the Projects section, which will serve as the basis for my portfolio and the projects I've worked on throughout my time at GGC. Next, I'm looking to overhaul the main landing page. I've got a lot of thoughts for that in mind, centralizing everything into a bit of a dashboard format so I don't fully lose my changelog. I'm sure something as minor as a changelog is considered antiquated by most, but for me, it serves as a good reminder of where I left off. Also, the intent behind it is to show that I'm mindful about the design of the site, consistent in it's maintenance, and that I'm actively working on it. If I'm lucky, I might be able to get some good headway on possibly integrating that completely over the next few days.

As for the remainder of this week, it's no surprise that chemistry labs will pretty much take over most of my free time through Friday. Every other class is going stellar, and I have no complaints. I am fully bought in, and intent on continuing to work as diligently as I can to try to stay ahead. On a personal level, I'd really like to get another new Spotify playlist made, because I'd like to nail down a vibe I can sail with for a few weeks as I make a big push to get some more authority over my workload and try to wrestle some time for myself so that I can get some coding projects nailed down.

Back to work on the site! If you are reading this, as always, thank you for taking the time, I am grateful for your consideration.

Read More
Peyton Holland Peyton Holland

Start as you mean to go on

Today is Wednesday, and after a good week and a half of work I was finally able to get the website soft launched today, so W in the chat, gang. Classes are proceeding fairly well, and the workload is generally as I hoped it would be for my last semester (not you Chem II!) and has given me a little bit of room to work on other projects. The ongoing AI language modeling research project has bled over from summer semester into an additional project to work on throughout the fall, which I’m actually pretty excited about because it gives our group a better opportunity to achieve completion as our goals evolve.

Chemistry II is behaving as expected, with both a pretty crazy workload and also the whimsical and emotionally-fulfilling requirement for all assignments to be submitted in HANDWRITING ONLY. Thus, my workspace has looked like this pretty much every night since last Wednesday.

I still think I’ll come out well in Chem, but it’s definitely going to be intense. Outside of that, the remainder of my classes look decent. All told this semester, it’s the AI research project course, software development capstone project, mobile application development, web development, systems analysis and design, and chemistry II. Afterwards, you can find me dancing in the streets after graduation on December 11th.

Work on the site will continue as I have time. I’m proceeding with intent on ensuring ease of navigability, cross-contextual continuity between desktop and mobile view, as well as security. Look-and-feel work will continue as I deem it necessary or appropriate. The integration of the task calendar I built has completely replaced my use of Google Calendar + Tasks. I’m thinking a photo gallery may be next since I deleted my socials a couple of years ago and miss sharing inane photos of me working on things and also Bravo Cat. I also need to get the projects section integrated. So! Much to do moving forward.

Read More
Peyton Holland Peyton Holland

In medias res

So, my first official blog post! Welcome to my site. I can't help but feel that it's a little self indulgent, but I think it's also the best way to get my stuff out into the world since I'm not on the ol' socials anymore.

Anyway, I'm Peyton! Nice to meet you. As I said in the first (informal) post, this blog will probably not be limited to my professional pursuits. I miss writing (and LiveJournal lol) so I think this is a good exercise.

This blog post comes to you from a coffee shop in Midtown Atlanta. I had an early mobile app development course this morning, and I wanted to get out for breakfast, stretch my legs, and go for a walk before I dive headlong into 7-10 hours of chemistry II homework.

This blog post comes to you from a coffee shop in Midtown Atlanta. I had an early mobile app development course this morning, and I wanted to get out for breakfast, stretch my legs, and go for a walk before I dive headlong into 7-10 hours of chemistry II homework.

The impetus behind starting this website is to put myself out into the world, introduce myself to prospective employers, and to sharpen and improve my design skills. I intend to do this behind the inclusion of small projects within the site, such as integration of a calendar that can pull information from Google Calendar. I only discovered today that when you integrate Google Calendar, the tasks do not follow, as they are private and user-specific. I feel like being able to view my calendar would give a prospective employer a good idea of how I manage my workflow during the semester.

Speaking of the semester, I have just started my (final!) fall semester at Georgia Gwinnett College. Little bit of a nonlinear path, but two weeks ago I left my job of 14 years as an Operations Manager in the telecom and IT retail space so that I could finish pursuing my degree full time, and for the first time in the four year online program, do so in person and on campus. It has been fantastic so far, much smoother than I had anticipated. My profs are excellent, and I'm looking forward to diving into the 5 class course load. This semester, I have mobile application development, web application development, systems analysis and design, chemistry II, and my software development capstone project course. Graduation in December (on the 11th, not that I'm paying any attention to it lol) will get here sooner than I think. I'm looking forward to doing my very best. Much more to come!

I'm hoping to get a couple/few blog posts off every week, and I'm intent on working on the site daily to continue adding to it and sharpening it. I'm also hoping to begin using exclusively my own media (photos, etc.) in the construction of my site. Right now, I'm using Gemini 3.6 Flash for assistance with constructing components (such as the CSS "Aspiring ..." block on the main page) and will continue to do so, along with hard HTML and CSS coding of my own. All blog content will be MY OWN. All killer, no filler. That is my promise in this and every blog post, as well as all text used on the site. The construction will be AI assisted. The content will never be so.

At any rate, I think that's a pretty reasonable first blog, gang. We covered a lot of ground. I'm out for a walk around Midtown before it gets hotter than the surface of the literal sun outside.

Read More
Peyton Holland Peyton Holland

Getting started

Hello! This is my first blog post, and the integration of my blog with the overall site. This blog will not be limited to professional pursuits, and I will be intentional about updating with new content a couple/few times a week as time allows. Please look forward to it.

In the meantime, here is a photo of Bravo Cat.

Bravo Cat
Read More