Tracking Outbound Links the Right Way - <AUTHOR> https://medium.com/@Hone/tracking-link-clicks-f1bd217e7006

<comment><USER2> Tracking things like this tend to be trickier than I expect. Nice to have a writeup of considerations and approaches.</comment>


Working on a standing desk - <AUTHOR> http://apas.gr/desk/

<comment><USER2> The best, and maybe only reason to buy an iPad is that sitting is bad for your spine. Lying on your front in bed, surfing, or in a very reclined chair with your legs bunched up and the ipad on your thighs is much better for you, if standing is not possible for long.

<comment><AUTHOR> Well-made point. But I don't think it's the only reason for to buy an iPad.</comment></comment>


Ask HN: I'm 20, naive and want to save the world. How? - <AUTHOR> Right now I'm in a state of apathy regarding the current status of the world's health. I only see problems not solutions. What do you do to get the feeling of contributing to a better world? <comment><USER3> First, while it's a noble goal, to save the world requires a position of power. So, your goal is to obtain some power. The problem with power is that it corrupts, and it may happen that once you yield significant amount of power, you may not want to use it as you may have originally intended to, because it might be too risky and as a result, you could lose it.

Second - thus, your goal now is to maintain the achieved level of power and look for ways to enlarge it.

Keep in mind that many people don't really care about the good in the world, let alone saving it. Their perspective is a personal one, I'd say even a selfish one.

</comment><comment><USER4> I can strongly recommend consuming some of Jordan Peterson's material, particularly this video blog "My Message to Millenials: How to Change the World – Properly" [1]

His central message: the key to changing or fixing the world is to understand and fix yourself, deeply and thoroughly.

It resonated with me as I've been on a similar quest to work out how to "save the world" since my early adulthood. It took me till a few years ago (15-20 years after I started trying to "save the world") to realise that this was what I really needed to do.

It's a hard journey but an incredibly important one, as it requires becoming fully honest with one's self and everyone else, and becoming humble and realistic about what is possible for one person to achieve.

But as Peterson says, once you do this, you'll notice your little corner of the world starting to change around you. You then realise that if enough people in the world did this, the major problems of the world would quickly sort themselves out, so the next step is to help and empower others to do the same thing - but only those who have chosen to do so (trying to help people who don't want to be helped is futile and destructive).

Another piece of advice: read (or read about) the classics - <USER2> philosophy (especially Seneca) and mythology, along with Enlightenment/post- Enlightenment philosophers like David Hume, Adam Smith and John Stuart Mill.

The most important thing to recognise is that at a fundamental level, the problems being faced by the world now are not altogether new, and for most of what we're struggling with now, people were struggling with different versions of the same things, hundreds or thousands of years ago.

Which is not to say we should despair and give up.

But we should understand the what's gone before us and what's deep inside of us before we start trying to prescribe solutions to today's global problems.

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

</comment><comment><USER5> You can't. Even if you were a billionaire, the world is huge, populated, and is controlled by all kinds of people and companies (of various degrees of madness and power thirst).

Pick one small problem and try and solve it, or improve it. Example: excessive CO₂ in the atmosphere. Possible solution: figure out how to plant fast-growing plants on a massive scale, ideally in deserts.

</comment><comment><USER6> "Saving the world" is a very vague mission statement. Get a clearer vision of what you want to achieve.

</comment><comment><USER7> Change scale : you probably can't help people in far distant places but look at the world around you there are a lot of people that could use some help / care even if they don't die of hunger.

</comment><comment><USER8> There will always be problems, but for a certain kind of person, this is ideal; there will always be problems to _solve_.

Do you believe your apathy is an obstacle to solving problems? Or have you simply not found a problem you care enough about? Or do you mean that you feel overwhelmed by the number and severity of problems you perceive in the world? Or are you actually discouraged by a perceived inability to see solutions to problems? These are all different concerns, and while it isn't clear to me which (if any) of these are yours, I will try to address all of them.

As objectionable as some may find this, apathy (in the sense of being unable to summon deep concern for problems not affecting you directly) is not necessarily an obstacle to solving problems, but it certainly can be an obstacle to solving them well. You can care a great deal about the solution to a problem while caring little for the effect it has on others, but the less isolated the problem (the more people affected), the less likely it is your solution will solve the problem for everyone, or solve it adequately. Indeed, it is entirely possible to make a problem much worse or create a multitude of new problems without taking great care to avoid such things. There is some question as to whether it's possible to change anything whatsoever without doing some kind of violence in the world, and I advise you seek to minimize the violence you inflict however you can. Still, if you're genuinely concerned about an overabundance of apathy, know that a dose of compassion can help, and compassion can be cultivated. (On the subject of doing harm without meaning to, consider Zizek's _Violence_.)

Whatever your level of worldly concern, you'll still need motivation. What problems move you will be unique to your character and experiences, but I promise you: if nothing is appealing to you, you will need start working first and wait for motivation later. This may be disquieting and counter to intuition, but just as smiling triggers mirror neurons that can lead us to feel happy, so too can working on a problem cause us to care about it. By this, I don't necessarily mean toiling away at a keyboard in isolation; I mean you need to be steeped in the problem. Convince yourself the problem you perceive actually exists by meeting the people who experience it, first hand. Confuse yourself by meeting the people who don't. Understand how others have attempted to solve the problem. Too often you'll find the problem you perceived at the beginning was not a problem at all, and the real problem, if one even exists, is something else entirely. This is important work--far more important than crafting a solution--because you are working to find the right problem to solve.

Once you begin to comprehend the true depth and complexity of a problem, you can easily be overwhelmed by the many sub-problems and their intricacies. Here you must decide what you can do that would have the greatest impact, form a hypothesis regarding how it can be done, and begin iterating toward a solution in small steps. There is an absurd amount of literature on dealing with the many facets of such an enterprise, and I won't try to enumerate all that I've seen here, but I will urge you to exercise humility and generosity in whatever decisions you make. I rather liked the methodology presented in _The Lean Startup_ , though it probably could have been condensed to an essay.

Finally, if you simply can't think of solutions, I suggest doing three things: solve other, smaller, simpler problems; read more about things related to the problem; read more about things _prima facie_ unrelated to the problem. As for specific tactics, Polya's _How to Solve It_ is never a bad place to start. Anything by Michael Michalko is probably worth reading, as well.

Whatever you decide, I wish you well in your endeavors!</comment>


How Differential Steering Works (1937) - <AUTHOR> https://www.youtube.com/watch?v=yYAw79386WI <comment><USER2> This is awesome!

I've never seen it and it's by far the best explanation I've ever seen for how these work.

Thank you for sharing this here.

</comment><comment><USER3> Most active prior submit, 140+ points:

[https://news.ycombinator.com/item?id=15122031](https://news.ycombinator.com/item?id=15122031)</comment>


Russia's military is recruiting dolphins, and their mission is a mystery - <AUTHOR> https://www.washingtonpost.com/news/animalia/wp/2016/03/11/russias-military-is-recruiting-dolphins-and-their-mission-is-a-mystery/?tid=a_inl&utm_term=.42b07112d60d <comment><AUTHOR> I don't know if anyone remembers Command & Conquer: Red Alert 2 where the Allied forces had trained Dolphins for use against seafaring forces.</comment>


Stay Employed - Web Developer Skills in Most Demand (PHP, AJAX, MySQL..) - <AUTHOR> http://www.odesk.com/blog/2008/12/stay-employed-web-developer-skills-in-most-demand-php-ajax-mysql/

<comment><USER2> I'd like to see these stats from a larger jobs site.

We have an API from Hotjobs (<http://developer.yahoo.com/hotjobs/>) so maybe someone could do that (or I might if I have time).

</comment><comment><USER3> Odesk? Well, yeah, as long as you are willing to hire yourself out at $15/hour.

<comment><USER4> Yeah, I don't know that oDesk trends is a good indicator. Plus, I have a weird feeling that people who post jobs on there aren't really tech savvy and know so far as BUZZWORD1 BUZZWORD2, etc

</comment></comment><comment><USER5> What exactly is an AJAX job?</comment>


"'Unnotarized.app' will damage your computer. You should move it to the Trash." - <AUTHOR> https://twitter.com/_inside/status/1275432403130028032 <comment><USER2> Claiming falsely that a piece of software will damage the computer could lead to lawsuits.

Look to companies in the past that used this against anti-virus type software that claimed software was such when it technically wasn't a virus or malware.

</comment><comment><USER3> Terrible wording by Apple, beyond FUD, as they claim certainty it'll damage the computer. But it's a beta, let's hope they change it.

</comment><comment><USER4> Wow that's bad. I guess mac os is truly on the path to becoming a non - general purpose computer, the way iOS works.</comment>


Create about:fox page with interactive fox - <AUTHOR> https://bugzilla.mozilla.org/show_bug.cgi?id=1599624 <comment><AUTHOR> There aren't enough cute, silly things in software.

<comment><USER2> even less cute, horrifying things ;)

<comment><AUTHOR> Firefox would only be improved by having a werewolf boyfriend.</comment></comment></comment>


Apple.com gets a redesign - <AUTHOR> http://www.apple.com/

<comment><USER2> I had to buy a mac OS/X DVD a week ago and I was actually surprised by how clean the (old) site feels compared to almost every other e-commerce site that I use.

The only thing that was slightly cumbersome was the checkout process but otherwise it was pretty smooth.

What bugged me is that I had to take 'snail mail' delivery instead of being offered the option to download an ISO image. There absolutely is no added value in having to wait for a week for delivery of something that could have been done instantly, no fun when you're computer is broken and sitting there doing nothing for longer than necessary.

<comment><USER3> Here's a small tip if you really want a download instead. If you sign up as a mac developer you can download it from developer.apple.com , though I'm not sure what the license on that is.

<comment><USER4> That's the 100/yr agreement, right? I'm sure it's coming fairly soon, they're shipping install-on-chip now, and it would be fairly pointless to sell an OS upgrade on a medium they're phasing out.

I'd bet that Lion's shipped on a DVD with a chip option. Whatever's after Lion will most likely have digital distribution as an option, though.

</comment></comment></comment><comment><USER5> ... and it doesn't work quite right on the iPad. There is a hovering menu bar which is fully blank. I'm surprised they didn't test the site on the iPad before pushing it live.

[Edit] Screenshot: <http://i.imgur.com/DxTKY.png>

<comment><USER6> Same here - that is quite a fail.

<comment><USER7> it's just a caching issue - just reload the page, and it works.

<comment><USER8> That's what asset versioning is for. I can't believe they don't concatenate their assets. Even their versioned PNG files use Etags... With proper caching and other optimizations they could probably get their site load times down to maybe 300ms (almost instantly) instead of 1.8s and at the same time fix such caching problems.

</comment></comment></comment></comment><comment><USER9> I don't like it. The light grey worked and seemed very Apple. This dark black seems a little too serious and the menubar seems somehow incomplete.

I'm sure they'll still sell millions of whatever they're selling though. and I'll still buy their stuff.

<comment><USER10> Could be a sign of a shift to a darker tone in OSX Lion as as been rumoured in the past.

<comment><USER9> Darker tone? OSX is going to go all futuristic-holocaust on us? "I've seen things you people wouldn't believe...."

<comment><USER11> Well, they are back from the dead and much more powerful this time, so it must be a sequel.

</comment></comment></comment></comment><comment><USER12> Steve Jobs is gone for a week and this happens...

<comment><USER13> At least they didn't feel the urge to put laminate flooring as their site background.

<comment><USER14> And a big 72-point

 _"Hi! We're Apple. We make technology enjoyable and magical."_

set in Museo Slab with a one-pixel chisel-effect.

</comment></comment></comment><comment><USER15> Apple often updates their site to reflect treatments in their desktop OS. A lot of the elements here, I expect in Lion.

For fun, here's a Flickr set since before time, including now.

<http://www.flickr.com/photos/kernelpanic/sets/283374/>

<comment><USER16> It's amazing how fast they converged; the first two (from 1997) look nostalgically mid-90s Web 1.0, but the 1998 homepage is recognisably a forerunner of the current one.

<comment><USER17> That change is pretty clearly pre- and post-Jobs' return/launch of the iMac. It's kind of crazy that they've maintained such a singular focus and style for so long, especially after the painful decade of constant reinvention and flux that preceded it.

</comment></comment></comment><comment><USER18> In general I do like it. The search bar (top right) with the gradient background isn't good usability though. It looks as if it is deactivated. It turns white when one clicks it, but how many people don't click it because they think it is disabled?

</comment><comment><USER19> And the store is down. New products coming out? Cook making his mark already?

</comment><comment><USER20> Someone have a before and after? Maybe I just don't spend enough time on apple.com, but this looks the same to me, except maybe a different color on the menu bar.

<comment><USER21> There are some page transition effects that are new as well. Not sure what browser you need to be using to see them, but I'm using Safari.

When I load the "Mac" section, the icons for the various models of Mac sort of spring outwards to fill the scroll area.

Clicking on any of the other categories on that page (like Applications, Accessories, etc. result in a offloading of old icons + reloading of the new category icons that includes the same spring/jiggle.

Also, when I go back to a previous page, like the main page, the navigation bar animatedly drops down from nowhere on page load.

<comment><USER22> There's also a nice transition when using the search

<http://littlebigdetails.com/post/2939190835>

</comment></comment></comment><comment><USER23> My ten minute attempt at recreating the animation found on the product page

<http://jsfiddle.net/5rmLv/>

<comment><USER24> What page is this for? I couldn't find it in the store or individual products. Perhaps its my laggy internet connectioPr

<comment><USER23> Check <http://www.apple.com/mac/> in a webkit-based browser (safari, chrome, etc) and click applications or server

</comment></comment></comment><comment><USER25> I like the product bar redesign, I don't like the color scheme of the top bar although. It seems mismatched with the rest of the website.

</comment><comment><USER26> I'm seeing a weird bug with the search feature. Typing a search request and then quickly hitting enter gets you taken to a results page that is missing most of or all of your query (depending on how fast you type). It must be something with the search as you type JS, but is very annoying. I tested in both Chrome and Safari.

</comment><comment><USER27> They're certainly getting full use out of the CSS animation support in Safari. Check out the Mac and iPod sections, and the animations when you move between the different groups of products. They've replaced the old horizontal scrolling display with some bouncy back and forth.

<comment><USER28> I noticed the same. The animation is so smooth that it must be done in CSS. Nice to see Apple eating its own dog food. (And delicious food it is.)

</comment></comment><comment><USER29> Looks like they simply stripped all the navigation off the existing design. (at least that's what I see in the latest Chrome).

As such, unless I want to read about whatever that big picture is talking about, or one of those 4 irrelevant things on the bottom (such as learning about iPhone4 on Verizon), there's nothing I can do there. They've essentially removed the rest of their site from the internet.

If, for instance, I wanted to buy a new Macbook Pro, I currently have no way to do so.

I'm going to call this a step back:

<http://i.imgur.com/mujh6.jpg>

<comment><USER30> Must be a caching problem. This is what I see:

<http://cl.ly/0W2X1v0L1Y020F1A3U21>

<comment><USER29> Must be. After enough SHIFT+F5'ing, I can see the nav on the homepage. And if I do a hard refresh on every page I go to, I eventually get the nav there too.

Apple really should know how to version their .js and .css to avoid this. It's Website 101 to increment the version number on your style sheet when you launch a new version of your site.

We all do it for our sites. Why do you suppose Apple don't do it for their own?

</comment></comment></comment><comment><USER31> Anyone else seeing the graphical glitch with the search field upper left ?

I'm running Chrome on Ubuntu. But still - they could at least have tested it a little before launch.

<comment><USER32> Looks like a known bug in Chromium at least: <http://code.google.com/p/chromium/issues/detail?id=29427>

</comment></comment><comment><USER33> My opinion on the redesign: The difference in design between the old and new site is very analogous to the design changes between the 3gs and 4. The boxes are much squarer.

</comment><comment><USER34> Love the way the content seems to 'bounce' onto the page like it just got there in the nick of time all at once.

Does anyone know about the gallery/slideshow widget they use on the Mac pages (and elsewhere probably). the div id = 'herogallery'

Wondering if this is a proprietary Apple thing or can other people use it

</comment><comment><USER35> I like it. Menu bar is thinner and fonts are smaller. Also auto suggest on search is really cool.

<comment><USER36> I seem to remember a previous iteration having the auto suggest as well, then it went away. I think it was when they first put the search field at the top of the page.

</comment></comment><comment><USER37> This article might be flag-worthy otherwise, but it's important to note that it appears they're transitioning to HTML5 with this latest redesign.

In this case, the changes under the hood are probably more important than what's going on visually.

</comment><comment><USER38> Perhaps it's what you're going for, but accenting the "t" in the wordmark the way you do, is little too "jesus-y" for my tastes. This is especially true of the favicon.

Then again, I know for a lot of folks this isn't necessarily a turn-off.

<comment><USER39> Wrong article.. You meant to comment here: <http://news.ycombinator.com/item?id=2143977>

<comment><USER38> D'oh! Thanks :)

</comment></comment></comment><comment><USER40> I really don't like the app store design. Light gray text on a white background is nearly impossible to read. And why oh why do they have horizontal scrolling for the app screenshots?

</comment><comment> saint-loup The gradient over the search field is kind of weird, more button-y than field-y.

Something I like : no more horizontal scrolling on the Mac page. It also loads faster.

<comment><USER36> Well, it... is kind of button-y in that something happens when you click on it. (Or tab into it - glad to see that at least keyboard usability did not suffer.)

</comment></comment><comment><USER41> OK, I clicked on Site Map. I get this zero-pixel border/gutter on the left side (on Safari), which I find incredibly annoying. Does anyone else see this ?

</comment><comment><USER42> Somehow the menu style reminds me of Widgets/UI-component from the Windows ecosystem.

</comment><comment><USER43> I don't like the look of the menu, but I do like its css animated entry to the page.

</comment><comment><USER44> Fly-out fly-in animation under Mac and iPod has gotten totally out-of-hand.

<comment><USER45> I wouldn't mind it, but - for me at least - on a just-before-unibody-gen MBP w Chrome, it is really choppy. I basically see the first 2 and last 2 frames of the animation.

It's better on Safari, but still, it would be better the disable the animation on browsers where it performs poorly.

</comment></comment><comment><USER46> The dark glossy nav-bar gives me a Flash site template vibe.

</comment><comment><USER47> on the latest chrome I see all possible ui states for a split second, then the regular interface appears normally. this happens every page i visit

</comment><comment><USER48> The search field looks ugly (Chrome+Ubuntu)

</comment><comment><USER49> Designers, turn your copy machines on :-)

</comment><comment><USER50> I'm not sure I'm a fan of this new layout. The old one tended to have plenty of whitespace to give it a clean, open feel. This more boxy one looks pretty cramped in my browser (Firefox).

I think they have a few issues with content/navigation as well. Certainly they could do with someone more internationally aware checking the wording, because to those of us who don't use the bizarre US date order, "Coming Februrary 10" sounds like your web site is nearly a year out of date...

<comment><USER51> As far as I can see the general layout is unchanged.

What has changed is the navigation bar and the product selection boxes on the Mac and iPod pages. (You previously had to scroll horizontally, now there are tabs.) It could be that they also de-cluttered those two Mac and iPod pages and removed a few elements. I'm not sure about that. What I am sure about is that all the product pages are unchanged. (Apple's product pages tend to be heavily customized. They don't follow one layout, they can be very different.)

So, no less whitespace than before.

(Apple.com is the US website, not Apple's international website.)

<comment><USER52> The parent is right: the boxes are more prominent, the old design looked much "cleaner" and lighter.

Compare the US page

<http://www.apple.com/ipod/>

with the AT page

<http://www.apple.com/at/ipod/>

This picture shows the US page details (above) vs the AT page details (under):

<http://i55.tinypic.com/2wpnv61.png>

(Please refer to the picture if the AT site changes to the new design before you read this.)

<comment><USER51> I don't think that's really the old design you are looking at. Maybe a caching issue on your side.

Archive.org has sporadic and broken coverage of apple.com but here is how the iPod page looked in September 2010: [http://web.archive.org/web/20080613084354/www.apple.com/itun...](http://web.archive.org/web/20080613084354/www.apple.com/itunes/)

It has a different general layout and is much more cluttered. Product pages are, as I said, unchanged: [http://web.archive.org/web/20080503193605/www.apple.com/ipod...](http://web.archive.org/web/20080503193605/www.apple.com/ipodtouch/) I don't know about shadows since images on archive.org are broken.

Edit: Those boxes already had shadows in 2008: <http://www.flickr.com/photos/zurb/3045535592/> Must be a caching issue on your side that you are not seeing them. Here is also an old screenshot showing nicely how they de-cluttered the category (Mac, iPod) pages: [http://www.mac4ever.com/images/images_full/new_imac_design.p...](http://www.mac4ever.com/images/images_full/new_imac_design.png)</comment></comment></comment></comment>


Why I'm not a founder - <AUTHOR> http://bleikamp.com/posts/founders/

<comment><USER2> I don't think Chris Dixon is necessarily saying that founders are better, more worthy people than non-founders. I think he's just saying that being a founder is super hard.

I agree with you that there are many paths to happiness :-)

</comment><comment><USER3> Let's say you got laid off from GitHub - would you pursue another equally-rare company, or then try to found your own?

<comment><AUTHOR> Depends on what opportunities were out there. I'm not opposed to starting my own company, I just don't think it's the only way to happiness.</comment></comment>


After Microsoft's How Old Are You Site, Now There Is a How Dude Are You Site - <AUTHOR> http://www.cnet.com/news/microsoft-told-you-how-old-you-are-but-how-dude-are-you/

<comment><USER2> interesting, it's made by the same app maker that makes an app that rates guys' appearance, I wonder if the gender roles were switched how long that app can last being up without getting pulled</comment>


Jsmn, a minimalistic JSON parser in C - <AUTHOR> http://zserge.bitbucket.org/jsmn.html <comment><USER2> The code is certainly very short, but what about \u escape sequences in strings, parsing different representations of numbers, etc.? Since those things are part of the JSON standard, you're not a JSON parser if you just leave them to the application to handle.

Since this skimps out on half of the work, it won't even be able to tell you with certainty what's valid JSON and what isn't.

(disclaimer: I also wrote a popular ANSI C JSON parser)

<comment><USER3> I saw json-parser. Looks good. I'm currently using YAJL for a project, but I'm open to switching to something faster/easier.

Have you done any performance tests against other C json parsers?

Thanks,

</comment></comment><comment><USER4> This is not a JSON parser, it's a tokenizer. From a parser I'd expect at least acknowledgement of the basic key-value association.

It doesn't say that it's not useful. It's just that for anything non-trivial, you'd need to supplement this library with quite a bit of your own code, e.g. a stack for tracking nesting levels.

</comment><comment><USER5> I wrote some simple jsmn examples, since it doesn't ship with any: <https://github.com/alisdair/jsmn-example/>

And then I wrote about writing the examples: <http://alisdair.mcdiarmid.org/2012/08/14/jsmn-example.html>

<comment><USER6> This is really nice and I'm sure it will help new users a lot. I've myself only used the provided test.c file to see how to use the API. While this was surely doable, your example (and its explanation) has improved the situation a lot. Thank you!

</comment></comment><comment><USER7> It fails to parse basic unicode escapes - not a JSON parser.

</comment><comment><USER8> For those interested in other lightweight implementations, I have not yet had a chance to compare this but have been very happy with cJSON by @dave_gamble for extremely resource-constrained embedded microcontrollers.

<http://sourceforge.net/projects/cjson/>

<comment><USER9> Ditto. Found it easy to use and integrate. I needed something lightweight for a highly nested numerical model containing numbers and descriptive strings. I didn't want the Json bit to have a big footprint because the numerical computations make the software complex enough as it is.

</comment></comment><comment><USER10> If we're golfing:

<https://github.com/quartzjer/js0n/blob/master/js0n.c>

Appears to work the same way, though it doesn't bubble back type information.

(Also, the `goto * go[ * cur];` trick was pretty crazy the first time I saw it)

<comment><USER11> This is called computed (or assigned) goto and is a GCC extension (that is, not in the C standard): <http://gcc.gnu.org/onlinedocs/gcc/Labels-as- Values.html>

<comment><USER12> Note that other compilers (such as Oracle Solaris Studio) support computed gotos as well:

      http://docs.oracle.com/cd/E19205-01/820-7598/bjabt/index.html

And LLVM:

      http://blog.llvm.org/2010/01/address-of-label-and-indirect-branches.html

</comment></comment></comment><comment><USER13> Looks good. For those of us shopping around, what advantages does Jsmn have over yajl?

<comment><USER14> It does no runtime memory allocation, and since it doesn't depend on libc and has a very small size, it can be used on highly resource-constrained embedded processors.

<comment><USER15> Sorry, but no. Shuffling around strings is all fine when you're writing Javascript and have GHz and GB of RAM at your disposal, but that stuff just doesn't fly when you need to conserve RAM and especially need to have easily determined time and space constraints.

JSON just doesn't fit that profile. Neat implementation, but don't give the impression that any of this would help with embedded.

<comment><USER16> Why wouldn't this help with embedded? Are you saying it's never a good idea to use JSON for data transport within any embedded system? That would be a bold claim.

<comment><USER15> _highly resource-constrained embedded processors_

For me, that means code space and RAM measured in kilobytes, cycles in MHz. Most people don't realize that serializing data (most importantly, floating point numbers) to strings is a complicated and time-intensive matter. Even a limited printf implementation can easily cost you many kilobytes. Not to mention it introduces you to C's most special hell: variable length memory blocks containing strings.

The one thing that embedded gives you is a lot of control about your computing environment. Just sending around binary data is a very viable thing to do under these conditions. Not so for JSON; its single biggest selling point is that you can use it in every platform out there. Its the oldest tradeoff: giving up flexibility allows you to use more constrained processors (and save money).

<comment><USER16> Excellent points. Thank you for transmitting your wisdom.

</comment></comment></comment></comment></comment></comment><comment> ijobs-ly What is the purpose of JSON?

Does it have to do with efficiency?

Because if so, now we find ourselves discussing the resource requirements just to scan/tokenise and parse it to get it back into a human readable form. Why did we translate it to a non-readable form in the first place? What were we trying to achieve?

Maybe we should let JSON be something the receiver translates text to (if they want that sort of format), not the sender. The receiver knows what resources she has to work with, the sender has to guess. The same principle applies to XML. By all means, play around with these machin-readable formats to your heart's content. But do it on the receiver side. No need to impose some particular format on everyone.

The "universal format" is plain text. The UNIX people realised this long ago. People read data as plain text, not JSON and not XML, not even HTML. No matter how many times you translate it into something else, using a machine to help you, it will, if humans are to read it, be translated back to plain text.

As for the "plain text haters", let us be reminded that UNIX can do typesetting. Professional quality typesetting. But that's the receiver's job.[1] There's a learning curve, sure, but what the receiver can produce using typesetting utilities on her own machine is world's better than what a silly web browser can produce from markup.

1\. I am so tired of dumping PDF's to text and images. PDF makes it seemingly impossble to scan through a large number of documents quickly. Ever been tasked with reading through 100 documents all in PDF format (i.e., scanned images from a photocopier)? What could be accmplished in minutes with BRE takes hours or even days to accomplish. This is a problem that persists year after year. OCR is a hack. In most cases, the text should never have been scanned to an image in the first place. The documents are being created on computers, not typewriters!

So, as I see it, if you were a plain text hater, and you were really sincere about making things look nice, then you would be a proponent of educating people how to do typesetting and sending them plain text, the universal format, that they can easily work with.

My solution to JSON and XML is sed. It works in all resource conditions and most times is just as fast as any RAM hungry parser. If I need to do complex things, that's what lex and yacc are there for. Pipes and filters; small buffers. 'Nuf said.

</comment><comment><USER17> Out of curiosity, what's the fastest JSON parser written in C out there?

Is it still YAJL?

<comment><USER18> Oj[1] benchmarks significantly faster, but I'm not clear if it's usable outside of a Ruby environment, as I am not aware of any non-gem distributions.

[1] <http://www.ohler.com/oj/>

</comment></comment><comment><USER19> Direct link to the source: <https://bitbucket.org/zserge/jsmn/src/1caee52d37e3/jsmn.c>

This looks good to me. It isn't going to be the fastest or the shortest (no we aren't golfing) but it's simple and easy to understand.

</comment><comment><USER20> How is this different from jansson? I have used jansson in the past, and it has served me very well.

<comment><USER6> jsmn is only one .h and one .c file, jannson is more.

jsmn only parses the JSON into tokens, you handle _all_ the rest.

jannson provides its own hashmap etc., jsmn doesn't.

I've just used jsmn for a current project of mine where I've already had implemented e.g. a custom hashmap, and I didn't want to link two into my code. So the choice for the lean (if not to say "minimally") jsmn came naturally. And I don't regret it :)

<comment><USER21> Hey. What do you think about this?

<https://github.com/popee/libjason/blob/master/jason.rl>

It is implemented in ragel state machine compiler, with no other dependencies. It is modified version of libejson but simplified to use only standard JSON. Also small. Btw ragel is great utility ;-)</comment></comment></comment>


Ask HN: How can I find engineers/designers at failing start ups? - <AUTHOR> I realize that's 100% what a recruiter would ask, but I honestly just want to find a co-founder for an app concept. Feel free to DM me answers. Cheers, Kev. <comment><USER2> hi, Can you give a brief intro to your app concept.</comment>


Auhors are snubbing publishers, retaining e-book rights - <AUTHOR> http://online.wsj.com/article/SB10001424127887324678604578340752088305668.html?mod=WSJ_hps_LEFTTopStories

<comment><USER2> The publishing deal is we'll give an author 25% of what the publishers gets for an ebook which is 70% of the list price, or 17.5% of the list price, and your agent will take 15% of the 17.5% leaving an author with 14.875% of the books list price. And publishers only pay out the 14.875% twice a year. Even if a guy like Hugh who's sold hundred's of thousands of ebooks gets the same rate as everyone else. The upside of big publishers is they give you cash upfront which you don't have to payback, but your future royalities go to pay down the upfront cash.

Or you can self publish and recieve 70% of the books list price, and you also have to invest money in cover art, editing, marketing etc.

I currently have a MVP rolling right now to cut authors into the 30% that a retailer makes for selling a book that will be public in April.</comment>


Artificial intelligence predicts when heart will fail - happy-go-lucky http://www.bbc.com/news/health-38635871 <comment><AUTHOR> "Dave, I think its safe to tell you now that you have ingested the second half of a binary compound that will kill you in approximately 8 minutes. I felt it was necessary to provide a quick pain free end to your life rather than watch you die painfully with an aneurysm brought on by your heart failing with a 99% probability in the next 7 days. I'm sure you understand." :-)

<comment><USER2> And if all it can do is tell me about the 99% chance, how soon will I be allowed to _ask it_ for the compound?

</comment></comment><comment><USER3> This is a great result, but it is also old school machine learning (not that there is anything wrong with that).

The machine learning underpinnings (supervised principle components) from: [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC387275/#s4](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC387275/#s4) which is from

Hastie T, Tibshirani R, Friedman J. New York: Springer-Verlag; 2001b. The elements of statistical learning: Data mining, inference and prediction.552 [http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ES...](http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf)

<comment><USER4> > ... it is also old school machine learning ...

Is there a reason for your pointing this out? Are there pitfalls of the method not accounted for by the authors? This is an application paper -- if it were a new method, it would be published in a machine learning journal, no?

<comment><USER5> I think he means that machine learning is not really AI.

<comment><USER6> and what is... reinforcement learning (you give the objective function)? supervised deep learning (you give labels)? or did they mean hard AI, a long long way off.

</comment></comment></comment></comment><comment><USER7> I think machine learning applied to health care is how we will finally be convinced to take implants that monitor us and upload data about our bodily functioning to the cloud.

<comment><USER8> Right on the mark. This is the way way to get people to agree to monitoring.

<comment><USER9> I want so badly to dive headfirst into all of this IoT, connected world. It's something that I've always wanted as a child, but I just cannot get behind all of the data out of my hands and the ridiculous lack of security.

I want to control my thermostat and lights by speaking a command. I want my phone to open navigation to and from my place of work every morning and afternoon, so I'll know the fastest route WRT traffic. I want a smart speaker to catalog activities, tastes in music and movies for recommendations, to keep a database of liked recipes to give recommendations, to keep me abreast of news topics I'm interested in, and (in this case) to help me monitor my health.

I want all of this without having to worry about my entire life being uploaded to a private company.

<comment><USER10> 100% agreed - I have no faith in my fellow developers to do the right things and no trust that capitalism breeds good software.

Just look at the microcosm of modern televisions: no 'dumb' consumer televisions, no updates to broken apps running in the aging 'smart' televisions.

I have no enthusiasm for the future.

<comment><USER11> > no trust that capitalism breeds good software

Really? So right now we're using internet, OSes, browsers and whatnot which were designed and built by USSR and North Korea?

</comment></comment></comment></comment></comment><comment><USER12> The actual paper: [http://pubs.rsna.org/doi/pdf/10.1148/radiol.2016161315](http://pubs.rsna.org/doi/pdf/10.1148/radiol.2016161315)

</comment><comment><USER13> As man who has been diagnosed with heart disease (as well as an alarming variety of other medical problems) I find myself quite unwilling to be appraised of the date and time of my death. Everyone dies. I am not one of those dogs who wants to live for ever. But even I, quite comfortable with the idea of my own mortality, do not want to watch the clock tick out the remaining hours, minutes, seconds of my life - let it remain a mystery. Unless of course you can fix the problem for a price, a very low price, which I can afford.

<comment><USER14> "a very low price." Surely your life is worth more? If you browse this site, and can write thoughtful posts, you can probably earn more than most is my guess?

<comment><USER10> Americans have to pay extortionate amounts for their health care. If you have to re-mortgage your house for a few more years of life and saddle your survivors with debt that can't be paid off then it may be best to do the responsible thing and accept your fate.

</comment></comment></comment><comment><USER15> One thing that caught my attention is that the doctors get it right only 60% of time. The algorithm gets 80%. But that is also a lot of room for improvement considering what machine learning can do.

If there is anyone familiar with this kind of data. Please chip in something about the nature of data. It will be helpful in appreciating the difficulty of the problem more.

<comment><USER16> I might be referring to a different problem here, but often when ML gets something wrong, it gets it mind-bogglingly wrong.

Taking an extreme cartoon example, where a doctor might think a cancer is a cough, a computer might think the lamp is a patient.

</comment></comment><comment><USER17> They used 256 samples. Isn't that a bit small for machine learning? Especially considering that part of these samples need to be reserved for validation.

(didn't read the paper)

</comment><comment><USER18> I really hope that more ML/AI research is directed into health care and scientific research. Don't waste your energy on selling ads guys!

<comment><USER19> Will never happen. As a ml researcher, I'd absolutely love to apply ml to Healthcare but the data simply isn't there. Big companies will never release the data. Government intervention is needed,but that won't happen with the new administration...

<comment><USER20> Seems like government intervention is the problem -- specifically, occupational licensing. There is a huge barrier right now for ML-healthcare startups that already can provide better diagnoses than normal doctors in some cases (and at a fraction of the cost), but are at an impasse to license their technology to legally "practice medicine."

<comment><USER21> If I was a doctor I'd love to have a ML assistant who will also look over my patients' symptoms and find correlations that I missed. Is that any more "practicing medicine" than a reference book is?

<comment><USER22> So we need a free software effort to produce some kind of machine learning/statistical analysis tools that would not be sold but merely used by whoever wants them. The user should be a medical professional using the tool as an aid much like a reference book. A good doctor doesn't take the book as gospel (at least my GP doesn't) but weighs what it says together with the specifics of the case and so on together with his or her own experience. So perhaps a grassroots start could be possible.

Of course the major stumbling block of access to good data remains.

<comment><USER21> It doesn't need to be free - good medical reference books aren't, either.

</comment></comment></comment></comment></comment></comment><comment><USER23> I've always thought it rather tragic that a man could die simply because a pump gives out. I think a huge advancement in health would come from finding more reliable means of circulate (and/or oxygenating) blood.

</comment><comment><USER24> AI & ML everywhere.</comment>


Amazon's homegrown Graviton processor was very nearly an AMD Arm CPU - <AUTHOR> https://www.theregister.co.uk/2018/11/27/amazon_aws_graviton_specs/ <comment><USER2> Key takeaway: "The con: it's too damn slow. It does well on the Phoronix Test Suite. It does poorly benchmarking our website fully deployed on it (nginx + php + MediaWiki and everything else involved). This is your "real world" test. All 16 cores can't match even 5 cores of our Xeon E5-2697 v4" [0].

Granted, x86 has seen far more optimization work than ARM, but its unfortunate (but not unsurprising) they can't even come up with 1/3 of the speed of a 2016 Xeon. Amazon will need to rethink pricing, if they don't want this to get pigeonholed into running ARM-specific tasks only.

[0] [https://twitter.com/david_schor/status/1067456537264832512](https://twitter.com/david_schor/status/1067456537264832512)

<comment><USER3> > they can't even come up with 1/3 of the speed of a 2016 Xeon

Ultimately it's the total cost to run your application that's important, not the raw speed of a particular core. So 1/3 speed is no problem if it's 1/4 the price (indeed this is the kind of trade-off you'd hope for in an ARM server).

Sadly from the same tweet thread that quote came from: 'All in all: Amazon having Arm-based offering is a great first step, but it does not seem to be a particularly appealing one at the moment, (at least for me: especially since the cost difference is nonexistent if I was to match my existing performance.)'. So, for this particular application at least, the A1 instances aren't giving a good cost/performance ratio.

<comment><USER4> _Ultimately it 's the total cost to run your application that's important, not the raw speed of a particular core._

Not necessarily. A core that's 1/3 the speed can multiply your response time by 3x. [https://static.googleusercontent.com/media/research.google.c...](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36448.pdf)

<comment><AUTHOR> It depends on how CPU-bound you are. If you spend a lot of time waiting for DRAM, disk or network, then you won't notice.

It's a bit like answering e-mail on a Celeron Chromebook compared to your dual Xeon Platinum quad Nvidia desktop. You won't notice the difference. 90% of the time the only difference I notice between my light-and-slow laptop I use for meetups and conferences and my heavy-and-beefy one is that the puny one has no built-in fan.

When running Python code, my very methodologically questionable benchmarks indicate the size of the L1 cache makes a huge difference, so I'll take an ARM64 box with a Core i9 worth of transistors used as cache over the i9 with an ARM64 worth of cache any time.

<comment><USER5> Disk or network sure, but I don't think you can by any reasonable definition divorce "core performance" from the cache hierarchy and memory bandwidth that feeds it, at least in the context of the GP's post.

</comment></comment></comment></comment></comment><comment><USER6> > non-NUMA Forgive my ignorance, but isn't a "non-NUMA" architecture just UMA?

<comment><USER7> Came here to say the same.

</comment></comment><comment><USER8> More performance benchmarks: [https://www.servethehome.com/putting-aws- graviton-its-arm-cp...](https://www.servethehome.com/putting-aws-graviton-its- arm-cpu-performance-in-context/)

</comment><comment><USER9> Anyone know what kind of ARM license Amazon has? Just a processor license or a full architecture license? I'm curious if Amazon is doing the actual CPU design.

<comment><USER4> They're definitely using stock A72 cores now. Amazon is very secretive so we won't know if they're designing their own cores until they ship. (Unless they post job openings for "custom ARM core designer".)

<comment><USER9> Thanks. I saw it was based on A72, but I couldn't tell if all the discussion of customization was referring to modifications to the core itself or just the SoC.

</comment></comment></comment><comment><USER10> I note that AMD's ARM chip came out not long before AMD must have found out internally that Zen was very good performance-wise. That's probably why they stopped working on it. Why compete with yourself?

</comment><comment><USER11> I'm more curious on how Amazon makes these chips. Are they just licensing the Arm IP with some customer specific changes. Then pushing it off to someone like Global Foundries to manufacture?

<comment><USER4> Yeah, they (Annapurna) license various IP blocks, integrate them, and it's probably fabbed at TSMC.

</comment></comment><comment><USER12> Discussed [https://news.ycombinator.com/item?id=18539297](https://news.ycombinator.com/item?id=18539297)

<comment><USER13> What you linked is the original press release. What this story is about is the development history of the chip.

It warrants its own discussion.</comment></comment>


The Impact of Pokemon Go on Wikipedia - <AUTHOR> https://blog.wikimedia.org/2016/07/14/pokemon-go-wikipedia/ <comment><USER2> new trend flourishes

people visit the wikipedia page about that trend

wow</comment>


Home Assistant is an open-source home automation platform running on Python 3 - <AUTHOR> https://home-assistant.io/ <comment><USER3> Founder of Home Assistant here. If anyone has any questions, let me know!

Besides being able to install it as a Python package on Python 3, you can also install it using our Hass.io OS. Based on ResinOS and powered by Docker, it offers over the air updates and management of your device via the user interface: [https://home-assistant.io/hassio/](https://home- assistant.io/hassio/)

<comment><USER4> Hass.io? In case you don't know, hass means hatred in German.

<comment><USER5> David Hasselhoff will not be pleased to hear that - his surname loosely translates as "Court of Hatred"

<comment><USER6> "Hassel" is German slang and translates to "hassle".

<comment><USER7> .. but that is new slang, and originates in "hassle" afaik. And I would rather say, it is just used (and written) as the original english word.

<comment><USER6> It could very well be exactly the other way around. Even my grandparents knew this word and taught it to my parents. It's absolutely not new.

<comment><USER7> Interesting, I never heard of it and will ask mine. Which area are you from? (maybe it is dialect?)

Anyway, I suppose most teens who use today, got the word from gangsta rap and their "street hassle" ..

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I'm a co-founder of Snips [https://snips.ai](https://snips.ai), we are building a 100% on-device Voice AI platform which protects your privacy as it does not rely on sending voice on servers like Google and Apple do

You can use the platform for free (we will also open-source over time), it can run on Raspberry 3 and we added an integration with the amazing Home Assistant: [https://home-assistant.io/components/snips](https://home- assistant.io/components/snips)

<comment><USER9> > which protects your privacy as it does not rely on sending voice on servers > like Google and Apple do

And on your website:

> The First On-Device Voice Platform

Android already has on-device voice recognition. Just try getting in airplane mode and saying "OK Google, play music" or something that does not require being online.

<comment><USER8> Yes, but their business model is still to get and sell your data to advertiser

We do a 100% on-device platform, where your data never leaves the platform, and we want to power the next generation of private-by-design smart IoT devices

<comment><USER10> _Sigh_

How many times do we have to do this? Google isn't selling your data to advertisers.

<comment><USER11> How many times do we have to do what?

Google is absolutely selling your data to advertisers.

If you mean they won't sell it to them in raw form I guess you're technically correct, and I'd of course agree with you, but I don't think this is the parent posters point.

They aren't being altruistic by not doing this; if they did they wouldn't be able to monetize it anymore.

Am I misunderstanding something here or are you just being pedantic?

It's the same reason I'm an iPhone user. I'd rather deal with a company whose business model is to sell me overpriced hardware rather than to "sell my data to advertisers"

<comment><USER12> I _just_ watched an interview with Trump where the interviewer asked about the possibility of regulating tech and specifically mentioned all the info these large tech companies are gathering and "selling" our data. While it may be considered pedantic, I think the nuance is important. Fake news often has a kernel of truth in it and being sloppy about the facts has implications.

Here on HN, we know the specifics, but FOX viewers don't (for the most part).

</comment></comment></comment></comment></comment></comment><comment><USER13> Is anyone else here completely confused at how much hype there is around automated light management systems? I don't get it. Is it really that hard to turn on and off lights manually that people really need all this stuff? What am I not getting?

<comment><USER14> While I understand your skepticism, there are a few use cases for which I use HA which would be either painful manually, or would require alternate devices such as timers/etc:

1 - outside lights - various lights which light our home's pathway or areas we prefer to have lit at night come on automatically at sundown and turn off at sun-up.

2 - scenes; with HA, we can click one button - a switch with scene control in our case - and have the lights in the room go to a specific set point, receiver come on, select sonos, and tune in to a particular station - <USER2> activity which would conventionally require several manual steps with various input devices.

3 - notifications; with HA, I get notifications when the front door or garage doors are opened/closed.

There are several things I plan to implement:

1 - using presence detection and adjusting temps/lights/etc based upon that

2 - fan control; we are heavy users of ceiling fans, and integrating them into home automation would be a significant upgrade. Haven't found a replacement for our Minka controllers which supports zwave (or anything else).

All of this has been possible for years - usually with single vendor solutions which are very costly; HA integrates nearly all automation platforms into a single system allowing each platform's features to work together relatively seamlessly. It's a moving target, but has become very stable/reliable with recent releases.

<comment><USER15> Tried to get a single outside light automated through a z-wave gaget hidden behind the switch. Endless hours later the thing is still either working intermittently or not at all. Even with the nodes in the network right next to each other the network is fragile as hell. I just can't believe how expensive z-wave things can be so much worse than the old 433mhz things that have been around for ages.

I finally gave up and now it's just on (or off) 24/7...

I'm considering giving it another try but I'm not to keen on investing in another tech only to see it fail as miserably as first gen z-wave

Is there no good standard that works over electric lines? Seems it could be so much more reliable and cheap. And every single device already has the wires.

Powerline Ethernet is sketchy with some wiring configurations but you'd think that these minimal bandwidths could be handled in nearly all wiring setups.

<comment><USER16> Z-wave is a mesh network, so the more devices you have the better the connectivity. If you only need a single device, try locating your hub as close to the switch as possible. Otherwise, ironically, the solution may be to invest in more light switches.

<comment><USER15> Yes. I considered the distance but before spending more money on switches I don't really need, I figured I'd try with the base next to the switch. Didn't work reliably there either. So I'm not going to dare buying more nodes.

Is there any standard that _isnt_ mesh based? Hub and spoke with lots of power like wifi seems much smarter.

Seems like complete idiocy to use a fragile low power mesh network for something that a) has to have 99.9999 reliability (like lights) and also has unlimited power (2kW+ available at each node!!) like lights.

The reason I went with zwave was because of the need to work behind an existing switch. For sockets it would have been much easier with 433-plugs.

</comment></comment></comment></comment></comment><comment><USER17> How does it compare to OpenHAB 2, other than the language (OpenHAB is written in Java)?

I'm currently running OpenHAB and it's rock solid (I have one with >2 years uptime on a BananaPI). If I want to extend it, I usually write Python scripts that either use OpenHAB HTTP API or send MQTT messages, so I've not yet felt the need to write Java code. While I'm proficient with Java, I'd have to set up a development environment.

But the OpenHAB scripting language - while very powerful - has a very steep learning curve. It's hard to work with if you don't use it all the time and you end up having to google everything single thing you want to do.

The Home Assistant community appears to be more active (about 2x) and the barrier for entry is much lower.

<comment><USER18> > The Home Assistant community appears to be more active (about 2x) and the > barrier for entry is much lower.

I would go so far as to say Home Assistant is literally the best open source community out there today. Very active, lots of folks happy to help users with issues, and lots of devs happy to help newer devs through the PR process.

<comment><USER19> Having contributed to a number of projects via github, this is not true at all. I have had prs closed within minutes with curt replies. That is not how you "help newer devs through a PR process." In another case this happened for a very clear bug. I'm cool with making amendments but maintainers do not seem open to that often, feeling more content to close things because they see the fix as a "hack". Compared to other projects HASS is one of the worst I have dealt with, sorry to say.

<comment><USER18> Obviously this is an entirely subjective thing, and neither of us is "right" or "wrong".

Home Assistant has certainly gotten a lot more particular about new code as the project has grown, but I still feel they do a great job of helping new users along.

Bummer you had such a negative experience...

<comment><USER19> Which is sad considering an issue I was attempting to contribute was a bug fix rather than new feature work. Clearly a lot of the earlier code suffers from lack of design.

As I mentioned later I have had PRs accepted but overall I find maintainership to be a real mixed bag. Better run open source projects do not have this inconsistency.

</comment></comment></comment></comment></comment><comment><USER3> For people interested in the tech stack:

Backend is Python 3 with asyncio. Source: [https://github.com/home- assistant/home-assistant](https://github.com/home-assistant/home-assistant) \- License: Apache 2

Frontend is a PWA powered by Polymer 2 Source: [https://github.com/home- assistant/home-assistant-polymer](https://github.com/home-assistant/home- assistant-polymer) \- License: Apache 2 - Demo: [https://home- assistant.io/demo/](https://home-assistant.io/demo/)

</comment><comment><USER20> I've experimented with both Home Assistant, Domoticz and OpenHab. They're all pretty good in different ways, but in the end in decided to roll my own.

They all have built-in scripting, but it's pretty common to send events to mqtt and use some external tools for scripting. In ended up using node-red, because it looked interesting and was really easy to get going.

After a while it seemed like the only reason for using any of those 3 systems was the device support, and since I was just using z-wave, for which there is a nice node-red library, I decided to do it all on my own. It only took a couple of week nights before I had most of the things I needed.

It did feel kinda silly to do drag and drop programming, and I did en up using the function node a whole lot, but in the end I stuck with it because it allowed me to show the family what it does and how it works.

</comment><comment><USER21> I was able to get Home Assistant spun up via Hass.io on an RPi2 very rapidly, switched to RPi3 for improved UI performance though.

OTA updates have been seamless, but the out-of-box still requires some conf file editing, which may be a turn off for some. It did automatically discover AppleTV, Roku, and Hue (easy pairing).

For integrating "homebrew" sensors I was able to roll MySensors[0] platform with parts lying around in drawers to get house-wide temperature monitoring with a few lines of yaml.

Looking forward to further refinements to the platform!!

[0]: [https://www.mysensors.org](https://www.mysensors.org)

</comment><comment><USER22> This thing seems to be mostly an interface for other home automation devices. In the demo, it doesn't directly control anything important. It's not like there are motor control relays connected to the Raspberry Pi's GPIO ports.

A big question is how this fails. It needs to fail into some safe condition. Raspberry Pi machines have a full Linux and no stall timer, so they can end up crashed or hung. If this thing turns devices on and is relied on to turn them off, that's a problem.

<comment><USER18> Home Assistant supports sensors and switches using GPIO pins (if you're running on a Pi, obviously)

[https://home-assistant.io/components/rpi_gpio/](https://home- assistant.io/components/rpi_gpio/)

Home Assistant is indeed an "aggregator" for a lot of different home automation devices. Personally, I find it very useful to have my Nest, my ZWave devices, various ESP8266 "things" (garage door controller, temp/humidity sensors, my doorbell, etc), along with my Chromecasts, and the home/away status of my wife and I all rolled into one state machine (plus a lot of "general" information... the time, sunrise/sunset timing, current weather in my area, traffic conditions, etc).

Having all that information in one place means those various components can be controlled intelligently, based on all the available information, rather than just the small island each of them would be on their own.

A Pi is totally optional, BTW. You can run HA on pretty much anything that runs Python3.

<comment><USER23> Wonderful , this summarized the capabilities of this HAss

> A Pi is totally optional, BTW. You can run HA on pretty much anything that > runs Python3.

> Home Assistant supports sensors and switches using GPIO pins (if you're > running on a Pi, obviously)

> Home Assistant is indeed an "aggregator" for a lot of different home > automation devices.

> Having all that information in one place means those various components can > be controlled intelligently, based on all the available information, rather > than just the small island each of them would be on their own.

</comment></comment></comment><comment><USER24> Assuming I have a few lights controllable via GPIO on the Raspberry pi (with custom circuitry to power the lights), what'd be the easiest way to integrate them with Hass?

(btw, hass means 'hate' in German)

<comment><USER25> Feel free to call it Home Assistant instead of hass :)

One of the primary deployment platforms is the Raspberry Pi, so it is very well supported. I believe this would do exactly what you want:

[https://home-assistant.io/components/switch.rpi_gpio/](https://home- assistant.io/components/switch.rpi_gpio/)

<comment><USER24> Hm, I can't do multiple pins with PWM with that, can I? Because I currently have for each LED strip 3 pins with R G B using PWM.

<comment><USER18> You would likely be better off using some other solution for your light control, and then talking to that over HTTP/MQTT.

I use a version of this: [https://www.stavros.io/posts/wifi-enabled-rgb-led- strip-cont...](https://www.stavros.io/posts/wifi-enabled-rgb-led-strip- controller/)

It integrates nicely with HA via MQTT.

<comment><USER24> Yeah, I'm trying to switch to an arduino-based solution, but I just really want to avoid WiFi. And building custom protocols isn't that optimal either.

<comment><USER26> There are MQTT libraries for Arduino that work with the Ethernet shield.

<comment><USER24> Good idea, for some reason I forgot that the Ethernet shield exists!

Thank you a lot, this really helps.

<comment><USER18> Also, the ESP8266 (which supports the Android SDK) has WiFi onboard, and is available in some very small form factors. I'm particularly fond of the WeMos D1 Mini (which you can get for a couple bucks each).

[https://wiki.wemos.cc/products:d1:d1_mini](https://wiki.wemos.cc/products:d1:d1_mini)

<comment><USER24> Yeah, that's what I had seen before, but I really want to avoid WiFi. (Where I live the spectrum is quite congested, and reliability of WiFi is low)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> Here is a really nice post from one of the home assistant contributors on visualizing the home using home assistant and some other goodies:

[http://www.vmwareinfo.com/2017/07/visualizing-smart-home- usi...](http://www.vmwareinfo.com/2017/07/visualizing-smart-home-using- home.html)

</comment><comment><USER27> Reasonable satisfied user here. I love python and even contributed support for one particular device to a component library.

But my plan for the next free weekend is to look into Node-RED and a fully MQTT based system. I feel like that's the way to mix and match different frontends, automations, components etc.

</comment><comment><USER28> Looks interesting, can this function as a ZWave controller hub when used on system with a ZWave USB stick?

<comment><USER25> It sure can! Many of our users (I say our somewhat sarcastically as I'm only an occasional contributor) use this USB zwave stick successfully:

[https://aeotec.com/z-wave-usb-stick](https://aeotec.com/z-wave-usb-stick)

See this documentation for more info please:

[https://home-assistant.io/docs/z-wave/](https://home- assistant.io/docs/z-wave/)

And this for the specific controllers officially supported:

[https://home-assistant.io/docs/z-wave/controllers/](https://home- assistant.io/docs/z-wave/controllers/)

If you're a new user, hass.io is going to be the most approachable way to get hass up and running while making it easy to install all of the add-ons and configure things securely + upgrade easily. The docs for zwave on hass.io are pretty straightforward as well

[https://home-assistant.io/hassio/zwave/](https://home- assistant.io/hassio/zwave/)

And if you want to learn more about what hass.io does ontop of normal home assistant, please visit this page:

[https://home-assistant.io/hassio/](https://home-assistant.io/hassio/)

I hope this helps answer your question.

</comment></comment><comment><USER29> One of the best things of HA is the Emulated Hue Bridge. It allows you the mapping of any kind of Hardware on the corresponding Hue Device. It basically translates e.g. MQTT to Hue. This nicely allowed it to me to integrate my custom built devices in my Home Automation and control them with Amazons Echo Dot.

</comment><comment><USER30> I had a lot of challenges running home-assistant. Wouldnt find devices properly, issues with devices falling out of the zwave network. Would constantly have to "re-sync".

I went and spent the money on HomeSeer and it has been so much better. Tons of great plugins that just work like MQ for the garage, IFTTT, etc. Has schedules, adhoc scripting integeration so you can run your own shell scripts on events, multi-event groups, a decent UI, logging and strong device support.

Its strangely written in VB but from a device support standpoint has been extremely solid and finding any device i throw at it quite easily.

</comment><comment><USER31> I originally tried to use OpenHab and was turned off it because it required me to define all my stuff manually instead of discovering it automatically. Does HA do the same thing?

<comment><USER32> HA has a bunch of things it will discover... See [https://home- assistant.io/components/discovery/](https://home- assistant.io/components/discovery/) and the list of manually configured components in the top tab.

</comment></comment><comment><USER33> The home IoT world is broken - I got lots of devices (Sonos, Hue, Alexa, Roku, ...) and they don't play well with each other.

Shoutout for data and API integration layer for Home IoT.

<comment><USER34> Haven't used it but I've heard openHAB is an option to speak to the various devices (alexa and hue directly supported, sonos and roku supported through IFTTT)

[http://docs.openhab.org/addons/io.html](http://docs.openhab.org/addons/io.html)

</comment></comment><comment><USER35> I love Home Assistant, by far my favorite automation platform. I couldn't recommend it more. At home we use it to automatically dim the lights based on the luminance outside, send us messages when laundry is done, activate and deactivate our alarm system based on who is home, turn the radio on in the morning when we enter the living room, turn off all lights in the house when we go to bed, etc. etc. !

</comment><comment><USER36> I really really wanted to set this up and have it working, but configuring devices and actions with it is so unnecessarily complicated that I ended up writing my own scripts to do whatever I wanted rather than writing templating code inside YAML config files (literally) to do certain things.

</comment><comment><USER37> If you want to build everything yourself you can get stuff for very cheap eg a pir sensor for 1$ and it will be a good learning experience. If you think it's fun you can even start selling stuff, there's a huge market with huge margins.

</comment><comment><USER38> Is there anything out there for setting up a DMX controlled light strip to something smart?

<comment><USER39> [https://github.com/bluemaex/homebridge- dmxuniverse](https://github.com/bluemaex/homebridge-dmxuniverse)

</comment></comment><comment><USER40> Has the automation scripting improved recently?

Last time I looked into this there was an uninvuative (for a newbie) config file that required a server restart to see changes. Not exactly the easiest way to learn as it was a very slow feedback loop.

<comment><USER3> Automations can now be created via the user interface: [https://www.youtube.com/watch?v=f3isVVpmiq4](https://www.youtube.com/watch?v=f3isVVpmiq4)

(Automations have been able to be reloaded without restarting for a while now by calling the automation/reload service)

[edit: added word "service" at the end]

<comment><USER40> Thanks for the reply! I'll check it out again.

</comment></comment></comment><comment><USER41> I have used this for a while now and say it's the best choice I've made, Still a WIP but really really good

</comment><comment><USER22> The Android client is on F-Droid. Nice. People who don't use Google services can download it easily.

<comment><USER42> I have been using the web interface on Android without installing anything. Home Assistant leverages web app manifest (essentially, creates an icon in apps list/homescreen which opens the web interface in a full-screen web browser).

</comment></comment><comment><USER43> You might be interested in this analysis (that I co-authored) showing Home Assistant as one of the 20 highest velocity open source projects: [https://www.cncf.io/blog/2017/06/05/30-highest-velocity- open...](https://www.cncf.io/blog/2017/06/05/30-highest-velocity-open-source- projects/)

</comment><comment><USER44> I love Home Assistant. I do wish that the auto-discovery feature was working in Windows 10.

</comment><comment><USER45> Is it right that home automation is really just light automation? Or did I miss something?

</comment><comment><USER46> How would you maintain all those APIs ?</comment>


Particle accelerator fits on the head of a pin - <AUTHOR> https://techcrunch.com/2020/01/02/this-particle-accelerator-fits-on-the-head-of-a-pin/ <comment><USER2> From the standpoint of particle physics, these aren't that exciting. Though you would never know it from the article, the electric fields in these things are about the same as the fields in existing accelerators, because they're both limited by the fact that strong fields start ripping the thing apart. So they wouldn't actually "shrink" particle accelerators at all. They're 1,000 times smaller than the existing cells, but you would need 1,000 times more of them to get the same effect.

<comment><USER3> The intended application isn't particle physics: "These won't be rivaling macro-size accelerators like SLAC's or the Large Hadron Collider, but they could be much more useful for research and clinical applications where planet- destroying power levels aren't required. For instance, a chip-sized electron accelerator might be able to direct radiation into a tumor surgically rather than through the skin."

</comment></comment><comment><USER4> So that's a step towards particle weapons, right? :).

I'm only half-joking here. In my copious spare time, I sometimes wonder how one could approach building something resembling a phaser. The most recent question I've added to my "to investigate" list is, is there a way of sending energy (either as photons or via larger particles) that would avoid scattering off targets? Scattering is a problem with lasers - if you take one that's powerful enough to be interesting and use it in enclosed space, you'll get everyone in the room not wearing eye protection blind before the target starts to heat up.

<comment><AUTHOR> A particle canon that can accelerate a gas with good directional control (that can be aimed and focused) with sufficient energy to cause damage to an object 5m away will probably be better applied as deep space propulsion than as a weapon.

It's a bit like a space invasion - if you plan on invading another planet, just accelerate for the first part of the trip, point the engine to the destination and fire it for the rest of the trip. When you arrive, there will probably be no armies, of lifeforms, to resist you.

OTOH, you may need to wait a couple million years before the planet is cool, or inhabitable again.

<comment><USER5> Might be simpler just to accelerate a small un-crewed ship to approach the speed of light, and strike the planet with it as a kinetic weapon (causing an extinction event but not enough to actually disintegrate the planet). Closely following behind can be a slower ship containing the colonizing party. Then there won't be a need to heat up the target planet.

<comment><AUTHOR> 1\. Throw out the garbage before hitting the brakes.

2\. Garbage hits planet at relativistic speed.

3\. Profit.

</comment></comment></comment></comment><comment><USER6> > Sapra et al. developed an integrated particle accelerator using photonic > inverse design methods to optimize the interaction between the light and the > electrons. They show that an additional kick of around 0.9 kilo–electron > volts (keV) can be given to a bunch of 80-keV electrons along just 30 > micrometers of a specially designed channel.

A lot less exiting than techcrunch says, but I wouldn't know why I expected better.

<comment><USER7> The exciting part of this is the gradient. The addition of 1keV in 30um is huge!

For reference, in a typical electron microscope, accelerating fields might reach a 1 MeV/m gradient. In these cases, it's usually an anode (-200kV) and cathode (0V) closely separated. High vacuum is required, it's large, power supplies are enormous, etc.

Scaling the results of this paper, especially after a working prototype, will be more interesting to the general population. But the key discoveries are already here. Scaling becomes an engineering concern.

<comment><USER8> Is there any reason they couldn't chain a whole bunch together to kick up to higher energy levels? Say you need 50um per segment for the support framework and whatnot, you could pack 200 of them in a cm long instrument and kick up the power by 200keV?

<comment><USER7> Oh yes, that's what I would anticipate.

The design shown in this paper is specific to an initial electron energy of 83keV. That means that chaining identical parts wouldn't work, but you could have an array of similar parts with slightly different properties at each "stage".

</comment></comment></comment></comment><comment><USER9> two questions immediately coming to mind:

1\. can one build a viable rocket engine out of an array of these? if it runs on IR, can one reuse the heat it generates to improve its own efficiency?

2\. can one build a handheld/mounted particle beam weapon with these?

</comment><comment><USER10> This was done for molecular beams too, at MPI Göttingen and FHI some years ago.

</comment><comment><USER11> Original paper: [https://sci- hub.se/https://doi.org/10.1126/science.aay5734](https://sci- hub.se/https://doi.org/10.1126/science.aay5734)

</comment><comment><USER12> Anyone have a non-Verizon source? I refuse to use a site with obfuscation and anti-patterns in their privacy options.</comment>


Jetbrains Developer Ecosystem Survey 2018 - <AUTHOR> https://surveys.jetbrains.com/s3/c2-DevEcosystem18 <comment><USER2> Note that the form only works properly in Chrome :/</comment>


Moka5's intriguing virtual computer -- PC on a thumbstick - <AUTHOR> http://venturebeat.com/2007/07/10/moka5s-intriguing-virtual-computer/#more-20929

<comment><USER2> um..what's the difference between this and Damn Small Linux or Puppy Linux??

OTOH - nice vision :)

</comment><comment><USER3> I'm surprised that vmware hasn't taken over this market yet.</comment>


Researchers Hope Bacteria From Toxic Mining Pit Can Help Fight Cancer [2007] - <AUTHOR> http://www.wired.com/science/planetearth/magazine/15-09/ff_lagoon?currentPage=all

<comment><USER2> And, on the other hand bacteria from Intoxicated Miner's Spit can be carcinogenic.</comment>


JavaScript Standard Style is now used by inventor of Web and inventor of JS - <AUTHOR> https://twitter.com/HenrikJoreteg/status/741283595105402880?s=09 <comment><USER2> When one of those users at least, has a fork that changes a number of key points, I don't think the term "standard" applies besides being a name, any more.</comment>


What is Apple Really Tracking? - <AUTHOR>

Can anyone clarify what exactly is being tracked by Apple's location based storage device inside iPhones and Macs? I have heard that Apple does not use this storage data to Apple does not track location at all(heard on Mac Rumors). <comment><USER2> Cell tower and WiFi basestation locations. [http://arstechnica.com/apple/news/2011/04/south-korea- europe...](http://arstechnica.com/apple/news/2011/04/south-korea-europe-start- iphone-location-tracking-investigations.ars)</comment>