Researchers create super-efficient Wi-Fi - <AUTHOR> http://arstechnica.com/information-technology/2016/02/researchers-create-super-low-power-wi-fi/ <comment><USER2> While this is interesting work, I would say it's going into the wrong direction. It is simplifying the devices at the cost of less efficient use of the already crowded radio spectrum (the plugged-in device must transmit the carrier wave and the reflections from passive devices consume twice the spectrum due to mirror frequencies) Everyone else is going the other way: complicating devices to achieve higher spectrum efficiency. This approach might be sustainable for spy agencies, but I don't see how it could scale to mass deployment (especially with device densities predicted by IoT pundits these days).

</comment><comment><USER3> Mentioned in the article is the passive bug the Soviets used for covert listening in the US embassy in Moscow. Impressive technology for 1945: [https://en.wikipedia.org/wiki/The_Thing_%28listening_device%...](https://en.wikipedia.org/wiki/The_Thing_%28listening_device%29)

<comment><USER4> The NSA ANT catalog of spy devices (leaked by Snowden) also includes cheap analog retro-reflectors: [https://en.wikipedia.org/wiki/NSA_ANT_catalog](https://en.wikipedia.org/wiki/NSA_ANT_catalog)

</comment></comment><comment><USER5> Wondering why the two passive devices have the same mac address...

<comment><USER6> Nice catch, I haven't read the paper yet but I wonder if it belongs to the device generating the frequency.

<comment><USER7> Shouldn't since the passive devices build the packets the MAC is probably the same because it's they just copied the same exact fpga code on both devices.

What wasn't clear and should be mentioned is that the active device doesn't have to transmit wifi at all it's just a source of random rf radiation at compatible frequencies since you craft packets by selective reflecting the signal.

</comment></comment></comment><comment><USER8> The same researchers released a video demonstrating the basics of this (though not with WiFi) a few years ago:

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

[https://homes.cs.washington.edu/~gshyam/Papers/amb.pdf](https://homes.cs.washington.edu/~gshyam/Papers/amb.pdf)

</comment><comment><USER9> Wonder why they chose the UK "health lottery" \- quite a small lottery, vs the UK National Lottery ?

</comment><comment><USER4> This is pretty incredible, and congrats to the research team!

But, could you please not use phrasing like "Reduces Power 10,000x". I don't think I'm the only that has an aversion to this: [http://timesless.com/](http://timesless.com/)

<comment><USER10> [http://www.xkcd.com/169/](http://www.xkcd.com/169/)

Get over yourself.

In particular, your page of drivel goes wrong here:

> "smaller than", "less than" etc. indicate subtraction, as in: _2 less than > 10 is 8._

Believe it or not, "smaller than" and "less than" are also used to refer to being smaller or lesser (go figure) in size or amount, as in "2 is less than 10".

<comment><USER11> That's pretty rude. The poster was only asking for something that would improve clarity.

<comment><USER10> > The poster was only asking for something that would improve clarity.

This is not true. There is no issue of clarity if I say "the effect of losing a leg on quality-adjusted life years is four times smaller than the effect of smoking", or at least, no ambiguity about how the two numbers I'm thinking of relate to each other (numbers wholly invented). The poster was asking us to conform to his personal peeves.</comment></comment></comment></comment>


Windows 10 Includes a Linux-Style Package Manager Named "OneGet" - <AUTHOR> http://www.howtogeek.com/200334/windows-10-includes-a-linux-style-package-manager-named-oneget/

<comment><USER2> Am I the only person on the planet who _doesn 't_ want a Linux-style package manager?

Why can't apps be self-contained downloadable things with all their dependencies contained within, like back in the Apple Macintosh days?

<comment><USER3> Because doing something like that is not only a space and data duplication problem, but also a security problem where you have to be sure that when a specific program has a critical bug (let's take openssl for instance) all the "self-contained programs" that you have on your machine get updated at the specific version that can save your ass... and that's become a vendor-specific issue, not something that you as a user or admin can solve directly and easily.</comment></comment>


Roxy grabs $2.2MM to build Alexa-like voice devices customized for business - <AUTHOR> https://techcrunch.com/2017/11/15/roxy-grabs-2-2-million-seed-investment-to-build-alexa-like-voice-devices-customized-for-business/ <comment><USER2> Would be interesting to know how many guests use roxy and how they team tries to increase that number.

</comment><comment><USER3> Currently with Alexa, I only use the native app and almost never use third party apps because it's a burden to navigate to and use. There's a lot of value in flipping the model around so that businesses can have control over the native app experience

</comment><comment><USER4> I'm excited about their platform for hotels and envision an amazing user experiences for the occupants, especially when trying to access room service.

</comment><comment><USER5> This is a big new open sea of a platform with tons of potential and it sounds like Mr Urban is thinking about it correctly.</comment>


New attack on WPA using PMKID - <AUTHOR> https://hashcat.net/forum/thread-7717.html <comment><USER2> Sometimes I wonder if trying to encrypt WiFi is even worth it. "E2EE or GTFO" is pretty compelling.

The counterargument is keeping packet headers (i.e. remote IP addresses) and plaintext DNS queries private, but that's already the use case of a VPN. Even if it's just a "VPN" to your own home router. And then it protects you even against the operator of the access point (or someone impersonating it because, as usual, the passphrase is widely distributed).

<comment><USER3> Even if encryption isn't worth it, the access controls it gives you are to most access point owners. By limiting who can connect an owner can reduce bandwidth usage, improve latency, and increase the quality of their connection.

Not to mention that most protocols in current use at minimum leak metadata. There would need to be a standard for an automatic authenticated VPN supported by hotspots and operating systems. Regular users shouldn't need to perform complex setup procedures.

And at that point, while I do like the seperation on concerns provided, why not just fix or replace WPA?

<comment><USER2> Even for that, it's not the ideal layer. A basic connection should generally be available for everyone even if it's a rate-limited logically-separated segment that only provides internet access. Then if you want special treatment for a specific subset of users they need something on top of that, but only that subset of users -- notably not the ones who come and go all the time -- and authenticating them has no real relation to the WiFi. A VPN to an endpoint on the same LAN works for this. There is also 802.1X, IPSec, etc., which common operating systems already support.

Meanwhile the guest users should have their own external VPN to protect them _from you_ , which they should only have to set up once for all networks.

<comment><USER4> > A basic connection should generally be available for everyone even if it's a > rate-limited logically-separated segment that only provides internet access.

As long as you're legally responsible for the traffic coming out of your network, this is not a good thing to do. Unless people explicitly get the same protection an ISP gets, I'll keep advising them to not to share their connection openly.

<comment><USER2> > As long as you're legally responsible for the traffic coming out of your > network, this is not a good thing to do. Unless people explicitly get the > same protection an ISP gets, I'll keep advising them to not to share their > connection openly.

That is obviously a jurisdiction-dependent legal question and anyone concerned about it should consult an attorney.

But if you're suggesting that, for example, the CDA or DMCA safe harbors only apply to Comcast and not book stores or auto shops or anyone else that provides public WiFi, I would be interested to see a citation for that.

<comment><USER4> I didn't mean DMCA only. Rather general dealing with law enforcement in general.

But even with just DMCA to be a safe harbour you need to: have a service policy, show it to the users, have the possibility to prevent access for identified violations, and effectively keep some kind of connection record to be able to identify which users you need to terminate. I doubt anyone fulfills that at home. (I don't think shops and cafes do either)

<comment><USER2> I feel like this is why the advice is always to consult an attorney. If the law has some easy to fulfill requirement (service policy) then concerned people should have one even if they're only providing access to Uncle Bob and not the general public. It may not be likely that Uncle Bob would cause any trouble (though maybe his computer is infected), but it may not be likely that _anyone_ with physical proximity would cause any trouble. If you're worried about it then why not do the thing that mitigates the risk regardless?

It's even possible that _not_ providing public access may increase certain risks. If you restrict access and someone guesses/cracks the password and does something terrible, that may make it harder to argue that it wasn't you.

I'm also not sure where you're reading the requirement to identify the users. There are many sites (e.g. Slashdot) where users can post anonymously (and via Tor or equivalent). Are you saying they don't qualify?

They have some info here:

[https://openwireless.org/myths-legal.html](https://openwireless.org/myths- legal.html)

But notice that half the page is dedicated to extra-legal ISP shenanigans, which brings us back to routing your whole internet connection (guest net included) through a VPN. Which, again, you probably want even if you're the only one on your connection. It's not as if copyright trolls are renowned for their accuracy in targeting only people who are actually infringing something.

<comment><USER4> > I'm also not sure where you're reading the requirement to identify the > users.

Not identify as in get their names. Just identify enough to know when they come back. Knowing which MAC to filter would probably be enough.

[http://digital-law-online.info/lpdi1.0/treatise39.html](http://digital-law- online.info/lpdi1.0/treatise39.html)

> First, the service provider is expected to adopt and reasonably implement a > policy for the termination in appropriate circumstances of the accounts of > subscribers of the provider's service who are repeat online infringers of > copyright.

You'd need to also identify which device was infringing by getting a connection time/destination.

<comment><USER2> > You'd need to also identify which device was infringing by getting a > connection time/destination.

I still don't see where it says you have to do that. Your link doesn't seem to say anything about it.

I question the value of MAC address blocking in general. Anyone can change their MAC address and popular systems are even using MAC address randomization by default now.

And in a physically local context like this, couldn't you just tell the person they're not allowed to use your wireless anymore, or remove them from the property?

The issue is who has to identify the user. If all they gave you was your own IP address with no accurate timestamp or ports, you wouldn't even be able to get the effectively-useless MAC address, even with the connection records most people don't keep. If they gave you the user's legal name (e.g. because the user signed up for the file sharing service with it) then you wouldn't need any connection records.

<comment><USER4> The MAC is just an example. You need some way to block someone abusing your connection. It's the first point raised in the requirements for safe harbour. For this you need to be able to say "this is the same person/device as before".

> couldn't you just tell the person they're not allowed to use your wireless > anymore

The context we started with is wifi open to the public. You've never met your users and you may never see them (directional antenna from a distance), so the legal name is not useful either.

The situation where you know the users is much simpler.

<comment><USER2> > The MAC is just an example. You need some way to block someone abusing your > connection.

You're thinking like a sysadmin. Think like an organization.

Compare the situation where you have a public space where everyone is welcome except Bob, because when Bob was there in the past he caused trouble and was asked never to come back.

You don't have to post guards checking ID because Bob knows he's not invited and the laws against trespassing deter him from showing up.

> The context we started with is wifi open to the public. You've never met > your users and you may never see them (directional antenna from a distance), > so the legal name is not useful either.

Seeing isn't required for telling. If you have the legal name, why can't you send a certified letter telling them they're not allowed to use your network anymore, then if they continue you call the police?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> Can anyone provide a brief summary of the state of the art of WPA cracking? How many bits of entropy do I need in my wireless password these days to deal with cloud GPUs?

<comment><USER6> nobody is going to spend the atrociously high cost of cloud gpus to crack someones home wifi password in an un-targeted attack. your home wifi threat actor is your neighbors kid playing with aircrack.

in a corporate environment, use wpa2-enterprise, then password entropy doesnt matter quite as much.

<comment><USER7> I thought enterprise was even more fucked thanks to the horror that is MSCHAPv2 and that no one bothers to setup the PKI stuff to authenticate the APs.

<comment><USER8> In WPA-EAP the AP is not active part of the authentication flow (it only forwards the frames) and as such does not directly authenticate itself to the client (it happens indirectly by the fact that it can forward the frames).

The configuration space of WPA-EAP is huge and most combinations are horribly insecure, but as long as you stick with one of the "tunnel everything through TLS" EAPs (EAP-TTLS or PEAP) the result is safe against passive attackers even when you don't verify server certificates (obviously you should verify the certificates, because the active attack is trivial and does not have to interact with your network).

<comment><USER9> How would one setup the certificates in a right way? I presume that needs MDM anyways to conveniently distribute the certificates?

<comment><USER10> You can do it without MDM, just distribute via an https webpage. Most universities do this, because it is 90% byod or guest access (you can only be enrolled in one MDM).

<comment><USER9> So guests coming to your home would need to first download certificates in order to be able to trust your network. But they would then need to trust that certificate not to be used to MITM their own EAP servers... This doesn't sound very user friendly. Am I missing something?

<comment><USER10> Certificates, not CAs.

<comment><USER9> Right. Of course.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Interestingly it seems limited to wifi networks that implement the roaming extensions to 802.11. When setting up my network at home with several AP's throughout the house I decided that, whilst roaming is nice, I don't trust most devices to select the strongest AP to latch onto after some trial and error, so disabled it wholesale.

</comment><comment><USER12> Is this an attack on WPA generally, or just WPA and not WPA2. I don't know if WPA are discrete designs with a common name or an evolution of the same design ala SSL.

<comment><USER13> The title seems like it's got a typo and WPA2 should be in there along with WPA: "New attack on WPA/WPA using PMKID".

Why say WPA/WPA instead of just WPA? Unless they meant WPA/WPA2.

<comment><USER14> Correct

</comment></comment></comment><comment><USER15> So, how secure is a network when the teenagers in the house give out the WiFi key to all their friends when they visit? How secure is it when said teenagers ask Dad to change the previous random-character password to a simple phrase to make it easier for their friends to type it in?

Asking for a friend. :)

In other words, about 99% of the WiFi passwords out there are vulnerable to a brute force attack. But we knew that already, didn't we? Was it not already possible to brute force WPA2 before this new attack?

How much easier/faster is this new attack? It would have been nice if the article itself said something like: "This new attack increases brute force attack rate by a factor of 10x". Or whatever the right value is.

<comment><USER16> I'm not sure when/how but all the newer wifi home systems I've seen prompt people's devices to share the password when someone tries to join. So you can have a complex password. Also a lot of those have guest networks so if you need a week network you can have them. Finally you can xkcd your password and make it something like "maytheforcebewithmyfriendmark" \- doesn't have to be complex.

<comment><USER17> > Finally you can xkcd your password and make it something like > "maytheforcebewithmyfriendmark"

No, no, no. The rest of your comment is spot-on, but I've done projects on passphrases and everyone gets this backwards. That is not what XKCD says. Let me quote the XKCD:

> four random common words

Random words, not a phrase like "may the force be with" and "my friend mark" (I'm sure you can find those two online). When cracking public hash dumps using phrases from public sources, I get hundreds of thousands of hits. If your phrase (partially) exists online, it's not a secret one.

Someone else mentioned diceware. Six random words from that dictionary (potentially generated using real dice) is pretty much unbreakable, though it has only a small security margin for when a protocol gets weakened but not broken.

<comment><USER18> These passwords are not reselient to complicated attacks and are more easily cracked than randomly generated passwords.

Limit the dictionary to the top Xk most common English words, if leetspeak substitution is used you can also easily mask it.

We did this experiment and even randomly generating 6 word passwords using Wikipedia as dictionary resulted in passwords which are faster to crack than 16 character randomly generated passwords and that is because you can't count the entropy as single characters sure if you brute force it char by char it will take longer but if you use words as your base unit then you only need to find 4-6 from a fairly limited pool of possibilities.

You can further limit it down by using grammar rules if your target is using passphrases those are even faster to crack and can be generated using markov chains or any basic grammar rule engine.

<comment><USER17> > These passwords are not reselient to complicated attacks and are more easily > cracked than randomly generated passwords.

There is no fundamental difference. Either your pool of elements consists of 95 different symbols (ASCII printable characters and space) and you get passwords like 'F~iV3Bcv>\Q@' or your pool of elements consists of thousands of words and you get passwords like 'hubs exempted contend catchment others'.

As per Kerckhoff's principle, we should assume that the method of generating the password is known (which set of elements, i.e. your charset or dictionary, which RNG was used, and perhaps the length of the password).

The resulting strength in terms of bruteforceability of its hash is equal. Assuming one picks sane values, e.g. 6 elements when using a 7800 element set, or 12 elements when using a 95 element set, both are safe to use.

> randomly generating 6 word passwords using Wikipedia as dictionary

I don't understand what you mean by "using Wikipedia as dictionary". Wikipedia contains whole sentences. Did you download a dump of the English Wikipedia and split it on non-word characters and use that as dictionary? Did you remove duplicate words? Or did you take Wiktionary's words?

> if you use words as your base unit then you only need to find 4-6 from a > fairly limited pool of possibilities.

I think you're wrong, but feel free to prove me wrong :). Here are some hashes:

        f4cd51713a3ac5798b3a0b40fe61aa2f
        f424f3432b7acbce2c2d3548490c9cc0
        71fa597116bfc54ecc6c48162629d391
        beb09edbc493bf826b61afa6905712df
        42251a29996a78ef023bdb03a8c22ea9
        3a80f15bd82c4f4c0a3338a1fa86adb9

They were generated using this script:

        function genphrase {
            x=$1;
            while [ $x -gt 0 ]; do
                echo -n $(shuf /usr/share/dict/words | grep -v é | grep -v \' | tail -1)\ ;
                let x=$x-1;
            done;
        }

        for i in {1..6}; do
            phrase="$(genphrase $i)";
            sum=$(echo -n "$phrase" | md5sum | awk '{print $1}');
            echo "$sum $phrase";
        done;

Basically I take random words from /usr/share/dict/words so long as it does not contain an apostrophe or an accented e. The md5 hash of the result is generated, a very fast and well-supported algorithm (your favorite cracking program should support it without any trouble). As an example, from another run of the script, here is one of its output lines:

        75e6881687661e09e404b517e7ee2ce3 goodliest villeins gymnast

You can use this sample output to verify that the hash is generated correctly and that your tool works. I expect the first two hashes should not be an issue, the third might be harder, the fourth would be impressive, and I expect that the fifth and sixth will remain uncracked.

The dictionary version is 2018.04.16-1 (wamerican package in Debian), I uploaded it here: [https://lucb1e.com/tmp/words](https://lucb1e.com/tmp/words) (watch out clicking the link, it's a large file and your browser may just display it instead of downloading it)

> You can further limit it down by using grammar rules if your target is using > passphrases those are even faster to crack and can be generated using markov > chains or any basic grammar rule engine.

At least in my research, I've found that markov chains and n-grams are of much worse quality and slower than just using raw phrases from public sources. The downloading and processing of those sources takes more time, but that's a one- time action and not really part of the cracking process. And as I said in the comment you're replying to, if your 'phrase' is not random words but actually a logical 'phrase', then it's not suitable as passphrase. I think you're confusing random phrases with logical sentences.

</comment></comment></comment></comment></comment><comment><USER19> [https://github.com/stryngs/scripts/tree/master/pmkid2hashcat](https://github.com/stryngs/scripts/tree/master/pmkid2hashcat)

Enjoy =)

</comment><comment><USER20> Call me paranoid, but my home setup requires a string of 64 hex digits. This is troublesome as some implementations (like the factory setup screen for (old?) versions of Android) cap the input "password" at 63 characters.

<comment><USER21> Just thinking about typing in your PW on a printer makes me shiver.

<comment><USER22> That was what WPS was meant to address. But then everyone left it running 24/7 and a temporary-use tool became a massive backdoor.

</comment></comment></comment><comment><USER23> Impressive. Even brute-force attacks eventually get better.</comment>


Who Pays Photographers (And How Much) - <AUTHOR> https://www.format.com/magazine/resources/photography/who-pays-photographers-jobs <comment><USER2> Is it profitable to simply show up to public and semipublic advents and take a bunch of shots then email and mail them to related publications?</comment>


European Police Hacked Secret Phone Network, Used AI for Major Bust - <AUTHOR> https://www.bloomberg.com/news/articles/2020-07-16/european-police-hacked-secret-phone-network-used-ai-for-major-bust <comment><USER2> Zero mention of any AI technique whatsoever. Bloomberg, everybody.

<comment><USER3> Used to filter the millions of intercepted communications.

> According to the Gendarmerie Nationale, investigators had access to more > than 100 million messages and were able to review, in real time, > communications over a period of several weeks.

> Europol, the European police coordination agency, set up a joint team to > process, analyze and share information. It also established a system that > used artificial intelligence to scan the texts for particular words or > phrases that might indicate that criminal actions, including murders, were > being planned, said Wil Van Gemert, Europol's deputy director of operations.

<comment><USER4> Ah yes substring search, the hallmark of artificial intelligence.

      select * from messages where text like '%bomb%';

Reminds me of that video where the caption goes "they used coding and algorithms".

<comment><USER5> >Ah yes substring search, the hallmark of artificial intelligence.

I'm guessing they used AI to detect potential code words, or categorize potential crimes (whether by type, or timing, whatever). Seems like a pretty good use case to me.

<comment><USER4> Does pattern recognition, even sophisticated pattern recognition, ever constitute artificial intelligence? It reeks of popsci to me, and makes it out to be something more than it is.

</comment></comment></comment></comment></comment><comment><USER6> Assuming competent E2E encryption, but a completely compromised backend, I'm guessing the cops deployed an app update that took the decrypted chat logs off the devices and forwarded them discreetly to the cops.

I wonder if the app updater (surely they don't use the Google Play Store) checks the updates for a valid signature, and whether the developers just stored the signing key on their compromised backend server.

</comment><comment><USER7> What do you mean - it says right there, they used a "technical device" \- duh.

</comment><comment><USER8> Maybe AI for them is some sort of pattern recognition the police used. Not sure since the article is paywalled.

<comment><USER9> Try Firefox reader.

<comment><USER3> Reader mode on Safari worked for me.</comment></comment></comment>


Ask HN: I've been asked if I'd like to give up my GitHub name - <AUTHOR>

I've a two letter github name and I've just been contacted by a company asking (nicely) if I'd be interested in transferring ownership of this name to them. Is there any convention around this, eg is it expected I'd ask for money? <comment><USER2> Do you want to give it up? If not, then decline, nicely. Sure maybe there is a price that changes your mind, but right now there's no offer on the table, so leave it off the table. In my opinion, there are a couple of things to keep in mind:

1\. The "person" who wants the name is a fictitious person, not an actual human individual who deserves consideration as a human being. There's no point of "being cool" toward a company, it's just out to get what it can: asking for your username is just an example of the ruthless logic under which company's operate.

2\. The value to the company is high enough that they have invested time in approaching you and should you decide to give up your name, will invest all the time in actually transferring it.

3\. If you do transfer it, don't be surprised if the company sells it or does something equally unexpected. Acquiring the name is a business transaction. Nothing more. Nothing less.

Finally, if you don't care about the name and don't want to be bothered, then let it go so you can do something you care about and are willing to be bothered by.

Good luck.

</comment><comment><USER3> > Attempts to sell, buy, or solicit other forms of payment in exchange for > account names are prohibited and may result in permanent account suspension.

[https://help.github.com/articles/name-squatting- policy/](https://help.github.com/articles/name-squatting-policy/)

<comment><USER4> He could "suggest" it in indirect language and get them to say it first.

</comment></comment><comment><USER5> Whether you ask for money or not is up to you, but as a matter of protocol, your github account is your property as much as the shoes you're wearing.

If someone else wants it, you're not at all obligated to give it to them.

If you do entertain the idea of giving it to them, you're very much entitled to compensation.

</comment><comment><USER6> There probably isn't convention around this, since GitHub is relatively new. But yeah, ask for money!

</comment><comment><USER7> of course ask for money. use domain name market as ref. take your two letter domain name price -- and ask for some fraction of that for you gh name -- by the logic that github is one of x number of important web presences for a company.

</comment><comment><USER8> Check the GH terms of service. They actually own the URL and might not allow selling it. For example, Twitter frowns upon this.

If you offer a price, the company could send that email to GH as evidence that your account violates the ToS.

</comment><comment><USER9> Please let the name be "fu".

<comment><AUTHOR> no, it's nothing clever, just my initials. Also happens to be the same as the initials of the company in question

</comment></comment><comment><USER10> Don't ask for money directly. It might be a setup for a trademark claim.

<comment><AUTHOR> How? It's only two letters, so it would be like YCombinator making a trademark claim on yc

I agree on not asking for money directly though

<comment><USER11> KFC is three letters and a trademark. It is a trademark not a "complete sentence mark"

</comment></comment></comment><comment><USER12> Definitely ask for money, if it's a for-profit company wanting the username.</comment>


Attaching SLR lenses to an iPhone - <AUTHOR> http://cow.mooh.org/2009/12/phone-o-scope-attaching-slr-lenses-to.html

<comment><USER2> You know, they make cameras that actually are meant to attach to those lenses... ;-)

I appreciate the experiment, though. But one thing about the image quality: those lenses are specified assuming a 35mm (or 35mm/1.6) sensor. The sensor on an iphone must be 3.5mm at most, so the point spread function of the lenses aren't really matched to the sensor. I suspect that's part of why the quality is bad.

</comment><comment><USER3> There are these projects which seem to be utterly pointless and nonsensical, but are nonetheless cool. This is one of them.

In other words, I cannot stop screaming "why?" while admiring his work.

</comment><comment><USER4> shouldn't the title read "attaching an iphone to SLR lenses"?

<comment><USER5> It should, is like saying he had a head transplant:)</comment></comment>


Show HN: How to Make 3D Bronze Mountain Maps – 3D Printing and Bronze Casting - <AUTHOR> https://www.gregkamradt.com/gregkamradt/2020/2/29/manufacturing-3d-printing-bronze-casting <comment><USER2> Great idea and good luck with the business. Targeting mountain climbers, thrill seekers might be worthwhile. Imagine Everest in bronze ...

</comment><comment><USER3> Is that negative mold made out of some flexible silicon?

<comment><AUTHOR> Yes it is. They use a vacuum technique to remove all the air bubbles and sit perfect on the 3d print</comment></comment>


The 10 Most Powerful Women in Silicon Valley - <AUTHOR> http://www.mercurynews.com/business/ci_17080499?nclick_check=1 <comment><USER2> <http://www.sanfranmag.com/story/adventures-marissa>

"The serious power and glam passions of Marissa Mayer, the gorgeously geeky Googler who's generating a new kind of Silicon Valley notoriety."

      An article that in the first look it may seem too lifestylish for HN ,but at the same time discusses in detail a lot about the early days of Google and the policy affecting power of Marissa Mayer.</comment>


The Fabric of Creativity - <AUTHOR> http://www.fastcompany.com/magazine/89/open_gore.html <comment><USER2> A fascinating company. Their use of teams created based on interest and need is a great idea, especially for retaining top talent and keeping them engaged. The one issue is how they decide on what to pursue - the article makes it sound like they invent things and then try to sell them rather than having their inventions driven by the values people are looking for. Actually, I guess their model is to make a better version of existing products: Gore-tex, a better version in fabrics, Glide, a better version of dental floss, Elixir, a better version of guitar strings.</comment>


Write Gmail in Emacs the Easy Way: gmail-message-mode - <AUTHOR> http://endlessparentheses.com/write-gmail-in-emacs-the-easy-way-gmail-message-mode.html <comment><USER2> So, I guess people really do use html mail now. I'm a little sad, but not surprised. I do find it a little bit ironic converting markdown (a format for structured plain text, allowing for easy quoting, in-line replies etc) to html.

That aside, I can understand the frustration with web interfaces, and if committed to using gmail, why not have a nice interface for composing mails at least?

My current pet peeve with google interfaces, are the text-editing boxes on g+ -- which are not text-boxes, and so doesn't work with "it's all text" \-- and also breaks cut'n'paste for long sections of text. So I end up editing a text- file in vim, then copying section by section in ordert to post into g+ communities. Sigh.

[1] [https://addons.mozilla.org/en-US/firefox/addon/its-all- text/](https://addons.mozilla.org/en-US/firefox/addon/its-all-text/)

<comment><USER3> I dislike that email, which predates the web, adopted html. And quite frustrated that many clients do not attach an equivalent plain text version of the email.

I thought this would be a problem, but frankly piping in everything into w3m makes it surprisingly easy to stay plain text only if desired.

<comment><USER4> At the risk of being accused of being on your lawn, what do you dislike about email's adoption of HTML? I'm old enough to remember the walled garden "mail" of Prodigy and early AOL, and the advent of inter-network electronic mail, but I feel like HTML is a major contributing factor to taking email from something people didn't realize they had ("AOL gives me e-mail?") to something we can't live without now.

<comment><USER5> Aside from spam, I mean marketing emails, what email do you send or receive that needs HTML?

<comment><USER6> > that needs HTML?

I think you are setting the bar a little too high. It seems to me like there is quite a bit of mail that benefits from HTML. Superscripts, subscripts, italics, bold and colored text (used in moderation), inline images (used in moderation) can be really useful when discussing concepts that aren't easily reduced to characters.

Suppose your email would benefit from some mathematical formulas. You can do the old standby and drop into latex math mode, but the person on the other end of the email might not understand what you mean by

\sum_{n=1}^k\,\frac{1}{n} \;=\; \ln k + \gamma + \varepsilon_k < \ln k + 1

much easier and clearer to use LaTeXiT or something similar and copy/paste in an inline image with the formula correctly formatted.

Or, say you are a taxonomist. Italics in species names are not just a stylistic choice, they also convey additional meaning. For example in

 _Epilobium ciliatum_ Raf. subsp. _watsonii_ (Barbey) Hoch & P.H. Raven f. _rosa_

the italics show what parts of the full scientific name refer to the species and what parts refer to authors or levels of taxonomic organization (subspecies and form). You can't do that with plain text (you could of course do it with markdown, though)...

plain text is sufficient of course; but sometimes the additional bells and whistles of HTML really are useful.

<comment><USER2> I generally think /italics/ and __bold __, quoting "> ", ">> " etc work fine. In addition to utf-8 encoding, you've covered a lot of ground (for English- speakers, utf-8 might seem like a luxury, and of course, if you demand unicode support you're beyond "basic" plain text -- it is however what I mean when I say I prefer plain text emails).

Formulas an illustrations can usually just be appended (and while they won't be shown _in-line_ most clients will display images (and those choosing clients that don't won't really complain), but yeah, if you need multimedia you need multimedia.

Now, I don't really see how an image of an equation is really enough -- if you're working with someone, you'd want them to be able to quote you, reply to you -- and most importantly, tweak your work (edit your equations). I'd argue such (genuinely rich documents) don't really belong in email. Use a wiki or something (and then you can email wiki-markup...).

In short, I'm not convinced all the down sides and added complexity of html mail is worth the hassle.

Are rich documents and hypertext (hypermedia) a good idea? Yes. Does it imply a truly object oriented system, essentially mailing each other runnable smalltalk code? Yes. Will that be secure? No. Will that be standardized? Not by the looks of things. This is essentially why office suites are a source of security holes and incompatibilities. And web apps (though differently).

</comment></comment></comment></comment></comment></comment><comment><USER7> This tool involves switching to Emacs to compose a message body, while doing all of your mail interactions with the web interface. Once composing is done, the content is sent to the browser. Optionally, you can write in markdown, processing that before the hand-off back to the browser.

It would be possible to eliminate the back-and-forth jumping, just doing everything in Emacs, using the recently-announced Gmail API[1]. To the author, is this something you've considered doing? I'd use something like that.

[1] [https://developers.google.com/gmail/api/](https://developers.google.com/gmail/api/)

<comment><USER8> This actually sounds nice and not too difficult. Thanks for pointing it out. Unfortunately, I barely have time to improve my existing packages anymore, let alone create new ones.

So yes, it is something I've considered, but I wouldn't hold my breath if I were you.

</comment></comment><comment><USER9> I have been using "Gmail old compose"[1] together with "It's all text" / "Edit with Emacs" to achieve the same effect. With the old compose, there's no need to convert to/from HTML: email body is just text.

[1]: [http://home.oldcompose.com/](http://home.oldcompose.com/)

<comment><USER10> You can just use the settings to default to text emails, as I do.

<comment><USER9> I can find no such option in my Gmail settings. Where is it?

</comment></comment></comment><comment><USER11> I recently started using mutt, connecting to GMail w/ IMAP. It's been working pretty well.

I'm still really interested in a full mail client that supports all of gmail's features (labels, archiving, etc), and works well with Emacs.

<comment><USER12> I suggest you take a look at sup ([http://supmua.org/](http://supmua.org/)). Its goal is to transpose the gmail experience on your terminal.

I've been working with the maildirroot branch [0] which mimics the IMAP installation of GMail, so you can use a standard OfflineIMAP to sync between your computer and GMail, and still use all the power of tagging/archiving/searching on your computer.

Oh and it has a few niceties, the most important one to me being native support of gpg.

Disclaimer: I'm one of the maintainers.

[0] [https://github.com/sup-heliotrope/sup/tree/maildir- root](https://github.com/sup-heliotrope/sup/tree/maildir-root)

<comment><USER13> Once you've looked at sup, take a look at Notmuch ([http://notmuchmail.org/](http://notmuchmail.org/)), which separates the search/indexing of incoming messages from the mail composition from sending/receiving. As a spiritual sup successor, it has a few nice clients for the command line (bower?) and various editors (Emacs, maybe a vim client too)

</comment></comment></comment><comment><USER14> I still use MH-E + nmh in Emacs on Linux, and I had phantasies of using it with IMAP and the GNU version of nmh, but I've never really seen someone say it works. Anyone?

<comment><USER3> If you're looking for a fast IMAP syncing tool, isync (mbync) is great. I used offlineimap for many years, but it was buggy, slow and heavy.

It's a tiny C utility written by the mutt creator, Theodore Tso and others, so it's very good as expected.

<comment><USER15> It has a peculiarly complicated configuration, but it has been 100% bulletproof for me.

<comment><USER3> Just curious, what did you find complicated?

<comment><USER15> That's a good question. It's one of those things that I _remember_ being complicated, but when I look over my configuration, it seems pretty damn straightforward. I guess the fact that Channels and Groups share a namespace irritated me?

Anyway. It's a great piece of invisible, blue-collar software.

</comment></comment></comment></comment></comment><comment><USER16> Richard Stallman has just cried. I can't even think how mad he would be to know people use his Emacs to compose gmail messages.</comment>


We don't need a housing moratorium in San Francisco - <AUTHOR> https://medium.com/@Scott_Wiener/more-affordable-housing-not-a-housing-moratorium-is-what-we-need-in-san-francisco-15df3ce5b7cd

<comment><USER2> I know that the San Francisco supervisors are batshit insane. But their idea that a housing moratorium is the way to address an increase in housing costs is truly a mind boggling new low.</comment>


Objective-Smalltalk: Turning a Presentation from a Doit into a Standalone App - <AUTHOR> https://www.youtube.com/watch?v=EXrPRWurCmU <comment><USER2> Context ? What is this ?</comment>


Ask YC: Essential Mac OSX Productivy Apps - <AUTHOR>

I come from a linux/windows background, but a recent small project requires that I work on OSX 10.5. Being that I am a productivity/efficiency junky, I can't help but feel that I am missing out on something. Can people recommend some essential apps that they use in their day to day workflow? At the top of the list would be a good application launcher which would enable launching a terminal with a keyboard shortcut. <comment><USER2> For an application launcher, I love Quicksilver [<http://www.blacktree.com/>]</comment>


Kill your startup while looking smart: failing by half measures - <AUTHOR> http://blog.tutorspree.com/post/16009564706/half-measures

<comment><USER2> Sometimes you need to go "all in".

A lot of people think they can do the 20% of the work that gets you 80% of the way there, but the problem is that 80% isn't the destination.

A product that only does 80% of the job is expensive to buy, because your customer still has to do the other 80% of the work in house. The product that gets 100% there saves time and money for your customer, and your customer will gladly pay every penny you ask.

I met an aspiring actor at the Nice 'n Easy supermarket near Hollywood and Highland and we talked about his work and some of my misadventures in amateur filmmaking. I told him about the corners that my director though we could cut and get away with and he said "No, you can't cut any corners if you want to be a pro."

And you know, he's right.

</comment><comment><USER3> Alternate title ... A startup discovers Wizard of Oz: <http://en.wikipedia.org/wiki/Wizard_of_Oz_experiment>

(nice article, though)</comment>


Minimum Wage and Job Loss: One Alarming Seattle Study Is Not the Last Word - <AUTHOR> https://www.nytimes.com/2017/07/20/upshot/minimum-wage-and-job-loss-one-alarming-seattle-study-is-not-the-last-word.html <comment><USER2> David Neumark (who is no stranger to minimum wage research - it's his area of expertise: [http://www.nber.org/authors/david_neumark](http://www.nber.org/authors/david_neumark)) astutely observed that Card-Kreuger has been widely deployed to exactly that effect ([https://twitter.com/NeumarkDN/status/888134129945952256](https://twitter.com/NeumarkDN/status/888134129945952256)), effectively being used to say "MW is settled, now stop arguing about it".

I'm of the opinion that far too many people on both sides of the issue argue their positions from ideology rather than empiricism, to our collective detriment.

The headline is right - one alarming study _isn 't_ the final word, nor should it be. But we seem to be rather quick to let one study confirming our biases to be "the final word" when it confirms our priors, and rather quick to dismiss it as "just one study" when it contradicts them. Neither position is intellectually honest, and if we truly want to help the most vulnerable, we have to do it in ways that are backed by the evidence.

<comment> tuna-piano Posted in a previous thread, but I still don't understand this whole "Minimum wage is good/bad" conversation, and it's really bothering me (especially from economists).

\</comment></comment><comment>

Every minimum wage increase is different!

Even the staunchest free market economist wouldn't claim that a hypothetical minimum wage increase from $.10/hr to $.50/hr in Seattle would increase unemployment. And even the staunchest socialist economist would not claim that a minimum wage increase from $8/hr to $800/hr wouldn't increase unemployment.

Similarly, how can you compare an increase from $5-6 in New jersey in 2005 to one from $11 to $13 in Seattle in 2017? You can't just make blanket statements about this stuff.

The question is not "Are minimum wage increases good in general?" the question is "Given the potential tradeoffs, is this specific minimum wage increase good?"

<comment><USER3> > The question is not "Are minimum wage increases good in general?" the > question is "Given the potential tradeoffs, is this specific minimum wage > increase good?"

That still isn't the right question because it's a false dichotomy.

At any _interesting_ wage, a minimum wage increase will increase unemployment. An increase from $.10/hr to $.50/hr does nothing because approximately zero people make less than $.50/hr to begin with. Once you get into wages that people are actually paid, with high probability there will be some jobs that can't be justified at a higher wage.

Imposing a minimum wage is taking from the people at the very bottom (who become unemployed) in order to give to the people at the almost-but-not-quite bottom. Which is why the whole exercise is folly.

It doesn't matter whether the higher wages outweigh the increase in unemployment in any particular scenario because there is a third option -- increase income without imposing the entire cost on employers who hire people at the bottom.

The simplest way to do that is a UBI. The UBI supplements everyone's wages, which brings up the lowest paid workers to the minimum, and is paid for from general taxes, which minimizes the economic damage by spreading out the burden (and having the rich pay their proportionate share).

<comment><USER4> In some I would argue most cases a job is still viable costs go up or profit goes down.

If a company pays 65% of their employees the minimum and wages go up 5% the company doesn't fire most of its workers it grudgingly pays more.

In a lot of cases the existing low wage is actually below market now and subsidized by benefits like food stamps.

<comment><USER3> > If a company pays 65% of their employees the minimum and wages go up 5% the > company doesn't fire most of its workers it grudgingly pays more.

It depends on what the company's alternatives are. Many companies have only 5% margins to begin with. And most people who suggest minimum wage increases argue for more than just 5%.

> In a lot of cases the existing low wage is actually below market now and > subsidized by benefits like food stamps.

That is one of the problems a UBI _fixes_. Since the money isn't contingent on employment, employers can't pay less against the leverage that without a job the employee would lose their food assistance.

</comment></comment></comment></comment><comment><USER5> I remember my last visit to Baltimore. I saw a lot of homeless people. I saw a lot of buildings in need of repair. There were people needing work and work needing to be done (fixing buildings). I was left wondering what was preventing the economy from functioning.

Every side of an argument has an element of truth. Businesses will not pay people more than they must, which can be a problem if people don't have enough money to buy propping up the economy. And for every rich philanthropist, there's probably ten donald trumps.

<comment><USER6> > I remember my last visit to Baltimore. I saw a lot of homeless people. I saw > a lot of buildings in need of repair. There were people needing work and > work needing to be done (fixing buildings). I was left wondering what was > preventing the economy from functioning.

I'm reminded of this image: [http://i.imgur.com/mwfN4cM.jpg](http://i.imgur.com/mwfN4cM.jpg)

For those using screen readers, the image is of a poster containing the following text:

If you're unemployed, it's not because there isn't any work. Just look around: A housing shortage, crime, pollution; we need better schools and parks. Whatever our needs, they all require work. And as long as we have unsatisfied needs, there's work to be done.

So ask yourself, what kind of world has work but no jobs. It's a world where work is not related to satisfying our needs, a world where work is only related to satisfying the profit needs of business.

This country was not built by the huge corporations or government bureaucracies. It was built by people who work. And, it is working people who should control the work to be done. Yet, as long as employment is tied to somebody else's profits, the work won't get done.

<comment><USER7> "So ask yourself, what kind of world has work but no jobs."

The article gets it completely wrong. A world with a high minimum wage has work to be done, for example, but no jobs.

There's always work to be done. The existence of jobs depends on somebody willing to pay someone the market rate for that job. In many cases, the market rate is too high for the value of the work performed.

Minimum wage essentially outlaws all work that generates less than a certain value.

<comment><USER8> >There's always work to be done.

In theory wages can be negative. So there will always be infinite demand for work to be done unless the government sets a minimum wage.

<comment><USER7> Actually, negative wages are allowed by the government.

But the main confusion is between work and job. Works is anyone performing a task. A job is someone paying you for that, and in the strict sense, someone hiring you to do it on a contract.

</comment></comment></comment></comment></comment><comment><USER9> Minimum wage laws don't tend to increase real wages, at best they reduce hours. In some cases (data indicates this in Seattle) the reduction in hours overshoots the increase in rates. Labour has a utility to employers, and if the employee can not provide utility that the employer can translate into more than a minimum wage's worth of value, then they simply can not be hired for that rate at that time.

I am taking time away from work right now, which is possible due to my frugal lifestyle and fairly high skills. I would love to do part time work to keep me on my feet, even below minimum wage. There are endless things around town that I'm sure somebody is willing to pay something for.

There is no such thing as a living wage, there might be such a thing as a living salary. Due to good planning, my expenses are tiny, my living income would be maybe two thirds of the U.S. poverty threshold (in the U.S. I could still afford health insurance at or below the poverty line with my other expenses), and that's in a real city.

</comment><comment><AUTHOR> You can find the original study (from the University of Washington) here: [http://www.nber.org/papers/w23532](http://www.nber.org/papers/w23532)

And the UC Berkeley study here: [http://irle.berkeley.edu/files/2017/Seattles- Minimum-Wage-Ex...](http://irle.berkeley.edu/files/2017/Seattles-Minimum-Wage- Experiences-2015-16.pdf)

</comment><comment><USER10> The problem is one of perspective, and looking at the problem from the wrong point of view.

We _want_ jobs replaced by technology. That is, after all, one of the reasons we're all in this technology game. It is what drives forward productivity and leads to an improved standard of living.

The issue is seeing the private sector as the creator of jobs. It is not. It creates jobs only as a side effect of investing capital. If a capitalist can get the entire job done by machine, they will do - unless human labour is very, very cheap.

So to get the investment effect we need labour to be expensive.

And that means that the private sector isn't the place to look for jobs in the long term. The public sector has to create them so there are always more jobs that there are people: [https://medium.com/modern-money-matters/running-a- modern-mon...](https://medium.com/modern-money-matters/running-a-modern-money- economy-ada9682a5fb9) Then the private sector has to compete for labour, and will choose to invest to eliminate jobs more often than not.

The issue was best described by Kalecki in the 1940s.

"It is true that profits would be higher under a regime of full employment than they are on the average under laissez-faire, and even the rise in wage rates resulting from the stronger bargaining power of the workers is less likely to reduce profits than to increase prices, and thus adversely affects only the rentier interests. But 'discipline in the factories' and 'political stability' are more appreciated than profits by business leaders. Their class instinct tells them that lasting full employment is unsound from their point of view, and that unemployment is an integral part of the 'normal' capitalist system."

[http://web.archive.org/web/20170202134920/http://mrzine.mont...](http://web.archive.org/web/20170202134920/http://mrzine.monthlyreview.org/2010/kalecki220510.html)

</comment><comment><USER11> It kind of is. I'm not against a higher minimum wage...in fact I welcome it. But let's be honest, it's going to crush small businesses and force larger ones into automation. The real problem is that this cuts into the unskilled lifeline. Unskilled labor is dying, these people must learn a trade. I have no hypothetical solution for those unable or unwilling, sadly, outside of UBI which presents its own issues.

<comment><USER10> Try creating jobs and pay people for doing them. Look around and you'll see there is much to do.

It's not hard once you get beyond the mistaken idea that the private sector creates jobs. It doesn't and doesn't want to. It creates them only because it has to.

</comment></comment><comment><USER12> At the very least, the "control group" in this study seems problematic:

"But a quick look at the data suggests something else may be going on. Between the second quarters of 2014 and 2016, earnings in Seattle grew by an incredible 21 percent, as opposed to 6 percent in parts of Washington outside the Seattle area. And the first quarter of 2016 was exactly when the very large gap in overall wage growth between Seattle and rest of the state (where the control group comes from) really opened up, coinciding with the timing of the job loss found by the University of Washington team. At this point we don't know enough, but clearly there are some missing pieces to this puzzle."

And, I'm kind of surprised they are matching to the rest of Washington rather than against Vancouver, Tacoma or Spokane only. The rest of Washington is so different that I just can't imagine it being a useful "control".

</comment><comment><USER13> _Comparing the losses (in yellow) with the gains up to $19 (in maroon) suggests that..._

If they're going to pick such non-intuitive colors, why not just have a grayscale graphic? Does this help the colorblind?

</comment><comment><USER14> I'm a supporter of people earning a living wage. The problem with raising the minimum wage is that no matter what the minimum is it will never be enough. Nobody want's to earn minimum after you've worked at the same place for years and have someone new come in and earn the same on the first day on the job. Once minimum hits everyone wants a raise too and inflation picks up, eventually the problem returns. It's human nature. Additionally technology will be brought in to reduce costs by reducing jobs.

The fix is to give every one that needs it an income credit. Right now it's only possible through the federal income tax, but you need to qualify, but it should also be in the state income tax too and the qualifications should be income only. Let's say you worked 2080 hours for the year then for every hour you worked you should get some amount that will raise your income to some agreed on minimum.

This has the benefit of stopping the tit for tat raises.

</comment><comment><USER15> Does minimum wage provide impetus to [https://en.m.wikipedia.org/wiki/Maslow%27s_hierarchy_of_need...](https://en.m.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs)</comment>


Programmers Should Curb Their Enthusiasm - <AUTHOR> <comment><USER2> So should pilot and aerospace engineers. It's hard for the product people to make some decent product when engineers and pilots and programmers and chefs are out there agitating to make planes that are fast and flyable, food that's tasty, and programs that do things we haven't done before.

</comment><comment><USER3> ?</comment>


Webcam in a Favicon - <AUTHOR> https://twitter.com/davywtf/status/1119783380734836737 <comment><USER2> The source code is actually small enough to be posted here

      navigator.getUserMedia = navigator.getUserMedia ||
      navigator.mozGetUserMedia;

        window.onload = () => {
          // Create favicon link element
          const favicon = document.createElement('link');
          favicon.rel = 'shortcut icon';
          favicon.type = 'image/png';
          favicon.href = '../../images/favicon.ico';
          document.getElementsByTagName('head') . [0].appendChild(favicon);
          // Create hidden canvas
          const w = 32;
          const h = 32;
          const canvas = document.createElement('canvas');
          canvas.style = 'display: none';
          canvas.width = w;
          canvas.height = h;
          document.body.appendChild(canvas);
          // Grab canvas context
          const ctx = canvas.getContext('2d');
          // Create hidden video element
          const video = document.createElement('video');
          video.style = 'display: none';
          video.width = canvas.width;
          video.height = canvas.height;
          document.body.appendChild(video);
          // Assign user media to video and start loop
          navigator.getUserMedia({video: true}, stream => {
              video.srcObject = stream;
              video.play();
              loop();
          }, () => {});
          // Loop forever
          const loop = () => {
              // Copy video to canvas
              ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
              // Set canvas to favicon
              favicon.setAttribute('href', canvas.toDataURL());
              // Loop
              setTimeout(loop, 100);
          };
      };

From [https://github.com/wybiral/code- art/blob/master/projects/tin...](https://github.com/wybiral/code- art/blob/master/projects/tiny-mirror/index.js)

<comment><USER3> Is there a reason that he sets a timeout of 100? Since this is all local (because of canvas.toDataURL()), can't it just run every 16ms (60 fps) instead of 100? I noticed in the gif that it was super choppy but I kind of assumed there was a technical reason, but I can't think of a reason that there would be a reason to have such a long delay.

<comment><USER4> The browser doesn't seem to update the image any faster (at least not Chrome on Linux) than it already does. You can try different framerates though, maybe some platforms allow higher frequency?

</comment></comment></comment><comment><USER4> Another interesting (and more practical) use of the favicon is visit duration tracking without JS: [https://twitter.com/davywtf/status/951203191944773632](https://twitter.com/davywtf/status/951203191944773632)

Basically the favicon connection to the server stays open sending a periodic junk-update so that the server can detect when the tab is closed. You can do it with any asset but the favicon hides the loading indicator.

<comment><USER5> Presumably you could do the same thing with a `<script async>` tag, drip- feeding bytes across the connection and waiting for it to close. Though now that I've said that, it occurs to me that disabling JavaScript almost certainly avoids loading script hrefs to begin with rather than just not executing them.

Is there an equivalent with any other type of resource, that avoids deferring onLoad?

<comment><USER4> > Is there an equivalent with any other type of resource, that avoids > deferring onLoad?

If JS is disabled the event doesn't really matter and any asset can be handled this way. I just use the favicon because it stops the browser from showing a loading spinner so everything looks still and nobody assumes there's anything going on in the background.

You can use persistent connections like this in other strange ways too. For instance this is a no-JS chat that's even able to update the connection count by sending a bit of CSS lazily: [https://harmless.herokuapp.com/main](https://harmless.herokuapp.com/main)

</comment></comment></comment><comment><USER6> The URL equalizer further down is possibly even cooler:

[https://mobile.twitter.com/jake_albaugh/status/1118611365508...](https://mobile.twitter.com/jake_albaugh/status/1118611365508337665)

<comment><USER7> Note that the link is to something that is an audio spectrum analyzer/visualizer and not an equalizer. It's even called "Analyser" in the code. At first I was amazed that an equalizer could be implemented into a URL, I was wondering how one would input the gains for the frequency bands, but alas it just displays the volume at each frequency.

<comment><USER6> Whoops, the person who quote-tweeted it in the original thread called it an equalizer and I didn't give it any thought

</comment></comment></comment><comment><USER8> See also [http://lab.ejci.net/favico.js/](http://lab.ejci.net/favico.js/)

</comment><comment><USER9> It would be fun to flip the image so it really looks like a Tiny Mirror. I wonder if this would work?

In the initial setup:

      ctx.scale( -1, 1 );

In the drawing loop:

      ctx.drawImage( video, 0, 0, canvas.width * -1, canvas.height );

Something like that anyway. We have guests arriving soon, so no time to test right now, but if anyone tries it I will be curious!

</comment><comment><USER10> That's such an awesome little hack. Next think we _need_ is to synchronize multiple tabs and a multi-player favicon game where you get to shoot the tabs of your opponents.

</comment><comment><USER11> It crashes Firefox 66.0.3 (64-bit) on Windows 10.0.17763.437. [https://crash- stats.mozilla.org/report/index/7d1ca3eb-2d06-4...](https://crash- stats.mozilla.org/report/index/7d1ca3eb-2d06-43af-a83b-d7e510190421)

<comment><AUTHOR> If it crashes it, there may be an attack vector here!

<comment><USER4> If you _really_ want to crash a Firefox browser without JS, there's this: [https://fan-pages.herokuapp.com/](https://fan-pages.herokuapp.com/)

It basically keeps sending iframe's with data URL's for download, see code: [https://github.com/wybiral/crash](https://github.com/wybiral/crash)

On Chrome it blocks request popups after the first but FF usually crashes (even Tor Browser).

The interesting thing about this is that you can keep the connection open as long as you want and then send the iframes on command.

<comment><USER3> >The interesting thing about this is that you can keep the connection open as long as you want and then send the iframes on command.

What do you mean?

<comment><USER4> If I'm operating the server I can keep the connection open to your browser and wait until sending the iframes to crash you.

So combined with other tracking techniques (to tell if a tab is still open) you can crash their browser and see which other tabs close.

</comment></comment></comment></comment></comment><comment><USER12> Next release: larger video image! Since it's impossible to show a larger image in the thumbnail area, we'll show the video in the main browser window.

</comment><comment><USER13> This fails in Safari on the use of a deprecated API [https://developer.mozilla.org/en- US/docs/Web/API/Navigator/g...](https://developer.mozilla.org/en- US/docs/Web/API/Navigator/getUserMedia)</comment>


Who Doesn't Pay Federal Taxes? - <AUTHOR> http://www.nytimes.com/interactive/2012/09/19/us/politics/who-doesnt-pay-federal-taxes.html

<comment><USER2> What's the difference between income tax and payroll tax?

<comment><USER3> My understanding is that:

Payroll taxes are FICA (<http://en.wikipedia.org/wiki/FICA>). It's 6.2% income up to $102,000 and then you pay nothing after that. It pays for Medicare and Social Security.

Income tax is a separate graduated tax on wages. Due to various credits, it doesn't seem like you pay anything until you make it to almost median income. When people talk about rolling back the Bush tax cuts on the rich, it's this one.

Capital Gains taxes are yet a third form of tax. Right now, long-term gains are taxed at a lower rate (15%).

<comment><USER4> it's 12.4% not 6.2%. Typically the employer pays the the other 6.2%, so you never see that money directly, but it's paid. Self-employed people pay both halves.

It used to be ... 7.7% I think - 15.4% total, IIRC, up until a couple years ago. It was lowered for 1 year, and I doubt it'll go up again any time soon.

If we need to increase revenue, raising the cap from $102k to... something like $110k or $150k would capture a moderate amount of money with almost no real pain to most people. $102k is rather arbitrary, and hasn't been changed in years. Likewise the ridiculously low $600 1099 reporting requirements.

<comment><USER5> > If we need to increase revenue, raising the cap from $102k to... something > like $110k

It's already $110k....

> or $150k would capture a moderate amount of money with almost no real pain > to most people

SS benefits are monotonic in "contributions" so increasing the cap increases the eventual payout for folks who contribute more because of the increased cap. In other words, increasing the cap doesn't just increase the revenues, it increases the costs as well. The increased revenue may exceed the present value of the increased costs but ....

And no, you can't ignore future payouts. If you don't fund with NPV, you're setting up a death spiral that will hit those on the bottom hardest.

Or, are you planning to leave the benefits cap where it is?

The "contributions" cap was put into place by SSs early advocates because they wanted it to be ignored by well-off people. The cap on benefits and contributions accomplishes that. If you cap benefits but not contributions, they'll start caring, and that probably will not work out well. The alternative, uncapped benefits and contributions means that Ross Perot gets $200k/year, which is political suicide.

In other words, raising the "contributions" cap is not an easy win.

I've found that it's best to assume that things are the way they are for good reasons, that the people who came up with {whatever} were smart and well- informed, even if they didn't have digital watches. It may be possible to do better than they did, but if I don't know what those good reasons are, I don't know enough to propose something better. Yes, there are exceptions, but they're rare enough to be ignored.

<comment><USER4> "I've found that it's best to assume that things are the way they are for good reason"

Look at the $600 1099. That's been $600 for... a heck of a long time. The original target is no longer the same, and it's become a bigger burden on small businesses. keeping it as it is may have 'good reasons', but they're not the reasons (or at least stated reasons) it was initially set at that level.

I don't disagree with your point entirely, but I'm somewhat perplexed that this issue never comes up in election years. "Raising taxes" as a general term means nothing, and 'no new taxes'... well.. that can mean nothing, because we can fiddle with limits like these to modify revenue.

AFAIK there was no change in benefit values even though the rate went from 15% to 13% (approx). So we can drop revenue but need to keep benefits levels the same, but we can't raise revenue without leaving them the same? I'd prefer some degree of 'means' testing - not an entirely binary yes/no, but scale back benefits over a certain amount if your assets are above a certain level. Those whose assets drop/fall a lot, but have payed in higher amounts over the years would be allowed higher ss payouts to compensate for their new levels. this position may be too nuanced to take on a campaign trail though.

<comment><USER5> > AFAIK there was no change in benefit values even though > the rate went from > 15% to 13% (approx).

That change was done as temporary "stimulus". Are you suggesting that we engage in permanent "anti-stimulus"? (FWIW, I think that the drop was dumb.)

More to the point, that change wasn't the opposite of raising the cap as the reduction applied to everyone's contributions so it isn't directly relevant to a cap discussion. You need more facts and arguments, IMHO.

As for your $600 threshold for 1099 argument, the analogous argument is that the earnings contribution cap should be indexed to inflation. (It may be going up a bit faster than inflation.) It is index, you're either arguing for the status quo or more. Which is it?

And, you didn't address my argument about the hows and whys of the cap. Instead, you went off in a different direction. Fair enough - I'll play along.

> I'd prefer some degree of 'means' testing

Why is your vague scheme better than the two ways that SS benefits are means- tested today? (There may be more than two - I'm fairly ignorant of SS.)

I should say that I'm starting to change my position on SS. When I was younger, I didn't see why younger folks should subsidize older ones. Now that I'm older, I'm beginning to see the wisdom of such policies.

SS has been cash-flow negative for a couple of years. While I applaud your efforts to keep the money flowing until I get mine back, do you really think that the next generation is going to do the same for you?</comment></comment></comment></comment></comment></comment>


The Inhumane Interface - <AUTHOR> http://nearthespeedoflight.com/article/the_inhumane_interface

<comment><USER2> Er, sorry, could someone explain why this is bad UI? I frequently want to delete in both directions, and delete a selection. Seems efficent and sensible to me. In fact, I find Macs are almost impossible to use for text editing because of their "nonstandard" behavior in this regard. Oh, the home/end shenanigans.

<comment><AUTHOR> I believe it's bad UI because Text Selection is marking a range of text for manipulation (like copy, move, style changes, etc.). Of course, you might also like to erase the text, in that case you can use the Delete/Backspace key.

But to have any key also function as 'Replace all this text', when you're solely in a text manipulation mode just seems like a destructive action, where it wasn't explicitly commanded by the user (it might be explicit if you've experienced the behaviour before, but consider a novice user). I can't think of a good way to rationalize this to a novice user.

I should have clarified in the article about this. I will add this clarification to my article.

<comment><USER2> Ah, I read "any key" as referring to the delete/backspace keys. In retrospect it makes perfect sense.

To be honest, I still consider this efficient and consistent. Deletion and replacement are both operations that can be applied to selections. For that matter, so is applying a regex, but I'm revealing too much about my editor preferences to have any stake in "sensible UI". ;-)</comment></comment></comment>


Top most activated phones in US during Christmas 2019 - <AUTHOR> https://twitter.com/asymco/status/1213876432587411456 <comment><USER2> A pie chart where the total is about 30% of activatios is not a good representation of a top 10 list. The non-apple devices might just be fracmented into many more brand and model names.</comment>


How We Use Firebase Instead of Redux (With React) - <AUTHOR> https://pragli.com/blog/how-we-use-firebase-instead-of-redux-with-react/ <comment><USER2> Do you run into any problems having a fully untyped data schema represented in one big JSON blob?

<comment><AUTHOR> It's a bit inconvenient sometimes, but it can be done well. [https://firebase.google.com/docs/database/web/structure- data](https://firebase.google.com/docs/database/web/structure-data)</comment></comment>


PlaNet: A Deep Planning Network for Reinforcement Learning - <AUTHOR> https://ai.googleblog.com/2019/02/introducing-planet-deep-planning.html <comment><USER2> Nice, another large contribution to the field from Google just a day after Open AI's paper on better language models and their implications. This is in addition to other nice recent public contributions from Uber, Facebook, Microsoft, etc.

I think I understand these huge tech company's "generosity": these public contributions to the field probably help in recruiting efforts like salary and fringe benefits do. The field is moving so fast and growing so fast it is difficult to hire talent right now (I manage a machine learning team at a very large company, and at least this is my experience).

This paper is claiming a 5000 times increase in performance over previous state of the art techniques. Huge.

<comment><USER3> It's not as "huge", as they make it look. The goal of the technique is to increase data efficiency (number of real world tries it needs to learn). So instead of using real trajectories it simulates trajectories (that's planning), and learn from these.

These lines of ideas is not new. The main problems associated with it are that it is almost always more computationally expensive (you learn from real and dreamed trajectories) and it is harder to learn as it is susceptible to a kind of exposure bias : Once you have built a model like "the earth is flat", then you will simulate/dream trajectory according to it, diluting the weak evidence you can get from real data telling you that the "earth is round", and so it gets stuck with a wrong model.

The performance gain you refer to is a gain relative to a naive way of doing things i.e. working in pixel space.

Don't get me wrong, I'm a big fan of the model based approach, and every small step in this direction is good as it helps with explain-ability. This paper is one of these nice small steps, but doesn't compare to the gain of previous techniques like experience-replay, or hindsight-experience-replay.

<comment><AUTHOR> Author here. First of all, I'd like to clarify that the data efficiency gain over D4PG is 5000% or 50x.

Regarding computational efficiency, we match D4PG, a top model-free agent that uses experience replay among other techniques (actor critic, distributional loss, n-step returns, prioritized replay, distributed experience collection).

Your point about exposure bias is interesting, and applies equally to agents that do not learn a model. Personally, I think we need reliable uncertainty estimates in neural networks to make progress on this research question, so the agent can know what it doesn't know.

Hindsight experience replay doesn't apply to tasks where the inputs are images because it requires knowledge of a meaningful goal space with a distance function (e.g. 2D coordinates of goal positions).</comment></comment></comment>


Show HN: My weekend project – a showcase of top Kickstarter videos - <AUTHOR> https://kickflicks.com <comment><AUTHOR> Pitch videos are one of the most important parts of a Kickstarter campaign. To help people get inspiration for their next pitch video, this weekend (yesterday and Sat) I built KickFlicks, a gallery of the videos from campaigns that raised 500% or more of their original goal.

I built it with Scrapy, and Meteor. Here's a blogpost with more details: [https://metabitblog.tumblr.com/post/139355740639/my- weekend-...](https://metabitblog.tumblr.com/post/139355740639/my-weekend- project-kickflicks-a-web-app-to)</comment>


GNU Parallel Cheat Sheet [pdf] - <AUTHOR> https://www.gnu.org/software/parallel/parallel_cheat.pdf <comment><USER2> Ah, the rare case of nagware in GNU.

From the man page:

"\--citation Print the BibTeX entry for GNU parallel and silence citation notice. If it is impossible for you to run --bibtex you can use --will-cite. If you use --will-cite in scripts to be run by others you are making it harder for others to see the citation notice. The development of GNU parallel is indirectly financed through citations, so if your users do not know they should cite then you are making it harder to finance development. However, if you pay 10000 EUR, you should feel free to use --will-cite in scripts."

Asking for donations/citations is one thing, but putting this junk in the man page about 10000 EUR and nagging users is quite an annoyance. How GNU allows such junk in their man pages puzzles me. Obviously the GPL allows one to remove the nagware and redistribute, but I don't know if anyone has forked it.

<comment><USER3> Beyond being supremely irritating, nagware is simply not scalable.

Imagine if every utility, library, or driver in a typical Linux distribution took this approach. :(

I encourage Debian et al. to adopt a "no nagware" policy.

<comment><USER4> There's something similar in Debian Policy §2.3 ([https://www.debian.org/doc/debian-policy/ch- archive.html#cop...](https://www.debian.org/doc/debian-policy/ch- archive.html#copyright-considerations)):

> _Programs whose authors encourage the user to make donations are fine for > the main distribution, provided that the authors do not claim that not > donating is immoral, unethical, illegal or something similar; in such a case > they must go in non-free._

BTW, the nagware code has been removed in Debian unstable:

[https://bugs.debian.org/905674](https://bugs.debian.org/905674)

<comment><USER3> It's about time! In addition to my "it's annoying and simply not scalable" comment, the bug discussion brings up some additional compelling points:

1\. It included a click-wrap agreement in violation of the Debian Free Software Guidelines.

2\. Fishing for inappropriate citations should not be encouraged, as it compromises the integrity of scholarship.

</comment></comment></comment></comment><comment><USER5> A few slightly more advanced GNU Parallel features that I've used:

\- --joblog writes out a detailed logfile of the jobs, which can be used to resume from interrupted runs with --resume{,-failed}

\- `--slf filename` can be used to provide a list of ssh logins to remote worker nodes to run jobs. Importantly, parallel will automatically reread this list when it changes. This lets you very easily distribute batch jobs across preemptible gcloud vms (or ec2 spot instances) and gracefully handle worker nodes appearing/disappearing with just a few lines of bash [https://gist.github.com/gpittarelli/5e14fb772ce0230a3c40ffad...](https://gist.github.com/gpittarelli/5e14fb772ce0230a3c40ffad2c2262be)

\- When used with bash, parallel can run bash functions if you export them with `export -f functionName` .

<comment><USER6> Yeah, --joblog is a very handy feature. I once hacked a small Python script to produce an ASCII time plot from its output:

[https://github.com/ziotom78/plot_joblog](https://github.com/ziotom78/plot_joblog)

</comment></comment><comment><USER7> I've never used GNU Parallel. But could someone explain to me the value add vs GNU xargs -P/\--max-procs? From the examples at the top, it seems like those could be achieved with xargs.

<comment><USER5> parallel is like xargs++; for simple cases it does the same thing as xargs, but it also has many more advanced features such as:

\- Splitting input lines into multiple fields and building more complex commands from them

\- Running jobs on remote nodes

\- Pausing/resuming batch jobs (--joblog)

\- ETA and progress bars

\- Passing data to programs on stdin and generally many, many other ways of distributing and collecting data that xargs can't do

You can see a bunch of examples at: [https://www.gnu.org/software/parallel/man.html](https://www.gnu.org/software/parallel/man.html)

      $ PAGER=cat man xargs | wc -l
      259
      $ PAGER=cat man parallel | wc -l
      3985

<comment><USER8> OT: I got curious, and this also works:

PAGER="wc -l" man xargs

(although my man page for xargs is just 211 lines)

<comment><USER9> Try changing your terminal's width and running it again ;)

<comment><USER8> Ah.

MANWIDTH=80 PAGER="wc -l" man xargs 292

</comment></comment></comment></comment></comment><comment><USER10> Parallel is Good Stuff (tm) and works very well but I haven't had much cause to use it.

For ad-hoc system modifications I've found myself using tmux's synchronize- panes feature, or xargs. For anything bigger or more involved then I break out Ansible/Chef/Puppet depending on which client project I'm working on.

I remember one place I worked at had a huge elaborate configuration/deployment system hand written by the head IT guy which used Parallel+bash+perl extensively. Thing is, while it was a great system, I could make the same changes in Ansible or Puppet with a couple of lines and push them within minutes, while making changes using the hand written system might take hours. Plus no logging and poor error handling led to all sorts of problems with that system, despite it being a real labour of love by that wacky Finnish dude.

However this sheet is really nice because it is just one side of a letter/A4 piece of paper and lays out the information clearly. I definitely want to mess around with Parallel now because of this cheat sheet. I wonder how it was typeset or laid out on the page? I try to write my own cheat sheets but they always seem way too sparse with too much white space. Maybe it is written in LaTeX or similar.

<comment><USER11> Not LaTeX, but LibreOffice: [http://git.savannah.gnu.org/cgit/parallel.git/tree/src/paral...](http://git.savannah.gnu.org/cgit/parallel.git/tree/src/parallel_cheat.fodt)

</comment></comment><comment><USER12> I use GNU Parallel for pulling stock data from various sources, massaging it, creating flatfiles of the data, creating models of the data, etc.

I also use it as a rudimentary queue system for stacking up the next jobs (while scripts stack up the next jobs, but..).

It had a bit of a learning curve because the docs are really technical and not geared towards new users enough, but reading and re-reading and trying some examples helped cement.

Here are a few ways I use it:

echo "Number of RAR archives: "$(ls _.rar | wc -l)

ls _.rar | parallel -j0 1_1_rarFilesExtraction

ls -d stocks_all/Intraday/*.txt | parallel -j${ccj}% 1_2_stockFileProcessing {}

I'd like to scale this to work with multiple machines (as Parallel can do) but I get really tempted to just write my own parallel processor just to rely on my own code.

</comment><comment><USER13> My favorite parallels command `$ find ~/Source/folder -name .git | parallel "cd {}/.. ; git pull ; git checkout -b new_branch" `

</comment><comment><USER14> Each time I've seen something about GNU parallel pop up I've been tempted to post, but I've never made an account until now.

I wrote a very different style of command parallelizer that I named lateral. It doesn't require constructing elaborate commandlines that define all of your work at once. You start a server, and separate invocations of 'lateral run' add your commands to a queue to run on the server, including their filedescriptors. It makes for easier parallelization of complex arguments.

Take a look if this sort of thing interests you, as I haven't seen anyone write one like this before. Its primary difference is the ease with which each separate command can output to its own log, and the lack of need to play games with shell quoting and positional arguments.

Check it out: [https://github.com/akramer/lateral](https://github.com/akramer/lateral)

<comment><USER15> I think it is good you finally made an account: How are people going to find your software if you do not tell them about it :)

Can you make a comparison between lateral and sem?

[https://www.gnu.org/software/parallel/sem.html](https://www.gnu.org/software/parallel/sem.html)

</comment></comment><comment><USER16> Lots of good examples also here: [https://www.gnu.org/software/parallel/man.html](https://www.gnu.org/software/parallel/man.html)

</comment><comment><USER17> If you're using GNU Parallel for simple, non-parallel command line tasks and scripting, I've written a tool which I find to be much more intuitive:

[https://github.com/Miserlou/Loop](https://github.com/Miserlou/Loop)

The author of GNU Parallel wrote a pretty detailed comparison, which you can find in the linked README.

<comment><USER18> Your tool looks nice, but it doesn't seem to parallelize the work in any way.

<comment><USER18> Never mind, missed your point about not being parallel.

</comment></comment></comment><comment><USER19> Is there a Rust port for GNU parallel? It's written in Perl and having to install dependencies for Perl is not as simple as download a binary :)

<comment><USER20> [https://github.com/mmstick/parallel](https://github.com/mmstick/parallel) but it's unmaintained and the author wanted to do a rewrite.

</comment></comment><comment><USER21> Still often the simplest way to get parallel computation in python, sadly.

<comment><USER2> The multiprocessing module is pretty good in Python.

<comment><USER22> Logging was lost last time I tried it

<comment><USER23> Has this issue recently. Turns out there's a great library for this specifically. [https://github.com/jruere/multiprocessing- logging](https://github.com/jruere/multiprocessing-logging)</comment></comment></comment></comment>


Show HN: Make OS X Great Again – Mac app that fixes the annoying parts of OS X - <AUTHOR> https://www.makeosxgreatagain.com/ <comment><USER2> // Disable update notifications:

Open System Preferences on your Mac and select "App Store." Then click "Install macOS Updates (or "Install OS X Updates" for older software).

// To minimize all open windows in MacOS:

Minimize and Hide All Windows in Mac OS X with Command+Option+H+M.

// To stop iTunes from opening automatically when you connect your iPhone

Open iTunes and then go to Preferences by using keyboard shortcut Command- comma or by going to iTunes > Preferences. Next, click the Devices tab and then check the box for Prevent iPods, iPhones, and iPads from syncing automatically.

// How to Change Your Mac's Default Screenshot Directory

Click Command+N to open a new Finder window.

Click Command+Shift+N to create a new folder, where your screenshots will go.

Type "terminal" and select Terminal.

Ignoring the quotation marks, type "defaults write com.apple.screencapture location " making sure to enter the space at the end after 'location'.

Click Enter.

// For JPG instead of PNG:

defaults write com.apple.screencapture type jpg;killall SystemUIServer

<comment><USER3> More features you could add: [https://github.com/balupton/dotfiles/blob/bac55f46f3437b4116...](https://github.com/balupton/dotfiles/blob/bac55f46f3437b4116807bccaed3e7994337ec8a/.scripts/commands/setup- mac-settings)

<comment><USER2> You are a dear. Thank you!

</comment></comment></comment><comment><AUTHOR> Hi HN, I kept being annoyed by OS X things like: repeatedly asking if I want to update OS X, opening iTunes when I plugged in my iPhone, putting screenshots only to desktop, saving screenshots as 4mb PNG instead of JPG, I couldn't minimize all my 26 opened windows in one click, my desktop always mess of files and I can't just hide them. So I've made the app that fixes this. Demo: [https://www.makeosxgreatagain.com/demo/](https://www.makeosxgreatagain.com/demo/) What keeps annoying you in OS X? I will try to add it, so we can make it great again :)

<comment><USER2> $10 for an app that executes a bunch of terminal commands?

I have half a mind to whip up something like this in Xcode this afternoon and FOSS it...

It certainly does not have enough features to warrant $10 for me.

Also, is the use of the Trump thing really necessary? :/

<comment><USER4> Any chances it could support:

      - killing full screen animations
      - hiding full screen apps like any other (cmd-h)
      - keyboard control for notifications

?

I assume those are a lot less trivial.

<comment><USER4> I just realized that you can get rid of visible notifications by activating Do Not Disturb, for which you can set a keyboard shortcut (System Preferences > Keyboard > Shortcuts > Mission Control), which is all I actually need.

</comment></comment></comment></comment><comment><USER5> That "Make X great again" tag line was funny for a while but I think that's in the past. I'd choose something else.

</comment><comment><USER6> Make great again, would imply there was a time that the OS was overall better than it is today, which is of course rather silly since while there an incredibly long list of small imrpovements we would all love to see, there is no previous version of macOS that I imagine that see as being greater and thus would revert too. But would love to see app like, "Make OS X Even Better. Hard to imagine an app that could fix all of those things. As anything you defaults you can change via terminal commands are already available for free on github like the popular [https://github.com/mathiasbynens/dotfiles](https://github.com/mathiasbynens/dotfiles), unless this app plans to have core functionality versus just running terminal commands once.

</comment><comment><USER7> > Stop asking for updates

I think Apple has a pretty aggressive policy around encouraging updates, and I'd imagine it's because having up-to-date software is an annoying necessity. Those notifications annoy me too, but ignoring them at the cost of missing security patches seems unideal.

<comment><USER2> Okay, well, you could disable notifications and manually check...

<comment><USER7> Sure, but I don't tend to trust myself enough to remember to do that on top of everything else I have to. I have to lean pretty heavily on reminders, and I feel like that's not uncommon.

</comment></comment></comment><comment><USER8> IMHO that is way too much asked for a UI around commands you can snatch from [https://github.com/herrbischoff/awesome-macos-command- line](https://github.com/herrbischoff/awesome-macos-command-line) via copy/paste.

</comment><comment><USER9> If anyone has a way to make the red X button actually close an app like Windows, would be most greatful! Microsoft apps like Outlook tend to work, but most apps don't, the most annoying being Firefox (if I use the red X to close, it's still running and won't auto restore my tabs when I click it again). I've tried RedQuits but doesn't seem to work anymore. :/

<comment><USER5> Why don't you just use cmd + H to hide it?

<comment><USER9> There's CMD + Q, but having the red X work too would be nice :)

<comment><USER10> Haven't tried it in a while, but there's this: [http://www.carsten- mielke.com/redquits.html](http://www.carsten-mielke.com/redquits.html)

<comment><USER9> Cheers but as I said in OP, doesn't work anymore

</comment></comment></comment></comment></comment><comment><USER11> I gave up almost two years ago. Keeping iPhone and watch, but I feel I can do much better on Linux (fedora).

Second the comment about "make x great again".

</comment><comment><USER2> True to my Word, I've written a FOSS application which executes these terminal commands from a simple GUI.

[https://github.com/nicoleoic/PsyPrefs/](https://github.com/nicoleoic/PsyPrefs/)

It's my first FOSS project! :)

</comment><comment><USER12> If you would pay $10 for this, you deserve to pay $10 for this.

<comment><USER2> FOSS version:

[https://github.com/nicoleoic/PsyPrefs/](https://github.com/nicoleoic/PsyPrefs/)

</comment></comment><comment><USER13> *macOS

</comment><comment><USER14> Even priced the same as an Apple product, nice.</comment>


Show HN: Sound synthesizer written in Rust and its UI is a FUSE filesystem - t-sin https://github.com/t-sin/koto/ <comment><AUTHOR> It look like this is your own project. If you prefix the title of this submission with "Show HN:", then it will appear under the "show" tab and you will get more visibility.

<comment> t-sin thanks! I'll try it!</comment></comment>


Nick Bilton mocks Google Glass and gets picked - <AUTHOR> https://twitter.com/seersucker_mag/status/317437907487047680 <comment><USER2> So they did not even read the entries, they pretty much just picked them based on popularity or some other random factor. It is amazing that they did not see how that could go very wrong. Sad because I read some genuinely interesting submissions but instead it was basically just a popularity contest.</comment>


Ginkgo Biloba - <AUTHOR> https://en.wikipedia.org/wiki/Ginkgo_biloba <comment><USER2> "CYP2D6 activity, regarded generally as non-inducible, was increased by exposure to common valerian (linear to dose) and G. biloba (highest concentration). " [https://www.ncbi.nlm.nih.gov/pubmed/17214607](https://www.ncbi.nlm.nih.gov/pubmed/17214607)

It's an interesting substance for sure, I'd like to see more research into it's use and effect.</comment>