Google Will Start Country-Specific Censorship for Blogs - <AUTHOR> http://mashable.com/2012/01/31/google-twitter-country-censorship/

<comment><USER2> Before the doom and gloomers start (looking below I'm a bit late, but anyways..), think about this from a practical perspective.

We can assume two things as indisputable facts: 1) Google is a multinational company. 2) To operate in a given country necessitates complying with that country's laws.

If a local country's laws say that you can't deny the holocaust (Germany) or speak ill of the king (Thailand) or talk about how corrupt the government is (Russia), or link to something that might be copyrighted (USA), or what have you, Google's options are limited to either compliance, or ceasing operations there.

What do you think would happen if Google took a public hardass stance like "We refuse to censor user content under any circumstances"? Admirable, and that would make them a darling on the internet, but only as long as it took for the local apparatchik to note that the company is violating local laws, and shuts down their operations there _or worse_.

Google's best bet in this case is exactly what they've done here - try to limit the spread of the local censorship from its local area. Just because Thailand's king gets easily butthurt is no reason for people outside of Thailand to suffer for the actions of a partially corrupt regime there..

If you have a better (and most importantly _REALISTIC_ ) idea, I'd love to hear it.

<comment><USER3> I believe Google has a moral responsibility to fight censorship. I understand your stance, and it makes sense under the assumption that Google should do what's best for themselves (and shareholders), but that's wrong. Following local law doesn't absolve them of that evil.

Edit: In response to having a better idea, Google isn't a powerless agent in this situation. They can take a hard stance without being completely cut out of that country. It may suck short-term, but it creates a better Internet long-term and that matters for them.

<comment><USER2> You absolutists have really tied their hands. There is no country with a concept of something being more illegal than something else - there is only legal and illegal with (theoretically) higher sentences for worse crimes. Denying the hololcaust in Germany is just as much of a crime as fraud.

I'd hate to be in Google's shoes right now. They can't win. If they keep going in a country despite the laws, they'll just be shut down and then the shareholders (and anyone else with a _rational_ mind) will be miffed. If they follow the law, the shareholders will be happy, but some people in some areas will have their rights trampled on.

I think your fight is with the government passing corrupt laws that everyone is beholden to, not the company following the law like everyone else.

Asking a company to break local laws on principal sounds nice, but in the real world, _it isn't gonna happen_ , for a number of very good reasons.

<comment><USER3> I don't identify as an absolutist and I agree it's not a black-and-white situation. It sucks for the reasons you mention.

But even if it's their legal obligation to follow, I still believe it's morally wrong for them to do so. Their position isn't so weak that they're powerless. As a business their incentives may be really strong, but I don't believe that absolves them of the moral component. Just because taking a hard stance is hard doesn't mean it's OK not to take it. But it is understandable, certainly for a complex, multifaceted organization.

And I agree, it's not just about Google. I think everyone shares at least some responsibility, from the government to the businesses to the citizens. But just because it's practical for Google to censor doesn't mean they are no longer morally responsible for taking part in censorship.

Hopefully Google will at least be active in fighting the laws and maybe that is their full intention.

<comment><USER4> I don't think it helps to talk about censorship in the abstract. We can start with the position that "all censorship is bad", but we quickly get into the same tricky problems that first amendment cases do (where do my rights end and yours begin), not to mention that "free speech" is literally defined differently in different countries.

Next, we can look at things like if censoring certain types of material is ever wrong. Citizens reporting on each other for anti-patriotic behavior horrifies us, but I have no problem with Google reporting a site that hosts child pornography if they discover it while indexing images (I don't agree with the thoughtcrime laws that child pornography seems to engender, but I certainly have no problem with that site being shut down).

Since we're looking at an American company, what about DMCA take down notices? Many on this site have serious problems with the way those laws are enforced and in how they favor large content conglomerates, but if companies were to not follow them, large segments of companies on the internet simply could not exist (if based in the US). Is it morally wrong for them to honor these takedown notices? What if most are in fact legitimate (in our copyright system, not some platonic one!), they just deny due process to some minority? Is there a moral difference between a court order and a national security notice?

There's an easy transition from these questions to ones of censoring hate speech and incitement to violence, to censoring Holocaust-denial and Nazism, to censoring criticism of the King.

If we're going to draw a bright line for companies we will financially support, we'll have to talk about specifics, because "censorship" won't cut it (what did you fund with your taxes this year?), and we really are going to have to talk about "I don't want an American company censoring blog posts in India because I think the laws there (that some portion of the population likely supports) are wrong". And then we'll have to call up someone in the EU that supports "the right to forget" and see what they think of our notion of free speech and censorship.

</comment></comment></comment></comment></comment><comment><USER5> Didn't Google _stop operating in China_ a few years ago because they'd rather lose business than support censorship? Then they said, "ah, fuck it, censorship's cool if your country has a billion ad-watching eyeballs". Now this is like the "censorship for everyone!" service pack.

I think the answer is to make it easy for people to host their own content. Sort of an "anti-cloud". FreedomBox is a great concept, you guys that are better hackers than me (most of you) should find some way to contribute: <http://freedomboxfoundation.org>

<comment><USER2> >Didn't Google stop operating in China a few years ago because they'd rather lose business than support censorship?

That's just the PR reason. The real reason is because they had recurring problems with local hackers getting into their systems.

<comment><USER6> I think it was more that Baidu.com is the state sponsored competitor to Google China, and pretty much have been wiping the floor with Google in that country.

That move, claiming they were going to pull out of China because 12 email accounts were hacked (of human rights activists that weren't even living in China) was pure PR that everyone was more than willing to lap up.

Same thing with that "Microsoft is indexing our results". As soon as you looked at the details, the PR dissolved.

<comment><USER7> Just 12 accounts hacked from China, really? I think it's pretty well documented that the hacking issues were more way more extensive than 12 account.

It's debatable whether it was government sponsored hacking or private citizens but regardless, it's a gross understatement to say it's 12 accounts. My own personal Gmail account from a Chinese IP a few days before the Google PR post.

Press "Google said Wednesday a hacker in China obtained access to hundreds of Gmail accounts, including those of senior U.S. government officials, military personnel, Chinese political activists and journalists" - [http://www.washingtonpost.com/blogs/post-tech/post/google- hu...](http://www.washingtonpost.com/blogs/post-tech/post/google-hundreds-of- gmail-accounts-hacked-including-some-senior-us-government- officials/2011/06/01/AGgASgGH_blog.html) [http://www.guardian.co.uk/technology/blog/2010/jan/20/google...](http://www.guardian.co.uk/technology/blog/2010/jan/20/google- china) [http://www.guardian.co.uk/technology/blog/2010/jan/20/google...](http://www.guardian.co.uk/technology/blog/2010/jan/20/google- china)

User Posting(s) [http://www.google.com/support/forum/p/gmail/thread?tid=5da16...](http://www.google.com/support/forum/p/gmail/thread?tid=5da16d642cf89842&hl=en) [http://www.google.com/support/forum/p/gmail/thread?tid=49aa5...](http://www.google.com/support/forum/p/gmail/thread?tid=49aa5586e9b05271&hl=en)

<comment><USER6> No one doubts that IPs coming from China log-in-with-stolen-passwords into Gmail, hotmail, and mail.yahoo every single day.

Or that there are attempts to steal worthy information and data through other means.

Some of these attempts are state-sponsored, some are corporate-sponsored, others are crime-sponsored.

Russia does this, US does this, and just about every other player does this.

This happens every day.

It's nothing new.

The point is that Google entered China (the #1 known player in this game of hacking and espionage), then when the expected happened, used it's PR machine to pretend they were pulling out because of some of these attempts, with the main focus (in that PR attempt) on the dozen email accounts of activists.

</comment></comment></comment></comment></comment><comment><USER8> Wow, the best thing about that article is the reference to <http://google.com/ncr> (No country redirect) - finally a way to stop Google from re-directing me to whatever country I'm in.

</comment><comment><USER9> I hear about things like this and think we really need something like Diaspora: a unified, social interface being run on highly distributed systems. The benefits of things like Blogspot, Twitter and Facebook without the leverage points a few big companies ruling it all provide.

</comment><comment><USER10> Contrary to that headline it's actually more of a counter-censorship measure:

[http://support.google.com/blogger/bin/answer.py?hl=en&an...](http://support.google.com/blogger/bin/answer.py?hl=en&answer=2402711)

 _By utilizing ccTLDs, content removals can be managed on a per country basis, which will limit their impact to the smallest number of readers. Content removed due to a specific country's law will only be removed from the relevant ccTLD._

So after a local authority demands that a blog post be removed, it will still be available at *.blogspot.com

<comment><USER4> Yeah, this article is pretty much just terrible reporting.

If this tech reporter utilized their long term memory (or a search engine), they would remember everyone reporting on the google transparency report, which tells you exactly how much content each government has asked them to take down, and how many times they've complied with those requests. They would also have remembered the notes in that report that said that _google was doing this exact same censorship to comply with eg Indian or German laws while not removing the content for the rest of the world_

[http://www.google.com/transparencyreport/governmentrequests/...](http://www.google.com/transparencyreport/governmentrequests/removals/)

I mean, seriously? "Ebay thought that they could hide it, but hidden away in their TOS are rules for country-specific censorship, like hiding nazi memorabilia in german search results. It appears that Ebay snuck those terms in there 11 fucking years ago."

Censorship: it's a really hard problem. Luckily we have tech reporters.

</comment></comment><comment><USER11> Good bye Internet, it was nice to know you.

<comment><USER12> It's not going away, it's just evolving (albeit in a less than stellar direction). An enterprising individual will be prepared to take advantage of the forthcoming restrictions and profit from them.

<comment><USER13> data and information bootleggers?

<comment><USER14> We sell the truth.</comment></comment></comment></comment>


Orchard Supply Hardware and the Mediocrity of Millionaires - <AUTHOR> http://samquinones.com/reporters-blog/2018/08/28/orchard-supply-hardware-and-the-mediocrity-of-millionaires/ <comment><USER2> The author claimed multiple times that OSH was "growing" without supporting that claim. OSH has been closing stores for years, and I doubt there was any year of the past 10 that showed any net growth of stores.

OSH was killed by consumers chasing price over service -- first to Home Depot, later to Amazon.</comment>


OpenStreetMap PBF Perfomance Tricks - <AUTHOR> https://paulkernfeld.com/2019/08/05/osm-pbf-performance-tricks.html <comment><USER2> Yeah, the OSM PBF format is really efficient in size, but it can be quite a pain to work with those files. Every way consists of nodes, which are usually at the very beginning of the file (first nodes, then ways, then relations). So in order to work efficiently, you'll need a node cache (which at the moment is more than 40G). Seeking is not viable because there is no indication in which block the node will be. On-disk caching is an option, but it will slow you down substantially.

So unless you are doing meta-analysis of the raw OSM data, without assembling geometries, hand-rolling an OSMPBF reader is viable, otherwise I would suggest either using something pre-processed (extracts in real geodata formats), an established parser like osmium or rather import the data into e.g. postgres and do some querying there.

<comment><USER3> Are nodes in first fileblocks in "planet dumps"? And then fileblocks mostly with ways? With this dump configuration fileblocks are mostly useless.

<comment><USER2> Blocks are useful, because you can distribute the workload onto several workers. Most encoders nowadays write first blocks with just nodes, then blocks with just ways and then just relations.

</comment></comment></comment><comment><USER4> My favorite OpenStreetMap data science tool is "osmium"

* [https://osmcode.org/osmium-tool/manual.html](https://osmcode.org/osmium-tool/manual.html)

And you can convert osm.pbf to osm.opl - and can reprocess with unix tools (grep,awk,cut,tr,...):

* [https://osmcode.org/opl-file-format/#usage-examples](https://osmcode.org/opl-file-format/#usage-examples)</comment>


More Alternatives to Google Analytics - <AUTHOR> https://lwn.net/SubscriberLink/824294/fe8f9331eca8b9ee/ <comment><USER2> If you're looking to switch to something like Matomo, you might want to also consider the platform that I'm building: [https://usertrack.net](https://usertrack.net) The advantages over Matomo would be the much cheaper price for features similar to their premium ones and that the codebase and UI/UX is a lot more modern.

I am still adding new features and improving it, so any suggestions are greatly appreciated!

</comment><comment><USER3> These are excellent options for alternatives to Google Analytics.</comment>


The death of digg is not exagerated - <AUTHOR> http://www.techradar.com/news/internet/web/the-death-of-digg-is-not-exaggerated-720550

<comment><USER2> This doesn't provide any evidence other than traffic TO Techradar from Digg. This title is the true exaggeration here.

<comment><AUTHOR> True, but head to digg.com and see the number of comments on the stories. Then compare to reddit their "smaller*" competitor.</comment></comment>


Identifying Unused Indexes in MongoDB - <AUTHOR> https://www.percona.com/blog/2018/11/21/identifying-unused-indexes-in-mongodb/ <comment><USER2> A much better variant of this exact information was provided by mLab in early 2017[1].

[1]: [https://blog.mlab.com/2017/01/using-mongodb-indexstats-to- id...](https://blog.mlab.com/2017/01/using-mongodb-indexstats-to-identify-and- remove-unused-indexes/)

</comment><comment><USER3> "Identifying Unused Indexes in MongoDB" seems like a better title

</comment><comment><USER4> Oh good, another site that wants to show notifications for no good reason

</comment><comment><AUTHOR> A straightforward how to identify the indexes that are not in use on MongoDB and just using up resources... watch out for those special reporting ones that only get used now and then though...</comment>


Ask HN: Intermediate Ruby or Rails exercises? - <AUTHOR>

Hi everyone. I taught myself ruby and rails using some of the online resources about a year ago. I built a basic rails app that provides you with a workout based on the equipment and time you have (http://workoutx.nickkarrasch.com).
After that I thought the next thing to do was to just "build things", and this is what everyone recommended I do to keep learning.
The problem is I'd try to build things and then run into problems which were just too advanced for me. I'd try to utilize resources like stack overflow but I would always pick a project that had an element that was too complex for me. Don't get me wrong, I would do lots of research and spend hours trying to solve the problem, but the problem would just be too complex for my skill level. The most annoying part is I wouldn't know that until I got in. So the last several things I've tried to build I've just been unable to get over specific hurdles and complete them.
I feel like I need some kind of intermediate level ruby exercises, or alternatively need some guidance on what I should try and build. I want to try and build something that is a challenge but is possible at my skill level, and not take on something that has an element which is far too complex for me to complete.
Does anyone have any suggestions on how to keep moving forward? How can I take on projects or challenges but know they are not going to be way too complex? <comment><USER2> It sounds like you need a programming mentor or peers. Someone that can help you think through the hard parts, and possibly lend some of their experience. If possible, go to programming meetups where you do not just meet other programmers, but also code together. In lieu of peers and mentors, you could also pay someone to do a code review.

Alternatively, if you feel you are stuck, you might be using a suboptimal approach to solving these problems. Usually any complicated program can be broken down into approachable and smaller chunks. You could also write a really crappy, but working version and use [http://codereview.stackexchange.com/](http://codereview.stackexchange.com/) to get your code in better shape.

"Intermediate exercises" by themselves probably will not help you as much as other activities. You've already stated that you continuously run into these walls. It might be good to do some analysis on why, and talk with others on what makes these problems so challenging. Working through these challenging parts can be ridiculously insightful and fruitful in clarifying your understanding of something, or fixing bugs in your mental models.

A couple other related thoughts: You could use your side project as a playground to practice new concepts as you learn them. Also you could get a willing and experienced mentor.

</comment><comment><USER3> I think your best bet is to keep pursuing the "building things" strategy, but when you get stuck on something, look for exercises or deep reading in that particular area. For example, awhile ago I got stuck on geocoding and geosearch and so went in search of tutorials and resources about that particular thing. I then took that information and went back to building my app.

I think it's a much better use of your time than doing general intermediate exercises without specifying a particular area in which to learn. At the intermediate level, your options expand so much that no procedural resource can both cover what troubles you specifically and also challenge you consistently.

</comment><comment><USER4> Check out RailsCasts [1] by Ryan Bates. I learned RoR through the Ruby on Rails Tutorial [2] by Michael Hartl (highly recommend it). I then used RailsCasts to teach me specific things about practically everything. There are over 400 screencasts so that should keep you busy for a while. My general workflow would be to plan the feature out, watch the RailsCasts episode, and then implement the feature.

Hope this helps.

[1] [http://railscasts.com/](http://railscasts.com/)

[2] [http://ruby.railstutorial.org/](http://ruby.railstutorial.org/)

<comment><AUTHOR> RailsCasts is great for individual features, but I guess I'm looking for direction on whole projects I could do that were at a good intermediate but not advanced level.

</comment></comment><comment><USER5> The problem is that we have to many beginner resources and not enough intermediate. Stop creating beginner level books we have enough already. Everyone says oh just go code. So we go to github and pull down some code and try to build something. What happens now is that we just used someones crappy code to show us how to code. Now we are a shitty programmer because of it. Stop creating beginner books and start creating a flood of intermediate books and resources. I'm so fucking tired of reading a beginner books over and over, because I fell flat trying to move from beginner to intermediate programmer.

</comment><comment><USER6> Now try to implement some features to make it more user friendly:

\- AJAX login form

\- Workout Categories

\- Search functionality

\- Use the YouTube API to show some example videos of the workouts

\- Sort equipment alphabetically or by category

\- Paginate workouts</comment>


Ask HN: What Lisp-like language fits my needs? - <AUTHOR> Hello HN!
I'm trying to find a lisp programming language that fits my specific needs but not getting super close. What I'm building is a desktop GUI that is supposed to run cross-platform. I'm currently using Clojure but want to end up with binaries I can distribute, instead of JAR files, and GraalVM is too immature to handle GUI applications in Java currently, so seems I cannot use Clojure.
My needs:
- Lisp
- Mostly immutable data structures
- Compiles down to a binary that can be distributed to linux, macOS and Windows
- Has support (either core or libraries) for building GUI's and hopefully contains some sort of webview component
- Has a good story for supporting REPL driven development
So far, I've been trying to find Clojure like languages. Some of them that I've tried but been lacking in one way or another: clojerl, joker, ferret, common lisp, racket
I think what came the closest was Racket, but wanted to ask around as see if there is something that would be better to use. <comment><USER2> Have you considered just bundling a JVM at distribution time? This is how apps like IntelliJ work.

<comment><AUTHOR> I have not, but will look into it. My initial fear with it, was that startup time is still the same and size is probablya bit bloated, but not 100% about these fears, so gonna have to try it out.

Thanks for the suggestion.

</comment></comment><comment><USER3> You could try janet

<comment><AUTHOR> Woah, janet seems to mostly fit the bill. Thanks a lot for the recommendation!

</comment></comment><comment><USER4> Have you seen Fennel?</comment>


Show HN: Who Will I Know There? - <AUTHOR> http://wwikt-peterldowns.dotcloud.com

<comment><USER2> In addition to facebook, it would be helpful to have twitter, linkedin, etc involved. Also, if I belong to meetup, figure out what groups I like where I am and show me the meetups / events that are happening where I will be.

I don't travel enough for this to be interesting, but it could be for sales people who travel quite frequently for their jobs.

As a tangent, you could make a service called whom else should I sell to there... If I am going to make a sales call in san francisco, tell me what other companies with offices there I can call on as well.

<comment><AUTHOR> Thanks for the feedback! I made this as a way to play around with node.js and the facebook API, but you're right that it would be helpeful to have twitter / linkedin / other sites involved.

<comment><USER2> Of course, I signed up and like how it auto loads people and then displays their picture. It made me realize someone I knew from high school now lives in my town so that was a neat surprise! The pictures are narrow and single file all the way down, have you played with using this jquery plugin (<http://www.wookmark.com/jquery-plugin>)? It might make the site look a little more modern as it'll have the "pinterest" layout with all my friends on it.</comment></comment></comment>


Ask HN: Is Software Energy or Matter? - <AUTHOR> <comment><USER2> Software/knowledge/information is interpretation of either energy or matter. David Chalmers describes it well.

</comment><comment><USER3> Software is information. Information is created with energy, in a process that could involve matter, but it is fundamentally neither.

<comment><USER4> What information does not require matter?

<comment><USER3> An electromagnetic signal traveling through space.

<comment><USER4> Photons are matter, IMHO.

<comment><USER3> Photons lack mass. They don't meet the definition of matter.</comment></comment></comment></comment></comment>


AgencyTool Web Design Dashboard - <AUTHOR> http://www.agencytool.com/dashboard/

<comment><USER2> With the beating my site review took yesterday, I'll clearly be spending a ton of time in your design section, and I clearly need help in the marketing as well.

Great resource.

Your javascript scroll-up (I'm assuming that's what it is) isn't working on my XP/Firefox 3.0, so the page is littered with lings and huge.

Assuming this is your site toddo...

</comment><comment><USER3> Nice resource, but why did you leave such a huge gap below the footer and the bottom of the page?

</comment><comment><USER4> And I was JUST looking to learn programming, too. Thanks.

</comment><comment><USER5> i'd hate to drive a car with a dashboard that had that much stuff on it

</comment><comment><USER6> Handy</comment>


Seth Godin: Three ways to help people get things done - <AUTHOR> http://sethgodin.typepad.com/seths_blog/2011/01/three-ways-to-help-people-get-things-done.html

<comment><USER2> The title is a bit misleading. It's actually two ways to make people get things done (which aren't very profound) and one way to help a small minority become excellent (somewhat interesting).

How about, "Provide a cooperative environment and a few people may excel."

To address his points directly, if we scope the discussion down to managing knowledge workers:

1\. I agree that yelling or harassing is almost never beneficial in the long run.

2\. Competition in a group is always present as long as you are doling out the biggest bonuses and raises to the "best" employees. What Seth doesn't consider is that competition against an outside foe, be it another company or industry, _can_ help motivate. X PRIZEs are a great example of this.

3\. I agree on his third point, though it gets a little hand-wavy here. I suppose we're expected to buy one of Seth's books to get more details.</comment>


BlockBattle (HTML5 multiplayer tetris) goes social - <AUTHOR> http://blog.blockbattle.net/2012/05/blockbattlenet-leaderboard-ranking.html

<comment><USER2> Those features are what we're trying to make easy with Clay.io

<http://clay.io/docs> \- Let me know what you think and if you would have used the API if you had known about it. If not, I'd like to know what we can improve on!

</comment><comment><USER3> I'd love to log in but sadly you can't log in via the site and have to use twitter, facebook, or google. No thanks.

<comment><USER4> Hi Urgo,

I'm one of the creators of blockbattle. What would be your preferred method of login? If we implemented a generic openid method would that be sufficient? Would you prefer a simple username and password on the site?

Thanks for your feedback.

<comment><USER3> Yeah I've been playing for the last 20 minutes and would much prefer a normal site based login/password system. No offense but I don't like linking facebook/twitter/etc in where sites have the ability to post to my feeds/read my data/etc ;)

I used to play tetrinet all the time back 10 years ago or so and this has been fun.

<comment><USER4> I understand the desire to keep your facebook/twitter/etc accounts secure from applications.

Our decision to not include a typical username and password authentication method was a simple prioritization. We want to add username and password auth too.

We use facebook's tornado framework, and it makes integrating with openid and oauth2-like system really easy.

Stay tuned for more authentication options.

</comment></comment></comment></comment><comment><USER5> This is pretty well done. Good job guys!</comment>


Ask HN: What serverside programming language would you use in your next startup? - <AUTHOR>

<comment><USER2> Here's the three answers you will get when try looking deeply for it:

1) Quick prototyping old-school: Ruby with Rails or Python with Django

2) Asynchronous Single Page App: Node.js using either something like Meteor (fullstack) or combining something like Express(backend) with Angular/Ember

3) You already have big clients, you need 'scaling' immediately: Java or Scala with one of their frameworks.

</comment><comment><USER3> Assuming there is a next startup and it's anything like the current startup, then I'd probably go with Groovy again. Groovy has worked very well for us.

</comment><comment><USER4> depends on what you want to do and which languages you already know.

</comment><comment><USER5> node</comment>


Opa Gangnam Style - Luxurious Web Programming - <AUTHOR> http://opalang.org/gangnam.style.html

<comment><USER2> Looks pretty neat, any docs/etc that point to the security aspects?</comment>


What's the best way to create a fluid multi-column layout...? - <AUTHOR> http://www.quora.com/CSS3/Whats-the-best-way-to-create-a-fluid-multi-column-layout-that-adapts-the-column-count-accourding-to-the-amount-of-content

<comment><USER2> I give to you, The Holy Grail

[http://matthewjamestaylor.com/blog/ultimate-3-column-holy- gr...](http://matthewjamestaylor.com/blog/ultimate-3-column-holy-grail- pixels.htm)</comment>


GoodTwitter – Forces the browser to use old Twitter - <AUTHOR> https://addons.mozilla.org/en-GB/firefox/addon/goodtwitter/ <comment><USER2> Browser; Specifically referring to versions of Firefox?</comment>


Report on the current experience of using IPFS to deploy a website - <AUTHOR> https://macwright.org/2019/06/08/ipfs-again.html <comment><USER2> I had to stop using IPFS to read websites because it kept crashing my router. It makes hundreds of connections to other IPFS servers. And if you have working IPv6 it makes many of those _twice_. I'd often see over a thousand, then the router would slowly stop working until it self reset.

There may be a way to limit the number of connections but I never looked too hard. My plan still is to put the cable router into bridge mode and start using my own router with OpenWRT -- but that's been my plan for a couple of years now, so you see that the follow-through is lacking.

<comment><USER3> I nearly got my server banned in Hetzner, because the default config of IPFS starts aggressively scanning the network for local peers immediately.

<comment><USER4> When running in such environment it is necessary to run configure IPFS with "ipfs init --profile server" which will prevent this from happening. Documented here: [https://github.com/ipfs/go- ipfs/blob/master/docs/config.md](https://github.com/ipfs/go- ipfs/blob/master/docs/config.md)

</comment></comment></comment><comment><USER5> The Inter Planetary File System has the potential to radically change content hosting to become truly decentralized. This report names some of the most pressing barriers to widespread adoption of ipfs.

In my opinion the biggest issue is _terrible_ documentation on ipfs.io (as noted by the report). The "Getting Started" page fails to explain the basic structure of ipfs and uses jargon that isn't defined. This lack of documentation prevents even tech savvy users from adopting ipfs.

</comment><comment><USER6> Tried setting up an IPFS website using Hearth, and I ran into the links issue. Gave up pretty soon after in favor of GitHub Pages.</comment>


Alexis responds to the PEJ study on social news sites and delicious - <AUTHOR> http://reddit.blogspot.com/2007/09/project-for-excellence-in-journalism_12.html

<comment><USER2> And of all the people who read the news about Iraq that week, how many people can name a single thing that happened in Iraq the day the iPhone launched? Probably no one. Whereas I bet most people can still recall the key details of the iPhone launch.

<comment><AUTHOR> On the day the iPhone launched, at least one IED killed at least one person in Iraq. It's the same thing every day in Iraq, the iPhone gets to launch no more than twice a day.

<comment><AUTHOR> I meant to say "the iPhone gets to launch no more than twice a year"

</comment></comment></comment><comment><USER3> The point, however, is that social news sites (so far) are not replacements for editorial front pages. They exist solely because the mainstream news sites aren't very broad (10 stories are 50%, sounds like the long-tail book again). If I want LolCats, I go to digg. If I want news about Iraq, I'll listen to NPR. If I want something about hackers, I'll come here.

Comparing them to eachother is basically a waste of time, except to indicate that there might be a market opportunity (is there a community not being served by ANY of the outlets listed?)</comment>


Anyone from Boston interested in being a part of a music startup? - <AUTHOR>

<comment><AUTHOR> My co-founder and I have been working on a new music industry model. If you're around the Boston area and interested in collaborating than send me an email: email@example.com</comment>


Ask HN: What are best tech blogs to read - <AUTHOR> what are best tech blogs to read? What are your's personal favourite,please share with others. <comment><USER2> This: [https://github.com/kilimchoi/engineering- blogs](https://github.com/kilimchoi/engineering-blogs)

</comment><comment><USER3> I'll start with: [https://blog.codinghorror.com/](https://blog.codinghorror.com/)

</comment><comment><USER4> A couple months ago I wrote a list of high-quality React-related blogs that I subscribe to: [https://www.reddit.com/r/reactjs/comments/5t8loz/what_are_yo...](https://www.reddit.com/r/reactjs/comments/5t8loz/what_are_your_top_reactreact_native_blogs_that/) .

<comment><AUTHOR> Waiting for such a response

</comment></comment><comment><USER5> I curate great tech news from a wide range of sources on my daily newsletter (FoundersGrid.com) which is a great way to discover new blogs.</comment>


Side-by-side Nim and Go - <AUTHOR> http://rosetta.alhur.es/compare/nimrod/go/#

<comment><USER3> For those who are confused - this website is just a rendering of Rosetta Code snippets. You can change the URL to display any two language e.g.

[http://rosetta.alhur.es/compare/rust/c/](http://rosetta.alhur.es/compare/rust/c/)

So it is not and is not meant to be 'fair', just a nice way to compare language idioms.

</comment><comment> def- This uses the code snippets from [http://rosettacode.org/wiki/Rosetta_Code](http://rosettacode.org/wiki/Rosetta_Code) . I wrote many of the Nim ones and collected them over at [http://github.com/def-/nim-unsorted/](http://github.com/def-/nim-unsorted/) . But since the Rosetta Code tasks are often not 100% specified, I'm not sure how useful this comparison is. For what it's worth I mostly oriented on Python and C when writing the Nim ones. I also don't know why this comparison uses the old Nimrod name, seems to work with Nim as well: [http://rosetta.alhur.es/compare/nim/go/#](http://rosetta.alhur.es/compare/nim/go/#)

<comment><USER4> Yes, the more I look at these, the less similar the two sides often seem to be. Not that I'd ever challenge the claim that Nimrod generally focuses on concision whereas Go is intended for environments in which such concision is generally discouraged and the two languages have perfectly predictable line counts on this sort of task after that, but the comparisons are definitely less meaningful than a first glance indicates for a lot of these.

For instance, see "Box the Compass"; codewise the two aren't that different (Go is both slightly longer and appears to carry more information, it has more numbers in it for whatever reason), but the eye is initially misled by the fact that Go has a standardized formatting and the definition of a string array is rigidly required by the formatting rules to have one string per line, whereas Nim happily puts them on just a few lines. Neither is wrong, and, well, it goes back to that context I mentioned. Both languages have their reasons for that. Others, such as the matrix arithmetic, are pretty accurate... I think you're crazy to pick up Go and immediately start trying to do serious math, personally, but YMMV.

</comment></comment><comment><USER5> This website doesn't seem to render correctly for me. It's also the slowest thing ever.

<comment><USER6> Switched from Chrome to Firefox, works there.

<comment><USER7> This website only works in Firefox. A rare occurrence.

</comment></comment></comment><comment><USER8> This doesn't look like a good-faith apples to apples comparison. Consistently, the Nim example just includes the core functions while the Go example includes that plus main() plus file-level boilerplate. Those aren't functionally the same. The funny thing is that (AFAICT) the point about Nim's greater expressivity would be even clearer without those misleading differences, and without all of that spurious vertical whitespace too.

<comment><USER4> Honest question, as I don't know Nim... does it require any more, or are those legal programs as-is? I know, for instance, that you can simply run a Python program, no boilerplate required, and Python answers to these questions would have 0 bytes of visible boilerplate to "run". It's a reasonable observation that Go does have a bit of mandatory boilerplate.

<comment> def- Those are full, runnable programs. Nim's boilerplate is similar to Python's here.

<comment><USER4> Thank you.

</comment></comment></comment></comment><comment><USER9> This has to be the worse performing webpage I ever visited. It looks like hljs has so much code highlighting to do it blocks the UI thread or something.

</comment><comment><USER10> I always thought Nim would be a better systems language to invest time in, but when looking at the code-snippets side-by-side, the Nim code gets really confusing whereas the Go code has nicer 'flow' and is more readable (ironic, considering that Nim claims to be Pythonic).

I'm definitely not going to bash Nim against Go, but to me, code like this:

proc det[M,N](a: Matrix[M,N]): float = let n = toSeq 0..a.high

is unreadable.

There's about as much (if not more) types of brackets in the Nim code compared to the Go code and I am moving towards an opinion that Nim is very unlike Python in readability (it may take things like indentation, no ";" and no " { } ", but Nim code is definitely not like Python in many other ways).

Also, apart from the brackets, it has things like:

"(a: Matrix[M,N]): float = "

which would not be clear to an average programmer unless he/she actually went out to "learn" the ways of Nim (whereas Python code is very readable, even if you just know basic programming).

Maybe this is due to the way the writer of each snippet writes their code, but as far as readability goes, Go wins on this one.

<comment> jaws- [http://rosetta.alhur.es/compare/nim/go/#Matrix_arithmetic](http://rosetta.alhur.es/compare/nim/go/#Matrix_arithmetic)

Nim:

        proc det[M,N](a: Matrix[M,N]): float =
          let n = toSeq 0..a.high
          for sigma, sign in n.permutations:
            var x = sign.float
            for i in n: x *= a[i][sigma[i]]
            result += x

Go:

        func determinant(m [][]float64) (d float64) {
            p := make([]int, len(m))
            for i := range p {
                p[i] = i
            }
            it := permute.Iter(p)
            for s := it(); s != 0; s = it() {
                pr := 1.
                for i, σ := range p {
                    pr *= m[i][σ]
                }
                d += float64(s) * pr
            }
            return
        }

I don't know anything about Go or Nim, but the Nim version looks infinitely more readable to me.

</comment></comment><comment><USER11> Are these the only two programming languages that are also well-known games?

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

[http://en.wikipedia.org/wiki/Go_%28game%29](http://en.wikipedia.org/wiki/Go_%28game%29)

<comment><USER12> Rust is also the name of a fairly popular video game.

<comment><USER13> Fun quirk: the game has _also_ been in a pre-release state for a long time, there were a ton of people who rejoyced when they heard we hit beta, then realized it was the wrong Rust... I'm sure the final in five weeks is gonna be the same way.

</comment></comment></comment><comment><USER14> I know the common wisdom in our industry is still 'syntax is a personal thing', but there's also St Exupery: 'perfection is achieved when there's nothing left to remove'.

Fitting more on screen, and having a higher signal/noise ratio is /objectively better/ than otherwise.

Our industry loves to measure almost everything except human parsing efficiency. I'm fairly sure we could actually test this like we test anything else (and if the test says that's wrong then fair enough).

<comment><USER15> _Fitting more on screen, and having a higher signal /noise ratio is /objectively better/ than otherwise._

Does that mean that J/K/APL are the objectively best programming languages?

<comment><USER16> Depends, can we include whitespace in on the action too?

</comment></comment></comment><comment><USER17> Sadly my browser times out at "Waiting for cdnjs.cloudflare.com", so I only see a rather busted version of the page (or is the odd whitespace preceding the Nim-examples intentional?).

But the little I can see looks very promising, thanks for compiling this! Will definitely check back when Cloudflare has their act together again.

</comment><comment><USER18> What are those zillions of empty lines under "Nimrod" for? No code needed?

<comment><USER19> Try Firefox.

<comment><USER18> Even in Firefox, formatting looks broken.

We should add consistent rendering in a browser to the Rosetta tasks.

</comment></comment></comment><comment><USER20> So Nim is more expressive and concise than Go. OK.

<comment><USER21> To be fair, in some cases[1] the code in Go has error handling and the code in Nim doesn't. In other cases the Go code does more things[2].

Nim is no doubt more expressive and concise than Go, but this comparison is seriously unfair in some situations. In addition, although Go is concise on the absolute scale I don't think it ever set out to be the most concise - <USER2> solves the problems that it set out to solve.

[1]: [http://rosetta.alhur.es/compare/nimrod/go/#Read_entire_file](http://rosetta.alhur.es/compare/nimrod/go/#Read_entire_file) [2]: [http://rosetta.alhur.es/compare/nimrod/go/#Zero_to_the_zero_...](http://rosetta.alhur.es/compare/nimrod/go/#Zero_to_the_zero_power)

<comment><USER22> Not only that, on LOC is the goal; the Go code isn't written in most terse form, there are _numerous_ unnecessary newlines and they do things like:

Examples:

        cmd.Stdout = os.Stdout
        cmd.Stderr = os.Stderr

vs

        cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr

and:

        if open == 0 {
            fmt.Println("ok")
        } else {
            fmt.Println("not ok")
        }

vs.

        if open == 0 {
            fmt.Println("ok")
            return
        }
        fmt.Println("not ok")

<comment><USER23> Your first example is a great counter-point to the talk above about "if more stuff can fit on the screen it's easier to understand". I personally really prefer the 2-line construction.

</comment></comment></comment></comment><comment><USER24> Regardless of the website, I'm amazed to see Nim once again on HN. The language looks really underrated to me.

</comment><comment><USER25> The as you scroll syntax hilighting is not getting along with my iPad at all.</comment>


Facebook completes construction of first full-scale aircraft, Aquila [video] - <AUTHOR> https://www.facebook.com/zuck/videos/vb.4/10102274951725301/ <comment><USER2> There's an interesting phenomenon where people in developing countries begin to think that Facebook is the full extent of the internet:

 _Indonesians surveyed by Galpaya told her that they didn't use the internet. But in focus groups, they would talk enthusiastically about how much time they spent on Facebook. Galpaya, a researcher (and now CEO) with LIRNEasia, a think tank, called Rohan Samarajiva, her boss at the time, to tell him what she had discovered. "It seemed that in their minds, the Internet did not exist; only Facebook," he concluded._ [1]

I feel extremely lucky and privileged to have grown up with an open internet, where there was at least some (diminishing) percent of websites that did not treat me like a product to be marketed to advertisers, prodding and analyzing, constantly gamifying and creeping ever-inwards on my privacy. I deactivated my account a few months ago because it felt like Facebook was taking more from me in terms of time and energy than I was gaining from it.

There is a huge benefit to bringing the connectivity of Facebook to developing countries and remote territories. Many people wouldn't be able to run businesses or keep in touch with family without it.

I just wish it didn't come with the strangely uncomfortable, sell-your-soul type of vibe that a project funded by publicly owned, for-profit venture usually generates. Especially when PR tries to spin it off as a charitable or humane act. Once you go public, it's about profit and it always will be. And a lot of the time, that's fine. Our country was founded and continues to run on capitalistic principles. Just don't hide behind any false pretenses and you'll have my support 100%.

[1] [http://qz.com/333313/milliions-of-facebook-users-have-no- ide...](http://qz.com/333313/milliions-of-facebook-users-have-no-idea-theyre- using-the-internet/)

<comment><USER3> > _think that Facebook is the full extent of the internet:_

My mother wanted to "get on the internet" because of the Facebook phenomenon a few years ago. Now _she_ thinks Facebook is the full extent of the internet. Googling something or visiting a "homepage" is completely foreign to her. She'll search in the Facebook bar or ask questions in her feed if she's looking for information. Now she has a smartphone, and outside of texting and the odd call, only uses the Facebook app.

Obviously, her aptitude and usage is minimal, but it's an interesting phenomenon to behold.

<comment><USER4> Most likely she just prefers it that way.

Sure, could Google search, but Facebook search is right there plus she likes it.

</comment></comment></comment><comment><USER5> This is not an effort to provide the full internet. See this critique by the EFF for more details: [https://www.eff.org/deeplinks/2015/05/internetorg-not- neutra...](https://www.eff.org/deeplinks/2015/05/internetorg-not-neutral-not- secure-and-not-internet)

<comment><USER6> According to the project lead:

"Maguire told Quartz that the company intends to provide "the full internet," but also noted that it will work with network operators' bandwidth needs and business models."

[http://qz.com/468376/facebooks-internet-beaming-drone-is- rea...](http://qz.com/468376/facebooks-internet-beaming-drone-is-ready-for- testing/)

<comment><USER7> It's a shame. If telcos are in the loop, my hopes for this shrink 99%...

<comment><USER8> Yeah, the telcos that build pretty much the full entirety of the "last-mile" internet as we know it today can not but trusted in the least to be at all involved in any new last mile provisions what so ever.

We (fairly rich, definitely reasonably connected, people) cannot allow the third world to enjoy something as humiliating as _imperfect internet_ (to a standard we barely enjoy ourselves, however immensely beneficial our connections are in spite of this) and we certainly can't allow some of the richest corporations in the world investing in it - after all, the result might not end up _perfect_.

It's much better potential beneficiaries (you know, some of the worlds poorest and most disadvantaged people) for us to complain, dismiss and and wait until someone will roll out a 100% neutral network, unencumbered by any commercial interests.

<comment> eric-hu I think I agree with your view, but the sarcasm in your post threw me for a loop. I'm not sure what point you want me to walk away with.

<comment><USER8> Sorry, bad habit. Take away is that it's a bad idea (in this case arguably even immoral) to let the good solution today get in the way of the perfect solution in the future.

</comment></comment></comment></comment></comment></comment><comment><USER9> Just, no.

This is frightening on many levels. A facebook plane? To get people on facebook, right? To get them on the internet is secondary to Zuckerbergs goals here, lets be honest. A walled garden? Come on. It should be the whole internet or they shouldn't even bother.

A walled garden, with no security protocols, with the intention of getting the entire world on facebook? Not cool.

<comment><USER10> How is the world with no Facebook plane in any way better than the world with a Facebook plane that provides Facebook access? If you don't want Facebook access, or you already have it, the two worlds are indistinguishable.

<comment><USER11> Because internet.org's proxy server gives Facebook monopsonic control over the internet.

Even ignoring the massive man-in-the-middle attack problems from running old phones on a proxy, Facebook is positioning themselves to control exclusive access to large number of users for websites.

You could argue that Google already does this - but Google has competitors that users could switch to in a heartbeat. Internet.org users don't have options, and websites need to pander to Facebook to be in that walled garden. It also makes it easier for third world countries to censor the internet.

In the end, this is damaging to the open internet ecosystem. Facebook could have just implemented a rate-limited or data capped system like other ISPs, but they opted to create a more restrictive system that gives them more power.

<comment><USER10> > Because internet.org's proxy server gives Facebook monopsonic control over > the internet.

You mean control over the internet access they're providing, that otherwise doesn't exist?

<comment><USER11> Are you okay with Comcast doing IP shaping and charging Netflix? If Comcast didn't exist, internet access wouldn't exist for many people.

That's why it's a false dichotomy. Internet.org could very easily be rate and data capped alternatives.

>connect the two thirds of the world that doesn't have internet access. -Internet.org

This would give them monopsonic control over the internet.

<comment><USER12> > If Comcast didn't exist, internet access wouldn't exist for many people.

Sorry that is extremely far from the truth. Any of the other major ISPs' would leap at the chance to guzzle up these customers if there was no other competition.

<comment><USER11> You're splitting hairs. Most of Comcast's last mile infrastructure was government subsidized, exactly because no-one was "jumping on it".

So you're saying that it's okay to ignore net neutrality (charge Netflix) when the government isn't there to help subsidize last-mile infrastructure? When you could just as easily provide a capped alternative?

That's the point and splitting hairs doesn't change it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> This is quite a thing.

Does anyone know how they're achieving the 10gbps data rate? I'm wondering if they're doing something like vortex beam forming... [http://www.gizmag.com/twisted-light-beam-data- transmission-v...](http://www.gizmag.com/twisted-light-beam-data-transmission- vienna/34713/) and [http://www.sciencedirect.com/science/article/pii/S0030401809...](http://www.sciencedirect.com/science/article/pii/S0030401809011043) (Although this article is about using a physical fiber).

<comment><USER14> They're likely not using something too exotic: 10Gbps free space optical links have been available commercially for a few years now (see products by AOptix). The tricky part is pointing them and getting the last bit of power on target. If they're actually forming links at 100's of km separation they're already on par with what APL was doing just 2 or 3 years ago [1]. Impressive that they not only have the data terminal to develop but have had the additional complication of building a new airframe as well.

Having worked on the pointing/tracking/acquisition side of this problem that's the part that's truly impressive to me. Sub-microradian pointing is not trivial. Their "red beam following green beam" shots in the video must be included for a bit of a laugh...

[1] [http://www.ndia.org/Divisions/Divisions/ScienceAndEngineerin...](http://www.ndia.org/Divisions/Divisions/ScienceAndEngineeringTechnology/Documents/Hybrid%20RF%20Network%20and%20Free%20Space%20Optical%20Communications.pdf)

<comment><USER15> Agreed, this is very cool. How do free space optical links work in the rain though? Shouldn't be a problem for the link between aircrafts as they fly above the weather but might be for aircraft-ground link if that's optical.

Hope FB will open source parts of this! I know NASA has been looking at optical links for high bandwidth space communication, this accurate tracking would really help

<comment><USER14> There are a couple effects from rain: absorption ("db per km") and scattering (bigger constant in front of your r^2 term), neither are good for FSO. Fog (and since this is airborne, clouds) is the real killer. Imagine taking your nice .1 degree wide laser beam and pointing it into one of those frosted street lamp bulbs so that it now points in every direction, then add to that the attenuation from being absorbed by the droplets. Now, in FB's case, they're doing something pretty smart to mitigate the water problem. Using RF for the ground-air links avoids most of the problems with scattering and absorbtion depending on droplet size and the band you're transmitting in. Hard to beat the bandwidth of FSO, so that's a great option for above the clouds. 60,000 feet should be above most clouds - anything that tall and you'll be wanting to get out of the way in any case.

The LCRD stuff that NASA is doing is indeed impressive. I think that their pointing problem is a few orders of magnitude harder than what FB is dealing with though - if anything we'll see technology transfer in the other direction.

</comment></comment></comment></comment><comment><USER16> I hate Facebook and what it does to people. There is nothing worse than sitting in a room full of zombies on their mobiles. Despite all the great tech my first thought is how satisfying it would be for one of these to be taken down by a ground to Facebook missile.

</comment><comment><USER17> This video has given me a newfound respect for Facebook.

Many engineers at tech companies like Google, Facebook, Microsoft, etc. report that they feel overqualified for their work. I imagine many yearn for the chance to work on moonshot projects like these - is there any reason why secretive research divisions at these companies are so small, when there is plenty of engineering talent to go around internally?

<comment><USER18> Because more engineers makes for a _worse_ product, particularly if you're doing something very innovative that requires a lot of iteration.

The amount of code you can write grows linearly with number of engineers, but communication costs grow quadratically. Therefore, the speed at which you can execute is inversely proportional to the size of the team, _unless_ you can cut communication costs. Established projects can do this with architectural decisions that prevent one engineer from needing to know about or communicate with other engineers working on unrelated parts of the product. New projects cannot, because the architecture hasn't been established yet. That's why every innovative product grows out of a small team.

</comment></comment><comment><USER19> Why are people on HN actually supporting this? Facebook built a plane to beam its horrible timesink to even more people. Facebook is not a good thing. No company "gives things away" out of the good of their heart. They built a PLANE. Honestly, the only word I can describe this with is: scary.

</comment><comment><USER20> So Facebook is the new AOL/Compuserve in some places. Did AOL die because people prefer the full open Internet, or did AOL die because it was too limited? Either way, history will likely repeat itself. Are people on this thread really worried that as things develop, people won't want to reach outside of the wall garden eventually? I think they will naturally.

<comment><USER21> You're probably right. It'll be interesting to see what sort of protocol tunnelling people create. IOFM - Internet Over Facebook Messenger and such.

</comment></comment><comment><USER22> Planes that fly for 3 months at a time on sunlight, bringing the Internet to people isn't cool?

<comment><USER23> That'd be cool. But bringing limited network access to certain sites, such as Facebook, is less cool.

<comment><USER24> wikipedia is a supoorted website. thats really cool

<comment><USER25> > supported website

Think about how terrible that is.

<comment><USER26> Is it better or worse than simply:

      NO CARRIER

I argue it's better.

<comment><USER22> People aren't even considering that once it becomes a solved problem, the next company that wants to do it gets the knowledge for free. Figuring out the engineering also has value.

Other uses for autonomous solar airplanes? Delivering medicine and supplies to remote areas?

<comment><USER27> > Other uses for autonomous solar airplanes? Delivering medicine and supplies > to remote areas?

Or even, say in five to ten years when the cost of the technology drops, delivering unrestricted, high speed internet to hundreds of millions of people.

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> I believe that as facebook gains the territory, so does Instagram, messenger, WhatsApp, and every other acquired product. So the plan isn't really to just deliver internet service but to buy up the social world in the area without competitors. Since about 1.49 billion of the 1/3 of the internet enabled regions use one of Facebook products even with the competitions, it's evident that this project would triple their impact.

</comment><comment><USER29> Another attempt at producing a machine that can fly for months. The Pluto project[1]:

 _" The nuclear engine could, in principle, operate for months, so a Pluto cruise missile could be left airborne for a prolonged time before being directed to carry out its attack."_

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

</comment><comment><USER30> So the NSA`s 'surveillance' activities can now look like a benevolent mary poppins feel good internet provider? Don't get me wrong, I would have loved to have worked on such a project ... just not for FB ... sorry, not a fan.

</comment><comment><USER31> multiple months on station - dream come true for data acquisition in a lot of civilian and not very civilian applications. Like a platform for that gigapixel/Argus continuously recording everything happening in the city. Almost not existent noise and IR signature, and with carbon fiber construction i'd suppose very low radar cross-section. It can toil for months near China/Russia/etc. airspace listening/watching/etc. Or electronic CAP/AWACS kind of mission during peace time over aircraft carrier group. Sky isn't even the limit :)

</comment><comment><USER32> Lasers are a poor choice for atmospheric communication, unless this kind of infrastructure is specifically designed to be deployed in places like deserts with a clear sky all the year around!

<comment><USER33> At 60,000 feet altitude, the sky is pretty clear all the year round. There is also a lot less air, further reducing distortion and attenuation.

</comment></comment><comment><USER34> I would like to see these used in the US to break the telco monopoly stranglehold.

Of course it's likely the FAA/FCC would make sure not to let that happen.

edit: I mean same tech, but not deployed by Facebook.

<comment><USER35> The US has the density and wealth to do this via landbased towers. So AT&T, Tmobile, Verizon, and Sprint already do it.

This is more about reaching remote, sparsely populated areas.

</comment></comment><comment><USER36> AOL 2.0.

</comment><comment><USER37> May 14th, 2024: __ _In other news, today marks the 11th time in recent months that ISIS terrorists were able to shoot down a Facebook Aquila V.9 autonomous internet drown. Cutting off Facebook and general internet access to millions of Facebook users in the arid region._ __

 __ _Officials from Facebook, the NSA, and the NTSB were unavailable to comment._ __

 __ _This tragedy highlighted on this, Mark Zuckerberg 's 40th birthday._ __</comment>


Master Decryption Key Released for FilesLocker Ransomware - <AUTHOR> https://www.bleepingcomputer.com/news/security/master-decryption-key-released-for-fileslocker-ransomware/ <comment><USER2> It was actually released by the FilesLocker developers ... how magnanimous, releasing the master key before discontinuing support for the project to enable the community to continue development & provide decryption services. A lot of commercial software vendors could learn from them (I'm actually half serious here).</comment>


The transit of Mercury starts at 7:35 am ET tomorrow and will last for 5.5 hours - <AUTHOR> https://www.nytimes.com/interactive/2019/11/08/science/mercury-transits-the-sun.html <comment><AUTHOR> Next one: 2032</comment>


Ask HN: How do you approach a new framework/language? - <AUTHOR> I am currently in the processes of learning NodeJS and it is proving to be confusing at times. I have been strictly a Python developer for quite some time now, but I have to use NodeJS for my current project. I am just wondering how you all deal with approaching a technology that is unfamiliar to you. How do you approach the documentation, and what tips do you use to make your life easier? <comment><USER2> Specifically for Node.js, I found NodeSchool to be an amazing resource: [http://nodeschool.io/](http://nodeschool.io/)

If you want something specifically about functional programming techniques in JS, this is good: [https://leanpub.com/javascript- allonge/read](https://leanpub.com/javascript-allonge/read)

</comment><comment><USER3> How do you approach the documentation, you read it.</comment>


Securing a Node.js Pipeline with Snyk - <AUTHOR> https://codefresh.io/blog/securing-node-js-pipeline-snyk/ <comment><USER2> really cool

</comment><comment> n-ivanov cool

</comment><comment><USER3> like

</comment><comment><USER2> reall cool</comment>


Two simple changes to make Bing better - <AUTHOR> http://jeichlersummers.tumblr.com/post/64721854730/two-simple-changes-to-make-bing-better

<comment><USER2> I was hoping for something with some metrics as to changes that would make bing better. This is nothing but one persons feelings on some simple changes that I personally don't think would make a difference.

I haven't been able to put my finger on it, but when using Bing (and yes I try on occasion), I find the results to be just as good as Google, but for some reason, I don't seem to click as much on Bing links. Bing just feels a bit colder and less welcoming, yet at the same time, it is so similar to Google that I can't figure out why that might be.</comment>


Why Groupon's Andrew Mason Had To Wear A Tie…And Mark Zuckerberg Didn't - <AUTHOR> http://www.pressednews.com/2012/05/11/why-groupons-andrew-mason-had-to-wear-a-tie-and-mark-zuckerberg-didnt/

<comment><USER2> When your stealing a billion from the public (you know the company is going to plummet and you accounting methods r more similar to a drug dealer then GAAP) its best to wear a tie, less suspicious that way</comment>


Ask HN: Resources/talks/outlines for modern PHP practices? - <AUTHOR>

I first started on PHP 5-7 years ago when PHP was still a mess. I've been coming back to it now via the company I work for. I'm looking to learn best practices and whatnot for modern PHP. What are your favorite resources/talks describing design patterns and best practices for modern PHP? I'm looking for anything from GC optimization to overall structure of PHP libraries, etc.<p>Herb Sutter's "Back to Basics: Essentials of Modern C++ Style" is an example of one of my favorite such talks for C++. Hopefully that can steer the discussion. <comment><USER2> Look at Awesome PHP: [https://github.com/ziadoz/awesome- php](https://github.com/ziadoz/awesome-php)

You are now probably going to get to learn about using composer to pull down PHP packages. (similar to node's npm)

Also, look at the PSRs for coding standards: [http://www.php- fig.org/faq/](http://www.php-fig.org/faq/)</comment>


Open Plan Office Sucks - <AUTHOR> https://www.buzzfeednews.com/article/awesomer/your-open-plan-office-sucks <comment><USER2> I'm convinced that if someone could find a suitable replacement for sheetrock walls that is semi-easy to relocate, there would be less of a perceived need for open offices.</comment>


Next level parallax scrolling with CSS variables - <AUTHOR> https://basicscroll.electerious.com <comment><USER2> I think it's just because it's a horizontal animation that's activated by a vertical scroll event, but if I scroll quickly it looks pretty janky (in Chrome 64 on a relatively new iMac).

<comment><AUTHOR> Interesting. I'm not sure if I can do anything to improve the performance further. The frame rate stays by almost 60fps and the amount of repaints on the site has been reduced to a minimum. It runs smooth on my older retina MacBook, but I can also see a subtle janky animation when I scroll fast.</comment></comment>


Hacking Knitting Machines to "Glitch Knit" with Nukeme (2014) - <AUTHOR> http://thecreatorsproject.vice.com/blog/hacking-sewing-machines-to-glitch-knit-with-nukeme <comment><USER2> Knitting machines, even if the vice headline says sewing.</comment>


Senator makes twelve LoveINT case details public [pdf] - <AUTHOR> http://www.grassley.senate.gov/judiciary/upload/NSA-Surveillance-09-11-13-response-from-IG-to-intentional-misuse-of-NSA-authority.pdf

<comment><USER2> Right.

So case 1. Misconduct happened in 2004 when an automated system blocked him from searching for information on his own telehpone number. Only came to light in _2011_ , 7 years later. Either nobody checks these automated blocks or they are not even logged. Retired, DoJ _declined prosecution_ , and the internal review apparently didn't manage to order any disciplinary action within a year.

Case number 2. Retired without disciplinary or legal action, referral to DoJ was merely _discussed_. Again, investigation only began two years later based on self reporting.

Case number 3. The _legal arithmetic_ yields _foreign_ for _foreign national + US citizen_. Any interaction with foreign nationals will render all of that communication fully recordable and accessible by anyone, without apparently any meaningful audits. Another self report.

Case number 4. Only came to light because the victim had both (1) suspicion and (2) access to government officials with the right position in the chain of command.

Case number 5. Misconduct spans _two years_.

Case number 6. Another polygraph self-report.

I don't even want to read any further. There seem to be no audit systems at all in place. The only system in place is the one that, hilariously, self- selects for terrible employees: _the polygraph_. Smokes and mirrors from the 20th century. And this is just the ultra high level view, the tidbits that make it to senators.

</comment><comment><USER3> Life imitates art, the more of this stuff that comes to light, the more "American Dad" appears to be an accurate portrayal of the intelligence community...

</comment><comment><USER4> So as LoNG as you resign after being caught, no harm, no foul.

</comment><comment><USER5> Incident #9 is a little puzzling/surprising to me. It says that the employee performed text queries on various SIGINT systems. In one such case, he claimed to have searched for his own name to see if anyone was talking about him.

So what kind of search and archiving power do the NSA systems have here? All phone conversations translated into searchable text?

<comment><USER6> How long has Google Voice provided free voicemail transcription to anyone who signs up for it?</comment></comment>


xDedic – the shady world of hacked servers for sale - <AUTHOR> https://securelist.com/blog/research/75027/xdedic-the-shady-world-of-hacked-servers-for-sale/ <comment><USER2> I guess this will only grow in volume. Nobody seems to acknowledge the task of an admin, that keeps things updated and secure and that can implemented preventive security measures. It's mostly hire someone as cheap as possible to install xyz on a rented dedicated box and forget about it.

Add some sloppy password policy, lot's of PHP code that is neither sandboxed or updated and you'll have an easy time to own such machines.

And if it's hacked and disabled it just get's reimagined. I guess most don't even notice if you don't do anything that get's on the providers radar.

But honestly even as toying around with Linux for more than 15 years I'd have a hard time to find a rootkit in daily ops that successfully managed to load as kernel module or via ld-preload.

Graphing the load e.g. munin is sometimes useful but that's more like having some post-mortem tools.

<comment><USER3> > It's mostly hire someone as cheap as possible to install xyz on a rented > dedicated box and forget about it.

You can say that again!! I routinely come across job postings such as 'Setup my server for $10 to $30' floating about at various freelance tech marketplaces.

Hell, when starting out as a freelancer a couple of years ago, I took up some jobs like that myself, to - so to say - test the waters. I still take up such jobs, but at (much) higher rates and per my experience, most of the clients do not have the foggiest so far as security is concerned.

</comment></comment><comment><USER4> Scary to think how many more of such hacked servers are out there, I think dedicated server networks like OVH are easy targets, and that's just the tip of the iceberg.

<comment><USER3> > ...and that's just the tip of the iceberg.

You bet. Since OVH servers normally start north of $50-60/mo. (not exactly a very trivial sum), their clients may still be at least somewhat more serious/conscious about security, but talk about the likes of Kimsufi (incidentally, a subsidiary of OVH I believe) where dedi boxes (with low-end configs) are available for < $10/mo.!!!

</comment></comment><comment><USER5> Distribution networks for pirated torrent material... that could make a lot of seed nodes.

<comment><USER6> What's the profit motive? Even at $6 a pop the server expenses have to be recouped.

<comment><USER7> Fictive scenario. One TV channel executive could hurt the finances of a competing TV channel by seeding the competitions shows, and by this gaining power and influence in her own career

<comment><USER8> They should actually seed their own show. Cheap marketing.

<comment><USER9> Certain FOX episodes have shown up on file sharing networks over the past years with trailers for other FOX shows preceding the actual content. You don't think networks are already promoting their tv shows directly to the file sharing demographic?

</comment></comment></comment></comment></comment><comment><USER10> Url changed from [http://arstechnica.com/security/2016/06/meet-xdedic-the- site...](http://arstechnica.com/security/2016/06/meet-xdedic-the-site-selling- access-to-thousands-of-hacked-gov-and-com-servers/), which points to this.</comment>


CoffeeScriptLineMatcher - <AUTHOR> https://github.com/showell/CoffeeScriptLineMatcher

<comment><AUTHOR> CoffeeScriptLineMatcher lets you see CoffeeScript/JavaScript code side by side. It's mostly geared toward debugging, but it also helps you examine the transformations made by the CS transcompiler.

</comment><comment><USER2> Nice to see this, as it seems to address one of the most common concerns about using CoffeeScript. I have to wonder, though, how many minds will it really change? Maybe a lot, but I'm wondering how this will pan out. I'm guessing some people provide line matching for debugging as a concern but will continue to move the goal posts as this and other barriers are removed.

I feel like that's a pattern I see around here, which is odd because if you'd rather just use javascript that seems totally reasonable without an excuse.

<comment><AUTHOR> I agree with you that are some skeptics who will continue to move the goalposts. I also think that the tool itself won't change any minds.

My hope is that it can help early adopters get over the initial debugging barrier, which, despite the hype, is a legitimate concern. The tool can also be an aid for advocates in teaching coffeescript.

</comment></comment><comment><USER3> Great.

Based on that, what would be even more useful still is a way to browse my code from a within the editor itself. Something with say line numbers on some left pane synchronized with the corresponding file section on the right pane.

Some editors already provide a similar feature using line numbers from compilers ; that's usefull to fix syntax errors typically.

<comment><AUTHOR> Yup, there is some support for editor integration, although it's still up to you to actually glue it into your editor of choice. See the issue below for more discussion.

<https://github.com/showell/CoffeeScriptLineMatcher/issues/13>

</comment></comment><comment> mike-cardwell I just tried this out and the web interface it provides is awful. You're better off opening the .js and .coffee files in vi and finding things manually. The page is twice the width of my browser as I'm looking at it now.

<comment><USER4> I think you should fork it and rewrite the CSS for the dashboard. The markup for the code snippets is just <pre> elements. You could set the white-space to 'pre-line' for those elements to take care of the width issue.

<comment> mike-cardwell I just tried setting white-space to "pre-wrap" and it improves the interface greatly. It still needs a lot of work though to make it pleasant to use.

<comment><AUTHOR> The tool obviously works best with a fairly wide browser window, but patches are more than welcome to improve the CSS, which is obviously kind of primitive. For simple stuff, filing an issue would be great--no need for a full-blown pull request.</comment></comment></comment></comment>


Apple Patent Diagrams Send The Wrong Message To Developers - <AUTHOR> http://techcrunch.com/2010/08/05/apple-patent-diagrams-send-the-wrong-message-to-developers/

<comment><USER2> It is always important to not overreact. While it makes perfect sense for apple to develop a travel app, the fact that they also depict GuideYou Amsterdam and Ralph Lauren imply that they are not intending to claim rights over the design.

</comment><comment><USER3> fucking unbelievable. Apparently, small teams of apple lawyers aren't as effective as startups.</comment>


Billboard Porn Causes Traffic Jam Near Kremlin: Hackers Blamed For Naughty Video - <AUTHOR> http://news.sky.com/skynews/Home/World-News/Billboard-Porn-Causes-Moscow-Traffic-Jam-Near-Kremlin-Hackers-Blamed-For-Naughty-Video/Article/201001315525826?lpos=World_News_Second_Home_Page_Article_Teaser_Region_8&lid=ARTICLE_15525826_Billboard_Porn_Causes_Moscow_Traffic_Jam_Near_Kremlin%3A_Hackers_Blamed_For_Naughty_Video <comment><USER2> Previously submitted:

<http://news.ycombinator.com/item?id=1055429> <\- This one has comments.

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

It's possible that the report by Sky has content that the others don't, but I can't check it from here.</comment>


The Myth of Cosmopolitanism (2016) - <AUTHOR> https://www.nytimes.com/2016/07/03/opinion/sunday/the-myth-of-cosmopolitanism.html?_r=0 <comment><AUTHOR> Supplement, a quote from Jean-Jacques Rousseau: "beware of those cosmopolitans who go to great lengths in their books to discover duties they do not deign to fulfill around them. A philosopher loves the Tartars so as to be spared having to love his neighbors."</comment>


Programming Arduino with Scripts in Linux via WiFi - <AUTHOR> http://wrtnode.com/w/?p=696 <comment><USER2> Interesting, but why not libraries in the script languages?</comment>


Windows 10's Defender fails on filenames with two consecutive dots - <AUTHOR> https://www.windowslatest.com/2020/04/16/windows-defender-bug-causes-threat-service-has-stopped/ <comment><USER2> Seems like the kind of thing Microsoft could have detected by fuzzing filenames. There's so many weird filename/filepath quirks on Windows, it seems risky that if they missed this that they are missing some of those too.</comment>