<?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: Fernando B 🚀</title>
    <description>The latest articles on DEV Community by Fernando B 🚀 (@thefern).</description>
    <link>https://dev.to/thefern</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%2F109213%2F7121ca63-7bc4-4d54-84f4-fe43a9e88eac.png</url>
      <title>DEV Community: Fernando B 🚀</title>
      <link>https://dev.to/thefern</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thefern"/>
    <language>en</language>
    <item>
      <title>I'm done building things nobody wants — here's my new approach</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Thu, 05 Mar 2026 19:29:22 +0000</pubDate>
      <link>https://dev.to/thefern/im-done-building-things-nobody-wants-heres-my-new-approach-1dj6</link>
      <guid>https://dev.to/thefern/im-done-building-things-nobody-wants-heres-my-new-approach-1dj6</guid>
      <description>&lt;p&gt;tl;dr: &lt;a href="https://hatchd-validation.vercel.app" rel="noopener noreferrer"&gt;https://hatchd-validation.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I keep building projects nobody wants. So this time I'm doing it backwards.&lt;/p&gt;

&lt;p&gt;The problem: You have an idea, you build, buy domain, spend weeks, months, no one shows up.&lt;/p&gt;

&lt;p&gt;The idea: A profile page where you list all your project ideas. People can signal interest, and you collect emails — before you build anything. With hatchd, you wouldn't need to spin up a validation page in vercel, or other hosting platform.&lt;/p&gt;

&lt;p&gt;Think Linktree, but for your side projects. One link to share everywhere.&lt;/p&gt;

&lt;p&gt;Why not just use Product Hunt?&lt;br&gt;
PH is for launched products. This is for ideas you haven't built yet.&lt;br&gt;
It's your personal page, not a marketplace where you compete in a feed.&lt;br&gt;
No reviews or pressure to be polished — just "I'd use this" signals.&lt;/p&gt;

&lt;p&gt;Why not Gumroad or a landing page builder?&lt;br&gt;
Those are for selling. This is for validating what's worth building first.&lt;br&gt;
One page holds all your ideas together, not scattered across platforms.&lt;br&gt;
I threw up a validation page to see if anyone else has this problem: &lt;a href="https://hatchd-validation.vercel.app/" rel="noopener noreferrer"&gt;https://hatchd-validation.vercel.app/&lt;/a&gt;&lt;br&gt;
If this sounds useful, vote on it, join waitlist. If it's not, tell me why.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>startup</category>
    </item>
    <item>
      <title>Pomodoro Timer Clone CSS and HTML</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Fri, 20 Aug 2021 21:14:48 +0000</pubDate>
      <link>https://dev.to/thefern/pomodoro-timer-clone-css-and-html-50b9</link>
      <guid>https://dev.to/thefern/pomodoro-timer-clone-css-and-html-50b9</guid>
      <description>&lt;p&gt;I was always afraid of delving into css, and html for some reason. Recently I been working on a personal project, and just decided to give it a go. Reading css, and html documentation on the go. That spawn off a quick challenge, and see if I could recreate my favorite pomodoro timer &lt;a href="https://pomofocus.io/" rel="noopener noreferrer"&gt;https://pomofocus.io/&lt;/a&gt;. I am sure there are many rookie mistakes on my css, but hey it looks pretty good.&lt;/p&gt;

&lt;p&gt;I will be hooking up js in the next few days.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/TheFern2/pomodoro-js" rel="noopener noreferrer"&gt;https://github.com/TheFern2/pomodoro-js&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fzz68s393tt726h9ng9l8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fzz68s393tt726h9ng9l8.png" alt="pomodoro clone"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open to feedback and criticism. All my css knowledge is based off basic css/html freecodecamp, and Traversy Media tutorials.&lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
      <category>web</category>
    </item>
    <item>
      <title>If you're a sysadmin, I'd like to get your feedback.</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Mon, 05 Apr 2021 19:26:44 +0000</pubDate>
      <link>https://dev.to/thefern/if-you-re-a-sysadmin-i-d-like-to-get-your-feedback-27db</link>
      <guid>https://dev.to/thefern/if-you-re-a-sysadmin-i-d-like-to-get-your-feedback-27db</guid>
      <description>&lt;p&gt;Are there any Windows/Linux Server System Admins here on Dev.to? I created this unit testing framework a while back, and I wonder if other folks would benefit from it. We have found it extremely useful at my company. Any feedback I would be interested to hear about it. &lt;/p&gt;

&lt;p&gt;For context I do QC in the Automation department and I created this from scratch to do quicker testing iterations and avoid human error in manual testing. I think there are other venues like DSC &lt;a href="https://docs.microsoft.com/en-us/powershell/scripting/dsc/overview/overview?view=powershell-7.1"&gt;https://docs.microsoft.com/en-us/powershell/scripting/dsc/overview/overview?view=powershell-7.1&lt;/a&gt;, but I am not sure if it lives up to my framework which can be extended to test just about anything.&lt;/p&gt;

&lt;p&gt;We unit test 30+ VMs in esxi, most of them are Windows Server VMs, but my framework can also test Linux configuration as long as powershell is installed on the Linux VM.&lt;/p&gt;

&lt;p&gt;Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Modular&lt;/li&gt;
&lt;li&gt;Unit tests configurable with json files&lt;/li&gt;
&lt;li&gt;Hard to configure tests, can be done with powershell scripts&lt;/li&gt;
&lt;li&gt;Nunit xml reports&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://github.com/TheFern2/ReadyServer"&gt;https://github.com/TheFern2/ReadyServer&lt;/a&gt;&lt;/p&gt;

</description>
      <category>feedback</category>
      <category>sysadmin</category>
      <category>powershell</category>
    </item>
    <item>
      <title>WSL2 plus Virtual Machines on Windows 10</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Fri, 26 Feb 2021 16:43:16 +0000</pubDate>
      <link>https://dev.to/thefern/wsl2-plus-virtual-machines-on-windows-10-37ao</link>
      <guid>https://dev.to/thefern/wsl2-plus-virtual-machines-on-windows-10-37ao</guid>
      <description>&lt;p&gt;In this post I go over some of the issues you might be running into if you run WSL2 on windows and have used VirtualBox or VMWare for virtualization.&lt;/p&gt;

&lt;p&gt;Plenty of people like WSL, you get a nice Linux layer inside windows and can get native linux tools and test code deployments all within one machine, it also blends nicely within windows explorer and the new windows terminal. However WSL2 uses some windows features which causes other third party virtualization programs to stop working I am talking mainly about Virtualbox and VMware.&lt;/p&gt;

&lt;p&gt;Before you say anything about why use virtualization if you have WSL, these are really two different technologies. Personally I've built a few Windows VMs with simulators needed for my job, these are things that I can't run on linux containers. So yes, there is a need for all these technologies to coexist without having to run scripts or some cumbersome way of turning on/off one or the other.&lt;/p&gt;

&lt;p&gt;For me the solution was to start using Hyper-V Manager for creating virtual machines.&lt;/p&gt;

&lt;p&gt;Now if you're like me and have tons of already created virtual boxes, then you might want to look at conversion guides like this one &lt;a href="https://www.groovypost.com/howto/migrate-virtual-box-vms-windows-10-hyper-v/" rel="noopener noreferrer"&gt;https://www.groovypost.com/howto/migrate-virtual-box-vms-windows-10-hyper-v/&lt;/a&gt;. Please note migrations are always painful, now I had left my VM paused on vbox, and I don't know if that caused my failure when importing disk on hyper-v but I didn't feel like reverting the whole process to get vbox working and convert disk again. I instead just created a new Win7 VM which then I installed a few things needed for my simulator.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enabling all Hyper-V features
&lt;/h2&gt;

&lt;p&gt;WSL uses hyper-v in the background, but the full features are not enabled by default, check all options under Hyper-V, and reboot machine. After reboot launch Hyper-V Manager and voila, try creating a quick VM with an iso, if you are running into issues on boot use Generation 1 option.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F0we3f6cq56xukhq506gy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F0we3f6cq56xukhq506gy.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Everyone is happy
&lt;/h2&gt;

&lt;p&gt;WLS2, Virtual Machines, and Docker also works. This way you don't sacrifice one or the other.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Firxd1hmbylduk3ty0bfr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Firxd1hmbylduk3ty0bfr.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>wsl</category>
      <category>docker</category>
      <category>virtualbox</category>
    </item>
    <item>
      <title>Windows Terminal Icons Package</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Fri, 12 Feb 2021 15:02:52 +0000</pubDate>
      <link>https://dev.to/thefern/windows-terminal-icons-package-3hid</link>
      <guid>https://dev.to/thefern/windows-terminal-icons-package-3hid</guid>
      <description>&lt;p&gt;I use Windows 10 at work, and even though I work in several linux environments at work and use linux at home, Windows has been doing some great things lately. I've switched completely from using Cmder to Windows Terminal. One thing I dislike is that it doesn't come with icons for the user to use when building profiles. You can see such discussion below, and push back from an actual MS employee below which was voted down to oblivion.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/microsoft/terminal/issues/1918" rel="noopener noreferrer"&gt;https://github.com/microsoft/terminal/issues/1918&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I decided to put some icons together, I think some need higher resolution, but is a good start for anyone without spending too much time looking for all the icons.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/TheFern2/windows-terminal-icons" rel="noopener noreferrer"&gt;https://github.com/TheFern2/windows-terminal-icons&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lemme know what you think, and please feel free to submit new icons with a PR.&lt;/p&gt;

&lt;p&gt;Below is a profile example, I use powershell to generate a new guid. &lt;code&gt;New-Guid&lt;/code&gt;, and then use that in the json.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

PS D:\git\windows-terminal-icons&amp;gt; New-Guid

Guid
----
7c0578d1-35f0-46b5-972c-70b2293cff2c


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

{
    "guid": "{7c0578d1-35f0-46b5-972c-70b2293cff2c}",
    "hidden": false,
    "name": "Redis-Api",
    "commandline": "ssh fernandob@192.168.1.3",
    "icon": "C:/Path/To/Icons/WindowsTerminal/ubuntu.png"
},


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fh9y4jdq27ljp7er9r9ia.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fh9y4jdq27ljp7er9r9ia.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>terminal</category>
      <category>windows</category>
      <category>icons</category>
    </item>
    <item>
      <title>Project with mixed NPM and YARN use</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Tue, 29 Dec 2020 12:32:01 +0000</pubDate>
      <link>https://dev.to/thefern/project-with-mixed-npm-and-yarn-use-4le7</link>
      <guid>https://dev.to/thefern/project-with-mixed-npm-and-yarn-use-4le7</guid>
      <description>&lt;p&gt;I contribute to a project where users use both NPM, and YARN. NPM generates package-lock.json, and yarn generates yarn-lock.json both use package.json.&lt;/p&gt;

&lt;p&gt;I know that yarn import can be used to use package-lock.json, but then if there's a dependency installed with yarn, then there is no way to update package-lock.json from yarn as far as I know.&lt;/p&gt;

&lt;p&gt;So in other words if a PR uses NPM, yarn-lock won't be up to date, and if a PR uses Yarn, package-lock won't be up to date. Then if another later PR comes in those lock files will come in as if they changed when in reality they weren't updated previously just because the previous sentence statement.&lt;/p&gt;

&lt;p&gt;I don't like to use "best practice", because is all relative to each person experience, but do anyone has any tips in this scenario. Is it best just to not commit both lock files? Is there another system that works best, or is it just best to force users to use yarn or npm? I think users should just use whatever they want.&lt;/p&gt;

</description>
      <category>help</category>
      <category>yarn</category>
      <category>npm</category>
    </item>
    <item>
      <title>Roman Numeral Converter</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Thu, 19 Nov 2020 21:11:16 +0000</pubDate>
      <link>https://dev.to/thefern/roman-numeral-converter-3l11</link>
      <guid>https://dev.to/thefern/roman-numeral-converter-3l11</guid>
      <description>&lt;p&gt;Who doesn't like roman numerals, am I right? Have you ever been stuck in a place with roman numeral clocks? This is a nice programming challenge that involves using lists or arrays to store the letters/values. You could also use a switch or a literal object.&lt;/p&gt;

&lt;p&gt;The conversion is actually quite easy once you understand the algorithm.&lt;/p&gt;

&lt;p&gt;The secret sauce here are two arrays, you can do it with one and use objects. The secret is to add 1, 4, 5, 9 combinations from 1 to 1000, numbers after 4000 in roman numerals are not that common, so this is focusing only on 1 through 3,999. Either way this is how they look:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const nums = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
const romanLetters = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"];
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's take &lt;code&gt;48&lt;/code&gt; for example.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Iterate through nums until you find a number that 48 is divisable by. i.e. 48 / 40 = 1.2, so this corresponds to index 7 = XL. We only care about Math.Floor(1.2) = 1, 1 is how many times we loop&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Inside our loop:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Append the value of index 7 to romanNum string = XL&lt;/li&gt;
&lt;li&gt;Subtract 40 from 48 which give us 8&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Repeat steps until the previous subtraction result is 1&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Because the way nums is setup, the division result will always be 0-3 and that's great because roman numerals can only be used three times in a row.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I will finish just so you see how it would work. The above steps are the core of the algorithm.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find what can divide 8, in this case 5. 8/5 = 1.6, or better yet 1. This is index 10 = V.&lt;/li&gt;
&lt;li&gt;We loop one time

&lt;ul&gt;
&lt;li&gt;Append the value of index 10 to romanNum string = XLV&lt;/li&gt;
&lt;li&gt;Subtract 5 from 8 which give us 3&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Last round we're almost there:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;3 is divisable by 1, 3/1 = 3, index = 12 = I&lt;/li&gt;
&lt;li&gt;We loop 3 times

&lt;ul&gt;
&lt;li&gt;Append the value of index 12 to romanNum string = XLVI&lt;/li&gt;
&lt;li&gt;Subtract 1 from 3 which give us 2&lt;/li&gt;
&lt;li&gt;Go back to step 2 until we get to 1, and in the end romanNum string will look like this XLVIII. Don't take my word try it below!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/thefern2/embed/wvWbmKp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I hope you enjoyed this programming challenge, let me know how you would have done it, or optimized it. Thanks for reading!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Recursion is Recursion is Recursion...</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Wed, 18 Nov 2020 01:52:10 +0000</pubDate>
      <link>https://dev.to/thefern/recursion-is-recursion-is-recursion-4c3b</link>
      <guid>https://dev.to/thefern/recursion-is-recursion-is-recursion-4c3b</guid>
      <description>&lt;p&gt;I took on the challenge of completing freecodecamp curriculum just to see the extent of my self-taught learning over the years, and is going well so far. Never did it occurred to me that I rarely use recursion functions, because well is easier to do a forloop. I tried to learn recursion before and the problem was that most people teaching start with the factorial example or some other complicated example. Mixing a math principle with a new programming principle isn't the best choice and sometimes is better to start with an easier example.&lt;/p&gt;

&lt;p&gt;Credit: Freecodecamp Basic Javascript&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/thefern2/embed/NWrmjQB?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What is recursion?
&lt;/h2&gt;

&lt;p&gt;Recursion is when a function calls itself over and over until it hits the base case(s). A recursive function needs an exit statement, otherwise known as the base case because is the last time the recursive function gets called before returning the result. Another thing to be aware is that variables need to be passed down on each recursion, unlike in loops where you can keep track with local variables.&lt;/p&gt;

&lt;p&gt;A recursive function works well with things that are normally done in a loop where there is a computation that is stepping up or down.&lt;/p&gt;

&lt;p&gt;A few other examples of recursive functions are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Factorial"&gt;factorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Fibonacci"&gt;fibonacci&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Minimax"&gt;minimax&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for reading, and I hope you learned something today!&lt;/p&gt;

</description>
      <category>recursion</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Gutenberg: My First Extension ever for printing markdown books in VSCode</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Wed, 21 Oct 2020 14:00:14 +0000</pubDate>
      <link>https://dev.to/thefern/gutenberg-my-first-extension-ever-for-printing-markdown-books-in-vscode-31j4</link>
      <guid>https://dev.to/thefern/gutenberg-my-first-extension-ever-for-printing-markdown-books-in-vscode-31j4</guid>
      <description>&lt;p&gt;Is fair to say that many people like markdown for documentation, and technical writing, github, and even right now I am writing markdown for this post, [insert recursion joke here]. For me it clears the mind, and lets you focus on writing, and not focus on formatting like some other programs such as Word do.&lt;/p&gt;

&lt;p&gt;I had written a &lt;a href="https://github.com/TheFern2/markdown-book"&gt;markdown-book script&lt;/a&gt; for a book I am writing, and is awesome, but I wanted to take it one step further.&lt;/p&gt;

&lt;p&gt;I must say I started working on this, just to see what it takes to make an extension, there might be something like it already but most of the extensions I came across were for single files. Nevertheless it was an awesome experience to extend vscode functionality, and learn the whole process of making an extension in JS which is out of my comfort zone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=TheFern.vscode-gutenberg"&gt;Marketplace Gutenberg&lt;/a&gt; can print a book and single files, much like the Gutenberg printing press could back in the good 'ole days. It can be configured to take more arguments if you are an experienced pandoc/latex user, and it can output just about anything that pandoc supports. I mainly tested with markdown(md) input, and pdf/docx/html output.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/TheFern2/vscode-gutenberg"&gt;Full Repo Gutenberg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know what you think, and try it out if you can, feedback is welcomed. If you use a Mac and have pandoc and latex or miktex installed please let me know how it went as I don't have a mac to test it on.&lt;/p&gt;

&lt;p&gt;PS: Btw I had never written an extension for anything before, but I must say that vscode api documentation is great.&lt;/p&gt;

&lt;p&gt;Resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/api/get-started/your-first-extension"&gt;https://code.visualstudio.com/api/get-started/your-first-extension&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/api/references/vscode-api"&gt;https://code.visualstudio.com/api/references/vscode-api&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/api/working-with-extensions/publishing-extension"&gt;https://code.visualstudio.com/api/working-with-extensions/publishing-extension&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>vscode</category>
      <category>gutenberg</category>
      <category>markdown</category>
    </item>
    <item>
      <title>ServerLab a Server Unit Testing Framework OSS</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Wed, 14 Oct 2020 14:21:41 +0000</pubDate>
      <link>https://dev.to/thefern/serverlab-a-server-unit-testing-framework-oss-2g63</link>
      <guid>https://dev.to/thefern/serverlab-a-server-unit-testing-framework-oss-2g63</guid>
      <description>&lt;p&gt;Photo: The tool was called TS_Images internally due to our naming conventions. I changed the name to something more suitable, but most of the file naming convention stayed the same.&lt;/p&gt;

&lt;p&gt;On my way to work listening to the &lt;a href="https://changelog.com/podcast/415"&gt;Changelog Podcast&lt;/a&gt; I learned how spotify open sources some of their internal tools to benefit the world. I've been meaning to do the same with &lt;code&gt;ServerLab&lt;/code&gt; a tool I built for unit testing server images but had gotten lazy until now. Knowing that my tool could help people push me over the edge to publish it as open source.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/kodaman2/ServerLab"&gt;https://github.com/kodaman2/ServerLab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's some &lt;a href="https://github.com/kodaman2/ServerLab/blob/main/Docs/Background.md"&gt;background&lt;/a&gt; story if you're interested, how it got started.&lt;/p&gt;

&lt;p&gt;I didn't think it was solid until some recent changes.&lt;/p&gt;

&lt;p&gt;This is how the tool evolved over a period of almost a year.&lt;br&gt;
Recap:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;v1 one script, good (2019 NOV)&lt;/li&gt;
&lt;li&gt;v2 configurable but still with some drawbacks, great (2020 MARCH)&lt;/li&gt;
&lt;li&gt;v3 configurable, maintainable and able to swap modules on the fly, super saiyan 4 (2020 OCT)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is highly configurable, and saves time which is always a plus. v3 was also done in part to multiple people using the framework from IT to OT, and a few of my coworkers also giving me a hand to meet deadlines. I had to step up my documentation as I was no longer a one man army.&lt;/p&gt;

&lt;p&gt;Let me know what you think of it, and please leave feedback or bugs in the repo.&lt;/p&gt;

</description>
      <category>powershell</category>
      <category>testing</category>
      <category>framework</category>
    </item>
    <item>
      <title>Exporting a markdown book to PDF with Pandoc (2)</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Tue, 13 Oct 2020 20:08:54 +0000</pubDate>
      <link>https://dev.to/thefern/exporting-a-markdown-book-to-pdf-with-pandoc-2-12cg</link>
      <guid>https://dev.to/thefern/exporting-a-markdown-book-to-pdf-with-pandoc-2-12cg</guid>
      <description>&lt;p&gt;This is a revisit of my old &lt;a href="https://dev.to/kodaman2/exporting-a-markdown-book-to-pdf-with-pandoc-5414"&gt;post&lt;/a&gt;. I wanted to update it, since I updated my python script to generate a pdf.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed printing md files out of order&lt;/li&gt;
&lt;li&gt;Two options for folder structure

&lt;ul&gt;
&lt;li&gt;Chapters with folders, with scenes as md files&lt;/li&gt;
&lt;li&gt;Chapters as md&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;LaTex, and pandoc are great but for your typical writer that isn't a software dev or has 3 Master degrees learning how to compile a bunch of markdown files isn't super straightfoward, latex, xelatex, templates, packages, and the list goes on. Can you imagine if after writing a thesis on Word Doc, you had to learn how to write a yaml file in order to print you document.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/kodaman2/markdown-book"&gt;https://github.com/kodaman2/markdown-book&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anyways I won't beat the horse the tools above are great, but do require some learning overhead, and this is troublesome if you just want to write and print. The markdown-book repo shows you how to have chapter directories, or just markdown files. It has a python script ready for a basic pdf to get you started. Surely there's more work to do like have some css files to make everything prettier.&lt;/p&gt;

&lt;p&gt;Using directories for chapters:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;├───title.txt
├───Chapter1
├───Chapter2
└───images
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;New addition to the &lt;code&gt;export_book.py&lt;/code&gt; script, now it supports md files without chapter directories:&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;├───title.txt
├───Chapter1.md
├───Chapter2.md
└───images
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let me know what you think about the repo. Thanks for reading!&lt;/p&gt;

</description>
      <category>pandoc</category>
      <category>latex</category>
      <category>markdown</category>
    </item>
    <item>
      <title>OneDrive Settings are terrible</title>
      <dc:creator>Fernando B 🚀</dc:creator>
      <pubDate>Thu, 08 Oct 2020 16:57:22 +0000</pubDate>
      <link>https://dev.to/thefern/onedrive-settings-are-terrible-4hik</link>
      <guid>https://dev.to/thefern/onedrive-settings-are-terrible-4hik</guid>
      <description>&lt;p&gt;Recently I updated my vscode powershell extension, and wanted to update my package management. I noticed onedrive with a big red X. I don't use OneDrive\MyDocuments on my company laptop exactly for this reason, but I needed to keep these dlls for powershell, and I also needed to sync to onedrive for a few folders I shared with my coworkers for documentation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://onedrive.uservoice.com/forums/262982-onedrive-archive/suggestions/6988070-use-a-file-to-ignore-exclude-files-or-folder" rel="noopener noreferrer"&gt;onedrive discussion #fail&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you ever need to sync onedrive, but is complaining about file extensions that are not whitelisted. I wrote a little script for it, if you've ever had to fight OneDrive then this is for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/kodaman2/OneDriveIgnore" rel="noopener noreferrer"&gt;https://github.com/kodaman2/OneDriveIgnore&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install onedrive-ignore
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Usage:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;onedrive --ignore
onedrive --restore

# Short version
onedrive -i
onedrive -r
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Files ignored, synced to onedrive:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fkodaman2%2FOneDriveIgnore%2Fraw%2Fmain%2Fimages%2Ffiles_ignored.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fkodaman2%2FOneDriveIgnore%2Fraw%2Fmain%2Fimages%2Ffiles_ignored.PNG"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Files restored, onedrive complaining, and not syncing:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fkodaman2%2FOneDriveIgnore%2Fraw%2Fmain%2Fimages%2Ffiles_restored.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fkodaman2%2FOneDriveIgnore%2Fraw%2Fmain%2Fimages%2Ffiles_restored.PNG"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know if you've ever came across this issue before, or how is your IT dealing with it.&lt;/p&gt;

</description>
      <category>onedrive</category>
      <category>python</category>
      <category>thuglife</category>
    </item>
  </channel>
</rss>
