Hacker Newsnew | past | comments | ask | show | jobs | submit | nkit's commentslogin

  Location: India
  Remote: Yes (very flexible with timezone)
  Willing to Relocate: No
  Technologies: Rust, Python, Golang, Typescript/Javascript, Docker/Podman, K8s, Nix, Dart, HTML/CSS, SQL, Bash, GraphQL, Svelte(-kit), React, Tailwind, Pytorch, Matplotib, AWS, CI/CD, Git, Linux/Unix, Jupyter, Node.js, PostgreSQL, Redis, MongoDB
  Résumé/CV: https://nkit.dev/resume.pdf
  Email: [email protected]
Over the past 5 years, I have worked primarily with Rust, Golang, Python and Typescript. I have built and maintained various services and tools, ranging from internal utilities to services used by millions of users. For most of my career I have worked remotely, collaborating across various timezones. I like to work in environments with good engineering culture.

As a fellow hn reader you might be particularly interested in

- Lox Language Interpreters: https://github.com/nkitsaini/lox

- Contribution to uv: https://github.com/astral-sh/uv/pull/11738

- Contribution to Helix Editor: https://github.com/helix-editor/helix/pull/9660

- Solutions to protohackers: https://github.com/nkitsaini/protohackers_impl

You can find more details in the resume at https://nkit.dev/resume.pdf


  Location: India
  Remote: Yes (very flexible with timezone)
  Willing to Relocate: No
  Technologies: Rust, Python, Golang, Typescript/Javascript, Docker/Podman, K8s, Nix, Dart, HTML/CSS, SQL, Bash, GraphQL, Svelte(-kit), React, Tailwind, Pytorch, Matplotib, AWS, CI/CD, Git, Linux/Unix, Jupyter, Node.js, PostgreSQL, Redis, MongoDB
  Résumé/CV: https://nkit.dev/resume.pdf
  Email: [email protected]
Over the past 5 years, I have worked primarily with Rust, Golang, Python and Typescript. I have built and maintained various services and tools, ranging from internal utilities to services used by millions of users. For most of my career I have worked remotely, collaborating across various timezones. I like to work in environments with good engineering culture.

As a fellow hn reader you might be particularly interested in

- Lox Language Interpreters: https://github.com/nkitsaini/lox

- Contribution to Helix Editor: https://github.com/helix-editor/helix/pull/9660

- Solutions to protohackers: https://github.com/nkitsaini/protohackers_impl

You can find more details in the resume at https://nkit.dev/resume.pdf


I built a RSS feed viewer (https://rss.nkit.dev/) that is also a podcast and youtube player. I wanted it to be my primary window to wide west of internet. It is still work in progress but I'm happy that I can listen to podcasts/watch_videos on it without being pulled into recommendations. To use, give it a link to raw text file with rss feed links on separate lines (I use github gist for this), I know I should use OPML when the time comes.

I also built an android launcher (https://github.com/nkitsaini/nkit-launcher/) that has a single page grid of big icons as home page. I keep all non time consuming things on home-page and everything else I need to search for. I never see original icons of the app in my launcher.


Location: India

Remote: Yes (flexible regarding time zones)

Willing to relocate: No

Technologies: Rust, Python, Typescript, HTML, CSS, Svelte,

Docker, Git, Tailwind, SQL, Redis

Resume: https://nkit.dev/resume.pdf

Email: [email protected]

---

Hi! I have been working as Full Stack Software Engineer for around 3 years now. I am a fast learner and recently I have been interested in learning more about CS (like compilers and networking). You will be able to find some examples of these in my Resume.


Location: India

Remote: Yes (I can adjust for time zones)

Willing to relocate: No

Technologies: Rust, Python, Typescript, HTML, CSS, Svelte, Docker, Git, Tailwind, Redis, SQL

Resume: https://nkit.dev/resume.pdf

Email: [email protected]

---

I have been working as Full Stack Software Engineer for around 3 years now. I am a fast learner and recently I have been interested in learning more about CS (like compilers and networking). You will be able to find some examples of these in my Resume.


Obligatory xkcd: https://xkcd.com/792/


https://nkit.dev/blogs

I have only written two blogs. One of them is on rust other on my frustrations with TDD. TDD one is more of a joke. I don't think it'll be of much interest to others. But I guess no harm in putting it out.


For me the main benefit of Obsidian is live-rendering editor + other handy features. Not having to look at two panes side-by-side (or having to parse the markdown format in my head) is such a QOL improvement.

Neovim might never be able to provide complete live-rendering. I don't blame it though, I wouldn't want terminals to become a rendering engine.

Edit: Grammar


Funny enough, Obsidians live rendering has shown me that plaintext sucks, and that I want richtext and data structures for my stuff. Just that there is no good tool for this. Notion and its clones are the best in that regard, but they suck in their own regard, mainly because they are online-only. And considering how many tried to replicate Notion in obsidian-extensions (and failed), I'm not the only one I guess. There probably is a market for a modern hacker-friendly offline richtext-IDE that no one has satisfied yet.


We’re working on building an IDE of sorts [1] (but specifically for tasks/notes) trying to combine the benefits of plain text but with rich elements and structure (tree/graph). The illusion of a real editor breaks down pretty quickly when you can’t easily copy-paste or select rich elements as if it was plain text, so that’s why we’re trying to build the whole thing from scratch.

[1] https://thymer.com


This looks interesting, I'll take a flyer. Good luck!


Honest question from someone who has been looking at these tools for almost two decades. What advantages does Thymer have over org-mode?

I assume that anyone seriously R&Ding in this field has at least a passing familiarity with org-mode.


Thymer has real-time multiplayer with CRDT based synchronization. With org-mode you can collaborate, but you'd have to DIY with git or something similar. Thymer is also end-to-end encrypted. With org-mode you'd have to self-host something to sync with your phone.

Org-mode is text based, Thymer has a document graph. Advantages of the graph approach is you can nest as much as you want and zoom in on any part of the graph. You can transclude sections and have references and backlinks. With text based approaches you have to sprinkle location identifiers (guids or relative paths typically) into your document so you can track the location as files gets edited. But guids are awkward and paths can result in broken (back)links. We built Thymer as a document graph from the ground up. Tree mutations don't break (back)links.

With Thymer every node in the graph has metadata. Who last edited it? When? Where did it move from? Previous versions? For text paragraphs this isn't super useful, but when you have tasks this metadata is very useful.

org-mode on a phone? I'm sure there are apps for that, but I think it's designed with a keyboard in mind. Thymer uses the (subjectively) more modern command palette approach where you don't have to remember as many shortcuts, and it also translates more easily to touchscreen devices.


I see, thank you. I am impressed that you do have a comprehensive answer.


> Obsidians live rendering has shown me that plaintext sucks

I don't understand. I currently use obsidian and the live rendering is great, not exactly sure what you mean.


That live rendering exists is in itself a sign that we want more than plaintext. On its own, plaintext is simple, which is why we like it. And it shoves everything directly in your face, which is also why we like it. But many of us also want more than just plaintext, so we invented markup, to add some levels of richness. But this makes it complicated again, and the more we want, the harder it gets, the less support from the tools we have.

Obsidian is now in a space where many people want something more richful, with elaborated data-handling, charts, pictures, videos, code-fragments with syntax highlighting, execution of code-framgments, and so on. The scale of demand is far more than just plaintext, or simple markup, and the tooling can't fetch up at the moment, because anything becomes very dirty and hacky around the higher abilities and more specialized workflows.

And then there is the problem of documentation and learning, which with plaintext is always a big problem, because everything depends on your input. With richtext-interfaces, you have an environment whose whole purpose is to support you in inputing and manipulating which ever richful text/object you want. So they simply scale up better. Which brought me to the realization that a modern environment around richtext and objects is what I really need. Because it's simple to level down richtext, but hard to level up plaintext.


> That live rendering exists is in itself a sign that we want more than plaintext.

If people would just finally realize that this especially applies to code!

It's imho a complete joke that we're still using plain text for source code, and convert it back and forth between it's actual structure (an AST) and some limited and quirky textual representation.

The text representation of code should be just that: A visual representation. Not "the real thing".

Having proper rich data structures for code instead of plain text would make so much more possible given some proper editors…


Everyone is re-inventing "show codes" from Wordperfect 5 and other similar platforms because no one who is inventing these things has ever used Wordperfect 5. That said, re-solving this problem is turning up some nice new U/X patterns that (as far as I know) weren't around in the older platforms ("show codes on cursor", "local modal editing for format", etc.)


What editors have those two new ux's? I'd like to try them out ("show codes on cursor", "local modal editing for format", etc.)


Guessing what they mean by show codes on cursor. Showing markdown around the cursor is now in Obsidian, but previously it was in Typora, FoldingText, and a circa 2016 web app called "usecanvas":

https://github.com/usecanvas

There may be examples prior to that, but that's the earliest that I recall.

I'm not sure what is meant by local modal editing - is that describing what logseq does? It switches a block to plain markdown when you're editing it.

I thought word perfect show codes was in another pane, but it's been a very long time since I've seen it, and I didn't use it personally.


Obsidian's editor is "show codes on cursor" by default. As you navigate through the rich text expression it changes to the markdown format that produces that expression. You're always in a line / block of Markdown, but the rest of the document is rendered.

"local modal editing" is most often seen in richer IDE experiences like Darklang v0.2's IDE and the Hazel type-directed-holes experiments.

There are more interesting takes as well (Lighttable's live forms, lots of Vic's experiments) but I'm definitely seeing more instances of the first two experiences these days.


Probably referring to the limitations of Markdown? Not sure what Markdown flavor Obsidian supports, some extensions (e.g. tables) are quite powerful...


I've become a big fan of LogSeq for these reasons. In LogSeq, you have pages and trees of data (aka blocks[1]. All can be cross-referenced or embeded between each context. It's quite nice.

1: https://docs.logseq.com/#/page/the%20basics%20of%20block%20r...


Logseq is my note telling app, very much aligned with my style (short notes, bullet style).

The thing it is really missing are plain pages, in MD, without bullets


Looks clean and nice, if only it wouldn't be an Electron app…


One plug-in in beta, but has quite a large following in the Obsidian community to achieve what you’re describing with Obsidian is the make.md plug-in.


The Ggraph is another major feature. I wish I had the same in form of a widget (a desktup GUI toolkit widget preferably) to experiment with. Obsidian is such a great app but still is very far from what I want to I'd love to be able to build a similar thing from blocks for myself.


IIRC I saw an interpreter somewhere where each input program is quine, the interpreter name rhymed with `hat` as I remember it.


While I agree that this is a human nature, I do hope there to be a more systematic way of improving the situation here.

For example, last year I was having a lot of trouble with managing all the tasks, just adopting a simple note-taking strategy helped me a lot. I still struggle, but not as much as I used to be.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: