sethserver / all posts
You know what's funny about the most recent AI revolution? It's actually pushing us to be more... human. I've spent decades watching the SEO world evolve from keyword stuffing to content farms to whatever the next "guaranteed page one ranking" trick happened to be. More recently, with AI churning out content faster than a caffeinated squirrel hoarding nuts, something unexpected has happened: authentic human expertise has become more valuable than ever. read on »
Over 10 years ago I wrote a Python program to help my wife with her side of the family's Secret Santa gift exchange. Now I am unleashing it onto the world! read on »
Create secure, Discord-compliant passwords instantly with my Discord Password Generator. Follows Discord-specific security best practices. Generate strong passwords that meet all Discord requirements while protecting your account from common Discord-based threats. read on »
In this thought-provoking post, a seasoned tech startup veteran explores the pitfalls of "lizard brain marketing" - strategies that bypass higher reasoning to appeal to primal instincts. While effective in the short term, these tactics can erode trust, invite regulatory backlash, and raise ethical concerns. The author advocates for sustainable marketing approaches that focus on genuine value, transparency, and ethical considerations, ultimately building more resilient and respected tech businesses. read on »
In this installment of "Flashes & Failures," we pull back the curtain on startup theatrics, exposing the reality behind dazzling promises. From "AI-powered automation" that's really just glorified spreadsheets, to corporate vampires draining companies of assets, to pre-IPO paradises that turn into support floor nightmares, we explore the smoke and mirrors of the startup world. Learn to develop a healthy skepticism and ask the right questions to separate genuine innovation from elaborate theater. read on »
Join me, Seth, on a wild ride through the startup world's underbelly. From adult entertainment surprises to sports betting bamboozles, I've seen it all. In this "Flashes & Failures" series, I'll share personal tales of triumphs and face-plants, shedding light on the tech industry's less glamorous side. Buckle up for a journey filled with eccentric geniuses, shady dealings, and valuable lessons learned in the trenches of Silicon Valley. read on »
Tokens: The Linguistic Legos of AI Language Models Dive into the world of tokens, the fundamental building blocks that power Natural Language Processing and Large Language Models. From basic word splitting to sophisticated subword techniques, discover how these unsung heroes enable machines to understand and generate human language with surprising accuracy. Uncover the methods, challenges, and future of tokenization in this comprehensive exploration of the linguistic units that bridge the gap between human communication and artificial intelligence. read on »
In the fast-paced world of startups, disruption is often seen as the holy grail. However, not every business function needs a revolutionary overhaul. This post explores five key areas where startups should tread carefully: payroll processing, regulatory compliance, accounting practices, basic infrastructure, and customer service. By respecting established practices in these areas, entrepreneurs can build a stable foundation for true innovation where it matters most. read on »
In this insightful post, a seasoned startup veteran shares five battle-tested techniques for navigating the AI resume revolution. From identifying unnaturally formal language to implementing practical skills assessments, these strategies help startups uncover authentic talent in an era of AI-generated applications. The author emphasizes the importance of embracing the human element in hiring while adapting to the changing landscape of recruitment in the AI age. read on »
Vector spaces: the unsung heroes of modern machine learning. From natural language processing to image recognition, these mathematical constructs form the backbone of AI. But what exactly are they, and why are they so crucial? This post demystifies vector spaces, exploring their history, basic concepts, and real-world applications. We'll dive into multi-dimensional visualization, compare traditional embeddings with LLM approaches, and even create a simple fruit-based vector space. Whether you're a beginner or a seasoned pro, understanding vector spaces is key to navigating the complex world of artificial intelligence. read on »
The pursuit of Artificial General Intelligence (AGI) may be misguided. Instead of creating a singular, omniscient AI entity, we should focus on orchestrating a symphony of specialized AI systems. This approach leverages current AI capabilities, allows for faster development and deployment, and mitigates ethical concerns associated with AGI. By embracing an AI orchestra rather than a single all-knowing entity, we can create practical, powerful AI tools that tackle complex real-world challenges while complementing human capabilities. read on »
Excel's date handling quirks offer a fascinating glimpse into the complex world of software development, where early design decisions can have far-reaching consequences. From the infamous 1900 leap year bug to gene names accidentally becoming dates, Excel's temporal tribulations serve as a reminder of the challenges in balancing backwards compatibility with accuracy. As we continue to rely on this ubiquitous spreadsheet tool, its date-related idiosyncrasies persist, shaping how we interact with data and influencing fields from genetics to international business. read on »
Explore the telltale signs of struggling startups in their final stages, including communication silence, hiring freezes, desperate pivots, extreme cost-cutting, executive departures, and frantic searches for saviors. Learn valuable lessons from these experiences for founders, investors, and the broader startup ecosystem. read on »
Discover 10 essential MySQL performance tuning tips to optimize your database queries. Learn about proper indexing, query optimization, table structure, caching, server configuration, and more to significantly improve your database efficiency and speed. read on »
Learn how to build a successful Minimum Viable Product (MVP) for your tech startup, from focusing on core features to gathering user feedback and pivoting when necessary. Discover real-world success stories and avoid common pitfalls in this comprehensive guide. read on »
Explore the Lean Startup methodology for tech entrepreneurs, covering its core principles, build-measure-learn loop, MVP creation, pivoting strategies, and customer development techniques. Learn how to apply these concepts to build successful, innovative startups through real-world examples and practical tips. read on »
Explore how AI techniques are revolutionizing Python code optimization, from automated bottleneck identification to intelligent algorithm selection and data structure optimization. Learn about current tools, future possibilities, and the balance between AI assistance and human expertise in creating high-performance Python applications. read on »
Discover essential techniques for refactoring legacy Python projects, including modularization, design patterns, and syntax updates. Learn how to improve code quality, reduce complexity, and enhance maintainability while preserving functionality in this comprehensive guide to code refactoring. read on »
Explore asynchronous programming in Python using asyncio to boost application performance and scalability. Learn key concepts, practical examples, and best practices for handling concurrent operations efficiently in I/O-bound scenarios. read on »
Explore functional programming in Python with lambda functions, map, filter, and reduce. Learn to write cleaner, more efficient code using these powerful techniques for data manipulation and program structure. read on »
Explore Python design patterns including Singleton, Factory, and Observer, with code examples and real-world applications. Learn how to implement elegant solutions to common programming problems and create more maintainable, scalable Python code. read on »
Explore Python's itertools module for efficient data processing and manipulation. Learn about iterators, generators, and key functions like cycle(), repeat(), chain(), product(), permutations(), and combinations(). Discover real-world applications and best practices for optimizing your code using itertools. read on »
A comprehensive comparison of Python and JavaScript, exploring their strengths, ecosystems, and ideal use cases to help developers choose the right language for their next project. read on »
Explore Python type hinting to improve code clarity, catch bugs early, and enhance development efficiency. Learn syntax, complex annotations, benefits, best practices, and tools like mypy for static type checking in this comprehensive guide. read on »
Explore advanced functional programming techniques in Python beyond list comprehensions. Learn about higher-order functions, lambda expressions, and practical applications using the functools module to write more elegant and efficient code. read on »
Discover Python's hidden gems: lesser-known built-in functions that boost productivity. Learn about enumerate(), zip(), any(), all(), and more to write efficient, readable, and Pythonic code. Elevate your Python skills with these powerful yet underutilized tools. read on »
Explore Python's context managers beyond basic 'with' statements. Learn to create custom managers, handle multiple resources, and use them for timing and logging. Discover how mastering context managers can enhance your Python skills and even relate to startup management. read on »
Explore Python's walrus operator (:=), a powerful feature for simplifying code. Learn its syntax, common use cases, potential pitfalls, and best practices. Discover how this assignment expression can enhance readability and efficiency in various programming scenarios, from data processing to game development. read on »
Explore the continued relevance of older machine learning models in real-world applications. This post discusses the strengths, use cases, and enduring value of classic algorithms like Naive Bayes, linear regression, and SVMs, emphasizing the importance of choosing the right tool for the job in AI and data science. read on »
Docker is a tool that allows you to package your application and its dependencies into a container that can be run on any system. This makes it easy to deploy your application to different environments without having to worry about dependencies. read on »
Python is an amazing language and it's easy to get started. However, there are a few things you should do to ensure your environment is setup properly. read on »
Technical debt is a term that has been used to describe a myriad of different things. The most common use of the term is to describe the amount of work that needs to be done to fix a system that has been poorly designed or implemented. read on »
SQL Injection is a type of attack that allows malicious users to inject SQL statements into non-validated queries. This can be used to read and modify data in your database. read on »
This random password generator creates strong random plain text passwords using the PCG32 random number generator without sending the password over the internet or storing the generated password on a server. read on »
Use the unicode random password generator to create secure passwords using unicode characters such as emojis and extended latin characters. Unicode passwords are much more secure than traditional ASCII passwords. read on »
This secure random passphrase generator creates random plain text passphrases using the PCG32 random number generator without sending them over the internet or storing them on a server. read on »
The horrifying - yet eerily familiar - dystopia full of murder-bots and all-knowing robot overlords; and the oh-so-close utopia featuring flying cars and droid servants darting around: these futures have been part of our collective imagination for over a century now. As much as I love Sci-Fi, I am compelled to promote a less intense and much more practical future. read on »
Let me reframe this question using different technology. Why are Toyota Corollas so popular despite being so slow? They're obviously much slower than rocket powered aircraft! Things just got crazy, right? Let's do some math to prove our point about how slow Toyota Corollas really are when compared to rockets. read on »
I love consuming new information. The first big breakthrough in my reading journey was Amazon's book delivery service. It was no longer necessary for me to coerce one of my parents into driving to B. Dalton and watch as I aimlessly wandered... read on »
The Startup Conundrum: Decoding the Myths and Realities of Tech Entrepreneurship From coffee shop visionaries to family members with the "next big thing," we've all encountered self-proclaimed startup gurus. But what really defines a startup, and how does it differ from a traditional small business? This post dives into the high-stakes world of tech entrepreneurship, exploring the unique characteristics of startups - from their inherent riskiness and lack of traditional structure to their ability to pivot quickly and aim for moonshot goals. We'll also examine the startup funding puzzle and the exit-focused mindset that sets these ventures apart from their small business counterparts. Whether you're considering launching a startup or simply curious about the ecosystem, this exploration will help you navigate the complex landscape of tech entrepreneurship. read on »
After more than two decades as an engineer and over a decade as a hiring manager I've experienced my fair share of terrible engineering interviews. From quizzes to whiteboarding, take-home tests to awkward real-time coding exercises; I feel as though every startup I've worked at has had the exact same growing pains. read on »
It's generally considered bad form to use the root MySQL user to manage and query your database. One of the first things I do after spinning up a MySQL database is create users with varying degrees of permissions. read on »
GitHub does not like using the same deploy key across multiple repositories. Try it, you'll get a really fun "Key is already in use" error in a lovely pink box at the top of your screen. What if we have multiple repositories residing on one server? How do we pull from different repositories using the same user? read on »
Time in milliseconds since COVID quarantine began... read on »
When working with Python dictionaries you'll find yourself needing to access a key that may or may not exist. The easiest way to do this is with the get() method. read on »
Python has some pretty amazing features, and one of its most powerful and versatile is the for loop. As you can see by the examples below the for loop in Python is quite powerful when used in conjunction with... read on »
The conciseness of the Python language paird with its easy-to-use REPL make it ideal to hack out quick and easy scripts. One thing you can do is quickly and securely generate a random password with practically one line of code. read on »
If you've spent any time working with Python environments you're bound to have run into errors such as pip: command not found, No module named pip, ModuleNotFoundError: No module named 'distutils.util', or other Python 2.x vs Python 3.x issues. read on »
Python helps make a lot of things really easy. The conciseness of the language make it awesome to accomplish simple tasks in as few lines as possible. One of these simple tasks is checking to see if a file exists. read on »
When debugging and profiling Python software you'll find yourself relying on Python's built-in logging module. Something that is very simple to overlook is the fact that the root logger defaults to WARN and not DEBUG. read on »
When using Python for Data Science or general Programming you'll find yourself needing to read and parse very very very large files. The easiest way to accomplish this is by iterating over the actual file object. read on »
When using Python for Data Science or general Systems Administration you'll find yourself needing to recursively read a directory tree, remember all (or some) of the files in the directories and then do something fun with those files. read on »
My wife is in charge of our families' annual Secret Santa Gift Exchange. Because she, unfortunately, knows about my background in math and computer science her requirements have become more extreme. read on »
When working with Python dictionaries you'll find yourself needing to access a key that may or may not exist. The easiest way to do this is with the get() method. read on »
In my mind the easiest way to understand Python's slice notation is to visualize it with real examples. Once you get it under your fingers you'll find list slicing is an invaluable tool to have in your Python toolkit. read on »