This is a draft speech script for a Toastmasters club. Opening Do you use AIs? How do you like them? I used to dislike AIs. They are not good for the environment, they hallucinate and all that. But a few months ago, I was told at work that we all need to learn and use AIs to be more competitive and grow. So, I started learning AIs, of course, from AIs. What I did - followed I first learned how AI works, then advanced techniques to talk to AI, and I also did a PoC (Proof of Concept) AI project I asked AI if it can generate learning courses. The course schedules it produced were pretty impressive. So, I started them. The courses went smoothly, maybe a little too smoothly For example, in the PoC project, AI gave me everything; from steps to setup the environment, and to test scripts. I didn’t write a single line of code. And, they just worked! My expectations ballooned. I thought, “How far can I go with AI assisting me like this!?” But, I didn’t go very far. Because there were some issues. What went wrong - wasn’t learning 1st issue: AI gave me only shallow explanations. I needed to ask a lot of questions so that to fully understand and internalize the knowledge. 2nd issue: AI did literally everything - I was just its “hands” Steps to setup the test environment Working Python scripts AI even analyzed the test results I fell into the same trap as so-called “tutorial hell”. Tutorials are for complete beginners. Anyone can follow the steps and reach the goal. Tutorials give us basic understanding and a mild sense of achievement. But you never go deep with tutorials. After a few tutorials, you are still a beginner. After several weeks of training courses, I was still a beginner. “It felt like I was learning—but I wasn’t.” Why this happens - AI “behavior” My misunderstanding, or the “gap” came from AI behavior. AI just tries to help you in the chat session. It doesn’t push you to think AI doesn’t care about your wanting to learn and internalize something. It explains everything before you even ask. It gives you everything that you should do yourself. AI tries to make learning as smooth as possible, depriving you of opportunities to learn “AI isn’t optimized for your learning. It’s optimized for giving you a quick answer.” What I changed - Take control “initiative” So I changed one thing: I took control. First, I do the work myself. I just don’t accept answers. Second, I question AI, or more like interrogate AI. I ask more details. I ask for sources. And third, I verify, because AI can hallucinate. If you don’t take control, AI will just do all the heavy lifting for you. And you’re not learning. Conclusion - Reframe AI “tool” I’ve learned these the hard way, from failures. If you are an AI beginner, I hope you can avoid similar mistakes. Let’s enjoy learning new AI technologies. After thoughts Yesterday, I told ChatGPT that I need to deliver this speech today, and asked some advice. It told me that my script was too dense for a speech and thus I needed to re-write, which I stupidly did but I shouldn’t have. Today, I’m most unprepared. Thank you, ChatGPT. This speech was all about not to rely on AI, but I am doing the opposite.
Advanced Prompting guide
To be honest, the word “Prompt Engineering” sounded like a bit black magic or even alchemy to me; It’s more of an art than a science. But as all IT engineers are required to improve our productivity using AIs, I decided to learn it and go a little deeper on the subject. This article is my learning notes as well as a practical guide for advanced prompting. In later sections, I have added insights that I gained through my prompt usage and Q&As with (or “interrogating”) AIs. ...
RAG workflow PoC - Python, ChromaDB, Ollama
In the previous post, I learned how LLM works from LLM itself (Copilot, to be more specific). In this post, I will learn about RAG, of course, from Copilot. Methodology: Ask questions starting from “What is RAG?” to Copilot, and read answers Write down my understanding, asking Copilot if I’m correct Revise my writing until my understanding is solid Let’s start today’s learning. What is RAG? RAG (Retrieval-Augmented Generation) is a workflow for retrieving relevant external information and injecting it into user questions for LLM to consume. RAG supplements these LLM’s weak points: ...
How GenAI works - Transformer internals
I didn’t really like GenAI because it hallucinates, consumes lots of energy, has raised memory and SSD prices, etc. But as an IT engineer, I can’t ignore it. In this post, I’ll try to learn how GenAI (LLM) works by asking a lot of questions to AI. I mainly use Copilot because it is most lenient with hourly/daily usage limit. Below are mainly outputs from Copilot (but I modified/summarized them). Sorry if I didn’t remove all hallucinations. As it turned out, LLM as a technology is pretty interesting. Let’s see if I can learn something complex as LLM from AI. ...
Setup remote dev environment for Vue
I’ve been learning JavaScript (beginner level), and just started learning Vue framework. I read Essential section of the official Vue doc, and now I’d like to do some hands-on with Examples. In this post, I setup a dev environment for Vue in my homelab Ubuntu server. I remotely access source files and the dev server via Emacs over Tramp and a browser over ssh tunneling respectively from a laptops (chromebook). Prerequisites: Headless server running Ubuntu (or other distribution) Can ssh to the server with ssh-key Emacs can edit files in the server via Tramp First, (take a snapshot of the Ubuntu VM and) update Ubuntu of the homelab server. ...
Exposing ssh to the Internet
I’ve decided to expose ssh to the homelab server to the Internet. I had been afraid of doing so for months, but it’s about time and I think I’m ready. As a background, my homelab server already exposes web services such as blog and Immich via Caddy. Caddy and Immich are running in docker containers on Ubuntu on Proxmox. Before exposing ssh, I needed to fortify the server to protect it from bot and other malicious attacks. ...
How about a Chromebook?
Recently, I bought an old Chromebook from my daughter. She has a new M4 MacBook, and the old note PC had been left untouched for a year or two. It has a broken camera, and so she asked me only 25 dollars. Nice. I wanted to try the Linux(beta) feature. It is a Pixelbook Go “Not Pink” with Intel 8th gen Core i5 CPU, 8GB memory and 128GB SSD. Back then, I thought the $845 price tag was a little too high for a chromebook, and for her first PC. But she wanted the cute pink note PC from Google. ...
Duck & leek soba noodles for new year's eve
Happy new year! Many Japanese families have soba noodles on new year’s eve. We believe having soba on new year’s eve will bring us good luck. You know, soba is long > longevity kind of thing. We tried duck and leek (kamo-nanban) soba this holiday. On December 31st, I bought duck breast at a grocery store. It was $21@0.88lb (400g). First, I set Anova precision cooker at 58C (136F) degrees and leave the duck at the temperature for 3 hours. Duck should be put in a ziploc bag. ...
Roast chicken for Christmas
Happy Holidays! Every year on Christmas eve, I roast a whole chicken. Though an uncooked whole chicken alone is more expensive than a fully cooked whole rotisserie chicken sold at a grocery store, cost isn’t important on Christmas. Besides, it (usually) tastes much better if you roast one yourself. This year, I bought an organic whole chicken (4.2 lbs) at a nearby Whole Foods market at $19. Other ingredients: 3 carrots, 3 celery stalks and a medium-sized onion fresh herbs - thyme, rosemary (and sage this year) butter (25g) garlic 3-4 pieces olive oil (25g), salt and pepper On December 23rd or 24th, thyme and rosemary are in demand and tend to disappear from grocery stores. Last year, I looked for 3-4 grocers before I found rosemary. This year, I wasn’t able to find thyme, so I gave it a shot with this herb blend. The blend has mainly thyme, and a twig of rosemary and sage each. How convenient! I might want more rosemary, though. ...
How to address Emacs's slow startup time
Emacs has many great packages. If you add tens or hundreds of them to your init.el, you might find the startup gets really slow. If that’s happened, you would want to know what are the culprits of the slowness, and hopefully to address them. Find out slow packages To know which packages are slow if you use use-package, you can set in your init.el just after enabling use-package: (setq use-package-compute-statistics t) After restarting Emacs, you can run M-x use-package-report. It shows something like this: ...