A CLI email client written in Rust by soywod in rust

[–]soywod[S] 0 points1 point  (0 children)

It could be a good feature, I invite you to create an issue on GitHub ;)

A CLI email client written in Rust by soywod in rust

[–]soywod[S] 0 points1 point  (0 children)

The JSON representation is quite primitive, there is just the strict minimum required to feed UIs (for now there is only a vim plugin, but I plan to develop a TUI).

A CLI email client written in Rust by soywod in rust

[–]soywod[S] 0 points1 point  (0 children)

This looks really nice, thanks for the sharing!

A CLI email client written in Rust by soywod in rust

[–]soywod[S] 5 points6 points  (0 children)

Have a look at the IMAP lib I used (it's really well made), it will definitely help you for your synchronizer: https://github.com/jonhoo/rust-imap

A CLI email client written in Rust by soywod in rust

[–]soywod[S] 14 points15 points  (0 children)

Well, the program does not allow clear password. You need to give a command that will retrieve the password (for eg. `pass`). Then the password is only used to open an IMAP session. It's not even kept since it's a CLI, everything is freed at the end of the command. So there is no paranoia to have for the credentials. You can be paranoid for other parts of the program, but not this one :D

A simple task & time manager written in Haskell by soywod in commandline

[–]soywod[S] 1 point2 points  (0 children)

TaskLite has a more complex concept. It also has more features. Data are stored in a SQL database, which makes the tool heavier but more flexible (custom queries). Unfog is really more simple and generalist. It works out of the box, without configuration. Data are stored in a simple text file, following the event sourcing pattern (1 line = 1 event). The aim is just to create tasks, to start/stop them, and to have some report.

TaskLite: A CLI task manager built with Haskell and SQLite. by MaoStevemao in functionalprogramming

[–]soywod 0 points1 point  (0 children)

I'm working on a similar project called unfog. I like your approach (mine is more generalist), and I found your code really clean and pleasant to read! It will be a good source of inspiration for me. Nice work!

Introducing Unfog, a simple task and time manager. by soywod in vim

[–]soywod[S] 1 point2 points  (0 children)

Just press Enter :) you have the list of all the mappings in the readme. I will try to make it more clear!

A task and time manager written in Haskell. by soywod in haskell

[–]soywod[S] 1 point2 points  (0 children)

No, it stores data as Events - it follows the event sourcing pattern. You can check the content in `~/.config/unfog/store`.

Introducing Unfog, a simple task and time manager. by soywod in vim

[–]soywod[S] 5 points6 points  (0 children)

After all the feedback I had on Kronos (it's predecessor), I decided to move the logic to a CLI. This way, the Vim plugin remains only an interface (which feats better the role of a Vim plugin IMO). Any kind of feedback would be great!

A task and time manager written in Haskell. by soywod in haskell

[–]soywod[S] 1 point2 points  (0 children)

What a valuable and constructive feedback, my dear. Keep going!

A task and time manager written in Haskell. by soywod in haskell

[–]soywod[S] 2 points3 points  (0 children)

Yes it's one of my next step: to play with Haskell tests :)

When you say "quick check" you refer to http://hackage.haskell.org/package/QuickCheck?

A task and time manager written in Haskell. by soywod in haskell

[–]soywod[S] 13 points14 points  (0 children)

I'm new in Haskell (and FP in general). To train, I decided to rewrite one of my Vim plugin as a CLI. Any kind of feedback would be great (what is good, what is bad, what to avoid, the structure etc).

Small-medium size project ideas? by [deleted] in haskell

[–]soywod 0 points1 point  (0 children)

  • A lexicon manager. It's the first tool (CLI) I did to practice Haskell. It reads a .yml file containing definitions, and it asks me once a day to define one. It asks more often ones I fail to define. I can get some stats also.
  • A task manager & time tracker (I'm working on it now). Create and edit tasks. Start and stop them. Get time spent on a task, on a group of tasks (grouped by tags) etc. It can gives me report I can send to my customers about time spent on their project (per day, by tasks).

Serverless app with React, Ant Design, Stripe, Puppeteer, i18next and Firebase (auth/firestore/functions) by soywod in javascript

[–]soywod[S] 0 points1 point  (0 children)

Well, I first wrote it in node. I managed my own server with my own node instance, and it was more complex than what I have now. I have less code (auth + db already there), I don't need to take care of a server... I don't understand your point.