说说 github.com/pkg/sftp 与 TCP stall

好久没写过东西了,最近一直在折腾 Golang,今天难得想起来了,就稍微写一点。

最近有个需求,要通过 SFTP 把文件传到指定服务器上,于是就用了 github.com/pkg/sftp 这么一个库。然而,这个库存是存在一些坑的,比如某个版本 sftp.File.Write 写超过 4MiB 的文件时,Kill 远程 sshd 后会导致 Close 时死锁;又比如更新代码后,Kill 了远端之后有时 ReadFrom 返回 Writer EOF,有时返回 nil;再比如模拟弱网时发生了 TCP Stall,传输就永远的卡死了,如果此时对端认为 TCP 超时,则该 TCP 将永远不会被释放。

继续阅读“说说 github.com/pkg/sftp 与 TCP stall”

调整Linux磁盘分区大小

装系统的时候脑子疼,给了56GB的根分区,40GB的home,24GB的opt。现在发现,home和opt快满了,根分区剩了一大堆,只好调整一下了。

好在,我的根分区是btrfs,opt是ext4,home是xfs,都能够支持缩放。这次的主要目的是缩小根分区,扩大opt分区,home就不动了,改天把Android SDK丢到opt应该就没事了。

继续阅读“调整Linux磁盘分区大小”

解决Linux首次登陆无法打开应用程序,与注销后再次登陆无声音的问题

实验室的台式机一直有点毛病,开机后首次登陆,桌面本身能够打开,KDE上次登出前保留的那些窗口也能打开,但无法打开新窗口。在上次登出时保留的那个Konsole中启动xclock,得到错误如下:

Xlib: Invalid MIT-MAGIC-COOKIE-1 balabalabala

另外,只有第一次登陆声音是正常的,再次登陆后就会出现音频服务未启动。我本来以为是Linux对双显+HDMI音频支持的不好,再加上也不是很频繁,就一直没仔细看。然而这周问题出的却相当频繁,所以我觉得有必要处理一下了。

继续阅读“解决Linux首次登陆无法打开应用程序,与注销后再次登陆无声音的问题”

所以说,电脑城里面不是老爸的店,绝对不能去啊!

电脑城各种忽悠你加钱换型号,或者以次充好,又或者是卖假货之类的情况早有耳闻。随着这几年监管变得严格,以及线上渠道的冲击,情况比之前略有好转,不过在忽悠买家方面却依旧是一如既往。

然而最近由于某些原因,还是不得不去了两趟电脑城。具体的经过后面会讲,这里先说结论:

  1. 电脑城去不得,除非你老爸在那边开店,京东可是有7天无理由退换,目前来看是最靠谱的;
  2. 越是靠近门口地段越好的店越去不得,记住店的租金是从你买电脑的钱里摊出来的;
  3. 越是殷勤招徕你的店越去不得,记住你要为他们的店员工资买单;
  4. 电脑城永远不会明码标价,标价牌写的都十分简单,而且有时候零售型号与网售型号不同,你永远都不知道一款型号的一般价格,淘宝和京东则稍好;
  5. “我在电脑城有熟人”这种想法要不得,就我几个朋友买电脑的经验来看,大部分熟人就是拿来坑的;
  6. 不要相信店家所说的帮你装系统装这装那,他们才懒得好好给你装,拿个“万能”系统给你写进去完事,然后“又不是不能用”,再说拿过去装也很麻烦,不如找个熟悉的朋友帮你,一顿饭;
  7. 技术支持啊,电话支持啊,不用在乎的,现在你是大爷,买完了店家就是大爷了,除非你隔三差五来买电脑,要不然谁会管你。

继续阅读“所以说,电脑城里面不是老爸的店,绝对不能去啊!”

使用硬件 I2C + DMA 操作液晶屏 (STM32)

由于项目不允许阻塞的液晶屏 I/O 操作,因此需要使用硬件 I2C + DMA 来进行。其实中断方式也可以,不过中断的时候依旧要占用 CPU 周期,不如 DMA 来的实在。再说以前也没用过 DMA,正好有个机会不妨试试看。

参考微雪课堂的文章:http://www.waveshare.net/study/article-645-1.html

微雪用的是硬件 USART + DMA,不过道理是一样的嘛,拿来参考就是。

继续阅读“使用硬件 I2C + DMA 操作液晶屏 (STM32)”

魔塔大陆 (Ar tonelico) 游戏评测

Was yea ra chs hymmnos mea.
Was yea ra chs hymmnos mea. | 我非常高兴能成为诗歌。

《魔塔大陆 在世界终结续咏诗篇的少女》(日版:アルトネリコ 世界の終わりで詩い続ける少女,美版:Ar tonelico: Melody of Elemia)是日本的GUST及万普(现万代南梦宫娱乐)所共同开发的PlayStation 2平台RPG游戏,最初于2006年在日本发售,是魔塔大陆系列的开篇之作。——引自维基百科,有改动。

本系列的最大特色是塔语,即Hymmnos语。该语言拥有较为完整的语法系统,也具有一定程度的词汇量和官方词典。Hymmnos语不仅是咏唱游戏设定中的诗魔法所用的语言,还被用于游戏的开场曲、结束曲以及各种插入曲中。这些歌曲大多以”EXEC_”开头,在游戏中具有一定的作用,仪式感较强,唱腔较为空灵,也是本作的一大特色。这里先推荐几首如下:

除此之外,是诗魔法系统、内心世界的潜入系统、服装系统、夜话系统、物品合成事件也是本作的特色元素。

继续阅读“魔塔大陆 (Ar tonelico) 游戏评测”