I'm a londoner and we have here a system of public transport which is controlled by cards ('oyster' cards, RFID credit card sized things - https://en.wikipedia.org/wiki/Oyster_card).
Not exactly to address your point but they're a good way of tracking individuals so I always try to pay anonymously (cash) and never register it. I should probably buy a new one every few months but usually forget.
FYI anyway. Privacy aside it's a pretty decent system.
They can recognize your face as you tap at the turnstile. Maybe they don’t do it now, but if they currently don’t they will in the name of anti-terrorism.
Your comment brings to mind my experience on reddit: no matter how innocuous something I wrote seemed to me, someone attacked me for it. I finally bailed.
I'm sorry to hear it :( That may be what's happened here, an innocuous comment mis-taken by myself.
But before I go finally, tell me please in your view what was a reasonable interpretation of https://news.ycombinator.com/item?id=21823201 I pretty well described how it came across to me, effectively that we're all in a surveillance society and if we aren't we soon will be like it or not. I can salvage nothing worthwhile from that poisonous nihilism.
For a typical workday there are so many datapoints: Checking into the secured bicycle parking, walking through the turnstiles at the exit. Walking into the train station. Walking out of the train station. Walking into the metro station. Walking out of the metro station. Entering the bus. Exiting the bus.
And the opposite way when I go home.
I asked them to delete the entering/exiting data on the secure bicycle parking as it's a free service but they declined as their system couldn't handle manual data removal.
The same system exists for the Dutch public transport (exactly the same cards). Privacy wise you are able to buy an anonymous card with cash. But ... the operators are phasing out machines which are able to accept cash faster than you can find them and they are idiotically expensive if you want to replace them every few weeks as they are tracking you anyways even on the anonymous cards.
Interestingly, in Japan for my short stay there, I found that the Suica card I needed for public transport could only be purchased and recharged with cash.
Utterly dumb question but why is tail recursion necessary in the JVM given that the compiler is better placed simply to turn recursion into a loop. TR removal should be done best at the highest level I'd think.
The compiler can only make this transformation in special cases, in particular, when it doesn't break any of the JVM's semantics (also, not all recursion is self-recursion, i.e. a tail call to the subroutine you're in). You can't just discard a frame of a call in a tail position, because some security mechanisms require knowing the full call-stack (plus, developers might hate you when their stack traces start missing crucial frames). So we're talking about explicit tail calls, in places that can be checked for the safety of the optimization.
Really? Are you sure boeing is, given the cost-savings that not being insured would make (I mean the mgmt is clearly penny-pinchingly stupid enough).
But even if boeing is insured, you can bet your butt the insurers will have an explicit or implicit clause that voids the insurance on 'reasonable grounds', and they will argue (correctly) that knowingly producing flawed products (when it became evident at least) matches that getout perfectly.
Even if they lose the insurers will basically move into a courtroom, sleeping bags and all, to tie things up forever. It's cheaper than paying out.
Aside: I grew normal and F1 hybrid courgettes (american = zucchini) as a kid and can confirm the hybrids were proper little triffids compared to the pure-strain plants.
Regarding the camels, can you dig up a link, am curious. Thanks.
I linked to the start of the section where he begins discussing the migration of the Turks into Iran (39:10). Discussion about hybrid camels is from around 45:26 onwards.
Here is the entire playlist of his 46 lectures on World History, of which the first link is lecture 13. His lectures are not just him retelling the material in the textbook, but rather gives criticism about how the textbook was constructed (He is the lead editor), and stories from his own research:
>It should increase the branching factor considerably
Is branching factor actually that relevant? Just from writing some naive AIs for fun I got the impression that the only thing that actually mattered is how well you can evaluate a position without branching further. Whether you have 40 or 100 (or 1000) moves available, you usually just want to only look at "the best" 10-15 (ideally even less if you can), and how reliable this determining of "the best" is seems like a way larger factor than just how many branches there are in theory.
If you've done game AI then you're the expert, not me. I threw it in as it seemed relevant.
I dunno. Granted evaluation is key but so is branching, surely, as that is what generates new positions, and their complexity in evaluation as there are more factors to consider.
How does one 'look at "the best" 10-15 [positions]' without culling all the others first, however cheaply? I thought evaluation really was just tree searching (hence branching factor is crucial) with various weights (obviously this is traditional chess evaluation, not fancy NN stuff). I honestly am clueless.
> I dunno. Granted evaluation is key but so is branching, surely, as that is what generates new positions, and their complexity in evaluation as there are more factors to consider.
I think this is where the slight issue is. The branching factor of your game is related to but not the same as the branching factor of your search.
> I thought evaluation really was just tree searching (hence branching factor is crucial)
The most basic way would be to play every possible game through to completion, fully exploring the tree. If you have no way of estimating the value of a position you have to try it out and see what happens, and your branching factor of the game is the same as for your search. A small increase in possible moves makes an enormous difference - 5 to 10 for a 10 move game is a 1000x jump.
However, imagine the complete opposite. You have a perfect way of estimating your chance of winning for any particular board move. In that case, you'd just check all the moves you can make right now and not look any deeper in the tree. Going from 5 to 10 is a doubling of positions to check, no matter how many moves in the game.
Because of the exponential here, the number of positions to evaluate per move that you don't explore further is almost negligible (similarly it's easier to just calculate the size of the lowest expanded bit of the tree as that dominates the total).
So, the better you get at evaluating your position without searching, the more deeply you can explore because you're not branching off so much,
You do have to cull the others, but the culling isn't what is costly. What is costly is the exponential nature of searching the tree, i.e. if you want to evaluate 3 of your moves in advance, with 50 moves being available every time, you have to generate 50^6 moves, which is pretty fast on a modern CPU, but for 4 moves it's 50^8 which is definitely not that fast anymore. So at some point you have to sacrifice breadth for depth drastically, and as soon as you do that pretty much the only thing that matters is how well you can evaluate positions as they are (without searching further down the tree). Even if you didn't cull searches, at some point you have to stop searching and fundamentally decide what the best move is. If this evaluation isn't good, all your searching didn't do anything.
This is, from my understanding, also the reason why traditional AI approaches struggled so much with Go. Not because Go has so many possible moves, but because given a certain game state it is so difficult to evaluate which player is ahead.
It would increase the branching a bit but not much I think.
Taking your own pieces would be sub-optimal choice in every-case other then avoiding mate (at cost of your material), when sacrifice would lead to mating of your opponent.
Gaining positional advantage at cost of anything other than pawn is probably not worth it. AFAIK in high level play gambits are not true gambits as you get the sacrifice back.
Branching increases because a piece is not constrained by other pieces. A (say) 20% branch increase will increase exponentially through the tree. Branching is probably higher earlier in the game now because there are more otherwise blocking pieces in play.
> Gaining positional advantage at cost of anything other than pawn is probably not worth it
This kind of post makes me want to give up on HN. I have actually played it (albeit a very long time ago) and you are wrong. Please try it.
But even if true, and only a pawn dies, it drastically changes the nature of the game as a white pawn is a barrier to white pieces. Make that barrier permeable and the entire game changes.
> Taking your own pieces would be sub-optimal choice in every-case other then avoiding mate
Or inflicting mate, if you're blocked from that by your own piece. Or opening an attack that otherwise blocked. Or freeing pieces otherwise useless (bishops seem to get this badly, though maybe it's just me - I was never a great player). Any major piece otherwise trapped can now escape by taking any lesser piece of its own that's fenced it in.
It totally changes the game. Position is just as important as pieces, and maybe more at different times.
It certainly is not functional. It cannot fly in air. Like penguins, it can only 'fly' using a liquid medium. Hence the nickname. Coming soon to a river near you.
True. If they can discern a newbie question from a idle do-my-homework for me question, people tend to be very good. I grant there are some exceptions, but few (though irritating).
I guess I'm the only one who doesn't seem to have any problems with wiki[1] or SO.
Every time this comes up people will shout about how unfairly they've been treated, and sure I've seen questions closed when they shouldn't have been, but often they're closed because they're dups or just homework which could have been found with a dab of googling.
Odd that these complainers never seem to link to a question of theirs to show us an example.
So I'll present my challenge again, to the parent @kstenerud and anyone else, if you say it's happened to you, post a link so we can judge.
[1] One exception, did meet a gatekeeper on a wiki article I questioned, in the end we sorted it out civilly.
Shameless plug. I did some analysis on closed and deleted questions on StackOverflow posted between 2008-2014 [0, 1]. The key findings from the analysis were as follows
* Closed questions due to the reason "subjective" are very popular amongst the subscribers but not in line with Stackoverflow rules
* Closed questions with reasons "duplicates" and "off topic" are the prime question areas for reputation gaming
* Deleted questions are very low in quality and are pretty much unrevivable with interference, unlike closed questions. Pyramidal structure of decreasing quality - Normal -> Closed -> Deleted
* If your question is accidentally deleted, such ones are revived quickly
Some side notes
* Deleted questions are clearly against guidelines and the style of writing is enough to give away these questions are just poor even without the actual content.
* Most closed questions are relatively good in content quality but against site guidelines (off topic, subjective etc.)
Personally, I see more often than not that people are just annoyed they can't ask their question on Stackoverflow rather than accepting that SO isn't the right place to ask their question. In addition, I also see answers/comments very hostile and don't lead to constructive feedback. A typical example of this behavior is Person P asks Question Q. An expert E makes a comment "Why are you doing this? You shouldn't do this - this is not the right away". Such a comment is not helpful because it passes a judgment on the approach of the question rather than answering it even if the question approach was not correct.
These were literally the first 3 questions on my review queue:
* https://stackoverflow.com/q/59344615 - A question by an absolute beginner, trying to do something that they have no clue how to start with. Already closed.
* https://stackoverflow.com/q/59341242 - A question about parsing a JSON response with jQuery. Two votes to close. The asker clearly does not know the word "parse".
* https://stackoverflow.com/q/57969318 - Someone trying to figure out an error message they're getting with kubernetes. This is exactly the kind of thing you get at the top of your google results when you hit the same error, and with one more vote to close, it will be forever locked with no useful information. Some asshole even downvoted the one answer that is there without adding any comments.
None of these questions are good, but they could be made better, and they all represent people with real problems that deserve help. Getting mad at people for "being lazy" (because if I, the expert, could easily find the answer to this, then why didn't you?!), is not productive.
Here's what I don't understand about all these SO deletionists: how is closing the question helpful in any way? If you don't find the question answerable, then don't answer it! But why block other people from trying to help? It's not like you're somehow "teaching" these people how to ask by blocking them. The user from question 59344615 (which got closed) did not post another question with better details. They just left the site, one more developer that doesn't have anywhere they can ask newbie questions. It sucks.
First one was aptly closed IMHO, much too vague. SO is not the right tool for absolute beginners to seek guidance when they have no idea what they're doing: the format asks for a reasonably specific answerable question. Would be nice if upon closing the asker was given pointers to beginner-friendly resources, though.
The other two are better, and (aptly) not closed. Of course you'll get inappropriate votes to close, but I hope they are correctly offset by other votes the (hopefully vast) majority of the time.
Now about this:
> how is closing the question helpful in any way?
I suppose it's to stay focused. When googling I quite often get useful SO results (& upvote those), and I'm happy not having to sift through tons of useless questions.
To do so, I would have to start keeping a log of each time I go through google to a SO answer that is being unfairly closed/downvoted/whatever.
For Wikipedia, you never actually see what goes on without going to the discussion page, which I've never looked at except when someone pointed me there (once again, I've not kept a journal of such excursions, and can therefore not answer your challenge). I have, however, seen enough to never ever try editing a page for any reason.
> Odd that these complainers never seem to link to a question of theirs to show us an example.
This feels more like an invitation to start some drama and nitpick pointlessly over an example than to actually reasonably discuss any issues. Like other commenters have mentioned: reasonable people do not keep lists of examples like this, just like reasonable people don't keep "burn books" of every time they've felt slighted.
> How do we "reasonably discuss any issues" unless someone presents examples of the "issues"?
How most people discuss things: by relating their experiences and impressions, and listening to those of others with an open mind.
Here's mine: it can be very obnoxious to extract a good answer out of the SO community for a challenging question. Often all you get are answers to different easier questions or a useless "don't do that." It takes a lot of annoying policing and preemptive anticipations of SO's typical bad answers to keep things on track. I've also personally come across many closed questions that were helpful and exactly what I wanted. I've also found myself having to pre-emptively address the closers because they're too trigger happy.
What I've just said is true, but the few examples I have would link you to my SO account, and honestly, you don't seem like the kind of person who I'd feel comfortable sharing that with.
> I suspect most of these "issues" don't exist.
I suspect you have a perspective that makes you blind to them. I would suggest listening more and holding off on the aggressive challenges rather than opening with them.
> The lack of such delinquent SO examples here is telling.
It only tells that people might be reluctant to jump through the precise hoops you've laid out for them.
> 1) by relating experiences and impressions, 2) and listening to those of others with an open mind
1) may not be correct (plus my own impression that SO isn't terrible doesn't count?) and 2) I've a perfectly open mind, that's why I asked the question. I asked for evidence. That's a reasonable request.
> it can be very obnoxious to ... to keep things on track
I've experienced some of that, in a minor form. That people are having trouble showing much evidence is what I keep coming back to. It may be that you're asking higher level questions than I am.
> What I've just said is true...
That's useless to me or to this argument. I want evidence.
> few examples I have would link you to my SO account
well, OK, I can sympathise with that - to an extent.
> people might be reluctant to jump through the precise hoops you've laid out for them.
Garbage. What 'precise hoops'? I asked that those hard done by post some personal evidence, which is easily found (if it exists).
> (plus my own impression that SO isn't terrible doesn't count?)
It does, but you didn't just contribute it to the discussion. You've been outright declaring your interlocutor's impressions to be wrong and making demands of them in a way that discourages me from wanting to listen to you.
>> people might be reluctant to jump through the precise hoops you've laid out for them.
> Garbage. What 'precise hoops'? I asked that those hard done by post some personal evidence, which is easily found (if it exists).
It's not garbage. You just outlined your hoops again. I'm not jumping through them--for reasons you can sympathize with, and I'm sure there are others like me.
And honestly, I just don't like your attitude, which is actually not a very helpful one. I can see why you're so defensive of SO and Wikipedia.
> > people might be reluctant to jump through the precise hoops you've laid out for them.
>
> Garbage. What 'precise hoops'?
Might be worth asking yourself whether "Garbage" is a worthwhile contribution to the discussion here. In this thread you stress that you have "a perfectly open mind" and yet when people disagree you seem to take it extremely personally.
'garbage' because those claimed hoops were never listed, strangely enough. Even when I asked for them.
> you stress that you have "a perfectly open mind" and yet when people disagree you seem to take it extremely personally
I do not take it personally. I asked for evidence. Very little was forthcoming. I've an open mind to opinions backed up by evidence. Opinion without some basis is useless or worse. QV. anti-vaxxers, chem-trailers etc. Or do you support these people's views just because they opine so? Please answer this point specifically.
I'm not supporting their views at all. You said someone's comment was garbage, I asked whether that was a constructive contribution and you assume from that that I'm taking sides here, which is an example of what I'm calling "taking it personally".
Civil and open dialogue on HN is important. We can disagree about things without using dismissive language of that kind.
there is nothing more frustrating than googling something, and having the first result be your exact question marked as a dupe where the pretendedly "duped-from" question is off enough that it is useless for your actual problem;
Not that odd. I'm not annoyed enough to keep a log of "I was frustrated by SO again today" just for the opportunity to win an internet argument about SO a few weeks later.
I asked "if you say it's happened to you..." therefore you don't need a log. Just log in to SO and bingo all your Q's with their A's are available. It's not difficult.
How is me having an issue with SO overall, any different then someone not have any issues with SO overall? One requires hard evidence and one does not?
I've never had a question closed, but I have had to deal with condescending responses. If I've gotten too much shit on a question, I usually delete it after I've gotten the information I need, rendering the evidence unavailable (even to myself as the poster after a window of time).
Stack Overflow curates its public-facing content, and so do I, when using real-name accounts. Given a choice between being seen taking shit from someone, investing time in arguing with that person, or just erasing the exchange altogether, the third option is sometimes the most expedient. I don't do it often.
Ideally people would just be polite, and questions could just be answered by anyone who cared to answer them, with low-scoring exchanges de-emphasized instead of being shut down.
> But now I've just polluted my once-pristine grammar file
What's bollixed up your grammar file are the users who absolutely insist on not writing syntactically perfect programs every time.
Your 2nd example is still cleaner than writing a hand parser that does the same thing, surely? A slightly mucky DSL has got to be cleaner, clearer, shorter and so more maintainable than a handwritten equivalent, no?
What would you want the grammar language to look like that handled errors 'properly'?
Not exactly to address your point but they're a good way of tracking individuals so I always try to pay anonymously (cash) and never register it. I should probably buy a new one every few months but usually forget.
FYI anyway. Privacy aside it's a pretty decent system.