Note: 删除git库中的文件

库中有个临时文件,当时不小心push上去的。想要删掉,本地文件夹里看不到这个文件。

程序猿啊羊一语点破。ls -a查看隐藏文件。果然找到。

git commit前先git status,查看状态。

git rm .mutipl<TAB> ——删除

git add -A是添加所有文件。

git rm之后再git status 查看状态,然后commit/push同步上去。

因为太懒,git commit后面没有写 -m。跳进了nano编辑器。

nano编辑器,第一行是标题,第二行空掉,第三行写正文。ctrl+o写入文件。

在nano中下面一排是命令,^代表ctrl。

Note: Return and Print

I was learning Return statement.

The example is below:

def maximum(x,y):

if x > y:

return x

elif x == y

return ‘The numbers are equal’

else:

return y

 

print maximum(2,3)

————

The output is:

3

I was wondering if there’s any difference between return and print. So I modified a little. I replaced return with print.

The out put turned out to be:

3

None.

What happened? Je sais pas.

Then I continued reading. I saw a “return None” and i realized that there must be something to do with the None above.

But I have no clue.

while的loop

非常基本,但这是很值得我记住的一课。问题其实很简单,只是脑子没有转过来。而且我不确定的是到底是一时没捅破窗户纸,还是一直没有这种sense。后者就比较糟糕了——但我记得我如今做的很多事都是为了打破这种成见。

照书撸了段程序却不知道怎么执行的。按照自己的理解把程序改了改,居然效果一样。郁闷的是还是不知道怎么执行的。

啊羊和啊黄都提供了非常耐心的指导。啊羊让我把代码放到gist里去,告诉我赋值的概念,啊黄则告诉我python是一条一条执行程序的。两人都不约而同地在微信里说:头脑模拟执行。

我当时的回答是,I have no idea what you are talking about.

但想通了就很简单了。真开心。

btw,gist是个好东西。可以放代码片段。

cathysia@mancinism:~$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> length=5
>>> breadth=2
>>> area=length*breadth
>>> print ‘Area is’, area;print ‘Perimeter is’, 2*(length+breadth)
Area is 10
Perimeter is 14
>>>
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ if.py
if.py: command not found
cathysia@mancinism:~$ python if.py
File “if.py”, line 3
if guess == number
^
SyntaxError: invalid syntax
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ python if.py
File “if.py”, line 5
print ‘Congratulations, you guessed it.’
^
IndentationError: expected an indented block
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ python if.py
File “if.py”, line 8
elif guess < number
^
SyntaxError: invalid syntax
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ python if.py
Enter an integer:40
No, it is a litle higher than that
cathysia@mancinism:~$ 50
50: command not found
cathysia@mancinism:~$ python if.py
Enter an integer:60
No, it is a little lower than that
Done
cathysia@mancinism:~$ python if.py
Enter an integer:42
Congratulations, you guessed it.
(but you do not win any prizes!)
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ python if.py
Enter an integer:42
Congratulations, you guessed it.
(but you do not win any prizes!)
Done
cathysia@mancinism:~$ python if.py24
python: can’t open file ‘if.py24’: [Errno 2] No such file or directory
cathysia@mancinism:~$ python if.py
Enter an integer:24
No, it is a litle higher than that
Done
cathysia@mancinism:~$ python if.py
Enter an integer:43
No, it is a little lower than that
Done
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ python while.py
Enter an integer : 23
No, it is a little higher than that.
Enter an integer : 295
The while loop is over.
Enter an integer : 42
Congratulations, you guessed it.
Traceback (most recent call last):
File “while.py”, line 8, in <module>
running=faulse
NameError: name ‘faulse’ is not defined
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ while.py
while.py: command not found
cathysia@mancinism:~$ python while.py
Enter an integer : 42
Congratulations, you guessed it.
Done
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ python while.py
Enter an integer : 24
No, it is a little higher than that.
Enter an integer : 43
The while loop is over.
Enter an integer : 42
Congratulations, you guessed it.
Done
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ python while.py
Enter an integer : 24
No, it is a little higher than that.
Enter an integer : 43
Enter an integer : 42
Congratulations, you guessed it.
The while loop is over.
Done
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ python while.py
Enter an integer : 24
No, it is a little higher than that.
Enter an integer : 43
Enter an integer : 42
Congratulations, you guessed it.
The while loop is over.
Done
cathysia@mancinism:~$ vim
cathysia@mancinism:~$ python while.py
Enter an integer : 24
No, it is a little higher than that.
Enter an integer : 43
No, it is a alittle lower thant that.
Enter an integer : 42
Congratulations, you guessed it.
The while loop is over.
Done
cathysia@mancinism:~$ vim
cathysia@mancinism:~$

NOte 03oct15

cathysia@mancinism:~$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> print “What’s your name?”
What’s your name?
>>> print ‘What\’s your name’
What’s your name
>>> print “\\”What’s your name\\” I asked.”
File “<stdin>”, line 1
print “\\”What’s your name\\” I asked.”
^
SyntaxError: invalid syntax
>>> print ‘What\”s your name’
What”s your name
>>> print ‘This is the first line
File “<stdin>”, line 1
print ‘This is the first line
^
SyntaxError: EOL while scanning string literal
>>> print ‘This is the first line\nThis is the second line’
This is the first line
This is the second line
>>> Print ‘This is the first line. \
… This is the second line.’
File “<stdin>”, line 2
This is the second line.’
^
SyntaxError: invalid syntax
>>> Print ‘This is the first line. \ This is the second line.’
File “<stdin>”, line 1
Print ‘This is the first line. \ This is the second line.’
^
SyntaxError: invalid syntax
>>> print “THis is the first line. \ This is the second line.”
THis is the first line. \ This is the second line.
>>> print “This is the first line.\This is the second line.”
This is the first line.\This is the second line.
>>> r”Newlines are indicated by \n”
‘Newlines are indicated by \\n’
>>> print r”Newlines are indicated by\n”
Newlines are indicated by\n
>>>

note: unsolved: tried to install vim (and mercurial)

http://www.vim.org/mercurial.php

按照指导,老老实实先安装mercurial,手贱敲了个ctrl+c(天哪我什么时候才能改掉在terminal里敲ctrl+c的毛病啊我已经快要给自己跪了),然后又手贱敲了个ctrl+z,然后mercurial的安装进程就中止了。

再重新安装,就出现错误:

E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it? 
上网查找,解决方式是杀掉进程:
sudo rm /var/lib/apt/lists/lock

然后又好了。但是再重新安装,好像就不知所云了。
cathysia@mancinism:~$ sudo apt-get install mercurial
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 
cathysia@mancinism:~$ 
cathysia@mancinism:~$ sudo dpkg --configure -a
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up mercurial-common (2.8.2-1ubuntu1.3) ...
cathysia@mancinism:~$ sudo apt-get install mercurial
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following packages were automatically installed and are no longer required:
 chromium-codecs-ffmpeg-extra gimp-help-common gimp-help-en kde-l10n-engb
 kde-l10n-zhcn liba52-0.7.4 libasn1-8-heimdal:i386 libass4
 libatk-bridge2.0-0:i386 libatk1.0-0:i386 libatspi2.0-0:i386 libaudio2:i386
 libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386
 libavresample1 libbs2b0 libcairo-gobject2:i386 libcairo2:i386
 libcolord1:i386 libcups2:i386 libcurl3:i386 libdatrie1:i386
 libdbus-glib-1-2:i386 libdbusmenu-glib4:i386 libdbusmenu-gtk3-4:i386
 libdbusmenu-gtk4:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
 libdrm-radeon1:i386 libelf1:i386 libffi6:i386 libgconf-2-4:i386
 libgcrypt11:i386 libgdk-pixbuf2.0-0:i386 libgl1-mesa-dri:i386
 libgl1-mesa-glx:i386 libglapi-mesa:i386 libglib2.0-0:i386 libgnutls26:i386
 libgpg-error0:i386 libgraphite2-3:i386 libgssapi-krb5-2:i386
 libgssapi3-heimdal:i386 libgstreamer-plugins-base1.0-0:i386
 libgstreamer1.0-0:i386 libgtk-3-0:i386 libgtk2.0-0:i386 libharfbuzz0b:i386
 libhcrypto4-heimdal:i386 libheimbase1-heimdal:i386 libheimntlm0-heimdal:i386
 libhx509-5-heimdal:i386 libidn11:i386 libjasper1:i386 libjbig0:i386
 libjpeg-turbo8:i386 libjpeg8:i386 libk5crypto3:i386 libkeyutils1:i386
 libkrb5-26-heimdal:i386 libkrb5-3:i386 libkrb5support0:i386 liblcms2-2:i386
 libldap-2.4-2:i386 libllvm3.4:i386 libmpg123-0 libmysqlclient18:i386
 libnetpbm10 libnspr4:i386 libnss3:i386 liborc-0.4-0:i386 libp11-kit0:i386
 libpango-1.0-0:i386 libpango1.0-0:i386 libpangocairo-1.0-0:i386
 libpangoft2-1.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386
 libpciaccess0:i386 libpixman-1-0:i386 libqt4-dbus:i386
 libqt4-declarative:i386 libqt4-network:i386 libqt4-opengl:i386
 libqt4-script:i386 libqt4-sql:i386 libqt4-sql-mysql:i386 libqt4-xml:i386
 libqt4-xmlpatterns:i386 libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386
 libqtwebkit4:i386 libquvi-scripts libquvi7 libroken18-heimdal:i386
 librtmp0:i386 libsasl2-2:i386 libsasl2-modules:i386 libsasl2-modules-db:i386
 libsqlite3-0:i386 libssl1.0.0:i386 libtasn1-6:i386 libthai0:i386
 libtiff5:i386 libtxc-dxtn-s2tc0:i386 libudev1:i386 libwayland-client0:i386
 libwayland-cursor0:i386 libwind0-heimdal:i386 libx11-xcb1:i386
 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
 libxcb-render0:i386 libxcb-shm0:i386 libxcb-sync1:i386 libxcomposite1:i386
 libxft2:i386 libxi6:i386 libxkbcommon0:i386 libxml2:i386 libxshmfence1:i386
 libxslt1.1:i386 libxss1:i386 libxt6:i386 libxv1:i386 libxxf86vm1:i386
 linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
 linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
 mysql-common netpbm
Use 'apt-get autoremove' to remove them.
Suggested packages:
 qct vim emacs kdiff3 kdiff3-qt kompare meld tkcvs mgdiff
The following NEW packages will be installed:
 mercurial
0 upgraded, 1 newly installed, 0 to remove and 262 not upgraded.
Need to get 0 B/41.1 kB of archives.
After this operation, 219 kB of additional disk space will be used.
Selecting previously unselected package mercurial.
(Reading database ... 253486 files and directories currently installed.)
Preparing to unpack .../mercurial_2.8.2-1ubuntu1.3_amd64.deb ...
Unpacking mercurial (2.8.2-1ubuntu1.3) ...
Setting up mercurial (2.8.2-1ubuntu1.3) ...

Creating config file /etc/mercurial/hgrc.d/hgext.rc with new version
cathysia@mancinism:~$ hg clone https://vim.googlecde.com/hg/ vim
abort: error: Name or service not known
cathysia@mancinism:~$ hg clone https://vim.googlecode.com/hg/ vim
requesting all changes
adding changesets
cd vim
hg pull
hg update
^Ctransaction abort!
rollback completed
interrupted!
cathysia@mancinism:~$ 

note:strongvpn出现问题的时候,以及vnc的client

前段时间看到一个漫画。大意是程序猿遇到问题,试遍各种办法也无法解决,最后终于解决了,却不知道怎么解决的。

前几天VPN开始出现问题。手机使用正常,PC端可以成功连接,却无法打开任何外网。这种情况我当然会认为是PC端的设置问题。重新设置了几遍,反复检查,还是无果。只好改换服务器。意外发现手机端的app其实很好用。当然这个vpn的app并无进入设置自动连接vpn的权限,所能做的只是在设置内帮你设置好参数,你只需进入设置点击连接即可。

因有PPTP和L2TP两种协议,手机上使用L2TP,PC端使用PPTP的时候,看起来好像可以同时连接。但PC端其实还是无法连接外网,并且很快就会断开。这时候如果手机端下线,PC端就会恢复正常。

好景不长,几天后PC端和手机端都连不上了,只好换服务器。换了几个服务器,还是不行。以为是家里网络的问题。换了个网络环境,依旧无效。找程序猿啊猪,用他的MAC,还是连不上。

试过了SF的服务器,NY的服务器,TR的服务器。Karlan说,一月份的时候就听说StrongVPN被封了,但我的还能用,所以他也没问。事情发展到这一步,不可能是我的电脑问题,也不太可能是我的账号问题(今年11月才到期)。只有可能是StrongVPN的问题了。

StrongVPN有一点好是他的客服是7X24服务的,有一点不好就是他的客服需要翻墙才能勾搭上。这是令我十分无语的一个悖论——当我的可以联系上客服的时候就说明我不需要客服啊。

想谷歌一下StrongVPN最近的线路情况显然是不可行了。只好百度找使用StrongVPN的同好,找到的信息却寥寥无几。不自觉想到了被封的中文维基。GFW封了中文维基却留下了英文维基。近年来,每年五月,都会有一些网站被封,却不会再像以前那样,过一个月又解封。

以前我有个十分珍爱的德生收音机。性价比很高的短波收音机。在大连的时候,每天早晨在噪音中寻找极狭窄的一条通道,收听来自外面的声音,在嘈杂的背景声中努力分辨语音。我每天早晨听VOA的习惯持续了很久,直到来上海,那个模样朴素的德生收音机再也收不到任何短波。

这本来应该是一个记录电脑问题解决方法的note。但难免夹杂一些情绪。也罢。

现在连上StrongVPN的客服是当务之急。想起以前帮Karlan设置SSH翻墙回国看搜狐视频,Karlan曾提出我也可以在他办公室的电脑上搭个ssh的桥翻墙。遂趁他还没睡觉,把正在吹黄老邪的《碧海潮生曲》的他从笛子旁边叫过来,帮我设置ssh。

Karlan给我发了一个VNC的邀请。里面有地址和密码。Karlan问我,VNC会用吗?在terminal中启动vnc是程序猿啊黄教过我的。我说,会。然后在terminal里输入了x11vnc connect 后面加上地址。

然后出现一大堆不知所云的东西。我问Karlan,什么鬼?Karlan遂教我设置密码,x11vnc -storepaswd,然后在登陆的时候加上-usepw使用密码。

然后又出现一大堆不知所云的东西。Karlan又让我输入x11vnc &。

然后又出现一大堆不知所云的东西。

两个人隔着一个地球的距离,困惑地搞了半天,突然恍然大悟。Karlan说的VNC,是一个client,而我用的,是一个server,可以说是完全反过来了。

通过这次指导,Karlan给出的结论是,你的Linux完全没有入门。

谁说我入门了……

Karlan用的是KDE,而我用的是gnome。Karlan讨厌gnome

遂装了一个krdc。在krdc内试着连接Karlan发给我的地址,还是无法连接。这给身心俱疲的Karlan带来了极大困扰。想了半天可能是他那边ip的问题。他那边已经是午夜,在我找到他之前他正吹碧海潮生曲,已有困意,打算睡觉,现在是必然睡不着了。

经过这次打击,Karlan同学决定闭关。等到我的python作业做完再出来。

Karlan同学睡觉之后,我在地球这一边继续对着没有回音的VPN和无法连接的krdc发呆。最后决定先搁置krdc,先从别的角度想想VPN的问题。

已经可以排除自己设备和账号的问题。只有可能是对方服务器的问题了。我已尝试过服务器最多的sf和ny,tr也试过,但欧洲的服务器还没试。抱着死马当活马医的想法,试了试zk(在伦敦)的。

居然就……好了。

连上google doc的时候我的眼泪都快出来了。

几个小note

极轴镜中HA是二十四小时制,Clock是十二小时制。其实沈环宇同学跟我讲过,但是我忘了。足见记笔记的重要性。

Rawstudio。菜单栏上把图片加入batch que,然后在右侧工具栏batch que中导出文件。但是导出的jpg不仅体积庞大,而且画质其渣无比。

命令行输入cd然后输入相应路径,然后输入ls -a可以查看隐藏文件。

小note:备案号设置

漏接了万网的来电。打回去,客服说不知道是什么原因,还会再打回来,请耐心等待。

事实上是再也没打过来。我查看邮箱,阿里云发来邮件警告我更改备案信息,需得在规定时间内更改,否则将关闭或者注销备案。

关键问题是 ,这封邮件没告诉我哪儿不准确……

又打电话给客服。客服说,她也不知道哪儿要改,不过那个漏接的电话还会再打回来,请耐心等待。

当然还是没有电话打过来。只好又打电话,换了一个快乐的京腔小哥儿。还念错了我的网站名字。他很仔细地检查了我的网站,然后问我英文写的是啥,并且很不好意思地解释道,我不会英文。

我莫名其妙,哪里有英文?哦,你是说那个友情链接?那只是一堆友情链接哦。

排除了有公司信息的可能。他消失了,过了一分钟以后回来,快乐地说,你要把备案号放在下面哟。

在后台里里外外翻了一遍,发现居然无处改footer。上网搜索一番,有人建议在editor里加代码,然后发现wordpress后台的防止“蠢人喜欢干矬事而且还自以为是地不用childtheme“的功能还很强大。只好用ssh。

打开footer.php文件,加入代码:

<span class=”credit-link pull-right”><i class=”icp”></i><?php printf( __( ‘%s.’, ‘icp’ ), ‘<a href=”http://www.miibeian.gov.cn/”>备案号</a>’ ); ?></span>