Hey Mosh, this is unacceptable

To Mosh,

Something needs to be done about the Django course, desperately. I have zero background in coding, I started 1 year ago and I believe I have hit the wall and may walk away from coding entirely. I have used your Python course to augment a coding camp course, and it helped. I then decided to learn development using your Django course because I enjoy your teaching style.

With that said, I have been fighting with Ubuntu and everything associated with it since the Celery module. I have been hard stuck for 2 MONTHS. No amount of research or trial and error has produced an outcome that has allowed me to move forward. The more I research an error, the further down the rabbit hole I get drug and the more confused I become.

I am on a windows 10 machine and from the moment I had to install Ubuntu it has been one absolutely tragic nightmare. Up until the Celery module the Django course was great, I was learning and feeling confident that I could make a solid go at coding, if for no reason other than to development my own personal ideas. Since that change in the course I regret every minute that I have spent in front of my machine trying to learn. The frustration and stress have quite literally caused me to forget practically everything I learned up to that point, that includes the boot camp stuff.

Issues that I have faced:

  1. MySQL would not connect to Ubuntu, at all. So I switched to PSQL on advice from the forum. That was only a partial success as the products inventory would not migrate, and still won’t.

  2. I had to find a task manager. I settled on Dramatiq, seems like that was a mistake as there is little info, aside from the docs, to help a newbie learn.

  3. Ubuntu has stopped recognizing the directories/files of the app and will not switch to pipenv because of a, I’m guessing, the default Bash shell ( I have zero interest/curiosity to learn yet another language/syntax or whatever it is called). My research has only confused me further as how to fix it.

  4. Ubuntu is not connecting to the DB

  5. Makemigrations and migrate have stopped working

  6. No amount of “cd storefront3” or “cd XXXX” works because Bash / Ubuntu are unable to find the directory or file (remember, I said the app was working as expected prior to the Ubuntu install) even while I am staring at them.

  7. All of a sudden EVERY module for the app returns this “ModuleNotFoundError: No module named ‘XXXX’”

I accept that Ubuntu is not looking in the directory where everything is saved, but this inability to find the directory/files JUST STARTED last week. It is one more insult to this injury of a change.

I am sincerely, strongly and loudly asking you or your staff to create a tutorial or SOMETHING to fix this problem for anyone else like me who is dead in the water and for future users of your Django course.

Please Mosh, you have a great thing going here. I have sung your praises to anyone who asks about getting started in coding to look at your courses. However, it is not appropriate to just say, “Sorry Windows users, Celery doesn’t support your machine, install this travesty called Ubuntu and GOOD LUCK!” without at least offering a branched tutorial on how to work with this nightmare.

Please help.


1 Like

To be clear: are you dual-booting Windows and Ubuntu or are you running a virtual machine (running Ubuntu) on your Windows computer?

Ubuntu is just one of many Unix-based Operating Systems (effectively competing with Windows and MacOS). I am a bit surprised to hear you are having such a bad time with it, so I was wondering what sorts of troubles you might be having. VMs often have little quirks since they are not running natively like your main OS so I could imagine some problems there (which may be more of an issue with your VM software rather than the OS).

Just speaking as a professional developer: Windows is rarely used by developers because they have not had native support for shells like bash or zsh (although that has turned a corner recently). MacOS is fairly popular, but many of us like the OpenSource options like Ubuntu since they are free to use.

Any OS you use is going to have some things it supports and some things it does not. That is just one of many tradeoffs you have to make as a developer.


Thank you for responding.

After looking up dual booting and if Linux is an OS, I’m going to say that it appears that I am dual booting. I have Ubuntu/WSL installed in VS and I think on my machine.

I guess my question now is do I have to use Linux or can I just build and deploy on my win10 and VS and uninstall Linux?

How do I resolve this? Thank you for your time.

For clarity I do not know if I am using a virtual machine, but I have and do use pipenv.

Not sure if they are same or not.

In general, you are dual booting if you have to restart your computer and pick another OS at bootup. Otherwise, if you boot up with Windows and then start a program that is running Ubuntu, that is a Virtual Machine or VM.

As mentioned, VMs can be very frustrating to use. For example, you have to explicitly set it up to get access to resources you want it to have access to (effectively, the VM by default is a complete sandbox from the rest of your machine). One of those is how to set it up to get access to folders (aka directories) on your main system.

In a dual booting setup, you should basically have access to everything by both operating systems (with the cost that you have to restart in the other operating system to switch between).


You can certainly just use Windows, it just means that you will not be able to use software which is not built for Windows (just as an Ubuntu or MacOS user cannot use software built only for Windows). At least not without emulating Windows somehow.

Thank you for your explanation, I now know I am using a VM.

Do you have a suggestion for a resource to help me set it up to work properly as a VM or would you suggest that I install Linux and learn how to use it?

For someone like me, new to all of this (and currently overwhelmed as I am) what would your advice be and what suggestion would you make to help make this a less painful process?

I am hesitant to suggest learning a whole new operating system just to learn about a particular programming language / piece of software. That being said, it is valuable to get used to using bash, etc .

How integral is this bit of software to the Django course? I have access but have not tried taking it.

Have you tried looking for a Windows replacement?

Hey there Quentin. I’ve been a Linux user for 5 years now and I’ve recently bought a new laptop which has windows 11 in it. I used to hate windows because I had a bad experience with it in the past cause I can’t configure things like I can in the Linux system, and I don’t like windows command line and powershell, they’re nothing like the Linux terminal which uses Bash. It’s more powerful and flexible.

Using Linux made me know the computer system better cause I’ve been debugging stuff. Just learn the Linux basic terminal commands.

Learn it from here this is a great tutorial. It teaches the command line commands and about WSL [The 50 Most Popular Linux & Terminal Commands - Full Course for Beginners - YouTube](https://Terminal Commands)

This is about Linux file system.
[the Linux File System explained in 1,233 seconds // Linux for Hackers // EP 2 - YouTube](https://Linux file system)
That should do it for now. :slight_smile:

I’m not having problems with Windows nowadays cause I’ve recently come up with this WSL. Windows 11 now comes up with WSL (Windows Subsystems for Linux) and the new WSL 2 is not a VM but rather it is a full Linux kernel and it works directly inside Windows. You can check it out here.

And if you don’t have in installed in your system then you can go to this site and download it. WSL | Ubuntu

Hope this helps. Happy Coding! :slight_smile:

1 Like

Thank you Bran, I will look at what you shared this weekend.

1 Like

I have no idea if Ubuntu is critical for the completion with Windows, because the course makes zero mention about it after the step change.

My assumption was that the VM would support Celery, it does not.

I’m going to uninstall the WSL extension, and use Dramatiq for the task management. Dramatiq is supported by Windows. I will need to learn how to use it, but that seems a more manageable process than trying to set configure a VM or learn a new OS.

My hope is that by ditching the VM the nightmare will end and I can complete the course.

I will also research a suggestion to upgrade to win11 because it apparently has a full Linux kernel and should perform better without the vagaries of a WSL VM.

1 Like

Happy to help. I’m starting this Django journey too. Reached the Designing API section from Django part 2 :grin:

Best of luck. It sounds as if you will have a better go of it than me. I would suggest you identify a task manager to use as Celery is not supported by Windows and it is what is used in the last part of the course. I am/will be taking a run at Dramatiq. It seems pretty straightforward.

Hopefully one day I will be an adult programmer like you and others and walk on solid ground. Until then I’m crawling through the muck, trying not to get mud in my mouth.

1 Like

Hey Quentin thankyou for your kind words but I’m still learning and I guess I won’t ever be satisfied with technology cause it always gets updated fast. That’s why having a strong foundation, like mastering the fundamentals and knowing the concepts are very crucial cause the fundamentals stays the same even if the technology rapidly updates. I’m always happy to help and learn from others as well. Cause when I teach I learn more. What’s your plan after learning Django? if you don’t mind me asking cause these type of responses motivates me more. Thanks

I am career transitioning from construction management after 20 years. I’m tired of traveling and want to be able to stay home and hang with my family and still have an income.

I’ve always played around with coding, but never as a focus with intent like now.

1 Like

What are the fundamentals and concepts that should be learned?

I finished a coding bootcamp, but I felt more like a parrot while going through it and I don’t feel like I truly learned anything from it.

That is a fantastic reason to want to learn programming.

Hard to pick just “the fundamentals” because the hardest thing to teach seems to be “how to break down a problem into steps that a computer can do” which isn’t exactly a fundamental, but it is the soul of programming.

Some important things are:

  • Conditionals (if / then statements)
  • Loops (typically for and while loops)
  • Functions / methods (re-executable code so you do not have to repeat yourself)
  • Object Oriented Programming
  • Data Structures (arrays, linked lists, hash tables, trees, etc)
  • Algorithms (which go hand in hand with data structures)

Most other things are just language specific parts of the same stuff (with the occasional tricky bits like concurrency). If you can understand those things, you understand most of programming.

1 Like

Thank you for the feedback, it will help me a lot.