I was just able to create a new google account with no phone number.
HN user
mclehman
I have absolutely no clue what I've done to make it work this way (if anything), but in zsh running a command with !$ (last word from the previous command) I get the opportunity to edit the interpolated version first.
I was able to swing $230 total for two x230s with the base i5 and ssds last fall/winter (actually three, but the third doesn't really count (arrived damaged, seller initiated a refund then ghosted, got a full refund from ebay)). If you're really lucky, you can find a computraced one for super cheap ($85 in my case) and then coreboot it.
That said, x220s and x230s seem to have gotten more expensive since then, I haven't seen any similarly good deals lately.
Reminding people that this is a viable threat model is why sudolph.in exists, albeit for the drive-by someone-left-their-laptop-unlocked case rather than regular local privilege escalation.
I should probably add a check for catching someone within the sudo timeout and give them a hard time if so.
I'm not sure exactly what you're after, but the Hiragana Pro/Katakana Pro apps (android only, I believe) have two practice modes: choice from three pronunciations as you mentioned, as well as typing romaji with no hints. The latter makes it abundantly clear which kana I'm shaky on.
They're also each a dollar to unlock voiced/combined readings and remove ads. My pihole did block the ads while I was just trying them out.
I could see this as a reason to keep "you might also like ____" lists short, but for languages/subtitles I'm going to seek out one of the four languages that's even slightly useful for me to switch to.
At least recently, HSTS failures could still be bypassed if you really wanted to (if, say, you made the bad choice of using the .dev tld for private domains). It's just completely undiscoverable for good reason.
Team discovery could be a pain, but channel discovery within a team is pretty much everything I would expect it to be.
This is pretty much* how the Keybase filesystem works, with the added benefit of using more identities than just emails/usernames. Even if you only know someone's Twitter handle or reddit account, you can have this same workflow.
*Except for the "unless they don't want to receive files from you" part.
I ended up writing a mostly-declarative tool for managing my mix of docker-composed and init-system-ed services at home when that got too unmanageable.
My monitor may be widescreen, but my editor typically isn't.
Raku is not the direct successor to Perl, active Perl development continues.
On the other side of things, my favorite demo for people new to docker who aren't yet aware that sudoless docker ~~ root access is:
docker run -itv /:/host ubuntu chroot /hostI have a friend who does this for free. Every single thing I've ever shown him (both my software and that of others) breaks as soon as he gets his hands on it.
He's the sort to dig as far into the internals of things as he can and then start messing with it (he implemented partial function application for C, for example [1]).
My poor prototypes never stood a chance.
Agreed. I don't use them often but I made sure to program discrete volume/media/brightness controls into my keyboard.
You could have both, I've never needed to hold down escape or tap control.
That said, I've had caps lock bound to backspace for years, so I'm not advocating for something I do myself.
Thanks, I'll definitely keep it in mind.
MAIN is probably what I should point to as P6's killer feature for things of this scope. I tend to get sidetracked by math/functional features when I demo things even though stuff like this is a bit more practical and likely to get traction.
I just got around to cleaning up that tmux wrapper I mentioned above (https://gitlab.com/0xFORDCOMMA/sessions) and that might be worth writing something about. It's a miniscule project, but I think it highlights a lot of useful features.
One result of that clean-up that relates to this is the new usage output. It's still automatically generated [1], but adding purpose annotations to the multi-dispatch MAINs in `session` and using a P6 enum as a type constraint in the MAIN in `sessions` resulted in what I consider quite useful documentation pretty much for free.
λ | -> session --usage
Usage:
session -- Create or enter default session 'misc/dev'.
session <category> <session> -- Create or enter session '<category>/<session>'.
session <session> -- Search all categories for matching session, switch to result if unique.
λ | -> sessions --usage
Usage:
sessions [--style=<Style> (boxed compact)] -- Default display style is boxed.
The latter example is generated entirely from these two declarations: enum Style <boxed compact>;
#|(Default display style is boxed.)
sub MAIN(Style :$style = boxed) { ... }
[1] For anyone interested, you can have your cake and eat it too. Defining your own USAGE routine doesn't mean you have to give up the generated one. The generated output is available in the $*USAGE variable.Thanks! I'll see what I can do about writing things up and posting them somewhere. My site is a mess at the moment (always has been), but maybe this will motivate me to do something about that.
I don't necessarily want to wade into the discussion on the tone of the article, but I do want to detail something I've used Perl 6 for that makes me really enjoy working with the language. I've noticed a trend in threads where P6 comes up: I rarely see people actually point to specific instances where P6 features have been helpful. This lack of examples certainly doesn't help push back against the idea that the language isn't usable or, indeed, useful with anything less than 100% of the spec implemented.
I use P6 for all of my small deployment scripts (as well as a number of small utilities I've written, like a tmux wrapper). It gets out of my way when I just need something quick and useful from the start. For example it's exceedingly easy to wrap other utilities because arguments to MAIN generate a command line interface automatically.
It also provides features that help me as I move from a useful-but-dirty prototype to a more maintainable script or piece of a more complex system. Gradual typing is a big part of this. I tend not to add types for most things, but it's very easy to use the P6 type system to watch my back when I do want that help. It's not as good at catching things before runtime as a hardcore static type system, but it manages to warn me "... will never succeed with declared signature ..." often enough.
I have a no-frills, no-auth file sharing site I deploy periodically to get a web front-end to share things with people (usually already on a VPN, sometimes just on a LAN). At the moment, I use a simple deploy script to do this manually, but I'm considering setting something up to automatically deploy it when connecting to a particular network. I almost definitely won't get that part right on the first try and would really rather not end up accidentally deploying a no-auth filesystem on my server's public IP address.
Using the P6 type system, I can easily define a subset of IPv4 addresses:
my @private-ranges = <10.0.0.0/8 172.16.0.0/12 192.168.0.0/16>;
subset IPv4::Private of IPv4 where -> $ip { Net::Netmask.new(any @private-ranges).match($ip) };
Then simply defining MAIN with a typed (and named, in this case, hence the colon) argument will handle all the checking at the type level. sub MAIN(IPv4::Private :$ip) { ... }
Now I won't be able to deploy this service on a public IP as long as I use this deploy script as a primitive in whatever eventual solution I end up with, and the automatically generated usage message even helps communicate why a call failed (provided you have descriptive type/parameter names). λ | ./deploy --ip=$(dig +short myip.opendns.com @resolver1.opendns.com)
Usage:
./deploy.p6 [--ip=<Private>]
λ | ./deploy --ip=10.0.0.2
Deploy successful.A similar thing happens to me when I fly. My boarding passes usually truncate the middle name field which in my case (typically) results in the name of a religious figure rather than an uncommon or obviously truncated name.
This has never been an actual issue (or even commented on), but another middle name discrepancy has. Back in high school, there were some issues with my name on my state ID not exactly matching the school's entry for me.
Speaking as an only mildly colorblind person, I still tend not to use color to differentiate things. Even when it's two colors I can easily tell the difference between, I don't reach for color as a disambiguating feature unless I consciously try to.
Having to go even further than that and use shades of the colors I do have trouble with would be far more onerous.
The Sony WH-1000XM series (possibly the next segment down as well?) still has this feature and I've found it good enough to be useful.
On planes it's simpler than pausing/removing the headphones to order a drink and the same in the office when you just need a quick yes/no from someone next to you.
There's also a passive mode I use when I'm actually outside with the headphones on. You don't hear engine noise or planes overhead but you can still hear tire noise of nearby cars so you don't get run over. If it's quiet you even hear footsteps.
That may be a Firefox on Windows issue (not that it helps you in this case). I regularly have ~1000 tabs open in Firefox on Linux with no issues (related to tabs and performance, anyway).
The only related issue for me recently was a failure to restore a session after Firefox forced a restart for an update. That's the behavior that chases me back to Brave on other systems (where it's not as easy to `tabs.sh > current_tabs` just in case).
Where's the fun in having the number of open tabs visible instead of just ':D'? I honestly can't remember the last time that was the case on my phone.
In the case of a traditional filesystem, similarly unfortunate memory corruption would just affect the actual data directly. Forgoing ZFS throws out the happy path where the checksum does catch a data error and repairs it transparently.
Edit: To add on to this, ZFS doesn't do parity-based repair at the checksum level. In the mentioned case (good data, bad checksum) no copy of the block will match the checksum and there will be no supposedly-good block to copy over.
If that's the case, it must have changed at some point. Lastpass and Duo both support multiple U2F keys, and have for at least a couple of years. I have two keys registered with Duo for login at my school and also through Lastpass's non-Duo U2F support.
The pricing page seems to be wrong either way, but the main page claims 300,000 total users with 24,000 using it daily.
I wish there was another place for it.
There is! With a programmable (preferably grid-layout) keyboard, you can have a numpad accessible from the homerow.
Edit: I do realize this can be inconvenient at times, but I primarily use an external keyboard with my laptop.
Around the lab I work at we do a similar thing, always some variation on dolphins. Dolphin background, messaging a dolphin on slack, etc.
It's recently escalated to sudolphin-ing (think a sudo alias involving cowsay and you're on the right track).
Gorsuch and Kavanaugh make two.