How Facebook, Apple and Microsoft Are Contributing to OpenStreetMap - <AUTHOR> https://theodi.org/article/how-are-facebook-apple-and-microsoft-contributing-to-openstreetmap/ <comment><USER2> Seems like OSM has a future. This is great. Only sad thing is perhaps some day we won't be able to have the fun of making contributions ourselves, if the big companies handle all that for us like Google does. In the mean time, though, I can make an easier case to people as to why they should care about this, since it's now used by Apple and Pokémon Go.

<comment><USER3> > Only sad thing is perhaps some day we won't be able to have the fun of > making contributions ourselves, if the big companies handle all that for us > like Google does.

There will always be room for individual contributions, because there are things that the big corporations do not care about. For example, many hiking trails and agricultural tracks good for cycling are missing from Google Maps because they simply do not have a business case for those details. Yet they are on OpenStreetMap because when OSM editors actually walk or cycle those ways, they add them to OSM.

Another example is opening hours for shops. There are only three ways those can end up on the map: 1) the business itself adds them, 2) a large corporation is aware of them and adds them, or 3) an individual mapper copies them off the sign at the shop's entrance. For a lot of small shops, only 3 is realistically going to happen.

<comment><USER4> I'm pretty sure that Google Maps does auto-discovery of hiking and biking trails by simply watching peoples' positions?

At least I've had rather good experiences using Maps for biking. Even small, unofficial paths were mapped, and travel times indicated that Maps had an accurate idea of their condition.

<comment><USER3> With auto-discovery of routes, Google might be picking up the most popular routes, but that does that does not mean they are the best ones. For example, on Strava heatmaps you can frequently see routes that are heavily cycled, but they might also be extremely stressful because one has to share the road with traffic. In fact, most cyclists might only be using them because they are sports cyclists with very thin tires unable to explore and find other options. The great thing about OSM is that it only takes a single mapper to find a nearby alternative and add it to the map.

> At least I've had rather good experiences using Maps for biking.

You wouldn't in many countries around the world. Google Maps is considerably inferior to OpenStreetMap for cycling in much of the Western Balkans, Africa, and Patagonia.

<comment><USER4> Funny you should mention Albania: It's exactly where I learned never to doubt Google Maps.

Specifically, never to assume that "It's like ten meters between these two points... I don't see a reason why we would need to go all the way around".

(There was a 30m deep gorge)

More to the point: Given enough position data, Google should be able to assess all those road parameters you mention, far better than manual entry could ever do at scale. They could easily notice, as but one example, when locals routinely take different routes than they would suggest and modify their data accordingly.

<comment><USER5> Shouldn't matter if Microsoft and Apple are both collecting the same telemetry and feeding it into OSM.

</comment></comment></comment></comment></comment></comment><comment><USER6> Yahoo (remember them?) allowed OSMers to use their aerial imagery from 2007 till 2011. Microsoft has allowed OSMers to use Bing aerial since 2010, and to be honest, it's probably been the most beneficial contribution to OSM of the ones in the article.

Also, Apple gave a talk at SotM about "working with the community" and demanded that that talk not be recorded (unlike all other talks thre) or shared with anyone else. Hardly in keeping with the spirit of "openness".

Facebook's computer vision imports are of dubious use.

<comment><USER7> Indeed the Bing imagery is one of the greatest non-financial gifts ever given by a technology company, regardless of motives.

When I started working on OSM about a decade ago my area was a greenish blur on the photo underlay and everything had to be manually positioned from GPX tracks. It took hours to map a street and given GPS error margins it was never certain to be exact.

Now anyone can log-in and start tracing roads / paths / buildings and it just takes a couple of physical visits to backfill the enumeration and names.

</comment></comment><comment><USER8> Feel free to install on Android: [https://play.google.com/store/apps/details?id=com.mapswithme...](https://play.google.com/store/apps/details?id=com.mapswithme.maps.pro)

or [https://play.google.com/store/apps/details?id=net.osmand.plu...](https://play.google.com/store/apps/details?id=net.osmand.plus)

<comment><USER9> even better...don't need to use Google Play: [https://f-droid.org/en/packages/net.osmand.plus/](https://f-droid.org/en/packages/net.osmand.plus/)

<comment><USER10> also, the gp's first link (MAPS.ME) is available on FDroid as an open source fork with ads & blobs removed: [https://f-droid.org/en/packages/com.github.axet.maps/](https://f-droid.org/en/packages/com.github.axet.maps/)

It also comes with some nice extra features added, but ymmv on the stability of those features

<comment><USER11> last time i checked you could not login with your account and update maps, is it fixed?

</comment></comment></comment></comment><comment><USER12> For anyone interested in setting up their own OSM tile server + Nominatim geocoding: Here's an up to date docker image that is relatively easy to set up: [https://github.com/drwitter/osm-tiles- docker](https://github.com/drwitter/osm-tiles-docker)

Great for maps in offline environments and/or querying without API limits!

Really think OSM is great.

</comment><comment><USER13> There is also some controversy around it : the big players do data mixing from different sources, which is not strictly compliant with OSM licenses. Also some say that their bulk editing creates nice map data, but harms local potential mapping communities, with early case of Netherlands where AND contributed map data resulted to no real manual map updates afterwards. So some say that community, not map must come first, so the "guerilla mapping" is bad.

<comment><USER10> > _There is also some controversy around it_

Do you have a link to some commentary on this?

I'm aware of MS's generated US building footprints[0] but this hasn't (yet) been integrated into OSM (largely I think due to quality and bulk-import etiquette worries). And also StreetSide[1] but this isn't imported into OSM itself, rather it's displayed as an aid for editors.

Facebook is looking at contributions similar to MS's US building footprints (but for roads), but again this is mainly around tooling and generation rather than data sources, and is speculative as far as I've seen.

[0] [https://github.com/Microsoft/USBuildingFootprints](https://github.com/Microsoft/USBuildingFootprints)

[1] [https://github.com/openstreetmap/iD/pull/5050](https://github.com/openstreetmap/iD/pull/5050)

<comment><USER6> > _Do you have a link to some commentary on this?_

[https://wiki.openstreetmap.org/wiki/Talk:AI- Assisted_Road_Tr...](https://wiki.openstreetmap.org/wiki/Talk:AI- Assisted_Road_Tracing) [https://forum.openstreetmap.org/viewtopic.php?id=57942](https://forum.openstreetmap.org/viewtopic.php?id=57942) [https://forum.openstreetmap.org/viewtopic.php?id=63456](https://forum.openstreetmap.org/viewtopic.php?id=63456) [https://forum.openstreetmap.org/viewtopic.php?id=57387](https://forum.openstreetmap.org/viewtopic.php?id=57387)

</comment></comment></comment><comment><USER14> During a rotational program out of college I was the product manager at Facebook working on maps as the team led up to the first ML contributions to OpenStreetMap ([https://2016.stateofthemap.us/how-can-ai-help-us-make- maps/](https://2016.stateofthemap.us/how-can-ai-help-us-make-maps/)). There's an interesting story about a large mistake I made that is interesting to share:

I started working on this project because I believe that map data should be open as did everyone else on the team. There was (and still is to some extent) a lot of skepticism about whether large corporations have the best interest of the map at heart - and what tools need to be put in place to make sure the quality stays high. It's pretty clear to me that there can be an alignment in goals because whether it's a company, person, or nonprofit everyone prefers accurate map data. The questions are about margins of error & OSM rightfully leans toward only extremely high confidence.

One good thing about Facebook joining in on updating the open map is resources are not much of an issue. Our team was able to just call up and purchase the rights to the satellite images we needed instantly. For quite some time we had working models that generated edits for roads that were missing from the map. Leading up to the yearly conference there was a question of whether we should present all of our findings to the community and see what they thought before making any edits.

No one on the team was willing to push the button on submitting any of our edits because we weren't sure if they were good enough and it would feel shitty to be the one who broke the relationship between Facebook & OSM. Beyond the software engineers even the people who were paid hourly to train the models became invested in believing it was important that Facebook reach a way to channel its massive resources into the project.

Eventually we all gathered up and I just pushed the button to contribute a random 1km / 1km square in Egypt (we'd already computed edits across the country accounting for over 100% increase but things could always get better). Then we waited. No one ever reached out so we started contributing a little more at a steady rate to see if anyone else working in the country noticed (including improving the original 1km / 1km box as the models improved).

We were testing the ML in some of the harshest conditions we could find (low contrast in the desert) so the research team started working on another model for India (winding dirt roads, lots of rivers, tree cover). All of our edits went through street-by-street human approval which was working but slow going since the number of people on the project could fit in a Facebook friend recommendation unit. After not receiving much contact in Egypt (the map community there is small) we received initial positive feedback from local mappers in India and decided to ramp up the speed of contributing which meant getting a war room in Menlo Park and rounding up a larger group of people to review the machine suggested roads.

I ended up gathering a few too many people and myself along with the core team was too hasty in communicating the quality bar for submission. We planned to shadow edits as the week went on to make sure the new members were up to speed but things unfolded much more quickly. Within a few hours we accidentally submitted a few bad roads. A local mapper noticed as he'd just driven the area on his motorcycle the day before. I immediately left a meeting where we were negotiating buying more satellite imagery and jumped on a bike back to the war room. No harm done, we had scripts ready to undo edits.

When I got into the war room things were more problematic. Quite a few of the new folks had made similar mistakes so we paused everything. There was now a small group of local mappers in an IRC channel worried about large scale vandalism (though they quickly realized that wasn't the case). They noticed the breadth of the edits and tracked down the accounts of most everyone in the room. The map community in India is one of the better communities but still a room of this many people making edits at a such a scale was unlike anything you'd normally expect since the ML made editing 10-100x faster than hand tracing imagery.

During the time when the local mappers believed this might be intentional vandalism they escalated to the global community. So that's how a large chunk of the OSM leadership found out Facebook was doing work on the map - some of our worst edits. Shit! It ended up not being so bad however. The entirety of the bad edits were reverted in a few minutes with oversight from the head of the OSM data working group. IMO the situation accidentally showed some of the OSM corporate contribution skeptics that even the worst case wasn't so bad & Facebook was definitely wanting the community in control of any crises.

It wasn't all thought through but it's quite interesting in retrospect how the engagement strategy panned out.

<comment><USER15> Hi from the OSM data working group. Please don't do massive imports like this without discussing them first with the local community, and the global one if there's no significant local one.

The impact from the massive Facebook edit was more important, I think, and people are still very skeptical about whether massive ML mapping like this can provide value to OSM today. Announcing and discussing the edits first would have been better PR. Recovering goodwill will take a lot of time and effort.

Our guidelines prohibit undiscussed edits like these, and not only the ones that cause trouble. It is not respectful to the unpaid volunteers that cleaned up after this that LukeWalsh seems to think it was "not […] so bad".

Please see:

[https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_...](https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct)

[https://wiki.openstreetmap.org/wiki/Import/Guidelines](https://wiki.openstreetmap.org/wiki/Import/Guidelines)

</comment></comment><comment><USER16> Uber [https://github.com/Uber-OSM/NewZealand](https://github.com/Uber- OSM/NewZealand) plus many other smaller organisations have dedicated OSM teams contributing too.

</comment><comment><USER17> Are Apple and Microsoft's map services built on OpenStreetMap? Or are they just contributing for the heck of it?

<comment><USER10> Not originally, though Microsoft have recently added an OSM layer to Bing, and Apple have attributed OSM as being a contributor to their overall AppleMaps dataset in some parts of the world.

</comment></comment><comment><USER18> Maps are not just roads. POIS, transit rails, pedi paths all play a role,esp in cities. And OSM does well with path data but it's POI data is disappointing compared to Google. Transit stations are in the data but no info about what lines serve them. For eateries or stores, hours, menu focus, parking data is often part of Google POIs but is missing from OSM.

All great reasons this data is not present, but that does limit OSM usage in a wide group of cases.

The data that is present, however, is wonderful.

<comment><USER19> I do occasionally add opening hours to OSM but the interface is a bit clunky in id editor.

I would recommend using Street Complete, that has a really easy interface to add that kind of information to osm.

[https://play.google.com/store/apps/details?id=de.westnordost...](https://play.google.com/store/apps/details?id=de.westnordost.streetcomplete&hl=en)

It is in beta but still very useful, and does not feel like a beta (really stable)

</comment></comment><comment><USER20> This is great! Google has recently spiked fees drastically and it will be good to see more alternatives with high quality data

<comment><USER21> Because of that I needed to abandon Google Maps Api. But good thing is I learned how to download OSM data, generate and host my own maps.

<comment><USER22> Yeah, me too :-) Just got it running yesterday on my devbox. Still thinking of hireing Geofabrik to set up the real server when I'm done though.

</comment></comment></comment><comment><USER10> This is great, but I'm surprised to see Apple featured so prominently in the title here alongside Facebook and Microsoft.

Apple has an internal volunteer programmer whereby employees can choose to spend their time contributing to OSM—part of employee benefits (which is nice), whereas Microsoft and Facebook are actually contributing mapping data the company has created/collected to OSM.

Furthermore, just 2 of the 3 listed companies are major sponsors of OSM events: [https://wiki.openstreetmap.org/wiki/State_of_the_Map_2018#Sp...](https://wiki.openstreetmap.org/wiki/State_of_the_Map_2018#Sponsorship)

<comment><USER23> > just 2 of the 3 listed companies are major sponsors of OSM events

Don't assume that because a company isn't listed, it doesn't/hasn't contributed.

<comment><USER10> > _Don 't assume that because a company isn't listed, it doesn't/hasn't > contributed._

That is the list of all sponsors for that particular event. Apple did speak at the event, though their talk[0] was the only one not recorded, photos were forbidden, and they uploaded no slides afterward. The topic was their employees' volunteerism.

[0] [https://2018.stateofthemap.org/2018/T081-Working_with_the_Co...](https://2018.stateofthemap.org/2018/T081-Working_with_the_Community/)

<comment><USER23> Yes, I was there. You might remember from the Q&As afterwards that Apple is a corporate member of OSMF but not listed as such, for example. The topic wasn't principally volunteering, though that was mentioned.

</comment></comment></comment></comment><comment><USER24> So OsmAnd and maps.me look great. Is there an Android app which i could run to contribute traffic data flow and traffic events (accidents or obstacles on the road) like Waze does?

<comment><USER25> Someone mentioned it in the thread but I can't find who. There is [https://openstreetcam.org](https://openstreetcam.org) that I haven't yet used but intend to.

</comment></comment><comment><USER26> Is there anything OSM-based like gmaps with the ability to search for ie restaurants in an area, then get voice navigation to the location? Even something that lets you search for "McDonalds near this address" would probably be good enough for me to switch.

<comment><USER27> Sure, but how useful they are will depend on whether the data in your area of interest is decent or not.

OSMAnd and Maps.Me both have poi search and voice navigation.

</comment></comment><comment><USER28> They could use some money and hardware... Currently the site loads

This website is under heavy load (queue full) We're sorry, too many people are accessing this website at the same time. We're working on this problem. Please try again later.

</comment><comment><USER29> It is quite strange to see that many companies compiling essentially the same dataset for themselves. If a proprietary map is not necessary for your strategy it may well make more sense to go with OpenStreetMap.

</comment><comment><USER30> I wish they contributed to DuckDuckGo as well. Or perhaps the issue is that DuckDuckGo is not open-source?

<comment><USER31> Microsoft provides the search index for DDG in the form of Bing.

<comment><USER30> Interesting. I wonder in what format the index is provided. (Hopefully then don't simply anonymize and forward user-searches to Bing).

</comment></comment></comment><comment><USER32> I want to try openstreetmap, whats the best client available for android? (Pref. f-droid)

<comment><USER33> MAPS.ME is the best one by a pretty fat margin, I'd say.

Map viewing is wonderful, the best I have experienced on Android. It's very fast and super detailed.

Routing has some issues. The estimates are way off, routing by bike means road bike (not MTB) and the voiceover speaks too early or too late.

</comment></comment><comment><USER34> This is competitive pressures at work, similarly to IBM and other's investment in Linux in the early 2000's as a way to place competitive pressure on MS/Windows.

If you're not the leader in the field, and won't be able to catch up just by investing, you try to make the leadership in the field (Google's) irrelevant.

If the 2nd-best-by-small-margin base map info is open, having the best one isn't a competitive advantage anymore.

<comment><USER35> Second best? At least in my experience, OSM data is leaps and bounds better than Google Maps in every way possible, and it has been that way for a couple years now. The reason that I still use Google maps is that it's fast and well- integrated with my phone, and it has a lot of added features on top of the actual mapping that makes it very useful --- things like location sharing when you're on a longer road trip, creating a notification on your phone to route to an address from your browser, live traffic information, road closures, and business reviews. In terms of the actual data, though, the details available on OSM puts Google's data to shame.

I've been trying to get Google to fix an incorrect path drawn at a state park that I frequent. I've submitted an alternative route twice now, but it's been denied twice with little explanation. The path is a loop, but Google has it missing half of the loop, off by an eighth of a mile or so, and has it drawn where it cuts through private property. In contrast, OSM's data is completely spot on with what my GPS shows.

The park is in a tourist area, and I go to this park often enough that I've actually ran into multiple people visiting who have been standing on the trail with Google Maps open on their phone, thinking they've made a wrong turn.

I've experienced the same thing at GNP in Montana, BWCA in Minnesota/Canada, and all along the Richardson Highway in Alaska. If you're in a rural area or on public land, OSM data is the best available --- even better than what a ranger station would sell you.

<comment><USER36> My problem with OSM, besides the lack of satellite layer, is that it doesn't seem to offer any (detailed) info of landmarks - just the name, sometimes not even that: for example, some churches are just marked with a cross.

<comment><USER2> If you want to try something really fun, install OSMAnd and download the Wikipedia maps, and then enable them I think in the "layers" option. I don't even think that's OSM data, I think it's geocoded Wikipedia articles. They show up on your map, and you can click on them and read them all offline.

<comment><USER2> I was way wrong. It's under "Configure map" and then "POI Overlay...".

</comment></comment></comment></comment></comment><comment><USER37> Our HR department wouldn't let me give proper feedback. Even though I've had some people that, with a little tweak to their knowledge, or a slight shift in thinking, could become great hires.

There's tonnes of candidates out there that just lack something small, or are slightly less ideal than someone else... yet still have all the raw talent and potential in the world.

But you can't always hire them because you don't have the resources to up- skill them efficiently. Or you need someone that can more readily contribute to a project.

I've certainly got some people in mind whom I'd love to contact as soon as I start at a different employer, to drag them on board if said employer had the resources to properly develop them.

Ah well.

<comment><USER38> Wrong thread, perhaps.

<comment><USER37> That's embarrassing.</comment></comment></comment>


Ask HN: Any Zapier Alternative to Automate Twitter? - <AUTHOR> I use Zapier to automate Twitter. I add to a list people who post on a certain #topic. And from time to time I browse the list and add to friend people who meet certain criteria, or I like what they post.
I am looking at alternatives, because I find the first paid tier on Zapier way too expensive. I would gladly pay something like $5 for a lower number of "zaps" per month.
This has helped me network with like minded people. I looked at N8n.io but it lacks Twitter altogether. And in IFTTT I can't create this simple workflow... Maybe I am missing something. <comment><USER2> There's another cool tool called Automate.io. It offers a lot more tasks than Zapier, I think around 250. It also allows multi-step Bots in the free plan.

Check this link out for more info - [https://automate.io/zapier- alternative](https://automate.io/zapier-alternative)

</comment><comment><USER3> Out of curiosity, what is the limiting factor of the free tier on Zapier for you? You need more that 100 runs per month, or you need multi-step workflows?

Perhaps [https://www.integromat.com/en/](https://www.integromat.com/en/) would work for you.

<comment><AUTHOR> The 100 runs per month, if I had something like 500 it would be enough. But 100 per month, or 3 per day basically, it's too few. I'll take a look thanks!

edit: looks good, I was able to create the same flow and the free tier is more generous! Thank you!</comment></comment>


PHP introduces "goto" - <AUTHOR> http://www.php.net/manual/en/control-structures.goto.php <comment><USER2> The first user contributed note on that page:

      <?php
        wtf:
        echo 'For real!?';
        echo 'Srsly!?';
        goto wtf;
      ?>

Heh.

</comment><comment><USER3> Why is everyone jumping on this as a negative? Goto isn't inherently evil. Of course in most cases there is a construct that would be a better fit than goto, but it does have its uses. As far as readability goes, odds are a programmer isn't going to be jumping to a label 300 lines up, its used mostly to break out of nested loops and to simulate stuff like state machines. Check out <http://david.tribble.com/text/goto.html>

<comment><USER4> They already have a break statement to get out of loops of arbitrary depth. <http://www.php.net/manual/en/control-structures.break.php>

And why, except perhaps for the hack value, would you simulate a state machine in PHP?

GOTOs are good when used wisely in certain contexts. I don't see where they could be of any use in the PHP niche (but I'd be glad to hear about such examples). Seasoned PHP coders don't need it.

Besides, PHP is mostly a beginner's programming language, who learn by example using code found online. They will be exposed to even worse practices from day one.

</comment></comment><comment><USER5> ugh. they caved. too bad. this kind of hurts their movement towards OO. now we'll probably see see tons of people using goto as bandaid measures instead of learning better techniques to solve their problems. look out for raptors.

<comment><USER6> Oh, common. Are we talking about the language that allows run-time _renaming_ of the variables ? I mean if you have _that_ then adding a goto hardly qualifies as "too bad".

<comment><USER7> How exactly do you rename a variable?

<comment><USER8> I suppose he means something like:

        $foo = 42;
        $bar = 69;
        $which_one = 'foo';
        print eval "\$$which_one";

<comment><USER6> Actually, no. That's not it. This is an equivalent of a pointer to a variable in C.

What I was referring to is the actual renaming the variables in run-time, i.e. change variables' key in the table of variables. So the code like this:

      for ($i = 0; $i < 8; $i++)
      {
        ..
        <rename i to j>
        ..
      }

would throw a run-time error on the second iteration, because $i will become undefined. It was completely and utterly "out there", that's why I remembered it. Also showed it to a bunch of people, all of them were equally amazed. But now I can't seem to find where I saw it and what the exact syntax was.

<comment><USER9> I don't know how you'd do that in PHP, but I'm pretty sure that you can do it fairly easily in Python and Lua, and I've never heard anyone claim that (more or less) first class environments are a feature of bad languages.

<comment><USER6> You are missing the point. PHP is a very odd and subjectively inconsistent mixture of language features, so adding a goto support is hardly a _bad design_ decision.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Sweet! Hope they implement COMEFROM next.

<http://en.wikipedia.org/wiki/COMEFROM>

<comment><USER11> Most langauges have that. It's called "catch".

</comment></comment><comment><USER12> I feel like I've been trolled by the PHP haters again.

All of this language-ism is killing my chi.

<comment><USER12> I feel this is a relevant cross post, at least for my own amusement:

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

</comment></comment><comment><USER13> So what? If you think goto is harmful, don't use it. If you think PHP in general is harmful, don't use that either. Maybe help build something comparable to Wordpress or Drupal in your favorite language so other people can use it instead of PHP. If all you have to offer is empty sarcasm, goto Reddit.

<comment><USER14> And then you have to maintain spaghetti code in PHP with gotos.

</comment></comment><comment><USER15> I've thought of adding goto to Sleep. Have you ever looked at the code in the Linux kernel? It's full of gotos. They use goto's to make sure functions have one exit point and to cleanly deal with errors in one spot.

<comment><USER16> Kernel hackers know presumably what they're doing and use goto only when they have a good reason. Can the same be said of PHP programmers?

I'm all for the "don't protect programmers from themselves" philosophy, until I'm the guy who has to use or maintain the code.

<comment><USER17> Not having goto's is not going to help you in the slightest from bad programmers.

<comment><USER18> I disagree. Goto is the Comic Sans of keywords, a tool which may be used tastefully but ends up far more commonly abused to horrible effect.

</comment></comment></comment></comment><comment><USER17> Yay! Finally I've been waiting for this for a long time.

I can finally get rid of some spaghetti code: goto emulation via while loops.

Yes, it's not often you need goto, but sometimes you do.

<comment><USER19> No way! I do exactly this. Switch statement, while loop, and lots of continue statements.

Its a lowering of basic blocks that I want to print out to test.

What's yours?

</comment></comment><comment><USER20> Finally! Now PHP really is the web's assembly language.

</comment><comment><USER21> So....all the progress PHP has made in recent years has not been undone.....but has been rendered irrelevant. Never again will anyone be taken seriously while using PHP. It will once again be purely the domain of amateurs and script kiddies.

This is being said as someone who has created marvelous applications in PHP and has dealt with all the PHP language shortcomings up to this point. Makes me truly, truly sad.

</comment><comment><USER22> This isn't some kind of surprise. It has been discussed for some time now.

There is also no reason for a developer to use it if it's not wanted.

</comment><comment><USER23> I understand why C and C++ have goto statements (as well as other older languages). But to actually "introduce" goto's in a language that didn't have it or need it, making it even possible to write such horrible code is, in my opinion, pointless and worthless. It promotes illegible and bad code in general.

</comment><comment><USER24> Goto is a good idea in C, not only for the obvious low-levelness reasons, but also because if you can write C you are almost certainly a bit wiser than the average PHP programmer that may use goto for things I prefer don't think about before to go to sleep :)

<comment><USER25> "If you want to go somewhere, goto is the best way to get there" \-- Ken Thompson

</comment></comment><comment><USER26> I was working for a company doing mostly COBOL programming about a year ago, and I can honestly say that GOTO can be used neatly and effectively, but it can also turn code into a horrible mess. For COBOL, it's an absolute must. There are no while or for loops in COBOL (at least not in the version we were using), so you had to replicate that with GOTO's and paragraphs. For PHP, I really don't see this as necessary.

So long as it's not widely publicized in tutorials and the like, I don't really see a whole lot of novice coders getting their hands on this. I'm not particularly concerned about experienced programmers using GOTO in PHP, especially if they've used in another language where it is more necessary.

</comment><comment><USER27> Anyone knows where's the PHP core team blog/site (if there's such team)?

<comment><USER27> Someone pointed out the minutes-of-meeting <http://www.php.net/~derick/meeting-notes.html#adding-goto>

</comment></comment><comment><USER28> This helps quite a bit... It helps people move on from PHP because it is the 'language that later added goto'. A sad day for programmers in PHP.

gotos are a bad programmer's recursive method. Even people that use while loops like pepper scare me a bit. I have seen many'a'app get stuck in memory draining death loops with goto and even while(). Flags are dead, long live events and messages.

</comment><comment><USER29> I once used that a lot on my C64. Made sense back in 1982 and in limited cases, makes sense today.

</comment><comment><USER30> From the page:

"It is not allowed to jump into a loop or switch statement. A fatal error is issued in such cases."

At least that isn't possible. What a mess it would be if this wasn't the case.

</comment><comment><USER31> Haha, wow how sad. The kind of sadness created when realizing how disgustingly pathetic our evolution can often be.

I can't wait to spend minutes of my life when I have to go through another programmer's PHP code who uses gotos.

<comment><USER32> I think you left out your _goto CalmDownFirst_ line in your _DramaQueenPreventor_ class.

</comment></comment><comment><USER33> This feels like a giant step towards the past.

<comment><USER34> Using PHP is a giant step towards the past.

PHP will never fully be utilized as an OO language by the vast majority of its user base due to its syntactically terrible standard library and history as a functional language.

As such, this addition makes plenty of sense.

<comment><USER17> PHP will never fully be utilized as an OO language because it's a stupid idea to write web pages with an OO language.

Web pages are just not suited to OO. Encapsulation can be done via functions - adding OO to it gets you nothing except longer code.

Making things more complicated does not make them better.

<comment><USER9> I almost agree with this. I'm experimenting with Kohana for my latest code, and even though this is supposed to be the lean, fast OO framework, there's a LOT of boilerplate associated. Less than a third of my code is actually get- things-done code, as opposed to more than two thirds last time I was using a home-grown, not-especially-OO framework.

Maybe some other framework does this better, though.</comment></comment></comment></comment>


Launch HN: Mudrex (YC W19) – Automated Trading Without Code - <AUTHOR> Hello, HN!
We're Rohit, Edul, Prince, Alankar and Snehil. We're building Mudrex (https://mudrex.com).
Mudrex helps traders automate their trading without having to code and spend a lot of time and money building infrastructure. Though we have started with cryptocurrency trading first, our goal is to help anyone who wants to get into automated trading or investing across any asset class.
We had been trading cryptocurrencies for some time and were not able to track trading opportunities across 1000s of currency pairs for 24 hours a day and 7 days a week. We thought of automating our trades, but faced challenges like being unable to access historical data, building a testing framework to test strategies on historical or live data, and maintaining connections and orders on multiple exchanges. Also, since it was all coded we were not able to quickly iterate on trading ideas, since for simplest changes we had to dig into code and deploy new strategies to retest them. That also made it hard to have a log of all the trades, strategy changes, back-tests, papers to compare things at one place.
After talking to hundreds of traders, we found out almost all active traders were facing the same problems, so we decided to build Mudrex. At Mudrex traders can quickly build any kind of trading strategies using 150+ indicators, 50+ candlestick patterns, price or volume action. They can test their trading strategies on historical and live data to optimise and automate their trading by connecting their order using exchange API keys.
Cryptocurrencies are just a start for us and we have been growing very quickly since the launch and getting feedback from more and more people every day. There are millions of traders out there, trading manually across different asset classes just because they don't have capital and resources to build an automated trading infrastructure from scratch. We want to solve all of their problems so they can focus on building trading strategies instead of spending too much time on infrastructure issues. One of our users defined our goal as "democratising algorithmic trading and investing" and we are working hard every day to get closer to that.
For the next 2 months the platform is free to use but we will charge a $0-$100 monthly subscription fee depending on usage with a free tier available.
Next on our roadmap are things like a code editor (where traders can build custom indicators using minimum coding), a marketplace between traders and investors, and integrating equities and forex.
We dream of reducing the gap around financial opportunities between the wealthiest and the rest. We just got started and are going to face many technical/design/operational challenges, but with the help of our users' feedback and support we feel we can achieve it. Looking forward to hear feedback from the HN community to keep going in the right direction! <comment><USER2> What you have built looks great and I am sure a lot of work went into it. However, as someone with a bit of trading experience (running a profitable custom-built trading system myself) who has friends that lost money I would like to post a few words of warning to anyone who believes they can build profitable trading strategies on top of someone else's platform: It's extremely unlikely. While you may hear stories of people making money, most of them are pure luck (I recommend the book Fooled By Randomness). To make a stable incoming with trading you must have a consistent "edge", a competitive advantage that other traders don't. Possibilities here include 1. data, that could be be cleaner, more fine grained (L2/L3 book data, better reconstructed, etc) 2. infrastructure. This includes highly latency-optimized server placement, custom API integrations, fault tolerance, dealing with api issues, etc 3. "smarter" trading strategies - What many companies are selling you is that you can make quick $$$ by coming up with some secret trading strategy (3). That's how they make money off you. These charting patterns are pseudoscience. 99% of all edge in crypto trading is in #1 and #2 - infrastructure and data, with relatively simple well-known strategy algorithms. By "outsourcing" this to a platform you are giving up your edge and set yourself up to lose money in the long run.

Also, ask yourself why someone would offer a platform to build profitable strategies instead of simply trading themselves based on their competitive advantage. The answer almost always is: Because they failed to trade profitably and pivoted to selling their (unprofitable) infra.

I don't want to put down what you have built. I know firsthand how hard it is to build some of this infrastructure. I would just like to warn people to not easily trust trading infra providers before they lose money.

<comment><AUTHOR> What you are saying is right specially for HFT and also because no platform have been able to achieve that till now. We decided to build this only after talking to 100s of traders personally. We definitely can't help people develop profitable strategies but if someone has a strategy, she wouldn't be stuck because of resources/capital limitation. Having said that we are going to keep building the state of the art infrastructure to support more efficient trading as well. Thanks for taking so much time to provide feedback.

<comment><USER3> Threads are going off the rails a bit.

You built a fine tool for others to use. With a free tier. Nice work...

<comment><AUTHOR> Thanks for your support. :)

</comment></comment></comment></comment><comment><USER4> This is great execution and UX. Congrats for launching!

As someone who has done professional algorithmic trading before, I would strongly advise most users to deploy a small amount of capital to these strategies and treat it as a fun game, especially in the beginning. The most important thing in automatic trading strategies is risk management - I am not sure what intelligence does Mudrex provide around that, but even if you're right 70% of the time (very high for automatic trading), the rest of 30% trades gone wrong can sink you quickly if there are no intelligent ways to manage those trades.

The returns and losses also highly depend on volatility of instruments (volatility refers to the average uncertainty in returns as measured by Statistical Standard Deviation). Cryptos are highly volatile. Cryptos are fun to start with, but you must allocate money keeping that into account and you'll be fine. My recommendation is at least 15-20 times less for Bitcoin than what you would allocate to S&P 500, based on their volatility/risk factor alone (15% vs 75% annualized volatility). And even less for other coins (See project below for more guidance)

As an aside, I have been working on my own project for many months to bring trend detection, risk management and intelligent diversification for all DIY Crypto and Stock investors [0][1]. Feel free to check it out if you invest in stocks or crypto at any level. It's in Alpha and will be shared more widely in the coming month or so.

I've thought about bringing automatic trading to my venture, but after a lot of my own time spent creating my own strategies, I can't sincerely recommend it to others without an extremely high level of skill. The hedge fund I worked with had people watching these automatic strategies all the time with lots of alerts, triggers and Plan B management, even if they were "automatic". Who is going to watch the automatic strategies here?

[0]: [https://stockquanta.com](https://stockquanta.com)

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

<comment><AUTHOR> You are absolutely right. And for that reason we have worked hard to build risk management tools. You can read more about it here on our blog as well. [https://medium.com/mudrex/managing-risk-while- trading-4c1455...](https://medium.com/mudrex/managing-risk-while- trading-4c14553fa143)

If you have any other suggestions as well please let us know as we will keeping building on it.

</comment></comment><comment><USER5> I've been creating trading bots for a while now and would have preferred if you targeted your communication at someone like me rather than at people new to the market. It would have seemed more honest. As it stands you don't address any of the potential questions I might have had, such as:

Why the focus on crypto when it's illiquid, unregulated (people lose money from folding brokers regularly), hard to secure etc. vs forex which is highly liquid (very little gapping/get the price you want, when you want), very well regulated with many highly professional international brokers offering APIs you could work with right now. It feels disingenuous to target crypto only, even if initially, like you're cashing in on the (currently subsided) wave. I've talked to 100s of traders too and I don't recognise the problems you've raised.

Why mention 1000s of currency pairs when... there aren't 1000s? In forex there are dozens, in crypto - well OK any amount a broker puts together, but understand that the more rare or minor the pair, the less liquid and harder to trade by algo. And you don't want to algo trade correlated pairs, that's just taking more risk unintentionally. So in practice you don't want to be trading 1000s, that's unrealistic and misleading.

Where's your education section - this really isn't as easy as you make out, and you offering MA Cross as a sample shows how much this is targeted at the beginner level. Which is where people lose money. You need to be _the_ resource for algo trading education. Better than the ones offered elsewhere.

Saying you're democratising something that is pretty much already democratised is not a great start, IMO. Algo trading in forex is not an immature market. Look at the Metatrader website or Forex Forums and you'll find dozens of free bots to get you started with the code and backtesting.

Going forward I'd like to see you educate your users better, talk more about the realities of algo trading and offer more up front.

You've probably built something really cool, but I can't get past these initial red flags. You should show us the non-coding interface and talk up that side. I've used similar in the past and it can be a quick way to build an algo, but you've got to have guidance to make anything profitable - I've been through 1000s of ideas but the markets can offer multiples of those back in edge cases where they fail. You should list your indicators, talk about what risk management and order management features you've come up with, show traders how you've solved many of the tricky problems.

There's huge room for a profitable business in this field, particularly in creating a platform that can displace MT4 with a multi-core, secure backtesting environment using Python or similar. Maybe even incorporating ML in a non-code fashion. But the non-code parts would be the icing on the cake. Most algo devs have to get their hands dirty at some point.

Otherwise I'm just worried you're going to mislead a lot of people.

That's my 2 cents, hope it helps with perspective for you or anyone coming after you in this space.

<comment><AUTHOR> >Why the focus on crypto...

We started with cryptocurrency because of our personal experience in cryptocurrency trading as we had to stay awake sometimes to close our positions, we missed trading opportunities with manual trading. We felt the infrastructure is much more limited for cryptocurrency trading since it is new and majority of the trading is done by individual vs institutions compared to other asset classes. Also the market inefficiencies are greater in cryptocurrency trading and individual traders or small shops have higher chances of building profitable strategies where they don't have to compete with HTF at the moment.

>Why mention 1000s of currency pairs...

You are right. 90% of the trading happens on just top 20 coins but since our users requested other pairs we added them.

>Where's your education section...

Point well taken. We are already producing content on the education side. [https://medium.com/mudrex/tagged/learning](https://medium.com/mudrex/tagged/learning) We are planning to launch a more formal education section for new traders.

>Saying you're democratising something...

Right now traders are dependent on coding skills and capital to set up infrastructure to automate trading. For example a person with a balance of $1000 can't get into it.

>You've probably built something really cool...

Your concerns are valid. We are doing webinars, writing blogs and trying our best on this side and will do things as time progress. [https://mudrex.com/indicators](https://mudrex.com/indicators) [https://medium.com/mudrex/managing-risk-while- trading-4c1455...](https://medium.com/mudrex/managing-risk-while- trading-4c14553fa143)

>There's huge room for a profitable business...

This is exactly what we are going to build. We are working on a code editor where people would be able to build their custom logic while keeping the simplicity of the platform same for everything else. On a high level our objective will remain "building tools traders need in their automated trading".

</comment></comment><comment><USER6> I'm genuinely curious about who the target customers are for this platform. In terms of simple strategies (see signals A and B, fire order, wait for signal C, exit market, profit), there's just no chance of a startup beating the established HFT players on execution speed. In terms of sophisticated model generation, training, optimization, etc., I don't see being able to compete with them either. Their data and computational resources are just too good. You interviewed 100s of traders; I wonder how many truly successful ones you talked to. Did you give more weight to their input than the less successful ones?

I'm certainly biased here, as I've spent many years building infrastructure for large HFT firms. If nothing else, it's made it crystal clear that there's smart money in the market and dumb money in the market. On my own, I'm absolutely the dumb money when I compare my resources to infrastructures costing $300M or more and hundreds of the brightest people around. Unsurprisingly, I keep my money in mutual funds.

I wish you the best of luck, though. I hope you prove me wrong.

<comment><AUTHOR> We are currently focused on strategies that typically have exposure from few minutes - few days. These don't come under the HFT set up.

Hence our target customer are people who use Technical analysis and price action.

Thanks for you time and providing the feedback.

</comment></comment><comment><USER7> Are you aware there is a massive (market leading, in fact) trading platform called Murex? The name is rather close isn't it? Is it intentional?

Edit: I mean, if I started making say, an operating system and called my company one letter different from another company (mickrosoft? rehhat?)-- who are in the same market and have an enormous reputatation -- I'm sort of asking for trouble, aren't i?

<comment><USER8> Your comment was dead, so I vouched for it. I'm not sure if your point is valid or not, but I'm curious what the founders have to say about this.

<comment><USER9> Kind of curious also how this works. If they're in YC surely someone must have noticed? Murex is in use in all the banks I've worked at in the last 5 years, it's rather well known?

</comment></comment></comment><comment><USER10> Cool! What sort of liabilities do you face with this?

For example, let's say my strategy has some sort of logic to exit all positions if X happens.

X happens, but your platform goes down, so my positions stay open and my account gets wiped out/suffers large losses. Am I SOL or do you assume some responsibility for that?

</comment><comment><USER11> How much data are you extracting or planning to extract from profitable trading strategies? This seems like a great way to crowdsource market intelligence.

To quote another analogy below - It's the modern version of selling shovels, except the shovels have GPS and mass spectrometers installed, so you can later pull in from behind with excavators and dump trucks.

<comment><AUTHOR> All the IP of the strategies remains with the user who built the strategy. We don't extract any data from those strategies.

We do have a marketplace where traders can publish their strategies publicly for other investors to test and invest in those strategies.

Thanks for checking us out.

<comment><USER12> Buy like how do you guarantee that aside from saying it?

</comment></comment></comment><comment><USER13> Are there really people out there who can create profitable automated trading strategies with all that involves, but can't code?

Presumably they can't test either and arent too hot on maths?

Who are these people?!

<comment><AUTHOR> There are a lot of people who do research using Trading View and optimise algorithms on excel. But they don't know to code and build the whole infrastructure. Thanks for bringing this up.

<comment><USER13> Not to be a sceptic but you can't do this ... you can't optimise algorithms in Excel. I mean you can; you can do whatever you want but what needs to be done is a lot harder than this.

<comment><USER14> I think you underestimate the mathematical power Excel has under its hood. (personally not an Excel fan)

</comment></comment></comment></comment><comment><USER15> My usual response to launching a startup is congrats but this seems a really cynical value extraction tool that actually probably destroys more value than it creates as it charges a vig along the way. For shame YC

</comment><comment><USER16> The modern version of selling shovels I suppose. Interesting idea.

<comment><USER17> Spot on, it's a great idea though, one I've heard about from several people years ago. I wonder what the fail-safes are, though. With bot and HFT, I wonder how much can be gamed against them if something like this catches on.

I've also heard of programmers linking trades with bots scanning twitter for possible cryptocurrency trend movements. Smart stuff, but too risky for someone like myself.

</comment></comment><comment><USER18> To everyone pointing out that you need an edge to trade successfully, you can't beat HFT guys with this etc etc...this is a tool for dumb money. Just look at casinos, they make billions from dumb money. Just because you can't beat hft traders with this doesn't mean there isn't demand for a tool like this. People will buy this so they are making it.

<comment><USER2> I agree with you, but if this is the case, isn't it a bit sad that YC funded something like this (or, equivalent, allowed the pivot into it)? Would YC fund a casino?

<comment><USER18> Well yes, I guess I should add that I don't mean to say this is a "good" idea. I mean it's a good idea in the sense that people will probably buy it, but bad in the sense that, like gambling, people probably shouldn't use it.

Of course the people making it don't want to believe it's bad and I'm sure can cite statistics and use cases and whatever that aren't to exploit dumb money. But it's pretty clear that's what it is.

</comment></comment></comment><comment><USER19> Congratulations on the launch. Beautiful UI! In terms of product market fit I can tell you that I've been kicking around building systems to automate my investment decisions, Ray-Dalio-style. I personally adhere to the church of macroeconomic investing, so what I was aiming to build was a setup that would buy or sell positions when various leading indicators went one way or another. It'd be really cool if you hooked into Google Sheets. My plan was to run nightly Google Scripts that dump the data into Google Sheets and get alerted when thresholds have been crossed or trends are emerging. Or, you could pull this data into your platform and enable users to make decisions based off of it. Pretty much everything I need is available from FRED, but if you got access to proprietary data like the Consumer Confidence Index that would be a big value add for me.

This next comment might make me some enemies, but seeing as I seem to be close to your market I figured you'll appreciate the feedback. Crypto seems like a dying fad to me. More importantly, I'm weary of doing business with companies engaged in crypto. I loved Robinhood up until they jumped on the crypto wagon. I still use them, but I fear that something crypto-related will blow up, and my hard-earned money will suddenly be tied up in an insolvent startup. Irrational fear, I know, but it's there. The real opportunity here in my eyes is to go after Robinhood, and build a similarly user-friendly experience for slightly-more sophisticated users.

<comment><AUTHOR> What we are trying to build is asset independent. We started with cryptocurrencies because it was easiest to integrate with. I understand your mistrust in cryptocurrency related projects. We don't hold user's tokens in our wallet. We are figuring out the best ways to add equities and forex as well.

Right now we are providing all the data feeds ourselves. If there is more demand from the users for manual entry of data, we might support it later.

Thanks a lot for your detailed feedback.

</comment></comment><comment><USER20> if you ask me, is this a good idea? I will tell you it's a terrible idea. If you ask me, could this startup make money? sure, there are lots of people out there who would pay for this.

<comment><AUTHOR> Thanks for your feedback. Would love to hear more on why you think it is a terrible idea.

<comment><USER20> why do people need to run trading bots ? what's the point? you are not going to win against professional trading bots. And you wont do any better than buy and hold investing anyway, after taxes and fees.

A good startup should add real value to the world. Your startup enables a completely pointless activity.

<comment><AUTHOR> The platform is for traders who knows what they are doing. We have professional traders building their trading strategies on the platform. We are working on marketplace where non-professionals would be able to invest in professional trader's strategies for profit share.

<comment><USER21> > The platform is for traders who knows what they are doing.

No, the platform is for people who _think_ they know what they're doing. Which it's why it's a bad idea. It's a very elaborate and expensive way for people to learn that the problem is much more complicated than they initially thought.

</comment></comment></comment></comment></comment><comment><USER22> Fascinating, we were building something similar here at KloudTrader a long time ago.

[https://medium.com/@kloudtrader/private-beta-and- kloudtrader...](https://medium.com/@kloudtrader/private-beta-and-kloudtrader- aural-c4a8561f70d0)

Let's talk?

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

<comment><AUTHOR> Wow! Would be great to learn from you. I will send you an email.

</comment></comment><comment><USER23> > We dream of reducing the gap around financial opportunities between the > wealthiest and the rest.

I know it's one of those lines that whoever is in the CEO role says really righteously over and over again whenever an investor pushes back on it.

But is trading cryptocurrency really going to do that? Like normal people actually lost their life savings trading that. And it's rich people, like actual Silicon Valley supervillains of sorts, who generated a very large amount of these imaginary assets they're selling to normal people. And then, I'm not sure transitioning to stocks is any better, because anyone buying today is pretty much guaranteed to be buying at the top of the market--i.e., if you're making a market, you're making one for suckers.

Are you just reducing the gap around financial opportunities to lose a lot of money instead of a little?

<comment><AUTHOR> We just started with cryptocurrency trading and plan to add equities and forex soon. What you are saying is right, investing blindly without research make people lose money. Having a disciplined hypothesis driven strategy prevents you from taking irrational trading decisions. Thanks for taking time to provide feedback.

<comment><USER23> It's probably too late to follow up on this, but dude c'mon, that's not what I'm saying.

</comment></comment></comment><comment><USER24> Many people are criticizing mere existence of this project. I would like to however offer my support to the creators of this tool. I do fully admit number of people who will use Mudrex in next 12 months and will make passive income of thousands of dollars per month will be 0. Almost 99% of the users are going to lose their money if they do live trading with this tool. And yet, I think this tool makes the world a better place.

Blaming Mudrex for people losing money is like blaming government for building road towards Casinos. Mudrex itself is not like a Casino, that would be Crypto exchanges and price movements.

Secondly, there are many many positives of tools like this. You can buy some basic books on algorithmic trading and implement some algos and gain a lot of experience in how algo trading works, what different models exist, if the models fail why do they fail and if no one makes money on algo trading why that is the case. There is a stiff learning curve that in my opinion is very valuable in itself. You will not get any new information if you lose money on slot machine but if you have spent enough time putting efforts and learning algo trading you might end up learning a lot. That knowledge itself could be very useful.

I do not expect people to invest their lifetime savings in Mudrex. Most people might spend only few $100 on this and few among them will be serious and will gain a lot of knowledge.

Kudos to Rohi, Edul, Prince, Alankar and Snehil. I wish you good fortune in battles to come. I did play with the tool extensively and I liked the design, how fast it is. I have following suggestions:

1\. Whenever I click on a Backtest I should be able to fork the very specific strategy that was used for it and not the current strategy. In short, support strategy versioning. Most often I design a strategy, run a backtest, change the strategy run a backtest and I have like 10 backtests running for different variants of the strategy. Currently there is no good way to go back to the specific varient that a backtest was running.

2\. Let me download some file of the strategy. I should be able to send it to my more knowledgeable friend and get feedback.

</comment><comment><USER25> In your beta thus far, what's the mean and median returns for user driven strategies?

<comment><AUTHOR> Mean: 2.1% Median: 1.7%

Average run time of strategy is 2 weeks in beta.

</comment></comment><comment><USER26> Looks a lot like kryll.io. The concept is the same, the UI seems very similar. I understand that it's a YC project, so it does already have a good chance to work just from the networking effect.

But other than that, how do you differenciate from kryll, since frankly, they are already pretty good at what they do (the shared strategies, backtracking and over all the community is very nice) ?

<comment><AUTHOR> I have checked out Kryll. It's a great project.

We are focused on providing the access of automated trading/investing to everyone.

<comment><USER26> That's a neutral comment that doesn't commit yourself to anything and doesn't answer my question. Your project assumes your users commit time and money to it, so please take a few minutes to do the same.

I want to save time, so I use kryll for automation. I'm open minded and ok to check out your project, I just don't have time to try everything out. When something works, and works well, I need good reasons to check alternatives.

So concretly, what will I find in your product that is worth the trouble to try a whole new plateform ?

<comment><AUTHOR> 1) Way more variety of indicators (150+) 2) You can create much more complex strategies on Mudrex 3) We support futures trading with Bitmex

<comment><USER26> So Mudrex allows for more complexity than kryll.

It's true that kryll is very simple to use. If I reach the limit of their tooling, I'll give your plateform a try.

Thank you.

</comment></comment></comment></comment></comment><comment><USER27> Why isn't this just a Quantopian algorithm hooked up to the actual Robinhood API when it comes time to buy/sell/deposit more funds?

<comment><AUTHOR> At Mudrex users create their own trading strategies without writing code and connect their exchange keys to trade live.

</comment></comment><comment><USER8> Sorry this is a bit off topic, but how do crypto traders manage their taxes? I am under the impression that crypto trading doesn't have any of the niceties that traditional securities trading has when it comes to taxes, e.g. only paying capital gains when you remove money from your trading account (maybe that is also incorrect, I have no experience with investing).

<comment><USER28> dislaimer: I'm not a tax lawyer. This is not advice. etc...

In general, trading crypto is taxed like trading stocks or any other commodity. So, when you trade some coins for something else, at that moment you owe tax on the difference in value between when you received vs. when you gave. Long term/short term capital gains and wash trade timing rules apply.

It gets pretty complicated when you have a trade where you are trading from a batch composed of multiple buys at difference price points in the past. Especially when you have to sort out the cap gains on the exchange fees you paid in crypto.

</comment></comment><comment><USER29> Does your strategy creator allow for multiple time frames to be considered simultaneously?

<comment><AUTHOR> Yes. You can define different tick intervals for different blocks. For example in one block you can select RSI with tick interval being 30 min and in another one you can select RSI with tick interval 2H. Ping on help button at the bottom if you get stuck. :)

<comment><USER29> Oh one more question - do you use walk forward testing? Monte Carlo simulations?

<comment><AUTHOR> Not at the moment. But it is on the roadmap. One of the most demanding feature. :)

</comment></comment></comment></comment><comment><USER30> The challenges you listed are spot on. Congrats on launching! Can't wait to check it out.

<comment><AUTHOR> Thanks for the support. Looking forward to hear your feedback.

</comment></comment><comment><USER31> What do normal algo trading models look like? Are they all super proprietary so it's hard to talk about, or are there useful and representative models available for learners to dig into?

<comment><USER32> There's a lot of algo trading projects on github - [https://github.com/topics/trading- strategies](https://github.com/topics/trading-strategies) is a good place to start

</comment></comment><comment><USER33> Curious in terms of unique users, what % lose/make money over time? How long do the losers stay on platform before exiting?

<comment><AUTHOR> In our close beta 65% of the traders made profit. Usually people stop loss making strategies within a week or two.

</comment></comment><comment><USER34> Minimal look is quite slick. I would like to to test the cloud developer interface using a demo account to provide feedback ;)

<comment><AUTHOR> You can signup and run backtest and strategies with virtual money for free. No demo amount is required.

</comment></comment><comment><USER35> What is required to integrate additional exchanges? Would you eventually want more?

<comment><AUTHOR> We are working on adding more exchanges. It takes 2-3 weeks to test everything to make sure everything runs smoothly once live.

</comment></comment><comment><USER36> Do you have any plans to support or integrate sports trading?

<comment><USER37> May I ask what platforms do you use for sports trading?

<comment><USER36> Betfair mostly, but also Matchbook, Smarkets and Betdaq.

</comment></comment></comment><comment><USER38> Great team! Excited to see where this goes.

<comment><AUTHOR> Thanks. Looking forward to have you on the platform.

</comment></comment><comment><USER39> Thanks for sharing. My advice is shut it down. You are making the world a worse place. Just because you can give people the ability to gamble more does not mean you should.

</comment><comment><USER40> Aside from the few reputable exchanges, most of the volume in crypto is fake.[0] How do you account for that?

[0] [https://www.blockchaintransparency.org/](https://www.blockchaintransparency.org/)

<comment><AUTHOR> We are going to add only reputable exchanges.</comment></comment>


Just Another Y Combinator Derivation - <AUTHOR> http://lion137.blogspot.com/2016/01/another-y-combinator-derrivation.html <comment><USER2> Your stupid Lisp trick for the day: In Heresy, one of my contributors had a clever moment when he realized that Y can be generalized in Lisps to take multiple arguments, because technically Lisp lambdas always take just one argument in reality: a list of arguments. So this:

      ; Y
      ; The Y-combinator
      (def Y
        (fn (b)
          ((fn (f) (b (fn (x) ((f f) x))))
           (fn (f) (b (fn (x) ((f f) x)))))))

Becomes this:

      ;; Y*
      ;; the Y-combinator, generalized for multiple argument functions
      (def Y*
        (fn (b)
          ((fn (f) (b (fn args (apply (f f) args))))
           (fn (f) (b (fn args (apply (f f) args)))))))

And thus can be used with multiple argument functions. But then we can further have some fun with a simple little macro like this:

      ; (fnlet *name* args body ...)
      ; A syntax sugaring for less verbose use of Y
      ; Allows lambda functions that can still self-refer
      ; uses the generalized Y-combinator
      (def macro fnlet (name args body ...)
        (Y*
         (fn (name)
           (fn args
             body ...))))

And now we have a lambda that can have it's own local name:

      > (map (fnlet fib (n)
               (select
                ((zero? n) 0)
                ((one? n) 1)
                (else (+ (fib (- n 2)) (fib (- n 1))))))
             (range 0 to 20))

      '(0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765)

<comment><AUTHOR> Good stuff!</comment></comment>


UK Surveillance Regime Violated Human Rights - <AUTHOR> https://www.eff.org/deeplinks/2018/09/uk-surveillance-regime-violated-human-rights <comment><USER2> The UK has a pretty poor human rights records lately and they don't really seem to care about it (Assange).

<comment><USER3> I wholeheartedly disagree with the UK's mass surveillance and the media/public's wilful ignorance of the issue but Assange is suspected of sexual assault and broke bail. He's expected to face the law in the same way as anybody else.

<comment><USER4> The warrant for his arrest has been revoked by Sweden and the Swedish prosecutor found he committed no crime. He is not expected to face the law as anyone else, the UK government has already committed crimes in deleting emails regarding him but nobody went to jail. The UN has also ruled that he is being held in arbitrary detention. The only time you get punished is when you go against the US empire. Who was punished for the murder of the two journalists in Baghdad? You only face the law when you are inconvenient.

Due to the embarrassment of the CIA w/r/t to the recent leaks the US government is going to try to prosecute a publisher of classified information for the first time ever.

<comment><USER5> To be fair I don't think deleting emails in accordance with their procedures is a crime. And that being the case why would anyone go to jail?

<comment><USER6> There is no reason to expect their procedures are legal, this thread is an example of government procedure shown to be illegal.

<comment><USER5> And also no reason to expect their procedures to be illegal either. True enough about the surveillance, but the two things aren't connected, just because one procedure was illegal doesn't make all government procedures illegal.

<comment><USER6> >And also no reason to expect their procedures to be illegal either

Being illegal would be a good reason for going to jail, which is the question you asked.

<comment><USER5> But they're not illegal so the point is moot. Also illegality does not mean jail. The severity of an illegal action dictates that.

<comment><USER6> >But they're not illegal so the point is moot

They aren't? We both agreed that procedure could be a illegal, what reason do you have to assume this procedure is legal?

<comment><USER5> Oh dear.

'Could be' and 'are' are two different things.

Where's your actual evidence they are illegal? You don't have any.

What reason do you have to assume this procedure is illegal? Other than some kind of irrelevant association with the surveillance program of a different part of the government proving to be illegal.

I'll gladly accept the procedure is illegal provided with proof it is, so... over to you.

<comment><USER6> I'm not stating that the procedure is illegal. Having never read the procedural guide or the relevant law, I fully confess my ignorance on the subject.

You are stating that it is legal, and from my point of view your only reason is that the accused said they were following procedure. As following procedure doesn't show legality, why are you certain it is legal?

<comment><USER5> There's no accused person.

If it were illegal it wouldn't be in place, full stop. This is the crown prosecution service, what ever you may or may not think of them, their procedures have to be legal. If a procedure that is in place is challenged in a court and found by the court to be illegal then fine, it gets changed. But those following said procedure beforehand are not breaking the law and are acting in good faith.

But data retention isset in law (at the time under the 1998 act, and now the gdpr and 2018 act) and the cps follows those laws like everyone else must. Their procedures follow these laws.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I suspect this is a pattern when it comes to spying and internet surveillance now. Don't expect the NSA's activities would be in accordance to many human rights laws, and likely similar for other 'Five Eyes' countries and countries trying to snoop on internet traffic in general.

The issue is that there seems to be no organisation with the power to enforce said rules on the countries/governments/organisations doing this.

<comment><USER8> > The issue is that there seems to be no organisation with the power to > enforce said rules on the countries/governments/organisations doing this.

Is that not the role of the public/voters? Assuming they are informed and not apathetic of course.

<comment><USER9> Both parties in the UK are broadly pro surveillance, and since it's FPTP you're damned if you do, or don't.</comment></comment></comment>


Churbuck.com » The Gilded Cage: Why My Next Tablet Won't Be an iPad - <AUTHOR> http://www.churbuck.com/wordpress/2011/02/the-gilded-cage-why-my-next-tablet-wont-be-an-ipad/ <comment><AUTHOR> I was all excited to fork over more dough to Uncle Stevie this year for a Verizon iPhone 5 and the 2nd gen iPad, but Apple's recent moves are giving me real pause. Dave Churbuck here outlines some options. I only wonder whether any Android tablets will come in below the iPad's price. No sign of that yet.

<comment><USER2> There's plenty of Android tablets below the price of the iPad. In fact there were Android tablets, below the price of the iPad, before there was an iPad with a price to be below.</comment></comment>


Infographic - World Of Programming - <AUTHOR> http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/06/aboutprogramming04.jpg great article on how it has been designed and created: http://www.smashingmagazine.com/2010/06/06/designing-the-world-of-programming-infographic/ <comment><USER2> LISP is not on the timeline of languages!

<comment><USER3> And they list the TIOBE index.

I think this is really The World of Procedural Programming.</comment></comment>


E. W. Dijkstra Archive: "Why is software so expensive?" (2009) - <AUTHOR> https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD648.html <comment><USER2> It's a good piece, and Dijkstra's views on this remain relevant, even if the whole thing is ultimately an exercise in trying to build an ornate analogy that will somehow survive translation to other realms. Anyone who has been in software long enough to have tried to explain it to someone who isn't in software has had to go through the same basic process. That in itself ought to be somewhat enlightening. In any event, the article is worth the read if only for this:

>> How do we convince people that in programming simplicity and clarity —in short: what mathematicians call "elegance"— are not a dispensable luxury, but a crucial matter that decides between success and failure?

Amen, brother. Great question.

<comment><USER3> I disagree. There's a realm of fields to which software engineering applies. There's fields where correctness, elegance and formal methods definitely matter; those involve complex products like airplanes (RIP, A400 victims...) or nuclear plant control systems. Or academia, which cannot progress with imprecise thinking. You can't run Facebook's operations the way you'd run a bakery's website's.

But then there are heaps more fields where correctness absolutely does not matter, where a shiny cover over an awful spaghetti ball is enough, where you can lose half the client's data and say "sorry, crash" and he'll just nod and shrug, and where this is a lot cheaper and faster than hiring a professional and doing things properly, where the determinant of success is not the engineer, but the management team, their connections, and the sheer amounts of money that investors are willing to pump into the company to win the market (money they will mostly give only to the first competent person that pitches them the idea, giving the pretty-"MVP"-in-a-week team the edge over the formals).

It's a trade-off between time and cost to market, and product quality; it won't change until the second way beats the first on the first two dimensions as well as the last.

<comment><USER4> And what's ironic is that EWD's preferred approach actually increases the cost of (at least the first version of) many pieces of software. And his article was "Why Software Is So Expensive".

I mean, his approach would have prevented Microsoft from ever existing. Or Linux. Or Apple. Which means we never would have had the PC revolution. We would just have a software industry that produced software _right_ , and code that didn't crash, but we'd have maybe 1/100th of the software industry that we have. We'd miss 99% of what computers have brought us. I'm not willing to make that trade-off to get software that never breaks, even though I hate it when software breaks.

<comment><USER3> I'm not sure one could describe Microsoft as "fast and dirty". Gates' BASIC interpreter is a famous example of technical ability...

<comment><USER4> But _Dijkstra_ would oppose Gates' BASIC interpreter, because it wasn't built using Dijkstra's approach of mathematical reasoning, and therefore couldn't be trustworthy.

</comment></comment></comment></comment></comment><comment><USER5> >> One of the problems caused by the non-understanding software manager is that he thinks that his subordinates have to produce code: they have to solve problems, and in order to do so, they have to use code. To this very day we have organizations that measure "programmer productivity" by the "number of lines of code produced per month"; this number can, indeed, be counted, but they are booking it on the wrong side of the ledger, for we should talk about "the number of lines of code spent".

Amazing how we still haven't figured this one out yet.

>> I know of one —very successful— software firm in which it is a rule of the house that for a one-year project coding is not allowed to start before the ninth month! In this organization they know that the eventual code is no more than the deposit of your understanding.

It's so hard for me to imagine that such a software firm could actually exist.

Even though I've noticed the advantages of thinking first and coding later on a personal project done in a more relaxed period, I guess it's just too hard to justify your cost without having deliverables (code commits, in this case).

<comment><USER6> > for a one-year project coding is not allowed to start before the ninth > month!

And here we are, asking team leads why development cannot begin till week 2 of a 24-week project.

It is a really strange and funny industry we are in.

<comment><USER7> I suspect managers and programmers might be counting the weeks from different points in time...

</comment></comment></comment><comment><USER8> Why is the title labeled "2009"? I presume it's because that's when the _transcription_ was last revised, but the actual essay was published in 1982; anything written by Dijksra cannot be more recent than 2002.

</comment><comment><USER9> Minor correction: This was publish in 1982[1] and was transcribed from a PDF in 2009[2].

[1] [https://www.cs.utexas.edu/users/EWD/ewd06xx/EWD648.PDF](https://www.cs.utexas.edu/users/EWD/ewd06xx/EWD648.PDF)

[2] [https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/E...](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD648.html)

</comment><comment><USER10> This was written in the late '70s, not 2009:

[https://www.cs.utexas.edu/users/EWD/indexChron.html](https://www.cs.utexas.edu/users/EWD/indexChron.html)

</comment><comment><USER11> While Dijkstra sits in his ivory tower , patiently figuring out the most elegant algorithm , in the startup world as Zuck says is all about moving fast , breaking things in order to find out whether we even need the algorithm in the first place.

When my boss comes to me with the next story , I can't tell him that , "Hey , I think I need two weeks for this as the system is becoming overly complex. I think I need some time to refactor the system into something simpler and more reliable .. "

I've seen an example of this first hand. We had an image editor that allowed users to manipulate and rotate layers using like you have in Photoshop. Instead of using straightforward affine transforms , they came up with some weird , extremely complex implementation I'm yet to get my head around .It isn't even documented as to how it works.

Finally when the time came to make it behave differently , I reimplemented only the new behaviour using affine transforms and simple trig and routed the flow through the old code or the new one using flags.

Not the most elegant solution but that's how it is in real world projects. It's only the output that matters. The internal complexity is not something the customers gives a shit about. They want their feature and they want it now. And they're not even sure what they want.

So the need for rapid iteration to discover what you need to build in the first place , and the quest for the most ideal and mathematically elegant solution will always be in conflict with each other.

<comment><USER12> Dijkstra did a lot more for moving the programming needle than Mark Zuckerberg. Sure, Mark made more money, but that's not the only yardstick by which we measure achievement (fortunately!).

Without a bunch of people doing basic research _none_ of us would have jobs.

<comment><USER11> I have great appreciation for people like Dijkstra and Knuth and the work that they do. They write operating systems , compilers and databases.

But coming down from the ivory tower of academia , do you really need to go to the trouble of writing your custom CMS in Haskell after proving it's correctness in Coq ?

As a further example , the succesful company KissMetrics built the first version of it's product in a month and shipped using SQLite (!!) as a DB.

In their own words , they optimized 100 % for shipping speed.

Software doesn't exist in a vacuum , it plugs into a business.

The amount of rigor and research that must go into a piece of software depends on the domain and business requirements. To insist that all software be written to such a high standard is unrealistic and will never happen.

I'm yet another software engineer who (most of the time) writes CRUD apps as quickly as possible so my boss pays me on time. I have no pretensions of being a 10x or being the hero who drags the world out of the dark pits of poorly specified and mathematically inelegant software with his superior intellect.

<comment> vezzy-fnord _But coming down from the ivory tower of academia , do you really need to go to the trouble of writing your custom CMS in Haskell after proving it 's correctness in Coq ?_

Dijkstra was nothing like this. In fact, he was probably one of the more practical academics (if that even makes sense to some people). He advocated top-down, logic-based methods for proving correctness that were based on incrementally transforming a high-level program specification into a final product fit for implementation. He likened it to composing music.

He also deeply studied paradigms that were firmly imperative in nature. Besides his work on semaphores for concurrency control, his deductive system of predicate transformer semantics and the Guarded Command Language built on top are some of the most comprehensive notations for imperative languages. He was also on the team that developed ALGOL 60, so it's quite likely you owe most languages you've used partially to him.

That and your conception of an academic using the analogy of the "Haskell CMS verified by Coq" is largely a straw man, though I can understand why you used it. HN is pretty crazy about these things, so it's easy to get caught up in the thought bubble thinking it's the norm.

</comment></comment></comment></comment><comment><USER13> The software 'industry' moved in the opposite direction.</comment>


Show HN: Cloudsnap, an integration platform for developers - <AUTHOR> http://cloudsnap.com

<comment><USER2> Cool landing page. I really like the little interactive shell you have there as well. I watched your video but it seems kind of long at eight minutes. I know you have a lot to talk about and demo so it's not easy. Good stuff though.

</comment><comment><USER3> Very cool - I absolutely love the interactive demo

</comment><comment><USER4> Great team. Great execution.</comment>


Don't forget to Ask a VC these 10 questions - <AUTHOR> http://renewableelectron.com/10-important-questions-ask-venture-investor/ <comment><USER2> Good list — not that these are earth-shattering insights, but it's useful to get confirmation that these are appropriate questions to ask. In addition to getting the answers, asking these questions will also help a founder think about potential issues that could come up (e.g., timing, process, lead/follow). I imagine that asking these questions also makes a founder look a bit more sophisticated.

Although I pretty much never listen to podcasts, I actually listened all the way through. Would be great to have a written list also! (edit: thanks to fellow commenter for posting the list)

</comment><comment><USER3> A good postcast. Well worth a listen.

How much are you looking to invest? What percentage ownership do you typically invest? Do you usually syndicate?

Can you lead rounds, write term sheets or just follow?

Do you take board seats?

How long is your decision making process, due diligence?

Who is involved in the decision making? Every partner?

Has he spoken to any other startups in this space?

How do you conduct technology due diligence?

How many investments did your firm make last year and how many did you make?

How old is the fund you are investing out of?

Do you want to meet want of my current investors?</comment>


The Collapse of Clinton's China Policy: Undoing the Damage of the MFN Debate - <AUTHOR> https://www.heritage.org/report/the-collapse-clintons-china-policy-undoing-the-damage-the-mfn-debate <comment><USER2> This needs a (1994) tag. It's a fun read to see that policies enabling China's human rights violations date back to the Clinton presidency. We've basically been ignoring all the bad parts of globalization for 25 years because, hey, it's good for shareholders.</comment>


Client Side IDs with Ember Data - <AUTHOR> http://blog.gaslight.co/post/53934269633/client-side-ids-with-ember-data

<comment><USER2> Thx for the share, I was just playing with ember last night. Finding it overly complex, but this is helpful.</comment>


You Will Not Be The Next Silicon Valley, Please Stop Trying - <AUTHOR> http://pandodaily.com/2012/02/11/you-will-not-be-the-next-silicon-valley-please-stop-trying/

<comment><USER2> I have to say, I found this article overly negative. Newry isn't a good host to startups because 10 years ago their population was 30k and they have a sheep industry?

Just because they're trying to encourage entrepreneurs to flock there doesn't mean they're trying to usurp Silicon Valley. As someone who isn't an American citizen I know how non visa friendly many companies in the Valley are, and I love to see smaller startup hubs around the world starting to pop up. Even if the author doesn't like the climate in Vladivostok (and I incidentally love it), that doesn't mean talent can't start to congregate there.

<comment><USER3> I think there is a big, big difference between "talent can't start to congregate there" and " being the next Silicon Valley."

<comment><USER2> I guess I don't know how much "being the next Silicon Valley" is pundit talk or their actual stated objective. Newry using the term Emerald Valley is a bit much, but I don't think they should be told to "please stop trying."

<comment><USER3> I don't think the title was specific to Newry (I could be wrong-I didn't write it).

I think it was a generic answer. There are many examples of cities claiming they are the next Silicon Valley (Silicon alley, silicon prairie, silicon waters, silicon hills, silicon beach and silicon dubai to name a few).

SV is so unique though. I think they might be able to claim what silicon valley was in the 1960's (before the large tech anchors supported the every expanding ecosystem).

We hope that Newry "keeps trying" as is successful. The world could benefit from another silicon valley.</comment></comment></comment></comment>


Influx of Younger, Wealthier Residents Transforms U.S. Cities - <AUTHOR> http://www.wsj.com/articles/influx-of-younger-wealthier-residents-transforms-u-s-cities-1465492762 <comment><AUTHOR> Not just SF, Manhattan, and other "hip" urban centers, but traditional industrial cities like Cleveland. Who knows whether this trend will continue, however; some of these young folks may suddenly decide they want children, and then the suburbs are going to witness their own population boom.</comment>


Twitter Should You Pay For It? - <AUTHOR> http://ryanmerket.com/blog/2008/05/31/twitter-should-you-pay-for-it/

<comment><USER2> Yea, lets throw money at Twitter and somehow hope they magically become smarter and use better development practices.

GENIUS!

<comment><USER3> Well I think they should charge. People would leave to a competitor and there would be no scaling issues anymore! :-)

<comment><USER2> Overly simplistic, but you're right :)

</comment></comment></comment><comment><USER4> It's amazing what money can do. Sure they have some VC funding, but the power of A LOT of people investing in a product is immeasurable.</comment>


GNU RCS 5.9.1 - <AUTHOR> http://lists.gnu.org/archive/html/info-gnu/2013-10/msg00001.html <comment><USER2> Why is this still maintained? It even stores its own source under git:

[http://git.savannah.gnu.org/cgit/rcs.git/?h=p](http://git.savannah.gnu.org/cgit/rcs.git/?h=p)

So much for dogfooding...

<comment><USER3> If you want to version control a single file locally with no fuss (exactly one file,v file for storing changesets), I could still see it being handy.

It seems it has a maintainer that is very inclusive and accepts all portability fixes. Which is nice enough; many newer open source products are more like fireflies.

<comment><USER4> I worked at an agency around 2000-2005 that used RCS to keep files like httpd.conf under source control. Not a great solution, but there were no free "configuration management" tools then, and it was a pretty unrestricted place, with developers and sysadmins sharing access to production systems. It's not what I'd do today, but it was better than nothing and gave them some safety without costing much in process.

<comment><USER5> One of my previous employers still uses CVS to version and deploy configuration. One reason why git is not an option is the simple fact that you can't check out subdirectories in git.

<comment><USER6> If one were using git, why would one _need_ to check out a directory?

I have no objection to people using the tools they prefer, but they should be honest with themselves. The barrier to using git while working in a particular directory lies in changing one's VCS habits, not in a deficiency in git.

</comment></comment></comment></comment></comment><comment><USER7> In most other VCSs, revision numbers apply to the entire repository. In RCS and CVS, they apply to single files, which can be more convenient if you're maintaining a collection of files that are largely independent of each other.

</comment><comment><USER8> I'm using rcs for quick and dirty versioning of my config files. Very easy to do. Clean. Zero config. No dependencies. No fluff.</comment>


Tell HN: A request for saner text-editors - <AUTHOR>

I have an problem with tradional unix text-editors--vim and emacs for example--and I'd like not to have that problem with future text editors you or others may create.
The crux of this problem comes down to navigation and newlines. Traditional unix text editors understand a new line as ending when the newline character appears. This means a line can span many 'rows' on the screen. This makes sense because this is how lines are represented internally. But unless you think this way--and you wouldn't unless you habitually think in low level computer representation and don't often use saner text editors--navigation in such text-editors is quite un-natural.
For example, let's say you're reading back some text you've written and find you want to change something. Your initial reaction is to navigate to that error from where you are at the moment. So, you find where the cursor is located and say something like, "five lines up and a bit to the left." But you can't directly do this with the arrow keys or key shortcuts, because you're thinking about lines in a fundamentally different way to such a text-editor.
In everyday life we navigate objects visually. We should be able to navigate the cursor in text-editors in the same way. And so I implore the developers of future text-editors to make the default navigation behaviour to understand lines as how they are visually represented, not how they are internally represented. Please. <comment><USER2> You don't need another editor for this. In vim, you can use gk and gj to move up and down on screen lines, instead of internal lines. Also, you can use g0 and g$ to go to the begin or end of the screen line.

<comment><USER3> You could add this to your ~/.vimrc so that you don't skip wrapped lines:

       " Don't skip a wrapped line
       nnoremap j gj
       nnoremap k gk
       vnoremap j gj
       vnoremap k gk

</comment></comment><comment><USER4> These days vim and emacs are mainly used for programming, if I'm not mistaken. As a programmer, I need to have complete control and understanding of how my code is stored internally, so it wouldn't make sense to make this the default behavior, especially if it does exist as another option.

<comment><USER5> I agree. Perhaps the OP should go in for a word processor rather than a text editor???

</comment></comment><comment><USER6> I think this is personal preference. One way is not "saner" than the other, it's just a design philosophy that must be consistent within an app.

I can't speak to Emacs, but Vim assumes that if you put something on the same line, you want it treated as a single line, regardless of where your window is causing text to wrap. For example, dd deletes your whole line, not just the window's line. I think this makes perfect sense in the Vim context, particularly since Vim is geared a bit more towards coding than word processing. How weird would it be to dd

      // Here_ is a really long comment that has wrapped in my
      window

and end up with

      window

left in your editor, no doubt breaking your code?

</comment><comment><USER7> I actually rely on the "jump" of the cursor to tell me where new-lines are, and that's important. (Consider something like a Python program, where the real line-ending will terminate a statement, and the next line's indentation is significant.)

If navigation behavior is to change, there must still be some way for the editor to show the wrapping points. One option is Unicode, which is now fairly well supported by editors and terminals; for instance, special symbols like "¬" could be used to show wrapping points.

</comment><comment><USER8> This is the default behavior in Emacs 23.1.

Most of the time, it makes editing text easier, as one would expect. The exception is when using a keyboard macro to do something to a bunch of lines. It's common for such macros to have a form like

1) start at the beginning of the line 2) do stuff to the line 3) go to the beginning of the next line

When the navigation commands take line wrap into effect, you can wind up with a macro that gets run once on short lines, but twice on long lines.

</comment><comment><USER9> Unix abandoned (or never had) any conception of WYSIWYG, and probably never will. I hate it, too.

<comment><USER10> > Unix abandoned (or never had) any conception of WYSIWYG, and probably never > will. I hate it, too.

In this case, the complaint is that what you've got can't be represented by what you see. There are a couple of ways to approximately display what you see, but they're approximations. (One is wrap and the other is "off the edge of the screen".)

In a WYSIWYG, you can't represent a line longer than the screen width. This is a problem when lines matter.

That's why WYSIWYG is more accurately called "What You See Is All You Have".</comment></comment>


New Firefox for Android Is a Disaster - <AUTHOR> https://www.forbes.com/sites/barrycollins/2020/08/26/firefox-on-android-gets-a-major-update-and-users-hate-it/ <comment><USER2> Earlier:

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

[https://news.ycombinator.com/item?id=24292455](https://news.ycombinator.com/item?id=24292455)</comment>