Not sure about saving but, more importantly for me, it can read sqlite DBs, which has been a godsend whenever I need to take a quick glance at some random DB just to see what kind of tables it holds and what does the data look like. I know my SELECTs but I can't, for the life of me, remember what are the commands to check schemas and DB metadata on sqlite ("Was it .describe? Maybe .schema? Or perhaps \t? Gah, let's check the help once again..."), so knowing that visidata gets me there much faster feels good.
That over there blew my mind, and I had to go back to the page to double-check that. And indeed, it's all clever CSS trickery. Digging further into the source, I found that this was generated using the ansi2html [1] library which I had never heard about before. Thanks for the TIL!
The latest addition to my renaming-toolbelt has been `perl-rename'. This thing is just wonderful: I can unleash all the power of perl-based regexes to rename things in bulk.
Case in point: I had a directory containing thousands of .jpg images imported from a foreign filesystem, and all of those files had tildes in them, something like:
$ ls -1
EL+�CTRICO_0001.jpg
EL+�CTRICO_0002.jpg
EL+�CTRICO_0003.jpg
...
You get the idea; note those ugly unrepresentable characters over there. On the original filesystem they read as "ELÉCTRICO", but that tilde was saved using who knows what encoding, and I simply wanted to get rid of them and have nice ascii "ELECTRICO_xxxx.jpg" files. After finding out that the strange unrepresentable character was the byte 0xEB (so, in order to form an "É" you needed those two characters together: a literal '+' and 0xEB), I could do the bulk renaming with just:
So what happens at the very first boot (e.g. after system installation, or cloud instance just being spawned)? Is that the only circumstance where it would be OK to block? Does OpenBSD trust RdRand for such occasions?
You can set /etc/random.seed (or /var/db/host.random for spawned instances) prior to first boot. That's what cloud providers do IIRC. It also mixes in hardware random (if available).
> RSA and DSA can fail catastrophically when used with malfunctioning random number generators ... network survey of TLS and SSH servers and present evidence that vulnerable keys are surprisingly widespread ... we are able to obtain RSA private keys for 0.50% of TLS hosts and 0.03% of SSH hosts, because their public keys shared nontrivial common factors due to entropy problems, and DSA private keys for 1.03% of SSH hosts, because of insufficient signature randomness ... the vast majority appear to be headless or embedded devices ...
Bear in mind this article was written back in March 2017; quite a few things have changed/improved in GAE-land since. To name a few, off the top of my head:
- Java 8 is already generally available on GAE standard and, on top of that, previous limitations wr/t class whitelisting, threading capabilities and others have been lifted
- appcfg is pretty much outdated these days; all GAE management operations have been progressively integrated into gcloud app subcommand, which also fully supports newer GAE features like Flex, firewall rules, etc.
- GAE standard instances are indeed limited in computing power, but it should be enough for most web-based applications. Again, GAE Flex fills in the gap here in case more muscle is needed, since it leverages GCE-class instances
- Besides the already mentioned background work options (background threads, task queues, cron jobs), there's also Pub/Sub which can be used to inter-communicate GAE services or even other GCP services like GCE or GKE
Java 8 became available on GAE about 3 years after it was released. If Google continues that trend, Java 9 won't be available until 2020.
Slow adoption of new Java versions is a pretty big downside. Even if you are satisfied using Java 8 on GAE today, you may want to use Java 9 in the near future, and you won't be able to. By choosing GAE you are committing yourself to being stuck with Java 8 for a long time.
The entire sandboxing model was swapped out between Java 7 and Java 8 on GAE. That's why it took so long. No such major change is needed for Java 9, which won't lag nearly so far behind.
Also, not having access to Java 8 was painful. Not being able to use lambdas or streams for that long really sucked. There's no similar pain from not having access to Java 9 yet; it's not nearly as big of a change in the language.
In the very same post where Google announced Java 8 being generally available on GAE standard [1], they also stated Java 9 support was already in the works. Of course, actual timelines are not publicly known yet, but I wouldn't bet my money they'll take another 3 years to get this ready.
OMG! Python 3 support was brought up 10 years ago (it is 2018 now depending on your timezone) in 2008 and comments were closed in 2012 for unknown reasons...
Tack this on as one of the reasons people don't trust google cloud...
> Also looks powerful in it's own right
If you aren't convinced of that yet, I'd simply suggest to take a look at this lightning demo (~5 mins): https://www.youtube.com/watch?v=N1CBDTgGtOU