How you can get hacked if you are using iPad/Safari/gmail - <AUTHOR> http://blog.secpanel.com/2012/07/30/how-you-can-get-hacked-if-you-are-using-ipadsafarigmail/

<comment><USER2> This is completely wrong. Examine your GMail cookies if you don't believe me.

The ones that grant access to your account are named "S" and "GX". You can prove this by a process of elimination. Delete a cookie and see if you get logged out.

They're set on "mail.google.com", not "google.com", so they don't get sent when you search. Furthermore, they're marked "secure" so they only get sent over HTTPS.

</comment><comment><USER3> As long as gmail uses Secure cookies, then this article is completely wrong. I just checked my own cookie storage and about half of the cookies for mail.google.com are marked as Secure, but I don't know which ones are required to identify your session.

<comment><USER4> It's easy to check -- delete all secure cookies and see if you stay logged in. Maybe Google is doing something that keeps MobileSafari from reading the secure attribute, since I've never noticed this in my tests on iOS.

</comment></comment><comment><USER5> Hi Rudhir, Drew from the Google Security team here. Actually, the authentication cookies that are set on mail.google.com aren't sent when you visit google.com, so the scenario you described wouldn't work. Those secure cookies are only sent over SSL. That's good news for the people in your scenario!

</comment><comment><USER6> I guess all this article is trying to say is to use <https://google.com/> in iPad. Is there anything else I'm missing here?

<comment> rudhir-secpanel The google search tab on the right top in Safari/iPad is what a user tends to search in, instead of opening up a new browser tab. This opens up <http://google.com>, which is the issue.

<comment><USER7> Is that the workaround? After viewing google on https, close the tab and start a new one for searching?

Or should I always avoid <http://google.com> while logged into a google property on untrusted networks?

</comment></comment></comment><comment><USER8> I wonder (he said, sitting in the Minneapolis airport with an iPhone in hand) whether Safari exhibits the same flaw on an iPhone?

</comment><comment><USER9> Tried a search in Chrome for iOS on my iPhone and noticed the URL began with http, does this mean Chrome is vulnerable as well?

</comment><comment><USER10> a better option: use the iOS mail app (with imaps), and use application- specific passwords. don't log in to your app account from safari. you then get two benefits:

1\. session cookie hijacking not possible

2\. the iOS mail app supports encrypted email

<comment><USER11> I do this, but I still find that I occasionally must log in to the web interface to do certain things, like check my wife's calendar. I just try to remember to log out again.

Another temporary workaround is to set the default search to Yahoo or Bing, to help train you to use an SSL-enabled bookmark. That is, unless you happen to be logged into either of those services.

</comment></comment><comment><USER12> Can the session information sent to non-secure Google sites be used on Gmail?

<comment> rudhir-secpanel Yes. When one is logged in as a gmail user, any google search is done as that user. Therefore the requests will carry session information just as if one were using gmail with http.

<comment><USER2> No, this is wrong.

The authentication cookies for GMail are named "S" and "GX". They're both set only on "mail.google.com", and they both have the secure flag so they're only transmitted over SSL.

There are certainly other Google cookies that let them track your identity that will get sent when you search. But those cookies are not sufficient to get access to GMail.

</comment></comment></comment><comment><USER13> does safari leak ssl-only cookies?</comment>


How Samuel L. Jackson Was De-Aged for Just About All of 'Captain Marvel' - <AUTHOR> https://www.cartoonbrew.com/vfx/how-samuel-l-jackson-was-de-aged-for-just-about-all-of-captain-marvel-171794.html <comment><USER2> Yeah, I'll be made young by Samuel Jackson beer.</comment>


GoDaddy acquires Media Temple - <AUTHOR> http://www.theverge.com/2013/10/15/4841188/godaddy-acquires-media-temple-web-hosting

<comment><USER2> Title is a bit wrong here's one from (mt) [http://weblog.mediatemple.net/2013/10/15/momentous-news- goda...](http://weblog.mediatemple.net/2013/10/15/momentous-news-godaddy-mt- media-temple/)</comment>


Ask HN: where are the clones? - <AUTHOR>

you know, the ones that were going to be written in a single weekend? <comment><USER2> [http://code.google.com/p/hackerexchange/source/browse/#svn/t...](http://code.google.com/p/hackerexchange/source/browse/#svn/trunk)

</comment><comment><USER3> The guy said he planned to clone another site instead (out of respect for SO).

</comment><comment><USER4> All hat, no cattle.</comment>


Oxy – A Security Focused Remote Access Tool - <AUTHOR> https://oxy-secure.app/ <comment><USER2> No longer able to access the website but still on GitHub [https://github.com/oxy-secure/oxy](https://github.com/oxy-secure/oxy)

</comment><comment><USER3> This is interesting, but shows some of the problems with the word "secure"

The app. promises to be more secure than OpenSSH and provides a number of reasons why it thinks it will be.

However the site is entirely anonymous, so you have _no_ idea who wrote this tool and what their affiliations or background are. So either you audit the code to get some assurance, or you trust the author(s) without any evidence.

Also the lack of any form of signed binaries would make me a little nervous from a security focused tool. You're then not only trusting the author(s) but their web hosting providers as anyone with access to that webserver can change the binary without it being obvious that they have.

<comment><USER4> I'd consider it primarily a source release. Since source is available, of course you should audit it, or at least glance over it before compiling.

<comment><USER5> > Since source is available, of course you should audit it, or at least glance > over it before compiling.

Really? I don't think everybody auditing the source of the apps we use is at all realistic, and I don't think glancing at the source is worthwhile.

Barring an organized audit, I think confidence in an open source tools like this just comes with popularity, rightly or wrongly.

<comment><USER4> I think it's reasonable to wait for the community to audit it, and to trust that. Popularity tends to include a certain amount of vetting by people who do have time, resources or knowledge.

<comment><USER3> That could happen, but if it did it would very much be the exception rather than the rule :)

Heartbleed and shellshock (and others of course but those two have memorable names) very much laid the general case of "many eyes make all bugs shallow" to rest.

The unfortunately truth is that a tiny percentage of source code gets reviewed by a competent reviewer.

In this case my feeling is that it being crypto+rust the chances are even smaller than usual..

<comment><USER6> > crypto+rust

Well, security_protocol+rust. The actual crypto comes from [https://github.com/briansmith/ring](https://github.com/briansmith/ring) which just calls hand-written assembly crypto code copied from BoringSSL.

</comment></comment></comment></comment></comment></comment><comment><USER7> Great to see protocol versioning over negotiation. I don't think replacing OpenSSH is as important as wireguard replacing OpenVPN but it's up there.

Protocol tasting notes:

\- If you're going to dole out PSKs, why care about signatures? If you're going to dole out PSKs, why are they separate from the knock PSKs? (You sort of address this by sharing knock PSKs are per server and handshake PSK is per pair. But if I have a PSK per pair anyway, why not use it for knocks?)

\- the knock protocol looks like semantically it wants a PRF. Is there a reason not to make it a PRF?

\- Why isn't this a Noise instantiation?

\- Why sign instead of 3DH?

\- Why is PBKDF2 involved in the PSK (preshared key)?

Of these, not using a PRF feels like a smell (probably not a vuln, but why would you choose to have that in your spec?). On the other hand, having PSKs and then choosing to have PBKDF2 involved (to stretch a passphrase, I guess?) and then having a key exchange anyway is really strange to me. The point of a key exchange protocol is to get a shared secret. But the protocol starts by assuming you already have a shared secret! Just use that already. Plugin in a PRF and the current time and some randomness and BAM: fast trustworthy crypto forever.

Of course, there's a reason we don't use PSKs all over the place: it means that instead of exchanging N public keys you have to exchange N^2 secret ones. People do it, but it's not the default. I'm fine with something that uses PSKs and something that uses public keys, but I don't understand why a system would have both. You get the operational complexity of PSKs and the performance of KEXes. Why bother? (I understand that the protocol says the PSK is to make it post-quantum, but you'd get identical post-quantum properties if you just skipped the KEX!)

<comment><USER8> The Noise framework (and Wireguard) deliberately support the combination of psk and public key authentication. One clear benefit is that you get redundancy against a failure in either mode. If your DH implemention is broken, the attacker still has to compromise your shared secret. Alternatively if the attacker compromises your shared secret, they still have to break your public key crypto. In short, its an excellent hedge against user or implementor error.

Less tangibly, it can prevent an adversary from recording your traffic now, waiting until Quantum Computers are practical, breaking your public key crypto and reading your messages.

Sure, you can't just slap both modes together and claim the adversary has to break both, some care is involved, but it absolutely isn't strange at all.

tl;dr there are plenty of good reasons to use a combination of modes. Both Noise and Wireguard have built on support for strengthening public key crypto with psks.

<comment><USER7> I get the general argument, but the spec doesn't really try to make that case. The default knock and PSK are (PQ) tiny: they appear to be 20 base32-encoded bytes or 96 bits of entropy. If they were being used in the same sense as Wireguard/Noise's PQ, I'd expect them to be 256 bits.

EDIT: I take it back: the keys _used_ to be 96 bits (example given in the protocol description), but are now 256 judging by the keygen code. Apparently (I'm spelunking in the bug tracker) they were short once because there was an attempt to make them diceware-style verbally transmittable? Regardless: at least it looks like an effective PQ measure assuming the key derivation works.

(Generally hedging against DH snafus makes a lot of sense to me, hedging against clients who can somehow manage to hold on to one kind of key material but not another is less convincing. I guess you could have P-256 on a smartcard and PSK on disk or something?)

</comment></comment></comment><comment><AUTHOR> Author seems to be [https://twitter.com/JennaMagius/status/1010893277069914113](https://twitter.com/JennaMagius/status/1010893277069914113)

</comment><comment><USER9> "Dylan Davis (@JennaMagius) is a senior security analyst at RiskSense. He has performed a variety of Fortune 500 incident response engagements, discovered new CVEs in major software, and performed vulnerability analysis on a wide variety of embedded devices."

</comment><comment><USER10> I really enjoy the plain-text website. Bizarre font choices but perhaps the easiest to read site I have seen for a while!

<comment><USER11> If you meant the font choice for the general text of the website, than that's just whatever default font your web browser has chosen. In essence this website's code has not designated any font choice. So, whenever web browsers are not directed to use a certain font/typeface, they defer to their default font - usually some default system font. This has been the practice of web browsers since the very beginning of the web. As an example, for me on a windows 7 machine using chrome, it displays the font as Times New Roman; other browsers and OS combo might show different system fonts. I hope this helps!

<comment><USER12> The questions are styled to use courier, though.

.question { font-family: Courier; }

<comment><USER10> Yes, this is what I meant! Thank you!

</comment></comment></comment></comment><comment><USER13> Man if this guy copied Mosh's feature-set it would be really awesome.

edit: I guess I assumed something I shouldn't have

<comment><USER14> It does not appear to be a "guy".

<comment><USER9> It is a "guy":

"Dylan Davis (@JennaMagius) is a senior security analyst at RiskSense. He has performed a variety of Fortune 500 incident response engagements, discovered new CVEs in major software, and performed vulnerability analysis on a wide variety of embedded devices."

<comment><USER14> ¯\\_(ツ)_/¯

I was just going off the name and the fact that their (Github, I think?) bio described them as a "girl".

</comment></comment></comment></comment><comment><USER15> Seems really good! Might be interesting when there's an official third party audit (Yeah i know you do pentesting as a profession but that's biased, we need unbiased).

A link to the Github repo would also help with gaining usage: [https://github.com/oxy-secure/oxy](https://github.com/oxy-secure/oxy)

</comment><comment><USER16> Interesting!

\- Does this have the buffer limitations for file transfer that ssh has? i.e. Can I send near wire speed?

\- Which independent third party pen testing and code validation groups have reviewed this?

\- Since this does not depend on rsync helpers for file transfers, are there any plans to add multipart transfers similar to lftp's p-get or other mirror sub-system functions? i.e. split a 40gb file into 20 chunks / streams.

\- Is the UDP knocker optional? I can think of places that won't work. Captive portals, hotels, some airports, some public wifi, some corp networks.

\- What setcap capabilities does this require?

\- Any plans to add modules or helpers for things like U2F?

\- Any thoughts on centralized management of key trusts? that is the biggest gap in openssh that I know of and the original author of ssh acknowledges. i.e. "who" is really logging in as "who", "where" and how old is that key?

<comment><USER17> U2F would be amazing. I hacked around with adding second factors to openssh and its possible but not great. There was even a hack to do it with U2F.

But to have a ssh like thing that supports U2F out of box would be amazing.

<comment><USER18> OpenSSH supports, at the very least, PKCS#11 modules out of the box these days, which can be used with hardware security modules.

<comment><USER6> For a Yubikey, you don't even have to dick around with the PKCS11 mess. Just use gpg-agent, it will use the GPG key on your Yubikey as an SSH key.

<comment><USER17> I have a Yubikey to but I never really liked that setup. I would much prefer to have my private keys on my computer and have U2F.

</comment></comment></comment></comment></comment><comment><USER19> >Oxy operates as a hidden service, and connection initiation occurs over two phases: a UDP "knock", followed by a TCP connection that will contain all subsequent connection data. The TCP connection defaults to port 2600; however, the UDP "knock" uses a port number between 1025 and 65535, derived from the server's "identity" value. By not using a standardized port, detection of oxy services (and thereby deployment of exploits targeting the oxy service) is made more difficult.

By not using a standardized port, I can't firewall off UDP on non-essential ports... I hope there's a way to disable this.

</comment><comment><USER20> >Memory Safe + Fast

$ grep 'unsafe {' -R ~/oxy --include=*.rs | wc -l

13

Not bad.

<comment><USER21> It's a good start, but the problems with SSH lately have largely been things like timing attacks that even the smartest compiler won't catch.

In fact a smart optimizing compiler can make that even harder to avoid since it is more difficult to know exactly what machine code it will produce.

<comment><USER22> I wonder how efficient a counter-measure would be adding small random delays in every part of code, possibly injected at MIR or LLVM level. It might drown any timing information in random noise.

They will definitely lower the performance, but likely a bit slower and more secure connection process is preferable to a less secure one.

<comment><USER23> From my current understanding adding random noise doesn't affect most timing attacks because it is averaged out. I may be wrong though

</comment></comment></comment></comment><comment><USER24> This is cool. Since, I know rust, I will be auditing source code tool soon and will write up, if I find any thing.

</comment><comment><USER25> > Years of testing and battle hardening? No, it's super green. But hey, if you > try it you'll help make it less green!

I'm interested: how long does it take for a piece of critical software like this to gain widespread adoption with a non-shite incumbent?

<comment><USER15> Having it in all Linux/Unix default repos would certainly help?

</comment></comment><comment><USER26> This looks really neat. A fresh codebase creates the opportunity for some new things that would otherwise be breaking or hard to implement, as the author seems to have done.

</comment><comment><USER27>
    	  curl -O https://oxy-secure.app/oxy
    	  chmod +x oxy
    	  ./oxy --help

All the signs of a security conscious developer.

</comment><comment><USER28> Having an alternative to SSH is appealing, as SSH is pretty much required for most servers but it is also target of most attack vectors. If Oxy becomes production-ready, I'd definitely consider using it so I can block all SSH and eliminate SSH brute force attacks on my servers. As for SSH security, I strongly recommend Fail2Ban, alternate SSH port number, and requiring key- based authentication.

</comment><comment><USER29> >Well how does rsync work, then? rsync relies on executing a non-ssh helper program on the remote.

And that's a bad idea why?

<comment><USER30> It is a "bad idea" in terms of attackable footprint, although I don't think it was being called out as a bad idea in this page, more of clarification that the stated feature really doesn't exist in SSH.

<comment><USER29> >It is a "bad idea" in terms of attackable footprint

So the more the features jammed in, the safer? Something about that doesn't seem alright to me.

</comment></comment></comment><comment><USER31> I'm not a security expert, so could one of the security experts who frequent HN weigh in on this? Otherwise this looks super cool.

<comment><AUTHOR> I'm not a security expert and can only point out one thing that I noticed from my knowledge from network security class in college:

>Upon successful verification of the signature contained in the third message (and verification that the eight-byte timestamp is current), the server proceeds to send three symmetrical messages: a long term server public key, an ephemeral server public key, and a signature message authenticating the ephemeral key.

This might be vulnerable to replay attacks. The user proves freshness of his request by sending a signed unix timestamp, the server however doesn't seem to do that.

Shouldn't compromise the security of the protocol, just one thing that I noticed.</comment></comment>


Tesla tuner develops Model 3 mods to improve drag, efficiency, and range - <AUTHOR> https://electrek.co/2019/03/13/tesla-model-3-mods-drag-efficiency-range-unplugged-performance/ <comment><AUTHOR> I think some of these ideas are pretty good (front spoiler lip) but others are a bit too radical for my tastes (lowering the car). I'm pretty skeptical that a third party tuner could squeeze this much CD performance out of a car that most definitely has been tuned for minimum CD already. However, as the article states, 3rd party tuners don't have to play by the same rules as a company trying to sell a car in multiple countries to different types of buyers. And the fact that the add-ons could possibly pay for themselves over the life of the car? Wow, that's pretty unusual!

<comment><USER2> Citroen have a long history of pneumatic suspension in their cars. In principle you could increase the ride height at lower speeds, and lower it at higher speeds, so you could get the best of both worlds.

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

<comment><AUTHOR> Tesla Model S also has the ability to have an pneumatic suspension and it does things like lower the car at highway speeds. It also does neat things like raise the car up when you go to that grocery with all the large speedbumps in the parking lot.</comment></comment></comment>


How I 'stole' $14 million from a bank: A security tester's tale - <AUTHOR> http://money.cnn.com/2013/05/15/technology/security/bank-heist/index.html

<comment><USER2> On a not so unrelated experience from many years back, pick a large bank, find the training room. Pick your flavour of thumb/floppy image unix/linux and boot of that and run tcpdump, then realise scary how some training rooms not as isolated from the real network/systems as training for many are live systems with training accounts/logins :(.

Another common issue is find a fire exit with disgarded cigerrete butt's and odds are somebody has taped over the door sensor or disabled it and you can just break into the building that way without an alarm going of. Done the going in as weekend to do a cleaning job which was covert security audit and found we could of just gone up the external staircase and in via a fire exit thanks to smokers and there adictions.

Also was common on trading floors to find unapproved modems so the blessed keeness could catch up from home or at weekends, nowadays how many end up trojaning there own pc's so they can remotly work without official sanction from IT and the security department.

Biggest fault in most systems will be the staff, one way or another, intended or not.

Like I said, more you look into it the more you store under your matress :).

</comment><comment><USER3> _'Rather than steal money from depositors' accounts, Bhalla just invented a new account for himself. "We went into the database where the accounts are and set up an account with $14 million," Bhalla explained. "We just created $14 million out of thin air."_

I remember the first time I discovered this is how banks operate when I was a kid. It's really pretty mind-blowing when you think about it. And knowing how full of bugs most software is it really made me question the entire banking system. (My mind has still yet to be put at ease on that...)

<comment><USER4> Oh, absolutely. People think of money in very concrete terms. Like physical currency.

But that hasn't been the case for a long time. Today, money is just a few bits in a database here and there. And of course, making yourself a millionare (or billionare) is as easy as inserting a row into a database.

Here is the important part: While the article insinuates this creation of money out of thin air as a victim-less crime, it is not!

Even worse, the bank does _not_ lose a penny from this type of criminal activity. The ones who pay for it? We all do. By creating money out of thin air, you are increasing the money supply, which pushes up inflation due to higher demand for goods, which in turns reduces the value of the currency.

In other words, when you create money out of thin air like this, you are taking a tiny bit from everybody who uses the currency! Theft on an absolutely universal and massive scale!

<comment><USER5> To kind of play devil's advocate here, then does this mean that every time the government prints money, they're stealing on "an absolutely universal and massive scale"?

I'm not trying to discredit you, it's just kind of an interesting thought.

<comment><USER6> Essentially, yes. The government printing more currency is roughly equivalent to levying a tax on all holders of that currency, in proportion to the amount held.

<comment><USER7> ..which is interesting when you consider the uproar in Cyprus over the taxing of savings accounts. "Taxing savings" sounds so much worse than "printing money", but in fact it was better in some ways, because the tax could be applied progressively[1], so that wealthier individuals were taxed proportionately higher. It's probably worse in other ways, for example it probably does more to erode confidence in the banking system overall, which is perilous.

* - I realize this wont seem 'better' to everyone, but at-least taxing savings has the option of selective application. Printing money hits everyone the same.

</comment></comment></comment></comment></comment><comment><USER8> I feel like there should be secondary checks for things like this. When I was running a MMORPG, I was terrified of duplication bugs ( _dupes_ ). In many ways, _dupes_ have the same effect on a game economy as this type of theft has on the real economy: it can go unnoticed for a long time, and the victims are primarily the masses (money supply) until someone finds out.

Since we didn't have any network security professionals on our team, I was especially worried. What we realized though, was that we kept a detailed log of all item/money creations/deletions, where trades were just a creation/deletion pair. Thus, we wrote a script to learn what the most expensive items (and thus most costly, if duplicated) were at any given time, and match creations to deletions with a frequency increasing with item value. Whenever there was a discrepancy, we were alerted.

I suppose banks could do something similar. If they separate the money transfer system from the account creation system, they could add an additional layer of security. I haven't really thought out the details, but it makes sense at first glance. Perhaps they already do something like this?

<comment><USER9> Adding another system to the mix is just another system that can be vulnerable to an attack. Once someone is in and they understand how everything works, there is no stopping them.

<comment><USER10> I wouldn't say he's describing "adding another system to the mix," at least not in a traditional sense; it's more along the lines of two distinct systems working towards a similar goal.

What he described is an auditing system with some particular policies of interest to a specific use case. Such a system should not have any direct access to the main system, and should ideally live in a fully segregated environment with tightly controlled read-only access to a copy of the data being audited.

The whole idea is that this system would not announce its presence on the network in any way so that the attacker is more likely to miss it. Even if the attacker does know that it's present, he should not know all the checks and validations that such a system uses to detect suspicious behaviour. Hell, you could air-gap the entire thing and just copy over data dumps by using USB sticks.

Granted, even in that situation you could get something like Stuxnet which may compromise the machines. However, if you have the resources to build another Stuxnet, chances are you don't really need to get into a bank network.

</comment></comment></comment><comment><USER11> I talked to a guy a few years back that used to do this as his full time job, but the constant law-suits that ensued drove him to stop doing this kind of pen-testing altogether. most companies just hired them to check off a list and when the security firm actually found something the client would try to sue the pants off of them for "violating there systems" even they they had full knowledge, signed forms, etc... too much hassle for them...

i personally would love to do this kind of work, legally breaking into a system to see if it could happen would be very entertaining.

<comment><USER12> I used to do this same thing and never heard about pen testing firms being sued by their client. Most likely he was spinning a yarn.

It is more likely that a security consulting firm will be sued if they report no issues and the bank is later compromised.

</comment></comment><comment><USER13> I really do not understand how cybercriminals sophisticated enough to conduct these sort of heists would then go and deposit all the physical cash into the nearest bank account in the same country?

Or perhaps we only hear of the _unsuccessful_ heists...

<comment><USER2> Oh he was testing and seperate compliance system should (legal remit in many countries) highlight any transactions over a certain amount, £10k I believe in the UK. So yes it would of stuck out like a sore thumb in audit checks.

If he was serious it would of been many different accounts/transaction and then gets into the arts of money laudering/avoiding the first like auditors/checks.

Yes you do only hear about unseccessful heists, though the times are changing with regards to being more open.

In short he was testing the security of the bank and not the auditing and laudering aspects, which is when you need somebody with some accounting knowledge and banking knowledge.

<comment><USER13> I was referring to the actual heist at the bottom of the article.

</comment></comment></comment><comment><USER14> It's fascinating to think about how overall economy might be affected by simply adding a row to a database. Did that money actually become real when that row was created? If the money was withdrawn and spent, wouldn't it be real then?

Makes you wonder about the regulation of money in general.

<comment><USER15> No, hacking one bank doesn't really impact the wider money supply. The Federal Reserve serves as the bank's bank. It knows how much each bank has, and the individual banks are limited as to how much new money they can create in relation to their credit at the Fed.

But if you hacked the Fed itself, yes, you'd be creating new money.

<comment><USER16> True, BUT because banks operate on a fractional reserve system, it's quite likely that banks have available credit for lending (or creating, in the event of an error such as this) for such a small amount without exceeding their fractional reserve. In other words, banks only have to hold 10% [1] of the money in everyone's account. The rest is loaned or otherwise invested to generate returns.

So in a sense the money created IS real. At least, as real as any other money in a bank account.

[1]: [http://en.wikipedia.org/wiki/Reserve_requirement#United_Stat...](http://en.wikipedia.org/wiki/Reserve_requirement#United_States)

<comment><USER15> True, in that sense you're essentially forcing the bank to make a loan they didn't intend to make (which does indeed expand the broad money supply).

If the bank had sufficient excess reserves, other banks would honor the new money. And today most banks do have big excess reserves (which is historically unusual).

</comment></comment></comment></comment><comment><USER2> Oh the perception people have on security is varied and TV and hollywood makes it look easy, we think banks are hard and professional and reallity is a mix of the two. Some good, some exceptional and some fall short of expectations. Been many clever and not so clever ways of stealing from banks and also been some amazing and clever ways banks have stole of customers and non-customers as proven in times recent. Sad part is you steal from bank, then you break the law and if a bank steals from you, it is usualy goverment sanctioned as in the case of Greece.

Though any tester who did pentesting on banks would of signed a NDA and if not, somebody really messed up and how are we reading about this within 10 years of it happening!

<comment><USER17> While sanctions for violating an NDA during an assessment aren't usually defined explicitly in the contract, most security firms would never divulge methods and results even in a sanitized account like this. Security firms rely upon their reputation since they're get a good look under the kimono.

That leads to either the bank approving of this article or Security Compass having loose lips. I can't imagine a bank signing off on releasing this info, as it paints bank security in a bad light.

I expect that somewhere, someone is contacting their internal IT staff to find the SOW for this pentest, and then contacting their legal dept.

<comment><USER2> Well said and you have to laugh about the security of security companies now, but as you said it is reputation and trust is earned slowly and lost easily.

</comment></comment></comment><comment><USER18> > His client gave him access to the bank's internal network.

That's just making it too easy.

</comment><comment><USER19> If only Security Compass was an anagram of Setec Astronomy...</comment>


Ask HN: At what point does it stop being a program and start being AI? - <AUTHOR> <comment><USER2> AI algorithms try to mimic some aspects of human biology or human behavior to solve problems that cannot be solved quickly using polynomial time algorithms. If the program's core is based on AI h, then you can loosely call 'em "AI programs".

You can think of AI as "imprecise computation". If you can improve precision over time, it becomes "machine learning" (this being the current buzzword of the field).

Note that I don't agree with simple rule-based systems being classified as AI, even with that naming being heavily used on games.</comment>


NP-3 Nitrogen Plastic Welder - <AUTHOR> https://prospot.com/products/np-3/ <comment><AUTHOR> This article is sort of a note-to-self that it's actually possible to perform material joining with plastic once the plastic has already been set (using nitrogen apparently).

I don't know about you, but until I saw this article, I didn't think that was possible.

There's sort of a greater theme here, from a tinkerer perspective, which is "all of the ways that two materials could but cut, and all the ways that two materials could be joined together."

Think a hacksaw and crazy glue (two of the simplest methods).

But, from a materials science perspective, I'd like to know (or eventually one day compile) a spreadsheet or something like one which contains like every material, every other material that it could be connected with, and how to split them and how to join them (or at least the best ways).

Sounds pretty crazy right?

Well, I think that if someone wanted to build a spaceship one day (well, cheaper than Elon Musk anyway), then you'd want to know all of that...

<comment><USER2> > every other material that it could be connected with, and how to split them > and how to join them (or at least the best ways)

In that case you are going to love this: [https://en.wikipedia.org/wiki/Ultrasonic_welding](https://en.wikipedia.org/wiki/Ultrasonic_welding)

<comment><AUTHOR> You are quite correct, I do love that! That's a great link! Please submit it to HN as a stand alone article (hmm, I wish comments could be favorited on HN, you'd definitely get a 'favorite' on this one). Why do I love it? Well, it's brilliant, but in addition to being brilliant also there might be something there that's subtle that could help us understand atoms, atomic forces, and/or matter better. What that is, as of yet, I do not know, but my intuition tells me "there's something there". Anyway, thanks again for the great link!

</comment></comment></comment><comment><USER3> Nitrogen welder, only $3,744.00

Polyethylene and HDPE are tough to weld. I often use my $40 hot glue stick gun with a $20 pack of infinity polyethylene bonding glue sticks from Super TAC 500.

I preheat the surfaces to be bonded with a DrillMaster heat gun ($14.95 at Harbor Freight)</comment>


Haskell Is Exceptionally Unsafe (2012) - <AUTHOR> http://existentialtype.wordpress.com/2012/08/14/haskell-is-exceptionally-unsafe/ <comment><USER2> As others have said, it's not nearly as bad anymore as It was when Bob wrote that post, but I would say, please do not take that as a reason to not take what he says very seriously. I use haskell because it is a very practical tool, (bona fides: I am an experienced haskell developer and I actually use it full time for my job---not an armchair evangelist) but it has become very clear to me that the next great thing will be more like ML than like Haskell. There are of course many important lessons to be learned from Haskell though!

<comment><USER3> Since there aren't a lot of full time Haskell developers, I'm curious to know what do you use to setup your projects and handle dependencies:

hsenv, cabal-dev, cabal sandboxes, nix, stackage ... or do you include everything in your repository (any tool to automate that)?

<comment><USER4> Full-timer here. I use cabal sandboxes heavily and recommend you do so.

Nix is great but you have to take some time to set it up and learn it - sandboxes are pretty standard and work as you would expect with ghc-mod (not that Nix doesn't I just had more time invested in getting it and the tooling setup to use it as a "dev environment" \- cabal sandboxes are much simpler).

Stackage is great too, btw.

<comment><USER3> Thanks. Since we got the ball rolling (I planned to ask it on some mailing list, but I kept procrastinating to write a semi-formal mail).

Do you know of any way to use multiple stackage repositories? (for now it's not a problem, but I envision a future when I'll have dozens of projects, and updating everyone of them to use the same library versions might not be feasible)

I know that I can `cabal --config-file=/path/to/cabal.config` but I'm wondering if there's an easier way and/or any convention

I'm especially worried of forgetting something (like reusing the same ~/.cabal for multiple stackage-cabal configs)

<comment><USER4> I haven't actually tried to use multiple Stackage repos. I only think it's great because I helped a friend get started in Haskell and chose to see if Stackage would help with his cabal hell woes (it did and made the experience more pleasant).

In general though, I think stuff like Stackage is a community smell and has the potential for creating a schism and confusion in the community. If it's community infrastructure I also feel like it should be controlled by haskell.org and not a for-profit company.

I know I know, money and man-power are all issues but other OSS languages have successfully figured it out and I think Haskell can too.

I personally use Nix for everyday development.

</comment></comment></comment></comment></comment><comment><USER5> I'd like to point out that the example at the end of the blog post is only runnable in GHC 7.6 and Older. As of GHC 7.8, you can't define your own custom typeable methods, you can only ask GHC to derive a typeable instance

</comment><comment><USER6> >The most blatant violation is the all too necessary, but aptly named, unsafePerformIO

The only time it's necessary is when you're using the FFI or working with language internals, at which point there's really no way for the type checker to work anyway.

One should avoid using exceptions in pure code. This is well established. Instead, use any of the many type-safe exception mechanisms, like Maybe or Either. Having written probably in the high thousands or low tens of thousands of LoC of Haskell, I've never once used a user-defined exception or undefined.

The point of this article seems to be "If your code breaks, it's no longer type safe.". I don't think this is news to anyone.

<comment><USER7> It's the kind of unhelpful, overly simplified dismissal that HN is known for.

You should recognize that your opinions about how people _should_ use your favorite programming language are not "more or less objectively true".

Context: the post I'm replying to used to end with a complaint that people would downvote something that's "more or less objectively true", and a request that people should explain why. I can't downvote, but I can explain.

<comment><USER6> The fact that people should use good coding style _is_ "more or less objectively true". I'm surprised _that_ is the part you take issue with.

How is this dismissal overly simplified? What have I failed to take into account?

</comment></comment></comment><comment><USER8> There was some discussion on this topic a while back which I remember. For convenience, it is linked here: [https://news.ycombinator.com/item?id=4380900](https://news.ycombinator.com/item?id=4380900)

</comment><comment><USER9> I want to question the importance of soundness in type systems. Suppose you could catch 99% of type-based errors instead of 100%, and in addition, use a compiler switch to see all the case statements where a class of a type is missing. The intended benefit of this system is that it accepts all correct programs. Correct meaning, the program runs and returns the correct answer.

Would such a language be viable? Or is it absolutely necessary to catch all possible type errors. In the past, tools like lint have been considered useful, although lint is not at all the kind of type system that I envision, namely a system that is in practice catching all the errors that ML catches -- it just doesn't (and cannot) guarantee it catches them.

The restrictive nature of static type systems today is legendary, but I wonder sometimes whether people realize how restrictive they are. If you can't make your idea work with functors or typeclasses, chances are good there's no way to get it to compile and you have to write functions in longhand.

<comment><USER10> There is always idea of Gradual Typing [1] which has been implemented with varying degrees of success. There are also a large set of static analysis theories/tools which can help here.

It is also worth noting that if you dont want (global) type inference, you can get far in a language with permissive casting, type annotations and local inference. The results aren't a panacea though.

> Suppose you could catch 99% of type-based errors instead of 100%, and in > addition, use a compiler switch to see all the case statements where a class > of a type is missing.

I am not quite sure what you mean by this. Care to elaborate? (In general, with inference systems, missing type information is hard(ish) to localize. So pointing out where exactly a type error occurred is non-trivial)

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

<comment><USER9> I'm thinking of a system with valueset inference where valuesets are not necessarily disjoint. So the system may infer that a return value is the disjunction {INTEGER | REAL}.

In order to get precision in checking, a lot of computation needs to be done so the compiler relaxes the precision when facing large disjunctions (networks) of constraints.

Dynamic checks are inserted as necessary but a system that relaxes when things get hairy can't guarantee that it will find all errors at compile time.

The idea is similar to Soft Typing of Cartwright and others, but they were thinking of an interactive system, some kind of programmer's aid. If I recall they ran into problems giving reasonable error messages.

<comment><USER11> The problem with this idea, at least compared with current implementations of Haskell and OCaml, is that it requires runtime type information. Right now, Haskell and OCaml both perform erasure, and the only kind of runtime type information used is for the GC, but if you have two ADTs with identical structure (number of branches, payloads) but different names (i.e. they are different types), they will be encoded in the same way. So, in order to tell them apart, you would need some additional type information, which would require changes to compilers and would probably performance characteristics.

</comment></comment></comment></comment><comment><USER12> Harper's an accomplished person in CS and has done great work, but he's not putting a good argument forward here.

I've talked to Harper about this post and his opposition to Haskell before. I mentioned that it was leading people to believe they could ignore typed FP, not redirecting to an ML derivative. Harper expressed dismay at this.

There are more advanced languages than Haskell, they aren't ML, and PL researchers/experimenters are still working out how to make them work nicely for day to day stuff.

First: [http://www.cs.ox.ac.uk/jeremy.gibbons/publications/fast+loos...](http://www.cs.ox.ac.uk/jeremy.gibbons/publications/fast+loose.pdf) (This isn't a throw-away reference, informal reasoning has worked extremely well in practice. Yes, I'm making _that_ argument as a user of a pure, typed FP language.)

unsafePerformIO is primarily used to change thunk-memoization behavior [1]. Also, it says unsafe right on the tin. Nobody uses it in practice in ordinary code. It's not something you have to incorporate when reasoning about code.

Giving up reasoning about your Haskell code as if there were semantics- violating unsafePerformIOs lurking in the depths is similar to giving up reasoning about any code because a cosmic ray might flip a bit.

Lets consider the rather remarkable backflips Standard ML and OCaml had to perform in order to make FP work with strictness and impurity.

You can ignore unsafePerformIO because very very few people ever need it and you'll almost never have a reason to use it. Just don't use it.

Similarly, writing total functions is the cultural default in Haskell. The compiler warns on incomplete pattern matches which you can -Werror as well.

You can't define your own Typeable instances as of GHC 7.8 - only derive them, so that soundness issue is gone. Typeable itself is not popularly used, particularly as SYB has fallen out of favor. One critical aspect of why I like Haskell and the community around it is the willingness to fix mistakes. Meanwhile, ML implementations still use the value restriction.

>the example once again calls into question the dogma

Oh please. Haskell is an ensemble, multi-paradigm language with the right defaults (purity, types, immutability, expressions-only) and escape hatches for when you need them.

Haskellers appreciate the value of modules a la ML, but typeclasses and polymorphism by default have proven more compelling in the majority of use- cases. There are still some situations where modules (fibration) would be preferred without resorting to explicit records of functions. For those cases, Backpack [3] is in the works. It won't likely satisfy serious ML users, but should hopefully clean up gaps Haskell users have identified on their own.

Harper's case is over-stated, outdated, and not graced with an understanding of how Haskell code is written. Informal reasoning works if the foundations (purity, types, FP) are solid.

[1]: [https://github.com/bitemyapp/blacktip/blob/master/src/Databa...](https://github.com/bitemyapp/blacktip/blob/master/src/Database/Blacktip.hs#L47-L54)

[2]: [http://caml.inria.fr/pub/papers/garrigue- value_restriction-f...](http://caml.inria.fr/pub/papers/garrigue- value_restriction-fiwflp04.pdf)

[3]: [http://plv.mpi-sws.org/backpack/](http://plv.mpi-sws.org/backpack/)

<comment><USER13> "There are more advanced languages than Haskell, they aren't ML, and PL researchers/experimenters are still working out how to make them work nicely for day to day stuff."

Examples, please. (I like bright, shiny things.)

<comment><USER14> Perhaps Coq, Agda, Idris, and other such dependently-typed languages are to be considered, at least in some dimensions, "more advanced" than Haskell.

<comment><USER15> I wouldn't say full-blown theorem provers (Coq, Agda) are really in the same category as Idris, which is supposed to be more practical.

<comment><USER16> Why not? I'd say that Agda/Idris/Coq are substantially the same languages with variation arising only in the kind of styles of coding they emphasize.

<comment><USER15> But isn't this a variant on the old "but it's Turing-complete, therefore you can do anything" fallacy? Sure, their type system may be similar, but the question is, which one will let you write, say, a robust, maintainable HTTP client with the least amount of pain?

<comment><USER16> I suppose that's true. I guess in my eyes DTs are such a meteoric difference that Idris is not sufficiently more interesting than the others yet. But time will tell if they manage to build a better way to manage proofs, for instance, they could really change the game.

<comment><USER12> That there is no game-plan for doing anything any better than Coq presently does is why I'm a bit skeptical. The trimmings are nicer - nothing else as of yet.

<comment><USER17> The elephant in the room in these discussions is that the cost of bringing a function compiler to fruition is so high that too much of the discussion gets muddled in the semantics of these hypothetical Haskell-successor languages while no one is actually working on said language. Academia simply isn't set up to incentivize large engineering projects, and industry would never invest in building such a thing either since there's no profit in language dev sadly.

The blunt truth is that at the end of the day Haskell works today, period, and until someone actually forks or starts writing a new language very little of these criticisms of Haskell actually matter if the answer to "what should I use for my project at work" is "well it doesn't exist yet, but it has modules and extensionality and a magical pony that shits money".

<comment><USER12> This is more or less where I stand as well. Haskell has an efficient RTS, well designed compiler, best-in-industry concurrency, good-enough type-safety that is light-years ahead of even things like Scala, and a good library ecosystem.

It's ready _now_ and I'd like to begin work with Haskell in the hopes that industry wakes up to the utility of future successors to Haskell by seeing Haskell itself in action.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> So basically it is "unsafePerformIO" and "error" that is the problem?

So if you do not use them (which I never do and it is recommended not to) then the problem is not relevant?

<comment><USER19> I think the main problem here is that it's not just you, but also your transitive dependencies.

</comment></comment><comment><USER20> Here the reddit thread about this article, from 2 years ago: [http://www.reddit.com/r/haskell/comments/y74vn/robert_harper...](http://www.reddit.com/r/haskell/comments/y74vn/robert_harper_haskell_is_exceptionally_unsafe/?already_submitted=true)

</comment><comment><USER21> Being unsafe never stopped Ruby or PHP, while Ada is still nowhere.

<comment><USER22> Tell that next time you get on the plane.</comment></comment>


Engineering Managers Managing Remote Teams - <AUTHOR> What are some of the unique challenges faced by engineering managers managing remote/distributed teams? <comment><USER2> Building strong trust is IMHO _much_ harder remotely. That affects both manager/employee trust and trust among employees remote from each other. And without strong bonds of trust, certain things get much harder, such as negative feedback, even when delivered constructively.

Note that I'm not saying you _can 't_ build strong trust, just that it's harder. You have to devote considerably more thought and _intentional_ time to it. I say intentional time because when you're local to someone, you naturally build trust with them in every small interaction. In a remote setting, you need to create time and space for those interactions deliberately.

<comment><AUTHOR> Thanks. Are there any specific steps you take to build trust with remote employees?

<comment><USER2> Oh, and GitLab has put some AWESOME resources online about being a fully remote company. I've spent hours reading their employee handbook. Here's a place to get started: [https://about.gitlab.com/company/culture/all- remote/](https://about.gitlab.com/company/culture/all-remote/)

<comment><AUTHOR> thanks

</comment></comment></comment></comment><comment><USER3> We've just made an online conference on managing remote teams, you should check out the recordings: [https://6nomads.com/remote- conf](https://6nomads.com/remote-conf)

I'd recommend watching Andrei Rebrov (CTO & Co-founder at Scentbird) and David Tabachnikov (Co-CEO at ScholarshipOwl)

</comment><comment><USER4> Getting things done.

<comment><AUTHOR> Do you have any recommendations on what actions you take to getting things done from remote team?</comment></comment>


Show HN: Catslack - <AUTHOR> https://github.com/influxdata/catslack <comment><USER2> Why require the string "EOF" at the end? Wh not wait for the actual EOF? Does it do multiple messages from the same pipe?

Edit: no, it doesn't. If you want to change this, you can use [https://golang.org/pkg/io/ioutil/#ReadAll](https://golang.org/pkg/io/ioutil/#ReadAll) instead of bufio scanners.

<comment><USER3> I submitted a pull request to fix that issue, plus a couple of others over at [https://github.com/enzanki-ars/catslack](https://github.com/enzanki- ars/catslack).</comment></comment>


Ask HN: which framework you are using for your web app? - <AUTHOR>

I'm interested in knowing which frameworks HN crowd is actually using for its projects. May I know your web app's link and framework used? <comment><USER2> Pyramid framework at current job. The website is up but not yet completely open to public. Goes live in April.</comment>


The American Express Blues - <AUTHOR> http://www.avc.com/a_vc/2009/05/im-feeling-the-costs-of-credit-card-fraud-and-defaults.html <comment><USER3> I had really horrible experiences with Amex, but on the opposite side, as a small business owner. In my opinion (libel zone here) they purposefully squeeze very small businesses, as a matter of policy.

American Express came very close to sinking my business, having to tell employees that their paycheck was late, even though we had crossed every T to make sure that our customers payments were on time, due to American Express causing problems that would purposefully keep large payment amounts in their own coffers for the smallest and most manufactured of "issues", was one of the worst experiences of my professional life.

You know how customers who are "king" often fume that they supposedly will "never do business again" with some company due to some perceived slight? Well, I am fully aware that I may lose business, lose money, and fail to get customers for my choice, but they hurt me, my reputation, my sanity, my employees, so badly with their selective policy enforcement that I will truly never do business with American Express again. You have to draw the line somewhere.

</comment><comment><USER4> Counterpoint: BofA suspended my account because of a suspicious $1 charge. They thought it might be a probe to to see if the account was active before flooding the account. I looked at the charge and it didn't look like anything I had seen. Two days later I got a new card.

</comment><comment><USER5> A question: Why does AMEX matter? I had a card (for a startup, a long time ago), and I found that most places just didn't take it.

Was I missing something? Did they have other functionality that made them worthwhile?

<comment><USER6> Off the top of my head:

* Amex cards don't have pre-set limits. That's now true of many other business cards too, but the fee structures still differ. Visa allows/expects/hopes you'll carry a balance on your card. Amex disallows it.

* In business-to-business situations, everyone accepts Amex.

* Amex has absolutely killer customer service. There is simply no comparison. Amex dispute resolution is "default deny" to merchants; when I've contested charges, I've never spent more than 5 minutes on the phone. Total. I feel safer charging big-ticket items on my Amex than on any other card.

The major difference between Amex and Visa is the business model; Visa is a payment system that works through card-issuing banks. Your relationship isn't with the card; it's to some bank. Amex is a company, and your relationship is to Amex.

<comment><USER7> The problem here is that "default deny" means merchants are constantly chasing after Amex to actually get money owed them - disputes are a particular hassle for Amex as compared to Visa/MasterCard. Besides which, merchant costs are higher with Amex. In Australia at least it's the exception now to support Amex and additional fees are charged by the merchant to cover these hassles.

<comment><USER6> This "problem" seems like a major feature to me.

<comment><USER7> Except there is no way for merchants to prove themselves - they can do phone authorisations, take copies of driver licences, get signatures and more and they are still out at the end of the month. What's more, Amex will either withhold the money, or if a late chargeback debit it straight from other money Amex owes the mechant before even settling the situation. Merchants shouldn't be penalised because Amex doesn't have a sufficient authentication mechanism.

Visa (or your bank) manage to reconcile the situation first.

<comment><USER6> I've never had a fraudulent charge on my Amex. I'm talking about "disputes", like, "you wouldn't let me get on the next flight out after you canceled my previous flight out, so I bought a full-fare coach ticket to get the fuck out of town and then charged it back to you". That has worked for me with Amex, and so they have me for life.

<comment><USER7> Except what you are doing is wrong if you agreed to their policy of no refunds in the first place.

<comment><USER6> I've screwed over an airline that didn't keep its promise to fly me somewhere on the date/time agreed on. And yet somehow I sleep just fine at night. Odd, isn't it?

<comment><USER7> I hate to be this guy but you violated a contract that you agreed to. If you weren't happy with their refund policy you shouldn't have bought their ticket.

<comment><USER6> Oh well. They lose.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I can only speak to my personal gold card (which is pretty new) but I've also had issues with my card being frozen unexpectedly for charges they thought were illegitimate.

I think the big rub here is that American Express will freeze your card without informing you first. This leads to the uncomfortable situation where you try and swipe the card and it is immediately declined

Hopefully things will settle down in the next few months.

What I can say is that so far AMEX customer service has been top notch - <USER2> issues have always been handled promptly and professionally . Their travel services division also came through in a pinch a few months ago.

</comment><comment><USER9> I have an American Express Plum Card, never had any problems with charges and really depend on the card to help my cash flow.

</comment><comment><USER10> Always paying your bill and never being late may not be their idea of a perfect customer. Especially if we're talking about Blue which is just a regular credit card and accrues lucrative interest if you don't pay it in full every month.

<comment><USER6> Don't know about Amex Blue, which a business certainly isn't using, but all charges on Amex Gold and Business cards are due when the statement arrives. I'm pretty sure you're wrong about Amex's idea of a perfect customer.

</comment></comment><comment><USER11> I've had the same problem. My credit history is perfect, I've had at least one American Express card at all times since 1998, and they recently flagged a $150 purchase at Staples (on a corporate card) as fraudulent. Then they did it again when I bought a computer. I've never had this happen at all until last month.

<comment><USER6> How long did it take in each case to resolve the problem? If you're just losing 4 minutes on the phone with Amex customer service, I'm not really worried about my card.

<comment><USER12> That's a stressful 4 minutes arguing with someone on the phone, while trying to avoid the annoyed glares of the line behind you, that I'd rather not spend.

</comment></comment></comment><comment><USER13> Does anyone know of a site on the net where AmEx customers have come together to complain or at least contribute anecdotes so we can get an overall feel of how many customers this is really affecting?

If venture capitalists are getting their purchases denied, this concerns me as a small business owner because I depend on my amex card more than anything else to make purchases for my business and having my buyer protection and ability to make large purchases disappear would be pretty devastating. Buying goods like computers and furniture from multiple vendors with cash out of my bank account is an awful idea that should make anyone uneasy, business owner or not.

And if AmEx is actively shutting their largest and most high-profile accounts down, I'm not sure how easy it would be to get a new "unlimited" line of credit in this environment, with AmEx or any other company.</comment>


Unwritten Google Webmaster Guideline: Don't End URLs in .0 - <AUTHOR> http://www.seomoz.org/blog/unwritten-google-webmaster-guideline-dont-end-urls-in-0 <comment><USER2> Fixed: <http://www.mattcutts.com/blog/dont-end-your-urls-with-exe/>

</comment><comment><USER3> I'd bet it's a line or two of code that, at one point, seemed like a downright brilliant hack/idea to the engineer writing it - and, like so many other "inspired moments," it's come back to haunt...

Definitely weird, though!

</comment><comment><USER4> Really you should make everything lower case, dashed delimited and keyword based.

/Latest_Fad_About_Web.2.0 should be /latest-fad-about-web-2-0

This format is expected as of 2007ish. It helps immensely in making your url packed with keyword goodness that works on all case sensitive systems and spiders.

<comment><USER3> Expected by _whom_?

If you're saying Google expects this kind of URI format, then they should probably say so :)

</comment></comment><comment><USER5> Was Google trying to prevent UNIX log files from indexing? Maybe man pages? In any case this looks just weird.

<comment><USER6> log files was my first thought :).

<comment><USER7> There are also some file compression/installer utilities (Stuffit, Innosetup) that split their contents to file extensions like .0 (.1, .2, etc.). If Google avoids indexing things like .tgz and .zip, it would make sense to avoid these binary files as well.</comment></comment></comment>


Playtime's Over - <AUTHOR> https://www.technologyreview.com/s/603504/playtimes-over/ <comment><USER2> And yet, I will continue developing whatever and whenever I want, I may even skip that and just play instead.</comment>


Ask HN: Does a privacy first Google Photos exist, and if not, why? - <AUTHOR> I love the convenience of Google Photos, that provides the all your photos and videos from an app, always accessible.
But I strongly dislike that the whole thing is unencrypted, and with the data leak that occurred previously, it feels even less motivated to store my photos there.
Is there a privacy first alternative with great UX, and if not, are there some obvious reasons why there doesn't exist alternatives? Technical or otherwise. <comment><USER2> I'm building it. You host it (either in your local computer or on a cloud droplet that you own), so your data stays yours.

This last beta release is free in exchange for your feedback, then there will be free and paid subscription tiers. Here's what's coming: [https://photostructure.com/about/v-0-8/](https://photostructure.com/about/v-0-8/)

Here's why I'm building it, and how it's different: [https://photostructure.com/about/introducing- photostructure/](https://photostructure.com/about/introducing-photostructure/)

<comment><USER3> Do you strip geotags?</comment></comment>


Elon Musk's space ship Dragon 'can land on Mars' - <AUTHOR> http://www.theregister.co.uk/2011/04/21/musk_mars_dragon_claim/print.html <comment><USER2> Note that a crew escape system, what the article treats as an absolute minimum for a manned vehicle, doesn't exist on the space shuttle for budgetary reasons. The space shuttle has many, many abort modes[1], but absolutely nothing can be done while the solid boosters are firing, since you can't shut them off or detach them from the stack.

Maciej Cegłowski (pinboard.in) complains at length about this in an essay[2] about the space shuttle.

[1]: <http://en.wikipedia.org/wiki/Space_Shuttle_abort_modes>

[2]: <http://www.idlewords.com/2005/08/a_rocket_to_nowhere.htm>

</comment><comment><USER3> This is excellent.

Many human Mars mission architectures use an Earth return vehicle that is separate from the outbound vessel. The requirements are very different, and there's an overwhelming advantage to placing an Earth return vehicle on the surface ahead of time to produce the methane fuel for its return flight in situ ahead of time, so a vessel that can get astronauts out to Mars without being able to return them is still an important contribution.

On a poignant side note, the article notes that the only feature Dragon now lacks to become qualified for carrying humans is a launch abort system; the original Space Shuttle was designed without a launch abort system.

</comment><comment><USER4> It's nice that it has this capability, but it's still not an ideal Mars lander, and I think the economics work out that it's cheaper to design a new ship than to send a non-ideal ship all the way to Mars.

For instance, the Dragon's heat shield is (I assume) far heavier than it needs to be for a Mars entry. A purpose-built Mars lander could be made significantly lighter than a purpose-built Earth lander, and sending unneccessary weight to Mars winds up expensive.

Besides, there's going to be a lot of custom hardware needed for a manned Mars mission anyway. At a minimum you'll need a large "Command Module" for the astronauts to travel in (sitting in a Dragon ain't gonna cut it for a one-year voyage) and a custom-built Mars takeoff craft.

<comment><USER5> I went and carefully read the statement. It says the capsule can carry crew, and that the capsule can land on Mars. It did not say that the capsule can _carry crew to Mars_ , which is a wildly different thing. I think the Register added that accidentally.

I don't think that's possible, because solving the equations to carry enough supplies to get the crew to Mars alive while still being able to stop when you get there almost certainly has no solution with any capsule primarily designed to get to Earth orbit. On the other hand, merely getting hardware to Mars if you don't care how long it takes can be relatively low energy [1], which would also be an orbit not requiring a lot of propellant to enter Mars orbit.

[1]: <http://en.wikipedia.org/wiki/Hohmann_transfer_orbit>

</comment></comment><comment><USER6> The discussion of not yet having a return vehicle for a trip to Mars reminds me of a Reddit AMA with a Russian engineer through his grandson. There he claims his Grandfather worked on a plan to send an astronaut to Mars orbit then return, but there was a second and favored plan with which the astronaut would land on the surface, walk around, then die.

[http://www.reddit.com/r/IAmA/comments/etu2s/i_was_born_in_sh...](http://www.reddit.com/r/IAmA/comments/etu2s/i_was_born_in_shchigry_ru_in_1932_i_worked_as_a/c1ax3x1)

I wonder how it would be received if the goal was to create a permanent settlement on Mars rather than returning.

<comment><USER7> The other benefit to a settlement plan, is that you could send the habitat and tools ahead of time, to be assembled by robots. Which implies multiple missions, which lowers per-mission weight requirements, and allows for habitat tests prior to having human life (and larger, more temperamental resources) on the line and for fixes to be bundled in subsequent missions.

</comment></comment><comment><USER8> SpaceX stories always read like they were written by Ben Bova.

</comment><comment><USER9> Why do people assume that the people we send to Mars need to come back? Could we not send large supply stores first and then send people on a one way trip? I would guess people would sign up even knowing that the trip to Mars is one way.

</comment><comment><USER10> As always, landing is the easy part. Escaping the gravity well is not. (Looks like they plan to make it a one way trip, setup a colony, then mfg fuel before the return trip.)

</comment><comment><USER11> I suggest you read "The Moon is a Harsh Mistress" and think about why any Earth-bound government would hate the idea of allowing space based travel or settlement by any agency not under their direct control.

<comment><USER12> I'm sure it will be done by governments and/or big business, and will be under their control...

at first...

</comment></comment><comment><USER13> Does anyone know any details of the thrust and delta-v capabilities of the proposed combined launch abort / retro landing system?

Is it going to be just a bunch more Draco thrusters, or something else?

</comment><comment><USER14> Landing is the relatively easy part. Surviving the journey is harder. The necessary shielding is too heavy to launch, so we need some new ideas there.

</comment><comment><USER15> I hate how the British use single quotes. It's sometimes ambiguous and relatively hard to parse.

<comment><USER4> The convention is that double quotes are for actual quotes, while single quotes are for paraphrasing things that others have said.</comment></comment>


Ask HN: What parts of your life have you automated? - <AUTHOR> <comment><USER2> Im not in IT.

\- my phone is automatically ringing every day at 5 am but it doesnt work well!

\- a lot of macro in ms office

\- some text processing and formatting usually powershell, or any portable interpreter or compiler.

\- some mouse/kb scripts for old not scriptble office software

</comment><comment><USER3> Recurring payments to the greatest extent possible. Things like rent and utilities. It makes dealing with these things much less stressful.</comment>