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

I've created a library that use t-strings to prevent shell injection that even works on Windows. It's written in Rust. https://github.com/aspizu/tshu

    $ uv run --with tshu python -m asyncio
    >>> from tshu import sh
    >>> username = "aspizu; rm -rf /"
    >>> await sh(t"echo {username}")
    aspizu; rm -rf /


Does the library handle arguments that begin with a dash?

Does this code print out the contents of the file named `--help`, or does it print the documentation for the `cat` command?

  filename = "--help"
  await sh(t"cat {filename}")


A textured 3D game set on a fictional planet. Explore highly detailed environments and structures and uncover the events that took place. Inspired by Infra and Rain World, among other things.


I found my old j2me phone lying around, tried using it as a daily driver for a while. wanted to browse geminispace so wrote a j2me gemini browser. maybe I should write a blog about my experience.


That would be fun to read. Did you get the gemini browser to work? AFAIK getting TLS working on old devices could be difficult.


> All of these new features are impossible in the visual programming paradigm.

I believe that to be not true. Visual paradigm allows for some interesting behaviours.

1. Integrate external tooling and workflows

This is just the result of the Scratch runtime being in the browser.

2. Macros

Okay, macros might seem very difficult in a visual paradigm, but its possible. And, in a visual paradigm, it would be very easy to visualize how macros transform the code. (You could have a pop-up that shows the expanded form of the macro)

3. Optimizations: Turbowarp is a Scratch mod that does JIT compilation with optimizations.


adazem009 has been developing an alternative runtime for Scratch written in C++ [1]. It even uses compilation to speed-up the performance of Scratch projects, perfect runtime for goboscript projects.

[1]: https://github.com/scratchcpp/libscratchcpp


You can kinda do this using sb2gs [1], which is a decompiler for goboscript. It turns Scratch projects into text-based goboscript projects automatically, for people who wish to work on their Scratch projects in goboscript without having to manually port their entire project to goboscript. Though, sb2gs isn't the best at decompiling everything properly, so a few manual edits are required.

[1]: https://github.com/aspizu/sb2gs


There are handful methods of installation documented in the documentation [1]. The easiest one being installing from git and cargo. For people who do not have the rust toolchain installed, the easiest method is to install pre-built binaries released on GitHub [2].

[1]: https://aspizu.github.io/goboscript/ [2]: https://aspizu.github.io/goboscript/install/#install-from-bi...


This is neography meets conlang. Love it. I would really love to see a unique programming language that uses a constructed language with a beautiful script. I had the idea of making one but I never got around to it.


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

Search: