Cultivating Your Local Development Environment

Concentrate on learning Python. You’ll spend years studying HTML, CSS, Javascript and Python. Bash or Zsh and C and C++ are other languages that you should definitely investigate. I use Zsh. I like bells and whistles and I like the latest and greatest everything. Zsh is the best shell in the world, at least for now.

Browse around the W3Schools website. Read through the tutorials. Read the manual on your computer. You know, man whateverprogramyouwanttolearnabout. Get some books. Some people like to read, some don’t. I like reading, however, reading technical manuals is not the most interesting story I’ve ever read.

Understanding how computers think and communicate is an interesting and complicated subject. You’ve got to seek the truth about your computer and the software on it. Each language has a pattern that is recognizable. Language is a set of rules that people learn to follow so that we can understand each other. Programming languages do the same thing for machines.

Math is the basis of computer languages. All computer languages eventually resolve down to the binary math of on or off. On equals 1 and off equals 0. Turning millions of transisters on and off in specific patterns, generates the data and the calculations to produce valuable output.

There are actually two different tracks that you should explore. The HTML, CSS and JavaScript track is part of your investigation of the Internet. Check out TCP/IP and networking while you’re at it. C, C++ and Python are the computer programming track.

When you first start investigating and using Linux, study Bash. If you’re like me and like the latest and greatest software stack, you’ll switch to Zsh right away. Using the latest and greatest is not always the best strategy. Linux comes with Apache2 and MySQL installed and pretty much ready to run, or at least they are easy to install and work right out of the box. Nginx and PostgreSQL are newer, faster and better, but they are not set up by default, you have to set them up right, manually.

Now, if you have a lot of computer science education and already understand how to do that, no problem. You can customize your system anyway you want to. Otherwise, it may be easier to get started by just using the common default programs. They work fine and you can learn how to use web servers and databases in general by using the generic ones, before getting into the more advanced and complicated versions.

You could say that your web server and database, along with git and ssh, could be a third track of investigating computer science. You could also throw git and ssh into your shell programming tool box. These stories I’m writing about learning and using Linux are disorganized and rambling because that’s how I’ve learn it. Wandering around trying things out. One of my goals for this website is to help you avoid the, not knowing what question to ask, problem.

I started out studying HTML and CSS. I built a website and a blog for free using the free Google technology. Back then Google was great. Now, they’ve turned into a monster and I recommend avoiding using any Google technology every chance you get. Use Firefox and Duckduckgo.

Even though reading the Windows 95 user agreement drove me to use Linux instead, Microsoft has always been one of my favorite big businesses. Lately though, they’ve been turning into a monster too, with all the mass survaillance and forced vaccination they’re promoting.

You know, Bill Gates did not become the richest man alive by being a smart computer programmer, although he probably was fairly smart. He became rich by owning the patent for the software. Own your own means of production. The MIT or BSD licenses are better than the GNU/GPL license. But GNU/GPL is better than most proprietary software.

So go ahead and get Linux installed on one of your computers. I say that Kubuntu is the best one to start with. Ubuntu is very popular and KDE has the best graphical user interface, which makes it easy for beginners to find your way around Linux. The problem with that strategy is that, Kubuntu makes it harder to learn how to use your shell and your command line.

Use KDE to get familiar with using Linux for your computer operating system. Once you get it installed, and you are using it for your everyday web searching and email and document production, etc., start investigating your shell. I’ve been using Konsole and Zsh for a long time. I’ve tried other options, but I keep coming back to the KDE tools, like Konsole, Kate and Dolphin.

And don’t forget Vim. Get Vim installed and configured. Get the plugins you like installed and enabled. Use Zsh, Ranger and Vim, instead of Bash, Dolphin and Kate. It takes a lot of practice to learn how to use these command line tools, but doing so will make you a much more high performance computer programmer.

System76 has come out. They’re selling hardware with Linux installed natively. Even the firmware is free and open source software. Firmware is the software embedded in your computer, which enables the operating system to communicate with the machine. System76 has a line of desktop and laptop computers for sale. The price is comparable to Microsoft or Apple computers.

System76’s Pop-OS! is a fork of Ubuntu. I wonder why they didn’t just fork Debian? Anyway, I had it installed for a short time. It uses the Gnome desktop environment. I’ve never really liked Gnome, mainly because I couldn’t figure out how to use it. KDE was a lot easier to learn.

I’m thinking that I will get me a System76 computer, or install Pop-OS! on another computer, and try using the default settings for as long as I can. Of course, you’ll want to customize the look and feel of it, but go ahead and use the Gnome, with the snap packages and the default configuration. It may not be the leanest meanest setup. Learn how to use the default tools first, then you can upgrade to faster better alternatives later, after you learn how to configure Linux from the command line. Let Gnome teach you how to use Linux.

The question of whether to use Bash or Zsh is a tough one. It might be better to just learn Bash. It’s usually installed on Linux by default. You don’t have to spend hours and days learning how to install Zsh and chsh, to set Zsh as your default shell. But, Zsh is the best shell in the world right now. And it is not that different than Bash. It’s not that hard to use Bash, when you are used to using Zsh. Zsh is a fork of Bash with a few improvements.

Spend a lot of time learning how to use your command line interface. Study it. The man page for Zsh is huge. Speed read it. Read books about Bash scripting. When you install programs, use your command line. You can use your Discover or Muon package managers to search for applications, but use sudo apt install to install them.

Kate, Konsole, Dolphin and Firefox are your main tools. Get familiar with them. Get them customized the way you like them. My current Kubuntu installation is a work of art. Its also a supercomputer, The problem is, I got all these fancy applications installed, like nginx and PostgreSQL and I’m not sure how to use them. I have a great local development system installed on this computer, but I don’t know how to use it very well, yet.

I’ve been thinking about replacing Dolphin with the Ranger file manager. Ranger is a file manager that runs in a shell. Midnight commandere may be even better. It uses the twin pane format, like Dolphin does. I like being able to see two different views of my files, so I can see the source and the destination at the same time, when I’m moving files around.

Use your mv command, instead of dragging and dropping the files. Get in the habit of using your command line interface every chance you get. Learn how to write scripts and use them to operate, maintain and repair your Linux installation.

I’ve spent years studying HTML, CSS and Javascript and PHP and Drupal. Now, I’m going to focus in on Zsh and Python. C is important because Linux is written in C. Work on getting your local development environment set up. Then work on getting your file system set up. Keep your home directory neat and clean.

Find out where your snap packages are. Find out which file you should edit to configure your applications in a way that your adjustments will not be erased the next time that application is updated. Investigate and learn how to use Qemu/KVM and LXC/LXD to build containers for your applications. Learn how to use PostgreSQL. Learn how to set Git, LXD, PostgreSQL, Nginx and Django or Flask up in your project directory, correctly.

Build yourself some websites. Start with Django to learn how to build websites with Python. Then learn how to use Flask. Flask gives you much more freedom to customize your applications, compared to Django, which requires you to follow the one Django way of doing things.

And then learn how to use Vue to decorate your website. Vue is not the most popular JavaScript front end, but it is the latest and greatest Javascript front end. React is the most popular, by far.

Focus on using your command line. Live in your Konsole and shell. Cultivate the habits you need to be a high performance Linux user. Be an artist. Be a computer scientist. It’s interesting, challenging, valuable and fun.

Similar Posts