Secure your Linux server - HowTo by the NSA - <AUTHOR> http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf <comment><USER2> Looks like they have guides for multiple operating systems:

[http://www.nsa.gov/ia/guidance/security_configuration_guides...](http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml)

<comment><USER3> I love the level of paranoia. The transparent message of these documents is that its possible for The Enemy to exploit everything on your system. "Disable your laptop camera. Disable your computer's audio input."

For the NSA and other top secret uses this makes good sense.

<comment><USER4> I have duct tape on my Macbook Pro's webcam ever for the last 3 years or so ..

<comment><USER5> Why not indeed: after hearing that the FBI could remotely activate microphones on mobile phones when no call was even active, of the story of that school that used webcams in Macs to spy on students at home with a special system that disabled the activity light, and knowing the ability for malware to do any of that: Why do I have this camera facing me all day, when I use it three hours a week?

<comment><USER6> There is no way to disable the activity light on a Mac's integrated camera.

In the case of that high school spying incident, the BOFH responsible had handwaved away the random LED flashes as a bug.

<comment><USER5> I see, I could be wrong about the particulars of that case. I could see how someone might not notice or be concerned about the light flashing every now and then, too.

If the school wanted to disable it though, it wouldn't be impossible for them since they had access to the hardware. A thin dot of black paint might do the trick, especially if they peeled back the glass a bit, which is a pain, but quite do-able. Certainly something people in the NSA would be wary of... it's a shame that high school students should have to worry about that, too.

</comment></comment></comment></comment></comment></comment><comment><USER7> They could have done better for OpenSSH securing: they forgot forcing key- based authentication only and changing default port number.

<comment><USER8> > and changing default port number

That's not security, that's obscurity. If your ssh is secure, you don't need to change your port number.

<comment><USER9> If obscurity is useless, then why does the Army camouflage tanks? Why not just paint them blazing orange/pink and let them stand on their own defenses? There is a place for obscurity in security and the endless parroting of "security through obscurity is useless" should stop.

<comment><USER10> Obscurity isn't useless in all situations, but in this case it's important to realize that changing the port number is really only effective in preventing scanning attacks.

For a targeted attacker, finding the new port is trivial. (There are only 65k of them...)

Comparing service discovery with maintaining a fog of war isn't really an apt comparison.

<comment><USER11> How about using "password" as a password if security is so good? Or do you suggest people keep track of 255 UTF-8 characters for a password?

An attacker would still need to go through all 65k ports. I would assume by even false scanning 5 ports, the attacker gets immediately null-routed and still get no response. I would also hope such programs have a paranoid sense of security that they would deny user/password if either are false by not even providing a response as if the program didn't exist.

Due to lack of feedback, users will get inconvenience and confusion why ssh doesn't work. Much like passwords example, there's a trade off between usability vs security with varying obscurity levels.

<comment><USER12> > I would assume by even false scanning 5 ports, the attacker gets immediately > null-routed and still get no response.

So run the scan using a botnet. Each machine makes one attempt (there are some really big botnets out there). There's no way for the machine to prevent the attacker from finding the port being used, unless the machine notices that lots of requests are coming in from unknown machines and starts refusing all requests - of course, refusing requests from unknown machines is a good thing to do if you're being paranoid. Use a whitelist of allowed machines, not a blacklist of disallowed machines.

<comment><USER11> Is there really no way for the machine to prevent private ports from being be known without a specific call? It seems to me that machines are designed to follow the standard to be nice and respond back [0]. Even with a whitelist, I have concerns that the machine is opening itself for a DDoS SYN attack by simply replying back rejections.

[0] [https://secure.wikimedia.org/wikipedia/en/wiki/Port_scan#TCP...](https://secure.wikimedia.org/wikipedia/en/wiki/Port_scan#TCP.2FIP_basic_knowledge)

<comment><USER13> You should look into tar pits:

<http://en.wikipedia.org/wiki/Tarpit_%28networking%29>

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Quite a detailed document. Glad to see the US taxes paying for something decent for once.

<comment><USER15> These have been around for years and years. I remember reading one for windows 2000 and NT.

<comment><USER16> I took a security class in college that and we used some of these documents to secure some systems. They're a pretty helpful reference.

</comment></comment></comment><comment><USER17> Section 1.1.1: "Data transmitted over a network, whether wired or wireless, is susceptible to passive monitoring."

Translation: We don't like those creeps on the other side of the building either.

<comment><USER18> And conclusion : turn off the network as well. You never know.

</comment></comment><comment><USER19> Is there an OSS package for automating checks for such practices? Ie, security lint checker?

<comment><USER20> Yes. Have a look at Tiger: <http://savannah.nongnu.org/projects/tiger/>. There are also much more active solutions. Specifically, take a look at <http://en.wikipedia.org/wiki/Metasploit_Project>. With Metasploit you can explore your entire network and try to break into it. I saw a great presentation on this framework and while it's complex and the learning curve is high the stuff is fascinating.

Basically, let's say you have a mixed Windows/UNIX network with a single UNIX- like web server and a strict firewall. Metasploit will automate looking for vulnerabilities on the exposed web server ranging from known shell and SQL injection attacks to straight-up buffer overflow attacks on system services. It will then automate deploying remote exploit, then a local exploit to get root, and opening up a shell connection to the broken server (can tunnel traffic through a variety of methods including DNS). It will then help you scan the rest of the network from this newly rooted machine, doing the same thing.

The takeaway is that once you get any access to any Windows machine, you've owned the entire network because there is usually at least one local root exploit on Windows and then it takes minutes to crack the admin password. After that, you better pray that each machine has a different admin password, or else it's game over.

EDIT: BTW, the presenter had some fun ideas/suggestions for what a person breaking into the machine might do:

* Take a picture of the user using the web cam and set it as the desktop background.

* Take a screenshot and set it as the background.

* Play the sounds recorded through the mic to the speakers.

<comment><USER18> Tiger doesn't seems ready yet.

"This same tool has now been resurrected and there is ongoing development in order to make it useful for newer versions of the UNIX operating systems it supported."

</comment></comment></comment><comment><USER21> In all seriousness, is there a shorter "cheat sheet" of this document or something similar? I'm sure I'm not the only one here working on building a server side app but has little security experience. "Security" is tough to give top priority to at a startup and implementing a 200+ page security protocol isn't realistically going to happen anytime soon.

<comment><USER22> In the page hvs linked to above there's a cheat sheet version:

[http://www.nsa.gov/ia/_files/factsheets/rhel5-pamphlet-i731....](http://www.nsa.gov/ia/_files/factsheets/rhel5-pamphlet-i731.pdf)

</comment></comment><comment><USER23> Is there a tool I could run to check what's described in the document (or similar) automatically ?

<comment><USER24> Nessus is probably (still) the best for Linux in this field (certainly in the "free for home use" category): <http://www.tenable.com/products/nessus>

Lots of vendors have offerings in this area. The quality is ... variable. If you are thinking of getting into this market, then the hard part is not the scanning engine per se. The more difficult parts are:

* Keeping the policy rule set in sync with reality (changing business policy, attack and vulnerability landscape)

* Maintaining the rule set (are DSLs for non-specialists feasible? service model?)

* Interpreting and actioning the results in a timely fashion (eg <http://measurablesecurity.mitre.org> for some background)

* Intrusiveness (intrusive validation of a test platform requires careful change control -- is test identical to production? intrusive validation of production may lead to shot feet)

* Application, domain-related and physical security (as opposed to system security captured by this document). These things are harder to scan for automatically.

<comment><USER23> Thank you for the link and your insight, too.

</comment></comment></comment><comment><USER25> 3.21 - Install the NSA Security Suite to ensure your computer's safety

</comment><comment><USER26> Could anyone quickly explain how partitioning helps with security?

<comment><USER27> Also, as the guide mentions, it's possible to mount the partitions with different options. As the following (all mentioned in the HowTo, excerpts from "man mount"):

      noexec Do not allow direct execution of any binaries on the mounted filesystem.  (Until recently it was possible to run binaries  anyway using a command like /lib/ld*.so /mnt/binary. This trick fails since Linux 2.4.25 / 2.6.0.)

      nosuid Do not allow set-user-identifier or set-group-identifier bits to take effect. (This seems safe, but is in fact rather unsafe ifyou have suidperl(1) installed.)

      nodev  Do not interpret character or block special devices on the file system.

Of course this is just one less (perhaps improbable) attack vector. Never the less; many of the mentioned partitions should never have these kind of files unless it's for a malicious purpose.

Edit: fixed pre and clarification

<comment><USER28> A common way for an attacker to get root access after exploiting a service and getting accesses on that service's user account is to download some additional tools to tmp. Since no one should be running programs from tmp, turning exec off hopefully gives an attacker with a compromised daemon account no place to download code that they can then execute.

</comment></comment></comment><comment><USER29> If Only Sony.... ah... too late for that!

</comment><comment><USER30> This is a bit out of date (2009) yet contain many Security goodies for Ubuntu [pdf]

[http://www.securenetwork.it/ricerca/whitepaper/download/Debi...](http://www.securenetwork.it/ricerca/whitepaper/download/Debian- Ubuntu_hardening_guide.pdf)

<comment><USER31> No. The original is from 2009; this is a revision dated Sept 14, 2010.

It seems extraordinarily thorough. Is there any recommendation in particular that you think is no longer relevant?

<comment><USER32> Where did you find the 2010 revision?

The one from the parent link says VERSION 1.0 - 11/09/2009 (PDF creation date is October 24th, 2009) and <http://www.securenetwork.it/ricerca/whitepaper/> links to the same.

</comment></comment></comment><comment><USER33> Does anyone have any other guides like this? I'm using Arch Linux and want to run nginx on it. I'd like to make sure it's as secure as I can make it before deploying the website.

<comment><USER34> Pacman doesn't verify the integrity of packages before installing them. This is a pretty major security hole, in my opinion.

If you're concerned about running a secure and stable production server, Arch should probably be your last choice.

Don't get me wrong, I think Arch is a fine distro, I just think rolling releases are a scary idea for production servers.

</comment></comment><comment><USER35> _"Use a bios password"_ ... and don't reboot your server when running in a remote server room?

<comment><USER36> KVM over IP. Type your BIOS password right in.

<comment><USER35> Thanks! I did not know about this. But doesn't this create extra security issues?

<comment><USER36> Yes, you do have to take the KVM over IP device's security into account, like any other remote service you expose. It's the same set of problems you face with securing your other encrypted remote login (SSH) with similar solutions.

</comment></comment></comment></comment><comment><USER37> Interesting, FreeBSD/PcBSD is not on the list. is it due to lesser popularity?

<comment><USER38> There are NO BSD's on the list. I suspect this is due to a few things.

1) How many people actually use BSD in a production environment?

2) If you are the sort to actually use BSD in a production internet-facing environment, you are probably using OpenBSD and you are probably already so paranoid about security the NSA has nothing left to teach you

<comment><USER39> BSDs get used a lot in production environments, even in DoD, but they're usually embedded in devices or otherwise certified and managed as a specific product, not as a general purpose operating system.

</comment></comment></comment><comment><USER40> I'll just skip to the juicy bits:

1.1.2 Minimize Software to Minimize Vulnerability

Really, NSA? So you enjoy tracking down broken package dependencies, installing software 5x a week as developers need it (thus slowing down their development time), and not having the tools to troubleshoot downed systems when they're down (and potentially without access to Yum)? Not to mention having to USE YUM, which is in itself not a fate i'd wish on anyone. If you actually audit and secure stupid stuff like excess running network services and setuid-root binaries you are left with one thing: usermode applications which cannot be used for any attacks. Thus it's not only annoying to not have software already on the box, it's stupid too.

188.8.131.52 Disk Partitioning

Are you people really stuck in 1998? Are we really still making a separate partition for /boot? Look, guys. BIOSes could access disks past the 1024th sector like 10 years ago. And for christ's sake, nobody has ever been saved from having a 4GB /var/log partition and a 20GB / partition. The disk space is finite. If you run out, YOU'VE RUN OUT. Just make one bigass partition and _IMPLEMENT DISK SPACE MONITORING_ and clean up your crappy logs before the disk runs out. If /var fills up you're fucked anyway, so might as well give it as much space as possible.

22.214.171.124 Boot Loader Configuration

Oh my god, HOW could we possibly be secure without a password to BOOT OUR MACHINE. The damn disks and boot partition aren't even encrypted, guys! This is useless! If i'm at the machine trying to change the boot configuration i'm just gonna remove the hard drive or use a jump drive and get at the data myself!

2.2.1 Restrict Partition Mount Options

OK, they redeem themselves here on the partition shit. I still think /tmp should be tmpfs or a swap partition, but whatever. Mounting user-writeable partitions with nodev,nosuid,noexec is actually a really effective and easy way to prevent payloads from being dropped and executed. Of course you can still just buffer overflow and have at whatever service you want, but it makes it much more annoying for attackers as they can't just download a payload to disk and run it. Of course this also means you can't scp scripts as a normal user and run them; you'd need to make a special account that can write to / or some other directory which can execute scripts, so you can copy admin tools/scripts there on the fly for maintenance etc.

2.3.5 Protect Physical Console Access

Again, this is stupid. BIOS password? I'll just remove the CMOS battery. Boot loader password? I'll use a jump drive or remove the hard drive (or put in my own and boot to it, then access your disk).

126.96.36.199 Disable Support for IPv6 unless Needed

Too lazy to use ip6tables, huh? Yeah you're right, we'll never need IPv6.

126.96.36.199 How TCP Wrapper Protects Services

REALLY, NSA? Allow only specific IPs or hosts? Are we really talking about fucking TCP wrappers? If you rely on TCP wrappers you should probably be fired.

3.5.1 Disable OpenSSH Server if Possible

....how the hell am I supposed to maintain the system then? Use Rsh? Just hope that nothing ever goes wrong so I never have to log in to troubleshoot?

Clearly somebody just decided to list every single commonly-available-at- install "security feature" found in modern Linux distros instead of showing how to implement security best practices and a structure of limited access control on available services (combined with robust configuration management). Yes this is all very nice for beginners, but if you're really trying to secure a machine you shouldn't be giving the task to a beginner.

<comment><USER41> This guide is written by the NSA so it is reasonable for them to be paranoid by default.

> 1.1.2 Minimize Software to Minimize Vulnerability

I agree on yum. If the attacker has root and can run yum. It is too late.

In regards to user mode applications: If you have wget, python, gcc on a php- only shared hosting server and your security depends of open_basedir (bad idea, don't do this) these usermode applications give you access to all data on the server.

> 220.127.116.11 Disk Partitioning

> nobody has ever been saved from having a 4GB /var/log partition

This is just plain wrong. If there is no disc-space left all kinds of strange error beginn to appear - e.g. your emails are not beeing delivered, apache fails with strange errors, users can't login. Imagine an attacker that wants to DoS you and he managed to fill your logs with excessive data.

> 188.8.131.52 Boot Loader Configuration

> Oh my god, HOW could we possibly be secure without a password to BOOT OUR > MACHINE. The damn disks and boot partition aren't even encrypted, guys! This > is useless!

It is not. I can boot from my USB thumbdrive and my private toolbox is now part of of the network (I can hijack the MAC and IP-Adress of the computer in question, can do arp-spoofing. If they use an old version of nfs I can even gain access to all files on the nfs server, because older nfs versions trust the client. And I can doing this likely without beeing noticed.

2.3.5 Protect Physical Console Access

Again. I'm into GRUB and and I can edit the linux-boot entry and add init=/bin/bash and voila I'm root on the machine. Without having to open the computer.

> 18.104.22.168 Disable Support for IPv6 unless Needed

IPv6 is still not largely deployed and it is a possible attack vector you can easily avoid unless you need it. I don't see a problem with this approach.

188.8.131.52 How TCP Wrapper Protects Services

It is another onion-ring in your security scheme. You should only permit hosts that require connections with your system. It is part of a bigger picture not the whole strategy.

3.5.1 Disable OpenSSH Server if Possible

Why not? E.g. I managed to sniff/can have a look at your E-Mail and you are so stupid to send plaintext account data around (happens all the time). Without access to OpenSSH I can't easily login into your server.

They just show a lot of possible attack vectors you can focus on. Taken alone every point mentioned here sounds kind of useless to implement. But if you combine all these ideas and implement them across your network/your server you have better security.

I can't understand why you ridicule this suggestions, they all are important depending on the context.

<comment><USER40> > I agree on yum. If the attacker has root and can run yum. It is too late.

Having yum is not the problem, it just has really annoying bugs and limitations.

> In regards to user mode applications: If you have wget, python, gcc on a > php-only shared hosting server and your security depends of open_basedir > (bad idea, don't do this) these usermode applications give you access to all > data on the server.

You're telling me if you're depending on an un-secure method of operation that it could be un-secure?

> This is just plain wrong. If there is no disc-space left all kinds of > strange error beginn to appear - e.g. your emails are not beeing delivered, > apache fails with strange errors, users can't login. Imagine an attacker > that wants to DoS you and he managed to fill your logs with excessive data.

Having your logs partition fill up is not something that's supposed to happen anyway. This is what we have log rotators for. Some software fails to work entirely once logs can't be written. Bottom line: if your partition is filling up, you're screwed. Be proactive and put in place limits, log rotation, and disk alerts.

> It is not. I can boot from my USB thumbdrive and my private toolbox is now > part of of the network (I can hijack the MAC and IP-Adress of the computer > in question, can do arp-spoofing. If they use an old version of nfs I can > even gain access to all files on the nfs server, because older nfs versions > trust the client. And I can doing this likely without beeing noticed.

Spoofing network shit has nothing to do with physical security.

> Again. I'm into GRUB and and I can edit the linux-boot entry and add > init=/bin/bash and voila I'm root on the machine. Without having to open the > computer.

Yes. And it'll take me a whole 5 minutes (or less) to do the same thing with a bootloader password. Congratulations, you have been owned by security through obscurity.

> IPv6 is still not largely deployed and it is a possible attack vector you > can easily avoid unless you need it. I don't see a problem with this > approach.

Like I said. Learn ip6tables. You'll need it soon.

> It is another onion-ring in your security scheme. You should only permit > hosts that require connections with your system. It is part of a bigger > picture not the whole strategy.

Iptables _does this already_ and does a much better job.

> Why not? E.g. I managed to sniff/can have a look at your E-Mail and you are > so stupid to send plaintext account data around (happens all the time). > Without access to OpenSSH I can't easily login into your server.

What the fuck are you talking about? Sniffing my e-mail? Look. OpenSSH is a pretty secure codebase. Lock it down more and use 2-factor and it's pretty goddamn reliable. And everybody needs remote access to their boxes, and this is as good a solution as anything else.

Yes, I agree that combining many methods to secure a system makes it much more robust/secure in general. But you need to have more than just a guide to hardening a system. It takes a certain mindset and a particular idea of _just how secure_ you want your system. Even following everything in this guide I could probably still own a variety of machines if they were maintained and used carelessly.

I ridiculed the suggestions because it's the goddamn NSA. They should be able to come up with a better guide than this, and one which is realistic for both the individual at home and the large enterprise network admin. This shit looks like an infosec intern threw it together from other online hardening guides. And like I said originally, yes, it's a beginner's guide at the most, but it does a disservice to those that will use it and wave it as a flag to show they've hardened their machine. Now amateurish admins will tell their bosses "I just hardened our server according to the NSA's specifications!" and the boss will jump and clap with giddy moronic glee, because that's what bosses do. And they'll still get owned.

<comment><USER41> I agree on your conclusion. After re-reading your original post and my answer It seems that I misunderstood some of your points.

After skimming through the guide again, I also found that certain security related aspects are not included. There is no discussion about sensible ressource limits and other topics.

I found the guides from the german BSI (a goverment agency for information security) much better. [https://www.bsi.bund.de/EN/Publications/publications_node.ht...](https://www.bsi.bund.de/EN/Publications/publications_node.html;jsessionid=3BCD46AC05B9125196407522C71F482A.2_cid165)

</comment></comment></comment></comment><comment><USER42> Anyone find an attempt to install any backdoor? :D

</comment><comment><USER43> tl;dr: Don't take security advice from organizations whose job is spying on you.

I don't know about anyone else. But the NSA is one of the last organizations I'd let give me security advice. I wouldn't put it past them to purposefully omit a pointer or two in the hope that those who follow the guide to the letter not knowing any better will leave a way in. Based on the other comments the advice is banal rubbish. Perhaps this is purposeful.

<comment><USER44> Part of the NSA's mandate is protecting US interests and communications as well. My personal favourite example of this is the changes they recommended to DES while it was being established that strengthened DES against differential attacks, a class of attacks that was not publicly known of until years later [http://en.wikipedia.org/wiki/National_Security_Agency#Data_E...](http://en.wikipedia.org/wiki/National_Security_Agency#Data_Encryption_Standard_.28DES.29)

<comment><USER45> A more secure _society_ wouldn't have secret agencies operating in peacetime. Why? Because their mandates, budgets, policies are also secret and subject to mission creep.

<comment><USER27> Except that this specific document comes with good advice and rationale. There is nothing here that indicates a secret agenda. It's not as if the document is telling you to install a backdoor for them.</comment></comment></comment></comment>


The Gyro Captain's Gyrocopter at the Mad Max 2 Museum (2016) - <AUTHOR> http://acesflyinghigh.wordpress.com/2016/03/09/mad-max-2-the-gyro-captain-and-his-gyrocopter/ <comment><AUTHOR> Original _Gyrocopter_ [0] arrived to "The Mad Max 2 Musem" only on October 21, 2015; there was few posts with photos[1,2,3] about this moment on "MadMaxMusem" page on Facebook.

[0] [http://madmax.wikia.com/wiki/Gyrocopter](http://madmax.wikia.com/wiki/Gyrocopter)

[1] [https://facebook.com/MadMaxMuseum/photos/a.273018656082186.8...](https://facebook.com/MadMaxMuseum/photos/a.273018656082186.87603.113085982075455/1031448366905874/)

[2] [https://facebook.com/MadMaxMuseum/photos/a.273018656082186.8...](https://facebook.com/MadMaxMuseum/photos/a.273018656082186.87603.113085982075455/1031459870238057/)

[3] [https://facebook.com/MadMaxMuseum/photos/a.273018656082186.8...](https://facebook.com/MadMaxMuseum/photos/a.273018656082186.87603.113085982075455/1031502226900488/)</comment>


Kicksend (YC S11) partners with Target/CVS/Walgreens to launch "Print to Family" - <AUTHOR> http://blog.kicksend.com/kicksend-3-0-the-only-app-youll-need-to-keep-in-touch/

<comment><USER2> I really, really, tried to like Kicksend. The usability was horrible though. My main use case was that I'd upload some pictures and share them to a list of family and friends of the new baby - keeping the pictures off of email and gaining some small increase in control.

Then we get into the problems...

There was no good way to bulk maintain pictures. Horrible. Lists? They didn't work. Half the time the email wouldn't be sent out to the group after I shared something. Fail. So, the last time I tried to use it - and realized that nobody got what I sent out, I spent an hour manually deleting every file in my account (since, again, there were no bulk interactions). On top of that, there was no way to simply delete my account.

Kicksend was good in concept, but execution and reliability of it working was one of the worst of any apps I've used in the past few years. I finally ended up switching to a Pro Flickr account and just share things via Guest Passes. Works as expected.

Kicksend was something I really hoped worked well, but all it was to me ended up being a pretty UI that I couldn't trust to work at all. I would have paid for an account had it - since I really did like the interface.

</comment><comment><USER3> So, I'm a little confused. This is something I do myself pretty regularly but there are conflicting things here for me.

The photos I usually want to print are almost never ones taken on my phone. And because the photos I actually send to people are from my camera I end up using my PC and just upload them to the company and choose the location. Costco, Walmart, Target all offer the ability to print at various locations.

I guess I don't see the benefit here. Driving to the store is the inconvenience in the end. That's why people attach photos or upload them on Facebook instead these days. Perhaps if it automatically snail-mailed the photo to a family member it would be more useful. But even my 70+ year old grandparents prefer I email them photos now anyway.

Edit - Just to add some context, I'm a father with multiple kids with parents and grandparents who demand photos of them every day. :)

</comment><comment><USER4> This seems really cool how you can automatically print at Target, CVS, etc pretty easy. So this is definitely an upgrade.

I haven't used the app yet, I'm about to, but what's the advantage over just emailing the photos to the grandparents?

<comment><USER5> The advantage is that they don't get a bunch of huge attachments.

But over the years I've come to the realization that attaching photos is still the best way to share photos with grandparents.

Scenario 1 (attach to email)

Grandpa receives an email with an automatically generated thumbnail and clicks the thumbnail to see the larger version.

Scenario 2 (everything else)

Grandpa receives an email with a link. The thumbnails probably don't show up because images are turned off by default and that's how Grandpa rolls. Grandpa clicks the link which opens a new tab and shows similar thumbnails to scenario 1. Grandpa clicks to see a larger version.

\---

Granted, you can provide a bunch of additional value (like ordering prints and whatnot) in scenario 2. But it comes at a very steep cost.

Disclaimer, I'm a founder of OpenPhoto and work about 30 yards from the Kicksend team. I personally use their app and think they're on to something. But I'd be lying if I didn't say it's a challenging road (for them and us).

</comment></comment><comment><USER6> Does this compete with Picplum, now?

</comment><comment><USER7> skyfallsin, would this be considered an example of online-to-offline?</comment>


Is your iPad keeping you up at night? - <AUTHOR> http://networkworld.com/news/2012/082712-ipad-261956.html <comment><USER2> I really wish there was something like f.lux (<http://stereopsis.com/flux/>) for iOS, or at least without having to jailbreak and do whatever else, because then I might be able to use my iPad in bed to read a bit before sleeping.

Having it on my laptop had made a big difference -- I "felt tired" when the display temperature was adjusted at nighttime. Before that, I could happily stare at that blue light and stay awake as long as I wanted, at the expense of my productivity the next day.

<comment><USER3> I gotta say I reckon f.lux is the only thing on Cydia worth jailbreaking for.

<comment><USER4> There's a lot of other tweaks which make iOS a much nicer place. More recently, Nitrous is a pretty amazing tweak which enables the Nitro JS engine for non-Safari apps. Speeds things up big time.

Aside from that you can have a way of having a particular browser open besides Safari, scrobble your iTunes tracks automatically, password protect apps, have a much better lockscreen experience, much better folder experience, theming, retina-fy low res apps, have a download manager, etc.

For me personally, there's plenty of reasons to jailbreak.

</comment></comment></comment><comment><USER5> What I do is invert the colors on the iPad at night and turn the brightness all the way down. The screen on/screen off button can be programmed to be the trigger. When I press it 3 times quickly it inverts the colors. No need to jailbreak for this hack.

<comment><USER6> Nice tip, I'll give it a shot. It's in General -> accessibility -> triple click home in case anyone's wondering

</comment></comment><comment><USER7> The article just says "electronics with backlit displays". I'm surprised it singles out tablets, because unless I'm reading it wrong, that includes laptops, or even television sets. Strikes me as untrue, since almost everybody has these and stares at them all day and not everybody has sleeping problems.

<comment><USER8> Sleeping problems is a pretty extreme case. If the tablet or laptop pushes your sleep time back to midnight from 10 PM, that could be a large and significant effect even if one doesn't consider it 'a problem'.

(In some groups, this might be a problem, and the paper specifically mentions them: adolescents already have a sleep schedule that has been pushed back by puberty, love their gadgets, and have hard and early wake-up times. The result: highschoolers spend the first few classes half-asleep.)

</comment></comment><comment><USER8> The paper: <http://dl.dropbox.com/u/85192141/2012-wood.pdf>

</comment><comment><USER9> For those that aren't aware, there's tools to help with this.

        f.lux    | Windows, OS X, iOS (jailbreak needed) | http://stereopsis.com/flux/
        Redshift | Linux, Windows (experimental)         | http://jonls.dk/redshift/
        Lux      | Android                               | https://play.google.com/store/apps/details?id=com.vito.lux

Lux isn't as nice as the others because it doesn't change colour temperature, it just puts a red/brown overlay over the screen. AFAIK there's no way to change the screen's colour temperature in Android.

<comment><USER10> I was literally looking for flux on linux just before coming to HN to read this, so i can tell you flux is available for linux[1], although there can be issues; which prompted the creation of redshift.

1\. see <http://stereopsis.com/flux/linux.html>

<comment><USER11> I used xflux when I used linux a while back, it worked very well.

</comment></comment></comment><comment><USER12> I personally switched back from my nexus 7 to my galaxy nexus for night time reading just for this reason. It's not just the size, the darker blacks of the oled screen also help.

It also helps that the size of the phone is better for novel reading, in my opinion. It's worse for practically everything else, but the ability to fall asleep quicker more than makes up for it.

<comment><USER10> This is one of the reasons i want OLED screens on everything. I would find it very hard to go back to a non-oled phone, too.

If you need darker-than-minimum setting then check out 'screen filter'.

</comment></comment><comment><USER13> There's an app to 'fix' this, called Flux, but it's only for jailbrokn iPads. Pity, the Mac app is great.

<comment><AUTHOR> F.lux is fantastic. I've been using it on all of my systems.

Are you aware of an equivelant for Android?

<comment><USER14> I use the Chainfire 3D driver + CF.lumen plugin. You need to have root though.

<comment><USER15> Fyi, you need the CF3D Pro driver.

</comment></comment></comment></comment><comment><USER10> Does anyone know of an extension for firefox (or chrome) that replaces white backgrounds (or even better all light colours) with darker shades?

Flux and co are all well and good, but large areas of white (even when orange- ish) are still a strain, and it seems fairly simple issue to solve (at least in the most simple case; replace #ffffff backgrounds).

Also as a tip for anyone with a windows laptop; you may find, like me, that linux allows your screen to be set much darker than the sparse intervals in windows allow (maybe there is a windows program that allows fine brightness setting?). Macbooks seem to have a very low brigtness setting, although i can't say i've used one in the dark.

<comment><USER16> On windows I use a combination of flux and prefbar on Firefox to turn toggle the standard colors on and off, with a custom windows color theme.

On linux I use the "negative" plugin to compiz, with a keystroke (win+n) the whole window goes negative. Great for reading hacker news at night.

</comment></comment><comment><USER17> Most nights (and when I nap in the afternoon) for the past couple years, I use an iPad to read websites and Instapaper saves for 15-30 minutes in bed before I go to sleep. After that ~15 minutes, I'm out like a light. I've never previously been able to get to sleep as quickly, reliably, and easily.

Sample size of one and all, but I definitely haven't noticed any negative impact on my sleep. If anything, I'm fairly confident that my newly-backlit reading habits have actually helped me get more sleep.

</comment><comment><USER18> I use the lowest brightness setting for the iPad, doesn't mess up too much with my sleep that way. But I'm still thinking about getting a Kindle for that reason.

</comment><comment><USER19> f.lux[1] is pretty much THE main reason I jailbroke my iPad.

[1]<http://stereopsis.com/flux/ios.html>

<comment><USER20> Likewise. I started using f.lux a few months ago, and now I can use the iPhone at night without getting fully awake.

I'm still getting used to it on the main desktop monitor, though. Installed, uninstalled, now trying again for a 2nd time.

</comment></comment><comment><USER21> I have found turning my brightness all of the way down (more accessible by double clicking the home button), and turning on white on black text in Settings > Acessibility helps. It inverts the color palatte but produces less light so it's easier to read in the dark.

</comment><comment><USER22> Anybody experienced sleep problems caused by using internet right before falling asleep and the first thing in the morning?

I've stopped doing that recently, and it does feel liberating, but I still have sleep problems... (Such as waking up every night, sometimes twice.)

<comment><USER23> That's interesting. Kind of off topic but there is literature to suggest that biphasic sleeping was more normal before: [http://www.historycooperative.org/journals/ahr/106.2/ah00034...](http://www.historycooperative.org/journals/ahr/106.2/ah000343.html)

</comment></comment><comment><USER24> The sample size for this study is 13 people. I can't take it seriously. In any case, I play Asphalt7 on my iPad in bed before sleeping and haven't noticed too many problems.

<comment><USER25> > The sample size for this study is 13 people. I can't take it seriously.

Why can't you take it seriously? Whether or not 13 is a sufficient sample size depends on factors that were not given in the article, so I don't see how you can so easily dismiss it out of hand.

</comment></comment><comment><USER26> I don't get it or is it just me? I never have this problem and I think our society keeps inventing all these gadgets and pills to solve problems that are not really problems.

</comment><comment><USER27> I find the lowest brightness setting on my Nexus S not dim enough for bedtime reading/browsing, anyone know any good apps?

<comment><USER28> You might wanna get Lux : <https://play.google.com/store/apps/details?id=com.vito.lux> There is a free version with limited functionality if you just want to try it.

<comment><USER27> Thanks, I'll try that out. :)

</comment></comment></comment><comment><USER29> That's what my mom has been telling me for the past 3 years, with the most recent reminder over the phone tonight.

</comment><comment><USER30> Has anyone tried a manual solution such as a red cellophane screen protector?</comment>


How GCHQ was called in to keep Harry Potter under wraps - <AUTHOR> http://www.telegraph.co.uk/news/2016/04/10/how-gchq-was-called-in-to-keep-harry-potter-under-wraps/ <comment><USER2> Is this a joke? This is how the surveillance state starts benefiting the few for very arbitrary, non-national security reasons.

This should be regarded as an absolute disgrace in the UK and the head of GCHQ should be asked to resign. I think the GCHQ has a few other more important (or deadly) things to worry about, no? At least that's what they keep telling people when they ask for bigger budgets.

<comment><USER3> The headline overstates the story as written in the body - GCHQ called the publisher when they happened across a purported leaked draft online. That doesn't seem out of order; they weren't looking at secured information, and weren't tasked to protect the IP.</comment></comment>


Browserify - write client-side javascript server-side - <AUTHOR> http://thechangelog.com/post/8061175821/browserify-write-client-side-javascript-server-side

<comment><USER2> I've used browserify to "compile" node.js files to a single, browser- includeable JS file. It has worked remarkably well.

Also, James (@substack) is a rockstar. He's continuously made the library better and better.

<comment><USER3> It's a tough problem. It pulls in dependencies and dependencies of dependencies. I had some difficulty replacing jQuery with CDN jQuery when it was being pulled in from a dependency, and posted an issue. I'm sure @substack will figure out a way to handle cases like this.

<https://github.com/substack/node-browserify/issues/46>

BTW <https://github.com/substack/node-jadeify/> and <https://github.com/substack/node-shimify/> are cool too, as are a lot of other libraries of his. I've got one commit to <https://github.com/substack/js-traverse> and am in the middle of writing a blog post about it. I've been meaning to check out <https://github.com/substack/node-burrito> which uses traverse.

</comment></comment><comment><USER4> This is definitely among my favorite tools, alongside substacks dnode and es5 shim it's even better. :)</comment>


Mountain West Ruby Conf Live Feed - <AUTHOR> http://mtnwestrubyconf.org/

<comment><AUTHOR> Zed Shaw was great. Next up, Monkeypatching Your Brain

</comment><comment><USER2> Thank you MWRC and ConFreaks for streaming these sessions. Next year I will register in a timely manner!

</comment><comment><USER3> Is it known if any of streamed sessions will be available online after the conference is finished? I am trying to determine if I need to be the guy at work watching video or if I can watch them when I get home.

<comment><USER4> Confreaks is recording the conference, as well as helping us stream it. I'm working hard to ensure that we get the videos posted as soon as we can. Should be a couple weeks and not a couple months.

<comment><USER3> This is great. Thanks in advance for providing the videos. Will the news of the videos availability be announced on Twitter?

<comment><USER4> Yes. Everything is on twitter!

</comment></comment></comment></comment><comment><USER5> audio seems to work only on the left channel

<comment><USER4> Should be fixed now.

</comment></comment><comment><AUTHOR> 1,726 online viewers, breaking for lunch... more to come.

</comment><comment><USER6> Learn about ruby threading now!

</comment><comment><AUTHOR> The show is about to start.</comment>


Ask HN: Chrome activating my microphone on OS X - <AUTHOR> Hi all,
I have OverSight installed on my macbook (https://objective-see.com/products/oversight.html), which lets me see which apps activate the microphone.
Up until now, everything was quiet and expected.
As of today though, Chrome (Version 78.0.3904.70) tried on several occasions to activate the microphone. It crashed when I denied the request. I have not been on any website requiring microphone use and no website is allowed microphone access.
This seems to happen in particular when I reopen the lid of my macbook and it is taken out of sleep.
This is the log entry from OverSight:
2019-10-31 19:27:22 +0000: Audio Device became active (Built-in Microphone, process: Chrome Helper, /Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/78.0.3904.70/Helpers/Google Chrome Helper.app/Contents/MacOS/Google Chrome Helper)
Any of you noticed a similar behavior? <comment><USER2> Chrome has become more and more intrusive for me, which makes sense because its parent company has a financial incentive to intrude.

I wouldn't be surprised if this is intentional, surreptitious behavior. Regardless, Firefox is excellent and Chromium is an OK fallback when you (rarely) need it.

<comment><USER3> Brave browser

<comment> throwaway-9320 It is based on Chromium so it isn't much different.

<comment><USER4> It's very much different. Just like Chrome and Chromium are very much different.

Just because it's built on Chromium which means Blink, V8, etc. Doesn't mean that it brings all the baggage that Chrome does with Google's intrusive nature.

</comment></comment></comment></comment><comment><USER5> Do you have voice search enabled ("ok Google")?

I don't know if web workers allow microphone access but, in case you've allowed a website to access your microphone recently, I'd check if it hasn't installed anything automatically they could be triggering this.

<comment><USER5> It doesn't look like webworkers can access the microphone since the getUserMedia() function is not included in the API.

[https://developer.mozilla.org/en- US/docs/Web/API/Web_Workers...](https://developer.mozilla.org/en- US/docs/Web/API/Web_Workers_API/Functions_and_classes_available_to_workers)

</comment></comment><comment><USER6> I'm away from a mac and too lazy to do this, but have you tried writing a little program to poll the audio configuration? Device name, number of channels, sample rate, etc.

It could be Chrome is just checking the device configuration for input/output at the same time (it needs the latter for the audio APIs) and the service might be pinging that as "microphone activity" when really they're just checking the available devices and their settings.

</comment><comment><USER7> This is why I want a hardware switch on my microphone, camera, and radio (wifi, etc.) as a standard part of every product that includes them. No matter what features, "bugs" ("oops, did we accidentally bug your house?"), policies, etc., if the power switch says "no", no really means no.

<comment><USER8> Old style duct tape over my cam works much better than Zoom conference settings that, oops!, for some reasons always forgets that i want my camera always OFF.

</comment></comment><comment><USER9> First feeling I get is that it's a extension that is doing it. Are you able to always reproduce now when you open Chrome? Can you reproduce it when uninstalling all extensions too? You can Chrome run with `--disable- extensions` to just disable them for one run.

</comment><comment><USER10> Anyone on know if there is a windows or linux tool to monitor app access to Microphone?

<comment><USER9> These two commands gives you a list of programs using the sound devices:

      fuser -v /dev/snd/* && lsof /dev/snd/*</comment></comment>


Viz must use Apple's sub service and charge monthly fee for formerly free app. - <AUTHOR> http://us2.campaign-archive2.com/?u=6ddaf6e9cfec47f3ef9125d2b&id=e21328abbd&e=489204aefd

<comment><USER2> It's not free:

<http://redfoundry.com/pricing>

They're charging out of store for subscriptions. Apple said no, so they're charging in the store.

The end.

<comment><USER3> Didn't Steve Jobs personally say the rules weren't going to affect software- as-a-service? To be honest I can't quite figure out what VIZ is, but it seems more SAAS like.

*Edit: Thanks to rome's comment <http://news.ycombinator.com/item?id=2286805> and reading Red Foundry's page a bit I understand the app a bit more. It seems to be for testing your (Red Foundry) apps, not downloading other peoples apps. Seems to me that these test apps are intentionally unpublished.

</comment></comment><comment><AUTHOR> Viz is an app that let's you test the app you build on redfoundry.com.

There service to build an app is not free but the app, which is for testing, was free. It's soon to be a buck a month, Apple's minimum.

</comment><comment><USER4> I think I'm more confused than up-in-arms over this one. Anyone else?

</comment><comment><USER5> I'm confused how charging $0.99 will solve the problem. If they're forced to charge anything through in-app purchasing, wouldn't it be the same prices they are charging on their pricing page on their website?

</comment><comment><USER6> I'm pretty sure I don't believe Apple's policies require an app to charge for something that was formerly free. Seems like a red herring.

</comment><comment><USER7> I think this is the biggest issue with the new subscription rule: Not the 30%, not the requirement to price match, but that it's just so confusing that nobody really understands what applies and where.

</comment><comment><USER8> Expected this to be about Japanese comics.</comment>


Qualcomm's broken kernel code is the tip of the iceberg - <AUTHOR> http://www.theregister.co.uk/2016/03/16/trend_qualcomm_snapdragon_android/ <comment><USER2> Vulnerabilities announcement from Trend: [http://blog.trendmicro.com/trendlabs-security- intelligence/a...](http://blog.trendmicro.com/trendlabs-security- intelligence/android-vulnerabilities-allow-easy-root-access/)</comment>


A Django Developer's Views on Rails - <AUTHOR> http://loopj.com/2009/05/23/a-django-developers-views-on-rails/

<comment><USER2> _In the Rails world, the layer which generates the final markup sent to the browser is called the View layer. In a Rails View, you can chuck as much rails code as you like in amongst your markup.

Some of the early sites I worked on many years ago were written in PHP, which had the same idea._

Um. . . Sure, you _can_ put any logic you want in a Rails template, but people don't. Rails applications tend to have a nice separation of layout and application logic. Django really likes to constrain users here - not even letting them use a full "if" statement. It's really unfair to just say Rails == Unmaintainable PHP. PHP often becomes that way because there is no immediate way of separating the code. Smarty and others can force you, but both Rails and Django put a really obvious place to put your app logic and developers tend to respect that. Part of this is just how much rope do you give a developer and it's fair to say that one shouldn't give developers that much leeway. However, it's wrong to just equate the two.

 _Multiple Apps in a Project_

Really, neither framework (or any code) is as pluggable into random situations as we programmers would like. The author suggests that you can use models from different applications in Django. That sounds cooler than it is. They're all running off the same database and in the same project. Really, what Rails creates are projects in Django-speak. And the "apps" convention in Django doesn't help you in development. It helps in organization sometimes - especially the admin interface - but it isn't some spectacular thing where you can just reuse random code in a way that you can't with Rails. Well, I take that back, there is one way that is really nice: namespacing. You can have a blog app that has an Entry and Category model without having to name it BlogEntry and BlogCategory because it would conflict with your Category model for, say, a real estate part of your app. And that is helpful in a way that Rails doesn't solve nicely. However, for the most part Rails and Django provide decently equal utility in this area, they just name the things differently.

 _URL Routing_

Django's routing is really verbose. You have to specify each route you want. Rails has a bunch of shortcuts for common cases (REST as well as :controller/:action/:id). In a way, this is just the explicit vs. implicit thing. Django makes you explicitly state your URLs while Rails will let you state them, but you don't have to should you like the defaults. The Django folk say that it takes very little time to write routes (true) and that one should be thoughtful when making URLs (also true). But sometimes it just feels tedious. Really, it's just a matter of preference.

 _Ruby (Perl's Ugly Sister)_

This is kinda low at some points (why I went to it last - I don't like dwelling on such poor arguments). Ruby doesn't actually use that many symbols ala Perl. All variables are done without symbols; I think strings built as "#{var} is cool" are easier to understand than "%(var)s is cool" % {'var': var}. And it isn't like Python doesn't have weird things like "/".join(list).

Really, my beef with Ruby would be how easy (and common) it is to add methods to ancestors without really making it clear. As you start adding methods to Object, you can get yourself into a position where Python's explicitness is really nice. However, when you want to get something done, Ruby can be nice in that respect. It's like having a circular saw: really good for both cutting wood and cutting your hand off. Likewise, Python's mixins are put onto attributes of the model - so that you have things like house.photo.url rather than house.photo_url (although Django did create the second for a long time). That makes it very clear what you're adding while if you say "acts_as_nested_set" in Rails, you don't immediately see which methods are being added.

Ruby's problems aren't really syntactic, but it can have things that one could define as problems.

\--

I've put out two sites in Django and one in Rails and at this point I'm developing two projects in Rails. The Django community is really smart and understated and I still read a lot (smart information translates well to anything), but Django just doesn't see the same pace of development that Rails does. Even something simple such as following reverse foreign keys isn't implemented in Django. Yep, if you try Entry.objects.all(select_related="comments") it will just silently fail (how's that for letting errors pass silently that shouldn't!). And it is difficult and Malcom has way more on his plate than any normal person could even conceive of, but. . . it's still missing.

And the Rails community has calmed down a bit, the Merb camp seems to be adding nicely to Rails 3, the Rails framework covers so many more edge cases than it used to as well as just seeming more reliable, and deployment has really stepped up with Passenger.

Django is a wonderful piece of software with great features and really smart, considerate people using it. It just isn't seeing as great a push toward little simplifications for more edge cases in the way that Rails has been. Frankly, they're so much alike in all the meaningful ways - I think that's why I have such an easy time wrapping my head around both.

Eh, I have to get dinner.

<comment><USER3> "Django really likes to constrain users here - not even letting them use a full "if" statement."

Yes, but as you've noted it's for a good reason. This is really one of the few places where Django gets opinionated by default, and personally I'm OK with that; keeping people off the slippery slope of "well, I _should_ write this in a cleaner way, but for now I'll just stuff some application logic in the template and fix it later" is a goal I can get behind.

"The author suggests that you can use models from different applications in Django. That sounds cooler than it is. They're all running off the same database and in the same project."

Not really. I can have multiple different Django "projects", each running its own settings, its own database, its own URL configuration, its own templates, etc., but all using the same single copy of an application module somewhere on the server. Last I checked this was non-trivial to do in Rails, while in Django it's made very easy since it's a common use case, and encourages neatly abstracting/encapsulating common pieces of functionality for reuse.

"The Django folk say that it takes very little time to write routes (true) and that one should be thoughtful when making URLs (also true). But sometimes it just feels tedious. Really, it's just a matter of preference."

Personally, I tend to view this more as a security concern than a programmer- convenience concern; if my framework is auto-mapping URLs to any code it can find, it may auto-map some things that I didn't want to expose (this was the source of an exploitable vulnerability in Rails a while back, as you may remember). If the framework only handles the URLs I tell it to handle, I don't get that situation.

Mostly, though, I like Django because it (and Python) fits my brain.

<comment><USER2> If people don't agree on the IF statement, they just don't agree on it. I find that I can discipline myself enough to use a full IF - having always used the pyif (<http://www.djangosnippets.org/snippets/130/>) template tag in Django. I don't think this is such a big deal since one can swap out the templating layer in both Django and Rails for something they'd rather. If anyone reading this sees this as a big point, Liquid in Rails offers a more Django-like experience and Cheetah will give you things like full IFs in Python.

You make a good point about not having to copy the code into the project directory and have multiple pieces of code sitting on the server. Someone pointed out that Rails Engines (included in 2.3) allow for this, but I haven't personally used them to know how nicely they work.

For the security concern of auto-routes, this is actually a bigger concern in Python than in Ruby just because of the different ways that they handle OO stuff. In Python, everything is a public method. So, if Django just mapped URLs to methods, there would be no way of hiding a method you didn't want called. Ruby has the ability to make private and protected methods and Rails only makes public methods available as actions (the private and protected ones still being able to be called in their scope).

So, it isn't a great security concern in Rails since it's trivial to define what is public and what isn't. Likewise, if one chooses, you can decide to map all of the URLs explicitly like Django and turn off the default :controller/:action/:id route. So, Rails offers both ways.

Just as a note about Python: Django could just auto-map URLs to any method not starting with an underscore (the convention used in Python to say, this is kinda private even though Python will let you use it). Or there could be a kwarg (keyword argument) in the method signature that Django looked at. Anyway, there are ways around the fact that the Python language doesn't have explicitly private methods. Django's convention (like Python's) is just that explicit is better.

<comment><USER3> "If people don't agree on the IF statement, they just don't agree on it."

Pretty much. And while individual cases can be argued, I think the general goal of keeping program logic out of templates is a good one.

"For the security concern of auto-routes, this is actually a bigger concern in Python than in Ruby just because of the different ways that they handle OO stuff. In Python, everything is a public method. So, if Django just mapped URLs to methods, there would be no way of hiding a method you didn't want called."

Actually, what I'm thinking of is a case where you might have a single application running on multiple sites, and -- for security reasons -- there'd be some views that you wouldn't want exposed on one or more of those sites. Forgetting to "un-map" even a single URL could lead to major problems (and, since an auto-mapping system can, in theory, locate anything that's on the import path, the risk seems to me to be a bit too much to accept just for the convenience of occasional automatic URLs).

</comment></comment></comment></comment><comment><USER4> _"Python vs. Ruby (Perl's Ugly Sister)...This makes the Ruby syntax look like someone emptied all the symbols from the keyboard into a shotgun and shot them into your face."_

It's amazing watching the python web development community develop, nurture and encourage so much mindless trolling. It has turned reddit completely septic and now this garbage is on the front page here? Sigh.

<comment><USER5> "It's amazing watching the python web development community develop, nurture and encourage so much mindless trolling."

Where are you seeing this? There are a fair number of Django and Python posts on HN and this is the first I've read that I can remember any such trolling.

<comment><USER4> _"on HN"_

Indeed, but even here it has been increasing. This made it to #2 within a half hour of posting. Even watching this thread you can see people driving through down modding even mdasen's post. Another recently popular blatant nonsensical anti-rails/pro-django troll that comes to mind was the "Magic Sucks, Django Rocks!" submission: <http://news.ycombinator.com/item?id=596833>

</comment></comment></comment><comment><USER6> Django vs Rails is like Old Navy vs the GAP.

Lisp web development is haute couture; sure, we might need to travel to the ends of the world to fetch silk, velvet, safron and red dyes, feathers of griffins, and we might need to raise our own albino beavers and translucent- neon chimps to harvest for leather, but the end result is a gallant style fit for a high princely court. (It might also involve a slight invasion of neighboring states to capture their sartorial secrets.)

<comment><USER7> "Lisp web development is haute couture"

ie, not actually intended for people to use.

Well played!

<comment><USER6> It's up to you to take the red pill, or take the chill pill ;-)

</comment></comment></comment><comment><USER8> What does this article say that hasn't been said before? This stuff just isn't interesting anymore.

<comment><USER9> What this article says to me is:

1) there exists multiple frameworks that are independently excellent

2) some of the best minds in both worlds have nothing better to do other than to take sides in meaningless discussions

<comment><USER10> _some of the best minds in both worlds have nothing better to do other than to take sides in meaningless discussions_

That and some unsubtle flirting with language wars and trolly word choice is exploitable for linkbait and HN karma.

</comment></comment></comment><comment><USER11> Sorry Pythonistas, but whenever you say that having "only one way" to do something is a _good_ point (and many have said this), you sound like religious nutjobs.

There's more than one good and obvious way to do anything worth doing, be it giving birth, building a bridge, adding two numbers together, or developing algorithms in a programming language.

I like Python on many levels - particularly the indentation - but the religious-ness of the philosophy and language design is off-putting in so many other ways.

<comment><USER12> Well, for me, it is a good point. For some reason it's just much easier for me to remember a particular language's way of doing something when there's only one way.

Also, I'm a little obsessive about my code consistency, so I dislike having to remember that I've been using Array#size instead of Array#length, for instance.

Now, these are obviously not necessarily applicable to anyone else. However, I do feel like I can say that having only one way to do simple things is a plus, without being a "religious nutjob". Which is kind of inflammatory of you to say, by the way.

<comment><USER11> There's a big difference between a person stating an opinion or a preference, as you have, and a community standard being defined and defended to the hilt. The first is choice; the second is religion.

People who blindly defend Python's wacky standards as some sort of community issue are the religious nutjobs, not people like you who merely have a personal preference.

So, no, you're not necessarily a religious nutjob. But, yes, it was meant to inflammatory; people who blindly defend groupthink deserve to have their cages shaken from time to time.

</comment></comment></comment><comment><USER13> It is fairly easy to avoid symbol soup in ruby.

First, don't use global variables. I'm perfectly OK with global variables sticking out and looking ugly.

Second, use the English module packaged with Ruby if you find yourself using Perl-like special global variables a lot. I very rarely use them and so never need to use the module.

Finally, use accessor methods to work with instance variables instead of accessing them directly. This also makes it easier to add logic to handle your instance variables without having to rewrite or break any code.

If you follow these three steps alone, you will have about the same amount of symbol soup as you would in python, which is almost none.

(By the way, I am also a fan of both python and ruby and think they are both great languages).

</comment><comment><USER14> > the developer is forced to keep business logic and complex constructs > separate from the markup

Nothing I like better than having options taken away without any upside!

</comment><comment><USER15> There are many ways of doing the same thing in Ruby? I guess that's true to some extent but I'm not really sure why it's a problem?

['cat', 'dog'] %w[ cat dog ]

Although these are not technically the same ... lambda { } proc { } Proc.new { }

string.match(/regex/) string =~ /regex/

object.is_a?(Thing) Thing === object

hash.merge!(hash) hash.update(hash)

Anyways, I'm not a Python programmer, but I can say (with regards to Ruby) when you are used to the language it feels right.

Why can't we just all get along and not troll the shit out of each-other?</comment>


Responsive Logos: Making Logos Truly Responsive with Inline SVG - <AUTHOR> http://viget.com/inspire/responsive-logos-part-2-making-logos-truly-responsive-with-svg

<comment><USER2> Mozilla has a cool responsive logo as well. Has anybody drawn with SVG technology in the browser. I would like to make a logo but drawing the curves is too time consuming. I have looked at Inkscape, but can't get it to convert to a SVG object.</comment>


Your Rights Online: Wikipedia Debates Rorschach Censorship - <AUTHOR> http://yro.slashdot.org/story/09/07/14/1829231/Wikipedia-Debates-Rorschach-Censorship?from=rss

<comment><USER2> "People of the same trade seldom meet together, even for merriment and diversion, without the conversation ending in a conspiracy against the public, or in some contrivance to raise prices."

</comment><comment><USER3> It marvels me how can psychologists get anything out of that. Most of the cards just look like butterflies.

Anyway, if the cards are public there is no reason for them not to be at wikipedia. I also didn't know the images were always the same.

<comment><USER2> The sad part is that that the arguers against all insist the cards themselves are sacred, rather than the business of studying the patient's process in responding to the cards.

To my mind this is pure pseudoscience. You might as well rely on some automated tarot card reading (versus using the random arrangement of cards as a brainstorming tool to get a new insight into some life situation).

edit: to clarify, I think there's nothing wrong with using inkblots as a diagnostic tool. It's the idea that one can only usefully score these particular inkblots that seems pseudoscientific to me.

<comment><USER4> It's not so much that the cards are inherently sacred, but that the scoring systems are designed around the 10 cards. Anyone could splotch some ink on paper, but coming up with a scoring system is another matter.

But yeah, it does seem pseudoscientific.

</comment></comment></comment><comment><USER5> Awh, was hoping for censorship debates about all the dirty pictures the images contain. Then at least it would have been funny.</comment>


Live Modi congratulates Isro after Mars orbiter lift off - <AUTHOR> http://m.firstpost.com/india/live-one-minutecounting-to-mars-orbiter-lift-off-1210769.html?utm_source=hp

<comment><USER2> What the bloody hell does Modi have to do with this? Modibots now want to steal the limelight from the scientists of ISRO. Disgraceful!</comment>


Keeping order in the General Assembly: The strange saga of a Viking gavel - <AUTHOR> https://news.un.org/en/story/2018/09/1019512 <comment><USER2> On the topic of interesting gavels: the US Senate uses a gavel gifted by India in 1954, replacing the original gavel from 1789, which was falling apart [1]. It's an interesting gavel, as it has no handle, and is made of ivory.

It seems that the US Senate is much better at taking care of their gavels, being on only their second one in over 200 years, compared to the UN being in their third in a little over 60 years. Interesting that it's made out of pear wood too, which I assume isn't grown in Iceland, it would've been so much more Viking if it was made of mammoth ivory or whale bone.

[1] [https://en.wikipedia.org/wiki/Traditions_of_the_United_State...](https://en.wikipedia.org/wiki/Traditions_of_the_United_States_Senate#Senate_gavel)</comment>


Clever Machines Learn How to Be Curious - <AUTHOR> https://www.quantamagazine.org/clever-machines-learn-how-to-be-curious-20170919/ <comment><USER2> > For example, imagine a television displaying nothing but static on its > screen. Such a thing would quickly engage the curiosity of a purely novelty- > seeking agent, because a square of randomly flickering visual noise is, by > definition, totally unpredictable from one moment to the next. Since every > pattern of static appears entirely novel to the agent, its intrinsic reward > function will ensure that it can never cease paying attention to this > single, useless feature of the environment — and it becomes trapped.

Reminds me of [http://people.idsia.ch/~juergen/interest.html](http://people.idsia.ch/~juergen/interest.html)

> To discourage the controller from focusing on truly unpredictable, random > inputs (such as uninteresting details of white noise), later approaches > model the expected progress of the predictor: parts of the world where the > predictor fails to learn (no data compression progress!) become less > interesting than those where its predictions improve.

This seems like a better/more general solution than the one presented in the article, since the agent could otherwise get stuck with noise over which it _does_ have causal influence. The agent could even _generate_ , using its actuators, noise that is unpredictable and chaotic, but not interesting.

<comment><USER3> If the agent can generate unpredictable but learnable noise, then the agent is learning about its own ability, which is very interesting.

<comment><USER2> Not sure what you mean by 'unpredictable but learnable'. Can you clarify?

</comment></comment></comment><comment><USER4> I see Oudeyer mentioned, nice.

There is definitely other research that has to be mentioned in this field.

Most prominently Karl Friston's work on free energy. It's a proper Bayesian formulation of optimizing for surprise, in this case minimization. The challenge is randomness in actions or environment. In a deterministic environment it might make sense to maximize surprise, however in a stochastic environment it makes sense to minimize it. You don't want a robot that navigates to those parts of space that are totally chaotic.

Surprisingly, by minimizing surprise an agent can develop knowledge of the world on the long term as long as that world is dynamic enough. There are no dark rooms to retreat.

Ralf Der argues for something similar from a dynamical perspective: [https://www.informatik.uni-leipzig.de/~der/](https://www.informatik.uni- leipzig.de/~der/). It's about minimization towards (a set of) equilibrium states.

</comment><comment><USER5> It seems to me that if they can crack that, it's basically game over. They'll just implement it into a robot (either real or simulated) with cameras and arms, throw toys at it, and let it learn by itself like babies do.

Am I oversimplifying much?

<comment><USER6> I think you do and that's the whole point.

We humans learn how to walk or keep balance by falling. It would be even fun to constantly fall; however there is pain involved, so we learn to do anything NOT to fall.

I think the first one who will design simple 2-leg machine and lock it in the room for a year and let it learn whatever it wants with simple objective "stay tall, don't fall" will be able to walk Boston Dynamics machines on a leech to a local park.

<comment><USER5> > It would be even fun to constantly fall;

You wouldn't go far, though. There is more information to gain in exploring the environment than on perpetually falling.

</comment></comment></comment><comment><USER7> In the section of Avoiding the Novelty Trap:

> This abstraction incorporates only features of the environment that have the > potential to affect the agent (or that the agent can influence)

I like the parallel between this and various courses I had about working efficiently / not getting too stressed by only focusing on what you can influence.

</comment><comment><USER8> Roll on the day. I've been wishing for a chatbot/virtual assistant that asks questions for quite a while now.

</comment><comment><USER9> Being curious is the essence of human intelligence.

Either demonstrate hard-AI or tone down that title a bit.

<comment><USER10> Did you read the article? It's about how to make AI programs experience and act on curiosity.</comment></comment>


Dropping some knowledge on Wi-Fi calling carrier-offload - <AUTHOR> https://wificoops.wordpress.com/2017/12/17/wi-fi-calling/ <comment> yjftsjthsd-h Neat :) Interesting (and good) that it's run over ipsec; I wonder why we don't use that for cell connections, too - or maybe we do for VoLTE?</comment>


Darkjpeg - Steganography Redefined - <AUTHOR> http://darkjpeg.github.io/

<comment><USER2> Okay, let's say I'm slow or a little short on time. Can I get the summary of why I love this? I read the About section but it didn't help me much.

<comment><USER3> Check out this post:

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

</comment></comment><comment><USER4> Says my browser is out of date when it's not...</comment>


Ask HN: Review my Facebook app: Freeciv.net - <AUTHOR> http://apps.facebook.com/freecivnet/

<comment><AUTHOR> I would really like some feedback from the Hacker News community again, on my <http://www.freeciv.net/> project. I have previously received feedback from HN, and now done a lot of improvements according to that feedback.

What are the next steps which can be taken with this project? Which opportunities do you see for the project?</comment>


Apple v. Samsung Evidence: 'Relative Evaluation Report on S1, iPhone' [pdf] - <AUTHOR> http://www.scribd.com/doc/102317767/44 <comment><USER2> Wow, I have so many questions right now

\- How did this document get leaked? First how did this get to the courtroom. Did Samsung submit it? If yes I wonder why. It looks rather damaging to their case.

\- How did it get leaked to the public?

\- Will it be relevant to the case? A UX comparison / evaluation and action items based on those comparison is certainly a smart thing for a software developer to do - however if the UI gets as a result copied 1-to-1 I would assume that Apple has a case under US law. It would be interesting to see a third column with the revised UI and how closely they followed the iPhone's template afterwards.

\- Dear god is that Sammy UI bad in the right column. Is that an S1 prototype?

<comment><USER3> According to this article, Apple managed to get the article admitted as evidence yesterday.

[http://allthingsd.com/20120807/samsungs-2010-report-on- how-i...](http://allthingsd.com/20120807/samsungs-2010-report-on-how-its- galaxy-would-be-better-if-it-were-more-like-the-iphone/)</comment></comment>


Opulence – A modern framework for modern PHP - <AUTHOR> https://www.opulencephp.com/ <comment><USER2> Good job! I've added it to LibHunt as well [https://php.libhunt.com/project/opulence](https://php.libhunt.com/project/opulence) . I hope it will get some traction. Cheers!

</comment><comment><USER3> Can you provide some benchmark comparison with the most popular current framework?

</comment><comment><USER4> `2,000 requests/second on a modest 8GB server`

Are you kidding me ? How is this fast ?</comment>


Yahoo Ad Network Serving Malware - <AUTHOR> https://www.menlosecurity.com/blog/breach-of-the-week-yahoo-ad-network

<comment><USER2> everyone serves malware via ad networks... there's no protection if your network serves a client hosted flash. Google, yahoo, all of them.

now, what's inexcusable is publishing a ridiculous post like that. just the obvious. no samples. no analysis. meh.

edit: the only link is SEO juice for whatever snake oil they sell. which protects you against that they will not mention. black juju of the finest quality!</comment>


West Virginia Inmates Will Be Charged by the Minute to Read E-Books on Tablets - <AUTHOR> https://reason.com/2019/11/22/west-virginia-inmates-will-be-charged-by-the-minute-to-read-e-books-on-tablets/ <comment><USER2> The US truly has not spent enough effort growing out of its slave economy that has defined so much of its existence.

</comment><comment><USER3> > In a statement to Reason, a WVDCR spokesperson noted that no inmates are > being forced to use the tablets.

Yeah but they are locking them in a room for extended periods with nothing else to do. They are only not being forced to do it by a technicality.

<comment><USER4> I don't think that providing these things is problematic in itself (though the crony capitalism is worrying). The problem is that many prisons no longer allow book donations or free access to book. In my opinion, categorically, providing more chance cannot be wrong. The problem is when choice is removed (in this case, reading paper books).

The problem is that the state isn't willing to invest money in making prisons better. This stems from the unclear nature of what prisons are for: a debt paid to society, justice, rehabilitation, or maybe to prevent further crimes? If your answer is justice or debt, then you can make good arguments why prisons shouldn't be nice. If you think they're for rehabilitation or prevention of crime, then tablets, TVs, etc are probably a good idea.

Since we don't all agree on the moral justification for inprisonment, the state just provides the most basic services. This means that only companies are going to provide these services, which are arguably predatory.

Prison is a hard thing to get right, no matter what you do some people are going to get upset. Regardless, I think most of us can agree that these contracts handed out by states to these companies are problematic and stink of cronyism. Probably the only reason these contracts got signed was that the prisons were netting a percentage of the sales, allowing them to increase salaries and stuff: in essence, an indirect bribe for state employees. In return, the state probably agreed to ban books.

</comment></comment><comment><USER5> Unless they have alternative access to paper books, I don't see how this does not violate their 1A right to books.

<comment><USER6> Prisoners have the right against cruel and unusual punishment. They certainly aren't protected by the 4th amendment. Do they have 1st amendment rights?

<comment><USER5> Cruel and unusual is a thing that gets interpreted and re interpreted. The 1A is pretty unambiguous. I believe they enjoy a subset of 1A rights, though not all as felons lose some rights.

</comment></comment></comment><comment><USER7> > provided by private contractors like GTL and JPay.

How convenient the parasites involved can present themselves with discreet pseudonyms such as GTL, instead of using their legal names and addresses.

<comment><USER8> Then let us fill up the internet with their legal names and addresses.

</comment></comment><comment><USER9> They do this at the Polk County Iowa jail.

</comment><comment><USER10> These are private prisons right? They just exist to make money anyway so this isn't surprising.

<comment><USER11> Doesn't look like it. The article mentions that it's a deal with the department of corrections, and that WVDCR is getting commissions from the program.

<comment><USER12> It's deals with private interests that charge these fees, whether the prison is private or not. It's still slimy.

</comment></comment></comment><comment><USER13> In my view, prisoners should have access to (more or less) all the books they want, all the movies they want, all the games they want, and all the video calls home they want, all delivered to the comfort of their own private cell. Balancing this, prisoners should have no interaction with other prisoners — your human interaction comes through the video chat or through your appointments with guards, prison therapists, and so forth.

Basically, imagine a dull weekend spent entirely inside your hotel room; now imagine it lasts a lot longer. The room is big enough to exercise in, it has natural light, maybe a caged balcony to get fresh air — it's just like a hotel except everything is bolted down and you're not allowed to leave.

Preventing interaction between prisoners solves most prison problems, and also enables the number of guards to be massively reduced, compensating for the extra cost of the larger cells and all the entertainment stuff.

<comment><USER14> While this might have the effect of symptomatically addressing visible prison problems like fights, it would only further exacerbate some of the worst soft problems like the overall inhumanity of incarceration, and its emphasis on punishment instead of rehabilitation.

<comment><USER15> What's the humane response to an individual that continually commits serious/violent crimes?

<comment><USER16> The loss of the most basic of human rights: liberty. But your chosen goalpost is noted.

<comment><USER17> The real problem is that they are losing more than just their liberty.</comment></comment></comment></comment></comment>


Oracle Office, MySQL, and other dreams - <AUTHOR> http://blogs.zdnet.com/Murphy/?p=1606

<comment><AUTHOR> I'm compelled to quote, from the author's previous post (on Linux vs. Unix, <http://blogs.zdnet.com/Murphy/?p=1602> ), this parenthetical remark:

 _of course, the smart thing to do - working directly with AIX local devices - is a lot like hanging wallpaper in the dark_

Wish it wouldn't also describe so many other computer-related activities ...</comment>


Programmers: Stop Calling Yourselves Engineers - <AUTHOR> https://www.theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/ <comment><USER2> So, what's the title for a person with 43 years of experience programming computers - not just GUIs, applications, or programs, but whole systems, comprising tens or hundreds of thousands of lines of code across several platforms and languages, and that often include writing specs, designing protocols, drawing UML sequence diagrams and state machine diagrams, memory maps, writing documentation, assembly procedures, and sometimes marketing materials?

How about when my work includes reading datasheets and writing low-level drivers, designing and implementing bootloaders, designing schematics, laying out PCBs and ordering PCBs, and then soldering together the prototype boards I designed, and testing my code not just with IDEs and debuggers but with voltmeters and oscilloscopes and logic analyzers?

Serious question -- I don't actually have an engineering degree and so agree that I'm not qualified to use the title "Engineer." But what's the job title that conveys what I do?

</comment><comment><USER3> _technician_ \- a specialist in the technical details of a subject or occupation. Software technician, computer technician.</comment>


Nasa Is Building a Space Station in a Weird Orbit - <AUTHOR> https://hackaday.com/2019/02/25/nasa-is-building-a-space-station-in-a-weird-orbit-heres-why/ <comment><USER2> It's astonishing to me that you can orbit a _point in space_ between two planetary bodies. There's nothing on Earth that would give you that intuitive understanding.

I'm curious if over the next hundreds of years if the Lagrange points will become contentious regions of space, perhaps the subject of territorial disputes. It's perhaps cynical to project humanity's pettiness into the future but if the L* points are as valuable for lunar access as the article says, it's not unthinkable.

<comment><USER3> This fascinates me.

On a side note, can somebody much smarted then me tell me if it's possible to "sling shot" (Gravity assist?) Off a Lagrange point?

<comment><USER4> Yes, if coming from outside the 2-body system. But you aren't really getting an assist from the L point. You are being accelerated by the pair of bodies that create the point. Such an assist is very very slight, not worth the effort in comparison to using either of the bodies directly.

Unless you are an interstellar traveler looking for an assist from a pair of binary stars that you really do not want to get too close to. That is scifi territory atm.

</comment></comment></comment><comment><USER5> I found Robert Zubrin's case _against_ LOP-G and in favor of a polar Moon base quite compelling. [https://www.youtube.com/watch?v=buLzhqgQbpA](https://www.youtube.com/watch?v=buLzhqgQbpA)

We have twenty years of experience with space stations but no experience with an extra-terrestrial base. Yes, Antarctica or Biosphere come close in some ways, and yes there's still plenty to learn from space habitation outside our magnetosphere, but to me that pales in comparison to the skills we'd learn establishing an actual human outpost on another celestial body!

<comment><USER6> Much more than 20. Nearly 50 years.

</comment></comment><comment><USER7> Cool orbit. The criticisms [1] of the project are pretty telling though. The most glaring of which IMO is why one would consider putting unshielded humans in a tin can rather than under a bunch of rock on the ground.

1\. [https://en.wikipedia.org/wiki/Lunar_Orbital_Platform- Gateway...](https://en.wikipedia.org/wiki/Lunar_Orbital_Platform- Gateway#Criticisms)

<comment><USER8> Probably a need for Solar power throughout the month. A lunar base would need a nuclear generator for 15 days a month or one heck of a battery system. Also probably easier to maintain a structure in microG.

<comment><USER9> A low earth orbit, like the current space station, has roughly half the sky blocked out by earth plus the magnetic field of earth to somewhat protect it. Getting to the lunar gateway's weird orbit, if you were already on the moon, could take several days versus less delta-v to just go to low earth orbit which can be done at any time.

</comment></comment></comment><comment><USER10> Article does not actually explain why mid-latitudes were inaccessible to Apollo; anybody care to explain?

<comment><USER11> I believe that it is about getting from the lander to the orbital vehicle.

If you go into an equatorial orbit, then every orbit of the orbital vehicle gives you a chance to get the lander back.

There is also a stable polar orbit where the orbiter stays lined up between the Earth and the Moon. Since the surface is tidally locked you again get the lander back easily. This orbit takes more energy to get into and out of for the orbital vehicle. But gives you mid latitudes with the Earth high in the sky.

What is hard is getting to mid latitudes on the side of the Moon. Now what happens is that the object on the surface turns away from the orbital vehicle making it hard to line up everything for the return trip. The lander therefore has to be _much_ more capable to land and return at will, rather than waiting weeks for things to line up right.

<comment><USER12> > There is also a stable polar orbit where the orbiter stays lined up between > the Earth and the Moon. Since the surface is tidally locked you again get > the lander back easily.

Wait, what keeps the polar orbit lined up with the Earth? If the orbit just stayed constant, it would deviate from being lined up from the Earth, right?

<comment><USER13> It wouldn't be exactly a polar orbit, but slightly offset from one - like a sun-synchronous orbit around the earth

[https://en.wikipedia.org/wiki/Sun- synchronous_orbit](https://en.wikipedia.org/wiki/Sun-synchronous_orbit)

<comment><USER11> Exactly. And since the orbit turns at the same speed as the Moon does, it works.

That is why in the article they offer a map of where the landing could have been and came up with [https://hackadaycom.files.wordpress.com/2019/02/moonpossible...](https://hackadaycom.files.wordpress.com/2019/02/moonpossiblelandings.png)

You see the landings on the equator, and also the strip going over the pole.

<comment><USER12> But what makes the orbit turn? What is accelerating the satellite?

<comment><USER14> It uses the equatorial bulge to process the orbit.

[https://space.stackexchange.com/questions/5312/why-would- sun...](https://space.stackexchange.com/questions/5312/why-would-sun- synchronous-orbits-be-impossible-around-perfectly-spherical-bodies)

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> > Sure, it's rocket science, but so is playing Kerbal Space Program.

Best sentence in the article :D

On a serious note, I remember a university friend telling me about how they had been working on figuring out this orbit. Interesting to see it written up here now.

</comment><comment><USER16> Oh thank god hackaday redesigned

</comment><comment><USER17> Who's "Nasa?"</comment>


Those NSA/Amazon guys are back with Synthetic Data - <AUTHOR> 6 months ago this came out with lots of feedback from you all:
https://news.ycombinator.com/item?id=22375774
Now we have our free beta:
https://gretel.ai
Free to use, check out our guides and videos to get started! <comment><USER2> From ProductHunt- "If you sign up (for Gretel.ai beta) this week, you'll get a credit for 25,000 data labeling API calls per month for 6 months after our free beta" [https://www.producthunt.com/posts/gretel](https://www.producthunt.com/posts/gretel).

</comment><comment><USER3> The government already has enormous amounts of data given to it by Amazon and google in exchange for basically allowing a take over the country. Nothing's ever private again anyway

</comment><comment><USER4> If you do everything in incognito window, no one gets your data.

</comment><comment><USER5> I dont trust the NSA to tell me about privacy, thanks

<comment><USER6> @ofalko Our code is open source, you can always check it out for yourself. =)

[https://github.com/gretelai/gretel- synthetics](https://github.com/gretelai/gretel-synthetics)</comment></comment>


Sayre's law - <AUTHOR> https://en.wikipedia.org/wiki/Sayre%27s_law <comment><USER2> Having had to deal with Sayre's law in practice, the cause is not insignificance, but that most of the time this is the only thing you can actual fight about. In a university the average academic has no control over anything of importance, so the only thing you can fight about is trivia.

<comment><USER3> Or not fight about anything?

<comment><USER4> The will to power (over anything) is a great source of energy.

</comment></comment></comment><comment><USER5> Another relevant entry: [https://en.wikipedia.org/wiki/Narcissism_of_small_difference...](https://en.wikipedia.org/wiki/Narcissism_of_small_differences)

</comment><comment><USER6> I guess it's worth mentioning Parkinson's law of triviality here, given it's relevant: [https://en.wikipedia.org/wiki/Parkinson's_law_of_triviality](https://en.wikipedia.org/wiki/Parkinson's_law_of_triviality)

</comment><comment> d--b I'm sure this law has been a source of heated debate.

<comment><USER7> Ironically, the Talk page is rather sparse...

</comment></comment><comment><USER8> The Origin of the Terms Big-Endian and Little-Endian: [http://www.ling.upenn.edu/courses/Spring_2003/ling538/Lecnot...](http://www.ling.upenn.edu/courses/Spring_2003/ling538/Lecnotes/ADfn1.htm)

</comment><comment><USER9> aha! a generalisation of Wadler's law: [https://wiki.haskell.org/Wadler's_Law](https://wiki.haskell.org/Wadler's_Law)

</comment><comment><USER10> Not all laws are created equal.

</comment><comment><USER11> Church denominational politics too.</comment>


Tell HN: I just haggled away 90% of my transactions fees - <AUTHOR>

Admittedly, we are a niche case, we have low volume high dollar amount incoming payments and high volume low dollar amount disbursements.
Going back and forth we started out at $149 set up fee, $25 a month, 1% + .25c per transcation in coming and 55c outgoing.
This is all ACH.
In less than an hour going back and forth with a couple places My final deal is $25 a month, $1.30 flat incoming, 25c outgoing.
That will save us ~1500+ a year assuming no growth.
The last time I set one of these up, it didn't even cross my mind to haggle. <comment><USER2> There's a startup based here in Chicago called FeeFighters

<http://feefighters.com/>

I've never tried it, but they'll apparently do this for you. They get a number of payment processors to bid for your business, and the winning bidder pays them a referral fee.

</comment><comment><USER3> "That will save us ~1500+ a year assuming no growth."

Saving $1500 is no joke for sure but how much time do you think it cost you? I'm always trying to balance that "Is it worth it to spend my time saving money or to spend my time creating money?" I'm not trying to be critical of you - I hope it doesn't come across the wrong way here - but I'm genuinely interested.

<comment><USER4> He said, "In less than an hour going back and forth..."

I think my time is worth a lot of money, but $1500 per hour would earn you $3 million/year if you only worked 40-hour weeks.

</comment></comment><comment><USER5> What bank/provider were you able to do this haggling with if you don't mind my asking?

<comment><AUTHOR> checkgateway.com is who I went with finally.

But it was actually when I was talking to some other company that I asked if he had 'room' because I was going to talk to a bunch of people and I thought I could do better on the setup fee. He said definitely.

So when I called around and some lady asked if I had talked to anyone else, I said yes. When she asked what they quoted I laughed at her (very jovially) and told her of course not but she could tell me her prices. She was totally into it in the sense she was ready for / expecting to be haggled with.

</comment></comment><comment><USER6> I just signed up with a local SMS gateway service for receiving payments, at a 50% discount in signup fee and monthly fees. I figured it couldn't hurt to ask - and I got exactly what I asked for.

<comment><AUTHOR> Which means you probably could have gotten more :)</comment></comment>


Pytomlpp – A Toml Parser Alternative - <AUTHOR> https://github.com/bobfang1992/pytomlpp <comment><AUTHOR> Hi, I have been working on an alternative to `toml` and `tomlkit`. One thing I have found in my day job is that these libs are slow when parsing toml files, and I think the reason behind it is that they are pure-python implementations. I have made a wrapper for a high-quality C++ toml parser (tomlplusplus) and think this wrapper can provide better performance if your app parses a large number of toml files like mine do.

The repo is here: [https://github.com/bobfang1992/pytomlpp](https://github.com/bobfang1992/pytomlpp)

Please let me know your thoughts!

Bob</comment>


"Alexa, Do I Have the Flu?" – Amazon Secures Partnership with NHS - <AUTHOR> https://digit.fyi/alexa-amazon-nhs-partnership-health-advice/ <comment><USER2> If you trust Alexa to diagnose you just by your voice, you're already sick in the head imho.</comment>


Facebook: remove photos of murderer from his victim's memorialised page - <AUTHOR> https://www.change.org/p/facebook-remove-the-pictures-of-hollie-gazzards-killer-from-her-facebook-page <comment><AUTHOR> This couple have photos on her pages.

He then murdered her.

Her page is now memorialised.

Facebook - being staggeringly clueless - refuse to remove the images of the murderer from her pages.</comment>