timeline
Yue
timeline | Yue | |
---|---|---|
5 | 8 | |
6 | 3,334 | |
- | 2.4% | |
8.9 | 7.1 | |
4 days ago | about 1 month ago | |
JavaScript | C++ | |
- | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
timeline
-
Ask HN: Admittedly Useless Side Projects?
My timeline thing. It gathers all my crap and puts in onto a timeline. It's a more fine-grained version of scrolling to a specific date on my photo stream.
https://github.com/nicbou/timeline
It serves no purpose, but somehow it attracted one contributor.
It's pointless on purpose. It's the thing I work on when I want to forget about work, and build purely for myself.
-
Ask HN: What's your personal backup strategy?
Google Drive as a first line of defence. It's been solid for a really long time.
I also run hourly rsync backups to my home server, and propagate them to a Hetzner file storage server. This is done by my timeline thing [0]. The timeline thing backs up files from multiple devices, but also geolocation, social media posts, and other data I consider valuable. It's extensible, so I can add new inputs/outputs as needed.
Whatever your backup strategy is, consider the following threats:
- Your files are held hostage by ransomware, and the damage spreads to your backup
- Your house is destroyed by fire
- You lose your 2FA device
- You are locked out of your Google/Apple/Microsoft account
- You are incapacitated, and someone needs to take over
I have 4 of those factors covered. I am working on the last point.
[0] https://github.com/nicbou/timeline
-
What Are Your Most Used Self Hosted Applications?
My own timeline thing.
It hosts all of my data plus my personal diary. I update it at least once a day. My photos, backups and geolocation are automatically uploaded to it.
https://github.com/nicbou/timeline
My home server gets a lot of use too. It's mostly my own code, plus Transmission.
https://github.com/nicbou/homeserver
I also have a few lines of code that take my browser's search queries and routes them according to keywords. Browsers do this natively now, but old habits die hard. Every search query goes through it.
-
Ask HN: Who wants to help promote RSS?
I added RSS to my websites, because my timeline thing (https://github.com/nicbou/timeline) uses them to retrieve posts from my websites.
However, I see the death of RSS as the symptom of a larger problem: when platforms get big enough, they restrict access to their data. RSS feeds disappear, but so do other machine-readable endpoints. If it wasn't for GDPR, there would be no way to export that data. GDPR gave us clunky one-time exports, but even those are often incomplete.
The industry has a strong incentive to kill RSS, since the readers can strip the valuable bits (content or data) from the business bits (analytics, monetisation). RSS users are hard to count or monetise.
This is a battle worth fighting, but it's not one you should expect to win.
-
What is your “I don't care if this succeeds” project?
https://github.com/nicbou/timeline
It regroups my personal data, and displays it on a timeline. Sort of like if Google Photos also included reddit posts, personal journal entries, text messages and other slices of life.
I do it both as a way to back up files and photos, and as a way to keep an enhanced journal.
Yue
- This year in Servo: over 1000 pull requests and beyond
- Yue: A library for creating native cross-platform GUI apps
-
So you want to write a GUI framework (2021)
For a recent project I chose Yue (https://libyue.com/), a cross-platform native widget GUI toolkit with C++, JavaScript/Node.js, and Lua. I've only used the Lua interface and macOS backend, but it has worked quite well, despite the very steep learning curve. This was also my first desktop GUI app, so I had to learn many implicit concepts that weren't obvious from the otherwise extensive documentation.
Yue was also the only option that 1) supported macOS, 2) supported Lua, 3) was sufficiently comprehensive to build a non-toy GUI app, 4) and that I could integrate into my (static) build. I couldn't even get the wxWidgets Lua interfaces to compile, and Qt and Fltk had similar stories, whereas reverse-engineering the baroque Yue build (based on Google's internal build systems) was relatively simple. Yue had some sharp edges, but I was able to work around them whilst patiently waiting for patches and fixes upstream.
Immediate mode interfaces were a non-starter for me. For a non-trivial set of otherwise typical controls and window management you have to implement too much yourself, plus being non-native they not only felt wrong (which admittedly is somewhat subjective; the younger crowd seems to think non-native, immediate mode interfaces look more state-of-the-art), but lacked other interfaces for proper desktop integration, like theme change signaling (i.e. notification that a user switch between light and dark modes in the macOS system settings panel).
All-in-all I would highly recommend Yue.
- WxWidgets 3.2.0 Released
- Yue – A library for creating native cross-platform GUI apps
-
Gtk4 Tutorial
I settled for Yue: https://github.com/yue/yue It's been around for several years. The deciding factor for me was that is has well maintained Lua bindings as part of the core project alongside JavaScript (Node.js) and C++.
I didn't have much luck with libui (crashes, missing features, etc), and various immediate mode alternatives just require too many dependencies and other work that made integration too painful. Plus, Lua bindings for all these were always stale. In fact, Lua binding quality is pretty poor all around including for GTK, Qt, WxWidgets, and FLTK.
-
Portal Windows for Electron
There are many more JavaScript developers than C++ developers.
Personally I like Yue, a cross-platform native toolkit library: https://github.com/yue/yue But much of project was already using Lua, so Node.js and Electron were never viable solutions.
-
What is your “I don't care if this succeeds” project?
A native GUI library https://github.com/yue/yue.
It was a disaster when I announced it on Hacker News, and I got numerous harassments from strangers.
But anyway 2 years since then and I'm still working on it.
What are some alternatives?
Som - Parser, code model, navigable browser and VM for the SOM Smalltalk dialect
Vaca - C++ Win32 wrapper to develop GUI apps
react-qml - Build native, high-performance, cross-platform applications through a React (and/or QML) syntax
NanoGUI - Minimalistic GUI library for OpenGL
Simula - A Simula 67 parser written in C++ and Qt
libui - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.
Video Transcoding - Tools to transcode, inspect and convert videos.
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
RSSHub - 🧡 Everything is RSSible
sciter - Sciter: the Embeddable HTML/CSS/JS engine for modern UI development
callibella - Sync your personal calendar to your work calendar, privately 🐒
wxWidgets - Cross-Platform C++ GUI Library