修改 openwrt 的源列表

openwrt 官方网貌似被墙了,只能使用镜象:

在 /etc/opkg.conf 或 luci 的配置修改成以下地址可成功更新和安装 opkg 包。注意要根据 openwrt 和 cpu 的架构修改 url

1
2
3
4
5
6
7
8
9
10
11
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
src/gz barrier_breaker_base http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/base
src/gz barrier_breaker_luci http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/luci
src/gz barrier_breaker_packages http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/packages
src/gz barrier_breaker_routing http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/routing
src/gz barrier_breaker_telephony http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/telephony
src/gz barrier_breaker_management http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/management
src/gz barrier_breaker_oldpackages http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/oldpackages
Share Comments

如果有人问你数据库的原理,叫他看这篇文章 - 文章 - 伯乐在线

一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但少有文章讲解数据库是如何工作的。

Source: 如果有人问你数据库的原理,叫他看这篇文章 - 文章 - 伯乐在线

Share Comments

游戏中学会撸代码:这些编程学习网站不容错过 - FreeBuf.COM | 关注黑客与极客

CodinGame 在玩这款游戏时会遇到许多有趣的问题,支持诸多编程语言。

Source: 游戏中学会撸代码:这些编程学习网站不容错过 - FreeBuf.COM | 关注黑客与极客

Share Comments

Android 上无法访问 Win7 的共享目录

现实是其它的电脑,包括 mac os 也可以访问。唯独 android 不行,试了 n 个客户端也连接不上。好一通 google 最后找到这篇贴子

http://www.tomshardware.com/answers/id-2165494/connect-win7-share-android-fine-windows-machines.html

根据 pgammelby 的方法成功解决:

I had the same problem and fixed it by reenabling the SMB protocol as described here: http://support.microsoft.com/kb/2696547?
To enable or disable SMB protocols on an SMB Server that is runningWindows 7, Windows Server 2008 R2, Windows Vista, or Windows Server 2008, use Windows PowerShell or Registry Editor. (Search ‘powershell’, run it in administrator mode) paste the following cmdlet into the powershell:
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” SMB2 -Type DWORD -Value 1 -Force
and hit enter. Reboot.
Worked like a charm.

照看是启用了 smb2 协议。

Share Comments

Git 使用备忘

基本概念

  • 工作目录 : 当前实际的目录
  • 缓冲区 : 所有修改需要先 add 到缓冲区,再提交到仓库
  • 仓库 : 实际存储提交历史的地方
  • 远程 : 相当于 SVN/VCS 之类的Server

初始化

在已有目录下初始化 git 仓库

$ git init

在Server初始化空的 git 仓库

$ git init --bare

查看类

查看当前工作目录状态,列出所有已添加到缓种区的文件(绿色),所有未添加到缓种区的文件(红色)

$ git status

查看仓库历史

$ git log

查看操作历史

$ git reflog

日常操作

添加文件跟踪

$ git add README.md

添加所有修改到缓冲区。缓冲区可以多次提交,然后一次性 commit 到仓库

$ git add --all

一个个提交修改文件很没效率,但是 add —all 会把一些我们不想同步的临时文件也一起提交,我们可以通地 .gitignore 文件告诉 git 哪些文件不要理会。git 结果很简单,一行一个 glob 。可惜用 # 进行注释

撤销已经添加到缓冲区的文件

$ git reset README.md

提交到仓库

$ git commit -m 'YOUR MESSAGE'

追加/修改提交内容。提交到仓库若发现少了一些修改,可以通过下面的方式修改提交,这样就不会有新的提交历史。

$ git add --all $ git commit --amend

回退版本。当发现提交有问题,需要回退到之前一个版本时使用,这个操作比较危险,小心使用:

$ git reset HEAD~1 --hard

取消回退。当发现回退有问题时,短时间内可以使用操作历史及回退命令取消回退(git 隔一段时间会清空 reflog)。

$ git reflog $ git reset e284c7f --hard

Share Comments

EI Capitan 安装 node-canvas 失败解决方法

在给手头上一个之前在 Ubuntu 下Programming的 project 执行 npm i 时候发现竟然失败了,一看之下是 node-canvas 编译错误,提示找不到 libjpeg.h。奇怪的是明明已经按照 node-canvas 的文档,装好相关依赖的库了。libjpeg.h 也是存在于 /usr/local/include 里面的!

百思不得其姐,一番 google 之后,发现在 node-canvas 的 github 上有两个 issue 说到这个问题。最后多数人表示在 terminal 里面执行下面这条命令后可以解决问题:

1
xcode-select --install

好吧,mac os 新手没办法,虽然不知道是什么神奇的原理,也只好照猫画虎!执行之后跳出一个安装对话框,按 Install ,几分钟之后就提示成功了。再回到 terminal 执行 npm i……哇,竟然还是失败了!

有点没招了,继续 google 。终于是发现这个命令是用来 Command Line Tools,貌似是新 os x 默认没有设定编译相关的环境变量,通过安装这个包可以将相关环境设定好。难道是刚才敲命令的姿势没摆好?再试一次,结果还是一样,不过让我感觉奇怪的是安装过程又执行了一次,没有替换或已安装的提示,看那对话框不太对啊,怎么叫我去 Get XCODE ,我这不是已经装了最新的 7.2 了吗?还怎么 Get !

无奈之后按一篇文章中提到的传统方式,打开 XCODE 在 主菜单点 Open Developer Tool -> More Developer Tools ,打开 Apple 官网网页。看到那个 Command Line Tools OS X for XCode 7.2 ,我去,这一个包四百多兆,怎么可能几分钟就下载安装好。看来是命令行安装的方法根本行不通了。

实践证明,这个包要手动下载,安装完成之后;npm i 就可以完成编译了。

Share Comments

VirtualBox USB Add Filter From Device No Device Available Ubuntu - Web Design Blog

I am running an old XP license on a Virtualbox guest. One things that has always bugged me was the inability to use USB devices within my VirtualBox guest. After searching google a few times for “V
Source: VirtualBox USB Add Filter From Device No Device Available Ubuntu - Web Design Blog

1,启用 USB2.0 支持需要安装扩展包

http://download.virtualbox.org/virtualbox/{版本号}/xxx.vbox-extpack

下载下来,点击运行就会自动启动 VirtualBox 进行安装。

2,解决 VirtualBox 中找不到任何 USB 设备的问题,表现为在虚拟机的设置,USB页面中右击 Add Filter From Device 找不到任何设备。是因为当前登录的用户不在 vboxusers 组中引起的权限问题。打开 shell:

1
sudo usermod -a -G vboxusers USERNAME

记得把 USERNAME 替换成当前的用户名。完成后需退出登陆重新登陆方能生效。

Share Comments

eOS 给 Visual Studio Code 添加 Slingshot 图标

VSC 没有自带 .desktop 文件,需要自行手工建立。

在 ~/.local/share/applications/ 建立 vsc.desktop 文件,内容如下:

1
2
3
4
5
6
7
8
[Desktop Entry]
Name=Visual Studio Code
Comment=Programming Text Editor
Exec=/path/to/VSCode-linux-x64/Code %U
Terminal=false
Icon=/path/to/VSCode-linux-x64/resources/app/vso.png
Type=Application
Categories=Programming;

保存退出,在文件管理器中点击运行该程序,成功后右击锁定到 Slingshot 即可

注意 Exec 和 Icon 参数

Share Comments

再次从 Windows 转向 Linux 阵营

用回 Ubuntu 已经有数月,除了 GVIM 偶尔会变黄,还有一次升级 Kernel 时会造成视频播放时关闭播放器会卡死之外,整体都很稳定。

Linux 系统对于程序员来讲,确实比 Windows 不要好用太多!强大的 shell 在 POSIX 标准下运行,各种命令,脚本,程序组合使用爽到翻,以往在 windows 下花几天时间未必能找到趁手工具或解决方法的,在 Linux 却会有大把免费开源的程序给你组合使用。

举个例就说网站布署,以前做 .NET Programming的时候,布署是个头疼的事件,用 FTP 传拜托要传到什么时候?在 VS 里面通过 Web Publish 会好一点,然并卵的是奇有时候一些 DLL 明明没改动却是还要再传一遍(莫非是按日期比较?)!此外如果我要在发布前后各做一些自动化操作那基本上是不可能了!像是这种事件在 Linux 下有 ssh/rsync 几行脚本就能搞定了,发布时只上传差异文件(似乎是按文件内容比较),速度快得要死!。(最后我还是在Server上和Programming机上都装了一套 cygwin 去解决)。

对于多年不用电脑玩游戏的我来讲,最麻烦的问题也就剩下该死的企业网银U盾问题了,还好笔电的U有支持虚拟化,用VirtualBox装个 Win7 也不至于太慢(正巧也有些.NET项目需要维护)。至于网购之类的,现在淘宝京东,甚至微信都可以绑定银行脱离网银。甚至不少银行都有手机APP可以独立运作,像广发手机APP转帐手续费竟然比电脑要优惠!QQ就让它在手机端运行了。也省得编码时老在那里闪啊闪的!

Ubuntu 对多屏幕支持比较好,比 Windows 好不止一条街。随插随用,默认就是按各自的分辨屏工作,各个屏幕有独立的系统栏和DOCK。大部份程序是在哪个屏点击就在哪个屏出现,偶有部分会在它上次出现的屏幕出现,这个应该是程序自己的设计吧,不能怪到操作系统的身上。当显示器被拔除(不是关屏),所有运行的程序又会被调回到主屏幕上,很人性化吧!多屏体验确实不是 Windows 能比肩的。

不好的地方也是有的,系统栏和程序的菜单栏结果的设计总是让人感觉怪怪的。比如说A窗当前是活动的,你要点击B窗的菜单,那就得先点一下B窗激活它,再把鼠标移到系统栏去选菜单。有时候就会发生错点的情况。Dock 靠左侧也占了不少屏幕空间,四四方方的设计,老实讲,真是越看越丑呀!而 Ubunut 一向给我的感觉就是字体界面各种粗大,给人感觉不够精细。

Ubuntu 虽好,但界面细节及配套程序确实不够精美。偶然机会下,看到了 Elementary OS,一款基于 Ubuntu 的专注于界面美化的 Linux 发行版。忍不住尝鲜装了一个,界面确实非常惊艳。最让我喜欢的是 shell 在执行完命令后会有通知提醒,这点是最先发现比 ubuntu 要好的地方。界面设计方面无疑是借鉴了 MacOS ,字体大小合适,给人感觉很精细。附带的应用显然都是精心挑选过的,以简洁明快为主,一般性使用是足够了。

ElementaryOS Freya 确实不如 Ubuntu 完善。 最奇怪的是安装的时候貌似一定要连网,否则会导致 grub 安装失败?莫些这么基础的包还需要依赖于 online repository 的包?另外比较不好的地方是多屏的支持不如 Ubuntu 的好,顶部的系统栏和底部的 Dock 只能在一个屏上显示,并且只有底部的 Dock 能自由指定在哪个屏上显示。另外就是 Intel 显卡上面偶尔会出现程序闪屏的现象。

自带的 Midori 确实简单直白,号称是轻量级,速度很快不占内存。实际使用下来,只能呵呵了,不支持 Flash player,经常性地崩溃假死不说,还常常莫名奇妙地跳出一个空白窗口叫你 Log in?还好 Chrome 和 Firefox 都可以良好地运作,虽然界面风格上有点格格不入,但为了功能和稳定只能忍了。

Share Comments

解决ElementaryOS 下 Intel显卡接多屏时偶尔会闪屏的 bug

根据:https://bugs.launchpad.net/elementaryos/+bug/1435861

作如何更改:

1
2
3
4
sudo apt-get install mesa-utils
sudo mkdir /etc/X11/xorg.conf.d/
echo -e 'Section "Device"\n Identifier "Intel Graphics"\n Driver "Intel"\n Option "AccelMethod" "sna"\n Option "TearFree" "true"\nEndSection' | sudo tee /etc/X11/xorg.conf.d/20-intel.conf
sudo reboot

Share Comments