<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>JBrien&apos;s Tek Blog</title><description>Tech, systems, data, and experiments.</description><link>https://blog.jbrienweb.dev/</link><language>en</language><item><title>Learning Data Engineering (Part 3) – Data Engineering Undercurrents</title><link>https://blog.jbrienweb.dev/posts/learning-data-engineering-part-3-data-engineering-undercurrents/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/learning-data-engineering-part-3-data-engineering-undercurrents/</guid><description>Click here for Part 2. What separates an enterprise vs non-enterprise data engineering setup is whether the data engineer has accounted for the &apos;Data Engineering Undercurrents&apos;.…</description><pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://blog.jbrienweb.dev/posts/learning-data-engineering-part-2-hooking-up-to-a-blockchain-api/&quot;&gt;Click here for Part 2.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What separates an enterprise vs non-enterprise data engineering setup is whether the data engineer has accounted for the &apos;Data Engineering Undercurrents&apos;.&lt;/p&gt;
&lt;p&gt;The most obvious one is &apos;Security&apos;, but as Joe Reis and Matt Housley shares with us, there are 5 others.&lt;/p&gt;
&lt;p&gt;Here I identify the undercurrents relevant to me (which is all categories) and see how I can implement them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;External reference image:&lt;/strong&gt; &lt;a href=&quot;https://www.oreilly.com/api/v2/epubs/9781098108298/files/assets/fode_0101.png&quot; target=&quot;_blank&quot;&gt;view the original diagram at O&apos;Reilly&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;sub&gt;Reis, J., &amp;amp; Housley, M. (2022). &lt;em&gt;Fundamentals of Data Engineering&lt;/em&gt;. O&apos;Reilly Media.&lt;/sub&gt;&lt;/p&gt;
&lt;p&gt;With a bit of time and effort, I expanded on each of the 6 points with the help of LLMs. For each sub-point, I then research the industry standard for implementing these concepts. This is what I came up with:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://blog.jbrienweb.dev/media/wordpress/2024/12/pasted-image-20241219150832.png&quot; alt=&quot;Checklist matrix covering security, data management, DataOps, data architecture, orchestration, and software engineering&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Laying it out like this has us get started on a checklist on the necessary bells and whistles that our data infrastructure has to have. It&apos;ll get filled up as the project progress.&lt;/p&gt;
&lt;p&gt;~End&lt;/p&gt;</content:encoded></item><item><title>Taking a short break from Data Engineering: Learning Game Development</title><link>https://blog.jbrienweb.dev/posts/taking-a-short-break-from-data-engineering-learning-game-development/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/taking-a-short-break-from-data-engineering-learning-game-development/</guid><description>TLDR Mushroom Text Game: https://github.com/jbgithub22/Mush/tree/main Learned about HD-2D games Started learning about making 2D games in Unreal Engine Made Unreal Engine 2D Game:…</description><pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;TLDR&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Mushroom Text Game: &lt;a href=&quot;https://github.com/jbgithub22/Mush/tree/main&quot;&gt;https://github.com/jbgithub22/Mush/tree/main&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Learned about HD-2D games&lt;/li&gt;
&lt;li&gt;Started learning about making 2D games in Unreal Engine&lt;/li&gt;
&lt;li&gt;Made Unreal Engine 2D Game: &lt;a href=&quot;https://jbgithub22.itch.io/hello-world-test-game&quot;&gt;https://jbgithub22.itch.io/hello-world-test-game&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Reminisce&lt;/h2&gt;
&lt;p&gt;The first game I ever made was in school: ASCII Mushroom text game... &lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://blog.jbrienweb.dev/media/wordpress/2024/12/2_game.png&quot; alt=&quot;Terminal-based battle between player JB and a Wild Mushroom with four action choices&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;&lt;sup&gt;Screenshot of the text game&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;With one booboo, I skipped the last few classes which taught classes/oop and so made the entire game with just functions. It was fun nonetheless~&lt;/p&gt;
&lt;h2&gt;So now I want to try my hand at it again&lt;/h2&gt;
&lt;p&gt;I didn&apos;t want to overwhelm myself so I was looking to make 2D games with RPG Maker. Then I moved to looking at Unity.&lt;/p&gt;
&lt;p&gt;I was looking at Unity for future-proofing. I wanted to learn just one thing that would give me access to developing many types of games, from mobile all the way up to potentially making VR games.&lt;/p&gt;
&lt;p&gt;Then I learned that Unreal Engine can also do it, and with even higher fidelity, and with an even more attractive licensing agreement.&lt;/p&gt;
&lt;h2&gt;So I started research&lt;/h2&gt;
&lt;p&gt;Then I found this video by Thomas Brush titles &lt;a href=&quot;https://www.youtube.com/watch?v=exrnhRcdy0s&quot;&gt;&quot;Can You Really Make A 2D Game In Unreal?&quot;&lt;/a&gt; that linked to a video by Cobra Code:&lt;/p&gt;
&lt;figure&gt;&lt;div&gt;
https://www.youtube.com/watch?v=QVxK2dPJr4g&amp;amp;t=2s&amp;amp;ab_channel=CobraCode
&lt;/div&gt;&lt;/figure&gt;
&lt;p&gt;And that&apos;s where I learned about HD-2D games, which is a trademark owned by Square Enix by the way.&lt;/p&gt;
&lt;figure&gt;&lt;div&gt;
https://www.youtube.com/watch?v=K6wW0pO08LE&amp;amp;t=0s&amp;amp;ab_channel=UnrealEngine
&lt;/div&gt;&lt;/figure&gt;
&lt;p&gt;I gew up playing games like Maplestory, Ragnarok Online, Diablo 2, Red Alert and Starcraft. So learning that I could make these kinds of games with triple-A lighting, shadows and effects is very exciting.&lt;/p&gt;
&lt;p&gt;It is easy to say that game development is hard. It is hard for a non-gamedev to understand how hard it is. So I created a list of thing that I needed to do:&lt;/p&gt;
&lt;h3&gt;Components (Large View)&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Character Sprites
&lt;ol&gt;
&lt;li&gt;Swordsman
&lt;ol&gt;
&lt;li&gt;Design&lt;/li&gt;
&lt;li&gt;Animation&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Archer
&lt;ol&gt;
&lt;li&gt;Design&lt;/li&gt;
&lt;li&gt;Animation&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Mage
&lt;ol&gt;
&lt;li&gt;Design&lt;/li&gt;
&lt;li&gt;Animation&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Healer/Priest
&lt;ol&gt;
&lt;li&gt;Design&lt;/li&gt;
&lt;li&gt;Animation&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;NPCs
&lt;ol&gt;
&lt;li&gt;Vendors
&lt;ol&gt;
&lt;li&gt;Design&lt;/li&gt;
&lt;li&gt;Animation&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Quest Givers
&lt;ol&gt;
&lt;li&gt;Design&lt;/li&gt;
&lt;li&gt;Animation&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Monsters/Antagonists
&lt;ol&gt;
&lt;li&gt;Design&lt;/li&gt;
&lt;li&gt;Animation&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Level Design
&lt;ol&gt;
&lt;li&gt;Only 1 town map where the demo/story is set
&lt;ol&gt;
&lt;li&gt;Buildings/Locations
&lt;ol&gt;
&lt;li&gt;Interiors&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Points of Interest&lt;/li&gt;
&lt;li&gt;History&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Music
&lt;ol&gt;
&lt;li&gt;Picking out inspiration music to &apos;take inspiration from&apos;&lt;/li&gt;
&lt;li&gt;Draft&lt;/li&gt;
&lt;li&gt;Refinement&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Story
&lt;ol&gt;
&lt;li&gt;Quest
&lt;ol&gt;
&lt;li&gt;Ideas&lt;/li&gt;
&lt;li&gt;Dialogue&lt;/li&gt;
&lt;li&gt;Rewards&lt;/li&gt;
&lt;li&gt;Stake/Pull factor&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It is a lot. The more characters, NPCs, monsters, items, effects and gameplay you add, naturally the more work you need to do. And as someone who has worked with photoshop in an architectural studio, I shudder at the amount of art I need to draw. &lt;/p&gt;
&lt;p&gt;At least so far the rate of increase in work is linear. BUT, the calculus of the amount of work you need to do changes to exponential the more intertwining gameplay mechanics and quests you add. YIKES.&lt;/p&gt;
&lt;h2&gt;Starting out&lt;/h2&gt;
&lt;p&gt;So I found an Unreal Engine 2D game tutorial and made this:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://blog.jbrienweb.dev/media/wordpress/2024/12/monsterworldss.png&quot; alt=&quot;Top-down pixel art game scene with a character, treasure chests, signs, flowers, and an NPC&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Download link: &lt;a href=&quot;https://jbgithub22.itch.io/hello-world-test-game&quot;&gt;https://jbgithub22.itch.io/hello-world-test-game&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;It&apos;s fun!&lt;/p&gt;
&lt;p&gt;Let&apos;s see how it goes~&lt;/p&gt;</content:encoded></item><item><title>Learning Data Engineering (Part 2) - Hooking up to a Blockchain API</title><link>https://blog.jbrienweb.dev/posts/learning-data-engineering-part-2-hooking-up-to-a-blockchain-api/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/learning-data-engineering-part-2-hooking-up-to-a-blockchain-api/</guid><description>Click here for Part 1. Let&apos;s start with the questions that I had: What data do I feed through the pipeline and what would I want to do with it at the end? I already have some…</description><pubDate>Mon, 25 Nov 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://blog.jbrienweb.dev/posts/learning-data-engineering/&quot;&gt;Click here for Part 1.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Let&apos;s start with the questions that I had:&lt;/p&gt;
&lt;h2&gt;What data do I feed through the pipeline and what would I want to do with it at the end?&lt;/h2&gt;
&lt;p&gt;I already have some ideas of what kind of data I&apos;d choose as source. Starting with questions I already asked ChatGPT previously...&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://chatgpt.com/c/b9fe184e-3d19-43a2-81a3-b94dcbbf5a60&quot;&gt;&quot;I am planning to write data science articles where I do ETL, exploratory data analysis, BI and machine learning. What good topics and available datasets are there?&quot;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chatgpt.com/c/217e4e47-de12-4c4a-a185-5cc126b461c1&quot;&gt;&quot;Give datasets/types or industries of datasets to comprehensively apply these [statistical] methods to. Do not give the code.&quot;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chatgpt.com/c/94eec870-544b-4a65-b8cb-a03e3ac221d0&quot;&gt;&quot;Give me a few business analyst problems and datasets to work on.&quot;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I chose blockchain data.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://chatgpt.com/c/5aeb9a9f-127c-4b0a-9f71-9632f835ca18&quot;&gt;Of all the available ones&lt;/a&gt;, I chose the Ethereum Blockchain specifically so that I can relate the data to NFT marketplace data, which most are traded with Ethereum.&lt;/p&gt;
&lt;p&gt;Blockchain data is transaction data. Each block can be interpreted as a large JSON file with the transaction value, sender and receiver information. I also &lt;a href=&quot;https://blog.jbrienweb.dev/posts/my-first-nft/&quot;&gt;dabbled with NFTs&lt;/a&gt; before and know that there&apos;s a treasure trove of data there as well. &lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://chatgpt.com/c/afaa7a17-dfc3-4b5b-8461-b522a90f348f&quot;&gt;data products that I can produce&lt;/a&gt; with these data can range from &apos;simple&apos; Exploratory Data Analysis to more complex predictions for prices or ideal themes for NFT products.&lt;/p&gt;
&lt;p&gt;To proceed...&lt;/p&gt;
&lt;h2&gt;I have these steps in mind...&lt;/h2&gt;
&lt;h3&gt;Step 1: The Alchemy API for the Ethereum blockchain&lt;/h3&gt;
&lt;p&gt;ChatGPT already provided me with an idea for a full pipeline in the previous post (such as &quot;Ethereum Blockchain &amp;gt; The Graph &amp;gt; Apache Flink &amp;gt; Google BigQuery &amp;gt; Plotly Dash&quot;). This is too complex for me at this point so I opted to just try connecting to the blockchain API and output a CSV file of a few blocks.&lt;/p&gt;
&lt;p&gt;Managed to do it after some fiddling, research and prompt engineering.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/jbgithub22/ethereum_alchemy_pipeline/blob/main/notebooks/superceded/0_pipeline0.ipynb&quot;&gt;Link to the Jupyter Notebook&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;My measurable outcome:&lt;/em&gt;&lt;/strong&gt; for this step is to get a csv file of the metadata. (Successful)&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://blog.jbrienweb.dev/media/wordpress/2024/11/blockchain-csv.png&quot; alt=&quot;VS Code showing exported Ethereum transaction receipt data in a CSV file&quot; /&gt;&lt;/figure&gt;
&lt;h3&gt;Step 2: The web3 API and MongoDB&lt;/h3&gt;
&lt;p&gt;The Alchemy API is generally not open-source. The Web3 API is and the web3.py library is more actively maintained than the alchemy.py library.&lt;/p&gt;
&lt;p&gt;I wanted to enrich my learning, so I decided to include MongoDB in this prototype pipeline.&lt;/p&gt;
&lt;p&gt;I downloaded Docker and followed some tutorials to get a MongoDB container running. And yes, that also means I also just learned how to use Docker with this step.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;My measurable outcome:&lt;/em&gt;&lt;/strong&gt; Send Ethereum Blockchain data to MongoDB. (Successful)&lt;/p&gt;
&lt;h3&gt;Step 3: Kafka&lt;/h3&gt;
&lt;p&gt;I now add Kafka to the pipeline. This was hard and deserves an entire post just for setting it up.&lt;/p&gt;
&lt;p&gt;Gist of it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kafka and Docker networking, setting up internal and external listener addresses.&lt;/li&gt;
&lt;li&gt;Setting up Kafka in &apos;Kraft&apos; mode so it doesn&apos;t require another software called &apos;Zookeeper&apos;.&lt;/li&gt;
&lt;li&gt;Interfacing with MongoDB requires a plugin for Kafka&lt;/li&gt;
&lt;li&gt;Resolving version conflicts between the plugin, kafka, and java installation (when building the docker image)&lt;/li&gt;
&lt;li&gt;and probably more that I can&apos;t remember...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the end I got it running.&lt;/p&gt;
&lt;h3&gt;Step 4: The OpenSEA API&lt;/h3&gt;
&lt;p&gt;After step 3 I realized that it&apos;s not really the blockchain metadata that I want. What I want is the NFT metadata.&lt;/p&gt;
&lt;p&gt;It wasn&apos;t all a waste though as it meant that I already had the infrastructure setup for MongoDB and Kafka, and it works. So I went to OpenSEA to see what API they have for me to tap on.&lt;/p&gt;
&lt;p&gt;I needed streaming data and found that I had to use the websocket API instead of the RESTful API. This means that I have to use javascript, and so I did.&lt;/p&gt;
&lt;p&gt;Setting up the node.js project and this is what I finished with.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;My measurable outcome:&lt;/em&gt;&lt;/strong&gt; Send OpenSEA NFT transaction data to Kafka. (Successful)&lt;/p&gt;
&lt;h3&gt;Step 5: Spark&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.reddit.com/r/dataengineering/comments/1guzqun/databricks_data_lineage_without_spark_but_polars/&quot;&gt;&quot;Spark is like killing a fly with a bazooka&quot; - Reddit User&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is even harder than Kafka to setup for a newbie. But yes, after hours of troubleshooting, prompt engineering, reddit/stackoverflow research, blog posts, hours of youtube tutorials... I got it working.&lt;/p&gt;
&lt;p&gt;Gist of it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixing version conflicts between the different distributions, licensing and plugins for Java, Scala and Spark.&lt;/li&gt;
&lt;li&gt;Building the three different docker images (Jupyter, Spark Master and Spark Worker).&lt;/li&gt;
&lt;li&gt;Setting up docker networking for the Spark Master and Workers.&lt;/li&gt;
&lt;li&gt;Getting the write config for the spark session.&lt;/li&gt;
&lt;li&gt;Handling json data and transforming the data types.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;My measurable outcome:&lt;/em&gt;&lt;/strong&gt; Extract streaming data from a Kafka topic, do minor transformation on the data, and publish to a different Kafka topic. (Successful)&lt;/p&gt;
&lt;h3&gt;Step 6: Understanding the state of Hadoop&lt;/h3&gt;
&lt;p&gt;It is while researching on Hadoop that I encountered the concept of a Data &apos;Lakehouse&apos;.&lt;/p&gt;
&lt;p&gt;Long story short, we only try to use Hadoop if we have our own servers AND are managing petabytes of data. There is also the open-source alternative which is MinIO.&lt;/p&gt;
&lt;p&gt;So instead of simulating a Hadoop cluster locally, I opted to use Azure Storage and Databricks. I will dive into this in a separate post.&lt;/p&gt;
&lt;p&gt;Gist of it:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://blog.jbrienweb.dev/media/wordpress/2024/11/240805-azure-lakehouse-diagram.jpg&quot; alt=&quot;Hybrid Azure data lakehouse diagram with bronze, silver, and gold storage, Databricks Spark jobs, Kafka, and a BI app&quot; /&gt;&lt;/figure&gt;
&lt;h2&gt;Post Conclusion&lt;/h2&gt;
&lt;p&gt;Rather than steps, the above were really leaps and each step easily deserves its own post. I am actually farther ahead than all these already so I&apos;m speeding the writing a bit.&lt;/p&gt;
&lt;p&gt;We continue our dive into the data engineering abyss in the next post.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</content:encoded></item><item><title>Moving from Github Pages to Cloudflare Pages</title><link>https://blog.jbrienweb.dev/posts/moving-from-github-pages-to-cloudflare-pages/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/moving-from-github-pages-to-cloudflare-pages/</guid><description>So, I decided to change my website host once again. The reason is because I want to make the github repo for my website private, for security and copyright&apos;s sake, for when I do…</description><pubDate>Sun, 24 Nov 2024 00:00:00 GMT</pubDate><content:encoded>
&lt;p&gt;So, I decided to change my website host once again.&lt;/p&gt;
&lt;p&gt;The reason is because I want to make the github repo for my website private, for security and copyright&apos;s sake, for when I do end up adding something that requires proper protection later.&lt;/p&gt;
&lt;p&gt;(Edit: Making the Github repo of a static website doesn&apos;t hide the code and its contents, but it is useful in other ways.)&lt;/p&gt;
&lt;p&gt;In the unpaid version of GitHub, you can&apos;t make a GitHub pages site for it if you make the repo private. You&apos;d have to pay a subscription to be able to do so.&lt;/p&gt;
&lt;p&gt;I never thought websites could &apos;move&apos; around the internet the same way one would move house, so this was a journey, an interesting literal one.&lt;/p&gt;
&lt;p&gt;The trip so far has been:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Moved from Hostinger to AWS EC2&lt;/li&gt;
&lt;li&gt;Moved from AWS EC2 to Github Pages&lt;/li&gt;
&lt;li&gt;Moved from Github Pages to Cloudflare Pages&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We&apos;ll see what happens next once I move to the next design iteration of my website~&lt;/p&gt;
&lt;p&gt;The tutorials I referred to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=O4jV8Zz2w9I&quot;&gt;Deploying from a Cloudflare Pages app from a GitHub repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=aRYt02Mgy90&quot;&gt;How To Deploy your website for FREE with Cloudflare Pages and use custom domain with Namecheap - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.namecheap.com/support/knowledgebase/article.aspx/9607/2210/how-to-set-up-dns-records-for-your-domain-in-a-cloudflare-account/&quot;&gt;How to set up DNS records for your domain in a Cloudflare account - Hosting - Namecheap.com&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;/p&gt;</content:encoded></item><item><title>What I think NFTs are for...</title><link>https://blog.jbrienweb.dev/posts/what-i-think-nfts-are-for/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/what-i-think-nfts-are-for/</guid><description>[Repost: This was first published in another blog on 28 Sep 2023.] I see NFTs as they are more popularly known as not much different from collectible items that have managed to…</description><pubDate>Mon, 07 Oct 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;[Repost: This was first published in another blog on 28 Sep 2023.]&lt;/p&gt;

&lt;p&gt;I see NFTs as they are more popularly known as not much different from collectible items that have managed to carve out their own niche in the collectibles marketplace.&lt;/p&gt;
&lt;p&gt;People consider it to have value, whether it is for the novelty of the medium, sense of innovation, or that it could be used as some sort of commodity to be traded and thus make money from.&lt;/p&gt;
&lt;p&gt;I see it really as no different from collector baseball caps; or collector shoes; or Starbucks mugs.&lt;/p&gt;
&lt;p&gt;Baseball caps have a use; Shoes have a use; Mugs also have a use; and so, NFTs also have a use. But these collector items are not useful in the same sense that NFTers oversell collectible NFTs as.&lt;/p&gt;
&lt;p&gt;The most useful form of NFTs right now are virtual tickets for events (I do hope they can find more uses for NFTs…)&lt;/p&gt;
&lt;p&gt;The Collectible NFT was born out of an invention that had the potential to disrupt a system where rich, powerful, and influential people dominated. So getting involved, owning, or creating an NFT granted many agencies of ability to stand toe toe-to-toe with these figures, even though most are really just doing sales and marketing.&lt;/p&gt;
&lt;p&gt;And so, I treat NFTs for what they are. A means to bring my work out to the public, while having some improved control over the intellectual ownership of it, and maybe make some pocket money out of it. Nothing more, nothing less. Cheers~&lt;/p&gt;</content:encoded></item><item><title>My First NFT</title><link>https://blog.jbrienweb.dev/posts/my-first-nft/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/my-first-nft/</guid><description>[Repost: This was first published in another blog on 28 Sep 2023.] This was a ride… To get an NFT minted required a lot of steps…: 1. Research a way to exchange Fiat currency for…</description><pubDate>Sun, 06 Oct 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;[Repost: This was first published in another blog on 28 Sep 2023.]&lt;/p&gt;

&lt;p&gt;This was a ride…&lt;br /&gt;To get an NFT minted required a lot of steps…:&lt;br /&gt;1. Research a way to exchange Fiat currency for Ethereum,&lt;br /&gt;2. Research which NFT marketplace to list your NFT on,&lt;br /&gt;3. Research whether to list your NFT priced in Ethereum or Polygon,&lt;br /&gt;4. Discover that you have to pay this thing called ‘gas’ and the price can fluctuate from $50 one moment to suddenly $200 an hour later…,&lt;br /&gt;5. Still not finished…&lt;/p&gt;
&lt;p&gt;6. Then once you’re ready to actually mint, realize that you can put ‘Traits’ and ‘Properties’ onto your NFT, so you research whether you need to add these things or not…&lt;br /&gt;7. Then you realize that if you just mint the highest resolution version of your art, someone can just copy the image, so you realize that you can create ‘unlockable content’,&lt;br /&gt;8. So you go through the hundreds of tutorials on youtube on how to host this ‘unlockable content’ online and discover ‘IPFS’ and upload into that…&lt;br /&gt;9. Then once you’ve settled down and be ready to mint your NFT, be overwhelmed at how other NFT creators create tens of thousands of NFTs for a single collection at once, and here you are uploading a singly humble cleaned up scan of your hand drawing,&lt;br /&gt;10. Once you’ve uploaded the file, inputted the description and properties, pasted the link of your unlockable content… finally… I got my first NFT.&lt;/p&gt;
&lt;p&gt;So… 10 steps. Your mileage may very~&lt;/p&gt;
&lt;p&gt;Also… link to this NFT collection of mine:&lt;br /&gt;&lt;a href=&quot;https://opensea.io/collection/jb-barcoma-sketchbook&quot;&gt;https://opensea.io/collection/jb-barcoma-sketchbook&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Learning Data Engineering</title><link>https://blog.jbrienweb.dev/posts/learning-data-engineering/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/learning-data-engineering/</guid><description>Something was bugging me… While working on my Coffee Vending Machine Business Analytics project, it really bugged me that it felt contrived and artificial. The reason being, I…</description><pubDate>Sat, 05 Oct 2024 00:00:00 GMT</pubDate><content:encoded>
&lt;h3&gt;Something was bugging me…&lt;/h3&gt;
&lt;p&gt;While working on my Coffee Vending Machine Business Analytics project, it really bugged me that it felt contrived and artificial. &lt;/p&gt;
&lt;p&gt;The reason being, I found the dataset while browsing through Kaggle, downloaded it, imported it into PowerBI and went my merry way doing data exploration. &lt;/p&gt;
&lt;p&gt;But I know it isn&apos;t that easy in the real world. &lt;/p&gt;
&lt;p&gt;I wanted to learn about the challenge of getting the raw data right from the source and automatically feeding it into PowerBI, Tableau or any other sources.&lt;/p&gt;
&lt;h3&gt;Idea&lt;/h3&gt;
&lt;p&gt;I was already working with transaction data from the vending machine so I looked at other datasets in Kaggle. These were my thoughts with what I found:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I could download a supply-chain data set, with different tables of transaction data of different warehouse. I can then do machine learning and optimization as an end goal. Pipeline-wise I just need to find a way to artificially re-stream the data somehow.&lt;/li&gt;
&lt;li&gt;I could just find a more-raw sales transaction data set, and &apos;re-stream&apos; the data somehow.&lt;br /&gt;After those two ideas, I quickly realized that the common theme was finding a way to &apos;re-stream&apos; the data. So I tried reading about it.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Looking at job listings for ideas&lt;/h3&gt;
&lt;p&gt;It would be painful to learn about a tool only to find out that no employer in the job market is looking for it. So browsed through some data analyst/data engineering job descriptions to look at the current tools.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://blog.jbrienweb.dev/media/wordpress/2024/10/pasted-image-20241005120325.png&quot; alt=&quot;Spreadsheet tallying technologies mentioned across data engineering job listings&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;The top data engineering tools were: Spark, Airflow, Databricks, Hadoop, MongoDB, DBT, Kafka, Snowflake, Talend, DataStage, AWS Redshift, AWS Glue and more…&lt;/p&gt;
&lt;p&gt;At this point I have no idea what most of these are, save for MongoDB and AWS.&lt;/p&gt;
&lt;p&gt;So to speed up my research, I did something…&lt;/p&gt;
&lt;h3&gt;ChatGPT&lt;/h3&gt;
&lt;p&gt;Instead of spending a full day opening 20+ tabs of google search results, I asked ChatGPT for the current industry standards and how to I can simulate one for myself.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://chatgpt.com/share/51783621-952a-49da-b181-2ab5891046a8&quot;&gt;Some of the prompts I started with in one particular chat: &lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&quot;Loading the transformed data into the data warehouse (Amazon Redshift/Google BigQuery/Snowflake) using Talend/AWS Glue. Which is compatible with which?&quot;&lt;/li&gt;
&lt;li&gt;&quot;What other database-ETL-warehouse tech stacks are there?&quot;&lt;/li&gt;
&lt;li&gt;&quot;I want to focus on Kafka, Spark, Hadoop, AWS Glue, Redshift, Snowflake, Redshift, Bigquery, Data bricks. Give stacks involving these and appropraite datasets/industries to process.&quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;and one of the answers:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://blog.jbrienweb.dev/media/wordpress/2024/10/pasted-image-20241005120632.png&quot; alt=&quot;ChatGPT suggestions for data engineering stacks using Kafka, Spark, Hadoop, AWS Glue, and Redshift&quot; /&gt;&lt;/figure&gt;
&lt;h3&gt;Aftermath of going down the Data Engineering rabbit hole&lt;/h3&gt;
&lt;p&gt;To get a handle of the black-hole of information ChatGPT threw at me, I tried visualizing them with Miro. Here are how my charts progressed:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://blog.jbrienweb.dev/media/wordpress/2024/10/pasted-image-20241005120923.png&quot; alt=&quot;Data pipeline diagram from Ethereum sources through Kafka, Spark, Hadoop, and Databricks to analysis tools&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Don&apos;t worry… I learned and enlightened myself… ver. 2:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://blog.jbrienweb.dev/media/wordpress/2024/10/pasted-image-20241005121035.png&quot; alt=&quot;Simplified data pipeline diagram from Ethereum and Alchemy through MongoDB, Kafka, Spark, Hadoop, and Doris to analysis tools&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I decided that I will just try to focus on the Tableau delivery out of the five possible.&lt;/p&gt;
&lt;h3&gt;Going to the local library (thanks NLB)&lt;/h3&gt;
&lt;p&gt;I got acquainted with &lt;a href=&quot;https://www.oreilly.com/library/view/fundamentals-of-data/9781098108298/#:~:text=Fundamentals%20of%20Data%20Engineering%201%201.%20Data%20Engineering,6.%20Storage%20Raw%20Ingredients%20of%20Data%20Storage%20&quot;&gt;&quot;The Fundamentals of Data Engineering&quot; by Joe Reis &amp;amp; Matt Housley (O&apos;Reilly)&lt;/a&gt;. &lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://blog.jbrienweb.dev/media/wordpress/2024/10/pasted-image-20241005121341.png&quot; alt=&quot;Cover of Fundamentals of Data Engineering by Joe Reis and Matt Housley&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;It is a great book and covers every data engineering concept to get started and to get advanced. Highly recommended.&lt;/p&gt;
&lt;h3&gt;To be continued…&lt;/h3&gt;
&lt;p&gt;This is not easy… &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.jbrienweb.dev/posts/learning-data-engineering-part-2-hooking-up-to-a-blockchain-api/&quot;&gt;(Link to Part 2)&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Solved: CI/CD to AWS EC2 with Github Actions</title><link>https://blog.jbrienweb.dev/posts/solved-ci-cd-to-aws-ec2-with-github-actions/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/solved-ci-cd-to-aws-ec2-with-github-actions/</guid><description>I&apos;ve finally gotten CI/CD setup with AWS EC2 for the second time, after doing the same with Hostinger. I followed this tutorial Hosting Your Resume on AWS EC2 with a CI/CD Setup…</description><pubDate>Sun, 10 Dec 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I&apos;ve finally gotten CI/CD setup with AWS EC2 for the second time, after doing the same with Hostinger.&lt;/p&gt;
&lt;p&gt;I followed this tutorial &lt;a href=&quot;https://www.youtube.com/watch?v=YBjrZZMXNe8&quot;&gt;Hosting Your Resume on AWS EC2 with a CI/CD Setup Using GitHub Actions | AWS Project Demo&lt;/a&gt; and got it working.&lt;/p&gt;
&lt;p&gt;I wasn&apos;t sure why it wasn&apos;t working before the first few weeks of my time with AWS, but got it to work now.&lt;/p&gt;
&lt;p&gt;The exact steps I did to get this to work was:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create another EC2 instance to experiment on.&lt;/li&gt;
&lt;li&gt;Create a dummy website and github repository to push to the EC2 instance.&lt;/li&gt;
&lt;li&gt;Followed the youtube tutorial, keyed in the github secrets, worked out the yml file and tested it. Worked on the first try, so tutorial instructions were good.&lt;/li&gt;
&lt;li&gt;Next, applied the same methodology to the first EC2 instance that my active website is on.&lt;/li&gt;
&lt;li&gt;After some tweaks to the linux command scripts in the yml file, I got it to work.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Next task is to docker-ize the website, or the ML apps that I&apos;ve yet to deploy to the server.&lt;/p&gt;</content:encoded></item><item><title>Solved: Linking a Namecheap domain to an AWS EC2 Instance</title><link>https://blog.jbrienweb.dev/posts/solved-linking-a-namecheap-domain-to-an-aws-ec2-instance/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/solved-linking-a-namecheap-domain-to-an-aws-ec2-instance/</guid><description>The issue was that my website (jbrienweb.dev), being a .DEV website, HAS to have HTTPS, which means installing SSL certificates on my EC2 server. To get that information, I…</description><pubDate>Fri, 08 Dec 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The issue was that my website (jbrienweb.dev), being a .DEV website, HAS to have HTTPS, which means installing SSL certificates on my EC2 server.&lt;/p&gt;
&lt;p&gt;To get that information, I contacted Namecheap customer support, where they informed me of the above requirement. Thanks Namecheap, response was quick (within a couple of hours).&lt;/p&gt;
&lt;p&gt;So I followed the last few minutes of this tutorial: &lt;a href=&quot;https://www.youtube.com/watch?v=8Uofkq718n8&quot;&gt;https://www.youtube.com/watch?v=8Uofkq718n8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Installed SSL certificates with Certbot; got more help from ChatGPT and used :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apache2ctl configtest&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To troubleshoot root directory issues and voila, finally got my website to work with a Namecheap domain name.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</content:encoded></item><item><title>Moving from Hostinger to AWS EC2 with a Namecheap domain name</title><link>https://blog.jbrienweb.dev/posts/moving-from-hostinger-to-aws-ec2-with-a-namecheap-domain-name/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/moving-from-hostinger-to-aws-ec2-with-a-namecheap-domain-name/</guid><description>I started hosting my web development practice site on Hostinger, with a domain name bought from Namecheap, following a &apos;reddit tip&apos; that I read to not buy a domain name and host…</description><pubDate>Thu, 16 Nov 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I started hosting my web development practice site on Hostinger, with a domain name bought from Namecheap, following a &apos;reddit tip&apos; that I read to not buy a domain name and host the website with the same company.&lt;/p&gt;
&lt;p&gt;Exploring this topic of web development and hosting even more, I discovered that I may want more funcitonality with my website. &lt;/p&gt;
&lt;p&gt;I just learned what it means to be a &apos;Back-end&apos; developer vs a cloud developer/engineer: Back-end still deals with the code that you write on your IDE, but more towards managing the flow of data between the server and interface, say the comments on a comment box being collated in a database when you click the &apos;submit button&apos;.&lt;/p&gt;
&lt;p&gt;A cloud developer deals with the monster called &apos;Amazon Web Service (AWS)&apos;, which is actually more of an umbrella term for a bunch of products and services, rather than a single product. &lt;/p&gt;
&lt;p&gt;AWS to the cloud industry is what Autodesk is to the CAD industry: with Autodesk you have Revit, Fusion 360, Maya, 3DS Max, Navisworks, etc... basically product names which don&apos;t tell you what they can do for you, so you have to read up on them to find out what they do. I&apos;m not going to cover what products AWS offers, because it is huge and confusing, but I will talk about the Elastic Compute Cloud (EC2).&lt;/p&gt;
&lt;p&gt;Amazon Web Service Elastic Compute CLoud (AWS EC2)&lt;/p&gt;
&lt;p&gt;This is basically a virtual machine, which in other words is a computer virtually created by Amazon in their data centres, the screen/terminal of which you can access from tyour web browser. When you create the &apos;instance&apos; which is what each virtual computer is called, you can specify whether it should install a Linux system, a Windows system, and many others. &lt;/p&gt;
&lt;p&gt;Following the typical youtube tutorial (there are many of them), and chatgpt answers, I went with Ubuntu with Apache2.&lt;/p&gt;
&lt;p&gt;There are other services like Lightsail, S3, Bucket, but I felt that EC2 would allow me to expand, since it literally is a computer of its own, and I can install whatever software the linux OS allows me to install. This makes way for opportunity to do fancy over-engineered stuff with my practice website like Machine Learning apps, heavy animations, games, etc...&lt;/p&gt;
&lt;p&gt;Hostinger&lt;/p&gt;
&lt;p&gt;I made the mistake of subscribing for 4 years, paying up front about USD 180, which is &apos;relatively&apos; cheap, but also &apos;relatively&apos; expensive if you consider that you could be paying zero dollars, and I felt that I may outgrow it within a year. Thankfully Hostinger allows you to apply for refund within 30 days from making a purchase. I will still consider Hostinger for simpler, lighter static websites that I may need in the future, since a full blown linux machine is a bit overkill if I just want to host a blog, the complexity is just as such:&lt;/p&gt;
&lt;p&gt;Setting up AWS EC2 for Github auto-deployment&lt;/p&gt;
&lt;p&gt;Is a pain in the ***e. &lt;/p&gt;
&lt;p&gt;With hostinger I just need to copy a bunch of lines to github and hostinger, allow webhook, and done.&lt;/p&gt;
&lt;p&gt;First, you have to create the virtual machine &apos;instance&apos;, which have a lot of options. Choose operating system, setup the firewall (if you mess up, you won&apos;t know if it&apos;s the initial setup that is the problem, or a config file in the pc, or your domain name, etc).&lt;/p&gt;
&lt;p&gt;Second, you have to install and configure the Apache2 server software. You have folder structure and config files that you have to manually create yourself.&lt;/p&gt;
&lt;p&gt;Third, get your website files into the EC2 instance. &lt;/p&gt;
&lt;p&gt;If you want to do it via github, you need to use this thing called &apos;Github Actions&apos;, which is a rabbit hole in itself. Then you have to play with SSH Key Pairs, which are basically a pair of codes that you have to key in to github and make sure is in your EC2 instance as well otherwise EC2 will not allow github to connect.&lt;/p&gt;
&lt;p&gt;If you firewall settings is wrong, this will fail; if your Apache2 config is wrong, this will fail; if your Github/EC2 key pairs are wrong, this will fail; if yoru Github Actions setup is wrong, this will fail. My setup is still failing, so for now I just cloned the github repo manually from the EC2 instance itself, and moved it to the proper location.&lt;/p&gt;
&lt;p&gt;Pointing the Namecheap domain name to the AWS EC2 server&lt;/p&gt;
&lt;p&gt;There are a couple of ways to do this as well.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Copy the public IP address of the EC2 instance and go to the advance DNS setting of the namecheap domain, paste it in for a &apos;DNS Type A record&apos;, or:&lt;/li&gt;
&lt;li&gt;Setup a &apos;hosting zone&apos; in another AWS service/product called Route 53, which is basically just AWS&apos; version of their own Hostinger or Namecheap daomin/hosting service. Then, this hosting zone will give you the nameserver address, which you add onto the namecheap domain settings.&lt;/li&gt;
&lt;li&gt;Just create a new domain name with Route 53.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Three options: one involves one service, next only involves two services, another involves three. I don&apos;t know the pros and cons, but one thing I do know is that I still can&apos;t connect to my website via the domain name. But it&apos;s only been less than 48hrs, which according to dnslookup, the internet and chatgpt, is about the time needed for the DNS to &apos;propagate&apos;. So I&apos;ll wait 2 days and check again. In the meantime, my website can still be viewed via the Public IP address of the EC2 instance, so it&apos;s what I&apos;m sharing right now.&lt;/p&gt;
&lt;p&gt;The end~&lt;/p&gt;</content:encoded></item><item><title>Web Hosting &amp; Web Development</title><link>https://blog.jbrienweb.dev/posts/web-hosting-web-development/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/web-hosting-web-development/</guid><description>It all started with NetworkChuck, the &apos;Coffee.Hacking.Tech&apos; youtuber. I think it was me wanting to try out virtual machines since I&apos;ve been curious about dual-booting operating…</description><pubDate>Sun, 12 Nov 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;It all started with NetworkChuck, the &apos;Coffee.Hacking.Tech&apos; youtuber. &lt;/p&gt;
&lt;p&gt;I think it was me wanting to try out virtual machines since I&apos;ve been curious about dual-booting operating systems, and isolating or compartmentalizing my pc, since from the age of 12 I&apos;ve been torrenting all sorts of stuff. &lt;/p&gt;
&lt;p&gt;Well, I&apos;ve never had my PC infected despite that, even though I was only using Windows Defender (I got sick with the Norton Anti-Virus pop-ups, iykyk).&lt;/p&gt;
&lt;p&gt;Ah yes sorry for the tangent, here&apos;s his video about creating your own website: &lt;a href=&quot;https://www.youtube.com/watch?v=gwUz3E9AW0w&quot;&gt;You need a website RIGHT NOW!! (create a website for FREE)&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Attempt #1: Wordpress&lt;/p&gt;
&lt;p&gt;I mean it&apos;s good: free domain names, free hosting; but I wanted to do more things than just blog and build a portfolio, and even the website has some quirks...&lt;/p&gt;
&lt;p&gt;For some styles, you are going to have to pay, like getting a black background colour for your website for example... So if I&apos;m going to have to pay, might as well pay for a proper domain and website.&lt;/p&gt;
&lt;p&gt;It was a good place to start things for free, and you get a taste of the kind of work flow and effort that you need to get a bunch of webpages together.&lt;/p&gt;
&lt;p&gt;Attempt #1 product (1 out of 5 odd webpages I fumbled around with): &lt;br /&gt;&lt;a href=&quot;https://jbtest69.wordpress.com/&quot;&gt;jbtest69.wordpress.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Attempt #2: Github&lt;/p&gt;
&lt;p&gt;I&apos;ve been doing Angela Yu&apos;s Web Development Bootcamp on Udemy, sponsord by Singapore&apos;s National Library Board.&lt;/p&gt;
&lt;p&gt;Attempt #2 product: &lt;br /&gt;&lt;a href=&quot;https://jbgithub22.github.io/jbrienwebdev/&quot;&gt;jbgithub22.github.io/jbrienwebdev/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Attempt #3: Hostinger&lt;/p&gt;
&lt;p&gt;Recommended by NetworkChuck, so I went ahead with it.&lt;/p&gt;
&lt;p&gt;Paid for a 4 year package, which is about USD 180... &lt;a href=&quot;https://www.reddit.com/r/webhosting/comments/cx15m5/if_i_were_to_buy_a_domain_from_namecheap_should_i/&quot;&gt;but then I read in reddit that having your domain name and hosting at the same company isn&apos;t as good as an idea as it seems to be. &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Attempt #3 product: &lt;br /&gt;&lt;a href=&quot;http://cezarbarcoma.net&quot;&gt;cezarbarcoma.net&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Attempt #4: Namecheap + Hostinger&lt;/p&gt;
&lt;p&gt;So I went to Namecheap, and tried to register &apos;jbrienwebdev&apos;. It suggested &apos;jbrienweb.dev&apos; which I thought was cool, so I bought it. It was about $15/year.&lt;/p&gt;
&lt;p&gt;I could have bought a domain in Hostinger for 0.99cents/year, but then it renews to $50++ the year after, so nah.&lt;/p&gt;
&lt;p&gt;Attempt #4 product:&lt;br /&gt;&lt;a href=&quot;http://jbrienweb.dev&quot;&gt;jbrienweb.dev&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Attempt #5: Namecheap + Hostinger + Github&lt;/p&gt;
&lt;p&gt;I haven&apos;t actually tried this, since I&apos;m still going through Angela Yu&apos;s course. I&apos;ll update this some time later.&lt;/p&gt;
&lt;p&gt;Attempt #6: Namecheap + Hostinger + Github + Wordpress&lt;/p&gt;
&lt;p&gt;I wasn&apos;t intending to write about Attempt 5 and 6, but while watching &lt;a href=&quot;https://www.youtube.com/watch?v=S2GfjaTbJa4&quot;&gt;Programming Is NOT Enough | Add these 7 skills…&lt;/a&gt;, I thought... It should be possible to use github to update the files on the host right? I guess that&apos;s basic... Then I though... what if I could combine everything that I&apos;ve writtent about so far into Attempt #6, and lo and behold you can: &lt;a href=&quot;https://www.hostinger.com/tutorials/wordpress-github&quot;&gt;WordPress GitHub: How to Incorporate and Use GitHub for Better Website Development&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Hello World</title><link>https://blog.jbrienweb.dev/posts/hello-world-2/</link><guid isPermaLink="true">https://blog.jbrienweb.dev/posts/hello-world-2/</guid><description>Let&apos;s get the cliche out of the way. I don&apos;t know how many draft wordpress websites I&apos;ve done now at this point. A quick glance to a new tab shows 5 wordpress websites, including…</description><pubDate>Tue, 31 Oct 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Let&apos;s get the cliche out of the way.&lt;/p&gt;
&lt;p&gt;I don&apos;t know how many draft wordpress websites I&apos;ve done now at this point. A quick glance to a new tab shows 5 wordpress websites, including a test website that wordpress suggested me to name as &apos;jbtest69.wordpress.com&apos;, which is as nice and simple as it gets.&lt;/p&gt;
&lt;p&gt;So what&apos;s going to be in this little nook of the internet:::::&lt;/p&gt;
&lt;p&gt;Servers and Homelab&lt;/p&gt;
&lt;p&gt;I just got to building my first DIY RAID 6 NAS using TrueNAS. My first PC build was a Intel Xeon E3-1245v2 CPU on an Asrock H77 Pro4/MVP motherboard, inside a Fractal Design case (probably the first gen). This was in 2012, built for my &apos;Architectural Career&apos; as an 18 year old. This is the system that I&apos;m using for the NAS.&lt;/p&gt;
&lt;p&gt;After that I moved to a Threadripper 1950x, just a couple of months after release. On an Asrock X399 taichi with 4 PCIE slots, because you know, &apos;future-proofing&apos;. 6 years later only a 1070 occupies one slot still. This I&apos;ll turn into a Proxmox server. I think there&apos;s opportunity to use this as an ML machine. Just waiting for a few more GPUs to land on my lap... and also actually get started training models...&lt;/p&gt;
&lt;p&gt;The 3rd and current gen PC that I&apos;m using is on an AMD 5950X. Main purpose is to run Minecraft. For games. I also play the highest fidelity and most graphically intense version of DICE&apos;s Battlefield, the indie game called Battlebit /s. At all other times I play Factorio.&lt;/p&gt;
&lt;p&gt;But seriously though, I need to start using those cores.&lt;/p&gt;
&lt;p&gt;Coding&lt;/p&gt;
&lt;p&gt;As of writing, I am many things. A guy on career break; a guy not working; unemployed; traveller; and whatnot. But a person I met at a night out drinking advised me to present myself as a &apos;Part-Time Master of Data Science Student&apos; and so that&apos;s what I shall be calling myself.&lt;/p&gt;
&lt;p&gt;So I&apos;ll also be putting up some python code, maybe some R, arduino and rpi sketches, because I have a ton of unfinished IOT projects. So stay tuned~&lt;/p&gt;
&lt;p&gt;Robotics&lt;/p&gt;
&lt;p&gt;A remnant of my uni days. I actually think it has potential. I&apos;m talking about my 2-wheeled table cleaning robot. This is a medium for so many things. Coding, Computer Vision, Mech &amp;amp; Elec Engineering, ML and so on. I&apos;ve got to set up my 3D printer first.&lt;/p&gt;
&lt;p&gt;Closing&lt;/p&gt;
&lt;p&gt;I&apos;m going Bali day after tomorrow this post is published. So we&apos;ll see how things go after that. Ciao~&lt;/p&gt;</content:encoded></item></channel></rss>