I use clickjacking as a “feature” on a website I operate, http://vlograd.io
I had no choice, at least on mobile.
On mobile browsers, audio contexts start out as muted. They can only be unmuted by an event originating from user interaction.
I use a web player embedded in an iframe on my site. It has an API to communicate with it to do things like playing and pausing the current track. However, this also means the audio context is in a cross-domain iframe, and my only way to trigger the play() method is via the asynchronous postMessage API it exposes. So, in order to unlock the audio context, I present mobile users with a “tap to start” screen. In reality, I’ve positioned and zoomed in on the iframe such that the play button is covering the entire screen for any reasonable screen size. Thus, when the user taps to start, the audio context is unlocked (since the “tap” event on the play button in the iframe fires), and I immediately send a “pause” command via the player’s API. Now, the audio context is unmuted and I’m free to send the “play” command for any track to start playing music.
Definitely a somewhat shady thing to do. To play devil’s advocate, though, I would argue that inflating your follow numbers is less “evil” than building a machine that takes in user data and spits out profit.
[–] pftbest 114 points 1 year ago
can you please explain this go syntax to me?
type ImmutableTreeListᐸElementTᐳ struct {
I thought go doesn't have generics.
[–]Uncaffeinated[S] 239 points 1 year ago
It doesn't. That's just a "template" file,
which I use search and replace in order to
generate the three monomorphized go files.
If you look closely, those aren't angle brackets,
they're characters from the Canadian Aboriginal
Syllabics block, which are allowed in Go identifiers.
From Go's perspective, that's just one long identifier.
2) Class brainstorming of what characteristics you would like in board members of a company you founded & what advice you would like from your board
3) We use the really rough evaluative framework from part 2 to analyze a couple of real boards (I've used Theranos, a startup I used to work for that shows up as a lot of examples in class, and some third one that is in the news)
Key point is basically: gravitas, technical competence, business savvy, market insight, and engagement are important but none of them are solely useful. Your board is an asset...and if it isn't you should look at why. Your board helps you make decisions they aren't just for enabling.
I never had music on my iPhone (only Spotify) until 2014, when Apple had its U2 album debacle. I used the removal tool, but it failed for one song: "Raised By Wolves". To this day it echoes horribly in my head, as when I went to start my car in the morning, it automatically played the aforementioned song, the only one in my library.
I was eventually able to remove it, but for a few weeks, auto-play music (and Bono) were the bane of my existence.
That was so frustrating. 2 months ago, for no reason, iTunes decided to download the free U2 album and play it each time I started my car... I never use iTunes :x
why did they decided that it was a good idea to auto download and auto play the album is quite a mystery...