HN user

tanin

671 karma

https://superintendent.app, SQL spreadsheet app

https://programmabletooltip.com, Programmable Tooltip for Mac

Posts42
Comments244
View on HN
github.com 1mo ago

Show HN: Cowork/Codex DOCX plugin. Uses 2x fewer tokens than the docx skill

tanin
5pts6
tanin.nanakorn.com 2mo ago

Ruby vs. Java vs. TypeScript: Building Claude Cowork Docx Plugin

tanin
2pts0
bangkokprop.com 4mo ago

Bangkok rentals extracted from Facebook Groups

tanin
2pts3
tanin.nanakorn.com 5mo ago

Integrating a log management platform with Dokploy

tanin
1pts0
docs.google.com 5mo ago

A Google Sheet of Bangkok condo rental posts extracted from a Facebook group

tanin
1pts1
tanin.nanakorn.com 6mo ago

Teach your child how to think

tanin
2pts0
medium.com 6mo ago

Using CORS and Google Sheets is the cheapest way to implement a waitlist

tanin
1pts0
github.com 6mo ago

Show HN: Self-hosted CORS-enabled waitlist that connects to Google Sheets

tanin
2pts0
dev.to 6mo ago

The basics of managing the database schema changes

tanin
2pts0
github.com 8mo ago

Show HN: Electron for Java. Build App with Java, JavaScript, HTML, and CSS

tanin
1pts0
tanin.nanakorn.com 1y ago

One more reason to choose Postgres over MySQL

tanin
3pts0
tanin.nanakorn.com 1y ago

My secret productivity app when I worked at Stripe

tanin
5pts0
programmabletooltip.com 1y ago

Programmable Tooltip for Mac (For Stripe Engineers)

tanin
2pts0
news.ycombinator.com 3y ago

Ask HN: Best Shell Setup with Modernity

tanin
3pts0
superintendent.app 3y ago

Show HN: An app to split CSV into multiple files to avoid Excel's 1M row limit

tanin
14pts32
tanin.nanakorn.com 4y ago

Analyze log files with SQL using Superintendent.app

tanin
3pts0
news.ycombinator.com 4y ago

Ask HN: Code signing an app on Windows. Which EV cert provider do you recommend?

tanin
1pts1
superintendent.app 5y ago

Show HN: Work with CSV files using SQL. For data scientists and engineers

tanin
99pts61
superintendent.app 5y ago

Show HN: Superintendent, a desktop app - load CSV files, and write SQL

tanin
13pts1
github.com 5y ago

Show HN: Simple mouse button and trackpad gesture config tool for Mac

tanin
2pts0
github.com 6y ago

Show HN: Use a programmable tooltip on Mac OS to automate your workflows

tanin
1pts0
github.com 6y ago

Show HN: A programmable tooltip on Mac OS

tanin
1pts0
github.com 6y ago

Tip, a programmable tooltip on Mac OS X, now supports executing a command

tanin
3pts2
tanin.nanakorn.com 6y ago

Show HN: A programmable tooltip on Mac OS

tanin
242pts45
github.com 6y ago

Show HN: Native Programmable Tooltip that can be used with any Mac OS app

tanin
1pts0
github.com 6y ago

Show HN: Reduce hand movement and mouse clicks with universal tooltip on Mac OS

tanin
7pts4
news.ycombinator.com 6y ago

Show HN: Universal Tooltip for Mac. Programmable. Works with Every App

tanin
2pts0
tanin.nanakorn.com 6y ago

Edgecases for Timezones

tanin
10pts0
tanin.nanakorn.com 6y ago

How I take notes in workplace

tanin
5pts4
news.ycombinator.com 6y ago

Show HN: Git Notes – Personal notes sync'ed through Git (alpha version)

tanin
2pts0

With DST, there are actually 2 new concepts: ambiguous time (if the clock rolls back) and invalid time (if the clock jumps forward).

Java and Ruby work differently. Java would simply round the invalid time to the closest valid time IIRC. Ruby would accurately raise the InvalidTime exception. Same behaviors for an ambiguous time.

Chile is actually the country that will cause tricky issue in a system because they adjust DST at midnight... so there is one day a year where its midnight is considered invalid time. If we are building a system that depends on a day's boundary, then we will encounter this nightmarish issue where one of the days must start at 1am instead of midnight.

I really hope DST is going away soon.

Midjourney Medical 1 month ago

I had to check whether this was some kind of an april fool joke.

It looks like a legit attempt. Wow. This is insanely innovative.

Thank you!

My thesis is that an intermediate layer would eventually end up being equivalent to the docx format, so I've decided not to have any intermediate representation.

We convert docx to html and send it AI. When AI rewrites the HTML and it back, we diff the rewritten HTML against the docx's document.xml and make the modification. This is a simplistic explanation of it. There are a bunch of validations and processing going on.

Regarding the tracked changes/comments, we simply invent new HTML tags for those things e.g. <ins>, <del>, <commentRangeStart> and etc.

MCP is dead? 2 months ago

The AI probably can figure out. However, Claude Code and other tools are built to support MCP. This means MCP is probably more reliable than using REST API + llms.txt.

MCP is dead? 2 months ago

If you build connectors for yourself or your team, you probably can skip MCP because you can tell your friends to install CLI or whatever and provide extra prompts for your CLI.

If you have external users, then you have to use MCP, which comes with how to use each endpoint and etc. MCP is what their current apps e.g. Cowork, Cursor support out-of-the-box.

In that sense, MCP is very much not dead

(The author of the blog here)

To clarify this: we don't intend to open-source it. There's no source code.

The only reason we need a github repo is because Claude Code/Cowork requires a plugin to be a github repo, which contains the plugin configuration.

Moreover, our users are lawyers. They don't have Node/Python runtime i.e. unable to run code. They need a single-file executable.

Location: Remote

Remote: Yes

Willing to relocate: No

Technologies: anything works.

Resume: https://www.linkedin.com/in/taninnanakorn

I'm an ex-Stripe engineer with extensive knowledge in technical accounting, revenue recognition, and financial analytics.

I'm looking for a consulting gig where I can help your company integrate with Stripe from end-to-end (from payment to reporting to closing the book), so you can get accurate financial reports, and your accountant/controller can be happy.

Please contact me on LinkedIn if you are interested.

I've recently found the best way to find an apartment to rent in Bangkok. It's the Facebook Groups. Tons of owners post their listings there.

So, I've built a scraper that scrapes posts from Facebook Groups and made those posts filterable/sortable.

Now I'm looking to launch the same thing for US cities. Their Facebook Groups have tons of posts around subleasing/looking for accommodations.

If you are interested, here's the site for Bangkok: https://bangkokprop.com

Is there a watch that looks like Pebble or Garmin Venu (e.g. small and square) that is good for navigation? I want to walk and look at the watch to see which direction to go next. It would be great for traveling in a foreign city.

They are similar except that Netlify's Form transforms your forms into its own thing. This makes it more difficult to customize the after actions because you don't control the final code. Note that Netlify does offer limited customization of the after actions as you can see here: https://docs.netlify.com/manage/forms/setup/#success-message...

Any alternative that is hosted or uses iframe will encounter this kind of frictions.

In comparison, with Wait, you'd just call `fetch(...)` and do whatever you need after `fetch(..)` succeeds or fails. For example, one landing page might say thank you afterward. Another landing might show the installation instructions after the user submits their emails. The whole code is controlled by you.

It's like you call your own backend except it's hosted in a different domain, and your landing page can be hosted as a static site with no backend.

If you are interested in trying it out, I'd love to work with you to make it successful for you. Thank you!

I'm launching many landing pages these days and want to collect emails into waitlists.

I have been working on Wait: https://github.com/tanin47/wait, a self-hostable CORS-enabled headless waitlist system that connects to Google Sheets.

I have many landing pages hosted for free on Netlify and Github Pages as static pages. All of them have waitlist forms that send cross-domain AJAX requests to the Wait server, which then writes the emails to Google Sheets. Since there's no iframe, it's easier for me to style the form and customize the after actions.

The Wait server is hosted on OVHCloud for $4/month. It's probably the most economical option for a waitlist system.

I've built a similar app but for desktop GUI. The UI is very similar to this app because I like TUI style UI due to the efficient use of UI space.

It focuses more on editing and exploring data for power users. UI space is utilized well. Exploring millions of rows is a breeze. Writing SQLs and managing them is pleasant with the multi-tab approach.

I'm working through adding the shortcuts and modal mode. I want to make it more like vim where you just use shortcuts to do things.

It supports postgres, click house, and sqlite

I'm looking for early beta users. If you are interested in a GUI version, here: https://github.com/tanin47/backdoor

For an absolute beginner in public speaking who has fear of public speaking, I'd recommend joining Toastmasters.

A Toastmasters club is like a simulated environment for public speaking where everyone is extremely supportive. I was still anxious even I knew that at the beginning... even when everyone insisted anything was okay.

After 100+ speech giving at a club in Bellevue, now I don't feel anxious anymore speaking in front of 50+ people in a real-world situation where everyone might not be supportive. I can just get up and speak.

It's funny how our minds even work. It turns out simulation is good enough for training our minds.

The quality of public speaking is a separate aspect. Toastmasters do help with that but I can't claim I am good at it yet. But, for anxiety, I now feel almost nothing.

I'm working on a no-code admin dashboard.

A small startup generally needs to explore and edit the production data. They would either build an admin dashboard, which is expensive, or use a database tool, which is bad for security. Not to mention a tool like pgadmin and dbeaver is clunky because they focus on database administration.

Backdoor is a self-hostable database querying and editing tool for teams. It reduces the need of an expensive admin dashboard. You can configure access control and validation policy for each user. The activities are tracked. It saves money and time, and it's more secure.

You can have your non-technical CEO, customer support, and sales to edit the production data in a safe and secure manner.

It currently supports Postgres and ClickHouse.

I'm looking for early users to iterate with. If this resonates with you, please reach out to me through the github repo: https://github.com/tanin47/backdoor

Nice. I've built desktop apps in a few other frameworks e.g. Java Swing, JavaFX, JetBrains Compose, SwiftUI, QT. Nothing is as easy as JS/HTML/CSS. I've realized that the main reason is its robust capabilities e.g rich auto-layouting/positioning capabilities.

Meanwhile in other UI frameworks, you either don't do it or you draw the damn things yourself lol. So, most of the times I'd just not do it.

Adding if is great. It would reduce the need for JS a bit more, which would make the code more maintainable.

I wish there would be a language like Ruby but strong type or statically typed.

I like its rich standard library style and encapsulation style (e.g. .map with lambda).

I've moved to Scala purely because Ruby is not typed. In a large codebase, it becomes really difficult to refactor. Even renaming stuff is convoluted.

The fact that the student debt crisis is going on shows that colleges are not worth it. If it was, most would have been able to pay it back.

My impression is, unless you can get into a top X college, it isn't worth it.

This also depends on the cost of course. My university in Thailand back then was 1,000 USD per year, so that seems worth it, even tho it isn't in the top 20.

Scala 8 months ago

Took me a few minutes to go from "what is going on?" to "oh this is not the Scala".

That is why I actually like Scala. I want every tool to be available at my disposal, and I can choose what to use or not use. I want it to be reasonably succinct and type safe.

I don't want the language to dictate how I use it. I'd prefer the language not to look out for me. There might be some, but a lot of languages look out way too much. Golang for example doesn't allow you to compile if there is an unused var. Java with private as the default.

It is great that there is a production-ready language that differs from other languages.