Trump to end Hong Kong's special trade status - <AUTHOR> https://www.axios.com/trump-end-hong-kong-special-trade-status-china-violations-adc1b663-9965-4afb-b312-cbd777c5732d.html <comment><USER2> So if trump wants the West to treat Hong Kong just like any other Chinese city, why would the Chinese do anything different?

Trumps's policy is going to disadvantage the Hong Kong 'man in the street' and the Hong Kong elites more than the Chinese Congress will.

Another 'Lets shoot ourselves in the foot' moment for the West.</comment>


Show HN: Remote control you Mac from your iPhone's lock screen (No Jailbreak) - <AUTHOR> http://magicremote.co

<comment><USER2> Can't get it to connect to the Mac host. Could be my company firewall, but it's not that strict.

I'll try again when I get home.</comment>


Two Scoops of Django final edition released - <AUTHOR> https://django.2scoops.org?hn=1 <comment><USER2> Not to be so unreasonably negative here, but I've been pretty suspicious of the peculiar amount of attention this book has gotten.

I wish more effort was put into updating the /free/ Django book (created by Jacob Kaplan-Moss and Adrian Holovaty, the creators of Django): <http://www.djangobook.com/en/2.0/index.html> \-- what's fantastic about the Django book is it could be read by a complete novice with no prior experience of webapp development, indeed it introduces the patterns to a MVC framework in a great way with wonderful analogies. Novices are not going to have a fun time with TSoD.

edit: As stevejalim has pointed out, jacobian is taking pull requests to update the book for Django 1.5: [https://github.com/jacobian/djangobook.com/blob/master/READM...](https://github.com/jacobian/djangobook.com/blob/master/README.rst) \-- have a go!

<comment><USER3> I've got to say, this comment makes me rather sad and angry.

Sad, because _Two Scoops_ is a wonderful book. Danny and Audrey spent a ton of time soliciting feedback from a veritable Who's Who of the Django community, and they took that feedback incredibly seriously. The result is a book that does a better job encapsulating how to write successful Django code than anything anyone else has written.

Angry, because of the implied slight against Audrey and Danny. It's sucks that you're too "suspicious" to consider that it might be getting so much attention because it's damned good. When you say that the book is getting "a peculiar amount of attention", it really sounds like you're suggesting some sort of scam. That assumption of bad faith is really offensive -- and completely incorrect. The book's getting attention because it's awesome.

Also angry because of of the implicit demands on my free time that you're making. Writing a book is fucking hard, and I haven't had the time to keep it updated. You're not entitled to my free time.

To end on a positive note, though: the book is getting updated. There's a new author working on a 3rd edition, to be released later this year. I'm not sure if the author wants to be named publicly, but it's someone I know and trust to do an great job.

<comment><USER2> It appears my observations were off. Consider my earlier comment recanted (it seems I can't modify/delete it now).

<comment><USER4> As a casual observer, a second Thanks. It's really really nice to see someone on the internet say the equivalent of "sorry, I was wrong."

</comment></comment></comment></comment><comment><USER5> This is just a phenomenal book. After reading the Django docs a few times, I dove into TSoD and realized it was way over my head but the content was excellent from a pragmatic, "get things done", "I was wondering about that" point of view. After going back to Django docs and starting Kenneth Love's Get Started with Django Series then returning back to TSoD, I am even more impressed with the insights and breath of the book. Even as a noob, I consider it a must have reference. Do you really want to go thru all the mistakes, errors and pitfalls that the authors are warning you away from? Some things in life are just genuinely good and of the highest quality PERIOD. Stop being so jaded gang.

</comment><comment><USER6> Bought the PDF beta once it was posted here on HN with the hope you guys would be nice and provide an EPUB version later on. Just want to say thank you for listening and doing so! If you haven't bought this book and are in some way (beginner or veteran) a Django developer go and buy it, there is always something new to learn even for the most experienced.

</comment><comment><USER7> I'm glad this has gotten the attention it deserves; I purchased the beta when embarking on my first Django project, and it was a bit over my head at the time. Now, however, 2SoD fills the important role of an up-to-date best practices guide, which I find is often hard to compile in largish community projects with fragmented documentation.

Not that the official docs aren't good, because they are; the 2SoD authors just get to be a little more narrow and opinionated.

</comment><comment><USER8> I love - absolutely just adore - that the DRM on the PDF copy I bought is having my name embedded in the cover. I can view it on my work desktop, my home laptop, my iPad, or my Nook without jumping through any hoops at all.

<comment><USER9> DRM free is the only way to go. :-)

<comment><USER8> Well, it's appreciated. Thanks for trusting and respecting your buyers!

</comment></comment></comment><comment><USER10> For someone like me with relatively new django skills, I felt the book gave me a very good feel for best practices used in the community; I feel the authors did a good balancing act of informing readers of the best options available while being firmly opinionated where necessary.

<comment><USER11> The opinions are what set it apart. I'm one who, when new to a topic, can quickly end up in a deer-in-the-headlights state if faced with a large number of competing approaches. I spend too much time flip-flopping and second guessing until I build some history with whatever it is I'm working on.

The Two Scoops approach is: we're two Django developers with a lot of experience, and here's _our_ approach that has been successful which you can use. They go so far as to say, "you may hear about x/y/z, but here's why you can safely ignore that in almost all cases..." Works very well for me.

</comment></comment><comment><USER12> I started a job recently that relied on much more Django skills than I had. I'm a senior programmer, but my Django was dusty. Purchasing "Two Scoops of Django" was a fantastic investment. The material is moderately dense, giving "best practices" to a wide range of practical topics.

For me, a technical "here's what's really important" book is the most valuable. Django docs (and the Django Book) are great, and I'm thrilled to have them plus "Two Scoops" to use for my day job.

</comment><comment><USER13> Same thing I said in another thread, but it is relevant here too:

Books like this should really offer a money back guarantee.

Why? It signals quality and enables speculative purchasing.

The quality signal I think is obvious.

The speculative purchasing is an incremental sale. Emotionally, I'm not going to purchase this book without a guarantee unless I've decided to commit time to read it. However, with a guarantee I can buy it on the chance that I might read it. It's not logical, I know, but it is how customers work emotionally.

Also, economically your guarantee is basically free. 99% of the time its not worth my time to request the refund even if I don't like the book. The 1% is if your book has made me emotionally angry due to its poor content (1 book I've ever read).

But, people will game the system? No they won't. At least not in sufficient volume to make it worth worrying about. If I want to scam a free copy of your book, it's likely I can find a pirated version faster than I can get my wallet and enter my credit card number.

<comment><USER14> And here's the clincher: the buyer already has the ability to ask for a refund from Gumroad or a credit card chargeback. Those who really want their money back will get it anyway.

<comment><USER9> Please, please, please don't ever do credit card chargebacks. Merchants get charged nasty fees each time that happens.

</comment></comment></comment><comment><USER15> Looks great, will buy. This is not a criticism of this book: does anyone have a hack to add syntax highlighting to any of the ebook formats? I understand why colored syntax highlighting isn't provided in paper formats, but I don't understand why publishers don't use it in ebooks on programming.

<comment><USER16> It doesn't have to be a "hack". Most modern devices would support it just fine. The main problem is the older kindle devices that only support the mobi7 format.

An author is likely to get dinged on reviews if formatting on older eink devices is poor. So in practice the lowest common denominator wins out...

<comment><USER9> You're right. We took it out because it looked awful on certain devices.

</comment></comment></comment><comment><USER17> We purchased this in initial release. This is good book, fills the gap between developers and documentation.

</comment><comment><USER18> Last time I used Django, I loved everything except class based views. I thought my view code was much clearer and easier to work with after I switched to FBV's. I see the book touches on both methods, but overall is it opinionated one way or the other?

<comment><USER19> Yes. The authors like CBV's and make a strong case for why you would want to use them.

Like you, I found CBV's to be wanting, particularly generic views, and all but gave up. A combination of updates to the official docs with 1.5 and this book made me reconsider and I'm glad I did.

<comment><USER18> Thanks for the info, I'll probably give them another shot in my next project after I go through the book.

</comment></comment></comment><comment><USER20> Thank you for the EPUB version!

</comment><comment><USER21> I bought and read the beta, will read it again now that the final version is out.

</comment><comment><USER22> As a student looking to do some work with Django, this is going to be invaluable! Huge thanks, I've been looking for exactly this since I finished the beginner tutorial!

</comment><comment><USER23> This book's meer existence has made my team's code better. Thank you.</comment>


Cracking Siri - <AUTHOR> http://applidium.com/en/news/cracking_siri/

<comment><USER2> Using an almost amazingly simple procedure a few weeks ago, I worked a bit with @tmm1 on figuring most of this out. We actually got custom commands working via both proxy and on-device interposing based methods: <http://mobile.twitter.com/tmm1/status/131520489049960449>

</comment><comment><USER3> A little googling shows some interesting info about the ACE request/header. From skimming, it looks like a header compression method for VOIP on cell/lossy connections.

Slide deck: [http://www-rn.informatik.uni- bremen.de/ietf/rohc/ace-033100-...](http://www-rn.informatik.uni- bremen.de/ietf/rohc/ace-033100-aus.pdf)

Whitepaper: <http://w3.ualg.pt/~bamine/B3.pdf>

</comment><comment><USER4> Looks like guzzoni.apple.com is named after Didier Guzzoni (<http://www.ai.sri.com/~guzzoni/>), an employee at SRI.

He's also listed on an interesting Apple patent that was only filed a few weeks ago, "INTELLIGENT AUTOMATED ASSISTANT"(<http://www.wipo.int/patentscope/search/en/WO2011088053>).

Some very interesting implementation details there.

</comment><comment><USER5> I'm kinda wondering why Apple bothered using HTTP for something that really doesn't use anything recognizable as proper HTTP. Was it just for HTTPS?

<comment><USER6> Probably so it'll work through strict proxies.

<comment><USER7> Since it's HTTPS, those proxies can't see the traffic anyway, so as long as they used SSL on port 443, they could use any protocol on top.

<comment><USER8> They potentially can; commercial firewalls can man-in-the-middle HTTPS traffic with a locally signed and organization-computer-trusted SSL certificate.

<comment><USER7> Yes, you're right, in fact I found a few weeks ago that even Squid can do that.

<comment><USER9> Fiddler also: <http://www.fiddler2.com/fiddler/help/httpsdecryption.asp>

Great for debugging third party https stuff.

</comment></comment></comment></comment></comment></comment><comment><USER10> The question that springs to my mind is not 'how can I play with this?' but 'Are Apple bringing Siri to the desktop?', seeing as it appears there's nothing specific to the 4S hardware in how this works.

I'd quite like to be able to add calendar entries or tweet without moving to another application.

<comment><USER11> Apple has clearly had a difficult time keeping up with early demand for Siri services as it is.

I think keeping it limited to the 4S looks a lot more like a operational necessity at this time.

Given that, If Siri appears on the Mac between major OS releases, I imagine it might be only for new hardware (i.e. a Macbook Air with an exterior Siri button and purple LED) at first as well.

Eventually (once they can scale Siri well enough), it could be released as a modestly-priced Mac App Store app. I bet it would be more pricy than FaceTime ($0.99 US) though.

I presume that's what they'll end up doing for existing iOS customers, pegging Siri for iPhone 4 and recent Touches at a price that keeps 4S customers satisfied to get early access and/or "free" Siri for the life of their phone.

<comment><USER12> What makes you think thy've had a tough time scaling with early demand? I'd think that this scales horizontally pretty well, given that each request is largely stateless and there's no interaction between users.

<comment><USER13> > each request is largely stateless

Negative. Siri remembers the context of your conversation.

<comment><USER14> But according to this article, the server seems to only translate speech to text, with the whole natural language processing and AI happening on the device.

</comment></comment></comment></comment></comment><comment><USER15> I wonder how Apple is taking all of this? Is Applidium risking their developer license?

<comment><USER16> I would doubt it - there's nothing illegal about reverse-engineering a protocol.

<comment><USER17> Sure, but there's nothing illegal about Apple kicking someone out of the App Store on a whim either.

Doesn't matter if you are breaking the law or not, plenty of legal apps get rejected. Apple sets their own terms outside of US law.

<comment><USER16> Apple has to comply with its contract just as the developers do. I did just check the agreement and either party can terminate with 30 days' notice for any or no reason, so they could theoretically terminate.

Given this is completely out of the scope of the App Store or even the SDK (contrast with the security researcher who got unapproved code executing), however, I don't imagine Apple will feel the need to terminate. I guess we'll just have to wait and see.

<comment><USER18> Apple usually avoids shitstorms or backpedals if they cause one – but sometimes they don't.

It's not unreasonable to assume at Apple won't do anything but it's risky.

</comment></comment></comment></comment></comment><comment><USER19> I didn't see anything in this article that mentions that the natural language understanding is done in the cloud. May be I am missing something, but I don't understand why everyone is jumping to the conclusion that the NLU is also done in the cloud and downvoting other's comments that said so.

From what I've seen, Siri sends compressed audio to the cloud which translates that to text. What happens to the text and how does that translate to action? Where is this being handled? Is there any proof that this is done in the cloud?

</comment><comment><USER20> It'd be interesting to see whether or not Apple changed the Siri protocol since the acquisition. Was this originally how Siri worked when it was independent?

Because Siri has roots in government contracting (it's named after SRI International, and was originally funded by DARPA) I wonder if the roots of the obfuscation start there rather than at Apple.

<comment><USER21> I don't see any obfuscation here, just a compressed binary encoding.

</comment></comment><comment><USER22> Cannot upvote this enough. Stuff like this is the reason I read HN.

</comment><comment><USER23> I wonder if there are any characteristics about the microphone in Apple devices that the servers could check the audio against to prevent this sort of a thing. There should be a way to somewhat distinguish the device used to record a stream given Apple's control over the devices on which Siri runs and overcoming that would be hard enough for anyone to bother.

<comment><USER7> Maybe, but what's the point? If you try to run a service on top of this, you'll have to make so many requests that you'll either have your ID banned or you'll need to buy so many iPhones that you might as well contract a speech- to-text service to some company.

If you're just using it for personal reasons, why should Apple care?

<comment><USER23> What I had in mind were not services but rather Siri clients for non-Apple hardware, which I assume Apple would not be particularly happy about. When Siri comes to iPads and Macs, owners of a much broader range of devices could take an ID and use it, for instance, in an unofficial Siri client (should one be created) on an Android device. But then again, I may be way overthinking this.

<comment><USER24> Probably. Take note of the fact that OS X editions don't use a serial number. You can very easily share them with friends and family and online. Same goes for iWork, however some of the more expensive software does use SN.

If you already bought an iphone/mac/ipad (in the future) that has Siri, then I don't think apple will care much if you use siri on other devices. However what is really useful with siri is where it talks to the os layer and other applications. That kind of integration isn't all that easy to do.

So if someone writes an app with the integration to the os and apps (calendar, sms, phone, phonebook...) and decide to use Siri (illegally), then I think they deserve a medal or soemthing for their hard work for porting the siri front end to another platform.

</comment></comment></comment></comment><comment><USER25> Really interesting. I'm curious what their tools look like but the github repository the article links to is currently empty.

<comment><USER6> They're fixing it soon: <https://twitter.com/#!/applidium/status/136175883055661057>

</comment></comment><comment><USER26> <spolier> guess who doesn't verify the root CA. Think of all the fun to be had with a Siri man-in-the-middle

<comment><USER27> Missing the point, I think. There's no security bug here. The application isn't responsible for verifying the root CA in typical security models (though some, like Chrome, do something similar -- that's how the compromised Dutch CA was discovered). The idea is that the CA list is populated by your platform vendor and you trust it.

The trick here was that Siri was asking for an HTTPS connection to a named server, and you can't MitM that without having a signed cert for that server. So they added a new CA to their local (jailbroken) iPhone platform data and signed a cert for the Siri server.

<comment><USER28> And for anyone thinking about ways to fix that problem, the researchers could have hooked SSL's read/write calls using a DYLD interposing library. Once you get superuser access on the phone, you can't trust your code to be safe.

<comment><USER2> There is no jailbreak for the iPhone 4S (at least not publicly available), so any hacks like this must be done from outside the device.

</comment></comment></comment></comment><comment><USER29> Anyway, this is a proof that siri is a pure cloud service and as such may work even on 5-yo Sagem...

<comment><USER30> Not exactly. The text-to-speech is done in the cloud, but the hard part (algorithmically speaking) is natural language processing, which apparently (I don't know for sure) is still done on the phone.

I don't know what Apple's excuse is though, but limited processing power is certainly not a problem.

<comment><USER31> I think you have it exactly backwards - the iPhone 4S/Siri speech-to- text/natural language processing are done in the CLOUD. The text-to-speech is done on the phone itself. My (non-Siri of course) iPhone 4's Voice Command stuff is COMPLETELY on the phone itself, and would do TtS of my contact list and Artist names, etc.

<comment><USER32> The article says, "The iPhone 4S really sends raw audio data". At least for Siri, TtS occurs on the cloud - not sure where the text processing > API occurs though.

<comment><USER31> Sending raw data and _receiving_ raw data are NOT the same thing. It's been clear that the iPhone 4S sends raw data to the cloud, based on people sniffing the network shortly after release.

</comment></comment></comment></comment></comment><comment><USER33> "Seems like someone at Apple missed something!"

What did Apple miss? (in other words: how could they avoid this, assuming they wanted to avoid such crack)

</comment><comment><USER34> I would LOVE to backward-engineer Siri's speech-analysis algorithms. Confidence scores help, but it doesn't look like any other modeling data is available?

<comment><USER35> That's all happening on the servers, so it's not the sort of thing you'll really ever get access to.

</comment></comment><comment><USER36> Is there a possibility to craft a Siri server reply with malicious code? Shouldn't be too hard for the applidium guys to attempt (maybe even use a fuzzer?)

<comment><USER7> Maybe, but then you need to manually add your own root CA to the iPhone, or the cert verification will fail, so it's not a security issue.

<comment><USER37> Might be a way to jailbreak the phone though, no?

<comment><USER38> Only if there's an exploitable bug in the Siri client.

</comment></comment></comment></comment><comment><USER39> I love reading investigative coding stories. Always fun to take a peek into secret--especially high-profile--code.

Thanks!

</comment><comment><USER40> The remote server is located at apple-compu.car1.charlotte1.level3.net.

</comment><comment><USER41> can the server-side be a watson like computer cluster ? just curious...

</comment><comment><USER42> down for me :(

<comment><USER7> Mirror: <http://pastehtml.com/view/be0jurgda.html>

</comment></comment><comment><USER43> > The iPhone 4S sends identifiers everywhere.

So if I'm reading this right, Apple is sending UDIDs over HTTP?

<comment><USER44> From the article it looks like UDID's are being sent over HTTPS

</comment></comment><comment><USER45> No one is at all concerned that this is a hack?

I know it's interesting stuff, but I'm curious what "rights" Applidium have in publishing this information.

With this information, (if I'm not wrong) it wouldn't take long to simply DDoS Siri...

Or port Siri to Android (effectively stealing IP).

(I have no bias either way, just pointing out, if someone figured out how to reverse engineer dropbox, so you could use their space, without a dropbox account, would we all be going "wow, this is so cool!" or would we be crying out "this is such an irresponsible hack!")

<comment><USER46> Hacks are admired here, not condemned. Reverse engineering should always be allowed. This information doesn't make it possible to DDoS Siri or port it to Android as each request requires a unique iPhone ID; Apple can easily filter out unauthorized requests.

<comment><USER45> "As a result, we are able to use Siri's recognition engine from any device. Yes, that means anyone could now write an Android app that uses the real Siri!"

Are they just lying then?

There demo said they got siri to work with no iphone involved (in the end).

Also... DDoS would still be effective, no? (the server still has to 'filter')

> Hacks are admired here

You sure about that? A lot of China-bashing happens here based around it's 'Hacking' of U.S targets, I've never seen admiration of such things.

<comment><USER46> They're not lying. Anyone could _write_ an Android app that uses Siri, but it would require the ID from an iPhone to work, so _distributing_ it would be problematic.

<comment><USER47> Why would that be problematic? You write a server that provides clients with an iPhone ID that hasn't been banned from using Siri yet, and then you make the app contact that server to get the ID.

I'm sure Apple would send a nastygram, but they send nastygrams if you scratch your phone and don't get it repaired quickly enough. There is no law against telling other people your phone's serial number. There is no law against sending an HTTP request to an HTTP server for non-malicious reasons. So really, I don't see much of a legal problem.

<comment><USER46> Where would you get the valid IDs? You can't share the same ID between very many users, or Apple will ban it. You can't buy an iPhone for every user of your Siri app. iPhone users won't willingly give you their IDs. Are you going to somehow obtain and use the IDs of unsuspecting iPhone users without their permission? That is likely illegal and definitely will get you sued and booted from Android Market.

<comment><USER47> My guess is that Apple will ban an ID after a day or two. My other guess is that you can just keygen the ID.</comment></comment></comment></comment></comment></comment></comment>


What developer advocates do - <AUTHOR> https://www.keyvalues.com/blog/what-exactly-do-developer-advocates-do? <comment><USER2> Something i feel isn't easy to discuss are the possible downsides and tradeoffs of the job. As someone not in the "core product team" of the company its easy to feel left out of the cool kids club. We all want to make cool new things. I have had to constantly remind myself that my value is not best expressed in building stuff in private and in closed source, and its ok to not be involved at every stage of every product initiative in the company.

<comment><USER3> This is a very real problem, and one I learned to deal with for the just under two years I was in evangelism. It was a big shift from 'doing the doing' to trying to influence the doers (product, engineering) from the outside. What I learned though was that I had a unique perspective into customer's needs since I was a partner to them and not trying to sell them anything (thankfully the company backed up this philosophy). Once I learned how valuable that perspective was, I was able to use those learnings to get leverage with the product team to effect change. So while it was a few degrees away from writing the code to make a customer's life easier directly, ultimately I got the same satisfaction from being the customer's advocate. And it made it possible to transition to a PM role.

</comment></comment><comment><USER4> > As a burgeoning field, there are many people who still haven't discovered > what developer advocacy is and some who have already drawn false > conclusions. (To be fair, that's easy to do when you only have one or two > data points.)

Was eager to read this article because that's exactly my experience - I think I only ever met 3 of them and 2 of them didn't shine a good light on the profession, acting quite arrogant at conferences (seems to be pretty common among semi-professional speakers, sadly. When I did it I sometimes had the feeling the people wouldn't even dare to approach the speakers, but I digress..) and doing nothing but trying to sell their employers' products as the best thing ever. Bonus points for acting arrogant if they were new to the company and developers using it tactfully pointed out years-old flaws... [For completeness sake, the third one was pretty awesome and didn't try to sell his company all the time, just giving good talks and being knowledgeable in the field where they operate.]

So yes, maybe the problem is that a lot of them are not developers having used the product for a long time, or being too much on the people end of the role instead of the coding end, or I'm simply wrong :P

But I didn't really feel a lot more enlightened after reading what they do. Maybe I'm also just set in my ways too much where I prefer to communicate with normal developers of said company and not someone who is abstracting stuff away for the masses (blog posts, tutorials).

<comment><USER5> >But I didn't really feel a lot more enlightened after reading what they do.

I did. After all the advice that they don't really need to be expert coders and only need to be able to have conversations about coding, and not actually do much coding at all (let alone serious coding) it's obvious to me that they're paid spokesmen who just happen to have a technical bent. They're supposed to connect the company to coders who don't current work for the company, either for PR or for recruiting.

The answer to the first question really set my teeth on edge. Complaining that most of their job is staying in hotels and waiting in airports? Don't take a travel job then.

<comment><USER6> Or just read some books at airports and hotels and become a smarter person to talk to. Sleep enough so traveling doesn't take a toll on health. People complain a lot when it comes to jobs, cushy ones even. And stay on their smartphones for longer than they should.

<comment><USER7> The airport/hotel stuff is part of the job. I purposely take a day out of my travels though to sight-see, even if the organizers and/or my employer would rather I be at the event every single day networking. This is me caring for my mental health and recharging. I'm an ambivert and I can't go full throttle all the time.

On the note about getting sleep. I make _sure_ I have 8 hours set aside for sleep, and 2 hours set aside for exercise every day. Nothing takes priority over that. Interestingly though, I've read some sleep studies where the scientists have discovered that our brains tend to stay in a more wakeful state when we're in unfamiliar surroundings. Even though I may sleep for 8 hours, I feel like I slept maybe 5 or 6.

IRT coding knowledge, it's definitely slipped, but I'm building on other skills now - it used to take me a week to craft a blog post, I can now do it in a day or two. Presentations would take me weeks to create, I can build a decent one in about a week.

</comment></comment></comment></comment><comment><USER8> Answer: Convince companies that they need to have one.

</comment><comment><USER9> They convince other companies to use their products - basically they are salespersons with a different name.

</comment><comment><USER10> My own thoughts from 2015: [http://brunozzi.com/2015/04/30/on- evangelism/](http://brunozzi.com/2015/04/30/on-evangelism/)

<comment><USER11> :) Hugs

<comment><USER10> Man, good to find you here! How's life? Let me ping you in private :)

</comment></comment></comment><comment><USER12> Very interesting!

I am actually wondering if it would be a good fit for someone(like me!) who is building his developer screencast business on the side.

The only worry I have is that that kind of job would take too much bandwith and leave me with 0 available time / energy fir my side business

</comment><comment><USER13> I actually searched for this exact question just yesterday. In the case of Spotify the "community outreach" part involves policing their otherwise unmonitored GitHub issue pages.

</comment><comment><USER14> note: the url with the '?' at the end, cute... But don't do it.

<comment><USER15> The guidelines allow resubmission if it didn't get traction the first time.

</comment></comment><comment><USER16> Am I the only one to whom "developer advocate" sounds like a career path that's a bit like "dermatologist"? ...in the sense that it's people who went to medical school but didn't quite cut it as REAL doctors?

<comment><USER16> I knew I was going to get downvoted for piercing the warm & fuzzy positive reinforcement bubble here. But the first paragraph of the article suggests that in order to have a career as a developer you need to become something other than a developer. Let that sink in for a moment. If we had a bit of pride in our profession, we wouldn't let that stand as a cultural attitude.

<comment><USER17> Says the data scientist? Pot, kettle. Kettle, pot.

<comment><USER16> As it happens I have always been a data scientist (since before there was a word for it), and being a data scientist implies being a developer. I have never been a developer trying to rebrand himself because he thought it sounded cooler and would be better paid. As a matter of fact the role I'm in right now is transitioning me into more of a pure developer/software engineering role and I don't see that as a step down.</comment></comment></comment></comment>


People who eat 10 portions of fruit and vegetables a day - <AUTHOR> https://www.theguardian.com/lifeandstyle/2017/feb/24/meet-people-eat-10-portions-fruit-vegetables-day <comment><USER2> Plant-based food list I've compiled: [https://github.com/DeBraid/medicine/blob/master/plant- based-...](https://github.com/DeBraid/medicine/blob/master/plant-based- diet.md)

Nutrient density per calorie is the magic formula. High nutrient density, high ANDI scores.

A good video on the topic of plant-based nutrition [https://www.youtube.com/watch?v=BZ8dkLYWrw0](https://www.youtube.com/watch?v=BZ8dkLYWrw0)

<comment><USER3> >Nutrient density per calorie is the magic formula. High nutrient density, high ANDI scores.

The "magic formula" is the problem. There are many approaches to nutrient density scoring and ANDI is among those horribly flawed. Why? I'll defer to someone credible:

> According to the explanation of this ranking system posted on Fuhrman's web > site, he also excludes a number of other important nutrients. The B vitamins > biotin and pantothenic acid, preformed vitamin A, and vitamins K1 and K2 are > among those absent. Major minerals such as sodium, chloride, potassium, > sulfur, and phosphorus are excluded. Essential trace minerals such as > copper, manganese, boron, molybdenum, and chromium are nowhere to be found > in Fuhrman's list. Essential fatty acids like EPA, DHA and arachidonic acid > are likewise absent. Finally, none of the eight essential amino acids is > included in his ranking system. - Chris Masterjohn, PhD Nutritional Sciences > [1]

A bit suspect to exclude essential nutrients from a nutrient score. He also doubles the ORAC (antioxidant) importance, when including ORAC at all is very controversial. Please read [1] for the rest.

A more objective formula [2] will always include organ meats, like liver, at the top. A serving of liver is practically a multi-vitamin and if consumed daily will cause an overdose of vitamin A very quickly.

[1] [http://webcache.googleusercontent.com/search?q=cache:WLAXWpG...](http://webcache.googleusercontent.com/search?q=cache:WLAXWpGUX3YJ:www.westonaprice.org/book- reviews/eat-to-live-by-joel-fuhrman/&num=1&hl=en&gl=us&strip=1&vwsrc=0) [2] [http://ketopia.com/nutrient-density-sticking-to-the- essentia...](http://ketopia.com/nutrient-density-sticking-to-the-essentials- mathieu-lalonde-ahs12/)

<comment><USER4> That's my experience too. When I was a student I have made a linear programming excercise just for fun: to find foodsets with all the required daily nutritions at cheapest price

Basically chicken liver was IT, just a few hundred gramms per day and nearly all requirements are fulfilled. When I've disabled liver, then came some diets much harder to realize: with elements such as 4 kg of oranges a day :)

<comment><USER2> Organ meats are under-appreciated in terms of their nutrient value.

When wild animals kill prey they eat the organs first, then move on to the less nutritious muscle meat.

<comment><USER5> Humans did that too in the hunter-gatherer days.

Especially when killing bigger prey, some organs were consumed by the hunters on the spot to compensate for calories lost hunting(liver/brains/heart?) and the rest of the meat was brought back to the tribe.

</comment></comment></comment></comment></comment><comment><USER6> There are so many things wrong here.

> _10 portions of fruit and veg a day_

You're comparing fruit to vegetables here. Vegetables contain much more flavenoids and micronutrients than fruits (unless you include berries). It's good to replace unhealthy food with a fruit, but health authorities should be wary of allowing fruit consumption to dominate over vegetable consumption (which it mostly certainly will).

I'm not pedantic enough to post everything I have wrong with this, but nutritional authorities need to get with the times.

Being health-conscious is great, but do not just eat "10 servings of fruit or vegetables" a day. Use a nutrient tracker and make sure you're getting what your body needs, and if needed, supplement everything else.

</comment><comment><USER7> I love fruits and vegetables so the only real limiting reagent for me is having enough of them in the fridge. My thoughts:

If you live in a seasonal climate, try to eat in tune with the seasons.

Subscribe to a farmers co-op or some sort of delivery of a weekly box of whatever produce is being harvested now at a nearby farm. This is when I've had the best success eating lots of vegetables. Especially good value are "ugly" produce boxes of "reject" vegetables that won't make it to supermarkets due to insignificant cosmetic marks. Not a complete solution, as you may end up with too many of a vegetable you don't like / need. Less thinking and decision making is better, and I know I'm getting the fresh stuff, and I will be determined to just use whatever I have since I paid for it.

If you have good cooking skills, and maintain "momentum" in cooking often, you will be able to just open your fridge and figure out what to cook based on what you have and how you feel. I find this better and more enjoyable than trying to plan out meals in advance. I find fresh vegetables inspiring. Moreso outside of winter of course.

Blendtec or Vitamix grade blender: you can throw pretty much anything in these and it will blend with minimal water added. Allows you to consume a huge amount of vegetables and fruits.

Soups: soups are so easy to make. Chop whatever you have, add a bit of chicken broth, water, turmeric, chicken drumsticks (optional), salt, pepper and whatever else you want. Usually you'll at least want carrots, celery, ginger, onion and mushroom. Bring to a boil then leave on low for a couple of hours.

<comment><USER8> >the only real limiting reagent for me is having enough of them in the fridge

Most vegetables freeze well, and frozen vegetables are often more nutritious than fresh because they're picked in peak condition instead of early for extra shelf life. They're usually cheaper than fresh too. With the exception of vegetables like onions that don't need refrigerating I mostly eat frozen vegetables.

<comment><USER9> +1 ... Depending on what you're wanting, and where you live. Also, when cooking just for yourself, the mixed veggies allow you to make just enough, instead of having to break down and cut up have a dozen different veggies, and have way too much leftovers.

</comment></comment></comment><comment><USER10> It's really not that hard, a "portion" is quite a bit smaller than you think it is. For instance, a large apple is 3 portions.

<comment><USER11> That terminology really seems more confusing and misleading than helpful then. Also this usage of "portion" kind of conflicts with the usage in advice about "smaller portion size".

[https://www.cdc.gov/healthyweight/healthy_eating/portion_siz...](https://www.cdc.gov/healthyweight/healthy_eating/portion_size.html)

<comment><USER12> Here's what the UK means when it talks about portion size.

[http://www.nhs.uk/Livewell/5ADAY/Pages/Portionsizes.aspx](http://www.nhs.uk/Livewell/5ADAY/Pages/Portionsizes.aspx)

> Small-sized fresh fruit

> One portion is two or more small fruit, for example two plums, two satsumas, > two kiwi fruit, three apricots, six lychees, seven strawberries or 14 > cherries.

> Medium-sized fresh fruit

> One portion is one piece of fruit, such as one apple, banana, pear, orange > or nectarine.

> Large fresh fruit

> One portion is half a grapefruit, one slice of papaya, one slice of melon > (5cm slice), one large slice of pineapple or two slices of mango (5cm > slices).

Note that this is for fresh fruit, and definitely not juices or smoothies.

> Unsweetened 100% fruit juice, vegetable juice and smoothies can only ever > count as a maximum of one portion of your 5 A DAY.

> For example, if you have two glasses of fruit juice and a smoothie in one > day, that still only counts as one portion.

A rough rule of thumb: one portion is what fits in a cupped hand.

</comment></comment></comment><comment><USER13> The people saying it isn't hard are right... it really isn't. What's hard is leaving everything you should be doing for the end of the day, then trying to cram in a whole head of broccoli with dinner. That said, fruit is delicious and nutritious... _very_ nutritious. You have to think about any family risk of diabetes, and frankly think about the long-term health of your teeth.

That said, 10 portions seems like moderation to me, assuming good dental hygiene.

Edit: Oh, and if you're eating that kind of thing, it helps not to eat too much high-salt, high-sugar foods along with them. It's like... trying to look for a rainbow under a floodlight.

<comment><USER14> Yudkin mentioned about dental hygiene in his book Pure, White and Deadly: The Problem of Sugar (1972)

it's the form of sugar that matters.

the sticky (think twinkie) sugar does more damage because it sticks to cavities, fueling bacteria producing acid.

the stickiest, the sweetest fruit i can think of is fried dates. banana comes close.

but fruits don't even compare to twinkie, so don't worry too much about it. chewing fibrous non-sweet veg should be enough to 'brush' teeth naturally. of course brushing your teeth won't hurt

<comment><USER6> > _chewing fibrous non-sweet veg should be enough to 'brush' teeth naturally_

Side-to-side, _maybe._

Check out Miswak, it's an alternative to the toothbrush + toothpaste combo.

<comment><USER8> I've tried it, and it does clean your teeth effectively, but it's harder to use because the bristles point in the same direction as the handle instead of to the side. It doesn't work any better than a normal toothbrush so unless you're using it for religious reasons I don't see any reason to use it.

<comment><USER13> Few people I've met really worry about their dental hygiene beyond their daily brushing. In that regard, carrying around anything that keeps you engaged in that, is a good thing. In the morning and at night though... it's hard to beat a good modern electric brush.

</comment></comment></comment></comment></comment><comment><USER15> Blendtec. One Apple, one pear, couple of oranges, one kiwi and some green stuff results in a smoothie portion that is easy to drink along with morning coffee.

For lunch throw in some cucumber, tomatoes, carrot and peppers and you get a gazpacho (Google for more detailed recipe).

No need to do much chopping, just throw the stuff in and let machine do the work.

<comment><USER16> Putting stuff in a blender removes one of the primary things that makes them healthy: fiber. Or specifically the digestion of fiber. That's the "work" that makes fruit healthy, because it allows for the slow release of the sugar. Once you smash all the fiber, you're just consuming a sugar bomb with some smashed fiber on the backend. At that point, the sugar rush isn't any different than drinking soda.

<comment><USER17> Juicing removes fiber but a blender does not impact the fiber content.

More info: [http://www.nytimes.com/2002/04/23/science/q-a-finer- fiber.ht...](http://www.nytimes.com/2002/04/23/science/q-a-finer-fiber.html)

<comment><USER16> It does not remove the fiber but it changes the structure. The natural structure is like a balloon with good stuff inside. The digestion process breaks down those balloons one at a time and liberates the contents. That process slows down the absorption of sugar. Blending pops all of the balloons so you everything can be accessed/absorbed at the same time, leading to sugar spikes, etc...

<comment><USER15> Sounds plausible, but is this backed by some research and is the quick release of sugars the only issue? Quick googling did not reveal any good information.

</comment></comment></comment></comment></comment><comment><USER18> How much is 7 million annual premature deaths?

I tried googling "Annual premature deaths" to get an idea of how many people die prematurely a year, but it doesn't look like it is a figure that is worked with. The closest I found was that WHO apparently considers the 7 million people who die annually of pollution to be 1/8th of total annual death.

So apparently 12.5% of deaths can be avoided if we ate more fruit and vegetables.

</comment><comment><USER19> Recently, i saw interesting speech about eating habits, by Michael Pollan: [https://www.youtube.com/watch?v=c31cAdYUvT8](https://www.youtube.com/watch?v=c31cAdYUvT8)

</comment><comment><USER20> Let them run 5 km.</comment>


Facebook Completes Rollout Of Haystack To Stem Losses From Massive Photo Uploads - <AUTHOR> http://www.techcrunch.com/2009/04/06/facebook-completes-rollout-of-haystack-to-stem-losses-from-massive-photo-uploads/ <comment><USER2> Bad news for NetApp!</comment>


The 180+ products used by YC Summer 2016 companies - <AUTHOR> https://medium.com/siftery/the-180-products-used-by-the-latest-yc-companies-3da2571a8c#.bkha1ti9t <comment><USER2> Interestingly, the popularity of segment makes it impossible to know which "backend" analytics products the companies are using, since the point of segment is only installing one piece of code.

</comment><comment><USER3> Would be interesting to see a YC versus 500 startups breakdown as well</comment>


Essential LaTeX packages - <AUTHOR> http://www.howtotex.com/packages/9-essential-latex-packages-everyone-should-use/ <comment><USER2> I would recommend everyone look at xspace.

It only has one tiny aim - to deal with spaces after commands.

Given: \newcommand{\S}{Bob} then \S is \S. expands to:

        Bobis Bob.

While: Given: \newcommand{\S}{Bob } expands to

        Bob is Bob .

One can write: \newcommand{\prog}{\textsc{prog}\xspace}. Then we get:

        Bob is Bob.

<comment><USER3> Is there anything wrong with the simple approach of just adding \<space> after the command? For example: \newcommand{\T}{Mike} \T\ is \T. Which will give you: Mike is Mike.

<comment><USER4> The problem with hard coding the space is there are times it is not wanted/needed. I am stealing the following from xpsace documentation.

Input with "\newcommand{\gb}{Great Britain\xspace}":

      \gb is a very nice place to live.\\
      \gb, a small island off the coast of France.\\
      \gb\footnote{The small island off the coast of France.}
      is a very nice place to live.

Results in the output

      Great Britain is a very nice place to live.
      Great Britain, a small island o the coast of France.
      Great Britain[^1] is a very nice place to live.

</comment></comment></comment><comment><USER5> As mentioned in the comments there are some language/font settings that are essential:

      \usepackage[english]{babel}
      \usepackage[utf8]{inputenc}
      \usepackage[T1]{fontenc}

Then alongside microtype the package upquote is useful too (for correct quotes inside verbatim):

      \usepackage{upquote}

If you want to include source code then listings is nice:

      \usepackage{listings}

Also when creating PDF I always check with pdffonts that all the fonts really are Type1. It can happen that you don't have a package installed (such as cm- super), and if you use the default fonts you may end up with a bitmap font embedded.

<comment><USER4> For anyone new coming to latex instead of messing with unicode bandaids and worrying about fonts they can just use xelatex/lualatex and fontspec.

<comment><USER6> Yes. I use LyX and XeTeX for a book I am writing that features at least five or ten different non-western script based languages (Chinese, Sanskrit, Tai, etc.) It's a pain to set up but works very well once you get going. Nothing else worked.

</comment></comment></comment><comment><USER7> My two packages that get used pretty much all the time are biblatex(-chicago) and memoir. Memoir is my friend because it includes so much of the functionality that is otherwise spread across a bazillion packages, _and_ makes sure it all works nicely together.

<comment><USER5> I'm using KOMA-Script (scrbook, etc.), although I looked at Memoir at some point. Both have very detailed documentation, and I don't have strong reasons for choosing one over the other.

<comment><USER4> I have a sense that the coin toss between KOMA and memoir often comes down to which direction, east or west, provides the shortest route to the Atlantic Ocean.

</comment></comment></comment><comment><USER8> The OP also should have included latexmk in the list, which is a build system that runs latex and auxiliary programs such as bibtex sufficiently many times to build a document with correct cross references. It can be configured to rebuild a document whenever any source file changes and refresh a viewer such as evince or xpdf, so you only have to save the .tex file in your editor to see the updated typeset version. I've used LaTeX for years and only discovered latexmk recently, but it has made the workflow much more pleasant.

I've always wished it were easier to define new environments with arbitrary syntax that gets passed to external programs for conversion to LaTeX code while LaTeX is running. A package called dot2texi has that ability for dot code snippets (i.e., AT&T graph visualization tools, dot etc.), and the dot2texi source code shows how to do it in general.

I agree with the comments that Tikz is an amazing package, and I didn't realize until recently that it includes many state of the art graph layout algorithms that are as good or better than dot, with highly customizable features such as allowing the user to specify absolute positions of some of the nodes and letting the algorithm place the rest. It seems the whole section of the Tikz manual pertaining to automated graph drawing is omitted if it's built on a system that doesn't have LuaTeX installed, which is how I must have missed it.

<comment><USER9> A lighter weight approach to latexmk I've recently found is via a Makefile: [https://github.com/ransford/pdflatex- makefile](https://github.com/ransford/pdflatex-makefile)

There's issues - for instance figure updates don't cause a recompile.

</comment></comment><comment><USER10> At some point I started writing my own templates rather than packages. There are LaTeX packages for almost everything imaginable, but it's always been annoying to get a new document up quickly.

So now I have my template repository ([https://github.com/x3ro/x3-latex](https://github.com/x3ro/x3-latex)) which has a very basic init script, which I call like this:

x3-init x3-paper some/folder/

And it creates a complete skeleton for the document, including a tiny build script that transforms the main text body written in markdown to LaTeX (because who really wants to write LaTeX lists and stuff, right?).

My point is that I find such a list of "essential LaTeX packages" quite pointless, especially if it's only ten or so of them. It's like writing a post on the "10 best parts of a motorcycle" or something. There are thousands of awesome packages out there, and creating a repertoire and putting everything together takes time. I'd welcome it if somebody came up with a really nice template repository style thing for LaTeX, though.

PS: My favorite LaTeX package is definitely minted ([http://stackoverflow.com/a/1985330/124257](http://stackoverflow.com/a/1985330/124257)) for syntax highlighting.

<comment><USER4>
      > There are thousands of awesome packages out there

Statements like this are terrible for latex adoption and with all due respect an exaggeration bordering on bullshit. "OMG, I need to learn about thousands of packages to write my paper? Screw that I am using LibreOffice or Word."

I doubt you can come up with a list of 2,000 awesome packages. It looks like CTAN has 1500 packages and a lot of those are obsolete, redundant and/or just plain "not awesome." More importantly I would be willing to bet that the overwhelming majority of users can get by with less than 50 packages. A quick grep of you x3-paper repo and it seems that all of your use cases combined also fall under the 50 packages mark. A new user can get started and produce quality documents with far less than 50 packages.

<comment><USER10> "With all due respect" _sigh_

I might have gone overboard with "thousands of _awesome_ packages", but the CTAN I'm looking at lists 4706 packages from around 2000 authors. I'm not sure how you determined that most of these are redundant and/or obsolete. At least MacTex seems to ship with quite a lot of them (2.3G with 600M optionals).

> I would be willing to bet that the overwhelming majority of users can get by > with less than 50 packages.

When did I claim that this is not the case? Less then 50 packages yes, but not the same packages for all users.. Many packages for many different use-cases.

> Statements like this are terrible for latex adoption

Yeah sure, because the people here at HN will think "Oh no if there are thousands of packages I will need to learn _all of them_ before writing my first document.

I'd say that what's terrible for LaTeX adoption is that it's terrible annoying to write...

<comment><USER4> Why "sigh" at a remark that was written in order to be polite and yet still convey strong disagreement?

</comment></comment></comment></comment><comment><USER11> Since "top 10" is better than "top 9", I'd add TikZ. Ok, you need it only if you need to draw pictures, but it's an incredible tool.

<comment><USER7> "I just need a quick conceptual diagram for my paper." ...10 hours elapse.

I love that TikZ lets you embed graphics right in your document without external dependencies on PDF figures, but I've never been able to build anything non-trivial without quite a lot of effort.

If the OmniGraffle people are listening, I've been buying your product every release since I think about 2003 or 2004. I would love to see clean, approximate TiKZ export (where possible with simple geometries) with janky, verbose PGF as a fallback option when an exact complicated reproduction is required.

<comment><USER11> "I just need a quick 1 page report of my work." ...10 hours elapse using LaTeX rather than word. :)

TikZ is not different that LaTeX in general. It has a hard learning curve, but you gain long term on reuse, structure, versioning.

Also slides in Beamer are a mess at the beginning, but maintaining/sharing/co- working... I personally think it's way easier than with ppt.

<comment><USER4> I agree that the learning curve for tikz and latex is greater than word. However I think it is disingenious to say that tikz and latex are no different when it comes to the initial and/or MWE learning curve. In my opinion tikz's learning curve is steeper. For starters there is no tikz equivalent of:

      $ nano mydoc.md ; pandoc -t latex -S -o mydoc.tex mydoc.md

Pandoc drastically reduces the initial learning curve for latex and beamer.

That being said tikz was one of the packages I thought was noticeably absent from the nine listed packages. The other package that I would add was fontspec, in fact I was shocked to see microtype and not see fontspec mentioned next.

</comment></comment></comment></comment><comment><USER12> What could OP mean in the booktabs section about a necessity in LaTeX's table layout for vertical separators? The linked-to post seems to mean vertical rules (as opposed to inter-line vertical separation), but vertical rules are obviously not required in LaTeX tables. And, some inter-column space typically has to be there.

<comment><USER7> Yeah, vertical rules aren't necessary in standard LaTeX, but I think I get where he's coming from. Most people who grok publication-quality tables are probably using booktabs already, and those who don't are probably overusing vertical rules.

</comment></comment><comment><USER13> My favourite is missing from the list: \usepackage{needspace}.

LaTeX' page-breaking algorithm gets it right most of the time but sometimes a bit of help makes it even better, i.e. a

        \needspace{4\baselineskip}
        \subsection{Something}
        Lorem ipsum ...

tells TeX to insert a pagebreak here if there's fewer than 4 lines of text left on the page, otherwise just carry on. Unlike \pagebreak[n], this is not optional.

\usepackage{refcheck} belongs in everyone's toolbox as well.

</comment><comment><USER14> cleverref is great but I gave up on it after finding how often it's incompatible with journal/conference .sty files

</comment><comment><USER15> Are there any compelling reasons to not avoid latex packaging and installing by using an online tool like sharelatex.com or writelatex.com ? They always seem up to date on latex packages and have a wide variety. I'm admittedly a latex-noob so I've only used it to create a few slides with beamer.

<comment><USER16> Version control and speed are two reasons why I prefer local editing rather than writelatex.

<comment><USER15> Version control is a good feature. I read that sharelatex.com is working on adding git based versioning but currently there's not much information about it.

It seems that there isn't an online editor that currently supports versioning through git/hg, which is too bad

<comment><USER16> I've spent many restless nights thinking about how to best integrate git and a web latex editor. It's a hard thing to do as there is a clash of philosophies. The web latex editors are about making your word processing as simple as possible with minimum required knowledge and effort. Git on the other hand requires a working knowledge of the Git versioning model before you can start doing anything with it. Forcing Git upon unfamiliar users would scare them away.

</comment></comment></comment></comment><comment><USER17> Include "minted" and make that 10! XeLaTeX with minted is a very neat combination.

XeLaTeX allows you to use TTF fonts in your LaTeX document and minted allows you to syntax highlight code. For books/articles, especially by those in the software industry, it'll certainly come in handy!

<comment><USER18> Self Plug

I wrote about Syntax highlighting in LaTeX

[https://sites.google.com/site/jestinjoy/academic/latex/highl...](https://sites.google.com/site/jestinjoy/academic/latex/highlighting- source-code)

</comment></comment><comment><USER19> From stackexchange: [https://tex.stackexchange.com/questions/553/what- packages-do...](https://tex.stackexchange.com/questions/553/what-packages-do- people-load-by-default-in-latex)

</comment><comment><USER20> Is it possible to hire a latex monkey for converting libreoffice documents?

</comment><comment><USER21> XY-pic is also useful for drawing graphs, commutative diagrams, etc. With enough twisting, it could probably be used to create UML diagrams.</comment>


Stacked Approximated Regression Machine: A Simple Deep Learning Approach - <AUTHOR> https://arxiv.org/abs/1608.04062 <comment><USER2> I'm going to check back later to see if anyone manages to reproduce it. Perhaps by the time it's presented at NIPS.

A twitter conversation reflecting some scepticism, but agreeing it would be interesting if it all checks out: [https://twitter.com/fchollet/status/771862837819867136](https://twitter.com/fchollet/status/771862837819867136)

<comment><USER3> I'm less skeptical than fchollet (creator of Keras, for those here who don't know), but agree that we need to wait until the usual suspects at Google, FaceBook, Toronto, Montreal, Stanford, etc. have replicated this. In all likelihood the team will release code soon, either before or after NIPS, so we will all be able to check things out for ourselves.

<comment><USER3> One of the authors, Zhangyang Wang, just wrote this on his personal page: "We have discussed and decided to work on a software package release, perhaps accompanying it with a more detailed technical report in the future. Once the software package is ready, we will update everybody."

[http://www.atlaswang.com/](http://www.atlaswang.com/)

<comment><USER4> Paper withdrawn

[https://arxiv.org/abs/1608.04062](https://arxiv.org/abs/1608.04062)

It's kind of an odd thing. I (random non-academic amateur) actually spent a bunch of time trying to parse the paper, which was kind of a combination of interesting ideas and incomprehensible ambiguities.

One real academic researcher also put some time into it. The good part of the paper is explained here. My guess is the problem is going from ARM to SARM.

[http://gabgoh.github.io/SARG/](http://gabgoh.github.io/SARG/)

While I'm sure most people involved think of the experience as a wash, I feel like I learned a bunch about deep learning in the process.

PS, also sad that the author did this.

<comment><USER5> Hi, I'm the author of the blog post. I added a blurb to the beginning the blog post explaining all the drama, and precisely what claim was made that was withdrawn.

The problem is not in the ARG->SARG approximation, but the bit on unsupervised pretraining. The paper could stand on its own without that section, but without that result it would have been a significantly more mediocre NIPS submission. Hope this clarifies things.

<comment><USER4> First, thanks for the excellent blog, it gave me a better idea what was happening

As far as the ARG-> transformation goes, maybe that's just something I don't get, I can see how one goes from sparse encoding to repeated ARG-type transformations and how this repeated application approximates the solution of a sparse encoding problem. And it is suggestive that these application look like a layers of a neural net.

But when you switch to stacking, what are you doing? Solving one sparse encoding problem then another? What analogy is there to say this works ... or that it would work better than just single sparse encoding? At that point, is it just "try it and see?"

One of the impressions I got from scanning the literature is that deep nets are kind of generally treacherous beasts - just getting a locally 1st layer may not be desirable off the bat. People have settled on backpropagation for very subtle reasons. See "Overfitting in Neural Nets: Backpropagation, Conjugate Gradient, and Early Stopping", Caruana, Lawrence, et. al where backpropagation finds better solutions than the "more powerful" conjugate gradient method.

<comment><USER5> you are right. you are using the output of the previous sparse solution as input into the new one, i.e. stacking sparse coders.

Your second question of why this is a good idea is the million dollar question. Its pretty much "lets try it and see", with some heuristic reasoning thrown into the mix (its mirrors the brain, it abstracts information, etc, etc).

btw, I don't think people use early stopping anymore. It's been replaced by more powerful forms of regularization, such as dropout. The deep learning world is getting more tame, and that makes me happy.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Update on this: it has been withdrawn: [https://arxiv.org/abs/1608.04062](https://arxiv.org/abs/1608.04062)

</comment><comment><USER3> As far as I understand this, these guys claim they can train convolutional and many other types of deep neural nets faster by pretraining each layer with a new unsupervised technique via which the layer sort of learns to compress its inputs (a local optimization problem), and then they fine tune the whole network end-to-end with supervised SGD and backpropagation as usual. They have not released code, so no one else has replicated this yet -- as far as I know.

If the claim holds, the implication is that layers can _quickly_ learn much of what they need to learn _locally_ , that is, without requiring backpropagation of gradients from potentially very distant layers. I can't help but wonder if this opens the door for more efficient asynchronous/parallel/distributed training of layers, potentially leading to models that update themselves continuously (i.e., "online" instead of in a batch process).

I wouldn't be surprised if the claim holds. There is mounting evidence that standard end-to-end backpropagation is a rather inefficient learning mechanism. For example, we now know that deep neural nets can be trained with _approximate gradients_ obtained by shifting bits to get the sign and order of magnitude of the gradient roughly right.[1] In some cases it's even possible to restrict learning to use binary weights.[2] More recently, we have learned that it's possible to use "helper" linear models during training _to predict what the gradients will be_ for each layer, in-between true-gradient updates, allowing layers to update their parameters locally during backpropagation.[3] Finally, don't forget that in the late 2000's, AI researchers were doing a lot of interesting work with unsupervised layer-wise training (e.g., DBNs composed of RBMs, stacked autoencoders).[4]

This is a fascinating area of research with potentially huge payoffs. For example, it would be really neat if we find there's a "general" algorithm via which layers can learn locally from inputs continuously ("online"), allowing us to combine layers into deep neural nets for specific tasks as needed.

[1] [https://arxiv.org/abs/1510.03009](https://arxiv.org/abs/1510.03009)

[2] [https://arxiv.org/abs/1602.02830](https://arxiv.org/abs/1602.02830)

[3] [https://deepmind.com/blog#decoupled-neural-interfaces- using-...](https://deepmind.com/blog#decoupled-neural-interfaces-using- synthetic-gradients)

[4] [https://www.iro.umontreal.ca/~lisa/pointeurs/TR1312.pdf](https://www.iro.umontreal.ca/~lisa/pointeurs/TR1312.pdf)

EDITS: Expanded the original comment so it conveys better what I actually meant to write, while keeping language as casual and informal as possible. Also, I softened the tone of my more speculative observations.

<comment><USER4> The paper itself is fairly sparse but references a number of approaches for more-quickly-learning neural-net-related learning systems from ~2013 (PCAnet, SCATnet,etc).

The paper presents these and other approaches as being instances of a classical, general form, _regularized regression_ but with the "stacked" property involving each layer iterating however many times and then the next layer changing parameters (or features) and further iterating.

From my barely-informed viewpoint, this sounds like a fascinating way to unify the earlier efforts and one which could yield a variety of other approaches - even if the particular variation they use doesn't work out. But I assume lots of more-informed people are going to be looking at this.

<comment><USER4> Note: even though the paper talks about Approximate Regression Machine layers and uses equations that look sort-of like the equations of regularized regression, the layers aren't about regularized regression but about sparse dictionary encoding, a quite different approach.

</comment></comment></comment><comment><USER7> is there a book you can recommend about the fundamentals (like sparse coding) to understand papers like this?

<comment><USER8> [http://www.scholarpedia.org/article/Sparse_coding](http://www.scholarpedia.org/article/Sparse_coding)

<comment><USER9> This was a great read. Thanks.</comment></comment></comment>


The "Google generation" and emerging web behavior - <AUTHOR> http://www.pandia.com/sew/601-google-generation.html

<comment><USER2> quite as a surprise most people are morons...</comment>


Ask HN: Software from the 90's that was ahead of its time? - <AUTHOR> <comment><USER2> Well you didn't really add any context here.

Do you want to see open source software or just software in general?

If its the latter then I'd put a vote in for the Island ECN. [https://en.wikipedia.org/wiki/Island_ECN](https://en.wikipedia.org/wiki/Island_ECN)

The Nasdaq bought them in 2002 and they became the basis for their technology stack. It's where we got lovable names for apis like ITCH and OUCH. They were doing things like distributed computing back before it was cool.

</comment><comment><USER3> Lotus Agenda</comment>


$30,000 eBook Sales. In 2 Months. - <AUTHOR> http://blog.studiofellow.com/2012/05/31/30k-ebook-sales-in-2-months/

<comment><USER2> Congratulations! And good job on tracking your sales closely, it's interesting to see how many sales you got from your guest post on A Smart Bear. Another thing you did better than me is the mailing list, I don't even have one… But I'll fix all that for my next eBook, whenever that is :)

<comment><USER3> Thanks! The fact that we both launched design ebooks on the same day and both succeeded shows how awesome the community is.

</comment></comment><comment><USER4> I hopped on the mailing list for this way back when it was first announced under the impression that it was done or near done.

With each email it became increasingly clear that you/the author had not started at all and were just fishing to see if there was interest first.

This kind of deception under the guise of "market research/validation" pisses me off and lead to an unsubscribe and, consequently, no sale.

<comment><USER5> As you said, gauging interest is validation (recommended by guys like Steve Blank).

I've been guilty of something of the sort, but I made clear that the product wasn't finished (and it looks like the author was as well).

However, it's nice to have a data point of someone who dislikes this approach.

<comment><USER6> I would love to have research done on this. Such as using both approaches on similar product launches simultaneously. One product that clearly states its launch is pure research, and another disguising it.

It would help ease my cognitive dissonance.

On the one hand, I believe people lie about what they'll buy. Whether they lie to us or to themselves, it doesn't matter. On the other hand, I also can't stand this validation tactic. So I hope such research would show it's not necessary to deceive. But if not, I can more easily look past people doing so.

</comment></comment></comment><comment><USER7> Awesome results. I congratulate you, Jarrod. Your book is exactly what I need (I'm a sales geek running a custom software development agency, and I'm design-challenged). I just bought your book via a retweet I stumbled upon yesterday.

Your blog post will also do me a lot of good, since I'm writing a book aimed at tech geeks as well. Thank you for writing it.

</comment><comment><USER8> _"The last couple of months have been strange because I have no idea how to run a profitable business. I'm making it up as I go."_

I had to chortle at that one. Aren't we training people to save money for a 'dry spell' these days? :-)

</comment><comment><USER5> Ironically, the font on the landing page doesn't look well on my Firefox 12.

<http://bootstrappingdesign.com/>

It does look great on Chrome, however.

<comment><USER3> What OS? I'm aware of rendering issue in Windows Chrome because it ignores ClearType settings. Hadn't seen any issues in Firefox though.

<comment><USER5> Windows XP (Spanish), and it's a spanish-version Firefox 12. Maybe some XP settings or something.

It also says "Me gusta" on the Facebook like button :) which is sometimes jarring when mixed with English, but that's because of my default language I guess.</comment></comment></comment>


Do not use fingerprint sensors Period - <AUTHOR> http://blog.onyxbits.de/do-not-use-fingerprint-sensors-period-655/ <comment><USER2> It depends. How about, do not use one step to verify/authenticate/authorise/etc - Period.

Biometrics is not a password, so it should not be treated as one. There are many good advantages of using fingerprint to do something where passwords would not be great. Take for example a public place - do you really want to enter your password/pin when somebody is looking? And with current levels of video surveillance somebody is always looking. I'd rather place my finger on my phone and unlock it. This goes with any method of authorisation - we should focus on making sure people are aware of their strengths/weaknesses, instead of using scare tactics saying something just doesn't work.</comment>


The first web site - <AUTHOR> http://line-mode.cern.ch/www/hypertext/WWW/TheProject.html <comment><USER2> Really cool.

You can also go to the page without the line mode browser emulation: [http://info.cern.ch/hypertext/WWW/TheProject.html](http://info.cern.ch/hypertext/WWW/TheProject.html)

According to [http://line-mode.cern.ch](http://line-mode.cern.ch) that page hasn't even been modified to work in a modern browser - it still displays perfectly as-is!

<comment><USER3> It still gets me the original tags/attributes were all uppercase. Personally, I'm quite thankful that didn't stick.

<comment><USER4> It made sense coming from SGML where you're mostly reading and writing text with an occasional bit of markup. Now it seems some people don't even know that text can appear on a page without first being munged in using the DOM.

<comment><USER5> Allow me to plug my project here to resurrect SGML in all its glory.

Just two days ago, my paper for parsing HTML5.1 in its entirety using SGML [1] has been accepted for the XML Prague conference, if anyone is interested.

[1]: [http://sgmljs.net/docs/html5.html](http://sgmljs.net/docs/html5.html)

</comment></comment></comment></comment><comment><USER6> A few summers ago, my family traveled to Switzerland, ostensibly for hiking, but it was on the heels of the Higgs discovery, and we signed up for a tour at CERN. Among the items in their museum is the computer that ran the first web site. It was a NeXT cube, with a card taped to the side, humbly requesting that it not be turned off.

I'm still amused by the thought of a time when the entire world-wide-web could be brought down by accidentally turning off one computer!

<comment><USER7> Are there two of them? I saw it at the Science Museum in London.

<comment><USER8> There are two of them, but I think they are both at the CERN.

One is displayed to the public, and, IIRC, the other one is in a showcase at the entrance of a lab.

<comment><USER9> I also see it at the Science Museum London in this gallery:

[http://www.sciencemuseum.org.uk/visitmuseum/plan_your_visit/...](http://www.sciencemuseum.org.uk/visitmuseum/plan_your_visit/exhibitions/information_age)

Was it a loan then? It looked like part of the permanent collection.

</comment></comment></comment></comment><comment><USER10> Seems almost completely illegible to me, is that an intended part of the filter effect?

Edit: looks like chrome completely fails to display this font. Firefox handles it well enough

Edit2: Funny quirk, the css rule

       * { display: inline }

actually renders the injected lastpass script at the bottom of the page!

<comment><USER11> Oh...that's what that is. I get some JS thrown in there too.

<comment><USER12> I have some as well, I wonder from which extension, probably Vimium ;)

</comment></comment></comment><comment><USER13> i instinctively went to "ctrl-c" the site after typing in a couple numbers...

</comment><comment><USER14> Sadly many of the links are broken.

If I was part of a university IT team and our site was linked to from the first webpage ever, I would at least make sure there was a redirect to a working page.

<comment><USER15> Actually, that this could happen (and did routinely) was seen as resilience by TimBL, a feature that allowed anyone to work on their own stuff without having to ask for permission. Having software that could have imperfection was what made the original idea revolutionary. The tone was more encyclopedic to encourage researcher at the time to contribute and update their link when they knew the target was changed, but they could very well not do that.

That first web page still exists because of the emotional value, but the pages this was linking to (or pages those were linking to, etc.) lost their interest at some point. That's natural.

</comment></comment><comment><USER16> Maybe I am missing something, but how is this the first web site when it has css and javascript, which were brought about in 94-95, when the page claims it was published in 1992.

In clicking around, most of the page is the "original" but not sure about the line mode part. Thoughts?

[http://first-website.web.cern.ch/blog](http://first-website.web.cern.ch/blog)

<comment><USER17> They try to give us not just the content, but also the look and feel of the display at that time, I think. Therefore there are CSS and JavaScript.

</comment></comment><comment><USER18> ibiblio also hosts a site claiming to be the world's first[1]. Berners-Lee used it as a demo at Hypertext '91\. [1] [http://www.ibiblio.org/archive/2013/07/forbes-unc-and-the- ol...](http://www.ibiblio.org/archive/2013/07/forbes-unc-and-the-oldest-web- page-we-have-the-last-here/)

</comment><comment><USER19> This seems less like a website and more like a webbified gopher[0] protocol client-server experience. View source red flashing light: no <CAPITALS-ONLY- TAGS>. This is heavily massaged.

[0] [https://en.wikipedia.org/wiki/Gopher_(protocol)](https://en.wikipedia.org/wiki/Gopher_\(protocol\))

<comment><USER20> This page seems like a modern re-creation of what experiencing the original page on the original software and machines was like. The plain original page is at [http://info.cern.ch/hypertext/WWW/TheProject.html](http://info.cern.ch/hypertext/WWW/TheProject.html).

</comment></comment><comment><USER21> Reproducing the animation effect and terminal functionality on a website today wouldn't be that straight forward :-D

</comment><comment><USER22> So the very first web site already adhered to that pernicious habit of not dating online documents properly ;)

</comment><comment><USER23> Woah, this is a great deal snazzier than the first US WWW site. [http://www.slac.stanford.edu/history/earlyweb/firstpages.sht...](http://www.slac.stanford.edu/history/earlyweb/firstpages.shtml)

</comment><comment><USER24> LMB project: [https://github.com/cern-hackdays/lmb](https://github.com/cern- hackdays/lmb)

Perhaps I'll submit a pull request to auto-focus the prompt!

</comment><comment><USER25> For anyone getting a bunch minified js/css written out in line mode rather than the actual first website: turn off your browser plugins/extensions :)

</comment><comment><USER26> Doesn't seem to support Safari. The first web site ever surely didn't print anything about "@-webkit-keyframes" on the screen!

</comment><comment><USER27> I was initially surprised to see a bunch of LastPass Javascript at the top of the page.

</comment><comment><USER28> Actual "css, fonts, js" folder structure. Long time no see

</comment><comment><USER29> I would love to see that integrated into Archive.org!

</comment><comment><USER30> On opening this thread in HN client "Materialistic" app. It crashes on its own. Is it happening with any other hn clients too? What's the reason for it?

</comment><comment><USER31> We've come a long way!

</comment><comment><USER32> nice to see the concept of hypermedia so early in the text

<comment><USER33> I am just finishing _The Innovators_ by Walter Isaacson (the guy who also did Jobs' biography) and it did a good job at tracing the threads of theoretical information management systems through to their practical manifestation via the invention of the web by Berners-Lee. It's a decent read and I'd recommend it if you have an interest in the history of computing as a whole and how the various ideas and concepts that came to shape how computers exist today were first born then later realised.

</comment></comment><comment><USER34> The WWW has just f* up the humanity. Exiting from the WWII we had some hope in the future. Everything is lost now.</comment>


Show HN: Wifis.org - making WiFi networks 'social' - <AUTHOR> http://www.wifis.org/ <comment><AUTHOR> A friend of mine built this as an evening side-project and launched it about a year ago.

With pretty much no effort, it got picked up by theNextWeb, RWW, BoingBoin and others: <http://www.wifis.org/p/press>

He only told me about it today and I haven't seen it on HN before, so I told him the Hacker News community would be a good place to get some feedback.

He hasn't tried monetising it yet, but I'm trying to convince him there is something there. In my mind it could be the 'AirBnB of WiFi networks'. What do you think?

</comment><comment><USER2> This has potential but it needs more focus. Instead of making it so open ended (i.e. Want to grab a beer? -- which is kind of creepy), make it very specific. This is a service for allowing neighbors to easily share Wifi. It helps subsidize your wifi costs, etc.

You may already be doing this, but then you need to add/build the following:

\- A way to actually take/manage payments from your neighbors.

\- A way to manage access to the Wifi network (it's kind of like Lockitron for your wifi network in this way)

Once you have the idea simplified and the tools required to make this work end-to-end, as a potential user I'd rename my network to "RENT ME: Awesome Wifi Network" and see what happens.

Food for thought!

<comment><USER3> I believe that with nearly any ISP you're contractually prohibited from sharing your home internet connection with neighbors or anyone outside of your residence, so creating a service explicitly designed to do this is a bit of a grey area.

<comment><USER2> Grey areas are great areas to start a business, or at least a cool project!

<comment><USER4> I'm fairly confident that this is not a "grey area". When something is specifically prohibited in a legally binding document that you agreed to / signed it is not "grey" it is, quite literally, "black and white". And, as the other posters have pointed out it is almost always specifically prohibited.

<comment><USER5> I don't know about you, but I've never signed a contract for residential Internet access. I just call them up and give them a credit card number and a few days later have a box with a live Ethernet port show up in my apartment.

I'm sure they could cut me off if they didn't like what I was doing, but they could cut me off at-will so it's not worth trying to read their mind.

</comment></comment></comment></comment></comment><comment><USER6> Fairly obvious practical detail --

I'm at someplace new, where I don't have internet. I see if there are any open networks, no dice, but I see an encrypted network as www.wifis.org/poop. I think "oh, great, maybe my neighbor is friendly and I'll just go ahead and emai-- wait, I don't have internet, so I can't even visit the link."

Later I'm at a coffee shop seeing if FiOS is available in my area or double checking whether or not I live in Kansas City, and I think "oh, right that URL", but by then it's already disappeared from my SSID list.

Who's gonna have the forethought to write the URL down?

Explicit instructions in the SSID itself might encourage people to jot something down when they do finally get internet access. SSIDs are limited to 32 chars. The best I could come up with was:

      ask me for access:email@example.com

Of course, even better would be to do something clever like -- make an SSID called "Friends in Building Wifi", that's open access. Upon connecting, you get pushed a page that says "Want to share my bill? Send me a message with this form". The message then gets passed on to you, and then you can go walk downstairs and chit chat, or whatever. This way your neighbor can message you without requiring internet to do so, as wifis.org does. (And then, naturally, put your actual internet on a different WPA2-protected SSID.)

</comment><comment><USER7> This is a good idea. The market is fairly small (people who are both tech savvy enough to understand what's going on and altruistic enough to want to participate), but that's ok.

I see very clear benefits over just putting your email address in your SSID. 1)Anonymity 2)Users may learn to trust the wifis.org brand. People can leave feedback about you on the site. I kind of see it as a couchsurfing for wifi.

That being said, I wouldn't bother trying to monetize. It can't cost him more than a few bucks a month to run this and unless he changes the product a bit (either provide higher value or larger market), I don't see monetization being particularly successful. Right now it is a great resume builder and a way to promote other projects that may be more lucrative (e.g. "Hey remember the guy from wifis.org, well now he's working on X"). If he's really worried about the hosting costs, he can put a donate button on the page.

</comment><comment><USER8> It's a clever idea. I'm not 100% sure I'd use it because I'm not totally sure what the benefits are vs the potential downside (spam? e-mails saying LET ME USE UR NETWORK QUICKLY PLS). Maybe I'm too cynical, though.

<comment><USER9> Personally I like the anonymity of funny SSIDs. This just seems slightly desperate (not helped by the example on the landing page: _"I just moved into this building and saw your Wi-Fi. Want to grab a beer?"_

I really do want to like this idea, but I just can't see the benefit of it. Worse still, there's nothing to stop me adding my own e-mail address to my SSID and short-cutting wifis.org entirely.

That said, the concept has potential, but I think it needs to branch in a slightly different direction. Maybe the site can be used to search for people who offer up their wireless as free hotspots. Or have interesting intranet services (eg clubs could have some of their local bands content available to download, but only from their Wifi intranet for wifis.org members). At least then they've created an infrastructure where a community can grow in a way similar geotagging. As it stands, I suspect people will sign up and then forget about this service in a couple of weeks time. Which is the opposite of how social networks grow (where people are encouraged to return frequently).

Actually, I might set up that wifi geotagging idea myself...

</comment></comment><comment><USER10> How does it compare to <http://www.fon.com/> , <https://en.wikipedia.org/wiki/FON> ?

<comment><USER11> It's completely different. FONERA aims at creating a global network of free wifi everywhere. To participate you need to buy a FONERA router. Wifis.org is simply a way to communicate with the wifi network owner. You just need to rename your SSID and your neighbors can now email you.

<comment><USER10> Oh, haha. I wouldn't have guessed something that simple.

People could just name their network after an e-mail address if they wanted to be contacted..

</comment></comment></comment><comment><USER12> What's the advantage over renaming my network to "@mikeash", "twitter.com/mikeash", "<http://mikeash.com/>, or similar?

<comment><USER13> privacy and ease of use?

<comment><USER12> Privacy I could see, although it would be very easy to set up a new account just for my wifi if I was concerned about that. But ease of use? How is setting something up on a new web site easier than just using what I have already?

<comment><USER13> Ease of use in the sense that you don't need to monitor an additional twitter account or create a mail redirection to your email to receive messages.

</comment></comment></comment></comment><comment><USER14> It seems like an interesting idea. But without wifi access, it's hard to visit a page to send an email.

<comment><AUTHOR> I guess the idea is that you note it down and then message them from work. Or maybe you can do it using 3G on your phone, so that you get get on to WiFi with your laptop.

<comment><USER14> While true, it's definitely an inconvenience; especially for one-off uses of wifi.

</comment></comment></comment><comment><USER15> interesting idea, but how can the user contact the owner when he currently doesn't have an active internet connection ?

I guess the user has to contact the owner from a different device that has internet access.

and why not just rename my SSID to firstname.lastname@example.com ?

How about some software which actually lets the other person with no internet access contact me ( via WiFi ), of course security should be taken care of .

<comment><USER16> That's an interesting point. Of course it would be more complex, but it does seem like a good idea to go a step further and provide a WiFi landing page to have the contact form on.

</comment></comment><comment><USER17> i have an open wifi that my neighbours can use. the biggest problem is establishing consensus about how it should be used.

what i _intend_ is that anyone can use it, particularly for emergencies, but that you don't use it so much you damage my performance (or break the law).

i kind of assumed that was obvious. but in practice i need to ban someone about every 6 months. i just use the mac address to drop everything except port 80 tcp, which gets sent to a "you were banned because..." page.

that works fine - people aren't smart enough or motivated enough to work round the mac block - but it's too late, in that the person has lost all access as part of learning about the expected use.

so, anyway, for me that's what needs to be solved here - educating users about what is acceptable use of open wifi. i'm not really sure this solves it (i doubt people will actually look at the url in the ssid).

<comment><USER18> What I would do in this case is set up a eula that they need to accept in order to use the wifi. Even consumer-level routers can do this, if not out of the box than with Tomato/DD-WRT

<comment><USER17> thanks, that's a good idea. the historical accident of how things ended up connected as they are means it's non-trivial to do right now. but i guess i should have it as a long-term goal.

[edit: i do understand what you mean; but currently this is implemented just as a wifi endpoint (no router - just wifi) on an internal network and some iptables rules.]

<comment><USER19> Hotels have that already. Drop all traffic except web, then route that to an authentication or EULA page, set cookie, etc.

</comment></comment></comment></comment><comment><USER20> This makes so much sense in high-rise apartment buildings where everyone has their own cable connection and wireless router. The cable companies don't want you to share your connection -- they want everyone to pay up. But sharing is much cheaper for end-users. Good luck with this, smart idea. Incentivizing broad adoption is the hard part. ;)

</comment><comment><USER21> Is there any limit to what type of info you could place in the 32 byte SSID field? It could be an email address. It could be some other plain text. It could be encrypted text. It could be a public key. It could be a 32 byte "blog". Or a 32 byte "tweet". Use your imagination.

On your mark, get set, file your bogus software patents!

</comment><comment><USER22> Neat idea. Here's another I've been stewing on for a while: give every wifi point a wall/chatroom that's only writable (and maybe, only readable) by people using the same public (behind-NAT) IP address.

One problem with SSIDs for messaging is how their display is often truncated. (iOS's wifi screens are a bad offender here.)

<comment><USER23> Sounds like <http://www.wifichat.net>

<http://news.ycombinator.com/item?id=4497623>

</comment></comment><comment><USER24> Several years ago I set my AP name to one of my email addresses with the express purpose of being able to share WiFi if someone needed brief internet access. No one has ever contacted me about using my WiFi. Perhaps I needed to name it "Want WiFI? email me ..." to make it clearer.

<comment><USER25> Perhaps people couldn't email you without WiFi...

</comment></comment><comment><USER26> Having the ssid as a url is a nice idea. Instead of charging neighbours to use your net, perhaps it could be used to collaborate a mesh net or something?

Edit: Hey, the meshnet project is really taking off... <https://projectmeshnet.org/>

</comment><comment><USER27> Someone should start making me social, instead of making my wifi...

</comment><comment><USER28> I don't understand why?

<comment><AUTHOR> what do you not understand?

<comment><USER28> Why would I want my WiFi to be contactable?

<comment><USER16> A lot of people don't talk to their neighbours. This has the potential to have lots of social benefits. You could contact people in your vicinity about lost pets, garage sales, etc. beyond just sharing a wifi connection. Maybe you could even help a neighbour have a better connection by letting them know that they should change their WiFi channel.

<comment><USER28> There must be a better way to do that.

</comment></comment></comment></comment></comment><comment><USER29> You could just put some piece of contact info in your ESSID?

<comment><USER30> Two problems with that: 1) You and your WiFi don't stay as anonym as with wifis.org 2) The "neighbor" seeing eg an email as a SSID get's no explanation why you did this

<comment><USER9> I don't think it takes a doctor of human psychology to work out why an e-mail address has been used as an SSID.

</comment></comment></comment><comment><USER31> I got a few of my friends to sign up using the invitation link, but have not received my extra WiFi IDs. I can't find any way to contact WiFis.org, either.

</comment><comment><USER32> If you built a way for people to pay each other into this (like Stripe Connect, for example) this could be interesting.

</comment><comment><USER33> this is a very bad idea! Since the concept of "Störerhaftung" got introduced (interferer accountability), the account holder will be held liable for copyright infringement.

This is not hyptothetical. It happened to a friend of mine, she has to pay around 1500€ I think.

<comment><USER34> I really wish some service (such as Fon) would provide a vpn service that I could setup and automatically route all guest traffic through. This way Fon could establish themselves as an ISP, and be protected legally (common carrier), and I wouldn't have to worry about what people are doing with my wifi.

I've also though about setting up a guest network that routes over Tor. This way none of the traffic could be traced back to me.

Basically, I would love to provide free wifi for neighbors to use that is limited to a few mbps, but I don't want to have to deal with the legal risks associated with this.

</comment></comment><comment><USER35> need to connect this with Karma <https://yourkarma.com/></comment>