HackerTrans
TopNewTrendsCommentsPastAskShowJobs

dharmatech

720 karmajoined 19 年前

Submissions

Principia Softwarica: Plan 9 Code Explained

youtube.com
2 points·by dharmatech·2 個月前·0 comments

9social: A Social Network for Plan9

youtube.com
4 points·by dharmatech·2 個月前·0 comments

Show HN: My workflow for using Plan 9 on Windows

2 points·by dharmatech·3 個月前·0 comments

2024 Interview with Alan Kay

youtube.com
8 points·by dharmatech·5 個月前·0 comments

Show HN: I debug JONESFORTH with a GDB trace file

1 points·by dharmatech·5 個月前·0 comments

Show HN: Interactive Equation Solver

2 points·by dharmatech·5 個月前·0 comments

Navigating the filesystem and Git with single key presses

1 points·by dharmatech·7 個月前·1 comments

Python terminal app as Android Phone app

5 points·by dharmatech·7 個月前·14 comments

comments

dharmatech
·7 小時前·discuss
The interface is beautiful!

Just curious... Did you implement each app natively? I.e. Swift and Kotlin? Or were you able to use a cross platform framework like Flutter?
dharmatech
·10 小時前·discuss
Very cool!

Here's a demo of a library for interactively eliminating variables from sets of equations:

https://youtu.be/7ysUdxTfKhU?is=lE5o9Besk1XNnggP

Source:

https://github.com/dharmatech/combine-equations.py

The interactive gui part starts at 4:08. Before that is the setup and context of the example.

If you ever move in the direction of supporting sets of equations and isolating variables, consider using colors to indicate known values and unknown values as is done in this library.

I test this library on exercises you'd find in college physics (motion, constant acceleration, projectile motion, Newton's laws, etc.) since these involve sets of equations and eliminating variables so that you have expressions in terms of known values.

The above demo uses a jupyterlite notebook, so everything runs client side in the browser. No server side kernel necessary.

To use your interactive fluid style in this library to eliminate variables, I could see the user first isolating that variable. Then dragging that variable they want to eliminate over an instance of that variable in another equation. So that's effectively the user saying "replace this variable with this expression".
dharmatech
·9 天前·discuss
> As a professional YouTuber, the main issue I instantly see with this is the lack of monetization.

That's a feature, not a bug.
dharmatech
·11 天前·discuss
Alan Kay once strongly critiqued web browsers. He argued for a much simpler architecture.

Your experiment somehow reminds me of the better approach that he was hinting at. I.e. I think he would appreciate your experiment as well as the neuroscience in your background.

https://x.com/i/status/1957798084181901333
dharmatech
·11 天前·discuss
Your project is really cool.

And, when a project announcement upsets this many people, it's a sign you're on the right path, or at least an interesting one.

; - )
dharmatech
·15 天前·discuss
Andros is also the guy behind the really cool Org Social:

https://org-social.org/
dharmatech
·上個月·discuss
I've been messing around with ocaml on plan9:

https://github.com/dharmatech/ocaml
dharmatech
·2 個月前·discuss
Cool project!

Just for fun, looking at code count as a rough measure of complexity.

rubish: 26,842

rc (plan9 shell): 5,888

To be fair, rubish does a lot more than rc. rc is pretty minimal.

rc source:

https://github.com/9front/9front/tree/front/sys/src/cmd/rc

Measures below:

    $ wc -l `find . -name '*.rb'`
      1124 ./rubish/execution_context.rb
        43 ./rubish/frontend.rb
      260 ./rubish/builtins/hash_directories.rb
      510 ./rubish/builtins/echo_printf.rb
      834 ./rubish/builtins/bind_readline.rb
      182 ./rubish/builtins/directory_stack.rb
      299 ./rubish/builtins/read.rb
      324 ./rubish/builtins/trap.rb
      129 ./rubish/builtins/arithmetic.rb
      862 ./rubish/completion.rb
      988 ./rubish/expansion.rb
      431 ./rubish/completions/git.rb
      114 ./rubish/completions/ssh.rb
      530 ./rubish/completions/bash_helpers.rb
      453 ./rubish/completions/help_parser.rb
      167 ./rubish/ast.rb
        46 ./rubish/frontend/tty.rb
      1179 ./rubish/runtime.rb
      127 ./rubish/lazy_loader.rb
        63 ./rubish/data_define.rb
      1163 ./rubish/runtime/command.rb
      153 ./rubish/runtime/job.rb
      7270 ./rubish/runtime/builtins.rb
      306 ./rubish/config.rb
      2442 ./rubish/repl.rb
      1316 ./rubish/codegen.rb
      1180 ./rubish/lexer.rb
      742 ./rubish/history.rb
      1169 ./rubish/parser.rb
        67 ./rubish/startup_profiler.rb
      848 ./rubish/prompt.rb
        47 ./rubish/data/readline_config.rb
      716 ./rubish/data/builtin_help.rb
      251 ./rubish/data/shell_options.rb
        53 ./rubish/data/completion_data.rb
        5 ./rubish/version.rb
      248 ./rubish/shell_state.rb
      140 ./rubish/arithmetic.rb
        61 ./rubish.rb
    26842 total

rc:

    $ wc -l *.c *.h *.y
      547 code.c
    1173 exec.c
      234 getflags.c
      259 glob.c
      240 havefork.c
      137 here.c
      301 io.c
      436 lex.c
      169 pcmd.c
      78 pfnc.c
      494 plan9.c
      539 simple.c
      74 subr.c
      37 trap.c
      190 tree.c
      420 unix.c
      109 var.c
      85 exec.h
      72 fns.h
        7 getflags.h
      28 io.h
      167 rc.h
      92 syn.y
    5888 total
dharmatech
·2 個月前·discuss
This is cool!

OK, time for inception... 9social on freenet-git

¯ \ _ ( ツ ) _ / ¯
dharmatech
·2 個月前·discuss
I definitely think we should be exploring decentralized approaches to services we use.

I also would like to see an emphasis on local-first approaches.

This experiment, in the spirit of UNIX, composes git and text files to form a social network:

https://github.com/dharmatech/9social

Video demo: https://youtu.be/q6qVnlCjcAI
dharmatech
·2 個月前·discuss
Thanks for checking it out, pjmlp!
dharmatech
·2 個月前·discuss
Hey pjmlp (waves),

I know you've been an advocate for OSes and languages that are outside of the mainstream.

I finally got around to living in plan9...

My experiment, a social network for plan9 written in rc and some awk.

https://github.com/dharmatech/9social
dharmatech
·2 個月前·discuss
> how do you manage discovery of other users

Here's my personal profile on 9social:

https://github.com/dharmatech/9social-user-dharmatech

Each profile has a `following` file which shows who they're following:

https://github.com/dharmatech/9social-user-dharmatech/blob/m...

So, once you know someone on the network (now you know me!) you can see who they follow. And who each of them follow... And so on.
dharmatech
·2 個月前·discuss
> how do you manage identity/authentication

Well, each user's profile is just a git repository (possibly on github). So I'd think about identity/authentication in the same way users think about it for their code projects.

If you have specific scenarios you're wondering about, feel free to ask.
dharmatech
·2 個月前·discuss
> Nice! This sounds just like what I'd been thinking the system should be like.

Cool! Thanks for checking it out!
dharmatech
·2 個月前·discuss
I agree that owning the data is ideal:

https://news.ycombinator.com/item?id=48129841
dharmatech
·2 個月前·discuss
I absolutely LOVE secure scuttlebutt (SSB).

Their local-first approach inspired that aspect of the 9social design.

However, a big difference is that SSB is a sophisticated protocol.

With 9social, the heavy lifting is done by git and a set of conventions.
dharmatech
·2 個月前·discuss
> You connect to your contacts via P2P, and download/upload updates to your social media network.

Yup, local-first is central to the design.

And, you only see who you explicitly follow.
dharmatech
·2 個月前·discuss
> I love this idea. Thank you for the examples!

Thanks for checking it out!
dharmatech
·2 個月前·discuss
I love your username!

I hope there's a sympy-thagoras out there.

( • ‿ • )