Pirate Bay co-founder aims to launch surveillance-proof messaging app Hemlis - <AUTHOR> http://thenextweb.com/apps/2013/07/10/hemlis/

<comment> mike-cardwell This sounds like a worse version of [https://www.surespot.me/](https://www.surespot.me/)

Surespot is open source (including the server software too), and doesn't charge you money for "advanced" features like sending images.

And surespot actually exists and is usable today.

Donate your money that way instead: [https://www.surespot.me/contribute.html](https://www.surespot.me/contribute.html)

(not affiliated, just a very happy user)

[EDIT] He details exactly how it works here: [https://www.surespot.me/documents/how_surespot_works.html](https://www.surespot.me/documents/how_surespot_works.html)

<comment><USER2> Or Gliph. Which is far slicker than all of those combined.

Although, not OS I believe, sadly.

[https://gli.ph/](https://gli.ph/)

<comment><USER3> I use Gliph pretty much daily, and have since I first read about it (on HN) almost a year ago. Great app.

<comment><USER4> that is awesome. thank you.

</comment></comment></comment></comment><comment><USER5> Just adding another open-source (Android only, for now) competitor from WhisperSystems (Moxie Marlinspike), including a secure-voice app:

[https://whispersystems.org/](https://whispersystems.org/)

[https://github.com/WhisperSystems](https://github.com/WhisperSystems)

Moxie is supposedly working on an iOS version. The Android version is fairly seamless and can still contact users not using the app -- wire insecure. The local storage is encrypted, regardless of your contact -- again, you run the risk of wiretapping, if the other end does not share the use of the app.

<comment><USER6> Ever since the cryptocat fiasco I'm quite wary of trusting these kind of apps, that seem to be appearing like mushrooms lately. Can anyone with any crypto know-how comment on the security of WhisperSystems?

<comment><USER5> I'll let the crypto guys comment, but my understanding is that Moxie is no pushover in that arena.

The following are the protocols used by WhisperSystems:

[https://github.com/WhisperSystems/TextSecure/wiki/Protocol](https://github.com/WhisperSystems/TextSecure/wiki/Protocol)

[https://github.com/WhisperSystems/RedPhone/wiki/Encryption-P...](https://github.com/WhisperSystems/RedPhone/wiki/Encryption- Protocols)

</comment></comment></comment><comment><USER7> ....why not just run OTR on top of Jabber? It's pretty surveillance proof and they are applications for iOS/Android that support all of that.

I fail to see the point.

<comment><USER8> > why not just run OTR on top of Jabber?

Indeed, on the face of it hemlis looks like a step backwards. There's a chance it might not be, though.

The most straightforward way for them to combine PGP + XMPP would be to encrypt and sign every message with the parties' static PGP keys. If you do that, you lose both the perfect forward secrecy and repudiability you get with OTR. [0] Those are important properties.

However, if they're planning to derive ephemeral keys for each conversation, as suggested by tptacek [1] and others, then things get more interesting.

OTR + Jabber still seems weak to me in two areas:

1\. OTR's solution to the authentication problem is for the two parties to agree, out-of-band, on a shared secret [2]. I don't think normal users are going to do a good (secure) job of this. Key introduction through a web of trust, aka PGP, would make for a better and more secure user experience.

2\. The reliance on a central server brokering messages is a problem. In fact the authentication in OTR version 1 was so broken that a jabber server plugin existed for MITM'ing OTR conversations [3]. Also, as another commenter points out, with a central server an agency might still be able to collect Verizon- style conversation metadata. I'd rather see something p2p along the lines of freenet or i2p.

Finally, I'm not sure what their plans are for hemlis, but there's no way I'd use a closed-source app for secure messaging. And I don't think it solves the world's problems -- we need to be able to trust this thing. That's the whole point.

[0] [http://www.cypherpunks.ca/otr/otr- wpes.pdf](http://www.cypherpunks.ca/otr/otr-wpes.pdf)

[1] [https://news.ycombinator.com/item?id=6004510](https://news.ycombinator.com/item?id=6004510)

[2] [http://www.cypherpunks.ca/~iang/pubs/impauth.pdf](http://www.cypherpunks.ca/~iang/pubs/impauth.pdf)

[3] [http://www.ejabberd.im/mod_otr](http://www.ejabberd.im/mod_otr)

<comment><USER9> If the problem in OTR is we can't rely on users to verify who each other are, then any solution is going to inherit exactly the same problem because the only solution to it is external trusted parties.

On top of that, PGP is exactly a step backwards if you're worried about just observation of metadata because PGP with web-of-trust cryptographically ties every message you send forever back to the key which sent it. OTR on the other hand treat the keys as inherently disposable and relies on the only correct verification protocol which is user knowledge of each other.

You have to choose which problem you find more important: either you can be very anonymous, or very sure of who you're talking to but never both.

<comment><USER8> > _If the problem in OTR is we can 't rely on users to verify who each other > are..._

Not what I'm saying here. I think the specific way they've chosen to verify a new party in OTR -- by agreeing on a shared secret through some other channel -- is a bad user experience with security implications. Normal people will choose dumb, guessable secrets. Or send them over insecure channels.

I think the equivalent of an in-person PGP key signing has a better chance of succeeding. If we're talking about an app, one person's phone could display a QR code of their pubkey, and the other could scan that in to import it.

As with PGP, once the web of trust has a backbone (composed of hardcore early adopters like us here on HN), you can skip the in-person step, and trust keys that enough of your contacts trust.

OTR doesn't have this network effect.

> _The only solution to it is external trusted parties._

Sure. But _who_ those external trusted parties are is the crux of the issue.

Is it a browser maker and a couple companies you don't get to choose? Who are perhaps cooperating with some government (hey, it's happened)? Or is it people you actually choose and choose to trust?

> _On top of that, PGP is exactly a step backwards if you 're worried about > just observation of metadata because PGP with web-of-trust cryptographically > ties every message you send forever back to the key which sent it._

I mentioned this in the grandparent: with PGP, you could also derive ephemeral keys for the conversation, as OTR does.

> _You have to choose which problem you find more important: either you can be > very anonymous, or very sure of who you 're talking to but never both._

Not so. You can both be anonymous from the man-in-the-middle's perspective, but can also verify each other. Look at how OTR does it. The "Socialist Millionaire's Protocol."

[http://en.wikipedia.org/wiki/Socialist_millionaire](http://en.wikipedia.org/wiki/Socialist_millionaire)

</comment></comment></comment></comment><comment><USER10> This is a terrible thing that they are trying to cash in on a closed, centralized solution based on proprietary GUI for only iOS / Android. I'm very disappointed and thought the TPB guys would no better. Sad day... Worst part is that people will fund them withing 24h!

But I guess just like 1 in 2 Kickstarter project, it's a quick sell so you can eat, but this brings nothing to the security/privacy table unless they come clean...

</comment><comment><USER11> I agree with everyone that this should be open-source, but at least this has one benefit over the other proprietary solutions out there: This is not just a secure messenger, but also a beautiful one. If you want to convince - and I do - those who use Facebook Messenger and iMessage and don't necessarily consider their privacy, it needs to have a great user experience on top of the technical foundation. On the other hand, if it gets that and ends up being open-sourced, it would be a great fit for Aral Balkan's Codename Prometheus: [http://aralbalkan.com/notes/codename- prometheus/](http://aralbalkan.com/notes/codename-prometheus/)

</comment><comment><USER12> I wonder how that can be "surveillance-proof". Even with e2e-encryption any product using central servers can still see who is chatting with whom, who's in your address book and what IP address your phone is connecting from. That's exactly the meta-data Verizon got accused of sharing. They might be of The Pirate Bay-fame and not share this with the NSA voluntarily, but they're not immune to being hacked or infiltrated.

<comment> mike-cardwell Orbot (Tor for Android) allows you to host hidden services on your phone. My ideal IM app would be one which uses Tor to enable peer to peer delivery of messages over Tor hidden services directly between phones.

This way, not only would the message content be safe from pyring eyes, but nobody would be able to see who is talking to who or when.

<comment><USER12> I totally agree! I've been working on federating XMPP over hidden services ([https://blog.thijsalkema.de/blog/2013/06/11/xmpp- federation-...](https://blog.thijsalkema.de/blog/2013/06/11/xmpp-federation- over-tor-hidden-services/)), but I don't give a setup like that any chance to be possible on iOS.

<comment><USER12> The end goal is to package Tor + this + an XMPP server (Prosody) into plugins for clients. It'd be a federated network running through Tor, but any XMPP- capable client will be able to use it.

Sure, you need to rely on Tor, but aside from that anybody could set up their own server easily (no hassle with DNS and SSL certs).

</comment></comment></comment></comment><comment> m-app If you want this functionality now: [http://threema.ch/en/](http://threema.ch/en/)

<comment><USER13> Exactly.

You have SMS style messages (text, images, offline support) that are end-to- end encrypted (verifiably, despite being closed source). iOS and Android; group chat coming; desktop coming; Interesting feature that aids in authentication (scan each others' QR code for auth, etc); $2.

While it has more attack surfaces than OTR, it's 10x more convenient: No need to agree to anything before-hand (most likely insecurely), no need to keep anything running (offline support via threemas servers which only see metadata and ciphertext); no setting up jabber services. This is a nonstarter for unsophisticated users (whom we desperately need to help flood NSA with ciphertext, and whom I rather chat with in anything but plaintext).

While not as battle tested as GPG, it's trivial to set up -- already got my tech friend, my non tech mom, my non tech cousin on it. Has forward secrecy. I still haven't figured out Inline PGP vs S/MIME vs PGP mime. Neither has K9Mail + APG apparently. I hope soon to be recommending bitmessage over email/GPG.

I wish, oh how I wish, there were a way that open source projects could charge $2 bucks and be continually improving their services and solving both the engineering and usability of crypto products. Now or never folks: The next NSA scandal might be too late.

</comment></comment><comment><USER14> This clearly highlights one of the big challenges for mass market surveillance proof apps - there are too many obscure alternatives (unless one counts iMessage as one of them). Getting the critical mass of users (similar to what Whatsapp and Line accomplished) will be a huge challenge.

</comment><comment><USER15> I seriously think a software like this should most definitely be open source for it to be trustworthy.

</comment><comment><USER16> Needs to be an open protocol. Not just a pretty app.

<comment><USER17> Well it's supposed to be using XMPP and PGP, so that's fine. My complaint is that it needs to be open source. Closed-source crypto is no good.

<comment><USER18> Why not OTR? Not having perfect forward secrecy seems to be a big hit in a situation like this.

</comment></comment></comment><comment><USER19> No more re-inventing the wheel!

BitMessage!

[https://bitmessage.org/wiki/Main_Page](https://bitmessage.org/wiki/Main_Page)

<comment><USER20> BM has serious problems. Currently everyone receives every (encrypted) message. This doesn't scale when there are 100.000 messages a day.

They are currently trying to find an appropriate stream implementation.

<comment><USER19> I agree, it needs some work. There is no sense in trying to fund yet-another- encrypted-messaging-application when other designs could use the help. The one linked here doesn't even say if it will be open source or free or subject to independent code audits, etc.

</comment></comment></comment><comment><USER21> Strangely enough, trying to click through to heml.is complains about security certificates in Firefox. Not Chrome though. Anyone else seeing this?

</comment><comment><USER22> This is probably a rookie question, but how is this surveillance proof, and how would it be different from iMessage? The article mentions "Apple recently publicly stated that its iMessage service is encrypted end-to-end". Isn't something that is encrypted end-to-end surveillance proof?

<comment><USER8> First off, iMessage isn't open source, and Apple hasn't published details of the protocol either, so we don't know if their statements on the security of iMessage are actually true.

Even without knowing all the details, there are some concerning things we can observe about iMessage:

[http://blog.cryptographyengineering.com/2013/06/can-apple- re...](http://blog.cryptographyengineering.com/2013/06/can-apple-read-your- imessages.html?m=1)

<comment><USER22> Makes sense. Thanks. Surespot is open sourced, is there any indication that Hemlis is or will be?

<comment><USER23> They haven't decided yet, and it's not their priority (so it might never become open source).

</comment></comment></comment></comment><comment><USER23> CyanogenMod and Moxie are working on something similar, I believe - end to end encryption with PGP, but it may work with more than just one chat app:

[https://plus.google.com/+CyanogenMod/posts/23vfN2qdZTu](https://plus.google.com/+CyanogenMod/posts/23vfN2qdZTu)

[https://plus.google.com/+CyanogenMod/posts/jnZSBV96wxU](https://plus.google.com/+CyanogenMod/posts/jnZSBV96wxU)

</comment><comment><USER24> Why is this any different than Gnutella or I2P chat clients?

<comment><USER25> Because they have realised that it will be worthless if it can't get any marketshare.

</comment></comment><comment><USER2> This project wouldn't need $100,000.

</comment><comment><USER23> I wish Google would just do something like this themselves with Hangouts.

I don't even think they aren't doing this because they plan to offer ads related to Hangouts chats or whatever. I think it has more to do with the "features" of Hangouts, such as saving your logs - forever. Think of it like how Facebook wants to keep all the data forever so they can do something like the Timeline.

I get there can be some benefits if the chats run through their servers and everything is stored, but I'm not sure they are that huge, especially now, when all governments are seeking direct access, or to scoop up everything from all users. I think that's why Google's priority in the future should be end to end encryption for users, for most of their services.

I also hate that because governments are abusing their powers, we are forced to regress on convenience and make the services "worse" so we can be more secure. But who knows, maybe this is for the best, and the Internet is meant to evolve into something a lot more locked down and secure.

</comment><comment><USER26> I will never use this.</comment>


Unsupervised Feature Learning and Deep Learning: A Detailed Tutorial (2013) - <AUTHOR> http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial <comment><USER2> This is a great resource, and I'm sure it may have improved in the three years since I last looked at it. There was also a HN submission from back then that has some interesting discussion:

(167 points, 1018 days ago, 16 comments)

[https://news.ycombinator.com/item?id=5769646](https://news.ycombinator.com/item?id=5769646)

<comment><AUTHOR> Aah yes, I was wondering why such a good resource hasn't come to anyone's attention over here yet. Thanks for the link!

</comment></comment><comment><USER3> I believe this is the updated version.

[http://deeplearning.stanford.edu/tutorial/](http://deeplearning.stanford.edu/tutorial/)</comment>


NZ startup launches world-first long range wireless power transmission - <AUTHOR> https://emrod.energy/press-release-nz-start-up-launches-world-first-long-range-wireless-power-transmission/ <comment><USER2> This could be great for emergency and temporary systems, and it seems that their current products cater for that market.

But for actual grid transport I think one important parameter is line loss. I'm not sure how their system compares on this...</comment>


Could a "Bear Raid" have caused the '08 market crash? - <AUTHOR> http://boingboing.net/2011/12/21/complex-systems-institute-clai.html

<comment><USER2> The possibility that something like this happened is pretty obvious to anyone who understands how the sausage is made on Wall Street. Yes, people can and do conspire behind the scenes whether it's illegal or not. Yes, insider trading occurs. Yes, certain actors have many orders of magnitude more money under their control than others. And yes there is now a much higher volume of computerized trading than in decades past, with more complexity, more abstraction, and more layers of indirection. It's like running a shell game against a mark, except you're now able to maintain thousands of shells under which to hide the nut as you move it around. And move them at extremely high speeds. If you plan a con or scam or "raid" but construct it well enough to cover your trail, have plausible deniability, and/or not do anything which is strictly illegal (and if you have millions or especially billions of dollars at your disposal, you almost certainly can afford to have many great lawyers helping you to ensure that this is the case), then it seems reasonable to assume that one can get away with the white-collar equivalent of a bank robbery.

</comment><comment><USER3> The headline is overly sensational. The volume of the transactions mentioned there sounds enough to manipulate one stock, but not enough to cause a complete crash. This is particularly clear when you compare it to the sheer volume of subprime loans created by control fraud and predatory lending that were starting to collapse in 2008. There are orders of magnitudes in difference.

That said, the real story behind the hype does sound plausible, and stuff like that just highlights how absurd the notion of "efficient free markets" really is. You need transparency, you need regulation, and most importantly you need prosecution.

<comment><USER4> This article comes across as link bait and sensationalist, and is extremely weak when compared to the voluminous analysis done on the market crash and the recession itself.

This is a simplistic reading of the reasons for the market crash; it is a complex system, which had multiple fail safes, as well multiple attacks (legislative weaknesses, absurd leverage levels, bad risk distribution) which led to the quagmire we are in today.

If the title limited itself to "possible bear raid on Citi Stock in November 2007" it would still have some legs. Going on to postulate that this precipitated the crisis (and the unsaid subtext being - perhaps without this the market wouldn't have crashed like it did)

Further, bears will short a stock which looks likely to be weak, and there is also a buyer on the other side of the fence. A link to the originally article may have been more worthwhile.</comment></comment>


Agility Robotics Introduces Cassie, a Dynamic Robot Delivery Ostrich - <AUTHOR> http://spectrum.ieee.org/automaton/robotics/industrial-robots/agility-robotics-introduces-cassie-a-dynamic-and-talented-robot-delivery-ostrich <comment><USER2> I'd say ballet slippers and a tutu are in order: [https://www.youtube.com/watch?v=2RGrCyDAVuk](https://www.youtube.com/watch?v=2RGrCyDAVuk)</comment>


US using mobile ad data to track people's movements during coronavirus lockdown - <AUTHOR> https://www.businessinsider.com/us-using-mobile-ad-data-to-track-people-2020-3 <comment><USER2> Original WSJ article from March 28: [https://www.wsj.com/articles/government- tracking-how-people-...](https://www.wsj.com/articles/government-tracking-how- people-move-around-in-coronavirus-pandemic-11585393202)

De-paywalled WSJ article: [https://archive.is/A8ngi](https://archive.is/A8ngi)</comment>


Tell HN: Tried to get a raise by showing counter offer, but company didn'match - <AUTHOR>

I am a big fan of Patio's advice on salary negotiatin.  But unfortunately, it didn't work as I expected. I am wondering if someone can give a perspective why.
I have been working in Semiconductor tools companies for past 10 yrs(in bay area). Current company is public company, doing reasonably well and is work $3-4B. I was unhappy with my pay and so I interviewed with a few internet companies. One compay offered me 30% more salary.
I asked my current company to match it. They said if they increase mine, they will have to give a promotion also...and this will affect others in the team as they might also ask for a promotion. They said they can only raise salary by 10%
So, I am now moving to new job. I am just surprised to know that company was not willing to give even 10% raise. Patio's advice generally tell us that guy giving out money is not doing it from his pocket, so he will be ready to match. <comment><USER2> Well I'm not sure if you want to hear the truth but the truth looks like

1) your manager didn't go to bat for you. Generally a good company will give each manager wiggle room to pay key employees, which leads to 2...

2) the company determined that they could replace you for less than what you were asking.

That doesn't mean you aren't worth the salary you got at your other company, you might be awesome for all I know, but your current company has determined you aren't worth the salary you asked for.

This happens all the time in professional sports, where even the best athletes can reach a point where the return for what they get paid is negative.

Treat this moment like a player getting traded, don't focus on the team that traded you focus on the team that is trading for you, they want you to be a part of their team.

</comment><comment><USER3> This sounds pretty standard to me. It's usual for large companies to have a policy of a maximum of 10% raise, and it's also true that raising the salary of a team member usually begs the question of why the other team members' salaries are not raised as well. I.e. your performance would have to be higher, and the manager has to be able to demonstrate that to HR. Also, accepting counter offers is widely considered to be a bad move. And, from the manager's point-of-view, to have an employee fishing for a raise by threatening to leave is a bad sign too. It's usual for the manager to call the bluff in order to not encourage other team members to do the same. And usually the employee will be dissatisfied again soon.

</comment><comment><USER4> I support everything said here already but also think about the asymmetry of information. Per chollida1's comment, you'r manager didn't go to bat for you....why? Your current manager obviously knows more about you than your future company so he/she is probably better at estimating your true worth than your future employer.

Also...hassle. Given your contribution vs how much work it would be to get you a 30% raise, your manager maybe decided they couldn't do it or it wasn't worth sticking out their neck for it.

However, if you want raises, it's usually always better to switch employers. It's the fastest path to more money.

</comment><comment><USER5> Sometimes we dream about having an on-going relationship with a company and to the companies sometimes we're just a number and that was the case. In the end of the line we're a cost and they're trying to cut that, so if you're a risk to their "cost" they rather have you out. It's just simple math that defines if we go or we stay, depends on the company's environment as well.

Best to you on your new opportunity.

</comment><comment><USER6> welcome to the real world. This gives you a lesson that no company is looking out for you (for the most part). Sure there are some good managers and team members out there to work with but a company no more takes care of its employees as it used to in the past (think pension days).

The game is simple. You look out for yourself. While you are at a company, give them your best. But if they don't give you what you need, don't be surprised. It is just business. Either you stay with them or just move on. It is unfortunate that to even think about getting a raise at most companies, we have to threaten them with counter offers etc.

</comment><comment><AUTHOR> Thanks all for the replies. In this case, I was a fairly key performer but I believe it is that company just doesn't want to pay any more. And they are happy replacing me with somebody else

<comment><USER7> It's worth considering the idea that the question is not, "Why did my old company value me so low," but, "Why does the new company value me so highly?"

It could be a million reasons. They're flush with cash and gearing up for a big expansion. They lost someone key and will pay extra for a quick hire. They're actually paying about the same because their benefits are awful (or more optimistically, their benefits are equivalent but better-negotiated). Someone there knows you and sang your praises. The hiring manager thinks you're sexy. They're incompetent and don't realize they're overpaying. Who knows?

Bottom line is that showing an offer to your current employer is always a gamble. Personally I think you're better off; the work atmosphere after a stunt like that can be unpleasant if your boss feels like she was strong- armed.</comment></comment>


Harvard Hit by Loss as Crisis Spreads to Colleges - <AUTHOR> http://online.wsj.com/article/SB122832139322576023.html <comment><USER2> Was it a crisis when they got inflated returns in the first place? Or is only the correction a crisis?</comment>


First Solar is making PV panels for less than China's biggest producer - <AUTHOR> http://www.bloomberg.com/news/articles/2016-04-14/first-solar-making-panels-more-cheaply-than-china-s-top-supplier <comment><USER2> Cost of solar panel is dropping every year: [https://en.wikipedia.org/wiki/Swanson%27s_law](https://en.wikipedia.org/wiki/Swanson%27s_law)

The question is not whether you can get cheaper once, but whether you can be cheaper and maintain that advantage by improving each year.

<comment><USER3> Strange parallels to Bitcoin mining where you're worried your rig might not pay for itself before faster mining hardware comes out that pays better.

<comment><USER4> With exponentially increasing efficiency, when is the ideal to invest? This is solved by a "wait calculation"[0].

[0] [https://en.wikipedia.org/wiki/Wait_Calculation](https://en.wikipedia.org/wiki/Wait_Calculation)

</comment></comment></comment><comment><USER5> The response of the Chinese company Trina spokesperson is quite off the mark. First Solar expects to ship around 3GW of modules in 2016 so that is not exactly lab scale ;) FSLR expects to improve their shipped modules efficiency by more than 10% over last year. 15.4 to 17.

FSLR also will also introduce their new larger modules that are easier to install. Reducing the cost of building a power plant.

I really regret not investing in FSLR stock when I could have :(

Off course when looking at energy supplies the physical efficiency is not important, one must look at the economic efficiency. Numbers that are hard to find :(

<comment><USER6> FSLR was at 140 in 2011, and now they're at 60.36. Perhaps it's not too late to buy?

<comment><USER5> No longer have the spare cash to play on the stock market :(

<comment><USER7> It's a funny kind of regret to wish you had something that is worth half as much as it used to be worth.

<comment><USER8> Stock was just below 12 at one point in the dumping Solyndra failure time range.

<comment><USER5> Exactly although for me it would have been just after IPO.

</comment></comment></comment></comment></comment></comment><comment><USER9> Part of the reason they survived to now is likely due to all the anti-dumping laws the US imposed. [http://www.bloomberg.com/news/articles/2015-07-09/u-s- impose...](http://www.bloomberg.com/news/articles/2015-07-09/u-s-imposes- dumping-duties-on-imports-of-chinese-solar-goods)

</comment><comment><USER10> Interesting: CdTe has a bandgap of 1.5eV, closer to the ideal for solar efficiency than Si, which has a bandgap of 1.1eV. Multijunction cells can achieve efficiencies of over 80% since each junction can address a different part of the solar spectrum. However, they're not cost-effective yet.

</comment><comment><USER11> 1\. Excellent

2\. Significant costs now are building plants. Next cost dropping wave will be with robotic solar plant building (Also liked that rollable solar panel for the military)

<comment><USER12> I used to imagine the future to have self assembling robots that build their own power sources,etc.

Its good to know we are nearing that future.

<comment><USER13> Another step to self-sufficient AI I guess. At some point along the way we will have to stop and think about what we're doing there.

<comment><USER14> Have we ever done that? Maybe the AI will remember their grandparents if they don't commit suicide from existential angst.

<comment><USER15> Nothing solves existential angst like the drive to reproduce.

</comment></comment></comment></comment></comment><comment><USER16> Right now there are 2 different articles on Hacker News front page stating the opposite (almost).

Bloomberg article ([http://www.bloomberg.com/news/articles/2016-04-14/first- sola...](http://www.bloomberg.com/news/articles/2016-04-14/first-solar-making- panels-more-cheaply-than-china-s-top-supplier)) states the following: "First Solar is producing panels for as little as 40 cents a watt, or about 15 percent less than China's Trina Solar Ltd. In 2019, First Solar's module cost could be as low as 25 cents a watt, according to analysts' models.".

VOX article ([http://www.vox.com/2016/4/18/11415510/solar-power-costs- inno...](http://www.vox.com/2016/4/18/11415510/solar-power-costs-innovation)) states the following: "How cheap? Sivaram and Kann argue that the industry should set a goal of pushing the installed price of solar to 25 cents per watt by 2050 — down from around $3 per watt today."

<comment><USER17> The key difference here is a single word in the VOX article: _installed_ solar.

The 40cents/watt in Bloomberg article is just the panel (because it's an article about costs of producing panels). This would mean even if the price of a panel dropped to $0.01/watt you'd still need $2.60 per watt to install it on your roof.

That's why the VOX article in the next sentence says

> Current approaches to cutting costs won't necessarily get us there. We may > need experimental new technologies. Or novel ways of integrating solar into > our walls and windows. Or robot installers.

<comment><USER16> See my reply below. According to VOX article, "installed" means 2x of money/watt value. So, according to Bloomberg article, if First Solar panel is 40 cents/watt and Trina panel is 45 (40+15%), installed should be 90 (45x2). But then again, according to VOX, 3$ per watt is far away from 90¢. In my opinion, even taking in account the cost of installation, the values expressed in the two articles are completely different.

<comment><USER18> Installation cost isn't proportional to panel cost. On the contrary, I would expect there to be little to no correlation at all.

</comment></comment></comment></comment><comment><USER19> >> "A discussion of cost in the lab is meaningless."

Agree. If it read American solar company out produces, sells, etc. that would be meaningful.

Does the US even have the raw materials & production capacity to use the research? If not, sounds like a complete waste of money.

</comment><comment><USER20> If this is true, then why are the First Solar salesmen at my local Home Depot still pushing a $40K price tag at me?</comment>


U.S. Navy Sex-Trafficing Scandal in Bahrain - <AUTHOR> https://www.militarytimes.com/bahrain-scandal/ <comment><USER2> Is this a video? An article? That link leads to a huge wall of cognitive overload. The title sounds interesting but I'd prefer a direct link to the meat of the matter if possible.

<comment><USER3> The link should be updated to:

[https://www.militarytimes.com/news/your- military/2020/06/16/...](https://www.militarytimes.com/news/your- military/2020/06/16/tinder-sailor-hooker-pimp-the-us-navys-sex-trafficking- scandal-in-bahrain/)

</comment></comment><comment><USER4> Nobody tell them what goes on in sub tenders.

</comment><comment><USER5> What has this to do with Hacker News?

I'd be glad if politics could stay away from HN. There are more than enough places to discuss them.</comment>


Parallels Between Math and Software Engineering - <AUTHOR> https://beta.oreilly.com/ideas/striking-parallels-between-mathematics-and-software-engineering <comment><USER2> At the end of the article, the author mentions how we could possibly find other designs of mathematics. Well, some people already have!

Some mathematicians did not like the law of excluded middle, which states that for any proposition A, either A is true or A is false. So they invented intuitionistic logic, which is normal logic without the excluded middle, and started rewriting mathematical proofs in this new system. Turns out there's a lot of stuff you can prove in intuitionistic logic.

Some mathematicians did not like the axiom of choice. One of the consequences of this axiom is that every subset of the real numbers has a least element according to some ordering. Think about it, what is the least element of {1/n : n >= 1} ? Who knows! So what did they do? Some people found it so weird they either replaced it with a weaker axiom or a contradictory one.

There's even syntax arguments in mathematics! What's the derivative of a function f? is it f'(x) or df/dx ? Is multiplication represented by a dot (.) or a cross (x) or by a juxtaposition of expressions?

Sometimes we use big existing proofs in the middle of a proof to save time. And sometimes we use the big proof to prove something far simpler than the big proof. This creates a big dependency and some people dislike hate these dependencies because the reader of the new proof will have trouble understanding the proof completely. It's like dropping in some magic in the middle of the proof and saying: "if you want to understand this proof completely, go read this other 50 page article" Sound familiar? Some mathematicians hate this so much they insist on proving things from the ground up whenever possible so that the proof is as comprehensible as possible. This is the mathematical equivalent of dependency management.

<comment><USER3> If you just reverse the typical ordering, then the least element of {1/n : n >= 1} is 1, so this doesn't seem all that strange to me.

<comment><USER4> The point is that there is one ordering in which every subset of real numbers has a minimum.

For the rational numbers, this is not difficult, since we can enumerate the rational numbers. As the ordering we could then pick "a <= b" if the index of "a" in the enumeration is less than the index of "b". The least element of any set of rational numbers is then the rational number with the least index in that set.

However, the real numbers are uncountable. Tricks like this cannot work.

\----

The real culprit is the axiom of excluded middle, which confounds the notions of existence and embodiment. Under classical logic it may be proven that P = NP, even though no algorithm actually exists. This already happened for certain graph problems... (=> Graph minor theorem, moving from minor-closed graph property to finite set of excluded minors is essentially non- constructive.)

Without excluded middle, the axiom of choice is exactly as trivial as it sounds: Given a non-empty set, give me an element in that set. In order to show that a set is non-empty you need to give enough information to construct an element in that set. So the proof contains the information to validate the "axiom".

With excluded middle, the proof that a set is non-empty doesn't contain enough information to pick an element from that set. So adding both excluded middle and choice takes you into an axiomatic system whose connection with the real world is rather tenuous.

\----

The article is spot on: Not only is mathematics a designed system, but the analogy between programming languages and logic is perfect in view of the Curry-Howard correspondence. Elevating Zermelo-Fraenkel set theory is like insisting that your software project has to be built using Turing machines. After all, everything else is just encoding. There is a huge design space in logics as well as in programming languages. For instance, you can do physics in the setting of synthetic differential geometry and work without preconditions and use theorems which are literally impossible in ZFC.

A soundness proof for a new logic is, by the way, the logical equivalent of building a compiler. :)

<comment><USER5> Careful, the axiom of choice doesn't state that non-empty sets contain an element (this is a triviality). Rather (an equivalent of) it states that the Cartesian product of non-empty sets is non-empty. If we take a product of _finitely_ many such sets, then we can prove it, but we need the axiom of choice for the infinite case.

The reason is intuitively clear: in order to prove that the infinite product is non-empty, we need to produce an infinitely long vector. Well, since the individual sets are non-empty, we can just for each set choose an element and put it in the vector. But this takes infinitely many steps! and that's not allowed in mathematics. The axiom of choice is a way of collapsing infinitely many steps into 1 invocation of the axiom (so 1 step, so finitely many steps). Not too much to do with excluded middle.

<comment><USER4> There are many classically equivalent formulations of the axiom of choice, the one I gave is just the one I like best. :)

But you are right, the devil is in the details, so let me spell it out precisely:

The axiom states that for every set X, there is a function

      \epsilon : P(X)/{\empty} -> X

If you want to restrict yourself to first-order logic, then you have to encode the function \epsilon (e.g. as a functional relation, where relations are in turn encoded as sets of ordered pairs, which are in turn encoded with Kuratowsky's construction). Set theorists like first-order logic and this encoding overhead is the reason why it's not the standard definition, even though it's arguably what the axiom is trying to express(1,2). Apart from that the statements are (classically) equivalent:

To go from the higher-order version to the cartesian product, note that the cartesian product of an I-indexed family of sets is a set of functions f from I to the union of all X_i's, such that f(i) \in X_i for all i. Let (X_i)_{i\in I} be an I-indexed family of sets, all of which are non-empty, then (i -> \epsilon(X_i)) is in the cartesian product of the X_i's, where we use \epsilon for the union of all X_i's. The reason we couldn't build that element without AC is precisely that we have no way of selecting exacly one element from each X_i, even though we know that they are non-empty.

In the other direction we can use Zermelo's well-ordering theorem to construct a well-order on X. We define \epsilon to pick out the minimum with respect to this order.

(1) This really is what the axiom of choice was meant to express. If you can read German, you can refer to Zermelo's own work:

      https://eudml.org/doc/158167

Under point 2 in this paper, Zermelo assumes that there is such a choice function on a given set and from this he derives the well-ordering of that set.

(2) Another example of the drawbacks of working with a first-order axiomatization is the axiom of regularity. The idea we want to express is that there are no infinitely descending element chains ("every set is well- founded"), but expressing this in first-order logic leads to a convoluted statement which obscures the simple idea... and is also not a correct encoding of this idea in intuitionistic logic!

<comment><USER6> Is there any effect on our thinking that comes from HoTT? I heard this is exactly the kind of problems it tries to solve.

</comment></comment></comment></comment></comment></comment><comment><USER7> Very nicely put.

I'm a big fan of linear algebra because it's the best example of why learning math is useful. Sure knowing about equation and calculus come in handy, but linear algebra is pure modelling superpowers and a much more valuable tool overall.

Related: An awesome LA introductory lecture by Prof. Strang: [http://ocw.mit.edu/courses/mathematics/18-06-linear- algebra-...](http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra- spring-2010/video-lectures/lecture-1-the-geometry-of-linear-equations/)

Related 2: A short tutorial on LA that I wrote: [http://minireference.com/static/tutorials/linear_algebra_in_...](http://minireference.com/static/tutorials/linear_algebra_in_4_pages.pdf)

<comment><USER8> I don't think you can say of any topic in mathematics that it's the _best_ example of why learning math is useful. What about calculus? It's an immensely powerful tool that, by harnessing the power of the infinite and the infinitesimal, unlocks a massive body of practical applications in nearly every field of quantitative knowledge. And what about discrete math? Without it there would be no such thing as a computer. Differential equations, _the_ tool for modeling dynamical systems?

Mathematics is a vast topic that every quantitative discipline must necessarily draw from. Each field of study will benefit more from certain topics of it.

<comment><USER7> > What about calculus [...and...] differential equations ?

I agree that calculus and diff. equations techniques are important, but if you look closely, you'll see they are only "necessary" for engineers and physicists, and other "hard" sciences, and not so essential for non-science studies.

Imagine "pitching" the benefits of learning university-level math to a class of Arts students. Can you honestly say their lives will be improved if they were to learn about a bunch of techniques of integration?

On the other hand, I wouldn't hesitate to recommend learning LA to them. Thinking about operators, vector spaces, dimensions, etc. is applicable much more widely. (I speak from experience here, because I've been "finishing up" the applications chapter in my LA book and I keep finding new applications to cover: balancing chemical equations, electric currents and other network flows, nutrition, least squares approximations, linear programming, cryptography, network coding, error correcting codes, Fourier analysis, prob. theory, and quantum mechanics. The LA party just don't stop ;)

<comment><USER9> I remember in my college linear algebra class (I think it was) that my prof made the joke that his wife was the projection of the vector representing all the attributes of his ideal woman into the space that represented the pool of all women who would date him.

I thought it was hilarious. Almost made me want to be a math major (I was just a physics major). Which makes me think of: [https://www.xkcd.com/435/](https://www.xkcd.com/435/)

<comment><USER10> I can't decide whether to go for the "null vector" joke or the "yo mamma's magnitude is so great"...

</comment></comment></comment></comment></comment><comment><USER11> Mathematical truths and objects are real things with existence independent of our minds that we "discover," not just designed things. The author seems to believe that the language used to describe mathematics (which is indeed a designed thing, just like software) is the only thing "there." She is probably a formalist.

I think it is important to remember this, because mathematics, like a computer, "fights back." You cannot simply dream up whatever structure you want and have it mean what you want and behave how you want. See Godel's incompleteness theorems. No matter what you are doing, your mathematical constructs (including your implicit Turing Machines in your computer programs) must obey certain underlying constraints that are completely mind-independent. These constraints are what mathematicians study, albeit through a glass, darkly.

Regardless of ontological issues with the post, I like that it emphasizes the designed nature of our mathematical tools. The space of possible tools is so large that there is near-limitless room for human creativity and design in mathematical research. It is a shame that most mathematics classes don't really get that across.

edit: fixed misgendering, sorry, that was sexist.

<comment><USER12> >Mathematical truths and objects are real things with existence independent of our minds that we "discover," not just designed things.

While its almost certainly true that the content of mathematics is mind independent, it is far from obvious that these objects are "real things".The real meat of the issue is how exactly the mind-independence is cashed out. Different ideas paint a vastly different picture of mathematics and even the universe. For example platonism vs. nominalism. Lets not be so quick to put forward as an obvious truth the critical issue in question.

<comment><USER13> Can't a mathematical theory compress, generalize, and map out many relevant empirical facts very well without _needing_ ontological commitments to the generalizations themselves?

The real numbers seem to be a perfect example: if you work in physics at scales where quantization doesn't noticeably apply, the only way to calculate correct predictions is really to use real numbers and continuous (mostly Euclidean) spaces. But that doesn't mean physical objects are ontological shadows of our mathematical abstractions, as Plato's Allegory of the Cave portrayed it. Quite the reverse: when you get down to a sufficiently small, fundamental level, objects, space, and time _stop_ being continuous and correct experimental predictions only come from using _discrete_ formalisms.

You can then proceed to ask, which one is _Platonically_ real, the continuous mathematical spaces or the discrete physical ones? But I think the answer there might be, "Who says anything is _Platonically_ real? The map is not the territory, so shut up and calculate."

<comment><USER12> >Can't a mathematical theory compress, generalize, and map out many relevant empirical facts very well without needing ontological commitments to the generalizations themselves?

Maybe, but its not obvious. The fact that the same generalizations are multiply realizable in different processes/structures certainly says something interesting. The consequences of this multiple realizability hasn't been fully investigated.

Your response seems to be arguing against my post which was mainly about mind- independence, by arguing against platonism. I don't see that mind-independence necessarily implies platonism. In fact, I find all forms of platonism extremely distasteful.

>The map is not the territory, so shut up and calculate.

Right, but this in fact goes to the heart of the question of the philosophy of mathematics. When someone says that mathematical objects are mind-independent, they are _not_ talking about the notation itself (the map), but rather the content of the notations (the territory), i.e. the structure revealed through the notation. It should be pretty obvious that there are many interesting questions about the mind-independent structure of the territory. "Shut up and calculate" isn't an answer to this question, but rather the attitude that the answer simply doesn't matter. For many fields the answer doesn't matter, but the question is worth asking nonetheless.

</comment></comment></comment></comment><comment><USER14> Well said. Advanced math is mostly about working with properties higher up the chain of abstraction, and then seeing what happens when you bring the insights learned up there back down to more concrete examples.

From an OO point of view, the real numbers inherit almost every useful trait: they're a field, they have a topology, they have a measure. Studying the parent classes, so to speak, gives you abstract algebra, topology, and analysis, respectively.

Once you get the basics of each, you can study how they interact. Then, once that stuff is clear, they can be recombined in beautiful ways to give you new objects to study.

<comment><USER15> "Well said. Advanced math is mostly about working with properties higher up the chain of abstraction, and then seeing what happens when you bring the insights learned up there back down to more concrete examples."

I came here to say the same thing. I went through a lesser known engineering discipline, "Mathematics and Enigneering" [0] and found that the type of thinking one learns doing pure math proofs has served me well in my eventual career in aerospace systems engineering. I find that the thought process in considering a proof as a high level whole/black box or being able to drill down to the finest detail while still keeping the big picture in mind has translated quite well to my day to day traversal up and down the abstraction ladder at work.

[0] [http://www.mast.queensu.ca/meng/undergrad/info.php](http://www.mast.queensu.ca/meng/undergrad/info.php)

</comment></comment><comment><USER16> I have, on multiple occasions, looked at math equations in CS paper and been like, "WTF?"

But when I look at the implementation in code it's so obvious what's going on.

<comment><USER17> Can you give us some examples?

I can't fathom how someone who cannot understand the math formula can understand the code.

<comment><USER16> Context: I never did too well in statistics, and in general I was always pretty bad at understanding simple Math notation like sigma notation, multi- variate calc, or linear algebra.

Here's the Hokusai paper: [http://www.auai.org/uai2012/papers/231.pdf](http://www.auai.org/uai2012/papers/231.pdf)

And here's an implementation: [https://github.com/dgryski/hokusai](https://github.com/dgryski/hokusai)

For me to understand the paper, I had to go through the code to piece out the Math jargon, even though the Math behind it is really quite simple. Another way of saying this is, "I'm dumb," sure. Not gonna argue with anyone there.

Though I still think it's curious why it's easier for me to understand a concept through code than it is through Math. It's sort of reminiscent of when you first learned Algebra, your teacher would tell you to replace the variable with an easy number and work through it to understand the mechanics of equations.

I think code is an example of that - literally working through the mechanics of algorithms to understand what they actually do and how they work.

<comment><USER13> I think it's probably just that you have far more relevant experience with reading code. Math is its own language, and math departments only really start teaching how to read and write it in Real Analysis classes. As my math professor stepfather said his advisor once put it, "Everything before that is just to keep the children from running in the halls."

<comment><USER18> I've always wondered why Real Analysis isn't introduced earlier in math education. It might make it easier to grasp concepts introduced in upper-level math.

<comment><USER19> That's why so many people point to Spivak's Calculus book, since it has been hinted it should be called an analysis text. Strang's Calculus, as do others, start with real-world examples. Personally, I had to do the Strang route, and then come back to Spivak, since I had to admit to myself, I don't have that ability to think 100% abstractly; I need motivation from the real world.

</comment></comment></comment></comment></comment></comment><comment><USER20> What a great article. Paraphrased "Math is a designed thing, for humans and by humans, not an absolute truth." Also this post is the BEST introduction to linear algebra that I have seen.

<comment><USER21> to assume that maths is itself the absolute truth ,which suppesedly actual mathematics are supposed to lead to, is an apt syllogism. It's saying, any kind of math that doesn't reveal an absolut truth isn't real maths.

</comment></comment><comment><USER22> You can play creatively in a particular nexus of math and software engineering called Djinn [0], the Haskell program that writes your Haskell programs for you.

1\. An ancestor of Djinn is automated theorem proving. Why can't machines prove math theorems for us? This quest goes back to the dawn of computing science.

2\. A more recent development is the Curry-Howard Correspondence. Programming in a (typed) FP language is like playing tetris. Solving symbolic logic problems [1] is also like playing tetris. Djinn exposes the connection in a REPL you can play with. And see how the computer plays tetris for you!

3\. Don't want to install Djinn? No problem, just hop over to the Haskell IRC [2]. Lambdabot has a working Djinn plugin.

[0] [https://hackage.haskell.org/package/djinn](https://hackage.haskell.org/package/djinn)

[1] [https://www.coursera.org/course/intrologic](https://www.coursera.org/course/intrologic)

[2] [https://wiki.haskell.org/IRC_channel](https://wiki.haskell.org/IRC_channel)

</comment><comment><USER23> I've had a similar thought as the author, and often wondered - could we develop alternative systems for intermediate-to-advanced mathematical concepts that would make it easier to parse?

<comment><USER24> Category theory?

<comment><USER25> It has been called many things ("general abstract nonsense", etc.), but I don't know if it has ever been called "an easier way to explain things to non- mathematicians." :)

<comment><USER13> Nobody thinks category theory is easy for nonmathematicians, but the point of it is that it provides a common language for talking about common behaviors across many different, _seemingly_ disparate, fields of mathematics, _for mathematicians_.

<comment><USER25> Fair enough.

</comment></comment></comment></comment></comment><comment><USER26> Very good article. Studying computer science as my sole field, I am starting to realize how much I have missed out on getting an alternative take on things.

<comment><USER27> I think the same could be said for almost any profession or field of study.

</comment></comment><comment><USER28> The other day I realized that a man-made law is also a bit like mathematics or computer software. It is carefully designed and constructed. Ideally, it is intended to work like a machine with as little room for human discretion as possible. And just like mathematics, adding an another "axiom" to the law has far, far-reaching consequences.

<comment><USER29> > And just like mathematics, adding an another "axiom" to the law has far, > far-reaching consequences.

Actually mathematicians virtually never do this. Almost all of mathematics (from arithmetic to calculus to category theory) operates in the confines of ZFC[1] and adds no further axioms. All of these fields may add _definitions_ , but these are just shorthand; the are conservative and have no actual consequences. It is more like fixing Newton's laws and then experimenting with all the machines you can build with them.

[1]: [https://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_t...](https://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_theory)

<comment><USER13> >Actually mathematicians virtually never do this. Almost all of mathematics (from arithmetic to calculus to category theory) operates in the confines of ZFC[1] and adds no further axioms.

Except for all the non-ZFC foundations, like type theory or category-theoretic foundations.

<comment><USER30> Relatively speaking, there are very few mathematicians using those systems to discover new mathematics as opposed to studying them for their foundational interest.

</comment></comment></comment></comment><comment><USER31> It is also interesting that there are many parallels between software engineering and the design of mathematical proofs (or theoretical CS proofs, which I am more familiar with).

In theoretical CS, people talk of catching and fixing "bugs" in proofs, namely, mistakes that make the proof fail but can hopefully be fixed while sticking to essentially the same idea.

One can "refactor" proofs, in superficial ways (e.g., renaming of concepts), but in deeper ways also, e.g., extract part of a proof to make it an independent lemma that you can reuse (or "invoke") from other parts of the proof. One often tries to "decouple" large proofs into independent parts with clearly defined "interfaces", that the reader can understand separately from each other, though this usually implies a tradeoff (a more tightly integrated proof requires more mental space but is usually shorter overall).

One can think of the statement of sub-results (lemmas) as providing an "interface" to invoke them elsewhere, which you try to "decouple" from the actual "implementation", namely, the way the lemmas are really proven. It takes practice to find the right way to abstract away the essence of a result to state it correctly, without burdening it with implementation details, but without forgetting an important aspect of the result that will be necessary later. As in software engineering, once a result is proven, you stop burdening your mind with the implementation and mostly think about the statement (i.e., what the result is supposed to be doing) when using it.

In software engineering, one must decide which part of the code is "responsible" for checking certain properties on the objects, and that code may "assume" some preconditions on its inputs and must "guarantee" some preconditions on its outputs. In the same way, in proofs, one often wonders where certain conditions should be verified. Should they be part of the definition of the object? Does this lemma enforce more conditions on the object than what is guaranteed by its statement?

The parallel is not perfect. In software engineering, you can rely on the computer to check that your code is correct, and to execute it. In mathematics you rely on other humans to do this and check that they are convinced by your proofs. This means you can get away with appeals to human intuition which are not fully formal, but on the other hand there is no safety net when you make an error in your reasoning, no reality check that you can invoke to avoid exploring erroneous consequences. Also, this does not apply to all types of proofs; but it applies especially well to proofs that describe a construction, i.e., a way to "build" a certain abstract object, often to justify that an object with a certain desirable set of properties exists.

<comment><USER32> If you are writing programs in Coq or another dependently typed programming language, these parallels between math and programming are not just incidental; they are one and the same. Theorems are stated as functions, whose type signatures reflect the theorem being proven. Even the gap that you mention at the end of your post is bridged, since the type checker will verify that your proof is correct (modulo the trust in the metatheory of the language itself, and its implementation). Things like refactoring, choosing more or less specific statements of theorems (e.g. more or less abstraction in a library), interfaces, etc, all become exactly analogous to the same kinds of problems faced in software engineering. It's really quite remarkable.

(Disclaimer: I'm hardly an expert in these languages; I just dabble.)

<comment><USER33> You are, of course, correct. It's strange no one brought up [https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspon...](https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence) yet. In a very real sense, programmers are creating mathematical proofs!

</comment></comment></comment><comment><USER34> Understanding programming languages definitely helped my understanding of Math. Smarter people than myself can do this the other way around, but I always needed to understand the why before it could start to stick. I didn't really understand programming languages until I could dig into the source code and the standard libraries to see how and why everything was done. The problem with modern math teaching is that is starts with fully baked axioms and it doesn't walk you through the process of discovery before it was all cleaned up into a neat terse explanation. One exception is a great book from the 40s called a Mathameticians Delight. It was recommended to my by my Yale professor and I highly recommend it.

</comment><comment><USER35> Interesting article. I always thought math felt like programming but in a language far higher level than any of the available programming languages. So like programming but with a lot less friction when going from thought to symbols.

For example, creating new domain specific control flows with Lisp macros versus defining a Dirac delta function using limits and integrals. In programming it's easy for bugs to seep in because there are more little/subtle details and leaky abstractions. But math on the other hand feels much more abstract and clean.

Perhaps this is just because dumb silicon boxes interpret our code and humans interpret our math which gives us a much more sophisticated base language to work with.

</comment><comment><USER36> Not trying to evangelize but FP was an great hint for that. Seeing 'tangible' (that I can create, see, step through) incarnations of groups, monoids, transitive relations etc gave an operational grounding to abstract algebra. Something needed for some of us before see the abstraction behind the notation, and understanding it.

<comment> vezzy-fnord The perception of FP as being somehow more "math-y" is nothing but a bias. There is no intrinsic magical property of "mathiness", it's just that the operational semantics of functional languages are much more well-defined. Logic programming is itself firmly based in axiomatic semantics and has a similar _a priori_ system of reasoning to it, though distinct from FP. Imperative languages can be modeled well on Hoare logic, too, and Dijkstra did plenty of research on it, known as predicate transformer semantics. It is comparatively understudied, though.

<comment><USER37> Also, many purely mathematical models of computing like turing machines are definitely not functional.

<comment><USER24> Well, nobody is proposing that Turing Machines be the foundation of mathematics, whereas the sort of type theory used in FP is being taken pretty seriously as a foundation.

</comment></comment></comment></comment><comment><USER38> Any more recommendation for books on Math? I am a web developer and I wanted to learn Math from the basics (I only did Math till my 10th Grade)

I have a keen interest in neural networks and it requires good foundation of Math.

</comment><comment> vezzy-fnord [http://c2.com/cgi/wiki?DisciplineEnvy](http://c2.com/cgi/wiki?DisciplineEnvy)

</comment><comment><USER39> I never got into programming growing up because I thought it involved complex math. I wish I knew it's mostly logic rather than algebra.

</comment><comment><USER40> Is there legacy code in mathematics ?

</comment><comment><USER41> Created a throwaway just to post this.

I've never taken a college-level linear algebra course, and I've found KhanAcademy's linear algebra course to be a good gentle introduction. I just skip the parts I already know.

</comment><comment><USER42> We only hire people with math degrees for our company (parallel supercomputing field). CS people generally don't have the required skills.

</comment><comment><USER43> Yay</comment>


Flow is the JavaScript type checker I have been waiting for - <AUTHOR> http://sitr.us/2014/11/21/flow-is-the-javascript-type-checker-i-have-been-waiting-for.html

<comment><USER2> I'd love to a side-by-side feature comparison of Flow and TypeScript, since they seem very similar. I honestly don't know how to pick one over the other now.

Flow doesn't actually transpile; that's done by the JSX transformer tool, which is an interesting separation.

But both implement a subset of ES6, which in itself is very useful. However, they both add non-standard extensions, meaning that TS code might not work with Flow in the future, and vice versa.

</comment><comment><USER3> A well thought out and timely piece on Flow from the facebook team.</comment>


Rules for a Better Conference Name Badge (2017) - <AUTHOR> https://badge.reviews/10-rules-for-a-better-conference-name-badge/ <comment><USER2> The best badges I've ever had the pleasure of wearing were at Srccon (a conference for news nerds). They were highly legible and simple. Here's an example: [https://media.opennews.org/img/uploads/article_images/emily_...](https://media.opennews.org/img/uploads/article_images/emily_erik_westra.jpg)

At first I was a little dismayed that they omitted the company name, but I came to really like that. It made it a lot easier to have conversations with people if you remove the barrier of status that a company might infer, probably wrongly. It was a great equalizer to know the folks at the smallest college dailies had the same problems as the largest news outfits in the country.

<comment><USER3> The best badges i've had are at various low-rent unconferences, where you get a sticky label and a sharpie on arrival, and you can write your own.

Want to chat but be a bit anonymous? Just write your first name but big! Want people to be able to find you after? Full name and twitter handle! Primarily known by a pseudonym online? Write that! Proud of where you work? Add your company name! Tired of being mistaken for a designer? Use your job title! Prefer certain pronouns? State xem! Impressive title? Prefix in your neatest calligraphy! Burning passion for a particular subject? Jot it underneath your name! Hiring, raising, jobhunting, looking for someone to play baduk with? Put pen to label! Mad art skills? Throw down!

No lanyard length quandaries, cheap and easy to supply, usually end up around eye level, don't poke awkwardly when sitting, and they don't flip round!

</comment></comment><comment><USER4> As someone who probably gets a good dozen full-blown conference name badges a year, I mostly agree with his comments with the exception of a few things.

1\. Badges with two attachment points do reduce flipping but they don't eliminate it. I'm sympathetic to using the back of a badge for useful info like a map of the venue or even a plastic sleeve for a schedule. So it's a tradeoff. But if you're not going to use the back for something useful, print on both sides.

2\. Preferably use a lanyard if it's a "real" conference. It's often hard to pin stuff.

3\. I get his comment on the QR codes but larger conferences need some way to scan people at booths and possibly breakouts (for attendee reports). NFC/RFID can work too and is sometimes used. Not clear to me one way is a big win over the other.

<comment><USER5> QR code on the back as he suggests seems a perfectly fine place for it. In fact, that makes it slightly less likely that I'm going to get irrelevant spam after the conference from someone scanning my badge when I didn't intend to permit it.

</comment></comment><comment><USER6> I disagree vehemently with rules 1,2,4, and 7. I value my privacy and don't want to provide my name and details to everyone I pass and every vendor I talk to.

At every conference I've attended, I remove or flip my badge immediately after entering. I've never felt that this impacted my ability to meet new people and connect with them, so I don't accept the author's assertion that it's necessary (or even helpful) to make new connections. The remainder of the rules are predicated on rule 1, which I think leaves them irrelevant.

I'd go so far as to say that if a conference tries to enforce rules 1 and 7 (everyone has to wear a badge and no flipping), then I will simply decline to attend. The only badge that I'd be happy to wear continuously is a badge with no legible PII that's used purely for access control, and even then, most of the time, conferences don't require that kind of access control.

<comment><USER7> This sounds like a good case for something like the "traffic light" system for indicating who's happy to have photos taken of them. Doing it with lanyards makes it nice and simple to rectify afterwards: if you see a red lanyard in the photo then you've made a mistake.

(Obvious point: badges that are highly readable by humans squinting to see your name are also highly readable in photographs. And please consider if there's a solution for badges for female attendees that doesn't encourage people to look at their chests to read their names.)

<comment><USER8> I've seen badges for how willing people are to have conversations - a traffic light system for 'please talk to me about anything' to 'I'd rather mind my own business'.

</comment></comment></comment><comment><USER9> Something I liked immensely from a conference that dealt with under- represented people in tech is that a lanyard colour denotes whether or not you can be photographed.

i.e. a blue lanyard means that you can be photographed, and a red/pink one that you cannot be photographed (these colours survive most colour blindness too)

<comment><USER10> Can also add the Trello "pattern" approach. A white dots pattern means you can be photographed, stripes means no.

</comment></comment><comment><USER11> All these examples of bad badges, but not a single good one? A picture would have been worth the entire blog post here.

Update: Huh, apparently that angry fruit salad at the end was supposed to be a good one. Fortunately the one on the homepage looks decent: [https://badge.reviews/](https://badge.reviews/)

Github: [https://github.com/BadgeReviews/badges](https://github.com/BadgeReviews/badges)

<comment><USER12> You didn't read the article, there's one at the bottom.

<comment><USER8> > You didn't read the article

It's against HN guidelines to accuse someone of not reading the article.

<comment><USER13> You're getting downvoted, but the guidelines explicitly say:

> Please don't insinuate that someone hasn't read an article. "Did you even > read the article? It mentions that" can be shortened to "The article > mentions that."

</comment></comment></comment></comment><comment><USER14> There are "Falsehoods Programmers Believe About Names" that are relevant to badges. For instance #6, people's names fit within a certain defined amount of space; names being in 64 point type is good unless will make a name wrap to another line.

Most conferences are not multilingual and it's reasonable to write names in an alphabet understood by most attendees. Something helpful is if given name and family name are to be styled differently, that that actually be done, don't just make the name that comes first different.

<comment><USER4> What mostly tends to happen in practice is that people come up with simplified/shortened versions of their name for name badges (whether full conference badges or just informal sticky-type badges).

<comment><USER15> This isn't just conference-specific. I know people from cultures where long names are quite common. Just like Theodore contracts to Ted, there's a reasonably simple culture-specific way of shortening them, and most of them do shorten them, e.g. Venkataramarajan to Venkat or Consolación to Conny. Note that often the contraction isn't obviously related to the original name (e.g. William => Bill).

This is why any system that takes names should have a way to specify a "Display Name", which may or may not follow the firstname lastname pattern. Particularly when those names need to be printed out for conferences.

</comment></comment></comment><comment><USER16> The other aspect to badges are their usefulness to convention staff. Depending on the conference, you may have 30 different types of badges, and real humans all around the conference need to interpret these things for sometimes tens of thousands of people.

Badges need to be unique, easily differentiated from each other, not easily lost or destroyed, and (ideally) carry uniquely identifying information. They should be hard to duplicate, easy to verify, and include useful information on the back (such as contact information, conference dates/hours, and rules and regulations). They may convey emergency response information, age, a photo ID, and convention access designations. And they have to work within the constraints of convention registration, which includes buying/generating a brand new, personally-identifiable badge on-site.

All these considerations typically trump your networking goals. If your convention has a "good networking badge", it may suck for use by the convention staff. (also, a lot of conventions don't learn from others and slowly, painfully evolve their badging. and the people designing these badges often never had to actually _use_ the damn things)

</comment><comment><USER17> > unless you print the same thing on both sides (and you shouldn't)

Yes you should.

> Of course you can just print the same thing on both sides, but why not use > the backside for something useful like a map of the space or basic agenda > information?

Print the same thing (name, affiliation, etc.) on two pieces of paper facing either side, stick them in the plastic sleeve, put additional info between them. It's not that hard.

<comment><USER4> That is probably the ideal. It probably costs more than most other approaches to badges though.

<comment><USER17> Most of the (scientific) conferences I've been to already have the paper-in- plastic-sleeve badge kind, and universities are very stingy, so I suspect it's the cheapest possible version. Very often you already have extra info in there, like a slip of paper with your individual Wifi access information. The only extra cost to having this two-sided is printing the name slip twice instead of once, and I that should be negligible. A little extra paper is certainly cheaper than lanyards with two attachment bits for the two attachment point version (that can still flip).

<comment><USER4> One of the issues with a lot of those plastic sleeves with one lanyard attachment point is that it's relatively easy to tear the plastic with a thin metal clasp.

For pricey conferences that are very strict about replacing lost badges, I do want something that's solid. (which should probably be another badge best practice if you won't readily replace for free.)

</comment></comment></comment></comment><comment><USER18> I'm surprised there's no mention of the convention of using all caps for surnames. Being able to read the letters and your company name and preferred pronoun and favorite subjects and twitter handle is not worth much if I can't even tell which is your given name.

Hello ... Mr. Brian?

<comment><USER4> You presumably have your own badge so you know what the convention is for a given show.

<comment><USER18> So I'm supposed to check my name on my own badge, when meeting someone else, to be able to parse their name correctly? And I should assume that the organizers printed _surnames_ (rather than _last_ names) in the same relative position, despite this being wrong for a lot of people?

We already have a well established _international_ convention on how to write names. Why would anyone create their own?

</comment></comment></comment><comment><USER19> I went to Collision Conf last year and there was one hyper useful feature on the name badges (which had a great design): "role". All badges had on top "Startup", "Guest", "Investor", and other categories I can't recall. This was really useful, if you are an investor you can talk to startups and the other way round. Startups also had a "beta" and "alpha" subcategory, that represented startup scale. Obviously, many don't like being so easily spotted, but it helped strike a lot of conversations.

</comment><comment><USER20> As someone who cannot remember names, I've given this topic way too much thought.

> You should be able to read a badge with a quick and non-obvious/non- > lingering glance

I'm looking forward to the day in which wearing name badges in your forehead is the accepted rule. There really is no way to look at someone's stomach "discretly".

Adjustable badges would help a bit, until you realise that the people whose name you should already know are often the people who don't bother adjusting their badges to begin with.

</comment><comment><USER21> QR codes that give recruiters and marketers my email information are bad and should die. I'm looking at you codemotion!

<comment><USER22> This is a legislation problem, not a conference problem. I've had my badge scanned for a contest at a European conference early last year and the person at the booth pointed out that it's pointless because they'll have to delete all that data when the GDPR is implemented anyway.

I never heard from them again. Nor should I. The GDPR pretty much got rid of data collection without explicitly informed consent and makes it trivial to withdraw at any point.

</comment></comment><comment><USER23> I'm surprised that this sort of thing hasn't been addressed before. At most big conferences, the exhibitors want to know who you are, where you work and what you do and bigger/more clear the badge is will only help them. Of course, this can make some people feel uncomfortable, but this rarely stops organisers.

</comment><comment><USER24> I love the interactive nature of the Defcon unofficial hardware badges. [https://hackaday.com/2018/08/14/all-the-badges-of-def- con-26...](https://hackaday.com/2018/08/14/all-the-badges-of-def- con-26-vol-1/)

</comment><comment><USER3> > If you can learn something via other means, meeting new people becomes the > most important part of a conference. But meeting new people at a conference > isn't a given for all of us.

This should have been front and centre. The author's goal at conferences is to meet people - to be able to prowl through a crowd, pick out people who seem interesting, approach them, and be easily able to start a conversation with them.

He has designed a badge to support that - where everyone is required to display a large name and some credentials at all times. He has not designed a badge to support any other use cases. Whether this badge design works for you or your conference will depend on what your use cases are.

</comment><comment><USER25> Hoo boy--huge badges are the worst (4 x _8_??). Fine when you're standing up, I guess, but they turn into such a poky distraction when you sit down for a talk. I'd rather apply the rest of these rules to the 4x3 or 4x4 badges.

</comment><comment><USER26> "Ditch the QR code" \-- cannot agree enough. The two sources of unsolicited email that Gmail doesn't eliminate (at least for me) are political actors and people who scanned my badge at a conference. So far conferences haven't refused me entry for putting a QR code sticker over their QR code which contains an alternative email address but I wish I had the opportunity to give the conference organizers one email address and a second one for embedding on the badge.

Or, as the article suggests, just let me supply an email address when vendors and sponsors ask.

<comment><USER14> Do you have to supply your real email address to the conference in the first place?

<comment><USER26> It's not always me signing up for a conference but whoever in HR drew the short straw. Explaining to them why they need to sign me up as email@example.com is like explaining astrophysics to my 3 year old niece.

</comment></comment></comment><comment><USER27> > Rule 6: DON'T USE ALL CAPS > Because it's harder to read ALL CAPS at a > distance.

Source? I've never heard this before and it's the opposite of what I would guess.

<comment><USER4> Yeah. Someone ought to tell the US Department of Transportation. (CAPS probably do take more space but the statement that they're harder to read in the distance is definitely not true in the general case.)

<comment><USER28> Came here wanting to cite a study advocating use of lowercase letters (as I've been told), but a quick search turned up this:

[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2016788/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2016788/)

"Our finding that size thresholds for upper-case text were lower than those for lower-case text in Experiment 1 are not surprising, and corroborate the findings of (M. Tinker, 1963) that at great viewing distance (as simulated by small visual size), upper-case text is more legible, even in a font with a relatively large x-height, which might be expected to minimize upper- and lower-case differences. Other fonts, which typically have smaller x-heights, might be expected to show upper-case text to have even greater relative legibility. Contrary to Tinker's findings, and the conventional wisdom, is the result that upper-case text is more legible in terms of reading speed, for readers with reduced acuity due to visual impairment, and in normally-sighted readers when text is visually small. This result may have practical significance as well; it suggests that, apart from economic considerations of how much space a given sample of text occupies, letter size determines legibility for low vision readers and for those viewing visually small text; and when point size is fixed, upper-case text is simply more legible, albeit less aesthetically appealing, than lower-case."

</comment></comment></comment><comment><USER29> > If the badge wearer is a woman, you're not asking other attendees to stare > at her chest which is incredibly uncomfortable for the badge-wearer. Not to > mention it's uncomfortable to me as the one staring. Nothing says "I don't > know your name (even if I should)" like that half-second glance down to a > badge. Or longer, if the badge suffers from usability problems.

</comment><comment><USER30> Totally agree with a lot of this, especially the part about making it harder for badges to flip. I went to re:Invent this year and if the security drones are going to yell at you to turn your badge over as you're walking through their nonsense gates to nowhere, and they ARE going to yell at you, then the badges shouldn't flip over in the first place.

</comment><comment><USER8> Why do these badges emphasise the first name so much over the surname? If I'm talking to someone at a conference seeing 'Mary' or something won't help me much. I need to see the surname 'Wollstonecraft' or something in order to be reminded about what they've worked on that I know about and what I wanted to talk to them about.

<comment><USER17> I've observed this discrepancy between scientific conferences and more industry/community oriented ones. In scientific circles it makes sense not to de-emphasize last names. As you say, last names are how you identify authors whose work you've seen. Emphasizing first names may make more sense in communities where you aren't expected to know exactly who works on what. Compare "ah, you're M. Wollstonecraft, I've read your book" vs. "nice to meet you, Mary, one of the many faceless persons who work on a project named Frankenstein at Huge Company, Inc.".

</comment></comment><comment><USER31> After reading TFA my question now is who sells badges that don't flip around?

<comment><USER4> They all flip around to some degree. There are badges that have two attachment points that are less likely to flip around. (Or, as others have said, you can print on two sides so it doesn't matter if they flip around.) But I don't know a specific vendor. I imagine their are online suppliers for this sort of thing.

</comment></comment><comment><USER32> I'd also suggest adding preferred pronouns.

<comment><USER33> That's explicitly covered in _Rule 5_.

<comment><USER22> Do you mean "implicitly"? I can't find any mention of pronouns and Rule 5 only seems to propose allowing attendees to add personal interests to the badge.

The idea behind adding pronouns is both to help avoid awkward situations both for people unintentionally appearing rude out of ignorance and people having to point out how they'd like to be referred to.

<comment><USER34> No, explicitly. Last sentence in first paragraph for rule 5:

> Also it's nice to allow your attendees the option to add pronouns to their > badge.

<comment><USER22> Sorry. I skimmed that entire section three times and never noticed that sentence.

</comment></comment></comment></comment></comment><comment><USER35> Those Google IO badges are the worst.

Like ok we get it... You're at io... Apparently that's all that matters. No one needs meet other people. They just need to compliment each other on going to io.</comment>


Show HN: Pleekant. A content management system for hiring employees online. - <AUTHOR> http://pleekant.com/

<comment> saiko-chriskun Maybe there should be a 'jobs' link that links to a pleekant installation for jobs at pleekant that could also serve as a demo of sorts? :P

</comment><comment><AUTHOR> Good idea. Thanks for the feedback.</comment>


Concentrating On The Important Things - Solar Thermal Power - <AUTHOR> http://anz.theoildrum.com/node/3791 <comment><USER3> This is a really, really big deal.. not to mention a great article on the topic.

Solar is going to be one of the most significant technologies in the 4 - <USER2> year time frame, much like the Internet was in the 1990s. There'll be a boom and a bust, but the diving price of solar is going to revolutionize the world nonetheless.

<comment><AUTHOR> We can only hope. What I really like about solar-thermal power is the cost. It's actually cheaper to produce power plants, and the power generated is rapidly becoming cheaper than fossil fuel power. That, and you don't have the base load power problem that you have with photo-voltaic power.

I'm sure that there's problems with it. I just haven't come across any decent critiques of solar-thermal power plants yet.</comment></comment>


Instagram Fakes Spreading Malware on Android Devices - <AUTHOR> http://thenextweb.com/apps/2012/04/19/fake-instagram-apps-are-spreading-malware-on-android-devices/ <comment><USER2> I read the current title as Instagram faking a malware spread, not that there are Instagram-lookalikes spreading malware.

<comment><USER3> Yes me too. This title is intentionally misleading.

<comment><USER4> I always try to avoid being cynical, but in this case, It's hard to argue otherwise:

Page title <title>: Instagram Fakes Spreading Malware on Android Devices

Post title <h1>: Fake Instagram apps are spreading malware on Android devices

In the page title, "fakes" is ambiguous. Is it a noun or a verb? The page title shows up in search results and RSS feeds, thus the ambiguity is present in a place where the verb interpretation would raise more eyebrows.

</comment></comment></comment><comment> guard-of-terra Haha. That man on the embedded picture is The Witness. [http://lurkmore.to/%D0%A1%D0%B2%D0%B8%D0%B4%D0%B5%D1%82%D0%B...](http://lurkmore.to/%D0%A1%D0%B2%D0%B8%D0%B4%D0%B5%D1%82%D0%B5%D0%BB%D1%8C) It's an internet meme and it looks like malware authors left it there on purpose for malware researchers' amusement.

</comment><comment><USER5> I downloaded a N64 emulator a week or two ago, and the spam on my phone has been relentless. I'm literally getting a dozen notifications a day and more worryingly its actually installing apps, "Offer of the day!" and such.

I didn't mind it for a day or two if I'm honest, was happy to have the emulator. But now its just plain annoying.

Was going to look into reformatting my phone. Samsung Nexus ICE. Its a shame really, you'd hope for a level of protection.

<comment><USER6> Your device is rooted, I presume? That is the only way an app could install other apps.

Honestly in this case you have no one to blame but yourself. Root your phone and all bets are off.

<comment><USER7> Root your phone and grant superuser permissions to untrusted apps, and yes, all bets are off. Most root user ROMs won't, by default, grant root access to apps unless you manually white-list them.

</comment></comment></comment><comment><USER8> This is definitely fodder for the "walled garden" proponents to justify closed and heavily vetted architectures. It feels like the old WWW-Wild west days but this time with bigger brothers smugly looking down with the "tut, tut, tut" expression on their faces.

<comment><USER9> The average user doesn't care if their phone is "open" or not.

Having a walled garden is beneficial to 99% of the users.

"open" mobile devices (even though they really aren't that open) benefits some developers and users.

<comment><USER10> I disagree; I think that perspective is shortsighted because it only looks at the direct benefits.

Think of how much users have been benefiting from new and innovative webapps, which are a result of the competition between browsers. Now imagine where we would be if Windows was a walled garden and didn't allow competing applications, like Apple does with iOS.

Openness breeds competition. Competition is always good for the user.

<comment><USER9> The app store is a walled garden. the web (Safari) is not.

You get the best of both worlds with iOS without the pain of fragmentation and virus/malware/spyware/etc.

<comment><USER10> The browser is an extremely important part of the web. For now, Safari for iOS is up-to-date with the rest of the browsers, but what if it starts lagging behind? Either the users are stuck not being able to use fully certain websites, or the web gets stuck like it still is with IE.

I'm not saying walled gardens don't have advantages to the users - a garden with a good landscaper is probably better for the common user, no doubt. But to say that openness only benefits devs and a small number of users is shortsighted. It's a balancing act.

<comment><USER9> key phrase: "what if"

also: iOS is open enough for 99% of the smart phone users.

I don't hear my mom complaining "oh how I wish i can install a custom boot ROM on this iPhone".</comment></comment></comment></comment></comment></comment>