Hacker News new | past | comments | ask | show | jobs | submit | whlr's comments login

I don't think it's true that languages get simpler over time.


By and large they do. English, like all indo European languages, used to have many grammatical cases and verb forms. Now we mostly retain cases in pronouns, and most verbs are about two forms per tense.

Latin used to have all its cases suffixes, and today's Romance languages have dropped nearly all of them.


Not a linguist, but I think this is just a matter of proto-indo-european having complicated morphology and its descendants reverting to the mean.

A related reddit thread (I know, I know, sorry): https://old.reddit.com/r/linguistics/comments/o12hy0/instanc...

It's worth noting of course that there is more to grammar than morphology.


English has simple verb and noun morphology, but very complicated syntax and phonology. Hard to say that it’s uniformly more or less complex than Latin.


I think it's possible to sidestep the harm vs suboptimality discussion. It's clear that there is a benefit to the public when works become public domain, and copyright law should balance benefits to creators and consumers (though of course we all fill both roles to some degree). Laws also have to be politically viable, of course.

> Using your logic, the government then ought to force you to donate all your savings and excess possessions to "society" so that harm is reduced.

I would argue that governments do a "soft" version of this with redistributive tax schemes and social programs.


It’s worth noting that PyPlot.jl is a nearly seamless way to use matplotlib from Julia. JIT compilation of the middle layer does mean that it suffers from time to first plot problems though.


Don’t know much about this, but I would have thought TikTok relies on the watch patterns of its viewers, rather than direct video analysis.


Because it looks imperative.


Do notation is jokingly called a programmable semicolon. True, it is often used to model imperative computations with it, so that is the association people have with it. Also people come mostly from imperative backgrounds and look, we can bind something to a value. Finally something I get! And that is fine, let them play around with it like that.

But if they look closer, they find out it is not really imperative. Why is there a difference between let and bind? Why can't I reassign values. And they start to use more exotic and also more interesting monads and boom the imperative feel goes away.

For example with the interesting LogicT[1] monad. Or what about the probability monad[2]? Or the continuation monad[3]? Or the reverse state monad[4]? How imperative are those really? It really depends how you use it. And I think it adds more to the magic, that you think it is just imperative code at first, because suddenly you can create code that behave very different under various monads that represent computation models. I think that is a cool thing about this confusion.

I understand that if you are a professional that needs to get work done, it can be annoying.

[1]https://hackage.haskell.org/package/logict [2]https://hackage.haskell.org/package/probability [3]https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-M... [4]https://lukepalmer.wordpress.com/2008/08/10/mindfuck-the-rev...


ah so if you don't actually know what you're doing it could mislead you


It can still work on a population level.


> I find the latter easier to read and lends itself to a fluent, lightweight style.

Maybe I'm bikeshedding, but I think this is a nontrivial part of why people like OOP languages. Being able to read right to left, without nested parens, makes code comprehension easier.

I think the mathematical notation for function application has held programming languages back. I realize that there's a huge benefit to uniformity of syntax across languages, and that syntax is ultimately much less important than semantics, but I wish we could settle on something better than f(x). I really appreciate languages that are willing to do something different (e.g. haskell and lisp).


There's the pipe operator in a lot of languages (|>) to try and solve this problem, but it has always felt clunky to me. Compare:

f(g(h(x)))

x.h.g.f

x |> f |> g |> h

I think most people prefer the second one to all the rest.


I think the third example should be:

x |> h |> g |> f

Which is identical to the second, except for a more eloquent choice of the pipeline symbol?


That is the version of the |> operator I'm familiar with from Julia.


It's rush-hour-only service. He's using the notation from the official map [1], but I think he forgot to put it in the key.

[1] https://upload.wikimedia.org/wikipedia/commons/3/3a/Official...


Yes, thanks! It now makes sense, but I think it's very unsatisfactory visually. The divided segments make it look like the service has some break between stops, or this is very puzzling. And the "O"s mixed with the dividing lines and the subway line letter are highly confusing.

And by the way, for his legal case, if there was anything to point to the argument of derivative work, this would be it. It's clearly copying (because it's so confusing) the broken line segments style in the map you just linked.


Broken line is pretty common for partial/variable service.

For example, here it is on a philly trolley map: https://www.septa.org/maps/trolley/city.html

And you can also see the same sort of thing on this BART map: https://www.bart.gov/system-map


I agree, but I think there's something odd about the way he's put the segments in his map. Maybe the divisions need to be bigger breaks or something.


I dunno. It looks like an improvement on the Vignelli map, but I think the less pretty one the MTA uses today is more functional.


Let's consider a few use cases and see which one is more useful:

- Given two stations, is there a line between them, and what is it? Edge to Berman's, as it distinguishes service on the same corridor.

- Given a station on a line, what are the next few stops? Berman's wins, since the MTA map requires reading the lines that stop at each station.

- Weekday service. A push, shown by both maps.

- Weeknight service. Berman's wins, as the MTA map doesn't show it.

- Weekend service. Berman's wins, as the MTA map doesn't show it.

New Yorkers have gotten used to getting the information we need from the MTA map, but let's not confuse familiarity with functionality.


The purpose of a map in the abstract is not merely to answer questions about how to connect two points within a specific transportation system, the subway. Other possibilities include: connecting two locations above ground, understanding the connections and relationship among various places above ground, and even simply enumerating some of those places.

New York City's map shows a variety of out-of-system features which the designer's map doesn't bother with: railroads, avenues, major cross streets, major bus corridors (the original identifies airport link stops but not routes), local commuter rail corridors (LIRR, Metro North), regional rail corridors (Amtrak), ferries, road bridges, tunnels, the Roosevelt Island Aerial Tram, and many more parks.

The MTA map this more effectively answers more-general questions about New York. It can tell you to walk through the park between the Natural History Museum and the Metropolitan Museum of Art. This does come at the cost of interfering with several of the more-specific questions you identified.


The question you almost always want to answer about the relationship of the subway to the surroundings is "where is the nearest station entrance" which the system map cannot and should not answer. Any other question about that spatial relationship is essentially trivia, as far as a transit system map is concerned.

And don't try to use the MTA map as a guide to New York City, it is woefully geographically inaccurate. But it still looks like it might be right, so it is in fact quite misleading.

The responsibility of a transit system map is to tell you about the transit system. It should do that above all else.


> The question you almost always want to answer about the relationship of the subway to the surroundings is "where is the nearest station entrance" which the system map cannot and should not answer. Any other question about that spatial relationship is essentially trivia, as far as a transit system map is concerned.

Do you actually live and work in New York? I'll assume not, and your attitude proceeds from ignorance of the situation.

Suppose you work at 1 Pierrepont Plaza (former HQ of Hillary Clinton's campaign, bit of trivia there) and you want to go to Nakamura Ramen on the Lower East Side. You have a subway station right outside the door with the 2345R train, but you'd be a fool to take any of those instead of walking the extra five minutes to Jay St Metrotech for the F.

You are at Broadway - Lafayette St, and you wish to head to the Flatiron Building. The nearest subway to that is the R train. You can take the 6 and transfer at Union Square... but really, you should just walk from the 6 train at 28 St.

You are staying in Fort Greene. The nearest stop is Fulton St (G). The next nearest stop is Lafayette (C). Even if you are headed to Columbus Circle (ABCD1), you might find yourself better served by by walking to DeKalb to catch the B or the Q, which are acceptably close, have more frequent service, and bypass lower Manhattan. (If you are going to the Metropolitan Museum of Art, you will instead walk to Nevins.)

You work at Union Square and live in Williamsburg. A signal problem -- residual damage from Hurricane Sandy when the tunnel was flooded -- prevents the L train from operating. What are your options for getting home today?

Your proposed universal norm actually makes a lot of sense ... for hybrid commuter rail / metro systems, such as the DC Metro, or BART, where questions like these are only minor and occasional. It is far more ambiguous for NYC.


I do live in New York, thank you very much. My only attitude is that the MTA should never have killed Exit Strategy, that was the one really productive tool for straphangers.

Why do the situations you've proposed have any benefit from the MTA's map? Trying to determine which stations are near your origin or destination based on a system map is a fool's errand, particularly for as large a network as ours. If you're estimating walking times based on distance on the MTA's map, you're going to be very unpleasantly surprised.

The part of those questions that a system map can be useful for is which lines are continuous, which as I mentioned above, is best done when you can see it clearly rather than needing to read it.


> MTA should never have killed Exit Strategy

I haven't heard this before. I presumed the author simply stopped updating the app. Can you elaborate?


Or you ask Google Maps and forget all this.


And yet we don't simply pass the station map to Graphviz. There are goals beyond "where is the nearest station entrance?"


The responsibility of the map has many different states based on the situation (long-term resident, tourist, disabled business visitor, non-English speaker, etc.)


I'm not convinced that Berman's map shows weeknight and weekend service massively better than the current one, which includes that info with the key. I find the symbols on Berman's map a bit confusing, and I suspect I would have to reference the key, negating their benefit.

On the other hand, citymapper, google maps, etc. make showing the "outside world" on a subway map less important than in the past, so perhaps it's time to reevaluate.

I think the current map really shines in lower manhattan, where the stops closest to the staring/ending location aren't always the best ones to get on.



lynx open it just fine.

EDIT: ok, no.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: