Gmail Users - Not the Most Attractive? - <AUTHOR> http://blog.circl.es/2012/06/04/gmail-users-not-the-most-attractive/

<comment><USER3> Justin, I like your idea behind "circl.es": people already are generating a lot of data, there is no need to ask for more.

If you need help with your data just email me.

Note to self: data mining web app, it seems to use simple a similarity measure, same idea can be used for recommendation engine [Twitter + Facebook + Pinterest, etc ... to get good vector representation for each person, then clustering (probably non-convex variable density or not), and assigning recommended items from a cluster to all people in that cluster]) - <USER2> recommendation is not much different than dating</comment>


Show HN: Game Suggest - <AUTHOR> http://gamesuggest.net/

<comment><USER2> It seems you're outputting other's peoples' lists where there's at least one game in common with those I like.

Couldn't you take this a step farther and aggregate all those lists, with those games that appear the most frequently showing up at the top? For bonus points, weight more highly the games coming from lists that more strongly match (and using Bayesian averages, too!)

<comment><AUTHOR> Yep, I need to work on the matching, but for this I need more sample data

</comment></comment><comment><USER3> So I typed in "Backgammon" and "Go" and it doesn't seem to do anything.

<comment><AUTHOR> Well, maybe I should put "video game" somewhere in the text.

Edit: Also, chess maybe?</comment></comment>


An introduction to libuv - <AUTHOR> http://nikhilm.github.io/uvbook/ <comment><USER2> I've written a couple of C tools directly on top of libuv[1] to play with it. I've got to say, its a great little library. Its basically nodejs's entire cross-platform standard library & event loop exposed to C, without V8 and without npm. It performs well, the code is pretty high quality and the internal documentation is excellent. The external API docs aren't very good though - I found myself reading through nodejs a few times to figure out how I was expected to use some of the functions.

I'm quite curious to see how much performance you lose through libuv compared to using the lower level IO primitives directly (epoll, select and friends). I know redis doesn't use any high level event libraries, but I haven't seen any benchmarks.

[1] [https://github.com/josephg/sharedb](https://github.com/josephg/sharedb) (Caveat: This was an experiment and libuv has probably changed in incompatible ways since I wrote this code)

<comment><USER3> Redis doesn't use libuv, and in fact rejected a patch from MS to add libuv support. The reason is dependency management, not performance. Redis takes very very few dependencies - basically just a C compiler and POSIX. This makes it easier to deploy Redis, and Redis doesn't have to worry about failures in its non-existent dependencies.

</comment></comment><comment><USER4> i am always a bit of jerk about these things because i constantly work with genuinely performance critical code, but the very first thing puts me off:

uv_loop_t* loop = uv_loop_new();

does the compiler know where this exists, is it allocated on demand, is there a lock involved? i hope to get the good answers to these questions but the naming of the function alone makes me skeptical. this skepticism turns out to be justified.

digging in:

loop = (uv_loop_t* )malloc(sizeof(uv_loop_t));

so the answers to all of my questions are the wrong ones for me. i might override the allocator to be less rubbish in my context. but simple things like this tell me that this library was not architected for the kinds of performance considerations that i need to make.

at this high level its not so important, but the more digging i do the 'worse' it gets...

generally this does look helpful, but it gives me nothing over my existing solutions (in my context) which, for example, require zero run-time memory allocations - outside of OS level API calls that I have zero control over - and lean heavily towards lockless implementations, avoiding the massively (but understandably) heavyweight OS provided threading primitives...

thread safety of malloc and other standard library (i.e. libc) type stuff is, in reality, up to the implementor. even when things have no requirement to be thread safe implementors (Microsoft) will often insert what i call 'sledgehammer thread safety' to protect bad programmers from themselves. i can understand why, but it prevents me from being able to use these libraries.

when i can do a better job than your standard library, you have failed imo. but it is just my opinion...

<comment><USER5> Libuv author here. Libuv doesn't try to be all things to all people - its main users are Node.js and Rust - but if you have suggestions on how to improve the API or the implementation, please file issues[1] or join us in #libuv on irc.freenode.org. We welcome outside input.

As a bit of history, the reason why uv_loop_new() mallocs memory for the struct (and it's something of an anomaly in that respect, most other API functions don't) is that the thing that came before libuv, libev, worked like that. It's something we can change if there is demand for it.

[1] [https://github.com/joyent/libuv/issues](https://github.com/joyent/libuv/issues)

<comment><USER6> And Julia! :)

</comment></comment></comment><comment><USER7> Is there some introductory text available explaining what is the purpose of libuv, it's intended usage scenarios etc.?

<comment><USER8> It's a C library to handle asynchronous IO. The library it replaced, libev, is essentially a wrapper around select which is a unix system call that looks for file descriptors that are ready for reading or writing (for more info you can use the command 'man select' in bash). My understanding is that select can be nondeterministic so there were predictability and performance improvements to be had by replacing it with a better model. The guide also links to this talk by one of the libuv authors which is a great help in understanding why they wrote libuv: [https://www.youtube.com/watch?v=nGn60vDSxQ4](https://www.youtube.com/watch?v=nGn60vDSxQ4)

<comment><USER9> This is not quite correct. libev is a wrapper around the best available of select/epoll/kqueue (the same syscalls libuv uses), and it provides nice timers, thread wake (eventfd/pipe), etc.

What it doesn't provide that libuv does is high-level support for asynchronous filesystem I/O, a built-in asynchronous DNS resolver, process management abstractions and more high-level cross platform goodies for writing asynchronous apps. libev also doesn't have very good support on windows.

So, the main improvements provided by libuv are a more extensive high-level API and good windows support. I doubt speed (or deterministic latency or scalability.. etc) was a goal, as libev is very, very fast. Just lower-level.

<comment><USER10> For the record, Node's I/O performance is better now that it's based on libuv (after libuv removed its own libev dependency) than when it was based on libev. This doesn't necessarily mean that libuv is always faster than libev, but at least for Node's use case it was.

</comment></comment></comment></comment><comment><USER11> [http://redis.io/topics/internals- rediseventlib](http://redis.io/topics/internals-rediseventlib) ae is good too.

</comment><comment><USER12> Isn't this example wrong: (I'm not much familiar with libuv, but reading from the comments it might be):

[http://nikhilm.github.io/uvbook/filesystem.html](http://nikhilm.github.io/uvbook/filesystem.html)

      void on_read(uv_fs_t *req) {
           uv_fs_req_cleanup(req); // <-- bug? freeing here, later using req ptr?
           if (req->result < 0) {
               fprintf(stderr, "Read error: %s\n", uv_strerror(uv_last_error(uv_default_loop())));
           }
           else if (req->result == 0) {
               uv_fs_t close_req;
               // synchronous
               uv_fs_close(uv_default_loop(), &close_req, open_req.result, NULL);
           }
           else {
               uv_fs_write(uv_default_loop(), &write_req, 1, buffer, req->result, -1, on_write);
           }
       }

<comment><USER13> It's correct. uv_fs_req_cleanup() deletes some private data associated with the uv_fs_t. `result` is part of the public interface and is unaffected.

</comment></comment><comment><USER14> It looks like the BeBook.

<comment><USER13> Author here.

It's because it uses the Haiku standard theme shipped with the sphinx documentation generator, which does come from the Haiku project :)</comment></comment>


Calculators are really weird tech, but their time may finally pass - <AUTHOR> http://notes.kateva.org/2012/09/calculators-are-really-weird-tech-but.html

<comment><USER2> Calculators will probably stick around in schools for a while, since having a smart phone out during an exam would make it too easy to cheat by texting.</comment>


Ask HN: What are the technologies behind startup websites? - <AUTHOR>

I want to know what are the technologies/ frameworks that are behind startup sites? <comment><USER2> <http://highscalability.com/blog/category/example> has good writeups on real life architectures like Facebook, Twitter, MySpace, and Reddit.

</comment><comment><USER3> Shameless self-promo:

You can check for Ruby on Rails with my tool:

<http://IsItRails.com/>

It is quite accurate, approx. 80% of the time.</comment>


WTF is wrong with hacker news SEO - <AUTHOR>

Hey HN ... whats wrong with your SEO guy ... always when i type in "hacker news" in chrome omnibox i never get the result i expect ...
i don't want the job page, i don't want the twitter account, i don't want the news faq ... ... please fix it. Thanks.
Look at ... https://www.google.com/search?q=hacker+news
or ... https://www.google.com/search?q=y+combinator+news <comment><USER3> Have you tried a bookmark? Or visiting the page a few times over the course of a week? I'm at the point where if I type 'ne' in my address bar it is the first autocomplete suggestion, which is convenient to say the least.

</comment><comment><USER4> It's because pg disables bot crawling to keep server load down.

</comment><comment><USER5> PG doesn't care about "SEO", nor about Google's "mainstream" traffic - <USER2> he doesn't want random people coming to HN. People who use HN regularly can write the site's name (Chrome even remembers it after you type it fully once), or bookmark it.</comment>


Square Cash is a Head Fake - <AUTHOR> http://www.droplabs.co/?p=924

<comment><USER2> How is it that a guy who calls himself "Mobile Payment Advisor & Strategic Alliances in Mobile at Experian" (the author) fails to understand Square's business.

He clearly states "[square] was a champion of the small merchant" when referring to easing credit card acceptance. But that was just a foot in the door for Square. Square is about tracking and managing money. That's why they created a POS, and allow businesses to track consumer purchases.

Now they are extending into doing more for the consumer. They can already show you your purchases at square merchants, now they are adding in the small exchanges you have between friends, or maybe it's your landlord, etc. etc. Plus, by doing this simple P2P exchange, they are (I think) expanding their sign-ups, as I assume both the sender and receiver need to have square accounts.</comment>


Armed white men patrolling Kenosha protests organized on Facebook - <AUTHOR> https://www.theguardian.com/us-news/2020/aug/26/kenosha-militia-protest-shooting-facebook <comment> just-juan-post The city is 2/3 white so yeah they are probably going to be white people

[https://www.google.com/search?client=firefox-b-1-d&q=kenosha...](https://www.google.com/search?client=firefox-b-1-d&q=kenosha+wi+demographics)</comment>


Tips I use to avoid burnout - <AUTHOR> http://addyosmani.com/blog/burnout/ <comment><USER2> For me a few things

\- Doubled down on focus. Went back to using a single monitor, cut down notifications on my phone and carved out time in my diary to do focused deep work. Constant task switching has always been bad for burnout for me.

\- Was much more intentional about how I presented my work to others. I used to think that if I needed to focus on how I communicated my work upwards, that was somehow a reflection on the quality of the work itself. Instead I learned that taking time out to focus on how you present your ideas acts as a force multiplier on them.

\- Get out of toxic environments. Often I've found that the cause of burnout is not hard work, I am capable of hard work for sustained periods, but hard work with an expectation or repeated experience of failure in forms of projects being scrapped or canceled. Success isn't always its own reward, but it does seem to help ward off against burnout.

\- I also spend a couple of hours in the gym nearly every day. It's a high end gym and this is my splurge for myself. For other people, their release may be family.

<comment><USER3> I am currently trying to learn how best to present my ideas and reach people who don't necessarily see problems as a large network of pictures and concepts in their heads.

It's a process that I struggle with, but I truly want to improve. Do you have any suggestions or resources?

<comment> noman-land One problem I see people make is to present the solution before the problem.

Nerds often have a tendency to be hyper focused on the details of the solution because that's the most fun part and the part they have directly thought about intensely.

Many people "up the chain", or in general who don't have intimate details of the problem space may not grasp why such a solution is needed. So starting off with it doesn't resonate with them.

I've found its better to first tell the story of "what got us here", that led to this solution. If you do it right, you'll see the "a ha" moment go off in people's faces and they're right with you.

</comment></comment></comment><comment><USER4> I think it also depends on toxicity of the organization. My untested hardware was sent to production line in the factory elsewhere. I was telling to every manager I could, not to do this. So "no" does not work. I was told, there will be second developer one day, but it didn't happen. Manager of other group sees me declining and invites to go for lunch together. But he can't help since my manager and division manager are more buddies than professionals working together. I was trying to make longer breaks to recharge working only 4 days a week, but this was canceled a day after I send proposal how to test hardware. I also got new table - a door place in open space office where I got distracted every 3 minutes. Basically my all time gets wasted sitting there. Last but not least, there will be committee next year to review everything I did in the project and do the great blaming fest. It is believed, that this will help to find the bugs I made due to my incompetence.

I read this and it does not sound real. To avoid burnout I simply need a new job. I also packed my all personal belongings and am ready to hand in my notice anytime I see it's too much. Better unemployed for some time than mentally broken.

<comment><USER5> Some jobs just rely on attracting and retaining people with no boundaries and no ability to set them. Startups are great at this. They foster a sense of community between the workers and then understaff/overbook the team. When the invariable crisis rolls in no one even has to tell people to work until 5 am. They just do it because no one wants to "let down the team".

My last job I was at least the fourth or fifth person to break down and cry at work. Plenty of those happened in meetings where the boss man was present. They just quietly get replaced and that's that. Burn em and churn em. Never shows up on the ledger and everyone writes it off as a crazy one-off situation.

Then oh gosh a big deadline hits and we're down a person, better show off what a team player we are and make sure we hit the deadline.

<comment><USER6> > let down the team

it's a deeply wired need, and it would be interesting to discuss that. I found it easier to wake up in the morning when I felt part of team rather than going to a company be a nameless cog. Surely being a cog may avoid being overworked by never ending night shifts .. hence the debate.

<comment><USER7> I think the problem is when being part of a team is abused - so you get the expectations but not the benefits.

</comment></comment></comment></comment><comment><USER8> Some non-time off tips that work for me:

\- Remove most, if not all notifications from your phone. Not just work- related, anything that will stimulate your brain for no good reason

\- Try to leave work on time to allow other activities after. Could be ranging from going to the gym to raising your kids.

\- Monitor your smartphone usage and cut it down (use something like RescueTime).

\- Go to places where there is no internet connection to have some you time (e.g., a steam room is perfect to relax, or yoga)

\- Sleep the right amount of hours for you

\- Eat, drink well

\- Remember, in most jobs, no one dies if that thing is not done today.

\- Remember, if you have to work too much it's probably not your fault, but poor planning / constraints in your org. that you cannot control

<comment><USER9> > \- Remove most, if not all notifications from your phone. Not just work- > related, anything that will stimulate your brain for no good reason

My phone slipped into water and is not working. I liked it, huge screen, great battery life. So I took some old one I had at home. Smaller. Terrible battery. Old Android, so many apps don't work. I can only use it for calling and texting a couple of times a day. I need to save the battery. I cannot read in bed, as it's too small to be comfortable. It's small, so it fits into all my pockets.

Oh, it's so great that I'm not going to buy a new one. I feel like I don't have phone at all. I didn't know how it was slowly changing (destroying?) my life.

<comment><USER8> Before having a phone I was reading a lot of books.

Now, I read HN too much.

Is it better, is it worse?

Certainly not bad, if, the addictive, time wasting aspects are muted / avoided.

I think not using a smartphone in 2020 is actually a massive evolution step back. Used wisely, at the right time and for the right tasks, it's a killer device.

But used for everything, all the time, it's just another form of crack.

Get your phone back, get on top of it, you'll be as happy, I'm sure.

(also, running an old Android version is quite risky on top of being annoying)

<comment><USER10> When my previous phone broke, I switched back to an old "dumbphone". It was quite lovely to charge it once a week and just forget about it for the most part.

Eventually I got a new smartphone though - especially when travelling they are a useful tool.

</comment></comment></comment></comment><comment><USER11> A lot of this becomes fairly obvious if you start from the assumptions that:

1\. Work exists only to support your lifestyle. If your work doesn't allow you to live a lifestyle you are happy with, it's not serving its purpose. This is obvious to most people when their work doesn't pay them enough, but it's not as obvious when their work doesn't give them enough time.

2\. You are a person of worth who deserves to have proper boundaries around your work.

3\. Your job is a transaction where they need you just as much as you need them.

</comment><comment><USER12> I'be been struggling with burnout myself during this year. In the darkest times it got bad enough that I considered to abandon software development altogether.

Thanks to a three months time off I'm through it now.

I've been writing about my experiences and my recovery, maybe they can be of help to anyone else in a similar situation:

[https://www.damienklinnert.de/a-passion- lost/](https://www.damienklinnert.de/a-passion-lost/)

My one piece of advice for you if you're in a similar situation would be to take time off.

<comment><USER13> I had the same experience as you, years ago. I was severely burnt out (to the point where I didn't want to do anything computer-related). Taking time off fixed it, but I probably need to do that again now.

<comment><USER12> I've learned that it's best to take the time off as soon as you notice something is wrong. The longer you wait, the more time it takes.

After the last time it took me about two months to recover.

<comment><USER10> Absolutely, I pushed it too far at some point and got put off by even the thought of opening my IDE for months.

Having some hobbies outside of code can help as well.

</comment></comment></comment></comment><comment><USER14> Perhaps it does make sense to condense it to a few simple tips to watch out for, but honestly this posts feels a lot like: "tips i use to avoid obesity; eat less! do exercise!"

</comment><comment><USER15> I wish this post Included something actionable. I know I shouldn't overcommit not just professionally but in my personal life too, but I do anyways. So how do I stop? I know I should be asking for help more, but I'm prideful. How do I get over that? And so forth with all of the points..

<comment><USER16> This is the trick of repetition and probably why the list seems so obvious. There is no "secret trick". Saying no and taking breaks is just difficult.

</comment></comment><comment><USER17> My biggest tip: sleep!

Make sure you get 8 hours/night, and (say) 10 hours in stressful periods. If you already think you have burnout, then sleep as much as you can.

<comment><USER18> From my observations, lack of sleep is typically a multiplier for another aspect and not a root cause in itself.

<comment><USER19> Or it is a consequence of things that come with burnout like anxiety.

</comment></comment></comment><comment><USER20> Here are the things that have worked out for me:

\- Constantly thinking and outsourcing the time i spend on _stuff_ that doesn't matter (especially the bottom 10-20%). Good hack for doing this is calendering all the things i do in a typical day and then reviewing it over the weekends to subtract the automatable and (probably boring) non impactful pieces.

\- Having two different phones, one for work and the other for everything else. The work phone/number gets shut down as soon as i am done for the day (no exceptions. Android has the concepts of users which can emulate similar experience without the need to invest on another phone.

\- Not syncing emails constantly, instead i have 3 hour blocks for syncing/replying to emails. Can't check emails all the time and neither at the end and beginning of the day so three hour blocks work well for me.

</comment><comment><USER21> I am really sad this didnt have sports and hobby/life in it as its very important heres my tips after 5 years of stressful growth company management would be following and is the following to my employees: \- Dont cut the flow state in cold turkey as then you just lie in bed and die rather start by lowering the work hours first to closer to 37,5h or less if possible \- Start exercising sports that remove you from your phone so for example swimming is great as it forces you to be alone with your head and carrying a phone to pool is hard. \- Never work during a weekend. I do it you do it, everyone of us does it in IT but you really need at least a day per week to do something completely different. \- Weekend getaways, I go to no electricity cabins, sailing etc. away from notifications so you really cant work. \- Kill notifications, NO ONE will die if you dont answer to slack message in 5 minutes you can still check slack every hour or so or mail just kill toxic notifications and keep the evening at your own pace. \- fix your monitoring. Application downtime monitoring should be helping your mental health not harming. \- Make friends outside work. They have completely different view to the world which helps you with above

</comment><comment><USER22> Crisp and to the point. No BS. I refuse to work more than 45 hours per week and take 1w vacation per quarter. Time is more important than money as you age.

</comment><comment><USER23> The thing that's burning me out isn't the coding. It's the constant updating of everything I use across 3 machines and nothing working despite these updates. Within minutes of sitting down to code I encounter some flow killing problem. I so miss the days of DOS, μEmacs, and Microsoft C. Yeh we had to code everything, but it all just worked.

<comment><USER24> You can have a modern Linux dev environment like that, I run my laptop from ram with very little specialized configuration.

</comment></comment><comment><USER25> Basic organisation skills applied to work and life helped me a lot, I was sorely missing in this area and dedicated some time to getting a system in place. I spend 15 minutes in the morning planning my day. This had a lot of benefits, one is being way less stressed if I know I can "dump" incoming information somewhere and parse it later.

</comment><comment><USER26> This is what I believe is the the main cause of burnout and how to efficiently prevent it and deal with it if necessary:

[https://medium.com/@markpapadakis/how-to-prevent-burnout- and...](https://medium.com/@markpapadakis/how-to-prevent-burnout-and-how-to- recover-from-it-dc02b9fbd477)

</comment><comment><USER27> I always joke with my students that the best way to avoid burnout is to avoid work. Work is overrated anyways...

</comment><comment><USER28> Managing. Expectations.

Easily took away 75% of the stress at work and stopped from it bleeding into my private life.

This can manifest itself as: \- being upfront with what you do and don't know when asked to do anything so if delays occur, it won't be b/c you overpromised == lose trust \- keeping stakeholders in the loop with any significant developments so there are no surprises down the road \- estimate normal project work as if you can only work ~8 hours a day/5 days a week (while taking meetings, vacactions, other normal overheads into consideration)

This, IMHO, is a pre-req to properly implementing any of the other common helpful tips others have listed.

</comment><comment><USER29> Removing notifications from my day has helped a lot.

I still use several monitors because one task is done more efficiently across several but notifications are truly the worst thing in the world.

Honestly there's only one type notification/email/IM/phone call I don't mind... when something is down and needs fixing.

</comment><comment><USER30> > _It 's OK to ask for help. This includes seeking collaboration vs. going > alone_

This is a huge thing. I often feel pressure to improve my individual programming skills, but this next year I want to focus on what I can do to be a better collaborator and team member. I can only do so much in a day.

</comment><comment><USER31> I would also remove caffeine (coffee, energy drinks) as a health step and see how that affects work and your body. Most people are over-stressed and working over time with caffeine is one of most common reason people do not sleep a recommended 7-8 hours a day.

</comment><comment><USER22> One thing I also learned is to leave work on achieving a goal, no matter how small. This gives you disconnect at night.

</comment><comment><USER32> Meditate. Yoga. Learn and become who you are.

</comment><comment><USER33> DON'T install Slack on your phone.

<comment><USER22> Slack is a terrible piece of software that tries to take over your computer.

<comment><USER34> I use it in the browser. Works fine if you don't allow it to send notifications.

</comment></comment></comment><comment><USER35> Good points, and I appreciate the conciseness of the post. Nice.

</comment><comment><USER36> \- sleep

\- sport

\- friends

<comment><USER22> \- toilet \- shower

</comment></comment><comment><USER37> Isn't this obvious to every software engineer I know? Perhaps I am missing something or living under a rock in my own ecosystem. Every single engineer I've ever met knows these things: Don't over commit, take breaks, seek help and know that time is important, may be remember to breathe? I am sorry, but this is not some deep insight.

The author works at Google. I presume that if one is getting paid in excess of $200k, you're a damn good professional at the very least. These things need not be reminded or taught - they're _required_ and _necessary_ as a professional software engineer.

Burn out happens when - the company or team is under duress, imagine running a manufacturing software system and your factory lines are down. Yes, that gets intense and you can have a burn out if problem requires rehauling the system (takes 6 months say). Or the company is on the brink of collapse and you're one of the 3 engineers holding it together. But, that's not because of the reasons listed here. In fact, writing such an article is dismissive because it distracts the discussion on what _really_ leads to burn out.

<comment><USER38> > that's not because of the reasons listed here

If we take one of your examples, "the company is on the brink of collapse and you're one of the 3 engineers holding it together.", we could still apply advice from the article: "Learn to say "no" more often. Know your limits. It's easy to over-commit". It seems as if it would still help.

<comment><USER39> I agree. If you're one of 3 engineers holding it together, that's the company's problem (unless you won't be able to find another job). If the other 2 engineers start working all the time to try and hold it together, that's their problem (unless you won't be able to find another job). I don't know why people sometimes seem so willing to take responsibility for other peoples' business decisions.

I'm young and inexperienced but in my opinion there's a difference between "willing to work extra late on something occasionally when something unexpected comes up and working late will actually help", which is helpful for the team, and just getting killed because of bad decisions other people did, or business circumstances that are beyond your pay grade.

</comment></comment></comment><comment><USER34> Over the past 20+ years in the industry I have found that yes, saying "no" is the most important component. If you let other people to walk over you eventually they'll complain you're not flat enough. This includes not working on job-realated stuff on your own time (which is something the employer will almost always try to cajole you into doing), and not checking work emails after work.

The other two major components are sleep and physical activity. Just get that 30 minutes of HIIT cardio done, every day like clockwork, and sleep _at least 8 hours_ a night, every night.

</comment><comment><USER40> Thanks for that, author. Tips of this kind are very useful.</comment>


Show HN: Raspberry Pi Micro-Controller Secured on Blockchain - <AUTHOR> https://www.youtube.com/watch?v=lYyGxSJKcsA&t=5s <comment><USER2> You could accomplish the same thing with PKI, any particular reason why you'd use blockchain?

<comment><AUTHOR> A friend actually built it but from my understanding, it is built for when IoT devices needed to share data outside their internal business. For example, an IoT device in a container gets moved from a warehouse to a 3rd party trucking company. The trucking has an IOT device and the two devices transmit data between them and some get sent back to a database. I may not be doing this justice.

<comment><USER2> Yeah, PKI would work in that case too. Bring your friend into the thread!</comment></comment></comment>


Understanding Clojure's PersistentVector implementation - <AUTHOR> http://blog.higher-order.net/2009/02/01/understanding-clojures-persistentvector-implementation/

<comment><USER2> Clojure's persistent data structures implementation is so good that I wish it were maintained as a separate library, which could be used independent of Clojure (for example, in Java or Groovy). I wonder if the existing implementation will survive the Clojure-in-Clojure transition.</comment>


Basic Income is an illusion - <AUTHOR> If we pay $20,000 to 300 million people = $6 trillion. If we still need to do or get done all the work that needs done. We pay $13 trillion each year out to labor. So how do people become incentivized to do the jobs that need done?(Think low end service jobs.) simple prices raise until people need more money than the basic income provides to survive. <comment><USER2> Consider the fact that for some time, the quantitative easing program has been "printing" $80 billion per month by buying US treasuries from wealthy people / firms. Say what you will about the necessity to print money, strategies about monetary policy, etc, this unequivocally creates an artificially high demand for these assets in a way that wealthy firms are able to generate profit from.

If we're giving away money, let's give it to people whose marginal propensity to consume goods and services is double or triple to whom we're giving it now.

I realize we have now "tapered" our buying down to $65 billion a month. For reference, using US census data for adults 18 and over, 65bil / 240mil = $270 per month. It's not a living wage, but a great majority of recipients would immediately inject that money back into the economy.

<comment><AUTHOR> ...consuming goods which would increase prices. prices would go up because they would need paid more to do their jobs(think service industry cause they ain't doin' it cause they like it).

<comment><USER3> Again, technology drives prices down not up.

</comment></comment></comment><comment><USER4> You got the Basic Income concept wrong.

If someone takes a job, they get the income from that job IN ADDITION to the Basic Income.

Basic Income is paid out _unconditionally_ \- i.e. no means testing. Rich or poor, employed or unemployed: you get the money.

This is similar to what:

1\. Alaska does with its oil tax revenue.

2\. U.S. and some states do with the Earned Income Tax Credit.

Why have Basic Income?

It would replace:

1\. Food stamps.

2\. Unemployment insurance

3\. WIC

4\. Section 8.

... and related bureaucracies because the money is _unconditional_ , no government agency is needed to "validate" the person is poor enough to get the money.

There would be no stigma attached to receiving the money, no requirements on how the money was being spent. Just like Alaskans can spend their oil money how they want and people getting the fully-refundable EITC can spend that money how they want.

<comment><AUTHOR> I get that. My point is the service industry disappears. retail clerks, wait staff, gas station attendants, cleaners. Nobody does that work because they like it. Most of the people in the service industry work to get by. By choice or because they have to.

<comment><USER3> Much of that is going away because of automation, which is one of the reasons UBI is beginning to be seen as a potential solution to that problem.

I.e. you are going to see an increasing number of people who have no background in tech, design, science, engineering, math etc. and therefore have no new potential of jobs and those they can get are Walmart which doesn't pay it's employees enough and thus put a big portion of the economic burden back on society.

</comment></comment></comment><comment><USER3> You have to deduct the overhead to control targeted welfare, plus the fact that most people will be paying most of that back in taxes.

Alse keep in mind, removing stuff like capital gains will also help bring in even more.

With Unconditional Basic Income it is always beneficial to work. Even if you only work for a couple of months a year it's still beneficial to you.

<comment><USER5> > With Unconditional Basic Income it is always beneficial to work.

Exactly. A UBI would encourage people to work, since working just means you make more money.

The biggest drawback of the current system in the US is that it penalizes you for working: if you start to make more money, your benefits go away and you might as well have not started working.

<comment><USER6> Strictly, a transition to UBI _from conditional assistance_ would encourage people _currently receiving conditional assistance_ to work. People who are not currently receiving assistance would have a smaller incentive to engage in paid work than at present. This probably has both positive and negative consequences.

<comment><USER3> It's not the purpose of UBI to get EVERYONE to work.

The purpose is to get as many as possible to work and not have to deal with controlling who "deserves" what, who cheats etc.

It's totally fine that some people don't work as long as the majority of people will.

In many ways we already have a form of BI today, it's just conditional and have the negative effect of branding people, keeping them in their social status.

<comment><USER6> _" It's not the purpose of UBI to get EVERYONE to work."_

Never made any claim - or implication, so far as I can see - that it was.

 _' The purpose is to get as many as possible to work and not have to deal with controlling who "deserves" what, who cheats etc.'_

I think the purpose is to ensure that everyone has some basic resources to build upon, to stabilize consumption, to shift power a bit toward labor in the jobs market, and to provide something of a safety net. It is _preferable to conditional assistance_ because it doesn't have any cliffs and there's less room for political nonsense than with targeted assistance, but that's not really the _purpose_ of the program - those are equally attributes of a system with no UBI but also no other welfare programs.

 _" It's totally fine that some people don't work as long as the majority of people will."_

I agree with the sentiment, not the precise formulation. It is totally fine if some people don't work as long as _enough_ work that we can produce enough to meet demand. What portion of the population that is depends on a whole lot of factors (and in the longest term will probably shrink). I don't see that it has any particular relationship with 50% ("the the majority of the people") - currently it probably needs to be quite a bit more than that.

 _" In many ways we already have a form of BI today, it's just conditional and have the negative effect of branding people, keeping them in their social status."_

I wouldn't call it "a form of BI", but I would say that many of the supposed evils of BI are already present in our current system.

<comment><USER5> > It is totally fine if some people don't work as long as enough work that we > can produce enough to meet demand.

That's precisely the point: it creates a market for labor that does not currently exist. If there were not enough workers to meet demand, the suppliers would have to increase salaries until enough of them decided the money was worth going to work.

A UBI allows natural market forces to do things that we have to do with regulation now. Minimum wage could be eradicated with a UBI, for example, since everybody enough to live on. Real wages for unskilled workers would be forced much higher, which I think would be a very good thing for the economy as a whole.

<comment><USER6> I mostly agree, I think.

 _" That's precisely the point: it creates a market for labor that does not currently exist."_

I'm not sure how there is not currently a market for labor, it's just presently tilted in favor of employers because employees have too much trouble "going out of business" when there isn't sufficient demand for them.

 _" A UBI allows natural market forces to do things that we have to do with regulation now."_

Right.

 _" Minimum wage could be eradicated with a UBI, for example, since everybody enough to live on."_

With a sufficiently high UBI, this is clearly the case; I'm not completely convinced that "a sufficiently high UBI" is not so high that it would cause other problems, though that seems likely.

 _" Real wages for unskilled workers would be forced much higher,"_

Real wages for unskilled workers would certainly rise. Whether they would be "much higher" doubtless depends on the size of the UBI.

 _" which I think would be a very good thing for the economy as a whole."_

Possibly. It would certainly motivate more automation, which is probably good. Forcing them too high too fast would likely mean some significant problems as society figures out how to adapt.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'd rather see an effort to scratch all forms of income tax, which is the _real_ problem with the worlds' economy today: plain theft of income.

If we had a more aggressive movement to eradicate income tax and tax SPENDING, we'd have far less need for the welfare classes to be kept in their debilitating position ..

<comment><USER3> Theft? Your property "rights" (and other rights) are guaranteed by the state. If you remove the state you will have to defend it yourself. Do you really think you would be able to do that?

<comment><USER7> Da, Komrad.

I do believe that the state can still protect me without having to rob me first.

<comment><USER8> How would they pay for it, if you deny them any income?

A civilized society costs money. Police costs money. Roads costs money. Inspectors for all sorts of safety standards cost money. Education costs money.

Without some form of tax, anyone would be free to rob you, you wouldn't be able to go anywhere without roads, you wouldn't know if the house you want to buy is actually safe to live in, and everybody would be stupid.

Go try it out. There are countries where you don't have to pay any tax. Go see how you like it there.

</comment></comment></comment></comment><comment><USER6> Basic Income directly makes labor more expensive (by lowering the opportunity cost for other activities). It would also increase the price of scarce resources. There are inputs to production that are neither of these. Even so, it's undoubtedly true that we could set so high a basic income that it would impact production enough that we'd see runaway inflation rather than any positive outcome. I'm not necessarily convinced $20k/yr is that high, but I personally favor a much lower number (~7k/yr).

<comment><AUTHOR> Most of the service industry would disapear over nigiht. you think if you paid people more than they make now that they show up for a fex bucks more: dlivery drivers, wait staff, hotel cleaning people, gas station service personel, grocery stores.

<comment><USER6> A lot of people in the service industry are presently working two jobs. Basically replacing one of those jobs doesn't seem to mean they'd be likely to quit the other. Without question it would substantially effect the supply of labor there, though - particularly if it's as high as $20k/yr.

</comment></comment></comment><comment><USER9> I'm not sure that I follow your argument. Specifically, you asked the question: "So how do people become incentivized to do the jobs that need done?" Most proposals I've seen for basic income operate under the idea that people are encouraged to perform jobs by being paid, as it is under the current system. Would you quit your job for a guaranteed 20k a year? I wouldn't. I'd like to have money for travel, which would be more difficult on that salary. Besides, I rather like my job.

<comment><AUTHOR> My point is the service industry disappears. retail clerks, wait staff, gas station attendants, cleaners. Nobody does that work because they like it. Most of the people in the service industry work to get by. By choice or because they have to.

<comment><USER3> Given that it will always be beneficial to work if you need extra money you take those jobs. It's always beneficial to work. But those jobs are disappearing anyway.

</comment></comment></comment><comment><USER10> >> Would you quit your job for a guaranteed 20k a year? I wouldn't.

Probably yes. I've worked for 25 years. I have a good amount of savings. But not enough to retire on. If you gave me $20k a year I'd have enough to retire on right now.

So it would cost you $20k a year to pay me not to work, plus probably 50% more than that in lost taxes.

Not a chance of this working.

<comment><USER6> It doesn't rely on there being no one in your position, so it doesn't follow from your example that there is "not a chance of this working." We _want_ some people in your circumstance - able to comfortably step aside when we don't know what to put your labor towards, ready to rejoin the work force when we figure it out (as determined by whether you want what we're offering to pay you). Though, for the record, I think $20k is high for our present situation.</comment></comment>


Searching For Beasts In Silicon Valley's 'War For Talent'  - <AUTHOR> http://m.techcrunch.com/2013/03/16/bring-out-the-beast/

<comment><USER2> Desperation breeds paralysis. Try being really poor sometime - you can not focus creatively.

Engineers are being paid what they are worth.</comment>


Investors are using alternative data to track China's recovery from Covid-19 - <AUTHOR> https://www.marketwatch.com/story/guid/6F29C668-58DA-11EA-AAB7-35CBCDC8E222 <comment><USER2> >The official data lags

That's an understatement. We've seen rank incompetence across the board all over the world. The US markets are still far too optimistic, today's rally won't last. China is _still_ barely recovering two months later, and the show is only just starting in the rest of the world. This is going to have permanent geopolitical ramifications, and the U.S. is probably weeks away from the same disruption that is still gripping China.

Based on timelapses of spreading in South Korea, the first couple of weeks are quiet, where there are cases popping up here and there. Then, suddenly, week three sees the whole country light up with cases. This partly a result of testing changes, and partly the result of long incubation with asymptomatic spreading.

One thing in the U.S.' favor may be it's sprawling nature. That may make it easier to contain the virus, but only in the case of major travel restrictions and shuttered businesses to prevent spread of a virus with an R0 of between 3 and 6-8.

Based on the 100 year history of the djia, there's still a looong way for the market to fall before it hits bottom. If you're near retirement you may want to consider shifting funds into bonds.</comment>


mRNA vaccines – a new era in vaccinology (2018) - <AUTHOR> https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5906799/ <comment><USER2> Look at the MRNA stock ticker. They have been losing money and never had any product approved for the last 10 years. It seems like the opening paragraph was wrong about them being developed quickly.</comment>


Patent reform bill on Senate agenda after recess - <AUTHOR> http://thehill.com/blogs/hillicon-valley/technology/175099-patent-reform-bill-on-senate-agenda-after-recess <comment><USER2> Two things that make me instantly distrust this:

> Senate Majority Leader Harry Reid (D-Nev.) said the patent-reform bill will > be the first to move after the recess, as part of a package of legislation > designed to boost job creation. Reid and Sen. Patrick Leahy (D-Vt.) said the > bill, which attempts to speed patent applications, is expected to create > 200,000 jobs.

> The bill has drawn opposition from small inventors, and some provisions are > controversial, such as one that would make it easier to challenge business > method patents. But the legislation has wide-ranging support from industry, > both parties, the U.S. Chamber of Commerce and the White House.

"Patent reform" means completely different things to people in D.C. and people on HN.

<comment><USER3> You have to love that the "U.S. Chamber of Commerce" is thought of as some sort of representative entity, when it's really just a front for conservative corporate interests.

Great branding, though.</comment></comment>


Here's How Russian Agents Hacked 500M Yahoo Users - <AUTHOR> https://www.bloomberg.com/news/articles/2017-03-16/here-s-how-russian-agents-hacked-500-million-yahoo-users <comment><USER2> russians have to hack, but Yahoo gives everything to US gov without hacking, creates tools for NSA to spy.</comment>


These Books Helped Save Our Startup - <AUTHOR> http://viniciusvacanti.com/2012/08/14/the-6-books-that-actually-saved-our-startup/

<comment><USER2> Those are great books, but I can't help feel that the title should read "These books will [indirectly] save our startup [through referral fees]".

</comment><comment><USER3> Saved it with affiliate links, apparently.

</comment><comment><USER4> Avast throws a Trojan warning for me. Not sure if it's justified or not.

<comment><USER5> Same - Infection Details URL: <http://viniciusvacanti.com/2012/08/14/th..>. Process: C:\Users\James\AppData\Local\Google\Chro... Infection: JS:Redirector- MA [Trj]</comment></comment>


Female freshman wants to be engineer; asks how much they earn. - <AUTHOR> http://careervillage.org/questions/167/how-much-on-average-do-computer-engineers-make

<comment><USER2> _I'm considering becoming a computer engineer and i was just wondering how much they make._

That's like asking "how fast does a car go?" You need to know what kind of car it is, who is driving, what the road conditions are, etc. Computer engineers can make vastly different amounts depending on the company they work for, years of experience, what technologies they know, where they live, etc. I hope they teach her in school about defining requirements.

<comment><AUTHOR> @byoung2: As a freshman in a public high school in South Boston, it's unlikely that she is familiar with the variety of conditions you're talking about. Also, frankly, it's hard to say whether the teachers in her school are getting her the type of communications guidance you're talking about. I think your point would be valuable for her to hear. Are you comfortable if I post your car analogy on the site for her to read?

<comment><USER2> Feel free to share</comment></comment></comment>


This is why your printer never works.  - <AUTHOR> http://brandonsmind.com/post/31522690 <comment><USER2> Inkjets work very well at what they were designed to do: Extract fifty bucks for ink from customers every couple of months for the short life of the $80 printer. The problem is that people think they were designed to print things, which is, in fact, only an afterthought in their design.

Laser printers, shockingly, work every time and run out of toner about once every two years for the average home user. I went through four or five color inkjets before finally learning...my color laser has been working fine for three years now, and has only needed the black toner cartridge replaced once (color toner cartridges are still at about 30% full and have probably another year of service in them). Sure, it cost $800 (it's a networked model, and they've come down since then), but I had already spent more than that on inkjets and ink cartridges over the years. I expect I'll get another several years out of it, and I never have to wonder if my printer will crap out when I really need it to work (which happened numerous times with inkjets).

Not that I'm bitter.

<comment><USER3> My cheap-ass laser printer (a Brother) is the greatest --it cost like $300, it's two years old, and it's going great. My color inkjet has been sitting around for six months, waiting for me to admit that I will never fix its clogged cartridges again, because everything I print works just as well in greyscale.

I suppose I could use an inkjet to print color photos. But is there ever any actual reason to print a color photo at home, besides just being so old that you can't accept Flickr? I suppose if I were a print magazine designer who liked to show off proofs... but then I'd probably get serious and buy a color laser.

<comment><USER4> I just bought a brother from Fry's for $60 (after rebate). I'm pretty excited as I can't print stuff from home now. We should have another 1000 pages of printing left, so I'm worried that by the time we run out of toner, it will no longer be made. I'm thinking about buying one now, but I don't want to be stuck with a $50 toner if my cheap laser breaks.

<comment><USER2> I bought a cheapo Samsung laser for my dad about five years ago for Christmas soon after I made the switch from inkjet to laser (I was feeling the excitement of a new convert), and I've bought him a new toner cartridge for it every couple of years since then. So far, they have not discontinued the printer or the toner and it has continued to serve him well. The model is still available from several sources (maybe an updated version, I dunno), and the toner is still widely available, though the price has gone up $10 from $70 to $80 for the 6000 page rated version. I guess that means I can recommend cheap Samsung laser printers.

A year or two later, I bought my mom a pretty high end standalone inkjet photo printer, the kind that requires no computer to operate--just hook up the camera and press the print button. I bought it because she never used the digital camera I'd given her the year before (without the printed photos it just wasn't a camera, as far as she was concerned). I don't think that photo printer works any more (last time I saw her taking photos she was back to the film camera). I suspect she used it a half dozen times, whenever my 4 year old nephew was around to work it for her. Obviously, that did nothing to instill me with new confidence in modern inkjet technology.

</comment></comment></comment></comment><comment><USER5> Since it's not attributed on the page, the actual writer of this is Streeter Seidell from College Humor: <http://www.collegehumor.com/article:1752773>

</comment><comment><USER6> I got one of these recently. [http://www.newegg.com/Product/Product.aspx?Item=N82E16828118...](http://www.newegg.com/Product/Product.aspx?Item=N82E16828118493)

Color laser for $300 flat. It does what it is supposed to do.

</comment><comment><USER7> Debugging printer issues is just way to hard. Some manufacturers just don't see the importance of an error message. Why have useful information about why something isn't working, when you can just have a red light!

</comment><comment><USER8> Dang. I wish this thread came up a few months ago. I have an Epson R280 that's still working well, but won't talk to Linux.

<comment><USER9> Yeah, it's sort of convincing, isn't it? I have a Canon MP730 that was great, but doesn't talk to Linux or Mac. Faxing's no good since I got rid of the land line a long time ago. Still makes copies. Meh.

Anyway, plastic kills the planet.</comment></comment>


Ask HN: Would you be interested in a low-cost welding robot? - <AUTHOR> Hey HN,
Me and some pals have been putting together a spot welding robot, mainly for our own personal use, and we realized others might be interested. Originally the goal was to just get something simple that would work and not cost $50K+ as is typical on the market. That being said what we put together is more limited in scope, but due to the lowered cost maybe there's some people that would be interested. We're pretty far along in our design process, have the BOM mostly down, and have a good idea of the specs we can deliver.
http://i.imgur.com/CgI1iuW.png
* What: spot welding robot with MIG welder; numerical control programming interface
* Price: $16K base (lowest we think we can do it to retail)
* Technical specs:

    * Degrees of freedom: 6

    * Reach: 1250mm (1.25m base to tooltip)

    * End-effector Repeatability: 0.5mm

    * Gripper: default holding weld gun, can be changed/swapped (modular)

    * Payload capacity: 2 kg

    * End-effector speed: 1 m/s

    * Welder info: Lincoln MIG brand, for sheet metal thickness 1/64" to 11/64" (we can introduce higher tiers if people are interested)

 Is there interest for this type of robot if we successfully bring it up? If so I'd be interested to hear what your applications are, and how many you'd want to use. I want to emphasize that it's going to be fairly bare bones, no super fancy software features (at first), just basic path-programming spot welding.
Questions, comments, or suggestions? As I said, we're designing this for ourselves for basic sheet metal work, but realize that others may be interested as well, so we thought maybe we could bring something affordable to others as well =)
Cheers <comment><USER2> Why can yours be cheaper than the others?

In a mature market with several competitors, usually there's a reason for high prices. If you add up your BOM and triple it and it gives a much lower number than the competitors, it could be there's a cost you're not considering. For instance, in the industrial robotics market, field support may cost more than the BOM. Also, most users will pay a premium for reliability if a failure takes their whole line down. It's very, very hard to compete on reliability with mature products.

<comment><AUTHOR> Thanks for your comment.

We are going for a relatively simple build and sacrificing a fair bit of precision. While we are sub-mm in this regard, a lot of industrial bots are getting 0.05mm and better. This doesn't matter for us so we figured what the hell.

Also, we calculated BOM and assembly labor costs and decided we would take a relatively small margin on this design, hence the price point. Reliability? Yeah, not as good, but we'll refund major failures for the first year since we have decent confidence in being able to put together this simple system. Plus we figure that like us there's a whole lot of people who would be interested in making this "sacrifice", or risk-reward calculation.

<comment><USER3> Don't forget sales/customer-acquisition costs! Oftentimes, things that cost >$1000 are expensive because you need to pay an expensive salesperson to convince the customer that they should part with thousands of dollars.</comment></comment></comment>


All locations your Google account has been - <AUTHOR> https://www.google.com/maps/timeline

<comment><USER2> It's been twenty seconds for me so far, and this page still isn't loaded. I am giving up, Google.</comment>


Things to try with Google's Android 4.1 Voice Search - <AUTHOR> http://www.itworld.com/personal-tech/288505/70-things-try-googles-android-41-voice-search

<comment><USER2> Does anyone know how this objectively stacks up to Ssiri? I'm stuck on an older version of Android right now and I've seen some of Siri's shortcomings first-hand. So I've got to wonder... Someone should do a side-by-side.

<comment><USER3> There are plenty of side by side videos out there. One I found:

[http://www.youtube.com/watch?v=kw- RzN4xYyE&feature=playe...](http://www.youtube.com/watch?v=kw- RzN4xYyE&feature=player_embedded#)!

I think it's highly debatable depending on what you're actually searching for, but indisputable that Google Now is quicker because it does the voice recognition locally on the device rather than having to upload it to a remote server.

<comment><USER4> > Google Now is quicker because it does the voice recognition locally on the > device rather than having to upload it to a remote server.

It does not. It uploads to a server and does the recognition there, and it doesn't work unless you're connected to the internet. Some functionality (I'm only aware of "Call X") works if you install offline speech recognition, but nothing else.

<comment><USER3> Interesting- I had read the exact opposite. I stand corrected.

<comment><USER4> I had too :(

However, it's easily the best phone I've ever owned. I much prefer it to the iPhone, too.

<comment><USER3> Which are you talking about, the Galaxy Nexus? I went for an HTC One S, love the hardware, hate the software.

<comment><USER4> Yep, the Galaxy Nexus. I specifically wanted a stock Android experience, and it was 2x as cheap as the other phones, so I got that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> On a related note, anyone know a good way to get 4.1 on my Verizon Galaxy Nexus?

<comment><USER4> Can't you flash stock on it? You should easily be able to.

<comment><USER6> There is no "stock" 4.1 image for the Verizon Galaxy Nexus. The factory image is still on 4.0.4.

<comment><USER4> Ah, it's a different Galaxy Nexus... That's a pity.</comment></comment></comment></comment>


Element 112 is Named Copernicium (Cn) - <AUTHOR> http://www.iupac.org/web/nt/2010-02-20_112_Copernicium

<comment><USER2> Things only Wikipedia can teach you and which you would otherwise never learn because the topic isn't otherwise interesting enough for you to buy any books:

Elements 108 to 112 were created by the German Helmholtz Centre for Heavy Ion Research between 1982 and 1996 and named (in order Hassium, Meitnerium, Darmstadtium, Roentgenium and Copernicium) between 1997 and now.

The Helmholtz Centre for Heavy Ion Research seems to have gotten lazy after that because the next five elements (113 to 116 and 118) were created by the Russian Joint Institute for Nuclear Research between 2000 and 2006. They are all not yet named.

I guess we gonna get a few elements named after Russian scientists, cities or states next. And I'm pretty astonished that it can seemingly take 14 years to name a freaking element. Copernicium seems an innocent enough name.

<comment><USER3> _it can seemingly take 14 years to name a freaking element_

Naming it is easy. Making the name _stick_ is hard.

I'm sure it takes time to make sure that (a) the result is real; (b) it is correctly attributed.

And nobody wants to have to take an element back. That would create a small- scale version of the furor that ensured when the astronomers had to take one of the solar system's planets back.

</comment></comment><comment><USER4> What a birthday present!</comment>


Google 'recognizes' Palestine - <AUTHOR> http://blog.foreignpolicy.com/posts/2013/05/02/google_recognizes_palestine

<comment><USER2> I think this story is upvote-worthy however the paywall keeps me from doing so.</comment>


Show HN: Ek – One app. All cabs (an aggregator for cab aggregators) - <AUTHOR> http://ekapp.co/

<comment><USER2> Finally I don't have to open 3 different apps to just order a cab.

</comment><comment><USER3> Awesome app, been a user since the beginning. Amazing UX.

</comment><comment><AUTHOR> No Lyft support for right now (but we are working on it).

</comment><comment><USER4> Big fan</comment>


Ask HN: Why does Google need to log 99% of what I do on my Android phone? - <AUTHOR> Every detail and bit of use is logged in my Google account (apps used, how many times they were used, timestamps of use, URL's visited, every place I visited, ect...). I know location data was a definite expectation as I've seen maps of where I've been in the past but this seems insanely excessive, not to mention that it also knows what Google notifications I've dismissed. <comment><USER2> Pay for an account that isn't Google?

Yes, you're logged, yes, you have a free account, yes you can disable a good deal of it in your account settings. It's not just on your phone either.

Ubuntu has OS analytics

Windows 10 has very detailed OS analytics

Android has a fair bit for the OS

You've confused a couple things. Your subject says phone but the body of your text just talks about using Google services and websites.

It's not just Google that knows this stuff, if they won't be the ones that knows it someone else will. OS level analytics are a good thing. Games have a fair bit of data that goes to the devs on phones and PCs. Free online accounts it should just be a given that stuff is happening with your data.

</comment><comment><USER3> Seems like a lot of Google products have gone from being universally useful to only being useful when you buy into the ecosystem. I've noticed that in the past year or so, my video suggestions on youtube have been terrible (totally off topic, things I've already watched, ect...). I have a hunch that it's because I have youtube's history features turned off. I'm going to turn them back on just to see if the applications get more useful.

<comment><USER2> Yup. I'm all in on Google and every single aspect of my UX with their products is great. Very useful. No strange "creepyness". I've also never experienced any downsides to living this way.

</comment></comment><comment><USER4> Yeah I would love to use a smartphone that doesn't require to have an account! It's simply not possible with iOS or Android as you need an account if you want to download apps.

Also I would love a smartphone that doesn't come with many preinstalled apps I don't need.

<comment><USER5> You could use LineageOs with F-droid (open source apps only) as the main store and Yalp (access to the play store without an account of your own) for everything you don't get in your main store.

</comment></comment><comment><USER6> They track you because it's their business model. More data about you means better personalized advertisements and thus more money for google.

<comment><USER2> I wish that made sense to me. Advertisements. I allow Google to literally everything. I use everything they have. I don't block ads but I also never click them. I swear ad money is just like a cryptocoin at this point. Well, it's like the concept of money, all these businesses agree that they are worth value. It's a bubble that should pop soon.

<comment><USER7> Google doesn't care if you click the ads. They have already been paid by the time it's shown.

They're paid to deliver ads to specific user groups, which are paid for in advanced by said companies that are advertised.

</comment></comment></comment><comment><USER8> They don't "need" to, but they can use all that data to build a better profile on you and thus sell advertisers better targeting.

</comment><comment><USER9> Its not only google lol Check the permissions for all your apps :)

</comment><comment><USER10> Business and legal reasons. Primarily business reasons.

</comment><comment><USER11> The AI NEEDS DATASETS</comment>


Show HN: New Natural Language to SQL Platform Is a Game-Changer - <AUTHOR> http://kueri.me/ <comment><AUTHOR> Kueri is a Natural Language to SQL platform and for limited time it is offered for a free commercial use.

By releasing the Platform for free commercial use we are hoping to cultivate a global active developer community and to set a benchmark when it comes to Database Natural Language user interaction.

Therefore we would appreciate your download and feedback. A documentation page and an active forum can be found at our website.

</comment><comment><USER2> i was one of beta users and was really impressed by tech.</comment>


iPhone cedes its crown, outsold by Samsung Galaxy S3 - <AUTHOR> http://qz.com/25626/iphone-cedes-its-crown-outsold-by-samsung-galaxy-s3/

<comment><USER2> 1) This is blogspam.

2) The article title references the 4S, not the iPhone 5, the current flagship. Kind of unfair to make a serious comparison between Samsung's (excellent) flagship device vs. the "old" iPhone model.

3) This is for a single quarter, the quarter before the iPhone 5 was announced. The quarter where iPhone rumors and leaks and photos were at its apex.

4) Here's the original report from Strategy Analytics:

[http://www.businesswire.com/news/home/20121108005702/en/Stra...](http://www.businesswire.com/news/home/20121108005702/en/Strategy- Analytics-Samsung-Galaxy-S3-Worlds-Best-Selling)

5) Let's break the last link down:

SGS III sold 18 million units for Q3 12.

The iPhone 4S sold 16.2 million units.

Hey! the SGSIII wins. Wait a minute. The iPhone 5 launched and sold 6 million units.

So you have _SGSIII sales of 18m units_. But _iPhone sales are actually 22.2m units for the quarter_.

So, despite the title, this report is showing that the iPhone 4S/5 _outsold_ the SGSIII.

6) I flagged this submission because we don't need junk submissions like this here.

<comment><USER3> You have a point for #2 and #3, but you are thinking too hard.

The REAL story here is: A single Android device has outsold a single iPhone device in a single quarter.

All facts aside why this happened, it is still a major feat that, of all Android options, one reigned over a single iPhone device for the quarter.

FYI: You may want to check your Jimmies for signs of Rustling.

EDIT: What about SII/SI?? Also, there was a surge of 4S sales when the price dropped.

Too many ways to look at it, no reason to get so defensive. For single device sales, iPhone didn't reign champ for one quarter. Not spam, but not that big of a deal because iPhone will come back next quarter.

</comment></comment><comment><USER4> Horrible site experience. The article cannot be read on Android (or at least on the default Android 4 browser) because it jumps to other articles as soon as you try to scroll.

</comment><comment><USER5> OT: I really dislike sites laid out like that. I accidentally scrolled UP and the page reloaded to a different article. This iPhone article wasn't listed on the left column and I'm not going to hunt for it. TheNextWeb is similar but doesn't do this autoloading nonsense.

<comment><USER6> And why do they feel they need to take up such a significant part of my screen real estate? Why can I not disable that annoying toolbar at the top that pops in and out depending on if you're scrolling?

</comment></comment><comment><AUTHOR> Similar article on a better layout: [http://www.theatlanticwire.com/technology/2012/11/iphone- ced...](http://www.theatlanticwire.com/technology/2012/11/iphone-cedes-world- dominance-samsung-galaxy-s3-now/58824/)

</comment><comment><USER7> In a single quarter, which is also historically the lowest sales period for iPhones.</comment>


Mini Portable Arduino Laptop  - <AUTHOR> http://www.liquidware.com/projects/25/Mini+Portable+Arduino+Laptop

<comment><USER2> Hey guys - someone just emailed me that this post made it here on y-combinator. So cool! I like the idea to try out the frogpad, by the way. I wasn't able to find anyone who's hacked the frogpad usb to a digital device like the Arduino, so I just placed an order for one, and I'll try my best as soon as it comes in the mail. Hopefully, then someone else might find that code useful :) And thanks for the comment about the TouchShield, that's really flattering! Chris and I spent quite a few weekends hacking it out, so it's nice to know it was worthwhile... -Matt from antipastohw.blogspot.com

<comment><AUTHOR> Hi Matt, didn't see this response before I added a comment to yr blog ~ [http://antipastohw.blogspot.com/2008/09/thanks-y- combinator....](http://antipastohw.blogspot.com/2008/09/thanks-y- combinator.html)

 _"... And thanks for the comment about the TouchShield, that's really flattering! Chris and I spent quite a few weekends hacking it out, so it's nice to know it was worthwhile. ..."_

Absolutely top class stuff. Now I've just got to wait till the AUS dollar climbs back up to parity.

</comment></comment><comment><AUTHOR> The bit that was interesting for me was the Liquidware, "TouchShield" ~ <http://www.liquidware.com/shop/show/TS/TouchShield> It's a '128×128 pixel OLED screen' which is also a touch screen. You can buy these touch-screens but wiring them up is difficult. This shield brings a usable GUI to the Arduino that non-hardware types like myself to use.

</comment><comment><USER3> You could probably use a FrogPad instead. That keyboard looks huge for such a small device.

<http://www.frogpad.com>

</comment><comment><AUTHOR> and more here ~ [http://antipastohw.blogspot.com/2008/09/homemade-arduino- lap...](http://antipastohw.blogspot.com/2008/09/homemade-arduino-laptop- palmtop-thingy.html)

</comment><comment><USER4> What language are those code snippets in?

<comment><USER5> It is a C-like language, based on something called wiring:

<http://arduino.cc/en/Reference/HomePage>

<http://wiring.org.co/learning/index.html></comment></comment>


Phew, NSA Is Just Collecting Metadata. (You Should Still Worry) - <AUTHOR> http://www.wired.com/opinion/2013/06/phew-it-was-just-metadata-not-think-again/

<comment><AUTHOR> Written by Matt Blaze, whose 1994 paper identifying vulnerabilities in the NSA's proposed key escrow system was a key in defeating the Clipper Chip.

[http://www.crypto.com/blog/mcconnell_clipper/](http://www.crypto.com/blog/mcconnell_clipper/)

</comment><comment><USER2> Among other new to me metadata analysis fundamentals, Matt Blaze's identifying metadata as `context' explained the huge lever gained by big-Data collection and long term storage.

Comments' to this Wired story brough me to the somewhat excited but thoughtful link:

"...Still evolving technically, the secret national security goal is to build, over time, a detailed mathematical 3-D model of every citizen's (metadata) patterns for behavior analysis and prediction purposes.

How do I know this? Simple, two Israeli firms with deep Mossad connections, Narus (now wholly-owned by Boeing) and Verint, drop-dead technical experts in behavior prediction modeling, are closely working with the NSA, DHS, etc. Narus' corporate website home page clearly touts its advanced analytics as "Fusing together hundreds of data dimensions for deep, focused insight and control."

"they are intent on making every conversation and every form of behavior in the world known to them." -Edward Snowden

[http://rapidcityjournal.com/news/opinion/forum-freedom-on- th...](http://rapidcityjournal.com/news/opinion/forum-freedom-on-the-rocks- tyranny-versus-terrorism/article_85f42746-9c81-598c-9e64-0db3ee978191.html)</comment>


I Got Lucky - <AUTHOR> http://avc.blogs.com/a_vc/2008/05/i-got-lucky.html

<comment><USER2> if you want more history, i'll work on a few more posts like this one. it's not so easy for me to do because it seems sort of self centered. the reason i did this one is a guy getting out of b-school asked me to.

i would love to see a way to pump all this discussion on hacker news into disqus so that it gets onto my blog. there's a good discussion going on there that you all would be added value to

<comment><USER3> <http://news.ycombinator.com/item?id=42275>

"1 point by ph0rque 290 days ago | link

I guess what I had in mind is to somehow link the disqus users with news.YC users so that e.g. Fred Wilson would not have to re-register at news.YC."

</comment></comment><comment><USER4> He doesn't explain how he got rich though... "I joined a VC" ... "I was lucky!"

I'd be interested in hearing a lot more about his past and how he forced his way into the VC industry with no experience.

<comment><USER2> well i sort of did. we turned $150mm into $750mm from 1996 to 2000. vc's generally get paid 20% of their profits so take 20% of $600mm and then split that with Jerry and a few others and that's where the money came from.

i've made more since, but that was the initial payday.

up until then, we were eating ramen the week the mortgage was due.

</comment></comment><comment><USER5> This is why I like, and have been reading Fred's blog for years: he is honest and forthcoming on his blog.

</comment><comment><USER6> "Luck is what happens when preparation meets opportunity."

\- Seneca

<comment><USER7> I'm scared of what happens when preparation doesn't meet opportunity.

<comment><USER8> Once you hit a certain level of preparedness you realize that once-in-a- lifetime opportunities don't really exist.

</comment></comment></comment><comment><USER9> Interesting ... I wonder how his career would have worked out if he had started in the VC business in the early 1980s, instead of the mid 1980s or later? Or, if he didn't have the software background?

</comment><comment><USER10> "Black Swan".

What's up with the [dead] "fredwilson" comments, BTW?

</comment><comment><USER11> Sometimes the easiest part of success is just showing up.</comment>


Ask HN: Crazy idea #12539: smart rss to email gateway - <AUTHOR>

Has the following been done to your knowledge and if not what do you think of the idea?
RSS is one more 'inbox' you have to monitor. Some people on HN are working on improving RSS by applying bayesian filtering to RSS feeds to pick out the items that you are most likely interested in.
I'm a little bit old-fashioned in a sense that my email inbox doubles as my to-do list. The reason for that is simple, email is something I'm going to have to deal with anyway, so I send myself one-liner emails with a [todo] header in the subject so I can easily sort them.
RSS would add another input queue to monitor, and that's why I have so far stayed away from 'readers', instead I just have a very limited set of sites that I visit.
But even then you have to filter out the items that you are interested in.
How about tying in the idea of very smart RSS filtering so that that the stream gets reduced to manageable proportions (with caps on the number of messages per day and so on), and gateway that in to a periodic digest to your inbox?
That way you only have to monitor one stream for events.
Crazy ? Or useful ? <comment><USER2> I remember using RssFwd...</comment>


Hjson, the Human JSON - chris-at http://laktak.github.io/hjson/ <comment><USER2> The point of JSON is to have a standard way for data-interchange. Adding the complexity of "sometimes you might have quotes, sometimes not" and "you can display multi-line strings in different ways" gets away from this.

JSON is great already. I don't really see this as necessary. I could understand the comments (but use // instead of # as per Javascript comments) to increase clarity to people who don't know the original design syntax. But the others do not seem really useful.

<comment><USER3> No, the point of XML is to have a standard way for data-interchange. The point of JSON is to have a lighter and simpler way of data interchange, where the data is arrays and maps of strings and numbers. It also works well with Javascript.

If there's one thing JSON has proven it's that having a standard way for data- interchange is not very important. Having a format that's easily parse- and usable is much more important, being accessible to human inspection is a good advantage as well.

(if having a standard was important we'd all still be using XML)

<comment><USER4> > The point of JSON is to have a lighter and simpler way of data interchange, > where the data is arrays and maps of strings and numbers. It also works well > with Javascript.

I contend there's no "point" to JSON at all. JSON is simply JavaScript (in fact, you can eval it) that was discovered could be used to send data from servers to browsers. It became a standard out of sheer convenience.

By breaking Javascript's ability to execute the code, you're eliminating an important feature of JSON. (I'll admit that nobody _should_ be eval'ing JSON, but the fact that you _can_ makes its existence better understood.)

<comment><USER5> No you can't, JSON is not JavaScript and eval is not capable of working on all correct JSON documents. JSON requires a JSON specific parser. So this breaks nothing, eval doesn't work now and JSON has never been JavaScript.

<comment><USER6> Look, you're just wrong. The only exception to "eval" is some obscure unicode bug others are mentioning. JSON is literally a JS object literal (with the additional requirement that any key be a string). There's also no reason to use eval when JSON.parse will do it safely.

<comment><USER5> No I'm not wrong and there mere fact that you mention the exception means you've conceded my point; and those aren't bugs, they're in the spec which means it was never a subset of JS.

> JSON is literally a JS object literal (with the additional requirement that > any key be a string).

Which makes it not a JS object literal but a near subset with slightly different rules with unicode strings that make it not even a subset.

<comment><USER6> What spec are you looking at? [http://www.ietf.org/rfc/rfc4627.txt](http://www.ietf.org/rfc/rfc4627.txt) specifically says in section 2.5 that all unicode characters are meant to be supported.

So now you're wrong twice.

<comment><USER5> Try learning something jackass: [http://timelessrepo.com/json-isnt-a- javascript-subset](http://timelessrepo.com/json-isnt-a-javascript-subset)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Well, that completely misses the point of JSON: simple and unambiguous syntax.

If you want something that's easier to edit for config files, you can use YAML.

<comment><USER8> It doesn't really miss the point - the point was a more human friendly JSON and it hit that nail on the head pretty well if you ask me.

<comment><USER9> "a more human friendly JSON" is a goal that misses the point of JSON.

<comment><USER10> Yes, exactly. But it's not even meant to replace JSON. It's not for exchanging data between computers, and its not for webservices etc.

Its for when you need a quick config file, and you think "Gosh, I wish I could just put some sloppy JSON/Python-like code in here, with a few comments.", and you don't want to use XML, INI, or YAML, or roll your own format.

I guess most people here are in the web development business. Which is fine, but I am not currently. I don't need JSON for what JSON is made for, but I often need something _almost like JSON_ for my use cases.

<comment><USER11> Just use JSON, and add a key (which you can ignore!) for comments. Even better, you get to use any of the dozens of already-tested JSON parsers out there for this! There is absolutely _no_ reason you need to reinvent the wheel here.

You know what's annoying? Having to remember a dozen-odd JSON-but-not-really config file syntaxes instead of just JSON.

<comment><USER10> > You know what's annoying? Having to remember a dozen-odd JSON-but-not-really > config file syntaxes instead of just JSON.

That's why YAML is out of the question for me. But JSON is too restricted to write it manually (no trailing commas, no comments, no round-trip-safety). What I'd ideally like is to take this Python/JS5 file (differ only in the comment indicator # vs //)

        # this is an important comment
        obj = {'hello': 'world',
               'list': [1,2,3,4,5,]}
        ...
        from configfile import obj

and to turn it into a safe

        // this is an important comment
        {'hello': 'world',
               'list': [1,2,3,4,5,]}
        ...
        obj = parser.loads("configfile.cfg")

It's not that I don't like JSON. Its just that I have a different requirements. When I need JSON, I use JSON. When I need easily editable config files that look like Python or JS (which I can easily remember), I use something like HJSON.

<comment><USER11> Two of your issues go away:

      {
        "configOption": {
                          "c": "This option is configurable.",
                          "val": 42
                        }
      }

And now, the comment is round-trip-safe _and_ exists!

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> All of these ideas are good (from a consumer perspective, it's too early in the morning to think about implementation issues)...but I have to ask out loud what I frequently just think...why don't we just start adopting YAML more? Or, at least, a subset of the "safe" kind of YAML, mostly restricted to what JSON can do?

<comment> chris-at IMO yaml is too complex. Just take a look at the spec: [http://www.yaml.org/spec/1.2/spec.html](http://www.yaml.org/spec/1.2/spec.html)

<comment><USER13> Sure YAML is more complex than JSON, but that's because it's more than just a data structure. If you are using it only for things that JSON can do, it's really not that complex.

<comment><USER14> Agreed. I use a YAML file to track my daily agenda. It was easier to figure out the format, and to leverage existing parser libraries for my reports, than to write my own "agenda-optimized" file format. A good example of [http://xkcd.com/1205/](http://xkcd.com/1205/).

</comment></comment></comment></comment><comment><USER15> I will never understand the tendency, especially in the web community, to consider complicated, ambiguous, inconsistent, and difficult to parse syntaxes as "friendly".

It might seem like a good idea at first, but over time it just results in a culture that publishes horrifically broken markup, and increasingly baroque implementations that try to work around every possible screw-up instead of simply flagging errors. This is, in my opinion, the biggest screw-up of the web: if early browsers simply flagged errors and pointed out where and what they are clearly, the web would be a much nicer place. Instead, actually writing a parser for web markup is a nearly impossible task, and not the weekend hack it should be.

One of the, if not the, great thing(s) about JSON is its beautifully simple syntax. 5 images on json.org precisely explain what it is, and that's that. You can write a parser for it in basically any language without any fancy libraries or frameworks in a few hours. That is a good thing, regardless of whether you personally would ever have to do such a thing, because it keeps the barrier of entry low and trickles through the ecosystem in positive ways.

Missing the point of JSON? Yes, but missing much more, including lessons that should have been learned.

That said, a few of the ideas are good ones (comments and such), but the bad ones (making crucial delimiters optional) are so bad they more than outweigh the benefits.

</comment><comment><USER16> Seems like a construed attempt to make JSON easier for "humans" (whatever those are) but in general JSON isn't something my mom worries about. I'm not sure why something like a simplified YAML couldn't be used for the intended use cases.

I've been doing a lot of ansible work recently and YAML feels fairly reasonable and I can show it to my wife and she "gets" what is happening.

Sorry just reminds me of: [http://xkcd.com/927/](http://xkcd.com/927/)

Maybe we need a HN bot that links that automatically?

</comment><comment><USER17> The more you try and push JSON along these lines the more it ends up looking like Rebol.

Here are the examples in Rebol:

      [
          ; comments
          ;; specify rate in requests/second
          rate: 1000

          ; quoting
          key: 'value
          text: "Look ma, some quotes!"

          ; path & HTML
          path: %\c\windows
          inject:

          ; no need for escapes
          space: %\c\windows\foo%20bar.txt
          space2: %"\c\windows\foo bar.txt"

          ; no commas
          one: 1
          two: 2

          ; multiline string
          haiku: {
              Line 1
              Line 2
              Line 3
          }

          ; array/list/block
          fav-numbers: [1 2 3 6 42]

          ; and finally...
          name:    'hjson
          desc:    "Rebol data format"
          main:    %./lib/rebol.reb
          version: 1.0.1
          tags: [
              json
              hjson
              rebol
          ]

          ; and really finally...
          light-switch: on
          useful: yes
          boolean: true
          co-ords: 10x100
          ip: 192.168.100.1
          date: 1-Jan-1970
      ]

Of course this shouldn't be a surprise because Douglas Crockford cites Rebol as an influence on JSON.

For those interested have a look at REN (REadable Notation), a subset/dialect of Rebol, which is an attempt to produce a _standardised_ format - [https://github.com/humanistic/REN](https://github.com/humanistic/REN)

</comment><comment><USER18> It would be nice if JSON accepted comments and Python/ES5 have proven the developer ergonomics of trailing commas, but I'm not convinced the rest of these are improvements.

<comment><USER19> You can add comments but they won't be passed along and I don't think that's the case for this either. They're just there for documenting.

<comment><USER18> Many implementations I've seen will raise a syntax error if you include a // in JSON. Then, you have to do clever shit like make a key that you don't use anywhere:

         "//": "my comment"

</comment></comment></comment><comment><USER20> Selfish plug, here's another JSON derivative that's optimised for single-line representations like log lines: [https://github.com/zimbatm/lines](https://github.com/zimbatm/lines)

Ping me if you want to help out.

<comment><USER18> That:

a) has a lot more clear use case, and

b) doesn't really compete with JSON for data transfer (its primary use case)

</comment></comment><comment><USER21> JSON is great. Please don't change JSON.

<comment><USER22> This is CoffeeScript for JSON. I don't think there's anything to worry about unless browsers start to adopt this dialect.

<comment><USER23> No, that would be CSON. [https://github.com/bevry/cson](https://github.com/bevry/cson)

</comment></comment></comment><comment><USER24> Comments are nice when your JSON is at-rest (e.g. in a file) but more often than not it's in-flight and my code is probably not adding comments when building a message.

Come to think of it, what would an API look like that _writes_ HJSON? Not pretty, probably.

I like the unquoted strings and trailing comma, but the rest I don't think is unnecessary. I'd be happy with the standard ECMAScript map literal format.

<comment><USER10> Sure, but messages in-fligt not what this is for. This is only for writing "JSON" manually. I don't think there are many use cases where you have to generate comments programmatically.

I haven't looked at HJSON in detail, but JSON5 which is very similar has exactly the same writing API as JSON. Namely just `stringify`, which produces plain compliant JSON.

HJSON additionally seems round-trip safe, which means if you start with comments, they are preserved, which is nice for config files.

I don't think anybody sane considers sending out non-standard HJSON over the wire where plain JSON is expected.

</comment></comment><comment><USER25> The 'next JSON' should be EDN. It addresses the shortcomings suggested by hjson and more. It has comments, all commas are gone, it has symbols (aka light-weight strings), it has built-in support for time and uuid objects.

[https://github.com/edn-format/edn](https://github.com/edn-format/edn)

</comment><comment><USER26> Why do our machine data formats (JSON, XML, etc) need to be more human friendly? I don't build business processes that involve a human reading and manipulating JSON or XML.

I don't choose a data format for readability. In fact I think that's one of the least important factors. I choose JSON when the producer or consumer is JavaScript code. That's pretty much the only reason, I think, to pick JSON over XML or anything else.

Also, both JSON and XML are terrible for config file intended to be manually edited.

<comment><USER10> > Why do our machine data formats (JSON, XML, etc) need to be more human > friendly? I don't build business processes that involve a human reading and > manipulating JSON or XML.

I do.

JSON is a great format for config files. For example, Sublime Text's config files are in JSON. You configure the editor by editing those files. I think they additionally support comments, but if you edit something in the GUI you loose them. The round-trip-safeness of this seems like a really good addition for this use case (e.g. you change a value programmatically, and only that place in the file changes - all comments and whitespace stay where they are).

I currently use a lot of Python and some XML as "glue" code, and to configure other programs. Definitions for plots, settings for batch jobs, and so on. XML is overkill, and hard to parse. Python scripts are limited to python, and you have a full interpreter, so people can put logic in your config files, which is usually not what you want. YAML is too non-standard and has too many varieties and edge cases. JSON is really great for this case - even better, leninent JSON+comments. And accidentially, JSON is not only Javascript, but almost valid Python, and a couple of other languages. I think the sweet spot is hit by JSON5, which is JSON extended with some ECMAScript5 features, and additional comments.

I agree of course that plain JSON is the best when you write webservices, or consume or produce with JavaScript. I wouldn't use any non-standard thing on the wire. But if you just want to set a few variables from outside in your program, its great to be able to put a JavaScript/Python/PHP object literal in a file with a few comments, and it just works.

</comment></comment><comment><USER27> Handling of strings is way too complex for very little gain, but the rest - trailing commas, comments and no quotes for alphanumeric keys - are actually quite useful. They complicate syntax only a little, yet make writing JSON by hand much nicer. These small additions merely take us back to Javascript object initialization syntax, straitjacketed version of which Crockford called JSON.

</comment><comment><USER28> Something similar I've used in the past is cson [1]. It is like JSON but in CoffeeScript, which allows comments and multi-line strings as well.

[1]: [https://github.com/bevry/cson](https://github.com/bevry/cson)

</comment><comment><USER29> Typesafe have something similar, HOCON: [https://github.com/typesafehub/config/blob/master/HOCON.md](https://github.com/typesafehub/config/blob/master/HOCON.md)

</comment><comment><USER30> Having an ultra-relaxed JSON for config files is an excellent idea; ingy and I called our take on it JSONY - <AUTHOR> [http://p3rl.org/JSONY](http://p3rl.org/JSONY) for some examples.

</comment><comment><USER31> I see many mentions of YAML in the comments, but why not TOML? ([https://github.com/toml-lang/toml](https://github.com/toml-lang/toml))

<comment><USER32> Seconded. TOML is great.

</comment></comment><comment><USER33> I fail too see how this is a improvement over YAML.

</comment><comment><USER34> So basically YAML?

</comment><comment><USER35> Sorry, was there a problem with JSON that I wasn't aware of? Oh, you mean, the problem of following the spec or not paying attention. Ok, in that case I see high adoption rates for this. Or, we can just make sure we do follow the spec and pay attention to what we're doing and stick with what works and is practically an industry standard.

<comment><USER10> Yes, there is a problem. Many programs use JSON for config files. You can't really comment stuff in there, and if you change something programmatically, you loose all comments and layout. A major example is Sublime Text, but I also heard the package management in node.js uses JSON, and people complain about not being able to include comments.

Actually, all the JSON I produce at work is per hand. It would be a major productivity increase if I had a more lenient parser. You don't have to call it JSON if it offends you, call it "Object literals that look like JavaScript or Python" if you like.

<comment><USER35> I still think that either said config files should use another format, or people should adhere to the spec. For this to have massive adoption new parsers will be required for all major languages. The problem it solves is not that great to merit new parsers I don't think. Of course, I could be completely wrong and this will become the next standard, but I doubt it.

</comment></comment></comment><comment><USER36> [http://xkcd.com/927/](http://xkcd.com/927/)

</comment><comment><USER37> No support for dates... which I think is the most glaring problem with JSON.

</comment><comment><USER38> ew

</comment><comment><USER39> [http://xkcd.com/927](http://xkcd.com/927)

Cut it out. JSON is fine.</comment>


Why did ancient Egypt spend 3000 years playing a game nobody else liked? - <AUTHOR> https://www.eurogamer.net/articles/2016-06-01-why-did-ancient-egypt-spend-3000-years-playing-a-game-nobody-else-liked <comment><USER2> TL;DR, anyone?

<comment><USER3> I skimmed it, and the game is Senat, which was likely like simplified backgammon (exact rules are lost), and it was likely popular because gambling kept it interesting.</comment></comment>


Popular theory on how humans populated North America can't be right, study shows - <AUTHOR> http://www.cbc.ca/news/technology/ice-free-corridor-north-americans-1.3715397 <comment><USER2> Here is the unpopular theory: most expansion was on skinboats via the Arctic Ocean: [http://www.paabo.ca/uirala/uini- seagoingskinboats.html](http://www.paabo.ca/uirala/uini- seagoingskinboats.html)

Bering route not needed.</comment>


The Sidekick Failure and Cloud Culpability - <AUTHOR> http://www.datacenterknowledge.com/archives/2009/10/12/the-sidekick-failure-and-cloud-culpability/

<comment><USER2> An interesting distinction about whether this is a cloud-related failure, or just a regular data-center screwup.

If I were a user of this service, I would find the distinction quite academic. As a user, I am likely to make the distinction about whether the data is stored on a device that I control, or somewhere else. That ought to be the definition of cloud, don't you think?</comment>


Let the Other 95% of Reality In - <AUTHOR> http://gilesbowkett.blogspot.com/2015/06/let-other-95-of-reality-in.html

<comment><USER2> In a free market, there never is a shortage. There only are people who don't want to pay the market rate.

If your candidate pool is people "recent college graduates with experience in exactly the technologies we are using", then there is a shortage. If you're willing to consider older workers or people who aren't a perfect keyword match, then there are plenty of candidates.

It also has a damaging effect. An H1-b visa work is MORE ATTRACTIVE than an American citizen, assuming the same salary and competence, because they're tied to the job.

I.e., if you're going to invest in helping your employee acquire skills, it's better to hire the indentured servant rather than investing in an American who can switch jobs as he gains experience.

</comment><comment><USER3> Great satirical video. That essay by PG lost me a lot of respect for him. It's the kind of out-of-touch fantasy perspective you'd expect to hear from a multi-millionaire businessman, but not from someone who so famously identifies with hacker culture. Maybe you'd argue those types aren't mutually exclusive, but it sure feels that way to me.</comment>