Google Pixel 8 Pro and Pixel Watch 2… Reviewed?

This site is called “Deluxe Coding” and was intended to be a home for my thoughts about coding. As a developer, my skillset has grown beyond just coding. I am now working with full stack projects, cloud infrastructure, microservices, hosting, etc. As all these things pertain to the overall task of software development, I think it may be okay for me to discuss other aspects of technology in addition to software development.

Most of the technology that we use today involves at least some level of coding. One such product is the smartphone… essentially a full-blown computer that we carry around in our pockets or purses.

I was one of the fortunate ones to have purchased and received a brand-new Google Pixel 8 Pro along with the Pixel Watch 2 on October 11, 2023… one day before launch. I think I may write about these two devices as my first ever hardware review on this site.

7 Best Software Development Tutorials on YouTube

AI-generated image depicting cartoon characters watching a computer code on the big screen in a theatre.
The author and his friends watching tutorials on the big screen

There are thousands of software development tutorials on YouTube. It can be quite the task to find good tutorials or those which are more suited to your learning style. I would like to introduce you to what I consider to be the best YouTube channels with tutorials. In the meantime, please read why I consider these to be the very best.

These kind people have a way of explaining software concepts that ropes you in with interest. In addition to teaching how to write compelling software, they also tell us about the industry as a whole and their real-world experiences. Some of them also offer paid courses on Udemy and other platforms. I suggest purchasing the paid courses after getting a taste of their style from watching YouTube. The courses go much more in depth and teach you to build a wider variety of applications.

Whatever you do, don’t allow yourself to get trapped in “Tutorial Hell”. That term describes a state where students find themselves stuck in a revolving door of tutorials while lacking the ability to actually create there own projects.

The problem is that some people simply follow tutorials in order to complete the project being demonstrated. They are too focused on just following instead of learning and applying.

The best advice for taking tutorials is to start developing your own project alongside that of the tutorial. This will keep you more motivated and allow you to make real-world use of the concepts explained by these fantastic instructors.

Rather than list 7 specific tutorials, I would like to suggest their YouTube channels. The following channels contain some of the very best tutorials:

Settling Down with Code

Photo by Antoni Shkraba: https://www.pexels.com/photo/person-using-black-laptop-computer-5475752/

The past couple of years have been hectic. I have learned a LOT and gained a lot of experience in programming. It seemed like every day I was asking myself, should I learn this? I think I’m gonna need to learn this. In the beginning, I felt overwhelmed. There is just too much to learn. New stacks, packages, frameworks, and languages seem to be appearing every day!

After much tinkering around, I have settled on a few that should enable me to keep building the projects that I am interested in. This is not to say that I have no plans to pick up new things as they arrive or are needed. The key word is needed. I have learned that the technologies we should focus on are those we need for the task or job at hand.

For the things I am working on, I decided to settle on the following technologies:

  • React
  • Next JS (React)
  • Remix (React)
  • TypeScript
  • C#
  • .Net
  • Node JS
  • MySQL
  • MongoDB

I recently began studying C# and am quite impressed. Coming from a JavaScript background, I found C# easy to grasp, at least syntactically. My main languages are now JavaScript, C#, and VBA. I quite dislike VBA but have to use it at work for only one particular legacy project. I have to maintain the project and am looking forward to its retirement from our firm.

Software development can be a bit overwhelming due to the sheer volume technologies and languages out there. In the end, we must decide what to learn based on what we need to create. For example, I love Kotlin. I think it is a fun language to code in, but I stopped studying it because although it may be used in multiple areas, it is still primarily used for Android mobile apps. I am not into developing mobile apps at this time.

Learn what interests you, but put your focus on what is needed for the task at hand. You are not expected to know everything. I would suggest deciding what kind of project you will be working on, then choosing the appropriate language, framework, stack, etc.

Coding, Programming, or Tinkering?

Photo by Mikhail Nilov from Pexels

This post is not about the difference between a coder and a programmer. I have been using the term coding for the past few years but only now realized that I am more than a coder. My friend who is a well-established software engineer calls me a software developer.

Just the other day, after reading an article about the differences, I came to realize that I am now doing all sorts of things in addition to coding. I am setting up, configuring, and administering databases. Creating APIs. Managing website hosting. Updating Node packages. Trouble-shooting. Going crazy.

What got me interested in the wonderful world of software development in the first place was my love for writing logic and code. Little did I realize that a few years later, the act of writing logic and code would occupy maybe 25% of my time. The other 75% is in configuration, bug fixing, etc. As pesky, stressful, or downright annoying as bugs can be, there is great satisfaction in fixing them.

Maybe one day when I become successful, I can hire people to do all of the extra tasks while I focus on my true love: coding logic. On a plus side, doing everything myself has enabled me to broaden my skill set. I absolutely love learning and in this profession, I must learn things each and every day.

I have not been posting here as frequently as I would have liked. I have been very busy with work, school, programming, and managing infrastructure. Brighter days are ahead and I am looking forward to posting more content and eventually interacting with like-minded people who also love software development.

My Favourite Thing About JavaScript

JavaScript sure does receive a lot of hate and love. I remember a time when mere mention of the name would draw scorn. Times sure have changed and JavaScript is now a major part of the development community.

My favourite thing about JavaScript is the ease in which you can practice code concepts and features simply by using a web browser. There is no need to use an IDE and then wait for a compiler before seeing results.

I often test code via web browser when trying to get a better understanding of code writing in complied languages. As a fairly new programmer, I have now realized the similarities between the different languages. People are correct when they state that if you understand the concepts of one language, it is not too difficult to adapt another.

JavaScript has similar syntax to Java which is part of the C-style syntax. It is an entirely different language, but understanding JavaScript helped me to pick up Java. Kotlin to me is an easier form of Java. I really like a lot of the conventions used in Kotlin. Lately I have been reviewing an older language that has fallen out of favour ages ago… Delphi.

Personally, from a purely code aesthetic viewpoint, I love how JavaScript and Kotlin appear. I also like Java and C, but Visual Basic and Delphi look awful to me. Most of my experience is with JavaScript and Visual Basic. I have studied a bit of Java and Kotlin and only recently began reviewing Delphi at work.

I find that I am now interested in learning TypeScript. As great as JavaScript may be, it would be even greater as a typed language. TypeScript has solved that problem and I am looking forward to coding with it. Unfortunately, I will not be able to test code via web browser as it needs to be compiled.

Am I the only one who finds the display of code artistic in a sense? May I dare say that some code simply looks beautiful? I cannot say this about any code I have seen in Visual Basic.

Beautiful Code by Cottonbro at Pexels

Deeper into the Coding Hole

Photo by Kevin Ku from Pexels

I keep falling deeper and deeper into coding madness. This week, I started to learn C#. As if coding in VBA, JavaScript, Java, and Kotlin weren’t enough. Thankfully, knowledge of one language makes acquiring other languages much more palatable. The concepts remain the same, but syntax may differ in places.

It’s actually quite fun and intellectually stimulating to dig into a new language. I particularly enjoy discovering the syntactic similarities between languages, as it helps reinforce my understanding of core programming concepts. Even though the languages may look different on the surface, underneath they share many fundamental building blocks.

We are finally retiring the use of VBA at our workplace after many years of use. VBA was only ever used for two small helper applications for our internal staff. For the past 4 years, I was the sole maintainer of that VBA code. While I am happy to see VBA go from our company, I must give it props for inspiring me to get back into programming after a long hiatus.

My journey back into VBA was born out of my love for making complex Excel spreadsheets using advanced functions and macros. A colleague introduced me to VBA which opened up many more features and functionality compared to Excel formulas alone.

Around that time, I was also asked to help update our aging company intranet site. I had not done any web development work in ages, so I was excited but also intimidated. Web development has changed so much since I last dabbled in HTML and CSS many years ago. The rise of JavaScript has made the web a totally different beast compared to the static sites of old.

To work on the new intranet, I had to start learning JavaScript from scratch. I took some online courses and tutorials and began building simple projects and apps for myself outside of work. Despite its many quirks, I fell in love with JavaScript. I particularly enjoy how quick and easy it is to just jump in and start coding without a heavy IDE. The instant feedback loop of writing, testing, and debugging JavaScript code is highly gratifying.

These days most of my coding time is spent working on React JS and Node JS. I have come to really enjoy using React to create fast, dynamic single page apps. Combining it with Node on the backend opens the door to full stack JavaScript web development. I was recently introduced to Next.js, a popular React framework, so I enrolled in a Udemy course to level up on that.

Next.js provides an opinionated structure for building server-rendered React apps, which helps improve performance and SEO. The automatic code splitting and easy routing are also nice features that remove some typical pain points when working with React. I’m excited to build a couple projects using Next after I finish the course.

Last week, I decided to dive into learning C# since we use it extensively at my job. So far I am really liking the language – its syntax feels comfortable coming from Java and JavaScript. I flew through an introductory tutorial and also bought a highly-rated Udemy course to study.

Despite dabbling across so many languages these days, JavaScript remains my core focus, with C# being a close second. I don’t plan on jumping around randomly to new languages, but rather aim to go deeper on those two for the foreseeable future.

Again, I apologize for not posting super often lately. I do plan to write more as interesting topics arise in my self-learning journey. Wishing you well, and happy coding!

Welcome to Deluxe Coding

Alleyway in Gumi City, South Korea
Gumi-si, South Korea
© 2012 Charles Dunlevy

I have decided to jump into this wild world of blogging because it allows me to combine two of the things I absolutely love into one! Amongst my peers, it is no secret that I love to write. Writing has been one of my favourite things since elementary school. I truly do believe that the pen is mightier than the sword. I guess today we can replace pen with pixels? Keys? Who knows.

During my middle school years, in place of writing in my English class journal, I would write code. I somehow moved away from code and found other interests which lead me to architectural technology and accounting. Currently, I work in the software industry and am still fascinated with computers and technology.

I began working as an analyst at a small software company way back in the stone age (or so it seems since time sure does fly). Over time, I rediscovered my love for coding and programming.

To be honest, I am still not sure what the difference between coding and programming is. I remember reading some heated discussions a while back regarding the use of these terms.

I am not an expert, but think I could still help others by writing about the vast world of computers while I continue learning and improving my skills. The great thing about this industry is that you will never know everything.

I hope that you find this site useful as we enjoy this wonderful world.

Overwhelmed by Code

Crunching numbers on a Chromebook
© 2017 Charles Dunlevy

In the Beginning

I started learning to code at the end of 2017. At the time, I was interested in Visual Basic for Applications (VBA) because I enjoy working with Microsoft Excel. I started to learn VBA in order to help me unleash more of Excel’s power and utility but did not expect this experiment to send me down the path to madness.

Google Apps Script

I have been using Excel at work for as long as I have been working in offices. In recent years, Google Sheets has been my go to outside of my day job. As I dabbled in VBA, I began to wonder if such a feature exists for Sheets. I stumbled upon a YouTube video introducing Google Apps Script (or as I like to call it, GAS).

Google Apps Script provides similar functionality for Google’s suite of applications to what Visual Basic for Applications provides for Microsoft’s suite.

The syntax for GAS was entirely different from VBA. The system runs online in the web browser and has easy access to web-based features and APIs. I soon discovered that GAS was actually a form of the JavaScript programming language which is used for websites.

JavaScript

Curious, I started to look into JavaScript. Since JavaScript is primarily used in web page design, I had to learn to make web pages using Hypertext Markup Language (HTML) and Cascading Style Sheets (CSS). The 3 go hand-in-hand in creating beautiful, animated, and interactive websites.

I quickly found myself enjoying JavaScript much more than VBA. To me, the syntax looks “cleaner” and the flexibility of being able to practice code using nothing more than the developer features of a web browser lead me away from VBA. I had learned most of the VBA that I needed for work and would only study it when needed.

There is are unbelievable amounts of online resources to study JavaScript. Answers to most problems are often only a quick search away via Google or Stack Exchange. I love to study via textbooks but found that there are not enough up-to-date books available.

JavaScript is a massive beast which spawned many systems such as frameworks. The web developer community seems to be split between a growing number of framework camps such as Angular, React, etc. I found this all quite overwhelming but quickly discovered that I prefer actual raw coding during my studies. I have yet to use a framework, but will be choosing one soon.

Coffee break with iPhone 4
© 2012 Charles Dunlevy

Thoughts

I found myself overwhelmed by the thought that I will never know everything. There is too much out there, and things keep changing rapidly. This may be the reason why up-to-date computer programming books are so scarce.

I started to wonder whether or not I should continue with my studies. Frustration arose whenever I found myself stuck on a problem. Pure joy and jubilation was the feeling whenever said problem was solved.

Advice and Inspiration

One day while reading articles online, an experienced developer stated that nobody knows everything in programming and that “Google is your friend.” He mentioned that everybody in the industry searches Google, looks items up in textbooks, or searches through sites like Stack Exchange, Quora, Reddit, etc. He said that computer programming is an ongoing learning process. He also said that you should focus on what you need to know to do the tasks you are working on. There is no sense in learning things that you do not or may never use.

I read similar sentiment from different developers online and even spoke with some at work and at the local bar. All pretty much said the same thing. This inspired me to keep going! Also, I find that I really do enjoy solving the problems. It is quite a euphoric feeling when you solve a problem and get the program to do something that you were previously stuck on. Each time I feel not only a sense of accomplishment, but inspiration.

Programming Languages

I also looked at code comparison between different languages. I learned that there are a lot of similarities between some languages such as C-based… at least when it comes to syntax or parts thereof.

JavaScript

A lot of people confuse JavaScript with Java. The two languages are similar in the first 4 characters of their names only. There is some syntactic similarities because both use C-based syntax. Java is an Object Oriented Programming (OOP) language while JavaScript was originally just a scripting language. Java is a massive beast in itself. It contains a lot of boilerplate code (extra code which may appear to be unnecessary at times). Java is a much more powerful language used in all aspects of computer programming.

Java

I started to study Java since I would love to write desktop and Android applications. It is also one of the most widely-used languages so there are a tonne of resources available.

Java seems far more difficult than JavaScript. I also realized that desktop applications are not a big market as everything these days seems to be mobile or web-based. I figured I could study Java to create Android applications and JavaScript for web-based applications.

Kotlin

Google announced that a new language called Kotlin was now the preferred language for Android. They will continue to support Java as well. I started reading articles about this new language which has in fact been in development since maybe 2011 if my memory serves me correctly.

The surprising thing to me was how every author mentioned that the code was clean and concise and a joy to write compared to Java. I started to read some tutorials and found the same thing. Where in Java it may take 8 lines of code for something simple, Kotlin would take maybe 3 or 4. The syntax is much nicer to read and write.

I quickly bought some Kotlin books so that I may study this language and make good use of it. Since I was only at the beginning stages of learning Java, I have decided to put that on hold and focus on Kotlin for now. Kotlin is a Java Virtual Machine (JVM) language that compiles to Java bytecode. It has been getting a lot of praise from Java developers for ease of use, clean syntax, and concise code.

Conclusion

Coding is definitely not for everybody, but if you like a) problem-solving and b) learning/studying, it is a great field to get into. I have always loved learning. I always believed that learning is a lifetime activity. One should not stop learning just because they finished school and started their career. Some careers such as computer programming or most tech-related fields involve a lifetime of learning as you can never know it all and it keeps evolving.

Tutorial Hell

Lately I have seen a lot of posts on social media regarding a concept called “Tutorial Hell.” One glance at YouTube and you will quickly see that the service has been inundated with computer programming tutorials. This is a great resource for both new and experienced programmers alike but it does have its pitfalls.

Some people end up in a position where the follow a bunch of tutorials but find they cannot start and complete projects on their own. Some even go as far as to create portfolios filled with projects created via tutorials.

I find that simply following tutorials can lead to a false sense of achievement. I remember following a quite complex tutorial, feeling proud upon completion, then realizing that I actually did not learn much. All I was doing was watching, pausing, writing code as seen on screen, the resuming. I would get frustrated at how often I had to pause and rewind to catch some code because the instructor was going too fast.

Some instructors do not actually instruct. Their tutorial comes across as more of a ‘follow me’ or even ‘look what I can do.’ These are the guys who record a tutorial where all they are doing is speeding through a project without explaining things.

On the other hand, there are a lot of great tutorials out there. Some guys and gals just have a real knack for coding and teaching. They explain concepts in a manner that not only teaches you how but also why.

Tips and Advice

A good way to learn from tutorials is to stop and take notes. Actually, even better is to watch the entire tutorial without coding. Just absorb the information and watch the coding. After that, go back and take notes. Then watch the tutorial again while coding along.

After that approach, you should have a better grasp at the concepts but don’t stop there. Go on an make tweaks to the project. Make it your own. Next step is to create your very own project using concepts learned from the tutorial. I find I learn better when working on my own project and encountering many, many, many errors and challenges along the way.

Conclusion

The world of tutorials does not have to be Hell. It is a great resource if used correctly. Remember, not all teachers teach the same way, just like not all students learn the same way. Some people are just really good at memorizing things, others require note-taking. Find the method which bests suits you and enjoy the wonderful world of computer programming!

Computer programming is actually part art and part science. I have learned that is is good to tell a story with your code. It will aid in readability for others who may work on your project as well as make maintaining your code a lot easier.

For more about telling a story with your code, feel free to read: https://www.g2i.co/blog/telling-a-story-with-your-code