In the middle of the desert you can say anything you want
This is very nice and concise: Setup SSH keys for use with GitHub/GitLab/BitBucket etc, along with this series: Generating a new SSH key and adding it to the ssh-agent - GitHub Help
TL;DR generate a key, add it to Github, add it to the ssh-agent as
$ eval "$(ssh-agent -s)"
> Agent pid 59566
$ ssh-add ~/.ssh/id_rsa
Test the results as
→ ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
If the key is in a non-default location, Host github.com HostName github.com User jaeaess IdentityFile ~/.ssh/id_rsa_github_jaeaess is needed in the ~/.ssh/config file.
To push without being asked for passwords, the remote needs to be changed from HTTPS to SSH:
$ git remote remove origin
$ git remote add origin git@github.com:AquilineAdaeze/gitformyMac.git
Since it doesn’t seem to be persistent, the unsafe way (even though it’s considered unsafe in general) is to add ssh-add -q ~/.ssh/id_rsa_github to startup.
To copy absolute path of a file, Ctrl+Shift+C works.
Very interesting discussion: Loading a trained model, popping the last two layers, and then saving it · Issue #8772 · keras-team/keras
For the Sequential model, model.pop() also exists but not for the Functional one.
For a Functional model, after getting a model from an .h5 file, we can do things such as:
new_model = Model(model.inputs, model.layers[-3].output)
Very nice R-centric explanation, but should be valid for Python too: Saving and serializing models
A subclassed model differs in that it’s not a data structure, it’s a piece of code. The architecture of the model is defined via the body of the call method. This means that the architecture of the model cannot be safely serialized. To load a model, you’ll need to have access to the code that created it (the code of the model subclass). Alternatively, you could be serializing this code as bytecode (e.g. via pickling), but that’s unsafe and generally not portable.
Why am I getting wildly different accuracies and losses after loading the model from .h5 file, when model.weights for both are identical and predictions (using model.predict()) too? This probably has something to do with me misunderstanding datasets, how exactly?
tab-give keybindingAdded config.bind('tg', 'set-cmd-text -s :tab-give') to qutebrowser config.py. set-cmd-text is nice, -s means add space to the end, and now I know more about qutebrowser modes in general - for example, I can do keybindings even while I’m inserting a :command. The further it goes the more I love qutebrowser.
Debug tool window - Help | IntelliJ IDEA
If I click and the Debugger pane disappears, Alt+5 makes it appear again in the previous state.
cat compressed files with zcatThis is very nice: zcat auth.log.3.gz
lenovo - 18.10: how to set system default webcam? - Ask Ubuntu
mv /dev/video0 /dev/video0.original
ln -s /dev/video2 /dev/video0
How to Make Yourself Into a Learning Machine - Superorganizers - fascinating practical use of the Zettelkasten method, amongst other things - don’t have time for this now but I will read it later. + Using Anki to Remember Everything You Read | Hacker News as my source.
Adding to this:
ym that automatically escapes things like |Everytime I call model.fit() it does NOT reset the weights, DOES reset the hidden states (such as RNN/LSTM), does NOT reset optimizer settings. machine learning - keras.fit() re-initialises the weights - Stack Overflow
If I want to reset them, keras.backend.clear_session() should clear the info from the previous model.
Geburtsname: Vorname oder Nachname - Das versteht man darunter - FOCUS Online
Müssen Sie in einem Formular Ihren Geburtsnamen angeben, handelt es sich um Ihren Nachnamen, den Sie bei Ihrer Geburt erhalten haben. Sofern Sie nicht geheiratet und den Namen Ihres Ehemanns oder Ihrer Ehefrau angenommen oder eine Namensänderung beantragt haben, können Sie hier Ihren aktuellen Nachnamen angeben.
[ $[$RANDOM % 10] = 0 ] && do_this || do_that “s gives roughly a 1 in 10 chance of do_this running, and a 9 in 10 chance of do_that running. You can omit || do_that to just have a 10 percent chance of do_this running.” (seen here: Clear Your Terminal in Style - Adam.)
The vim vim-easymotion plugin (easymotion/vim-easymotion: Vim motions on speed!) also works in select/visual mode!
EDIT: there’s an intellij idea plugin! Just wow
I’m very very very glad about this, this is one thing that I missed from vim! AlexPl292/IdeaVim-EasyMotion: EasyMotion emulation plugin for IdeaVim
To activate I had to add set easymotion after setting the leader key in .ideavimrc.
I just to not-forget about it.
Python ‘No module named’ error; ‘package’ is not a package - Stack Overflow TL;DR Beware of conflicting filenames.
I keep getting bitten by this - if I have a folder called something and inside it something called something.py and want to import something from the folder, it will take something to mean something.py instead of the folder.
Quoting the most helpful answer:
I was using the same name for both a sub-package (directory) and a module (file) within it.
For example I had this:
/opt/mylib/myapi /opt/mylib/myapi/__init__.py /opt/mylib/myapi/myapi_creds.py # gitignored file for user/pass /opt/mylib/myapi/myapi.py # base module, load creds and connect /opt/mylib/myapi/myapi_dostuff.py # call myapi.py and do workThe script ‘myapi.py’ imports credentials from myapi_creds.py via this statement:
from myapi.myapi_creds import my_user, my_pass Testing the module 'myapi.py' resulted in this error: $ ./myapi.py Traceback (most recent call last): File "./myapi.py", line 12, in <module> from myapi.myapi_creds import my_user, my_pass File "/opt/mylib/myapi/myapi.py", line 12, in <module> from myapi.myapi_creds import my_user, my_pass ModuleNotFoundError: No module named 'myapi.myapi_creds'; 'myapi' is not a packageThe solution was to rename
myapi.pytomyapi_base.pyso it’s name does not collide with the sub-package name.
Is there a way to put code blocks in block quotes? - Meta Stack Overflow
TL;DR Code is indented four spaces, but inside a quote (>) they have to be indented five spaces.
dingbat - Wiktionary - crazy person - typographical ornament (like arrows) - small device/gadget the correct term for which is forgotten/unknown
scipy.stats.normaltest — SciPy v1.4.1 Reference Guide - function returns amongst other things p-value that the sample comes from a normal distribution.
buffer_size= in dataset.shuffle()It affects how random the shuffle is. A buffer size of 1 would not shuffle at all, one bigger than the dataset would be perfect. It’s basically the size of the randomly created bucket from which we pick the next element.
What is the difference between setting run_eagerly while compiling a tf.keras model vs setting it after compilation vs tf.config.experimental_run_functions_eagerly(True)?
As of Di 03 Mär 2020 17:11:47 CETA, it seems saving weights both in .h5 format and tf format is broken. For TF format, [TF2.0] Bug when saving weights with custom layers · Issue #26811 · tensorflow/tensorflow, you should use .h5; For .h5, Tensorflow 2.x seems to use the same names of Variables if they are unnamed, which creates conflicts when saving. The fix is to name all the variables: Custom layer weights all have the same name by default · Issue #36650 · tensorflow/tensorflow
This paper: Zinc for the common cold—not if, but when says that it’s conclusive evidence that it helps at <24h after the start and that it reduces the risk of colds. I’m not sure I understand what’s the right dose though
Added this to config.py:
config.bind('<Ctrl-I>', 'download-clear')
project:project:myproject can be replaced by pro:myproject
Updated the layout to output 10 posts in full and 10 as links on the first page, instead of the previous 3/7.
See the writing on the wall - Idioms by The Free Dictionary — “To notice and interpret apparent signs or indications that something will or is about to happen in the future, especially something bad or unfortunate.”, “To know something is about to happen”. Found here.
Spent a lot of time understanding why do i3 and my mouse and Intellij Idea not work, fix was removing the headphones that were pressing a mouse button on the laptop.