HNHacker News
TopNewBestAskShowJobs

Sidnicious

2,202 karma · joined May 3, 2009

https://s4y.us

previously: sdy@{google.com,chromium.org},sidney@{okcupid.com,keybase.io}

[ my public key: https://keybase.io/sidney; my proof: https://keybase.io/sidney/sigs/DJzkNxrS60U9aNarQjjhFWsTBZYcC_LFiMBtGmd67Cc ]

submissionscomments
Sidnicious··on Am I logged in or not? GDPR case study on the example of Chrome browser change
I work at Google, but all statements/opinions are my own.

My understanding is that there were two changes:

1. General responsibility for authenticating to Google services has been moved to Chrome, and being logged into Google is equivalent to being logged into Chrome. If sync is set up, logging back into Google also fixes your sync session, if it was broken (common — the warning in the toolbar is easy to ignore).

2. Sync has been separated from login as a Chrome feature, so that you can log into Google services without syncing Chrome’s data.

Confusion between being logged into Google (the Chrome new tab page looks a heck of a lot like the Google home page) and being logged into Chrome was a real problem. I’m not suggesting that this is the right solution… or the wrong one; this is weird territory.

It raises a question for both users and browser vendors: What does it mean to be logged into a web browser?

Sidnicious··on Chrome 69: “www.” subdomain missing from URL
Airbags have utility for 100% of motor vehicle users.
Sidnicious··on How we built a Super Nintendo out of a wireless keyboard (2012)
I’ve been really into the nRF52832 lately, a newer chip from the same company as the nRF24LE1 mentioned in the article. It has BLE, and you can find dev boards with all of the IO pins exposed for $5 (sometimes $2.50 on sale) on AliExpress, or impossibly tiny ones with chip antennas (six fit on a dime!) for closer to $15.

I just realized that the ones I have sitting around have roughly 64x the RAM, 32x the storage, and are (VERY roughly, I had trouble finding compatible numbers) 2,000 times as powerful processors. There’s so much more they could be doing!

Sidnicious··on NYC Mesh – community-owned network to replace your current internet connection
Can you share any more detail about this? My impression was that anyone who shared another internet connection with the mesh does it through a VPN tunnel, so traffic exits through the mesh's PoP.
Sidnicious··on Exploring Error Handling Patterns in Go
The first time I used Go on a big project, error handling bugged me enough that I wrote a package that let me use errors like exceptions:

https://github.com/s4y/go-exc

I’m not sure if I’d use it again today, but it was a fun exercise.

Sidnicious··on EU may force iPhone to switch from Lightning to USB
Yes. On both iOS and Android, the wallet should open on its own when the phone detects a payment terminal. You don't have to double-tap the power button.
Sidnicious··on Lessons from the failure of General Magic
The best example I’ve seen recently is Dynamicland, which is building a self-hosting, collaborative computer.

Pieces of paper represent programs and UIs, and you can grab a wireless keyboard and place it in front of anything to inspect and modify it with the help of projectors: https://dynamicland.org

Sidnicious··on Air Gapping a MacBook Air: The Great BCM15700A2 Mystery
The cable to the camera could also serve as an antenna.
Sidnicious··on MacBook Pro with faster performance and new features for pros
Try moving your finger left, then right, without letting go (video: https://ipfs.io/ipfs/QmVacED7iVnDn7JiHuUT7buAL96iSTzqHB7NTZR...).
Sidnicious··on Hacking a cheap fitness tracker bracelet
I'm in the middle of a project using a related microcontroller (the nRF52832). When I started, I had very little electronics/embedded experience, and now I have more! It's absolutely doable.
Sidnicious··on Internal Documents Show Apple Knew the iPhone 6 Would Bend
Mike Mullane’s “Normalisation of Deviance” talk to a group of firefighters[1] is relevant here. He describes how the Challenger shuttle disaster happened despite internal memos about the problem years prior.

The message of the talk is, essentially, that a person or team can get used to ignoring their own standards when under pressure.

[1]: https://youtube.com/watch?v=Ljzj9Msli5o

Sidnicious··on Show HN: A Native Art Gallery for the Mac
If you set the window’s collectionBehavior to:

    NSWindowCollectionBehaviorStationary | NSWindowCollectionBehaviorCanJoinAllSpaces
…that should give it roughly the same behavior as the system desktop window. If you want to have things like different windows for each space, that might require the brittle hacks you’re talking about :-).

By the way, I meant to say that your approach is super cool too, and the blur and shadow effects look great.

Sidnicious··on A look at terminal emulators, part 2
Let's say that Q, W, and E are 1Ω, 2Ω, and 4Ω, respectively. I'll pretend they're wired in series to make the numbers work out nicely, but it should also work in parallel. If you measure 3Ω, then Q and W are pressed. 6Ω: W and E. 7Ω: all three.
Sidnicious··on Show HN: A Native Art Gallery for the Mac
If your app/web page isn’t doing work in the background and doesn’t receive mouse events, the energy impact should be close to nil — it should sit solidly at 0.0% CPU usage in Activity Monitor, else something isn’t right.
Sidnicious··on Show HN: A Native Art Gallery for the Mac
Another approach is to create a window at desktop level. It can even display a web page with a system web view — you probably want to opt the window out of receiving mouse events, too, to avoid interfering with drag selection on the Desktop.

I do that at home with a local HTML file to randomly generate a desktop background at startup, and I’ve tried dynamic content (like a countdown clock). Code here: https://github.com/s4y/Dash

But for an app like this, you could do native, animated transitions, and avoid touching the desktop background settings.

Edit: you could even create a smaller interactive window (also at desktop level) with a link to the source, a button to advance to the next wallpaper…

Sidnicious··on A look at terminal emulators, part 2
That article led me to the page on Cherry’s site about their “analog keyboard controller”, which promises no scanning latency. “Analog” suggests to me that each key has its own power-of-two-ish resistor value, and the controller can just look at the total resistance to see which keys are pressed. Does this seem plausible? If so, it could be a fun way to build a DIY keyboard.
Sidnicious··on Costco selling $6,000 doomsday-prepper food kits – feed a family of 4 for a year
It’s worth noting that they’ve sold these kits for at least ten-ish years. I remember seeing them on the website and thinking how cool it was that you could buy a year of food as a unit.
Sidnicious··on Photo Metadata and Search on MacOS
This should also do the trick:

    launchctl stop com.apple.photolibraryd
(And replace “stop” with “start” to get it going again.)
Sidnicious··on Show HN: Pay-per-minute video/audio calls with WebRTC
It sounds like the recipient charges callers per minute, and the service takes a 20% commission.
Sidnicious··on OSX.Pirrit Mac Adware Part III: The DaVinci Code
I agree with my sibling comments that in current OSs, desktop apps — especially ones with root — are generally as privileged as the user, and that's (supposed to be!) a good thing.

However, Chrome's AppleScript support was used almost exclusively by malware, so it's disabled by default now: https://crbug.com/661810.

Sidnicious··on Evolution of <img>: Gif without the GIF
- Many websites support embedding images in user content but not videos (Gmail, Hangouts, and Stack Overflow, to name a few).

- A "minimum viable animated thing" tag is more complicated for videos:

    <video autoplay loop muted src=video.mp4>
- Supporting videos in img tags and sending the right Accept header means that image hosting sites and CDNs can immediately start serving video files to browsers that support them, without the page needing to change. This applies to every hotlinked gif out there.
Sidnicious··on Postmortem: Every Frame a Painting
kaptainkristian, too: https://www.youtube.com/channel/UCuPgdqQKpq4T4zeqmTelnFg
Sidnicious··on Netflix Stole My VHS Cassette Photos for Its Stranger Things Boxed Set
A customer service rep doesn’t have to have all the answers, but they should be equipped to find them, or at least find a next step (which they did, in this case).

The author didn’t handle this optimally and neither did the CSR. Should they need to? I’d prefer to live in a world where each party does their best to approach a happy resolution in spite of mistakes. In this case whoever reads the PR mailbox dropped the ball.

Sidnicious··on How to Stop Advertising Notifications from the Google Photo App
The App Store has ads now. Not quite as bad as push notifications, but it makes me uncomfortable considering it’s the only supported way to install software.
Sidnicious··on Electron is Harmful
One issue is that Electron apps don’t get browser security patches until Electron updates Chromium, the developer updates Electron, and the user updates the app.
Sidnicious··on Cortana is really bad
I believe it indexes continuously by watching the filesystem: https://imgur.com/sipDUCD.
Sidnicious··on I hate telephones
After reading this, I just started experimentally sending all calls to voicemail. Here's how I set it up; it should work with GSM phone carriers:

- Dial the below number. It'll show a bunch of information, including your voicemail number. Remember/copy the number.

    *#67#
- Create a new contact. I put "Phone Off" in the company name field. Use the below number as its phone number, replacing the "X"s with the number from the first step, including country code. Calling this contact will tell the network to forward all calls to voicemail without the phone ringing.

    *21*+XXXXXXXXXXX#
- Create another new contact. I put "Phone On" in the company name field. Enter the phone number below. Calling it will cancel call forwarding.

    ##21#
I added both of these contacts to my favorites and can tap them to enable/disable calls. Right now, I'm only planning to turn off forwarding when I'm actively expecting a call. It turns out that my phone puts an indicator in the status bar when forwarding is turned on, which is cool. Let's see how it goes.
Sidnicious··on Ask HN: Viable tech for hotdesking in software dev?
From the Valve employee handbook (http://www.valvesoftware.com/company/Valve_Handbook_LowRes.p...):

> Why does your desk have wheels? Think of those wheels as a symbolic reminder that you should always be considering where you could move yourself to be more valuable. But also think of those wheels as literal wheels, because that’s what they are, and you’ll be able to actually move your desk with them.

> You’ll notice people moving frequently; often whole teams will move their desks to be closer to each other. There is no organizational structure keeping you from being in close proximity to the people who you’d help or be helped by most.

> The fact that everyone is always moving around within the company makes people hard to find. That’s why we have http://user — check it out. We know where you are based on where your machine is plugged in, so use this site to see a map of where everyone is right now.

Sidnicious··on First field report of iPhone X
It was raining a bit yesterday and that made the fingerprint sensor on my phone basically useless. I forgot how much it was used (unlock, banking apps, payments).
Sidnicious··on A Branchless UTF-8 Decoder
I ran into the same UTF-8 decoder that you did (http://bjoern.hoehrmann.de/utf-8/decoder/dfa/) and tried to better understand why it was fast. In the process, I wrote a naive UTF-8 parser that turned out to be significantly faster. I used a version of the original benchmark (the current Hindi Wikipedia dump as one big XML file).

My original benchmark read the file as a stream — no guarantee that you'll get whole characters in each read — so I modified it a bit to read the whole file into memory, parse it, and print out the number of characters decoded and an XOR "hash". Here's what happened (looking at the "user" line of `time` output):

- Bjoern Hoehrmann’s decoder: 2.159s

- This post’s decoder: 2.754s (27.6% slower)

- Naive decoder: 1.453s (32.7% faster)

I'm curious whether this test makes sense and, if so, why there's such a big difference. Currently my best guess is the data cache pressure mentioned in twoodfin's comment.

I guess I should write a blog post, too.

Naive parser: https://gist.github.com/s4y/7c95f1ebeb2c069cfb09db3c3251eca3

Benchmarks: https://gist.github.com/s4y/344a355f8c1f99c6a4cb2347ec4323cc

← PreviousPage 2 of 13Next →