SpaceX just got FCC approval to launch 7,518 satellites - <AUTHOR> https://www.fastcompany.com/90268592/elon-musks-spacex-just-got-fcc-approval-to-launch-7518-satellites <comment><USER2> Too bad the public markets have given Elon such a lashing with Tesla, because I would love to buy into SpaceX.

But then, I'm not the only one;

"There is an unlimited amount of funding that the company could probably access globally in private markets," Hilmer said, adding that he has personally met many of "a diverse group" interested in SpaceX. Everywhere I travel around the world, investors of all types — individuals, family offices, hedge funds, sovereign wealth funds or private equity — want to get into SpaceX," Hilmer said. "It's almost all investors I talk to."

Of course at the same time I'm happy they aren't public. The market couldn't handle the time horizons that SpaceX operates under, nor the mission statement that drives them.

[1] - [https://www.cnbc.com/2018/04/13/equidate- spacex-27-billion-v...](https://www.cnbc.com/2018/04/13/equidate- spacex-27-billion-valuation-shows-unlimited-private-funding-available.html)

<comment><USER3> Anybody who sees a ceo who plans to spend a large chunk of company profits on colonizing mars for the sake of humanity might think to themselves, "I wonder if I can start a similar company, avoid the mars colonization expenses and undercut them on price."

<comment><USER4> You misunderstand just slightly, and through no fault of your own I might add since SpaceX's messaging is deliberately murky here.

SpaceX has no plans right now to colonize Mars. In fact, they keep saying, "Look! We want other companies or nations to step up and plan for how to establish a colony. We're only going to do it if we absolutely have no other choice."

SpaceX is truly establishing a financially viable solar transport system that may eventually extend beyond our solar system. This is analogous to the birth of the U.S. railroad system. We don't know yet what what don't know is possible.

SpaceX is poised to own space transport outright. That's major!

Now what does Mars have to do with this? It's just a helpful organizing goal. People love a good milestone. Something to reach for with meaning. I mean if you've been following SpaceX's 15-year history you'd see that they're nothing if not methodical in their planning and attainment of milestones.

SpaceX is one of the most well-run companies in the world. And right now they have the best prices, the best technology, the best pace, the best outlook, the best...

They have no competition. Literally. I'd invest the entirety of my lifetime earnings in SpaceX if I could. We're witnessing historic achievements in the making.

<comment><USER5> I agree SpaceX is way ahead, but I wouldn't say they have no competition. Blue Origin is making some very interesting moves.

<comment><USER6> Interesting, yes; however in tech, products, partnerships, experience or any other quantifiable measure, Blue Origin is far, far behind SpaceX.

SpaceX has launched many Orbital missions.

Blue Origin has launched none.

SpaceX has two functional, tested, orbital spacecraft in production.

Blue Origin has a sub-orbital pod with goldfishbowl windows that's not quite ready yet.

SpaceX has successfully partnered with NASA for commercial cargo missions to the ISS.

Blue Origin has not.

SpaceX has landed more than a dozen rockets post-flight.

Blue Origin has landed < 10 sub-orbital rockets.

SpaceX has designs for rockets and spacecraft that might plausibly target inter-planetary travel.

Blue Origin has not gotten to orbit yet.

Don't get me wrong; I want Blue Origin to succeed. However, the slope of their progress graph has been much shallower than SpaceXs. I don't see them ever catching or overtaking SpaceX unless something drastically unforseen happens.

<comment><USER7> SpaceX has landed more than a dozen rockets post-flight. - Its 20 (5 failed)

</comment></comment></comment></comment></comment></comment><comment><USER8> The fact that SpaceX can piggyback on its own customers' launches to put these in orbit is a significant advantage over competing communication constellations.

Depending on the cost of their satellites it might make sense to use launching them as a means of testing the upper limits of reusability of their rockets. IE, they might not want to risk a customer payload on a rocket that has made 10 launches. But if they are going to build 7,518 satellites the marginal cost is likely to be rather low so it might be worth it to push the risk threshold to stretch the number of trips per rocket. Also, it could be a good opportunity to clear out their inventory of pre-block 5 Falcon 9s.

<comment><USER9> I would be surprised if they launch many of the satellites on customer launches. They have some very specific orbits, and are planning on dropping the satellites off in orbits much lower than where they will actually be operating. It would probably be more fuel efficient to drop off a bunch of them in the right inclination all at once, then boost them up into spaced out orbits.

<comment><USER10> It's possible that they will use reflown Falcon 9s that have exceeded their reuse capability (~10 launches) to deliver these satellites. You're only paying for the propellant, the oxidizer, the second stage, and your fixed operations cost; the rest of the vehicle has been amortized through paying customer flights.

<comment><USER11> They only reuse the first stage at this point, so still a lot of cost there.

</comment></comment></comment></comment><comment><USER12> This video [0] really puts into perspective what SpaceX is trying to accomplish. Incredible stuff if they pull it off!

[0] [https://www.youtube.com/watch?feature=youtu.be&v=AdKNCBrkZQ4...](https://www.youtube.com/watch?feature=youtu.be&v=AdKNCBrkZQ4&app=desktop)

<comment><USER13> 80msec is not a good outcome considering the cost and complexity of the investment. Aren't there alternative technologies to achieve this connectivity?

<comment><USER12> I think you might be underestimating latencies in the real world.

These [0] are statistics from Verizon showing 90ms RTT for trans-atlantic connections. Trans-pacific is > 100ms. 80ms seems highly competitive for me in this context.

[0] [https://enterprise.verizon.com/terms/latency/](https://enterprise.verizon.com/terms/latency/)

<comment><USER13> there is a video posted in the comments that compares latencies to cables. spacex advertises latencies from 50-80 , but cable is in all cases fasters (rather obvious i think).

</comment></comment></comment></comment><comment><USER14> Curious how this will pan out.

It's a shocking contrast to be in or near a city and have broadband speeds, and then be just a few dozen miles outside one and have... literally nothing.

I just loaned my Iridium phone to a friend who was going to the jungle, and although he was able to make the data connection work, even doing email at 2400 baud(!) proved useless. Inmarsat is faster, but vastly more expensive.

Outside of those two, there is no global solution.

<comment><USER15> Starlink could be a godsent for online gamers. Anything under 100 ms for fps games is quite playable and you don't need much bandwidth for those udp packets. Just guarantee some minimum bandwidth allotment of say 1 mbps and make sure the satellites are not so oversubscribed as to cause unnecessarily long or unoptimized routing. Games between west coast usa and eu or eu and asia would be playable.

<comment><USER16> If you're going to another continent, you're going to see a big latency savings. If your going to another state, you're probably going to get lower latency on fiber. But really, a 60Hz frame is 33.3ms, and many online games advance their world state at 60Hz too, so it's easy to get up to 67 ms of latency just sitting still.

<comment><USER17> A lot of people play with 144hz (what I play on) and some even higher (240hz). Which is just under 7ms and just over 4ms, respectively.

<comment><USER18> He's talking about network frames, not graphics frames.

</comment></comment></comment></comment></comment><comment><USER9> Is there anyone who knows more about radio stuff that can explain why they want to have both Ku and V band for users? It it just a matter of having more spectrum? Or are some bands more suited to crowded areas, like a city where there might be lots of customers sharing bandwidth? Do you need different hardware for using the different frequencies?

<comment><USER19> There are a few possible reasons for using multiple bands. With the higher frequency of the V band you can very high data rates down to the ground. However, higher frequency RF will be very attenuated by rainfall [0]. So the Ku band could be used as a backup to the V band.

The V band (or optical links) will also likely be used for the inter-satellite communication.

You do typically need different hardware for using the different frequencies. With some of the more advanced software defined radios, you could use both of the at the same baseband within the same radio. But you will still need some sort of frequency conversion [1]. You will likely need different antennas for each band as well. And to get an efficient system you also want to add filters for each band.

[0] [http://happy.emu.id.au/lab/rep/rep/9510/txtspace/9510_032.ht...](http://happy.emu.id.au/lab/rep/rep/9510/txtspace/9510_032.htm) [1] [https://en.wikipedia.org/wiki/Low- noise_block_downconverter](https://en.wikipedia.org/wiki/Low- noise_block_downconverter)

<comment><USER20> The higher data rates come from the fact that there is a lot more spectrum available in the v band. From what I remember there is about 4 to 5 gigahertz usable there. Ka-band has about 2-3GHz, and Ku about 1. as you mentioned, attenuation is one of the factors why you wouldn't use v band. Another reason is that it uses quite a bit more power, and the RF electronics are much more expensive and rare.

</comment></comment></comment><comment><USER21> This is such a cool problem.

We already have a ton of Geo sat which can do this kind of communication but they are super expensive and have a limited bandwidth.

These satellites will actually have a ton of limitations in how much data they can send around and how they'll have to balance out their signals. Geo are easier to point to because, well they don't move.

But these are going to be moving and changing all the time so you'll have to connect to multiple satellites every day. I'm spit balling here but they'll probably be overhead for 10 minutes? Think about switching your router every 10 minutes. Or you get a rainy day and your signal clarity goes down. Or you are over the equator in a band that is used strictly for GEO.

This is going to be a super cool problem to solve. And I'm sure I don't even understand the half of it.

Edit: Sorry example of router is pretty bad. It's more like running your phone but you have to specifically aim your antenna at each tower that you're passing while driving. The complexity is moving nature of the network and the targeting nature of the antennas. I have 0 clue if phone signals are targeted but I believe they are radial signals and more like a beacon than a laser.

Load balancing these can be a pain as well because if you get too much signal on an antenna it can actually block all signal.

<comment><USER22> >> Think about switching your router every 10 minutes.

Your cell phone switches towers all the time while you're on the road. My cellphone (republic) switches from WiFi to cellular network mid-call if I'm on it when I leave a building. This is not a new problem.

<comment><USER23> >My cellphone (republic) switches from WiFi to cellular network mid-call if I'm on it when I leave a building. This is not a new problem.

Networking technology switching is unrelated to a call, which always uses cellular.

<comment><USER24> my cellular provider (T-Mobile) uses UMA/GAN to switch between wifi enabled cellular network access and cellular network access proper on the fly

</comment></comment></comment></comment><comment><USER25> Does anyone have any context on what sort of internet speeds satellite internet has been benchmarked to provide. I can't imagine the latency being anywhere near good enough to do many of the high bandwidth things people use the internet for today.

<comment> Tuna-Fish Traditional satellite internet uses satellites in geostationary orbits, or 35,786km high above the equator. This is great because satellites in that orbit are stationary relative to the ground, so you just need a parabolic antenna pointed at a specific point in the sky to get great reception. But it's also terrible for latency because the signal takes 120ms just to get up, and another 120ms to get down. Assuming you live on the equator, directly underneath the satellite. For someone living in the temperate regions, typical real rtts are in the 700ms area.

Starlink and OneWeb are different in that they intend to use a lot of satellites in low orbits to maintain constant coverage. This is technically much harder, not the least because you need thousands of satellites to get reasonably good coverage, but also because the ground station and the satellite transceiver both need to track each other. This was not technically feasible before, but modern AESA antennas can steer their signal without having to move the antenna, and can both transmit and receive multiple simultaneous beams and very rapidly move the beams around when doing time- sharing.

The minimum round-trip time to something very close to you and also close to it's own ground station will be on the order of 10ms. However, where the system really shines is long distance communication. The satellites will pass the signal between each other using lasers, and will get the signal to the other side of the earth much faster than terrestrial fiber, both because laser in vacuum travels substantially faster than one in fibre, and also because the fibres don't get to follow ideal great circle paths.

Independent researches have evaluated the likely latencies of the system, and the results are frankly shocking. For example, today on the existing fiber network, rtt between London and Singapore is ~160ms. On Starlink, the rtt will be ~90ms.

<comment><USER26> > Traditional satellite internet uses satellites in geostationary orbits, or > 35,786km high above the equator. This is great because satellites in that > orbit are stationary relative to the ground, so you just need a parabolic > antenna pointed at a specific point in the sky to get great reception. But > it's also terrible for latency because the signal takes 120ms just to get > up, and another 120ms to get down. Assuming you live on the equator, > directly underneath the satellite. For someone living in the temperate > regions, typical real rtts are in the 700ms area.

This doesn't check out.

The radius of Earth is 6,300km. Assuming a receiver on the north pole, the total distance should only be sqrt((35786 + 6300)^2 + 6300^2) = 42555km, which isn't notably larger than the 36000km at the equator.

I'm sure you're still right about the latency, but it can't be just distance doing it.

<comment><USER19> The latency from the distance light travels does not vary that much. The rest of the ~600 ms latency is caused by the same thing as latency on ground systems (routers, etc.). And the processors on spacecraft are not particularly fast.

<comment><USER27> Who builds routers that go in space? Cisco? That's got to be some crazy hardware.

<comment><USER19> Cisco has built routers for space multiple times before. The first time was way back in 2003: [https://en.wikipedia.org/wiki/CLEO_(router)](https://en.wikipedia.org/wiki/CLEO_\(router\))

</comment></comment></comment></comment></comment></comment><comment><USER28> This scares me a bit. The idea of having LEO internet is great and all, but the idea of quadrupling the number of functioning satellites, all operating in different orbits but at a similar altitude seems incredibly dangerous to me.

The article mentions the movie Gravity, which is a bit unrealistic as it portrays multiple large bodies in orbit all being at about the same altitude (which isn't the case in reality). That is not the case with this web of satellites. If a chain reaction of collisions does occur, it would cause a field of tiny, fast, deadly debris all orbiting on a similar orbital "plane". It would pretty much blanket the planet. Wouldn't this cause a large issue for anything attempting to reach orbit? What am I missing here?

EDIT: A lot of replies here mentioning the fact that LEO spacecraft decay more quickly than higher orbits. Please note that not all LEO orbits are low enough to guarantee a quick decay without powered retrograde thrust. Stuff can hang up there in LEO a long, long time depending on the actual altitude.

<comment><USER29> Think how big the Earth is. How hard it would be to find a Xerox machine in the Amazon or the middle of the Atlantic if someone stuck it there. Space is much, much, bigger.

<comment><USER30> > How hard it would be to find a Xerox machine in the Amazon or the middle of > the Atlantic if someone stuck it there.

Part of the problem, though, is that said Xerox machine is traveling at _17,000 miles per hour_.

We've already had a collision ([https://en.wikipedia.org/wiki/2009_satellite_collision](https://en.wikipedia.org/wiki/2009_satellite_collision)) between two of the ~3-4k satellites in orbit. SpaceX's constellation is planned to be double that number.

That single collision turned two satellites into two _thousand_ high-velocity projectiles, too.

<comment><USER31> > That single collision turned two satellites into two thousand high-velocity > projectiles, too.

Just to add to that point: [https://en.wikipedia.org/wiki/Envisat#Space_safety](https://en.wikipedia.org/wiki/Envisat#Space_safety)

A single 10kg. chunk of debris could result in over 8 tonnes of additional debris, triggering a rather nasty chain reaction.

</comment></comment></comment></comment><comment><USER32> _According to Bloomberg, since there are currently fewer than 2,000 operating satellites, SpaceX's new additions will dominate space._

This number surprised me, much lower than I expected. Looked it up and I'm seeing varying numbers, but generally in the 1k-4k ballpark.

<comment><USER19> This is for operating satellites, but the Air Force currently tracks ~21,000 pieces of debris in orbit (about anything larger than a baseball) around the earth.

</comment></comment><comment><USER33> Do they need more than US approval to launch satellites into international space?

<comment><USER34> This FCC approval is to be able to talk between orbit and the ground in the US. SpaceX needs approval from other countries for the same, in order to offer service there.

Launch approvals are a separate thing.

</comment></comment><comment><USER35> goodbye, great firewall of china...

<comment><USER36> Why. China can just force SpaceX to turn off over China. Unless this is part of a political 'Radio Free Europe' style operation China will control this as much as everything else.

<comment><USER37> _Why. China can just force SpaceX to turn off over China._

How? By shooting down satellites?

<comment><USER36> Regulation. Do you think SpaceX would operate an illigal network in a foreign company? Do you not think China had the pull to tell the US to keep SpaceX in line?

The can ban the sale of terminals. They can scan waves.

<comment><USER38> One of the consequences of the Sputnik launch was that it basically enshrined the principle that overflying another country with an active satellite was not an illegal act. (That is, the US government decided not to protest, because it meant they wouldn't have to apologize for their own future spy satellites.) I doubt China wants to break this precedent.

<comment><USER36> No. There is a difference between flying over and operating communication satilliets.

<comment><USER38> As far as international law is concerned, I doubt it. Sputnik was transmitting the entire time it overflew the US.

<comment><USER36> Its about offering a service in China, not about the technical act of communicating.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER39> This is probably a stupid thing to ask, but: Could this setup be hacked to provide a loose form of GPS?

<comment><USER10> Not stupid. Sort of. The term you're looking for multilateration (edit: i'm twisting the term a bit for my own use here, it's not _exactly_ multilateration but it's not exactly triangulation either). Without looking at the RF specd in the FCC docs or the satellite hardware part list, I'm not sure if you could do it on the receiver, but it would be straightforward for the constellation visible to the receiver to triangulate a receiver's position and provide it over a maintenance channel to the terminal.

<comment><USER22> The answer is probably yes, but it would be a side-effect since data transmission will be the primary purpose. Actually it may turn out to be pre- condition for getting the best throughput - i.e. knowing when and where the sats are and when your transmission window is to within a tight tolerance will be necessary and that's what you need for GPS.

</comment></comment></comment><comment><USER40> Why do they need approval for this? It's not like Space is owned by anyone?

<comment><USER41> Political power comes from the barrel of a gun, and SpaceX is well within many country's sights.

e.g. that's the law.

<comment><USER42> You mean "i.e."

</comment></comment></comment><comment><USER43> i think the price should be around 35 dollars per month

<comment><USER44> $29 (or less) for 1Gbps would probably give American ISP executives night sweats.

<comment><USER45> I live in Bolivia, South America, the impact a global ISP would have cannot be overstated, in developing countries internet prices are still extremely expensive, up until a month ago I was paying around USD 60 for 10Mbps, and that was the best price I could find in my city, the second largest in the country.

<comment><USER46> Yep, same here (Brazil).

I suppose SpaceX plans to start with us-only offerings. I also suppose it will take a while until it reaches developing countries.

Does anyone have a better take on this?

<comment> Tuna-Fish The satellites are not stationary, but go around the earth. This means that to get good coverage in the US, they actually have to provide good coverage everywhere near the same latitudes (on both sides of the equator). Since the satellites in the southern hemisphere will have nothing better to do and have less demand, they are probably going to start rolling out service everywhere they can at the same time.

Most of Brazil is actually a bit out of luck in that it's too near the equator, so satellite density overhead will not be that great anywhere but the very southernmost areas until there are lot of the birds in the sky, so you won't have service immediately. But places like Chile and Argentina will have great access pretty quickly.

However, as a caveat to that the receiving antennas will be expensive at the start and SpaceX still has to negotiate access to spectrum in every country separately, and in poorer countries this will most likely have to be paid for, so that will hike the prices up.

<comment><USER47> Frequencies aren't free, spacex will need to buy the rights for each country separately and that costs serious money. Unless they somehow don't have to do that for whatever reason...

<comment><USER36> Well, I mean if you have network orbiting up there anyway so you can probably make a business case that the frequency is worth it in most cases. But its probably complicated regulatory process in each country.

</comment></comment></comment></comment></comment></comment></comment><comment><USER48> This will probably be the first botnet in space, once some clever kid or nation state figures out how. That's a lot of firepower floating around.</comment>


Developing for Google Glass: My Experience - <AUTHOR> http://glass-apps.org/developing-for-google-glass-my-experience <comment><USER2> A transcript would be interesting.</comment>


Tired of the PRISM Crap on Hacker News - <AUTHOR>

Have you heard enough about PRISM on Hacker news? I created a small bookmarklet to filter out the PRISM and NSA stories.
Just add this as a bookmarklet: https://gist.github.com/khebbie/5896682
Now I understand the importance of this, but now I heard enough and want to hear something about interesting technology :-O <comment><USER2> If you want to stay ignorant, be our guest.

<comment><USER3> That personal attack is uncalled for.

</comment></comment><comment><AUTHOR> By the way you have to click the bookmarklet twice since, JQuery is not loaded the first time. Probably some bright person can fix this?

<comment><USER4> > Now I understand the importance of this

Except that you've referred to it as 'crap'

Apathy and being willfully ignorant won't make this go away.

This script is equal to plugging your ears and yelling "NA NA NA NA I CAN'T HEAR YOU!"

</comment></comment><comment><USER5> I sir, solute you!</comment>


Stack on a Budget – A collection of services with great free tiers - <AUTHOR> https://github.com/255kb/stack-on-a-budget <comment><USER2> Another good resource, on similar lines that I've come across: [https://github.com/ripienaar/free-for- dev/blob/master/README...](https://github.com/ripienaar/free-for- dev/blob/master/README.md)

</comment><comment><USER3> Hi thanks for the feedback, do not hesitate to open issues to request new services and allow me to easily track them ;)

</comment><comment><USER4> Yesterday I was looking for something like Recurly that also has a free tier, I ended up finding a service I hadn't heard of before called ChargeBee (it has a launch tier for up to $50k free). Does anyone have any experience with them or know of any other alternatives with a free tier?

Also, to the author, I would add the github student pack to that list you can get $100 of DigitalOcean credit for free among other things.

[https://education.github.com/pack](https://education.github.com/pack)

<comment><USER5> I've done tons of work with them building out billing platforms for multiple clients. They are fairly good for many use cases and as long as you are keeping within standard use cases, they aren't bad. That said, if you are looking to do really simple subscriptions, Stripe's built-in subscription support is pretty good.

Did you have any specific questions about them?

<comment><USER6> What would you recommend if you aren't within the standard use cases. Are there more flexible services out there, or at some point do you just roll your own?

<comment><USER5> They are fairly flexible with some weird exceptions. What is the scenario here?

</comment></comment></comment></comment><comment><USER7> Having recently had compose.io delete my data on a free tier I suggest NEVER doing this... It might seem to work well enough for smaller sites, but one day, out of the blue, when you least expect it, they will delete your data.

Can I also recommend if you are decomissioning a free tier please switch access to the server off (firewall rules) before deleting the data _and the backups_! You can even charge for the data if people haven't responded to any emails you have sent.

<comment><USER8> Perhaps taking your experience with _compose.io_ and applying it to _all_ fifty-or-so services listed in this page is a bit excessive? Surely, Google Cloud isn't going to turn around and delete your data from its Datastore. It has an SLA, and I'm fairly sure the terms of service do not cover Google deleting your data at will in case you haven't passed the free tier.

<comment><USER9> My trust of cloud for many things has dropped markedly, unless it's some form of private cloud.

Google has a _long_ history of pulling the plug on things. Even successful things. Basecamp went from always going to offer a free tier to $99 a month cheapest (well only) tier. Now add in the countless acquisistions of "We're delighted to announce we got bought. Oh the service that got us there? It's dead. Please bugger off. Thanks for the exciting journey" style.

Granted for a fair number even paying wouldn't save you.

</comment></comment></comment><comment><USER10> Emailing: +sendgrid; Realtime Infrastructure: +ably, +pubnub

</comment><comment><USER11> Kubernetes automation & pipelines

[https://www.distelli.com](https://www.distelli.com)

disclaimer: I'm the founder.

</comment><comment><USER12> I don't see Azure anywhere on this list (in any categories). It's only mentioned in the context of other services.

I use the free tier of multiple Azure services for my tiny side project [1]

[1] [https://jobrudder.com](https://jobrudder.com)

</comment><comment><USER13> Exception notifications :

[https://rollbar.com/](https://rollbar.com/)

<comment><USER14> Does anyone know of a good open-source alternative to rollbar?

<comment><USER15> Have a look at [https://github.com/getsentry/sentry](https://github.com/getsentry/sentry).

</comment></comment></comment><comment><USER16> The AWS Free Tier should list under limitations the fact that the small free/inexpensive instances are severely resource throttled which kicks in at inopportune times.

</comment><comment><USER17> Great resource. Thanks for posting this.

</comment><comment><USER18> Is this only for SaaS free tiers or are completely free/Open source options ok?

<comment><USER3> they are ok too of course :) the idea is to be able to develope/host/deploy... for free!

<comment><USER18> opened a PR!

</comment></comment></comment><comment><USER19> Here's another stack on a budget: roll your own!

Modern web programming reminds me a lot of WWI Europe, just before Franz Ferdinand's assassination

<comment><USER20> I work for a company that does not use any kind of cloud services on the basis that they could be in a situation where there's no money to pay the monthly bill. So we buy servers, equipment, licenses, etc. It's insane. We spend a lot of time implementing open source solutions that are half-baked.

Any cost analysis would clearly show what we do is inneficient but fear trumps it all.

<comment><USER19> We use some nonessential cloud services to fill in a few gaps where I am at, mainly an email gateway and VPS. So in actuality I agree with some of the other comment.

But what I've found, in minimizing our dependencies on the cloud, is that for a small increase in implementation time (which isnt so bad because, again, people actually know what they're doing after some training) we have almost zero problems that we can't immediately go back and fix ourselves. And my shit gets done on time, and under budget.

edit: Also, resiliency is a legitimate business concern/objective. Sucks that you can't blame any problems on cloud providers tho :)</comment></comment></comment>


Tinder-like application for gifs built with Elm - matthieu-b https://github.com/matthieu-beteille/gipher <comment><AUTHOR> You might want to add a demo / features page, that allows you to try the thing out, look at the main features, without having to login with Facebook.

Because I can tell you this now: __No one __in this crowd (tech /geek) will login with Facebook.

<comment><USER2> Exactly my first thought, I immediately bailed at the FaceBook login. Perhaps accounts outside of Facebook?

<comment> matthieu-b I quickly created a signup/login form, you should be able to try now

</comment></comment></comment><comment><USER3> >Gipher has the main features we can find in any modern single page application:

>facebook authentication

What? Authentication with Facebook is a "main feature" of modern single page apps?

I'm not on Facebook and so there are all sorts of things I cant use that require auth with Facebook. This little app does not seem like something that needs Facebook auth to work.

<comment><USER4> Not the creator, but at a guess (from seeing a lot of apps that do this): the app doesn't strictly require Facebook _in particular_ —but requiring a Facebook account is a popular and simple proxy-method of deduplicating your users so that people can't vote multiple times. Basically, it's a very cheap KYC solution, on about the same level as domain-verification for TLS certs.

I've been thinking for a while of creating a service that's _specifically and only_ for this—an OAuth provider that gets your personal details the way Facebook does and enforces one-account-per-person, but then doesn't actually _transmit_ your identiity to the site using it for OAuth. You, as an app developer, get to know each of your accounts represents a unique human, but don't get to know anything else about those humans.

Alternately, the OAuth provider could be set up so that each human can have _multiple_ pseudonymous accounts on your service (picking at OAuth login time which one they want to use), allowing for creation of cheap "throwaway accounts"—while still giving the site the ability to ban an abusive _human_ altogether, without knowing enough to link the accounts together. To the site, it'd simply look like they ban one account (as an OAuth provider API call), and then the other accounts just never sign on again.

<comment><USER5> The best way to prevent rigged voting is not to let the users select what's being voted on out of a large pool. Polling is better!

</comment></comment></comment><comment><USER6> Why the FB login?

I hit Command-w in the second I saw the FB login without any demo or feature section. Good luck with your bounce rate.

<comment> matthieu-b You can re-open a tab now an try it out, I just added a username/password login

</comment></comment><comment><USER7> I don't see any problem with required a Facebook login for this. It's supposed to be a toy "Tinder like" side project, and Tinder requires a Facebook login.

It also only requires access to your public profile information.

</comment><comment><USER8> Great work, would love to try this out but I'm not going to link my Facebook to a random app.

<comment><USER7> Facebook will tell you what the app has access to before you give it permission. I tried it, and it only has access to your public profile information, which is already publicly available anyway.

<comment><USER9> Yea, but before there was nothing easy to tie this app and the public profile. Now there's no choice but to tie the two.

<comment><USER7> What are you attempting to avoid? What's the risk that you're trying to mitigate? Were you planning on signing up with an anonymous email?

<comment><USER9> I wasn't planning on signing up at all—to my knowledge, nothing about this single-page-app requires a session at all.

The risk here is that I don't want the app creator to know my name. It's that simple—I don't know them, I don't trust them, I trust them less now that they ask for completely unnecessary information. Let's say traffic to this site is linked with lower credit scores: it's naturally absurd that the two are causally related, but it's a reality that I have zero control over how my traffic data relates to how companies use it. All I can do is reduce my traffic data from getting into their hands where I can help it.

<comment><USER7> >nothing about this single-page-app requires a session at all.

The app saves you the gifs you like/disliked that requires a session. Now you could say the app doesn't have to save that information, but then I'd say it's a toy app so it doesn't have to do anything. The creator wanted it to save your history, therefore it requires a session.

Let's say it requires a regular email login instead of facebook (in order to support password reset). If you're using an anonymous email that you've been careful never to accidentally associate with your name, then yeah you could keep the app creator from knowing your name.

If like most people you just use your regular email address, it's trivial to get your name with a quick google search.

>Let's say traffic to this site is linked with lower credit scores

If you're really worried about that, then you should probably have an entire fake virtual identity to handle things like this.

<comment><USER9> > then you should probably have an entire fake virtual identity to handle > things like this.

I don't believe facebook allows this. Hence the problem with a facebook-only login.

<comment><USER10> I hope you realize the irony of "protecting your identity" when you link your Github on HN (that has your real name) and which, in turn, links to your resume, portfolio, personal website, and (presumably) private email address.

Stop being a dick.

<comment><USER9> My email address isn't private, and I am OK with these comments being linked to my real identity. But—and this is important—I elected to do that.

It's far more of a dick to force your users to reveal their identity.

EDIT: to be clear, OP is not a dick, but there should be a non-session or non- sso signin option (as there is now) if I want to preserve anonymity for what is essentially a (polished) toy.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> "Login with Facebook"

No thanks.

</comment><comment><USER12> #1 huge fan of Elm -- was this build with start-app??

#2 i used the app and noticed you can collect data to build discriminant classifier. Even simpler - a Naive Bayes classifier since outcome is binary - Like / Dislike

#3 (continuation of #2) how many users do you have? to estimate data

<comment><USER13> No clue about elm - could you please share why it is good?

Wow, there are so many JS libraries today - even just making a list is a big task in itself :(

<comment> a-saleh Well, good is a subjective term, but this demo of its debugger [1] certainly peaked my interest :) I even has live examples with hot-swapable code (that is opensource if you'd like touse it.)

But it is not a library. So if you would want a list of pros/cons you'd need to compare it to other compile-to-js languages.

Its purpose seems to be creating reactive web-based UI. Basic building block is converting event-stream of user input into an event-stream of html, simplest example probably were [2]

Ok, it might be web-gl as well :) And it is type-checked if that is your jam, but has decent type inference if you don't like writing types explicitly.

[1] [http://elm-lang.org/blog/time-travel-made-easy](http://elm- lang.org/blog/time-travel-made-easy) [2] [http://elm-lang.org/examples/mouse- position](http://elm-lang.org/examples/mouse-position)

</comment></comment></comment><comment><USER14> Sounds like a fun little side project, would appreciate a screenshot (or a gif of how it works) in your readme

</comment><comment><USER15> You should allow people to delete their profile.

</comment><comment><USER16> [http://itsthisforthat.com/](http://itsthisforthat.com/)

It's like tinder for gifs

</comment><comment><USER17> wow, literally every comment is about facebook login

seriously guys come on

I really like this! It seems your "mobile first" design is "mobile only", you might want to make gifs show up as their actual size on bigger screens, the square chops them off at the sides sometimes

Are you going to use the likes to show me personalised gifs?

<comment><USER18> I would love to give feedback but I can't even try the application, maybe that's why the comment section here is filled with comments related to Facebook... I'm not the only one who wants to try it out.

<comment><USER7> Apparently the guy didn't want to go through the hassle of implementing a login system and the dependencies that involves (ability to send password reset emails mainly).

If I were you, I'd make a fake facebook profile just for situations like this.

</comment></comment></comment><comment> matthieu-b Thanks for the feedbacks, just added a login with username/password

</comment><comment><USER19> Interface would probably be nice for a Reddit client.

</comment><comment><USER20> looks good! huge fan of elm. might want to fix the flickering in the gifs though. they appear to load twice.

<comment> matthieu-b Thanks! Indeed there are a lot of things to fix/improve! It was only supposed to be a simple project to build something with elm, but it looks like people actually like it. I'll try to fix all these things really soon!

</comment></comment><comment><USER21> page is empty (Iceweasel, Linux)

<comment><USER22> Page is also empty for me, vanilla Firefox on Linux

</comment></comment><comment><USER23> so...imgur?</comment>


Forthcoming OpenSSL releases - <AUTHOR> https://mta.openssl.org/pipermail/openssl-announce/2016-September/000076.html <comment><USER2> I'm happy (odd response to security issues, but normal these days) to see there are no critical issues this time.

Are there any leaked information?</comment>


Zamfoo Critical Security Vulnerabilities - <AUTHOR> http://www.webhostingtalk.com/showthread.php?t=1275572

<comment><USER2> "not only that. there is an emergency kill switch. if you release the patch i will pull the switch and no one can use the software. your exploit will not work if i do that. the plugin will become useless until i turn it back on.

kevin"

I am really scared by some kinds of people who develop forum and e-commerce software.

<comment><USER3> He said he actually did it, too, later in the thread. He also claimed to have fixed it, then Patrick came back and said he re-broke it in five minutes. The whole thing is hilarious, if you can discount all the customers getting hosed.

</comment></comment><comment><USER4> Its amazing in this day and age that people don't get how bad these things are to leave open.

</comment><comment><USER5> So how many customers did Zamfoo have? It looks like it's being managed by one person, who apparently doesn't have a great software dev environment...which means maintaining and improving the codebase on his own must have been a Herculean feat. Have to give him props for making it this far...

<comment><USER3> No you don't. Any idiot can slog through mud. Why didn't he fix his dev environment?</comment></comment>


The Greatest Computer Network You've Never Heard of (PLATO) - <AUTHOR> https://motherboard.vice.com/en_us/article/pa3vvg/the-greatest-computer-network-youve-never-heard-of <comment><USER2> I'm the author of this book. Ask me anything.

<comment><AUTHOR> Where would I need to buy it for you to get the biggest return?

<comment><USER2> From me directly :-)

Nah, buy it wherever you want. It's all good. Hope you enjoy it.</comment></comment></comment>


Show HN: hnCommentWatcher (is this useful?) - <AUTHOR> http://christopherdebeer.github.com/hnCommentWatcher/?v=2 <comment><USER2> I'll try this later, but looks like a life saver. I also find myself sometimes screening through a post's comments to see which ones are new. Thanks for sharing this :)

<comment><AUTHOR> no problem, let me know if there's anything I can improve

</comment></comment><comment><USER3> Is there an option to turn it on by default for every comment thread?

You could build this into something resembling the Reddit Enhancement Suite for Chrome...

<comment><AUTHOR> you could use grease monkey to do that, or i could figure out how to make chrome/firefox extentions</comment></comment>


Who says you can't give prices for expensive, variable-priced services? - <AUTHOR> http://www.nngroup.com/services/inspection.html

<comment><USER2> Yeah. I learned this by experimentation, though for less expensive services. I'm relatively expensive as independent GMAT tutors go, and for a while I thought I'd get more interest if I encouraged visitors to email me for rates.

Unsurprisingly, I ended up answering a lot of questions and having a lot of people disappear after they found out my rates. Now: the rates are public, I have at least as many clients as before, and I think the public nature of my rates make people less likely to haggle/complain/seek discounts/etc.

<comment><USER3> Will you link your site?

<comment><USER2> Sure.

Site is <http://www.gmathacks.com>

Relevant page is: [http://www.gmathacks.com/main/new-york-city-gmat- tutoring.ht...](http://www.gmathacks.com/main/new-york-city-gmat- tutoring.html)

</comment></comment></comment><comment><USER4> Wow. They are very upfront, and might have a niche they cater to that needs to see prices immediately. I can't hate at all. I may do the same with my services. It will stop the low budget projects and answer a lot of questions upfront.

<comment><USER5> Remember that Nielsen is the guy that says all websites should be up-front about their prices, and has done research to confirm that that's what customers really want. It makes sense that he would use his own research to better his own company.

<http://www.useit.com/alertbox/9605.html>

</comment></comment><comment><USER6> And that's one of their cheaper services.

<http://www.nngroup.com/services/platformguidelines.html></comment>


How My 10-Year-Old Learned JavaScript - <AUTHOR> https://hackernoon.com/how-my-10-year-old-learned-javascript-d8782b586db7#.gpjilzh62 <comment><USER2> This reads like the author really wants his kid to learn programming, and the article shows more interest from the parent than from the child.

That's obviously anecdotical but I'm very glad nobody steered me into programming. It was my private garden, and I enjoyed every single second of the freedom it gave me. Writing my Delphi programs was funnier to me than programming books.

I think my point here is that I'm not sure it is in the best interest of children to push them into our passions. Then again I'm not a parent, so my opinion doesn't hold much weight!

<comment><USER3> Author here. Thanks for the feedback.

My son's experience has generally been self-driven via Scratch. I introduced him to Scratch at around age 7 through CoderDojo and he really enjoyed it (I'm a big fan of Scratch for kids--it's the perfect balance of art, creativity and logic with programming concepts mixed in.

I introduced Python, then Javascript, after he asked me about what I do (I was excited that he actually asked, so I ordered the book). I'm more of a web designer/developer, not a software engineer, so I showed him to the tools I know (trying to keep things at his level) and set him on his way. The thought of being able to write his own video game keeps him motivated. He plays with the examples on phaser.io/examples and sees it as something he might be able to do after working through the lessons.

My biggest concern is pushing him into something that he doesn't want for himself. It should never feel like work. He likes the CodeSchool videos, jingles and exercises, so he does it. He got tired of the books, so he stopped. There are many long gaps, diversions and pivots, which is totally fine. If he just wants to play outside, build with Legos, read, watch a movie or do nothing, I don't bother him. Programming is not his job, it's just a skill that I think will be useful for him and is something I can actually help him with.

Side Note: I originally had a section in the post about how in the past it was more common to pass knowledge and skills down to your children in the form of trades (farming, sewing, blacksmithing, etc.) and is "computer programming" something worthy of passing down. I thought it digressed a bit too much, so I removed it.

<comment><USER4> Don't overthink it. Just introduce him to something basic. Hell, why not even BASIC hehe ;) I remember when I was 9, my father enrolled me into some "bootcamp", I don't know what it was called back then, but it was some comp programing class for kids, about 3 hours a day for 2 weeks. I remember a teacher, she would just write little BASIC programs on the blackboard and we would just copy them into QBASIC. I remember that I understood very little and the other kids weren't interested much too, we were just eagerly waiting for recess, so we could play Prince of Persia 1 for 15 minutes.At the end of this BASIC "bootcamp", I didn't even touch programing again, I just went home and continued with my mastery of pp and prehistoric 1 & 2 games. But it looks like it planted a seed in my head, because in high school i started wondering what we did 5 years ago in those classes and I somehow found a book on basic and now here I am, writing GOTO statements for profit ;) Just kidding on that last part :) The moral of the story is - Kids can also develop interest much later from the time of exposure to new things.

<comment><USER5> This guy installed QBasic through DOSBOX and used it to successfully get his son into programming:

[http://www.nicolasbize.com/blog/30-years-later-qbasic-is- sti...](http://www.nicolasbize.com/blog/30-years-later-qbasic-is-still-the- best/)

Hacker News discussion:

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

<comment><USER4> awesome guy ! thanks for posting.

</comment></comment></comment></comment></comment><comment><USER6> What do you think about teaching JavaScript as the first programming language rather than Python? I know that some think JavaScript is a better choice [1], because it's so much easier to produce a real application as opposed to a command-line toy. But the opposing argument would be that JS has so many flaws, or more charitably, it's such a quirky language. Also, any opinions about Khan Academy's platform and lessons for learning to program with JavaScript [2]?

I'm not a parent, but my friend's 10-year-old son has asked me to teach him to program.

[1]: [http://prog21.dadgum.com/203.html](http://prog21.dadgum.com/203.html)

[2]: [https://www.khanacademy.org/computing/computer- programming](https://www.khanacademy.org/computing/computer-programming)

<comment><USER7> As a former teacher, who ran a programming club at a middle school and taught an advanced 8th-grade math class included programming, I have some perspective on this. I would say, be wary of "fundamentals" and "doing things the right way." Teaching a 10 yo something optional needs to be fun, or else it won't happen.

The author of this article nails it: there's nothing quite as motivating as adding "Poop" to the title of a real web page. Also, you can Inspect Element and get what is effectively an IDE. Is JavaScript the best language? No, it's inconsistent and confusing. But, so is English, and a lot of people learn English first - because it is practical to do so.

Another option that can be useful are Google Sheets. If they are a certain type of kid, they might like logging all of their toys in a spreadsheet and finding the total of the toys and making charts. Of course, most kids will find this boring... but you can also use Google Scripts to do something like scrape a subreddit and store it in Drive [1], which could be fun.

However, why not start with Scratch, or Snap! [2]? They are powerful enough (especially Snap!, I think you can define new data types in it...) and so much less intimidating.

[1] [http://ctrlq.org/code/19600-reddit-scraper- script](http://ctrlq.org/code/19600-reddit-scraper-script) [2] [http://snap.berkeley.edu/](http://snap.berkeley.edu/)

<comment><USER6> > Teaching a 10 yo something optional needs to be fun, or else it won't > happen.

That matches my intuition. But the word "fun" brought back to my mind this epigram by Alan Perlis:

> It goes against the grain of modern education to teach children to program. > What fun is there in making plans, acquiring discipline in organizing > thoughts, devoting attention to detail and learning to be self-critical?

Unless I have completely misunderstood this epigram, I think the point is that programming, when done well, is not fun; it's work. So maybe if we try to make programming fun so we can teach it to a child, we're setting bad expectations for what it will be like if they pursue it seriously.

So I guess that means that when teaching programming to someone of any age, we do need to focus on fundamentals and the things that Perlis mentions in that epigram. Then, if a 10-year-old kid loses interest, we should just let it go.

Makes me wonder if I and other self-taught programmers of my generation (I was born in 1980) built our careers on a bad foundation. I started learning to program in BASIC on my family's home computer when I was 8 years old, because when just dabbling in BASIC, it was fun. Even tinkering with assembly language was fun. But the important thing to note is that as far as I can recall, I produced only one truly worthwhile program as a pre-teen, and that was one that a relative asked me to write. And that was a serious project, not a diversion (AFAIK, the latter is the definition of fun, as is apparent from some languages like Spanish).

As for Perlis's jab at "modern education", I suppose the take-away is that we need to teach kids early that life isn't fun, rather than trying to make everything fun for them.

</comment></comment></comment><comment><USER8> I honestly didn't recognize his description of closures. It sounded like memoization. Closures are probably best understood without metaphors like that, scoping in JavaScript might be weird but it is consistent everywhere- only functions have scope, and they carry that scope for their entire life. I think just thinking of everything in the language as a collection of scopes really clicked it for me.

The real trip up with javascript I often see even in professionals is asynchronicitiy, since JavaScript has a run loop.

</comment><comment><USER9> Feel like that title needs a tweak..

Learned JavaScript ? Or learned about JavaScript. Maybe "how I kept my kid interested in programming", "short attention span vs programming", "getting your child into programming". There's a pretty good click bate video on YouTube that says "15 year old dreams in code" and it was something along the lines of he made game where the ball moves to the left and right with your keyboard and score increments...basically the tutorial for his framework. I think the problem is the school system not pushing some of these basic introductions into a few classes. There was a time unix commands were day to day office needs for almost every employee at certain places...and then _poof_ the GUI killed it.

</comment><comment><USER10> I wonder if closures are easier to understand in languages with clearer (or tighter) scoping rules. I notice that the author doesn't have an analogy for scope on his article

<comment><USER10> Ok let me take a stab at it.

Variables are imagined as containers. Those variables/containers exist within a scope. Let's take an example where a room is the scope. That room is in an apartment, which is in turn in an apartment building, in a city and so on. Code whose scope is that room can access containers in that room, or in the open areas of the apartment (but not in other rooms without special arrangements being made), or in open areas of the building (but not in other apartments …) etc.

So code in my room can look inside a container in the hall, but not in a container in your room. And vice-versa.

A closure allows this special arrangement to look in another room. I can create a closure in my room. This is code that can access the containers in my room, but it has the special property that it acts like it is in my room even when it isn't. So I can give you this closure and you can run it in your room. When it's running in your room it can't access your containers (except as arguments) but it can still access the containers in my room.

My daughter is two. I'm looking forward to taking this journey with her

</comment></comment><comment><USER11> > He just lost motivation. I guess command line output only motivates a kid so > much these days.

That's why we made text based games and an tkinter based RPG game at a coding bootcamp where I do mentoring.

<comment><USER12> An anecdote about motivation: when I was in grade school, I made custom maps and scenarios for Starcraft (the original), with if-then-else conditionals, and the like.

The official editor had a wizard where you would enter these, but it was extremely tedious to use, requiring lots of mouse clicks. Alternate editors were starting to come out that would let you enter these events as a script, so I turned to scripting instead.

After a while, hand-writing the script was becoming a chore, so I wrote a code generator. I realized that the browser had a script interpreter and I could just use checkboxes and form inputs and lots of Javascript to manipulate a bunch of 'document.write()' statements to produce copy-pastable code.

I had no interest in _programming_ , and yet I using programming as a tool without realizing it.

</comment></comment><comment><USER13> Cool write-up. Programming is a great thing to learn as a kid.

</comment><comment> nv-vn That description of closures is really odd to me and I know for a fact that it would not have worked on me as a child. After spending some time teaching programming to middle schoolers/high school freshmen, I think they're really something that comes more naturally than that. The way scoping works for closures is almost instinctual in my experience, but the anonymous part is much harder to understand. Trying to write functions inside of functions is also fairly natural (although you might have to nudge the kids into that style of thinking), so you can teach closures with the use of named inner functions. I still haven't found a great way to teach lambdas that really sticks without them writing some code first and seeing how they can fit lambdas into there...

</comment><comment><USER14> Let's not forget that it was not rare that kids learned Assembly in the 1980s.

<comment><USER15> ...6502 instruction set and things like undocumented Z80 instructions can be fully memorised as a child, even if some concepts, e.g. a stack, strange maths, comes later. If only I could remember syntax so well now.

<comment><USER16> Z80 assembly was the first 'real' language I learned as a kid (I did some basic GWBASIC but never got far with it). I wasn't very good at it, but I did write some programs that did what they were supposed to do.

</comment></comment></comment><comment><USER17> Like a few people in this thread, I didn't really buy the closure analogies. I think if that were my first exposure to it, I'd end up with some pretty wrong ideas about how they work. Specifically, it's _not_ a snapshot.

I was bothered enough that I went and quickly wrote an explanation of closures in five steps. The language probably needs tightened up a bunch, but I'm curious if it's useful?

[https://jsfiddle.net/hghgp6x2/](https://jsfiddle.net/hghgp6x2/)

</comment><comment><USER18> Thanks for the interesting article! Are there any recommendations for non- English speakers? I'd be especially interested in German materials. I'd love to teach my eight year old daughter about computers and programming, but there are close to none books and resources available if the kid doesn't speak/read English yet.

</comment><comment><USER19> Programming is so easy anyone mildly interested can learn it. Specially a kid. The key point is the interest. Kids will never be interested if they never hear about programming, but you can also not force interest on them.

</comment><comment><USER20> Should have started him with Haskell so he would learned monads and functors right from the start with no mutable object baggage to trip him up. Maybe a few weeks of child level category theory first.

<comment><USER21> Any references for "child-level category theory"? I suspect that would be helpful for many non-children as well.

<comment><USER22> How about this: [https://www.amazon.com/Conceptual-Mathematics-First- Introduc...](https://www.amazon.com/Conceptual-Mathematics-First-Introduction- Categories/dp/052171916X/)

</comment></comment></comment><comment><USER23> Congrats on sharing with your son! I would be interested to learn how he responds to [https://groklearning.com/](https://groklearning.com/)

<comment><USER3> That looks very interesting, especially the competition aspect. He might have to brush up on his Python a bit. He also enjoys CodeCombat, which I forgot to mention in the post.

</comment></comment><comment><USER24> Loved this article. I especially liked the 'Explaining programming concepts to kids' section.

Please keep us posted about what your kid is building next.

</comment><comment><USER25> _Realm of Racket_ would likely have been a really good alternative.

Maybe _NAND to Tetris_.

</comment><comment><USER26> Kids should be outside playing and interacting with other kids, not coding.

<comment><USER27> Why not both ?

<comment><USER28> because coding can be unhealthily addictive.

<comment><USER29> Yeah, it might also lead to something called a "career".

<comment><USER28> like that's what you're supposed to be worried about at age 10. Ridiculous.

<comment><USER30> And some people just find it fun?

I remember making starcraft custom maps, using "programming", back when I was 10. I didn't care what programming was. I just wanted to do fun stuff with Starcraft!

</comment></comment></comment></comment></comment></comment><comment><USER31> The closure description sounded more like memoization.

</comment><comment><USER32> There is no learning JavaScript. There is only the ability to use StackOverflow and Google Search. ;)

<comment><USER19> What programming language do you think is different from that?

<comment><USER32> Everything. Including Brainfuck. JavaScript is a f __king mess.

<comment><USER19> Are you serious? All imperative languages are the same. There are many different features, but in essence they're exactly equal.

I could argue that is much easier to write something functional in Go than it is to do the same in Javascript, because the compiler conducts you since the beginning and you can actually get around with Stack Overflow and Google.

Javascript requires a lot more experience, because it can fail in so many ways, it has callbacks everywhere etc.</comment></comment></comment></comment>


Localtunnel: Quickly expose your local web server to the Internet  - <AUTHOR> https://github.com/progrium/localtunnel/

<comment><USER2> I inadvertently hit someone else's server when refreshing XXXX.localtunnel.com that I had left open in my browser (but since closed my tunnel). That was annoying.

Two suggestions:

1) Randomly assign subdomain names instead of reusing existing ones.

2) Increase the length of the subdomain from 4 characters to 6 characters. With 4 characters, each being a-z0-9, there are 36^4 subdomain possibilities. 36^6 would make it much more difficult to locate an active subdomain through trial and error.

36^4 = 1,679,616

36^5 = 60,466,176

36^6 = 2,176,782,336

<comment><USER3> yes! there is a ticket for this in github

</comment></comment><comment><USER4> I've used localtunnel quite a bit for quickly sharing a local dev server with a coworker and other things of that nature, but I noticed that after leaving a tunnel open for a while I would see requests from unfamiliar IP addresses.

It turns out this is because localtunnel reuses tunnel ids. Given how small the id space is, it's also possible that there are people who scan localtunnel URLs looking for interesting servers.

Keep this in mind before using localtunnel for anything you don't want the world to see.

<comment><USER5> I just started using localtunnel and this seems a bit worrying.

It seems that a change to line 40 in server.py ([https://github.com/progrium/localtunnel/blob/d5eca8bab37f324...](https://github.com/progrium/localtunnel/blob/d5eca8bab37f324221fee5ae7eb3dbdd947d7dc4/server.py)) could lengthen the subdomain.

</comment></comment><comment><USER6> An alternative way i've used to test Twilio till now is get a DynDNS account and point it to my home laptop. Infact my home router has a DynDNS option to fill in my username/password, so it can query the latest external domain assigned to it. This is useful if you're on a DHCP and don't have a static IP.

You get a domain like blah.ath.cx that you can use.

</comment><comment><USER7> Nice work, but doesn't this do exactly the same thing as <https://showoff.io/> does? And they linked it here a month or so ago I think. [1]

[1] <http://news.ycombinator.com/item?id=2467107>

<comment><USER8> Not exactly. This has a crucial feature where money stays in your wallet past 5 minutes of use.

<comment><USER7> That is a quite nice feature yes.. and I like open source more! :-)

My mistake.

</comment></comment></comment><comment><USER9> Nice. But isn't it time to just get yourself an IPv6 tunnel, and then be able to share anything that runs over the Internet instead of just one port? Then you can use the normal IP routing and access control machinery instead of having to roll your own.

<comment><USER10> the problem is mostly getting the other people to use ipv6, even when I have a ipv6 setup

<comment><USER9> The reason people don't bother with IPv6 is because it doesn't get them anything. But if you use IPv6 and share an IPv6-only-URL, then they'll finally have a reason to turn it on.

Repeat this a few times, and NAT dies forever!

</comment></comment></comment><comment><USER11> I was at the San Diego Ruby meetup group two weeks ago where one of the Twilio developers was on hand doing some demo work with the API. He was using this to tunnel the API / http calls through the firewall back to his local machine. Very impressive.

</comment><comment><USER12> Wow! That's amazing! It actually works.

Major Kudos to Twilio! Thank you. I'll be using this quiet often.

<comment><USER13> Twilio?

<comment><USER2> [http://www.twilio.com/engineering/2011/06/06/making-a- local-...](http://www.twilio.com/engineering/2011/06/06/making-a-local-web- server-public-with-localtunnel/)

</comment></comment></comment><comment><USER14> Anyone building this in python?

<comment><USER15> <http://pagekite.net/> is a FOSS Python implementation of a similar concept.

It doesn't rely on SSH, supports SSL and CNAMEs and works quite well on Windows as well as Linux/OSX. You can sign up for service or run your own.

I am the author. :-)

</comment></comment><comment><USER16> What are the bandwidth limits on this service?

</comment><comment><USER17> could this be used for minecraft servers?

<comment><USER15> If minecraft clients can be configured to use HTTP proxies, you should be able to expose a minecraft server using PageKite; PageKite can handle arbitrary TCP streams, as long as the client knows how to initialize the connection with an HTTP CONNECT.

On the PageKite side, you'd register your minecraft server as a 'raw' backend. On the minecraft client, googling suggests this might be what you need: [http://www.reddit.com/r/Minecraft/comments/fr2z9/how_to_get_...](http://www.reddit.com/r/Minecraft/comments/fr2z9/how_to_get_minecraft_working_with_http_proxy_in_13/) \- you would tell it that the PageKite front-end is an HTTP proxy.</comment></comment>


Inside a Met Director's Exit - <AUTHOR> http://www.vanityfair.com/news/2017/03/thomas-campbell-met-director-exit <comment><USER2> > the new, two-word scarlet logo, created by branding firm Wolff Olins—"The > Met"—resembled a "red double-decker bus that has stopped short, shoving the > passengers into each other's backs,"

Hah. The old logo wasn't great, sure, but the new one is both forgettable and ugly.</comment>


Indian Government's Contact Tracing App Has Serious Security Vulnerabilities - <AUTHOR> https://medium.com/@fs0c131y/aarogya-setu-the-story-of-a-failure-3a190a18e34 <comment><USER2> From the article:

 _I can know if my neighboor is sick for example. Sounds like a privacy issue for me…_

Isn't that the purpose of the app?

<comment><USER3> Yes, and actually the comments on that article are pointing that out</comment></comment>


But what is a partial differential equation? [video] - <AUTHOR> https://youtube.com/watch?v=ly4S0oi3Yz8 <comment><USER2> Or as I used to call them, Particularly Difficult Equations.

You see, the trick to a PDE is to use the LOFL transform. The LOFL transform (Leap Of Fuggin Logic) moves your PDE into easy space. Easy space has the important property that all problems are trivial and or linear. Once you've solved you're PDE in easy space you just apply the inverse LOFL and you're done.

How do you take a LOFL transform you ask? That's left as an exercise for the reader.

<comment><USER3> Better yet - I'll show you how to perform the LOFL. I'll show you with the most trivial example possible. It will have no applicability to any other problem you encounter and may in fact be the only problem solveable by the LOFL.

<comment><USER4> Integral transformations are the "rest of the fucking owl"[1] of the STEM world.

[1] - [https://i.kym- cdn.com/photos/images/original/000/572/078/d6d...](https://i.kym- cdn.com/photos/images/original/000/572/078/d6d.jpg)

</comment></comment></comment><comment><USER5> Wish I had access to 3B1B when I was just starting to learn this stuff. His expository style and graphics are such great sources of intuition.

</comment><comment><USER6> But, a differetial equation is not an equation, right? It's a definition. Its solution is an equation. Do I understand this correctly?

<comment><USER7> No, it's an equation. Equation is a statement that says that thing A is equal with thing B. The point is that thing A and thing B are often quite dissimilar in form. But since they are the same thing, and because math is deterministic, if you manipulate the both sides the same way (For example, multiply both sides with the same amount), it stays equal. (Plus sometimes you are allowed to manipulate them in different ways, because the axiomatic system you're in says that's allowed for some cases. Example: you are allowed to rewrite (AB)C as A(BC) if you know that the object you are manipulating is associative.) "Solving" an equation means manipulating it in a way that the other side becomes trivial in form. You maybe can't do that for many differential equations, but that doesn't make them less of equations.

<comment><USER6> > Equation is a statement that says that thing A is equal with thing B.

But this describes an equality. I imagine an equation to be a proportionality written with standard units. Aren't they different? I mean an equality, an identity, a definition and an equation are different, even though most of the time they are indicated with the equality sign.

<comment><USER8> I believe identities and definitions have different symbols by convention, either the equal-delta sign (definition [0]), or the triple-line equals sign (identity [1]).

[0] [https://hsm.stackexchange.com/questions/5166/who-first- defin...](https://hsm.stackexchange.com/questions/5166/who-first-defined-the- equal-delta-or-delta-over-equal-triangleq-symbol)

[1] [https://www.quora.com/What-does-a-triple-equals-sign- mean](https://www.quora.com/What-does-a-triple-equals-sign-mean)

</comment></comment></comment></comment><comment><USER9> Well I guess they would be equations that are partially differentiated from other equations?</comment>


Foxconn Offers $5.3B to Take Over Sharp - <AUTHOR> http://www.wsj.com/articles/taiwans-foxconn-offers-5-3-billion-to-take-over-sharp-1453348809 <comment><USER2> Foxconn will be most likely walled out of this deal, like the average user gets walled by the wsj... Also news is a few days old already. INCJ already bidding for Toshiba white goods, which they want to fuse with Sharp's white goods division.

</comment><comment><USER3> I am extremely skeptics about keeping the same management in Sharp...

</comment><comment><USER4> Url changed from [http://www.cio.com/article/3024927/foxconn-said-to-bid- over-...](http://www.cio.com/article/3024927/foxconn-said-to-bid-over-5b-for- sharp.html), which derives from this.

<comment><USER5> Thanks for the reference to the original article. The article at WSJ is walled so there isn't much to see there.

<comment><USER6> Click the "web" link under the title and it'll show you a way to bypass the paywall.

<comment><USER7> thank you!

</comment></comment></comment></comment><comment><USER8> Given this [https://en.wikipedia.org/wiki/Foxconn#Working_conditions](https://en.wikipedia.org/wiki/Foxconn#Working_conditions) I'm disappointed they're in a position to take over anything.

<comment><USER9> Not to endorse poor working conditions, but articles such as [http://www.slate.com/articles/business/the_dismal_science/19...](http://www.slate.com/articles/business/the_dismal_science/1997/03/in_praise_of_cheap_labor.html) provoke an interesting line of thought.</comment></comment>


Spry: Obnoxiously Easy iOS Development With RubyMotion - <AUTHOR> https://github.com/mattgreen/spry

<comment><USER2> You might want to rename this so people don't confuse it for Adobe's JavaScript library (<http://labs.adobe.com/technologies/spry/home.html>)

<comment><USER3> This is a good point. It's a shame, I liked the name.

</comment></comment><comment><USER4> Hmm, the code translates to Objective-c almost one-to-one. I don't think it shows the potential of RubyMotion.

The thing is, when you create a table view in iOS apps, most of the work is for design and interaction like swiping to show a set of controls.

<comment><USER5> That's not _necessarily_ a bad thing: if you're like me (seasoned Objective-C developer, and only the briefest exposure to Ruby) it's quite informative.

A lot of talk about RubyMotion has been about how Ruby developers and those who aren't familiar or comfortable with Objective-C can develop for iOS. I don't see why it can't work in the other direction as well: a nice entry point for people familiar with Objective-C looking for an easy-in for Ruby.

<comment><USER6> Unfortunately, it seems like those who aren't familiar or comfortable with iOS and Objective-C will still be _completely lost_ with RubyMotion.

<comment><USER7> I don't think diving into RubyMotion without knowing iOS API is that overwhelming; my only first hand experience with Objective-C was when I tried to submit a very small patch (2 lines) to open source project, yet I still found RubyMotion to be very easy to work with.

There are few things I wish it was simpler (e.g. Core Data) but I guess this will be fixed over time with RubyMotion wrappers and some kind of DSL.

</comment></comment></comment></comment><comment><USER3> I just hacked this together last night. Assuming it is not too dynamic for the App Store, I think it shows the true potential of RubyMotion.

<comment><USER8> I'd definitely say that seeing libraries like this reminds me of what it was like to be a Rails developer in the early days. It's awesome to see concepts ported over to what Ruby does so well, providing clean and beautiful alternatives to what's been around for awhile.

<comment><USER9> You might also be interested in this: <https://github.com/adelevie/ParseModel>

It's an Active Record(ish) syntax layer for the Parse iOS SDK.

</comment></comment></comment><comment><USER10> I was trying to develop a similar library, but realized that I would need migrations pretty quickly. Do you have any ideas about the best way to do database migrations?

<comment><USER3> Not yet. Any suggestions are welcome!

</comment></comment><comment><USER11> RubyMotion has potential but like any intermediary framework it will start to show cracks when building a real world application.

<comment><USER12> Except RubyMotion isn't an intermediary framework. It's implemented directly on the Obj-C runtime.

</comment></comment><comment><USER13> When did "obnoxious" even begin to approximate an adjective for ease?

Why are we OK with this conflation of language for marketing gimmicks?

</comment><comment><USER14> Matt,

I'm developing an education app and would love for it to be in Rails. Know where to find a good Rails coder comfortable with RubyMotion and iOS?</comment>


How the public is "being deceived" over GDP - <AUTHOR> https://www.bigissue.com/opinion/public-deceived-gdp/ <comment><USER2> What GDP does is let you simplify inter economy comparison. It says nothing about the income distribution profile inside the economies. I think the big issue is on the money here, the distortion is really severe. I think anyone leaving California because of rent/income disparity would agree.</comment>


Comcast bashes Google Fiber and it hilariously backfires - <AUTHOR> http://i.imgur.com/SVRbKOd.jpg <comment><USER2> I guess they found that when it comes to internet, those who DON'T live in glass houses shouldn't throw stones.</comment>


10er Is an Open Startup - <AUTHOR> https://10er.app/open <comment><AUTHOR> I support a couple of the podcasts on 10er and stumbled upon this page I really like. Especially the expenses table. Know of other startups that do the same?</comment>


What are some NYC firms which hire low level programmers? - <AUTHOR>

I am a recent grad and am looking for work in low level system's, but am having trouble finding any in the NYC metropolitan area.  Everything seems to be web based these day's, and I have absolutely zero desire to do any form of web programming, im just not a huge fan of it.  What I do like is low level systems programming working with C and assembly when needed.<p>I'm looking for any companies in the NYC area which hire these type of programmers. <comment><USER2> Your best bets are electronic trading at a bank or hedge fund or realtime market data work at a place like FactSet or Bloomberg. I don't know of anything non-finance related though. All the startup people I've talked to around here are Ruby or PHP enthusiasts.</comment>


Pinterest Hits 30 Billion Total Pins, Up 50% In 6 Months - <AUTHOR> http://techcrunch.com/2014/04/24/pinterest-30b-pins/ <comment><USER2> One feature I found kinda mind-blowing was when I began to receive e-mails, when the things I had pin received huge price reductions. Pinterest suddenly went from a static wishlist to a dynamic one.

That's a special kind of lookbook feature that makes Pinterest all the more fascinating - not just for fashion, but all things with pricing metadata.

</comment><comment><USER3> Pinterest has this one unique ability to make me feel completely unable to predict if a service is going to be of any use and of any value. I just don't get the point of that site.

<comment><USER4> You can turn this feeling around into something more productive/lucrative: The feeling is a reminder that there are audiences that don't perceive value the same way you do. Specifically, audiences that are not male, geek/technical, software engineers.

Their audience is probably mostly female, non-technical, and has lots of desire to spend lots of money.

Flipping this around, imagine someone who is not the intended audience stumbling across HN. They'd probably think the Yahoo front page delivers better news signal than this site.

<comment><USER5> any books on this? I think we fellow geeks need to learn these kind of stuff asap.

<comment><USER6> Yes. Pick up a Vogue. A fat magazine with virtually no content but a lot of pictures. A mixture of advertising and photo shoots. There is a whole, massive demographic out there that just loves this stuff, and isn't technical at all.

The existence of vogue shows that there is a demographic who likes to flip through nice pictures. Sometimes they dog-ear the pictures to come back later and look again. People like to leave the magazine lying around their place as a social indicator that they are interested in fashion, and they like to mark which bits of that fashion they're interested in. That's pinterest in a nutshell.

Now go to any magazine rack. There are are broad range of these niches. It's not about replicating a magazine, it's about understanding what purpose that magazine exists for. Is it interesting articles? Wanted ads? Industry information? The purpose and niche of the information is what people want. These all can be more innovatively delivered and shared than a glossy magazine dropped on a doorstep.

<comment><USER7>
        virtually no content but a lot of pictures

this is ridiculous to say. photos _are_ content.

<comment><USER8> Try telling that to the Google Adsense compliance department...

</comment></comment></comment></comment></comment></comment><comment><USER9> Can someone give me a good reason to visit Pinterest?..and I don't like Cats or Babies!

<comment><USER10> 1\. A consolidated place for a wish/to-buy list 2\. As mentioned before, create a lookbook for inspiration whether it's interior design for your house, clothing style, web design, anything.</comment></comment>