RSSAmplifier

Blog

MeyerPerin

The MeyerPerin Foundation is a non-profit organization dedicated to the advancement of knowledge in science and technology, with a preferred focus on Artificial Intelligence and Education. We are especially interested in helping neurodivergent people thrive in their scientific and technical pursuits, especially those with Autism and ADHD.

meyerperin.orgRSS feed ↗44 posts

Latest posts

Croppers and the Death of Leetcoding

A couple of years ago, I wrote about the Luddites and the AI Revolution . In that post, I talked about croppers, the skilled workers who used massive 40-pound shears to finish cloth. Their skill was so specialized and physically demanding that you could identify a cropper by the large callus on their forearm, called a “saddle.” They were well-paid and high-status, and then machines came along and…

My new laptop for AI

I found a laptop that I can use for my AI work even though I travel a lot. The problem I love to travel, and as an applied scientist, I get to travel a lot for work, visiting partners in the field, and presenting the work of the [AI for Good Lab]. In addition, I also love to travel for leisure. Working with AI (training models or even doing local inference) meant having a “mobile workstation,” a…

Warming up to information

Information is powerful—especially when you have it before everyone else and know how to use it. In any market, whether it’s sports betting, stocks, or product pricing, being the first to know something can give you a huge edge. Warming up to information In February 2023, the Missouri Tigers basketball team (then 17–5) were heading to play the Mississippi State Bulldogs. On paper, the Tigers were…

Using Astral’s uv Pyhon packager in Azure Web Apps GitHub Actions

I will eventually have to write a more detailed post about Astral’s uv , a tool that all the cool kids are using. In summary, it’s a single tool that replaces a lot of different tools that we use to develop and distribute Python software. It can replace pip , pip-tools , pipx , poetry , pyenv , twine , and virtualenv . It’s also very fast. For now, I just want to show how to integrate uv in a…

Trip Report - Houston to New Orleans in a Kia EV9

In December 2024, on Christmas day, I drove my Kia EV9 from Fulshear, a suburb west of Houston, to New Orleans, a 380-mile trip. Range My Kia EV9 is the Land long-range AWD trim, with a 99.8 kWh battery. The listed range is about 290 miles, but that assumes a mix of city and highway driving and some idealized conditions. This listed value is somewhat misleading in the real world for many reasons,…

Understanding how LLMs work

Large Language Models (LLMs) like ChatGPT sure look like magic. And, like magic, it may be super interesting to pull back the curtain and understand how the magic trick works. Stephen Wolfram wrote an introductory article on What Is ChatGPT Doing … and Why Does It Work? in February 2023, just a few months after the release of ChatGPT. The article is also available as a book . Even though there was…

Using Bluesky to add comments to my blog

Does anybody still blog? I am of the opinion that if you are in a a position of technical leadership, you should have a blog , and the main reason is not because it helps you promote your work, but because you will forget all the stuff you did. Egotistically, if you write about it, you can remember what you did, and most importantly, how . Writing things as explanations to other people also helps…

Automatic posting from my Birdbuddy to Threads and Bluesky

I love my Birdbuddy. The Birdbuddy is a camera trap for birds. It’s a bird feeder that senses when something is in front of it, records a movie and takes several pictures. It then uses AI to identify the animal (usually a bird, but sometimes a squirrel) and sends me a notification on my phone, containing a “postcard”, a gallery with the video and some of the pictures it took. Whenever I realize…

The Yes-Damn Effect and the No-Yay Effect

You know the feeling. You said yes to something, and now it’s time to do it. But instead of feeling excited, you feel dread. This actually has a name: it’s called the “Yes-Damn Effect” and it’s the subject of lots of memes, usually titled “When you agreed to go out and the time to go out is getting closer.” The Yes-Damn Effect is usually caused by dynamic inconsistency: the “you” that needs to do…

Luddites and the AI Revolution

These days, calling someone a “Luddite” is an insult, a little bit like “boomer”. But the original Luddites were not exactly afraid of technology — they were afraid of losing their jobs to technology. They were skilled workers who saw their livelihoods threatened by machines that could do their jobs faster and cheaper. Sounds familiar? Croppers A central figure of the Luddite movement was the…

The Social Costs of Killing Vultures

In 1993, the patent of a painkiller called diclofenac expired and it started to be used in livestock. At about the same time, the population of vultures in India started to decline. Recently, researchers from UChicago linked these two events and showed that this resulted in approximately 100k additional HUMAN deaths per year. How? It was not known then, but diclofenac is extremely toxic to…

ADHD Treatment — 4-week update

In the beginning of 2024, I have been diagnosed with ADHD . Since then, I started treatment with medicine and therapy . Over time, I acquired a few technologies and developed a few strategies to cope with ADHD. This is my 4-week update on my treatment. 4-week checkpoint The doctor and I agreed to run the treatment for about four weeks, after which I should check back for any adjustments. I agreed…

Strategies I use to cope with ADHD

In the beginning of 2024, I have been diagnosed with ADHD . Since then, I started treatment with medicine and therapy . I have also written a 4-week update on my progress and I plan to continue documenting it. Over time, I acquired a few technologies and developed a few strategies to cope with ADHD. They are listed below, and I plan to keep updating them as I find new ways to deal with ADHD,…

Technnologies I use to cope with ADHD

In the beginning of 2024, I have been diagnosed with ADHD . Since then, I started treatment with medicine and therapy . I also wrote a 4-week update about my treatment. Over time, I developed a few strategies to cope with ADHD. Since I work with technology, I have also acquired several products and services that help me cope. They are listed below. Microsoft To-Do I use Microsoft To-Do to keep…

Running multiple OpenAI requests concurrently with Python’s asyncio

It’s possible that you have multiple OpenAI requests that you want to run concurrently. For example, you want to process several documents at the same time, so that you can finish processing them faster. You can do so by using Python’s asyncio library. Prerequisites To run the code in this article, you need to have Python 3.11 installed. This will enable you to use the TaskGroup functionality. You…

Books to Help Teenagers Fall in Love with Science

Here are some books that talk about science and technology in fun ways, and have been very successful with my teenagers. The books are ordered roughly in the order of preference of my teens. The one they liked the most (and re-read all the time) is Humble Pi, by Matt Parker. This is the very top of their list. Even the book on the bottom of this list, The Martian, is still a great book that they…

Starting ADHD treatment

On January 19th, 2024, I started treatment for ADHD. If you want to read more about how I got my diagnosis, you can read my previous post about getting Diagnosed with ADHD . Over time, I acquired a few technologies and developed a few strategies to cope with ADHD. The first week (Jan 12 - Jan 19) Switching from a diagnosis to a treatment was harder than I expected. After I finished the diagnosis,…

Is a PhD worth it?

“Is a PhD worth it?” is a question that I get quite a lot on LinkedIn. If you do an online search or ask ChatGPT about it, you will get a lot of answers, but most people find those answers unsatisfactory. A lot of the problem is with the question, as it’s a little bit like asking whether “is it worth it to travel to Seattle?” It depends on you, on the timing, and on your objectives. Most of the…

Replacing my reMarkable 2 with a Kindle Scribe

I recently replaced my reMarkable 2 e-tablet by a Kindle Scribe . The Scribe solves some of the problems I had with the reMarkable 2, and it is a better fit for my needs. In this post, I will describe what I use the Kindle Scribe for, and how it compares to the reMarkable 2. The Kindle Scribe is a tablet with an e-ink display, similar to the Kindle. It is designed to be used with a stylus, and it…

Getting an ADHD diagnosis

In October 2023, lots of people with ADHD started posting about their experiences on Threads . Have you ever commuted to work and forgot to bring your laptop? Check. Do you frequently procrastinate a simple two-minute task for several days? Check. As I started seeing a lot of myself in their experiences, and realized that I developed several coping mechanisms and acquired several coping…

Creating an Azure Web App with Authentication

This is the first post in a series of posts about creating a web app to manage my social media. The main page for this series is here . We begin by creating a new App Service in Azure using the Azure Portal . Important I did not use the sample code in section 1 from the link above, because I intended to use the code that uses the Microsoft Authentication Library (MSAL) for Python. I just created…

Automatically adding meta tags to your blog posts with OpenAI

As I was updating my blog, I realized that I had forgotten to add the description meta tag to many of my blog posts. This is the text that appears in search results and when you share a link on social media. I didn’t want to go through all my posts and add a description manually, so I decided to use OpenAI GPT to generate descriptions for me. This code is very simple, but it may be useful to you,…

Tech reviewers wanted for my Semantic Kernel book

I am wrting a book with Packt Publishing about the Microsoft Semantic Kernel . If you want to help by becoming a technical reviewer, please read on. The Microsoft Semantic Kernel is an SDK that integrates Large Language Models (LLMs) like OpenAI , Azure OpenAI , and Hugging Face with conventional programming languages like C# and Python. It allows you to define plugins that can be chained together…

Thread Manager - Managing Social Media

Thread Manager a the web app I intend to use to schedule posts to social media sites and run basic analytics. I’m starting from scratch as of January 2024, replacing a previous app I wrote to post exclusively to LinkedIn. I intend to post about the process of building this app on Threads as I build it. The code for this app is on GitHub . Note This is purely a hobby project. I have a lot of…

My experience with the reMarkable 2

Do you want to start journaling in the new year? Tired of carrying notebooks around? Maybe you just want your notes to be more organized? The reMarkable is a tablet with an e-ink display, similar to the Kindle. It is designed to be used with a stylus, and it is marketed as a paper replacement. Contrary to other tablets, if feels like paper. I got myself a reMarkable 2 in their Black Friday…

Explaining memes and images with the Semantic Kernel and the OpenAI Vision API

In this article, I’ll explain how to use the Semantic Kernel and the OpenAI Vision API to perform two tasks: Explain why a meme is funny Identify an animal in an image and pass the results to another function that generates three interesting facts about the animal. The examples in this article are intentionally simple. The goal of the article is to give you a good idea of the capabilities of the…

A Quick Tour of the Semantic Kernel

Introduction The Microsoft Semantic Kernel is a thin, open-source, software development toolkit that makes it easier for applications to interact with AI services. It was originally designed to power the Microsoft Copilots, such as Microsoft 365 and Bing. The initial version was in C#, but it has now been extended to Python and Java, and released to the developer community as an open-source…

Getting Started with Midjourney

Introduction Midjourney is a generative AI tool that can generate high quality images from text prompts. It is particularly good at generating photorealistic images, and also good at blending an existing picture with a prompt. Lots of people use Midjourney as a digital diary, or to quickly create images for their social media and blog posts. One unique characteristic of Midjourney is that its…

Getting started with Midjourney

I’ve added a new section to my blog, called A Quick Tour of Midjourney . You can find it here: https://links.meyerperin.com/mj . If you never used Midjourney before, or if you tried to use it but got quickly intimidated by the volume of messages in their Discord server, this will probably help. An important note: Midjourney is now a paid service, so you have to pay for a subscription (currently…

A/B testing needs a theory

Randomized controlled experiments (A/B tests) are frequently said to be the gold standard for decision-making. However, to make a good decision, you have to really understand what question is being answered. Let’s say, hypothetically, that you want to try a new color palette for your website. You have the mechanisms to run proper A/B tests: you can bucket users into A and B groups such that the…

Google Duplex was going to change the world five years ago

Google Duplex was going to change the world five years ago Introduction In 2018, Google announced its artificial intelligence (AI) system called Google Duplex, which was designed to make phone calls on behalf of users for tasks such as booking haircut appointments or making restaurant reservations. The technology sparked both excitement and concern, as people worried about the potential…

The data entry error that cost hundreds of millions

Have you ever had a bad day at work? On December 8th, 2005, a trader at Mizuho Securities in Japan probably had a worse one. That Thursday, a trader wanted to sell one share of J-Com for 610,000 yen (back then, this was about $3,600). However, when placing the order, they swapped the quantity and price, and ended up offering to sell 610,000 shares for 1 yen each. The company tried to cancel the…

Separating LeetCode grinders from coders

My preferred interview type is the technical phone screen. I can track my performance even without sophisticated reporting. I also face an interesting problem: how to separate LeetCode “grinders” from people who can code. Measuring screener performance I wrote before about the many steps in an interview process . The last few steps of the process are: technical phone screen, on-site interview (now…

Becoming Good at AI for Good

The Microsoft AI for Good Research Lab published an article last year about how to do AI projects in the #AI4Good domain. The current training academia gives to data scientists is not very practical. People learn data science with very sanitized datasets in very idealized problems, and when they meet reality, it’s usually a big shock. I think the “Becoming Good at AI for Good” article is a good…

Weak baselines

Gather close as I tell you another cautionary tale about data science. The finance team of a company was trying to forecast their monthly cash. An analyst had been doing that for about ten years, and had a record of cash actually received per month going back all those years. He realized that some months, like December, received a lot more cash than others, like February. The analyst used Excel to…

Reverse causation

Gather close as I tell you a cautionary tale about data science. A new data scientist had just started working on the collections team for a large company. One of the problems they wanted to solve was “does contacting customers help at all?” It’s an important question. After all, the cost of collections is directly related to the number of contacts. The more contacts, the more people. The DS had a…

Reverse laziness

I’ve noticed a behavior in both my professional life and with my kids doing their homework: people spend a lot of time on things they don’t like. Many years ago, I had that realization about myself. For some things I didn’t like doing, I’d procrastinate, complain, but ultimately ended up having to be engaged with that task over a long period of time. During that time, the stress of the task kept…

Optimization algorithms for your career

Most people in science and engineering professions are very familiar with the concept of optimization. We are also familiar with the traps of local versus global optimization and how to protect our code and models against those traps. However, we frequently fail to realize that the same concepts can be applied to our careers. The Trap It’s usually not hard to find what’s required to progress on…

Writing good emails

Earlier in my career, I took quite a while writing emails. As most people earlier in their careers, my main concern was to “not be wrong” rather than actually “moving the discussion forward efficiently” (or ending it). That was especially true when senior people were in the thread. I have been in threads with CEOs and CFOs of big companies, and these people are extremely efficient in their email…

Data science and 9/11

After the 9/11 attacks, the CIA was looking for Bin Laden all over the world. One promising lead was a figure that lived in a compound in Pakistan that always shielded his face when walking outside. The spies named this mysterious figure “The Pacer”, and got several aerial pictures of him. In order to try to find out whether this was really Bin Laden, they tried to figure out the the person’s…

The neurodivergent manager

You can be a people manager if you are #neurodivergent and an #introvert. I am. I spend a lot of my time talking to people. Most of them don’t know that I’m neurodivergent and an introvert. Instead, I have been described as example of an extrovert and “avid networker”. The easiest way to notice my neurodivergency is that I rarely make eye contact. When I do, it’s because my conscious mind reminded…

Why you should blog if you are a data scientist

A while back, David Robinson offered the following advice on Twitter: When you’ve written the same code 3 times, write a function When you’ve given the same in-person advice 3 times, write a blog post — David Robinson ( @drob ) November 9, 2017 He also followed it up with an excellent blog post aimed at aspiring data scientists. I think that the most important idea from that post is actually from…

Praising Conway’s Data Science Venn Diagram

Drew Conway’s Data Science Venn Diagram is perhaps the most well-known description of data science. Data Science Venn Diagram Drew published it more than five years ago. Since then, a ridiculous number of Venn diagrams have been created, one worse than the other . Five years later, people still struggle with the definition of Data Science. A recent famous example was Lyft changing the titles of…

Centralized vs. Distributed Data Science Teams

In a recent DataFramed podcast , Hugo Bowne-Anderson and Jonathan Nolis discuss whether data scientist teams should be centralized or distributed. I have my own opinions about that question. Should data science teams be centralized or distributed? I was happy to find that Jonathan Nolis has the same opinion as I do: that a data science team works best when distributed into client areas. In…