Logo
    Search

    How to Build a Website — The Show For Beginners

    enAugust 11, 2021

    Podcast Summary

    • Creating Your First Website: The BasicsLearn HTML, CSS, JavaScript, images, databases, servers, and domain names to build a foundational website without frameworks or build steps

      Building a website from scratch involves understanding the fundamental pieces, even for absolute beginners. The email received by the podcast hosts inspired them to create an episode on how to make your first website, covering the basics of HTML, CSS, JavaScript, images, databases, servers, and domain names. This will be a bare bones approach, without the use of frameworks, bundlers, or build steps, to help learners grasp the foundational concepts. The hosts believe that understanding these fundamentals is important and is the starting point for any web development project.

    • HTML provides structure, CSS adds design, and JavaScript brings functionality to a website.HTML builds the foundation, CSS enhances the look, and JavaScript adds interactivity to a website.

      HTML, CSS, and JavaScript are essential components in building and designing a website. HTML, or Hypertext Markup Language, serves as the foundation and structure of a website. It consists of various elements, such as paragraphs, images, and headers, which define the content and its structure. HTML elements are like building blocks that help create the basic layout of a website. CSS, or Cascading Style Sheets, comes next and plays a crucial role in making the website visually appealing. CSS is responsible for the design and styling of a website, including colors, fonts, and layout. It adds the "clothes and skin" to the HTML structure, making it visually engaging for users. Lastly, JavaScript brings the website to life by adding interactivity and functionality. It's the "person doing things" on a website, enabling dynamic content and user interactions. Together, HTML, CSS, and JavaScript form the backbone of modern web development.

    • Understanding CSS for website design and layoutCSS is essential for controlling website design, layout, and visual effects. Use link tags, style tags, or inline styles to apply CSS, with link tags being the most common method.

      CSS (Cascading Style Sheets) is a crucial aspect of web development for controlling the layout, design, and visual effects of a website. The cascade feature in CSS allows one style to be applied to multiple elements across a site, making it an essential concept to master. CSS includes various sections such as Grid and Flexbox for layout, animation, painting, and positional properties. To apply CSS to a webpage, there are three primary methods: link tags, style tags, and inline styles. The most common approach is using a link tag to connect an external CSS file to the HTML document. Style tags allow CSS to be written directly within the HTML file, and inline styles can be applied specifically to individual elements. The browser processes CSS quickly, allowing for efficient rendering of websites.

    • Using selectors for efficient CSS applicationUse selectors to target specific HTML elements and apply CSS styles efficiently. Inline styles can be useful in certain situations but should be used judiciously due to potential organization and maintenance issues.

      Instead of using global CSS to change the appearance of specific HTML elements, it's more effective to use inline styles or add CSS directly to the HTML element using a style attribute. However, it's important to note that inline styles are generally considered a less desirable practice due to potential issues with organization and maintenance. Instead, it's recommended to use selectors, such as class or ID, to target specific elements and apply CSS styles in a more efficient and organized manner. The speaker explains that inline styles can be useful in certain situations, such as when editing content via a WYSIWYG editor or when adding styles dynamically with JavaScript. However, they can lead to unorganized and sloppy CSS if not used carefully. When building websites, it's important to understand the different ways to apply CSS styles and choose the most effective method for each situation. By using selectors and organizing CSS into separate files, developers can maintain a clean and efficient codebase. The speaker also emphasizes that while it's important to follow best practices and advice from experienced developers, it's also important to learn from experience and make mistakes in order to fully understand the concepts. In summary, the takeaway is to use selectors to target specific HTML elements and apply CSS styles efficiently and effectively, while being mindful of the potential drawbacks of inline styles and using them judiciously when necessary.

    • Using CSS Selectors and Properties to Style HTML ElementsCSS selectors target specific HTML elements, while properties define the styles to be applied. Class selectors offer a flexible and reusable way to apply consistent styles across a website.

      In CSS, selectors and properties work together to apply styles to specific elements in an HTML document. Selectors define which elements to target, while properties determine what styles to apply to those elements. To identify HTML elements for styling, you can first use general selectors based on element types, such as all paragraphs having the same style. However, for more specific styling needs, you can use class selectors. Assigning a class to an HTML element in the markup allows you to define and reuse a set of styles in your CSS. For instance, a "call to action" class could include bold, red text with a larger font size and different background color. To summarize, selectors are used to target specific elements in an HTML document, and properties define the styles to be applied to those elements. Class selectors provide a flexible and reusable way to apply consistent styles across your website.

    • Understanding CSS SpecificityTo effectively use CSS, learn to target elements appropriately and manage specificity to ensure desired styles take effect, embracing the cascade and using naming conventions like BEM.

      While CSS may seem simple with selectors, properties, and values, the real mastery comes from understanding specificity. Specificity is the rule that determines which style takes precedence when multiple styles target the same element. To effectively use CSS, it's essential to learn how to target elements appropriately and manage specificity to ensure your desired styles take effect. The cascade, a fundamental aspect of CSS, can make things complicated, but embracing it and learning its intricacies will help you become a proficient CSS developer. Additionally, using systems like BEM for naming conventions can help prevent naming collisions and make your CSS more manageable as you build more complex websites.

    • CSS Pseudo Selectors: Interactivity and Dynamic ContentUse pseudo selectors for interactivity and dynamic content, but avoid overusing 'important' keyword, consider accessibility, and be cautious with third-party libraries.

      CSS, while primarily used for stylistic purposes, also includes pseudo selectors for interactivity and dynamic content. However, it's important to avoid overusing the "important" keyword, which can bypass the cascading order and make it difficult to maintain consistent styles. Instead, opt for more specific selectors or proper planning. Additionally, be mindful of accessibility by considering keyboard users when applying hover effects. Lastly, be cautious when using third-party libraries for CSS, as they can introduce inconsistencies and make it harder to customize your designs. Instead, consider learning them as tools for experimentation rather than reliance.

    • Start with CSS basics before using frameworksFocus on CSS fundamentals and stay updated with modern features for a strong foundation in web development.

      When learning CSS, it's best to start with the basics and avoid using frameworks right away. While frameworks can make development faster and easier, they can also hinder the learning process and make it harder to understand the underlying CSS concepts. As the speaker points out, there have been several generations of CSS frameworks, and they will continue to change throughout your career. Therefore, it's essential to have a solid foundation in CSS to build upon. Additionally, the speaker recommends learning about CSS variables or custom properties, which are a modern and powerful feature that will likely become commonplace in websites in the near future. Custom properties allow you to define and reuse values throughout your site, making it easier to maintain and update. The speaker also mentions Sentry, a sponsor of their discussion, which is a powerful error tracking tool that can help developers quickly identify and address issues in their applications. Overall, the key takeaway is to focus on learning the fundamentals of CSS and staying up-to-date with modern features to build a strong foundation for your web development career.

    • Exploring the Role of JavaScript in Web DevelopmentJavaScript powers interactivity and dynamics on websites, complementing HTML and CSS, with its own base language, DOM manipulation, standard library, and unique role in creating visually appealing web experiences.

      JavaScript is an essential programming language for adding interactivity and dynamics to websites, complementing HTML and CSS. It has its own base language with features like variables, functions, and data structures, as well as a Document Object Model (DOM) for manipulating web page elements. The base language also includes a standard library with common functionalities, making it a powerful tool for web development. HTML is a markup language for structuring content, while CSS is used for styling it. The debate over whether CSS is a programming language or not is ongoing, but ultimately, it doesn't matter, as all these languages serve unique purposes in creating dynamic and visually appealing websites. To try out Sentry for error tracking and monitoring, visit century.i0.com with the coupon code "tasty treat" for a free 2-month trial.

    • JavaScript: The Interactive ComponentJavaScript manipulates the DOM for real-time website interactions, from simple alerts to complex website transformations.

      JavaScript is the interactive component of a website, working in conjunction with HTML and CSS. It's like the person performing actions, while HTML and CSS serve as the structure and appearance. JavaScript interacts with the Document Object Model (DOM), which is how the browser understands the website, allowing for targeted manipulations and updates in real-time. These manipulations can range from simple, like displaying an alert, to complex, like flipping the entire website upside down. Learning JavaScript involves understanding its role in flow control and logic, which can take time to grasp, but is essential for creating interactive websites.

    • HTML, CSS, and JavaScript create dynamic websitesHTML structures, CSS styles, and JavaScript functions create engaging and responsive websites without requiring a page reload

      HTML, CSS, and JavaScript work together to create dynamic and interactive websites. HTML provides the structure, CSS adds the style, and JavaScript brings functionality. JavaScript can be used to fetch information from external sources using the fetch command, add or remove HTML elements, and respond to user events. By using these technologies in conjunction, developers can create engaging and responsive websites without requiring a page reload. It's important to note that there are many other aspects to building a website, such as command line terminal usage, serving and hosting, and databases or domain names, which will be discussed in future sessions.

    • MUX: A Developer-Friendly Video Streaming PlatformMUX is a developer-focused video platform for easy video uploading, tracking, and streaming with expertly configured CDNs for efficient delivery. Recommended for devs seeking control over video content.

      MUX is a developer-focused video streaming platform that offers easy uploading, tracking, and streaming of videos, along with expertly configured CDNs for efficient video delivery. The host, Wes Bos, shares his personal experience using MUX for Level Up Tutorials and highly recommends it as a solution for developers who want more control over their video content. Additionally, Wes shares his "sick pick" of the Tony Hawk Pro Skater 2 remaster for the Nintendo Switch, expressing his excitement about the game's return and the nostalgic feelings it brings back.

    • Appreciating the value of things and saving up for desired itemsLearning to appreciate the value of things and saving up for desired purchases is a valuable skill. Personal experiences, like longing for a pair of shoes or teaching kids about saving, can illustrate this concept.

      The value of things, whether it's a pair of expensive shoes or a desired toy, can be deeply felt by individuals, and the ability to save and appreciate the value of money is a valuable skill. The speaker shares a personal story of his longing for a pair of Osiris shoes and the disappointment of having them stolen. He also shares an experience of teaching his son the importance of saving up for desired items. The speaker also expresses his recent experience of investing in a mini-split air conditioner for his office, which he finds to be a worthwhile investment due to its efficiency and quiet operation. Overall, the conversation highlights the importance of appreciating the value of things and the significance of saving and making thoughtful purchases.

    • Todd's Excitement for His New Full Stack Development Learning Community and Free JavaScript NotesTodd shares his JavaScript notes for free, starts a new learning community 'Todd's Hut', and promotes Level Up Tutorials for premium courses and content creation opportunities.

      Todd is excited to start his own full stack development learning community, which he's calling "Todd's Hut," and he's also sharing his extensive beginner JavaScript notes for free on his website. Additionally, he mentioned Level Up Tutorials and encouraged listeners to check out their courses and sign up to become a content creator. Westboss.com is where you can find Todd's courses on various topics like JavaScript, Gatsby, React, ES 6, CSS Grid, and Node. Level Up Tutorials offers both free and paid courses, with a new tutorial series released every month for premium subscribers. Kobe Fayock's recent Next JS and ecommerce course is a great example of the high-quality content available. If you're interested in creating tutorials and earning royalties, sign up using the form in the show notes.

    Recent Episodes from Syntax - Tasty Web Development Treats

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    Scott and CJ chat with Paul Copplestone, CEO and co-founder of Supabase, about the journey of building an open source alternative to Firebase. Learn about the tech stack, the story behind their excellent documentation, and how Supabase balances business goals with open-source values.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 Who is Paul Copplestone?
    • 01:17 Why ‘Supa’ and not ‘Super’?
    • 02:26 How did Supabase start?
    • 08:42 Simplicity in design.
    • 10:32 How do you take Supabase one step beyond the competition?
    • 12:35 How do you decide which libraries are officially supported vs community maintained?
      • 15:17 You don’t need a client library!
    • 16:48 Edge functions for server-side functionality.
    • 18:51 The genesis of pgvector.
    • 20:59 The product strategy.
    • 22:25 What’s the story behind Supabase’s awesome docs?
    • 25:26 The tech behind Supabase.
    • 35:46 How do you balance business goals with open source?
    • 42:01 What’s next for Supabase?
    • 44:15 Supabase’s GA + new features.
    • 48:24 Who runs the X account?
    • 50:39 Sick Picks + Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    787: You Should Try Vue.js

    787: You Should Try Vue.js

    Scott and CJ dive deep into the world of Vue.js, exploring what makes this frontend framework unique and why it stands out from React and Svelte. CJ gives a comprehensive tour, covering everything from getting started to advanced features like state management and Vue’s built-in styles.

    Show Notes

    Vue.js: The Documentary.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    786: What Open Source license should you use?

    786: What Open Source license should you use?

    Scott and CJ dive into the world of open source, breaking down its meaning, benefits, and the various types of licenses you’ll encounter. From permissive licenses like MIT and Apache 2.0 to copy-left licenses such as GNU GPLv3, they’ll help you choose and apply the right license for your project.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    785: What’s Next for NextJS with Tim Neutkens

    785: What’s Next for NextJS with Tim Neutkens

    Scott and Wes dive into the world of Next.js with special guest Tim Neutkens from Vercel. They explore the latest updates, including the React Compiler and React Server Components, discussing their impact on developer workflows and the future of Next.js development.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 What does the React Compiler do?
    • 05:04 Will React Compiler help with managing Context?
    • 06:39 What happens if you’re not using a React Compiler?
    • 09:30 Will this work on any NextJS version?
    • 12:18 What are React Server Components?
    • 16:28 Shipping all the data inside an encapsulated component.
    • 20:17 Clearing up the frustrations around retrofitting server components.
    • 23:13 Handing migration.
    • 28:30 Is this just a fetch request with props?
    • 36:41 How closely are the NextJS and React teams working?
    • 41:53 Will we ever get Async Client Components?
    • 43:52 Async Local Storage API.
    • 45:31 Turbopack.
    • 57:51 Sick Picks & Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    784: Logging × Blogging × Testing × Freelancing

    784: Logging × Blogging × Testing × Freelancing

    In this Potluck episode, Scott and Wes tackle listener questions on modern blogging, website environmental impact, and using LangChain with LLMs. They also cover CSS hyphens, unit vs. integration testing, and balancing web development with new parenthood.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    Scott and Wes dive into the world of browser caching for audio files, exploring the File System API and the Cache API. They discuss size restrictions across different browsers, how tools like Riverside.fm leverage IndexedDB, and walk through code examples for creating, retrieving, and managing cached audio data.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    782: The Developer’s Guide To Fonts with Stephen Nixon

    782: The Developer’s Guide To Fonts with Stephen Nixon

    Scott and CJ are joined by Stephen Nixon of ArrowType to delve into the world of fonts and type for developers. They explore the intricacies of font creation, the utility of variable fonts, and offer tips for making visually appealing typography on the web.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    In this potluck episode of Syntax, Scott and CJ serve up a variety of community questions, from the nuances of beginner vs. advanced TypeScript to the pros and cons of SvelteKit. They also discuss falling out of love with React, shipping private packages via NPM, and the eternal struggle of always starting but never finishing projects.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    780: Cloud Storage: Bandwidth, Storage and BIG ZIPS

    780: Cloud Storage: Bandwidth, Storage and BIG ZIPS

    Today, Scott and Wes dive into cloud storage solutions—why you might need them, how they use them, and what you need to know about the big players, fees, and more.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    779: Why SQLite is Taking Over with Brian Holt & Marco Bambini

    779: Why SQLite is Taking Over with Brian Holt & Marco Bambini

    Scott and CJ dive into the world of SQLite Cloud with special guests Brian Holt and Marco Bambini. They explore why SQLite is gaining traction, its unique features, and the misconceptions surrounding its use—let’s get into it!

    Show Notes

    • 00:00 Welcome to Syntax!
    • 01:20 Who is Brian Holt?
    • 02:26 Who is Marco Bambini?
    • 05:12 Why are people starting to talk so much about SQLite now?
    • 08:47 What makes SQLite special or interesting?
    • 09:46 What is a big misconception about SQLite?
    • 11:13 Installed by default in operating systems.
    • 12:03 A perception that SQLite is intended for single users.
    • 13:36 Convincing developers it’s a full-featured solution.
    • 15:11 What does SQLite do better than Postgres or MySQL?
    • 17:30 SQLite Cloud & local first features.
    • 20:38 Where does SQLite store the offline information?
    • 23:08 Are you typically reaching for ORMs?
    • 25:00 What is SQLite Cloud?
    • 27:29 What makes for an approachable software?
    • 29:18 What make SQLite cloud different from other hosted SQLite options?
    • 32:13 Is SQLite still evolving?
    • 34:40 What about branching?
    • 37:37 What is the GA timeline?
    • 40:04 How does SQLite actually work?
    • 41:19 Questions about security.
    • 44:28 But does it scale?
    • 45:52 Sick Picks + Shameless Plugs.

    Sick Picks

    Brian: Trainer Road
    Marco: Tennis

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    Related Episodes

    68: Ember 2 & The Ember Community

    68: Ember 2 & The Ember Community

    Summary

    Ember community leaders Audrey Listochkin (@listochkin) & Robert Jackson (@rwjblue) talk with us about the long awaited Ember 2 release and the Ember community across the globe. The future of Ember is larger than this 2.x release and because of it’s dedicated community much more than was planned originally has surfaced and new features are underway already! Learn how you can get involved and improved the Ember ecosystem.

     

    O’Reilly Media Partner Discounts

    The Web Platform Podcast is a proud O’Reilly Media Partner. As such, one of the benefits we provide our listeners are special  discounts such as 50% off ebooks and 40% in printed material. This includes but is not limited to books on the web technologies. Your discount code is PCBW so head over to http://www.oreilly.com/ right now to get all your favorite tech books at much lower prices.

    Your Latest O’Reilly Discounts

    20% Discount to FluentConf http://conferences.oreilly.com/fluent-javascript-html-ca/

    Call for proposals is done, registration is open, and O’Reilly Fluent Conf is back in just a few months. Fluent, The Web Platform conference will be held in San Francisco, CA on March 7-10 2016. Get practical Training in JavaScript, HTML5, CSS and the latest web development technologies and frameworks. The Web Platform Podcast listeners receive a 20% discount when registering for the conference. Make sure you use the promotional code PCWPP20 to receive your discount.

    Fluent Conf Discount 

    Free eBook: Data-Informed Product Design

    http://www.oreilly.com/pub/cpc/1220

    Designers must understand user needs to create any product. But what type of data should you look at? In her new book, Data-Informed Product Design, Pamela Pavliscak outlines a way to use data of all kinds to understand the relationship between people and technology. Generally speaking, big data is quantitative; it gives you the what, where, and when, while “thick data” provides the qualitative perspective—the how and the why.

    Up until now, there hasn't been much information on how to combine quantitative big data with qualitative thick data. That's where this report can help. If you're involved in any aspect of product design, this is indispensable reading. It's useful, and we're pleased to offer it to you, for free! Get the free ebook now.

     

    Resources

     

    Panelists

    27: Building Codepen

    27:  Building Codepen

    Chris Coyier (@chriscoyier), creator of CSS-Tricks & Codepen speaks with The Web Platform Podcast of buiding the Real Time Code Editor based on CodeMirror, Codepen.io. We go into what designers, educators,and developers are doing with this service and how we can best utilize codepen in our own work.

    We also focus on the UX and features of the service that have led to it’s success on various levels. Chris is a well known author, speaker and is the podcast host of ShopTalk Show.

    Resources

     

    Panelists

     

    Sponsors

    110 The AMP Mobile Revolution

    110 The AMP Mobile Revolution

    Paul Bakaus (@pbakaus), Google Engineer, has recently been leading the AMP Project which is an open source initiative to optimize content for mobile devices using the web. AMP is heavily supported by several global news & media groups and has the SEO community in an uproar. Paul takes us through the core concepts of project and the reasoning behind it. Additionally, AMP leverages many newer technologies such as Service Workers, ES2015, and Custom Elements (One of the four Web Component pillars) making it an exciting project for developers to contribute to.

    Resources

    Building a New Tab Chrome Extension with Zero Dependencies

    Building a New Tab Chrome Extension with Zero Dependencies

    This story was originally published on HackerNoon at: https://hackernoon.com/building-a-new-tab-chrome-extension-with-zero-dependencies-5zlh3ue6.
    This story will walk you through the basic steps needed to get started building a new tab Chrome Extension powered by an API without any dependencies. Check out our Tech Stories Tab extension for reference.
    Check more stories related to writing at: https://hackernoon.com/c/writing. You can also check exclusive content about #hackernoon-top-story, #chrome-extension, #javascript, #html, #css, #tutorial, #chrome, #browsers, #web-monetization, and more.

    This story was written by: @Dane. Learn more about this writer by checking @Dane's about page, and for more stories, please visit hackernoon.com.

    Building a New Tab Chrome Extension with Zero Dependencies will walk you through the basic steps needed to get started building a new tab Chrome Extension powered by an API without any dependencies. Google provides a ton of boilerplate examples, but digging through that mess can be a little like navigating through a labyrinth. Google recommends having a 128x128 pixel icon and a 16x16 pixel icon at minimum. The extension will be used when a user opens a new browser window and fetches content from an API.

    Tech News (WEEKLY 6-4-2018)

    Tech News (WEEKLY 6-4-2018)
    Please follow Tech_Uncensored:
    IG: tech_uncensored
    Twitter: tech_uncensored
    FB:  /techuncensored
    Now ONE new episode every week!

    Topics in this week's episode (copy/paste links)