DaveWM
DaveWM on Hacker News
Posted by
DaveWM on Tuesday January 17, 2023 @11:10AM
from the blog.davemartin.me dept.
Posted by
DaveWM on Tuesday July 26, 2022 @11:24AM
from the blog.davemartin.me dept.
Posted by
DaveWM on Wednesday April 27, 2022 @11:06AM
from the blog.davemartin.me dept.
Hey HN! In 2020, I stumbled across a productivity method called the "Ivy Lee method" [1], and found it made me much more productive. Basically, you write down 6 tasks you need to do throughout the day, then focus solely on them. I was so impressed that I ended up writing an android app to help me follow it, which I've been using for about a year. I've spruced it up a bit, and launched it today as "Only 6".
There's a free version [2] (ad-supported), and a paid version [3].
I built it with React Native, ClojureScript, and Re-Frame. It's currently closed source, but if you'd like to see the source code just drop a comment here and I'll consider making it open source. It's Android-only at the moment, but if anyone would like to team up on an iOS version please drop me a message :)
Any comments or feedback are much appreciated!
[1] https://jamesclear.com/ivy-lee
[2] https://play.google.com/store/apps/details?id=com.only6
[3] https://play.google.com/store/apps/details?id=com.only6.prem...
Posted by
DaveWM on Friday April 08, 2022 @10:55AM
from the show-hn dept.
Ah sorry, I don't know of a way of doing that in Clojure. What I usually do is figure out where the exception was thrown, wrap that form in `sc.api/spy`, and then somehow re-execute it.
Cursive's debugger doesn't, but as one of the other posters mentioned there's a library called debug-repl which gives you this:
https://github.com/gfredericks/debug-repl.
However, as I mentioned in the article, I've found it's usually better to use scope-capture than a debugger that pauses execution. The main reason is that I mainly work with Kafka Streams atm, and when the debugger pauses one thread other threads start timing out and throwing exceptions.
Thanks! Perhaps the wording isn't great in that paragraph, I intended the phrase "println debugging" to mean the general style of debugging, rather than specifically using the println function.
I've heard good things about debug-repl, although I haven't used it myself. From what I understand, it fills a similar niche to scope-capture. However you do it, being able to capture the state at a certain point in the code is essential.
Assuming the crash doesn't cause the process to completely exit, you could indeed use `scope-capture` for this. This works well for local dev. In theory, you could use `sc.api/spy` in production code, and then attach a remote repl to diagnose any crashes. I wouldn't recommend this though, I think it would be best to use a good logging library like Mulog:
https://github.com/BrunoBonacci/mulog
Sayid does look really powerful. However, I declared Emacs bankruptcy years ago, and switched to Cursive. If I ever have the courage to switch back, I'll give Sayid a go :P
Posted by
DaveWM on Tuesday July 06, 2021 @12:52PM
from the blog.davemartin.me dept.
Posted by
DaveWM on Monday July 13, 2020 @05:44AM
from the blog.davemartin.me dept.
I've got a couple of side projects on the go:
1. Intention (https://i.ntention.app) - a todo app where your todos are arranged in a DAG.
2. JSON Viewer (https://json-viewer.io) - a simple web app for displaying JSON reports in a nice UI.
Thanks very much! Best of luck with your Clojure journey
Agreed! The only problem is that once you're used to hiccup, writing HTML becomes a chore!
Thanks very much! I've made a few small static sites this way, and it's worked really well. However, it is missing several features that you need for larger (or more frequently changing) sites: asset minification, markdown compilation, etc.. Once these things become a pain, I'd either bring in a library like Misaki or Stasis (although I haven't actually tried either of these myself), or move to Hugo/Gatsby.
I meant this article as a "thank you" to the brave doctors and nurses putting in extra time and effort to look after everyone else. Regardless of the state of NHS funding, it's just basic human decency to say thank you to them. I didn't mean it as any kind of political statement.
Definitely! Also, just being a bit more diligent around social distancing and washing your hands can help :)
Posted by
DaveWM on Monday May 04, 2020 @09:46AM
from the clojure-conundrums.co.uk dept.
Sorry about that, it should be fixed now. There isn't a paid version at the moment, but there's a web app at
https://i.ntention.app . If you're on android, it should ask you if you want to add it to your home screen - if you do, it behaves very like an app.
Wow that's really cool, thanks for sharing
Thanks very much for the feedback. To respond:
- Is this in the list view or the graph view? I did originally have the list order reversed (i.e. root node at the bottom), but I found it very confusing. I could potentially add a setting to control the order.
- I've tried to avoid deleting nodes where possible. If you delete a parent node, its children will be automatically re-arranged rather than deleted. Could you re-name the root node instead of deleting it?
- Agreed, the graph view is very basic at the moment. I'm looking to make it much more powerful in future.
- I've intentionally ignored recurring tasks for now, because I want to get them right when I do implement them. I'm aware it'd be a nice feature, so I am looking to add it asap.
- Good idea
That's a really good idea, I'll add it to the roadmap. If you have any suggestions for specific templates, please send them over to me (my email's on my profile).
Haha looking forward to the competition ;). TaskDB sounds good, I'll keep an eye on it. Your approach to keeping the entire history of the graph is a good one, I'm using Datomic in Intention mainly for this reason.
I do hope DAGs become more commonplace, I think a lot of areas (e.g. project management) could benefit from using them.
Got it, the app works well. I did consider using `react-digraph` for Intention, but the UX seems very focused on desktop (lots of clicking and dragging) and I wanted something more mobile focused.
Nice! I got TaskGraph running locally, but couldn't figure out how to create a node. Seems like it's built on the same basic idea as Intention though - tasks structured into a graph. I'd be very interested to hear how you get on with TaskGraph.
The main reason is they're easier to market. I've tried to advertise web apps before, and had very little success. People seem to much prefer mobile apps over web apps, even if they have exactly the same functionality. At a guess, I'd say it's because they're more familiar, and there's a sense of security in downloading them from the app store.