I never finish anyth - <AUTHOR> http://greig.cc/journal/2014/1/i-never-finish-anyth <comment><USER3> I relate to this, too. Here's some stuff that I read recently that helped me a little:

"When you are young, beginning new projects is easy and finishing them is hard. As you grow older, beginnings get harder, but finishing gets easier. At least, that has been my experience. I think it is true of anyone of at least average intelligence, creativity and emotional resilience. The reason is simple.

When you are young, the possibilities ahead of you, and the time available to explore them, seem nearly infinite. When you try to start something, the energizing creative phase, (which comes with internal brain-chemistry rewards on a fast feedback-loop), gives way to exhausting detail-oriented work, maintenance work, and unsatisfying overhead work. You need to get through these to bank distant external rewards (money and such) that only come with completion. It is then that you are most vulnerable to the allure of exciting new beginnings. So you abandon things halfway. You bank the internal rewards of beginning, but not the external rewards of finishing.

But with age, this changes.

As you grow older, the history of a few completed projects and many abandoned ones in your past starts to loom oppressively in your memory. The early internal rewards of many beginnings are now a distant memory that offer no pleasure in the present. The external rewards of completed projects, which tend to continue to yield dividends (such as completed degrees, financial rewards) loom larger all around you: wealth, strong relationships and perhaps most importantly, an earned ability to see the world differently as the result of having been through many completions.

When a new opportunity opens up at 35, you evaluate it differently than you did at 25. You are able to estimate how long it will take, what the journey will feel like, what the early pleasure and distant pain will feel like, and what getting it done will feel like. You are able to react psychologically to the whole prospect in the form of a narrative that extends beyond the finish line, as a systematic leveling-up of your life. You see the transient pleasures of beginnings diminish to nothing in the far future and the enduring rewards of finishing as a steady source of dividends extending out beyond the horizon."

\- [http://www.tempobook.com/2014/01/13/when-finishing-is- easier...](http://www.tempobook.com/2014/01/13/when-finishing-is-easier-than- starting)

<comment><USER4> When I compared people that take on big goals later in life with those who simply simulate them in their mind, then decide their projected end results are 'predictable and uninteresting', I saw something interesting.

Those who take on big goals are seen as naive and almost childlike, because the 'experienced' believe they already know the end results.

Those who don't take on big goals get to be in the audience and throw stones, but never really amount to anything other than gloating at a possible failure.

I think the experience works against you at a certain age. The projections are a lie, or possibly inaccurate at best. I've come to believe you don't know what will happen until you do it -- what your mind simulates is often only correct in the broadest sense, but way way off when it comes to the important details and compound ramifications.

In otherwords, keep taking on big goals and press on to finish them, while ignoring that pesky voice which thinks it already knows how this will all turn out. And ignore the people who do the same, their words are rarely helpful.

<comment><USER5> Your comment is very interesting. But let me argue against it.

May be when you are older, you can see the end result with more clarity, and decide that is not worth the effort and the sacrifices that you have to make.

Is it better becoming a millionaire when you are 30 or when you are 50? If you do it at 30, you will enjoy the fruits for 45 years. If you do it at 50, you will enjoy them for 25. (Assuming expectancy_of_life=75) Also if you sacrifice a number of years it is a larger sacrifice over the rest of your life.

<comment><USER4> I'd say a sufficiently large goal is well beyond that of only self-fulfillment or making a lot of money. It would be an attempt to change a field, advance a given topic in that field, or create a system which a group of people could benefit from.

</comment></comment></comment></comment><comment><USER6> You wanna know the saddest part of my day?

When I'm moving around my laptop, and pop into the "projects" folder and see what a graveyard it has become. Dozens of half baked projects that seemed brilliant at the time, that I either lost interest in, decided the concept was too difficult, or (and this is the worst one) let my self doubt convince me that it would never work. The really sad part is, every now and then I'll go back in and check out these projects and a lot of the code and design is actually pretty good. I ask myself, "Why did I think this sucked again?"

The best analogy I can make to this scenario is the self doubt that cripples many writers setting out to finish a book, screenplay, or novel. It's almost as if you tell yourself that the script sucks, to give you a reason not to finish it and move on to something cooler next week. As a writer, what's the best way to overcome this? Just FINISH the god damned first draft. Roll up your sleeves, commit an hour (or two or three) every day to working on this project, and slog through it until you type "FADE OUT" (or "The End") or (if you're coding) make that glorious commit to polish off your project.

No matter how much the project, script or book sucks, there are few feelings of satisfaction that match that.

<comment><USER7> The thing that helps me work through this is to be very aggressive about a small list of features for "version 1". Focus on getting version 1 online and working, and put all your shiny ideas on the TODO list for version 2. Once version 1 is out the door, the momentum of people using it will carry you forward.

I've learned the hard way that for me, by far the biggest risk in a side project is me losing interest before I have something up and working. So now I just keep that in mind as I'm planning and pruning features for the initial version. The risk isn't "what if I don't have feature X and people get mad?", it's "what if this gets too complex and messy to implement and I get bored and quit before finishing?"

<comment><USER8> I find that working even on version 1 stops me from doing the actual work, which is to find users and actually verify I am solving a useful problem.

Maybe it is good that we cannot finish all these projects, since they have no use anyway...

</comment></comment></comment><comment><USER9> Look at my github and know that I have more repositories on other services and thrice as many on my hard-drive that are unfinished, incomplete duds. I recently reached a milestone: I went from an idea for a book to a self- published, printed title in 3 months. I went to a festival that was mostly focused on comics and video games and sold six copies of my book. It was awesome. Here's the rub: _I 'm not finished yet._

You're never finished until you stop what you're doing. A writer may "finish" a book but ei has to start another or they've "finished" writing. However for every book they finish how many incomplete, half-baked ideas do you think they've run through? Is every idea they have golden and worth pouring months and years of effort into? No.

Some ideas deserve to die.

But once you've found that one worth pursuing there's nothing to do but roll up your sleeves and put in the time. You will vacillate between euphoria and despair. You may come to regret ever starting and hate yourself. But if it means anything you will force yourself to press on through those darkest moments. And before you know it you'll be done... and ready for the next project. Creativity isn't the rush you feel when you have a good idea and dream about conquering the world: it's process and discipline. It's writing 1500, 2000 words a day _no matter what_.

I find it helps to have someone to nudge you onward. An editor, a mentor... someone you can discuss the project with who has an objective opinion. They will help you in that moment when you're thinking of giving up.

</comment><comment><USER10> It was the same for me for several ideas/projects that i started with.

Then i realised what was the reason makes me not touching the project after a while...

The first steps are always known and can be done by almost everyone.

\- Buy the domain

\- Construct the idea

\- Even, start coding the project

And here comes the reasons why you slowly starting not to touch the project anymore;

\- You realise that you are not sure how to deploy this on production.

\- You realise that you will need a business model and you are just a developer/designer and have no idea about those.

\- Then comes the tax issues, and realisation that you need a company.

\- You don't know how to licence your idea/project

I can list some more but these are just enough to make you feel that you need to find some people to help you which is not free but expensive unless you have friends that are expert in those areas.

Yep, you give up the project...

<comment><USER11> > \- You realise that you are not sure how to deploy this on production.

My advice for this is don't worry about it. Just hand install on a cheap shared web hosting place and manually copy stuff across to get it up and running.

When that gets too annoying, start automating. When your home grown automation scripts get long and unwieldy, look into Capistrano or Puppet (or Chef, or Ansible). The important thing is: make it work first, then make it beautiful.

> \- You realise that you will need a business model and you are just a > developer/designer and have no idea about those.

I feel you there! :-) Having an idea and trying to think of how to get someone to pay for it is daunting to me. I feel like a blank canvas and I have no idea where to start.

> \- Then comes the tax issues, and realisation that you need a company.

Again, don't worry about it. If you make so much money that it matters—well, that is a good problem to have. You can always incorporate (or whatever) later. And if you're pulling in a lot of money you can afford a lawyer to just handle it all for you.

\- You don't know how to licence your idea/project

If you're making a web site or a app store app (binary distribution) then again, it doesn't really matter. If it becomes so wildly popular that people start abusing it somehow, and in quantities that matter—again, that's a nice problem to have (compared to no one using your site or app).

If you're releasing source, then pick MIT, BSD, or GPL (just choose randomly if you have no opinion). If the one you picked turns out to have side effects that you didn't foresee, then feel free to change it–it's your code after all, so you can do what you want (though if you get a whole bunch of external contributors, it gets hairier).

One thing I've found that really really helps—get a partner. Having another person around (and not necessarily physically) is a great way to help keep you from getting distracted. This is why companies get stuff done—there's always someone around working and you can't just slack off without losing face to everyone around you. It's _really_ hard to sit around and read reddit all day when the 3 people in the room with you are all working hard…

<comment><USER10> Except the first one, thanks a lot for looking at the bright side of things and the advises! but..

How can i not worry about deployment?

What happens after people trusting and starts using my 'lets say' web app and after 2 weeks i get my database hacked? Companies have TechOps department just for deploying the applications correctly. I am not trying to argue but trying to explain how i think of this :)

Maybe i am being little bit too much paranoid... Should i just set Apache/Passenger with some basic configuration and wish that everything is safe enough ?

<comment><USER11> Again, I wouldn't worry too much about getting hacked. Don't use bad or obvious passwords on your db or ssh account. Besides I would say much of the hacking surface is going to be in your site's code, if it's in any way dynamic.

You'll probably make mistakes. The biggest actual devops advice I can give is backup. Everything. Often enough so that if you lose everything since your last backup you can live with it. And again, it doesn't even have to be automated. Run mysqldump by hand and save the results away somewhere. Rsync your home directory away. If you have a dedicated server, rsync /etc, too.

Having a backup is the solution to almost any catastrophic event in the devops world. Disk crash? Get a new disk, restore from backup, continue on. Hacked? Figure out how, fix security hole in code (or wherever), wipe server, change passwords, restore from backup, continue. I'm sure there are more.

Having done devops work, most of the hard part is getting it to all run smoothly and automatically (big web sites have many many servers and slave dbs, and deploying to them all becomes complicated). But as a single person working on a small project, that's not the most important thing to optimize for, in my opinion. It's more important to get it done.

</comment></comment></comment></comment><comment><USER12> Just some encouragement here for you good people...

You have to do the work. There is no one else that can do it for you. It is entirely up to you; actually, it has only ever been you, because it is you that rolls out of bed early to bring it. No one is going to do that for you. If you want to do it, then you will figure out a way to make it happen.

Like some of you, I have a family. That makes things a bit challenging at times, and you will likely have to work even harder to find the time, to make the space, so that you can bring it. And, I will add, those that are parents, this is a great example to set for your children. You want to be, "The Daddy that brings it." You want to be, "The Mommy that brings it." Because, you want to instill in them that they can, too. It's a valuable life-lesson. In turn, it is psychologically healthy for you as well, to know that you are a parent that is firing on all cylinders. In addition, it is incredibly gratifying when your child sees your work. "Wow... that's the new game that you're working on! Let me try!" It will fuel you like a Saturn V launching to the moon.

You may look at your project and think, "I'm never going to make it. I'll never finish." Please, I urge you to set these thoughts aside and push through. Think about the analogy of building a wall. A wall is built one brick at a time. Watch a mason build a wall one day. You will observe that he or she lays one brick at a time.

This is how you have to view your project. Sure, it would be amazing to have an entire day, every day to devote to your project. However, the reality is that most of us simply do not have that luxury. So, strive to think of it as a mason: lay one brick at a time, and eventually the wall will be built. Every character that you type into Xcode, Visual Studio, etc. turns into a keyword, a variable name, etc... that subsequently turns into a line. Those lines build up, day by day, and before you know it, you have a program, and you look back and think, "Wow, why did I ever think I could not finish?"

Also, let go of "Internet Time." That is to say, we all read HN and see these impressive "Show HN" posts, and submitted stories about the Next Big Thing... and it seems like things are happening so fast, and we think, "Why even try?" Well, the reality is nothing is happening fast. It is an illusion. Most all of these stories have an incredible amount of time and work behind them, so let go of that illusion, get started, and stay focused.

 _" There's only this moment and the next moment. Every one of those moments is a test that you get to take one time and only one time."_ [1]

Strive to drive through each moment. Make it count.

You have to fight. This is paramount. I will say it again... you have to fight! What I mean here is fighting by engaging your Will. Engage your will to get up, to get moving. Engage your will to eat right, to exercise and go to bed on time so that you have the energy to get up and bring it.

What you are going through is what we are all going through; that is to say, we are all grinding, whether it be in a start-up business, or washing the dishes by day as we bootstrap a start-up at night; we are all struggling, fighting to drive our dreams into existence. We are all struggling in some way, whether it be through failure, health issues, personal issues, family issues, etc. No one is immune from the grip of suffering through his or her struggles.

You are not alone.

Embrace the grind. Vince Lombardi said it best:

 _" And in truth, I've never known a man worth his salt who, in the long run, deep down in his heart, didn't appreciate the grind, the discipline. The difference between a successful person and others is not a lack of strength, not a lack of knowledge, but rather... a lack of will."_

You have to use the will to fight those thoughts that say, "I'm getting older. I'm failing. I'm not motivated. I can't finish."

The clock is ticking for all of us... fight! You never know where your work will take you. Do not forget that, you have to dream it first in your mind before you can see it in your life. And to see it in your life, you must work. You may not be able to see things clearly now, but you never know what doors could open for you that you did not even know existed.

Ang Lee, the Taiwanese film director and screenwriter that directed Crouching Tiger, Hidden Dragon and Life of Pi, discusses his struggles to break into film. I urge you to read it:

[http://whatshihsaid.com/2013/02/26/ang-lee-a-never-ending- dr...](http://whatshihsaid.com/2013/02/26/ang-lee-a-never-ending-dream)

[1] [https://www.youtube.com/watch?v=pBLV6RG4TwY](https://www.youtube.com/watch?v=pBLV6RG4TwY)

<comment><USER13> Personally I think _realizing_ you need to engage your will and discipline yourself into working hard when you don't want to is the easy part. The really _really_ hard part is actually _doing_ it. How do you find will where there is none? How do you motivate yourself when you feel unmotivated about everything? When you feel stuck in the rat race, stuck in the routine of monotony? How can I restore the drive and motivation in myself that I never remember having in the first place? Is it even possible?

These are the things I am struggling with and they make fighting it a non- starter.

<comment><USER14> I once read something that Tim Ferriss had said in response to a similar question. I'm heavily paraphrasing, but he was basically asked how he had so much more discipline than most others.

He responded by saying that he doesn't have more discipline - he just creates environments that decrease his opportunities to fail (ie. get distracted) and increase his likelihood to succeed (ie. finish the work).

The idea is to not trust yourself and not give yourself the opportunity to fail. A concrete example of how I've personally put this to great use in my life is how I made it a habit to go to the gym:

When I was in college, I wanted to go to the gym regularly. Unfortunately I found that when I was in my dorm room and needed to get ready for the gym, I lacked the motivation to get out of a comfortable situation. What I began doing was taking my gym clothes to class and going straight to the gym after class. This required significantly less motivation on my part because I was already walking around campus, sometimes even passing the gym by on the way back to my dorm. The step leading up to that also required very little motivation - putting clothes in your backpack. The result was that I created a sequence of events that each had a small likelihood of failure. 10 years later, going to the gym is my favorite hobby.

Another example related to getting work done came about when I was trying to work on my side projects from home. It never worked. I'd always want to browse the internet, watch tv, play video games, or spend time with my girlfriend. Starting work when my Xbox was in the next room meant summoning a monumental amount of motivation. Instead what I started doing was going to a local coffee shop or coworking space. It doesn't take that much effort to just go to a public space with wifi (and if it does, you can use the advice above). Once there, you have put yourself in an environment where everyone else is working. Aside from noise, there are fewer distractions. In addition, you'll look like an asshole if you're sitting in front of your laptop playing on Reddit for 4 hours while everyone around you is getting shit done.

If you can make a habit of completing those small triggers that lead to bigger outcomes, you'll eventually have gained a much more significant habit.

<comment><USER15> That actually is a very simple approach but makes a lot of sense, I'll definitely think about it, thanks for writing it down.

</comment></comment></comment></comment><comment><USER16> This is very recognizable. I have had this a lot, but accidentily I had an idea 2 days ago that I have put more time in already than any other of my fun plans or cool projects.

It's called PyLaTeX [1], it's a Python interface for LaTeX that supports creating documents and snippets. One of the coolest features I think is the conversion of NumPy matrices to LaTeX ones.

The HN new page [2] is just a bit rough on someone posting that doesn't know a lot of people that can upvote it, reddit [3] was a lot more forgiving.

[1] [https://github.com/JelteF/PyLaTeX](https://github.com/JelteF/PyLaTeX)

[2] [https://news.ycombinator.com/item?id=7075212](https://news.ycombinator.com/item?id=7075212)

[3] [http://www.reddit.com/r/programming/comments/1vcqxw/pylatex_...](http://www.reddit.com/r/programming/comments/1vcqxw/pylatex_easily_create_latex_documents_with_python/)

</comment><comment><USER17> I immediately commiserated with this article when I saw the headline, because I have the same problem. I wish the resolution of the blog post was something other than "break the big thing in to little bits and do those" \- something that I've known for a long time. For me, the most successful thing I've come across, and coincidentally the hardest part to change, was not being a perfectionist and just getting to MVP. Sometimes you have to say no, and just finish.

<comment><USER3> The biggest game-changer for me has been peer pressure, if that helps. I left a talkshop group of friends and started working with people who were getting things done. Changed my life dramatically.

<comment><USER17> Yeah, I'm working on that. I've got a few friends who are in similar situations, so we schedule Hangouts or the like to do show-and-tells and keep each other accountable. It helps, but hasn't fully fixed me of bad habits.

</comment></comment></comment><comment><USER18> I have a similar process to the author, but I get further. Must have a name! Is it available everywhere? Once I've settled some of that detail, it's on to the code with the basic features.

I'll need a database (and thus a schema), and a REST API, and security considerations ... that's all fine. Start actually writing and testing and OH BOY another feature idea! Write it down for later, continue back where I was. But that new feature will require this change to the current design. And to do that now I have to change this other part and ... repeat until I give up.

tl;dr: feature creep kills me, even with my own ideas. I cannot just Let It Be and produce a 1.0 with minimal features.

</comment><comment><USER19> I read somewhere recently that if you fantasize/talk about your ideas/goals it triggers your brain to let you feel a similar satisfaction for actually accomplishing the said idea/goal. Of course now I can't find the article so take it with a grain of salt.

I did find this article which is related…

[http://blog.bufferapp.com/how-our-brains-stop-us- achieving-o...](http://blog.bufferapp.com/how-our-brains-stop-us-achieving- our-goals-and-how-to-fight-back)

<comment><USER20> This is probably what you're recalling: [http://sivers.org/zipit](http://sivers.org/zipit)

The article argues that the satisfaction prevents us from actually reaching our goals.

</comment></comment><comment><USER21> I like the building things. I finish building them too. Unfortunately, that isn't the job done. You then have to promote it and get users. That is harder than the building stage.

Christ you are in for a shock if you think the immediate step after reserving social media handles is the hard bit...

<comment><AUTHOR> I think that's just the bit I run through often.

My main project (CycleLive) is approaching two years old now, and I've got a small but loyal audience which I'm nurturing.

Actually I think CycleLove has a different problem — the "a blog is not a business" one.

Although it was never intended to be a business in the first place, I want to angle it in that direction, and that's the part I'm struggling with now.

<comment><USER21> oh yeah, cool site.

yeah perhaps what you and I consider products are in different categories, so perhaps my words are not so relevant to you.

I enjoy making geeky technical things, but fail to find any users. :(

One day I will sort it out (maybe).

<comment><AUTHOR> Are you building something that other people actually want? Or something that you _think_ they want?

If the former, how do you know that?

</comment></comment></comment></comment><comment><USER22> This might be a bit cogsci, but one thing that has really helped me over the years is to switch my mental language away from statements like "I never finish anything", to statements like "I have had trouble finishing things in the past."

The first is a static judgment I am applying to myself, and it's a definitional straitjacket. The second is simply an observation, and it leaves room and opportunity for positive change.

When we tell ourselves we "are" certain things or "always/never do" certain things, we are defining ourselves in a way that makes it harder to change, due to the reinforcement.

At this point, I pretty much automatically recognize negative "judgments" and do the translation... I think it helps a lot.

<comment><USER23> I really like that idea - how something is phrased can and does have a profound impact.

</comment></comment><comment><USER24> I like to pursue ideas enough to validate if they really are "easy" or "hard." That helps me think about if they are worth pursuing. If they are "easy" I try to figure out what the other people who had this idea got hung up on, if they are "hard" I try to figure out if the hardness is intrinsic to the problem or the approach. I think of this as sort of the 'minimum work' to do on any new idea. Just having an idea and writing it into my notebook doesn't count :-)

</comment><comment><USER25> I absolutely love these, "Get off of HN and get some work done" posts that get voted to the top of HN. Are we heroin addicts that know what's bad for us? :-)

</comment><comment><USER26> Wow, great post. Who isn't guilty or fallen prey to this?

The few projects I've finished, they've always been for-pay. Either contracting or as an employee. For my own, almost none.

However. A little over two years ago, I started coding an edu-based app that a friend and I designed (he's the biz side). I was gonna become a father and I thought, what better space to be in since I'm going to be dealing with it in the coming years.

Typical story, coded nights, mornings, weekends. After the baby came, coded less but still the same schedule. We launched the site last fall. And then.. we started having having users saying our site was too complicated, the change log and bug list kept growing. So, this thing I had worked on for so long and pushed into existence by sheer will, just burned me out.

I walked away for a few months and even though we were making almost $1k/mo, I felt it not worth my time anymore. But now, in the past week, I'm changing my tune.

At my day job, we're going thru the final phases of closing on m&a suitors. At first I thought this was awesome, but then looking at the suitors jobs list and reading them, I realized none of them are interesting. Do I want to code day an night? No. Do I want to spend all my day at an office? No. Do I want to help push someone else's dream closer to IPO? No.

I realized after this that I already have the dream (work-wise). We have edu partners lined up, some good potential biz deals, and it's all hinging on just spending a few weeks and fixing things. But having a family, working for something for a long time and not really seeing the reward (yet) - it's hard to keep going thru it all. But, I visualized and thought about "what would it be like to sit at my desk (anywhere I want) and keep making the thing I built better?".

This is the only thing I have ever 'finished' (will it ever be) and I think looking back, I did it all for the right reasons and kept pushing forward. Regardless what anyone else said about it (almost all the responses about the site were positive).

For me, in the end it is about doing what you love, channeling your passion to reach the goal(s). Goal 1 - launching it - reached, done. Goal 2 - <USER2> people enjoy using it - restarted.

Lesson learned: don't give up. Every hour makes a difference.

</comment><comment><USER27> Something REALLY has to pique my interest for me to get into the flow state and once I'm there I have a go at it like no one will; and once I'm out of that state, its really hard to go back into it unless something picks me back up. What I discovered is:

1) Break down your project into bits that excite you all the way through and imagine being excited while you're planning it. Have someone else be there with you with to plan this with you while you do it - helps with the planning. This chunking of the project itself is the battle. You beat this and you've conquered most of the problem.

2) Work on two - three manageable projects at the same time. This usually has worked for me my entire life. Alternate between them. When you get bored with one, pick the other one up and plan all of them out so you have interesting bits chunked out throughout.

3) Always work with high-energy individuals who would keep the energy up throughout the project. When you feel tired or bored, they will find a way to pick you back up again.

4) Always find projects that YOU can find some value in YOUR life.

</comment><comment><USER28> I think "finishing" something means accepting its flaws (which will always be there) ...that makes it psychologically difficult.

</comment><comment><USER29> I experienced this. I have a lot of started projects on my mac. Some i spent a few days on, other i spent a few months. In 2011 I started a game and that was the first project I finished (spiderdash.net). Although not really finished, but close enough. It took me over a year, and I really like it. What I realized, is that I do love the execution actually, but I am too unsure of the potential to focus on anything else, that is sales and marketing. So in the past 6 months I started building the ideas of my friends, I get them engaged because it's their ideas, and I get to do just the execution with the right amount of freedom. If you're like me, do things, but do it with someone else. The other good part about this is that you're going to create a unique mix of competencies. My friends are not developers, but they also are subject matter experts. So we are mixing 2 very different kind of expertise, and that's rich.

</comment><comment><USER30> I'm going to finish my beer right now.

</comment><comment><USER31> I only have starting problems. Right now my starting problem is the laundry. I abandon a lot of stuff, but only because I've built enough of it to see the flaws. I don't see that as a problem. It looks like a problem if you predicate the goal on external societal factors like "get attention/money," because a thing has to be finished (to some degree) to be part of society. But we already know that the external stuff is a poor motivator.

So stop beating yourself up about finishing. Play in society and worry about things when you feel it's necessary, but if it's your private, creative work, that is the time to be bold and selfish. Don't try to fit in for the sake of it, do things because you want them. You shouldn't care about "finished", because you should be engrossed in the act of creation.

</comment><comment><USER32> > check the availability of urls and social media accounts

Are people really checking the availability on social media? I know that if I get the .com I want nothing else matters and the social media handles can be anything.

I know the feeling anyway! The initial excitement and the downfall.

</comment><comment><USER33> It could have something to do with the reason you wanted to start a project in the first place.

If you start a project just to play with some new shinny framework/tech then it is likely that once the novelty wears off nothing of interest would remain.

If however you start a project because you are excited about some product vision that doesn't already exist or not in the form you've envision then the drive to bring that idea/vision to fruition can be a powerful motivator.

I wrote a blog post on this matter some time back: [http://colabopad.blogspot.com/2009/12/on-joys-of- creativity-...](http://colabopad.blogspot.com/2009/12/on-joys-of-creativity- as-software.html)

</comment><comment><USER34> I struggle with this too, my github/bitbucket is a barren wasteland of half finished products. I believe that its fully a mindset thing and realize that success is not an accident nor some ephemeral spark of genius. Success is a a choice, every day.

I find this YT video on Steph Curry to be an amazing story of how success is built by they choices we make every day.

[http://www.youtube.com/watch?v=riy59ubGJiU](http://www.youtube.com/watch?v=riy59ubGJiU)

'Are the habits you have for today on par with the dreams you have for tomorrow?' Not yet... but its getting there.

</comment><comment><USER35> After working at a startup I started to not feel so bad about this. And/or I set my sights lower as far as putting in all required features, but putting higher stress on actually delivering what's important, and polish.

For instance, I made a podcast downloader as a Haskell learning project. I haven't goften around to making it delete old files. Meh. The interface is good, it is reliable and fast. I'll just clean it out manually now and then. Or maybe get to it later if I feel like it. A few years ago this might have been hanging over my head as a failure.

</comment><comment><USER36> I know exactly where you're coming from. In my studies I've found this behavior common amongst people that are INTJs (including myself). I would comically refer to myself as a serial project starter. I finally realized the pattern of getting all excited, pushing out a lot of code, and then abandoning the project a month in long before it's done. Launching my site yesterday was a relief to finish a project and push it out for the world to see. Even if nobody uses it I'm glad that I finished something.

</comment><comment><USER37> I finally managed to finish one! [http://www.youshouldbuythese.com](http://www.youshouldbuythese.com)

I think the secret to a successful side-project is deciding on an MVP that can be built in a single weekend. I've found that I'm also much more likely to keep iterating on a project if it's already in a 'finished' state.

I seem to run out of steam or lost interest in my more ambitious side- projects, where working for a whole weekend will only get you 10% closer to a finished product.

<comment><USER38> I signed in and I got

an editor I own a book I own another book I own the newer version of a phone I used to own (had s3, got s4)

a mouse I am going to consider buying a keyboard that probably would have been my choice if I didn't get a kinesis

nicely done.

</comment></comment><comment><USER39> I started to read this article, but I gave up about half way through.

<comment><USER40> Up until what part did

</comment></comment><comment><USER41> For me gamification works. I'm a sucker for the stats Github can display for a project. And keeping that streak going.

I've started to throw all my embarrasing, childish project onto github. If someone files a comment regarding how bad something is - great, then I have something concrete to fix.

And having a lot of projects open means there is always something easy to fix to keep the streak going. Suddenly projects move forward, albeit one small commit at a time.

This way I have actually completed more projects in years.

<comment><USER42> I did that for my Open Source stuff, I stopped at 164 days streaking. Maybe I should take that up for private projects.

</comment></comment><comment><USER43> I agree with advice that you should document your idea in your notebook, but don't put any immediate effort into implementing it. The ideas you keep coming back to are the ones that you're truly interested in ... and yet you still have to be careful that those are viable ideas.

In any case, rushing after each new idea is a great way to spend time, but you need that time to be executing on the few ideas you actually choose to pursue.

</comment><comment><USER44> Nobody ever finishes anything. Have you ever heard about a finished project? Linus Torvalds hasn't "finished" Linux yet. But it's certainly out there — it's alive!

I don't think "man, I'm so far from being finished." That's just a demotivating way to see your project. The big milestone is having something that's useful enough for people to be interested in, no?

<comment><USER45> I think the author meant to reach version 1.0 of a project or at least have a fully working prototype.

Most projects die during the creation of the outer scaffolding without much of the envisioned functionality in place.

</comment></comment><comment><USER46> Sadly this is why employers and early investors give preference to Ivy League graduates. That's likely because the programs ensure graduates are most likely to push the bar higher and achieve. But those who make the exception list (achievers non-league) turn out to be even stronger achievers because their determination comes from deep within rather than from training.

Disclosure: I'm not a leaguer.

</comment><comment><USER47> Same way. I'm a 30%'er. I'll do the name, branding, front end mockups... but then I'll lose it. I wont want to dive into the back and write any backend or server code.

That's why you need a team. Everyone has optimistic days and pessimistic days. On a good team you all wont have them at exactly the same time. You're team will push you through and help you finish.

<comment><USER48> To further illustrate the benefit of a team... I'm exactly the opposite. I dive right into the backend stuff... APIs, database schema, etc, and tack just enough UI on the front end to make it usable (Name? Branding? That can all come later...(and never does))

</comment></comment><comment><USER49> This article gave me idea for a new project. Yes, it's all clear in my head and I have to start working on it right now and abandon all other projects.

A site where you take responsibility for finishing your project. If you don't, you will pay heavy price. Lets say we will spam your inbox with a thousands of letters that remind you of your promises.

</comment><comment><USER50> I've finished something before. It pays back somehow.

But now I barely working on anything. I admit I don't like any work at all. Working for Google or SpaceX? No.

I think we want to finish something because we are not satisfied with our current life. If you feel your current status is okay, it's not easy to get motived to put yourself into some extra work.

<comment><USER51> Follow me

</comment></comment><comment><USER52> It's why investors put so much weight on the team. Execution is 90%. We've all heard this endless times. But it really hits you in the face when you actually do a startup. A team that can't execute will probably f*ck up a great idea, whereas a team that can execute can do wonders with a mediocre idea

</comment><comment><USER53> I no longer care about what people think. I care that I may not get enough people to think anything at all.

</comment><comment><USER54> Excited, dive right in, run the tutorial, get to the first block, (optional - google try 1, google try 2) and yawnnnnn, next please...

This one has a reverse interest for most entrepreneurs, how do you get your product past the initial excitement and impending boredom of the customer?

</comment><comment><USER55> I think one of the biggest things that causes is losing faith in your idea. No matter how good it is, the more you think about it without doing anything to go along with the thinking, your brain will naturally find minute flaws in the idea, making you move on.

</comment><comment><USER56> Great ideas are like juggling clubs. You can keep two or three of them in flight if your coordination is good enough. Add more than that to your routine and you'll probably get smacked in the face.

</comment><comment><USER57> Relevant: [http://simpleprogrammer.com/2014/01/09/importance- finishing-...](http://simpleprogrammer.com/2014/01/09/importance-finishing- started/)

</comment><comment><USER58> It's the "doing things" that I have least trouble with. It's the other things, the things that he does first, that I have trouble with.

</comment><comment><USER59> It is really motivating article and today, I am going to generate a best marketing strategy for tumblr and try to execute that. (only one as you say)...

</comment><comment><USER60> Reminded me of this story: [http://www.leanexpertise.com/TPMONLINE/articles_on_total_pro...](http://www.leanexpertise.com/TPMONLINE/articles_on_total_productive_maintenance/management/establishingpriorioties.htm)

One day a management consultant, Ivy Lee, called on Schwab of the Bethlehem Steel Company. Lee outlined briefly his firm's services, ending with the statement: "With our service, you'll know how to manage better."

The indignant Schwab said, "I'm not managing as well now as I know how. What we need around here is not more "knowing" but more doing, not knowledge but action; if you can give us something to pep us up to do the things we ALREADY KNOW we ought to do, I'll gladly listen to you and pay you anything you ask."

"Fine", said Lee. "I can give you something in twenty minutes that will step up your action and doing at least 50 percent".

"O.K.", said Schwab. "I have just about that much time before I must leave to catch a train. What's your idea?"

Lee pulled a bland 3x5 note sheet out of his pocket, handed it to Schwab and said: "Write on this sheet the six most important tasks you have to do tomorrow". That took about three minutes. "Now", said Lee, "number them in the order of their importance". Five more minutes passed. "Now", said Lee, "put this sheet in you pocket and the first thing tomorrow morning look at item one and start working on it. Pull the sheet out of your pocket every 15 or 20 minutes and look at item one until it is finished. Then tackle item two in the same way, then item three. Do this until quitting time. Don't be concerned if you only finished two or three, or even if you only finish one item. You'll be working on the important ones. The others can wait. If you can't finish them all by this method, you couldn't with any other method either, and without some system you'd probably not even decide which are most important".

"Spend the last five minutes of every working day making out a 'must' list for the next day's tasks. After you've convinced yourself of the worth of this system have your men try it. Try it out as long as you wish and then send me a check for what YOU think it's worth".

The whole interview lasted about twenty-five minutes. In two weeks Schwab sent Lee a check for $25,000 - a thousand dollars a minute. He added a note saying the lesson was the most profitable from a money standpoint he had every learned. Did it work? In five years it turned the unknown Bethlehem Steel Company into the biggest independent steel producer in the world; made Schwab a hundred million dollar fortune, and the best known steel man alive at that time.

<comment><USER61> I was curious about Ivy Lee [1]; some interesting tidbits:

> he was retained by John D. Rockefeller Jr to represent his family and > Standard Oil, ("to burnish the family image"), after the coal mining > rebellion in Colorado known as the "Ludlow Massacre". Upton Sinclair dubbed > him "Poison Ivy" after Lee tried to send bulletins saying those that died > were victims of an overturned stove, when in fact they were shot by the > Colorado militia.

> Lee espoused a philosophy consistent with what has sometimes been called the > "two-way street" approach to public relations, in which PR consists of > helping clients listen as well as communicate messages to their publics. In > practice, however, Lee often engaged in one-way propagandizing on behalf of > clients despised by the public.

> Shortly before his death in 1934, the US Congress had been investigating his > work in Nazi Germany on behalf of the controversial company IG Farben.

[1] [http://en.wikipedia.org/wiki/Ivy_Lee](http://en.wikipedia.org/wiki/Ivy_Lee)

</comment></comment><comment><USER62> This article inspired me to complete a project I started halfway through last year.

Very good read!

</comment><comment><USER63> Is it awful that I didn't finish reading his post?

<comment><AUTHOR> Awful that what? I didn't even make it to the end of your c

</comment></comment><comment><USER64> What does "anyth" mea

</comment><comment><USER65> "Real artists ship."

</comment><comment><USER66> great timely post! thank you !

</comment><comment><USER67> You an me b</comment>


Ask YC: Which is easier to deploy/maintain: Python or Ruby apps? - <AUTHOR>

In your opinion, assuming you have full control over the server, which is easier to deploy and maintain (server-wise, sure as making sure everything is set up properly and running smoothly): Ruby apps (e.g., merb, ramaze, rails) or Python apps (e.g., Djano, Pylons, TurboGears)?
From what I can gather, Python apps seem easier to deploy and maintain: usually you run a static server up front (such as nginx) and proxy it to Apache running either mod_python or mod_wsgi, or even use Apache by itself. It looks like Ruby apps usually use nginx in the front and proxy their app to a bunch of Mongrels running in the backend.
I've played around with both languages and have no objections to using either one, but I'd like to know if anyone has experience in deploying a web app in either language and how it went? Or even which setup uses more memory?
Thanks for any help. <comment><USER2> It takes me ~10 min to deploy a Rails app (production ready) on a freshly installed Ubuntu server. To do that, I have to issue a SINGLE command that includes the IP, ssh port, and a password of the machine. The process includes setting up the server, downloading all of the necessary files, security updates, compiling and setting up the server (nginx), setting up rails, setting up database, loading database dump from the remote server, grabbing the app from svn, etc etc anything I want really. I issue the command and just forget about it and work on something else for ~10min. When I come back, the app is up and running and production ready! Wanna setup 10 servers? Just open up 10 terminals and you'll have 10 servers in 10min.

How? Through the magic of capistrano: <http://www.capify.org/getting- started/rails>

I've never seen anything else even come close to this level of simplicity.

Seriously, that should be the LAST of your criteria as to which language, and more importantly, framework to pick. We went with Rails since it has better plugins/gems than Django. We don't want to waste our time re-implementing basics and Rails currently has the cutting edge libraries for web work... stuff that you will have to do yourself in other frameworks.

<comment><USER3> man no wonder you have time to submit 10,000 articles a day hehe

<comment><USER2> 10K? Heh... not even close. It's all about quality and not quantity :)

</comment></comment></comment><comment><USER4> I've found python much easier to deploy.

Rails is just a pain.

Python has a longer history on the web. Give cherrypy a try, which, although not as powerful as Rails, is lightning fast.

<comment><USER3> why not django or turbogears?

<comment><USER5> ditto cherrypy, django's api is just not elegant. Tries to do everything for you, but not exactly like you want to. It is fine for some kind of apps (the auto autoadmin feature is nice for small or mid apps), but for large apps i'd say start with something that you have total control on what's going on with no magic. While for small apps, Django might be an overkill. And turbogears, is just... how to say, too much. Pylons is alright thou.

</comment></comment></comment><comment><USER6> Here's a recipe for deploying django on ubuntu.

[http://www.jeffbaier.com/2007/07/26/installing-django-on- an-...](http://www.jeffbaier.com/2007/07/26/installing-django-on-an-ubuntu- linux-server/)

Its really simple and takes negligible time. Django is also easily scaled as all sessions are stored on the database.

I chose python because I had been using it for years and love the language. It also has a ton of libraries and support obviously.

I chose Django after a horrible stint with Zope3. Especially now, django has some great documentation and a super helpful IRC channel.

</comment><comment><USER7> Deploy: Ruby things. GEMs work better than EGGs, in part because there are fewer of them. Ruby makes OO easier.

Maintain: Python things. There are so many EGGs! If you need a new package for something or other -- the JSON parser isn't fast enough or something -- someone has made an alternative already. Performance matters for maintenance -- scalable deployment is still not easy, or cheap -- and it helps that Python has a fast core and syntactic shortcuts to things like generators (memory efficient) and list comprehensions (CPU efficient).

</comment><comment><USER8> Django has a less advanced schema evolution framework compared to ROR, making database updates harder. You need to kill the process to update the code, as opposed to ROR (i think).

Python is a better language than Ruby. Python has better libraries for more advanced processing because it is so close to C.

<comment><USER5> I don't think Django is a great example. Python it'self is by far superior to Ruby. It is one of those kind of languages, where frameworks are optional. something like web.py or cherrypy are just enough.

The problem with python, is that there is plethora of frameworks, but not one is close to perfect. So, sometimes you don't know what too choose.

While with Ruby, you are stuck with one main framework (well, there are few less popular ones), which creates more synergy and knowledge towards that framework/way of web developing, but limits choice.

</comment></comment><comment><USER9> This is from a minimal install of FreeBSD 6.2-RELEASE:

> ruby ruby: Command not found. > python Python 2.4.3 (#2, Aug 11 2007, > 18:44:16) [GCC 3.4.6 [FreeBSD] 20060305] on freebsd6 Type "help", > "copyright", "credits" or "license" for more information. >>>

<comment><USER6> lol

</comment></comment><comment><USER10> I run several Python webapps, and I wouldn't bother with mod_python or mod_wsgi. They're bad ideas (I can go into more detail on why if anyone cares).

Instead, I proxy from my front-end server to a standalone Mongrel-like webserver that speaks WSGI. paste.httpserver and cherrypy's wsgi server are the frontrunners for this purpose. Pylons is threadsafe, and paste.httpserver is rock solid, so I'm very happy with just a single paste.httpserver instance, but I can scale easily by adding more instances if need be.</comment>


A universal, federated payment protocol - <AUTHOR> https://ripple.com/blog/payments-should-be-more-like-email-or-the-power-of-federated-network-protocols/

<comment><USER2> Correct me if I'm wrong, but the article begins by saying that a centralized system is bad, because you must use it to interact with the system's clients. Then it goes on to say "it would be awesome if everybody was using Ripple".

Beside the tongue-in-cheek comment, payment systems are already decentralized. You can send money to anyone just by knowing their IBAN number, independently of the bank you're affiliated to.

<comment><AUTHOR> Have you ever tried to send a bank wire before? It can take a week to process and it costs on average $15+. Not an awesome technology.

<comment><USER2> I have not said it's awesome, I just said it is decentralized :)

How will your system cope with the augmentation of transactions? I see you use a consensus based system like Bitcoin, and these tend to take more and more time to converge when the number of transactions gets bigger.</comment></comment></comment>


SPaaS – Side Project as a Service - <AUTHOR> https://spaas.js.org <comment><USER2> I like it. How do you handle intellectual property issues?</comment>


Strangecoin: a proposal for a nonlinear currency - <AUTHOR> http://digitalinterface.blogspot.com/2014/03/strangecoin-proposal-for-nonlinear.html

<comment><USER2> 'Basic income' which is not coupled to any expenditure (e.g. by mining) will have a tragedy of the commons problem in a pseudonymous system.

In a pseudonymous system, I can make as many addresses / accounts as I like (since a pseudonym is, by definition, not tied to any real identity).

Therefore, to maximise income, someone can create duplicate addresses, causing the basic income to be distributed according to the number of addresses a person has.

<comment><USER3> While this is a valid objection to the design as stated, there are solutions. For instance, the insight behind Bitcoin is that instead of the one-IP-one- vote policies of previous distributed protocols and the sock-puppeting that ensues, proof of work means that it's one-CPU-one-vote. And schemes like proof of stake go even further so it's one-coin-one-vote.

<comment><USER4> Bitcoin already has a basic income distributed via one-CPU-one-vote: it's called a mining reward. And if you distribute a basic income via one-coin-one- vote it's called an interest rate. The whole point of BI is to be per-person.

</comment></comment></comment><comment><USER5> What is the motivation for this?

The big advantage of money is as a communication mechanism: An increase of demand of pencils, though price chnges, can increase the demand for burgers in a town where the wood for said pencils is made, even though the purchasers have absolutely no idea, and no control, over the results of their actions.

Sending positive and negative feedback to transactions has the opposite effect: It avoids the information hiding that is the key to making the economy tractable, and makes what are simple decisions much more complicated, but I suddenly have to care about what people think about the suppliers of my suppliers.

I suspect a economy running on this strangecoin would be less effective than one running on a regular currency, just like it's much harder to be gay in a tiny homophobic town than in a large, relatively anonymous big city.

<comment><AUTHOR> Traditional money makes certain features of the economic system tractable, but it masks other important relationships that constraint its behavior. The question isn't whether or not the the transactions should be shaped by feedback from the network; the question instead is which features of the economic network do we want to make salient to agents in that network.

You might think of Strangecoin as a way of making features of the interdependence of economic relationships salient in each transaction. In the parlance of STDs, I'm not just trading with you, I'm trading with everyone else you are trading with.

I'm not sure I understand your analogy to small homophobic towns, but I suppose you mean that people with less economic support will have less representation in Strangecoin. It's true that Strangecoin will be disposed to preferential attachment, but I'm not sure any economic system wouldn't. It's a feature of the system that it makes these attachment relations explicit, a feature of the existing economy that is completely masked over with traditional money.

<comment><USER6> I think Strangecoin is super interesting. I think his analogy was that with a coin where relationships matter, you have to care how a person is connected, when you deal with them. I think it could be a feature, not a bug, even if it makes things less efficient.

<comment><AUTHOR> Efficiency isn't some absolute value. Efficiency is always relative to the goals we have.

<comment><USER7> Well, it can be either depending on the perspective you are using at the time: objective or subjective. Some kinds of efficiency hew more to the former and some to the latter. In the last few thousand years money has done more than perhaps anything else to generate macro-economic efficiencies. So much so that it's hard to now imagine that it might be time for alternatives.

</comment></comment></comment></comment></comment><comment><USER8> I was always dispirited by how conservative in sentiment Bitcoin and most altcoins were. It always felt to me that Bitcoin was mostly redundant to gold, neglecting the inherent advantages of ecurrency. Something more ambitious deserves to be implemented.

That endorsement aside, the inhibition transaction does disturb me. It would seem to encourage mob-like behavior in the culture of early adopters, as heretics of whatever sort were forcibly ejected from the system. I don't trust the dynamics of groups enough to think this will be a good form of self government.

<comment><AUTHOR> In the transactions I describe, inhibition is a two-sided transaction, meaning it requires approval from both parties. Presumably parties won't enter into such transactions without good reason for consent.

<comment><USER9> Given the number of people confused by it, I think perhaps it needs a different name ... my mind is blank when I attempt to come up with a better one, though.

</comment></comment></comment><comment><USER10> I'm rather disappointed that in spite of promises that transactions can be non-zero sum, on close inspection these transactions just draw money from other accounts - usually TUA. From the description, I expected new Strangecoins to be created out of thin air by transactions, and I wanted to see where you were going with that design.

If money's still just flowing from accounts into other accounts, then it's something that would be doable with dollars or Bitcoins if the people involved signed appropriate contracts. Some of your proposed transactions have real- world equivalents; "coupling" sounds like creating a joint account for a married couple. Others, like "inhibition", I don't understand their motivation.

What's Strangecoin for, exactly? Are you supposed to be buying goods and services with it? Why have features like continuous-time transactions or free money for all, what benefit is gained from them?

<comment><AUTHOR> Other comments suggest that this can be implemented with existing tools, which I take as a virtue of the proposal.

In any case, John von Neumann proved a long time ago that any nonzero sum game with n players can be modeled as a zero sum game with n+1 players, where the n+1 player represents the global state. TUA is simply an implementation of this proof.

[http://en.wikipedia.org/wiki/Zero- sum_game#Extensions](http://en.wikipedia.org/wiki/Zero-sum_game#Extensions)

I tried to explain inhibition in another comment in this thread. [https://news.ycombinator.com/item?id=7496858](https://news.ycombinator.com/item?id=7496858)

I give an an analogy in the proposal of the popularity of a celebrity couple being a nonlinear relationship to the popularity of each celebrity individually. I think our intuitive understanding of our social relationships is nonlinear in this way generally, and I think Strangecoin can model those nonlinear relationships well.

So, for instance, I'm imagining a family, spouses, close friends, and so on entering into extended coupling transactions, so that as a community their prosperity rises and falls together. I might also enter into such transactions with certain business with whom I want to couple my activities, and these coupling transactions might serve in lieu of direct billing or payment. A coupling relationship with a business is effectively a contract, but with traditional currency you need the whole legal framework of contracts to support the transaction, and with Strangecoin the transaction is built directly into the currency, and the interface looks almost exactly like a point-of-sale cash transaction.

And I can enter into less serious relationships of varying degrees with other parties. The effect is a way of managing not just financial transactions, but also reputation, investment, and other dynamics social constraints on the economy via the currency itself. Money is memory ([http://www.minneapolisfed.org/research/sr/sr218.pdf](http://www.minneapolisfed.org/research/sr/sr218.pdf)), but our existing currencies only represent some aspects of our economic activity, and therefore put limits on the memory stored in the economy. A nonlinear coin like Strangecoin can embed that social knowledge in the currency itself, providing a more robust memory framework on which we can conduct our economic transactions.

I only hint at this in the proposal, but I suspect a system like this is required to resolve the twisted legal artifice the corporate veil, because it quantifies explicitly the role individuals have in collective economic activity, and thereby gives a method for explicitly holding persons proportionally responsible (in both credit and blame) for their contributions to that activity.

But I think that's a much more radical proposal than the one I've offered for Strangecoin, and I should probably only be defending that here. =)

<comment><USER11> I think you might ultimately have to explain and defend these ideas together. Bitcoin proved that a purely digital currency could have value alongside government-issued currencies.

To create a viable Strangecoin network, you'll need to demonstrate how a more cooperative economy can come into being and retain value within a more predatory, zero-sum society, where corrupting your network and exploiting it may yield rewards in US dollars.

</comment></comment></comment><comment><USER12> Strangecoin transactions can be nonzero sum. A Strangecoin transaction might result in both parties having more Strangecoin. Strangecoin transactions can be one-sided and can be conducted entirely by only one party to the transaction.

If I'm reading that correctly, could I give myself infinite StrangeCoin?

<comment><AUTHOR> Users cannot engage in transactions with themselves. Updated the doc to reflect this.

<comment><USER12> What would you do if I created another address?

<comment><USER13> author: don't use a url shortener or HN will kill your post. For those who don't have showdead turned on, here was his response:

From my G+ reshare, in the context of a question about account caps:

[https://plus.google.com/u/0/+DanielEstrada/posts/hQfNmirDfsm](https://plus.google.com/u/0/+DanielEstrada/posts/hQfNmirDfsm)

> I suppose one way around the cap would be for users to maintain multiple > accounts. I have no objection to this in principle, although it has an > impact on the networks they can develop on any one account. If I have 20 > Strangecoin accounts all coupled to and supporting each other, but are only > receiving income through one account connected to the external network, then > my subnet isn't going to grow larger as a whole than the one node connected > externally. So I can't use multiple accounts to inflate just my identity. If > I'm using multiple accounts, it's because I want to maintain multiple > identities. Again I have no objection to this, or at least the protocol I've > described doesn't rule it out.

<comment><USER14> @author:

Define the "external network". What keeps a single entity from simulating a network just as large as everyone else combined? At that point, how does one determine which network is the "correct" one, though both are the same size with the exact same connectedness stats?

</comment></comment></comment></comment></comment><comment><USER15> There are many problems. I'll try to explain two:

> _The Universal Account (TUA):_

> _[...]_

> _TUA can make a payment only in the following situations:_

> _[...]_

> _X 's account balance = 0 at t. Any additional transactions outgoing from X > at t are drawn from TUA._

When your wallet is empty, you can continue to make payments! Perhaps you can't make payments directly, but pay indirectly with the other type of transactions. I suppose this works unless TUA is empty, but in this case TUA will be empty all the time. And there will be a lot of bots trying to empty it just in case.

Most of the transactions can be implemented as a strange Bitcoin/AltCoin wallet: Payment is easy. Support, Endorsement and Coupling are just a matter of sending the correct amount at the correct time. Even the balance cap can be implemented as a voluntary automatic payment. The strange part is the Inhibition transaction.

> _Inhibition is a two-sided transaction over some duration t. If X inhibits Y > over t, then X reduces the income or expenses of Y over t by some proportion > i. By inhibiting Y, X effectively reduces the impact that Y has on the > Strangecoin network by i over t by forfeiting that proportion of income and > expense. To initiate the transaction, X specifies Y, t, and i, which must be > approved by Y._

If Y has to approve it, I don't understand why is there an X there. It can be a 1 side transaction where Y inhibits itself. In Inhibition is bad for Y, then it's easier to implement using NOP, because nobody would use it.

<comment><AUTHOR> Good comment.

1) You are correct that the system is designed so that users can make payments and conduct transactions even in the absence of an account balance, without incurring debt. Strangecoin allows users to act as if they have effectively unlimited wealth in terms of access to coin. Nevertheless, Strangecoin allows users to judge differences in influence on the network, so they might evaluate who they want to engage in transactions with, regardless of the account balance each has. So X might want to trade with Y instead of Z, even though both are able to pay the same number of coin individually, because Y's network amplifies the transaction more than Z's, and the better overall support for Y makes the transaction more attractive.

2) You are right that a fundamental constraint on the system is that TUA has an available balance. As I mention in the document, the most important constraint on all users (including TUA) is that their balance remains stable; users want to engage in transactions that will stabilize their overall impact on the network. TUA can adjust certain parameters to ensure a stable, nonzero balance: the basic income most importantly, but perhaps TUA can also adjust individual account caps and set limits on the allowable parameters of other transactions to ensure it has a constant, nonzero balance.

This is how I was imagining TUA being a universal indicator of economic prosperity of the network. If I see my TUA income go down, for instance, I know that means a drop in the overall available funds in TUA, which means the economy overall is offbalance, with more expenses than income. And I see that global property of the network directly in my account balance, and I can use that to act accordingly. Specifically, I know that if I increase my own income (or even hit the balance cap), I'll be helping the overall economy by contributing to the TUA balance.

3) Inhibition seems to be giving people trouble. Being "too rich" isn't normally a problem for people outside of hiphop, which I think is a source of the confusion. But being too rich in Strangecoin could be a bad thing, so I included the transaction type to provide a mechanism for negative feedback. This would be useful for some situations where users are finding it difficult to maintain an stable account, and where scaling back it's overall influence on the network might help promote stability. If I'm making more Strangecoin than I know what to do with, this could be a bad thing for me financially because of the penalties that might accrue, so I might want to enter into inhibiting relationships to ease the pressure of those penalties.

</comment></comment><comment><USER16> This seems incredibly complex and described in an even more complex way, but I think you could accomplish most of the good from this proposal by having an infinity of potential instruments, issued by individuals, with the market sorting out the meaning -- e.g. PG General Liability IOUs trade independently of rdl general liability ious which trade differently from rdl newproject equity.

</comment><comment><USER17> This is an interesting economics thought experiment, but I don't see this working simply because it is too complicated.

Virtual currency already has a learning curve that most people haven't gotten used to. Adding strange attractors into the mix certainly isn't going to help.

<comment><AUTHOR> My idea isn't so much to propose a single solution to the worlds economic problems, but instead to ask: what else might digital currencies do?

I don't know of anything else being proposed that works in a nonlinear way, and I don't know if the idea is even on the table as a possibility. I'm hoping that putting it on the table might give other people who can penetrate the complexity ideas for how to make the system work.

That said, I think the transaction types I list are fair intuitive. When I'm going to make a purchase, I have some options: I can pay a lump sum directly, or I can engage in an extended relationship of support, for which I can specify the duration of time, and the amount of support I'm willing to give it. There's different ways that support might work, but that's the gist.

<comment><USER18> I agree that truly different crypto-currencies is a very exciting frontier. The distributed block-chain technology has implications far wider than a basic ledger. For example, I'm quite excited by namecoin, a distributed DNS. I share your enthusiasm about extending bitcoin's technology to create a distributed, general-purpose trust network.

However, I am quite confused about strangecoin. Maybe the whole thread is going over my head and I'm lacking an Explain-Like-I'm-Five description of your idea. I'd love to be a supporter, but I don't see how you can build a trust network around something as complicated as this. Could you explain how, even in a vague sense, strangecoin could act as a reputation system?

It seems like bitcoin itself works as a pretty great trust network. Just look at the mess surrounding MtGox: everybody seems to have a clear understanding that MtGox is totally culpable, despite the claims of transaction malleability attacks. Because the block-chain is entirely available for analysis, the financial activity of all organizations can be traced, which can reliably verify trust.

</comment></comment></comment><comment><USER19> I think the "Strangecoin transactions can be nonzero sum" idea is flawed. But did I understand correctly: Would this be a cryptocurrency with a money base that expands/disappears as the 'fait value' rate goes up and down? That would be cool!

<comment><AUTHOR> The way I've written the proposal, the raw quantity of coin doesn't change; all that changes is the rate of exchange across parties. The added value is generated by the network of transactions as an emergent property.

But there's probably other ways to do such a proposal. Again, my main goal is to put an idea like this on the table to see what people do with it.

<comment><USER11> I think it's a brilliant idea, but I don't think people will be motivated to move forward with it without a clearer picture of what they would be creating in the real world.

We are strongly conditioned to try to "capture" value. You are attempting to redefine value in such a way that it is no longer advantageous to "capture" it at the expense of the overall system. But what would it look like in the real world?

It is a genuine challenge to envision real world transactions and a society based on Strangecoin, and even more difficult to come up with a profit motive to create it in the first place. Does a barista "couple" herself to a cafe when she gets a job that pays in Strangecoin? What are the effects of this vs employment as we know it? How does she fare as a result when compared to someone working for dollars with an employment contract?

Money serves many purposes, and one is to create incentives. Often these incentives are coercive. They don't have to be, but there are philosophical as well as technical challenges to overcome. When everyone is acting according to one set of rules, it is difficult to create a competing set of rules without some clearly defined advantage for doing so.

<comment><AUTHOR> We're talking about values, but I think these are ultimately empirical questions about which system performs better under certain constraints.

I think these empirical questions can be resolved prior to implementation, by modeling the incentive structure of employees operating under traditional payment schemes, and employees operating under coupling transactions under Strangecoin, and then running simulations of the two models. I suspect traditional currencies will perform well under certain assumptions, but also that Strangecoin will perform well under similar assumptions, and may even outperform traditional currencies.

In particular, I suspect that an employee with a coupled Scoin transaction with a business will have a closer relationship with that business, partly because the transaction has direct consequences on every other transaction the user engages in, and (by extension) has a closer association with that employee's identity than another business offering only a weekly paycheck.

Businesses spend lots of money cultivating employee cultures so that they identify with the business, and these aspects of the culture can be more influential on employee motivation and job satisfaction than financial compensation. Strangecoin builds these relationships directly into the transaction, so we might expect it to have similar consequences.

But as I said, I think these are empirical questions that can only be solved from the armchair if that armchair is in front of a computer model simulation.

</comment></comment></comment></comment><comment><USER20> From the article:

"If I give you a dollar for a burger, then I've lost a dollar and gained a burger, and you've gained a dollar and lost a burger. Assuming this was a fair trade (that dollars and burgers are of approximately equal value), then as a result of the transaction we've simply rearranged who has which good, and no additional value was created in the process. What I've lost you've gained and vice versa, so that the total value between us has not changed after the exchange is over."

I can see how a person would think that, but it's not really correct. If that was true then nobody would have any reason to hold either dollars or burgers or whatever; we'd constantly trade them for one another since they are of literally equal value. Who cares which $10 bill they have in their wallet? Nobody since $10 is $10 is $10. Hell, most people don't even care if it's $10 or 2x $5 or $5 and 5x $1, so long as they don't need singles for the vending machine.

But we don't see that kind of behavior in the economy, which leads us to the conclusion that when people exchange things they're not exchanging things of equal value. They are of nominally equal value, which leads to there being a price. But if they were truly of equal value then the guy selling a burger is making $0 profit (something he is unlikely to do) and the guy buying a burger technically isn't any better off either. Why would two people make an exchange where neither is better off? In aggregate they wouldn't even if there are some exceptional cases where they would.

When people exchange things they are trading something which subjectively to them is of equal or lesser value than the thing they are getting. That also explains why people buy just one burger instead of ALL the burgers. When someone is hungry it shifts their subjective valuation of burgers higher and money lower; once satisfied their preferences shift back to "normal" and they stop buying burgers.

An economy already has value creation "baked in" because when people exchange things they only do so when it increases total satisfaction. People tend not to make trades which decrease satisfaction or merely hold it equal. The transaction cost helps ensure that is the case.

Everything else equal before the trade satisfaction was X, after the trade it was X + Y. Y is the amount of increased satisfaction that prompted one or both parties to engage in the trade. Now obviously someone could argue that Y is negative but that doesn't hold water. People don't buy things that are "too expensive" or "crappy" or whatever you'd like to call it.

I will concede that my argument might seem tautological. I might even agree. In the absence of a third party with a gun I can't see how or why two people would choose to enter into a trade that don't benefit at least one of them, and probably both.

<comment><USER21> _" In the absence of a third party with a gun I can't see how or why two people would choose to enter into a trade that don't benefit at least one of them, and probably both."_

Well, at least that they don't both _believe_ will benefit them.

<comment><USER20> Yeah I think you have to go with the subjective meaning. I don't think you can talk about objective benefits, otherwise things go to hell very quickly. Where do drugs (legal or illegal), alcohol, tobacco, sugary foods, fatty foods, fast cars, hybrids, condoms, birth control pills, church donations, etc all fall?

It really depends on who you are. There's no way to have an objective arbiter who determines what is actually beneficial and what merely seems to be beneficial. At least that I know of. The problem seems intractable to me.

<comment><USER21> I didn't mean "the value we think they should be deriving." I meant that people can be mistaken (or mislead) about how much they value something even in the short term. If someone thinks they are buying a reliable car and gets a lemon, I think it's more correct to say "they didn't get the value they expected" then "their revealed preferences show they really wanted the lemon".

<comment><USER20> Ah yes, that makes much more sense.

</comment></comment></comment></comment></comment><comment><USER22> > If I give you a dollar for a burger, then I've lost a dollar and gained a > burger, and you've gained a dollar and lost a burger. Assuming this was a > fair trade (that dollars and burgers are of approximately equal value), then > as a result of the transaction we've simply rearranged who has which good, > and no additional value was created in the process.

This is incorrect. I sell a burger because I value it less than your dollar, and you buy a burger because you value it more than one dollar. Win-win. It is a positive sum game, not a zero sum one.

<comment><USER23> And the article goes on to say that two paragraphs after that line.

</comment></comment><comment><AUTHOR> Thanks everyone for a fascinating discussion. I found this thread incredibly productive and encouraging.

If you are interested in developing this idea further, please get in contact on my blog or G+ profile.

[http://digitalinterface.blogspot.com/](http://digitalinterface.blogspot.com/) [https://plus.google.com/u/0/117828903900236363024](https://plus.google.com/u/0/117828903900236363024)

</comment><comment><USER24> [https://bitcointalk.org/index.php?topic=549669](https://bitcointalk.org/index.php?topic=549669)

<comment><AUTHOR> For what it's worth, that's not me and I'm surprised that someone is already trying to scam on the idea. Lol.

</comment></comment><comment><USER25> Anyway you could lay out what your talking about with a bunch of examples. Maybe add a section here's the problems with the current systems.

</comment><comment><USER26> That's numberwang!</comment>


Show HN: Awesometalk – Free video calling without the hassle - <AUTHOR> https://www.awesometalk.com/

<comment><USER2> How is this different than [https://appear.in/](https://appear.in/)?

<comment><AUTHOR> Right now they're very similar, but we're working on getting Awesometalk onto more platforms than just the web. We want you to be able to send anyone an Awesometalk link, and no matter what device they're using, have a conversation.

<comment><USER2> Isn't that exactly what the web is good at though? Cross-platform? Right now I can send a friend an appear.in link and they can open it on their Android device and join the chat. I don't think Safari on iOS has WebRTC support yet, but I can't imagine that they're not working on it.

<comment><AUTHOR> Let's say you send a link to someone on an iOS device -- we can prompt them to install a native app, then as soon as they open the app, with no login, your call starts.

Apple actually is refusing to add WebRTC to Safari, because if you have good HTML5 support and WebRTC, you can do much more outside of a native app, which hurts their ability to control the app ecosystem, and helps developers ship to Android and iOS on the same day. I hope this changes, but right now it doesn't seem promising.

</comment></comment></comment></comment><comment><USER3> Awesome! I just tried it from a university campus to a business ISP (both very high bandwidth) and the quality was crystal-clear.

Two immediate requests:

1) Screen sharing

2) Group chats

Definitely loving that there's no other software or installations required. Looking forward to its further development.

(Edit: Already got an email from the developers, and I understand the security limitations of easy screen sharing, so I guess just do what is possible; I'm not asking for the impossible. Just easier than installing some full-blown software, if possible, would be great.)

</comment><comment><AUTHOR> Hey, I'm one of the co-founders of Awesometalk. We started working on this 2 weeks ago and I'd be happy to answer any questions you have.

<comment><USER4> Hey there, I just tried it and my experience was not very satisfactory. I imagine you are interested on the feedback so there it goes: video quality was low (super choppy, video was getting frozen at several points), voice quality was low (I could understand about 50% of what was said) and when a third person tried to join it got a message "This call is full right now" (which I don't know if it's a bug or by design - it's not clear if this is just a 1-to-1 service). Anyways, the concept is very cool and I hope you get to make it work. A reliable service like this would remove a lot of my communication headaches.

<comment><AUTHOR> Thanks for the feedback, sorry your first call didn't go well.

When the connection is poor, as it sounds like it was in this case, would you be okay if we fell back to audio-only and explained why? This seems like a better experience than trying to fight through lag, but we want to be careful not to arbitrarily cut off your video feed.

<comment><USER5> In Skype I have the option to show call technical info turned on.

It is immensely helpful since it shows continually updated values for latency, packet loss (in both directions), codec in use, bitrates etc. From that I can easily tell what the issues are (latency spikes vs packet loss are hard to distinguish due to the same symptoms).

That isn't helpful for the masses, but you can display some sort of connection quality indicator. You can also offer suggestions on seeing latency spikes or packet loss (try to work out of they are upstream or downstream).

The usual solution to video is to reduce bitrate, resolution and framerate. Blocky video that is taking seconds to update is an obvious indicator of connection quality issues.

<comment><AUTHOR> Thanks Roger -- we really want to create a connection quality indicator like you describe, kind of like the number of bars on your cell connection.

One of our biggest frustrations with existing services is that it's hard to tell why the call quality is poor - is it my connection, your connection, or the service's fault?

Can I shoot you an email when we get a beta version of that indicator working? I'd love to get your feedback on it.

<comment><USER6> Are you collecting network information/statistics from both sides of the call? That may assist in troubleshooting.

<comment><AUTHOR> We are collecting anonymous data about the network, browser, etc. and tying it back to core metrics like call length, but there's always more we can do. I'm really hoping that more browsers start to support the network information API natively too: [https://developer.mozilla.org/en- US/docs/WebAPI/Network_Info...](https://developer.mozilla.org/en- US/docs/WebAPI/Network_Information)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> This only seems to work for two people at the moment (i.e. no group calls), but for that use case, it seems promising.

As it happens, for the past few days I've been trying out a lot of tools for online video/audio conferencing, and made a summary of their features here: [https://docs.google.com/spreadsheets/d/1C1gAWPBmAWsQEo78ysds...](https://docs.google.com/spreadsheets/d/1C1gAWPBmAWsQEo78ysdsjdagwobtUX1zh_YCIb3fWIU/edit) (I didn't include Awesometalk because I'm only looking for group meeting tools, not one-to-one video chat)

</comment><comment><USER8> Screenshare pls</comment>


Ask HN: Which software is best for investor pitches? - <AUTHOR>

What are your favorite "powerpoint" type presentation software for pitching investors? <comment><USER2> Best is whatever lets you bang out your presentation and get back to your customers.

Worst is time spent wondering what software, what background color, what font, what socks to wear, or a million other distracting but irrelevant details that trick you into thinking you're accomplishing things.

Never is how many times anything important is going to hinge on what software you used to distill your story, numbers and potential into a short presentation.

</comment><comment><USER3> It's an absurd question. You might as well ask "Which socks should I wear to the meeting?" Because if your answer _matters_ in the end, it's because you used something extreme. The only time this would matter would be if it was the reason you didn't get funded/interest. Who cares whether the presenter uses Prezi, PowerPoint, Keynote, etc? No one. Who cares that you wore black wool socks instead of brown polyester ones? No one. But if you try to do your presentation at the command line, for example, you're done. Or if you wear crazy runner half-leg socks and make a point to show them off multiple times during the meeting, you're done.

You should have better things to worry about. The fact that you don't should worry you.

</comment><comment><USER4> [http://lab.hakim.se/reveal-js/#/](http://lab.hakim.se/reveal-js/#/)

[https://github.com/LeaVerou/CSSS](https://github.com/LeaVerou/CSSS)

Or just good ol' keynote.</comment>


Julia introspects: see the AST, LLVM IR, and native assembly for any function - <AUTHOR> http://blog.leahhanson.us/julia-introspects.html

<comment><USER2> This is very cool, and a direction that I hope more toolchains will go.

One problem, though, is that reading trees in text format is not very easy on the eyes. In fact, this might be one of the biggest reasons that LISP is (to people like me) not very readable. Trees in graphical form are orders of magnitude easier to parse visually.

I'd love to see software that makes visualizing tree structures easier. At one point I had a grand plan of porting graphviz to JavaScript, with SVG as an output format so it could be easily styled with CSS.

I think that approaches like this will be a lot more usable (and deliver a lot more "wow" factor) if you can view the trees graphically.

<comment><USER3> The problem I find is that graphical trees don't scale. They turn into a splayed out mess that is difficult to skim visually.

Personally, I'd far rather see a textual dump, with nesting denoted by indentation.

</comment></comment><comment><USER4> One thing that this kind of low level "interface" allows is a very rapid development of coding tools. How long until we see a context-context sensitive auto completion pop up? These language features would even allow more complex hints. Language analyzers can find bugs and note them right when writing code.

Of course, this is nothing new and already done in a few languages. But these features will make it easier (and hence faster) for the IDE to have some awesome coding features.

<comment><USER5> btw, what ide or editor are people using with julia?

<comment><USER6> Mostly vim, emacs and sublime (there's plugins for all of those). The folks at forio have also started an IDE for Julia, but last I looked they didn't have much more than an editor (and their website hasn't been updated in a couple months, so I'm not sure what the status is).

</comment></comment></comment><comment><USER7> A footnote mentions that @which is not as helpful for functions defined the REPL, because it doesn't give a file and line number in that case. This is not the case, however, in the new IJulia notebook interface (a REPL based on the IPython notebook); there, each multiline input cell is named "In[nnn]" (like Mathematica) and is treated like a file, so you can type "@which foo(3)" and it will give "foo(x) at In[22]:1" if you defined foo on line 1 of input In[22].

Note also that, in the latest versions of the REPL (and IJulia), you can simply type "? foo(3)" instead of "@which foo(3)".

</comment><comment><USER8> I'm not implying that their expression data structure is in anyway deficient, but given that Julia is so lispy in the first place, why was a design decision made to abandon (the more readable/familiar ?) S-expressions ? Can one of the devels give us an insight ?

Edit: Can someone also comment on how Julia compares to Dylan in the semantic sense ?

<comment><USER9> Regarding Dylan, there are many similarities, but I'm not a Dylan expert so take it with a grain of salt (or some fact checking).

Both languages are fully dynamic and support multiple dispatch. But whereas Dylan opted to have both single and multiple dispatch, as well as dynamic and static dispatch, Julia only has one kind of dispatch: full dynamic multiple dispatch.

I'm not sure how Dylan passes variables and whether it separates reference types and values types, but Julia doesn't, instead opting to distinguish immutable versus mutable types. Immutables have many of the benefits of value types for the compiler, plus a few more. Mutable and immutable values have identical semantics other than that fact that you can't change an immutable value, which makes the programming model much simpler (all values have reference semantics), while giving the performance of value types for immutables since the compiler is free to pass them by value when it sees fit.

I believe Dylan allows you to inherit from concrete types by structural inheritance – i.e. tacking fields onto the fields of the parent type. in Julia all concrete types are final – you cannot inherit from them. I haven't found that tacking fields onto a structure is all that useful; sharing behavior is far more useful than sharing structure, and delegation is generally a better way to share structure.

Abstract types in Julia are essentially what OO researchers call traits: abstract types that you can program to. I don't think that Dylan has traits. These are crucial to much generic programming (the other kind of generic programming is writing generic code for parametric types; although these are actually the same thing in Julia).

Dylan supports multiple inheritance, while Julia does not. We might add multiple inheritance in the future – or not: so far it's not terrible to live without it, although there are a few places where it might be nice. In the meantime, duck typing will suffice, and once the standard library is complete and stable it will be much easier to assess if we really need multiple inheritance or not; if the standard library doesn't need it, I think the rest of the world can live without it.

The biggest philosophical differences seem to stem from:

1\. Dylan was created in a time when OOP was new and hot and had to be included; Julia doesn't really care much about OOP – generic and functional programming are much more important.

2\. Dylan tends to give you lots of options (e.g. single or multiple dispatch, static or dynamic), whereas Julia tends to give you a single option, but it's the most powerful one (only dynamic multiple dispatch). This keeps the language simpler and easier to learn and use, but no less powerful.

<comment><USER10> Dylan doesn't have both single and multiple dispatch. Any method call is going to be using multiple dispatch.

Dispatch is dynamic, except where the compiler has determined (perhaps with hints from the programmer in the form of sealing) that it can be optimized into a static dispatch. One mode of the compiler extends this to help further eliminate runtime dynamic dispatch but that isn't enabled currently (as we aren't sure of the state of that code).

Dylan's OO isn't traditional OO at all in that it isn't like Java, Smalltalk, C++, Python, etc. Instead, it is CLOS-style OO. I wouldn't say that it was new and hot and had to be included as the OO in Dylan is a direct descendent of what was already in Common Lisp and going back from there to Flavors from Symbolics on the Lisp Machine and so on. (In fact, some of the same people were responsible...)

As for #2, I don't really see that at all. Dylan has a very intelligent and hard working compiler that tries to let you have the freedom that you want, but still be able to make things run efficiently. After all, it was targeted originally at hardware from 15-20 years ago.

I'm not a Julia expert, so I won't try to address the other points.

<comment><USER9> Thanks for the corrections, Bruce. As I said – I'm no Dylan expert.

</comment></comment></comment></comment><comment><USER5> maybe this could go in the blank space under "introspection" in the current manual? just sayin... [edit: sorry, yes, reflection]

(julia is my new crush. i haven't actually used it yet, i just keep reading the docs and thinking how awesome it all sounds).

<comment><USER6> We're currently working on documentation. I assume you're talking about the reflection section? There's issue [https://github.com/JuliaLang/julia/issues/2886](https://github.com/JuliaLang/julia/issues/2886) open about that and it will probably be addressed by the end of the week (since it's tagged for 0.2).</comment></comment>


Show HN: A free private (secure) journaling app with sharing functionality - <AUTHOR> https://github.com/inoda/private_journal <comment><USER2> really nice idea, except heroku recommendation

it's another cloud platform that you have to trust, so it'd not be true that "you really own your data"

<comment><AUTHOR> Yeah that's a good point. I thought the data encryption made it "safe enough". I also wanted to strike a balance between nice security features and ease of use.

I am definitely no expert at security. What hosting would you recommend?

<comment><USER2> penzu.com claims to encrypt diaries as well. the real problem that you will have to "trust" them. Diaries usually contains user's most private and sensitive data.

IMO, the best model is to encrypt the data locally on your device, WITHOUT relying on a remote javascript software in a webpage to encrypt data, then sync already encrypted data to some server.

Some tools that may fit for ecnryption: PGP/GnuPG , SQLcipher.

Some tools that may fit for syncing your data: syncthing, megasync, any other cloud provider sync API.</comment></comment></comment>


Zoom 5 comes with GCM encryption on all platforms - <AUTHOR> https://blog.zoom.us/wordpress/2020/04/22/zoom-hits-milestone-on-90-day-security-plan-releases-zoom-5-0/ <comment><USER2> stupid question, what exactly does this mean in practice? that all video calls are end-to-end encrypted now?

if that were the case, it seems like they would have made a bigger announcement out of it</comment>


The Pmarca Guide to Startups: product/market fit - <AUTHOR> http://pmarca-archive.posterous.com/the-pmarca-guide-to-startups-part-4-the-only

<comment><USER2> Thanks, now I have to see if he's actually quoting my Brother or if there is another "Tim Shephard" out there. :-)

"Finally, to quote Tim Shephard: "A great team is a team that will always beat a mediocre team, given the same market and product.""

</comment><comment><USER3> I think this is one of the single most valuable lessons any startup can learn. Having been a founder of 3 or 4 startups, and learnt from successes and also from failures, I cannot emphasise enough how important product/market fit and timing is.

Incidentally - this comes from a blog post he actually wrote some time ago that's been republished.</comment>


Ask HN: Which is your favorite book on the French Revolution? - <AUTHOR> <comment><USER2> Easily "Citizens: A Chronicle of the French Revolution" by Simon Schama

</comment><comment><USER3> A Tale of Two Cities, fiction by Charles Dickens</comment>