Shammer's Philosophy

My private adversaria

Numbers SUMIFS doesn't calc if the range is other sheet

I use SUMIFS function on my Mac Numbers. I wrote about this function in How to calculate summary with a condition on Numbers of Mac? - Shammerism, but I faced with the case SUMIFS doesn't calc if the range is not in the same sheet.
SUMIFS requires the calc range as below, quoted from How to calculate summary with a condition on Numbers of Mac? - Shammerism.

=SUMIFS(SheetB :: C,SheetB :: D,"=20171210")

I understood that SUMIFS requires Sheet Name if range is in other sheet. So I define the SUMIFS with using Sheet Name. But, it is not correct.
I always create sheet if I want to add a new table, so my Numbers file has sheets which has only 1 table. I am used to this style, like Microsoft Excel.
But, Numbers is different from Excel, sheet name and table name are different. SUMIFS requires Table Name instead of Sheet Name. The syntax of it should be below.

=SUMIFS(TableB :: C,TableB :: D,"=20171210")

How to calculate summary with a condition on Numbers of Mac?

I wrote about the way how to calculate summary with a condition on Google Spread Sheet at QUERY is very useful!!! - Shammerism. I looked for the way because I thought I would use Debian as usually, but I can't decided to replace my Mac OS with Debian yet. If using Mac, I want to use Numbers as my default spread sheet application. And I would like to use the function like query of Google Spread Sheet on Numbers.
I feel query is a very flexible function and there is no completely equivalent function on other spread sheet application. But, I use query just as calculating summary with some conditions, and there is a such function just doing so.

On Numbers, SUMIFS can do what I would like to do. Here is an example.

=SUMIFS(SheetB :: C,SheetB :: D,"=20171210")

First param means the value range to be calculated. Then, second param means the range of conditions. And third param is the condition itself. Above example acts as following.

  1. Check SheetB's column D
  2. Extract rows whose column D value is 20171210
  3. Summarize extracted column C's values

How to display diff between local branch and remote branch of GIT?

Before commit

Just git diff can display the difference like below.

$ git diff
diff --git a/my-elisps.el b/my-elisps.el
index a7c3ee8..e4044da 100644
--- a/my-elisps.el
+++ b/my-elisps.el
@@ -161,7 +161,7 @@
                    ">\n"))
     (insert (concat "<div id=\""
                    element-id
-                   "\" style=\"display:none;chear:both;\" class=\""
+                   "\" style=\"display:none;clear:both;\" class=\""
                    element-class
                    "\"></div>"))))
 (define-key global-map (kbd "C-c i") 'insert-visible-change-element)
$ 

After commit

Once commit done, there is no output with git diff.

$ git commit -v -a -m "Bug fix of insert-visible-change-element"
[master fae5af0] Bug fix of insert-visible-change-element
 1 file changed, 1 insertion(+), 1 deletion(-)
$ 
$ git diff
$

In this case, should do "git diff remote/origin/master".

$ git diff remotes/origin/master
diff --git a/my-elisps.el b/my-elisps.el
index a7c3ee8..e4044da 100644
--- a/my-elisps.el
+++ b/my-elisps.el
@@ -161,7 +161,7 @@
                    ">\n"))
     (insert (concat "<div id=\""
                    element-id
-                   "\" style=\"display:none;chear:both;\" class=\""
+                   "\" style=\"display:none;clear:both;\" class=\""
                    element-class
                    "\"></div>"))))
 (define-key global-map (kbd "C-c i") 'insert-visible-change-element)
$ 

I wonder why remote/origin/master. I am not sure what is the difference between remote and master. I cloned local branch from master. I think master and remote is the same in my repository.

Edit GIT runtime information

This should be the action after Move EmacsConfig from Dropbox to GIT - Shammerism.

Change Editor

$ git config --global core.editor "/Applications/Emacs.app/Contents/MacOS/Emacs -nw"

On my Mac, this should be defined with full path. If determined just "emacs", it will be failed to run.

Change Committer information

GIT generates automatically committer information based on the current login user account on the host and it's hostname. This information can be edited by "git config --global --edit" and edit it.

Git operation after modified some files

This is a continuation of Move EmacsConfig from Dropbox to GIT - Shammerism.
I modified some files getting from My GIT repository and executed following commands.

  1. git commit -v -a -m "Message about this commit"
  2. git push -u origin master

But, nothing has been changed in my remote repository.
In this case, -u option should NOT be added. Following commands are updating local and remote repository and other git environment can pull the updated resources.

  1. git commit -v -a -m "Message about this commit"
  2. git push origin master
  3. At other git environment, git pull

Move EmacsConfig from Dropbox to GIT

I use https://bitbucket.org/, and this is a procedure how to move EmacsConfig files to git repository of bitbucket.org from Dropbox.

  1. Create repository on bitbucket.org
  2. git clone https://$bitbucketUserName@bitbucket.org/$bitbucketUserName/$bitbucketRepositoryName.git
  3. cd $bitbucketRepositoryName
  4. echo "# ReadMe of $bitbucketRepositoryName" >> README.md
  5. git add README.md
  6. git commit -m "Initial commit with ReadMe"
  7. git push -u origin master
  8. cp -r $DropboxEmacsConfigDir .
  9. find . -name '*.el' -exec git add {} \;
  10. git commit -m "EmacsConfig files initial commit"
  11. git push -u origin master

New directory whose name is same as a repository name would be created when git clone command done. So I did above commands in $HOME/Workspace.
After above action done, change $HOME/.emacs.d symbolic link.

  1. cd
  2. rm .emacs.d
  3. ln -s Workspace/$bitbucketRepositoryName/ .emacs.d

Karabinarのオプション

これまで、セミコロンをsticky shiftとして使用してきた。KarabinarでFor JapaneseのChange Semicolon(;) Keyを開き、Semicolon to Sticky Shift_L(effective only when input source is Japanese)にチェックを入れることでこれをやっていたが、久々に起動してみると同じFor Japanese配下に「Simultaneous Key Presses」なるものが追加されており、この中に「日本語入力時にF、Jキーの同時押しをSticky Shiftにする(SKKと一緒に使うと便利です。)」なる設定が追加されていた。いつの間に・・・
そもそも、久々にKarabinarを起動したのは、SKKで日本語入力モード中にコロンを打てなくなってしまっていたからだ。日本語入力モード中にコロンを打ちたいときは、一度SKKをオフにしてコロンを入力、再度SKKをオンにするということをやっていたが、ついにこの作業が面倒になってのこと。どうにかうまくSticky Shiftを有効にしたままコロンを打つことができないか考えてみようと思っていたところだったが、Semicolon to Sticky Shift_Lのチェックを外し、F+JのSticky Shiftをオンにすることでコロンの問題は解決。
まだたまに;を打ってしまうが、これは慣れが解決してくれるだろう。Emacsでも同様にできれば完璧か。今はEmacsはKarabinarによって変更されたキーバインドの影響を受けないようにしているが、Emacsでも同様のことができないか、後日調べてみようと思う。