HN user

seansh

1,022 karma

Full-stack developer and founder of Computing Den, a software agency specializing in web technologies based in Turkey.

Building Custom CRM & ERP.

Building CodeMic.io: Record & share your coding sessions in your editor synced to audio/video.

Building Unforget Note Taking PWA.

https://Computing-Den.com

https://CodeMic.io

https://unforget.computing-den.com/demo

https://www.linkedin.com/in/sean-shirazi/

https://x.com/SeanShirazi

https://github.com/computing-den

sean@computing-den.com

Shahab (Sean) Shirazi

Posts125
Comments120
View on HN
wiki.archlinux.org 2mo ago

Enable password input feedback for sudo

seansh
2pts0
itsfoss.com 4mo ago

Systemd's New Feature Brings Age Verification Option to Linux

seansh
4pts0
stribny.name 4mo ago

Which programming languages pay the most?

seansh
2pts1
www.youtube.com 4mo ago

How the TI-99/4A Home Computer Worked [video]

seansh
4pts0
codemic.io 5mo ago

Show HN: CodeMic

seansh
52pts29
wiki.archlinux.org 5mo ago

Zram as Swap

seansh
2pts1
codemic.io 5mo ago

Show HN: Record and share your coding sessions with CodeMic

seansh
14pts2
codemic.io 6mo ago

Show HN: CodeMic - replay coding sessions inside your editor, local-first

seansh
1pts0
codemic.io 7mo ago

Show HN: Bring screencasts into your editor with CodeMic

seansh
3pts1
github.com 8mo ago

Preexec and precmd functions for Bash just like Zsh

seansh
1pts0
www.warp.dev 8mo ago

How Warp Works

seansh
1pts0
mailman3.common-lisp.net 8mo ago

ECL Runs Maxima in a Browser

seansh
119pts12
en.wikipedia.org 10mo ago

Programmer's Day

seansh
4pts2
www.youtube.com 1y ago

Web development fundamentals without frameworks – build from scratch [CodeMic] [video]

seansh
9pts3
www.youtube.com 1y ago

Webdev fundamentals without frameworks [CodeMic] [video]

seansh
3pts1
www.youtube.com 1y ago

Webdev without frameworks [CodeMic] [video]

seansh
2pts0
www.youtube.com 1y ago

Full Stack Starter: building from scratch without frameworks [CodeMic]

seansh
1pts0
www.youtube.com 1y ago

Build an image gallery from scratch without frameworks [CodeMic]

seansh
1pts1
www.youtube.com 1y ago

Full Stack Starter: build an image gallery from scratch without frameworks

seansh
1pts0
blog.kevinalbs.com 1y ago

Stupid Smart Pointers in C

seansh
146pts164
news.ycombinator.com 1y ago

Ask HN: Is AI converging on human-like cognition?

seansh
6pts11
www.youtube.com 1y ago

Generative AI Is a Parasitic Cancer

seansh
4pts0
pessimistsarchive.org 1y ago

Pessimists Archive

seansh
2pts0
codemic.io 1y ago

CodeMic: A new way to talk about code

seansh
189pts58
developer.mozilla.org 1y ago

<portal>

seansh
3pts0
open-ui.org 1y ago

Customizable Select Element (New Web Standard)

seansh
1pts0
openjdk.org 1y ago

OpenJDK Epsilon GC, Experimental

seansh
1pts0
wiki.openjdk.org 1y ago

Shenandoah GC

seansh
38pts0
codemic.io 1y ago

CodeMic

seansh
2pts1
www.youtube.com 1y ago

CodeMic: Record and replay your IDE [video]

seansh
2pts1

I wonder if the embedded programming sector has been relatively safe and unharmed by AI. Is there anybody here who can weigh in?

Show HN: CodeMic 5 months ago

Thank you. I’d love to spend some time studying the codebases of projects I admire like sqlite, luajit, or whatever Fabrice Bellard has a hand in, and try to find something interesting about them to share with everyone through CodeMic. There's so much to learn from human engineers of that caliber.

Show HN: CodeMic 5 months ago

As for the usefulness aspect, personally I am not sure that this has a benefit over e.g. watching youtube tutorials/following books.

I do like YouTube video tutorials, but only as long as they're short. Watching Handmade Hero (by Casey Muratori) for example was a little frustrating: the videos are long, the codebase is large, things are moving fast, and I'd get lost.

I often wished I could pause the video to look up the definition of a function, or get an overview of when each file/line was edited and jump straight to that point.

Books/blogs are ok for explaining large codebases that already exist, but not for following a project as the code constantly changes. The book Crafting Interpreters did a really good job there, but that's really rare and hard to do.

I think CodeMic could be useful for this kind of long-form tutorials.

Show HN: CodeMic 5 months ago

I made CodeMic for those who love to write code by hand and understand code written by hand. It's my little sanctuary from AI.

You may very well be right about the future. I won't argue. I just love the art of programming :)

Show HN: CodeMic 5 months ago

I think you mean Scrimba. Yes, it's similar in the sense that in both tools, when you're playing back a recording, you're not looking at the code as a video. But instead the code is there as text. You can pause the recording, look at the files in the project, scroll up and down the editor etc.

The difference is that CodeMic records and replays inside your editor, not on the web. Currently, only VSCode is supported, but the output is independent of VSCode, making it easy to bring it to other editors and even the web.

Another difference is that CodeMic is not focused on web development or any particular stack. It's more general.

I'm working on CodeMic, a VS Code extension to record and share coding sessions directly inside your editor.

Think Asciinema, but for full coding sessions with audio, video, and images.

It makes following tutorials and understanding real codebases much more practical than watching a video.

Local first, and open source.

https://CodeMic.io

“But what about collaboration?” - I use work tools for work. This is for my life.

I've been experimenting with this at work too. I created a separate internal git repo for the team with 4 never ending files:

- in-progress.md

- up-next.md

- for-future.md

- done.md

So far it's been easier to use than trello or any other project management platform.

Personally I use a single emacs org-mode file for my private work which is 30K lines as of today, but I'm not sure how other people's editors (vscode) handle big files like that.

I've gone through this too and came to the same conclusion except for phone.

While on laptop/desktop nothing beats txt (or md or org), it's just so uncomfortable using a text file like that on the phone and relying on dropbox or something.

And I get it, all the note taking apps on the phone have issues: not local first, proprietary, subscriptions, or no encryption, or a thousand features before making sure the full text search works even offline.

Last year I finally sat down and wrote my own PWA out of frustration [1]. There was a SHOW HN too [2]. Yes, shameless plug. There are only a handful of other people using it (and probably never more than that) but I really wrote it for myself and it's been such a relief the past year knowing I always have my notes whenever wherever and works exactly the way I want.

I probably spent <5h fixing a few issues in the past year. As far as I'm concerned, my problem is solved once and for all.

[1] https://unforget.computing-den.com/demo

[2] https://news.ycombinator.com/item?id=40645743

The frontend is in pure HTML and CSS. But we can't build the server with HTML and CSS. These are markup languages. We still need a programming language. Now of course you could pick something with a thinner runtime like C instead of js on node.js, but there's no escaping a runtime.

Frameworks and runtimes though very similar technically, are different conceptually. Frameworks dictate a structure (a framwork) for how code is written (think React components) whereas runtimes are more concerned with letting you run the code and interface with the underlying platform (think libc).

Agreed. ciechanow.ski has been a huge inspiration, as well as 3blue1brown, Bret Victor, and Chris Granger (remember Light Table?). But none of them provide a way to walk through thousands of lines of real code and show how it is built and evolves over time. That is the key problem Scrimba and CodeMic are trying to solve.

The two people I have seen who really master this are Robert Nystrom (Crafting Interpreters) and Casey Muratori (Handmade Hero). But even they are limited by the mediums they use: books and videos, which are not ideal for this kind of guided exploration.

This looks fantastic! I’ve been seeing a growing number of tools trying to bring more interactivity to programming tutorials and for good reason. Screencasts are too passive, and it’s easy to get lost halfway through. Books and blogs don’t really show how code evolves over time either.

I’m working on a solution too, called CodeMic [1] where instead of bringing the environment to the web, it brings video and workspace sync into the IDE so viewers can follow along directly inside their own editor.

You’ve done an impressive job integrating everything, including the Console for example, that’s especially tricky to pull off in an extension for VSCode, Emacs, or Vim.

[1] https://CodeMic.io

I agree that it's a huge space and believe there is demand for better presentation of educational material for programming beyond algorithms that fits in a slide.

I do think that our approaches are a little different and time will prove which is more effective, or perhaps both in their own ways.

For example, CodeMic aims to replace books and blogs for discussions of large codebases and showing changes to code over time, but CodeVideo seems to enhance the experience of writing books and blogs (among other things) by ensuring correctness of the code for example. There's a lot you can do there with that which I never really thought about and is out of scope for CodeMic.

If the format is open, perhaps CodeMic and CodeVideo can even import from each other.

p.s. can't disagree about the insane part, but still a lot of fun ;)

Congrats on the launch! The "create once, ship everywhere" concept is super compelling. Being able to repurpose content across formats like this is a huge win for software education.

I’ve been building something similar with CodeMic [1] and found that replaying courses *inside* the IDE makes a big difference letting users immediately play with the code instead of just watching a video makes learning way more interactive. Excited to see where you take this!

[1] https://codemic.io/

Great question. It's not really about whether it's written or spoken (a later version of CodeMic will have written guides as well as audio/video/image).

It's about the guide happening inside your IDE next to your code. When the guide talks about a specific part of the code, it should be shown right there next to it. Not a small snippet of the code but the code in its proper context where you can use your IDE to dig deeper into it, see the relevant docs, change it, run it, experiment with it.

With CodeMic, the guide is synced to the code inside the IDE. It's really a different experience.

Thanks a lot I really appreciate it.

I'm hoping CodeMic will be more than tutorials and in more places than VSCode.

For example, I have a passing interest in compilers and would love to see a tour of say LuaJIT by an expert, to see its general architecture or a deep dive into some specific corner of it. Not really a tutorial, but a guided exploration.

There should be a programming language that enables arbitrary complexity through deterministic linear code, as humans seem to have an innate comfort with.

I agree that linear code is easier to read and understand. I've noticed that often when my own code gets confusing it is because it's too nested, or too many things are happening at once, or the order of actions is not clear. After gaining a deeper understanding of the problem, rewriting it in a more linear fashion usually helps but not always possible.

I'm curious how a programming language could enable writing complex code in a linear fashion if the complexity of the code is due to the interconnected nature of all its parts. In other words, there may be no way to connect all the parts in a linear way without oversimplifying.

Of course, sometimes the complexity is incidental, that is, if I were a little smarter or spent more effort, I could reduce the complexity. But some complexity is intrinsic to the problem being solved.

The question that really fascinates me is not why code is non-linear, but why literature isn't?

Rundoc is very interesting. Great work!

I believe there are two ways to do what you want.

1. Use the VSCode extension APIs and the built-in commands[1] to write an extension that unit tests your tutorials

For example, you could use vscode.executeCodeActionProvider which will return the actions that VSCode suggests at a specific point in the file.

For the shortcuts, I think the only option would be to read user's keybindings.json file directly.

This is the easiest way I think and may be enough but generally speaking, VSCode's APIs are very restrictive and may not give you everything you need.

2. VSCode being an Electron app can be run from Playwright (similar to Selenium) which should give you full control to drive and inspect it. I haven't done this myself but apparently Playwright is used internally to test VSCode as well. So it should be possible. See [2].

[1] https://code.visualstudio.com/api/references/commands

[2] https://github.com/microsoft/playwright/issues/22351

Yes it works with VSCode although it's not really selenium for VSCode. It is only concerned with recording and replaying changes to open text editors, selection, and scrolls: things that are useful for creating a guided programming session or a tour of a codebase.

The VSCode APIs [1] is the place to look for driving VSCode. Perhaps I could help more if you explain what exactly you're trying to do.

[1] https://code.visualstudio.com/api/references/vscode-api

Thanks a lot! I have thought about it being useful for learning, for fun, as a new kind of documentation, or even for onboarding new hires but the use case for code review didn't occur to me. That's great. I can think of 3 ways to share sessions:

- attach a link as you said

- once the web player is ready, it could perhaps be integrated into the code review tool. It'll be like embedding a youtube video

- the entire recorded session can be exported as a zip file and attached to the PR or shared privately