Super Mario Bros. 3 in 3 Minutes – World Record Speedrun Explained [video] - <AUTHOR> https://www.youtube.com/watch?v=WWbZFj-cLvk <comment><USER2> Excellent video. I'm impressed the author went to recreate the run frame by frame, and then used those findings to analyze what was happening. Never expected this video to turn into a full on reverse engineering explanation.

As a side note, this kind of speed run has become more popular in the recent years for a combination of reasons: \- First, it's difficult to improve on the regular world records since they're so optimized (just have a look at Quake Done Quick and its sequels). \- Second, the emulators available to the speed running community have evolved. They now include better ways to track what's happening in memory. \- Third, the games themselves are understood better (as recently exemplified by the Super Mario 64 full reverse engineering).

So it's creating a whole new genre of runs that simply isn't about execution anymore.

If you're interested in the topic, you might like the Super Mario World speed run that uses a similar technique ([https://www.youtube.com/watch?v=gECESOoU8Es](https://www.youtube.com/watch?v=gECESOoU8Es)), or the recent work on removing randomness from Wind Waker runs ([https://www.youtube.com/watch?v=1hs451PfFzQ](https://www.youtube.com/watch?v=1hs451PfFzQ)).

<comment><USER3> > So it's creating a whole new genre of runs that simply isn't about execution > anymore.

Did we watch the same video?

It was completely about execution. You still need to be exceptionally good at the game to get those frame-perfect setups.

<comment><USER2> I meant in the sense that if you just said execution without context, you'd simply expect that we'd be talking about mastering inputs. This requires a body of knowledge established completely outside of the game itself.

<comment><USER3> Even then, once you get past a cursory knowledge of the game and mechanics, you start getting into understanding the implementation of the mechanics of the game. Then it's just a deeper and deeper rabbit hole until you're maniupulating bytecode by throwing P Switches up in the air.

</comment></comment></comment></comment><comment><USER4> That's absolutely insane. Manipulating the state of the game world so that its data maps to instructions to complete the game, and then glitching in a way that executes it.

The only thing I'm not clear on: even knowing exactly what you're doing... how likely is it that you could pull this off in real-time? Did the player have to do this 10 times? 100? 1,000?

<comment><USER5> I don't know about the run shown in the OP, but there are a fair number of memory-manipulation/ACE speedruns that are feasible in RTA ("real-time attack", a.k.a. something a human could pull off, as distinct from TAS). Off the top of my head I can think of such routes for Pokemon Red/Blue, Ocarina of Time, and Super Mario World.

To answer your question of "how likely is one to pull this off" for those three, the Pokemon one requires no almost advanced execution, other than turning off the console at a precise point to corrupt the save data you otherwise just need to follow a simple (though long) series of steps. The Mario one requires some pixel-perfect precision, and runners often used hacked ROMs that display coordinates in order to train. The Zelda one requires exact angles to be held on the analog stick, and I've heard of people creating guides out of cardboard and rubber bands in order to help them achieve the angles more reliably.

Sorry that I don't have any video links on hand, but you could almost certainly find examples of these in the GDQ archives.

EDIT: Found a good video for the SMW example, by SethBling, which actually goes a step further and manually reprograms SMW into Flappy Bird: [https://www.youtube.com/watch?v=hB6eY73sLV0](https://www.youtube.com/watch?v=hB6eY73sLV0)

EDIT 2: Here's an excellent explanation of the Zelda ACE: [https://www.youtube.com/watch?v=wdRJWDKb5Bo](https://www.youtube.com/watch?v=wdRJWDKb5Bo)

<comment><USER6> Even then, some of the timing accuracy required still mystifies me. E.g., if I got it right then, for the RNG manipulation to work, you have to press "A" on the menu screen in _one particular frame_ , counted from when the console was switched on. At the standard PAL framerate of 50 FPS, this gives you 1/50th of a second to react, with _no_ visual indicator that the frame you're looking for is about to come up. I have no idea how to even begin training this.

<comment><USER7> There are some cues you could use to get very close, particularly the rhythm of the music.

I've heard that a decent drummer can hit a note within 15 milliseconds of the mathematically correct point on average, and that makes it plausible that you could use rhythm as a cue to hit within the 20 milliseconds that this would require.

But obviously this would become less likely to succeed as the length of the game continues and timing errors that affect the soundtrack compound.

<comment><USER8> Fighting game players regularly hit 1/60th of a second frame links.

For example, Guilty Gear XX's "one frame jump" is required to escape some pressure strings. This requires one-frame precision (1/60th of a second), pushing "Barrier" on frame 3.

If you push Barrier on frame 1 or 2, you're grounded and won't jump. If you push Barrier on Frame 4, it doesn't make a difference (because your character's animation is the same by frame 4). Its literally a 1-frame button timing.

Street Fighter IV had a fair number of 1-frame combos as the bread-and-butter for many characters. These 1/60th of a second links may be character specific (since all enemy hitboxes change based off of their relative sizes). They're also position dependent, because wall-bounce vs corner combos are a thing in most fighting games.

[https://www.youtube.com/watch?v=OIXuOx8WbFU](https://www.youtube.com/watch?v=OIXuOx8WbFU)

Most people, with enough practice, can execute this. Just most people don't realize that they can. This isn't even elite musician level.

Now what the expert fighting game player can do, is do the 1-frame link reliably during a tournament while the crowd is yelling and overall in a distracted environment.

</comment></comment></comment></comment></comment><comment><USER9> The video explanation is almost as impressive as the speed run itself.

The speed run is literally doing low level assembly code manipulation to pull off this time apparently.

Worth a watch even for people who aren't into gaming.

<comment><USER10> The 0 exit speedrun for Super Mario World uses pretty much the exact same method (koopas and all) as well [https://www.speedrun.com/smw/run/y65xp50z](https://www.speedrun.com/smw/run/y65xp50z)

SMB3 also has an interesting tool assisted speedrun (non-human doing the inputs) where fast inputs on the second controller cause an overflow on the input buffer allowing for the game to be beaten basically instantly from the start screen.

If you like this because of the interesting stuff done to abuse the game The Legend of Zelda Ocarina of Time has pretty much been a history of "and then a quicker way to corrupt the game was found".

It's not always about going fast either, challenge runs also get a lot of very interesting results from a lot of dedication. Super Mario 64's A Button Challenge (try to beat the game with as few A presses as possible) has tons of outrageously complex tricks with amazing explanation videos. One in particular caught people's attention to the point it became a meme [https://www.youtube.com/watch?v=kpk2tdsPh0A](https://www.youtube.com/watch?v=kpk2tdsPh0A) though it's not actually the most technically impressive to come out of that endeavor.

<comment> dane-pgp An A press is an A press. You can't say it's only a half.

<comment><USER11> Sure you can, when you define ahead of time that "press" means a full down/up cycle. When you say the down part of the cycle is a "press", you're being just as arbitrary.

<comment><USER12> That's known as positive and negative edge in the fighting game community. Some fighting games (e.g. Street Fighter) actually check inputs at both the positive and negative edges of button presses, so you can actually hold punch while doing the quarter circle forward and let go as you hit forward.

A lot of advanced combos and tricks use negative edge.

<comment><USER13> The exact same phrases are also used in digital electronics.

</comment></comment></comment></comment></comment></comment><comment><USER14> Here is Mitch Flower Power performing the glitch on live TV in 2016 with Stephen Colbert:

[https://youtu.be/jvLwpnn1F4Y](https://youtu.be/jvLwpnn1F4Y)

I believe Mitch was the first person to do this trick in RTA.

<comment><USER15> What the hell, he just pulled that off with all the distraction and people yelling, with all the stress, on a single try? How is that even possible, don't speedrunners do thousands of runs to get a win like this? Was it a real run?

And Colbert was speaking and distracting him during some of the most important part of the run and cut off before even really showing his win. What a shame.

<comment><USER14> He also did it at GDQ. Which really speaks to how good Mitch is.

But once you are at this level, it is the other details that requires grinding:

The thing that sets the run from TFA apart from this run is the hammer bro manipulation that easily fails AND the luck of having good hammer bro movement (6% chance) after the manipulation is done.

Getting those two things on top of good execution is what requires thousands of tries for these top players.

</comment></comment></comment><comment><USER16> For those of you who (like me) are curious to see what it's like to have your product broken in ways unforeseen but people unimaginably motivated, check out the IGN speed run series - I love hearing every time the team watching a world-record speed run for the first time says, "whoa, how did that happen? Tim, didn't you handle that kind of physics bug?!"

It's absolutely gold: [https://youtu.be/2sGN3peODwY](https://youtu.be/2sGN3peODwY)

It's fantasy, but I'd love to see a "miyamoto-and-team watch five classic games be hyper-optimized speed-run", although the distance may be too great. Part of what makes the ign series enjoyable is that the programmers have intimate knowledge of two worlds: the code, and the gameplay

</comment><comment><USER17> This is the most fascinating technical post I've seen in HN in quite some time. I'm in awe of how people can optimize around particular goals when given enough time.

<comment><USER18> I have seen similar achievements with some really shitty enterprise software. Where I would normally pull data out of the system and use modern tools to perform analytics, other people who have used the software for years will write 500 line long SQL statements to get the same answer

</comment></comment><comment><USER19> I love the speedrunning and ROM hacking communities. Speedrunning has become my sports entertainment. And I finally learned Assembly by messing around hacking Super Mario World.

All I can say is that I wish I combined my passions for programming and gaming much earlier in life.

If you like this kind of video, I highly recommend Summoning Salt's World Record Progression videos: [https://www.youtube.com/channel/UCtUbO6rBht0daVIOGML3c8w](https://www.youtube.com/channel/UCtUbO6rBht0daVIOGML3c8w)

They don't always dig deep as the original video post, but the discovery of glitches comes up often and the videos are incredibly well done.

</comment><comment><USER20> Related CTF challenge you can undertake yourself: [https://gitlab.com/cybears/fall-of- cybeartron/-/tree/master/...](https://gitlab.com/cybears/fall-of- cybeartron/-/tree/master/challenges/pwn/block_dude)

Write-up of solution: [https://greenbender.github.io/ctf-writeup/post- cybearsctf-20...](https://greenbender.github.io/ctf-writeup/post- cybearsctf-2019-writeup-blockdude/)

<comment><USER21> Thanks for this, looks interesting

</comment></comment><comment> default-kramer Great video. The realization that "beating Super Mario Bros. 3" is much less well-defined than I thought is very interesting. Not just technically, but like there's some philosophical metaphor that I can't quite describe...

<comment><USER22> Yeah, that's why the community has specific categories for different runs. I appreciate glitched runs because of the acumen needed to accomplish them but it's 100% runs that truly impress me most as a gamer.

The speedrun world is almost like a scholarly domain, with all the usual bickering about terminology, whether this qualifies as that, and so on. I would be interested to read an ethnology of the community.

<comment><USER23> > The speedrun world is almost like a scholarly domain, with all the usual > bickering about terminology

Right. Like the most recent 100% runs of Ocarina of Time[1], which use glitches to obtain items early and break the sequence of the game, while _still obtaining every item from its source eventually_ making them still legitimate 100% runs.

You'd think "100%" and "glitchless" were synonymous, but they're not anymore!

1: [https://www.youtube.com/watch?v=F4nc4lhj3Uk](https://www.youtube.com/watch?v=F4nc4lhj3Uk)

<comment><USER24> >You'd think "100%" and "glitchless" were synonymous, but they're not anymore!

they never wore! it all depends on the community definition. you can have 100% glitchless and 100% with glitches. or you can have both have the same category. it all depends on what the runners define.

</comment></comment></comment></comment><comment><USER25> And here's this glitch taken to the max using a TAS (in which a program is used to enter frame-perfect controller inputs). Apparently, a second controller is used to enter arbitrary code into RAM.

[http://tasvideos.org/4961S.html](http://tasvideos.org/4961S.html)

I don't really understand it, but it really blows my mind what some people think of.

<comment><USER26> The progression isn't particularly mind blowing, though. Once somebody notices a buffer overflow / register pollution of some sort, you note which area of memory it's executing and then reverse engineer how to modify that memory to execute particular instructions. I would expect a community like HN would consider this par for the course.

That said, what's impressive to me is the amount of time and energy individuals are willing to expend on this sort of thing. Speed runs in general, the sheer time investment and dedication. There's a sand mandala aspect to it all.

<comment><USER25> Yeah, it turns out the link I posted is from one of the people behind the discovery/application of the glitch, so it really seems to be the logical next step if you know what you're doing.

And agreed on speedrunners! It's not something I could ever do myself, but it's one of my favorite aspects of gaming.

</comment></comment></comment><comment><USER27> I was thinking someone should write a story on the premise that we are living in a simulation, where 'glitches in the matrix' like déjà vu, coincidences, freak accidents, etc., are due to accidental arrangements of people corrupting the program... but then I realised someone already had. In El ángel exterminador (1962) a group of people are trapped in a single room (level) due to their accidental seating arrangement. They are freed when they unlock the same sequence. In Groundhog Day a similar thing happens where the protagonist is trapped replaying the same level, until he figures out the correct sequence of actions to pass it. I am sure there are others.

<comment><USER28> If you want a story that handles this scenario pretty much exactly, you might want to check out "Unsong" [0] by the excellent Scott Alexander.

That world is basically a biblically-inspired computer simulation which gets corrupted when Apollo 8 crashes into the celestial sphere. Also boiling a goat in its mother's milk causes a segfault for some reason the developer can't quite explain.

[0] [http://unsongbook.com/chapter-1-dark-satanic- mills/](http://unsongbook.com/chapter-1-dark-satanic-mills/)

<comment><USER27> The payoff is real: "So the whole universe runs on this system of sapphires connected by paths?"

"MOST OF IT RUNS ON SAPPHIRES ON PATHS, BUT I USE RUBY ON RAILS FOR THE DATABASES."

I quite enjoyed this story, thank you for sharing it.

</comment></comment></comment><comment><USER22> This was interesting. I used to whine about doing this kind of glitched run, but it's just a different category of speedrun. Amazing to have that level of precision, though of course he must have done this hundreds, maybe thousands of times to get it right.

If you like this kind of explanation be sure to watch the "0.5 A presses" Mario 64 speedrun video, which is equally interesting as far as getting into the hidden guts of the game: [https://youtu.be/kpk2tdsPh0A](https://youtu.be/kpk2tdsPh0A)

</comment><comment><USER29> _UPDATE:_ They do! [https://en.wikipedia.org/wiki/List_of_Super_Mario_speedrunni...](https://en.wikipedia.org/wiki/List_of_Super_Mario_speedrunning_records#Super_Mario_Bros._3) (see also, replies)

\----

I'm not saying this kind of thing isn't impressive -- because, duh, it's amazing! I just don't think it should count as a record. Or at least it should have it's own category.

For me it just crosses a line between exploiting a side effect or minor bug, and... well, this.

If I could somehow glitch physics at the quantum level in real life, to instantly warp me to the finish line of a race, is it fair?

Is it in the _spirit_ of the race?

It'd be incredible, sure, and on paper, yes, you went from point A to B faster than a cheetah. But it's no longer a race concerning the physical fitness of the contestants. It's about systemic exploitation.

I guess this question bleeds into the idea of physical augmentation and enhancement, and quickly into some Deus Ex stuff, if you push it enough.

Love the hack, just pondering the ethics of it being a record.

<comment><USER30> It is it's own category. [https://www.speedrun.com/smb3](https://www.speedrun.com/smb3) has the following:

100%: "Beat the game, entering and completing every stage and Hammer Bros. fight" Any %, warpless: "Beat the game as quickly as possible without using any wrong warps or warp whistles. Warp whistles may be collected but not used." Any %, no wrong warp: "Beat the game as quickly as possible without using any wrong warps." Any %: "Time starts on pressing Start on the title screen. Time ends when Mario is visible in the princess' chamber. If the game crashes, the run is invalid."

The run shows is an Any% run.

<comment><USER29> Indeed!

When I got back to my desk I looked into a bit and was happy to see it all categorized nicely.

I withdraw my questioning, and am quite happy everyone's represented. ;D

[https://en.wikipedia.org/wiki/List_of_Super_Mario_speedrunni...](https://en.wikipedia.org/wiki/List_of_Super_Mario_speedrunning_records#Super_Mario_Bros._3)

</comment></comment></comment><comment><USER31> Ropping to victory would have been impossible if Nintendo didn't constantly cut corners and implemented stack canaries like they should have.

<comment><USER32> This comment is indistinguishable from sarcasm.

</comment></comment><comment><USER33> Gives the term _shellcode_ a whole new meaning!

<comment><USER29> I snorted. ;)

</comment></comment><comment><USER34> This guy makes such good videos.

I mean, I marginally gave a shit about a lot of these games now that I'm old (even though I owned all of them as a kid), much less about speed runs, but after watching his videos by chance, I suddenly care again ... and maybe even a lot more for the endeavour of speed runs.

And that's the hallmark of a good documentary.

<comment><USER35> I've always found the any% categories of speed running to be the most interesting, since it often works by manipulating the code of a game to work in really inventive ways.

if you like videos like this, pannenkeok2012 does super in depth analysis of everything Super Mario 64

[https://www.youtube.com/user/pannenkeok2012](https://www.youtube.com/user/pannenkeok2012)

</comment></comment><comment><USER36> Whenever i see stuff like this (youtube recommends speedruns + indepth speedruns videos on and off over the last few years), i imagine something like game of life where a ton of pixels are getting smaller and more refined.

The thought behind it is, that we as brains churn through everything and as we are that many and we are connected so well, we just churn through games which have been released 32 years ago by doing everything you can do with it.

Just a few days ago i saw a video where they used debug code to manipulate the game state and one of those things was a sprite fix, as there is a bug in super mario bros. 2 where the last frame was skipped and the memory fix fixes that.

The same happens with more complex 3d games as well, like thx to nvidia tools frame analysis of games exist on yt. Nice to see all the render pathes explained step by step.

</comment><comment><USER37> ahhmm _clears throat_ This wouldn't have happened if they used Rust ;)

<comment><USER38> The reason you get these sorts of bugs is not because of the languages used, but because of the tight constraints, most notably the limited amounts of ROM and RAM available. You simply couldn't code such a thing in safe Rust. If you wanted to make cartridges like this with Rust, there would be a _lot_ of unsafe code, and you'd get just the same bugs.

Put another way: if you said, "you wouldn't get this if you wrote it in Java"—well, sure, but that's because you wouldn't get anything, because the JVM wouldn't fit and couldn't run on the target platform.

<comment><USER37> yeah I was joking :D...Designers had to use assembly...

<comment><USER38> One of life's pleasures is taking jokes seriously.

</comment></comment></comment></comment><comment><USER39> Ive always wished someone made a Super Mario Bros. race your friend to the end split-screen (top & bottom) game. In between each player can hit certain blocks to create obstacles for their opponent.

I think it would be a lot of fun! Maybe some MOD maker can make that!

<comment><USER10> I'm 95% sure this is sarcastically referencing [https://www.nintendo.com/games/detail/super-mario- bros-35-sw...](https://www.nintendo.com/games/detail/super-mario- bros-35-switch/) but in case it isn't or someone reading isn't aware.

<comment><USER39> Oh wow what I wished for decades ago is coming out soon for a home console. Had no idea but thank you!!

Weird it's only the original Super Mario Bros. game and only available from October to March.

Didn't know it was already created on the DX...never owned one before.

*upon a search a Modder created this a year ago called Mario Royale (better name then 35) [https://www.ibtimes.com/super-mario-bros-35-has-elements-201...](https://www.ibtimes.com/super-mario-bros-35-has-elements-2019-fan-made-battle-royale-starring-mario-3042363) . They shut him down and created their own .. surprised no one at Nintendo thought of this nor ask the modder for help.

Lame, Nintendo lame!

</comment></comment></comment><comment><USER40> One interesting aspect of modern technology is that there are huge inefficiencies everywhere. It is also an opportunity since anyone can jump in and create/improve something a lot better.

This video is an interesting demonstration of 2 things - human ingenuity and the scope of improvement even when it is not obvious!

</comment><comment><USER41> Inked in this YouTube video description, is another channel [https://www.youtube.com/c/RetroGameMechanicsExplained](https://www.youtube.com/c/RetroGameMechanicsExplained)

Just spent an hour watching, great stuff on both channels

</comment><comment><USER42> Really interesting... love it when talented people apply their considerable skills to something ridiculous.

<comment><USER43> It's one definition of hacking.

</comment></comment><comment><USER44> Bunnyhop was my favourite glitch.

The phoon too much for zblock bunnyhop fragmovie video [0] still makes me laugh even like 10 years later

[0] [https://www.youtube.com/watch?v=SNvDUO42Hys&t=370s](https://www.youtube.com/watch?v=SNvDUO42Hys&t=370s)

</comment><comment><USER45> one of the best nerd food of all time. reminds of this keynote on how to get the best pokemon and cheat in pokemon blue!

[https://www.youtube.com/watch?v=RNsEsZbXE-4](https://www.youtube.com/watch?v=RNsEsZbXE-4)

</comment><comment><USER46> Here's a video of moving arbitrary code from Pokemon Red to SML2 on original GameBoy.

[https://youtu.be/SL_Zuc0tlvo](https://youtu.be/SL_Zuc0tlvo)

</comment><comment><USER47> That's quite interesting. The visualization and explanation are awesome.

Besides, I have learned stack exploits, but I had never expected they could also be used in an NES game.

</comment><comment><USER48> Watched that guy heavily a few months ago. He makes great explanations, really breaks things down so laymen can understand it.

<comment><USER49> Summoning Salt & Bismuth do great videos about speed running

</comment></comment><comment><USER50> It really bugs me that people refer to this glitch as a wrongwarp even though it's ACE, not a wrongwarp...

</comment><comment><USER51> EDIT: I mixed up two retro gaming YouTubers. The below refers to Bisqwit, not Bismuth. His personal views aside, I hope you find Bisqwit's other videos interesting.

I really respect this guy as an engineer and a retro gaming enthusiast, but he has some videos explaining his personal irrational Islamophobia that really make me wonder about him as a person -- here's one of them: [https://www.youtube.com/watch?v=xVxSAi4sueQ](https://www.youtube.com/watch?v=xVxSAi4sueQ)

<comment><USER52> You appear to be mistaken. The video we're discussing is by someone called "Bismuth", but you've linked to a completely different person called "Bisqwit".

<comment><USER53> Bisqwit has some videos that are definitely worth checking out as well. I really enjoyed his NES memory visualizations: [https://youtube.com/watch?v=hqDGWfZhitc](https://youtube.com/watch?v=hqDGWfZhitc)</comment></comment></comment>


Show HN: Hey Who should I vote for? (Our Sandy-day-off project) - <AUTHOR> http://HeyWhoShouldIVoteFor.com/

<comment><USER2> I'd like to see sources for the candidate's opinions. For example, I don't think Romney denies that global warming is real. [http://cleantechnica.com/2012/09/07/romney-admits-global- war...](http://cleantechnica.com/2012/09/07/romney-admits-global-warming-is- real/)

<comment><USER3> In general, these questions would benefit from more nuance, as "yes/no" don't accurately portray each candidate's position on a bunch of different issues. Some examples:

\- Romney believes the right to abortion ought to be preserved in cases of rape or when there's a threat to the mother's life. \- Obama hasn't endorsed raising the Social Security retirement age and campaigned against in 2008, but seemed willing to consider the idea as part of a compromise solvency package during the Bowles-Simpson negotiations. \- Obama flat out supports lowering the corporate tax rate.

Also, when someone lands in the middle zone, it doesn't really make sense to say they should vote for a 3rd party as virtually all 3rd party candidates are either to the left of Obama or the right of Romney.

<comment><AUTHOR> Yes, they would benefit from nuance - but the point is to go after low- information voters that might not care all that much, and in testing consistant "No/Yes" answers were a lot easier to parse.

I went off what's on the website of both candidates - not various statements they may or not have made (which would be impossible to nail down, you say Nuance, I don't know if that's how I'd describe both parties pandering).

Romney on Abortion - "I am pro-life and believe that abortion should be limited to only instances of rape, incest, or to save the life of the mother. I support the reversal of Roe v. Wade, because it is bad law and bad medicine. "

Obama on Social Security - doesn't mention raising the age, Romney has it as part of his official platform

Obama on Corporate tax rate - again doesn't mention it was part of his plan, Romney has it as part of his official platform.

On the middle zone I agree which is why it's not presented seriously.

</comment></comment></comment><comment><USER4> One of the questions that are long hid the yes/no buttons for me so I had to zoom out twice to see it. 13" MB Air.

<comment><USER3> Same here, 1366x768 resolution seems to be too small.</comment></comment>


UC suspends new logo following public outcry - <AUTHOR> http://www.dailycal.org/2012/12/14/uc-suspends-newly-designed-logo/

<comment><USER2> [http://news.cs.washington.edu/2012/12/08/university-of- calif...](http://news.cs.washington.edu/2012/12/08/university-of-california- changes-logo-to-keep-pace-with-uw/)

 _During the previous century, under memorable President Dick McCormick, the University of Washington hired a bunch of consultants who modernized its athletic logo from a husky to a ferret.

The University of California – ever a laggard, but never by too much – is now keeping pace, changing the UC seal to a pull-tab.

We commend UC leadership, and congratulate our colleagues at Berkeley, San Diego, and the other UC campuses, on this important modernization._

<comment><USER3> Ha, and from the computer science department no less. The new logo to me looks like a buffering pull tab with a butt crack.</comment></comment>


Google to limit free access to news sites - <AUTHOR> http://news.bbc.co.uk/2/hi/business/8389896.stm

<comment><USER2> Not clear from this article: are they really trying to charge/register to click a link to content that would have been provided for free if it had been linked from somewhere else? Doesn't that just defer their problem? Doesn't that mean there will just be other, more small-scale news aggregators and/or blogs that will serve as intermediaries?

<comment><USER3> I don't think the end user will see a lot of change here, as its a pretty nuanced change. "First Click Free" is actually more of an indexing policy than anything else.

Since its an obscure topic, and the BBC article is fairly misleading, here's a little background on what "First Click Free" is all about:

Basically, showing a different page to Googlebot than you show to users (i.e., "cloaking") will get your site delisted. This puts sites like NYTimes.com in a weird spot. They want to force users to register before viewing any articles, but they also want Google to index these same articles (and a forced registration would prevent that). Google wants the same thing (to index the pages), but seeks to avoid special exceptions in its algorithm (e.g., maintaining a whitelist of sites who are allowed to cloak).

In an effort to resolve this problem, "first click free" (FCF) was born.

In essence, FCF means that you show the user the first article without requiring registration, but once they click through to a second article, you can force them to register without running afoul of Google's no-cloaking policy. AFAIK, its not a program you have to opt-into with Google, you just implement it on your site however you like.

The problem is that every click that originates from news.google.com is counted as a "first click", even though it could be the 15th article they've viewed on nytimes.com. So clicking through from Google News becomes a hack to avoid registering for nytimes.com (or wsj.com, etc).

So basically, it looks like Google is relaxing the rules a bit, and saying you can ask for registration even if the click comes directly from Google News, provided the user has already viewed >= 4 articles on your site.

tl;dr: this a fairly minor policy shift, as I read it.

<comment><USER4> > They want to force users to register before viewing any articles, but they > also want Google to index these same articles (and a forced registration > would prevent that). Google wants the same thing (to index the pages), but > seeks to avoid special exceptions in its algorithm (e.g., maintaining a > whitelist of sites who are allowed to cloak).

Even if the cloaked-paywall-articles get indexed, couldn't that same fact - that they are behind a paywall and not easily accessible - be interpreted that they offer lower quality search results and thus should be listed further down the organic search result list?

<comment><USER3> Certainly, but unless the Google searcher can access the content behind the paywall without registration the website is not following the First Click Free rules. If they cloak to Googlebot and don't follow FCF they'll be delisted, because as you said inaccessible content is by definition low-quality (in this case).

</comment></comment></comment></comment><comment><USER5> "Some readers have discovered they can avoid paying subscription fees to newspaper websites by calling up their pages via Google."

I actually cancelled my wsj online subscription because i would would just type their headlines into a google news search and find free stories of the same topic. I actually told the customer service lady that when she asked why I was canceling.

</comment><comment><USER6> I guess the ad revenue model isn't working for them online. I figured if it was going to work for anybody they would figure out how it would work for them. I mean, I thought that was a large part of their revenue model in the hard-copy word anyway. My paper has a heckuva lot of ads.

<comment><USER7> At least with a print paper you were reasonably certain the ads were reaching people in a certain geographical location (and you could data mine your subscriber list for more stats).

With an online site -- especially one with no registration required -- you know very little about the people reading, so advertisers only pay commodity rates for ads that could apply to just about anyone (whiten your teeth, refinance your mortgage, etc). Advertisers are still very willing to pay to reach potential customers, but newspapers in the online world haven't really figured out a way to connect to them.

</comment></comment><comment><USER8> What if I don't store cookies? Or I delete them regularly? Or a Firefox extension does this for me?

<comment><USER9> Well that would be stealing, the same as if you walked out of the room during a commercial.

</comment></comment><comment><USER10> Couldn't newspapers do this before? I don't see why Google needs to be involved so that a newspaper can show a registration page when a user goes to their article (from Google) more than 5 times. They could implement this with or without Google.

<comment><USER11> See qeorge's comment above - basically, what this really is is a change in Google's cloaking policy for news sites.</comment></comment>


Are You Sure You Want to Quit the World? (2011) - <AUTHOR> http://www.gq.com/story/suicide-nurse-mark-drybrough-chatrooms-li-dao?printable=true?mod=e2this <comment><USER2> Not a fan of these lengthy "storytelling" articles so I stopped reading and did a quick search.

[https://en.wikipedia.org/wiki/William_Francis_Melchert- Dinke...](https://en.wikipedia.org/wiki/William_Francis_Melchert-Dinkel)

</comment><comment><USER3> I've been suicidal on and off at various points in my life. Luckily I never got involved with these kinds of communities online, as I thought they might exacerbate the issue.

</comment><comment><USER4> How is that these psychopathic people get lighter punishments for killing people for fun, than people get for taking drugs privately or stealing money to survive?

</comment><comment><USER5> This is another reminder to be weary of strangers you meet online.

<comment><USER6> Indeed, and wary, too. On a more serious note, my sister found such a community and they helped her to commit suicide. It does happen.

<comment><USER4> Mathematically, it seems that 99% of peole in these communities must be snuff predators, since everyone who isn't is dead.

</comment></comment></comment><comment><USER7> From 2011. Perhaps title should reflect this.

Also, alt.suicide.holiday is a Google discussion group? Sigh.

<comment><USER8> Indeed! If you think alt.suicide.holiday is a Google group, please, don't quit the _world_ \--- but do quit Usenet. Thanks!

</comment></comment><comment><USER9> "ASH [alt.suicide.holiday] began as a Google discussion group"

... stopped reading at this. Do your damn research. Also, get off my lawn.

<comment><USER10> I think you'd be surprised at the number of people who have no idea about what usenet is. Dejanews still lives on in google discussion groups, and that may be the reason why it is mentioned as such, the reporter may very well realize this is not factual but does not want to spend 3 paragraphs explaining what usenet is, what it's rather complex ancestry is and where it ended up today.

It's a white lie. I read the article to the end, and it is actually a lot better than you'd think from that one basic mistake in the beginning.

<comment><USER11> it doesn't take three paragraphs. here, watch this: "ASH began as an internet discussion group about why suicide rates increase over the holidays,"

</comment></comment></comment><comment><USER12> To view this, pick your poison: pay them or subject yourself to a security risk (i.e. disable adblocking).

<comment><USER13> I had no problem accessing the article. I'm using uBlock Origin.

</comment></comment><comment><USER14> This article was a morbid piece of shock journalism, the kind of thing you'd read for the same reasons that you can't stop looking at a gruesome car crash. So I'm actually pretty happy that I was able to remove the nag message in Firebug and read the article with my ad blocker turned on. I would regret it if GQ made money off of my visit and used that money to write more articles like this.</comment>


A Chapter from the FBI's History with OpenBSD and an OpenSSH Vuln - <AUTHOR> https://twitter.com/RooneyMcNibNug/status/1152327783055601664 <comment><USER2> The link in the tweet is worth a read[1].

>My NDA with the FBI has recently expired, and I wanted to make you aware of the fact that the FBI implemented a number of backdoors and side channel key leaking mechanisms into the OCF, for the express purpose of monitoring the site to site VPN encryption system implemented by EOUSA, the parent organization to the FBI. Jason Wright and several other developers were responsible for those backdoors, and you would be well advised to review any and all code commits by Wright as well as the other developers he worked with originating from NETSEC.

[1][https://marc.info/?l=openbsd- tech&m=129236621626462](https://marc.info/?l=openbsd-tech&m=129236621626462)

<comment><USER3> Nitpicking here, but the parent agency of the FBI is the Department of Justice. The EOUSA is the Executive Office of United States Attorneys, and is basically the back office support for the 93 US Attorney offices. It's parent organization is also the Department of Justice.

Basically, he is saying the DOJ planted a back door so that it could spy on its own internal network.

<comment><USER2> I was confused by this and it's the first time I've heard of EOUSA.

What's the real story here?

<comment><USER4> Factions in government are sometimes caught spying on gov organizations that have oversight/control athority over them. That was the real scandal of Edward Snowden's bombshell (that was quickly covered up).

</comment></comment></comment></comment><comment><USER5> 'one former FBI computer security agent has confirmed parts of Perry's story. .. "I was one of the few FBI cyber agents when the coding supposedly happened. Experiment yes. Success No,"' E J Hilbert FBI

[https://web.archive.org/web/20170823064610/https://www.v3.co...](https://web.archive.org/web/20170823064610/https://www.v3.co.uk/v3-uk/news/1989462/contractor- claims-fbi-installed-backdoors-openbsd-crypto)

<comment><USER6> There's nothing that suggests that those experiments had anything to do with OpenBSD.

</comment></comment><comment><USER7> So, nothing about the 2010 claims, but something maybe, not sure what, back in 2002? Only two remote holes in a heck of a long time!

<comment><USER8> Indeed, IPsec isn't mentioned. (You can use WireGuard on OpenBSD nowadays.)

If you remember the OpenSSH Challenge Response vulnerability was found by ISS in 2002. OpenBSD's advisory can be found here [1]

This was the first remote vulnerability found in OpenBSD's default installation (which they used to advertise with). Back then, it was very normal to have all kind of bloated daemons enabled by default and vulnerabilities were found in C code and were easily exploited (no ASLR, on x86-32 for example).

Of particular interest is "section 6. Release Process" because it has details about how the OpenBSD team dealt with the situation at that time. Also, the patches are from 26 june 2002.

Now, if you look at [2] (source of FOIA documents), you can notice the date is 14 august 2002. This indicates the FBI's document is made after the vulnerability was known to the public.

What are the indications that the FBI knew about this beforehand? Is that the part listed on the bottom where they say contact X has administrative control over the internet host cvs.openbsd.org and Y has administrative control over the internet host ftp.openbsd.org? We don't know who these people were, who they worked for.

I remember there being some kind of feud between OpenBSD team and Grsecurity/PaX team (Brad Spengler aka Spender and a Hungarian I suppose by the nickname pipops). I always wondered about the relation of these, and the blackhat community. Who were these people with the gobble gobble memes, and the "Theo why is syslog running on port 514 I want to see SSH and nothing else"?

[1] [https://www.openssh.com/txt/preauth.adv](https://www.openssh.com/txt/preauth.adv)

[2] [https://cdn.muckrock.com/foia_files/2019/07/19/Ecd74aeb090e0...](https://cdn.muckrock.com/foia_files/2019/07/19/Ecd74aeb090e009e1ede26e1a0fe860c184bb6797_Q52218_R348013_D2256726.pdf)

<comment><USER7> Probably Contact X is Theo, and Contact Y is Bob Beck. Or vice versa. There's no reason to think otherwise, unless of course we're going to revisit conspiracy theories like the bullshit claims about NSA backdoors from 2010. But OpenBSD has always been a magnet for trolls.

<comment><USER9> Isn't it in the government's best interests to have a non-adversarial relationship with a community?

The government does have plenty of tools for writing correct code. OpenSSH was written with available tools, if available tools to write correct code weren't used, there'd be very little burden for anyone to make an accusation.

>Currently, most Commercial Off-the-Shelf (COTS) software contains about one to five bugs per thousand lines of code.

>DARPA created the Crowd Sourced Formal Verification (CSFV) program to overcome these challenges.

(The above was a project that led to formal verifications that wasn't open sourced)

<comment><USER10> The government is not a monolithic entity, but a nexus of competing agendas, and not only does the right hand not know what the left hand is doing, but they may well be working at cross-purposes. This is true of any organization beyond a few dozen people.

<comment><USER9> Yes, inaction is only evidence of nonfeasance when a person fails to perform an action aligned with their duties or stated interests. The government does have competing duties and stated interests, so there is no evidence of nonfeasance or malfeasance on the part of OpenBSD or on the part of the government in this case.

<comment><USER7> OpenBSD is based in Canada. It ships with cryptography. It does not accept contributions to its cryptography code from Americans, specifically because of the ridiculous cryptography export ban the U.S. had in place in the 90s.

[https://www.openbsd.org/crypto.html](https://www.openbsd.org/crypto.html)

Of course, if that sort of thing is what you're looking for, there's always SELinux.

[https://selinuxproject.org/page/Main_Page](https://selinuxproject.org/page/Main_Page)</comment></comment></comment></comment></comment></comment></comment>


Is software prefetching (__builtin_prefetch) useful for performance? - <AUTHOR> https://lemire.me/blog/2018/04/30/is-software-prefetching-__builtin_prefetch-useful-for-performance/ <comment><USER2> It is useful in case where the hardware prefetcher is not helpful. That is, indirect memory access (e.g. graph traversal), constantly accessing different pages (eg column wise access of a matrix with >4k kB rows) Howeve, finding the right perfetch distance is key. Too early and you wasted an instruction. Too late and your cache line might already be evicted, degrading performance. When perfetch instructions were introduced, unit prefetches were commonly fine. Now you should probably do a sweep to find an ideal value.

Prefer giving your optimising compiler a prefetch hint, it will be better at guessing the distance and be less architecture-dependant.

<comment><USER3> Yeah, speaking of graph traversal, when I was working on the Mono runtime performance team at Xamarin, it helped considerably in the garbage collector (SGen) when we added some manual prefetching to scanning the object graph, but it took a fair amount of benchmarking to find the sweet spot.

</comment></comment><comment><USER4> I was able to cheaply and measurably boost the perf of some heavily optimized deep learning inference stuff through judicious use of prefetch. CPU can only do the job for you if it notices coalesced reads. It won't do anything about that next buffer you could be pulling in now from a different place while the CPU is busy processing data it already has in the cache.

Benchmaking on realistic workloads is crucial for this kind of work. If you can't measure the benefit, leave it out, because what is harmless on one arch can be measurably harmful on another. As if that wasn't bad enough, results can and do differ between compilers, too, even on the same arch.

</comment><comment><USER5> Analisis on why (software) prefetch is problematic and not a win generally (especially interesting are the results obtained by I. Molnar linked in the article):

[https://lwn.net/Articles/444336/](https://lwn.net/Articles/444336/)

</comment><comment><USER6> Anecdote: a very long time ago, I optimized (as in 40% speed up) the inner loop of a computation heavy application (a custom document clustering application) by using __builtin_prefetch [1]. The code was simply a series of sparse-vector/sparse-vector multiplications, with each vector kept in a linked list [2]. The big win was in overlapping the prefetching the next list node and the contained vector while the multiplication was in progress.

This optimization worked fine the Core 2 architecture. After moving to Westmere, the optimization didn't have any significant effect (I doubt the hardware was doing list prefetching, so some other bottleneck was preventing it from being effective). On the other hand, enabling hyper-threading gave a near 100% speedup (the application was trivially parallelizable and already parallelized via openmp).

[1] Actually for portability, I ended up doing explicit throwaway reads in the released code instead of using prefetch instructions.

[2] The linked list was not optimal but the vectors were shuffled around a lot so a fast splice was useful. Prefetching the vector itself would still have been a win though.

</comment><comment><USER7> Anecdote - at my previous job, we had a container that was essentially a vector of (pooled?) owned pointers - it had some other stuff like being able to go from item->index in constant time, it ended up being very convenient for certain types of operations. We used prefetching for iteration and it was supposedly faster for containers larger than a dozen or so items.

</comment><comment><USER8> I would want to control for CPU microarchitecture when doing benchmarks like this. It bugs me to see prefetch calls going upstream into various projects based on one microbenchmark on one (unspecified) CPU. This is a moving target.

</comment><comment><USER9> It's useful in linear algebra implementations (if not necessarily using __builtin_prefetch). You can study the (micro-)architecture-dependent uses in e.g. [https://github.com/flame/blis](https://github.com/flame/blis) [https://github.com/xianyi/OpenBLAS](https://github.com/xianyi/OpenBLAS) and [https://github.com/hfp/libxsmm](https://github.com/hfp/libxsmm) and it may be discussed in the papers describing them. libxsmm provides a view of the complexity outside "large" dimension BLAS.

</comment><comment><USER10> Software prefetch can be a big win when doing a traversal that lets you predict random reads far enough in advance, which is generally not the case for linked list or tree traversals. (Since it's microarchitecture as well as data dependent, you'll need to do a lot of profiling)

A better trick for hiding memory latency in these cases is to interleave multiple searches (perhaps of different instances of the data structure). For example you can write binary_tree.find_both(key1, key2) that's almost as fast (on large trees) as finding a single key.

</comment><comment><USER11> I think it helped on one project for us in a tight looping by 10%. It generally isn't worth it unless you are writing something like a video codec or in our case a cfd algorithm..

</comment><comment><USER12> Sometimes, explicit prefetching can be a win: I found an unusual case where it significantly speeded up traversing a tree structure, because the structure luckily allowed overlapping computing which element in the child while prefetching the child

[https://dotat.at/prog/qp/blog-2015-10-11.html](https://dotat.at/prog/qp/blog-2015-10-11.html)</comment>


Identifying Gender from a Fingerprint - r-w http://www.nytimes.com/2015/11/24/science/new-technique-can-identify-gender-from-a-fingerprint.html <comment><AUTHOR> What happens when someone opts for a gender change? Curious</comment>


Bitcoin and Being Psychic - <AUTHOR> https://asinine.bitbucket.io/topics/articles/satire/satire_4.html <comment><AUTHOR> Somewhere around 7 years ago I was invited to invest in bitcoin and work on an exchange. Instead I loyally continued work on a failed open-source MMORPG.

Anyone else run have similar stories?

<comment><USER2> I was told to invest in Ethereum during its early days and I dis-regarded it.

<comment><AUTHOR> Me there as well. You'd think I would have learned too...

I did buy two ether for about 20 dollars and I'm still holding onto that. Maybe it'll go way up.

A better question - should more investment happen?</comment></comment></comment>


Increased numbers of psychopaths in senior managerial positions? - <AUTHOR> http://www.hud.ac.uk/news/2014/july/psychologygraduatesdissertationacceptedbyacademicjournal.php <comment><USER2> This post was killed by user flags.

</comment><comment><USER3> "To test her ideas, Carolyn assembled 50 participants, mostly from among students, who underwent a series of tests."

Sensationalist title that fits a narrative people want to believe.

<comment><USER4> I agree it's sensationalist:

"Not only was she awarded an exceptionally high mark of 85 per cent"

In most PhD programs (at least in the USA), a B is the absolute minimum grade you can get to receive credit for a course. An 85% on a major class project would have basically been a "B for effort" \- you did SOMETHING, but it had major flaws.

<comment><USER5> In the UK (in most cases) you don't get the same sort of dynamic range compression in marking you seem to get in the US (though it is coming - witness the A/A _/ A_* stuff at GCSE). It is fairly ridiculous for 85% to represent 'you turned up'.

</comment></comment></comment><comment><USER6> The title might be more than a little sensationalist, since it's based on this sentence

>It raises the possibility that large numbers of ruthless risk-takers are able to conceal their level of psychopathy as they rise to key managerial posts.

which is a pretty good indication that the paper drew no such conclusion at all.

</comment><comment><USER7> To diagnose a mental disorder, there must be impairments to normal living. A person who is able to function constructively in society might have tendencies, habits, leanings, personality traits, or whatever word you want to use to describe the differences between people. But if they are functioning and not in distress, by definition they do not have a disorder.

That does not stop people from using disorder names as shorthand. "OMG I'm so OCD about checking that my back door is locked!" "I'm pretty Aspberger at parties." Etc. But it's important to remember that these are a casual shorthand, not actual diagnoses. People with actual Obsessive Compulsive Disorder do not laugh about it; they are in deep distress about it.

So: while we can talk about psychopathic tendencies, or use "psychopath" as a shorthand, people who operate normally or successfully over a long term in business are likely not afflicted with a psychopathic disorder. They might be ruthless, they might be hard headed, they might have lower empathy than average. That doesn't necessarily mean they need to weeded out, excluded, treated, etc.

The hard question is: at what point is not a normal and adaptive difference in personality, vs. a disorder that must be weeded out? And who is in that position to do so?

It's tempting to look at something like the 2008 financial meltdown and chalk it up to a bunch of psychopathic banking CEOs. I think that's a bad idea for two reasons.

First, it can inhibit a more detailed and nuanced understanding of the root causes of problems. We run the risk of not addressing the real causes, stuff blowing up again, and then just blaming it on psychopaths again. Cycle, cycle.

Second, it runs the risk of demonizing skills or personality traits that might actually be valuable in business.

When you're making decisions by numbers, you might sometimes have to set aside or reduce the emotional content of your decisions.

When leaders try to give people everything they ask for, they create unsustainable systems, because there are not infinite resources in the world. And things change; innovation eats old products and business models. And then when the system collapses into bankruptyc or mass layoffs, the leaders left holding the bag are accused of making psychopathic decisions.

Whereas as less empathetic leader (or more disciplined, if you want to put a positive spin on it) might have made more economically sustainable decisions in the first place.

<comment><USER8> _" People with actual Obsessive Compulsive Disorder do not laugh about it; they are in deep distress about it."_

This is _extremely_ important. "OCD" has become a joke to many, but it's a horrible, debilitating mental condition to those who actually suffer clinical OCD.

Oddly enough, Cracked came out with one of the best articles I've seen explaining why OCD is so very far from a laughing matter: [http://www.cracked.com/blog/4-things-no-one-tells-you- about-...](http://www.cracked.com/blog/4-things-no-one-tells-you-about-having- ocd/)

</comment></comment><comment><USER9> Is it not possible that there is a correlation between high IQ and better self control? That explanation would fit the facts just as well as Carolyn's without casting shade on massive groups of people for no reason.

<comment><USER10> Also, sometimes when you end up in senior positions, you end up with situations where there's no option but for somebody to be, for lack of a better term, fucked over in the end.

It's not fun to be in those positions, but it happens, and having a stomach for that kind of ugliness over the long run is what allows people to work in those kinds of positions. That may select for psychopaths, or for people who can overcome their emotional distaste, which can look superficially like psychopathy I suppose.

</comment></comment><comment><USER11> This article is pretty weak stuff, but we do appear to be increasingly selecting for criminality across the board:

[http://www.ehbonline.org/article/S1090-5138(14)00077-4/abstr...](http://www.ehbonline.org/article/S1090-5138\(14\)00077-4/abstract)

</comment><comment><USER12> Did I read this right?

The thesis was: Psychopathy may be correlated with higher IQ.

Tests were done, except the psychopathic responses were recorded on the lower IQ responders, not high IQ responders.

Conclusion: High IQ psychopaths faked their emotions to keep their cover - thus confirming the thesis...???

</comment><comment><USER13> Jon Ronson touched on this a bit in The Psychopath Test (worth reading if you get a chance).

I was under the impression that there was already data supporting this.

<comment><USER14> Personality disorders are controversial diagnoses that are difficult to make.

As this submission shows a lot of research is fucking hopeless.

I'd be very careful about drawing conclusions from a book, even very good books like Jon Ronson's books, about psychopathy. The science isn't good; he's not a scientist nor a science writer; etc.

Things are much easier if you want to substitute "assholes" for "person with antisocial personality disorder", because you're not stigmatising mental illness and you're not making shit up, you're just voicing an opinion on the weird behaviours seen in some bosses.

<comment><USER13> Oh, for sure.

I took the book as "here's a light history of this diagnostic tool that's almost certainly flawed AND misapplied, plus some interesting anecdotes". It's obviously not, like, a _science_ book.

</comment></comment></comment><comment><USER15> What about non-managers? Maybe there are just more psychopaths in general.

<comment><USER16> more compared to past. probably not compared to non-managers.</comment></comment>


Nokia to pre-install Silverlight on S60 smartphones  - <AUTHOR> http://www.techspot.com/news/29260-nokia-to-pre-install-silverlight-on-s60-smartphones.html

<comment><USER2> OK, another attempt from Microsoft for killing the Web.</comment>


In Antarctica, climate change is having surprising impacts - <AUTHOR> https://www.nationalgeographic.com/magazine/2018/11/antarctica-climate-change-western-peninsula-ice-melt-krill-penguin-leopard-seal/ <comment><USER2> If North American culture could learn to build new small cities that didn't need cars - as the old cities were built - and successfully market and sell them to today's suburban crowd, we'd have a much better chance at stopping this.

It kills me, though, just how impossible that would be.

<comment><USER3> >It kills me, though, just how impossible that would be.

Is it though? It seems completely like a matter of will. I've thought about this exact idea before. How much VC would it take to build a small town? A couple billion? People are throwing gobs of money ten times that at absolute nonsense right now. Why couldn't we use it for meaningful progress instead?

<comment><USER4> The allure of gambling is powerful. Everyone can estimate ROI on a planned community. Nobody can estimate ROI on hot air, so it "could" be "the next" whatever-the-last-thing-was. Nobody wants to be the one who passed on Facebook or Bitcoin in 2014 to invest in something boring like housing.

Statistically huge pops like those are extremely rare. Someone wins in the casino but statistically it won't be you. Statistically you are better off making rational investments. But... FOMO and daydreams and... there was that one time! ... rat pushes lever, rat pushes lever...

</comment></comment></comment><comment><USER5> A thought. Bear with me, I might be catching a cold.

When a planetary climate is being intentionally altered in a large scale, it is called terraforming.

But just who benefits from terraforming the Earth to be more hostile to human civilization?

<comment><USER6> Sort of, I think "to terraform" usually means "to make more like Earth" though.

<comment><USER5> Yes, indeed. You are correct. A better term would have been "climate engineering".

Though I wonder if "venusforming" is also apt, keeping in mind what the results are said to be down the line.

</comment></comment></comment><comment><USER7> I am still astonished that there are people out there, particularly politicians, who can look at the atmospheric co2 charts for the past 50 years at Mauna Loa, vs ice core sample data going back hundreds of thousands of years, and go "nope, no greenhouse gases, no global warming".

[https://www.google.ca/search?q=atmospheric+co2+mauna+loa&oq=...](https://www.google.ca/search?q=atmospheric+co2+mauna+loa&oq=atmospheric+co2+mau&aqs=chrome.1.69i57j0l2.5168j0j7&sourceid=chrome- mobile&ie=UTF-8)

<comment><USER8> This is a tricky subject, and we're probably on opposing sides of the political argument, but if you're interested:

Sure, there are people who say "no greenhouse gases, no global warming" and stop thinking at that point. Some of them are in positions of power. This kind of attitude is dangerous and could lead to big mistakes in the long term. On the other hand, the people who say "greenhouse gases, but maybe not much global warming" or "land use and healthy ecosystems are most important" or "gradually moving toward less carbon in fuel is the best approach" never seem to get a shout-out from the activists.

It's usually more like: "We're trying to save these neanderthals and they're stupid/tricked by evil so they're going to end up killing us all."

Can you see how this doesn't lead to healthy cooperation? The "no greenhouse gases, no global warming" people might not know how to study the climate, but do you really believe that _all_ of them were fed that mantra by bad actors, and _none_ of them are just lashing out at bullies?

From my perspective, the activists started their political campaign to regulate CO2 back when the Science (IPCC FAR) said "the observed increase could be largely due to this natural variability" and I have been suspicious of their motives ever since. You want me to be mindful of carbon in the atmosphere, measured temperature trends, changing ecosystems, pollution, and resource use? Great, those are all smart things to care about.

You want me to support your political campaign to regulate the gas that I exhale, because otherwise there will be a doomsday, and if I don't agree I'm either stupid or evil? Ehhhhh, no thanks.

<comment><USER9> It's hard to have a conversation about something important like this when anything but fervent acceptance of the party line is immediately derided as ignorant, backwards and/or deliberately obtuse. The left certainly seems to be a lot more "with us or against us" than they used to.

<comment><USER10> Funny, you could say the same thing about the Right.

<comment><USER11> Plenty of examples.

Every day we read of Professors not receiving tenure because they believe in global warming. Articles that support global warming being rejected from journals. Notable commentators suggesting the belief in global warming should be criminalized.

Whatever.

</comment></comment></comment></comment></comment><comment><USER12> What is the best way to invest (long-term) in climate change?

<comment><USER13> Personally, I am thinking very hard about buying rural land in Canada, as global warming and mass migration may cause the price of land to go up substantially over time. I haven't run the numbers or pulled the trigger yet though.

<comment><USER14> What part of Canada, have you researched the best spot? I'd be curious to know. I own a swampy patch of land with some peat moss potential on PEI. Part of me wonders if that whole island will be under water just when I need it...

</comment></comment></comment><comment><USER15> A number of reasonable sounding posts get a lot of down votes for some reason. Not sure why that has to happen, nor that is helps the case much.

<comment><USER16> It looks like it's mostly just people arguing about global warming, bringing in their usual prejudices and incomplete knowledge. That's been rehashed here so many times it can't be done in good faith.

Maybe if the comments were more focused on the specifics of the article.

</comment></comment><comment><USER17> There's something about reading an article like this that makes all the small things I seem to worry about go away.</comment>


Internal Facebook Note: Here Is a "Psychological Trick" to Target Teens - <AUTHOR> https://www.buzzfeednews.com/amphtml/ryanmac/facebooks-teens-tbh-psychological-trick-memo?m <comment><USER2> Discussion from yesterday: [https://news.ycombinator.com/item?id=17711930](https://news.ycombinator.com/item?id=17711930)

</comment><comment><USER3> Ironic to see this coming from Buzzfeed.</comment>


Will Microsoft Teams brings more MS applications to Linux? - <AUTHOR> https://thelinuxuser.com/microsoft-teams-linux/ <comment><USER2> My opinion is that Microsoft will, sometime in the future, "do an Apple".

Instead of having Linux as a mere subsystem, Microsoft will use Linux as the base, and put a proprietary Windows GUI with apps over the top of it.

This is just like Apple did long ago. The Mac's OSX has a base of BSD UNIX with Apple's own proprietary GUI desktop over the top of that.

Microsoft can then concentrate its own developers into making the best (and profitable) 'Windows Experience' while leaving all the grunt work of maintaining the nuts and bolts of the underlying Operating System to the Linux developers.

</comment><comment><USER3> No. Electron might, but Teams itself likely won't.

[https://www.electronjs.org/](https://www.electronjs.org/) [https://en.wikipedia.org/wiki/Electron_(software_framework)](https://en.wikipedia.org/wiki/Electron_\(software_framework\))

</comment><comment><USER4> Visual Studio Code</comment>


Top College Dropouts - <AUTHOR> http://www.time.com/time/specials/packages/article/0,28804,1988080_1988093_1988082,00.html?cnn=yes&hpt=Mid

<comment><USER2> Wow, _Time_ has sunk to making a new window appear offering to tell me my credit score.

<comment><USER3> Yeah, a lot of formerly reputable publications have taken to placing incredibly invasive advertisements on their sites.</comment></comment>


Announcing Rust 1.7 - <AUTHOR> http://blog.rust-lang.org/2016/03/02/Rust-1.7.html <comment><USER2> Not mentioned in the release, but in the extended release notes:

"Soundness fixes to the interactions between associated types and lifetimes, specified in RFC 1214, now generate errors for code that violates the new rules. This is a significant change that is known to break existing code, so it has emitted warnings for the new error cases since 1.4 to give crate authors time to adapt."

[https://github.com/rust- lang/rust/blob/stable/RELEASES.md#co...](https://github.com/rust- lang/rust/blob/stable/RELEASES.md#compatibility-notes)

I think this is a fantastic example of the even-handed approach in the compiler stability promises/plans, and it's great to see one of the first real tests of those promises go so well.

<comment><USER3> To elaborate, we use a tool called Crater to estimate the potential impact of breaking changes. It attempts to compile all of the packages on crates.io with a new version of the compiler to determine any regressions, effectively using Rust's public package repository as an extended test suite.

Here's Crater's regression report for the linked soundness fix: [https://gist.github.com/nikomatsakis/2f851e2accfa7ba2830d#ro...](https://gist.github.com/nikomatsakis/2f851e2accfa7ba2830d#root- regressions-sorted-by-rank) . It detected four root regressions, which means that there were four packages that were relying on unsound behavior. This isn't necessarily the full extent of the regressions, however, because if we ship a compiler that breaks those packages, then any other packages that have the formerly-unsound packages as dependencies will obviously also break.

Having a concrete list of regressions also allows us to go through the ecosystem and submit PRs ourselves to bring the affected packages back to building, which is usually quite easy. Crater is a really, really great tool.

<comment><USER4> > ...effectively using Rust's public package repository as an extended test > suite.

This is one of the coolest and most practical things I've read in a while, seeing what happens to stable(ish) real wild code. So many practical applications and analytics are coming to mind in many areas.

Thank you. Sparks my interest in Rust again.

<comment><USER5> Should also have a look at [http://stackage.org](http://stackage.org) (quite similar but in Haskell, yet curated -- a "try to compile all" feature also exists IIRC).

Not sure how much this is used in order to test impact language changes.

<comment><USER6> It regularly is.

</comment></comment></comment></comment></comment><comment><USER3> As mentioned in the OP, Rust really hasn't added any language-level features since 1.0, but looking forward there were two major features whose RFCs were accepted this cycle: impl specialization ([https://github.com/rust- lang/rfcs/pull/1210#issuecomment-187...](https://github.com/rust- lang/rfcs/pull/1210#issuecomment-187777838)) and the `?` operator ([https://github.com/rust- lang/rfcs/pull/243#issuecomment-1805...](https://github.com/rust- lang/rfcs/pull/243#issuecomment-180504407)). The former will keep code from having to pay a de facto performance penalty for being generic (preliminary implementation at [https://github.com/rust- lang/rust/pull/30652](https://github.com/rust-lang/rust/pull/30652)), and the latter is purely an ergonomic change to make our `Result`-based error handling more lightweight (preliminary implementation at [https://github.com/rust- lang/rust/pull/31954](https://github.com/rust-lang/rust/pull/31954)).

I'm personally hoping the latter one manages to get into the beta release for the next cycle, so that I can use `?` rather than `try!()` for my Rust tutorial at OSCON this year. :)

<comment><AUTHOR> Well, beta for the _next_ release is already branched; it would be the one after that, at the earliest.

<comment><USER3> 1.8-beta has branched, yes, but if it stabilizes this cycle it would make it into 1.9-beta (which would progress to 1.9-stable the week after OSCON), and our beta releases have proven themselves stable enough that I'm perfectly happy to use them in tutorials.

<comment><USER7> I would be surprised if ? were stabilized in the next 6 weeks after how contentious the RFC was.

<comment><AUTHOR> Yes, I expect it to move more slowly than an immediate stabilization as well.

</comment></comment></comment></comment></comment><comment><USER8> Nice! I haven't used rust yet, but I'm really excited about it. I think Mozilla Research is doing some of the most groundbreaking work in CS lately.

The best part about rust is seeing the equally incredible work being done by the Servo team. To get a glimpse into some of their best work, here's a video where they talk about using the GPU to get better performance rendering a DOM than most native GUI toolkits can achieve on a sophisticated layout:

[https://air.mozilla.org/bay-area-rust-meetup- february-2016/#...](https://air.mozilla.org/bay-area-rust-meetup- february-2016/#@25m50s)

<comment><USER9> Yes, absolutely, if you haven't seen the WebRender video already you need to watch it. I haven't been this excited about a new technology in a while.

</comment></comment><comment><USER10> I've been devoting a lot of my daylight hours to writing Go, but with Rust at 1.7 and Go at 1.6 I may have to rethink that. ;)

<comment><USER11> But if you go to Rust, your Go skills will start to rust. :)

<comment><USER12> And if you go with Go, your Rust skills will go away?

</comment></comment></comment><comment><USER13> Also at [http://rust.godbolt.org/](http://rust.godbolt.org/) should you wish to see the assembly code generated too.

<comment><USER14> Thanks. It's interesting to see how the generated code changes across rustc versions!

<comment><USER15> llvm version changes too, so it is also that.

</comment></comment></comment><comment><USER16> Thank you, Rust team! It's like Christmas every six weeks! :D

</comment><comment><USER17> There was a recent effort by Google to speed up SipHash, it's called HighwayHash: [https://github.com/google/highwayhash](https://github.com/google/highwayhash) \- it includes a compatible, optimized SipHash implementation (1.5x speedup), a variation on that that is not compatible but similar, SipTreeHash (3x speedup on top of optimized implementation) and a new algorithm, HighwayHash, that yields another factor of 2-3. I haven't yet used it myself but it looks interesting and might be relevant to Rust?

Edited to add that Google's implementation targets Haswell and later (AVX-2), I don't know about the performance of an implementation that targets older CPUs which would of course be very relevant for Rust

<comment><USER3> I believe this is being discussed here: [https://github.com/rust- lang/rust/issues/29754](https://github.com/rust-lang/rust/issues/29754)

<comment><USER17> Oh nice, I wasn't aware that this is being discussed already. Thanks!

</comment></comment></comment><comment><USER18> I wish Rust team invested more into tooling and maybe introduced officially supported IDE because at the end tooling is more important than the language itself. Java is not the best language but it obvious choice for many people because of its IDE integration.

<comment><USER19> > maybe introduced officially supported IDE

I would _much_ rather they don't do that and instead offer tools that can answer IDE-like queries (e.g. "Who calls this function?", "Where is this identifier defined?", etc.) and let people integrate that into Emacs, Vim, Atom, and other editors and IDEs. This brings all the communities together and doesn't dictate one particular tool over all others.

<comment><USER20> They have :

[https://www.rust-lang.org/ides.html](https://www.rust-lang.org/ides.html)

>We propose a new tool, an 'oracle' which takes input from the compiler, maintains a project-wide view of the code and it's type information, and provides data about the project to IDEs and other tools. The oracle is a long- running daemon and presents an API via IPC.

Which is great idea. But it is not implemented yet (AFAIK).

personal opinion : Rust with this pace, will be absolutely one of the best language in term of usage/tools in next 5 year.

</comment></comment></comment><comment><USER21> So I don't know a whole lot about Rust. Can anyone give a summary of why/when I should use Rust?

<comment><AUTHOR> Someone asked a similar question on /r/rust the other day, here's what I had to say:

Rust is a programming language. It's a general programming language, so it's good for a large variety of things. Different people have different reasons for using Rust. There are three large constituencies, as I see them: systems programmers, functional programmers, and scripting language programmers.

Before I get into details: all generalizations are false ;)

Systems programmers come to Rust because it's able to do the lowest levels of software: operating systems, device drivers, stuff like that. Where it improves on existing systems languages is "safety." The Rust compiler does a lot of compile-time checking to make sure you don't do things wrong. Existing languages force you, as the programmer, to double check your work. We have the compiler double-check your work, and force you to get it right.

Functional programmers see all that static checking, and it feels like home. But a home where they have significant speed gained. Functional languages can be fast, but not always C level fast. Rust is. It's easier to get that level of performance out of Rust.

Scripting language programmers come to Rust for two reasons: the first of which is to write extensions to their language for speed. You can write a Ruby gem in Rust, rather than in C. This is useful because this low-level stuff is not their expertise, and so the extra checks are really nice. Related: we have a lot of the nice tooling that scripting language folks have come to expect from their language. No need to write makefiles, we have Cargo. The second is sort of related, but these checks also mean it's easier to learn low-level stuff, so if they want to expand their universe, Rust is a nice way to do so. We're seeing a lot of people for whom Rust is their first systems language.

I didn't know where to put this one, but Rust focuses on a concept called "zero-cost abstractions." This means that a lot of our features that feel very high level are extremely efficient. You don't write manual for loops, you se iterators. You don't deal with pointers directly, but with references. Structures like Box and Vec do memory management, but you don't need a garbage collector, and you don't need to manually manage it, but you also don't need to explicitly call free().

These are very broad strokes. Lots of other people have other reasons too. But that's some of them.

<comment><USER22> Where do Java, Go and C# programmers fall? Perhaps just more on the order of more complexly implemented and designed scripting languages? Those three make up a good swath but systems, functional and scripting don't so map well to those.

<comment><AUTHOR> You might like [https://llogiq.github.io/2016/02/28/java- rust.html](https://llogiq.github.io/2016/02/28/java-rust.html)

<comment><USER23> TL;DR: Java is awesome, Rust is awesome, let's code even more awesome stuff!

</comment></comment></comment></comment></comment><comment><USER24> Any ideas how rust's cross compilation compares with golang?

I am amazed with how easy it to cross compile to different platforms supported by golang. Curious how rust compares.

<comment><AUTHOR> The current situation is "it works, but is not as easy as we'd like." We have plans underway to make it very trivial, but the needed infrastructure work isn't quite there yet.

A summary is "every Rust compiler is a cross-compiler, but you need a copy of the standard library for your target platform available." Getting said copy is what takes the work. In the future, we want it to be as easy as a call to the command-line, but for now, [https://github.com/japaric/rust- cross](https://github.com/japaric/rust-cross) is a good resource.

See also [https://github.com/japaric/rust- everywhere](https://github.com/japaric/rust-everywhere) , which is very interesting.

<comment><USER25> I'm maintaining a docker image to cross-compile at [https://hub.docker.com/r/fabricedesre/rustpi2/](https://hub.docker.com/r/fabricedesre/rustpi2/). It's Rasberry Pi2 specific since it relies on a tweaked sysroot to link against OpenSSL and a few other libraries.

The way I'm using it is: docker run --name rustpi2 -v `pwd`:/home/rustpi2/dev/source -v $HOME/.cargo:/home/rustpi2/.cargo fabricedesre/rustpi2 cargopi build (cargopi is just equivalent to cargo --target=armv7-unknown-linux-gnueabihf)

</comment></comment></comment><comment><USER26> Is there any plans to have a stable version and do not introduce breaking changes after that? Something like 2.x is for Python. I could not find any reference so far.

<comment><USER27> We already have a stable version. The only breaking changes we are seeing are soundness-related bugfixes, and crates stop compiling because they rely on buggy behaviour.

</comment></comment><comment><USER28> When will it reach homebrew?

<comment><AUTHOR> Looks like 15 hours ago.

</comment></comment><comment><USER29> 250K for hello world example... where is this world going to! :)

I am sure it can be trimmed, but we are getting oblivious to common sense a little. This is system language.

<comment><USER30> That 250K is additive, not multiplicative. Hello World, which might be 10K in C, will be 240K+10K=250K in Rust. A larger program that would be 2M in C would be 240K+2M in Rust; the significance of that 240K reduces when you write actual programs (instead of hello world).

The size is due to a statically linked stdlib (also jemalloc, which you can decide not to use) -- your C program is tiny because your system has a stdlib it can dynamically link to. Rust can do this too, it's just not the default since in most cases this additive extra binary size isn't a problem.

Being a systems language does mean we should forgo sensible defaults.

<comment><USER31> In theory you could tell the compiler to identify and statically link only those functions needed to make printf work (or a conservative approximation thereof).

<comment><USER32> As far as I know, jemalloc is a substantial part of that binary size. See e.g.:

[https://github.com/japaric/rust-on- openwrt/issues/1#issuecom...](https://github.com/japaric/rust-on- openwrt/issues/1#issuecomment-108425440)

[https://github.com/japaric/std-with-cargo#making-rust- binari...](https://github.com/japaric/std-with-cargo#making-rust-binaries- smaller)</comment></comment></comment></comment>


Where GREP Came from (ft. Brian Kernighan) - <AUTHOR> https://www.youtube.com/watch?v=NTfOnGZUZDk <comment><USER2> So grep exists because someone wanted to do textual analysis on the Federalist papers.</comment>


There is no such thing as too much knowledge or experience - <AUTHOR> https://www.linkedin.com/pulse/thing-too-much-knowledge-experience-experienced-solve-vishnepolsky/ <comment><USER2> Anybody remember this court case from ~20 years ago?

[https://abcnews.go.com/US/court-oks-barring-high-iqs- cops/st...](https://abcnews.go.com/US/court-oks-barring-high-iqs- cops/story?id=95836)

The 2nd U.S. Circuit Court of Appeals in New York ruled that a Connecticut city could decline to hire a man who had applied for a job on their police force because he was deemed to be too intelligent.

The rationale was that it takes a lot of money to train a cop, and if the cop is highly intelligent, he might get bored and leave, and that would be a costly problem for the city.

</comment><comment><USER3> I've filled out a few applications this year. I find a bit of irony in that they cannot ask you your age but require you fill in the dates and location of your education.

I never did any higher education but was in High School in the `70s. Hard to get around that one.

</comment><comment><USER4> Indeed, overqualification is usually just an excuse.

Many hiring managers are not adequately qualified to judge a candidate; so if they can just be satisfied that two candidates both have the "required" skills (the list of which is often ridiculous), the manager will want the cheaper candidate.

Unfortunately, at many companies the added cost value a more experienced candidate would bring would be wasted anyway. Unless management and upper management are high performers, a skilled senior worker will be see some of their advanced capabilities ignored or even stymied by the poor decisions above them.

</comment><comment><USER5> His premise is perfect, love it, but I am extremely prejudiced against the Daily Mail and all those who work for it, so am not the best person to talk about this objectively.</comment>


SendHub (YC W12) Launches Inbox – Gmail for Texting - <AUTHOR> http://blog.sendhub.com/post/121202638947/introducing-the-sendhub-messaging-inbox-with-all <comment><USER2> Very interesting; however personally - I would have an issue with the mental perception of it. Texting is for my friends and family, I don't want to think of it as 'work' when I'm sitting there organizing my social life.

<comment><USER3> I work for a lawyer, recently we added a text-only phone number on our website. Potential customers have been using it.

<comment><AUTHOR> We see this use case a lot, inbound lead gen via text is very effective.

We also offer voice on SendHub, so you can get calls on the number too. I believe we're unique in offering both those services on toll free numbers too.

<comment><USER3> I keep dreaming of the day I can order my Starbucks by text before I go pick it up. Same for everything I order. I would text any business before I pick up the phone and call them or launch Gmail.

</comment></comment></comment></comment><comment><USER4> Congratulations to a great team on an exciting launch.</comment>


A non-profit is trying to raise money to turn Tesla's lab into a museum - <AUTHOR> http://www.indiegogo.com/teslamuseum

<comment><AUTHOR> I apologize for the somewhat suspect language; it's a campaign that is being heavily supported by The Oatmeal.</comment>


Urllib2 vs requests - <AUTHOR> https://gist.github.com/kennethreitz/973705

<comment><AUTHOR> I just discovered a harder and longer way to do HTTP requests in Python, that's why I shared this gist.

In which cases would one want to suffer with urllib2?</comment>


The Australian Financial Review use CSS to hinder copy-pasting and Instapaper - <AUTHOR> http://i.imgur.com/R77qu.png

<comment><AUTHOR> Link to original article: [http://afr.com/p/opinion/taxpayer_twiggy_goes_out_on_limb_74...](http://afr.com/p/opinion/taxpayer_twiggy_goes_out_on_limb_74X94XYVoLkurjD1Tzl5mJ)

</comment><comment><USER2> Who is it that wants to deprive content publishers of their ad revenue?

Not me - without revenue they are out of business and no content. The free stuff on the web is provided because revenue can be made in other ways. I wish people would stop trying to break it.

</comment><comment><USER3> Must do wonders for their SEO.</comment>


Are video editors about to be automated? - <AUTHOR> http://www.provideocoalition.com/are-we-looking-at-the-evolution-or-extinction-of-editing-and-post-production

<comment> df-official At a very low level, maybe.

Video editing is very much an art. Even moreso than a science. Computers aren't so good at understanding human emotions yet. I'd say your job is safe for a long time.

<comment><AUTHOR> I agree - like a lot of these things, the top end is going to be safe for a long time.

But the points that the article made about corporate videos were very interesting. 99% of all video editors aren't Eddie Hamilton (Mission Impossible's editor) or equivalent. If the low-end editing jobs start getting automated, it's going to put the squeeze on the industry pretty hard.</comment></comment>


Show HN: New UI pattern for file manager type apps - <AUTHOR> https://github.com/greyduchess/bookmark_ui_demo/tree/master <comment><USER3> I admit that I haven't read everything, but that's because I got stuck on the first paragraph of the README:

> New UI pattern for file manager type apps. It makes moving and reordering > files much easier and more intuitive than traditional UI patterns.

You should go into more detail who the target audience is here. Casual users don't care about moving and reordering files into place meticulously. They just want to find stuff quickly and are will prefer a better search box over a better filing system.

I'm sitting on the other end of the scale. I do obsess over file ordering to a certain extent, but then again doing any of this ordering on any sort of phone UI drives me crazy because of the form factor. I'm much better served by something that lets me do this on the big screen. Right now I use KDE Connect which has a feature for mounting the phone's FS on the PC via sshfs. Then I can use big-boy file managers (or heck, just a terminal and good ol' coreutils).

I'm not saying that there is no place for your UI design, but a good design starts from which users have which needs, and your pitch (i.e. the README) should reflect that.

<comment><USER4> Because casual users are exploring Github looking for new UI patterns for file manager apps?

The audience is clearly not casual users.

And why does the README have to be a pitch?

<comment><USER5> Well, people who develop apps for casual users are exploring GitHub.

</comment></comment></comment><comment><USER6> I have a hard time understanding what you've built (and don't have an Android device handy to test). The GIFs are jerky, and it's always hard to tell what is going on with touch interactions on screen recordings alone.

From what I can tell, this shows a few interactions for a multitouch file manager, where there is an explicit "selection mode" to reorder/move files; selection is preserved when navigating away from the current view. Additionally, interstitial affordances are revealed to facilitate rearrangement.

My main point of feedback would be to focus on the presentation - it is very hard to tell what is going on, and all I wrote I feel like I had to speculate to interpret. Explain clearly what problem you are solving, and why the current approaches haven't worked for you.

Btw I'm not sure what the claim of newness is; I have seen these interactions in other software in the past (but perhaps I am missing something).

</comment><comment><USER7> The "move here" thing for me was confusing.

When showing near the folders, was the "move here" between folder 1 and folder 2 supposed to mean move the files into folder 1, folder 2, or literally just display the selected between the two folders? It was not clear to me.

I think this could benefit from tweaking the "move here" thing to be closer to the thing that it relates to (classic UX issue/design approach)

<comment><USER8> Yeah I struggle with these types of UIs as well, where it's in between two elements. I think it would work a little better if the right side of the horizontal bar had an overlay with the Move Here text. That way you could tap a much larger target and it's more obvious what it's referring to. This is an improvement though to many patterns I've seen.

</comment></comment><comment><USER9> The Moodle learning management system [1] uses a very similar UI for moving items (links, documents, etc.) [2]. It supports drag and drop, which is more convenient for small moves, but this method is better for big moves or moving between sections (~folders). I think Moodle can only move one item at a time, though.

I think the pattern probably works better for this kind of thing than for files, as files aren't often manually ordered.

[1] [https://moodle.org](https://moodle.org), [https://en.wikipedia.org/wiki/Moodle](https://en.wikipedia.org/wiki/Moodle)

[2] [https://www.umass.edu/it/support/moodle/reorder-sections- or-...](https://www.umass.edu/it/support/moodle/reorder-sections-or-items- your-moodle-course)

</comment><comment><USER10> This seems to be highly tied to the challenge of moving things around on a mobile phone (multi-touch device). While I do think there's benefits for accessibility in this sort of UI, I think most users would prefer if a multi- touch drag/drop reordering UI would be... multi-touch. I should be able to drag with one finger and scroll with another. I find this to be almost nonexistent in practice though :-(

EDIT: On a desktop you have a mouse wheel that very much serves this purpose at least in a single-view scenario. Again, accessibility is a whole extra layer to the topic

</comment><comment><USER11> This is a really cool concept, thanks for sharing.

I like the idea, but I'm not too keen on the way that once you select an item, the additional "Move Here" UI pops up for _every_ single item in that view - <USER2> can imagine for longer lists, this could alter your frame of view significantly as you get towards the bottom of the list. I didn't clone the repo, though - do you had any considerations about this concern? I wonder what an alternative UI would look like for that piece - I guess a simple, more traditional checkbox wouldn't do the trick because it doesn't signal _where_ you want to move something.

<comment><USER12> You could maybe mitigate that with by only having the "move here" show up in the visible portion of the list

</comment></comment><comment><USER13> Expanding all those 'move here' regions sure is disorienting and janky/slow. I suggest a floating element with an arrow pointing to the seam between the list items, that way you don't have to relayout anything.

</comment><comment><USER14> Anyone remember Tera Copy?

It (was?) is a Windows file copy/move utility that was fantastic! It support multiple file copying, and drag/drop operations to queue files and add to an existing running operation.

<comment><USER15> Still use it. It's good with resume-copy on huge files.

</comment></comment><comment><USER16> I think the creativity here should be applauded, it's an interesting novel improvement to an existing pattern. I think it'd be very interesting to do a bit of a formal usability study on this: set some metrics for common tasks and ask people to do them versus a control group and see how well it performs. I think sometimes we get all caught up with the hype of UX, but a good old study like we did back when we called the field HCI would be enlightening here. You could even get a published paper out of it!

</comment><comment><USER17> I'm interested... but puzzled about what is it about from reading the Readme and seeing the anima-gifs

This is the case of when a picture is in a need of more words; not a thousand, but maybe enough to word the principle and contrast the novelty.

Still interested.

</comment><comment><USER18> I like the idea over drag and drop, but the interface itself in the demo is too low-information to use.

It reminds me of all the problems with Apple Podcasts compared to other podcasts apps. Too many screens, too little information on each screen, and the thumbnails are way too big.

</comment><comment><USER19> I would be good to edit the title to say this is mobile specific.

</comment><comment><USER20> Nice idea, but not good enough. The long press is undiscoverable - put it on more Have a menu appear under the item on more with simple icon actions - move, rename, delete, copy. When an action is selected, change the state of items in the list to "Editing" and have each folder have a "Move here".

Or, you can also do drag and drop that everyone understands.

</comment><comment><USER21> I think the best concept for file management ever invented is the one used by the orthodox file managers (Double Commander, Midnight Commander, FAR etc. etc).

<comment><USER22> What do you mean?

<comment><USER23> Meaning, the screen is always split in two. On both sides, there's a directory shown. All commands (copy, move, etc.) now instantly have a target (namely, the other side).

<comment><USER22> Ah, right, that seems on now you point it out.

I use Q-Dir at work because I'm constantly managing files on four networked devices.

No affiliation, just a satisfied user.

[http://www.softwareok.com/?seite=Freeware/Q-Dir/Screenshots](http://www.softwareok.com/?seite=Freeware/Q-Dir/Screenshots)

</comment></comment></comment></comment><comment><USER24> It reminds me of a bookmarking pattern. You bookmark several items and later on perform actions on the bookmarked collections. Very interesting concept worth investigating further .

</comment><comment><USER25> I like this. On desktop the "move here" could be on hover, maybe, to prevent so many added elements.

It kind of reminds me of spreadsheet functionality in terms of inserting x rows above or below.

</comment><comment><USER26> > "New UI pattern for file manager type apps"

Needs the word "mobile" in the heading somewhere, as it's nothing to do with standard (eg desktop) apps.

<comment><USER27> Isn't the number of smartphone owners larger than desktop/laptop owners?

</comment></comment><comment><USER28> Amazing idea, scrolling unidimensional UIs for the hand need more innovation like this</comment>


How I Learned to Love Middle Managers - <AUTHOR> http://www.inc.com/magazine/20080901/how-hard-could-it-be-how-i-learned-to-love-middle-managers_Printer_Friendly.html

<comment><AUTHOR> " _So you knew your boss and your team, but unless you were a smoker, you didn't know any of the people in the other parts of the company."_

Smoking; the vice with a silver lining.</comment>