<?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: Kelvin Thompson</title>
    <description>The latest articles on DEV Community by Kelvin Thompson (@redeving).</description>
    <link>https://dev.to/redeving</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%2F223859%2Fb9c7fcbe-f414-4598-98a4-42d8fcb44da8.jpg</url>
      <title>DEV Community: Kelvin Thompson</title>
      <link>https://dev.to/redeving</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/redeving"/>
    <language>en</language>
    <item>
      <title>The Nodejs Update War (module 'n' ?!)</title>
      <dc:creator>Kelvin Thompson</dc:creator>
      <pubDate>Tue, 16 Jun 2020 12:52:10 +0000</pubDate>
      <link>https://dev.to/redeving/the-nodejs-update-war-module-n-pa</link>
      <guid>https://dev.to/redeving/the-nodejs-update-war-module-n-pa</guid>
      <description>&lt;p&gt;This originally appeared in my blog post &lt;a href="https://www.redeving.dev/2020/06/the-nodejs-update-war-module-n.html"&gt;https://www.redeving.dev/2020/06/the-nodejs-update-war-module-n.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In my foray into blockchain (distributed ledger) development, I've discovered only mayhem. Another wild west frontier, so to speak. While this cultivates innovation and experimentation, when it comes to learning, there is a lot of flotsam to wade through. &lt;/p&gt;

&lt;p&gt;It's easy to become distracted by the sheer mass and variety that comprises the waterfall of what's out there, especially if you touch the turmoil of crypto currencies. Now personally, I'm not very interested in the currency side of things. I don't have the luxury of playing with speculation and supporting other peoples bank accounts. And it distracts from the real world aspects of the distributed ledgers. And don't get me started on the digital wallet rabbit holes! I'd make one myself so I could trust it, but that's still out of my range at this time. &lt;/p&gt;

&lt;p&gt;There's a huge, bewildering amount of variety to the world of blockchain development. There are various ways to move into the field, via game assets, for instance, but even though one of my careers was a 3D artist and animator, I've just never had the time for actually playing games, so my interest in that aspect is too narrowly focused to be of use in this regard. Then again, maybe having that slight separation of interests would help. I have feelers going that way too.&lt;/p&gt;

&lt;p&gt;If you aim corporate, you can go with many, such as IBM with their Fabric and other cross-chain developments which is very exciting; but having a fair bit of corporate experience, these avenues can be more restrictive. The prospect of "Vendor-Lockin" looms. &lt;/p&gt;

&lt;p&gt;Then, of course, the development environment. Seems usually over complicated like most these days. Especially with those wallets. I want something, no, need something, more agnostic.&lt;/p&gt;

&lt;p&gt;But, this isn't an endorsement of any platform or smart contract language, like DAML or Solidity (HyperLedger alone has 6 or more languages, including DAML, that it works with at this time!) I am investigating DAML, but in the process, ran into, AGAIN, the Nodejs version battle. I called it a war in the headline because I've encountered this so many times, and being unable to find useful answers is one of the many reasons I have been turned off by Node in general, as useful as it may be. When you try to use tutorials and can't for the life of you get Node to update beyond a certain point, you can't move. Delete tut and move on. Rinse repeat, delete node! &lt;/p&gt;

&lt;p&gt;However, this time I found a couple of tidbits that actually worked!! Oh Joy!! Only slight sarcasm.&lt;/p&gt;

&lt;p&gt;So, I wanted to install DAML and it's SDK from daml.com. It's only supported IDE is vsCode, so no worries there. It also requires Yarn, which has caused me issues in the past, but okay. And Nodejs. Okay. I've added the links to some of the information that led to this working (many thanks!) In the past I've managed to get Node to update to version 10, but a lot of things don't seem to work with that low a version, at least from what I've found. Oh yeah, I'm running Linux Mint's Debian Edition v4.&lt;/p&gt;

&lt;p&gt;DAML installed just fine:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;curl -sSL &lt;a href="https://get.daml.com/"&gt;https://get.daml.com/&lt;/a&gt; | sh&lt;br&gt;
If prompted, add ~/.daml/bin to your PATH.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yarn installed fine too (nice!):&lt;br&gt;
from: &lt;a href="https://classic.yarnpkg.com/en/docs/install/#debian-stable"&gt;https://classic.yarnpkg.com/en/docs/install/#debian-stable&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;curl -sS &lt;a href="https://dl.yarnpkg.com/debian/pubkey.gpg"&gt;https://dl.yarnpkg.com/debian/pubkey.gpg&lt;/a&gt; | sudo apt-key add -&lt;br&gt;
echo "deb &lt;a href="https://dl.yarnpkg.com/debian/"&gt;https://dl.yarnpkg.com/debian/&lt;/a&gt; stable main" | sudo tee /etc/apt/sources.list.d/yarn.list&lt;br&gt;
yarn --version (test the install)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then of course, Node. The following was supposed to update to the current v14:&lt;br&gt;
from: &lt;a href="https://github.com/nodesource/distributions/blob/master/README.md#deb"&gt;https://github.com/nodesource/distributions/blob/master/README.md#deb&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;sudo curl -sL &lt;a href="https://deb.nodesource.com/setup_14.x"&gt;https://deb.nodesource.com/setup_14.x&lt;/a&gt; | bash -&lt;br&gt;
sudo apt update &amp;amp;&amp;amp; sudo apt install -y nodejs &amp;amp;&amp;amp; sudo apt install yarn&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This however, only updated node to version 10 for some reason (aarrggghh!!), which as stated, is not supported by most of the things I'm doing. This is usually the point where my cat sees me smacking my head with his catnip fish.&lt;/p&gt;

&lt;p&gt;This! This is the key! I have never come across this information before, but I really wish I had! &lt;/p&gt;

&lt;p&gt;from: &lt;a href="https://askubuntu.com/questions/426750/how-can-i-update-my-nodejs-to-the-latest-version"&gt;https://askubuntu.com/questions/426750/how-can-i-update-my-nodejs-to-the-latest-version&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;"Use n module from npm in order to upgrade node."&lt;/p&gt;

&lt;p&gt;I've never heard of this module. Sigh, but okay. First, I had to install npm!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;sudo apt install npm -y (this took awhile!)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then, to update node properly to v14:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;sudo npm cache clean -f (it will scream about not supporting node v10, ignore)&lt;br&gt;
sudo npm install -g n&lt;br&gt;
sudo n stable &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This upgraded node to version 12 (sigh, Really??), almost there!&lt;/p&gt;

&lt;p&gt;To upgrade to latest version (and not current stable) version:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;sudo n latest&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Exit terminal. Open terminal.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;node --version (test install)&lt;br&gt;
v14.4.0 &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yeah! Finally, for the first time ever, my version of node is the latest. Weird.&lt;/p&gt;

</description>
      <category>node</category>
      <category>npm</category>
      <category>linux</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>Snapper or Budget Snap?</title>
      <dc:creator>Kelvin Thompson</dc:creator>
      <pubDate>Mon, 25 May 2020 19:14:49 +0000</pubDate>
      <link>https://dev.to/redeving/snapper-or-budget-snap-493</link>
      <guid>https://dev.to/redeving/snapper-or-budget-snap-493</guid>
      <description>&lt;p&gt;Original post: &lt;a href="https://www.redeving.dev/2020/05/snapper-or-budget-snap.html"&gt;https://www.redeving.dev/2020/05/snapper-or-budget-snap.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Small software project using Google Forms and Google Sheets. I call it Snapper for now, but I used to call it Budget Snap. Not sure which way, but since only I use it.... I've used it for a couple years now. Figured it would go good here.&lt;/p&gt;

&lt;p&gt;Since I have to collect receipts for tax purposes (rental expenses, reno, etc.) and we all know how much fun that is, especially when we "accidently" allow those receipts to build up (for a year!) Then you have to organize, enter data one way or the other, tabulate, and of course produce a report. &lt;/p&gt;

&lt;p&gt;For a long time I dithered, trying in a few different languages and frameworks to get something simpler and easier. I wanted something cloud accessible, on the phone, but not relying on a 3rd party. I'm not comfy with having that data on someone else's server. Aside from Google. As I said before, I use the Google-verse daily, for a lot. &lt;/p&gt;

&lt;p&gt;So since I know I always over-complicate things at the start and (usually!) wind it down for a final, much simpler way, I finally decided to use the tools at hand. Duh. &lt;/p&gt;

&lt;p&gt;So I made up a Google Sheet spreadsheet with the appropriate item headers for deductions categories. I also had some cells do a constant auto-update so my report for my accountant is auto-magically generated, and visible to me at all times. Note:  when I was looking up info on cell formulas (those memories were archived ages ago!) a lot of what I found when I explicitly looked for "google sheets how tos" didn't work. But when on a lark I put it exactly like an Excel spreadsheet, they worked flawless. Rabbit holes! &lt;/p&gt;

&lt;p&gt;Then I went to Tools -&amp;gt; Create a Form. This produced a form that I can share, or access on my phone. I have Chrome put a shortcut on my phone to jump right to the form.&lt;/p&gt;

&lt;p&gt;Now, when I'm out and about, usually in the car right after I buy something I need to keep the receipt for, I pull up the form, and as you can see from the pic, I take a picture of the receipt as well (by camera, upload, pdf). This goes to my google drive account auto-magically too, and is linked to the spreadsheet. &lt;/p&gt;

&lt;p&gt;I use the date/time-stamp that is automatically added to the spreadsheet as a key whenever I want to do something (even externally later). &lt;/p&gt;

&lt;p&gt;Then at the end of the year, I copy and rename it to the appropriate fiscal year (and print of course plus backups) and delete all the entries of the original spreadsheet and start the new year. &lt;/p&gt;

&lt;p&gt;Eventually I want to be able to print the spreadsheet as a big report with the pictures, not just the filenames printed as well. I just haven't had the time to do anything with that part yet. Back burner.&lt;/p&gt;

&lt;p&gt;Simple, but works great for me!&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

</description>
      <category>googlesheets</category>
      <category>googleforms</category>
      <category>taxdeductions</category>
      <category>software</category>
    </item>
    <item>
      <title>Hindsight and automation</title>
      <dc:creator>Kelvin Thompson</dc:creator>
      <pubDate>Sat, 23 May 2020 15:31:01 +0000</pubDate>
      <link>https://dev.to/redeving/hindsight-and-automation-1n92</link>
      <guid>https://dev.to/redeving/hindsight-and-automation-1n92</guid>
      <description>&lt;p&gt;This was originally published on my blog &lt;a href="https://www.redeving.dev/2020/05/hindsight-and-automation.html?m=1"&gt;https://www.redeving.dev/2020/05/hindsight-and-automation.html?m=1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The old adage of "hindsight is 20/20" is a wisdom so many of us forget until ... after. More flippantly, "sometimes we see better out our butts!" &lt;/p&gt;

&lt;p&gt;Case in point. Our Wifi, or rather our Rogers-black-box-of-magic, decided to die. The LAN ports anyways. Both flashing orange (one to the cable box -- I think my wife is now coming around to the cable cutting 🤞as this is the 3rd time in a month or so -- and one to my network.) So, nothing but cellular (I really should make an offering of an old cell phone to the cellular gods...)&lt;/p&gt;

&lt;p&gt;Luckily my wife's iPad could use my Pixel 2 XL hotspot! But my laptop can't for some reason. Damn! But that brings me to my point. Hindsight.&lt;/p&gt;

&lt;p&gt;I was so caught up in getting the laptop ready with a Docker image for development (see my post  &lt;a href="https://www.redeving.dev/2020/05/can-hat-save-me-part-2.html?m=1"&gt;https://www.redeving.dev/2020/05/can-hat-save-me-part-2.html?m=1&lt;/a&gt; ) that I not only forgot to re-download a Docker image of Go, but I also forgot to install a local version of VSCode! Doh!&lt;/p&gt;

&lt;p&gt;So instead of waiting for the delivery of the new (or whatever) Rogers modem and continuing my Go adventure, I'm doing some basic html\css stuff to put a basic drop-down menu on my blog with my text editor. All well and good (anyone remember using notepad for webdev?) but really? I am a dumbass!&lt;/p&gt;

&lt;p&gt;Which brings us to the final point of automation. Ansible has been on my back burner for awhile now, but it has come to the top of the pile now. Then I can do bare metal deploys without all the manual stuff that, even with lists, can get stupid. Case in point!&lt;/p&gt;

&lt;p&gt;Also, it's unexpectedly raining and thunderstorming so my outside Reno stuff is off (siding replacement around the new and smaller window -- one piece to cut, plus edging), inside Reno stuff (basement bathroom window and laundry room walls) is off since the weather gives my wife migraines, so no noise. Usually this would be great, more time to code!&lt;/p&gt;

&lt;p&gt;But I limited myself, unnecessarily. If I had taken the time then, I wouldn't be in this pickle now.&lt;/p&gt;

&lt;p&gt;Brain mantra ... ".. between noon and 2pm .. between noon and 2pm .. between noon and 2pm .. "  The birds seem to be fascinated by me spinning around in the backyard trying to kick my own butt....&lt;/p&gt;

</description>
      <category>ansible</category>
      <category>docker</category>
      <category>vscode</category>
    </item>
    <item>
      <title>Reality Engineering</title>
      <dc:creator>Kelvin Thompson</dc:creator>
      <pubDate>Sun, 17 May 2020 16:52:48 +0000</pubDate>
      <link>https://dev.to/redeving/reality-engineering-1hjo</link>
      <guid>https://dev.to/redeving/reality-engineering-1hjo</guid>
      <description>&lt;p&gt;This was originally posted on my blog&lt;br&gt;
&lt;a href="https://www.redeving.dev/2020/05/reality-engineering.html"&gt;https://www.redeving.dev/2020/05/reality-engineering.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just a quick blurb as I thought of it in transit before I forget. &lt;/p&gt;

&lt;p&gt;There are a number of things I've found useful in trying to get through things by altering your life inside first. I call it Reality Engineering. &lt;/p&gt;

&lt;p&gt;Focusing your goals. &lt;/p&gt;

&lt;p&gt;Are you ready to do what it takes to achieve your goals? I can't remember where I came across it (I've tried to find out), or even when, but I have adopted it for over a decade, and ... it's helped as a type of litmus test for some of my goals, or aspects of my goals.&lt;/p&gt;

&lt;p&gt;It doesn't matter how trivial your goal may seem to others (and who cares?!) It can be for a small step (break your 'reality-program' into modules) or even grander designs.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Keep Asking Yourself&lt;/p&gt;

&lt;p&gt;What do you have?&lt;br&gt;
What do you want?&lt;br&gt;
What will you give up?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So just a 'tip of the hat' to the originator, and whatever forces of chance, guile and hilarity that seem to guide the universe! And as Sylvester the Cat says, "th-thanksss!"&lt;/p&gt;

</description>
      <category>selfhelp</category>
      <category>goals</category>
    </item>
    <item>
      <title>The Silver Hat on the Block</title>
      <dc:creator>Kelvin Thompson</dc:creator>
      <pubDate>Wed, 13 May 2020 15:34:19 +0000</pubDate>
      <link>https://dev.to/redeving/the-silver-hat-on-the-block-4790</link>
      <guid>https://dev.to/redeving/the-silver-hat-on-the-block-4790</guid>
      <description>&lt;p&gt;Fedora is a nice distro. It feels clean and snappy. I enjoyed using it before, but I have to give my head a shake to remember the how. Things are quite different from the Ubuntu/Debian distros, at least as far as administration. DNF takes getting used to. And the Silverblue rpm-ostree is another aspect to think about.&lt;/p&gt;

&lt;p&gt;One of my pet peeves about the Fedora install is selecting the drive to install to. Having the one-click option of many distros is nice, but that's just a minor detail. No, what I sigh at is the unnecessary repetition: select disk, hit done, hit reclaim space, delete all, reclaim space, then finally begin install. Really? I'm nitpicking, but silly stuff like that is just unnecessary and annoying. On a different note, as a feature, I would love there to be an added "Silverblue" with the "fedora" at the bottom of the install screen. It got me again, for a moment, like previous times, second guessing whether I had indeed downloaded Silverblue or the fedora Workstation version. Advertise the goodness you are offering!! &lt;/p&gt;

&lt;p&gt;Ok, enough of that. Once the install is complete and the system rebooted, I have to modify the base image a little. There are some things that I always want as part of my system like Google Chrome. I am a Google-ite. I use the Google-verse and enjoy it thoroughly, so I want Chrome and to login.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;rpm-ostree install google-chrome git cockpit toolbox&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You want to install the few items all on one command line, as the full procedure can take awhile. The message "checking out tree ...." can spin for quite some time, so be patient, grab a coffee or tea. After that you need to reboot.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;systemctl reboot&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Awesome, now we're running the new "base image" we just created by adding the layer of those installs. &lt;/p&gt;

&lt;p&gt;In addition to what I consider my core items (Chrome, Git, Cockpit and Toolbox), there are other programs that I want on this, my laptop. I like Cheese for my simple webcam needs, gnome extensions of course. I also like to have VSCode (I use it locally for other things too), Gitg and Meld on my machines. And the gnome addons for gstreamer that weren't auto installed (H264, etc.) for my other hobbies. &lt;/p&gt;

&lt;p&gt;I really recommend finding a hobby if you don't have one. When you need to get away from what you are currently embedded in, sometimes you need to focus on something entirely different for a bit to re-track your brain rather than the un-focus provided by going for a walk, for instance. Why not both?!&lt;/p&gt;

&lt;p&gt;I use Zim Desktop Wiki for my notes, though I will be moving all of those to my GitHub account (especially thanks to the new VSCode git features) and backed up to my GitLab. I prefer VLC for my audio/video, and I use Inkscape and Krita for my illustrating. Shotwell for photo stuff, and of course SweetHome3D since I'm renovating some things. And KiCad for prototyping electronic stuff for the lab and shop, and fun (have to look for it at flathub.com since it's not available in the local Software center. I only install Blender3D on my Beast, as it has some horsepower.&lt;/p&gt;

&lt;p&gt;Just have patience (again) as the "Software" center usually takes an abominable time to install software. Really annoying. Sometimes you have to wait until the one package is installed before you can even see the other packages available until it finishes and rewrites the app screen. Really? Not a reflection on the OS.&lt;/p&gt;

&lt;p&gt;This time I am not going to install Docker, as I have on all my other systems. Podman is the alternative that Fedora prefers, and it's automatically installed, so I want to learn that. I am very aware of the controversy over which is better, etc. I want to know both.&lt;/p&gt;

&lt;p&gt;You can either use Toolbox, or Podman. I haven't investigated too close yet, but:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;toolbox create --container &lt;br&gt;
toolbox list&lt;br&gt;
toolbox enter &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once you're inside the container, the 'exit' command will pop you out. &lt;/p&gt;

&lt;p&gt;Or, as I did, looking for a vscode and python image:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;podman search vscode&lt;br&gt;
podman pull docker.io/tegieng7/vscode-python&lt;br&gt;
podman images&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As I said before, I want a secure OS base and to continue my blockchain development (and use other software) in containers. &lt;/p&gt;

&lt;p&gt;Now I can get back to VSCode in the container, install the addons I use: IBM Blockchain Platform (check the dependencies it may list -- Docker, Docker-Compose, Nodejs, NPM for sure), Docker, Python, SonarLint, vscode-pdf (good for viewing a pdf of instructions or whatever), and Code Runner.&lt;/p&gt;

&lt;p&gt;I will continue with this series on my progress with the Hat.&lt;/p&gt;

&lt;p&gt;I will also make a series of posts on my blockchain development adventure as I go along.&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

</description>
      <category>silverblue</category>
      <category>podman</category>
      <category>vscode</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>Linux distro hell and can the Hat save me?!</title>
      <dc:creator>Kelvin Thompson</dc:creator>
      <pubDate>Sat, 09 May 2020 17:39:05 +0000</pubDate>
      <link>https://dev.to/redeving/linux-distro-hell-and-can-the-hat-save-me-25o2</link>
      <guid>https://dev.to/redeving/linux-distro-hell-and-can-the-hat-save-me-25o2</guid>
      <description>&lt;p&gt;Like most Linux distro users, we play with and test, various (sometimes multitudes!) different distros looking for what is most suited for our current situation. As a developer, this journey has taken many twists indeed!&lt;/p&gt;

&lt;p&gt;I've come to the conclusion for myself, that what I really want is a secure OS that is rather transparent to my other efforts. One that would update itself without having to reinstall. The reinstall angst goes way back to and beyond early DOS and Windows days. Like most, I have plenty of experience with the format/reinstall dance. It has stolen huge amounts of time and given back a lot of frustration. But you learn. It gets faster. Not really better.&lt;/p&gt;

&lt;p&gt;Last year, this brought me naturally to Fedora. Specifically Silverblue. I think it was the v27-29 or thereabouts. It was the first version of Fedora to actually work on my older Aspire laptop (then with only 4GB ram.) When I read about Silverblue, I got really excited. Of course, rolling releases are not new, especially in the Linux world, but I've always run into issues with all of them. Silverblue was in it's relative infancy, so I encountered various problems, but overall, it was good. Due to some of these issues, I had to remove Silverblue -- it was just too buggy for my situation. Disappointing, but something to hope for. A light on the horizon. And I like Cockpit for overseeing. I could do things with containers through cockpit that I couldn't do with the command line for instance. Then a Fedora update made serious issues with performance and I moved on with heavy heart. Again.&lt;/p&gt;

&lt;p&gt;Then about 6 months ago, a friend mentioned that recent changes with Ubuntu looked promising, as far as performance, etc. I tried it again, but wasn't happy when a background update completely destabilized my systems. I tried Debian, as it had also moved forward, but issues made me go back to others. Since I develop mostly on my laptop (SSH into my production beast, or other servers), if I can't make it work on my laptop I'm leary with it on my other machines. I've run into too many frustrations when my computers are running different distros, so I prefer everything to run the same base system. I've used Linux Mint many times in the past. I've been very happy with the looks, snappiness and the admin (codecs, etc.) But I have never tried their Debian Edition which had just debuted release v4. Nicely, it gave me the features of Debian I liked without the hassles, and with the other niceties of Mint. This has rocked for a nice amount of time. And learning Docker at the same time has been interesting to say the least.&lt;/p&gt;

&lt;p&gt;But the production environment that I would like to nurture would be more aligned with the Silverblue concept, together with containers. I would like my OS to be stable and immutable.&lt;/p&gt;

&lt;p&gt;This brings me back to the Hat. Silverblue 32 has recently come out and developments look promising. So I am going to once again try to achieve my idea of a happy place, and see if I can get a stable development environment with Silverblue and Docker. And VSCode of course. As much as I have tried not to like it, it is fast (I don't use a ton of addons) and with the Docker and IBM Blockchain Platform addons, my brain is starting to hum. I will document this process as usual, both for my notes, and maybe even for some poor sod out there going through hoops of barbed wire trying to get things working.&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>silverblue</category>
      <category>docker</category>
      <category>vscode</category>
    </item>
    <item>
      <title>NPM, Nodejs and the VSCode IBM Blockchain Platform Add-on Woes</title>
      <dc:creator>Kelvin Thompson</dc:creator>
      <pubDate>Sat, 09 May 2020 16:20:37 +0000</pubDate>
      <link>https://dev.to/redeving/npm-nodejs-and-the-vscode-ibm-blockchain-platform-add-on-woes-6l1</link>
      <guid>https://dev.to/redeving/npm-nodejs-and-the-vscode-ibm-blockchain-platform-add-on-woes-6l1</guid>
      <description>&lt;p&gt;I originally wrote this post in case someone might be having similar problems. I was trolled for putting a useless article up, so I deleted it. I was asked to repost it by someone that it did help, so for that person, and maybe the one other person who is having similar issues, here it is. Others may be lucky enough that things just work, but for others, Murphy seems to just ride our shoulders. &lt;/p&gt;

&lt;p&gt;I've decided to post my recent (just finished apparently) woes with an issue I encountered with the IBM Blockchain Platform add-on. I put all this in my "Base System Setup" zim wiki notebook, but after the google rabbit holes I've had to run down in order to find the answers to this, I wanted to post it immediately in the hopes it can save someone a few headaches, or worse, giving up. &lt;/p&gt;

&lt;p&gt;The problem started, after a complete reinstall on my laptop, and on opening VSCode. The IBM Blockchain Platform prerequisites page came up, indicating it needed NPM v6 or later. My fresh system had v5.8. I tried every normal way to update and reinstall, etc. Nothing would work. All I could think was, well if they want v6, why does it seem like it doesn't exist?! After much googling, and many different attempts that all failed,  (I made notes, lots of notes) I found what finally worked for me. I was surprised in the end that I did succeed. It reminded me of past issues following tutorials that never seem to work. Successions of these (ad nauseum) made me throw React, Vue, Svelte and many other interests to the way-side, never to be looked at again. In case it may be relevant, in this experience I'm running Linux Mint Debian Edition 4 on an older Acer Aspire (i5 with 8GB RAM). &lt;/p&gt;

&lt;p&gt;I pasted my notes directly:&lt;/p&gt;

&lt;p&gt;Install NVM to install Nodejs and NPM .... I made the mistake, it seems, of installing Nodejs first, then NPM, and ran into all kinds of issues. I remembered afterward that in the past, installing NPM auto installed Node, but I don't know if it still does. I ended up using NVM.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;sudo apt recommends build-essential (which told me about installing libalgorithm-merge-perl)&lt;/p&gt;

&lt;p&gt;sudo apt install build-essential&lt;/p&gt;

&lt;p&gt;apt install --install-recommends libalgorithm-merge-perl&lt;/p&gt;

&lt;p&gt;curl -o- &lt;a href="https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh"&gt;https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh&lt;/a&gt; | bash&lt;/p&gt;

&lt;p&gt;sudo apt install libssl-doc nodejs npm&lt;/p&gt;

&lt;p&gt;npm i -g npm-upgrade&lt;/p&gt;

&lt;p&gt;sudo reboot &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;(this is necessary for npm, etc. to properly update for VSCode IBM Blockchain add-on to recognize npm version, I figured out. That was a lot of frustration!) — note to self: you will have to use NVM to change default version of Node from 14+ to 10.20.1 (uses 8.x and 10.x only) according to the add-on prerequisites.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;nvm install 10.20.1&lt;br&gt;
nvm alias default 10.20.1&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Even after all this, exiting the terminal (again) allowed for only some things to register as changed, but I found I had to reboot in order for everything to be registered properly (I guess) and the add-on to recognize the version change to NPM. I never saw anything about this in any help I found. &lt;/p&gt;

&lt;p&gt;Of course then I saw the warning that it only worked with Node version 8.x and 10.x, so I opened a terminal and used NVM to install and make default, the highest version of 10.x, which turned out to be version 10.20.1, so all updates to that version would be included. On re-opening VSCode, the blockchain add-on took awhile to rebuild the native node modules (a long long while) but I walked away before I was tempted to assume it had hung. &lt;/p&gt;

&lt;p&gt;And, wonderfully, the blockchain add-on now has no prerequisites (other than adding the GO and Java options, but that's for much later on.)&lt;/p&gt;

&lt;p&gt;Now, I can finally get things going again. And by the way, working with containers through VSCode is very nice, especially to a container newbie.  &lt;/p&gt;

&lt;p&gt;And I have to include a few great links I recently came across in my studies.&lt;/p&gt;

&lt;p&gt;This really helps you get your head around a few things:&lt;br&gt;
&lt;a href="https://hackernoon.com/learn-blockchains-by-building-one-117428612f46"&gt;https://hackernoon.com/learn-blockchains-by-building-one-117428612f46&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am really excited about this, and cannot wait to begin using it (thanks Tong (&lt;a href="https://github.com.litong01"&gt;https://github.com.litong01&lt;/a&gt;), I really appreciate this!):&lt;br&gt;
&lt;a href="https://www.hyperledger.org/blog/2020/04/29/minifabric-a-hyperledger-fabric-quick-start-tool-with-video-guides"&gt;https://www.hyperledger.org/blog/2020/04/29/minifabric-a-hyperledger-fabric-quick-start-tool-with-video-guides&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And I'm pretty sure I have this link somewhere else, but as it's relevant to what I'm doing:&lt;br&gt;
&lt;a href="https://hub.docker.com/r/ibmblockchain/vscode-prereqs"&gt;https://hub.docker.com/r/ibmblockchain/vscode-prereqs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope some of this saves someone some pain. &lt;/p&gt;

&lt;p&gt;[Edit] I posted the link to this article on Twitter, but Twitter gave an unsafe link error, though it connects directly to my Blogger account and is safe. I'm currently waiting for Google Domains and Blogger to get their end working as I've gone over everything on my end. (Probably still something I did when stuck on stupid, but ...) &lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>blockchain</category>
      <category>npm</category>
      <category>node</category>
    </item>
  </channel>
</rss>
