Show HN: CloudTunes - <AUTHOR> https://github.com/jakubroztocil/cloudtunes <comment><USER3> Hey,

This is really nice. Would you mind chatting with me sometime? I'd love to pick your brain or even just converse with someone who has similar interests. I've spent the past two years developing Streamus, [https://streamus.com/](https://streamus.com/), an open-source music player which runs off of YouTube as a browser extension; it has 130,000 users currently.

Hit me up if you want to chat! firstname.lastname@example.com and if you'd like to browse the repo, [https://github.com/MeoMix/StreamusChromeExtension](https://github.com/MeoMix/StreamusChromeExtension)

<comment><USER4> Holy cow. Streamus is a dreamus. I'm really digging this.

</comment></comment><comment> squeaky-clean Really cool idea. Who hasn't thought of doing this before? Congrats on actually making it, and making it look beautiful. Already forked it, can't wait to start playing with it.

I don't see any mobile screenshots, how does it look on a phone screen? I can imagine that being a great use-case for this app.

<comment><USER5> Congrats on the design, but it's sad to see that once again, the wheel has been reinvented: there once was playdar [0], the content resolver that clearly separated the data that was of interest to the user (artist, song, ...) and the actual sources. Its biggest problem was, I believe, that it wasn't an actual music player.

Its gentle folks decided to restart from scratch with a music player in mind, and keep the idea of having different resolvers to target different sources, such as local disk, youtube, spotify, radioshark, ... Really, if you know javascript, you can write a resolver targetting the platform of your choice. The end result is Tomahawk [1] and if you're interested in that you should have a look.

Maybe it didn't spread because it's not a webapp ?

[0] [http://www.playdar.org/](http://www.playdar.org/)

[1] [http://www.tomahawk-player.org/](http://www.tomahawk-player.org/)

<comment> squeaky-clean >Maybe it didn't spread because it's not a webapp ?

I think this is it. I remember checking out Tomahawk a while ago, about the time Songbird announced it was discontinuing development. I ended up just going back to iTunes because it did all I needed (even if it is bloated). If I can install Tomahawk on a computer, I can probably install my music library onto it as well, so I don't need the resolving features it has.

I actually just tried installing Tomahawk because of your comment, and it does work very well, and looks pretty while doing it. It was able to find several obscure artists with perfect accuracy. (Though it did grab most of them from Soundcloud at 128kb/s, when a few of them are on Spotify with higher bitrates). But unless I can access it anywhere, with a moment's notice, I don't really have a purpose for it being installed on a machine.

I rarely even listen to music on my computer anymore. I use my phone for Spotify on the go and even at work. It's nice to not have another program running while I'm working. But a lot of artists I like aren't on Spotify, and my phone doesn't have enough storage to fit my entire library.

That's why this interests me so much. I would love to set up a server where I can open the URL on my phone, laptop, friend's laptop, etc, be able to play most of my music through web services, and the artists that aren't on those services would play from my server directly, or my DropBox, or whatever, and hopefully it can all be a seamless experience.

<comment><USER6> If you want a real surprise as to Tomahawk's design, grab a recent nightly. Looks fantastic now.

Also, an Android app for Tomahawk is in the works!

</comment></comment></comment></comment><comment><USER7> Could this support playing music from S3 and storing/reading metadata as S3 headers? I currently store about 200GB of music in Amazon Cloudplayer, which has recently gone sideways with their push towards Music Prime. I'm currently ripping all my music out and putting it into S3.

<comment><USER8> That's the problem with the main Music Lockers: they keep integrating music stores into them. All I want is to upload my music and play it remotely.

<comment><USER9> You can run Subsonic on your own server or a VPS.

<comment><USER8> Thanks for the info. I never really considered running my own but that might be worth doing.

<comment><USER10> There's also a really great Android app called DSub that integrates really well with it ([https://play.google.com/store/apps/details?id=github.daneren...](https://play.google.com/store/apps/details?id=github.daneren2005.dsub))

<comment><USER11> Is it better than the "Subsonic" Android app [1]? Just looking at the screenshots of DSub is that it doesn't look as good as the Subsonic Android app.

</comment></comment></comment></comment></comment></comment><comment><USER12> I once wrote a simple web-based multiplayer music player to test out my roll- your-own web framework:

[https://github.com/SirCmpwn/staccato](https://github.com/SirCmpwn/staccato)

You might consider a jukebox mode where several listeners are synced up and can suggest songs.

<comment><USER13> More shameless self-promotion:

[https://github.com/superjamie/playlist- generator](https://github.com/superjamie/playlist-generator)

It's just a PHP file lister and audiojs, but it works on pretty much every modern desktop and mobile platform.

</comment></comment><comment><USER14> Could I integrate this with my server _cough_ seedbox _cough_

<comment><USER15> It's probably easier to use Subsonic for that, it's build for dealing with local files.

[0] [http://www.subsonic.org/](http://www.subsonic.org/)

<comment><USER16> I've tried to use subsonic and madsonic (a fork of subsonic) before. I didn't like either of them much nor did I like the phone apps to accompany them (many are paid apps as well). I'm gonna look at this project tomorrow and see if I want to undertake a server port. I think it would be viable.

<comment><USER15> Agreed, the mobile apps are mostly ugly or abandoned and the server software itself still uses a flash player. It's just something I put up with because there's no better alternative at the moment.

<comment><USER16> I'll see what I can do about it ;) I just found this from some of the comments above [http://ampache.org/](http://ampache.org/). I'm gonna install that and see how it is, but I really think I'm going to move forward with trying to integrate this with a seedbox type of server. Since the client is done in JS as well it could be practical to port that to Android and iPhone also.

<comment><USER15> Sounds good, I'll be watching the repo. If you need someone to test it on a server with a bunch of music on it let me know.

</comment></comment></comment></comment></comment></comment><comment><USER17> Wow, really cool. Since you're already using brunch [1]. You should checkout chaplin [2]. It's a backbone framework built by the same guys who made brunch. It supports coffescript, pub/sub, dynamic url construction, plus a bunch of other features that make working with it a breeze.

[1] [http://brunch.io/](http://brunch.io/) [2] [http://chaplinjs.org/](http://chaplinjs.org/)

<comment><AUTHOR> Thanks for the tip. I actually did originally start with Chaplin. It helped me to start quickly, but later I replaced it with a very simple, custom Backbone- based MVC (Chaplin-inspired to some degree).

<comment><USER17> Interesting... you mind explaining the reason for switching? If it was missing functionality, I'm sure the team would appreciate pull requests. I'm often dismayed that angular is grabbing all the spotlight these days and not many new web apps use backbone in general or chaplin in particular.

<comment><AUTHOR> There is a tradeoff between speed of development and degree of customizability when it comes to frameworks. With CloudTunes, I was going for a highly- customized and performant UI, and at some point it simply became easier to go back down by one layer of abstraction and build it just with Backbone instead.

</comment></comment></comment></comment><comment><USER18> Really cool. At first glance it seems to me like there might be two products/services here - one that is what you have here minus YouTube and other publicly available media sources, and another centralized web app that provides users access to all public media without having to run their own server. Maybe they could be integrated in a way where users can add their own media sources through the centralized web app to have it all in one place.

</comment><comment><USER19> CloudPlay is a similar app for Mac. It has pretty good shortcut integration.

[http://cloudplay.fm/](http://cloudplay.fm/)

<comment><USER20> That doesn't seem to support music you already have though, which is a pretty big feature of Cloud Tunes.

</comment></comment><comment><USER21> I got banned from Dreamhost about 6 years ago for building something almost identical to this for my own use. We've come a long way.

</comment><comment><USER22> Would be great to have this interface for MPD!

<comment><AUTHOR> Oh, that's an interesting idea :)

</comment></comment><comment><USER23> I've always thought it might be interesting to have apps like this that run locally on web technologies. Is there hope for this model? One obviously shortcoming as exemplified here is the painful installation process. I suspect people are also going to be concerned with what's being installed where.

<comment><AUTHOR> I'd been planning on releasing it together with a Dockerfile so that people could easily run it locally in an isolated container. It turned out to be a bit more complex than I had anticipated so Docker support will come later. But I think that could be a viable model for locally-installable web apps in the future.

<comment><AUTHOR> Btw, help with the Dockerfile would be appreciated:

[https://github.com/jakubroztocil/cloudtunes/issues/2](https://github.com/jakubroztocil/cloudtunes/issues/2)

<comment><AUTHOR> Already dockerized!

[https://github.com/jakubroztocil/cloudtunes#with- docker](https://github.com/jakubroztocil/cloudtunes#with-docker)

</comment></comment></comment></comment><comment><USER24> What about music stored on the server on which CloudTunes is running? Can it play that?

<comment><AUTHOR> That currently is not possible, but wouldn't be very difficult to implement as I had it in mind from the beginning. Inspiration could be the Dropbox integration:

Client-side model:

[https://github.com/jakubroztocil/cloudtunes/blob/master/clou...](https://github.com/jakubroztocil/cloudtunes/blob/master/cloudtunes- webapp/app/models/media/sound.coffee#L53-57)

API endpoint: for local files, it could simply serve the file:

[https://github.com/jakubroztocil/cloudtunes/blob/master/clou...](https://github.com/jakubroztocil/cloudtunes/blob/master/cloudtunes- server/cloudtunes/services/dropbox/handlers.py#L102-135)

Plus it would also need indexing, configuration, and to introduce a new media type across the app.

<comment><USER25> Would it be hard to add support for a WebDAV backend? Looks like XMLHttpRequest supports PROPFIND…

</comment></comment></comment><comment><USER26> Nice work! I personally use ownCloud (which has Ampache support) for my streaming of my library, but this is a really nice job. I might see how hard it is to integrate into ownCloud :)

<comment><USER27> Let me know how you go! I use ownCloud/Ampache too.

</comment></comment><comment><USER28> For anyone interested I made something similar for iOS. Supports Dropbox, Google Drive, Mega, and Box. [http://vibe.pw/](http://vibe.pw/)

<comment><USER29> For the love of possible users, put some sort of scrolling indicator on the page. Firefox in OS X doesn't show scroll bar. I spend about a minute clicking on the slant phone and the name in the top right before accidentally causing the page to scroll down.

</comment></comment><comment><USER30> Oooh, this seems like a perfect app for sandstorm (sandstorm.io)

</comment><comment><USER31> With Dropbox upping their quotas I was literally thinking about this two days ago!

I look forward to checking this out. Going to take me quite a while to finish uploading my music though.

<comment><USER32> better ensure it is indeed your music, because Dropbox will likely report infringements of copyright

<comment><USER31> Don't they only do that when placed in shared folders?

Some of my Dead could maybe cause a problem (though it was all once freely available on archive.org).

<comment><USER33> Imagine the uproar if Dropbox started removing files from people's personal, private folders due to alleged copyright infringement.

They could theoretically do this in a way that doesn't really invade privacy (by using only hashes), but the controversy would probably kill Dropbox.

</comment></comment></comment></comment><comment><USER34> I'm going to try and get this working with MEGA cloud storage, since you get a 50gb capacity account for free.

</comment><comment> why-el Very well done. Where can we see it running live? Your domain name redirects back to Github.

<comment><AUTHOR> It's not running anywhere right now, sorry about that. That is because the app is not really ready for public production use. As mentioned in the README, I've kinda stopped working on it some time ago. I think it could still be interesting/useful to people who want to run in even in this state by themselves. The codebase also hopefully has some interesting bits, so I've at least opened it up for now. Another thing is that the backend talks directly to the Musicbrainz API, which is throttled (their DB is open though, so one could make a web service on top of it).

</comment></comment><comment><USER35> How does this handle YouTube's advertising?

</comment><comment><USER36> How about adding support for a seafile server?

</comment><comment><USER37> What about OneDrive and Google Drive support?

<comment><USER38> These comments make sense from end-users but I feel like they're out of place on HN. I mean, sure OneDrive & GoogleDrive support can obviously be implemented down the road, but especially when first showing the idea off - it's way easier to keep it simple and get feedback to improve the product and then later integrate with more services.

These comments remind me of the few apps I've put out that start with an iOS version so we can collect / data & feedback so we can make future versions (on both platforms) better, but that info almost always gets shouted down by chants of "why not an android version?" The obvious answer of "it costs 2x time and resources" to get the first version out, almost always gets completely ignored.

Let's give feedback on this version - help him improve it & then worry about the other service integrations later.

<comment><USER39> I think you're taking the question as a veiled criticism. It's possible the question is just a question.

<comment><USER38> I don't think it's criticism, it's just not the most useful question they could be asking at this point in time. If he's showing off a new project - <USER2> think it's probably best to help improve what he currently has now and then worrying about the integrations later

<comment><USER39> Consider the perspective of someone who has never heard of a new piece of software before. They just want to know a bunch of things about it, so they can form a concept of it in their mind. This is one such question.

I don't disagree with what the author's focus should be, but I don't think that this question distracts from that.

<comment><USER37> I am a developer, I haven't dug into how he was processing the audio. I was simply asking a question. I don't use Dropbox so I was simply asking if it was on the roadmap so I could try it in the future.

</comment></comment></comment></comment></comment></comment><comment><USER40> amazing!

</comment><comment><USER41> disappointed. Single-page app relies on flash technology.

<comment><AUTHOR> When I was working on the YouTube integration for CloudTunes (looong time ago), there wasn't an HTML5 <video> based API. Is there one nowadays?

<comment><USER3> YouTube now defaults to using the <video> element unless the video would show an advertisement. In those scenarios, it falls back to using the flash player.

</comment></comment></comment><comment><USER42> sorry but what's the use case for this?

<comment><USER43> For one: you can play your music collection from any location if it's stored on Dropbox?

<comment><USER44> isn't that kind of inherently possible due to the nature of Dropbox? Albeit this has a proper UI.

Plex, for instance, does this and much more provided you have a collection _not_ in a cloud.

<comment><USER45> Plex however relies on you either have 1) a good home connection (with no caps) or 2) a server "in the cloud(tm)". Dropbox provides the backend hosting, which makes providing the data files easier.

</comment></comment></comment></comment><comment><USER46> Music in Dropbox? Who keeps music in DropBox's 2GB of free storage? (I'm assuming market who pays for DropBox storage is a lot smaller)

<comment><USER47> I dunno about you, but I have 18.13 GB of free storage with Dropbox. It wasn't particularly hard to achieve, either.

<comment><USER35> According to Dropbox, I've earned 91.88 GB of free storage.

Of course I now pay for it, only for the packrat feature though.</comment></comment></comment>


Ask HN: Why are pay-walled articles allowed on Hacker News - <AUTHOR> You see an interesting article headline with a lot of upvotes on the front page, and you proceed to click on it only to be greeted with a pay wall on getting to the web address, why are these sort of articles allowed to get to the front page in the first place? <comment><USER2> The pay articles are often more timely and higher quality than the free news outlets. It seems only natural they'd get linked to from an aggregator geared to high quality discussion.

</comment><comment><USER3> HN's policy on paywalls is outlined in the FAQ [1]. Private Browsing mode is generally a good workaround:

> It's ok to post stories from sites with paywalls that have workarounds.

> In comments, it's ok to ask how to read an article and to help other users > do so. But please don't post complaints about paywalls. Those are off topic.

The rationale explained by dang in a 2015 post [2] makes sense:

> Publications like NYT, WSJ, the Economist, and the New Yorker have paywalls > that leave ways for readers to work around them. Such stories are OK to post > to Hacker News. Yes, this sucks, but the loss of many substantive articles > would suck worse.

[1] [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

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

<comment><USER4> Aside from: clearing cookies, having to reopen news articles you've already half read in incognito, or adding an additional '.' (like "nytimes.com./blah"); what are some of the other ways people are getting around paywalls?

<comment><USER5> I have this trick where I just pay for high quality, well researched news because I'm an adult and I realize that not everything should be free and maybe we should pay for some things.

People on HN like to complain about paying in data to use Google and Facebook and yet also consider it an affront that they have to pay money to journalists.

<comment><USER6> Which one do you pay for? All of them? How do you determine high quality? How do you reconcile the fact that you need to pay before you can read it, thus not being able to evaluate the quality properly? How do you reconcile saying a large news publication produces quality with the amount of errors that are frequently and egregiously present in articles with any sort of depth?

<comment><USER7> I agree with the opening question but I find latter part of the argument unreasonable. You will encounter many, many services in life that require an initial payment. Pay once and then decide whether you want to keep on paying for more. This applies to restaurants, movies, hotels, taxis, etc. The initial payment for pay-walled articles is usually quite small. If you don't know where to start you can always ask a friend, read a review, or join an online community.

<comment><USER6> I opened and closed with the questions what were to me most relevant, which is my mistake as I should have front-loaded both. Your answer is reasonable, except it glosses over the fact that the quality is bad and this is a pervasive issue.

</comment></comment></comment></comment></comment></comment><comment><USER8> Slightly off-topic: I'm having a feeling that in last months HN is getting flooded with links coming from big general news, newspapers portals like there's some kind of _content "promotion"_ going on. Or maybe it's just me?

<comment><USER9> nytimes articles have been exceptionally prevalent lately. I'm not anti- nytimes, but a lot of them are very far off topic for "hacker news".

</comment></comment><comment><USER10> Why shouldn't they be? Do you have difficulty reading them, or do you some sort of philosophical objection?

</comment><comment> m-p-3 I don't want to completely deny them because some a genuinely interesting, but if there was a way to tag them accordingly (a paywall symbol, etc), I wouldn't be as annoyed when I go face-first into the wall without any warnings.

<comment><USER11> That's a good idea, and it gives the user the suggestion to perhaps open in incognito/private browser mode to view.

</comment></comment><comment><USER12> Because many people have paid subscription and sometimes its even covered by employers account.

</comment><comment><USER13> Outline or archive.is are other ways to read these articles.

</comment><comment><USER14> I think HN takes a pragmatic approach. There is quality news on those paywalled sites. They are paywalled because they need to pay professionals to write quality researched content (it isn't some internet marketer trying to make a quick buck) so ethically it seems OK and there are workarounds.

I think there would be a natural balance in that a paywalled article needs to be even better than average to do well as fewer people can read it to upvote it. So hopefully when a paywalled article appears it's better than average.

Medium.com is my only concern because they paywall run of the mill blog quality articles. I'd encourage people to post using a friends link in that case if they can get it.

</comment><comment><USER15> one technique I rarely see mentioned is disabling javascript. Will get you around NYT paywall and others

But what I find ironic is HN as a whole seems to complain about both paywalls and ads. . . You have to pick one or the other

Perhaps it's two separate groups of people complaining though

<comment><USER16> This is what I do. But there are a few where they don't use a cover and require you to actually subscribe before loading the real page.

</comment></comment><comment><USER17> Because HN is not place for poor people!

Just joking[0], it's mostly because a lot of these pay walled sites have a workaround for reading the article anyway.

[0] I am pretty sure I'll be downvoted for it, because it actually is mostly true.

<comment><USER18> Well it's not a lie. Most paywalls you can access via anonymous access or disguised as a search engine or spider. Don't ask me about the legalities of such behavior, however. I'm waiting for some content license authority to start charging 10k per instance of paywall evasion.

</comment></comment><comment><USER19> You're supposed to post the original source. Have you tried using a filter?

</comment><comment><USER20> Most of the time you can bypass by going into incognito mode / privacy mode in FF. Chrome is making it easier to bypass paywalls too: [https://slate.com/technology/2019/07/google-chrome-update- in...](https://slate.com/technology/2019/07/google-chrome-update-incognito- mode-paywall-workaround.html)

</comment><comment><USER21> Because the audience here understands how to work around paywalls.

There's even a "web" link at the top of every article to help you, as having google as a referrer is one of many workarounds. Others include, incognito windows, multiple browsers or clearing your cookies, google cache, outline.com, archive.is, etc.

If there's an article that's been posted here, and it's being upvoted, you can be sure that people are reading it.

If you've tried everything you can think of, but still can't get to the content, just ask. Someone will likely assist you.

</comment><comment><USER22> Many of these paywalled news sites can be accessed with the Bypass Paywalls browser extension:

Firefox (desktop & Android): [https://github.com/iamadamdev/bypass-paywalls- firefox](https://github.com/iamadamdev/bypass-paywalls-firefox)

Chrome (desktop): [https://github.com/iamadamdev/bypass-paywalls- chrome](https://github.com/iamadamdev/bypass-paywalls-chrome)

It's free and open source.

</comment><comment><USER23> At which point will people start considering paywalls ads (which is what they are)? Siloed content should not enjoy the momentum of "previously unsiloed", and it's no different from content that has forever been siloed. They are functionally not much different from content marketing blogs.

</comment><comment><USER24> If I hit a paywall on safari iOS I simply click "send to" button and open it in the Duck Duck Go app.</comment>


Sony CEO steps down to join Snapchat - <AUTHOR> https://qz.com/885550/sony-sne-ceo-michael-lynton-is-stepping-down-to-be-chairman-of-snapchat-owners-snap/ <comment><USER2> I know he's not the CTO but this still feels wrong for a platform for sharing private media.</comment>


Niagara Falls without water in 1969 - <AUTHOR> http://www.niagarafrontier.com/dewater.html <comment><USER2> Along the Niagara river are massive inlet towers that hold the gates that manage the flow of water over the falls. Agreements with Canada mandate that at least 50% of the water goes over the falls during touristy times then at night they can divert more through the underground tunnels to generate power.

[http://clui.org/ludb/site/niagara-power-station- intake](http://clui.org/ludb/site/niagara-power-station-intake)

<comment><USER3> If you stay at one of the Canadian hotels near the horseshoe falls, you can tell the moment at night when they divert more water through to the power stations. The roar of the falls drops off quite dramatically.

</comment></comment><comment><USER4> Side note: I always wonder what a site like this - something that may have been carefully hand-crafted/designed in something like MS FrontPage in 1999 - thinks about their sudden traffic spike from HN after years of solitude save for the occasional history buff or research student.

Fascinating story.

<comment><USER5> You're assuming they actually look at their traffic stats after all this time!

<comment><USER6> It's even better when it has one of those really old-school 3 or 4 digit only counters.

</comment></comment></comment><comment><USER7> Niagara Falls/Buffalo native here. They're planning to do this in the next few years, and it should be exciting.

My dad remembers when this happened, and they let people climb all over the rocks once the water was off. People would bring back buckets and buckets of change that was stuck inside of the rocks.

Update: US isn't planning to do this until 2019 at the earliest. [http://www.cbc.ca/news/canada/hamilton/news/niagara-falls- wa...](http://www.cbc.ca/news/canada/hamilton/news/niagara-falls-water- flow-2019-1.3423305)

</comment><comment><USER8> 11 000 years ago, the falls were almost 11 river-kilometers downstream from where they are now, as the falls began where the gorge now ends: at the Niagara Escarpment.

However, in the last 200 years as the falls became both a societal tourist attraction and a site of hydroelectric power generation, humans have elected to try to make the falls frozen in time as much as it's feasible for them to do so. Due to the diversion of water and various anti-erosion projects, the rate of erosion is now less than a third of what it was before 1905.

<comment><USER9> Actually closer to 1%.

[http://www.niagarafrontier.com/faq.html](http://www.niagarafrontier.com/faq.html)

</comment></comment><comment><AUTHOR> There are pictures at [http://themindcircle.com/niagara-falls-runs- dry/](http://themindcircle.com/niagara-falls-runs-dry/) but this is the better article.

<comment><USER10> From your article "However, it may not be the last time we ever see Niagara Falls dewatered – two bridges present above the falls require replacement sin the near future, in which case it might be time to drain the water once more."

That would be very neat to see in person.

</comment></comment><comment><USER11> I've always liked this story...

[http://www.niagarafrontier.com/fallsstopped.html](http://www.niagarafrontier.com/fallsstopped.html)

"A number of people made their way into the gorge to the riverbed. Here they saw articles that had been laying on the river's bottom and had been hidden for hundreds of years. Souvenirs picked up included bayonets, guns barrels, muskets, tomahawks and other artifacts of the War of 1812."

(Even though 36 years isn't hundreds of years.)

<comment><USER12> Are you thinking of the War of 1912 instead? If not, then hundreds is kinda correct.

<comment> Harvey-Specter No, the link in the post you replied to is about March 29th 1848 when a naturally occurring ice dam blocked the flow from Lake Erie into the Niagara River, which caused the falls to go dry.

So in that case it had only been 38 years since the war of 1812.

</comment></comment></comment><comment><USER13> There is a color photo from this period on Wikipedia as well: [https://en.wikipedia.org/wiki/Niagara_Falls#/media/File:Dryn...](https://en.wikipedia.org/wiki/Niagara_Falls#/media/File:Dryniagara.jpg)

<comment><USER14> The 1969 photos are from the smaller American Falls.

What the world knows as the Niagara Falls, is the Horseshoe Falls. Horseshoe Falls, also known as Canadian Falls, is the largest of the three waterfalls which collectively form Niagara Falls on the Niagara River along the Canada-US Border. Approximately 90% of the Niagara River, after diversions for hydropower generation, flows over Horseshoe Falls. The remaining 10% flows over American Falls and Bridal Veil falls. It is located between Terrapin Point on Goat Island in the US state of New York, and Table Rock in the Canadian province of Ontario. [source Wikipedia page]

</comment></comment><comment><USER15> It never occurred to me that this could even be possible for such a giant waterfall until I saw this article awhile back. It's really neat to see. And a little scary we can have that much control over nature sometimes.

<comment><USER16> Do we still engage in these big projects? For example, around 1900 the flow of the Chicago River was reversed. I can't imagine a project like that happening today.

<comment><USER17> Yes, for example the Chunnel was likely opened in your lifetime.

<comment><USER18> Also, the three gorges dam hydroelectric project.

</comment></comment></comment></comment><comment><USER19> I learned something cool on my last trip there, something like at least 50% of the water is diverted for power usage before it reaches the falls, so you're not even seeing them at full power. Though iirc this changes depending on the time of day and season.

</comment><comment><USER20> It's worth noting that this is not Horseshoe Falls that most people think of when someone says Niagara Falls. The one that ran dry is American Falls.

<comment> Harvey-Specter Interesting note though, the Horseshoe falls did run dry naturally during the winter of 1848 [1]. High winds on Lake Erie pushed ice into the mouth of the Niagara River, eventually resulting in an ice jam that blocked the flow of water into the river and stopped both falls.

[1] [http://www.niagarafrontier.com/fallsstopped.html](http://www.niagarafrontier.com/fallsstopped.html)

</comment></comment><comment> robert-brown For a complete history of the falls, including many more obscure stories and details of the de-watering and reconstruction, see Ginger Strand's book:

[http://gingerstrand.com/niagara_book.htm](http://gingerstrand.com/niagara_book.htm)

</comment><comment><USER21> As a kid i recall seeing dump trucks on the American side.

I have to see if i have any 35mm slides.

Now everyone has a camera to document every little change. How times change.

</comment><comment><USER22> Off-topic, but: is there a name for sites/finds like these?

I'm not quite sure what to call them, but these kinds of web 1.0 pages with primary or secondary sources tend to do really well on HN. Obviously because they have interesting information, but maybe because they give the impression of being a hidden gem? Like a weird-smelling laminated book in the corner of your library, or listening to your grandpa talk about something that happened before you.

The internet used to be a cool way to discover these kinds of pages, sorts of relics of history of all types of neato media.

<comment><USER23> "Web 1.0" is now synonymous with earnestness. Earnestness is the one thing that people are craving right now, and it's nearly impossible to find anymore, from friendships to politics to writing to business.

<comment><USER24> David Foster Wallace would be relieved: [https://en.wikipedia.org/wiki/New_Sincerity](https://en.wikipedia.org/wiki/New_Sincerity)

Also this good video essay on DFW, irony, and postmodernism: [https://www.youtube.com/watch?v=2doZROwdte4](https://www.youtube.com/watch?v=2doZROwdte4)</comment></comment></comment>


People who live in smart-houses, shouldn't throw parties - <AUTHOR> https://shkspr.mobi/blog/2018/11/people-who-live-in-smart-houses-shouldnt-throw-parties/ <comment><USER2> I hope it stays this way, because smart houses are a bad idea.</comment>


Why Don't Microsoft Make Their Own Laptop? - <AUTHOR> http://horia.me/why-dont-microsoft-make-their-own-laptop <comment><USER2> Because they don't actually sell their software, for the most part. They have deals with OEMs to preinstall Windows, and they get money for that. If they were to build and market their own hardware, those OEMs would be miffled to say the least, and their main channel for getting Windows out to the people would die to be or not be replaced, eventually, with the results of their own R&D and marketing and distribution. I don't believe Microsoft want to risk that gamble (yet).</comment>


Singapore personal data hack hits 1.5m - <AUTHOR> https://www.bbc.co.uk/news/world-asia-44900507 <comment><USER2> Total side note...

But if you're into tech and haven't been to Singapore, I'd recommend going... But know that it might make you apprehensive.

The backend structure to support that number of cameras alone, has to be ridiculous. Every subway station is surrounded by 20 cameras, there are 3-5 looking at you as you enter, there are 20 more before you get to the platform where there are 10 that can see you. There are poles on the street every 2-4 blocks that have 8-10 cameras around them. The further you get away from downtown the more "relaxed" it is I'm sure but it was a pretty crazy place.

I had just figured with the amazing infrastructure they have that they also would have world class security. But what do I know!?

<comment><USER3> How would you recommend getting into it? Might be a viable avenue for me later this year.

<comment><USER4> If you want to live in Singapore, you need to have a job offer. Every major IT company (and many minors) has an Asian/SE Asian HQ there and they're constantly hiring.

Winging it on your own is considerably more complicated, but feasible if you're well paid and keen to start your own business, just look up EntrePass.

</comment></comment></comment><comment><USER5> To give a sense of the scale: Singapore's resident population is 3.97m [1][2], so this affects 37.8% of the resident population.

[1] [https://www.population.sg/population- trends/demographics](https://www.population.sg/population-trends/demographics)

[2] I'd assume that fewer non-residents are affected because they're more likely to go for a private healthcare option.

<comment><USER6> I would question assumption [2]. For example, all Foreign Domestic Workers are required to have 6-monthly medical examination [http://www.mom.gov.sg/passes- and-permits/work-permit-for-for...](http://www.mom.gov.sg/passes-and- permits/work-permit-for-foreign-domestic-worker/eligibility-and- requirements/six-monthly-medical-examination)

</comment></comment><comment><USER7> Guess who implemented the My Health Record system for Australia?

<comment><USER8> When I dabbled in this space I use to follow this blog[1], and found it very informative for what was going on in the Australian eHealth space.

[1] [https://aushealthit.blogspot.com/](https://aushealthit.blogspot.com/)

</comment></comment><comment><USER9> We have no details, but given the story and that workers from the company were banned from internet usage, it sounds like it was a mix of technical and social engineering.

<comment><USER5> > _given the story and that workers from the company were banned from internet > usage_

I think the internet ban only happened after the fact. From the ST article linked in the BBC article [1], it seems like the attack vector was malware installed on one computer:

> Initial investigations showed that one SingHealth front-end workstation was > infected with malware through which the hackers gained access to the data > base. The data theft happened between June 27, 2018, and July 4, 2018.

[1] [https://www.straitstimes.com/singapore/personal-info- of-15m-...](https://www.straitstimes.com/singapore/personal-info- of-15m-singhealth-patients-including-pm-lee-stolen-in-singapores-most)

<comment><USER10> > I think the internet ban only happened after the fact.

That's exactly GP's point - that part of the response was to ban internet usage indicates that employee internet usage was part of the attack vector. (i.e. that one computer was probably infected through social-engineering means)

</comment></comment></comment><comment><USER11> Are government systems like this usually insured?

<comment><USER12> You'd be surprised

</comment></comment><comment><USER13> This is why we cannot continue to allow the government to capture and store private data on its citizens, no matter what country it is.

<comment><USER14> Wait... But... I mean... Of all the companies I can imagine having a legitimate interest in private information, the government seems to be at the top of that list. Please help me understand your perspective.

<comment><USER13> That is the point. Obviously they have an interest, or they wouldn't be trying to collect this information in the first place. Government has shown itself time and time again to be less competent and more vulnerable than private industry.

<comment><USER14> If you want to make an argument about government incompetence then I'm usually right there with you but... It seems like you're trying to fight an unwinnable battle. They need your address, name, phone number, a list of associates, employer, etc, at the very least so they can draft and tax you. This is an inescapable part of being in a state.

I would rather prefer we make adjustments so that malicious possession of your private information is less onerous. More solid identification and authorization requirements, like a cryptographically secured ID card, instead of "if you know the SSN and address you can screw somebody"</comment></comment></comment></comment>


No longer required to turn off portable electronics – tweets Walmart Labs CTO - <AUTHOR> https://twitter.com/jeremybking/status/1000080009879433217 <comment><USER2> $10 million airplane? For that price, you are flying a budget-friendly entry level private jet - not a commercial plane, which starts at least 1.5x of that[1].

[1]: [https://en.wikipedia.org/wiki/Embraer_ERJ_family](https://en.wikipedia.org/wiki/Embraer_ERJ_family)</comment>


Let's not communicate. Let's live. - <AUTHOR> http://www.teedot.com/blog/2010/02/11/lets-not-communicate-lets-live/

<comment><USER2> These scenarios are best examples, why I wouldn't want such a system. If I have to think about a birthday gift for my girlfriend, that IS actually life. And usually, whenever I update my facebook profile picture, I'd choose a picture about which I can say:"Hey, that's a nice picture of mine" and certainly not:"I need a party picture of myself, let's arrange a party just to get that picture."

I guess the problem I'm having with such a system is that it looks for PATTERNS and in my opinion, a good life is all about BREAKING patterns in order to feel alive.

</comment><comment><USER3> Seriously, if a user has only an email and Skype account(it's true for me, and in my experience, it's true for many other people) and doesn't have FB, Twitter, etc., does it mean he/she won't be able to use this _feature_?

I know there was always a lot of potential in technology that incorporates the "don't make them think". But honestly, do you really want a software to choose a gift for your girl friend? I want my personal stuff to be private and personal.

P.S. I'm not criticizing or anything - actually, I always admire software that changes to fit to a user's needs, not the opposite. But managing relationships.. No, thank you. :)

</comment><comment><USER4> The question is will it go to the bathroom for you as well? I could easily save a lot of time in the day by outsourcing that.

</comment><comment><USER5> I think this would have Wolfram Alpha's problem of trying to be too general, without having invented general AI. How will the system understand what I want?

Auto-gifting would be particularly useful. Is there a way to use it without an iPhone?

</comment><comment><USER6> Sounds a lot like the Semantic Web that Tim Berners-Lee has been talking about for the past several years.

</comment><comment><USER7> We're still a month and a half away from April fools... Talk about jumping the gun</comment>


How to Make $80,000 per Month on the Apple App Store - <AUTHOR> https://medium.com/@johnnylin/how-to-make-80-000-per-month-on-the-apple-app-store-bdb943862e88 <comment><USER2> If apps like these are on the appstore then how effective is Apple's review process? Isn't this why they have the review process in the first place?

<comment><USER3> apparently not if you buy ads.

<comment><USER4> Anyone can buy ads for your app though. The two systems (iTunes Connect) and iAds aren't linked like that.</comment></comment></comment>


Instantly share files with people around you with Nearby Share for Android - <AUTHOR> https://blog.google/products/android/nearby-share/ <comment><AUTHOR> I was really disappointed to see that it's not an open protocol (at least not yet). It would have been awesome to add this functionality to Windows and Linux desktops.

<comment><USER2> The underlying stack (Nearby Connections) is open sourced on GitHub[1]! This stack is what handles the negotiation between Bluetooth/WiFi and chunks the files while sending. There's a couple protos on top of Connections that are specific to Nearby Share, that handle identity and file metadata (eg. mimetype) that aren't a part of this repo. Those are being merged into Chromium first, but may eventually become their own library.

Nearby Share was written originally in Java, so the C++ port is a bit less mature. But hopefully having something out there is better than nothing. If you decide to take a look, do leave feedback. We monitor the GitHub page and I'm active on StackOverflow if you use the google-nearby tag.

[1] [https://github.com/google/nearby- connections](https://github.com/google/nearby-connections)

</comment></comment><comment><USER2> Hey, it's my project! :) I led the development of Nearby Share since its inception in 2018. Feel free to ask me any questions.</comment>


Ask HN: How do you work efficiently on remote servers? - <AUTHOR> It seems there are a thousand solutions for remote editing, but none is perfect. Cloud9, git, rsync, rmate, vim or emacs on the server (but you don't have your familiar setup unless you sync it), FTP, scp...<p>What do you, professional developers, use for you day-to-day work on remote servers? My thought was that vim / emacs / rmate + Sublime for configuration files and git for well-defined projects were the norm, but I'm curious about what people use for their work. <comment><USER3> Well, if for work you mean programming, you either work locally with a full IDE and deploy to a server, or if you have to work remotely then zsh + tmux + vim, and put some time in learning all three, and superpower them with the plugins you need. Ideally you do both, that is, learn how to use efficiently zsh, tmux and vim, and maintain your dotfiles, experiment with some plugins to have your curated list of plugins, and then if you need to work remotely you will feel comfortable, and when possible you can work locally on an IDE. If you do that, you will install Vim plugins for your editor of choice anyway (Vrapper for Eclipse or Vim plugins for IntelliJ Idea, or for Atom, Sublime, etc). There are also some plugins to remote-edit files in editors like Atom or Sublime

</comment><comment><USER4> TRAMP mode in emacs let's you edit remote files, do dired etc through ssh, so that mitigates the dotfile syncing problem.

edit: also sshfs, tho that isn't always a smooth experience

<comment><USER5> +1 for tramp mode. Nice to have all local .emacs configurations/modes available. Not that I endorse editing on production servers ...

</comment></comment><comment><USER6> I use ssh + tmux + emacs. Security policy states no local copies of development files are allowed at my workplace without special authorization, which I never bothered asking for.

Migrated my emacs configuration to the remote server as a git repository, along with any programs that aren't available (e.g. git, which I use for unofficial code; official code is managed via perforce). Use GNU stow to move those configurations and binaries to the right places. If I need to move non- confidential information around I collect it in an emacs buffer and then use M-x compose-mail to send it out. The home directory is an NFS mount so I can also mount my home directory and exchange files that way. Etc, etc.

I also set up a lightweight Arch virtualbox VM that I SSH out of, because I really don't like the available Windows terminal applications, and every so often I need a local Unix box for some random reason.

A lot of my coworkers use Sublime and remote file editing, but I work faster when using Emacs (comint-mode is a godsend). We mainly work in Perl, Javascript, and HTML so none of the bigger IDEs are really appropriate.

 _Edit_ Since people seem more interested in the Sublime workflow, I asked for a few more details. Coworker replied: "Sublime SFTP [...] you might want to mention that the only advantage to SFTP over remote mounting the server is the save time, as with SFTP, you save local and push in the background, meaning frequent saves don't constantly stall workflows. Otherwise, there is no real advantage over just mounting directly." It is worth noting that he is working on a Mac, which has some severe bugs [1] when it comes to NFS mounts, and Samba has some latency issues in this instance.

[1] [https://www.google.com/search?q=nfs%20slow%20mac](https://www.google.com/search?q=nfs%20slow%20mac)

<comment><AUTHOR> Thanks for answer. I'd love to learn about what solution your Sublime coworkers use, as most people here use emacs / vim and I'm most proficient with Sublime.

<comment><USER7> Probably they're using the "Sublime SFTP plugin" by wbond... I usually use nano on the remote server and sublime remotely via ssh with this plugin. But to be honest it is just for small tasks. 95% of the time we work in local servers with Vagrant/Docker (shared folder --> git push), since our deployments aren't _that_ big.

<comment><AUTHOR> I tried it, but I can't get used to navigating the filesystem with the command palette. It just looks weird IMO.

</comment></comment></comment></comment><comment><USER8> On projects too small to have a workflow for automated deployment (let's be real: not everything is worth the overhead of setting up all of those tools), I've found the duo of Sublime and ExpanDrive[1] works well. The latter mounts a server that is accessible via SSH as a local drive (it's essentially a nice GUI for something like sshfs).

Otherwise, some combination of tmux and vim/nano/emacs.

1\. [http://www.expandrive.com/expandrive](http://www.expandrive.com/expandrive)

<comment><USER9> I agree, being able to use your favorite local IDE to load and edit remote files can be very convenient.

On OSX, I use Panic Transmit's "Mount as Disk" feature. I've also heard good things about a product called WebDrive for this use case.

</comment></comment><comment><USER10> For me, it's a combination of tmux and vim. Deployments are done using Puppet/Ansible, so no need to manually run any git commands. Also, I hardly ever really manually change anything on remote servers and if I do, I make sure to put it in Puppet/Ansible immediately after.

</comment><comment><USER11> I use rmate + Sublime Text for a pretty seamless remote editing experience when I'm just dealing with a few files. It's really nice when you're editing config files or when you want to skim through log files. I followed a guide I found on Stack Overflow[1].

[1] [https://stackoverflow.com/questions/15958056/how-to-use- subl...](https://stackoverflow.com/questions/15958056/how-to-use-sublime-over- ssh/18538531#18538531)

</comment><comment><USER12> I also suggest keeping your .vimrc / .bashrc / .screenrc / whatever other config files you like in some kind of git repo so you can sync your config files to the remote machine nicely. The other nice thing about this is that if you have a remote that you don't use very often, you can either git clone the repo and rake / make to install, or even wget the file and move it in place manually.

</comment><comment><USER13> Depends on the servers and the project I'm working on.

\- Sometimes I mount the remote servers file system locally over SSH (sshfs) so I can use my local development environment. I generally do this when I have more complex projects (eg quantity of files) and there's some prerequisites defined on the server (ie it's easier to develop on the server than it is to mimic the set up on my local machine)

\- Sometimes I use tmux and vanilla vi / vim (I don't generally bother with plugins / config for editors so I don't miss them when jumping onto new systems). I generally only do this if it's small changes though. The kind of situation where it would be quicker to SSH in and make a few edits than it would be to follow a stricter development and deployment model.

\- Sometimes I develop locally and then push the changes remotely (usually using rsync, scp, git). This is usually for new projects and where there aren't prerequisites specific to the remote host.

My preferred development model would be 1 (as it's ridiculously lazy), then 3 (as it better follows sane development and deployment models). But sometimes a job simply requires you to make quick edits via vi; and thankfully I feel as at home in vi as I do with most GUI text editors.

Just to add, there's only two config files I ever need to worry about:

 _.tmux.conf_ which I only put on a small handful of development machines where I'd like detachable sessions from multiple client (eg home/work/etc). But generally I will run tmux locally.

 _env_servers_ which is an epic environment script (like .bashrc) that I can call in as and when and it has a whole stack of aliases, functions and such like optimize my workflow. I've also set up an alias on my local machine to auto scp my env_servers script to any server I SSH into. Thus keeping env_servers available and up-to-date.

</comment><comment><USER14> I only work on a remote 'server', by which I mean my ubuntu desktop. I hate linux gui's so I use a mac laptop and ssh into the linux box, and run emacs in Terminal.app. For the occasional times that I need to step through java code with a debugger, I chromote in and fire up the IDE, but I don't actually use it to code.

</comment><comment><USER15> Not to detract from the excellent answers, but I suggest you step up a level and think about how to minimize (and ideally eliminate) the amount of remote editing you need to do.

In particular, the Twelve Factor App ([http://12factor.net/](http://12factor.net/)) (by the founder of Heroku) had a big impact in my thinking of how to remotely deploy and administer. In particular "1\. One codebase tracked in revision control, many deploys" and "X. Keep development, staging, and production as similar as possible". Note that these approaches are applicable to any hosting provider and technology.

Now, there are times (especially when you're debugging a breakdown in dev/prod parity) where it is enormously helpful to ssh into a remote machine. But I would endeavor to minimize those occurrences.

</comment><comment><USER16> Vim, mostly. The customization is remarkably easy, just copy my .vimrc and .vim out to the server. I have a folder containing all of my dot files which I sync between servers, and a simple bash script which creates softlinks to them in my home directory.

However, I don't do remote development as much anymore since I picked up the habit of using Vagrant locally. Now I can edit the files locally (though still with Vim), and debug them on a local VM. Throw in Salt and Ansible for orchestration, and once I get my local VM working, I know my remote end will work as well.

<comment><USER17> How do you share the files with your Vagrant VM? When we tried that at work, we noticed that trying to have a git repo on a share with Vagrant (rather than having it created within the VM's filesystem) was VERY slow.

<comment><USER16> I hear you - Virtual Box is getting worse and worse in terms of being able to interact with the host in anything resembling a timely manner. I wish the competition in the free VM space was better.

To get around this shortcoming, the sharing is mostly one way: from the host to the VM, via the default shared folder. I've not had problems with VBFS when managing files in this manner.

There have also been times where I have implemented watch scripts against files on the host, which triggers a rsync to the guest's normal file systems. From there, the file system behavior is more like what we can expect from a typical virtual machine.

To support workflows similar to what I do against non-local VMs, I've worked up some wrapper scripts which allow me to interact with the Vagrant VM via the usual ssh, scp, and rsync. When running "vagrant up", I also write out the VM's SSH configs and a ssh alias concatenates these with my base .ssh/config file.

</comment></comment></comment><comment><USER18> FTP? People still use FTP??? That's a protocol from another era, was designed to work in a way that's not compliant with today's best practices. The only FTP server I have runs on a Raspberry Pi file-server I have at home. There's no firewall in that little gem running.

As for tools, well vim is my default editor so:

vim (really lots of plugins, themes, extension support, personal .rc, etc.) + tmux (tmuxinator for projects) + ssh (heavy user, I use sockets to keep the connection up, use keys-only access, fine-tune the algorithms I use, etc.).

<comment><USER19> >FTP? People still use FTP???

Of course.. people never stopped. Anyone using Wordpress, for instance, will almost certainly require developers to use FTP. For most shared hosts, FTP is the default (if not only) available method for getting files on and off of the server (and yes, people still use shared hosting as well.) I would even venture to guess that "Save in Notepad, FTP to live server and F5 to see if it worked" is still the most common web development workflow in existence.

</comment></comment><comment><USER20> I do _all_ of my development on a machine in my home office, so I have the same files and tools whether I'm downstairs or across the world. So mostly it's ssh/vim/cscope. I build/test on other machines, so throw in rsync as well - most often directly, but occasionally into an sshfs-mounted directory (actually editing via sshfs is a bit painful sometimes). When things seem particularly flaky I'll use tmux to keep stuff going through disconnections, but usually I can do without.

</comment><comment><USER21> I find emacs with tramp unrivalled. Set up once then just open & save remote files by name from your local emacs. Switch to sudo as required.

No need for dotfiles or tools on the remote.

</comment><comment><USER22> I'd argue you shouldn't be working on remote servers at all. Ideally you should be working locally and deploy using Capistrano, Jenkins, Bamboo or git hooks etc.

<comment><AUTHOR> Sure, that's ideal, but what if you have a small laptop? It would be nice to make use of the power of your server to compile more quickly, and speed up your development cycle, right?

<comment><USER23> have a buildbot/jenkins set up which runs your test suite on a buildslave automatically when you push to a git branch?

I would still run my editor locally (your pick. I use vim almost exclusively).

<comment><AUTHOR> and do that for every project, even small throwaway experiments?

<comment><USER24> If it's a throwaway experiment, it shouldn't take too long to compile locally, I would think.

</comment></comment></comment></comment></comment><comment><USER25> You learn how to use the terminal, and only the terminal.

I recently read a blog post of a guy who started coding on a cloud VM using an iOS SSH app + bluetooth keyboard. He never stopped. The setup forces you to only work with SSH and eliminates distractions.

<comment><AUTHOR> Oh, yes, that: [http://yieldthought.com/post/12239282034/swapped-my- macbook-...](http://yieldthought.com/post/12239282034/swapped-my-macbook-for- an-ipad)

I've read it a while ago. Of course if you only use command-line editors, it's nice. But some people prefer Sublime or other graphical editors.

</comment></comment><comment><USER26> mosh + tmux + emacs

I can't believe how few people mentioned mosh. I work on remote boxes "across the pond" all the time and it makes a huge difference. Laptop going to standby, VPN dropping, slow connection, all handled perfectly.

<comment><USER18> Whenever I installed/used mosh (linux RPi/arm7 of FreeBSD x86) the CPU went crazy :-(

</comment></comment><comment><AUTHOR> Since a few people mentioned Vagrant: can I use it to set up a production environment locally, with all the system dependencies, configuration files, and then pushing it to production? If so, is this the recommended approach?

<comment><USER27> I'm not a Vagrant expert. I think it's possible to just ship a Vagrant file to the production server and turn it on, but I think the real value comes when it is used with a configuration management solution like Chef or Puppet. Use that to standardize between production and Vagrant, and then you can just deploy the application from one environment to the other without worrying about environment problems.

</comment></comment><comment><USER28> I'm working locally using full-featured IDE and publishing my work with simple shell scripts. When I need to edit files remotely, I just use vi. I know it well and it works perfectly even over slow network connections.

</comment><comment><USER29> I basically spend all my time in my terminal anyways so it's pretty similar to how I work locally.

SSH into the box, checkout my dotfiles from github (or SCP them), edit text files with emacs, or whatever else I have to do.

</comment><comment><USER30> I find WinSCP to be a good way to work with remote servers. It can use whatever editor you may like (ST3 in my case).

Supports full directory synchronization, has a nice UI and can be installed on a flash drive.

</comment><comment><USER31> If latency is a concern, use a remote file system (Fuse etc type thing). That way you can edit using local software and only write across the wire when you save.

<comment><USER32> Many editors will periodically check for remote changes (especially when switching away from and back to the editor) which can cause pretty annoying slowdowns.

<comment><USER31> good point. I wonder if you can ask for notifications rather than checking for changes (eg, inotify, fseventsd) remotely?

</comment></comment></comment><comment><USER33> I do as much development in a local IDE as possible. From there I just depend on git and ssh. Screen makes things a little more manageable as well.

<comment><AUTHOR> by 'depend on ssh', do you mean you ssh into the server and use a command-line editor?

</comment></comment><comment><USER34> For when the shit really hits the fan... a terminal server connected to serial port and remote power control for power cycling are indispensable.

</comment><comment><USER35> emacs + tramp + mosh + tmux

<comment><USER36> Tramp is outstandingly useful for remote editing tasks via ssh, telnet, ftp, whatever.

It's "smarter" than sshfs/fuse, because tramp understands which files are remote, and which are local.

</comment></comment><comment><AUTHOR> Thanks everyone for all the answers! It's really nice from you :)

</comment><comment><USER37> For Java: Samba share + IntelliJ For non-java: tmux+vim

</comment><comment><USER38> I use vim + tmux

</comment><comment><USER39> vim + tmux

</comment><comment><USER40> I see no reason to develop on a server. If that's what you're doing, that's a very bad sign in most of the cases.

<comment><USER41> There is an enormous reason if you work on, or use, systems designed for massive parallelism.

<comment><USER40> I still don't see the necessity... Develop locally, test remotely.

<comment><USER42> Some examples that just come to my mind:

\- You need software/dependendencies/licences you don't have in your local machine.

\- You need to edit a config file (/etc/hosts or whatever) in your server

\- You are in a Windows computer (that's not yours) and you need to make a quick change in your Ubuntu development server.

\- You need to edit some files when deploying (databases are no longer in localhost, /home/myname/ is /home/servername/, etc.)

\- You launched a large script in your server and need to (view or parse logs | edit the code and re-launch it | check why it didn't work)

\- etc.

<comment><USER43> software deps - this is a possible fair point. I've always managed to solve this by bringing the deps local though as a general sanity rule. config - <USER2> not source control it? quick change - why would you do a quick change differently to a non-quick change? edit while deploying - why wouldn't you script / source control this for repeatability / maintainability? log parsing - it sounds like you've got an edit, verify loop going on. Why wouldn't you want to formalize this so that you can see which changes align with which results?

</comment></comment></comment></comment></comment><comment><USER44> ssh, tmux, vim, git, more ssh, python, bash.

Depends on project, if it is JavaEE app, or Android, then you're screwed and might as well work on a local version, because you need IntelliJ.</comment>


Hacktober - <AUTHOR> https://opensource.christmas/2019/6 <comment><USER2> Just gotta say - Hacktober was a really cool event this year. It was a good opportunity to help different projects out, and to get more into open source work in general.

Hopefully you can choose to donate your t-shirt money towards environmental work or whatever next year.</comment>


Creating an AndroidWear watchface using Kotlin - <AUTHOR> https://email@example.com/creating-an-androidwear-watchface-using-kotlin-e5f725813fa9#.ge0ejo3wv <comment><USER2> I hope you had a good time at the diner with Rob. Did you have dinner there?</comment>


Example Project Using Chicken Scheme on Android - <AUTHOR> https://github.com/chicken-mobile/example

<comment><USER2> For Lisp-ness on both Android and iOS there is also mocl, [https://wukix.com/mocl](https://wukix.com/mocl)

<comment><USER3> how's dealing with UI on those two projects? couldn't grasp anything on this front from the code i found on the few pages i skimmed :)

</comment></comment><comment><USER4> I think projects like this are interesting if only because it gets dangerously close to the idea of having one language and codebase across all platforms. There is something incredibly appealing about that concept, but it never seems to be something that is easily accomplished or well executed.

It seems like you end up with either worse applications that can't give the full "native" experience in terms of speed/responsiveness, or you end up with some kind of emulation layer at the UI level that gives a consistent, but worse experience across platforms. In either case, it never quite turns out as planned.

The closest I've seen to this working is maybe games written in C++ that can be fairly easily built for different mobile platforms with a few native language bits done via a bridge where needed.

<comment><USER5> > The closest I've seen to this working is maybe games written in C++ that can > be fairly easily built for different mobile platforms with a few native > language bits done via a bridge where needed.

Speaking for the game industry, C++ is probably the only thing you can use almost everywhere. Some handhelds/consoles have certification gates and their own weird compilers. And almost every platform that runs games can run native code to some extent. Even browsers lately, if indirectly, with stuff like Emscripten and PNaCl.

So languages that compile to C (like Chicken) or have embeddable lightweight interpreters (like Lua) are similarly portable.

<comment><USER6> It's pretty ironic but it's true. C++ is your best option if you need code that works on multiple platforms. You could always write in C I guess but personally I find C too low level for app development.</comment></comment></comment>


Can Grade-Skipping Close the STEM Gender Gap? - <AUTHOR> https://www.theatlantic.com/education/archive/2017/04/can-grade-skipping-close-the-stem-gender-gap/523305/?utm_source=fbb&single_page=true <comment><USER2> The gender gap in general is a complicated subject. Pushing gifted young women to skip grades in order to 'have it all' seems like well intentioned but perhaps misguided. Does anyone else think that adding pressure to women to skip grades is a bit of a double standard?</comment>


Talkray (YC W12), an under-the-radar messaging app, takes off overseas - <AUTHOR> http://fortune.com/2014/09/23/talkray-messaging-app-series-b/

<comment><USER2> If you're a Peter Thiel fan, they discuss their secret here: Developing countries have poor mobile data infrastructure and thus messaging apps need to be optimized for a poor connection.

<comment><USER3> I'm assuming they're just using a simple "store and send repeatedly until receipt is acknowledged" model, kind of like Skype does. Maybe I'm just naive but is it difficult to build a messaging app that works fine over unreliable connections, as long as a small delay is acceptable?

User interface and tie-in features seem like the only difficult parts for apps like these.

edit:

Nevermind, read more of the article and realized they also optimized voice calls for slow and unreliable connections, which is a far more difficult feat.</comment></comment>


iOS App Without a Mac - <AUTHOR> https://weisser-zwerg.dev/posts/ios-app-without-mac/ <comment><USER2> Cool! I recently participated in developing an IPhone Swift application in Xcode on a MacBook. The IDE is amazingly simple, just click "play" to run an application in a simulator on a connected IPhone. I guess it's not that easy if you don't have any Mac software/hardware (what about an simulator?).</comment>


The Fall of Steve Jobs: Then 1985- Now 2010 - <AUTHOR> http://money.cnn.com/magazines/fortune/fortune_archive/1985/08/05/66254/index.htm

<comment><USER2> Misleading title</comment>


SVG Line Animation for the Uninitiated - <AUTHOR> http://www.bitmatica.com/blog/svg-line-animation-for-the-uninitiated/ <comment><USER2> Why are all the SVGs displayed as animated GIFs? Is there no way to display native SVG animation in the browser?

<comment><AUTHOR> We're using Ghost as our blogging platform with deliberate constraints. Constraints aside, if you notice throughout the article, I'm using Codepen to help visualize the edits as I make them. This helps reinforce the concepts and is pretty low friction. I also provide the link at the end so readers can follow along. Thanks for reading!

<comment> ctrl-j I would look at your scaling. When I saw this post on Medium, I didn't really notice the gif-ness. On bitmatica.com it looks like everything is scaled & blurred - which makes everything look out of focus.

<comment><USER3> They appear to be non-retina for me on iOS too.

</comment></comment></comment></comment><comment><USER4> "... Unfortunately Internet Explorer ..."

Every piece of reality has its own IE - Unfortunately.

</comment><comment><USER5> Can this also be done with a calligraphic pen? (I.e., pen with a slanted stroke).

I'm asking because this is a style that is used a lot in cartoons.

<comment><USER6> You could create stroke-width-ratios by applying SVG transformations to each path element, or groups of it.

Then you have to compensate for the introduced transformation in the stroke path geometry itself.

Example: [http://codepen.io/mxfh/pen/RopMvr](http://codepen.io/mxfh/pen/RopMvr)

Kind of hacky, but this could be automated by evaluating the stroke transforms and applying the reverse transforms to source path geometry for compensation.

<comment><USER5> Wow, looks useful! I didn't realize that it could actually be that simple :)

But of course applying the inverse transform to arbitrary paths could still be a tricky mathematical operation.

<comment><USER7> If you're willing to use the canvas instead of SVG, it's even easier. You can draw the path in one coordinate system, then change the coordinate system for the action of stroking the path, which will not change the location of the path on screen but will let you effectively make the stroke into an arbitrary ellipse.

</comment></comment></comment></comment><comment><USER6> I kind of hate mixing SVG with CSS.

Somewhat relieved learn that SVG SMIL animations are staying in Chrome, for now: [https://groups.google.com/a/chromium.org/d/msg/blink- dev/5o0...](https://groups.google.com/a/chromium.org/d/msg/blink- dev/5o0yiO440LM/YGEJBsjUAwAJ)

<comment><USER8> Can you elaborate on why? We use css to style images. I did an svg animation a few weeks ago and used a mix of css and javascript. I find this much nicer

<comment><USER6> Let's tone it done a bit and say it's a preference.

With SMIL including the animation as SVG elements just feels more right and complete (like allowing animations along a path) to me.

</comment></comment></comment><comment><USER9> I'm working on a project right now where I'm using this technique, but there is one thing that I've been wondering. Is there a way to make the line look more hand-drawn, or faded in some way? I've tried using SVG Filters but I can't seem to get it quite right.</comment>


Are Web Forums an OK Way to Sell? - <AUTHOR> http://foundread.com/2007/11/26/are-web-forums-an-ok-way-to-sell/ <comment><USER2> Well, I think it's OK to sell on a forum as long as you are upfront with your users and explain your intentions to them.</comment>