Nemex – A tiny app that helps you to track and curate ideas and projects - <AUTHOR> http://beta.nemex.io/

<comment><USER2> There's some negativity in the early comments here, but I'd like to applaud the effort of making this a dead-simple self-hosted, FTP-friendly solution. We need more experiments around federated self-owned networks which are appealing to end users.

Is the code hosted somewhere on a VCS?

</comment><comment><USER3> A fun idea, a perfect name and I like the user experience. Take the advice about security and structure seriously, but you have something worth finishing here. Pop this up on GitHub, and I expect you'll find helpers with the code refactoring and feature requests.

</comment><comment><USER4> Great idea, great that you shipped, now improve, improve, improve. Put the code on github and let people file issues and pull requests. Yes, many things in the code can be cleaned up, but kudos that you got it out there instead of having it run on just on your personal VPS.

We need more dead simple-to-install open source webapps, especially with a modern look!

</comment><comment><USER5> The site looks nice, cool intro video and all - but when I tried it out locally (my PHP has "display_errors = on" and "error_reporting = E_ALL"), I saw error messages all over the place. "A session had already been started, ignoring session_start()" shows repeatedly, and various "undefined variable" / "undefined constant" messages. Not so pretty.

I too applaud the author for embracing the spirit of open-source; but I think now would be a great time for him/her to learn the super-basics of PHP (and programming in general) best practices. Develop with all errors being tracked and displayed! Don't use undefined variables or constants! Use tutorials / books that were written in 2014, not in 2003!

</comment><comment><USER6> After reading the site, I'm not really sure what this is.

<comment><USER7> Came back with the same feeling. My guess is that it is a self-hosted personal notebook of sorts that supports Markdown entries and photos. Maybe?

</comment></comment><comment><USER8> An idea. Okay so generally we can all agree that PHP is a very bad language, but you can use PHP to build great things too like ''dokuwiki'' for example.

So the idea is to package all the necessary parts of ''dokuwiki'' and make it installable by simply throwing or wgetting it into a PHP enabled dir. The first rule of software development is "don't write code, because there is already someone who solved a similar problem before you." Instead of writing a whole new blogging platform, see what you can build starting from a stripped- down ''dokuwiki''. Using the fs as the data store is a good pattern for usability.

</comment><comment><USER8> 1\. plz remove junk files from the zip file:

       inflating: nemex/php/zipProject.php
       inflating: __MACOSX/nemex/php/._zipProject.php   <---

2\. provide a real download link --- I want to copy paste and wget from my server but when I right-click copy link I got [http://beta.nemex.io/#download](http://beta.nemex.io/#download) ... I had to manually deduce the correct url is [http://beta.nemex.io/php/download.php](http://beta.nemex.io/php/download.php) ...

<comment><USER9> Is there a tool that automatically strips this? I keep finding this in Wordpress plugins and themes I download...

<comment><USER8> On the command line, this should work for tgz:

        COPYFILE_DISABLE=1 tar cvzf release.tgz file1 dir1 dir2 ...

or for zip:

        zip -r -X release.zip  folder_to_compress

via [http://unix.stackexchange.com/questions/9665/create-tar- arch...](http://unix.stackexchange.com/questions/9665/create-tar-archive-of-a- directory-except-for-hidden-files) and [http://coolestguidesontheplanet.com/how-to-compress-and- unco...](http://coolestguidesontheplanet.com/how-to-compress-and-uncompress- files-and-folders-in-os-x-lion-10-7-using-terminal/)

</comment></comment></comment><comment><USER10> Looks like HN traffic overwhelms once again - I'm getting a 503. The cached copy isn't particularly helpful since many of the main site images don't display.

<comment><USER11> We are back, does it work for you?

</comment></comment><comment><USER11> [http://neonelephant.de/webprinter.html](http://neonelephant.de/webprinter.html) <\- Use this tool to send feedback :)

</comment><comment><USER12> > nemex doesn't need a database. This means that you can easily download the > zipped package, fire up your ftp-client of choice and copy the files to any > directory on your web server. As soon as you successfully uploaded them, > navigate to the /projects folder and set the permissions to 777. Open > config.php in your nemex-folder and change USERNAME and PASSWORD to anything > you want.

Ugh.

<comment><USER11> What's wrong with that?

<comment><USER13> He doesn't like it. Me neither. 777? Too liberal, really not needed. Username and password on a configuration file? Ugh.

<comment><USER14> The app needs write access to the /projects folder. Many shared hosts need 0777 because PHP runs as a different user than FTP. If you know what you're doing, you can always set it to the minimum required permissions.

What's wrong with the username and pass stored in a config file? Almost all PHP apps store their database credentials in a config.php as well.

<comment><USER15> I don't get it. 0777 is already the broadest permission you can give. So what is this minimum required permission?

I haven't done much FTP or shared hosts since, maybe, 7-8 years, but I remember Wordpress has the same 0777 is bad practice for many years and hasn't changed.

777 is never a good option.

[1]: [http://codex.wordpress.org/Changing_File_Permissions#Shared_...](http://codex.wordpress.org/Changing_File_Permissions#Shared_Hosting_with_suexec)

Anyway, these days, for a couple dollars you can have a really really good cloud hosting service.

</comment></comment></comment></comment></comment><comment><USER16> I've been having a change of heart when it comes to PHP recently. This kind of projects is exactly what PHP is for and is perfect for it. As ruby dev, before you start you need to do so much hand-waving that it kind of kills the joy of creation.

So congrats for this project and this messy creative code.

</comment><comment><USER17> Thanks for using video in place of GIFs!

</comment><comment><USER18> Great project. I'm definitely going to give it a shot as a Raspberry Pi hosted thing.

One comment on the site though - it would be really cool to be able to see a demo. I get a good vibe from the description/images, but a demo site would be great.

</comment><comment><USER19> The site is officially broken from an overload of HN requests.

</comment><comment><USER20> I think it may be a good thing, but all these boggy unrequested animations are destroying my eye. Where is the play button? I don't want animations!

</comment><comment><USER21> I like the idea and can't wait to try it. I was using Evernote to track down projects, but this one might be a better fit! Thanks!

</comment><comment><USER22> This looks cool. I wonder if it could be made to run on Heroku? I gave up my personal server awhile back to run everything virtually.

</comment><comment><USER23> "As soon as you successfully uploaded them, navigate to the /projects folder and set the permissions to 777."

</comment><comment><USER21> Can't upload images unfortunately. Something goes wrong with the session.

</comment><comment><USER24> I can't get it to upload any images, from either mobile or desktop.

</comment><comment><USER11> Servers should be back shortly ._.

</comment><comment><USER25> You guys are douchebags for shaming his ambitious effort. This tool is awesome in concept.

<comment><USER26> If all that was presented was effort and concept, it would be (mostly) praised. What I see people criticizing is the _end result_ produced so far. Presenting criticism is not being a "douchebag".

</comment></comment><comment><USER27> I have just downloaded and started using the "app" 10 minutes ago. It sounds like an app I have been searching for for a long time. After downloading I checked the codebase, as I usually do with every open source project I consider using - I have to agree to the other users: The code is really messy. I would suggest you to rewrite the whole app using an object oriented approach and dividing between HTML- and PHP-Code. Probably you can make use of something like Twig[1]. Do not create a file for every function of your system: Create a class for every object like "Dashboard", "Project" and "Node", then write an API to make their methods accessible from your apps javascript parts.

After checking out the code and realizing that it might have just been written by a beginner, I "installed" it locally: From a users point of view I have to say it is exactly what I need. I am able to post small snippets (called "nodes") to a project (kind of a category/idea). Thats all. Drag & Drop works - awesome. The design is simple but really neat! However to make this system perfect for me it needs to implement multi-user functionality, where I can chat with my friends about our current projects.

I think I would give this project another try, when you were able to refactor the whole code basis and add multi-user functionality.

Good luck anyways.

PS: This post lead me to create a HN account.

[1] [http://twig.sensiolabs.org/](http://twig.sensiolabs.org/)

<comment><USER28> You won't use it until the code is refactored? If it works, who cares if it is a mess and was written by a "beginner".

<comment><USER27> I care. As I am a developer I like to understand what the code does. If they would refactor this project to use 3-4 classes and a coherent structure it would make their code easier to overview and maintain. I prefer the mix of a beautiful UI, a meaningful UX and a powerful codebase.

<comment><USER29> As a developer I challenge you to understand what it does - and how- even though it's messy.

</comment></comment></comment></comment><comment><USER30> Oh god, the code is awful

<comment><USER31> Unescaped user input which reads/writes/etc to the filesystem. Intermix of PHP4/5 all over the place. Zero separation of presentation and business logic. It also has code which references a MySQL database and missing library files.

Can we just all collectively downvote this and/or change the title to "Daily WTF: ..."

<comment><USER32> Someone clearly made a project that works for what they want, so shame them? I'm pretty sure HN is supposed to more about learning and growth than about putting others down to show off your pre-existing knowledge, discouraging them from growth or discouraging others from helping them grow.

Your "criticisms" aren't even valid criticisms, they're hyperbolic. _Zero_ separation of presentation and business logic? I looked at the code. Zero separation means everything is in one file. Yes, the author _mixes_ presentation and logic in many instances, but where is the presentation code in the file node.php? Oh, look, some business logic is separated to its own file, just like one would expect with "zero separation". Seriously, why should we throw a hyperbolic insult that doesn't even address the problem? I can't think of any good reason to be destructive here.

EDIT: After discussing this more in replies, I found the guidelines for Show HNs. It looks to me like these comments violate the guidelines for Show HN comments. If HN is going to be comfortable place for people to share their work, this shit needs to stop. Every time I see shit like this I think about how little good it does to post a Show HN unless you already have a business behind the project. Even when there's low-hanging-fruit that one could easily help with, some "rockstars" would rather make insults than contributions.

[https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

<comment><USER31> You point out one example where it's somewhat separate and I can point out many where it's not. I can also point out numerous massive security flaws, utterly unused code, the obviously unprepared .DS_Store shit, and code which attempts to load missing libraries and SQL inserts when it's blatantly billed as "no database required"

This isn't some arbitrary work-in-progress "Show HN" project. It's being released and advertised as a fully working product which is quite the polar opposite, absolutely filled with security holes and should be approached with serious hesitation before someone were to actually utilize it.

I'd also argue every single one of my criticisms is incredible valid and hardly hyperbolic.

<comment><USER32> >You point out one example where it's somewhat separate and I can point out many where it's not.

That's great. You SAID "zero". And you pointed out zero examples to defend your statement. I pointed out one example that completely invalidates your statement, which is all that is needed. Because 1>0\. Here, let me help. "Your application doesn't do a good job of separating business logic and presentation." Was that hard? I didn't say anything hyperbolic, I didn't recommend downvotes or call his application "WTF" in that statement. It WAS NOT HARD.

>I can also point out numerous massive security flaws, utterly unused code, the obviously unprepared .DS_Store shit, and code which attempts to load missing libraries and SQL inserts when it's blatantly billed as "no database required"

Did you do that, or did you try and insult the author? I see others in this thread pointing out specific issues that will help the author. You can't do that? Or is the author not worthy of your help, but somehow IS worthy of the time you spent to insult the author's project?

>I'd also argue every single one of my criticisms is incredible valid and hardly hyperbolic.

Sorry, but if you say "zero" and it's not true, that's hyperbole. It's either hyperbole or it's not, there's no such thing as "hardly hyperbolic." You exaggerated and you knew it was an exaggeration, OR you thought you were making a true statement. Either way, wrong.

[http://dictionary.reference.com/browse/hyperbole](http://dictionary.reference.com/browse/hyperbole)

My point is you are not offering anyone anything. Who do you help by insulting the author? The author? Or do you think you're protecting the world from bad software?

BTW, here's the rule I think you're violating:

>When disagreeing, please reply to the argument instead of calling names. E.g. "That is an idiotic thing to say; 1 + 1 is 2, not 3" can be shortened to "1 + 1 is 2, not 3."

One could argue I'm breaking the same rule in arguing with you, though...

<comment><USER33> Sorry but I have to agree with meritt here. This a SHOW HN, and the project is not ready at all.

Even if one disegards bad architecture,the project suffers from too many security flaws. The creators should have a look at [http://www.phptherightway.com/](http://www.phptherightway.com/) which is really basic guidelines for any modern PHP project.

PHP suffers from bad rep because of developpers that clearly dont know what they are doing. They have client-side skills for sure.

But i would feel totally embarassed if someone linked to something i've made and that would look like the source code.

I'm not saying i'm a PHP "rockstar". But there are channels where beginners can get code reviews for free (IRC,reddit,...) before making a project official.

They need to find a proper developper

<comment><USER30> This ^

</comment></comment></comment></comment></comment></comment></comment><comment><USER34> dat XSS: [http://yournemexurl/nemex/index.php?view=%3Cscript%3Ealert%2...](http://yournemexurl/nemex/index.php?view=%3Cscript%3Ealert%28%22XSSTEST%22%29;%3C/script%3E)

Looks like it was written by designers...

<comment><USER15> This is ridiculous.

1) please find a better way to inform the app developer security vuln

2) please don't stereotype or discriminate designers. There are designers that are way more conscious and way more knowledgeable about general web security best practice than many of the HN readers here. Professional sites like Google can have XSS. Don't be one of those ignorant thinking XSS is easy to solve. I bet you just created a new account so you can tell the world how much you think designers are incompetent regarding web security best practice. I bet you are also incompetent showing your true identity.</comment></comment>


You can't debug distributed systems with dashboards - <AUTHOR> https://read.acloud.guru/why-you-cant-effectively-debug-your-modern-systems-with-dashboards-57fe3ecd26bf <comment><USER2> Yeah, I'm sorry, but this is ridiculous clickbait written by hipster sysengs using fringe architectures to generalize about a gigantic range of complex systems and saying "all you need to do is sample some logs, guys, why are you still using dashboards".

You know what solves ops issues? System visibility connected to automation designed to diagnose root causes and provide simple solutions to common problems. Serverless adds extra complexity and points of failure, but that doesn't mean "you can't debug distributed systems with dashboards". Give me a break.

<comment><USER3> I clicked on that link ready to experience a revelation that was going to change how I debugged infrastructure problems.

I came away with nothing. I got nothing out of this article. I have re-read it twice now hoping that I was missing something, or had failed to understand some point.

<comment><USER2> The only point was that distributed tracing apparently solves all problems.

</comment></comment></comment><comment><USER4> You can if your loggung structure is uniform, and includes a correlation ID. This happens every day... pretty simple actually.

<comment><USER5> Sounds simple. Unfortunately, having uniform logging structure in a non- trivial project is about as likely to happen as winning the lottery.

<comment><USER6> ...only if you view software development like gambling. All problems can be methodically addressed; fixing log formatting is actually rather easy to track down.

<comment><USER5> Yes, in your own code, it is easily fixed... With third party code, like dependencies, it becomes more of a problem...

<comment><USER6> That's true. But you only need to re-format the events you care about from that dependency.

<comment><USER7> That's still a non-trivial problem, depending on how easy it is to adapt logs from a library; maybe with a proper logging facade, it's easy to attach those adapters to those logs, but I suspect most libraries don't have strong contracts around the formats of their logs, as it is. Maybe that's something to improve.

</comment></comment></comment></comment></comment></comment><comment><USER8> Console logging is the easiest but least effective method of debugging. Some people refuse to call it debugging because they believe a debugger or diagnostic tools are involved with the act of "debugging" (vs troubleshooting?)

Distributed systems mean you have to fall back to the most basic form of debugging.

You had better be getting something really good for that bargain. You've nearly permanently compromised your ability to reason about obscure bugs in the system in order to have it, so be sure it was worth it.

<comment><USER9> You need to take that basic form of "debugging" and turn it into instrumentation. Collect structured data and build tools to process it. Once you have a nice collection of data you can build profilers and execution traces, things classical debugging tools provide.

I've done it and the tools can work quite well. The same consistent instrumentation of your code also makes it easy to build really great dashboard monitoring.

All this time building tools costs money and adds complexity to your stack, so, yes, distribution had better be worth it for your business needs before you take it on. Pretty much like any engineering trade-off.

<comment><USER10> Do you mean something like this? (Rookout.com) [https://youtu.be/bAxNWg6QYL8?t=62](https://youtu.be/bAxNWg6QYL8?t=62)

</comment></comment></comment><comment><USER6> What's the pricing for the pitched product?

<comment><USER11> $70 per month and up, based on GB/day transmitted.

[https://www.honeycomb.io/pricing/](https://www.honeycomb.io/pricing/)

</comment></comment><comment><USER12> I'm still wating for the day when these products use serverless-pricing too.

<comment><USER13> With CloudWatch you can literally do everything the article proposes just by sending your logs there - you get easy to create dashboards and alerts.

<comment><USER12> Nice, thanks for the info :)

Maybe I should to a course on CloudWatch. Seems like a powerful tool, but a bit convulted at times...

</comment></comment></comment><comment><USER14> Such a massive unscrollable top bar that I had to open my browser's Dev Tools and remove it from the DOM it before reading the article.</comment>


China's Genetic Research on Ethnic Minorities Sets Off Science Backlash - <AUTHOR> https://www.nytimes.com/2019/12/04/business/china-dna-science-surveillance.html <comment><USER2> At a certain point it seems asking "So what?" needs to be done. The ethical reasoning is obvious and as old as Nazi hypothermia research. But China has a billion people whereas the Nazi regime was defeated, what does isolating their research matter if ours is still accessible to their researchers? Eventually, if corruption is successfully reigned in, they'll have answers we don't to questions we can't ask. And then what? It's easy to be judgemental while we feel like we're not disadvantaging ourselves.</comment>


Telefónica Digital buys WebRTC and video chat expert Tokbox - <AUTHOR> http://gigaom.com/video/telefonica-buys-tokbox/

<comment><USER2> In my experience as a Telefonica customer, the company is incapable of leveraging innovation. For example, in Argentina , the 3G service provided by Movistar is unusable.

<comment><USER3> It doesn't surprise me. Private companies won't invest in infrastructure if they do not expect a reasonable economic return from such investment. Argentina, for the past 10-12 years is known for being a source of problems to foreign companies and investors. Be it telecom, banking, energy, infrastructure or even Government issued securities.

Foreign companies in Argentina have been wary of capital investments in the region primarily due to high barriers to dividend repatriation, currency volatility and political uncertainty.

<comment><USER4> May be; but there are other companies in latin america that offer a decent G4 connection now; one of them being "Claro", a big one owned by Carlos Slim (Telmex/richest man in the world according to Forbes)</comment></comment></comment>


Ask HN: Researcher vs. Engineer - <AUTHOR> After a Ph.D. in CS and three years of postdoc, I realized that academia is not for me. However I love doing research. Now I've to choose between begin an industrial researcher or an engineer.
On the one hand, I'd like to be a researcher working on open problems but I'm afraid that industry won't give me the freedom of publishing/working on interesting problems. On the other hand, engineers deal with well defined concrete problems but I'm afraid that it won't be as stimulating as doing research.
Have you ever found yourself in a similar situation? Any suggestions? Thanks. <comment><USER3> I picked engineering. Because doing research in industry is not as stimulating as it is in an academic setting. You do not have complete freedom - <USER2> times your project is set and you are just exploring new pathways your director asked you to....

The role of the engineer has more freedom to experiment different protocols/methods and apply their work more readily against the problem at hand.

In short: Research in industry: find different ways to potentially solve problems - & often times your work gets tossed away if something else comes up. => not as gratifying. (also less pay)

Engineering: solve the problem. => instant gratification.

<comment><AUTHOR> Don't you miss writing papers, giving talks, or attending conferences?

<comment><USER3> Yea, but I don't miss begging for grants, & headaches around funding. With Engineering you get to enjoy life more. You get to pick your poison...</comment></comment></comment>


Hypothesis 1.0: A property-based testing library for Python - <AUTHOR> http://lists.idyll.org/pipermail/testing-in-python/2015-March/006348.html <comment><USER2> This library is awesome, I am a massive fan of randomized and quick-check style testing. This type of testing has for me found so many bugs its surreal.

I love the fact that hypothesis is a proper quickcheck and not just the fuzzing part, and that the author has a crazy stack-based-vm-language-testing thing project that might be useful.

I have been using this library with py.test for 6 months now and its been a godsend.

If I ever meet the author I would buy him beers.

<comment><USER3> Thanks so much for the kind words!

The best part of this message is that if you were someone I knew and thus could trust to only say nice things about me you would offer to buy me gin instead of beer. ;-)

<comment><USER2> Gin is fine, prehaps meet at a pycon one day :P

</comment></comment></comment><comment><USER4> The search strategy is described in the docs [1]. I wonder if they could capitalize on the algorithm NIST uses in their ACTS software [2]? It's great for maximizing time spent testing parameters in N different dimensions.

[1] [http://hypothesis.readthedocs.org/en/latest/details.html#sea...](http://hypothesis.readthedocs.org/en/latest/details.html#searchstrategy- and-converting-arguments) [2] [http://csrc.nist.gov/groups/SNS/acts/](http://csrc.nist.gov/groups/SNS/acts/)

<comment><USER3> This looks super interesting and I'll check it out when I'm not doing release management stuff, thanks!

If you haven't seen it, [http://hypothesis.readthedocs.org/en/latest/internals.html#p...](http://hypothesis.readthedocs.org/en/latest/internals.html#parametrization) describes the current algorithm for generation. It's smarter than is typical for quickcheck, but could definitely be improved.

</comment></comment><comment><USER5> Might be more useful pointed [here][1], perhaps?

[1]: [http://hypothesis.readthedocs.org/en/latest/](http://hypothesis.readthedocs.org/en/latest/)

<comment><USER6> Well, it _is_ a link to the "official" announcement, and the announcement directly links there, but I can see you point too.

</comment></comment><comment><USER7> GitHub [https://github.com/DRMacIver/hypothesis](https://github.com/DRMacIver/hypothesis)

</comment><comment><USER8> Interesting stuff. Can't wait to play with.

One immediate reaction from reading about things like "@given(float)... def testFun(x): ... assume(not isnan(x))..." \-- I immediately would prefer to decorate/document my functions (that could be test functions, but more generally my "real" functions) with these pre-/post- conditions and assumtions, and generate the tests, something like:

        @assert(idempotent) #(inv(inv(x))==x)
        def inv(x):
          "Return -x"
          @given(float):
            @assume(not isnan(x))
          return -x

Typing this out, I can see why they go in the tests (avoids going down the rabbithole of creating a partially typed version of python...) -- which is why @assume(float) isn't on top; it'd imply inv didn't work for integers. Maybe a weaker:

        @assume(not isnan(x)) #implies x is number, but not nan
        @idempotent # inv(inv(x)) == x
        def inv(x):
          return -x

Now it should be possible to infer that inv(x) should be checked with numbers, and that it is idempotent. Might be a weak test unless one can specfify a few other things - but maybe such pre/post "hints" could be combined to make better short tests? Eg that one could give a different expression to check against rather than the function itself: def test_inv(): assert(inv(x), lambda y: -y)?

At any rate, interesting framework.

<comment><USER9> I don't think that's what idempotent means. The only way f can be idempotent when f(f(x)) == x is if f(x) == x. (This implies that f is the identity function).

The property that makes the function idempotent is that successive application produces the same result as initial application: f(f(x)) == f(x).

<comment><USER8> You're right, of course. I typed that on my cellphone, and were a little quick looking up alternatives for @double_application_turns_this_into_an_identity_function -- that made more sense, and was a little more succinct.

Maybe @left_inverse would be more appropriate? It's been a while since I had to classify functions.

<comment><USER10> If you're curious, the math-y term for an operation that is its own inverse is _involution_. I don't know that I've ever heard the word in a programming context, but there it is! :)

<comment><USER8> Thank you! A quick look through my bookshelf reveals that out of four books on discrete mathematics, only one contain _involution_ in the index: and there it is mentioned _once_ in a supplementary exercise... I guess that explains why I couldn't seem to recall a term for "self-inverse" [ed: No, that's wrong to, lol. Lets just stick with _involution_ ].

<comment><USER10> The word "involution" finds more use in analysis and algebra, where self- inverses have more interesting (often geometric) properties. The only interesting property I can think of in the context of discrete mathematics would be that if S is a finite set and f:S → S is an involution then the parity of |S| is equal to the parity of the fixed points of f.

That is,

        |S| ≡ |Fix(f)| (mod 2)

where Fix(f) = {x in S : f(x) = x}.

</comment></comment></comment></comment></comment></comment><comment><USER11> Is this similar to Mutation Testing, where the code being tested is mutated, in order to identify unspecified behavior?

Mutant is a Ruby library for this: [https://github.com/mbj/mutant](https://github.com/mbj/mutant)

<comment><USER3> No, it's much closer to classic fuzz testing, where the test is held constant and the data fed to it is varied. I've been meaning to see if I can figure out a way to use mutation testing to feed into Hypothesis, but it's on the long list of things I'll try "at some point"

<comment><USER12> could you use something like recently open sourced z3 to assist in finding minimal examples? ([http://en.wikipedia.org/wiki/Concolic_testing](http://en.wikipedia.org/wiki/Concolic_testing))

<comment><USER3> This is also on the "at some point" list. :-)

Concolic testing is quite hard in Python because of its extremely flexible semantics. I will probably look into doing _something_ with z3 at some point when I need an interesting problem to entertain me, but I don't hold out a massive amount of hope for it being useful.

</comment></comment></comment></comment><comment><USER13> This is a very awesome library. I am attempting to integrate it into the test suites of my various projects this past week and the author has been more than helpful, even when I filed bug reports that turns out to be issues in my own code.

<comment><USER14> Slightly OT ramble ahead :)

> even when I filed bug reports that turns out to be issues in my own code.

Every time I've used or built a property based testing system I've had problems when starting because there's something broken in it. This has then turned out to be an actual bug in the system being tested.

Building a quickcheck style tester in AS3 drove me nuts at one point before finding out that the conversions between strings and floating point numbers has a bunch of weird issues. There are some obvious ones, but then also things like certain numbers convert differently if you add a trailing zero (so 0.7362856270 is turned into a different number to 0.736285627 and 0.73628562700). So my little "decode(encode(x)) == x" test example broke!

My favourite thing that it found was in a menuing library we were building (and why I built the tester). I set it up to test a library by making library calls that a developer might make and test various properties of the overall menu (all elements reachable, for some if you move left then right you're back on the same item, etc). One property was that if there was at least one item in the list and the list had focus, then one item in that list had focus. This was found to be broken by starting with only one item, removing it and adding a new one (reduced test cases are incredibly useful).

That's a fairly boring bug, but the interesting thing (to me) was that when I fixed it my unit tests broke. I had an explicit test to ensure that this behaviour was happening, and I'd also written it down in my spec for what should happen.

The testing tool forced me to consider higher level things of what should be true and drove out an inconsistency in my library. It's a 'bug' that would have bitten me many times, but rarely enough that it would probably have regularly ended up going live.

<comment><USER3> > Building a quickcheck style tester in AS3 drove me nuts at one point before > finding out that the conversions between strings and floating point numbers > has a bunch of weird issues. There are some obvious ones, but then also > things like certain numbers convert differently if you add a trailing zero > (so 0.7362856270 is turned into a different number to 0.736285627 and > 0.73628562700). So my little "decode(encode(x)) == x" test example broke!

I have in fact had to deal with exactly this problem in Hypothesis internals. The example saving code didn't work correctly with floats in the first edition, because it was serializing them as JSON, which loses some information encoded in the actual float. In the end I serialize floats (which are actually doubles) by converting them to a 64-bit integer with the same bitwise representation first.

The bug aryx is talking about though actually illustrates an amusing feature of Hypothesis, which is that the code in it is just weird enough that it tends to do unexpected things that trigger bugs which have nothing to do with the properties being tested. :-) In this case it was putting unicode objects onto sys.path, which is 100% allowed but causes problems for certain code running on python 2.7 on windows that previously appeared to work.

<comment><USER14> > I have in fact had to deal with exactly this problem in Hypothesis > internals.

Hah, wonderful. It's a great example of how this type of testing can really dig out odd bugs. Once you've tried property based testing, I think you never really trust things quite the same :)

> The bug aryx is talking about though actually illustrates an amusing feature > of Hypothesis, which is that the code in it is just weird enough that it > tends to do unexpected things that trigger bugs which have nothing to do > with the properties being tested

Nice :)

Thanks for releasing this library, it's great to see more work being done in this area. There are usually a few random testing libraries floating about but adding things like minimisation (and I'm still reading through the templating & other new stuff) really makes it stand out.

The API testing example in particular actually comes at a perfect time for me, so it'll definitely be getting some use.

<comment><USER3> > Once you've tried property based testing, I think you never really trust > things quite the same :)

Oh god, tell me about it. So far I've hit 4 pypy bugs, 3 cpython bugs, two pytz bugs (one caused by a cpython bug), and I've learned far more about the edge cases of the language than I ever wanted to know.

Lets just not talk about the number of bugs I've found in Hypothesis itself in the course of testing bits of the system I was sure worked perfectly.

</comment></comment></comment></comment></comment><comment><USER15> This is awesome! And it comes right as I've been getting my feet wet with Haskell (and property-based testing).

It was really easy to get up and running with a simple test: [https://github.com/ecordell/pymacaroons/blob/property- tests/...](https://github.com/ecordell/pymacaroons/blob/property- tests/tests/macaroon_property_tests.py)

and I'm excited to use it in more places. Though I'll have to configure tox/travis not to run hypothesis tests on Python 2.6.

<comment><USER3> Cool! I've added a comment to your commit as I think you've made a mistake in the strategy setup, but it looks good as a test.

Sorry about the lack of 2.6 support. I looked into it and I could probably do it but I just don't care enough about 2.6 to put in the work and make everything uglier. :-)

</comment></comment><comment><USER16> I love this library and like others, was a god send. one thing I want to try is use the lib with the python mock lib to mock services that can return randomized data of some kind.

</comment><comment><USER17> I read about QuickChck over 10 years ago in Uni, I was just reintroduced to property based testing this week in HelsinkiJS meetup and now this Python implementation hit Hacker News.

Question: most of my backend code is rather dull CRUD and business logic code. Are there good tutorials about randomly generating objects with a few of fields and relationships between them and testing business logic using hypothesis?

<comment><USER3> Have you seen [http://hypothesis.readthedocs.org/en/latest/examples.html#fu...](http://hypothesis.readthedocs.org/en/latest/examples.html#fuzzing- an-http-api) ? It doesn't test very much - mostly just that the API doesn't produce a 500 error - but it's a decent example of how you can generate structured data with some constraints. [http://hypothesis.readthedocs.org/en/latest/examples.html#co...](http://hypothesis.readthedocs.org/en/latest/examples.html#condorcet- s-paradox) is also a decent example where the data is more uniform but requires a bunch of massaging to satisfy the constraints.

</comment></comment><comment><USER18> Thanks for a great library, can't wait to use it.</comment>


Ask HN: Work-life balance? - <AUTHOR> How many hours do you work every day? How many hours do you spend with family? How do you manage health? Any productivity tricks you wish to share? <comment><USER2> Midlife single parent, so my answers are going to look a lot different than the average HN reader.

I average 40/week. Some weeks I need to surge, rarely I need to work weekends, but my ability to put in long hours is capped by my home situation (and my desire not to be a workaholic).

I wake my kids and get them ready for school each day. Sometimes they need homework help. We eat dinner together every night, and of course I have them all the time so we get to spend time together regardless of whether we want to. :)

I do strength training at the gym 2x/week, before the kids wake up. I run 3x/week, again before they get up.

I am as productive as I am required to be, but often no more productive. Meaning that the demands of life force productivity on me but I don't go crazy with the extracurricular activities.

I do spend time each day thinking about what my most important tasks are, just to make sure I'm making the best use of my time. I don't let other people take over my calendar, but I work for a small company so we're not meeting-heavy anyway.

All things considered, I am doing fine. I am fortunate to have understanding coworkers, good friends, and two really wonderful children.

<comment><USER3> How much sleep do you get?

<comment><USER2> Depends. On weekdays 6-7, I try to eke out 8 on weekends. To be honest, some days I just nap on the couch for 20 mins before I have to make dinner.

</comment></comment></comment><comment><USER4> I work 8-5 as a software engineer (incl. lunch so only 40 hours a week) plus a short ~15 minutes highway commute each way. If there's an accident though that could easily be an hour, it's a congested area and there aren't many alternative routes. It's a crap shoot unfortunately but rarely an issue. My SO is a resident physician so averages 80 hours a week Mon-Sat. My "family" time is largely dependent on her schedule and I work in other things as I'm able.

For health, gym at 5:30am 4 days during the work week and an occasional Saturday workout. I try to eat healthy but not to the point where I'm not looking forward to a meal. Cooking for my SO is also a big stress reliever after a long day or if she's about to start a 24 hour call shift or something.

Productivity wise, I'm personally a fan of the "Nike" approach: just do it. If you're at work, do work. Don't sit on HN or Reddit or Facebook. If you need to use RescueTime or change your hosts file or whatever, fine. But just doing what you're supposed to be doing when you're supposed to be doing it is about as crucial a piece of the puzzle to your success as you'll ever find.

<comment><USER3> What kills me at work is down time. Better to be on HN than just watching a half hour build ...

<comment><USER5> There is always so much to do, or to learn how to do, that I never really have downtime... except foosball

<comment><USER4> There's an important distinction between "taking a break" (e.g. playing foosball for a few minutes) and true downtime (I wouldn't be doing work right now even if I wanted to, because I don't have anything to do).

</comment></comment></comment></comment><comment><USER6> I'm a 29 year old freelancer / digital nomad, been traveling and doing high- profile tech contracts for last 5 years. I go with the flow. It really depends on the contract and what's currently going on in my life, or where I am.

Last summer I was in Europe and I've been working 10-12h per day in August (my peak month so far). June-November approx 4-6 hours a day.

Now I'm in Koh Phangan, Thailand and work few hours a month, but fully focusing on healthy lifestyle and training/meditation.

In April I go back to Europe and plan is to grind hard for the next few years. I work in bursts. My routine when I work full-time is having breakfast at my place or a coffee shop and working from there in the morning, hitting the gym around noon, then more work at home/another coffee shop, and unwind during the evening.

There are exceptions to this, if I don't feel productive in the afternoons, I postpone work for evening. I again tend to feel the "flow" of my mental productivity and organize around that. Never had any strict rules and it's been working pretty fine so far.

<comment><USER7> Where are your clients based mostly? What hours do you work in Thailand?

<comment><USER6> USA, had few from bay area as well. I work in the mornings or just read the news and learn some new things since I am more-or-less on holidays now and will start looking for full-time contract more actively soon.

Timezone difference (+13h) can be PITA.

</comment></comment></comment><comment><USER8> Yeah, I've been in the hospital twice in the last 2 years thanks to the stress of running a company and obsessing about being productive. I've made lifestyle changes and they've not only made me more productive but also healthier physically and mentally.

Lifestyle changes:

      - Live near work to avoid traffic
      - Work around 35 hours a week
      - Don't take my work home
      - Don't even think about work on weekends
      - Do things that make me happy and unrelated to work
      - Don't stress about attending every tech meetup
      - Moderate alcohol consumption. Used to drink everyday
      - Exercise but don't obsess about it
      - Understand building a successful company takes years of work
      - Therapy. Don't need it as much anymore but I check-in on a monthly basis
      - Constantly remind myself that Health > Happiness > Work

Usual routine goes like this:

      - 6:00am: Wake up, make breakfast, shower, etc.
      - 7:20am: I'm at work at 7:30 am (10 mins commute)
      - 7:30am: Meditate 20 mins
      - 7:50am: Set objectives for the day
      - 8:00am: Get stuff done. (insert productivity tips here)
      - 3:30pm: Eat lunch
      - 4:00pm: Get home and relax
      - 4:30pm: 20 mins workout at home
      - 5:00pm: Spend time with my wife and disable phone notifications
      - 6:00pm: I may play the guitar, play videogames or watch some Netflix
      - 8:00pm: Make dinner, probably some new recipe I found on the internet
      - 8:30pm: Watch some TV show or read a book, or just chill
      - 10:00pm: Get to bed

EDIT: formatting.

<comment><USER9> You make dinner and eat it in 30 minutes? And that's for a new recipe? How is that possible? Or maybe I'm weird as it takes me at least a couple hours (cooking, eating, cleaning).

<comment><USER8> 30 mins is an estimate, but also they are simple recipes, 3-4 ingredients max. More complicated stuff I save it for the weekend.

</comment></comment></comment><comment><USER10> I work 9-5, 8 hours per day including lunch (I hate companies that try to squeeze an extra hour basically telling you that they don't pay for your lunch time, yet they require 1 whole hour for your lunch, forcing you to stay 9 hours in the office..). Sweden. I work 50% from home 50% from the office. When I work from home, I play once a week tennis nearby (I have a car) during lunch time. When working from the office, I go regularly to the gym before work. Sometimes I start my work from a cafe and then switch to the office or the opposite. After work, I will probably do a side project for a couple of hours and then spend some time with my SO and housework.

My tip would be to go to the gym just after work as it relaxes your mind a lot, especially if you are a developer. Unfortunately doesn't work in my case since my gym is fully packed at that time. So I take a half an hour break then walking outside or something similar before I jump in my side projects. Another tip would be to wake up and spend time on your side projects before starting your work (ideally if you can start a bit later as well) since your mind is working at 100% at that time. Of course this requires that you are a morning person..

</comment><comment><USER11> 30 days of vacation and I work only from 9 to 6, sometimes a little bit more, but not so much. Not really counted as overtime. Europe, ofc.

I go to gym and try to enjoy the summer as much as I can.

Productivity tips: organize your life and move to a decent country with a decent culture. American work culture is terrible, so is Asia. You can make 10 trillions of dollars, but there is no way you can buy the 30 seconds that it took me to write that answer. I think those bad ideas are contagious so if you live in America, it is very unlikely that you will be able to balance well your life as everything there is about consumerism and it will eventually get you, maybe more in the country side that might be possible, but I can't see that happening in a big city. Live a simple life.

Once you are dead, it is over, so enjoy your time.

<comment><USER12> On the other hand software engineering job in US pays a lot so you can do a (relatively) quicker home run to financial independence if you don't fall into consumerism.

<comment><USER11> Can you give me an example of somebody that did that? :-)

<comment><USER13> Mr. Money Mustache is the big name in the FIRE (financial Independence; retire early) community. But a lot of people doing FIRE are in tech in some way. I think it's a left brain thing, which people in software/tech have both the left brain mentality and financial capability to make early retirement happen.

Resources: [https://www.mrmoneymustache.com/blog/](https://www.mrmoneymustache.com/blog/) [https://www.bogleheads.org/](https://www.bogleheads.org/) [https://www.reddit.com/r/financialindependence/](https://www.reddit.com/r/financialindependence/)

<comment><USER11> I believe he makes more money from this than he was able to saved up. It is really a thing in America to believe in schemes that will make you rich/enable you to live off your investments. I know it.

Why retire early? I value being able to work. Not to mention that they generally talk about living frugal lifestyles, which I'm not a fan of. I like investing, making money etc. But all those retire before X schemes rely on people not understanding economics. Today you might have like 25x your yearly income or something that would enable you to retire, but as inflation, new currencies and changes in taxation and government policies, you will eventually get wrecked in the next 30-40 years. Just check how much the taxation in America has changed in the last 30-40 years and now try to believe that with your saved money you can live until you die.

<comment><USER13> > It is really a thing in America to believe in schemes that will make you > rich/enable you to live off your investments

Personally, I don't think living frugally is a scheme. Spending less than you make and resisting the urge to buy things you don't need are the basic ideas behind financial independence. Investing your excess income allows for passive income to be generated.

Obviously this isn't viable for everyone, but if you're in a position of highish income and don't mind living frugally for some years, it's amazing what you're able to save. Some countries that tax their residents very high amounts (ex: many European countries) it might be harder to get ahead, but still not impossible to save I'd imagine.

> Why retire early? I value being able to work

There's nothing wrong with that! But for people who are interested in retiring early, they may have other goals in life besides their career. Retiring early allows for travel while you're still young and healthy, volunteer work, etc. Loving your job is a great thing and I think it's possible to work towards financial independence and enjoy your work.

> Just check how much the taxation in America has changed in the last 30-40 > years and now try to believe that with your saved money you can live until > you die

I'm not sure how taxes relate to the ability of my investments to generate returns. Could you elaborate a bit more on this?

<comment><USER11> Saving is very important. I live in Europe, it is kind of mandatory, saving and working until you are 65. Even though I don't own a car or anything of value, mostly save in a city with good disposable income. I'm quite well versed in economics, read it actively. The way you describe it, clearly displays a weakness either on your thought, or the American financial system. If a random guy from a Internet forum can do it, possibly, a lot of Americans can do as well. Now, who is going to work to keep society running while your frugal lifestyle supports you? Not to mention I would feel a bit like taking advantage of others, if I would just wake up everyday and enjoy life meanwhile I have a gardner, one person to clean my swimming pool, buy everything on the supermarket(which was made by somebody), just getting services, but not using my fully capability in order to help society thrive.

About the American thing. The US has been printing a lot of money lately and there are many signs that this party will be over in a very bad way. People will riot, go to the streets, question why some developer at FB makes 400k+ year not to mention the executives doing some bullshit work, burn down things and in the end they will possibly need to make America more socialist. The same type of mockery and abuse the US does to socialist countries, will be done to its own capitalist people. You really don't understand the dimension of power the US has been using(and losing) over the years with the Dollar. Nowadays to be honest, almost everything I buy is from China, not the US. I wonder how the US can survive running huge deficits and creating conflict with other countries.

America nowadays just export dollars. It is a product that more and more people are with their hands full. Instead of questioning me about that, I think you would be better off asking your government how to make anything that you earn and save Today, will have ANY value at all in the future.

In summa, good luck with that.

<comment><USER13> > I live in Europe, it is kind of mandatory, saving and working until you are > 65

Who is mandating this?

> I would feel a bit like taking advantage of others, if I would just wake up > everyday and enjoy life meanwhile I have a gardner [sic], one person to > clean my swimming pool, buy everything on the supermarket(which was made by > somebody), just getting services, but not using my fully capability in order > to help society thrive

If you work 80 hours per week for 30 years, are you morally superior to someone who has only spent 40 hours per week working for 40 years? It's absurd and impossible to assign morality to time working.

Looks like you're asserting some sense of moral imperative that people work until they're 65. Moving the goalposts from a whether it's _possible_ to retire early to whether it's _moral_ to retire early seems to be nonsense to me. I don't believe there's any morality to be found one way or the other in working until age 65, it's a non sequitur.

> The US has been printing a lot of money lately [...] I think you would be > better off asking your government how to make anything that you earn and > save Today, will have ANY value at all in the future.

I completely agree; if we keep spending more than is taxed as well as printing money faster, then yes that will be the case. The debt is unsustainable in the US currently.

Where you and I differ is what we think the result of that increasing debt will be. I think the US will eventually cut social programs and possibly increase taxes to fix the debt problem. You seem to think that socialism will be the end result. I hope that isn't the case, as I have a hard time finding a situation where fighting debt with more debt works in the long run.

Thank you for taking the time to discuss with me!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> (US, Northern Virgina) it's taken me 15 years but now I work about 8 hours a day; sometimes I help with after-hours tasks related to my job but that's rare (roughly, quarterly).

I used to work 10-14 hours a day, plus 24x7x365 oncall. It was miserable and my health (mental and physical) suffered greatly.

Mostly now I lift weights, run, and try to practice portion control.

The only remaining bad thing in work-life balance is my 8 hours of work is bookended by perhaps an hour each way commute, and it's getting worse every year. In another year or two there's going to be more mass transit in my area so at least I can play games on my phone instead of driving.

<comment><USER4> NOVA's a gorgeous area though, I've done a few relay races through there and I'm always impressed at how nice it is.

</comment></comment><comment><USER15> I work about 8 hours every day. Sometimes less. Sometimes more, but never more than 40 hours in a week.

After work, I balance hobbies with family time. To be honest I have a harder time balancing hobbies with family time than I do balancing work and family.

Family mealtime in the evening is critical. It's the one constant every day, and it's a chance for all of us to talk and laugh together. It's usually the best time of the day for me. I try to persuade my daughter to help me prepare the meal too, which is fun to do together.

So for hobbies + family, on a work day it's anywhere between 3-6 hours.

I am generally healthy but should get more exercise. I play ice hockey about one day a week, every week of the year. At times I have felt like quitting, but I force myself to keep playing because without it I wouldn't get any exercise. I've learned that this 90 minutes of playing a sport is very therapeutic for my brain. I forget about everything in the world and just play. Nothing melts away a hard day at work like skating hard for 90 minutes and trying to pass and shoot (I'm a beginner).

My productivity tips: stop using social media, close/remove anything on screens that show popups or alerts, and get at least eight hours of sleep every night.

</comment><comment><USER16> Freelance developer, based in Europe. In my 30s, two kids and working from home.

I do work 4 days a week (+ 1 or 2 days a week working on my farm). Working from 8:30 till 4pm and having 1.5 hours break to cook for my familly and we eat together.

I guess my business hours looks short, but it consist of focused time only: no browsing web, no facebook, twitter or other social network, no calls and definitely no meetings.

Rest of my time is generaly spent with my family. I dont really do any exercise but I still manage to walk 10 a 15 kms a day + manual work on my farm.

<comment><USER17> Wow, 10-15 km/day. Do you walk in a park nearby or somewhere else? I barely do 1-2 km/day.

<comment><USER16> Yes, we do have nice park just outside our house and there is also forest with a lot of hiking trails in walking distance. I try to bring my kids out every day, our 2 years old can easily walk 10 km now. Also trip to grocery store is like 3km and I do shop every day. It adds up quickly.

</comment></comment></comment><comment><USER18> I run a boutique accounting services firm in the northwest--18 employees, <5mm in revenue. We do a fair amount of out-of-town work, which requires some travel.

I'm also married, a father of six kids, and we live out of town on 2.5 acres with a sizable orchard.

One thing that helps keep things balanced is that my wife chose long ago to stay at home with our young ones. She is my best friend, and we always make decisions together, which is a huge help when confronted with the inevitable time-conflicts that new opportunities or old problems present.

I enjoy my job. Frankly, my job is absent a lot of the drudgery that many people have. It is challenging, and while we're not the startup-crazy-growth type of business, we are slowly growing and there's always something new to be done. The worst for my family and for my health has been the travel. From August 2018 to December 2018 I was on the road 11 weeks out of 22; roughly half of the fall was spent out of town, working out of a hotel and customer locations. I ate too well and exercised too little, and missed my family terribly.

When I'm in town, I work from 7am to 5pm, but I have almost no commute--it takes me only 10 minutes on rural roads to get to my office. Deer and school buses are the only delays! It's much easier to eat healthy foods and exercise.

I haven't worked a Saturday or Sunday in years--even while traveling, I'm nearly always able to be home on the weekends. This has been a huge help in keeping me grounded and giving time to putter around the orchard and play with my kids.

</comment><comment><USER19> Pregnant wife and a toddler so my home time is skewed. Up before 6 to play with the kid, make breakfast, load of laundry, load of dishes, etc. Bus around 8:30, at work around 9. Work til 4:30, skipping lunch every other day. Then 30 mins back, errands, cooking dinner and finally relaxing around 6. Play with the kid til I put her down around 7:30 to 8:30. Hang out with the wife until she goes to bed around 10.

This is when my second shift starts. I pick up the kid's area, clean the kitchen, dishes, laundry, and whatever other stuff is left over. After that I do another 2 to 4 hours of work depending on when things are due, late to the bus, early to leave because of family stuff. In bed somewhere between 1am and 4am.

I keep track of my life in todo lists. Got a notebook and a pen within arm's reach at any given time. Zero Inbox/Bullet Journal/GTD my entire life, work and personal. I also naturally do sort of a pomodoro technique with everything. Breaking it down into smaller parts so I can cover as much space as possible. Cleaning the kitchen turns into two separate tasks (dishes, and cleanup) which I then inject 10 minutes with the wife or kid in between. It probably adds more time to my overall day, but I can't push their schedules later and I need to get work done so I can't push my duties to later either.

The other "trick" is I've never needed a lot of sleep so I can do stuff later at night once everyone is in bed. Sleep on the bus, or whenever I have a free moment.

My previous job was within biking distance so that was my health management. Now I have to ride the commuter bus so I'll have to figure something out once the 2nd kid comes.

</comment><comment><USER20> 8 Hrs max at the office, 5 days a week. Rest is mostly family and sleep.

I cut down personal projects to a minimum after reading "Why we sleep", and it helps with overall well-being.

Commuting via Bike is also a big health-win for me. One hour on most work-days (sometimes the temperature or other circumstances require the car).

<comment><USER21> Same here. Unless it's your own activity, you shouldn't work more than what's written on your contract.

If you work more, you get abused and low-balled by salary negotiations

<comment><USER4> There's a fine line of course. Just like you don't want to be the guy working 20+ hours of free labor every week, you also don't want to be the guy who is out the door at 5:00:01 every evening and not a second before or after.

I think most people in most jobs will have something come up where they do a little extra, if only to help out a team member or something.

<comment><USER22> I am the guy out the door at 5 every day, not a second later. There are too many open positions to not do so. I don't see it as a fine line, free labor is free labor whether it's a minute or 20 hours.

If I need to help a team member, I skip lunch to pitch in.

<comment><USER4> I don't think the number of open positions has anything to do with it. In fact, I'm much more likely to agree with you for low-paid position. Just about everyone here who isn't a student (and let's be honest, even some of the students) are extremely well compensated for important but relatively easy jobs. I don't mind 10 minutes here or 15 minutes there if it helps the team out (as opposed to the company).

I just think being unflinchingly rigid _in either direction_ is the problem. If you expect people to work extra time on a regular basis, or consistently, that's bad. If someone asks you a question that will take 15 minutes to answer and you won't do it because it's 4:50 and not 4:45, that's just as bad.

<comment><USER22> I can appreciate your opinion, but there's nothing that can't wait until tomorrow unless it's life critical. Is it going to only take 15? Or will will it take 30-45 minutes and now I've missed dinner with my family for your question that is not critical.

If I don't defend my time, who else will? I don't buy the argument about rigidness being a bad thing. That's how boundaries work best: clearly defined and enforced.

</comment></comment></comment></comment></comment></comment><comment><USER23> To add some balance to all the full-time people here: I work 20 hours per week. Which usually means 4 hours per day, 5 days a week. But, I can (and do) re-organise those hours depending on what activities I plan... meaning, I can take an extended week-end if I want to, or, have a day off in the middle of the week and work at the week-end instead, for example. The rest of the time I work on things that I'm excited to learn about and improve in, like working outdoors, or... painting :D.

</comment><comment><USER24> Married but no kids (yet). We are both urban professionals. I work 10-7, and more if needed after dinner at home. She works 8-7 but cannot do her job from home. I workout 2x during the week and 1x during the weekend.

My trick is to never work weekends. I work as hard as possible during the week then try not to work at all on the weekends. The key is to get into a routine where you don't burn out. Life is a marathon, not a sprint. Find what works for you for the longterm. People in their early 20's who think they can keep 80 hour weeks up forever are naive (I used to be that way). Make time to socialize and maintain friendships.

Mental and physical health are essential. Eat healthy, exercise, don't push yourself too hard for too long.

</comment><comment><USER25> I'm the only person building the main product of a startup. Work by default starts when I wake up and ends when I sleep, seven days a week. To stay sane I lift heavy weights M/W/F and do interval training T/T/S. At lunch I practice pool for an hour. On weekends after dinner I'll sometimes drink with friends.

Productivity wise I make sure I always have tasks to do, regularly make sure my environment is clean with natural sunlight and earplugs nearby, and make sure I've showered, rested, and eaten. When I get distracted and want to go on HN, most of the time I read a math book instead. That way I either learn math, or realize how much easier my startup is and go back to doing that.

<comment><USER26> >When I get distracted and want to go on HN, most of the time I read a math book instead. That way I either learn math, or realize how much easier my startup is and go back to doing that.

Haha, this is an awesome hack. Thanks!

</comment></comment><comment><USER27> I worked three years remote. I found that to be the most effective way work for work life balance. It might have helped the worked for a small company and I was the only developer.

It was great because I didn't waste time with downtime at work or traffic etc. I was able to make all my pregnant wife's doctor's appointments with out really having to ask for time off. I work best on big projects at night when it's quiet and don't function well on big thinking items in the morning.

I left this awesome job for more money, which ultimately was a mistake.

I need my side project, because it helps me get thru the day, it gives me hope.

Shameless plug, but I'm looking for remote work.

</comment><comment><USER28> 6:30AM to 2:00PM, I am a morning person and I like to get home in time to walk the kids back from school. My wife handles the morning routine with the kids and then gets home from off work a couple hours after I do. Works out pretty good. We have a small gym at the office where I do strength training and I walk a couple miles at lunch each day.

The cost is commute time, we live in a suburban area at the edge of our metro area and I have to drive 20 minutes each way to get downtown.

My only productivity 'trick' is to close down all non-business browser tabs when I need to get some real work done because HN and Reddit are enormous time sucks.

</comment><comment><USER29> I freelance, and call myself semi-retired. I turn 42 this year.

I'll cherry-pick projects that interest me. I don't usually seek them out, it will be former clients, business associates, or people who know me who bring me the things to work on.

I usually only commit to average 15-20 hours/week on a project. I don't accept on-site work, save for maybe a week of ramp-up or meet and greet. I don't accept daily stand-ups or checkins for the sake of them. I usually update my clients every 2 weeks on progress. I try to keep them to email communication where possible.

I will often do the 15-20 hours I commit to in a single day, usually bursting on a friday/saturday/sunday after thinking about what needs to be done during the week.

Reading the other comments, I'm apparently odd in my work habits, but I won't "force" myself to work. I either am in the zone or I'm not. I either know what needs to be done, or I don't. Staring at a screen and being glum about it just makes me miserable, so I don't do that. The difference in my work when I'm ready to work, vs my work when I'm forced to work feels very "10X" \-- they're not similar outputs at all. I'm very clearly a better coder when I've had time to ponder and prepare first.

We don't have kids, and wife is a professor, so we both have scads of free time to do local outdoorsy stuff. We usually just go to the zoo though, as we like animals a touch more than people. :)

Health is becoming a challenge, as my warranty expired when I turned 38, and I'm starting to get those maladies that come with age, plus I feel weaker generally -- so I'm experimenting with diet and strength routines. That's a fancier way to say I do a bunch of squats or pushups every day, and will walk first instead of snacking if I get bored (my vice). My dad's dad died of a heart attack when he was my age, so I'm trying to be careful.

We don't have a lot of stuff. We do a lot of travelling. We do live in a fairly high COL city (Portland) but if she got into remote learning at her college, we could both work from anywhere.

We're insanely fortunate.

<comment><USER30> > plus I feel weaker generally

Have you done your blood tests? Sugar/insulin [1], vitamin D, Ferro, liver, morphology? There are plenty "new"/silent civilisation diseases: insulin resistance, hashimoto, diabetes...

[1] [https://en.wikipedia.org/wiki/Glucose_tolerance_test](https://en.wikipedia.org/wiki/Glucose_tolerance_test)

</comment></comment><comment><USER31> Stop doing side projects. You're doing work, but not getting paid. If your job is also your hobby, your life is going to get depressingly homogeneous. Take a hike or play with your kids instead.

</comment><comment><USER32> I work at a large tech company that's good at search and ads, and I actually just got back from swimming at lunch.

I work roughly 40 hours a week, and I have a commute that's ~45-60 minutes. It's 5 miles by road, but it's a classic unusual Boston commute by bus and T. Coming from a startup, the stability and health of working at a large company with well established practices and a good balance was a very welcome change.

I absolutely recommend the course Learning How To Learn, and one of the best insights I got from it is the importance of the "diffuse" mode for learning and processing. Sleep and exercise can be incredibly helpful for this, and I've found that _everything_ is better with sleep and exercise. I try to swim 2-3 times a week at lunch, and I do weights on the weekends and occasionally in weekday evenings.

Often times I'll have a problem in my head before I run or swim, and usually by the time I've finished a solution will have naturally floated up from the depths. I've also found that a similar focused studying session followed by a long diffuse mode run, swim, or walk is incredibly productive for learning something new, and it feels like studying on easy-mode when it works!

</comment><comment><USER33> I disagree with the conceptual basis for the concept of work/life balance. The entire concept of this bifurcation assumes that "work" must be defined as a drudgery in service to some ill-defined hedonic or Eudaimonian "life."

I wouldn't dispute that the vast majority of people do live in a cyclical state of drudgery and leisure.

However, if you have the luxury of being able to "balance" these states, then you're likely not doing the same kind of drudgery that seems to be descriptive of the concept. I've had those jobs and been in that position, my shift leader didn't care about helping me make time for my hobbies.

So my answer is, there is no "right" balance and what others do will only serve to create many different "greener pastures" in your mind.

At different times in my life I've worked 90 hour weeks for months at a time, and others 10 hour weeks. I've spent long periods (almost a year) as a stay home dad, at other points I spent almost a year completely away from my family.

The distinction is, I have made my life my work (ever hear of a "life's work"?), in that there are things that I want to achieve and I have created my career around progress toward that goal.

<comment><USER34> So if your work did not pay you money for the exchange of your time, would you feel the same way?

<comment><USER33> I'm unclear about your question.

I've structured my life such that the type of work I do serves my broader life goal.

At the point in which that's not possible, then how I spend my time is out of my control and the question becomes moot because I'd effectively have no control over my life.

<comment><USER34> Sorry it wasn't clear -- Would you continue to show up to work/serving your broader life goal if your paycheck stopped coming?

<comment><USER33> Yes. I've done that many times.

</comment></comment></comment></comment></comment><comment><USER35> I am a mid-twenties single male Product Manager, working at a major tech company in SF.

I average 55 hours/week at work. Usually this means 9-7 5 days per week but sometimes its 9-8 or I'll work for 3-4 hours on a weekend.

I don't spend any time with family because I am single and my whole family lives on the east coast.

I spend 4-5 hours a week working out, usually weight training in the morning right before work.

Nothing fancy for productivity - create lists for everything, prioritize the items on your lists, and put the items you commit to on a calendar. Know yourself and try to schedule at a pace you can realistically accomplish, but don't freak out if you only tackle 70% of your list for any given day. The trick is to be disciplined about actually using these lists (I'm still bad at this).

When you're feeling like you're totally burned out and don't want to do any work - just do ONE thing that day. Making ANY progress at all is so much better for your psyche than getting nothing done, and once you complete that one thing you can stop beating yourself up for being unproductive and enjoy just doing nothing.

</comment><comment><USER36> 2-4hrs per day (including weekends) for a total of 15-28hrs per week. Rest of the time spend with my family, friends, exercising or running errands. Used to work 10-12hrs/day. Now I can't, don't really want to or need to.

Productivity tip: start a business, delegate everything, then either sell the business or keep it as "passive" income. After delegating all operational work, you can manage a business with just one meeting a week. Hence you can manage multiple businesses in less time and more profitably than having a full time job.

Happiness is a different thing though, which unless you are burning yourself out, or hate your job, doesn't really depend on how many hours you work. In fact, having too much "free" time in your hands can sometimes feel a lot worse than not having any.

</comment><comment><USER37> I am a PhD student in computer science/machine learning. I do not have a family or a significant other to spend time with.

I work every day from morning to evening with no regular days off. I take a 3-4 day break every 6 months or so.

I work out almost every day, sometimes in the morning, sometimes over a lunch break.

Productivity is managed via detailed to do lists for every project. The day is broken down into morning session, afternoon session, and evening session. I constantly re-organise by moving things between the slots to optimise deep work.

On top of my own research, I receive constant tasks from my adviser who uses me as a kind of assistant for everything they feel like. They do not pay my tuition or have hired me as a TA (I am funded via an unrelated scholarship).

I cannot wait to get out.

<comment><USER38> What are you waiting for?

</comment></comment><comment><USER39> I'm in the office for about 6-6.5 hours, including lunch.

I take about 45 days off a year. 30 min commute but I can work remote whenever I like.

I used to work more and I know this is a nice set up, but it still feels like I have no time for anything.

I'm underproductive outside of work and manage health by eating kiwis

</comment><comment><USER38> Reading all the comments seems like most HN users have pretty good work life balance. I am surprised I thought most tech people are overworked.

Anyway since most people here seem to be from industry. Here is my situation working as an academic in Europe.

I normally work from 9 to 6. Sometimes if I am chasing a conference deadline (2-3 times a year) work after hours and weekends. I also choose conferences which also double as my vacation spots (one of the reasons why I decided to stay in academia).

Bike to work (15-20 minutes each way). No kids most likely will never have any. Spend most of my free time with my SO after work cooking, watching TV, reading, or just relax. Go swimming sometimes. Bike trips in summer. Cook and Eat healthy balanced vegetarian food.

</comment><comment><USER40> Nowadays I work around 8:30-18:00 on most days.

I work out 3-4 days a week. Sometimes I go to gym during lunch, other times after work and maybe one day on weekends. I try to limit sugar and carbs but am not as obsessive about it as I used to be (I want to get _more_ obsessive about limiting sugar again however). I supplement with everything that I think is worth it and that we have enough data on - creatine, fish oil, Vit D, B12, caffeine, L-Theanine, Hyaluronic Acid.

I spend about an hour or two most days on some sort of mental self-improvement project - coding, learning math, something like that.

I try to give myself at least an eight-hour sleep opportunity every night.

</comment><comment><USER41> About 10 every single day, difficult to do more

I wake up, go to the gym (1h), then I go to work (8h +1h eating), come back home, work on my startup (2-3h).

On weekends same, except I'm only working on my startup.

It is a tough life, after 1 month of this schedule, I was exhausted, but the body is capable of adapting, and now I handling that easily. This is possible only because I use my bike as transportation system and thus it is very fast, and that everything I do is optimized.

Downsides is that I have almost no social life, I mean I could have about 1h of social life per day, but that would require too much energy. My health is good, but this is thanks to all the sport I do I think

</comment><comment><USER42> Non-US. I work exactly 8 hours. Unless there is an emergency. I never want to lose family time so the days I need to go to the gym I skip lunch (I eat something while working) and use the extra hour after work to go to the gym.

<comment><USER43> Which country ? In Asia-pacific region this is a dream! (to work exactly 8 hours) Likely Europe ?

<comment><USER42> Yes Europe, I think it's pretty common around here not to overwork. I've had 3 jobs and all were similar. Do your work, no one checks your hours as long as you are not obviously underworking and on occasions you will have to stay a couple hours more just to make sure the servers don't die.

<comment><USER44> In Europe, this is very common to overwork. I am french and everybody that did not stay after 5pm was considered as "underperforming" and blamed for it. In the USA (at least after working in 3 companies in different states), if you stay after 5pm, it means you might not be able to complete your job in the allocated time and therefore, might be "underperforming". This is a simplification but this is the overall sentiment I have from both sides of the Atlantic.

<comment><USER45> It depends a lot on the company's culture.

I've never been in a company in France where working 40 hours (actually 35, 37.5 or 39 hours depending on contract and company size) was considered underperforming, for example. I've had two bosses who used to actually force some people to leave the office after 6pm or so (office time was 9-12/13-18) though I've never been one to stay longer than necessary myself.

In Canada however, I was expected to stay late in the evenings but that's just one company so I can't say it is representative of the whole country.

</comment></comment></comment></comment></comment><comment> super-serial 40 hrs/wk at dayjob, about 20-25 hrs/wk at coworking space working on my startup.

I used to only do 12 hrs a week at the coworking space, but what changed for me was I started taking 3 hr naps after my 9-5. So I nap 7p-10p, wake up go to coworking space until 2am, go to bed by 4am, wake up at 8am. I feel it resets my brain to sleep inbetween dayjob work and startup work. Sat/Sun I just try to do 8 hrs each day, and also workout. As for social life - no I do not have one. I guess sometimes I hang out with my sister who is 17 yrs younger than me - we usually play videogames.

</comment><comment><USER46> I work a bit more than 9 hours a day, but am lucky to have disconnected working hours. I catch up on movies and reading while doing business development meetings (and making sure that I don't write private information in places it could be compromised), come home early, spend time with family and then do a few hours of focus time after dinner when the kids are asleep.

<comment><USER46> While I travel for BD meetings * not during them :-)

</comment></comment><comment><USER47> I work around 55ish hours a week on average. I have a very short commute (<10 min walk) and I pay for services that reduce the amount of time I spend running errands (I use a cleaning service, I get my groceries delivered, etc.), so I probably have around the same amount or almost as much free time as the average person who works 40 hours a week.

</comment><comment><USER48> I work remotely and common work from home. I try spending weekends with my family and some evenings too. I practice yoga every morning and three times per week with yoga groups. Want to change my schedule and wake up early. Because I understand that I spend a lot of hours just for sleeping and don't have time to obtain new knowledge

</comment><comment><USER49> 8 hours max. My intellectual productivity peaks 3 to 4 hours after I wake, and it's pretty non-existent 7 to 8 hours after I wake.

It's not fair to yourself to work beyond a sustainable amount: once you pull a weekend shift or two, your boss starts to expect it even when you can't do it, and you set yourself down an unsustainable path. I make it clear to my bosses that I won't do this, and if they need me to, it's a sign of corporate disfunction, not my own.

Productivity trick: I diligently incorporate exercise into my commute: I either bicycle or run (with backpack) as part of my evening commute, roughly year round. Combining the activity with bus routes makes this feasible in most large cities, and the activity quickly becomes the most enjoyable part of my day.

I have a few hours in the evening designated as non-work time, and I never work weekends.

</comment><comment><USER50> I work a 35 hour week, and live within 20 minutes bus journey of work.

Sometimes it goes higher than that (particularly if there's an emergency), but mostly I do my hours, get things done, and then go home to spend time with my partner and our 9-month old .

No productivity tricks, I'm lucky enough to enjoy my work.

</comment><comment><USER51> I work 8 hours per work day, of which I have 4 per week. In the morning I bring my kids to school, on Friday I pick them up from school, because that's my day off. My wife picks them up on her day off: Wednesday. Other days, they're picked up by afterschool child care, and my wife picks them up there when she gets home from work.

I've got a day with the kids, she's got a day with the kids, we've got a weekend with the entire family. On Thursday evenings once every two weeks, we get a babysitter and have an evening for the two of us.

I completely neglected exercise until recently (I'm 44), but since a few months I'm doing cross-fit twice a week (aiming for 3 times).

Main productivity trick: sleep well, keep work hours limited so you can give it your undivided attention during that time.

</comment><comment><USER52> I've always had office hours 9am-7pm, with some on call. I rely on SAH wife to look after children, but family time 8-10pm and weekends. Work on learning and projects some nights. We try to do active stuff together - biking, skiing swimming, but wish I was fitter.

</comment><comment><USER53> I work between 5 and 8 hours, four days a week, from my home office, as a remote contractor with flexible hours.

Typically I do Pomodoro and spend the breaks having tea, talking with my partner, etc.

My plan is to take several months off each year.

</comment><comment><USER54> I cap it at apx 40 hours a week. Sometimes I'll hack late if I'm inspired. I can pull little bursts but I do not let work pressure drive me to do more than what is healthy.

</comment><comment><USER34> This question seems to me like it is naturally self selective to those who have healthy work-life balances. I'd like to hear a couple from the 10-15 hour day workers.

</comment><comment><USER55> I prefer to work in research/ university environment. It is Flexible hours are good to work and I do not work after office hours.

</comment><comment><USER56> I work 8 hours per day, study for an hour, work out for 30 minutes to an hour, and spend the rest with my wife or doing whatever.

</comment><comment><USER57> Before moving to europe:

45-50h/wk, 1h+ commute, 21 days paid holydays.

After moving to europe:

35-37.5h/wk, living 18min by foot from work, 25 days paid holidays.

</comment><comment><USER58> Europe, 8 hours a day, 5 days a week, 25 days of paid vacation plus bank holidays.

</comment><comment><USER59> I work as an Azure solution architect (Linux, containers, networking, lots of AI and IoT), averaging between 40-60 hours a week if you take into account travel times, evenings and some weekend afternoons catching up on e-mail and doing prep work.

My two main time sinks are travel to customers (sometimes 2-3h train rides one way, which I use to work) and conference calls (which are scheduled all over the place by sales people and make a complete mess of my focus time). Neither is considered to be an issue (since many of my co-workers have absolutely no clue about what it takes to do good technical work and think I conjure it up magically).

Typical day starts at 6:30: breakfast (occasionally with kids), read news/RSS/HN, pack for going out to customers, start work at 9:00-9:30. If lucky, I can spend at least half a day (usually mornings) working from home until I am interrupted. Lunch takes me less than 30m if at home, 2h if with customer/peers (Mediterranean culture).

I usually stop working at around 19:30 (dinner time with kids) and then spend some time clearing out my inbox and scheduling things while watching TV or conference videos. The default downtime pastime is reading if there's nothing else to do.

This still piles up enough that I have to work the occasional Sunday afternoon (usually coding or putting together PoC scenarios). To keep sane, I do side projects on weekends and pick stuff that I can re-use for work.

I walk everywhere I can (hate driving, haven't done it in years) and have an exercise bike I use in the mornings (but not usually in Winter, it's too cold). No upper body exercises, which is a pain in various regards since one of my shoulders is going stiff (am looking into that).

The most important factor for me is sleep. If I don't sleep at least 7 hours a day everything goes downhill - focus, mood, output, etc. So I make it a point of going to bed early and avoiding unnecessary trips (which compress my schedule and force me to get up too early or arrive home too late). That does not sit well with some of my peers, but, again, the amount of time required to keep up to date and/or do quality work is not appreciated.

Everything else is just a matter of making sure I keep tabs on my inbox, schedule the right amount of time for prep/meetings/follow up and just do stuff instead of procrastinating - which I avoid by scheduling time for stuff and sticking to that schedule.

My most useful mind hack is to start small, iterate and test things as I go along, largely because I get interrupted so many times that it makes it easier to start another iteration when I go back to actual work.

I also switch off notifications/email/chat/etc. now and then, although (to try to keep ahead of possible interruptions for the next day) I do check my e-mail in the evenings - but never 1-2h before bed, otherwise I'll start to stress out and get insomnia (it's best to cancel or say no to some things in the morning than reply immediately).

I try to keep some things light and humorous, but the e-mail/meeting culture I'm in can be beyond overwhelming.

The worst thing is that I don't spend enough quality time at home - I'm either working at a customer (usually in a meeting of some sort, which makes it all the less productive) or in my home office most of the time.

I also miss doing full-on engineering. Mentoring and advising customers is the best part of my job, but I get moved around so much I don't see it come to fruition.

</comment><comment><USER60> Maybe you can share what you're looking to improve? Hard to answer with strategic answers, tactics are relative.

Also, I don't know about work/life balance.. And just try to keep harmony. The future of work is changing in general, and tech is way out there.

It's all about maintaining stamina. Dip too much and you aren't putting back more into the tank than you're taking out.

The 8 hour a day model is largely outdated - from the factory years of physical stamina. Try to rid yourself of this factory schedule and in those around your to focus on becoming more effective and priority based. It's not easy with the world running on it but you want your peace, not the world's distraction, right?

Today's stamina is mental, not just physical. Maintaining my mental stamina and effectiveness is my key goal. I don't get tired mentally as quickly because I am always trying to improve it.

Discipline is the master skill. Building this, followed by an ability to focus and execute. I'd level up on those forever and the effect shows in other areas. Check out Deep Work by Cal Newport.

Quality of time = quality of life. Think about about how effective you are with your time, not just how many hours. Counting hours matters less with experience because you can count results. We have poor standards for our time in our 20s, and it's part of the gift of exploring. Still, when I'm rested I can sometimes get a few hours of work done in an hour.

Be mindful. I use a tool like RescueTime to monitor my laptop and phone time. Any feelings can be backed up with data and adjusted. Hack the hosts file. There's nothing you miss. Use airplane mode liberally when you can on your devices. It's bliss.

The brain sucks. It constantly tries to remember random things you can't do anything about. Use a methodology like getting things one to manage the day to day minutia. Use an app that syncs between phone and laptop and record every random thoght. 2Do is one. Your brain will be free to be effective in the moment.

Roadmap work and personal life. Set yearly, quarterly or monthly goals.. Even high level but clear. For work, build and more importantly maintain a detailed roadmap. It will let you see your progress and be more present with your other areas of life.

You are a product of your time. Track every 15 minutes of time for 2 weeks. It's normal to find time I'm wasting and can be encouraged you can allocate it elsewhere. I cut out mosy TV, Netflix, video games, etc. I watch sports but prefer highlights. When I relax, I stack it and make it an event with my spouse. I try to manage my reading to what I need now or shortly. There is no social media on my laptop, it's all blocked and I do not run social media apps on my phone.

Notifications are the plague. Silence every single app them all except family, friends and things that will rarely ping you.

Health is about demonstrating a practice of sleep, diet, activity and relationships.

Garbage in, garbage out. I try to meal prep for 2 hours, twice a week. Clean, light food is great and I can grab to go whenever I want. Use an instant pot or slow cooker. I do this with my spouse because she happens to enjoy cooking. I'm on with some carbs because my brain seems to like them but there might be room to improve.

Become present. When I push hard and executing I am better at giving myself permission to be present. I still visit my parents most weekends and rarely take out my laptop. Might cheat and read the kindle though if they're watching too much TV. We try to see friends twice a month at least. I find if I really enjoy myself in my personal life for fixed periods of times it is quality of time and not quantity of time.

Always get lots of water and sleep, minimal sugar and caffeine. Don't smoke. I find I have more energy if I don't eat meat every single day but it ought be different for others. I only have a coffee every other day when I remember to when I'm on track. Having 2 coffees in a day is a sign I need to adjust something.

The harder you push the more you need rest.

All of this to say, I expect to work 6 to 12 hours per weekday, and less so on the weekends. Whether this is the personal timings that are work, or work related. It all needs to be done.

I can pull a few really long days each week or an all nighter if it's a must. I break my day into 3 stages of work, First 6 to about 9, then 10am to about 5 and then 7 to about 930 pm. Working towards waking up at 5 am.

The important thing in pushing hard is sleeping lots each night so you don't wear out. Time away from the keyboard is more important than my time at the keyboard.

I'm a hard core a night owl who has become a morning person by telling my brain I can wake up super early with twice as much energy and still enjoy the late night peace.

<comment><AUTHOR> Thank you for the detailed answer. This is exactly what I was looking.

</comment></comment><comment> August-Garcia "If you're interested in 'balancing' work and pleasure, stop trying to balance them. Instead make your work more pleasurable."

\- Your Favorite President</comment>


The Most Dangerous Muse: Parkinson's disease gave her the gift of creativity - <AUTHOR> http://nautil.us/issue/64/the-unseen/the-most-dangerous-muse-rp <comment><USER2> There was an episode of Radiolab about another neurodegenerative disease, Progressive Aphasia, and how it affected to the creativity of some people. : [https://www.wnycstudios.org/story/unraveling- bolero](https://www.wnycstudios.org/story/unraveling-bolero)

</comment><comment><USER3> I'm quite surprised the article makes no comparison to attention deficit hyperactivity disorder (ADHD), also a dopaminergic condition affecting executive function, which can positively affect creativity.

<comment><USER4> Can you explain this further? What are positive benefits of ADHD on creativity? Ive never heard of this.</comment></comment>


File type icons with flat design style - <AUTHOR> http://www.webiconset.com/file-type-icons/

<comment><USER2> That's not file type icons, that's extension icons? Windows has extensions hidden by default, so a lot of users might not know them.</comment>


Ask HN: What framework for mobile webapp? - <AUTHOR>

I'm about to create a simple webapp, probably SPA. I need fast loading pages, minimalist design, a nice router, smooth page transitions. In general terms I know the good and bad parts of all frameworks bellow and still I'm not convinced about what to use.
CSS Frameworks (Bootstrap, Foundation, Materialize, etc), other frameworks (Angular, React, Backbone, Ember, Polymer)
Can you help me decide? <comment><USER2> Have you created an SPA before? If so, start with what you know best. Spending 2 months learning how to write BackboneJS is probably going to add up to more time than the lag all of the users of your first iteration get combined. You can then change the parts that aren't working for you, and optimize for your use case.

If you haven't, I'm a big fan of using a MongoDB, Express, Angular, and NodeJS (MEAN) stack. Angular has a huge number of libraries you can use for transitions, and you can always use CSS animations and jQuery to accomplish anything not in there.

<comment><AUTHOR> Yes, I've built an SPA using backbone + marionette before, but on top of that I needed something for UI, at the time I used JQMobile (huge mistake).

I really would like to avoid JQuery, and any other "big" framework like Angular. React, only gives me a render engine, so I need third party libraries for everything else, so, not an option.

I'm just interest in the frontend, I have clear the backend part.

</comment></comment><comment><USER3> Do you have experience with any frameworks? Use what you know :)

If you are a beginner, this will be a learning experience for you, pick something with good documentation.

Check out this poll: [https://news.ycombinator.com/item?id=7600875](https://news.ycombinator.com/item?id=7600875)

<comment><AUTHOR> I have some experience writing software, so I don't have a problem learning something new quite fast. If no documentation I read the code, that's no the problem.

Polymer looks good, but I'm not sure yet. I haven't seen nothing serious done with it.

</comment></comment><comment><AUTHOR> Anyone have done something on Riot.js? Is it performant on mobile?</comment>