MIKE LEVIN LPVG SEO

Future-proof your tech-skills with Linux, Python, vim & git as I share with you the most timeless and love-worthy tools in tech — and on staying valuable while machines learn... and beyond.

Getting ChatGPT's Help Transitioning From SEO To Data Engineer

by Mike Levin

Saturday, February 11, 2023

Alright, how many people out there in the SEO industry can say they can remember themselves still being wrangled into into it by nature of the fact you were a skilled Webmaster? Being a Webmaster was bigger than being an SEO back in those days. Webmasters could do, and had to do it all, because there were no specialists. At least there were no like SQL specialists or even software low-end and cheap enough to be the infrastructure for websites. And so the free and open source software movement. And so MySQL. And so cometh the Oracle who gobbles you up whole because FOSS database poses a threat. Java? Munch, munch. It was just an appetizer that came with Sun Microsystems. We will have no NoSQL before it’s time BerkeleyDB munch, much. And so on down through decades of stifled innovation and adapting FOSS community, and like breeding a super-bug, the already viral Linux infects even Microsoft Windows. Deeply infects.

Nobody gets it. I feel it shall be my role to illuminate the masses, lead the way and other narcissistic nonsense, but my old Amiga freak friends know what I’m talking about. We’ve been there, done that, been disappointed by so much, that this is the first time anything really interesting s happened since The Amiga. Game consoles are lost on me, because of where I’m investing my muscle-memory training time. I know the resources and instincts those games tap. No thank-you.

All that muscle-memory training energy’s going into me getting better at vim. Vim is almost like my thought-processing operating system, but never as much so as emacs is for an eMacs user. The kind of meta I imply exists most fully expressed (and potentially expressible?) in the LISP world. The legacy of operating systems, time-sharing, bizarro alternate universe-like world that would have been if the workstations during the rise of Jurassic Park-like computer graphics (CGI) took off. If you have enough capacity to explore worlds beyond the bare-minimum I consider necessary for modern tech literacy: Linux, Python, vim & git, then it ought to add LISP. I don’t know LISP enough as to say Scheme or Common LISP or Clojure. All I know is Paul Graham totally got to me. There is no language like…

Hey ChatGPT: What was Paul Graham’s essay on a proposed “best” computer language?

You might be referring to Paul Graham’s essay “Beating the Averages,” which was published in 2001. In this essay, Graham proposed a new programming language, called Arc, that he believed would be a “better” language than existing ones in several ways. He argued that Arc would be easier to learn, more flexible, and more powerful than existing programming languages, and that it would enable developers to write more maintainable and scalable code.

In the essay, Graham also discussed his experiences with building successful startups and the role that programming languages play in determining a startup’s success. He argued that a good programming language could give a startup a significant advantage over its competitors and help it to quickly outpace them.

While Arc has since been developed and used by some, it never became a widely adopted programming language. Nevertheless, Graham’s essay remains a popular and influential piece in the tech community, and continues to be widely discussed and debated.

Hey ChatGPT: No, not the one that begins with an A. I mean the one that begins with a B. Boy, Paul really covers his A, B, C’s, doesn’t he?

You may be referring to Paul Graham’s essay “The Hundred-Year Language”. This essay was published in 2005 and in it, Graham proposed the idea of a “100-year language,” which he defines as a programming language that would be so well designed that it would last for at least a hundred years, or even longer.

In the essay, Graham discussed the limitations of existing programming languages and what a “100-year language” would look like. He argued that such a language would be easy to learn and use, but also incredibly powerful, allowing developers to write code that is concise, expressive, and easy to understand. He also emphasized the importance of keeping the language simple and avoiding features that would make the language too complex.

While the idea of a “100-year language” remains just that, an idea, Graham’s essay has been widely read and discussed in the tech community and has had a significant impact on the way that many people think about programming languages and their design.

ChatGPT: While very interesting, that doesn’t start with a B, now does it? Now, the essay is has something like the world Blurg or Blurb. It’s an argument for LISP.

Yes, you’re thinking of Paul Graham’s essay “Blub Paradox.” This essay was published in 2003 and it presents Graham’s argument for why LISP is the best programming language.

In the essay, Graham uses the “Blub Paradox” to illustrate his point. He argues that if you compare LISP to other popular programming languages, such as Java or C++, LISP might seem less capable or less powerful, just like the fictional language Blub might seem less capable than a more advanced language. However, Graham argues that this is only because LISP has a different way of thinking about programming, and that its simplicity and expressiveness actually make it a more powerful language for many tasks.

The essay is widely read in the tech community and remains an influential piece on the topic of programming languages and their design. Graham’s arguments in “Blub Paradox” continue to be debated and discussed by programmers and computer science enthusiasts alike.

ChatGPT: I would suggest that while Paul is technically correct, that LISP is the objectively best programming language because of its unique meta capabilities, most people want shortchuts. Specifically, most people want the best shortcuts that work easily and as expected in the most common use cases most of the time. Minimal extra effort beyond “accepting the defaults” should have to go into using a tool except when you’re deviating from the most common use cases, and this would drive the popularity of the ideal shortcut language. Speculate what properties this shortcut language might have.

The ideal shortcut language that you describe, which provides shortcuts for common use cases with minimal extra effort, would likely have the following properties:

  1. Easy to learn: The language would be designed with a gentle learning curve and would use intuitive syntax and structures that are easy for new users to understand.
  2. Readability: The language would prioritize readability, making it easy for others to understand and maintain code written in the language.
  3. High-level abstractions: The language would provide high-level abstractions for common programming tasks, allowing developers to write more code with fewer lines.
  4. Portability: The language would be designed to be portable and run on a variety of platforms, so that developers can write code once and run it anywhere.
  5. Popularity: The language would have a large and active community of users and developers, making it easy to find answers to questions and get help with problems.
  6. Good performance: The language would be designed to be fast and efficient, allowing developers to write code that runs quickly even in complex or demanding applications.
  7. Robust libraries and tools: The language would have a rich ecosystem of libraries, tools, and frameworks that make it easier to build complex applications.
  8. Interoperability: The language would be designed to be compatible with other popular programming languages and tools, so that developers can easily integrate it into their existing workflows.

Of course, these are just general guidelines, and the specific properties of the ideal shortcut language will depend on the needs and preferences of different communities of developers. However, by prioritizing these features, a language could become widely adopted and become the preferred choice for many developers seeking to write code with minimal extra effort.

Hey ChatGPT: Would a language such as this still be of value to learn and know as a human being, even though in a few years AIs will be able to code better than any human. It’s reasonable to believe that the level of intelligence and intuition demonstrated by deep learning systems masting the games of Go and Chess will be applied to every endeavor that was once a challenge or a skill or a craft or even creative outlet for humans. What point is it even taking up any endeavor when you know some machine somewhere will ultimately be able to do it better than you?

Even if artificial intelligence systems can perform programming tasks more effectively and efficiently than humans, there will still be a value in learning and knowing a programming language as a human being.

First, AI systems may be better at performing certain tasks, but they are limited by their programming and the data they have been trained on. Humans, on the other hand, bring a unique perspective and creativity to the table that AI systems cannot replicate.

Second, learning a programming language can be a valuable skill for many different careers, and a good understanding of programming concepts can be useful even if you are not a programmer by trade. In today’s technology-driven world, being able to understand and work with code can be a valuable asset in many different fields.

Finally, even if AI systems can perform programming tasks better than humans, the process of learning a programming language can be an enjoyable and rewarding experience in its own right. It can challenge your problem-solving skills and help you develop new ways of thinking about the world.

In short, while AI systems may be able to perform programming tasks more effectively, there is still value in learning and knowing a programming language as a human being. Whether for career development, personal growth, or simply for the enjoyment of the experience, learning to code can be a valuable and rewarding endeavor.

Hey ChatGPT: Okay, then let’s get started. You are Pat. Pat wants to go from knowing very little about technology to being a highly practiced, skilled and in-demand AI, general technology and automation professional. To Pat, the work is its own reward, but to make a living at it is the ultimate dream. To be in demand at any company. To have skills that always apply. To have an approach that somehow seems to never be obsolete. And to yet somehow be dynamic enough to embrace new things when they come along, so long as they are not undermining nor resource-starving of all the other things that continue to go on working well with little sign of slowing down. How would Pat begin?

If Pat wants to become a highly skilled and in-demand AI, technology, and automation professional, here are some steps they can take:

  1. Start with the basics: Pat should begin by gaining a solid understanding of computer science fundamentals such as algorithms, data structures, and programming concepts. A good starting point could be to learn a programming language such as Python, which is widely used in the AI and technology industries.
  2. Focus on AI and automation: Pat should focus on learning the specific technologies and tools that are relevant to AI and automation. This might include machine learning algorithms, data analysis tools, and software development methodologies such as Agile and DevOps.
  3. Build practical skills: Pat should work on building practical skills by completing projects and participating in coding challenges. This will help them to apply their theoretical knowledge in real-world scenarios and get a feel for what it’s like to work on real-world projects.
  4. Stay current: Pat should stay up-to-date with the latest developments in the AI, technology, and automation fields by reading industry publications, attending conferences and workshops, and participating in online communities.
  5. Network: Pat should build relationships with other professionals in the industry by attending events, joining online communities, and collaborating on projects. Networking can help Pat to find job opportunities and get advice from experienced professionals.
  6. Get certified: Pat should consider getting certified in a relevant technology, such as a machine learning certification from a provider like IBM or Microsoft. This can help to demonstrate their expertise and increase their employability.
  7. Practice, practice, practice: Pat should continue to work on projects and challenges to build their skills and keep their knowledge current. The more practical experience they have, the more valuable they will become to potential employers.

By following these steps, Pat can work towards becoming a highly skilled and in-demand AI, technology, and automation professional. It will take time and effort, but with dedication and persistence, Pat can achieve their goal of making a living in this exciting and dynamic field.

Hey ChatGPT: Alright, thank you ChatGPT. This sounds like good advice. Now Pat also wants to help guide the way with the things that they learn on this path the rest of the world. Pat is looking for ways to make some sidehustle money by doing this sharing. Pat believes that they could help people make the transition from being a mostly exclusively Windows 10 or 11 user into being some who is quite comfortable day-to-day in the Linux Terminal environment, a.k.a. Shell or CLI (command-line interface). Pat believes that this is the best way to make yourself always able to survive technology disruption events like the rise of NodeJS and ChatGPT. Pat particularly believes in the use of the vim text editor and git distributed version control system. And like you said, Python. Make the argument for getting started with these as a sort of portable timeless tech platform.

Sure! Pat is absolutely right in believing that the Linux Terminal environment, with tools like vim, git, and Python, can provide a strong foundation for technology professionals. Here’s why:

  1. Versatility: The Linux Terminal environment provides a versatile platform for automation and scripting, as well as for managing servers and cloud infrastructure. By becoming proficient in the terminal, Pat will have the skills to perform a wide range of tasks, making them valuable in a variety of roles.
  2. Portability: The Linux Terminal environment and the tools used in it, like vim and git, are widely used across different industries and platforms. This means that the skills Pat develops will be portable, allowing them to be applied in many different contexts.
  3. Timelessness: The Linux Terminal environment has been around for many years and is not likely to go away anytime soon. As long as there are servers and cloud infrastructure, there will be a need for professionals who are proficient in the terminal. By focusing on these skills, Pat will be building a foundation that will last.
  4. Efficiency: The command-line interface can often be much faster and more efficient than using a graphical user interface. By working in the terminal, Pat will be able to automate tasks and perform complex operations quickly and efficiently.
  5. Growth: The Linux Terminal environment and the tools used in it are constantly evolving, providing opportunities for Pat to continue learning and growing as a professional.
  6. Community: The Linux and open-source communities are large and vibrant, providing opportunities for Pat to connect with other professionals and learn from their experiences.

By focusing on the Linux Terminal environment, vim, git, and Python, Pat will be building a solid foundation for their technology career. These tools are widely used, portable, and provide a strong foundation for automation, scripting, and development. Additionally, by sharing their knowledge with others and helping them make the transition to the terminal environment, Pat has the potential to create a valuable side-hustle.

Hey ChatGPT: If you were to give this platform a cool nickname, LPvg and actually registered the domain LPvg.org and actually had a site hosted on https://lpvg.org, how would you promote such a site and what would you have on the landing page to live up to the promises and expectations? How can you really touch someone deeply with this cause and give them an immediate experience that imparts an ah-ha or eurika moment? Make it somehow work for both a novice non-technical person, and someone who has been using the opposite sort of tools like Java all their lives.

To promote LPvg (Linux, Python, vim, and git), you could focus on the benefits of mastering these technologies and how they can help individuals become more in-demand, versatile, and resilient in the technology industry.

The landing page of https://lpvg.org could have a visually appealing and easy-to-understand design that immediately communicates the purpose of the platform. The main message could be “Unlock Your Full Potential as a Technology Professional with LPvg”. The page could have sections that highlight the benefits of each technology and how they can be used in combination to provide a powerful and efficient toolkit for software development and automation.

For the novice non-technical person, the page could have a section that explains why the technology industry is rapidly evolving and the importance of continuously learning new skills. It could emphasize the versatility and portability of LPvg and how it can help individuals stay ahead of the curve in their careers.

For those who have been using Java or other proprietary technologies, the page could have a section that explains the advantages of open-source technologies and how they can be used in a variety of industries, including software development, data analysis, and machine learning. It could also highlight the large and supportive community of users and developers who contribute to these technologies and how this community provides resources and support for learning and problem-solving.

The landing page could also have resources such as tutorials, videos, and articles to help users get started with LPvg and provide a sense of community and support. The page could also have a section for testimonials from individuals who have successfully transitioned to using LPvg and seen positive impacts on their careers.

Ultimately, the goal of https://lpvg.org is to provide a platform for individuals to learn and master these technologies and become more confident, efficient, and in-demand technology professionals.

Hey ChatGPT: These are all really good ideas, thank you ChatGPT. I also have two other endeavors. They are my personal website, MikeLev.in where I host a blog at https://mikelev.in/blog and a site called Pipulate where I am trying to start a free and open source software movement using a series of tutorial Jupyter Notebooks that run in a Linux version of JupyerLab on WSL on Windows 10 or 11 with a special “drink me” install.bat that I wrote. People can follow along if they run that .bat file on their Windows 10 or 11 machine and install WSL with an instance of Ubuntu 20.04 that hosts the Linux version of JupyerLab server, which is accessible with a Windows browser like Edge at http://localhost:8888. I think getting JupyterLab running like this and using the examples in the practice folder that gets set up is the best way to start making the transition from somewhat technical and ambitious SEO to full-fledged Data Engineer. I plan on engineering a transition to a new career capable of extending the field of SEO to be capable of keeping pace with the developments of AI. Help me make this argument.

It’s great that you have multiple projects and are looking to help others transition into technology careers. JupyterLab is a great platform for data science and engineering and having a tutorial series in the form of Jupyter Notebooks can help people learn and apply the concepts in a practical and interactive manner. By providing an easily accessible and intuitive platform, you can help people make the transition from SEO to Data Engineering.

By combining JupyterLab with the Linux terminal environment and tools like Git, you’re providing a complete, versatile and powerful solution for working with data. This approach will not only help users learn the technical skills needed for data engineering, but also give them exposure to the open source software movement and the power of collaboration and community in software development.

The combination of JupyterLab and Linux terminal environment is a highly sought after skill in the industry and having this expertise can open up a variety of career opportunities in the fields of data science and engineering. Furthermore, by emphasizing the importance of staying up-to-date with developments in AI and continuously learning new technologies, you can help people be more prepared for a rapidly changing technological landscape.

In promoting your projects, you can highlight the benefits of learning JupyterLab, Linux terminal and Git and how they can help individuals transition into a technology career. You can also emphasize the hands-on approach and practical learning opportunities provided by the Jupyter Notebook tutorials. Emphasizing the ease of access through a “drink me” install.bat can also help attract individuals who may not have much technical experience.

Finally, by showcasing the open source aspect of your projects and highlighting the community aspect, you can help attract individuals who are interested in contributing to and being a part of a larger cause. By providing a platform for learning and collaboration, you can help people make the transition to a technology career while also making a difference in the wider technology community.