HN user

GeneralMaximus

3,102 karma

Independent frontend developer. Enough of a designer to be dangerous.

If you live in Bangalore (or you're visiting), I want to grab coffee with you! Please reach out to me over email.

Website: https://ankursethi.com

Email: contact@ankursethi.com

Posts61
Comments710
View on HN
marijnhaverbeke.nl 20d ago

Wordgard Release 0.1

GeneralMaximus
1pts0
docs.deno.com 1mo ago

Deno Desktop

GeneralMaximus
1122pts398
www.raycast.com 1mo ago

A Technical Deep Dive into the New Raycast

GeneralMaximus
2pts0
ankursethi.com 4mo ago

I built a programming language using Claude Code

GeneralMaximus
135pts183
ankursethi.com 5mo ago

I used a local LLM to analyze my journal entries

GeneralMaximus
1pts0
ankursethi.com 6mo ago

Pushing the smallest possible change to production

GeneralMaximus
18pts3
terribleminds.com 7mo ago

Vital Cat Update (or how Google AI Overview makes up false information)

GeneralMaximus
3pts0
www.youtube.com 8mo ago

A detailed critique of modern C++ in two hours

GeneralMaximus
2pts1
ankursethi.com 10mo ago

PKM apps need to get better at resurfacing information

GeneralMaximus
33pts26
9to5mac.com 2y ago

Apple may soon have to allow third-party app stores in Japan

GeneralMaximus
6pts0
servo.org 2y ago

This month in Servo: Acid2 redux, Servo book, Qt demo, and more

GeneralMaximus
2pts0
arstechnica.com 2y ago

Backdoor snuck into Python packages targets developers

GeneralMaximus
3pts0
toga.readthedocs.io 2y ago

Toga: A Python native, OS native, cross platform GUI toolkit

GeneralMaximus
2pts0
joanwestenberg.com 2y ago

Everything wrong with tech in 2023 (in no particular order)

GeneralMaximus
43pts51
www.businessinsider.com 2y ago

The modern CEO job is broken – AI could make executives useful again

GeneralMaximus
4pts1
www.tor.com 2y ago

George R.R. Martin and Many More Join Authors Guild in Lawsuit Against OpenAI

GeneralMaximus
2pts0
ankursethi.in 3y ago

Stage Manager on Ventura Has Made Me More Focused and Less Stressed

GeneralMaximus
1pts1
www.youtube.com 4y ago

SerenityOS Update (July 2021)

GeneralMaximus
2pts0
avaloniaui.net 5y ago

Avalonia – A cross platform XAML framework for .NET

GeneralMaximus
2pts0
blog.uncommon.is 7y ago

The Baseline Costs of JavaScript Frameworks

GeneralMaximus
221pts223
medium.com 8y ago

We Created Relay by Escaping Slack

GeneralMaximus
2pts0
news.ycombinator.com 8y ago

Ask HN: How do you test-drive a new programming language? What do you build?

GeneralMaximus
2pts2
ankursethi.in 8y ago

WordPress is Maximum Cool

GeneralMaximus
1pts0
ankursethi.in 9y ago

Create-react-app and the Pit of Success

GeneralMaximus
1pts0
news.ycombinator.com 9y ago

Ask HN: Good WordPress themes for dev blog?

GeneralMaximus
1pts2
news.ycombinator.com 12y ago

Ask HN: how do I start learning about personal finance?

GeneralMaximus
2pts2
addons.mozilla.org 12y ago

Show HN: You Should Probably nags you whenever you waste time on the Internet

GeneralMaximus
2pts0
ankursethi.in 13y ago

Loading Spinners With AngularJS and Spin.js

GeneralMaximus
1pts0
ankursethi.in 13y ago

Simulating a Slow Internet Connection

GeneralMaximus
29pts12
rapgenius.com 13y ago

Rapper's Flow Encyclopedia - MF DOOM

GeneralMaximus
3pts0

I've heard this sentiment repeated and I believe it, but at least the purpose of my own blog is to communicate insights I've had. I almost make a point out of not blogging unless I feel that I have something truly interesting to share. It seems that flipping that around would come at a price.

That's where the editing and curation step comes in, at least for me. I write a lot more than I publish. If my writing:publishing ratio ever became 1:1, I'll stop publishing things that are interesting and insightful (well, interesting and insightful to me personally; other people might judge my writing differently).

Sometimes what works for me is to write something and let it sit in my drafts for a few days. Then if I read it back and still find it worth sharing, I polish it and hit the publish button. If not, it goes into a folder called "Retired" in my Obsidian.

This lines up with my own experience with writing and (more recently) blogging.

You get over the fear of writing by doing a LOT of it, until you get to a point where writing a story or blog post stops feeling "special" and becomes just another thing you do. Each individual piece of writing stops feeling like an important work of art that you must get right at any cost, and becomes more like doing the dishes or taking out the garbage.

You can then separate the act of creating from the act of curating and editing. I regularly cut thousands of words from my writing before I share in public. I regularly throw away (well, archive) fully written drafts because I don't like them. A few years ago, this would've been unimaginable. Today, it feels like part of the process.

At some point, you gain confidence that you'll always have another story, another blog post, another poem inside you. If the current thing sucks, you just write another thing, and another, and another, until something clicks. It's freeing.

IME when creative work starts feeling like "just a job" is EXACTLY when it also becomes most fulfilling and satisfying.

Deno Desktop 1 month ago

This is a feature many apps actually need.

E.g. Tauri uses WebKitGTK on Linux, which has historically been slow, unstable, and frequently lagging behind the main WebKit project. This is enough of an issue that even Tauri is working on the ability to use CEF instead of the system web view in Tauri apps.

Things are generally fine on recent versions of Windows and macOS. The system web views on these platforms will be evergreen versions of WebKit or Blink. But if you want to support very old versions of Windows or macOS, you might choose to use CEF instead of wrestling with Safari-from-five-years-ago.

Not always.

Some web pages don't send referrers by making all links rel="noreferrer". Mastodon used to do this by default, though now they've changed their stance.

Links opened from non-browser apps don't have any referrer information either. E.g. if somebody shares your link on iMessage, WhatsApp, or Telegram.

Email clients may also strip out referrers, but I'm not entirely sure about this one.

If people read your work via RSS readers, you'll almost certainly not get any referrers. Unless it's a web-based reader like Feedly.

My website gets a lot of traffic marked as "Direct / None" by Plausible. I suspect this is traffic from RSS readers or Mastodon, but I can't be sure. A few times I've considered adding a "?ref=RSS" to all URLs served to RSS readers and "?ref=Mastodon" to everything I post on Mastodon. But like the author of this post, I feel uncomfortable tracking my readers like this.

I don't even want a local account, I just want to be able to set a custom username for my account instead of some autogenerated jumble of letters.

My Microsoft Account email is "contact@<my-domain-name>". If I set up a new Windows 11 computer using this account, Windows picks the first 4 letters of my email address and sets that as the username. So my username becomes "conta", and the path to my user directory becomes "C:\Users\conta".

I know this is a really small thing, but I find it incredibly irritating. I can't be typing that into the terminal all day long! It's not the end of the world, but it speaks to a lack of polish and care across the whole product, not to mention a disrespect for their users' intelligence.

I'm not a Windows user—I only use it for gaming—so I don't really know how to get around this issue. Maybe there's a secret keycombo I can press during install? Or some unrelated checkbox that I can toggle that will do the magic? I just know that I login via my iCloud account on all my Macs, and Apple has always allowed me to choose my own username and home directory.

I don't think this is high on their list of issues to fix so I'm not very hopeful that this will ever get addressed. Maybe I should just change my legal name to Conta?

Location: Bangalore, India (UTC+5:30)

Remote: preferred

Willing to relocate: no

Technologies: web platform (HTML, CSS, JavaScript), the React ecosystem, TypeScript, Tailwind, Astro. Good enough at UI/UX design to be dangerous.

Résumé/CV: https://ankursethi.com/work/

Email: contact@ankursethi.com

I'm an independent consultant and frontend engineer helping startups (and a few large organizations) bring new products to market since 2012.

I can help you with:

- Building an MVP of your product to put in front of investors and early adopters.

- Overhauling existing products by adding major new features, fixing performance bottlenecks, or paying off tech debt.

- Helping your team get up to speed with emerging technologies (currently interested in helping with TypeScript, modern React, the Jujutsu VCS, and LLM-driven programming).

- Modernizing legacy products and migrating them off legacy tech stacks.

- Acting as a bridge between your design and engineering teams.

I'm primarily a frontend developer comfortable with vanilla HTML/JS/CSS as well as more complex frameworks (mainly React, but I've worked with others). I enjoy being a heads-down technical contributor to codebases. However, working with early-stage companies has allowed me to dabble in UX design, hiring, mentoring, technical writing, technical workshops, and product design. I enjoy wearing a ton of hats, and prefer to work at orgs that allow me to use the full set of my abilities.

I enjoy using LLMs, but I do so responsibly. I write regularly at https://ankursethi.com/.

I'm currently looking for short to medium term contracts (think 6-8 months).

Yes! I'm currently working on a script that modifies a bunch of sensitive files, and this the approach I'm taking to make sure I don't accidentally lose any important data.

I've split the process into three parts:

1. Walk the filesystem, capture the current state of the files, and write out a plan to disk.

2. Make sure the state of the files from step 1 has not changed, then execute the plan. Capture the new state of the files. Additionally, log all operations to disk in a journal.

3. Validate that no data was lost or unexpectedly changed using the captured file state from steps 1 and 2. Manually look at the operations log (or dump it into an LLM) to make sure nothing looks off.

These three steps can be three separate scripts, or three flags to the same script.

At least according to Statcounter, Linux is currently at 3.86% worldwide: https://gs.statcounter.com/os-market-share/desktop/worldwide.

It's slightly larger in the US at 5.28%: https://gs.statcounter.com/os-market-share/desktop/united-st...

In India, where I live, it's surprisingly at 6.51%: https://gs.statcounter.com/os-market-share/desktop/india

Take this with a grain of salt, because numbers from Statcounter are not fully accurate. However, none of those numbers are small. 3.86% of the entire PC market is not something to scoff at.

Make.ts 6 months ago

If you use `uv`, you can declare your dependencies at the top of a script: https://docs.astral.sh/uv/guides/scripts/#declaring-script-d...

I've started using Python for many more tasks after I discovered this feature. I'm primarily a JS/TS developer, but the ability to write a "standalone" script that can pull in third-party dependencies without affecting your current project is a massive productivity boost.

I think maybe we're talking past each other then. I'm saying I don't agree with the argument that music necessarily needs to have a story to be widely consumed in a positive way.

I can imagine that this is true for a lot of people. There are certainly folks out there who see music as an interesting sensory stimulus. This song makes you dance, this one makes you cry, this other one makes you feel nostalgic. To these people, the only thing that matters is what the music makes them feel. It's a strange, solipsistic way of engaging with art, but who am I to judge?

I personally don't connect to music—or any other art—that way. The process that goes into making a piece of music is as important to me as the music itself. The people who make that music are even more important. I don't believe in separating art from the artist. In fact, I find the whole idea of separating art and artist to be fundamentally rotten.

Here's an admittedly extreme example, but it's demonstrative of how I personally relate to music. In the wake of the #MeToo movement (see https://en.wikipedia.org/wiki/MeToo_movement), some of the musicians I used to love as a teenager were outed as sexual predators. When I found out, I scoured my music library and deleted all their work. The music was still the exact same music I fell in love with all those years ago, but I could no longer listen to it without being reminded of the horrible actions of the musicians. Listening to it was triggering.

And so to me, music is not just a series of sounds that make me feel good. There are humans behind those sounds, and I care deeply about those humans. They don't need to be perfect—everyone fucks up from time to time—but they need to demonstrate some level of human decency. And they certainly can't be machines, because machines aren't people.

I love machines. I've spent my life building them, programming them, and caring for them. But machines aren't people, and therefore I don't care about the art they make. Maybe one day machines will be able to make art in the same way humans do: by going out into the world, having experiences, making mistakes, learning, connecting with others, loving and being loved, or being rejected soundly, and understanding deeply what it means to be a living thing in this universe. A generative AI model doesn't do that (yet!) and so I'm utterly uninterested in whatever a generative AI model has to say about anything.

Could you put some kind of CORS proxy in front of those URLs? (I know it sucks that you have to do this at all, but c'est la vie.)

You could even write a Cloudflare Worker or a Val on val.town to do that, and add a bit of caching on top so you don't hit your providers too often.

I've started to "standardize" my own use of Markdown as "whatever works in the apps I use". For me these apps are iA Writer, Obsidian, and Astro's rendering pipeline (which uses the Remark/Rehype ecosystem under the hood).

This sucks for sharing documents with other people, but in practice it's not a problem. 99% of my writing never leaves my notes app or blog. And when it does, I often export it to PDF or Word to make it easy for non-techie people to read (I love Pandoc for this, it's easily one of the favorite tools in my daily toolkit).

markdown is horrible, horrible format to parse...

I agree entirely. But it's a lovely format to use. Programming as a profession is entirely about making things easier for our users, even if it means making things harder for ourselves.

After all, that's the whole ethos around the web as a platform. Throw some broken HTML soup at a browser and it'll still try its best to render it.

Location: Bangalore, India (UTC+5:30)

Remote: preferred

Willing to relocate: no

Technologies: web platform (HTML, CSS, JavaScript), React, TypeScript, Tailwind, some Next.js

Résumé/CV: https://archive.ankursethi.com/work/

Email: contact@ankursethi.com

I'm an independent consultant and frontend engineer helping startups (and a few large organizations) bring new products to market since 2012.

I can help you with:

- Building the first MVP of your product to put in front of investors and early adopters

- Overhauling existing products by adding major new features or paying off tech debt

- Helping your team get up to speed with emerging technologies

- Modernizing legacy products and migrating them off legacy tech stacks

- Acting as a bridge between your design and engineering teams

I'm primarily a frontend developer who is comfortable working with vanilla HTML/JS/CSS as well as more complex frameworks (mainly React). I enjoy being a heads-down technical contributor to codebases. However, working with early-stage companies has allowed me to dabble in UX design, hiring, mentoring, technical writing, technical workshops, and product design. I enjoy wearing a ton of hats, and prefer to work at orgs that allow me to use the full set of my abilities.

I enjoy using LLMs, but I do so responsibly. I write regularly at https://ankursethi.com/. I prefer short to medium term contracts (think 4-8 months).

I live in India and a surprising number of people here are using AI.

A lot of public religious imagery is very clearly AI generated, and you can find a lot of it on social media too. "I asked ChatGPT" is a common refrain at family gatherings. A lot of regular non-techie folks (local shopkeepers, the clerk at the gas station, the guy at the vegetable stand) have been editing their WhatsApp profile pictures using generative AI tools.

Some of my lawyer and journalist friends are using ChatGPT heavily, which is concerning. College students too. Bangalore is plastered with ChatGPT ads.

There's even a low-cost ChatGPT plan called ChatGPT Go you can get if you're in India (not sure if this is available in the rest of the world). It costs ₹399/mo or $4.41/mo, but it's completely free for the first year of use.

So yes, I'd say many people outside of tech circles are using AI tools. Even outside of wealthy first-world countries.

I've been analyzing my Obsidian vault using local LLMs that I run via Apple's mlx_lm. I'm on an M4 MacBook Pro with 48GB RAM.

The results are ... okay. The biggest problem is that I can't run some of the largest models on my hardware. The ones I'm running (mostly Qwen 3 at different numbers of parameters and quantization levels) often produce hallucinations. Overall, I can't say this is a practical or useful setup, but I'm just playing around so I don't mind.

That said, I doubt SOTA models would be that much better at this task. IMO LLM generated summaries and insights are never very good or useful. They're fine for assessing whether a particular text is worth reading, but they often extract the wrong information, or miss some critical information, or over-focus on one specific part of the text.

I love this idea! I've also been using LLMs to build tiny utilities and automations for myself, but instead of using HTML, I'm building them as:

- Shell scripts, AppleScripts, etc. that I trigger from Alfred

- Obsidian plugins

- The occasional Emacs Lisp function

They serve a similar purpose for me as OP's HTML Tools, in the sense that they let me automate a small part of my workflow that I wouldn't otherwise have automated. If I have to choose between writing AppleScript and just doing something manually, I'll pick doing something manually 100% of the time. But if I can just ask an LLM to write the automation for me and then test it in a bunch of different scenarios, the choice becomes much easier.

After reading this post, I really want to try moving some of my automations to the web. Using HTML/JS/CSS for some of these tools will let me solve a whole different set of problems. E.g. I could more easily build automations for the non-techy folks in my family instead of just keeping them to myself.

Efficient in terms of what, exactly?

There are multiple dimensions to this problem. Putting everything behind Cloudflare might give you better uptime, reliability, performance, etc. but it also has the effect of centralizing power into the hands of a single entity. Instead of twisting the arms of ten different CXOs, your local politician now only needs to twist the arm of a single CXO to knock your entire business off the internet.

I live in India, where the government has always been hostile to the ideals of freedom of speech and expression. Complete internet blackouts are common in several states, and major ISPs block websites without due process or an appeals mechanism. Nobody is safe from this, not even Github[1]. In countries like India, decentralization is a preventative measure.

[1] https://en.wikipedia.org/wiki/Censorship_of_GitHub#India

And I'm not even going to talk about abuse of monopoly power and all that. What happens when Cloudflare has their Apple moment? When they jack up their prices 10x, or refuse to serve customers that might use their CDNs to serve "inappropriate" content? When the definition of "inappropriate" is left fuzzy, so that it applies to everything from CSAM to political commentary?

No thanks.

For a few short months circa 2016 or 2017, KaiOS was the number one mobile OS in India. This was probably because of all the ultra-cheap KaiOS-powered Reliance Jio phones flooding the Indian market at the time.

I noticed the trend when I was working on a major web property for the Aditya Birla conglomerate. My whole team was pleasantly surprised, and we made sure to test everything in Firefox for that project. But everyone switched to Android + Chrome over the next few years, which was a shame.

Today, India is 90% Chrome :(

Does Kagi have a better localized experience?

I'm in India and it works well. I can even search in Hindi and get good results.

The only thing that doesn't work are local points of interests (restaurants, hotels, local businesses, etc). I still have to use Google Maps to look these up. Then again, even Apple doesn't have good local results for PoIs in India, so I don't expect Kagi to get this right either.

That said, I often turn off localized results completely and just use the international results. Those tend to be more diverse and more useful, at least for the sort of searches I tend to do.

WASM 3.0 Completed 10 months ago

There is no difference between a "document" and an "app". There has never been a difference between the two, it's a purely artificial distinction.

Word and LibreOffice "documents" can run embedded macros. Emacs has `org-mode`, which can call out to any programming language on your $PATH. A PDF document is produced by running code in a stack-based virtual machine. Even fonts have bytecode instructions embedded inside them that are used for hinting.

If by "document" you mean "static text with no executable bits", then only plain text files can truly be called documents. Everything else is a computer program, and has been since the dawn of computing.

OpenAI Grove 10 months ago

When dealing with organizations that hold a disproportionate amount of power over your life, it's essential to view them in a somewhat cynical light.

This is true for governments, corporations, unions, and even non-profits. Large organizations, even well-intentioned ones, are "slow AI"[1]. They don't care about you as an individual, and if you don't treat everything they do and say with a healthy amount of skepticism and mistrust, they will trample all over you.

It's not that being openly hostile towards OpenAI on a message board will change their behavior. Only Slow AI can defeat other Slow AI. But it's our collective duty to at least voice our disapproval when a company behaves unethically or builds problematic technology.

I personally enjoy using LLMs. I'm a pretty heavy user of both ChatGPT and Claude, especially for augmenting web search and writing code. But I also believe building these tools was an act of enclosure of the commons at an unprecedented scale, for which LLM vendors must be punished. I believe LLMs are a risk to people who are not properly trained in how to make the best use of them.

It's possible to hold both these ideas in your head at the same time: LLMs are useful, but the organizations building them must be reined in before they cause irreparable damage to society.

[1] https://www.antipope.org/charlie/blog-static/2018/01/dude-yo...

You're being unfairly combative. I was supplying a different perspective you may not have considered, and you assumed it was a personal attack. It wasn't.

I don't think this will be a productive conversation. Let's just agree we feel differently about how words affect people and move on.

I think @mock-possum was responding negatively to the tone of your post, not the content of it. The division of labor within your relationship is nobody's business but your own. If it works for you and your partner, nobody has a right to question it. However, when you say this:

At work, I use my calendar. At home, I have a wife.

Then you're talking about your partner as if they were an appliance of piece of software rather than a person. You're objectifying them, even if in jest. This is the sort of language that makes many people feel unwelcome on HN.

To be clear, I don't believe you meant for your remark to be malicious! I just wanted to point out why it might make some people feel like outsiders in this community.

The M2 iPad Pro with Apple Pencil and Magic Keyboard.

I got it so that I could do some writing and note-taking away from my main work computer. Forum posters and tech reviewers assured me the device was up to the task. But the reality is that while iPadOS can do about 60-70% of what macOS can do, the remaining 30% is entirely impossible to accomplish unless you have access to a computer.

I learned this the hard way when I was traveling with just my iPad and somebody sent me a ZIP file that had a hidden file in it (in the UNIX sense, i.e, with a name starting with a period). At the time, there was no way to view or open this file using the iPad Files app. I could pay for a third-party file manager, or I could use iSH to edit it in Vim. Why make it impossible to see dotfiles at all?! Why not give me a checkbox I can enable to temporarily view those files? I understand that it's rare to receive a dotfile over email, but it's not an impossible event.

At some point I discovered you can't install custom fonts on an iPad. Apps can bundle their own fonts, but installing a font globally requires a nasty workaround: use a third-party app to embed your font files inside a security profile, then install that security profile via the Settings app. For a device that targets designers, video editors, and musicians, not being able to install your own fonts is such a bizarre choice.

There were other weird papercuts too. When exporting tracks from Logic, I couldn't put the app in the background. I had to sit there and wait for it to finish. Many apps had iPhone and Mac versions, but no iPad versions. For a while the Magic Keyboard's trackpad cursor didn't send hover events to web pages in Safari, which meant some webapps were unusable. The Apple Pencil could send hover events, though, which meant I had a fun week navigating the WordPress admin interface using the Pencil instead of the trackpad. They eventually fixed this issue.

You can't play more than one sound source at a time. A one second looping sound on a webpage can permanently stop playback in Spotify or Apple Music. This behavior might be fine for a phone, but for a tablet that claims to be a computer replacement? Weird choice.

I could go on and on about this. After all these years, the iPad is still pretty much a consumption device unless you're a digital artist who relies on the Apple Pencil for work. Besides digital drawing and handwriting, there is very little you can accomplish on an iPad that you can't accomplish far more easily on a Mac.

My iPad Pro is basically a Kindle now. Sometimes I use it to watch YouTube, but only sometimes. The YouTube app on iPad is far worse than the website, and it's easier to just reach for my Mac.

Yep. I’m currently working for a client who build software for the insurance industry, and we have a whole pipeline to parse and generate Excel files. The industry mostly runs on Excel and email. Without support for parsing those spreadsheets, my client would never have been able to convince their customers to use the rest of their software.

In this modern age of .md and similar files why not try for "blue water sailing" and instead create an office suite which specifically plays to only open standards?

Because your publisher, professor, employer, collaborators, and book club members all want an Office file. Full stop. They will not accept anything else, and they will refuse to work with you unless you have the clout to force them to use your new format. And then they will be unhappy.

That’s what this article is getting at. If you want to replace Office, you need to have full compatibility with Office files. There’s no way around it. Most people don’t want more open, faster, more features, or better. They want Office (or increasingly, Google Docs).

... either people accept the fact that some neighbourhoods are served worse than others, or the take the car and make the travel up to the nice asian shop they read about on the internet, because that’s apparently worth it.

What's better: having to do a few minutes of research to find a good sofa repair shop in your city or having to buy a new sofa every 5 years?

Further: what's better for you personally, and what's better for the planet? Are they compatible?

But, surprise, this second option doesn't scale.

Why is it important for every type of business to scale? Is "scale" a virtue we must judge every business by?