HNHacker News
TopNewBestAskShowJobs

VladimirGolovin

779 karma · joined July 16, 2009

submissionscomments
VladimirGolovin··on The Search for the Perfect To-do List
Yes, most todo apps today are not friendly to dateless tasks, and they conflate start / hide-until date with due date, which should be kept separate. I call this problem 'due date pollution'.

I think a user must be able to postpone a task without assigning a due date to it. I'm working on a todo app that will implement separate hide-until and due dates.

VladimirGolovin··on Viskell: Visual programming meets Haskell
> a really nice visual design so far, at the very least. I say keep it

Thanks :) This is basically Material Design / Flat design, and I consider it to be perfectly good-enough for an MVP, so yep, I'm keeping it :)

> To open or not to open is certainly not a decision that can be made lightly

Absolutely. Thank you for your write-up on open source models - you just saved me a lot of work. I'm bookmarking your comment for reference.

A concern I have about the entire open-source thing is that it will put a lot of maintenance burden on us, while not providing enough benefits in the 'breakthroughs departnemt'. For example, I'm sure the contributors can optimize performance or implement relatively minor inprovements, but I doubt that the community will be able to implement big systems (for example visual support for higher-kinded types). Is this generally the case, or I'm being too skeptical due to my lack of experience with open source?

> On top of that, visual languages are a very special case scenario. Considering there's so little out there in terms of visual languages, in a field where academics and tinkerers are constantly trying every possible combination, it's clear that for systems like this to make it, they must provide just the right amount of flexibility/functionality: too little and they'll be frustrating too use, too much and they'll lose design coherence. I suspect the sweet-spot for this level is less generalized than that of common programming languages.

These days, there are two kinds of visual functional languages in use by general (non-programmer) public:

1. Node-based image / video processing systems. Examples: material / shader editors in any modern 3D modeling app (3DS Max, Modo, Maya, Houdini etc.) and compositing apps (Shake, Nuke etc). Node-based (i.e. functional) workflow is nowadays a standard in these apps. Language-wise, these are simple funcional languages without higher-order functions, recursion and flexible type systems (they do offer strict typing, but you cannot construct custom types).

2. Excel. Yes, Excel. Basically, it's a tree of formulas, which are mostly pure (except for certain functions that access time, random numbers etc.). The evaluation order depends on the functional dependency, not row/column order, just like in a pure lazy functional language. No recursion, no reusable functions (though Simon Peyton-Jones proposed adding spreadsheet-defined reusable functions to Excel). Weak typing, no custom types, no recursion, no turing-completeness.

What I'm aiming for with my language is not full generality. It will be somewhere in between Haskell and Excel. It will be fully turing-complete like Haskell, but in terms of 'side-effectness' it will be more similar to Excel and Filter Forge: the program is entirely pure, and the only elements that access or produce side effects are the inputs and outputs of the program. The program is executed momentarily, just like in Excel and Filter Forge, and there's no notion of time or waiting.

VladimirGolovin··on Viskell: Visual programming meets Haskell
That's not just an application for procedural cities, that's Houdini (http://www.sidefx.com/), a relatively well-known 3D modeling, animation and rendering tool based on the node-based (a.k.a. functional) approach. I investigated them, and while I found the tool itself very powerful, its language is not a proper general-purpose functional language, and I don't think it's turing-complete (if you exclude their integrated Python scripting).
VladimirGolovin··on Viskell: Visual programming meets Haskell
Thank you, that's very encouraging!

The feature was not accidental. I always wanted to expand the possibilities of Filter Forge's nodal language, but until I met Haskell I didn't know how to do that. And now, after trying Haskell, it's simply impossible for me to think in terms of non-general, domain specific visual languages. The Haskell paradigm lends itself very well to a visual syntax, but there's a lot of problems to be solved, and that will be an excellent challenge for me in the coming years.

Despite looking complete, it's really, really far from that. There are serious conceptual problems that remain unresolved yet. We do have a visual tool for constructing and typechecking programs, but it’s not yet ready for any release, even an as-is alpha. Actually, the screenshots I posted are my Excel mockups: http://i.imgur.com/WYeLJJr.png

As for the open-source / closed source, I spent some time thinking about that, and discussed the idea with the team, but we’re not ready to make the decision yet.

On one hand, I'd be immensely pleased if our research on visual syntax for functional languages could be useful to the wide world. Functional programming really deserves wider adoption, and if our research can help that, I’d be very proud. Also, open-sourcing this may bring a lot of benefits to our commercial product, because it will allow us to access the global talent pool of functional programmers, who, collectively, have vastly more expertise than all our developers combined. I also think that many of these programmers are in academia, and would welcome a visual tool that could help them teach functional programming to their students.

On the other hand, we, as a company, have absolutely no experience in starting and maintaining open-source projects, and we have no idea how to do that properly, and what resources will it require from us. I’ll have to read up on that.

VladimirGolovin··on Viskell: Visual programming meets Haskell
It's really, really far from releasable code. The examples I posted are screenshots from my mockups (made in Excel).

What we have now as actual working code is a visual editor that allows to connect nodes together, a typechecker that prevent connections between different types (and invalidates / blackens existing connections if they somehow go wrong), and multi-input / variadic nodes such as lists and tuples.

It's not yet executable - you can't run the program in our visual environment yet, you can only construct / typecheck them. Also, we have a metric ton of unsolved problems: function definition and signatures, deconstruction of ADT values, definition of ADTs, preview of intermediate values for each node etc.)

Based on what I see right now, it will take at least a year before we have anything resembling a proper language. Also, I predict that the runtime performance will be awful.

VladimirGolovin··on Viskell: Visual programming meets Haskell
In the example with take 3 (map (+7) (map negate [1,2,3,4,5,6,7,8])) (http://i.imgur.com/dsNJYyx.png) I personally find the Haskell version the most readable of them all, then my visual version, and the Racket one the least readable.
VladimirGolovin··on Viskell: Visual programming meets Haskell
Cool! I'm also working on a visual functional language conceptually similar Haskell. I'm a founder of http://www.filterforge.com, and I want to develop a proper (i.e. Turing-complete, strongly typed with type inference, pure, lazily-evaluated) visual language for the next major rewrite of Filter Forge. Here's what I've been able to achieve so far:

A simple program (with equivalent Haskell and Racket code): http://i.imgur.com/dsNJYyx.png

List of strings, with element insertion GUI: http://i.imgur.com/Re64IJE.png

A more complex program, a function definition, and some sugar for infix math: http://i.imgur.com/KoxjoOM.png

Fold using a lambda, with equivalent Haskell code: http://i.imgur.com/avQNHXS.png

Complex signatures, polymorphism and typeclasses: http://i.imgur.com/cZ4KMzt.png

VladimirGolovin··on GTD sucks for creative work. Here’s an alternative system
What makes FVP a system, and what makes it stand out in comparison with GTD, is its emphasis on psychological readiness. Here's a quote from [1]:

There are three main requirements which have to be kept in balance. These are urgency, importance and psychological readiness. Traditional time management systems have tended to concentrate on the first two of these. The neglect of psychological readiness is probably the reason that most people don’t find time management systems particularly effective or congenial. The most distinctive feature of FVP is the way that its algorithm is primarily based on psychological readiness - this then opens the way to keeping urgency and importance in the best achievable balance.

In GTD, at least how I understand it, prioritization is rational and conscious. In Autofocus / FVP, prioritization is based on your 'gut feeling' towards the task at the moment when you look at it. This was a crucial difference in my case.

(As for due dates, the author explicitly states that his systems are incapable of handling dateful tasks).

VladimirGolovin··on GTD sucks for creative work. Here’s an alternative system
The app I'm working on is not a strict to-the-letter implementation of Autofocus / FVP, but it will certainly lend itself very well to similar systems. I'll let you know when I have an MVP to test.
VladimirGolovin··on GTD sucks for creative work. Here’s an alternative system
It's only compatible with Windows. They offer no mobile app, which is a hard requirement for me. EDIT: They do offer them, the app links are buried in their Features section. The both iOS and Android apps look nice, I'll take a look.
VladimirGolovin··on GTD sucks for creative work. Here’s an alternative system
I wonder why geofencing doesn't spread through other todo apps like wildfire. As much as I'd like to try it out, I haven't had the opportunity yet. Among the apps I tried, only Remember the Milk implemented it, but I couldn't get it to work -- probably my fault, as I don't use RTM as a daily driver.

Also, I think that a proper todo app, in addition to geofencing, should include timefencing, people-proximity-fencing, external-condition-fencing and maybe even mood-fencing / energy-fencing. Though I guess some of these can be implemented via contexts.

VladimirGolovin··on GTD sucks for creative work. Here’s an alternative system
Alas, Taskwarrior is not for me, because I need a proper, fully-functional mobile app.
VladimirGolovin··on GTD sucks for creative work. Here’s an alternative system
I guess I couldn't stomach the idea that GTD mandates dedicated review stages, while in Autofocus / FVP and in my own system review is a continuous process.

Ideally, I'd like to have the ability to do 'makeshift reviews' per-task, and on different timescales. For example, if I don't feel like doing Task X today, I'd defer it for 5 days, so its next review will happen in 5 days. But if there's another task I'll probably want to do tomorrow, I'd defer it to tomorrow, so I'll review it tomorrow.

On the other hand, I do seem to have a de-facto review stage. In the morning I usually go through my task list in Wunderlist (which I hate but use daily) and mark items I'd like to do today. But this is probably because Wunderlist doesn't offer a proper Defer / Hide Until ability that doesn't screw with tasks' due date.

(And I have a recurring task 'Review all items', a relic from a bygone era when I attempted to do GTD properly.)

VladimirGolovin··on GTD sucks for creative work. Here’s an alternative system
I use Workflowy daily, as an idea capturing / brainstorming / work logging tool, but it is unsuitable as a todo app because it doesn't support items with dates, let alone recurring tasks. And Trello is my favorite app for teamwork and personal bookmarking, but I haven't tried it as a todo app - again because it doesn't support recurring tasks.
VladimirGolovin··on GTD sucks for creative work. Here’s an alternative system
I haven't tried Asana yet, but I guess I have to. As I understand it at the moment, Asana is mostly team-oriented. Mentally, I put Asana in the same conceptual bin as Trello, which is my primary teamwork tool.

What I was looking for, and couldn't find, is a personal productivity tool in the same category as Wunderlist, Todoist, Swipes, Things and countless others, but with much stronger todo de-cluttering abilities.

VladimirGolovin··on GTD sucks for creative work. Here’s an alternative system
I too find GTD unsuitable for creative work, mostly because it doesn't handle open-ended, non-tickboxy tasks well, though I can't say that I was using GTD properly -- for example, I couldn't bring myself to do weekly reviews. Overall, GTD felt like it requires too much willpower to run.

Have you tried Mark Forster's Autofocus or Final Version Perfected systems? If not, you owe yourself a try. The systems, at their core, are very simple:

1. You have a long list of tasks (the same 'ubiquitous capture' principle as in GTD and other systems) 2. You scan the list for tasks that 'stand out' for you as 'ripe' to be done / worked on. This means that you're mentally ready to do these tasks. 3. Work these tasks for as long as you feel like. It's not necessary to finish these tasks. 4. After you've dont with a task, you either cross it off the list, or re-append it to the end of the list.

I found his systems much more tolerant of creative work, and much less willpower hungry. A downside of these systems is that they're not capable of handling tasks with start / due dates.

Also, regarding de-cluttering todo lists, I firmly believe that:

1. ALL your tasks and actionable thoughts must be captured in your system. 2. Your current todo list must only show items that you are ready to do right now, at the moment. For example, your todo list shouldn't show the task 'Vacuum the floor' if you're not at home. Therefore, there must be ways of de-cluttering your todo list that allow you to defer the tasks until your external (or internal!) conditions are more conducive to working on these tasks.

(I got fed up with the inability of most todo apps to do the above, so I'm working on my own todo app).

VladimirGolovin··on The Beauty of Clojure
I'm new to Clojure and I'm trying to parse this line:

  (reduce + (map (comp inc inc) (range 10)))
Is the following a correct Haskell equivalent?

  foldr1 (+) (map (succ.succ) [1..10])
VladimirGolovin··on Swift Functors, Applicatives, and Monads in Pictures
Smaller computations are being bound into a larger computation, where the monad provides the the code that is executed 'between the lines'.

(BTW, my own take on renaming a monad into something less scary is daisychain, or, slightly more to-the-point, chainable.)

VladimirGolovin··on Stanford study finds walking improves creativity (2014)
Probably because today it was on the homepage of Reddit.
VladimirGolovin··on Abnormal Brain Structure In Youth Who Commit Homicide
One of the authors of the paper is Dr. Kent Kiehl, who is famous for using a mobile fMRI to scan thousands of inmates in multiple prisons, including many psychopathic offenders.

His book on his research of psychopathy in prisons, "The Psychopath Whisperer", is excellent (despite a terrible name). Easily one of the best books on the topic. I want a sequel.

VladimirGolovin··on The latest chapter for the self-driving car: mastering city street driving
If I remember correctly, they already have one.
VladimirGolovin··on Visual Programming Languages – Snapshots
Shameless plug: Filter Forge, http://www.filterforge.com

We even added (limited) loops and recursion in v4.0: http://www.filterforge.com/features/version4/loops-and-recur...

VladimirGolovin··on Letter From A Psychopath
http://en.wikipedia.org/wiki/Hare_Psychopathy_Checklist, and before that, a very strong gut feeling. Too many things click together: the overall toxicity of a person, his desire to belittle / denigrate many people around him (a waitress in a cafe, contributors to an internet community project, a non-psychopath competitor etc.), his grandiose self-image (he literally designated himself as 'elite'), threats of violence and criminal leanings, always hogging the spotlight in social settings, "friendships" that change to enmity overnight, et cetera et cetera.
VladimirGolovin··on Letter From A Psychopath
I think it's a side effect due to the lack of empathy. On the other hand, they do enjoy their domination over weaker beings, so this might be pleasurable to them.
VladimirGolovin··on Letter From A Psychopath
It's quite possible that this is not a disorder, but a stable evolutionary strategy.
VladimirGolovin··on Letter From A Psychopath
Everything you said above checks out, my experience with a psychopath was similar.

> "Don't mess with me."

I heard this exact phrase, he said it right to my face. I didn't think at that moment that I'm posing any threat. Perhaps the guy overestimated me.

VladimirGolovin··on Letter From A Psychopath
> I think psychopaths are incredibly boring, unidemensional people.

I met at least two. Both were extremely vivid people, and deeper contact with them, when they turn off their cloaking field, was baffling: it was a bit like communicating with an alien.

In any case, these people were really, really far from being dull.

VladimirGolovin··on Letter From A Psychopath
> It's both impressive and admirable that the author was able to not only admit that he needed therapy but to press on long enough to make therapy work for himself in an effective manner.

If it's true, that is. Pathological lying is a part of Hare Psychopathy Checklist. The entire article may well be totally made up.

VladimirGolovin··on Letter From A Psychopath
When you have a lot of sheep around, evolution is bound to come up with a sheep that feeds on other sheep. For such mutants, having 'social camouflage' is a critical trait, because otherwise they would be losing to normal sheep due to their tit-for-tatting.

As for the advantage, it seems pretty clear to me: higher chances at being the alpha-male(female?), plus the resource advantage due to not having the ability for reciprocal altruism (and the ability to get away with that).

All few human psychopaths I have personally met were natural-born leaders. One is now occupying a high-level position within a successful company that produces manupulative F2P games. Another was a woman who, despite her being deaf-mute, was able to organize a successful remote web studio (before it fell apart due to her politicking and other members, including me, bailing out).

Also, quoting Wikipedia: "In Mongolia alone as many as 200,000 of the country's 2 million people could be [Genghis] Khan descendants".

Edit: if I remember correctly, Richard Dawkins' The Selfish Gene discussed cheaters (that is, individuals who didn't reciprocate) as being a viable evolutionary strategy, as long as they are in a minority.

VladimirGolovin··on Software on Steam
I use Steam from about 5 computers in different physical locations, and it never asks me to log out the way you described. I just log in on the machine I'm currently using, that's all.
← PreviousPage 9 of 10Next →