Ask HN: Not resting fully because can't sleep long enough - <AUTHOR> Hey founders! I'm working on a startup as a solo founder and realized that I'm only sleeping 5-6 hours per day for last few months. Don't think it's sustainable and healthy. I'd like to sleep 7-8, but just wake up early. I can't get myself to sleep longer or more. It's probably because I have too much on my mind and feel I have a lot to do.<p>Have you guys experienced this? How did you address it? <comment><USER2> Hello --

I have experienced the same symptoms, although not quite as badly (waking up very early), for the last two years. Take this with a huge grain of salt, because most of what I tried _didn 't work all that well_, but I'll let you know what I tried with at least modest success.

And, if you ever figure out how to get your sleep back on track, I'd be grateful if you'd message me and let me know what worked!

\-- Weighted blankets: I got one, and this seemed to help a little bit.

\-- Cool bedroom: it's recommended to set the temperature to 68 or below.

\-- Consistent sleeping times. Go to bed at the same time every night (if you can).

\-- Limit activities in your bed. No TV, internet, smartphones. And no lying in bed wishing you could sleep. If you don't feel sleepy, then get out of bed, go do something else for a little while and then maybe try again.

\-- You might check out CBT-I -- cognitive-behavioral therapy for insomnia. (Some of what I suggested above is part of this.) In general the most widely recommended therapy.

\-- Keep up exercise and your social life, even if you're tempted to cut back (as I was).

Good luck! (Contact info in profile.)

<comment><USER3> > Limit activities in your bed. No TV, internet, smartphones. And no lying in > bed wishing you could sleep. If you don't feel sleepy, then get out of bed, > go do something else for a little while and then maybe try again.

I listened to a (Swedish) podcast some time ago where they interviewed a professor[0] about sleep and health effects of good and bad sleeping patterns etc. One question that came up was something along the lines of "what should I do if I'm lying in bed, just twisting and turning and unable to sleep?" The response was very much in line with your suggestion: don't remain in bed trying to force yourself to sleep.

Get up, do something. Read a book, walk around, do the dishes – pretty much anything really. It's apparently much more effective than trying to force yourself to sleep. He also said that you should avoid activities that shines a bright light in your face, like watching a TV or fiddling with your phone or tablet.

I'm going to try your other tips to see if that helps any with my own sleep issues – thanks for sharing!

[0]: [https://staff.ki.se/people/johaxe](https://staff.ki.se/people/johaxe)

<comment><USER4> I think this is bullshit. If you go out for a walk you will wake up even more.

On top of that, if you actually have times when you feel like you get 0 hours of sleep (i recently started a new job and could barely sleep for a week) if you don't remain in bed nevertheless - you will not rest even for a slight bit; while simply laying in bed will give you at least some rest.

<comment><USER2> The advice I've read is not necessarily to go for a walk outside, but to do something more low-key: wash some dishes, read a book, or simply sit quietly for twenty minutes.

Especially if you feel "tired" but not "sleepy" \-- although these can be hard to distinguish.

This is recommended (by expert researchers, on the basis of experiment) as part of a cure for chronic long-term insomnia. Like many cures, it can be a bit arduous at first. I haven't seen it recommended for short-term insomnia, especially when there is some causal factor like starting a new job.

</comment></comment></comment></comment><comment><USER5> I know it's hard to make the time, but try to make some time for physical activities (hiking, swimming, anything cardio) and some meditation/breathing exercises/yoga to help get your nervous system out of it's flight/fight state. You need some balance!

<comment><AUTHOR> thanks for the tip. any specific links you found helpful?

<comment><USER6> You don't need links. Just exhaust yourself. You know how.

I was in the same boat - solo founder, working 14 hour days, incredibly stressed. Exercise and avoiding alcohol, drugs, and shitty food is the key.

There is a certain level of stress that I think can't be dealt with. When you reach that limit, you have either step back and curtail what you're trying to do, or just push forward and get through it.

</comment></comment></comment><comment><USER7> I had a friend once who couldn't sleep well because of the things on their mind. Journaling seemed to be the magic bullet for them. They just wrote everything down that was on their mind. And each day they didn't have quite as much to write.

<comment><USER8> That sounds more like anxiety for some people. A good way to avoid that is just use things like notes or task checkers on your phone. Then just chip away at doing these things as you can. You don't need to worry about it in the morning because your phone is better at remember things you tell it to than you are.

<comment><USER7> Ah, it wasn't just things that needed doing, but things they couldn't do anything about.

But I agree with your point generally.

<comment><USER8> Ah, I guess in that instance, I figure why worry? It's out of your control anyway. Worrying now can't fix it later.

</comment></comment></comment></comment><comment><USER9> How many coffees per day do you drink? And what is the time of your last coffee? The half life of caffeine is 8 hours, and can inhibit deep sleep even if you achieve unconsciousness.

<comment><USER10> Does this mean that after 8 hours the caffeine is still in my system, acting half as strongly as it was at the time of ingestion?

<comment><USER9> Well, there's half as much, I don't know enough to say there is a linear relationship between caffeine concentration and it's psychological effects.

</comment></comment></comment><comment><USER11> It's not for everyone, but getting into distance and running really helped my sleep and energy levels in general. It does take a _lot_ of time to train for a full marathon IMO, so I'm not sure that would be very manageable as a solo founder. But, eventually squeezing in 7-8 hours per week to train for a half marathon could be doable depending on your schedule and other commitments. I personally found that my increased energy levels made up for the time commitment in productivity and general well-being, although I have to temporarily sacrifice other hobbies and some social life in the middle of rough training cycles. Finding friends to run with helps make the latter more tolerable.

I struggled a lot with sleep issues in the past - both falling and staying asleep - but I surprisingly found it really difficult to _not_ fall asleep early and stay asleep for at least 8 hours after some very long runs during training. It takes time to build up endurance, but once I was able to run ~5 days a week with a few 6-8 mile runs without excessive effort, I found it easy to maintain a schedule that keeps me tired enough at night to sleep quite well. I also found that marathon training improved my time management skills a lot.

If you don't run at all, couch to 5k is a good place to start. Measure weekly distance and increase mileage at most 10% of week after that. Reddit's /r/running is a good place to find more learning resources.

</comment><comment><USER12> I used to have this problem a lot. I've never completely eliminated it, but I've dramatically reduced it to the point where it's tolerable. I have no idea if what I did would work for anybody else, but here it is...

First, I learned "self-hypnosis" (really, just serious and intentional relaxation techniques). That didn't always get me to sleep (although it usually did), but I would get some rest anyway even if not fully sleeping.

Second, I stopped trying to regulate when I went to bed, but rather when I woke up. For me, the sweet spot was to always get up at 5:30, whether or not there was a reason to get up that early. The predictable routine is the important part here, not the precise time. At first, that would mean I'd be tired for the day -- but after a while, my body adjusted and I started naturally wanting to go to bed earlier.

Another thing to keep in mind is that as an entrepreneur, going to bed when you're tired is overtly in your job description. You need to care for yourself to care for your business. It can sometimes feel that you're losing productivity by doing this, but you aren't -- work you're doing when you're exhausted will be lower quality work, produced more slowly. The best use of that time is to rest, not work.

</comment><comment><USER13> Make sure your room is completely dark. I mean totally. No charger lights, not a blink of light through curtains. Use really thick blankets e.g. to cover the window. You would be surprised how it affects your sleep.

<comment><USER14> +1, but I'd add that if you want to test whether this is an issue and don't want to shell out for blackout curtains (or are in an apartment where you can't), an eye mask is a good way to go.

After trying half a dozen or so of the $10-20 Amazon eye masks, I sleep with the Manta Sleep eye mask and am quite happy with it. I see a bunch of other masks in the $30 range that also look like solid options.

</comment></comment><comment><USER15> not a founder, but I would start with building some peace of mind for yourself -- Journaling, mindfulness, meditation, prayer or similar is a great place to start and most high-productivity folks actually draw a connection between this sort of focus and both increased productivity and lower stress. In your one- man-band phase, this is super important for you to constantly improve.

A less popular angle is to cut out alcohol. There are huge gains to be made in focus and rest without it.

a good reference for this is The Productivity Project available in audio ( I listened to it myself )

[https://alifeofproductivity.com/the-productivity- project/](https://alifeofproductivity.com/the-productivity-project/)

<comment><AUTHOR> thanks for the tips. i do meditate but do it in the morning-- i'll try to do it at night too.

<comment><USER16> From what I've seen in meditating both morning and night is that the purpose of morning meditation is to ground and focus, whereas for evening meditation is to relax and let go. Subtle difference in intent.

</comment></comment></comment><comment><USER17> Things that work for me: -Teaspoon of Calm magnesium powder before bed. Not every day but a few on and off. -no phones or tv in bed -no blue light for at least 2 hours before bed -dark dark room -same bedtime each night -no alcohol -no coffee or other caffeine or even dark chocolate after 2pm -daily exercise for at least 20 min -write out my tasks for the next day so I've got things as much out of my head as possible -If I can't sleep or wake up, Get up and eat something small and protein-rich like nuts or cheese -Don't check phone in middle of night -wear earplugs. It's amazing how little noises wake me up. I use the soft moldable swimmer's ear plugs

</comment><comment><USER18> I had the same issue. It was because of unresolved stress. I would wake up with slight palpitations and a lot of thoughts and feelings and concerns in my mind.

I resolved it by regularly going out of my home, leaving my phone behind and "doing nothing" at a place where I can sit for a long period of time without being disturbed. Over time a lot of stress builds up in your body that if not unwinded will add up and create a self-feeding cycle of stress-nosleep-stress- even less sleep. Until you are in a burntout situation.

I find that sleeping of its own will not unwind your stress. It is not hte reset on all stress and full rest. You have to take time to let the mind wander. This activity took almost 5-6 hours of doing nothing for it to become complete and for me to come back to normal.

When I say doing nothing. I don't mean not doing something productive. I mean not fiddling with the phone. Not talking to someone. Not taking your kids or partner for a walk. Not taking your dog. Nothing. You literally have to do nothing and resolve to let your entire body and mind rest. Only then will the mind and body allow itself to rest. Ohterwise you will be stuck in this unending barrage of activity which your body is starting to burntout from.

</comment><comment><USER19> I have been using a sleep mask to block out the morning and other light, and have a few history podcast I listen to, but those are more to go to sleep faster than to wake up later.

<comment><USER20> Sleep masks are amazing. We got them for my family for a trip to Europe and now everyone uses them at home.

<comment><USER21> Totally agree. Sleep masks have really helped with my weird sleep schedule. Even with your eyes closed, your body will figure out it is light outside (unless you have some kind of blackout curtain). Plus there's a nice ritual about it that I think also helps my mind relax.

</comment></comment></comment><comment><USER22> The good news is that, technically, this _is_ sustainable, for certain values of "sustainable". I have been sleeping about 6 hours per night on most nights for a decade, basically ever since my kids were born.

The bad news is that you'll never be at peak powers in this way. You'll be ok enough to go through the day, but with diminished focus and willpower. The few days I make sure to sleep more, I clearly get extra energy and focus. (I then typically pull a 32-hr day because I don't feel tired, which is also bad).

I compensate with afternoon naps when I can, which I think is the best "natural" remedy. My grandfather comes from a culture where you'd traditionally wake up very early, work the fields, then rest in the early afternoon because it's hot outside, before doing another shift into the cool evening. My dad was lucky enough to invent a job for himself that allowed a similar routine, with 1hr or 2hr naps on most days. Unfortunately, the modern workday was "invented" in Northern Europe and follows different rhythms, so less people get that option than ever before.

Other ways I've found to increase the sleep-hours count:

— allocate a couple of hours during the night for actual work, then go to bed earlier. E.g. 21-3 sleep, then 1 or 2h awake, then another 3h sleep to wake up at 8. (I sleep better in cycles of 3h). This is actually more relaxing to me than doing 9h straight. Unfortunately it's risky - if you get in the zone, the temptation to skip the second sleep-block is very high.

— when you wake up, 30mins physical exercise followed by shower, then back to bed. Surprisingly effective but not always an option (partner or kids in the house will not appreciate the noise).

— reducing caffeine. I don't drink caffeine after 2pm, ever.

— losing weight. My amount of fat tends to be inversely proportional to the hours I sleep.

</comment><comment><USER23> Waking up too early is called sleep-maintenance insomnia or sleep-onset insomnia. I get this a lot. I have no problem getting to sleep but then wake up too early. I sometimes wake up at 3AM and can't get back to sleep, then end up feeling like crap the next day.

What helps me:

\-- A very clear clock on my room so I can look at the time in the middle of the night. If I don't know what time it is, I'll sometimes just get up, only to realize it's way too early. Once I'm up out of bed, it's harder to get back to sleep

\-- I found that watching and listening to something really stupid when trying to get to sleep (old reruns of Family Guy and American Dad) help me to stop thinking about a million things before sleep. Also, if I wake up and can't get back to sleep, I watch/listen to it till I fall asleep.

\-- Have a consistent bedtime, as someone else posted.

\-- While light therapy is recommended in the morning to prevent normal insomnia, there are some studies that show that light therapy in the morning can cause you to wake up earlier. Try doing some light therapy in the afternoon or evening.

</comment><comment><USER8> I've only had that problem when I was super busy one summer and I had to squeeze ever ounce of workable hours out of the day. I drank 1 coffee a day and only drank again at night if I had to get stuff done. I worked full time, did school full time, and exercised about 3-4 times a week at about 2-3 hours each. I'd basically get up at 7, work until 430, some play for about an hour or two, school work until 11 or 12; occasionally 1 am, then sleep until repeat.

I'd then "cash in" my deprived sleep state on the weekends where I'd just catch up on the sleep I missed in one or two days. So I'd go to bed at like 11, and wake up at like 9. I'd do that on Friday and Saturday. I've never had problems with sleep in my life so I probably am a minority here.

</comment><comment><USER24> I have issues falling asleep a lot of the time, and stress has a huge impact on that.

Stuff that can help (may have been suggested in other comments):

\- exercise will definitely help; there are way too many benefits to list, apart from helping with sleep

\- coffee - try to limit intake after 2PM or so because caffeine has a long half-life; the earlier you stop, the better

\- meditation

\- breaks, walks in the evening, anything that disconnects you from your load

\- reading in bead, just before going to sleep

\- limit phone, laptop etc. in bed, before you go to sleep

\- try not to eat/drink too much before bed, especially not an extra large pizza at 10PM

\- take a hot shower before bed and have your room cooled down

\- avoid various substances that may sedate you, but won't help you actually sleep better

If all that fails, there are sleep doctors. There are many conditions that can affect sleep, but it's most likely plain old stress.

</comment><comment><USER25> Yeah, it's common.

It's a skill. Babies go through this phase where they're too tired to sleep, and can't sleep because they're tired. You often have to force them to sleep early.

But as the adult, nobody's there to force you to sleep, and you can hit this point where you're tired but don't want to sleep.

One trick is just to wake up extra early. It will feel _terrible_ for one day. You can make do with a midday nap, even 10 minutes works. Your 2 AM bedtime will move back to 11 PM automatically. Every now and then instead of waking at 5, you can 'oversleep' to 7 AM, giving you a good night's rest, and more control over your sleeping time.

</comment><comment><USER26> I take magnesium citrate, 200mg of magnesium in the form of two capsules right before sleep (I buy a product from SuperiorLabs, although I've tried a couple of brands). Puts me rapidly to sleep even if my brain is very active with thought. I had always tossed & turned a bit during sleep, and occasionally struggled to fall asleep; both things got worse throughout my 30s. If I take the magnesium, that entirely ceases and I essentially pass out like someone tranquilized me.

Some people don't tolerate magnesium well in terms of their stomach. I don't have any problems with it though. A lighter dose might work for those with a negative stomach response.

</comment><comment><USER27> I have this problem too. I haven't solved it, but one thing that has helped is setting an alarm and not looking at the time while sleeping. If you wake up at anytime during the night, go back to sleep without looking at a clock. Don't get out of bed until your alarm goes off.

After a while of waking up too early, it got to the point of waking up at 4am and thinking "that's close enough" and I would get out of bed. (Attempting) to go back to sleep regardless of the time seems to have helped that a bit.

</comment><comment><USER28> Are you working out? You need to have vigorous ways to put stress out of your system. Lifting hard (with good form) is safe and will make you sleep like a baby. If on top of that you have a stable sexual life, the better. No coffee after 17pm and maybe consider melatonin 3mg before going to sleep (it can make you sleep deeper so recover is more fruitful).

PS: BTW, I do 6h sleep most nights and some times I need an additional 20 or 30m nap during the day and is totally sustainable (I train 5d/w).

</comment><comment><USER29> In addition to the things people have mentioned, melatonin might help you feel more rested. Start with 0.5 mg a half hour before the time you want to go to bed. In general melatonin is very safe and non-addictive, but as always when starting a new supplement you should consult with a doctor first. You'll also want to stop using screens (computer, TV, phone, etc) for at least an hour before bed time, ideally longer.

</comment><comment><USER30> Are you suffering as a result of this?

Try a nap once or twice during the day, even just 20minute naps, maybe you can be on this schedule forever.

Try really meditating (or praying or some other ritualized mental and emotional health behavior) every day before bed, so you can set you worries aside, and then again every morning. Perhaps you can flush the ongoing anxiety out of your system so you can sleep with more abandon.

</comment><comment><USER31> If you can afford it, see a sleep therapist and get personalized, professional help

If not, be open and patient. Try things out and see what works for you. My sleep is most usually great, which I attribute to the following:

\- Consistent wake-up time (for me more important than bedtime) \- Consistent, moderate exercise \- Ways to let your thoughts run their course: journal, vent to friends/family, whatever

</comment><comment><USER32> Putting aside the mechanics of sleep, it's important for you to realize that this isn't a valuable trade, between sleep and work. Sustainably growing your business means keeping balance in your life, meaning pure volume of work won't actually get you to the goal.

</comment><comment><USER33> This will sound horribly unscientific, but for me the problem is being overtired. And the solution? Take naps on the weekends, say 2 PM, when you are able. For me, it induces a sense of sleepiness that, paradoxically, makes me sleepier when it comes to going to bed at night.

</comment><comment><USER34> And now for something completely different - try dumping the things you have on your mind into a trusted system - part of Getting Things Done productivity method. This will help you in avoiding thinking about all that in bed.

</comment><comment><USER35> Are you using a todo list or kanban. This might help you dump stuff from your mind to somewhere safe knowing you'll take care of it the next day. Also might help with prioritisation: grooming your own backlog every morning.

</comment><comment><USER36> This will duplicate some things others have already said, but a few factors are:

\- Amount of caffeine. Caffeine has a 12 hour half life. 12 hours after your last caffeinated drink, you will have 50% of the caffeine in your system. Healthy adults should not exceed 400mg/day regardless.

\- Amount of D3 and B vitamins your gut bacteria are deficient in. Your gut bacteria need energy to break down the foods you eat for the symbiotic relationship that break down fiber and other things required for your health. If they do not have enough D3 and B (all B vitamins), they will give off proteins that will induce stress / cortisol. This becomes a cyclical problem if not addressed.

\- Environmental stress. If your mind has too many unresolved issues, your cortisol levels will be too high. Delegate as many issues to other people as you can. This is probably going to be a hard one if you are a founder. It's hard to let go, especially if you are passionate about your ideas and goals.

\- Not enough sleep. But wait, that is the problem, right? Lacking sleep raises toxicity levels in your body, including your brain. This creates a cyclical problem that will worsen with time. Your brain keeps track of how much sleep it lost and at some point you will experience hallucinations or waking dreams when this catches up with you. Deep sleep (all four stages) are required to allow your brain to purge toxic material. Do not use sedatives / drugs to sleep. That isn't real sleep. D3, L-Theanine (amino acid), 5-HTP (amino acid) can help with hormones that can make you sleepy.

\- Light. A few hours before you intend to sleep, mute the light. Use soft lights. Avoid screens. Power off the smart phone and put it in a drawer. Wear a sleep mask (intended for day sleepers, but helps cut out tiny bits of light from LED's on devices)

There are MANY more factors, but I have to go to a meeting and don't have time to put all the nih.gov references here. Maybe I will add some later today.

<comment><USER37> All good points. Note that caffeine has a half life of 5 to 6 hours, rather than 12. I'd cite it, but a simple search makes this apparent.

<comment><USER36> Thankyou for the correction. I am probably mis-remembering from a talk that Dr. Matthiew Walker gave at Google about sleep. I will need to figure out where I got the 12 hours from.

</comment></comment></comment><comment><USER38> A good starting point is learning how the sleep cycle is regulated.

[https://en.wikipedia.org/wiki/Pineal_gland#Function](https://en.wikipedia.org/wiki/Pineal_gland#Function)

</comment><comment><USER39> Sleep is very difficult for me but sleeping pills help a ton. I just take half of an OTC one and it helps a lot. But you have to take breaks because it stops working as your body gets a tolerance.

</comment><comment><USER40> limit caffeine, find the best time to go to bed and keep to it, for the stress; have a notebook by your bed and write down all the things you need to do the next day- now they're not in your head. here for more sleep tips-[https://www.sleepfoundation.org/articles/sleep- hygiene](https://www.sleepfoundation.org/articles/sleep-hygiene)

from a former sleep researcher

</comment><comment><USER41> Do you work out or do physical exercise of some sort? For me, that was/is the key to good sleep.

</comment><comment><USER42> Try some melatonin spray. Does wonders for me

</comment><comment><USER43> Take anti-anxiety medication.

</comment><comment><USER44> I'm going to treat this answer as if you're suffering from insomnia. True insomnia may or may not be your problem, that's up for you and possibly your doctors to figure out.

The basics for treating insomnia:

\- exercise regularly

\- eat healthily

\- get enough sunlight at the right time of day. If you're waking up too early then you want more sunlight in the afternoon and evening.

\- practice good sleep hygiene. This means you only use your bedroom for two activities: sleep and sex. If you lie in bed for more than fifteen minutes without falling to sleep or wake up early and can't get back to sleep, get up and go somewhere else until you are sleepy again. Don't lie in bed trying to sleep. The brain becomes acclimatized to being awake in bed, and that's bad.

Now, the medication-based approaches:

\- consult with a neurologist if the above approaches don't help.

\- Personally I found a low-dose anti-anxiety medication to be extremely helpful. Many of these cause dependence and can be hard to get off of, but on the other hand chronic lack of sleep has significant medical risks of its own, so I felt the tradeoff was a good one.

\- prescription sleep medications can also be helpful, although somewhat less so for someone who wakes up too early as opposed to someone who has difficulty falling asleep. If you go this route, you probably want to try Sonata, which has a short half life versus, say, Ambient and therefore leaves you feeling less drugged after three or four hours.

\- I also found Rozerem to be very helpful. Unlike all other sleep medications, Rozerem is a melatonin receptor agonist. It does not sedate you; it reinforces your circadian rhythms. It does not leave me feeling drugged and does not affect my sleep architecture.

Now, the Cognitive Behavioral Therapy approach:

\- you can train your brain to associate "bed" with "sleep". It ain't easy, but for many people it works and doesn't require medication.

\- figure out how long you're sleeping on average.

\- for a week, do not go to bed at all until one full hour less than your average sleep duration. In other words, if you sleep six hours a night and wake up at 7, don't go to bed until 2 AM. Keep this up for a week. The idea is to intentionally build up a sleep deficit, so your body will go to sleep quickly and stay asleep. Continue to religiously wake up and get out of bed at 7.

\- the next week give yourself an extra fifteen minutes of sleep. Go to bed at 1:45 AM, or get up at 7:15.

\- keep this up until you are getting the amount of sleep you need.

\- If at any time you find yourself not going to sleep immediately or waking up too early, back up fifteen minutes.

\- By the end of the process you hopefully have retrained your brain to associate being in bed with being asleep.

I personally found consulting with a neurologist and figuring an approach that worked for me to be very helpful.</comment>


Why aren't Apple's error messages written by marketers? - <AUTHOR> http://conversionvoodoo.com/blog/2010/06/why-aren%e2%80%99t-apples-error-messages-written-by-marketers/

<comment><USER2> Okay... that redesigned error message looks like every error message I run into on Windows and the link always points to a useless page on microsoft's website. I prefer the other error.

<comment><USER3> Actually, the other day I was installing a patch to a Microsoft game, when it crapped out on me and rebooted.

I got the "would you like to report this information to Microsoft" prompt, figured "hey, it's Microsoft game after all" so I hit yeah, and it opened up Firefox and told me that the problem could be addressed by downloading an updated sound driver.

So Microsoft does do this right, when there's a solution.

</comment></comment><comment><USER4> Hmm do you really want "Whoops, we apologize a slight error has happened, but behold everything is alright..." instead of "Error C0000005 go google this"?

<comment><AUTHOR> Yah but:

[http://www.guardian.co.uk/technology/blog/2010/feb/11/facebo...](http://www.guardian.co.uk/technology/blog/2010/feb/11/facebook- readwriteweb)

</comment></comment><comment><USER5> I am guessing that there are dozens or maybe hundreds of assertion type errors like this buried in the code. Only a small fraction of them turn out to be real errors that actually occur in the field.

So presumably the guy who coded the original error message didn't anticipate real issues and likely didn't have a handy resolution available. Only later, once the code was in the wild and the error started happening reasonably frequently in the real world did customer support investigate the problem more. Eventually a workaround was developed and made available on a website.

<comment><USER6> Sure, but the link could go to a dynamically generated page; for the truly rare (or nonexistent) errors the response will be sparse, but for the cases that arose semi-frequently after the app was released into the wild, the website could have up-to-date fix info.

</comment></comment><comment><USER7> Defensive Design by 37 Signals and Don't Make Me Think by Steve Krug are both great books about how to design for when things go wrong. Engineers, in addition to designers, should read these books post-haste. EDIT: If you're a hacker in SOMA/SF and want to borrow either of these books they're very quick reads.

The trouble with technical error messages is that almost invariably, engineers end up writing them. "Not my area of expertise" or "I put in a request for copy months ago" are some of the many reasons that poor error handling happens.

Additionally, having a truly helpful environment requires additional resources: In the example in this article, the "Heres how to fix your problem!" link would require an additional application to keep track of known issues and solutions.

That being said, it's exactly how every application should work: Error messages like this may not be daunting to more technically proficient users, but the vast majority of users are not technically proficient and many users simply give up (if they can) when they see an error message that they are unable to understand/fix.

</comment><comment><AUTHOR> For that matter, why aren't everybody's written by markters or at least given some UI thoughts?

People talk up good customer service all the time - sort of starts w/the error message IMO

<comment><USER8> "Keyboard not found. Hit F1 to continue"

<comment><AUTHOR> Remember "This error should not have occurred."?

<comment><USER9> "lp0: printer on fire?"

<http://en.wikipedia.org/wiki/Lp0_on_fire>

</comment></comment></comment></comment><comment><USER10> Written by marketers? You mean something like "An error occurred! Oh, and have you signed up for our promotional newsletter? It's FREE!"

<comment><USER11> Ugh, fuck that. They should be written by UX Designers who've gotten persona research from marketing and know the use cases from development.</comment></comment>


Hi HN, try my app for Twitter organization (HTML5 browser required) - <AUTHOR> http://tweetbe.at/

<comment><USER2> I'm really looking for a way to view all the people I'm following that I have not categorized into the list, would love a "sort by unlisted" other than that it's looking great.

<comment><AUTHOR> Would be cool I agree but I am waiting for some more features from Twitter API before I try and add that.

If you go to your lists and click 'load all', then go back to your following list, you will see labels next to everyone who is on a list - so you can quickly see who is not listed.

</comment></comment><comment><USER3> Looks nice, however, clicking the back and forward buttons doesn't do anything for me using chromium on ubuntu (worked in firefox). It seems you are using the jquery history plugin to manage this, and trying the demo page at that plugin, it didn't work either. It seems that jQuery.browser.safari is set to true when it shouldn't be is causing the problem. If I set jQuery.browser.safari = false, the back and forward commands work on the demo page and your site. Not sure how you would test for difference between chrome and safari, but figured I'd let you know anyway.

<comment><AUTHOR> Thanks for letting me know - fixed now

</comment></comment><comment><USER4> Thanks, I found it useful. :)

A small bug I noticed: longer biographies aren't showing up in full [1]. Happens in both Chrome 5.0.375.17, Safari 4.0.5 and Firefox 3.6.2; OSX 10.6.3.

[1] <http://cl.ly/YXs>

</comment><comment><USER5> It looks nice. But it would be nice if clicking on the logo return back to the front page.

<comment><AUTHOR> Good idea - now it does that.</comment></comment>


Ask HN: Are desktop apps dead? - <AUTHOR>

Following HN and other sources on Internet, it has started giving me feeling that I should not thinking of an app that is downloadable on Desktop PCs after paying a certain amount of money. Am I right? Why most of the companies keep going for SAAS model despite of we know that it always ask us to remain connected on Internet. <comment><USER2> No. Desktop Apps are not dead. Desktops (with a full-fledged keyboard, plenty of screen real-estate and proper multi-tasking are alive and kicking for content _creation_

For content consumption, tablets and phones are much more convenient, especially since they are used with well-optimized GUI. This will not change until there are new and better ways of inputting (and working with) large amounts of text, audio and video on portable/touch devices.

<comment><USER2> I typed this response from my android phone and the experience on android 4.2 is still shitty.

Typing into an overflowing textarea, Scrolling, changing a sentence, spelling correction, it's just a tedious process. On a desktop I would have been 100x faster and more accurate.

<comment><USER3> And yet, what device /did/ you end up using?

</comment></comment></comment><comment><USER4> As always, the answer is "it depends". What is your market? Who are your users?

It is better to start with the market and problem you want to address, then find out what kind of platforms they possess (and plan to continue to possess) and build for that platform, than to start from the technology side.

</comment><comment><USER5> Depends on what you're making. With OS X, I don't think desktop apps are out of the scene just as yet. I see a lot of great apps on the Mac AppStore which are throttling sales. Coda, iA Writer, and Mindnode, just to name a few.

</comment><comment><USER6> We prefer SaaS because of: 1\. Data Safety (and sometimes for high risk information companies prefer a desktop app for privacy) 2\. Multi-Platform 3\. Access from everywhere 4\. A better UX (in most cases) 5\. Maintenance,Maintenance and Maintenance (a bug in your desktop app is terrible, but SaaS? you can solve in for all customers in a second) 6\. Prevent hack and cracks! (That's really a huge money-loss)

Really these are very serious problems. But there are some cases you should use desktop apps.

<comment><USER7> Having created and sold several Windows desktop apps over the last 10 years...the worst thing about them is getting updates out to users. I regularly get bug reports sent from my apps, mostly from eastern European countries, that are several YEARS worth of updates behind. I assume they are cracked versions, so I usually pay no attention.

</comment></comment><comment><USER8> See also: <http://news.ycombinator.com/item?id=5023123> (Do you think the desktop is dead?)

</comment><comment><USER9> There are some advantages and disadvantages of desktop or web apps. Some things can be done with only desktop apps. So they are not dead any time soon. Also nothing stops you from creating a native desktop client for your web app if you need one. But it only depends on your specific app. You could probably share you app idea so we could give a better answer. cheers.

</comment><comment><USER10> You're conflating two issues, method of delivery and method of payment. There are a number of very successful desktop app that are SaaS (Dropbox and Evernote come to mind).

The reason that SaaS is so popular is that it provides a much more predictable and reliable income over one-off sales.

<comment><AUTHOR> To make things simple, when I mentioned it means a recurring model of payment.

</comment></comment><comment><USER11> It depends. Consumer or commercial market? Productivity or games? Low-priced popular or high-priced niche?

EDIT to add: Win, OS X, Linux? Also, I would not do any desktop program without also thinking about how it would be as a tablet app -- iOS, Android, RT.

<comment><AUTHOR> As per my knowledge Windows is still dominating in market so a windows based desktop app.

<comment><USER11> Windows does dominate, but how many software programs are now unused because people have found they can duplicate those functions on a tablet? Do you think a map app would be popular on the desktop when a tablet can do that better?

</comment></comment></comment><comment><USER12> A lot of geeks on HN bought JetBrains' Desktop IDEs during their End-of-World Promo (going by the responses to that thread).

Not Everything Yet.

<comment><AUTHOR> IDE is quite a different thing. IMO web based IDEs are not as mature yet as Desktop IDEs.

<comment><USER13> Tried cloud9? It's actually very mature. The reason it's not widespread is because it doesn't offer any significant advantage for most developers. What's the advantage? Develop in the cloud, your environment everywhere? OK, so maybe it's an advantage for developers who don't know how to use ssh/scp/sshfs. So, for most talented web developers, the additional problems being solved aren't there.

It does solve: hey, I'd like to be lazy and develop with my stock chrome book. It does solve, hey, I'd like to develop without installing software (I think schools will be big customers, especially to get all the setups at once!?) but your typical good developer, is going to be very attached to vim, emacs, sublime text, or whatever he normally uses that isn't part of cloud9.

For developers of more complicated software, embedded, OS, etc. Or even for mobile devs, cloud9 is a non-starter since it doesn't integrate with their physical environments (Like, their ARM board, or iOS device, nuclear reactor, or whatever) so for a wide range of things it's just not an applicable solution.

I think cloud9 will see success in education markets, as well as business from developers who do lightweight web dev work who don't have a favorite editor already.

</comment></comment></comment><comment><USER14> We can all go for a vacation if the Internet is down.</comment>


The State of Meteor Part 2: What Happens Next - <AUTHOR> https://www.discovermeteor.com/blog/the-state-of-meteor-part-2-what-happens-next/ <comment><USER2> I am amazed by how the article attempts to look forward to what the future will hold with JavaScript frameworks... and yet seems to be completely both dismiss or misunderstand (perhaps willfully) why previous frameworks have succeeded.

jQuery did not succeed because it was a 'good enough' competitor to dojo or prototype or mootools or extjs... it succeeded because it went completely the opposite direction. it did not attempt to be a fundamental ui framework like those guys, it didn't try to be full featured, it didn't try to change javascript to look like another language and didn't try to shift the paradigm of the front end development world.

<comment><USER3> jQuery filled a need.

It's as simple as that.

Its success has nothing to do with looking in the other direction or not redefining Javascript: it solved a problem that a lot of Javascript developers were struggling with.

Now what's really fascinating to me now is that while one can safely say jQuery created a revolution in the Javascript world when it came out, it is today widely looked as a smell and avoided as much as possible in favor or frameworks that modify the model instead of the UI.

And this quick rise to success and fall to obscurity could very well happen to the successful frameworks we are currently using today (including React).

<comment><USER4> it wasn't "quick" though. React had a good run. One of the best "runs" you could hope for at the end of the day.

<comment><USER5> You mean JQuery had a good run?

<comment><USER4> oops, yea.

</comment></comment></comment></comment></comment><comment><USER6> I said more in the other thread, but I'll leave another note in this one.

What I think Meteor has the most going for them is the ultimate UX experience for the developer. If they really hone in on making it enjoyable, and dare I say fun to work on product... then they've won in my book.

Meteor has given me that feeling thus far, and given the new trends in the community I am sure they are moving in the right direction. I've spoken with the guys there and they are carefully reviewing what the best routes are to take that creates the best experience.

Meteor is not just a vision, it's a real experience you can tap into right now that benefits a very powerful suite of tools to get up and running. We have an enterprise app built with it and it's going great. Yes, it'll bite you in the ass if you don't learn how things work (pub/sub/mergebox/reactivity) but just dive in a little and you'll see it's just a library composed of other libraries that are well documented and easy to learn. It's all really quite simple really. The beauty and evil word "magic", is how they all play well with each other.

React is probably a better choice than Blaze at this point, even for the pure fact that it allows Meteor to not worry about the view and focus on the overall UX experience of the developer above all else.

<comment><USER7> I couldn't agree more, it's a god send not to have to wade through documentation and work around a hundred errors while you set everything up; before you've written any code. The freedom to iterate on new ideas quickly that a NoSQL database gives you is rather nice too (even if that's a terrible reason to choose a performance-critical part of your stack).

I'm sure all this magic comes with a penalty further down the line so I'll let you know whether it was worth it when I get there...

</comment></comment><comment><USER8> I completely agree and I'm excited about this vision for Meteor. The dream would be to have a go-to choice with formidable standards that Just Works.

Personally, what I wish existed was a full-stack framework AND dev ops built with the "best" open source libraries. I'm fine with not having my favorite X if it means having a set of well supported, highly performant with lots of documentation and training materials services that work perfectly together.

Starting a new project the "right way" is a pain right now. Again, I would gladly trade my favorite libraries/tools for a great full-stack solution (including dev ops, continuous integration, roll-back deployment, scalable servers, etc etc.)

Software engineering is still a new field and it's hard to establish "best ways of doing things", but I'm wondering if it'll start converging to "The Proper Way". Similar to how building houses is pretty straightforward. Of course, part of the reason that it's hard to do in software engineering is because technology keep changing so fast.. I.e. Tools from a few years ago will most likely not play well with VR stuff.

<comment><USER9> I'd strongly disagree with the idea that we need or even want one ring to rule them all. Remember different frameworks are designed to solve different problems in different ways [1][2]. Anyone who has dug deep enough into a framework or tool-set will be able to write out a very long list of unique quarks, gotchas, caveats, hidden strengths/weaknesses, and what have you. It's those differences that will make one framework more valuable in a given domain then the other, we want that because there are many, many, domains to conquer in software engineering.

IMO, innovation stops when we believe we've found "the best way of doing things". I'm all excited to check out Meteor too, but I'm not getting in line at the Apple store, I mean full-stack framework store, on the day of release to be a guinea pig for the "new best thing" at my personal expense (time).

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

[2]: [https://en.wikipedia.org/wiki/Django_(web_framework)](https://en.wikipedia.org/wiki/Django_\(web_framework\))

<comment><USER10> What if we replace "best" with "good enough for most common uses"? Most of the roads and bridges we build today aren't pinnacles of innovation, they're just good enough that we don't bother optimizing them much more. With how young the software engineering field is I don't think we'll get to this point in the near future, but part of me looks forward to a day when we have widely accepted standard solutions to common problems that don't go out of style for decades.

<comment><USER9> I think there is a difference between "just good enough" and "has reached maximum efficiency". I think a lot of people want to settle at the first one, yet I see the second one nowhere in sight.

</comment></comment></comment></comment><comment><USER11> Meteor's best trick has always been data synchronization.

That was the magic trick that sold your client.

They proved real-time data synchronization could be simple and seamless, and everyone else had to run to catch up.

But that trick is now 4 years old, and nothing else of substance really emerged.

As Ember, Angular and React grew, you were never going to want to use their odd looking front end.

Their data sync also came with dubious claims to scalability, not the least is their tie to Mongo.

That may be fixed now, but the consequence is being tied into Meteor Galaxy.

Meteor should have thrown everything away, and become just the data layer.

Like Firebase, but open source, and backend / datastore agnostic.

They tried to standardise DDP, but it didn't catch on.

But what the world needs is a standard like GraphQL, but handling data updates, and with automatic realtime data sync.

Thatd be a wonderful legacy for Meteor.

But this won't happen, as the company needs to make money from hosting.

<comment><USER6> GraphQL and Relay may be the answer but it's too young to make that switch now and Meteor is solving that exact problem. Meteor has the momentum and community to take it further. Maybe it actually adopts the GraphQL standard and unifies it into the ultimate dev UX experience.

<comment><USER12> Yeah, I went down the Relay/GraphQL rabbit hole for a good 1.5 months last year, but unfortunately there is a tremendous amount of work to set up GraphQL servers to even get your data out to Relay, and it is not real-time at the moment (although the 'community' appears to be work on it. I so wish Meteor would provide a drop-in module for just the DDP, I don't even care if its Mongo, their real-time subscription works.

</comment></comment></comment><comment><USER13> I predict that Meteor will won't go anywhere in 2016. I know this sounds negative so I'll try to explain. The surface area of Meteor is still too large. Keep in mind this is a venture backed company, people are getting big salaries to work on a framework. Look at what it's led to: in house tools like Blaze which even the creators are already tired of. At best Meteor will be 90% cannibalized and replaced with open source tools (as this blog post is implying), and sit properly in the same place as other CMSes, which inherently don't get that popular. What's worrying about this post in particular is it's not business focused, and the only long term company goal mentioned is "meteor will be a back end solution that makes sense." To what end? Why wouldn't you do that in a non-profit or pure open source model?

<comment><USER14> Why would the post be business focused? The guy that wrote it doesn't run "Meteor the business", he just loves the framework itself.

I am not even sure how a CMS got mentioned and compared here.

<comment><USER4> Meteor has as a better chance than ever, ESPECIALLY if 90% of what you can do in Meteor you can do in "bare metal" NPM! Meteor doesn't have to provide that many "features" to win over the NPM crowd that it has struggled to acquire thus far. It's so damn complex to implement all this stuff that most developers need help doing it.

Meteor's problem thus far has been it makes it easy but provides no way to "drop down" to a lower level and configure things like you would on "bare metal" NPM!!!! Despite its easiness, this has scared away many developers from Meteor--especially the expert developers who would otherwise evangelize once they joined Meteor.

Therefore, Meteor just needs to provide a way to BOTH do things with sufficiently less boilerplate (like it's always done well), but also allow you to drop down to make lower level tweaks as you would on "bare metal" NPM. And perhaps even an intermediate tier in between for some features.

For example, Relay + GraphQL is great but there should be the "beginner's way to Relay."

So the killer feature in fact isn't a "feature" in the traditional sense, but rather a mechanism that only a full stack framework could provide. Being the only full stack framework that matters (and the only "reactive full stack framework" in existence), Meteor is well positioned to scoop up the entire NPM market if it plays its cards right!

<comment><USER15> Unless this comment is from SMM team at Meteor, WTF? What is NPM market :)? "Bare metal" npm? Name single sizable project that uses Meteor? You do realise that for 90% of enterprise projects it's a wrong tool. There is no usable universial/isomorphic option, you can't expose API for external consumption, if you have to consume services on the backend the only cool feature that Meteor has is gone. Not to mention long term risks of what will happen to the project when vc funding runs out.

<comment><USER4> My assumption is that Meteor is moving towards becoming like any other app you can build on NPM. That means Meteor will be the wrong tool anywhere NPM/node/javascript is the wrong tool. That's a fine agreed upon limitation.

Currently Meteor is a layer above NPM, which is why I'm referring to NPM as "bare metal" NPM--you clearly knew exactly what I meant. Meteor needs to become an adjacent resource to thrive.

So my prediction is if Meteor does this correctly they will no longer scare away expert developers and grow more than they ever have.

<comment><USER15> NPM is a package manager. Expert developers are not scared it's just Meteor is horrible solution to majority of use cases that they need to address. You need to read up on what Meteor actually is and what it's limitations are. Major ones have being outlined above: 1) No usable uinversial/isomorphic option so SEO is gone. 2) you can't expose API for external consumption 3) you are tied to only supported storage backends 4) if you are not talking directly to storage layer it's only cool feature is useless

None of the above is limitation of node (or has anything to do with npm package manager).

</comment></comment></comment></comment></comment></comment><comment><USER16> It is kind of sad that this wonderful framework, from total awesomeness, came to this situation where I am not sure what will future bring and should I make my projects in Meteor.

Meteor started with huge advantage, it is auto reloading, it has data layer that is very simple to use, it syncs across clients. On top of that, you can package mobile apps with it.

One thing I really loved is Velocity, testing runner that would display a dot in the corner of the screen, it would run a testsuite, and if it turns red, you can click and learn what test failed.

I was hoping it will be more awesomeness, instead, they eliminated Velocity, testing is not clear cut, db layer that needed most attention is not getting enough, whole focus is on frontend.

React is awesome and adding it, it really brings a lot to Meteor, but I think Blaze was good enough.

Anyhow, now I am Elixir/Phoenix dev, don't feel the same pain I did before, but any positive news from Meteor would be very much welcome.

<comment><USER6> Phoenix is the only other thing that really appeals to me as something I want to try that is fun. That was the great thing about Meteor, it got a lot of shit done, and it was fun. That's important.

What do you do to hook into Elixir? What's your tech-stack for the other side of the back-end?

I was looking into phoenix/elxir generating GraphQL but that seems pretty immature and at least a year out to be comparable with Minimongo/ddp.

<comment><USER16> I just use Phoenix/Elixir. I can wire it with React, but honestly I am starting to question this. Only if I really need React, I will actually use it. So far I work on simpler stuff, api's and smaller apps.

<comment><USER6> Yeah that's the thing though. Meteor made the front end trivial. That's a vital piece to the whole pie.

Oh well, I guess we'll see how the next year goes.

</comment></comment></comment></comment><comment><USER17> Might have been different if they had chosen to embrace SQL, instead of just putting it on the roadmap and letting it rot.

<comment><USER18> This has been my feelings on meteor as well. It looked neat and I went through some of the tutorials and such, but really had no projects I could use it on. All my current projects interact with various sql database at some point. I realize that isn't as cool as all the nosql stuff, but I kept hoping they would get to it, and then kept getting disappointed.

It's a pretty narrow full stack to me if you don't have real support for sql databases. It's been sitting there for 3 years and has about the highest votes of all them. They had a post about experimental postgresql project in august([http://info.meteor.com/blog/an-early-look-at-sql-in- meteor](http://info.meteor.com/blog/an-early-look-at-sql-in-meteor)), but it's mostly sat there with a few updates since then. It doesn't seem to be much of a priority.

<comment><USER19> Exactly this..

</comment></comment></comment><comment><USER20> Why will it be any different this time compared to last time with GWT, Dojo or SproutCore?

Server - client binding javascript widget frameworks are nothing new, and they have, historically, failed to be capture broad adoption because they require a very specific backend.

If you had an excellent series of react components with data binding done via an open server specification and meteor just _happened_ to be one implementation that backend; people would really dig that!

...but there would be a lot of people who didn't use meteor at all; and just wrote their own server implementation for it.

        "but wait, if we end up using React, Relay, and GraphQL,
        what do we even need Meteor for anymore?".
        ...
        This all boils down to one key fact: Meteor is the only
        framework that controls the whole stack.

So what? Who cares? Controlling the whole stack isn't even remotely interesting unless there's some _tangible_ benefit from it.

This is by far the weakest and least compelling part of this article.

        So this is my vision of the future of web development
        for 2016. React as a common front-end standard, and
        Meteor starting out as one of many possible back-end
        choices, but slowly becoming the one that just makes
        sense.

You really need to try harder to explain why Meteor would be a compelling choice for people then.

If the front-end component api is well defined and backend agnostic, meteor seems to offer literally no particular benefit over any other backend someone might choose.

</comment><comment><USER21>
        This is important because development standards are a
        winner-takes-all game: once jQuery became the default, it enabled an
        explosion of plugins and components built on top of it,
        and every JavaScript widget became a jQuery widget.

        The exact same thing might very well happen with React.
        And that's a very exciting  thing for Meteor.

Thankfully we know a bit better by now, and build modules with a small surface area that are not directly tied to frameworks or plugin APIs. So no, I'm not so excited about that happening to React.

</comment><comment><USER22> Can someone chime in as to whether React won the frontend war? As in the super majority of new project will be developed in React. I'm not that well-versed in the Node ecosystem (I got my news from ... HN). But from little I've seen, I found it hard to believe that React would be able to react the place where jQuery was (is?).

Heck, we even have a post staying on the front page today lamenting the inferiority of React.

<comment><USER23> I was about to abandon Angular 1 for future projects and go all in on React. And it looked fairly promising, except everything is its own little module. Good for UNIX, but not so good for modules that change so often.

Then I started catching up on Angular 2 and TypeScript. It looks like the right mix between new and opinionated. I just don't have time to research a module for data, one for building, one for testing, and one for validation. That's where an opinionated framework comes in handy.

I do hope Angular 2 takes off.

Any other Angular people out there weighing in between React and Angular 2? If I were a betting man, I say it's going to come down to those two for the next few years.

<comment><USER24> I totally agree with you.

It took me lots of time just to figure out to write a 'PROPER' react application. There are too many modules to choose from for routing, data acess etc..

Then I tried with Angular 2, it look me less time to get up and running with forms, routing and everything...

<comment><USER25> It may take you even less time with Aurelia!

<comment><USER24> Aurelia too seems interesting. Since I have done development in Angular 1.x before, Angular 2.0 was the natural choice.

From the look of it, Aurelia seems promising, need to look into more before I need to comment anything.

</comment></comment></comment></comment></comment><comment><USER26> The problem with Meteor is _not_ the front-end. The problem is that data exists (for the most part) in Relational DBs.

This prevents Meteor from being used in any environment that needs to/wants to use a SQL db.

This prevents Meteor from being used in any form, for any application that needs to access existing data in a SQL db.

React does not prevent Meteor being adopted - not having SQL support is a dealbreaker.

If Meteor does not confront and solve this problem nothing else matters.

The _only_ thing MDG should be doing in 2016, is SQL DB support.

<comment><USER27> It's probably too late. The work they've done with blaze is wasted since react and angular(still) are dominant. The work they've done with MongoDB is wasted since most of the world wants SQL. So what do they really bring to the table. It feels like too little too late.

</comment></comment><comment><USER28> _This all boils down to one key fact: Meteor is the only framework that controls the whole stack._

 _After all, the fact that no other company than MDG has even tried to make it happen should be proof enough that it's not trivial._

I did it, over the last 4 years [http://qbix.com/platform](http://qbix.com/platform)

Actually our platform aims to be an entire "Wordpress for social networks". We realized that identity, security, roles, permissions, consistency and realtime updates etc. are hard to get right and building a standardized platform will free up developers to focus on what their app does instead of reinventing the wheel, etc. Not only that, but it will allow interoperating and reusability of components across all the sites.

And yes, it does routing, pagination, components and more in a way that will give Angular and React a run for their money if you check it out.

Also it does a lot more: [http://qbix.com/platform/features](http://qbix.com/platform/features)

PS: try loading all this on your smartphone!

<comment><USER29> This looks fantastic! Please could you write some words aimed at potential recruits to qbix? What to expect, what not to expect. I noticed, in scanning your site quickly (... I think all content should bear the 'scanning user' in mind, but that's another topic) that php is mentioned. What php knowledge is required? What JS knowledge is required? Make it easy for people (I mean really, visitors who are pre-tutorial) to decide if they have the wherewithal for it to be worth them making a modest commitment to take it for a test drive.

<comment><USER28> You can put together a site with hardly any PHP knowledge. Just place reusable componenets on pages, or widgets that connect to ready-made backends... but then you don't really need this framework.

But if you have some basic PHP knowledge, you'd create more pages, and perhaps some backend actions.

As far as the PHP and JS knowledge, see [http://qbix.com/platform/guide](http://qbix.com/platform/guide)

The more PHP and JS you know, the more you can do. Unlike React and Angular, though, everything is named in a super-straightforward way, like Q.page and Q.Tool and tool.children() etc. So you just go ahead and build your site and Qbix does a ton of things for you, like dynamically swapping out css/js as you navigate pages, takes care of history and routing, activates and removes tools and their associated events, lets you subscribe to exctly the events you need, and documents conventions you should use to play nice with everything else.

</comment></comment></comment><comment><USER30> Dove into react and redux and built a couple of small apps. They are amazing not because they add some "fancy" features but because they train you to think with a different, much cleaner and simpler, mindset. Before your brain "clicks" you feel miserable. After it does you think "why on earth isn't everybody using this??" and any problem is solvable by dispatching actions and building reducers (thank you Redux!).

Three days ago I spent a couple of hours on Meteor's simple-todos tutorial, trying to understand how everything was working (that is, at an abstract level). I felt great after finishing it. Two days ago I started building a service we'd like to launch within a couple of months, e-commerce like stuff. I felt miserable. Pushed the first "draft" with a customized sign up and I felt like I had no idea how to proceed.

Yesterday I spent 4 more hours, started using packages like autoform, collection2, something for bootstrap, iron-router etc. and I feel FREAKING GREAT. Again my brain clicked and now I implemented ~70% of the features with validation, defensive checks on the server for security, nice-looking popups, good overall UI... I mean, I intended it to be a prototype, maybe mocking some parts but, damn, we basically already have a MVP! In 3 days (effectively ~12 hours)! And now I already know how to implement the rest, it just feels _natural_ now. Like when you have a solid plan and you think it through in your head and you KNOW how to implement each and every step of it.

You can hit a wall with Meteor as much as you can with any other framework (I mostly use Django). It's all about reading the docs, looking at what the community is doing and try to adhere to some "guidelines" (if there's no standard way of doing something). I will let you know how it scales when we reach a couple million users (bazinga!).

<comment><USER31> I don't know if you are aware but there is now an official guide which goes way beyond the scope of the docs.

[http://guide.meteor.com/](http://guide.meteor.com/)

<comment><USER30> Yes I'm already reading that. Thanks for the hint!

</comment></comment></comment><comment><USER32>
      >  And Angular is… well, it's not React.

Can someone explain what this statement means in terms of the technical benefits of React over Angular?

<comment><USER33> Probably just means that Angular (at least seems to be) losing momentum and marketshare to React. It's hard to go a day without seeing something cool or exciting about React on the front page here, but all you see about Angular is either nothing or articles about the upcoming(?) transition to 2.0.

</comment></comment><comment><USER34> I've been using Meteor for little over a year now and to me, the real selling point for Meteor was the insane speed, productivity, and almost instant gratification that results from that speed: all of a sudden you went from having to configure a million different moving parts to just coding, almost forgetting that you are coding in the process, enjoying yourself, and suddenly seeing your features pop out of nowhere. It's quite magical.

For someone like me (I'm more of a designer who can code than the opposite), the reactivity, feedback and interaction with your code make the whole process feel much more "hands on", almost like sculpture, in the sense that you are able to poke things and see them react instantly. And that makes all the difference.

Yes, many problems do appear once you dive deeper, but I've never used another tool that brought me closer to my ideas than Meteor. And in the end, that is for me the single biggest achievement here.

</comment><comment><USER35> Meteor started off so brilliantly. I wish the team would focus and just make it great.

Many people would complain about SQL and what not but the truth is there's a very large number of people who are quite happy with MongoDB and the fast experience building an app.

However there are some really big issues that seem to be ignored:

1) It's nice that its backwards compatible but some essential features are missing such as a router. Iron Router is available but it's practically abandoned. You can't even have URL's such as /2 on it.

It makes it hard to keep an app for the long run knowing there is a risk of an essential component about to be abandoned.

Other similar projects include Meteoric (an Ionic wrapper)

2) I wish they'd focus on making Blaze work. It works. Many people don't like react and just want an App build on V1 to work with V1.5 and V2. The lack of clarity is harmful to the use of Meteor in The Enterprise.

3) The build time. It used to be that Meteor built a project near instantly when a file was changed and hot code changed the page. Now it takes a good 20 or so seconds for a simple line change. It seems over the top.

4) Clarity and focus on direction. They spent ages pushing people to their Npm system, now they're going back. Why not start with node_modules/complete npm support instead of flipping back and forth. The volatile state of affairs with Blaze, Npm and the general structure of an app manifests risk in choosing Meteor for an actual Enteprise grade app.

5) A focus on improving what already works well over adding new features and degrading the performance of existing features.

I mentioned the build time, but other parts of Meteor such as Cordova, Blaze, Tracker, Mongo (Meteor uses MongoDb 2.6?!) would certainly help more.

I'm not sure what's happened but it seems a lot like the team is losing focus of what people actually like about the project.

<comment><USER36> I especially agree with 3). I was expecting more people to mention this. Compared with other build systems like wepback or gulp, meteor rebuild times are insane.

edit: Just checked out the Meteor Roadmap, and build times are not even mentioned there.

<comment><USER35> It used to be. The current implementation is the result of the effort in speeding it up.

</comment></comment></comment><comment><USER37> Only semi-related...but why do you think Mithril is always so easily dismissed? I kind of get it: huge companies are working on and adopting React. But after using Mithril, I just can't figure out why it has failed to catch the attention of more people.

<comment><USER38> Mithril succeeded in catching my attention because creating a good mobile web experience is important to me. This does not necessarily explain why it has failed to catch the attention of others, but might be a clue.

</comment></comment><comment><USER39> what major production apps are build with Meteor? This might be the wrong place to ask but I figured it's worth a shot.

<comment><USER40> [https://www.quora.com/Which-startups-use-Meteor-in- productio...](https://www.quora.com/Which-startups-use-Meteor-in-production)

</comment></comment><comment><USER41> I strongly urge you to take a step back and really look at React community from 30,000 foot view. Please don't get on the hype train without taking a look at other solutions. Vue.js as far as libraries go, and Ember as far as framework go. I promise you, you'll have a better experience.

<comment><USER42> Vue.js seems like backbone. Last time i checked Ember looked way complicated. What i like about React is the simplicity. Its basically JavaScript with few React functions thrown in. As a view component its very good. I have used it in normal rails app as well.

</comment></comment><comment><USER43> Seeing the Discover Meteor and Kadira guys embrace React with Meteor is definitely making me want to dive back into the framework after being very hesitant over the past few months. It's great to see ~someone~ with a clear vision for the future.

</comment><comment><USER44> Mootools is not an ancestor of jQuery, it actually was released after jQuery (by a few days).

From what I recall, the success of jQuery was not because it allowed to do more things. It was mainly because developers by then considered javascript as a lower citizen language and wanted to do frontend stuff without having to learn javascript - and jQuery allowed just that.

For (the few) javascript lovers, jQuery main advantage was to be a big decorator, not extending any native, which guaranteed there will be no conflict with other libraries when adding jQuery in a page (quite ironic, when you see how all libraries expect jQuery may be present in the page, nowadays).

</comment><comment><USER45> I gave it a try a few weeks ago but every other package was unsupported because a new package was being developed rather than following semver, the standard server logging was terrible when I had to debug a frontend dev's memory issue. Seems like the Wordpress of realtime applications. The DDP package is interesting but only helpful to supported DB's as far as I could see. I think choosing GraphQL will just narrow their 'full stack ecosystem' again. Why not provide better low level support for your community to write GraphQL Cypher, SQL and NoSQL themselves. There are some great packages I've seen for this.

</comment><comment><USER46> I'm sure that Angular 2 would be a better choice for a Ecosystem like Meteor. React is very nice, but annoying to find tutorials, get a decent size app going (routing etc) and Angular 2 is more mature (all the good and bad points of NG1 and other js-libs were considered). Next to Google also Microsoft is betting on Angular 2 (TypeScript). This will boost the community greatly. NG1 was slow. NG2 is amazingly fast (webworkers/server side rendering). So for a Meteor Use Case I would pick NG2. If I wanna build a simple Snippet I would use React.

</comment><comment><USER47> Is Blaze vs React really the issue?

Try running a Meteor app with >500 concurrent connections.

<comment><USER48> Let's say hypothetically I have 600 concurrent users, what steps can a Meteor dev take to increase performance?

<comment><USER49> Most meteor apps are stateless on the server so you can safely scale by adding more servers (and more server to Mongo if that's the bottleneck). This can be easily done with Cluster package ([https://github.com/meteorhacks/cluster](https://github.com/meteorhacks/cluster)). It's so easy you don't even need to configure anything.

<comment><USER48> I'll think it's easier (maybe more expensive) to just use Galaxy, and scale. Then host your Mongo database on Compose.io that also scales.

</comment></comment></comment></comment><comment><USER50> I just started with Meteor a few weeks ago, and thought it was absolutely amazing as a prototyping tool. I figured I'd be recommending it to anybody doing an MVP.

I actually do believe there is a business model there, but it seems they are focused on the high-end with hosting and support starting at $500/month

</comment><comment><USER51> This is fantastic. This removes efforts to maintain a random front end view layer while legitimizing the numerous react integration attempts. This will save a lot of time moving forward to phase out blaze.

</comment><comment><USER52> Can anyone here compare Meteor with a full Clojure(Script) stack?

</comment><comment><USER48> My thoughts: Meteor got popular enough that the Javascript loons started pecking at it and infesting it with the general lunacy that accompanies NPM and it's ecosystem.

MDG adding easy React support was a definite win and I think using Meteor with React is -the- way to write Meteor apps. But they need to start ignoring the crazies out there and focus on their vision.</comment>


Show HN: Lazy – A Python library for rapidly developing lazy interfaces - <AUTHOR> https://github.com/bwasti/lazy <comment><USER2> Cool. Won't it break if a function is "pure" from the practical point of view but in fact uses some variables (e.g. configuration parameters) declared outside of it?

<comment><AUTHOR> as long as configuration parameters remain fixed in the life of the execution it is still pure, right?

<comment><USER2> Yes, that's what I mean but I'm not sure from the theoretical point of view. I used to believe a truly pure function isn't mean to access anything but what is passed to it as an argument so it makes me wonder what a particular implementation may expect. Whether or not this is Ok can also depend on a particular language runtime or library (and I'm far from an expert in the Python VM internals so far) - it can be impossible or quirky for a function executed asynchronously to access something that belongs to outside of it.

<comment><AUTHOR> ah, the assumption is that even the remote call (for example, in the case of async) is pure</comment></comment></comment></comment>


Ask HN: Tools for keeping personal journals - <AUTHOR> I want to keep a personal journal and i am looking at various options. I am thinking of apps against a physical diary simply because of its accessibility. However I am concerned about the privacy aspect and am not sure if it is totally secure. My concern with physical diary is that it is not accessible and I don't trust myself to find time everyday to sit with a pen and a diary to write. What are the some of the options you guys are using if you maintain a journal? Are there secure offline apps that you know of? I looked at day one on Android but I M not convinced about its security <comment><USER2> Termux with vim? For some reason I like using vim on mobile but not really on my computer. I have no idea why.</comment>


That wasn't a Mayan lost city, just another example of the culture of hype - <AUTHOR> http://www.latimes.com/opinion/op-ed/la-oe-mulder-maya-lost-city-20160519-snap-story.html <comment><USER2> The articles about the city / no-city story had been submitted a lot of times. More than I dare to collect: [https://hn.algolia.com/?query=maya&sort=byDate&prefix&page=0...](https://hn.algolia.com/?query=maya&sort=byDate&prefix&page=0&dateRange=all&type=story)

The good new, is that one of the no-city articles got overwhelming more votes in HN. More popular:

"Quebec teen discovers ancient Mayan ruins by studying the stars" (yahoo.com) [https://news.ycombinator.com/item?id=11669996](https://news.ycombinator.com/item?id=11669996) (29 points, 10 days ago, 11 comments)

"Forgotten Mayan city 'discovered' in Central America by 15-year-old boy" (independent.co.uk) [https://news.ycombinator.com/item?id=11670503](https://news.ycombinator.com/item?id=11670503) (24 points, 10 days, 4 comments)

"Forgotten Mayan city: Is it just an old cornfield?" (independent.co.uk) [https://news.ycombinator.com/item?id=11681933](https://news.ycombinator.com/item?id=11681933) (33 points, 8 days ago, 19 comments)

""Ancient Mayan city" discovered by teen may in fact be cannabis crop" (bbc.com) [https://news.ycombinator.com/item?id=11687774](https://news.ycombinator.com/item?id=11687774) (115 points, 8 days ago, 46 comments)

</comment><comment><AUTHOR> Previously on HN: [https://news.ycombinator.com/item?id=11669996](https://news.ycombinator.com/item?id=11669996)</comment>


Foundation 4.3: Paving the Road to 5 - <AUTHOR> http://zurb.com/article/1226/foundation-4-3-paving-the-road-to-5 <comment><USER2> I've been using Foundation for everything lately, and I'm really impressed with it. This new medium grid size thing is a great upgrade.

What I never liked about the Bootstrap/Foundation CSS frameworks was having to mark up my HTML with those damn "small-4 large-8 columns" attributes. It felt to me like that purely-visual stuff should be kept in the CSS, not the HTML.

So I was thrilled when I found I didn't have to put any of that in the HTML - that it could all go in the SCSS, which then parses/compiles it into the final public CSS.

So you can just have:

blah

blah

... then in your SCSS file, do this:

      div#sidebar {
        @extend .columns;
        @extend .small-3;
      }
      div#article {
        @extend .columns;
        @extend .small-9;
      }

... and that's it! It adds those selectors to the final CSS file and your semantic HTML will have the layout/look you want.

To me, that changed everything, and I've been a fan since.

This has been covered other places, but I don't think it's been covered enough, and I think it was another HN commenter that turned me onto it like this, so just paying it forward in case someone else didn't know yet.

<comment><USER3> Bootstrap is written in LESS, which lets you do exactly the same thing. You have to get the source though.

<comment><USER4> If you prefer sass, there is a maintained bootstrap-sass port too. It works out fine, less and sass are pretty much feature equivalent these days, it's a simple port.

[https://github.com/thomas-mcdonald/bootstrap-sass](https://github.com/thomas- mcdonald/bootstrap-sass)

(You don't have to use it as a ruby gem, you can just download the source same as you do original less bootstrap, if you want)

<comment><USER3> After playing with Foundation, I must say SCSS's variable defaults [1] are a _much_ cleaner way of handling configuration than LESS's.

[1] [http://sass- lang.com/docs/yardoc/file.SASS_REFERENCE.html#va...](http://sass- lang.com/docs/yardoc/file.SASS_REFERENCE.html#variable_defaults_)

</comment></comment></comment></comment><comment><USER5> I've been following and using Foundation since some of it's earliest incarnations and I love it more with every release. It's a great framework and the grid is just _comfortable_. Also, very nicely done responsiveness (as in responsive design).

The guys behind it are great too. I've had questions answered quickly by the devs, and they even sent me some stickers and this weird wooden puzzle thing that I keep on my desk!

tl;dr - Definitely worth checking out.

</comment><comment><USER6> My only gripe with Foundation is the JavaScript components seem rather difficult to manipulate. I write applications with Backbone.js and I'm still not sure how to programmatically change the active tab in an accordion without resorting to $tab.trigger('click'). Also, the tab/accordion component has serious issues with FOUC (flashes of unstyled content).

Hopefully they can focus on improving some of these JavaScript components. I just don't have the resources right now to contribute pull requests when I run into problems - it's usually easier to completely ditch the component or write a bespoke version using a Backbone view.

<comment><USER7> Agree with you. I think we are not "supposed" to be using foundation.js. Especially in a widget-y environment we are in, it is faster/easier to just use Backbone events/handlers for everything.

I am defensively disposing of everything in DOM when not used and it seems just wrong to keep using UI components that are clueless to their state and everything is done by hiding content in the DOM.

</comment></comment><comment><USER8> If anyone is interested, I wrote a python package for Django to integrate Zurb Foundation. I just updated it to the latest version. It's not on PyPI yet, but I will put it there in the next couple of days.

[https://github.com/amarsahinovic/django-zurb- foundation/](https://github.com/amarsahinovic/django-zurb-foundation/)

[https://bitbucket.org/amarsahinovic/django-zurb- foundation/](https://bitbucket.org/amarsahinovic/django-zurb-foundation/)

Edit: I just uploaded it to PyPI, it was easier than I thought :)

</comment><comment><USER9> There was a recent RailsCasts on Foundation if anyone is interested: [http://railscasts.com/episodes/417-foundation](http://railscasts.com/episodes/417-foundation)

</comment><comment><USER10> I somewhat prefer the Foundation grid system to Bootstrap's equivalent; the way that the classes are namespaced for mobile responsive layouts is pretty handy.

<comment><USER11> The semantic mixins are fairly well done as well. I'm actually a bit torn between staying with Foundation and switching to Bourbon + Neat right now.

</comment></comment><comment><USER12> This looks great. I have a feeling that Foundation is going to gain more traction than Bootstrap in the long term. I've seen @mdo and @fat asked several times online when Bootstrap 3 is coming out and they've said soon for the last few months. Very vague. Foundation has the weight of a company, Zurb, pushing it forward.

<comment><USER13> There was a tweet on the @twbootstrap account today, looks like August 19th: [http://blog.getbootstrap.com/2013/07/18/ante- up/](http://blog.getbootstrap.com/2013/07/18/ante-up/)

<comment><USER12> Thank you for the link.

</comment></comment></comment><comment><USER14> Foundation has been my favorite over bootstrap for quite some time. Looks like the bootstrap guys are falling behind.

</comment><comment><USER15> My issue with Bootstrap and Foundation is namespace pollution. Neither has a prefixed version, meaning neither can be imported into an existing project without serious headache. I believe Sass will implement mechanisms to address this soon, until then, I'm disappointed to see this issue absent from the post.

</comment><comment><USER16> amazing, the lack of medium grid was what I was recently forced to hack myself, now I'll just upgrade. the form validator is great too. keep up the excelent work.

</comment><comment><USER17> keep up the good work foundation guys! It is always awesome to use a css framework which has mobile responsiveness enabled by default and just gets better!

</comment><comment><USER18> Nice! Like it!

</comment><comment><USER19> Great job Foundation - solid progress!

Still waiting for Bootstrap3 - don't understand why Bootstrap is so far behind wrt responsive layouts.</comment>


Ask HN: What Was Geocities.com? - <AUTHOR> Came across this website name when i was reading about sites that was acquired by Yahoo.com <comment><USER2> Geocities was a service people used to make web pages. It was one of the first places online where people got an Internet presence. People used it to make pages about themselves, their families, their pets, and their hobbies.

It didn't require any coding skills, and you could make a little page and suddenly be on the Internet. Back then, search engines were very basic, so there was this common idea of needing to have your domain, your site (both words being used traditionally to describe land and property), so you'd have presence. A more recent analog Myspace, where people could have a profile, show off what they liked, these kinds of things.

Fun fact: the entire Geocities archive was saved by a bunch of fans (I saw them at DWeb Camp this summer) and is below 500Gb - so it can fit on an SD card!

There's also a fan effort to recreate the experience of Geocities, called Neocities. It has a bunch of fan pages that will give you an idea of what Geoticies was like.

<comment><AUTHOR> Thank you so much your comment really answered my query. I am also more curious to checkout NeoCities.

</comment></comment><comment><USER3> I was on their pre-ipo team back then I was nearly fired for bringing a linux laptop to work in 1998 linux was as bad to bring to work as say a bag of weed they assumed I was trying to hack my own employer pretty funny considering how dominant linux is today but back then everyone swore by Sun Solaris.

</comment><comment><USER4> I remember some Geocities websites being horrendous in their appearance, making use of the "rainbow" animated horizontal ruler.

TBH I miss this era of the Internet when pages loaded fast even on slow computers (although Netscape was very fussy about its HTML). The past 20+ years of "progress" have just seen more and more JavaScript and unnecessary bloat loaded for pages, with very little content on them. Giant fonts, lots of fading-in of content, lots of scrolling required. It's pretty poor!

</comment><comment><USER5> For many of us, Geocities was an introduction to having a personal website and building community through the internet. Personally, I wish the old geocities sites were still accessible. Believe it or not - since this was before search engines (really) and wikipedia (really) many geocities sites were treasure troves of links that led to a world of information.

</comment><comment><USER6> [https://web.archive.org/web/19961226152953/http://www1.geoci...](https://web.archive.org/web/19961226152953/http://www1.geocities.com/)

<comment><USER5> Ha! The internet was better back then. Thanks for this...too bad it only goes a couple of links deep...

<comment><USER5> I used to spend a lot of time with the kooks because conspiracy theories used to be fun instead of dangerous - [https://web.archive.org/web/19961220171417/http://www.geocit...](https://web.archive.org/web/19961220171417/http://www.geocities.com/Area51/)

</comment></comment></comment><comment><USER7> I feel old for having the answer...

<comment><AUTHOR> Seriously?

</comment></comment><comment><USER8> Free website hosting popular in the nineties.

<comment><AUTHOR> Just like wix? But why it was popular?

<comment><USER9> A bit like wix a bit like dreamweaver/frontpage and a bit like myspace rolled into one, free hosting and an applet based WYSIWIG editor. Also a bunch of components like chat, guestbooks, webrings, etc. The also had a virtual community concept, with street addresses so you had neighbors and things like that. In retrospect that was a terrible idea, but maybe the analogy helped some less technical people.

<comment><AUTHOR> So it provided some way to insert components like we see today or you can write html code as it is and the page gets created?

<comment><USER10> there is a modern version of geocities, you can see what sites used to look like back in Web 1.0 [https://neocities.org/browse](https://neocities.org/browse)

geocities was the most popular way of having your own personal website back in the day, people were making websites for fun and you can see it in the sites and pages they created, overflowing with personality and quirks.

<comment><AUTHOR> Woah dude! I checked NeoCities and i got hooked up, checked the featured websites. So, my general question why Yahoo closed the Geocities?

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> How the website were created? Through direct html code injection or something else

</comment><comment><USER11> Really?

<comment><AUTHOR> Didn't get exact answer to my question. As my English is not good, the articles in English didn't help me with my question.

<comment><USER11> What's your native language?

<comment><AUTHOR> Hindi

</comment></comment></comment></comment><comment><USER12> and now i feel old</comment>


Uber 'not liable' for self-driving death - <AUTHOR> https://www.bbc.com/news/technology-47468391 <comment><USER2> > Further records from the streaming service Hulu suggested that Ms Vasquez > had been streaming the TV show, The Voice, on a phone at the time of the > crash.

But isn't this exactly the kind of thing everyone expects to be doing in their "full self-driving cars" in the future? Will humans retain full liability for accidents and crashes when inside cars that _advertise_ as self-driving?

> The office did not explain its reasoning for finding Uber to be not > criminally liable.

Nothing suspicious there.

<comment><USER3> > But isn't this exactly the kind of thing everyone expects to be doing

Apples and oranges. I think the scenario here would be analogous to a shooting range hiring and training an instructor, and then the instructor accidentally shooting someone due to willful negligence.

</comment></comment><comment><USER4> >The car's back-up driver could still face criminal charges.

Wow, this is wild because this means that in every case from hereon out,there will have to be a decision of whether the driver or the car was at fault.

I am sure whatever the outcome of this case is, it will set precedent for laws to be made in the future.</comment>


Why Google Acquired VirusTotal - <AUTHOR> https://www.securityweek.com/why-google-acquired-virustotal

<comment><USER2> So IE9 is stopping 99% of social engineering attacks, but other browsers are not, hmm? Maybe it's quite possible then to let your non-techie friends keep using it.</comment>