<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Francois Allerston</title>
    <description>The latest articles on DEV Community by Francois Allerston (@francois_allerston_474ce8).</description>
    <link>https://dev.to/francois_allerston_474ce8</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3430367%2Fcbd14acc-87cd-4c92-bfc8-c291bd946c29.png</url>
      <title>DEV Community: Francois Allerston</title>
      <link>https://dev.to/francois_allerston_474ce8</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/francois_allerston_474ce8"/>
    <language>en</language>
    <item>
      <title>Finishing a Recommendation Assignment</title>
      <dc:creator>Francois Allerston</dc:creator>
      <pubDate>Tue, 30 Dec 2025 11:59:52 +0000</pubDate>
      <link>https://dev.to/francois_allerston_474ce8/finishing-a-recommendation-assignment-54e7</link>
      <guid>https://dev.to/francois_allerston_474ce8/finishing-a-recommendation-assignment-54e7</guid>
      <description>&lt;h2&gt;
  
  
  Finishing a Recommendation Assignment (and Learning a Lot Along the Way)
&lt;/h2&gt;

&lt;p&gt;This project started as a Codecademy Computer Science assignment and slowly turned into something much bigger than it was ever meant to be.&lt;/p&gt;

&lt;p&gt;The original idea was fairly simple with some prerequisites: build a recommendation system that searches through a library (of whichever data structure) and suggests “whatever” based on some topic and using single character input from the user. Getting the single character input working took some faffing around but it worked and that’s probably where I should have stopped… But I didn’t. There were version after version then came the overbuild, till I ended up with "It's your choice", either enter once character or enter more or the the whole damn word your looking for.&lt;/p&gt;

&lt;h3&gt;
  
  
  Scope Creep, the Final Boss
&lt;/h3&gt;

&lt;p&gt;There was an initial plan… I swear to God there was.&lt;br&gt;
After that, planning went out the window as I kept refining, tweaking and sometimes breaking parts of the project. Some changes were improvements, others were “this seems pretty cool I might as well…” decisions that added complexity fast.&lt;/p&gt;

&lt;p&gt;On top of that, progress was slow because of:&lt;br&gt;
• Full-time work&lt;br&gt;
• Being genuinely overworked at times&lt;br&gt;
• Long gaps between coding sessions&lt;/p&gt;

&lt;p&gt;So yes, this project took way longer than it should have, but I also learned far more than I would have if I just finished the assignment.&lt;/p&gt;

&lt;h3&gt;
  
  
  My Game Recommendation Application
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6i9ufxl2lbz2v8d51lq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6i9ufxl2lbz2v8d51lq.png" alt="Example image of starting the program listing the genres" width="717" height="849"&gt;&lt;/a&gt;&lt;br&gt;
Here is the GitHub link to my assignment:&lt;br&gt;
&lt;a href="https://github.com/Exceria33/GameRecommender" rel="noopener noreferrer"&gt;https://github.com/Exceria33/GameRecommender&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning by Doing (Not Perfection)
&lt;/h3&gt;

&lt;p&gt;The goal was never to build something perfect.&lt;br&gt;
It was about learning by actually building something end-to-end (and to a degree of at least working).&lt;/p&gt;

&lt;p&gt;Through this project I learned a lot about:&lt;br&gt;
• Why planning matters (and what happens when you abandon it)&lt;br&gt;
• How small features can snowball into big design decisions and completely breaking other features&lt;br&gt;
• Refactoring code that technically works but doesn’t feel right or just straight redundant&lt;br&gt;
• Letting a project evolve while still eventually bringing it to completion&lt;/p&gt;

&lt;p&gt;Even though it’s an assignment, the project ended up being refined far beyond the original requirements, curiosity kept pulling it forward added with every run I was not completely satisfied with how I experienced the application overall. In essence I wanted to treat this application as the same as something you would send to a client, I needed to be satisfied or even proud of it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This is now a finished project (if I don’t say it’s finished now then I will never!!), and I’m glad I stuck with it — even when motivation dipped and scope creep took over. It’s a solid reminder that learning projects don’t need to be perfect or fast to be valuable.&lt;/p&gt;

&lt;p&gt;Sometimes the real win is simply finishing, understanding why things work, and knowing what you’d do differently next time.&lt;/p&gt;

&lt;p&gt;And now.. on to the next one. Thank you for reading.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>learning</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>A Newbies Attempt at Making the Classic Game Battleship</title>
      <dc:creator>Francois Allerston</dc:creator>
      <pubDate>Tue, 12 Aug 2025 21:48:26 +0000</pubDate>
      <link>https://dev.to/francois_allerston_474ce8/a-newbies-attempt-at-making-the-classic-game-battleship-3cj9</link>
      <guid>https://dev.to/francois_allerston_474ce8/a-newbies-attempt-at-making-the-classic-game-battleship-3cj9</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Well that's putting it lightly, say a Newbies Attempt at a lot of new things.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;For my learning portfolio, the objective is to upload it to GitHub and to create a post sharing the link to GitHub. The problem..&lt;/p&gt;

&lt;p&gt;Despite the world we live in today and even my own interests in technology, I find it odd how I have separated myself from social media platforms and an online presence.&lt;/p&gt;

&lt;p&gt;I started a journey for myself in development, I knew there would be challenges on my path with regards to learning new skills. Imagining complex system designs that only mad or crazed scientists are seen working with (I was anticipating this with excitement) and I still can't wait to get to that point.&lt;/p&gt;

&lt;p&gt;That path has lead me here.. I &lt;em&gt;need&lt;/em&gt; to write a blog post, but lack the knowledge or experience (topped being an introvert) Coding all the sudden seems simple and easy. I've never written a post (so if this format seems a bit off or odd.. you know why).&lt;/p&gt;

&lt;p&gt;Accepting that this will most likely be a part of the journey I want to be part of I figured (I could be wrong about this), telling this part of the story is still blogging? Right? if not.. it will build momentum, grow confidence and be a start of this specific topic. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Objective:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;With regards to blogging:&lt;br&gt;
I need catching up and learn a few more skills (not out the bat "go blog")&lt;/p&gt;

&lt;p&gt;With regards to the game:&lt;br&gt;
That's the just of it, I've created a simple text based game. The classic Battleship, which was quite the tricky dilemma. Battleship feels more of a visual type of a game so I had to create an environment to give the same visual queues and control. Here is how that looks when placing ships:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frf4ilwj2luw24imujiv5.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frf4ilwj2luw24imujiv5.jpg" alt=" " width="694" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The link to the game source code is here:&lt;br&gt;
&lt;a href="https://github.com/Exceria33/BattleshipPortfolio" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;The Overview of my Battleship portfolio:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The goal was to create an application to run in the terminal and to use classes and objects.&lt;/p&gt;

&lt;p&gt;The classes I created for this game is the Player and the Board (Battleboard)&lt;br&gt;
*The Player - preforms tasks like attacking and updating the board&lt;br&gt;
*The Board - performs tasks like allocating the placement of the ships&lt;/p&gt;

&lt;p&gt;The game functions around the grid(A1, J10) or as I called them in the code "Tiles" - these gets assigned to the Players after placing is completed.&lt;/p&gt;

&lt;p&gt;The game there forward runs on a loop till one player has no more "Tiles" remaining. For more of the details, overview the README file in the repo. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Conclusion:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The game I made can be found in my GitHub repo link above, it works and is fun to play. (give the High score system a crack)&lt;/p&gt;

&lt;p&gt;It's not perfect, but that's the point. This is the process of learning (but don't take me wrong, I spent a lot of time and effort on this project trying to get things to work just right and making it look good.. by using just the terminal.. for a rookie)&lt;/p&gt;

&lt;p&gt;I remember the initial anxiety (excited and afraid of the unknown) I felt when I just started to work and looking back on it now. It's like its starting again in this new environment, but different.. &lt;/p&gt;

&lt;p&gt;Looking forward to making better code..&lt;br&gt;
Looking forward to making better blog posts.&lt;/p&gt;

&lt;p&gt;I really hope that this first attempt at a blog was somewhat structured and readable. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I am truly grateful for your time spent reading through this&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>computerscience</category>
      <category>learning</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
