Official Keybase extension for Chrome - <AUTHOR> https://keybase.io/docs/extension <comment><USER2> Hey HN, I'm the primary developer of the extension, let me know if anyone has questions.

We've been experimenting with a bunch of different ideas and features—most of them you can enable/disable in the extension's "options". We launched a Reddit-focused extension last month but this release embraces all of the social networks that we support.

I'll be writing up a blog post soon, particularly about how we use the WebExtension NativeMessaging API to communicate securely with the Keybase service.

<comment><USER3> I built my own chrome extension using keybase over a year ago, which I called AnyCrypt:

[http://lettergram.github.io/AnyCrypt/](http://lettergram.github.io/AnyCrypt/)

I use it with a few friends, it isn't super secure (in the sense I store people's private key locally). The real issue I had was two fold:

1\. You guys really didn't want me pulling the private key from your servers. Although it was possible, I had to decode all the work you guys did, which sucked.

2\. It wasn't seemless, i.e. I had to do some right clicking.

The one benefit I see on my current method, is I can use any chat to communicate. I already use signal, have encrypted emails, etc. So what do I gain using this extension?

<comment><USER2> Hey, AnyCrypt looks cool!

Sorry to hear about your troubles reversing the key infrastructure. I'm not involved in that part of Keybase, but if you'd like to discuss it further I can put you in touch with the right people if you PM me.

Regarding what you're gaining with the extension: Our goal with the extension is to improve workflows for Keybase power users, and generally make it a little more user friendly/convenient in some scenarios.

As to what you gain from using Keybase: It's a much more sophisticated product than Signal or encrypted emails. A core proposition is cross-verified social proofs. You can Keybase chat with shazow@twitter and have a strong guarantee that it's also shazow@hackernews. The way Keybase does key management and device provisioning is very cool too. And did I mention file storage and sharing? And more coming soon!

</comment></comment></comment><comment><USER4> Stopped using Keybase after installing the windows graphical interface and it became increasingly intrusive to my daily workflow. I only login to keybase to obtain secrets from co-workers. If you don't login to keybase, quitting the interface on windows is extremely annoying and embedded deep in a custom right click interface.

Then, once it has been quit, after some time it will randomly start again asking you to sign in jarring you from whatever your current focus is on.

I've uninstalled it completely and moved on, very sad because I had high hopes.

<comment><USER5> I think this had only happened once to me, but I rarely sign out or close Keybase so I wouldn't be one to experience it frequently.

Are you sure you are _quitting_ the program and not _closing_ the program? Many programs nowadays continue to run in the background after clicking close but do not actually quit the program, seemingly confusing the close button with the minimize button. I think Keybase does this but I'm not home to test.

Most of the programs I'm aware of that do this terrible behavior are chat programs (Discord, Slack, maybe Keybase, maybe Teamspeak, Skype, etc.) and on most of these it can be disabled in the settings somewhere to _actually quit the program_ when you close it.

<comment><USER4> Yes, quitting the application completely, closing it just minimizes to the taskbar context menu, from there you can right click, the custom interface shows, click the hamburger menu, click quit. I completely quit every time for it to randomly start afterwards.

</comment></comment></comment><comment><USER6> I've been trying out this extension for a few days.

What I would really like to see from this extension is a 1-click way to sign any message I'm writing, anywhere on the internet. Along with that would be the ability to verify that a keybase signature found in the wild belongs to a particular keybase user. Then I can initiate out-of-band discussions with the author of a comment on someone's blog, not just with a Reddit or Hacker News poster.

Having the keybase chat button appear next to posts on sites like Reddit, HN, etc. seems like a great step toward a "metaweb" platform as well. For example, I could let someone know about the typo in their post via keybase chat, rather than polluting the public comment stream.

Very excited.

<comment><USER7> I second this. Rough sketch: detect a text input I'm tying in, add a little button that says "sign and send", which when clicked adds a signature to the message and submits. If the extension sees this on a forum, verify the sig in the background and inject a little check mark next to the username if it checks out.

</comment></comment><comment><USER8> General Keybase question:

How is it possible to (1) send a message to someone before they've signed up and (2) prevent Keybase from being able to decrypt the message? This is a surprising capability. Didn't realize it was possible. I'm curious how.

<comment><USER9> From the beginning of Keybase, we considered this specific user flow very important.

(1) if there's no one on keybase who matches your "assertion", say a certain twitter account or HN account or whatever,

(2) the keybase app encrypts it just for yourself, but signs a message (for yourself) declaring the assertion

(3) when someone _proves_ that assertion publicly, by joining keybase and connecting an account, they are announcing and proving ownership of key(s), and proving publicly they have control of that account and keys

(4) the keybase server wakes up your app and tells it to verify your assertion is now satisfied, and

(5) your app checks the announcement by actually visiting Twitter and then, if the crypto is good, rekeys the data - there's nothing for you to do other than to have the app running, since the human steps were already done back when you made the assertion by writing the message.

Depending on how loosely you use the term, this is a type of TOFU (trust on first use): you're trusting that the assertion provider, say, Twitter, doesn't steal an account out from underneath one of its users, or the user doesn't lose control of her/his account. Note that this would be publicly discoverable because all announcements are written publicly to Keybase's merkle tree.

This is just about the best imaginable key establishment we can think of without meeting in person. It's certainly better better than, say, trusting a key service to map a phone number to a public key. And it's safer than posting PGP fingerprints or public keys on Twitter - in that case there's no way to tell if everyone else is getting the same answer as you.

edit: formatting

</comment></comment><comment><USER10> Any thoughts on Keybase's part on getting into the password management space? Seems like the infrastructure is all there.

<comment><USER2> Before we settled on building a browser extension, my first proposal was actually to build a password manager on top of Keybase. It's a very exciting idea, but also the scope is pretty huge.

Right now the team is focused to get the Keybase platform to a place where even third-party developers could build things like password managers on top of it while getting the benefit of all of the things that make Keybase special.

</comment></comment><comment><USER11> Personally I think more interesting would be integrating keybase based gpg functionality to the sites themselves, like for example GPG encrypted DMs on Twitter, or signed messages for Reddit.

</comment><comment><USER12> I love it. Is there an option or an idea to cache my friends so that the Keybase Chat Button has another color if there is a known friend using it? :)

<comment><USER2> Not yet but I have a half-working solution. So hopefully soon!

</comment></comment><comment><USER13> Gave it a try. I like deeper integration with social services, but I'm not too excited that it's primarily just a shortcut to the app's chat feature (which I don't really use, honestly).

I was hoping that it would let me send signed/encrypted tweets, or Gmail messages right on the page. Is that within the scope of the project, or is everything meant to happen from within the app?

<comment><USER2> Publishing encrypted tweets wouldn't work too well with the character limit and all, unless I suppose we use images and OCR[0].

For things like encrypting emails inline, we could explore it but I'm not convinced it's a good use case: To get all the benefits of Keybase (identity verification, key/device provisioning, improved encryption over PGP), the recipients would also need to have Keybase installed which means you could just use Keybase Chat instead.

[0] [https://twitter.com/shazow/status/605748307688890368](https://twitter.com/shazow/status/605748307688890368), [https://github.com/Lukasa/entweet](https://github.com/Lukasa/entweet)

<comment><USER13> Fair point on tweet length. I hadn't considered that. Do Direct Messages have a character limit? I'm unsure.

For Gmail I think it could still make sense for those who have a Keybase account/key, but haven't yet downloaded the app (this was me for a while).

Just as an example, I have a work contact who I am often exchanging passwords with. We use Proton Mail for these, and Gmail for everything else. Saying "I sent you X on proton" is a lot more cumbersome than "here's an encrypted message", and being able to decode it inline.

We could use Keybase's webapp, but it still requires going to an external site to encrypt/decrypt messages. So it's not a big enough draw to change our workflow yet.

I understand the argument that Keybase Chat has more built in benefits, but sometimes you just prefer email to live chat. It's also an easier sell to download a Chrome extension once, than download an app and run it 24/7.

Admittedly that's just my use-case. I like to think of Keybase as easily accessible PGP functionality, so that's where I'm most interested in seeing it grow.

I know Google's working on the problem I described with their end-to-end extension[1], but it's been years in development so who's to say when it'll be ready.

Regardless, I think the product is great. Looking forward to seeing what you guys put out in the future.

[1] [https://github.com/google/end-to-end](https://github.com/google/end-to- end)

<comment><USER14> Hi SquareWheel. I use Keybase as a "Here's my Public Key and I am who I say I am". For e-mail/Gmail I use Mailvelope it's fairly easy to setup and use. I recommend you take a look at that in regards to e-mail encryption if you don't already have a system. You can see more here: [https://www.mailvelope.com/en](https://www.mailvelope.com/en) And here is a presentation of mailvelope from the excellent Hak5 team. [https://www.youtube.com/watch?v=hDCjhKcA0IE](https://www.youtube.com/watch?v=hDCjhKcA0IE)

</comment></comment></comment></comment><comment><USER15> I love it! A minor question: is there any way to have profiles, so to speak, so that I can switch between official and 'casual' online identities?</comment>


Making Practical Ethereum Dapps – Off-Chain and Verification Pattern - <AUTHOR> https://www.lunchbadger.com/ethereum-off-chain-dapp-adchain/ <comment><USER2> So if it was a real estate transaction all the dealmaking would happen off chain and only the final details would be recorded on the smart contract?</comment>


'Happy 4th of July from the International Space Station' - <AUTHOR> https://twitter.com/Astro_Doug/status/1279476090604527616 <comment><AUTHOR> I believe this is the special flag that's being used...

[https://www.cnet.com/news/nasas-spacex-astronauts-to- bring-b...](https://www.cnet.com/news/nasas-spacex-astronauts-to-bring-back-a- very-special-flag-from-the-iss/)</comment>


Reverse Engineering a Real Candle - <AUTHOR> https://cpldcpu.wordpress.com/2016/01/05/reverse-engineering-a-real-candle/ <comment><USER2> The part about the harmonic oscillation frequency in the flame flicker is most interesting:

" _The frequency of these oscillations seems to be around 5 Hz, drifting up, and seems to be a fundamental parameter of the flame since it appears to be relatively constant in all observations._ "

It appears that some (optical) flame detectors work by obtaining the frequency of this flicker: [1]

" _This flame scanner also monitors the rate of combustion by analysing the flicker frequency, or the fingerprint, of the flame... Since the flame is always burning back to the fuel source, the flame is always in motion. This motion allows the intensity of the flame to vary across a flame flicker frequency spectrum._ "

From that link, it appears that the "flicker frequency" would be related to the exact fuel source and possible fuel/air mixture ratio, as the "flame is always burning back to the fuel source".

Some other information about flame frequency-flicker: [2]

" _Under normal gravity conditions, the flames have a well defined oscillation frequency which is inversely proportional to the square root of the burner diameter, D, and to a good approximation can be written as f » 1.5 /D½, with D given in meters._"

So, it would indeed seem that the flicker frequency is related to the particulars of the candle, its wick, etc.

Very interesting article!

1\. [http://www.coen.com/wp- content/uploads/2010/05/HydrocarbonWo...](http://www.coen.com/wp- content/uploads/2010/05/HydrocarbonWorld.pdf)

2\. [http://www.dantecdynamics.com/flow-characterization-of- flick...](http://www.dantecdynamics.com/flow-characterization-of-flickering- methane-air-laminar-diffusion-flames-using-piv)

<comment><USER3> This reminds me of the quote "How much can the ripples tell us about the object that fell in the water?"

<comment> semi-extrinsic Or even the famous question "Can you hear the shape of a drum?", to which we have a constructive proof (under some mathematical idealizations) that the answer is " No".

[https://en.m.wikipedia.org/wiki/Hearing_the_shape_of_a_drum](https://en.m.wikipedia.org/wiki/Hearing_the_shape_of_a_drum)

<comment><USER4> That's been simplified enough to distort the question. Real listeners are not limited to simple observation of frequencies they can move there ears around to get a more 3d picture.

<comment><USER5> *their

</comment></comment></comment></comment></comment><comment><USER6> This is awesome! Finally empirical evidence to back up what I've felt all along -- that those fake LED candles don't look anything like a real candle and are actually kind of distracting.

That animation at the end really sums it up nicely.

<comment><USER7> I wonder if it would be possible to use this data to create an LED candle with a super-sensitive microphone that would realistically flicker when "disturbed", otherwise be a mostly consistent brightness.

Or are there better sensors than microphones to detect air disturbances?

<comment><USER8> hot wire aenometers can detect even tiny air movements

<comment> semi-extrinsic But they're bloody expensive and quite fragile. The cheapest unknown-brand ones I've seen on Chinese websites is ~ $100.

<comment><USER9> Oh come on. Some fine thermocouple wire wrapped around a literal hot wire would be enough, no need to use industrial grade scientific equipment.

<comment> semi-extrinsic That wouldn't give you anywhere near the resolution of an actual hot wire anemometer. I'm fairly confident your instrument would be limited to measuring "is the wind below or above 60 mph?", and would be unable to resolve changes happening in less than ~ 10 seconds.

Real hot wires have a diameter of ~ 1/100 of a millimeter, that's the only way to achieve any useful level of sensitivity.

</comment></comment></comment></comment></comment></comment><comment><USER10> Great breakdown. The animation at the end is more convincing than any fake candle I've seen. I'll make sure to use your model if I ever need to simulate flame lighting in a game.

Nitpicking, but I think this is technically data modeling and not reverse engineering.

</comment><comment><USER11> I wonder how you could apply something like this to transition animations. The simulated flicker ended up looking much better than the LED flicker.

Sometimes I see animations in UI. Some look completely natural, and some are horribly jarring. I know there are all sorts of curves that tweening uses to time its path. I wonder if reversed engineered curves would look better.

<comment><USER12> It's almost always the case of using linear interpolation(which is what every UX-naive developer reaches for) instead of proper ease-in + ease-out which more appropriately models physical movement.

Even very subtle changes in the tangents of the curves can have drastic effects and it's frustrating to see some platforms limit them to a few preset curves.

<comment><USER13> Sometimes you don't have bezier curves. I found a formulation of ease-in-out that gives developers no excuses. ;)

[https://medium.com/analytic-animations/ease-in-out-the- sigmo...](https://medium.com/analytic-animations/ease-in-out-the-sigmoid- factory-c5116d8abce9)

<comment><USER12> Good idea, but that exp() function makes my inner perf-nerd twitch a bit.

I'm personally a fan of pre-generating a fixed set of points that are linearly interpolated and scaled. It has a few advantages:

- _Extremely_ cache friendly, can even be cheaper than computing a spline on a lot of platforms since it's essentially just a look up table.

-Your curve doesn't need to fit any specific formula(I.E. you can have a step function as part of it if you want).

-You can pull data from design applications to generate the curve allowing non-developers to have control over look-and-feel if you want to get that fancy.

<comment><USER13> Don't forget, when you use these transitions, that computation is a very small fraction of the animation as it's run once by the CPU. You can think of it as setting a uniform on a shader.

The other reason I like using analytic functions is because: 1) You can easily generate a linearly interpolated point set if you want, I've done it for CSS in stylus (for spring animations that can't be represented by a single bezier). 2) With the right formulation, it's very easy to tweak the shape as it is in this case 3) You can analyze the functions easily

</comment></comment></comment></comment></comment><comment><USER14> FWIW, the initial loss of brightness is almost certainly due to a reduction in temperature a the fuel/air mixing piont. Blowing on a fire actually increases the oxygen available.

</comment><comment><USER15> Very interesting take on the subject. Of course, I think to simulate a real candle, one would have to have some way of measuring air current. If I see a fake candle flickering, and feel no air current, I'm going to be less likely to think it's a real candle.

An LED candle the responds to its environment, could be "blown out" for instance would make a great little hack project.

</comment><comment><USER16> This is cool. Is the candle-flicker gif based on the algorithm, or the actual output from the LED? Because I assume the LED will smooth out some features. Vice versa, the LED probably needs to be driven with different data to produce the equivalent brightness variation.

<comment><USER17> LEDs are extremely fast. The LED itself will add no perceptible smoothing. You could easily add a capacitor for low-pass filtering, but that would add cost so it's unlikely to be done.

<comment><USER18> I love how LEDs can flicker extremely quickly. Back in the early 90s when I was working on HIPPI[1] network hardware, our crossbar switch had a 7-segment LED display on each port that indicated the current destination. These LEDs were actually updated synchronously. which worked surprisingly well as a debug tool. You could send to multiple ports and see the port numbers blended on top of each other in proportion to each ports data rate.

Years later, it seems blinkenlights[2] went out of fashion and everybody started quantizing blink rates to 1s or 0.5s max. /sigh/ it's throwing out useful information for no good reason.

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

[2] [http://www.catb.org/jargon/html/B/blinkenlights.html](http://www.catb.org/jargon/html/B/blinkenlights.html)

<comment><USER19> I think quantized blink rates showed up around the time someone discovered that rx/tx leds as usually implemented on dialup modems of the time leaked data including passwords to anyone who could see the front panel.

</comment></comment></comment></comment><comment><USER20> The article[0] linked as an example of constrained random walk has a video that's creepy and pretty unsettling. It's interesting how sprinkling some randomness on things we're used to can make our brains go weird on us.

[0] - [http://cnr.lwlss.net/ConstrainedRandomWalk/](http://cnr.lwlss.net/ConstrainedRandomWalk/)

</comment><comment><USER21> I've had breadboards like his react to air flow. Those cheap ones especially have such horrible connections that the slightest motion of flimsy part like a resistor or LED wagging in the breeze will cause a significant change in impedance where the leads meet the contacts.

Since this signal is dependent upon the series resistance, the output could vary as a result.

</comment><comment><USER22> Reminds me of: [http://tomgerhardt.com/fireLight/](http://tomgerhardt.com/fireLight/)

</comment><comment><USER23> I can imagine feeding in the output of the photoresistor into char-rnn and sample from that to "randomize" the light intensity.

</comment><comment><USER24> I would buy an artificial candle that flickers when it detects air</comment>


Ask HN: Is this site stolen, or original? - <AUTHOR>

I seem to remember an article/thread here talking about how a bunch of sites ripped off an original design firm's site template quite a while ago... I just stumbled upon this site (through a design freelance request) and seem to recognize it as one of said designs. I wanted to know - is this the original firm, or a copy? (if anyone has a link to the original article that would be amazing!)<p>http://www.redwoodagile.com/ <comment><USER2> There have been a lot of submissions about people copying designs, so I've got no clue to which one you're referring. One of the more recent I remember is:

<https://news.ycombinator.com/item?id=5367790>

Using the HN Search box at the bottom of the page should turn up more.

</comment><comment><USER3> That kind of site is a trend not an original idea. The guy in question had his js files ripped off but I think I remember it being quite different from this one. None of the javascript looks ripped off (no names of other sites or anything) but that was just a couple minute glance.

<comment><USER4> this is the one you're talking about: <https://news.ycombinator.com/item?id=5367790>

and I think this is the one the OP is referring to: <https://news.ycombinator.com/item?id=5165016>

hope that helps!

<comment><AUTHOR> Definitely the link that I was referring to. It's perfect, thank you so much!</comment></comment></comment>


Asking for Feedback: Twitter for Voice Recordings - <AUTHOR>

I have an idea for an app: Twitter for voice recordings. Instead of tweets, you record a sound byte.
Questions:
- Would you find sound bytes from your friends (or public figures) interesting? Would you be interested in posting sound bytes yourself?
- Does anyone know why Twitter chose video (for Vine)? They must have explored the opportunity for voice.
Things I'm aware of:
- Voice is harder to consume than text, images, and soundless videos. You need to put in headphones, or wait until your alone to play it on speakers.
- There are dimensions to voice than don't come across in text: tone, inflections, pace, personality, etc. <comment><USER2> I can browse through the texts and quickly read them compare to clicking on individual audio which I believe will be time consuming.</comment>


Should Facebook Be Forced to Fight Terrorism? - <AUTHOR> http://pxw.news/should-facebook-be-forced-to-fight-terrorism/ <comment><USER2> I think noone should be forced but it should be Facebook responsability to contact authorities in case the notice something strage going on.

<comment><AUTHOR> yea, i think wyden makes sense: "It would create a perverse incentive for companies to avoid looking for terrorist content on their own networks, because if they saw something and failed to report it they would be breaking the law, but if they stuck their heads in the sand and avoided looking for terrorist content they would be absolved of responsibility."

</comment></comment><comment><USER3> Facebook IS terrorism

<comment><AUTHOR> how so?</comment></comment>


Tree Generator in Minecraft Using Command Blocks - <AUTHOR> http://ijaminecraft.com/cmd/tree_generator/ <comment><USER2> I'd love to know the workflow to create that. I like the attention to detail with the in-game UI, and I am curious about the tree generator algorithm is too. A great piece of programming in a non-conventional environment! Super thoughtful.

<comment><USER3> Here he describes one part of it anyway, [https://www.youtube.com/watch?v=Lu3jJxzCvgs&feature=iv&src_v...](https://www.youtube.com/watch?v=Lu3jJxzCvgs&feature=iv&src_vid=47HS_c6WN6U&annotation_id=annotation_1755398815)

</comment></comment><comment><USER4> Wow, this is seriously cool. I have done same mod programming but had no idea about command_block (the teenager in our home never mentioned it to me :))) Great new exploration ahead.

</comment><comment><USER5> Horrid. Glorious too, but horrid all the same.</comment>


Ask HN: anyone here actually use the right alt/ctrl/meta keys? - <AUTHOR>

<comment><USER2> I started using the right Alt & Ctrl keys after my left hand began feeling strained from the Alt/Ctrl + Number routine. I actually removed the left hand Alt & Ctrl keys from the keyboard to discourage myself from using them, and after about a week, I had basically learned to use the right side keys without any issue (plus my hands feel much less strain).

The only time I continue to use the left hand Ctrl key is in conjunction with the mouse cursor - I use a ThinkPad, so it's difficult to control the trackpoint with the same hand (my right) as I use to hold Ctrl.</comment>


Intel's SGX blown wide open by, you guessed it, a speculative execution attack - <AUTHOR> https://arstechnica.com/gadgets/2018/08/intels-sgx-blown-wide-open-by-you-guessed-it-a-speculative-execution-attack/ <comment><USER2> First time they don't blame the OS or compilers, but said it will be fixed in hardware! Finally

<comment><USER3> Intel's chips are not beholden to their buyers and owners, but to others. So Intel must declare they will fix this one, because the DRM peddlers are harsher and demand absolute control over your things compared to you. The buyers are complacent in a way the DRM peddlers are not.</comment></comment>


Edward Snowden Blasts Russia for DNC Hack - <AUTHOR> http://foreignpolicy.com/2016/07/25/noted-hacker-edward-snowden-has-some-thoughts-on-the-dnc-hack/ <comment><USER2> The title of this post doesn't reflect the article.

</comment><comment><USER3> Surely illegal activity by the DNC is in the public interest in the same way Snowden's were ?</comment>


PJON 12.0 – Networking freedom for hackers, makers and experimenters - <AUTHOR> https://github.com/gioblu/PJON <comment><USER2> PJON (pronounced _pigeon_ as I have just learned) looks exciting but it seems like it's trying to provide globally addressable devices, as well as local ones?

In the case of global addressing, don't we already have an open and free protocol in the form of IPv6? Some quick googling found LWIP which provides an IPv6 stack in "tens of kB" which seems comparable to PJON's "4kB to 8kB" but maybe that size difference really is important?

LWIP project: [https://savannah.nongnu.org/projects/lwip/](https://savannah.nongnu.org/projects/lwip/)

<comment><AUTHOR> Ciao gorgoiler, take a look to PJON's address space: [https://github.com/gioblu/PJON/blob/master/specification/PJO...](https://github.com/gioblu/PJON/blob/master/specification/PJON- protocol-specification-v3.1.md#pjon-v31)

"The PJON protocol v3.1 in local mode supports connectivity for up to 254 devices, in shared mode supports connectivity for up to 4.294.967.295 buses (groups of devices) and up to 1.090.921.692.930 devices."

That means 32 bits for the bus id, and 8 bits for the device id.

Another interesting side-effect of the address-space scheme and the dynamic meta-data inclusion in the packet is the overhead:

"It supports interoperability between systems that use a different configuration and provides with high efficiency including only the protocol's features used and the overhead effectively required (5-22 bytes)"

In terms of minimum requirements PJON is uncomparable to IPv4 or IPV6 needing only in the most limited configuration: 1 IO pin, 16MHz clock frequency, 4144 bytes of program memory and 46 bytes of RAM

<comment><USER2> Thanks for the information, and this release! The minimal memory requirements are impressive.

With 32 bits of global addressing space, is that for routing, or more to avoid address collisions when two networks are joined in an ad-how way?

I noticed the PJON bus-ID assignment process and it seems a bit like MAC vendor ID assignment, so I'm guessing the latter?

I don't have much experience in this space, but it feels like it would be useful if the bus-addressing could be optionally extended to incorporate IP addressing and routing infrastructure. Perhaps IP to PJON bridging is already very easy?

<comment><USER3> Although not using PJON addresses as IP addresses, PJON has a few strategies that allow a PJON bus to span a Ethernet+WiFi LAN and/or WAN. I use this in my PJON-based home automation system using clusters of SoftwareBitBang based devices (a bus on a single wire plus ground), linking these clusters together and with the master with routers using the DualUDP strategy over my LAN. PJON is great for cases like this.

It could easily cross the Internet as well but in that case I would recommend using site-to-site VPN commections for security as the PJON traffic is not encrypted (encryption is a little too heavy when running on limited devices like Arduino).

I have shared my PJON-based automation library here for those interested: [https://github.com/fredilarsen/ModuleInterface](https://github.com/fredilarsen/ModuleInterface)

</comment></comment></comment></comment><comment><USER4> I'm encouraged by more and more of this type of work! Cheers to all involved!

</comment><comment><USER5> I would be curious to see to what extent it supports error recovery. Perhaps I missed it, but I didn't see anything that specifically addressed that.

This seems like it would be very compelling, especially for small scale stuff. Being able to wire something as small as an ATiny85 into a computer and communicate over a relatively high-level protocol would be very useful for interfacing with sensors and other peripherals.

I wonder how difficult it would be to adapt something like USBtiny[0] build an adapter. For potentially a few $ worth of parts, you could connect to all kinds of nifty embedded peripherals, albeit at relatively slow speeds. One obvious use case that comes to mind would be controlling lights / sensors / fans etc. in custom computer builds.

0 - [https://dicks.home.xs4all.nl/avr/usbtiny/](https://dicks.home.xs4all.nl/avr/usbtiny/)

<comment><USER6> There's an optional 8-bit CRC and sequence number, with a single bit ACK.[1] This is even weaker than ARCnet, circa 1977, one of the earliest protocols for talking to low-end devices.

This is for talking to things like lightbulbs with some US$0.50 CPU inside. It's for really low end devices. It's best for idempotent operations that can be requested repeatedly without harm and are timeout-tolerant.

[1] [https://github.com/gioblu/PJON/blob/master/specification/PJO...](https://github.com/gioblu/PJON/blob/master/specification/PJON- protocol-acknowledge-specification-v1.0.md)

<comment><USER3> Small correction: Using CRC is not optional. Setting the crc flag makes it use CRC32 even for very small packets. The default is to use CRC8 for packets of a few bytes and then upgrade to CRC32 over a small size threshold. This is to minimize the size of otherwise tiny packets.

Also, the ACK implementation depends on the strategy (physical media type), and it is not a single bit but a single byte, and it seems to me to be robust. I am sure the creator, gioblu, has some more comments about this.

</comment></comment></comment><comment><AUTHOR> More info here: www.pjon.org

<comment><USER7> Great work on PJON! Where can I find documentation/more info on how to build this for STM32 microcontrollers, like the STM32F091CCU7 using SerialAsync (over PLC)?

<comment><USER8> Would also be interested in PJON for stm32 based systems.

<comment><AUTHOR> Although stm32 is not the widest support, some strategies work with it, see the compatibility table here: [https://github.com/gioblu/PJON/wiki](https://github.com/gioblu/PJON/wiki)

</comment></comment></comment></comment><comment><USER9> Happy to see somebody from my city dedicated to such an ambitious project. I wish you all the best Giovanni! I see you are based in Via Larga, do you guys have an office there?

<comment><AUTHOR> Ciao mahesh, I do not know many people who is interested in computer science or networking here in Milan. Would be a pleasure to have a chat :)

<comment><USER9> Email inviata!

</comment></comment></comment><comment><USER10> I work in embedded and I'm still not 100% clear on what this does after reading the README.md. I find that for a lot of projects actually. Is this an MQTT alternative? I find use-cases or working examples to be key, even better if they compare with pros/cons to alternatives.

</comment><comment><USER11> Cool! I see the documentation mentions:

> ... during development its scope and features have been extended to cover > use cases where IP is generally applied

I understand the point is having minimal requirements, but how do you interoperate w/ IP?

<comment><USER3> PJON is based on a concept of selectable "strategies" to support using the protocol with different physical media. Some of these, like the one named SoftwareBitBang which allows a bus on a wire connected directly to an I/O pin, are very compact.

There are also strategies for TCP and UDP based communication, essentially using the same packet structure but sending them as TCP or UDP over a LAN or WAN. These strategies need the Ethernet library, and use more memory.

Still, the memory requirement is small enough to run a router with two PJON objects with the strategies SoftwareBitBang and DualUDP on an Arduino Nano with a W5500 Ethernet shield. This allows easy traversal between different physical media, and IP-based communication, also with PJON-based software running on a Windows or Linux computer.

</comment></comment><comment><USER12> Nice one, never heard of pigeon (PJON) before but it has potential. I understand that it's mainly for low end devices, but I'd like to see it combined with [https://balena.io](https://balena.io)

</comment><comment><USER13> Very hard to read in mobile github read me text. Is this require special hardware? Or usable even if you just have a python interpreter say. Or is it a replacement of ip stack. Wonder.</comment>


Your AI skills are worth less than you think - <AUTHOR> https://www.kdnuggets.com/2019/01/your-ai-skills-worth-less-than-you-think.html <comment><USER2> Stopped reading at "manual tuning is going the way of dodo, and good riddance". The guy clearly has no idea whatsoever what he's talking about (figures: he was an SRE at Google, nowhere close to any ML/DL efforts).

Hyperparameter tuning is an area of active research and a dark art of sorts, and it will remain that for the foreseeable future for one simple reason: hyperparameters are interdependent and _data dependent_ as well, and nobody, not even Google with its TPUs has the compute to tune them "automatically" to any meaningful extent every time. What you see with the various "automl" efforts is merely transfer learning, refining of existing models on customer's data. You can learn how to do that in one evening, with no prior DL experience if you're a good coder, and in 2-3 evenings if you aren't a good coder. Point is, it's not a difficult problem, just follow a tutorial.

That's great, that's how smart researchers build practical models, but that's not really "auto-ml", in the sense that there's no hyperparameter tuning going on (as far as I know) and no new problems are being solved. It's just a classifier: anybody can do that with common off the shelf tools and pre- trained checkpoints.

Now achieving state of the art results, solving novel tasks for which there aren't any ready-made solutions, doing DL efficiently, figuring out creative ways to get labeled data, semi-supervised or few-shot methods, etc, that's where it's at right now. And the comp has never been better if you know what you're doing.

<comment><USER3> To be fair, the hyperparameter tuning behind these AutoML systems are getting fairly robust. Google bases theirs on Vizier [0]. The Amazon Sagemaker group has people from the gpyopt project [1]. There is also tons of open source projects out there to help for non-enterprise projects [2] [3]. There are also stand-alone companies that help with this explicitly for enterprises [4] (Caveat, I am a founder).

Increasingly I think more time will be spent on the creative/bespoke aspects you mention later in your post, like making sure that you are building a system that actually achieves some business value (vs just getting a better academic-oriented metric result). Hyperparameter tuning is basically trying to do high-dimensional, non-convex optimization on time consuming and expensive to sample functions. Hand tuning is a terrible way to approach this, and is different for each problem as you point out. Experts can leverage their domain expertise and the unique aspects of their data, models, and applications in much better ways.

[0]: [https://www.kdd.org/kdd2017/papers/view/google-vizier-a- serv...](https://www.kdd.org/kdd2017/papers/view/google-vizier-a-service-for- black-box-optimization)

[1]: [https://github.com/SheffieldML/GPyOpt](https://github.com/SheffieldML/GPyOpt)

[2]: [https://github.com/Yelp/MOE](https://github.com/Yelp/MOE)

[3]: [https://github.com/hyperopt/hyperopt](https://github.com/hyperopt/hyperopt)

[4]: [https://sigopt.com](https://sigopt.com)

<comment><USER2> Are you sure this is actually being used for "AutoML" type services? All of the mentioned methods require a parameter search, which is computationally infeasible in a "quick" AutoML use case, and expensive in case you actually need it. That is, you more or less run several training sessions in parallel, and learn from which performs the best in choosing the next parameters. You don't do a full grid search (that's completely unfeasible most of the time), but you at best tweak only a few parameters, and you don't do it every time you train. Hyperparameters aren't just the learning rate and weight decay, it's also the size and number of layers, where and when to quantize and by how much, structure of the network, parameters of pooling, etc etc. I'd say we're still pretty early in the game with all of that, especially when it comes to efficient architectures that demonstrate high accuracy.

<comment><USER3> I agree that this isn't as common for most end-to-end "AutoML" systems that take a CSV, do light feature engineering/combinations, pipe it into a random forest / GBDT, and then output a model. For many of those approaches there are fewer parameters to tune and you don't get as much lift from tuning them right. Often it is more about quantity of models and ease of use vs quality. I do think that quality will increasingly help though so some tuning will start to be used as the volume, variety, or complexity of the models in these systems increases or the value of the models themselves start to increase.

However, or more complex model pipelines where an expert is probably involved there are lots of tools to help with it and it is quickly becoming automated and less of a "dark art." Some of these tools are built into frameworks like Google/Amazon, some are built into open source platforms (like katib in kubeflow), and others are entire companies building model experimentation platforms (like SigOpt). Many of these can handle everything from traditional hyperparameters like learning rate to architecture parameters to tuning feature embeddings, all at once [1]. I agree with the original author that playing with parameters and doing trial and error optimization of hyper-, architecture, or feature transformation parameters will largely stop happening in the manual way it is done today. All of these methods are orders of magnitude quicker than standard brute-force approaches.

Otherwise, I think you are completely right that there are a ton of aspects of modeling that require domain expertise and nuance beyond pulling a model off the shelf. I think a lot of that comes down to picking the model, picking the data that matters, picking the objective that actually solves the problem for the task at hand, etc. I believe less of that will be high-D non-convex optimization done manually.

[1]: [https://aws.amazon.com/blogs/machine-learning/fast-cnn- tunin...](https://aws.amazon.com/blogs/machine-learning/fast-cnn-tuning-with- aws-gpu-instances-and-sigopt/)

</comment></comment></comment></comment><comment><USER4> In a gold rush, sell pickaxes.

bitcoin boom => GPUs

AI boom => TPUs (and GPUs, too), cloud processing platforms, and, generally, AI specific hardware platforms

<comment><USER5> What are your opinions on the TPUs Google uses versus more traditional GPUs from say Nvidia for machine learning?

<comment><USER4> Honestly, I've never used them before. Cloud notebooks running on virtual GPU servers seems awesome, in theory, to me, though.</comment></comment></comment>


Superstimuli and the Collapse of Western Civilization (2007) - <AUTHOR> http://lesswrong.com/lw/h3/superstimuli_and_the_collapse_of_western/ <comment><USER2> Reading some of the other comments, I think I need to note that there is an important difference between this article, mine, and pg's.

When I wrote my article in Feb 09 Eliezer commented on HN with something like "hey! I already did that!"

Since my piece ([http://www.whattofix.com/blog/archives/2009/02/technology_is...](http://www.whattofix.com/blog/archives/2009/02/technology_is_h.php)) received such a high rating on HN, I did a bit of research to determine who came up with what idea when. Mainly because I am vain, yes, but I was also interested in how several people come up with the same thing around the same time. I hadn't read anything along the lines of what I wrote. How many more articles were out there?

Not many, as it turned out, but that's not the point. The point was I learned there are some distinctions in how people see the problem.

Eliezeer makes the point that electronic goods "super-stimulate" -- an importatnt piece of the puzzle. I believe when people argue "but no, this isn't _really_ the end of the world" they attack this piece first.

What Eliezer missed at the time in his piece is that _this is an evolutionary process_. It's not just that digital goods can stimulate just like drugs. The killer part is that there is a survival of the fittest process going on where the digital drugs keep adapting to optimize their hold on our brains. This was the point I made.

I think it's an important distinction and deserves re-mentioning. There is a good and scary reason why pong from the 1970s looks so dumb yet we spent 30 minutes playing it, while games from 2010 look so awesome and we spend 30-40 hours a week playing them. Our games today will be pong to somebody in 2025.

PG makes the point that _this is accelerating_. Not only are various electronic goods competing for time on our brains, not only are these goods evolving to self-optimize, the evolution process itself is accelerating.

So the timeline goes 2007: it's a drug, 2009: it's an endlessly self- optimizing drug, 2010: it's adapting at an accelerated rate.

Ouch.

I'm not trying to yell the sky is falling, and I remain an optimist for the species as a whole. I just don't think waving your arms around (with a game controller in your hand, no doubt) while you say something like "nothing to see here folks, please move along" is going to cut it anymore. We have some work to do.

<comment><USER3> Laissez-faire(not troll) viewpoint: People will be unequally susceptible to these new super-stimuli, and humanity will keep on evolving. If the victims, who will have their genes excluded from the gene pool, leads happy lives, what's the problem?

edit: Felt a need to play devils advocate to get a more complete discussion, but just saw that it had already been done in the comments to pg article. so, eh, never mind.

The point I really wanted to make was that I'm not worried that this will be the end of humanity, since not just super-stimuli, but also humanity keeps on evolving.

</comment></comment><comment><USER4> I highly recommend reading the comments to this article as well.

</comment><comment><USER5> Man, this Civilization thing just keeps collapsing all the time.

Like the title, the article too is a bit of a mess. I up voted it however because I agree that free will - to resist temptation that is - requires work and often hard work.

I must say however, could people please stop using the hunter - gatherers as our gods in which image we are made? These people lived thousands of years ago. Evolution does not just stop at some point - thousands of years ago that is. To illustrate the point, those three people that died, that is evolution, their genes were not passed, so their behaviour will occur less.

You see after we lived in caves, we started farming and after that we started to build big cities, and after that we managed to learn how to fly and able to write on here. I think that throughout those stages evolution has continued and whoever was or is not adapted to the environment will just die without leaving off springs and those off springs who are left behind will be better adapted to video games.

<comment><USER6> You are referring, in your last paragraph, to _adaptation_ ; _evolution_ is a much more particular process that species undergo over the span of thousands of generations. We are not currently well-evolved for our environment; it has been only 100 generations (3100-3300 years, statistically) or so since we first developed agriculture. You would be hard-pressed to find a species that had managed to naturally-select for _anything_ in a hundred generations, unless it was something that killed off a large majority of the species before they reached reproductive maturity.

We can adapt our behaviors (the whole point of brain matter, in fact, is adapting faster than evolution allows), but until we start genetically- engineering ourselves, we can only _evolve_ our instincts. Thus, our instincts are currently those of hunter-gatherers.

Further, since humanity seems to be particularly against the notion of eugenics at this time, we aren't even undergoing much natural selection at all. Sure, there will be some Darwin-award winners, and the very poor in the third-world may be picked off by disease or hunger until only the more resilient are left, but this thing we have created, _society_ , protects the weak and unfit through a process of empathy. People will not choose to not reproduce with you just because you're nearsighted—so now a quarter of all people are nearsighted. There is no natural selection happening in humans, especially now that, through a huge population, globalization, and search/match algorithms, every person is guaranteed to be able to find, within their lifetime, 10000 people they would consider "soulmates" if they met by happenstance.

<comment><USER5> Perhaps I am mistaken, but evolution is the survival of the most adapted. Adaptation and evolution are not two distinct concept. Adaptation is the mechanism by which evolution functions. That is the most adapted survives, the least adapted does not. Those who survive then pass on their genes, thus their instinct, to their children which eventually leads to a change of behaviour or characteristic.

Even assuming that our ancestors came down from the trees our outside of the caves and started working the earth 3000 years ago, that would not be merely 100 generations. People died much more younger then and frequently. Only a thousand years ago the population of London was no more than perhaps 50,000 people. 2000 years ago there probably hardly were any people here.

Now let me address the 3000 number. First, Egypt is much older than 3000 years. Mesopotamia is older than Egypt. Now Mesopotamia was a civilisation. There was culture and religion and governance. It must have taken a few years to evolve from farming the land to a civilization. The estimates as to when we started farming range between 10,000 and 50,000 years ago but most likely it is about 20,000 - 10,000 years ago.

If we take the lower number of 10 thousand, and go back to London 2000 years ago where there probably were not many people. Its a brutal world. There is fighting. A lot of disease, perhaps some due to diet. Branches of ancestral lines much easily vanished. Those who were stronger to fight, or lucky as it may be, survived, those who were smarter survived, those who were fine with eating rice and whatever bacteria it might have contained survived.

Now if we go back to the time of the ancient greece, those who were slaves probably did not pass on their genes, thus the behaviour which got them into slavery probably eventually was minimised in the population as a whole. Going back to Egypt, the weak, or the less adapted, were more likely and more easily than say 1000 years ago to die leaving no children.

Now lets come back to our days. It is true that here it is hard to die of hunger, but, the poor are more likely to be alcoholics, do drugs, smoke a lot, fight, steal, be in jail, that is why the poor get pregnant so young, they might not live so long. Also, those who are poor and least adapted to being poor, that is fight and the like, are less likely to have children.

There are studies where evolution has been documented within our own lifetime of different species such as peacocks within a very short time frame. That is one or two generations, or for good measure ten generations. We are however a different species in a very fundamental manner from any other. Our evolution is of a different kind to the peacock or the lion or the monkey. We might not change physical characteristics, but what does evolve is our thinking, our intelligence if you like, which I am using as an umbrella term to describe in another way mental adaptation to our world. Those who are not so adapted might be married but are less likely to as they would have to do with what is left from all else and are likely to engage in harming behaviour to themselves due to falling pray to such temptations as drugs and thus leave a worse environment for their children, etc.

I think I should stop now. I just wanted to point also that many people might be able to find 10,000 solemates, but a very fat person might probably not, so to the guy who plays video games all day and smells of dirt because he can not be bothered to wash.

It is a very big picture. We might not notice evolution occurring, but have you noticed how we as a society have and keep becoming better and more prosperous and more educated and healthier...</comment></comment></comment>


Places to Go in 2015 - <AUTHOR> http://www.nytimes.com/interactive/2015/01/11/travel/52-places-to-go-in-2015.html <comment><USER2> Bend, OR is a fabulous destination. The beer scene is of course excellent, and the mountain biking is out of this world. I spent a few days visiting last summer, and I fully intend to return with my own bike (riding isn't the same on a loaner) as soon as I can.

It's a bit unfortunate (though entirely predictable) that locals are being priced out of the housing market due to very heavy demand from folks relocating there. Still, Bend seems to have retained it's culture so far and is near the top of my list of locations if I ever relocated.

<comment><USER3> For the HN crowd - there are also multiple incubators and a small but serious VC crowd. The Oregon Entrepreneurs Network and EDCO are doing great work there fostering a community of entrepreneurs.

</comment></comment><comment><USER4> Very pleased to see Squamish, British Columbia on the list. The location is perfect: an hour away from some of the best skiing in the world, an hour away from downtown Vancouver, and some of the best rock climbing and mountain biking right at its doorstep. I wouldn't be surprised to see the town develop rapidly in the coming years as house prices in Vancouver continue to balloon

</comment><comment><USER5> Unfortunately there are places on this list that many people can't visit without risking going to jail. Oman, for example, whose penal code reads in part:

"Article 209: It is punishable by imprisonment from 10 days to 3 years — or by a fine from 5 to 500 riyals — whoever:

1\. Publicly blasphemes against the glory of God, or the great Prophets.

2\. Targets, with public imagery or printing, divine religions and religious sanctities with contempt."

<comment><USER6> I encourage you to acquire the self-discipline to avoid blaspheming while traveling. Guidebooks such as Lonely Planet have a few pages explaining how not to offend the locals. It will allow you to experience marvelous new cultures and expand your horizons.

Then you can come back to a new appreciation our relative freedom of speech, though perhaps realizing that there are also things we can't say.

<comment><USER7> It has never, in my experience, been worth traveling for pleasure to countries where speech is not protected.

It is, of course, always worth traveling to places that need help, but lots of us prefer not to waive civil rights unless there's a good cause.

<comment><USER8> In principle I agree with you, but be aware there is no country where speech is fully protected. You can't go into a crowded theater in the USA and yell "fire!", for example.

<comment><USER7> I'm not sure how that could possibly be relevant when considering a holdiay destination. Is there a reason you bring it up, or are you just being an internet pedant?

</comment></comment></comment></comment></comment><comment><USER9> That's a very nice web page, as usual from NYT.

Nothing fancy, but very pleasant to read.

<comment><USER10> Agreed. But am I the only one who was disappointed when not every subsequent photo after the first had movement? About half did for me.

</comment></comment><comment><USER7> Does anyone have a link to a version that doesn't cause my laptop fan to kick on? I don't need to max out CPU cores to read a travel blog.

</comment><comment><USER11> So excited to see my hometown, Chengdu, listed. It's a great place to visit, rich heritage, amazing food and not to mention, pandas!

</comment><comment><USER12> From the capitalization (and the fact that this is HN), I assumed this was a post about the Go language. Whoops.

</comment><comment><USER13> Pretty disappointed not to find Tel Aviv or Jerusalem on this list

<comment><USER14> You can still go there.

</comment></comment><comment><USER15> So, everywhere. Got it.</comment>


Lightning fast apps, the Instagram way - <AUTHOR> http://www.lukew.com/ff/entry.asp?1458

<comment><USER2> I couldn't agree more. Providing a great UX is what led Instagram to the top, and speed is a key player, as much as design itself.</comment>


Show HN: AppsFolder - exclusive deals on web and desktop apps - <AUTHOR>

I've just launched http://appsfolder.myshopify.com - a site where you can find some of the best web and desktop apps at a discounted price!
I'm really looking forward to your feedback and what new apps would you want to see on AppsFolder!
Thanks for all of your suport! <comment><USER2> It looks very interesting! I'm very curious to see what cool new deals you will bring!

</comment><comment><USER3> clickable: <http://appsfolder.myshopify.com>

<comment><AUTHOR> Thanks rgbrgb! ;) What do you think about AppFolder?</comment></comment>


About the Reuters article - <AUTHOR> http://www.guardian.co.uk/commentisfree/2013/jul/13/reuters-article-dead-man-s-switch <comment><USER2> Slightly off topic: The article mentions a "dead man's switch" set up by Snowden prior to making his disclosures. If he is assassinated, apparently all the documents will be publicly released.

Greenwald also mentioned that the totality of what Snowden controls is "enough information to cause more damage to the US government in a minute alone than anyone else has ever had in the history of the United States." Let's assume that's not an entirely hyperbolic statement.

From the point of view of the Obama Administration, the real threat is not Snowden's/Greenwald's principled (even patriotic) drip of information, but that an enemy of the US might kill Snowden, and stage it to look like a US op, thus tripping the dead man's switch. Snowden has, on his own, made himself a prime target for any sufficiently ambitious US antagonist.

And so the US wants Snowden back not only to prosecute him, but also to "protect" him. (Nothing like four years of solitary to keep you safe, comrade.)

Until and unless he is granted a pardon or some other form of immunity from prosecution, it seems that Snowden's best interest is to stay in the strongest and most secure country he can find. A country with a highly developed security apparatus (to protect him from hostile agents), one that is adversarial to America (to disallow his rendition or extradition), but not openly antagonistic (to want to kill him to harm the US).

And that is exactly the country where he finds himself right now.

Obama and Putin have quite the chess match coming up. God bless the man whose life is in their hands.

[Edited for clarity]

<comment><USER3> solitary confinement could trigger it as well probably, it depends on how things have been set up.

Obama should have handled this in a totally different way, he should have treated him as a partner for having shed light upon a corrupted practice of the NSA, and should have asked the people heading the NSA to resign.

This would have been a checkmate against any other US antagonist in my opinion, but I admit that is definitely too easy to judge things you don't know in every aspect from the comfort of your own home.

<comment><USER4> The problem is Obama completely agreed with what the NSA was doing, and most likely even ordered everything to be done that way (that's why he so viciously defended the FISA Amendments Act last year, and why he tried to get lawsuits dismissed).

However, I agree that is what he should do anyway. Clapper and Alexander should get fired immediately, and so should Holder - but he's been bailing out Holder so many times, I'm starting to think it's a lost cause that he'd ever stop protecting him. If there was a video of Holder shooting a man in head, he'd probably still pardon him.

I disagree with your last part, though, that it would prevent other whistleblowers from coming out. Why would it? It would prove Snowden did a good thing, and more would come out later to fix the system (which is _exactly_ what _should_ happen).

<comment><USER5> Isn't it silly to fire the officials when the blame lies with the presidents? In my opinion, it's about as useful as blaming Rumsfeld for Bush's war. Appointed officials are servants who fall on their swords when needed to protect the boss. Punishing the underlings just insulates the presidents from blame.

<comment><USER6> Rumsfeld's culpability for what happened in Iraq is extensive.

<comment><USER5> Perhaps, but only to the extent that Bush would remove him... and, if tried, to the extent that he violated laws. Bush stood behind him, happily letting him take flak from the media and political opponents for _years_.

The buck has to stop with the president. How depressing for our civilization that people get worked up blaming a lower level appointee whose job it was to be operationally in charge of dirty work that was fully supported by the president.

<comment><USER6> It's not a zero sum game. Both Bush and Rumsfeld are extensively culpable, as is Cheney and Addington and Wolfowitz and Feith.

<comment><USER5> I agree. But considering that underlings are used as chess pieces and must have their big picture plans approved by the president, it's folly to focus more than 5% of the attention on them.

In Rumsfeld's case, he was tasked with creating a shitstorm by acting crass and making controversial remarks. It worked flawlessly and diverted tremendous criticism and attention from Bush and the larger policy direction. Eventually when he'd done that effectively for years, his resignation was engineered to help Bush turn over a new leaf.

<comment><USER6> Rumsfeld was the architect of the military strategy that resulted in the Iraqi civil war, and was one of a few very loud voices in the administration in the aftermath of 9/11 militating for an invasion in the first place.

<comment><USER5> You're arguing that Rumsfeld was incompetent? I'd say he's among the most competent executives ever to deliver to his superiors exactly what they wanted.

Without hindsight bias, and considering that selling a cheap war was critical to getting buy-in from congress, Rumsfeld architected a great plan.

I'd argue that Rumsfeld is an incredible intellect and expert tactician who made zero mistakes.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> FTA: _For those who say that they wish there was more attention paid to the substance of the NSA stories than Snowden: here is the list of the NSA revelations we 've published over the last month. Feel free to focus on them any time._

[http://ggsidedocs.blogspot.com.br/2013/07/nsa-revelations- ov...](http://ggsidedocs.blogspot.com.br/2013/07/nsa-revelations-over-last- month.html)

</comment><comment><USER6> Did Greenwald just say that Snowden has documents that could cause grievous harm the United States, and that he may have set up a dead man's switch that would cause them to be published should any harm come to Snowden?

Three possibilities I can see:

(1) Greenwald really can't think even one move ahead and see that he's just published a reason for any number of US adversaries to kill his source.

(2) Greenwald understands the implications of what he's published but is, owing to his own incentives, fine with the idea of his source being killed

(3) Greenwald doesn't believe what he's saying and isn't meant to be taken seriously.

Cards on the table: that guy could be reporting that water is wet and I'd still have him in bucket (3). Although now you kind of hope the freakshow government in North Korea is smart enough to bucket him the same way.

<comment><USER8> (5) Greenwald is thinking two moves ahead. Now that US adversaries have a motive to kill his source, the US finally has a motive to protect his source.

<comment><USER9> Russia is not going to let harm come to Snowden in their airport or on their airplane. No one's going to stab him with a poisoned umbrella or anything.

Greenwald and co. have been consistent since the beginning that precautions had been taken with the trove of documents to ensure the reporting would not be suppressed were something to happen to Snowden. It's recently been sensationalized as a "dead man's switch", but it's not new info.

So I think you're right.

Look at how reflexive the US has been with all the diplomatic threats and goofups compared to Snowden's team's patient and careful tactics. The US hasn't been on the receiving end of effective hardball tactics in a long long time. It's taking a while to sink in that they need a better strategy than the standard prosecutorial bullying.

<comment><USER6> Greenwald _just said_ there was more unpublished material that would be harmful to the US were it to be published. It's right there in the article.

<comment><USER9> Yes, but he's been saying that since the very first articles and interviews on Snowden. This is not new information.

<comment><USER10> Has he laid out in such stark terms, though? He has been saying the documents could cause "grievous damage" or something along those lines, but that's a far cry from "more damage to the US government in a minute alone than anyone else has ever had in the history of the United States."

<comment><USER9> Yeah he did get a bit less subtle about it in that interview. Anyone's guess as to whether that was a calculated change or just speaking off-the-cuff.

</comment></comment></comment></comment></comment></comment></comment><comment> brown9-2 Greenwald was criticized for saying that the USG "should be on it's knees begging every day", a clearly inflammatory thing to say. To act like the criticism is the result of some grand government conspiracy is a bit much.

There are plenty of people outraged by the substance of what has been leaked who also don't like the idea of a) great harm coming to the country or government or legit intelligence operations, or b) a 30 year old person stuck in a Russian airport who has appointed himself the ultimate arbiter of what is leakworthy and what is not, what programs are legal and good and which are illegal and evil.

On another note, the idea of a dead mans switch that harms the government of Country A is probably an attractive target for other governments that want to harm Country A.

<comment><USER11> _" There are plenty of people outraged by the substance of what has been leaked who also don't like the idea of ... a 30 year old person stuck in a Russian airport who has appointed himself the ultimate arbiter of what is leakworthy and what is not, what programs are legal and good and which are illegal and evil."_

Of course such determinations should be left to the professionals, our Supreme Leader, the oh-so-popular Congress and the stalwart defenders of liberty and justice: the Courts -- which are all so trustworthy, moral, and competent.. and who would never hide anything under the pretense of "national security" to cover their own asses, to grab more wealth and power, or keep the public from knowing of atrocities and crimes they, their buddies or their lackeys have commited.

<comment> brown9-2 At the very least, deciders chosen by a government elected by the people, whatever value that has, is of more value than a single self-chosen person who happened to have the correct level of access and skills to access more documents than he was supposed to.

<comment><USER11> Ostensibly elected (or selected, if the election was decided through fraud) in a system where more than 40% of eligible voters are too disgusted, cynical, or apathetic to vote.

In a system where elections are so influenced by money that billions are spent on advertising candidates. Where virtually all the discussion of the candidates is about their personalities and presentation (such as whether a candidate wore a flag lapel, or how he golfed) rather than about their policies and stances on concrete, important issues.

In a system where the majority of those who do vote are embarrasingly ignorant of politics, history, and the candidates and parties for whom they're voting (largely thanks to the horrendous media coverage mentioned above, and the atrocious education system in the United States).

In a system where the elected candidates can do the opposite of what he campaigned on virtually without consequence or most of their constituents noticing (thanks to the media, yet again).

In a system where gerrymandering has effectively guaranteed the seats of most members of Congress, no matter how poorly they perform. (Given the record low approval ratings of Congress, virtually all of them should been thrown out ages ago, but that's not going to happen any time soon.)

In a system where there are only two parties who agree on most issues, and collude to keep third parties and serious alternative from ever being viable.

In a system where the people appointed by the elected/selected politicians get to make decisions outside the (incredibly flawed) legal process, in secret, and with virtually no oversight or accountability to the public.

In a system that tortures prisoners, violates human rights, starts unprovoked wars that kill millions of people.

I'm sorry, but I just don't place much trust in such a system. And I applaud whistleblowers who risk their lives to expose wrongdoings.

<comment> brown9-2 Elections have plenty of problems. Do you have a better solution?

<comment><USER12> Fix the known bugs: Gerrymandering, campaign financing.

</comment></comment></comment></comment></comment></comment><comment><USER3> "the tactic of the US government has been to attack and demonize whistleblowers as a means of distracting attention from their own exposed wrongdoing and destroying the credibility of the messenger so that everyone tunes out the message. That attempt will undoubtedly be made here."

looking back at all the articles recently published on HN about it, this has undoubtedly happened here as well in a sense.

My feeling is that people are already starting to somehow forget about the revelations by replacing them in their mind with the engaging story of a whistleblower on the run.

</comment><comment><USER4> I thought Reuters had an "angle" almost immediately, since I saw the words fugitive and spy next to Snowden's name in the summary at the top.

<comment><USER13> They said former spy contractor, which is accurate. Fugitive is accurate. So, how exactly do you infer an angle from this?

<comment><USER14> It is all about word choice. It would be just as true to say asylum seeking exiled whistle-blower. Both descriptions are totally accurate, neither description is neutral.

<comment><USER15> He hasn't been exiled.

</comment></comment></comment></comment><comment><USER16> Every mainstream newspaper, tv and radio channel has to have a state-issued license to operate. This means that state can always find a reason to dismiss the license and make business shut down. This fact creates a great bias towards discussing something safer in the eye of the state. Talking about Snowden character is so much safer than speaking openly about how NSA spies on everyone by forcing companies to give them access to communication channels and hardware and then forces them to lie to their customers about privacy.

"Free speech" exists only when there is no license to get and no armed SWAT team that will come if you don't have one.

<comment> brown9-2 A license to operate a newspaper? This sounds far fetched as there are no limited resources like airwaves being occupied.

<comment><USER17> There are business licenses, code inspections, and changing zoning requirements. Not quite the same as a spectrum license, but there are still many ways for a government to exert pressure on a newspaper.

<comment><USER18> Surely there is some crank website documenting all the newspapers that have been driven out of business by federal pressure.

The major newspapers play silly access games, but just throwing out speculation that they are getting pressured is pointless.

<comment><USER17> Right, I'm not playing conspiracy theory or saying there _is_ coercion, just responding to the comment that newspapers don't require any licensing. What with the IRS targeting political groups, you can't be too careful these days ;-).

</comment></comment></comment></comment></comment><comment><USER19> Does anyone have a mirror of this article? I can see the Reuters one fine but this isn't loading at all for me.

<comment><USER20> [http://pastebin.com/WPBdUy36](http://pastebin.com/WPBdUy36)

</comment></comment><comment><USER21>
        then by bullying small countries out of letting him land
        for re-fueling.

As far as I know Cuba was the country were a stop for re-fueling was planned on the way to South America.

I have read about pressure on Ecuador, but not Cuba. Does that sentence mean that Greenwald (and probably Snowden and Wikileaks) have information that a stop in Cuba is not save?

<comment><USER22> _a stop in Cuba is not safe_

[http://www.washingtonpost.com/blogs/worldviews/wp/2013/06/25...](http://www.washingtonpost.com/blogs/worldviews/wp/2013/06/25/why- cuba-might-not-be-safe-for-snowden/)

In order to get a better idea, do read the whole article, here I just give one small sample: "Cuba agreed in 2006 to stop its practice of harboring American fugitives."

<comment> k-mcgrady I wonder if that means people the US _considers_ fugitives. As he is regarded by most of the world as an asylum seeker Cuba might decide they can let him in and they are still honouring that agreement.</comment></comment></comment>


Story of Mixmax- The Startup Looking to Reinvent Email - <AUTHOR> https://breakoutstartups.substack.com/p/breakout-startups25-mixmax <comment><USER2> From the linked article:

> Mixmax, the powerful analytics, automation, and enhancement platform for > your outbound communications.

So, they're not really looking to reinvent e-mail. They're looking to reinvent marketing e-mail. Spam, basically.</comment>


Command Line Hack: Locate the Source for any Python Module - <AUTHOR> http://chris-lamb.co.uk/2010/04/22/locating-source-any-python-module/

<comment><USER2> <http://www.vim.org/scripts/script.php?script_id=910>

</comment><comment><USER3> Or for any scripting language, use you can use strace.

e.g. to find CGI.pm in perl:

$ strace -e open perl -MCGI -e exit 2>&1 > /dev/null | grep CGI.pm | sed -e 's/",. _$//' -e 's/^._ "//'

/usr/share/perl/5.10/CGI.pm

Linux specific (use 'truss' on Solaris). I don't think OSX had strace like this last time I looked, but I assume dtrace could do a similar job if there isn't a more specific tool?

[Edit - there are literal asterisk chars in the above after the '.' chars in the regex, but I can't see a way to include them in a HN post (backslash escaping or HTML entities don't work)?]

</comment><comment><USER4> eggs won't work with this. Then again, eggs won't work with _anything_

<comment><USER5> The pip unzip command works wonders for this. It converts a zipped egg into a plain old package.

There are two other situations where this can cause problems:

* The module is a C extension (which might not have the __file__ attribute defined).

* The module is actually a namespace package (for example "zope" in "zope.package" and "zope.interface".</comment></comment>


Wordpress Template ≠ Web Design - <AUTHOR> http://blog.jenius.me/post/8709036634/wordpress-template-web-design

<comment><USER2> I feel bait and switched by the title. I came in ready to vehemently defend people who make Wordpress templates as web designers!

But, agreed. Anybody that's simply modifying someone else's work without disclosure to their client is being shady and deceitful.</comment>


Mycroft – A.I. for everyone - <AUTHOR> https://docs.mycroft.ai/ <comment><USER2> I know there have been many discussions about speech interfaces here lately, but I really think it's going to be as transformative as the touch screen in that it removes abstraction between the users intent and the means to input it. Speech is very natural to us and as soon as the AI become more contextual it will be truly powerful in our every day lives.

I can of course only speak from personal experience but it completely changed the way we access various services in our family and allow us to be together while using Google home as a fifth member of the family.

Making it open source is great but I do believe the hardware needs to be much more polished to compete with Amazon and Google.

</comment><comment><USER3> So today I built this same thing[1], using a Logitech universal remote, Bing Speech recognition, ifttt.com and about 6 lines of Python.

[1] OK, it's the easy part. And I agree the whole system of skills and features sounds great. But I can say "Turn on TV" and my TV comes on, and "Turn on Xbox" and the TV and Xbox come on. And.. 6 lines of Python.

<comment><AUTHOR> Interesting. Could you elaborate how the remote, Bing STT, IFTTT, and your Python code interact with one another?

<comment><USER4> I expect audio and Bing STT are handled by the Python SpeechRecognition library:

[https://pypi.python.org/pypi/SpeechRecognition/](https://pypi.python.org/pypi/SpeechRecognition/)

Python to IFTTT here (using maker channels):

[https://github.com/briandconnelly/pyfttt](https://github.com/briandconnelly/pyfttt)

And then using the logitech universal remote (harmony remote) from IFTTT:

[https://ifttt.com/harmony](https://ifttt.com/harmony)

Although you can also control a harmony remote directly from python:

[https://github.com/jterrace/pyharmony](https://github.com/jterrace/pyharmony)

More about the harmony remote here:

[http://www.logitech.com/en-us/harmony-remotes](http://www.logitech.com/en- us/harmony-remotes)

<comment><USER3> Exactly this.

</comment></comment></comment></comment><comment><USER5> Does anyone know what the hardware looks like? I haven't managed to find any info other than "it's a raspberry Pi with LEDs". I'm especially interested in whether it had a microphone array and how they process audio to remove noise.

<comment><USER6> The key feature of an Echo is its wide microphone array. Those are somewhat expensive.

<comment><USER7> Are they expensive because they are complicated or because the market for them has been small? I'm curious how hard it would be to make one.

<comment><USER5> I don't know how expensive they are, but I did get a PS3 eye camera with a four-mic array for $4. I just don't have the software to do noise reduction for the streams.

</comment></comment></comment></comment><comment><USER8> Since it's open-source: are the underlying text-to-speech and speech-to-text engines already available as libraries for Linux?

<comment><AUTHOR> This is the biggest shortcoming of this project IMO; it only uses PocketSphinx to recognize the trigger phrase, and then uses Google STT for the command phrase.

A big reason I (and I believe others) are wary of Amazon Echo and Google Home are because we don't like the idea of having an always-on microphone in my home, shuttling everything my family says to these giant companies.

I really hope the MycroftAI-backed OpenSTT[1] project gets off the ground so they (and others) can divorce themselves from Amazon, Google, Bing, etc. services.

[1] [https://openstt.org/](https://openstt.org/)

<comment><USER8> Good points. I also think we really should not label software "open source" unless it is really open source.

But good to see that at least the project has the intention of becoming open source.

</comment></comment></comment><comment><USER9> A notable effort, however at first glance this seems like an imitation of the Alexa service with like-for-like terminology and backend concepts even using the word "intent". Does this not risk stepping on the toes of Amazon's copyright/trademark?

One thing I do regard highly is the focus on testing vs. Alexa's SDK where Amazon don't even seem to be a vaguely concerned.

<comment><USER10> >even using the word "intent"

Words like "intent", "sentiment", and "entities" were standard vernacular for natural language processing long before Amazon decided to jump into the space.

<comment><USER11> Like "chrome" in the browser space.

<comment><USER10> I think Google trying to forbid Firefox from using the word "bookmark" would be a closer analogy.

</comment></comment></comment></comment><comment><USER12> How does this compare for privacy with the recently failed Protonet Zoe?

Can it keep your Speech recognition and Io(broken)T devices to the local net?

</comment><comment><USER13> Great work! Are you collaborating with the OpenAI team ? It's exciting to see how projects will cross-pollinate each other with their best ideas.

</comment><comment><USER14> What are the privacy implications of this thing?

<comment><USER15> Similar to the implications of siri and Google now, I imagine.

<comment><USER14> From what I understand Siri isn't always-on. In the sense that you have to switch it on. This seems to be listening all the time.

Another comment mentioned that they use some Google speech recognition component, which probably means all of your conversations are delivered to Google. That's a big red flag for me.

<comment><USER11> It first detects its wake word using pocketsphinx on around the last two seconds of audio. Audio older than two seconds is discarded. After detecting its wakeword it begins recording until when it thinks the user has finished speaking.

I believe the Poketsphinx part is offline so only commands would be delivered to Google.

</comment></comment></comment></comment><comment><USER16> Just a note, GPL 3 is not a permissive license, it's a viral license. BSD and MIT are permissive licenses.

<comment><USER17> The license is LGPL 3, not GPL 3.</comment></comment>


Why Prolog Is Not as Popular as SQL in Imperative Programming? - <AUTHOR> http://programmers.stackexchange.com/questions/264812/why-prolog-is-not-as-popular-as-sql-in-imperative-programming <comment><USER2> I think the Stack Exchangers miss the point.

I don't think the predicate syntax is a big problem, but there are two real problems with Prolog.

The first is that it is awkward to mix declarative and procedural programming in Prolog. For instance, in Prolog sometimes you trigger a logical failure when an event succeeds to get the control flow the way you want, and this drives you up the wall.

The other one is historical. Early on there was hope that Prolog could be executed in parallel. It was discovered around 1982 that it can't be. The Fifth Generation Computer project developed Prolog-like languages, such as KL0, that can parallelize, but these languages were less palatable to work in than actual Prolog.

I think the production rule systems that were popular in the 1970's and 1980's are less popular than they ought to be, but the rapid progress of Drools could be changing that.</comment>


Robot kills a man at Volkswagen plant - <AUTHOR> http://rt.com/news/271147-robot-kills-man-volkswagen/

<comment><USER2> Story is "better" with this related tweet [https://twitter.com/acarboni/status/616360772478722048](https://twitter.com/acarboni/status/616360772478722048)

</comment><comment> anti-shill that robot decided his fate in a microsecond: extermination...

and so it begins...</comment>