Just to Learn About PWAs

I’ve been away for a long time and have recently decided to pursue a project I’ve wanted to take on for a long time. My plan is to leverage what I learned about the MERN stack from FreeCodeCamp to make a starting web app that the project will evolve from. With the other responsibilities I’ve taken on, I’ll only be able to work on it a little at a time and try to just keep pushing it along incrementally. I thought it might help to start a thread about it here and tell whoever cares to “listen” what progress I make. Next time, I’ll outline the project that I have in mind.

The project would be a create an app (any old web app) and incrementally change it into a PWA (Progressive Web App). There are plenty of descriptions online and even in this forum of what a PWA is and the advantages of a PWA. As I noted in my prior posting, to create a web app I would like to use what I’ve learned on FreeCodeCamp about creating web applications. I mentioned the MERN stack. That is just a reference to the technologies that were used in the FCC curriculum. (MERN - MongoDB, Express, React, Node.) Most people doing web development use a Mac. I prefer to use ubuntu for command line work. Unfortunately my last laptop lost my ubuntu partion when one of my cat dragged a wet tea bag out of a cup by my laptop and left it on the keyboard. I have since gotten and been using a new laptop and am planning on trying to setup ubuntu on a USB stick to provide a development environment without messing with my laptop’s configuration. We’ll see if that is really feasible or not. I have a 256 GB USB stick and plan on using the following process to setup a stick as a bootable device that will hold my development environment.

More about the web application I plan on creating, next time.

I’m not sure I would say “most” here. Yes, probably a bigger percentage of developers use Macs compared to the general population, but according to the 2020 Stack Overflow Developer Survey almost half of developers use Windows and then the other half is split about evenly between MacOS and Linux. Personally, Linux has been my primary platform since the mid 90’s and I do my Windows testing on a virtual machine. Since Apple won’t allow their OS to be run through a VM I only test on MacOS if my employer gives me a laptop running it (otherwise, someone else will have to do that testing). I’ll be damned if I’m going to pay the Apple hardware tax just to be able to test my web apps on their OS :slight_smile:

1 Like

i’m glad that you’re pursuing the project you’ve been wanting to take on. once you get finished, you should share it on the #project-feedback page. i’m sure you’ll do great : )

My bad. I didn’t go looking for actual data and said what my impression was. Or, in this case, what my misimpression was. I’m glad you brought some insight into this. Thanks!

Sounds good. But this is going to be a slow and long process because of all the other stuff in my life. But thanks for the suggestion!

Well my latest efforts go under the heading of “painting yourself into a corner”. I did take my shiny new 256GB USB stick and make it into a USB stick that is bootable to ubuntu. But what I did was create a USB stick that can be used to install ubuntu onto another drive. And while the USB stick that I created can be used to boot ubuntu and test drive it, it has no permanent storage. Anything you do will disappear when you shutdown. So this is really a handy device for installing ubuntu that I could have put on a 4GB stick. So my use of a 256GB stick is a real waste. My time since my last update has been spent learning what I’ve done to myself, some cussing about it, and considering what to do about it. What I want is a USB stick that I can boot to ubuntu and have it contain my entire suite of development environment and tools. And from what I’ve read I should be able to use a stick like the one I created to install ubuntu on another USB stick, allocating space as permanent storage on that stick. While researching this I came across this article.

This looks like it could lead me to the promised land and give me what I’m after.
First I need another, much smaller USB stick to be the installation device. I got a set of 5 USB sticks, each 16GB. Why 16GB? Because I could get 4GB sticks but they cost the same as 16GB. Why 5 of them? Because a set of 5 only doubles the cost of ordering just one. I couldn’t resist. Surely I’ll find something to do with the others. I have setup one of these 16GB sticks to be my ubuntu installer stick. The next step would be to do a full ubuntu install on the 256GB stick I intend to be my development environment. But many articles on the subject are emphatic that our laptop OS and data should be backed up completely before doing this operation. Fortunately I have a big ol’ 4TB Western Digital MyBook for just this kind of situation. So my laptop is going to get a complete backup before I try to do the full install of Ubuntu on the “big” (256GB) USB stick.
And that’s where I’m at. Feel free to comment, make suggestions that I may or may not follow and point and laugh all you like. Take care, everyone!

A quick update. I got the full backup of my laptop done. I used Macrium Reflect to set up a backup schedule of weekly full images and daily differential images. And then took the initial full image of my laptop drive partitions. It’s a nice by-product of needing to have a full backup to set up a proper backup strategy with automatic scheduling. Now I feel I can take on the next step of seeing if I can install ubuntu on my “big” USB stick.

Well, this is taking longer than I would have hoped… Lookout, the following is very “techie” and I see no way for it not to be without stopping to define terms every couple of sentences. But you might get some entertainment from the next corner I’ve painted myself into.

I got my ubuntu installation USB stick created and I can boot to it, but it turns out that when trying to install ubuntu using my laptop, the installation process balks because the laptop uses a disk management scheme called RST, standing for Intel® Rapid Storage Technology. This is apparently an implementation of RAID and apparently, ubuntu doesn’t support it.

I have found procedures for changing the disk management scheme from RST to AHCI, which appears to be a downgrade of functionality. But to do this, I have to do some scary things. Make a registry change in Windows and then a change in the BIOS for the boot process. And if I do it wrong I have to reinstall Windows and do a full recovery of data. I have the backups, but yuck!

So this got really ugly. You can imagine I have been doing research trying to find the best procedure to follow with my specific make and model of laptop and trying to make sure I understand what I’m doing and how to do it correctly. I also want to understand what I’m giving up by “downgrading” from RST to ACHI.

So if anyone out there knows more about this than me (not a high bar) I’m interested in Words of Wisdom. Do you use ubuntu? Have you run into RST when trying to install it? How did you deal with it? Or if you know a lot about RST and ACHI, and know what I’m giving up to go from RST to ACHI?

Anyway, I’ll keep studying this and try to get to the point where I feel like I can give it a try and not burn my laptop to the ground (virtually speaking).

1 Like

I finally bit the bullet. I studied about the disk management schemes and got comfortable that I wasn’t giving up anything I care about “downgrading” to ACHI. I found a process I liked for the installation and gave it a try. But when I tried to boot to ubuntu all I got was a “Minimal Bash” command prompt. Not pretty. The process I followed had me create three partitions on the installation disk (the USB stick), a FAT32 partition, a swap partition, and an “Ext4 journaling file system” partition to hold the Ubuntu system. I assumed I messed setting up the partitions because that was messier than I expected going in. Sooo… back to studying. After reading a bunch and some helpful Youtube videos on creating partitions in the Ubuntu installation process. Then I revised the process for creating partitions and did the install over again. And once again got only the “Minimal Bash” command prompt after the reboot at the end of the installation process. Grumble, grumble, grumble. I found a process for repairing this problem, but when I booted to Ubuntu through my system’s boot menu, Ubuntu loaded!! And now it seems to work fine. I think we’ve finally found The Promised Land, a Ubuntu system on a USB stick. Queue the music …
It’s been a long road,
To get from there to here.
It’s been a long time,
But my time is finally here.
Don’t @ me Star Trek Enterprise haters!
I haven’t tried to do anything significant with this system yet. But I finally got here!!
Let’s see what I can do with it.

1 Like

Well darn it all to heck! When I went back to work on setting up my Ubuntu USB stick as my development environment, it wouldn’t boot. I studied it a bit but ultimately I’ve decided that I’ve wasted quite enough time on trying to get this to work. Don’t make my mistake. Ubuntu on a USB stick might sound like a good idea, that should be feasible and might have benefits, but I couldn’t get it to work.
So after writing off all my prior effort, I turned to putting Ubuntu on my hard drive (which is actually an SSD). I shrank the Windows partition, which was even easier than I remembered. I setup partitions (swap and ext4) for Ubuntu, which was pretty straight forward after all the practice I’ve had recently, and installed Ubuntu. That worked great! And it was definitely what I should have done in the first place.
This is the last entry I plan on making to this thread. I’m starting over with a main thread for the project I originally wanted to start. I’m planning on spawning off subtopics for each stage as I go. This thread will just a preliminary thread that went awry before I got things back on track.