frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Show HN: Lumoar – Free SOC 2 tool for SaaS startups

https://www.lumoar.com
61•asdxrfx•8h ago•25 comments

Show HN: Airweave – Let agents search any app

https://github.com/airweave-ai/airweave
132•lennertjansen•12h ago•33 comments

Show HN: CLI that spots fake GitHub stars, risky dependencies and licence traps

https://github.com/m-ahmed-elbeskeri/Starguard
97•artski•14h ago•62 comments

Show HN: LLM-God – An LLM Multiprompting App

https://github.com/czhou578/llm-god/tree/1.0.3
2•czhou578•2h ago•0 comments

Show HN: The missing inbox for GitHub pull requests

https://github.com/pvcnt/mergeable
22•pvcnt•10h ago•2 comments

Show HN: AGI Hits a Structural Wall – A Billion-Dollar Problem

5•mmschlereth•3h ago•0 comments

Show HN: Codigo – The Programming Language Repository

https://codigolangs.com
71•adamjhf•2d ago•20 comments

Show HN: Open-source AI code review agent that's aware of your entire codebase

https://docs.sourcebot.dev/docs/agents/review-agent
4•msukkarieh•5h ago•0 comments

Show HN: GS-Base – A multifunctional database tool with Python integration

https://citadel5.com/gs-base.htm
2•jpiech•6h ago•0 comments

Show HN: Translate between dialects and share SQL queries on the browser

https://sqlscope.netlify.app
15•WhyIsItAlwaysHN•4d ago•2 comments

Show HN: GlassFlow – OSS streaming dedup and joins from Kafka to ClickHouse

https://github.com/glassflow/clickhouse-etl
76•super_ar•1d ago•31 comments

Show HN: Blog comments, nice looking, open source – Talkyard

https://blog-comments.talkyard.io/demo/
18•KajMagnus•22h ago•2 comments

Show HN: Jester – An RSS/Atom Reader and Content Management Tool

https://jesterengine.com/
4•dan_h•8h ago•0 comments

Show HN: MMORPG prototype inspired by World of Warcraft

https://github.com/nickyvanurk/everwilds
19•nickyvanurk•19h ago•7 comments

Show HN: Vom Decision Platform (Cursor for Decision Analyst)

https://www.vomdecision.com
15•davidreisbr•4d ago•10 comments

Show HN: LoopMix128 – Fast C PRNG (.46ns), 2^128 Period, BigCrush/PractRand Pass

https://github.com/danielcota/LoopMix128
74•the_othernet•2d ago•34 comments

Show HN: Eurker – A Developer-First Uptime Monitoring Platform with JSON Configs

https://www.eurker.com/
3•ajoshu•12h ago•0 comments

Show HN: Code Claude Code

https://github.com/RVCA212/codesys
117•sean_•2d ago•25 comments

Show HN: Downloads and saves any YouTube videos and playlists

https://github.com/pH-7/Download-Simply-Videos-From-YouTube
4•pierres7•13h ago•0 comments

Show HN: Xenolab – Rasp Pi monitor for my pet carnivourus plants

https://github.com/blackrabbit17/xenolab
130•malux85•2d ago•53 comments

Show HN: Vibemail – Chrome extension for vibe emailing

https://chromewebstore.google.com/detail/vibemail/dijcjhhnpgoenmkmahigmdgpkajhhhbg
9•aliyanishfaq•20h ago•7 comments

Show HN: Hydra (YC W22) – Serverless Analytics on Postgres

https://www.hydra.so/
58•coatue•3d ago•33 comments

Show HN: I Built Remind Me AI. It's Like Unlimited GPT Tasks. Try the Demo

https://app.arcade.software/share/PrR3lG51cRjJkk6vEz3R
5•ShawnBuilds•1d ago•0 comments

Show HN: Pure Go QuickJS JavaScript engine (Golang)

https://pkg.go.dev/modernc.org/quickjs
4•0xjnml•14h ago•1 comments

Show HN: Oliphaunt – A native Mastodon client for macOS

https://testflight.apple.com/join/Epq1P3Cw
103•anosidium•3d ago•38 comments

Show HN: I’m 16 years old and working on my first startup, a study app

https://www.notiv.app/
79•WilliamCranna•1d ago•122 comments

Show HN: Hyvector – A fast and modern SVG editor

https://www.hyvector.com
325•jansan•3d ago•92 comments

Show HN: Git-Native Client (free, no login)

https://voiden.md
6•nikolasdimi•16h ago•0 comments

Show HN: A backend agnostic Ruby framework for building reactive desktop apps

https://codeberg.org/skinnyjames/hokusai
90•zero-st4rs•3d ago•34 comments

Show HN: Swift Script Caching Compiler (swift-scc)

https://github.com/jrz/tools
3•jbverschoor•17h ago•1 comments
Open in hackernews

Show HN: A backend agnostic Ruby framework for building reactive desktop apps

https://codeberg.org/skinnyjames/hokusai
90•zero-st4rs•3d ago
For a year or two I've been building a UI library with the aim of making desktop applications fun and easy to write.

It is currently written in C/Ruby and uses a custom tree sitter grammar to describe templates.

Features include: composable UI components, template directives, event and prop handling, slots, styles and automation capabilities baked in.

One of the goals of the project is privileging easy to write custom components via a drawing API over providing a fixed set of components.

At the time of this writing it should install on Windows, Mac, and Linux, but sometimes it is hard to test the install on all platforms.

I'd love to hear any feedback or suggestions on the project. It is still in an early stage, but it would be great to hear thoughts.

Docs are here: https://hokusai.skinnyjames.net/ Repo is here: https://codeberg.org/skinnyjames/hokusai

Licensed under the PPL

Comments

whalesalad•3d ago
How would you compare this to RubyMotion?
zero-st4rs•3d ago
Great question. From what I understand of RubyMotion, it compiles directly to native, calling into Objective C APIs, and like DragonRuby the Ruby implementation is not MRI.

Since Hokusai uses MRI, one can pull in from that ecosystem of gems.

RubyMotion also appears to support (iOS, Android, OSX) whereas Hokusai intends to support OSX, Linux, and Windows.

Implementation-wise, the framework itself seems different. Looking at the following [RubyMotion app](https://github.com/HipByte/RubyMotionSamples/tree/master/ios...), the logic is spread out over separate files and it doesn't appear to have a templating language.

On the other hand, Hokusai UI components are just a class that inherits from Hokusai::Block, and are self contained blocks that can be stitched together.

Hokusai is more like Vue Single file components in this regard. Hokusai also doesn't make a distinction between a "component" and an "app", they are all just Blocks.

Does that answer your question?

iraliaf•3d ago
this is really cool, thanks for contributing to the ruby ecosystem!! Do you have any example sites? I couldn't find a reference on your overview
zero-st4rs•3d ago
Yup! https://hokusai.skinnyjames.net has a guide with screenshots.

The repo itself has more examples.

dismalaf•3d ago
Looks really cool. Just a curiosity though, why xmake instead of rake?
zero-st4rs•3d ago
Good question! Most of the development build fetches and compiles C dependencies. xmake happens to be really good at this, especially considering xmake-repo.

Rake tasks don't have builtins for this iirc.

az09mugen•3d ago
Very cool project, and well thought with the choice of Raylib or SDL2. But since Raylib can compile to Android (https://github.com/raysan5/raylib/blob/master/examples/Makef...), do you think it could be difficult to add Android as a target platform ?
zero-st4rs•3d ago
Interesting, for sure. I don't know much about Ruby on android (the resulting application will absolutely need a ruby interpreter) but I thought Windows would be a no-op and I got it working there, so who knows? :)
az09mugen•3d ago
Ahah nice, I will definitively craft some GUIs for fun with your lib and make you some feedback. Thanks for this project !
samiv•3d ago
Cool.. I guess but I just wonder.. is writing the UIs in code an actual practice that people do these days?

I program (mostly) in C++ using Qt for my UIs and I just use the Qt Designer to visually drag and drop to build my UIs and the actual code gets generated by the tool.

Fast and simple.

zero-st4rs•3d ago
Pretty cool! I've heard a lot of good things about Qt.
sunrunner•3d ago
As an end user, what's the licensing situation like with Qt? I was looking to build a cross-platform desktop application (down the rabbit hole...) and was frustrated with the number of options that were just a web view of some sort and some bindings to a JS/TS framework of your choice (I don't have one and don't really want to have to use one or bundle it with the application).

Qt looked interesting, particularly with the concise syntax afforted by QML and QtQuick, but the licensing was off-putting and even just getting access (for a non-commercial project for example) seemed to require an awkward sign-up and some kind of installer.

I crave the conciseness and simplicity of something like SwiftUI but the options for doing that in a cross-platform way seem limited.

samiv•3d ago
It's double licensed. The Qt Company offers both a commercial and LGPL license but they do their best to bury and hide the LGPL option and use dark patterns to try to trick one to get the commercial license. They also want to push you towards getting an account with them for the installer.

That being said the packages (without online installer) are also available for direct download when you know where to look... [see link below]

If you're on Linux though the situation is much simpler since your distribution most likely already packages the Qt libs so you just use your package manager to install them and off you go...

Regardless, for anyone looking for a native portable toolkit, I don't really think there's anything that comes close to Qt in terms of functionality and tooling (like Qt Creator and Qt Designer) and once you get over the idiosyncrasies and quirks its really quite good (for the most part).

https://download.qt.io/official_releases/qt/

sunrunner•3d ago
I'm on macOS a lot of the time so I did get to the installer part and immediately stopped as it felt like LGPL-licensed software should be accessible without needing an account, an installer (is it useful?) or anything except allowing the end user to access libraries and headers directly.
samiv•3d ago
For the developer that knows what they're doing the installer is not absolutely necessary, you can just download the zip (or tar.gz) and extract the whole thing somewhere and go from there. The installer does provide some more advanced features such as selecting feature by feature and version by version which Qt components you want to install. At least this is how it works on Windows, I expect Mac to behave similarly.

For the end user of your product you'd of course package your software with the Qt libs (or integrate the Qt installation process in your application installation process) so that the end user doesn't need to know nor care about Qt installation at all.

teaearlgraycold•3d ago
Most UIs are made with web technologies without WYSIWYG. And now quite a lot of UIs on desktop are made with web tech.
Klonoar•19h ago
Almost everywhere and everything I’ve worked on that had a UI layer has eventually - if it didn’t start there - landed on just managing the UI in code itself.
xfalcox•3d ago
This looks super cool, exactly what I've been wanting to create some useful widgets! Thanks for sharing!
zero-st4rs•3d ago
Thanks! I'm really interested to hear how it "plays" for people. Would love updates if you use it.
jenadine•3d ago
First time I hear about "copyfarleft license".

I wonder what that means in practice for such a library.

zero-st4rs•2d ago
Thanks for raising this question.

From the discussion here: https://news.ycombinator.com/item?id=43938309, it probably won't stay PPL for much longer. It just needs to be worked out.

viraptor•3d ago
Could you add some information about licence? Currently I don't know what is it compatible with and it's not listed on OSI. So unless someone's up for reading lots of legalese, it's not easy to use/publish.
maxmcd•3d ago
https://ball.disco.coop/Peer_Production_License
viraptor•3d ago
Yeah, this still doesn't answer: can I use this with agpl, gpl, lgpl, apache2, others. The summary on top seems to imply that it's not AGPL/GPL compatible since it talks about granting specific types of organisations some monetization privileges. It doesn't simplify what the rules are (what qualifies as use?), without having to read the licence itself.

On the first read it's basically: compatible with BSD-like and PPL... and not much else?

It actually seems to break the licensing itself - the colorize gem is GPL2, which seems not compatible with PPL. https://github.com/fazibear/colorize/blob/master/LICENSE https://codeberg.org/skinnyjames/hokusai/src/commit/5380728d...

zero-st4rs•2d ago
Yeah, the main thing I understand about PPL is that it behaves like the GPL license, but has provisions for worker owned cooperatives or non-profits. 4.c. (Looking at the information again around this license, I suspect I may be incorrect though)

And you are correct, including colorize does break GPL2, I'm surprised I missed that.

Any lawyers out there? :)

kirushik•2d ago
Disclaimer: I am not a legal professional (in any jurisdiction), and this is not any form of an official advice. But I've happened to work as "engineer in licensing and copy activation" for one of the major FOSS vendors, and then being a licensing compliance officer in another large-ish FOSS project; and here are my 2¢:

You are indeed in violation of GPL2 when building on top of GPL2-licensed code and giving it a non-compatible license. And PPL is explicitly non-compatible, since it restricts the "four freedoms of FOSS" for some actors (as despicable as they might be), while GPL is explicitly restricting any form of judgement when providing the four freedoms.

On a more general note — I appreciate the spirit and the intention behind your licensing choice, but unfortunately in practice this would mean severe impediment for hokusai adoption. Like, it would be technically hard/impossible to include hokusai and derived works into any software packets distribution: they both technically and by policy are usually restricted to "clear, well-known licenses" (which typically means OSI/FSF-recognized ones), and it might not even be possible to express your licensing choice when putting the code up there. And who would pick a GUI toolkit to build with, when the resulting code can't even be published in the package repos of their Linux distro of choice?

On a more fundamental level (and I start feeling out of my depth here a little bit) — Creative Commons licenses and their derivatives are usually not a great fit for software code. Eg right here in the comments someone already mentioned that it's not clear what constitutes "use" of your codebase — and indeed, the text of your license mostly focuses on Reproduction, Distribution and Adaptation. If I build and html-based webapp on hokusai, run it on my own server, and you open the page — is this Distribution or Reproduction, for whom of us?

Even worse, if hokusai is being used in a startup which assigned shares (not options) to its founding engineers, but not to everyone — is it a "worker-owned business" or not? What about an exploitive business which frames itself as a coop/NGO/whatever, but frames it actual workers as contractors (Uber-style)? Legally it might pass the benchmark outlined in PPL, but in practice it might be even more exploitative than just hiring someone at the labor market rates. Same with an org which exploits unpaid interns or volunteers...

zero-st4rs•2d ago
Thanks so much for the clarifying and thorough information.

I will admit that my choice to use PPL is reactionary to the ecosystems of software development as they are now, which I'm not sure GPLv2 addresses. I personally don't really understand why all information shouldn't be free without conditions. Cooperative ethos is also voluntary, so it also isn't my intention to enforce that.

That being said, I might have to think on it for a bit. Hokusai was originally made with Crystal lang, but now uses a Ruby interpreter, so a considerable portion of any derivative source will be available regardless of using the GPL or not. Could a more permissive license prevent an end-user from re-publishing these sources?

There is also an issue with resource allocation (eg. time). The reason I don't think the GPL works well is that most individuals cannot sustain the effort to fully develop many projects that could supplant competitive ones (a necessary condition for equity imo) because they have to live, and living requires money (time).

The closest model I am able to think of is software that has very cheap licenses for the lifetime of that project (as opposed to monthly subscriptions or licenses that are absurdly expensive). Maybe sponsorships are a better answer to these questions.

All in all, these are probably concerns with how companies and people exploit each other as opposed to how software should be available. Maybe GPL2 or a more permissive license is the way to go?

kirushik•17h ago
In my (limited) understanding, running your source code using a GPL-licensed interpreter to run the code is not considered _linking_, and thus GPL would not infect the code in question. (This is what allows even prorpietary code to run on top of OpenJDK, which is itself GPL-licensed). In Ruby's YARV interpreter case it's even more straightforward — Ruby License is essentially "either our custom or BSD-2" (https://www.ruby-lang.org/en/about/license.txt), so no "infectious copyleft" happens when running software with YARV.

I'm a little bit uncertain with what you mean with "prevent an end-user from re-publishing", and what's a desired behaviour here: licenses differ in who they consider to be an end-user (that's the main difference between GPL and AGPL, for example) and if they give any end-user a blanket permission to **obtain** the source code (that's the most substantial difference between copyleft and permissive licenses).

WRT business models on top of FOSS — I fully understand the struggle. I cannot possible give any meaningful advise in hokusai's specific case (and arguably I'm even less qualified to do this than commenting on licensing intricacies, please keep this in mind) — but the successful business models in FOSS I've witnessed range from "this is our GPL-licensed code, but you can buy a proprietary non-copyleft rights from us if you're a commercial enterprise" to "this is your GPL-licensed source; if you don't want to deal with its', pretty complicated, compilation — you can buy binaries from us" to "hey, this is my Patreon/Github Sponsorship — if you want new releases to keep coming, put some money where your mouth is".

Feel free to email/message me (link in the profile), maybe I can help you find a setup which would be the best match to your ideas of how it all should work — hopefully without putting the further adoption of hokusai under unnecessary risk... (But, again, I'm just a random guy from the Internet, and all this would be just my pretty unprofessional opinion...)

omneity•2d ago
This is reminding me a lot of shoes.rb (in a good way)

Awesome work!

zero-st4rs•2d ago
Thanks! _why is the person who really sparked my love and engagement with Ruby so this means a lot.
omneity•1d ago
You and I and many others, a true legend!
zem•2d ago
looks neat, and definitely in the spiritual tradition of shoes! how does deployment work? can this be used to ship apps where the end user doesn't need to be aware of hokusai or ruby?
zero-st4rs•2d ago
This is a great question that I don't yet have an answer for.

Ideally, there should be an automated way builtin to the gem that packages apps.

Currently, I use a tool I wrote called Barista to package an an application with it's dependencies, (part of it was modeled after chef/omnibus). This might not be the best way though, so I'm open to ideas.

talljohnson1234•5h ago
This looks really good.