Family Photo Chest Part 4: PyCharm Migration

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am moving PyCharm from Windows to Debian. Let’s get started!

The past month didn’t feel all that fast in terms of this project. I reread a few of my paragraphs from last month, and I get the feeling I didn’t have a clue about what I was looking at.

There are at least a couple reasons why I believe IDE’s are only for when you have an expert handy. They are full of stuff beginning programmers don’t need to be using yet and that stuff can be incredibly fragile. The moment something breaks, progress stops and you need someone familiar with the program to sort things out. If you’re engaging in self-study, working from the command line has fewer things to break and most language tutorials provide command by command instructions anyway. If possible, you should seek out one or more groups to join who can answer programming questions when they come up.

PyCharm was a little fussy to migrate to the new operating system. I made the mistake of just importing everything straight from the configuration on the old install. First of all, all the file paths were written in Windows. I tried routing the interpreter to the one that came with Linux, I had to move the link to my project file around, and I went hunting through the venv settings for references to Windows paths.

The easiest thing to do is to just say no to importing anything on first launch and recustomizing everything. I ended up moving looking into individual files in my settings and plucking out the ones with intrinsic ties to the old install. I had a lot of custom colorization going on, so I sifted through my settings files and plucked out anything with file paths starting with C:\.

Project files were a separate but parallel undertaking. With all the errors I kept getting, I ended up grafting my old project files into a new set of project files. Almost everything copied over, but a hidden .idea folder holds a lot of ties that rely on things not moving. I also had to remove a workspace.xml file or something similar over a reference to the old hard drive. Pycharm brought up a dialogue box to fill in the appropriate information and that angle was solved.

Now, about virtual environments. Implementing them is an important gesture toward seasoned programmers collaborating on projects on different computers, but they complicate things a bit much for the average novice on his or her own. On my windows install, I managed to hack it out of my project, but I never told PyCharm that I didn’t want to use them in a way it could understand. This time, however, I had help addressing the issue.

The IDE is a powerful tool. Powerful tools are okay to pick up and use, but the learning curve can be sharp, and reckless newbies can easily damage something while careful newbies just get slowed down by all the things to research. Supervision like what I used to get in my programming classes or what I’m getting now at Third Workshop is a practical must-have. I don’t always get the answer I’m looking for right away, but stray comments tend to provide seeds to plant in a search engine.

Final Question: Have you ever made a major change and had little cracks you didn’t anticipate?

Family Photo Chest Part 3: Tools of the Trade

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am taking all my progress so far and discarding it. A lot has happened, yet not much at all. Let’s get started!

The past several weeks have been covered by me getting so far ahead on my Minecraft server, now called Button Mash. I managed to maintain a backlog of completed posts, but for reasons I will get into, I’ve run out, so here I am, “live” again.

This project has undergone a major overhaul in concept. Instead of a ready built solution, I will be facing material in a class I was unable to complete due to incompatibilities with the physical classroom environment; I will be building my site from scratch.

So far, it doesn’t look like it will be as bad as I thought it would be at first. I am going through the Flask Megatutorial by Miguel Grinburg [Link to first lesson]. As of this writing, I am on part 4 of 23. Yeah, I’m going to be at this for a while as I build up my skill set. Unfortunately, I doubt anyone would have fun reading half a dozen blog posts about following tutorials week after week, and I would get bored trying to keep them interesting. So, without much else I can do to keep things interesting, I think this project will be more of a monthly feature until I finish the tutorial. Don’t worry, there will be plenty of other aspects of the project to cover.

My main focus this week is covering the tutorial. I really do need to take it slowly, one lesson at a time until I finish the little “Microblog” project being built and I probably won’t ever deploy anywhere. The process of copying everything reminds me of when I learned Lua. One of the best ways to learn a language is to transcribe a complex, known working program.

The tutorial assumes you are using the command line, but I am using the Pro version of Pycharm. Incidentally, whenever the tutorial gives me step by step instructions for working with the command line, I need to stop and evaluate it for the IDE (Integrated Development Environment).

One of my earliest problems involved trying to get Microblog to work with Flask. That task was trivial, as there’s an option for it in the new project window.

Another, more difficult task was getting Microblog to run when I went to test it for one of the first times. It had two hard-coded URL’s to use, but only one was in seemingly in use. I ended up deleting a default “Hello World” file that was giving the false success. With the decoy out of the way, everything stopped working. The proper files under development were moved to where they actually belonged.

One of the things I did to make it work was a mistake. I don’t know why it worked or why it broke, but whatever I did, I addressed it properly later on, and only just recently cleaned up the mess I made when trying to revert a very early change.

All of my stubborn problems so far have been with the terminal/API differences. At one point, I misunderstood how things were supposed to be arranged. At another, I was unable to read the filesystem correctly, so I actually moved a few files where they should have been. Naturally, Microblog lost track of where they were.

Final Question: What is your favorite or most effective way to learn a programming language?