Lunar
rupy
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.
Lunar
-
Reverse Engineering a Software Crack
It’s done in a similar way on macOS: a dylib is added to the bundle and an LC_LOAD command is added to the app binary. The dylib is the first thing that runs because of using the constructor attribute, like this: https://notes.alinpanaitiu.com/Injecting%20a%20DYLIB%20into%...
The nice thing is that a signed app will refuse to load a dylib that does not have the same signature. So crackers will be forced to change the whole app signature which can be easily detected in app code.
I have that kind of protection in Lunar (https://lunar.fyi/) and Clop (https://lowtechguys.com/clop) and it seems to be good enough as they have no recent cracks.
-
No I don't want 2, Emacs
Pretty sure Lunar [0] can do this for you, and you can buy a lifetime license.
[0]: https://lunar.fyi/
-
Show HN: Multi-monitor KVM using just a USB switch
I've had good luck with the Lunar app - it manages my Dell and LG monitors on an M2. (No affiliation) https://lunar.fyi
-
PHOLED Will Transform Displays
Wild! I am working on exactly the same thing now for Lunar (https://lunar.fyi), and I'm also calling it Night Mode ^_^ what a coincidence
I've been trying to make "white regions in dark backgrounds" less painful for months, but doing that at the system level on macOS is incredibly hard. I see you're doing it with CSS filters, which make sense in the limited scope of an article. But applying something like that on the whole macOS UI would cause confusion.
I already use something similar on the iPhone: I read on the Kindle app which has white text on black background, then I have a full red Color Tint filter on the Triple Back Tap shortcut which I use before reading. Very similar effect to your solution, although I don't have images in my books.
-
If buying isn't owning, piracy isn't stealing
I was comparing anti-piracy measures with DRM, I don't have actual DRM in my app. I can't block users that really bought the app from using it (which is what DRM is notorious for).
But I do have a license verification for the Pro features (https://lunar.fyi/#pro), and that is what people are cracking in the app. I only added more protection around this verification.
-
MacOS tools to make your life easier
Lunar
-
Create a shortcut for even lower phone brightness
There's no Reduce White Point on Mac as far as I am aware. However, you can use the fantastic Lunar [0] app to achieve this, as it supports "Sub-Zero Dimming".
To use it, I think you just need to start Lunar, and then press the Reduce Brightness button on your keyboard until it goes below the minimum Mac allows.
[0] https://lunar.fyi
-
YouTube's Anti-Adblock and uBlock Origin
As the dev of a macOS app that breaks all the time because of external hardware, the tone of the article hits close to home. (I’m talking about https://lunar.fyi/ whose brightness control commands can be blocked by USB-C hubs, “smart” monitors, too long cables etc.)
I had to disable public GitHub issues on the app repo [1] because people seemed to fuel each other with spiteful comments and “why can’t you just!!” sentences.
The contact form still attracts many such “entitled” people and it hurts to wake up to such messages, but at least I can choose to ignore those if I can’t bring anything to the discussion. There’s no peer pressure.
These people are expecting too much from a handful of developers who are sharing a lot of free work and time that could have been spent better than hunting new IDs in URLs and updating regular expressions.
[1] https://github.com/alin23/Lunar
-
I2c-USB-hub: An i2C Controllable USB 2.0 Hub
Last year I bought a second computer for my music studio. I wanted to use the same set of 2 monitors and wired keyboard + trackpad on both machines.
I wrote simple scripts to switch my monitor inputs with keyboard shortcuts (even simpler with Lunar, amazing new Mac app — https://lunar.fyi), which saved me from having to press annoying input-source buttons.
But I couldn't for the life of me find a simple, suitable software controllable KVM switch. That still requires the hardware button to be controlled, so frustrating.
-
Changing my relationship with GitHub Copilot
Some people like the process of writing code, more than the end result. I had a few months of that feeling, but nowadays it’s rarely about writing for me.
Just the other day I used Copilot to explain the disassembly of macOS KeyboardBacklight code, so that I can turn off the keyboard lights when using Lunar’s Blackout (https://lunar.fyi/#blackout)
It even helped me generate the ObjC function signatures from assembly and use the right calling convention in Swift afterwards. It really feels like magic.
I would have no joy in writing that code, it’s mostly bridging and translation anyway. I just need it to do this thing so that people can take advantage of it.
rupy
-
Considerations for a long-running Raspberry Pi
I have been running a Raspberry 2 cluster for 10 years: http://host.rupy.se
A few weeks back the first SD card to fail got so corrupted it failed to reboot!
My key learning is use oversized cards, because then the bitcycle will wear slower!
I'm going from 32GB to 256/512/1024!
-
What Kind of Asynchronous Is Right for You?
How this article does not mention SSE, comet or chunking escapes me.
What does their definition of event-driven really look like in practice.
Nobody has a clue.
Here is the ideal event driven system, it's async-to-async: https://github.com/tinspin/rupy/wiki/Fuse
The example is not working because I had to shut down the services for multiple reasons, but the high level of it is that you use 4 (potentially different) threads to do one request/response middle man transaction.
That way you have _zero_ io-wait or idling. I'm surprised nobody has copied this approach since I invented it 10 years ago. I understand why though you need your entire chain to be async and that means rewriting everything and that is a big risk when it's hard to debug.
But if you succeed you can build something that is 10x perf/watt than all other implementations. Which is going to be important when interest rates go higher and crash our entire industry.
-
An unknown Swedish startup’s €3B bid to build a green rival to AWS
The hardware is peaking.
So software is where you can make the difference: http://host.rupy.se
- Sandstorm: Open-source platform for self-hosting web app
-
You Want Modules, Not Microservices
I think we're all confused over the definition. Also one might understand what all the proponents are talking about better if they think about this more as a process and not some technological solution:
https://github.com/tinspin/rupy/wiki/Process
All input I have is you want your code to run on many machines, in fact you want it to run the same on all machines you need to deliver and preferably more. Vertically and horizontally at the same time, so your services only call localhost but in many separate places.
This in turn mandates a distributed database. And later you discover it has to be capable of async-to-async = no blocking ever anywhere in the whole solution.
The way I do this is I hot-deploy my applications async. to all servers in the cluster, this is what a cluster node looks like in practice (the name next to Host: is the node): http://host.rupy.se if you click "api & metrics" you'll see the services.
With this not only do you get scalability, but also redundancy and development is maintained at live coding levels.
-
I wish my web server were in the corner of my room
I have hosted my own web server both physically and codevise since 2014.
It's on a Raspberry 2 cluster:
http://host.rupy.se
Since 2016 i have my own database also coded from scratch:
http://root.rupy.se
We need to implement HTTP/1.1 with less bloat, a C non-blocking web server that can share memory between threads is probably the most interesting project for humans right now, is anyone working on that?
-
Ask HN: Free and open source distributed database written in C++ or C
I have one in Java: https://github.com/tinspin/rupy
Here is the 2000 lines of code of the entire database: http://root.rupy.se/code?path=/Root.java
And here you can try it out: http://root.rupy.se
-
Dokku – Free Heroku Alternative
The smallest PaaS you have ever seen is one order of magnitude larger than mine: https://github.com/tinspin/rupy
And I bet you the same goes for performance, if not two!
-
Server-Sent Events: the alternative to WebSockets you should be using
The data is here: http://fuse.rupy.se/about.html
Under Performance. Per watt the fuse/rupy platform completely crushes all competition because of 2 reasons:
- Event driven protocol design, averages at about 4 messages/player/second (means you cannot do spraying or headshots f.ex. which is another feature in my game design opinion).
- Java's memory model with atomic concurrency which needs a VM and GC (C++ copied that memory model in C++11, but it failed completely because they lack both VM and GC, but that model is still to this day the one C++ uses), you can read more about this here: https://github.com/tinspin/rupy/wiki
You can argue those points are bad arguments, but if you look at performance per watt with some consideration for developer friendlyness, I'm pretty sure in 100 years we will still be coding minimalist JavaSE on the server and vanilla C (compiled with C++ compiler) on the client.
- Jodd – The Unbearable Lightness of Java
What are some alternatives?
MonitorControl - 🖥 Control your display's brightness & volume on your Mac as if it was a native Apple Display. Use Apple Keyboard keys or custom shortcuts. Shows the native macOS OSDs.
huproxy
BetterDisplay - Unlock your displays on your Mac! Flexible HiDPI scaling, XDR/HDR extra brightness, virtual screens, DDC control, extra dimming, PIP/streaming, EDID override and lots more!
cmdg - Command line Gmail client
Monitorian - A Windows desktop tool to adjust the brightness of multiple monitors with ease
Nullboard - Nullboard is a minimalist kanban board, focused on compactness and readability.
BetterDummy - Unlock your displays on your Mac! Smooth scaling, HiDPI unlock, XDR/HDR extra brightness upscale, DDC, brightness and dimming, dummy displays, PIP and lots more! [Moved to: https://github.com/waydabber/BetterDisplay]
cakephp-swagger-bake - Automatically generate OpenAPI, Swagger, and Redoc documentation from your existing CakePHP code.
RatPoison - Latest Ver: 1.7; Default Menu Key is F1; Charlatano's Successor; dn
dbmate - :rocket: A lightweight, framework-agnostic database migration tool.
SlimHUD - Replacement for MacOS' volume, brightness and keyboard backlight HUDs.
Aerospike - Aerospike Database Server – flash-optimized, in-memory, nosql database