AI + Dev + Life

Welcome to the "Un-" Conventional! Welcome to the "Extra-" Ordinary!

Skills

AI/LLM Development

AI is taking over the world. I've been working on LLM-based AI app development for the past year or so. I am familiar with open-source libraries like LangChain, LangGraph, and LlamaIndex, and other more "standard" AI SDKs from OpenAI and Google, etc. Also, I'm no expert, but I have a good understanding of prompt engineering. Anybody who wants to start LLM development should first start learning effective prompting.

LLM Chatbots

The most common LLM applications are custom chatbots augmented with domain-specific knowledge, e.g., primarily through RAG (retrieval augmented generation). RAG is more of an art than a science. There are a lot of factors to consider to build an effective RAG system such as chunking, choice of embeddings and vector databases, etc. And, ultimately, understanding and managing "context", and not just prompts, is required to build effective chatbots.

AI Agents

A new kind of LLM-based apps, generally called 'AI Agent', are getting a lot of attention these days. They are typically characterized by the fact that they use "tools", e.g., relying on MCP (model context protocol), often based on the decision made by the agents themselves. Hence we sometimes call them "autonomous AI agents", but this characterization is debatable. "Deep research agent" is one of the fastest developing areas.

General LLM Development

Besides chatbots and autonomous AI agents, I've done some general LLM development, such as quantization and fine-tuning, etc., in addition to RAG. Also, LLM-based document analysis is really an application of RAG. What else can we do with LLM technologies?

Fullstack Web Development

I've been doing fullstack web app development for many years now. I started as a backend developer, and picked up frontend development over the years. For backend development, I mostly use Java, C#/.Net, Go, Python, and Javascript/Typescript (Node.js). For frontend, I generally use frameworks like Angular and React/Next.js. I also use various UI libraries such as Tailwind CSS and Shadcn UI. Web development is really my bread and butter. Despite the fact that I may be rusty in some of the technologies, this is the areas I can deliver consistently, whatever the requirements are.

Cloud App Dev and Ops

I've been using various services of AWS and Google Cloud for many years now, and to a lesser degree other cloud platforms like Azure. (The first Google Cloud service I used was App Engine (GAE), back in 2011. At the time, I was working on a URL shortener service, and the cold start problem of GAE was a big issue. (Oh my my. How many different tricks I tried to beat the cold start problem?) On top of this, Guido van Rossum refused to support naked domains. The project was ultimately abandoned. It's funny that I remember these things after all these years. 😄)

SQL/NoSQL Databases

I've used, quite extensively, pretty much all widely-used databases like Postgres and MongoDB, and Redis, etc. I am also familiar with various cloud-based database services such as AWS RDS, DynamoDB, Aurora, and Google Cloud Firestore and CloudSQL. I have been also using vector databases like Chroma and Pinecone recently as well as the pgvector extension of Postgres.

Desktop GUI Apps

I did a lot of GUI programming (especially earlier in my life, as a hobby), primarily on Windows using MFC (Microsoft Foundation Class). (Oh boy, was I an expert in MFC back then. 😄) Last time I did Windows GUI programming was in the late 2010s with UWP (Universal Windows Platform), which seems like eons ago for some reason. I have some experience with other GUI toolkits as well such as Qt.

Mobile Apps

I did Android app development for many years, until a few years ago. (Haven't done it much recently. Last time I worked on Android apps was 2018. There is some story as to why I stopped doing Android development at least for my own projects, which I will not go into here. On a related note, I also stopped selling my books on Amazon bookstore. We are living in a twisted world where bullies rule the world, at every level of society, because very few people stand up to them. I believe that somebody has to.) I also have some limited experience with cross-platform tools like React Native and Flutter.

Computer Vision

Before the current age of LLM, computer vision meant using tools like OpenCV. I used OpenCV for a little while. I also did some VR/AR development with Google Glass and Microsoft HoloLens (virtual reality, augmented reality), e.g., using Unity3D. It seems like AI-based computer vision is the next frontier. Despite some (limited) success of using LLMs for computer vision, that is clearly a wrong approach. Language is primarily one-dimensional/sequential, whereas vision is two-dimensional. Ultimately, we will need something like LVM (large vision models),

Machine Learning

I did postdocs for a few years, in my previous life, doing research on machine learning, primarily, with respect to the feedforward neural networks. (A physicist, John Hopfield, received the 2024 Nobel prize in physics for his contribution in this area. And, I was essentially doing research on the same topic although, well, I didn't win a Nobel prize. 😄) More recently, I've been using tools like TensorFlow and PyTorch. (This skill seem somewhat obsolete at this point, with the recent rise of LLMs, unless you want to train LLMs yourself. The AI field has changed, in my view. Most of us, with limited resources, should focus on using LLMs. That is, until something better than LLM comes along. 😛)

Programming Languages

I am somewhat unusual in that I love learning programming languages. I've learned and used over 20 different languages over the years, including C/C++, Java, Javascript/Typescript, Python, Go, Rust, Haskell, Julia, Scala, Kotlin, Ruby, Perl, PHP, Tcl/Tk, and Lua, just to name a few. (And, of course, Fortran and Basic 😄 although I was never a big fan of Pascal.) This was partly due to the job requirements, but also because I love learning new languages just for the sake of learning.

Portfolio

As a software engineer, I worked on many (open-source) "personal projects" over the years, which I used to use as my "portfolio" (unlike the Web designers or frontend developers). They are all still available in the public repositories, but none of them are actively maintained at this point. Instead, I've been mostly working on AI/LLM development recently, not because it's a trend/fad, but because I genuinely believe that there can be a lot that I can contribute in this developing area. Here are some of the "demo" apps I have developed in the past year or so while learning the AI/LLM programming. (TBD: These demo apps will be made available on the Web, possibly in the next few weeks.)

Simple Chatbot
A plain-vanilla LLM chatbot who pretends to be a doctor. Next.js-based app written in Typescript. Backend running on Google Cloud.
Web Search Bot
A simple demo LLM chatbot that uses Web search to augment its knowledge.
FAQ Generator
Another RAG app, which generates a set of FAQs based on a given document(s).
Research Agent
"Deep research" has become one of the most popular applications of (autonomous) "AI Agent". This is a PoC demo app.

Other RAG-Based Chatbots

This is a RAG-based Q&A chatbot, augmented with the Python grammar documentation. Next.js-based frontend, with Python-based backend, Langchain and FastAPI.
The official website for the "Einstein's Books" project. WIP. Notice that LLM chatbots are taking over all my websites.
Learn the college-level physics using the Feynman Lectures on Physics. WIP.
Modern physics for the crazy ones, the misfits, the rebels, and the troublemakers. Coming soon.
A PoC AI agent that can do patent prosecution and/or patent examination. This is a long-term project. For now, this chatbot knows about MPEP, and it can answer any questions related to the patent examination process in the U.S.
A general-purpose RAG-based chatbot, which understands the dynamically changing content of the website. For example, if the website includes an app with possibly changing state over time, then the chatbot is aware of the current state of the app. Under construction.
Another general-purpose RAG-based chatbot, which I'm currently experimenting with. We believe that the front pages of all websites will include a chatbot. Do you agree? We would go even further and say that the main part of at least the front page of every website will be a chatbot.
A placeholder educational website. Currently the knowledge of the frontpage chatbot is augmented with all my programming books. Not sure how much it has "understood" them though. Ultimately, an LLM is really a black box.

Past Projects

I worked on many different projects over the years. Some may be called "startup" projects (though they were all self-funded), and some may be called "toy" or PoC projects. Some lasted a few weeks. Some lasted a few months, and some much longer. But, regardless, I put a lot of energy on each and every of these projects. Here are some of the notable projects which I "remember" better. Note that they are all "defunct" at this point, and their web services are no longer maintained. (I believe, many of the projects I worked on in the past are still viable ideas, even at this point. 😅 BTW, why so many? Well, "many" is relative. If you are 15 years old, then this number may seem overwhelming. But, I've lived decades :) and I never took a "break" in my life.)

2019-2023
Why "Polliy", and not "Polly"? Because that was the domain name I got, "polliy.com". Polliy was an intelligent personal assistant, pre-LLM revolution. For some reason, I loved the sound of "Polly". It wasn't "Shiri" or "Cortana", or even "Google Assistant". (What a name! 😅) They are known as the "wake word" in the voice-related technologies. (They are not just "names".) Now, what was special about Polliy? TBD.
2019-2021
A full service virtual agent for indie musicians. It was like Shopify for independent musicians, including all social media management, and virtual concert management (concertjoy.com).
2019-2021
A virtual/online music venue for indie musicians. Can you really compete with Ticket Master? Especially when you have no capital? I had been working on MusicPye/ConcertJoy at a full throttle, when Covid happened. This effectively killed by ideas. (Wow, you seemed to have been in the right place at the right time. What happened? Well, Covid happened. In theory, online services like mine can benefit immensely. But, in reality, a large amount of investment started to pour in, and there were a huge number of startups popping up in this area. Unfunded/self-funded startups stood no chance.)
2019-2020
Micro-storage service for small luggage.
2018-2022
A virtual mall for online shopping, which is a reflection of a physical mall. It was a "metaverse" before the term was coined.
2018-2020
Again, the app name was chosen because I owned the domain name motifmail.com at the time. It was a "new kind of email service". Web-based email services have been around from the beginning of the Web. TBD.
2016-2018
Everybody who is a developer and wants to start a startup tries a to-do app or some other productivity apps. I don't know why. The top priority of developers is productivity? Or, are they a bunch of people who are never satisfied with existing solutions? In any case, I myself built many different kinds of "to do apps" over the years as well. ToDo Canvas was one of such apps. It was a "visual" to-do app. The client and server were all gone now, but I just found out that some of my POC Chrome extensions are still available in the Chrome Web Store. ...
2016-2018
"Alexa, play solo blackjack." Do people still use Alexa skills any more? Note that the companies like Amazon and Apple who (prematurely) pushed the voice agents like Alexa and Siri are now left well behind other LLM leaders like OpenAI and Anthropic. The user experience was not ideal, and yet they pushed this through marketing, and money. I also developed a few Alexa skills for Alexa devices, and it was fun. One of them was a "match game". Through the voice communication, you played the classic memory game. I also had another "popular" game (at the time), a single player blackjack game. I even created blackjack flashcard apps (for BJ card counters :)). (Incidentally, Google was so adaptive in this transition. They immediately abandoned Google Assistant and released Gemini. We will see how Apple and Amazon adopt to this new LLM revolution in the near future. BTW, companies like Amazon and Microsoft are big investors in many of these AI startups. If you cannot compete, just buy.) I just tried my games on Alexa again, and the Solo Blackjack game still works. :) (Google search "alexa skills solo blackjack by sideway bot".) The "match game" seems to be broken though for some reason.
2018-2022
What is "Smart Maitre D'"?
2015-2020
What is "SnipNews"?
2016-2018
When Microsoft was half-heartedly trying Windows Phone, many developers like myself went all in. As we all know now, Microsoft ended up abandoning their mobile project, not even with a fanfare. TransPad was a novel keypad app on Windows phones. (As you can see below, you never lose interest in certain ideas. Mobile input was an ongoing pet project for me.) Obviously, this Windows app is dead as a log, and I am always reluctant to go all in with Microsoft technologies. (I find it amazing that big tech companies like Microsoft, and Google and Amazon, etc., treat their loyal developers with no regards, and yet they are still at the top list of developer choices.)
2005-2020
What is "Shopping Memo"? shoppingmemo.com was one of the domains that I owned for years and years. (Sadly, I no longer do. The best domain name I had was probably "ailab.com". I failed to pay the annual fee and I lost it. 🤣 It was 1999, and I was moving from Jerusalem to San Francisco at the time.) Online marketplace is dominated by a few big companies like Amazon. It fact, Amazon is a de-fact monopoly. There have many efforts, and Shopify is probably one of the rare success stories. My project, Shopping Memo, even predated Shopify. I finally gave up, and I am at peace now. 😁
2008-2010
Now pretty much everybody carrie a mobile phone, many smartphones. At the end of the 1990s and the beginning of the 2000s, the transition to the "mobile Web" was a big deal. Everybody was interested. Then came PDAs like Palm Pilot, and Sidekick (my absolute favorite at the time), and eventually Blackberry. iPhone first came out in 2007, and the rest is history, as we all know. Now we take smartphones, and "apps", for granted. When Android came out, I was also interested in building mobile apps. (I was never a big fan of Apple's closed ecosystem, and I still don't do Apple.) One of the first apps I worked on was a "smart" alarm clock. What do I mean by "smart"? TBD.
2008-2015
When smartphones came out first, their small form factors was a bit inconvenient, say, for typing. (I think it's still a problem, to a lesser extent). I tried a few different ideas for Android phone input method. Some ideas were patented. TBD.
2010-2012
A "real-time" social network for sports time fans. It was the biggest personal Android app project for me. I had to stop this project for some unfathomable reason. Bye bye, Android. (I ended up working on Android development one last time for my employer, in 2017-2018.) TBD.
2008-2012
App/website builder SaaS apps, which cater to non-technical end users, are rather popular these days. Many are very successful. This tradition goes as far as (desktop) apps like Microsoft FrontPage. As a developer, this kind of practice is rather common. This is often known as "scaffolding", which builds a basic app structure for new apps. Many (backend) frameworks go well beyond this and they even build data models and what not, e.g., based on the model specification by the user. This started well before Ruby on Rails, and there were many such frameworks, for example, for PHP, etc. I extended this technique to build the entire Web apps. If you specified a set of data models, the app created "everything", e.g., the backend API service, the fronted UI, middleware, and everything between. Obviously, you still had to add some business logic, but all "boilerplate" code was taken care of. It was a mega-project using Apache Velocity template engine that spanned multiple years, over ten years ago. Now, AI/LLM does this for you.
2008-2010
There were many popular services popping up at the time which may be called the bookmark and URL shortener apps like delicio.us and tinyurl, etc. They were in a way precursors to social networks like Friendster and Facebook. I also worked on a few different versions of bookmark/short url apps. The Safe URL service checked the short URLs and "certified" their genuineness, e.g., to prevent users from phishing attacks, etc.
2003-2005
DARPA's Grand Challenge was a series of competitions for autonomous vehicles. The first one was held in 2004, and the second, and the last, competition was in 2005, in Primm, Nevada. I was a big fan of the idea, and I wanted to participate. I didn't build a self-driving car, but I worked on a training framework and simulation environment for autonomous vehicles, using OpenGL/DirectX. It was a fun project, but well ahead of its time, and beyond my capabilities. I didn't even start to build a real car. Now, we see self-driving cars on the streets. It has been a 20-year journey (without my contributions).
1999-2005
DVD Match was a social network for movie lovers, a combination of Netflix and IMDB.
1999-2001
Anybody who has been interested in "doing a startup" for some years, like myself, should know that the category usually called "local" is the hardest nut to crack. There have been some limited successes. We have Yelp. We have TripAdviser. And, Google Maps is expanding. (Yes, Google's ambition is not just to provide a free map service, but ultimately to dominate the local category, say, by putting all local business on the map and upselling to them, and selling ads, etc.) "citysurf.com" was my effort to build a service for local businesses, at the time of the infamous "dot com boom".
1995-2003
Who said the Internet never forgets? IGC was one of the most popular client apps for Internet Go Server. There were a few major releases, "IGC 97", "IGC 98", and "IGC 2000". If you did a Web search with these terms, they used to show up. Not any more. 😁 It was a Windows desktop app written in C++/MFC, and it had many "innovations", well ahead of its time. For example, the game play and the comments ("kibitz") were "synch'ed" (in the recorded games), which services like YouTube only recently adopted. I also built viral marketing features into the app, which other companies and startups adopted many years later (e.g., "sent by iphone"). Terms like "viral marketing" did not exist at the time.
1995-2003
Do you play go? (Weiqi, Baduk, Igo.) Many people are probably familiar with AlphaGo, even if they don't play go, and how it beat the best of the best human go players. It was the true beginning of the deep learning revolution. It was 2016. And, I was already working on an AI go player in the late 1990s. (Just to be clear, I wasn't the only one. At the time, there were many computer go programs such as GnuGo, but they were just too weak to be even relevant.) The reason why I created an Internet go client (IGC) in the first place was to train my "Dummy Go", e.g., to let it play with human players on IGS. ("On Internet, nobody knows you are a dog." 😛)

Public Repos (OSS)

I started sharing my programs before the open-source projects were the thing. Before GitHub and GitLab, there were services like SourceForge. I shared by code primarily on SourceForge. Of course, it was well before git was invented, and they used CVS and later SVN (Subversion). BTW, I am not a nostalgic person. I really don't care about the past. I don't even remember what I ate for lunch yesterday. A lot of things I include in my new personal website, I have completely forgotten about. But, I now realize, while working on this website, in order for you to move forward, you'll have to look back. I put in a lot of effort to create these software/libraries, starting from as early as the early 1990s, and they may have been useful to others at the time of release. Most of them are, however, not maintained anymore, and it's highly unlikely that they are still useful. But, for me, it was a work. It was an accomplishment. That's what counts. For me. (TBD: I probably have hundreds of pubic repos, primarily on GitLab, where I share my past projects/source code. This section is just a placeholder for now. It'll take weeks, if not months, for me to go through them all. 🤣 Again, some people might ask, why so many? I have no answers. I am no superman, and I did all this over time, even without the help of AI coding assistants. 🤣 (It wasn't about money or fame or anything, hence I am not saying I was "more productive", or "more successful", in life than others or anything like that. It didn't even make me a super-coder. My life has been just different. I've had different priorities. I just love creating things.)

2000-2003
https://sourceforge.net/projects/hmmsdk/
Wow. I put several projects on SourceForge in the early 2000s, and they are still there. Obviously, they have no real values at this point, but they make me feel nostalgic. Most projects were related to AI, machine learning, artificial neural networks, and the aforementioned go programs. I even had a "Go Board" component in ActiveX. (Nobody talks about ActiveX anymore, right? 🤣)

Published Books

Writing a book is probably the least rewarding work you can invest your time on. 😁 I spent a few years of my life writing (educational) books, and I ended up selling/giving away no more than a few hundred/dozen copies for each book.

Einstein's Relativity
Einstein's Relativity
2025
A new modern translation of Einstein's book, Relativity, Part I (chapters 1-17).
Einstein's Seven Essays
Einstein's Seven Essays
2025
A new translation of Einstein's writings and lectures on relativity and geometry.
Go Mini Reference
Go Mini Reference
2022
(free)
A quick introduction to the Go programming language (grammar).
Python Mini Reference
Python Mini Reference
2022
(free)
A quick introduction to the modern Python programming language.
C# Mini Reference
C# Mini Reference
2022
(free)
A quick introduction to Modern C# (C# 9.0 and later).
Rust Mini Reference
Rust Mini Reference
2023
(free)
A quick introduction to the Rust programming language.
Typescript Mini Reference
Typescript Mini Reference
2023
(free)
A quick introduction to Typescript (and, some Javascript).
Lua Mini Reference
Lua Mini Reference
2022
(free)
A quick introduction to the scripting language, Lua.
Haskell Mini Reference
Haskell Mini Reference
2023
(free)
A quick introduction to the Haskell functional programming language.
The Art of Go
The Art of Go
2021
(free)
An introduction to programming in Golang.
The Art of C#
The Art of C#
2021
(free)
An introduction to programming in Modern C#.
Python for Beginners
Python for Beginners
2021
(free)
Absolute beginner's guide to programming in Python.

YouTube Channels

I've been dabbling with informational and educational videos on YouTube for the last few months.

Coding Joy
General coding tips and tricks.
Python Joy
Python programming lessons for absolute beginners.
AI Codin'
AI coding guide for developers (who are new to LLM programming).
Nutty Physics
Modern physics for the crazy ones, the misfits, the rebels, and the troublemakers.

Work Experience

I've had rather unusual "career". I've been mostly "working" on things that I thought important and useful (for the society). My choice of "work" has never been swayed by the potential "profits" for me. My "normal career" is pretty much limited to my earlier years as a professional software developer.

OpenTable

2018-2019. Sr. fullstack developer.

Open Software

2017-2018. AR developer.

Yahoo!

2007-2010. Sr. backend developer.

Market Tools

2006-2007. Sr. software developer.

BSTZ

2005-2006. Patent agent.

PeopleSoft

2004-2005. Sr. software developer.

Brio Software

2000-2003. Software developer.

Starfish Software

1999-2000. Software developer.

Education

Postdoc in Physics

The Hebrew University of Jerusalem, Israel.

Ph.D. in Physics

University of California, Santa Cruz.

M.Sc. in Physics

Pohang Institute of Science and Technology, Korea.

B.A. in Electronics Engineering

Seoul National University, Korea.

Questions and Answers

For More Information