jdemler
Conveniently Split Up Modules in Elm with Shared State
Conveniently split up modules in Elm using shared state
Shared State in Elm
There is a PR for that already, but it has not yet been merged: https://github.com/elm/compiler/pull/1850
At CurrySoftware we run a fork of the Elm compiler which merges this PR and has a feature to use ports and the debugger with `elm reactor`: https://github.com/CurrySoftware/compiler
And an example how to use it here: https://github.com/CurrySoftware/elm-reactor-example
“Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism”
Most recent example: https://www.pavoq.com a SPA built with Elm and Rust
Both bandwidth- and attention-wise.
Show HN: pavoq – WebGL Shaders as Website Backgrounds – Written in Rust and Elm
Show HN: pavoq – a marketplace for decorative shaders – built with Rust and Elm
Show HN: pavoq – WebGL shaders as webdesign elements
Especially Elm and the elm-ui library allowed us to move and build very fast!
Show HN: pavoq – a marketplace for website-shaders
Ledger files are plaintext, works really great.
One crucial thing that is missing is guaranteed browser support. That is why we only used it for the clients internal frontend. But as I understand it, this will be addressed in the upcoming 5.0 release.
Also the resulting HTML is not always as optimal as I would hope.
All in all development is just so much faster and cleaner. No need to worry about layout and style. After using style-elements for a while, HTML + CSS seem like a really stupid idea to describe layout and style.
React (at least as I understand it): The app emits HTML and CSS you wrote
Elm + style-elements: The app emits HTML and CSS you described
Try it out. IMO it changes everything about frontend development.
[1]: http://package.elm-lang.org/packages/mdgriffith/style-elemen...
No need for an external service and dependency!
Also this approach allows very simple integration into code. I.e. in rust:
pub fn telegram(msg: &str) {
use std::process::Command;
if let Err(e) = Command::new("telegram").arg(msg).status() {
println!("Error occured while calling the telegram command! {:?}", e);
}
}A Solution to the Elm – Config Conundrum
A Solution to the Elm – Config Conundrum
WordPress Plugin Development: Talking to APIs
Peteris Vasks [0] is "now is one of the most influential and praised European contemporary composers."
We use a custom "Kontenrahmen" based on the same ideas as SKR03, as using numbers is not necessary with ledger. That also means we can only communicate with tax advisors through paper. But as we communicate with the Finanzamt directly, thats ok.
If you want an example for standardized structures of accounts take a look at the german "Kontenrahmen" https://de.wikipedia.org/wiki/Kontenrahmen.
Cash can be dealt with in many ways. Some only track the ATM transactions.
Interests are just transactions, too.
HBCI/FinTS is a great way to keep track with your actual bank account.
Usually tax reports only need a few numbers. Write up some script that prints these numbers for your ledger account.
(H)Ledger does not support recurring transactions. But there are a lot of unix tools that do recurring things (cron, systemd-timers).
I would keep ledger files for private and businesspurposes seperate.
Keep in mind, that (H)Ledger is plaintext. Automation is simple. If you want to track expenses on the go, my advise would be to write a Telegram bot.
Some of these processes are required by german law and many companys outsource these to accountants or tax advisors or buy shitty software from DATEV.
The great advantage in staying fully plaintext is, that you do not need to automate everything for the whole system to work. Incoming invoices are frequent -> write a bash script, Outgoing invoices are frequent -> write a bash script. Paying the state back some VAT happens once a month, use emacs to do it manually. I really love it.
And I don't think the performance issue exists. Computers are fast nowadays. Parsing recfiles is straightforward. Also you could easily archive historic/old/probably irrelevant records.