存档

‘日常’ 分类的存档

好贵的土豆

2017年5月23日 没有评论

从去年顺利拿到驾照,这马上就快要到一年时间,在实习期即将结束的时候,居然就出事故拉。

team说是出去玩一趟,我们就在某嗨公司租了3辆车,一路上倒是玩的还可以。就在周末安全回来后,我寻思着车上的2兜土豆还是比较重,还是开车回家把东西放好了再停到单位,恰好周末停车位很富裕。

在小牛坊桥准备右拐进入北清路时,看到有直行的车辆开过来,于是就停了下,看到对方车也停了下,还在想人家可真好,就准备并线,但是对方车辆又继续加速开过来了。嘭的给撞上了。

那一刻,脑海里满满的“我艹”。

下车查看情况,还好双方人都没有问题,说起来就是简单的剐蹭。我们这边就左大灯下面有剐蹭,对方车辆由于速度比较快,右边的2个车门都有刮痕。

打122,交警来了,也没有说啥,我的全责就酱紫,3分一百。接着打客服联系保险。

后面就不多说了,总的来讲,根据这事情知道了大致的流程,算是一个小的收获,只是这学费有点高。

土豆是高原的紫皮,蛮面的。

分类: 一句话, 日常 标签:

MxNet 深度学习框架安装(一)

2017年3月1日 没有评论

最近是想看看深度学习的东西,网上有搜索一下,貌似MxNet还不错,于是打算选择该库作为入手。

作为系列文章的第一篇,当然是安装拉,这里以windows 10安装为例,Ubuntu上的就再等等吧。

在安装之前,大家需要深度学习的使用语言,多为python和c+之类的。MxNet支持的语言比较多,对R也支持。

首先,我们需要安装Python,从官网上下载安装包,衣服自己洗这里选择的是3.6的版本,一路无脑下一步即可。在安装完成后,请确保python的路径已经被添加到系统的环境变量下。

接下来,再安装 pip,从官网上下载文件到本地,然后运行

python get-pip.py install

安装完成后,请添加python目录下的scripts目录到系统的环境变量下。接下来安装 numpy,进入 https://pypi.python.org/pypi/numpy,选择对应的whl版本,下载到本地,然后运行

pip install numpy.whl

在开始的时候,衣服自己洗选择的从网上安装,总是会失败,搜索了一番才果断采用离线安装,很是顺利。

下面就是正主上场拉,从https://github.com/dmlc/mxnet/releases下载预编译好的包,由于我的机器不支持cuda,所以就下载的是cpu的版本,例如20160531_win10_x64_cpu.7z,解压缩到本地,这样的东西我还是放到C盘根目录下比较保险点。

对于想玩CUDA的同学,请先到nvadia去注册,然后下载他们的SDK,解压缩后放到mxnet\3rdparty\cuda 目录下。

最后一步就是准备配置了,按照官方的readme文件,进入到mxnet的目录,双击运行setupenv.cmd来配置环境变量。再进入到 mxnet\python目录,运行 python setup.py install.

如果一切都顺利的话,应该是可以安装成功的。

如何验证呢,运行下面的命令

C:\> python
>>> import mxnet as mx
>>> a=mx.nd.zeros((2,3))
>>> print(a.asnumpy())

如果结果为

[[0. 0. 0.]
[0. 0. 0.]]

就表明mx安装成功拉。

如果你想使用C++来开发的话,请使用mxnet\lib目录下的文件:libmxnet.dll和libmxnet.lib。

今天的内容就到此结束,看起来很简单,确实花了一个下午的时间才理清。有什么不懂的,欢迎留言。

分类: 日常 标签: , ,

Firefly实现迅雷离线下载

2017年2月15日 没有评论

在我把移动硬盘带到单位后,一个很自然的想法就是想实现远程离线下载。衣服自己洗的小米盒子以前就是开了个远程下载,不过没有怎么使用过。再加上后来小朋友比较喜欢到处探索,在家里就比较困难了。

首先,我们需要去迅雷的网站上下载Xware的固件,此时最新的固件版本号是1.0.31,以后后续的更新应该是可以查找类似的帖子。

下载完成后,解压缩到某个目录下,并设置权限

sudo chmod -R 777 xunlei

sudo ./portal

需要强调的是,迅雷的下载是需要管理员权限的。运行该程序后,会联网请求迅雷的服务器并生成一个激活码。

打开 http://yuancheng.xunlei.com/,然后选择添加设备,输入刚才获取的激活码。一旦添加成功,就可以通过该网页添加下载任务了。

衣服自己洗发现Firefly在办公网络下无法下载ed2k资源,感觉非常的奇怪。

这里有2个比较重要的信息是:

1、衣服自己洗使用家里的香蕉派运行portal程序始终没有成功过,网络上也搜索过,按网络上的说法,似乎是无法解析remote.yuancheng.xunlei.com,也就是说是小区的宽带问题。说起这个宽带,简直了。

2、迅雷官方每次在发布的时候,都提供了好几个不同的版本供大家使用。衣服自己洗是以树莓派做关键字去搜索的。大家都说树莓派使用Xware1.0.31_armel_v5te_glibc这个版本就可以了,但是在单位和家里刚开始尝试的时候都失败了。后来挨个尝试,发现居然是要使用Xware1.0.31_cubieboard 才可以,不然就会提示未找到目录的错误提示。这个问题坑了好多天,都快要放弃的时候才找到可用的版本。

分类: Firefly, 日常 标签: ,

Firefly控制自带的Led灯

2017年1月3日 没有评论

在前面的文章中,衣服自己洗提及为了打开自带的Led灯,而不得不安装golang的环境,后来在官网上发现了他们有开源python版本的库:pyFireflyP,开源地址为https://github.com/T-Firefly/pyFireflyP。

对于linux系统而言,很多都已经自带python了,而且安装也比golang容易的多。

从github上clone或者下载这个包,然后进入到目录下安装:

cd pyFireflyP
sudo python setup.py install

我的Firefly运行后会报错,显示FireflyP do not support <Rockchip (Device Tree)>! 应该是系统内核没有正确赋值,按照官方的说法,只需要修改setup.py文件,把 fplat=check_plat() 直接改成:fplat=’rk3288’,然后再次运行安装即可。

对于测试,运行 sudo python demo/gpio_test.py,就可以看到Firefly上的蓝灯和黄灯来回交替显示的效果了。

对于内核没有正确赋值的问题,估计我的板子是早期生产的,其信息并没有及时更新。至于现在是否已经更新不得而知。

当然,对于官网wiki上的另外一个设备写入的方法:

echo 1 >/sys/class/leds/firefly:blue:power/brightness  //蓝灯亮

在最近的固件里并不能实现,早期的固件确实是有。这里衣服自己洗真心是要狠狠地吐槽一番,完全没有考虑到像我们这样的小白,以为所有的人都会自己编译固件。

上面提及的2种方法,虽然都是调用GPIO,但是是相互独立的,如果一起使用的话,可能会出现意想不到的后果。不过就目前来看,应该没有这个风险。

分类: Firefly, 日常 标签: ,

Golang安装和配置

2017年1月3日 没有评论

在说正事前,衣服自己洗需要说下Golang和Go的区分,事实上他们是同一个东西,仅仅是因为Go这个单词太常见了,在编程语言的描述中,为避免混乱,就改用Golang而已。这个问题我曾经也迷惑过。

Firefly 新版本的固件里,居然把板子上的灯默认给关闭了,也无法直接检索到了。这真是一个糟糕的设计。

为了打开Firefly上的灯,需要采用GPIO驱动,但是目前从上层软件搜索来看,论坛里一个可用的库却是采用Go来编写的。

那么问题就来了,首先我们需要安装Go的环境。

我们先来说windows上的安装,很简单,从官网上下载对应的windows版本,然后一路下一步安装即可。安装完成后,添加系统环境变量,GOPATH和GOROOT,这个变量在我自己理解来看,GOROOT是指Go的安装目录,默认的是C:\Go,然后GOPATH就真的是go想要搜索的其它资源的路径,支持多个路径。有点类似于C++里的工程include的味道。

对于linux系统,Google官方并没有给出编译好的版本,所以就需要我们下载源码自己安装了。衣服自己洗下载的是1.7.4的源码,放在/pi/go目录,进入src目录,运行 all.bash,显示出错,提示没有1.4的Tree,网上搜索了一下,发现go的新版本安装所需要的环境是需要先安装go1.4才可以的。

于是只好先下载go1.4的源码到/pi/go这个位置,再次运行 all.bash文件,由于是在香蕉派上运行,整个过程花了大概18分钟的样子,在安装后,还会自动运行测试程序,很遗憾,香蕉派上测试程序有的并没有测试通过,检查了/pi/go/bin目录下,已经生成了 go 和 fmt 文件,干脆拉倒。

修改 ~/.profile文件并添加2行代码如下:

export GOROOT=/pi/go
export PATH=$PATH:$GOROOT/bin

保存重启。然后再下载1.7.4版本的源码到原来的位置完成替换,然后再次运行/pi/go/src/all.bash,最好添加sudo。又是经过快20分钟的编译和安装。

写了个简单的hello world程序,go build hello.go,还是可以正确显示的。

至此,基本的运行环境就准备完毕了。

分类: 日常 标签: ,

Ubuntu修改挂载点名称

2016年12月19日 没有评论

由于FireFly是放在单位一直做代码编译的监视工具,衣服自己洗就寻思着要不要顺便做点下载什么。家里的香蕉派一来有小朋友在,另外是因为实际情况并发效果不太好,很容易就死机了。

接上USB扩展坞,接上移动硬盘后,3个分区系统都顺利识别出来,寻思着移动硬盘应该是带不起来,所以USB有额外的提供电源。

一路安装了uget和aira2,顺便也搞了一个webui-aria2网页版,这些以后有机会再提吧。

下载的时候,发现移动硬盘的挂载点是中文的,有点担忧是否有影响。就寻思着怎么修改这个挂载点,首先发现无法像windows系统那样,直接通过右键菜单来修改,最简单的方法就是接回windows系统,然后修改为英文名称。

遗憾的是,在window上修改后,再次连上FireFly,发现还是显示原来的内容。拔掉移动硬盘,检查挂载点,发现在 /media/ubuntu/下果然还有3个文件,删除之。

再次插入U盘,发现还是显示中文的挂载点,在/media/ubuntu/目录下又出现了3个中文名称。奇怪的不要不要的。

后来才偶然间发现,原来挂载点信息保存在 /etc/fstab 文件中,修改里面的挂载点名称,顺利解决了。

分类: 一句话, 日常 标签: ,

win10下解决U盘可以识别但资源管理器无法显示

2016年12月19日 没有评论

衣服自己洗的U盘,工作中被反复使用,一般说来,关闭所有的相关文件夹后就直接拔出来了,一般说来也没有什么大问题,也从未有过U盘无法识别的问题。

最近突然就出现了U盘插入后,系统托盘会显示图标,但是资源管理器里却不实现盘符的情况,我以为是U盘的寿命到了,但是发现在其它电脑上是可以正常识别使用的,可以排除U盘的原因。

我不清楚是什么原因导致的,可能是因为前几天使用某数字软件清除了U盘历史记录,也可能是因为U盘在另外一个Ubuntu系统上使用过。网上的资料要么是已经过时的,要么是没有效果的。

分析看来,操作系统应该是已经知道有这么一个设备,只是没有显示出来。经过好几天的搜索,最后终于发现了一个比较友好的解决方法。

首先插入U盘,从开始菜单打开设置,选择“设备”,再选择“已连接设备”,在窗体的右边应该就会显示出刚才插入的U盘,选中其图标点击“删除设备”。然后拔出U盘,再重新插入。这时系统就会重新识别出U盘,资源管理器里也恢复正常了。

放一个图作为结尾吧。

分类: 日常 标签: ,

SQL Server 备份数据库时提示“无法打开备份设备”

2016年12月5日 没有评论

在备份SQL Server 数据库时候,想要将备份文件放在非系统盘目录下,结果提示错误信息:

备份对于服务器“服务器名”失败。无法打开备份设备’f:\abc.bak’。出现操作系统错误5(拒绝访问。)。

一直不知道是什么原因,每次都是偷懒拉倒,还是备份到SQL Server默认的那个层级很深的目录里。今天就去搜索了下,网上说是SQL Server的一个Bug 坑。

解决方法是:不能将备份文件放在盘符的根目录下,必须放在一个非根目录下,否则就会报错。

试了一下,果然就解决了,太神奇了。

分类: 日常 标签:

win10 锁屏界面无法登陆

2016年11月9日 没有评论

最近发现win10的锁屏界面居然无法登陆系统了,只能重启解决。如果在锁定屏幕前有未保存的内容,就很悲催了。

衣服自己洗开始还以为是偶然的现象,后来在多台电脑上都有发现。而且是锁定的时间越长,其概率就越大,例如第二天早上上班。

由于微软自win10以后就采用小步慢走的方式,导致网上的帖子里有很多过时的讨论,有价值的不多。后来经过一番搜索,找到的解决方法如下:

进入设置->个性化->锁屏界面,关闭Windows聚焦,并且关闭“在锁屏界面上从Windows和Cortana获取花絮、提示等”,然后重启系统。

经过这样的设置后,果然就好了。

好景不长,问题又出现了,只是说概率比以前要小很多。看来关闭聚焦有效果但没有根治。

衣服自己洗不太死心呀,晚上锁定电脑后,第二天必须要强制关机重启,对于强迫症来说,太过于惨烈了。

再经过翻墙后的搜索,终于找到了彻底解决问题的思路,问题的原因是由于微软输入法的原因导致的。大家可以在任务管理器里找到ChsIME.exe这个进程。

衣服自己洗用的是QQ拼音,完全不在乎微软自带的输入法。迅速杀掉这个进程。为了稳妥起见,重命名了这个文件作为备份。

世界终于清净了,运行了一段时间后,再也没有发现过这样的情况。虽然后面又陆续有过几次windows 更新,不知道微软是否有修复这个问题。

分类: 一句话, 日常 标签:

WUP Slider控件PointerPressed 和 PointerReleased 事件无法触发

2016年11月9日 没有评论

在最近的某个界面上,我们需要添加一个滑动条Slider,并且根据业务需求获取用户点击和松开鼠标的时机。衣服自己洗发现对于通用控件的PointerPressed 和 PointerReleased 事件是无法触发的。

来自微软方面的解释是这2个事件被Slider的子控件给处理了,导致事实上这2个事件无法被我们拦截处理。

解决方法也很简单:

1,为Slider控件设置ManipulationMode属性,其枚举值为Windows.UI.Xaml.Input.ManipulationModes.TranslateRailsX。

2,为控件添加 ManipulationStarted 和ManipulationCompleted 事件,以代替 PointerPressed 和 PointerReleased 事件。

现在大家就可以解决自己的需求了。

分类: 一句话, 日常 标签: ,