https://github.com/nature-lang/nature The programming language project will be the next golang or rust. It has not yet released an official version.
Ask HN: Show me your half baked project
371–380 of 708 posts
Re: Ask HN: Show me your half baked project
#372As a mentor/engineering leader, I have always resorted to recording videos about how a project is structured, what decisions led to the current status and thought process behind this. I felt that much of this information is already there in the git commit log and perhaps project management software like JIRA.
gitPlay starts at the first commit instead of the head of the log. And you see a video player like interface. When you hit play, you see the folder structure evolve. I am adding file viewers, support for multiple folder browsers.
Future ideas:
- Show hot spots across the entire file structure in the whole timeline
- Visualize folder/file chances over time as a tree (instead of explorers at the moment)
- Integrate with project management to overlay tickets with correspond to pull/merge requests
- Overlay a video with a file documenting sections of the video related to commits so gitplay will show contents as you play the video
How I wish to maintain/monetize:
- Keep core software open source, free for anyone, runs locally on your git repo
- Pay to tap into private project management data or explainer videos (point 4 above)
Re: Ask HN: Show me your half baked project
#373Let your creativity run wild as the AI generates simple, 7-page stories based on your (child's) input prompt. Practice reading by pressing the "Record" button and recording yourself reading the page, then press "Stop". StoryScroll transcribes your voice, and compares it to the original text, giving a points rating. Any mistakes are noted and added to your profile (for teacher review or further practice).
Keep a daily streak going! How long can you go for? Have a read in our virtual "library"! Earn points and dress up your virtual avatar! (Not currently available) Log in and try one of our hilarious minigames! Create a "Teacher" account and monitor your students' progress!
(Some features not currently working on iOS) Edit: Also, we turned off the image generation feature for now, because it was too expensive. It just shows a random placeholder image.
Re: Ask HN: Show me your half baked project
#374Re: Ask HN: Show me your half baked project
#375Re: Ask HN: Show me your half baked project
#376Earlier quoted context omitted.
Of course I'm open to feedback, thank you for giving it. Yeah, the visuals are super bad, right? lol. It's easy for me to forget when I've looked at them for a while. I'll see what I can do to make them look a little nicer. I'm just hesitant about making them look good and then going a different direction with the game / changing the perspective and needing to throw stuff out. Yeah, so ants do have a chance to slip/f…
I didn't catch initially that the ants were confined to the edges underground, perhaps when underground they can walk the full 2d?
There's this game, Oxygen Not Included, that tackles the issue with ladders. https://assets.rockpapershotgun.com/images/2019/08/Oxygen-No... I know ladders are immersion breaking, but was thinking maybe ants could form living chains or something, idk.
Re: Ask HN: Show me your half baked project
#377https://github.com/lukehoban/ten
Ten is a statically typed tensor programming language for defining AI models.
Ten has the following features: (1) Succint syntax and operators tailored to AI model definition (2) Fully statically typed tensors, including generic functions over tensor dimension and batch dimensions (...) (3) First-class hyper-parameters, model parameters and model arguments for explicit model specification (4) EinOps-style reshaping and reductions - tensor dimensions are explicit not implicit
Example (a functional GPT2 implementation):
Gelu(x: {...}) -> {...}:
return 0.5 * x * (1 + Tanh(0.7978845608 * x + 0.044715 * x**3))
SoftMax[N](x: {...,N}) -> {...,N}:
exp_x = Exp(x - Max(x))
return exp_x / Sum(exp_x)
LayerNorm[S,E]|g:{E},b:{E}|(x:{S,E}) -> {S,E}:
mean = Mean(x)
variance = Var(x)
return g * (x - mean) / Sqrt(variance + 1e-5) + b
Linear[N,K]|w:{N,K},b:{K}|(x:{...,N}) -> {...K}:
return x@w + b
FFN[S,E]|c_fc, c_proj|(x:{S,E}) -> {S,E}:
a = Gelu(Linear[E,E*4]|c_fc|(x))
return Linear[E*4,E]|c_proj|(a)
Attention[Q,K,N,V](q:{...,Q,K}, k:{...,N,K}, v:{...,N,V}, mask:{Q,N}) -> {...,Q,V}:
return Softmax[N](q @ Transpose[N,K](k) / Sqrt(K) + mask) @ v
MHA[H,S,E,K]|c_attn, c_proj|(x:{S,E}) -> {S,E}:
q, k, v = Linear[E,E*3]|c_attn|(x) {S,(3,H,K) -> 3,H,S,K}
causal_mask = (Tri[S]() - 1) * 1e10
out = Attention[S,K,S,K](q, k, v, causal_mask) {H,S,K -> S,(H,K)}
return Linear[E,E]|c_proj|(out)
Transformer[H,S,E]|mlp, attn, ln_1, ln_2|(x:{S,E}) -> {S, E}:
y = x + MHA[H,S,E,E/H]|attn|(LayerNorm[S,E]|ln_1|(x))
return y + FFN[S,E]|mlp|(LayerNorm[S,E]|ln_2|(y))
GPT2[H,S,E,B,V]|wte, wpe, blocks|(inputs:{S}) -> {S,V}:
x = wte.[inputs] + wpe.[Range[S]()]
z = for i in 0...B: x, y -> Transformer[H,S,E]|blocks.[i]|(y)
return LayerNorm[S,E]|ln_f|(z) @ Transpose[V,E](wte)
Status: Working prototype, but lots more I'd love to do to bring this to life (README has more details of future thoughts/plans).Re: Ask HN: Show me your half baked project
#378I love this thread, thank you! Ampwall. Musician-owned, Public Benefit Co alternative to Bandcamp. (Eventually.) https://ampwall.com . Dogfooding it with my own band’s merch sales at https://woeunholy.ampwall.com . Digital audio will launch soon (2-3 weeks?) and we plan on starting our tests with outside bands/labels by end of year. I’ve been building this throughout the past year but the stuff that’s publicly availa…
Re: Ask HN: Show me your half baked project
#379Leporello.js is an interactive functional programming environment designed for pure functional subset of JavaScript. It executes code instantly as you type and displays results next to it. Leporello.js also features an omnipresent debugger. Just position your cursor on any line or select any expression, and immediately see its value. Leporello.js visualizes a dynamic call tree of your program. Thanks to the data immutability in functional programming, it allows you to navigate the call tree both forward and backward, offering a time-travel-like experience.
Re: Ask HN: Show me your half baked project
#380It's a (story-)scripting language based on Markdown and Lua. Basically it lets you write choice-based interactive fictions in Markdown (and Lua code blocks for advanced usages).
It is not actively developed these days since I consider the language itself is somehow usable and I have little free time these days. But the runtime-time API and compile-time macro API will probably need tons of improvements and I am still looking to implement a few features, like subroutine calls and threading support (not those threads though), and probably an IDE or at least a LSP implementation. (But again, I am quite occupied these days so the to-do list just piles up...)
Any feedback will be greatly appreciated!