Hacker Newsnew | past | comments | ask | show | jobs | submit | delvinj's commentslogin

You can do this by enabling developer mode in chrome://extensions, which lets you install from a directory.

You lose automatic updates though.


Same with US Internet in Minneapolis. I couldn't be more pleased with the service, coming off of 15 years with Comcast.


What kind of speed do you get? is this municipal wifi?


I'm a happy customer until the end of the month (moving out of their service area, sadly); I had symmetric gigabit. No IPv6, though.


I live in the area, and loved Centurylink for this reason (symmetric gigabit, extremely low latency), but am stuck with Xfinity.


SciTE has been my notepad replacement for twenty years. I love its speed, simplicity, and lua scripting. I only wish there were an easier way to add syntax highlighting for new languages.


I think its more like: you visit the honesty box for eggs, but someone follows you home and watches everything you do for six months.


Also the "honesty box" vendor put all the more ethical egg sellers out of business by undercutting them.


He says "so short squeezes are illegal" at about 3:30


You can still block access by host by using an HTTP proxy like Fiddler or Charles.

Settings > WIFI > Proxy


I use adblockios and haven't upgraded because they unblocked the blocking. I keep hearing about charles, I wonder if it is special or if it doesn't really block everything.


Seems like fretboard apps are a favorite pastime.

Here's mine http://firemeinterns.com/fretter/


Mine is downright primitive compared to all of the ones the rest of you are posting, being a command line program in C that I originally wrote around 1986, probably for THINK C on my Mac Plus.

Here is the source code [1], only updated to compile cleanly with a modern C compiler and not to depend on any libraries or functions that were specific to THINK C, plus one bug fix and some reformatting.

Here are some usage examples:

  $ ./chord
  c
  C:  C E G
  <3>|-----|-----|-<5>-|-----|-----|-----|-----|-<1>-|-----|-----|-----|-<3>-|
     |-<1>-|-----|-----|-----|-<3>-|-----|-----|-<5>-|-----|-----|-----|-----|
  <5>|-----|-----|-----|-----|-<1>-|-----|-----|-----|-<3>-|-----|-----|-<5>-|
     |-----|-<3>-|-----|-----|-<5>-|-----|-----|-----|-----|-<1>-|-----|-----|
     |-----|-----|-<1>-|-----|-----|-----|-<3>-|-----|-----|-<5>-|-----|-----|
  <3>|-----|-----|-<5>-|-----|-----|-----|-----|-<1>-|-----|-----|-----|-<3>-|
  c7
  C7:  C E G A#
  <3>|-----|-----|-<5>-|-----|-----|-<7>-|-----|-<1>-|-----|-----|-----|-<3>-|
     |-<1>-|-----|-----|-----|-<3>-|-----|-----|-<5>-|-----|-----|-<7>-|-----|
  <5>|-----|-----|-<7>-|-----|-<1>-|-----|-----|-----|-<3>-|-----|-----|-<5>-|
     |-----|-<3>-|-----|-----|-<5>-|-----|-----|-<7>-|-----|-<1>-|-----|-----|
     |-<7>-|-----|-<1>-|-----|-----|-----|-<3>-|-----|-----|-<5>-|-----|-----|
  <3>|-----|-----|-<5>-|-----|-----|-<7>-|-----|-<1>-|-----|-----|-----|-<3>-|
  c#m
  C#m:  C# E G#
  <3>|-----|-----|-----|-<5>-|-----|-----|-----|-----|-<1>-|-----|-----|-<3>-|
     |-----|-<1>-|-----|-----|-<3>-|-----|-----|-----|-<5>-|-----|-----|-----|
     |-<5>-|-----|-----|-----|-----|-<1>-|-----|-----|-<3>-|-----|-----|-----|
     |-----|-<3>-|-----|-----|-----|-<5>-|-----|-----|-----|-----|-<1>-|-----|
     |-----|-----|-----|-<1>-|-----|-----|-<3>-|-----|-----|-----|-<5>-|-----|
  <3>|-----|-----|-----|-<5>-|-----|-----|-----|-----|-<1>-|-----|-----|-<3>-|
You simply type chord names, and it shows you what notes are in the chord and where you can find them on the guitar fretboard. The first example is a C chord. It tells you the notes you want are C E G. In the diagram a <1> means that is a place you can play the root of the chord, a <3> is the third, a <5> is the fifth. For the C chord, then, we see that on open first string would give us <3>, the third fret <5>, the root is on the 8th fret, and the <3> is also on the 12th fret.

Chord names are the root note (with # for sharp or b for flat), and modifiers 'm' for minor, '6', '7', or '9' for a 6th, 7th, or 9th chord. (I have no idea why I did not include diminished chords).

If a line starts with '-' it is a command to change settings. Commands are "-cN" to set a capo on the Nth fret

Here are the commands. "-cN" for a capo on the Nth fret. "-t<notes>" to set the tuning for each string, where <notes> is a list of 6 note names (which can each be followed by # or b). "-Td" or "-TD" for D tuning. "-sN" to transpose by N half-steps (N can be negative). "-n" to switch to a narrower display and "-w" to switch back to normal. Narrow display looks like this:

  C:  C E G
   3 |---|---|-5-|---|---|---|---|-1-|---|---|---|-3-|---|---|-5-|---|
     |-1-|---|---|---|-3-|---|---|-5-|---|---|---|---|-1-|---|---|---|
   5 |---|---|---|---|-1-|---|---|---|-3-|---|---|-5-|---|---|---|---|
     |---|-3-|---|---|-5-|---|---|---|---|-1-|---|---|---|-3-|---|---|
     |---|---|-1-|---|---|---|-3-|---|---|-5-|---|---|---|---|-1-|---|
   3 |---|---|-5-|---|---|---|---|-1-|---|---|---|-3-|---|---|-5-|---|
It's always amusing to look at one's old code. Much of it seems like it was written by someone else. For instance, I see a lot more spaces around punctuation than I would use today. I think that is probably because the editor I used back then did not have syntax highlighting, so extra space was needed to make sure you didn't confuse consecutive tokens.

[1] https://pastebin.com/0rZnaVgu


Thanks for sharing this, I really like how simple it is.

You should properly release it and possibly publish it in the main package managers.



It's quite impressive, beautiful and smooth in motion.

I have to second what someone else said, it could be made into an amazing wall clock (and even a small desk unit). There is a lot that could be optionally (settings) done to manipulate its aesthetic qualities in various directions to match personal preferences, times of day, events, and so on.


Would be cool to replace the years with "Year in Decade", "Decade in Century", "Century in Millennium".....


Or maybe just have year go from 00-99 and repeat as people commonly do anyway.

Current implementation of year definitely doesn't make sense because it doesn't cycle.


I admit I was probably influenced by thinking of Anathem


One of my favorite Stephensons.


I have the complete OPPOSITE experience: the motion is jerky and inconsistent, like the seconds are struggling then catch up. (Firefox 74 on Windows 10 18363)


Concur. Since someone described it as 'beautiful and smooth' I opened it in Chrome.. beautiful and smooth (80% of the time). Since it's "just" SVG transforms perhaps this is a firefox:chrome difference (that said, I've built SVG transforms that run fine on both). It does invent the universe 31.25 times/second.. perhaps there's some JS optimizations we can do. [Update: basically smooth in IE11 too]


Fixed. In Firefox, verify the GPU is enabled in `about:support`. In this case, I had to reset `layers.acceleration.force-enabled=true`.


I'm good with the same browser and OS, machine's an i3 7100 with 8GB RAM using the CPU's graphics, so nothing special at all.


Very interesting analysis.

I used to use google metronome but the constant hiccups were annoying. I wonder if they are using Web Audio scheduling or setInterval().


What if the attack is in the form of a court order?


This constraint forces an attacker to focus on the user that actually has the password. From a security perspective, this forces the attacker to shift focus on forcing the user to reveal the secret as opposed to the company responsible for creating the firmware, in this case Google.

My guess is in the U.S. the 4th and 5th amendment would prevent the government from forcing you to reveal the secret, so long as you do not rely on biometric security, which has been in some cases ruled as exempt from the same rights as say a password. IANAL though, so I really can't elaborate on an explanation of why. I think if anything you're likely to be held on obstruction charges or have your assets frozen in an attempt to apply pressure on someone unwilling to cooperate. In other, perhaps less forgiving locales like North Korea, China, or Russia, I imagine one may end up being the subject of persuasion of a more physical nature.


I've noticed that my Pixel asks me for my PIN for "additional security" every few days. Apparently it asks you for your PIN if you try to unlock your device without having entered your PIN for 3 days [0]. I never realized this was the reason, but it seems like a fairly decent deterrent to law enforcement - I wonder if there's a way to reduce this frequency to a day or so.

[0] https://www.reddit.com/r/nexus5x/comments/3us0f6/pin_require...


A competent law enforcement agency attaches a digital forensics device all the phone’s content as soon as they get their hands on it. They’re probably not going to wait three days.


But that requires them to unlock the device. Using your fingerprint to unlock it likely requires a court order, which takes some time.


> In other, perhaps less forgiving locales like North Korea, China, or Russia, I imagine

Many European countries have 'key disclosure' laws; give us the keys, or go to jail. In these cases, silence is illegal.

https://en.wikipedia.org/wiki/Key_disclosure_law


You don’t have to disclose the password, but you can be held in contempt of court until you unlock the device.


> This constraint forces an attacker to focus on the user that actually has the password.

The irony is that while the Android development team is doing this, the Google business and cloud services teams are increasingly gathering more data from the Android users, and encouraging them to put as much of their data on Google's servers as possible. And Google can give access to that data because it doesn't use end-to-end or homomorphic encryption.


You'd need a court order to get that data from Google, but not to get the data from a seized phone. That court order might also be challenged by Google.

That applies especially to non-law enforcement actors. Those can't get a court order to force Google to hand over the data.


A court order can’t compel someone to do the impossible. The updates in the Pixel 2 make it impossible for Google to circumvent security measures on it, thus protecting them from being coerced to do so (by courts and criminals alike).


That's the same attack vector as far as this change is concerned.

The idea is that nothing, not even Google, can change the change the firmware without first wiping the device or entering the passcode.


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

Search: