HackerLangs
TopNewTrendsCommentsPastAskShowJobs

dharmatech

720 karmajoined 19 năm trước

Submissions

Principia Softwarica: Plan 9 Code Explained

youtube.com
2 points·by dharmatech·2 tháng trước·0 comments

9social: A Social Network for Plan9

youtube.com
4 points·by dharmatech·2 tháng trước·0 comments

Show HN: My workflow for using Plan 9 on Windows

2 points·by dharmatech·3 tháng trước·0 comments

2024 Interview with Alan Kay

youtube.com
8 points·by dharmatech·5 tháng trước·0 comments

Show HN: I debug JONESFORTH with a GDB trace file

1 points·by dharmatech·5 tháng trước·0 comments

Show HN: Interactive Equation Solver

2 points·by dharmatech·5 tháng trước·0 comments

Navigating the filesystem and Git with single key presses

1 points·by dharmatech·7 tháng trước·1 comments

Python terminal app as Android Phone app

5 points·by dharmatech·7 tháng trước·14 comments

comments

dharmatech
·4 giờ trước·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
·7 giờ trước·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
·8 ngày trước·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 ngày trước·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 ngày trước·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 ngày trước·discuss
Andros is also the guy behind the really cool Org Social:

https://org-social.org/
dharmatech
·tháng trước·discuss
I've been messing around with ocaml on plan9:

https://github.com/dharmatech/ocaml
dharmatech
·2 tháng trước·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 tháng trước·discuss
This is cool!

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

¯ \ _ ( ツ ) _ / ¯
dharmatech
·2 tháng trước·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 tháng trước·discuss
Thanks for checking it out, pjmlp!
dharmatech
·2 tháng trước·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 tháng trước·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 tháng trước·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 tháng trước·discuss
> Nice! This sounds just like what I'd been thinking the system should be like.

Cool! Thanks for checking it out!
dharmatech
·2 tháng trước·discuss
I agree that owning the data is ideal:

https://news.ycombinator.com/item?id=48129841
dharmatech
·2 tháng trước·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 tháng trước·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 tháng trước·discuss
> I love this idea. Thank you for the examples!

Thanks for checking it out!
dharmatech
·2 tháng trước·discuss
I love your username!

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

( • ‿ • )