HackerTrans
TopNewTrendsCommentsPastAskShowJobs

tanin

no profile record

Submissions

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

github.com
5 points·by tanin·há 23 dias·6 comments

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

tanin.nanakorn.com
2 points·by tanin·há 2 meses·0 comments

Bangkok rentals extracted from Facebook Groups

bangkokprop.com
2 points·by tanin·há 4 meses·3 comments

Integrating a log management platform with Dokploy

tanin.nanakorn.com
1 points·by tanin·há 5 meses·0 comments

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

docs.google.com
1 points·by tanin·há 5 meses·1 comments

Teach your child how to think

tanin.nanakorn.com
2 points·by tanin·há 6 meses·0 comments

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

medium.com
1 points·by tanin·há 6 meses·0 comments

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

github.com
2 points·by tanin·há 6 meses·0 comments

The basics of managing the database schema changes

dev.to
2 points·by tanin·há 6 meses·0 comments

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

github.com
1 points·by tanin·há 8 meses·0 comments

[untitled]

1 points·by tanin·há 9 meses·0 comments

[untitled]

1 points·by tanin·há 9 meses·0 comments

[untitled]

1 points·by tanin·há 9 meses·0 comments

comments

tanin
·há 11 dias·discuss
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.
tanin
·há 22 dias·discuss
Thank you!
tanin
·há 22 dias·discuss
Please let me know if you have questions or suggestions.
tanin
·há 23 dias·discuss
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.
tanin
·há 23 dias·discuss
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.
tanin
·há 26 dias·discuss
I'm working on a Cowork/Codex plugin for reading and manipulating docx files. It uses 2-5x fewer tokens compared to the Anthropic's docx skill and is much faster.

The main target users are lawyers who redlines and drafts legal documents, and they almost always use docx.

It can be used together with Claude For Legal; The combination is pretty magical.

Here's the plugin: https://github.com/LegalRabbit-AI/legalrabbit-docx-claude-pl...
tanin
·mês passado·discuss
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.
tanin
·mês passado·discuss
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
tanin
·mês passado·discuss
DOCX or OOXML takes it to another level.

Instead of making something an attribute, they make it a child element...
tanin
·mês passado·discuss
Yeah, I try to avoid 3rd party libraries unless it comes from credible sources/companies or vetted by famous frameworks e.g. Rails uses it.

Not just for NPM but for Intellij plugin, VSCode extension, and etc.

If Node has officially pre-vetted libraries, that would be really awesome.
tanin
·mês passado·discuss
I forgot to provide the link in the tldr at the top. I'll do that. Thank you for the feedback.
tanin
·mês passado·discuss
(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.
tanin
·há 2 meses·discuss
It's a nice spin. The AI is so productive that we can cut people. Not "revenue is down, so we have to cut people"
tanin
·há 2 meses·discuss
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.
tanin
·há 3 meses·discuss
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
tanin
·há 4 meses·discuss
Yes, Facebook Groups is the go-to place, especially if you want to interact with the owners directly. It has become a major player in real estate listing.
tanin
·há 5 meses·discuss
Yup, I want to set a destination, walk, and only look at my watch for direction.
tanin
·há 5 meses·discuss
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.
tanin
·há 5 meses·discuss
I've built a similar framework called Java Electron (https://github.com/tanin47/java-electron).

Java as the backend, and JS as the frontend.

It actually uses WebView, not Chromium.

The most important feature is: Java Electron can be published on Apple App Store and Microsoft Store. This requires proper code-signing and etc.

Backdoor, a modern database tool, is a showcase for it: https://github.com/tanin47/backdoor
tanin
·há 6 meses·discuss
It seems there are at least 2 users who need it ;)