关于蓝光刻录的一些调查
<blockquote> <p>最近,在<del>电视购物</del>刷淘宝的时候看到了便宜的BD-R,100G只要大概10块钱一张。难道蓝光的时代终于到了吗?</p> </blockquote> <p>长期以来,磁带在<code>r/datahoarder</code>是备份的唯一答案。不过,对于轻度仓鼠症患者来说,动辄数TB的备份容量有点过于宽敞了。而且我猜十年之后,二手市场上的蓝光播放器肯定会比LTO5磁带机更多一些。</p>
<blockquote> <p>最近,在<del>电视购物</del>刷淘宝的时候看到了便宜的BD-R,100G只要大概10块钱一张。难道蓝光的时代终于到了吗?</p> </blockquote> <p>长期以来,磁带在<code>r/datahoarder</code>是备份的唯一答案。不过,对于轻度仓鼠症患者来说,动辄数TB的备份容量有点过于宽敞了。而且我猜十年之后,二手市场上的蓝光播放器肯定会比LTO5磁带机更多一些。</p>
<blockquote> <p>捣腾家里服务器的另一些副产品。</p> </blockquote> <h2 id="配置ula前缀">配置ULA前缀</h2> <p>当你需要设置IPv6网关时,常常需要一个不随着运营商前缀变化的内网地址,这时候设置ULA很好用。</p> <figure><img src="https://blog.heysh.xyz/2025/06/04/struggle-with-ipv6/LuCI.png" alt="OpenWrt设置ULA前缀"><figcaption> <p>OpenWrt设置ULA前缀</p>
<p>2024年10月,我决定把之前的垃圾一号锐角云和垃圾二号蜗牛星际退役,整点性能更高的东西,从海鲜市场捡了一套HP Elitedesk 800G4 SFF。</p> <details> <summary> <h4 class="inline"> 当时的价格是这样: </h4> </summary> <table> <thead> <tr> <th></th> <th>型号</th> <th>价格</th> <th>渠道</th> </tr> </thead> <tbody> <tr> <td>准系统</td> <td>800G4</td> <td>330</td> <td>闲鱼</td> </tr> <tr> <td>CPU</td> <td>I5-8500</td> <td>289</td> <td>淘宝</td> </tr> <tr> <td>内存</td> <td>金龙惠宇16G*2</td> <td>200</td> <td>PDD</td> </tr> <tr> <td>SSD</td> <td>1T</td> <td>400</td> <td>JD</td> </tr> <tr> <td>万兆网卡</td> <td>MNPA19-XTR*2</td> <td>71</td> <td>淘宝</td> </tr> <tr> <td>交换机</td> <td>SE106Pro</td> <td>129</td> <td>淘宝</td> </tr> <tr> <td>网线</td> <td>光纤AOC线*2</td> <td>19</td> <td>淘宝</td> </tr> <tr> <td>SATA线</td> <td>单弯头的比较好</td> <td>19</td> <td>淘宝</td> </tr> <tr> <td>合计</td> <td></td> <td>1457</td> <td></td> </tr> </tbody> </table> </details> <p>不算万兆互联和SSD的部分大概是800块。听说我下单之后这套准系统就开始涨价了,B站带货真可怕啊。</p>
<p>2023年初,我完成了以Home Assistant为基础的智能家居建设,见<a href="https://blog.heysh.xyz/2023/02/10/silly-home-notes-1/">这里</a>和<a href="https://blog.heysh.xyz/2023/03/08/silly-home-notes-detailed/">这里</a>。 <del>2024年</del> 2025年,两年过去了,HA系统从22.12升级到25.1,居然还能够正常运行,大概算得上<em>连续发生的奇迹</em>。</p>
<p>这样的话旧手机就可以作为瘦客户机用了,而且自带4G模块。</p> <blockquote> <p>不要问为什么,工作造就人呀。</p> </blockquote> <ul> <li> <p>首先,为了连接显示器,旧手机的USB口需要支持DP-alt模式,至少USB2.0是没戏了。我用的是一加7T,并且血亏200大洋修好了虚焊。</p>
<p>最近在小黄鱼上淘到一个支持电量统计的插排(<a href="https://post.smzdm.com/p/a304w8vk/p3/?sort_tab=hot/#comments">这个</a>),卖家还贴心地刷好了ESPHome固件。</p> <figure><img src="https://blog.heysh.xyz/2023/08/10/energy-cost/figure.png"><figcaption> <h4>数据就不标了,有兴趣的可以自行使用Engauge Digitizer</h4> </figcaption> </figure> <p>于是我用Excel算好了:</p> <table> <thead> <tr> <th></th> <th>功率/W</th> <th>年功耗/kWh</th> </tr> </thead> <tbody> <tr> <td>插座</td> <td>3.8</td> <td>33.288</td> </tr> <tr> <td>我家云</td> <td>5.4</td> <td>47.304</td> </tr> <tr> <td>锐角云</td> <td>4.7</td> <td>41.172</td> </tr> <tr> <td>蜗牛星际</td> <td>40.8</td> <td>357.408</td> </tr> </tbody> </table> <ul> <li>首先是这个插排,本身待机就有3.8W,离谱。</li> <li><code>锐角云</code>开启之后总电量为8.9W,本身耗电4.7W。锐角云的配置是N3450、8GB内存,上面插了一块256G的SATA SSD,运行PVE、Home Assistant和另外2个虚拟机,直插12V电源适配器把待机功耗控制在极低的水平。</li> <li>9.6W的部分是<code>我家云</code>的贡献。孱弱的RK3328核心,捉襟见肘的2G内存,即使再加上一块500G的2.5寸机械硬盘,耗电量也仅为5.4W,作为小型文件服务器可以直接忘掉电费问题。</li> <li>而<code>蜗牛星际</code>就可以算上电老虎了。1块老旧SSD,两块老旧2.5寸和一块8T海淘盘带来了<strong>高达</strong>40.8W的耗电,如果24小时开机的话每年会带来<strong>高达</strong>一百多块的账单。</li> </ul> <figure><img src="https://blog.heysh.xyz/2023/08/10/energy-cost/%E4%BB%8A%E5%B9%B4.png" width="50%"><figcaption> <h4>顺便一提,我家今年的耗电量长这样。这才仅仅是8月而已……</h4> </figcaption> </figure> <p>OK,当我今天没有更新过。</p>
<blockquote> <p>说起DIY的IP-KVM,当然是<a href="https://github.com/pikvm/pikvm">PiKVM</a>以及一系列衍生项目,可是对于<del>那些把钱投入庞氏骗局的</del>穷人来说,RPI4已经远不能称为<em>inexpensive</em>。近几天,我从垃圾堆里翻出了<strong>同样</strong>昂贵的Phicomm N1和一张30块的视频采集卡,发现正好也能用。</p> </blockquote> <figure><img src="https://blog.heysh.xyz/2023/05/20/ipkvm_4_poor_man/pikvm.png" alt="有较强的自我管理意识.png"><figcaption> <p>有较强的自我管理意识.png</p> </figcaption> </figure> <p>把远程控制取名叫作IP-KVM,这对于SEO来说过于不友好了。每当搜索Google的时候,总会看到有人试图在N1上跑虚拟化(aka KVM),可能是对2G内存有些什么不切实际的幻想。最后,在GitHub上找到了在N1上安装PiKVM的脚本:<a href="https://github.com/toss-a/pikvm-armbian">toss-a/pikvm-armbian</a>。不过这里的<a href="https://github.com/toss-a/pikvm-armbian/blob/master/README-zh-CN.MD">说明</a>也稍微有些简略,我会努力稍微详细一点点,尽量。</p>
<blockquote> <p>是的,在<a href="https://blog.heysh.xyz/2021/07/20/beyond-nat/">这次</a>和<a href="https://blog.heysh.xyz/2022/05/22/connect-every-something//#%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AEtailscaletinc%E6%88%96wireguard">这次</a>之后,在酒店里百无聊赖的现在,我又开始折腾起VPN来了。</p> </blockquote> <blockquote> <p>是的,在酒店里仍然没有IPv6地址。</p> </blockquote> <h2 id="为什么">为什么</h2> <p>正如<a href="https://blog.heysh.xyz/2022/05/22/connect-every-something//#%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AEtailscaletinc%E6%88%96wireguard">前文</a>所述,无论是Tailscale/Headscale、Nebula或Netmaker,原理均大同小异,都是在Wireguard基础上,用类STUN协议来穿越NAT,或利用TURN(DERP)服务器进行转发。在国内家庭宽带网络环境下,一般存在路由器、光猫、运营商三重NAT防火墙,STUN需要跨越多重阻碍,自动穿越希望渺茫;另一方面,公开转发服务多在国外,延迟高居不下,而国内私有云价格亦是高不可攀,自建服务并非经济的选择。</p> <p>然而,三重NAT也并非坚不可摧。光猫一级,只要改为桥接,便可迎刃而解;路由一级,可以通过端口映射来绕过;而运营商级多为NAT1,通过<a href="https://github.com/MikeWang000000/Natter/tree/v0.9">Natter</a>或<a href="https://github.com/heiher/natmap">natmap</a>,可以获得近似公网的效果。这样,使用纯粹的Wireguard,也能够直接回到家庭网络内部,免去国外中转的烦恼。</p>
<p>书接<a href="https://blog.heysh.xyz/2023/02/10/silly-home-notes-1/">上文</a>。说起来,智能家居的可复制性在软件领域里是比较差的,在完成基础的环境搭建之后,功能需求要根据自己的实际情况来决定,以下的所有内容仅供抛砖引玉之用。</p> <h2 id="前端显示">前端显示</h2> <p>隆重推荐<a href="https://github.com/dwainscheeren/dwains-lovelace-dashboard">Dwains dashboard</a>,这是在HA生态系统下仅有的不怎么需要折腾的部分。只需要把每个设备的<em>区域</em>选好,就可以得到一组还不错的面板:</p> <p><img src="dwains.png" alt="Dwains dashboard"></p>
<blockquote> <p>而RK3328的算力与草履虫大约能打成平手。所以,本文中的“智能”指的都是 <em>不用按电钮就能控制™</em> 级别,当然,如果能够有一点点自动就更好了。</p> </blockquote> <h2 id="前期的准备">前期的准备</h2> <h3 id="考虑一下">考虑一下</h3> <p>其实当个mi boy也不错——全屋小米设备是智能家居方案里面最不坏的选择,做完就可以成为合格的家居up主了<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>。不过,如果不想被锁定在米系势力范围内,可以尝试一下Home Assistant,尝试成本也不高:几十块钱的魔百盒或者玩客云,或者直接虚拟机都可以。另外,最好能有一个简单的设备来控制,我觉得带红外遥控的小爱音箱 Pro就挺好的。</p>
<p>是的,连回家里NAS的正常手段,当然是ZeroTier/Tinc/OpenVPN之类。但是如果还有其他人想要看照片的话,不要期待手机上会有除了浏览器之外的东西。</p>
<blockquote> <p>最近,我家的装修终于告一段落,历时6个月,经验大概可以水三四篇博文——如果博主的拖延症能治好的话。今天先从最简单的部分开始。</p> </blockquote> <p>装小蜜是北京地区比较流行的监理服务,价格比起正规监理(有监理证的那种)要便宜许多,在装修过程中应该也是有作用的。每次上门服务时,监理会在每个房间拍一张全景照片,如果工长不提供水电位置图的话,之后这些照片应该能派上用场。</p>
<blockquote> <p>我被封在外面了。这种时候非常想念192.168.1.1……也非常适合写博客来回忆熟悉的网络。</p> </blockquote> <p>无论是在家里的组装机还是漂泊的笔记本,在工作的时候都能够获得相似的上下文,有的时候甚至可以在家CTRL+C,在公司CTRL+V。除了<em>鸿蒙</em>系统之外,通过一组软件也是可以实现的。</p>
<p>在过年期间,我突然想买一个大一些的平板。(PDF看不下去一定是因为小米平板4尺寸太小!)</p> <p>刚好赶上网课热潮,最近安卓系统的新平板还挺多的,比如小米平板5啊、小新pad啊、华为平板啊什么的,可是都有一些这样那样的问题<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>。</p>
<figure> <audio controls preload="metadata"> <source src="th08_06.mp3" type="audio/mpeg"> </audio> <figcaption><h4>BGM: 懐かしき東方の血 ~ Old World</h4></figcaption> </figure> <blockquote> <p>按:</p> <p>最近招商银行不再给我发送EML格式的电子邮件账单了,取而代之的是邮件中的PDF附件,<em>仅供人类阅读</em>,基本上没有办法进行自动处理。于是我故伎重施,试图在IE驱动的网上银行中找到账单,可是找到的却只是用Electron包裹的丑陋电子银行客户端,理所应当地不提供下载服务。</p>
<p>我想要去整理GitHub的star列表已经很久了。之前在<del>同性交友</del>上网冲浪时,经常会看到各式各样的库。怀着一种“这个之后可能会用到”的心情,把它们一一加入列表,然后抛诸脑后。下次重新发现的时候,<code>starred</code>状态仿佛是在嘲笑我一样。最近,正好有一个大项目的deadline横亘眼前,是做这种<strong>看似</strong>有意义的事情的最好时间。</p>
<p>本文是<a href="https://blog.heysh.xyz/2019/08/04/python-for-optics/">2019年同名博文</a>的更新版本。就像在那里说的,光学计算是一个非常宽泛的话题,把所有的库放在一起,倒是具有一种<ruby>全栈<rp>(</rp><rt>full-stack</rt><rp>)</rp></ruby>工程师的气质,可是好像很容易造成<em>Stack Overflow</em>。</p> <p>这次,我尝试对这些代码进行简单的分类。因为我不属于<em>光学前端工程师</em><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>,也不属于<em>光学后端工程师</em><sup id="fnref1:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>,而更像是<em>光学系统运维</em><sup id="fnref2:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>,分类得大概并不算准确。</p> <h2 id="物理光学演示lightpipes">物理光学演示:LightPipes</h2> <figure><img src="https://blog.heysh.xyz/2021/07/21/python-for-optics-in-2021/lightpipes.png" width="50%"> </figure> <p>正像我之前说的那样,我使用<a href="https://github.com/opticspy/lightpipes">opticspy/lightpipes</a>完成了一部分激光物理过程的模拟,这个库大体上能够满足我当时的要求。但是要注意的是,个人感觉这个库是为了物理实验、教学演示而设计的,揭示原理的部分多于实际计算的部分,而且计算是序列化的。或许把它理解成类似<a href="https://phet.colorado.edu/zh_CN/simulations/filter?subjects=physics&type=html">虚拟物理实验室</a>更好?</p> <p>不过如果能力足够的话,大概能在上面实现一些比较复杂的功能。<del>而且话又说回来,真正有一些严肃需求的人,早就去求助一些商业软件了。</del></p>
<blockquote> <p>最近搬家了,互联网从联通变成了便宜一些的电信。于是,我失去了之前的公网IP<code>114.*.*.*</code>,换来了<code>100.64.*.*</code><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>。不过,IPv6地址仍然是<code>2404::****</code>,这个应该也算是所谓的 <em>公网IP</em> 吧?</p> </blockquote> <h2 id="准备">准备</h2> <ol> <li>和安装网络的大叔说,我需要把光猫改成桥接模式,并保证“咱是专业的,不会弄坏网线,弄坏了也不会去投诉”;</li> <li>找一个稍微新一点的路由器,我用的是刷了<code>OpenWRT</code>的,<strong>非常贵的</strong>跑路K3;</li> <li><a href="https://test-ipv6.com">test-ipv6.com</a>显示了IPv6地址而且没有给你打零分。</li> </ol> <figure><img src="https://blog.heysh.xyz/2021/07/20/beyond-nat/ipv6-test.png"><figcaption> <h4>比如这样</h4> </figcaption> </figure> <h2 id="打开端口">打开端口</h2> <p>虽然没有了NAT,但是防火墙还是必不可少的,毕竟在互联网上随意敞开自己的端口和裸奔没有什么区别。当然,稍微露出一点点的话没有什么问题,所以我开了几个五位数的端口,用来SSH。</p>
<p><del>生活并不是在铁轨上奔腾的火车。相反地,有点像是在铁轨上躺着的人。火车没准下一秒就会碾过去,没准明年。</del></p> <p>没有没有,我并没有在2020年被火车碾,也没有被撞啊被剐蹭啊被碰瓷啊什么的。2020年,交通安全。HeYSH的总结就到这里。</p>
<blockquote> <p>有时候你会<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>遇到一些电脑,孤零零的漂浮在互联网络之外,所有USB口都上了锁,要送进去一些文件,必须要找海关盖上十几个章才能够放行。</p> </blockquote> <blockquote> <p>当然,显示器、鼠标和键盘还是可以用的,可以让上个世纪的打字小妹一点一点地敲击按键……或者在敲的同时走神,想一想有没有什么别的办法。</p> </blockquote> <blockquote> <p>下面就是某一天下午,被锁链铐在工位上的我的白日梦。</p>
<blockquote> <p>不对,其实应该是“吾长见笑于大方之家”。</p> </blockquote> <blockquote> <p>这体现出我当前在写字上的一些困难。</p> </blockquote> <p>翻了翻自己的博客,上次正经写字大概是半年之前了,而这篇博文也在草稿箱中躺了很久,除了前面的两句引子之外,正文空无一字。</p>
<p><img src="mockup2.png" alt="mockup"></p> <p>项目地址:<a href="https://github.com/heyeshuang/hugo-theme-tokiwa">https://github.com/heyeshuang/hugo-theme-tokiwa</a></p> <p>大概是3月末,我在例行的<code>检查博客有没有自己偷偷更新</code>的活动中,开始对这个网页感到厌烦了。同时,我在一个月的高强度<del>打牌</del><a href="https://store.steampowered.com/app/582010/MONSTER_HUNTER_WORLD/">狩猎</a>之后,自我厌恶感达到了又一个峰值。又到了做些什么的时间了。</p> <p>中间的事情,比如说连续加班21天啊,往肋间插了根管子啊,暂且按下不表。作为结果,我的博客变成了现在的样子。</p>
<blockquote> <p>第三旋臂边缘 <br> 一颗蓝色行星上 <br> 碳基生物正在庆祝 <br> 他们所在的行星 <br> 又在该恒星系里 <br> 完成了一次公转</p> </blockquote> <blockquote> <p>而这次公转开始得格外颠簸——至少星星上的一部分碳基生物觉得格外颠簸。 <br> 下面是碳基生物中微不足道的一员,对自己的上一次公转过程进行的总结。</p>
<p>自从2017年开始,我一直使用 <em>网易有钱</em> 记账。不得不说,如果像某落水狗讲的那样,“中国人不在乎隐私”的话,这确实是一个非常好用的APP,下载账单、导入数据一气呵成,连余额宝的利息都能够算得分毫不差——</p>
<blockquote> <p>值此佳节之际,为了给伟大祖国献礼,让几个VPS炸成烟花是必不可少的庆祝活动。于是,我搭在Google Cloud Platform上的V2RAY理所当然地连不上了。<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>正好上次薅的羊毛也快要过期了,又到了交保护费的时间。</p>
<p>如果你混迹某小蓝鸟APP,或者像我一样常常用辣鸡微信干活,那么在你需要一点数学的时候,可能会觉得有些尴尬。如果直接写一些裸的LaTeX显得有些不近人情,可是像百度知道大神一样直接把公式“展平”,又显得有一点点……低龄。<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
<blockquote> <p>来自2021-07-24的更新:</p> </blockquote> <p>本文的2021年版本在<a href="https://blog.heysh.xyz/2021/07/21/python-for-optics-in-2021/">这里</a>。</p> <p>以下是2019年的原文。</p> <hr> <blockquote> <p>这大概是本博客第一次涉及博主在现实世界中的本职工作,大概算是一个好的开始。</p>
<p>甲:我有个创意。</p> <p>甲:一个日本宅男让车给撞了,穿越到了异世界——</p> <p>甲:别着急,我知道你想说什么,但是这种小说好卖啊!而且还好抄,随随便便就能写好几本,</p>
<p>呃……原谅这次的标题党,但我觉得这次自己的操作实在是太蠢了。</p> <p>事情是这样的,作为一个半吊子,我的电脑上同时有Windows 10和Manjaro Linux两个操作系统,也就有了从Windows上访问Ext4分区的要求。大约在一年之前,这个要求可以用<a href="https://www.ext2fsd.com/">Ext2fsd</a>来满足,可是一年过去,它已经无法识别新的Ext4版本了。</p>
<p>又到了每年跟风写总结的时候,这一年里唯一确定的成就是,在“年龄”一栏里加了1。</p> <h3 id="关于工作">关于工作</h3> <p>到今天为止,我已经在现在的岗位上待了五百多天了。之前可能也提到过,我去的是某家<del>不能说的</del>国企,工作内容“专业对口”(啧),并且和互联网行业毫无关系。我时常想象自己正在沼泽中慢慢下沉,虽然没过脚踝的泥浆并不冰冷。</p>
<p>大概是2017年的时候,我一直在使用的为知笔记开始收费了。在交了一年的订阅费(并写了小于10篇笔记)之后,我决定换一款新的笔记软件。</p> <p>如果对自己的要求有清楚的认识,当查找 <em>poor man's somewares</em> 时,<a href="https://alternativeto.net/software/evernote/">AlternativeTo</a>和<a href="https://www.slant.co/topics/2463/~best-evernote-alternatives">Slant</a>这两个网站经常能够带来一些灵感。对于我来说,笔记软件需要:</p>
<p>在比特币降到6000$以下的时候,加密货币最忠实的信徒是怎样的心情?作为一个骑墙派,我不敢妄加揣测。不过,有一点是可以肯定的:把加密货币留在账户上然后去睡觉,神经衰弱的一系列症状大约会加重。</p>
<p>如果你有一个经常变化的公网IP,你可能会需要用DDNS将这个IP绑定在同一个域名上,这样就可以不必每次输入一串IP地址了。我用的DNS服务商Cloudflare并没有提供名为DDNS的服务,但是其API可以实现类似的效果。</p>
<p><a href="https://blog.heysh.xyz/2018/03/26/who-will-roll-the-dice/">之前</a>写到,我们不能从水晶球中看到未来的清晰倒影。而本次的结论更加悲观:那些模糊的幻象基本上没有任何效果,并且很可能是有害的。</p> <p>另,本文部分是<a href="https://book.douban.com/subject/25782902/">《反脆弱》</a>的读书笔记。虽然作者有的观点<del>过于极端</del>让人不爽,但是其理论仍能给人启发……特别是对于梦想预测未来的人来说。</p> <h2 id="现实参数太多而数据量太少">现实:参数太多而数据量太少</h2> <p>作为一个实验室民工,当我在说“波长与温度成正比”的时候,大概只需要测量8次就够了。可是,当参数太多(而且不能控制变量)的时候,情况变得复杂起来。很多时候,能够得到的数据大概是这样:</p>
<blockquote> <p>当然,没准可以预测“真空中的球形未来”。</p> </blockquote> <h2 id="量子力学">量子力学……</h2> <p>我们都听说过“两朵乌云”的故事,其中一朵后来变成了<strong>量子力学</strong>,告诉我们上帝(也许)是掷骰子的。这是截止到目前,所有苛刻的家伙都承认的“真正随机”。而且,通过一些简单的装置(比如盖格计数器或者一个虐猫狂人),这些随机可以进入宏观的现实生活。</p>
<blockquote> <p>在图书馆的第三天,到了废纸回收环节</p> </blockquote> <p>之前下到了一叠厚厚的<a href="https://digitalcollections.nypl.org/collections/trait-des-arbres-et-arbustes-que-lon-cultive-en-france-en-pleine-terre#/?tab=about">图集</a>,可是要真正用起来,还需要一点点简单的处理,比如说,沿着边线把图案剪下来: <figure><img src="https://blog.heysh.xyz/nypl/before.jpg"><figcaption> <h4>加工前</h4> </figcaption> </figure> <figure><img src="https://blog.heysh.xyz/nypl/after.png"><figcaption> <h4>加工后</h4> </figcaption> </figure> </p> <p>通过一些简单的图形学处理就可以完成这项任务,当然,对于不懂画画的乡巴佬(我),要读好多<code>skimage</code>的教程才能搞定——总之,我把折腾的结果传到了<a href="https://github.com/heyeshuang/Trait-des-arbres-et-arbustes-que-l-on-cultive-en-France-en-pleine-terre/">github</a>上,包括:</p>
<blockquote> <p>(精神上)坐在图书馆里,我想:能不能把这些旧书借走呢?</p> </blockquote> <p>当然是可以的!贴心的图书管理员已经提供了API接口:<a href="http://api.repo.nypl.org/">http://api.repo.nypl.org/</a>,申请账号之后,就可以做各种各样的事了~</p> <p>当然,如果只是想下片的话,用<a href="https://github.com/NYPL-publicdomain/api-client">digital-collections</a>可能会更简单一些:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>digital-collections -t API_TOKEN -s UUID -o OUTPUT.json </span></span></code></pre></div><p>其中,<code>API_TOKEN</code>在申请账号以后会得到一个;在你想要下载的专辑(<a href="https://digitalcollections.nypl.org/collections/a-curious-herbal-containing-five-hundred-cuts-of-the-most-useful-plants-which#/?tab=about&scroll=50">比如这个</a>)下面,可以看到<code>UUID</code>;运行这条命令之后,图片的信息列表会保存在<code>OUTPUT.json</code>里。</p>
<blockquote> <p>是的,我<a href="https://blog.heysh.xyz/2017/09/09/2017-09-03-jour-to-lib/">又</a>去图书馆了,当然这次和戒网瘾没有什么关系。</p> </blockquote> <p>纽约公共图书馆建立于1895年,馆藏里有大量古老的资料,古老到超出了版权法的管理范围,进入了<a href="https://en.wikipedia.org/wiki/Public_domain">公有领域</a>。于是,勤奋的图书管理员们把它们<a href="https://www.nypl.org/blog/2016/01/05/share-public-domain-collections">数字化</a>,送给了互联网。</p> <p>所以,在春节假期,坐在电脑前面,我也可以来一次纽约公共图书馆了——而且是一百年前的!</p>
<p><a href="https://drive.google.com/file/d/1lp3JkwKLCR_RxI61-jdPcH26UXCnHPuC/view?usp=sharing">Link</a></p> <p>In this package, you'll find:</p> <ul> <li>History data for Bitcoin price, with highest, lowest and volume, <strong>per hour</strong></li> <li>Close price for 200+ Altcoins, also <strong>per hour</strong></li> <li>And the <a href="http://alt19.com/marketindexes.html">Altcoin Market Indices</a></li> </ul> <p>Before 2017-12-23.</p> <p>These data (and honor) belong to <a href="http://alt19.com">alt19.com</a>. This website says:</p> <blockquote> <p>Any information on Alt19.com is provided free and "as is" and solely for informational purposes, not for trading purposes or advice, and may be delayed.</p> </blockquote> <blockquote> <p>No action should be taken or omitted to be taken in reliance upon information on this site. Use it AT YOUR OWN RISK</p>
<p>前几天读了<a href="https://book.douban.com/subject/6749832/">《复杂》</a>。对复杂学的研究,在人工智能重获热度的今天,似乎获得了新的意义——当然,我们还是不知道炼金术的大锅里面发生了什么。</p> <p>幂律分布/Zipf定律/<a href="https://zh.wikipedia.org/wiki/%E5%B8%95%E7%B4%AF%E6%89%98%E6%B3%95%E5%88%99">帕累托法则</a>/80-20定律/whatever,本质上是同一种东西。这种分布模式和正态分布类似,广泛存在于大自然和人造物的各个角落。一般来说,对于具有:</p> <ul> <li>优先连接性(Preferential attachment)/马太效应 <ul> <li>“凡有的,还要加给他,叫他有余;没有的,连他所有的也要夺过来。”</li> </ul> </li> <li>成长性 <ul> <li>网络的尺度不受客观条件的限制,可以无限增长</li> </ul> </li> </ul> <p>的网络,其节点连接数较为满足幂律分布。</p>
<blockquote> <p>本文基本上是 <em>Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization</em> 的知识点大纲。</p> </blockquote> <blockquote> <p>具体的公式和理论,可以看<a href="http://binweber.top/tags/ML/">Bin Weber的博客</a>。</p> </blockquote> <h2 id="训练开发测试集traindevtest">训练/开发/测试集(Train/dev/test)</h2> <ul> <li>数据量10000之内:70/30(免去dev)或60/20/20</li> <li>更多数据:保证dev/test足够(~10000)即可</li> </ul> <h2 id="过拟合">过拟合</h2> <ul> <li>引入更多训练样本</li> <li>正则化(Normalization<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>) <ul> <li>目的:减小||W|| ←此时熵最大,可能性最高</li> <li>L2正则化:在cost function上附加一个W,使W最小</li> <li>dropout:随机关闭一些节点</li> </ul> </li> </ul> <h2 id="欠拟合">欠拟合</h2> <ul> <li>增加神经网络的隐含层数</li> <li>隐含层中的节点数</li> <li>训练更长时间</li> </ul> <h2 id="初始化输入数据和参数">初始化输入数据和参数</h2> <ul> <li>输入数据标准化(Normalization<sup id="fnref1:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>):使每个维度在(-1,1)之间</li> <li>权重(W,b)初始化:应保证经多级网络后总值基本不变(类比1.0001^n和0.9999^n) <ul> <li>即Xavier初始化的变种,He初始化</li> </ul> </li> </ul> <h2 id="提高梯度下降速度mini-batch">提高梯度下降速度:mini-batch</h2> <p>由于内存/计算单元不够(always),每次计算部分数据</p>
<h2 id="用chroma进行语法高亮">用chroma进行语法高亮</h2> <p><a href="https://github.com/gohugoio/hugo/releases/tag/v0.30">最近</a>hugo内置了<a href="https://github.com/alecthomas/chroma">chroma</a>,这是类似Pygments的语法高亮引擎,但是纯粹用GO完成,可以方便地集成在hugo中。今后,在生成的页面中可以不需要<code>highlight.js</code>等脚本文件,理论上可以提高网页加载的速度。</p> <h3 id="使用方法">使用方法</h3> <p>在<code>config.toml</code>中加入以下内容:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-TOML" data-lang="TOML"><span style="display:flex;"><span>pygmentsCodefences = <span style="color:#069;font-weight:bold">true</span> <span style="color:#09f;font-style:italic">#高亮markdown的代码块</span> </span></span><span style="display:flex;"><span>pygmentsCodefencesGuessSyntax = <span style="color:#069;font-weight:bold">true</span> <span style="color:#09f;font-style:italic">#高亮markdown中没有标注语言的代码块</span> </span></span><span style="display:flex;"><span>pygmentsStyle = <span style="color:#c30">'manni'</span> <span style="color:#09f;font-style:italic">#高亮主题</span> </span></span></code></pre></div><p>可用的主题见<a href="http://help.farbox.com/pygments.html">这里</a>。更多的设置可以参见hugo<a href="https://gohugo.io/content-management/syntax-highlighting/">帮助</a>。</p> <h2 id="用typographyjs修改样式">用typography.js修改样式</h2> <p><a href="http://kyleamathews.github.io/typography.js/">Typography.js</a>是生成网页字体排印格式的库。只要简单地利用已有的主题,就可以生成较为完善的CSS格式。当然,如果需要更精确的中文排版,请移步<a href="https://hanzi.pro/">汉字标准格式</a>。</p> <p>Typography.js本身不提供直接输出CSS的功能,必须引入npm库,降低了网页加载速度。为了解决这个问题,我写了一个简单的脚本:<a href="https://github.com/heyeshuang/typography2css">typography2CSS</a>,用来直接生成CSS文件。</p>
<p>距我丢掉<a href="https://blog.heysh.xyz/2016/05/24/%E6%88%91%E4%B8%A2%E6%8E%89%E4%BA%86heysh-tk%E5%9F%9F%E5%90%8D/">heysh.tk</a>这个域名已经一年多了。在那之后,我失去了对<a href="heyeshuang.tk">tk域名</a>的信任,趁着换hugo的功夫,直接使用github.io的二级地址。最近,我有了一份工作,手头也宽裕了一些,所以换个域名再次提上了日程。</p> <p>我对自己博客的要求是,即使自己哪一天完全忘掉,这里还能存在比较长的一段时间。所以,我希望域名的续费价格尽量低一些——这并不(完全)是因为囊中羞涩。于是,在各个域名商的网站乱转的时候,我的心情颇有点像是在肉联厂门口徘徊的年轻母亲。“Namecheap的.me第一年只要$0.33……可是续费要120一年……”</p>
<p>仅供存档。另外,virmach黑五大减价了,KVM主机5.6$一年美滋滋。</p> <p>这是我的邀请链接:<a href="https://billing.virmach.com/aff.php?aff=3032">https://billing.virmach.com/aff.php?aff=3032</a>,优惠码是<code>2017BFSAVE20</code>。</p> <h2 id="新建用户">新建用户</h2> <p>感谢<a href="https://blog.roadofgrowth.com/2015/04/28/e6-96-b0-e8-b4-advps-e5-88-9d-e5-a7-8b-e5-8c-96-e5-ae-89-e5-85-a8-e9-85-8d-e7-bd-ae/">https://blog.roadofgrowth.com/2015/04/28/e6-96-b0-e8-b4-advps-e5-88-9d-e5-a7-8b-e5-8c-96-e5-ae-89-e5-85-a8-e9-85-8d-e7-bd-ae/</a></p> <div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>adduser hh </span></span><span style="display:flex;"><span>gpasswd -a hh sudo </span></span></code></pre></div><h2 id="添加ssh-key验证并禁用root用户ssh远程登录">添加SSH-KEY验证并禁用root用户SSH远程登录</h2> <div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>su - hh </span></span><span style="display:flex;"><span>mkdir .ssh </span></span><span style="display:flex;"><span>chmod 700 .ssh </span></span><span style="display:flex;"><span>vi .ssh/authorized_keys </span></span></code></pre></div><p>在这里粘贴你的公钥。什么?noVNC无法粘贴?我写了篇<a href="https://blog.heysh.xyz/2019/09/22/klipper-autotype/">博文</a>来解决这个。</p>
<p><a href="https://blog.heysh.xyz/2015/01/07/shadowsocks%EF%BC%8Cipv6%E5%92%8C%E4%BE%BF%E5%AE%9C%E7%9A%84vps/">2015年</a>和<a href="https://blog.heysh.xyz/2016/10/25/shadowsocks-2016-%E4%B8%80%E6%AC%A1%E6%80%A7%E8%AE%A4%E8%AF%81%EF%BC%8Ckcp%E5%8F%8A%E5%85%B6%E4%BB%96/">2016年</a>,我写过两篇关于 <em>科学上网</em> 的博客,之后,又在VPS上安装了<a href="https://v2ray.com/">v2ray</a>,这个应用直接支持mKCP,在丢包严重的网络环境下效果不错。</p> <p>然后是最近,为了贯彻**大精神,实现什么什么自信的目标,KCP依赖的udp包被自信的家伙们无情地屏蔽了。在标准的shadowsocks和使用websocket的v2ray下,网速在50k左右,我感觉自己的网瘾又要发作了——</p>
<ul> <li><a href="https://heyeshuang.github.io/aeolipile/#/@heyeshuang/aeolipile-your-code-and-formula-on-steem">Aeolipile: your code and formula on Steem</a></li> <li><a href="https://heyeshuang.github.io/aeolipile/#/@heyeshuang/aeolipile-update-new-theme-link-generator-and-more">Aeolipile update: new theme, link generator and more!</a></li> </ul> <p>These days I was busy tinkering with Aeolipile. Now it has more exciting features! Wanna know what is Aeolipile? See the posts above!</p> <h2 id="now-we-have-author-page">Now we have author page!</h2> <p>It has been at the checklist for a long time! A big fan of a Steemian? Here's a place for his/her any post at <code>https://heyeshuang.github.io/aeolipile/#/@<USERNAME></code>!</p> <p>For example, you can find @Elear's posts at <a href="https://heyeshuang.github.io/aeolipile/#/@elear">https://heyeshuang.github.io/aeolipile/#/@elear</a>, or my posts (contain some Chinese) at <a href="https://heyeshuang.github.io/aeolipile/#/@heyeshuang">https://heyeshuang.github.io/aeolipile/#/@heyeshuang</a>.</p>
<p>A few days ago I introduced <a href="https://heyeshuang.github.io/aeolipile/#/@heyeshuang/aeolipile-your-code-and-formula-on-steem">Aeolipile</a>, a steem post reader designed for coders, providing some advanced features. And now, it becomes more powerful!</p> <p>As usual, you could see this post <a href="https://heyeshuang.github.io/aeolipile/#/@heyeshuang/aeolipile-update-new-theme-link-generator-and-more">here</a>.</p> <h2 id="link-generator">Link Generator</h2> <p>You may wonder how did I get the post link before submit the post. The answer is: <a href="https://heyeshuang.github.io/aeolipile/#/linkgen"><em>link generator</em></a>. Just input your username and post title, and you'll have the Aeolipile Link(tm)!</p> <p><img src="https://res.cloudinary.com/hpiynhbhq/image/upload/v1509976066/lsnzzxkvprdxr4m12qbd.gif" alt="2.gif"></p> <p>The generator uses the identical technology with Steemit, and is compatible with any language.</p>
<blockquote> <p>TL;DR: 你可以在<a href="https://heyeshuang.github.io/aeolipile/#/@heyeshuang/steem-aeolipile">这个链接</a>看到Aeolipile。</p> </blockquote> <p><a href="https://steemit.com/cn/@heyeshuang/steem-a-closer-look-to-steem">我曾经说</a>不会把博客完全搬到Steem上。除了之前说过的原因之外,还有一些感性上的理由。</p> <p>和那些<a href="https://steemit.com/cn/@tumutanzi/5bbm33">网红博主(开玩笑的)</a>不同,我的博客没有什么人会光顾,这并不是什么坏事:只有这样,我才能感到真正的自由。</p> <p>但是Steemit不同。页面下面的评论框和小数字,这些东西时刻在提醒我,你的文字是有人看的。对其他人来说,这可能是一件好事。可是,对于我来说,意识到有人在看这些东西,让我不自觉地在意起别人的感受了。我在敲键盘的时候,常常会想:“别人是怎么看这段话的?”然后,强烈的自我厌恶就会让我没办法接着写下去了。</p>
<p>我坐在家里自己的房间,母亲在外面忙碌。</p> <p>我突然发现我爷爷坐在我旁边;他被一排椅子挡住,我只能看到他的白发和皱纹。</p> <p>“您是回来看我了吗?”我想起身看他的脸,好像看到他对我笑了一下。</p>
<p><a href="https://heyeshuang.github.io/aeolipile/#/@heyeshuang/aeolipile-your-code-and-formula-on-steem">https://heyeshuang.github.io/aeolipile/#/@heyeshuang/aeolipile-your-code-and-formula-on-steem</a></p> <p>Please click ↑ to read the post!</p> <p><a href="https://steemit.com/">Steem</a> is a blockchain-based rewards platform for publishers to monetize content and grow community. However, the Steemit editor does not provide advanced markdown features, like code highlight, mathematical notation, etc. The lack makes it hard to write technical posts on Steem.</p> <p>So I made this webpage to render Steem discussion with more markdown syntax enabled. Then we can use Steem for some...boring contents.</p>
<p>都7012年了linux还要自己设置字体……</p> <p>不过思源(Noto)系列字体真的是开源界的福音,字重多,字符全,自带hinting,长得还漂亮,换上以后整个系统都显得高级起来了~</p>
<p><img src="https://blog.heysh.xyz/begging.jpg" alt="乞讨"></p> <p>万一有人想给我转账呢……梦想总是要有的……</p> <p>所以说下面是我的各种钱包地址……</p> <ul> <li> <p>BITCOIN:1Eb1smwqf9oGAG74Xkn52p19ZeXaGwBvPv</p>
<p>数学学渣也要公式?其实我也不清楚我要这个有什么用……反正先弄了再说。</p> <p>官方文档中其实有<a href="https://gohugo.io/content-management/formats/#mathjax-with-hugo">这一部分内容</a>,但是那里是用MathJax的,而且在标准markdown文件里需要进行额外的设置。如果像<a href="http://nosubstance.me/post/a-great-toolset-for-static-blogging/">这里</a>一样使用KaTeX+Mmark,写起来会方便许多。</p> <p>Hugo自带Mmark的支持,只要在新建文章的时候使用<code>.mmark</code>后缀就行:</p>
<p>Steemit的前端代码在<a href="https://github.com/steemit/condenser/">https://github.com/steemit/condenser/</a>,读一读它的源代码,可以了解一些关于编辑器的技术细节。</p> <h2 id="排版问题">排版问题</h2> <h3 id="markdown">Markdown</h3> <p>Steemit里所有的markdown指南都指向<a href="https://guides.github.com/features/mastering-markdown/">https://guides.github.com/features/mastering-markdown/</a>,但其实并没有实现其中所有的功能。大体上,使用其中标准的 <em>Basic syntax</em> (或者叫做<code>CommonMark</code>)是比较安全的,但github favor的部分就说不定了。</p>
<h2 id="我的文章保存在哪里会保存多久">我的文章保存在哪里?会保存多久?</h2> <p><strong>保存在各个矿工 (Miner / Witness Node) 的区块链上;很可能是永久保存。</strong></p> <p>和大多数区块链技术一样,一个矿工必须有完整的节点信息才可以进行挖矿。当然,具体的挖矿形式有一些区别,steem不需要超强的计算能力去破解hash,但是要求很低的网络延迟。</p>
<p>之前疯狂粘贴自己的<a href="https://blog.heysh.xyz/2017/10/01/firefox-to-quantum/">扩展</a> <del>凑字数</del> 的时候,我发现这种又臭又长的列表需要稍微隐藏一下,但是这里用的静态博客生成器 Hugo 并不原生支持折叠。所以,我利用 <code>shortcode</code> 功能自己写了一个。</p>
<p>在把现在的配置导入Waterfox之后,就可以升级Firefox Quantum了。强烈建议用离线模式启动,并取消登陆Firefox账号,防止污染自己的同步内容。</p>
<p><a href="https://www.mozilla.org/en-US/firefox/quantum/">Firefox Quantum</a>(就是Firefox 57) 发布了 beta 版,主动放弃了<code>XUL</code>和老版本扩展。我不知道这会不会又是一个“燃烧的平台”,只想体验一下Quantum传说中的新技术——顺便看看和Chrome有什么区别。</p>
<p><a href="https://blog.heysh.xyz/2017/08/12/2017-08-12-recent/">之前</a>说过我因为网瘾被送去荒山改造,不得不说,这还是颇有些效果的。比如,上上周日我久违地踏出了屋门,而且也并没有被阳光化为灰烬。也许再过上几个月,我可能能够真正地过上人类的生活——</p> <p>这当然是在开玩笑,除了我踏出屋门这件事以外。那天我去了首都图书馆。拿到了教官/总长/特首的出门许可之后,中午,我穿过垃圾场,跳过泥潭,走过柳林,再从围墙的缺口钻过去,然后,又回到了文明世界。</p>
<p><del>昨天</del>前天我用鸟语写了一篇贼 <em>正经</em> 的<a href="https://blog.heysh.xyz/2017/09/05/atom-vim-mode-auto-switch-ime/">说明</a>,今天,我准备稍微介绍一下那里面的<code>IME helper</code>。</p> <p>正如之前所说,那东西是为了配合atom插件自动开关输入法用的。问题明确、思路清晰,google一下肯定有人做过……才怪呢</p>
<p>Update 2018-5: Now vim-mode-plus introduced <a href="https://github.com/t9md/atom-vim-mode-plus/blob/master/CHANGELOG.md#1300">new method</a> to disable IME in the setting page. It's time for this post to retire.</p> <hr> <p>As a vim-user and Chinese-speaker, I prefer <a href="https://atom.io/packages/vim-mode-plus">vim-mode-plus</a> for Atom editor, but always disrupted by the IME in normal mode, like this:</p> <p><img src="https://blog.heysh.xyz/IME-in-atom.png" alt="IME-in-atom"></p>
<p>似乎是使用teredo。Good Job!</p>
<p>今年七月从学校滚蛋以后,我来到了某个不能说的国企。住在国民党留下来的建筑物里面,我看着被剪断的网线,感觉自己的指甲在疯狂生长。</p> <p>然后,我就——当然没有成为变态剪线狂,而是办了一张电信的<a href="http://item.jd.com/3509059.html#none">磅礴卡</a>:</p>
<p>之前在 <a href="http://heyeshuang.tk">http://heyeshuang.tk</a> 这个域名下的时候,wordpress提供的RSS feed地址格式类似 <a href="http://heyeshuang.tk/feed/">http://heyeshuang.tk/feed/</a> ,但是hugo提供的RSS地址是<code>index.xml</code>样子的,而且我翻遍了manual也没看到给RSS加alias的方法。</p>
<p>我之前的wordpress博客是建在redhat公司的OpenShift服务上的,距<a href="https://blog.heysh.xyz/2015/08/23/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%E6%89%8B%E6%9C%BA%E7%94%A8%E4%B8%8D%E4%BA%86ipv6%EF%BC%9F/">上次</a>我更换博客后台过了快两年时间,wordpress(或是PHP)再次把空间占满了,而不懂PHP的我只能对着SFTP干瞪眼。于是,我又种了一棵新的树苗。</p> <p>wordpress的文章是通过<a href="https://github.com/SchumacherFM/wordpress-to-hugo-exporter">wordpress-to-hugo-exporter</a>导出的,但是导出的文件有一些小问题:</p> <ul> <li>标题里都是<code><span></code></li> <li>正文还是<code>HTML</code>格式</li> <li><code>img</code>和<code>code</code>需要修改</li> </ul> <p>对于正文,可以用<code>pandoc</code>和<code>pypandoc</code>转换:</p>
<p>书接上文 <del>(虽然我是先写的这一篇)</del>,当我们有了一个可用的hugo目录后,就可以把它部署到github等静态网页托管服务了。如果你的强迫症不是很严重的话,可以把<code>/public</code>目录直接push到新的repo里;不过如果为了得到一个整洁的主页,可以用同一个repo的<code>master</code>分支保存源文件,<code>gh-page</code>分支来展示,像<a href="http://www.gohugo.org/doc/tutorials/github-pages-blog/">这里</a>说的那样。</p>
<p>答案是各种法球~开玩笑的~</p> <p>最近沉迷Dota2的一个RPG: <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=717356279">Legends of Dota:Redux</a>(当然是人机),在挑技能的时候常常需要一些短cd的技能,但是<a href="http://dota2.gamepedia.com/Abilities">wiki</a>里居然没有技能冷却时间的排序!</p> <p>所以我就自己排了一个:<a href="https://gist.github.com/heyeshuang/8499513305ff5c92b16329f57a0f29c6">https://gist.github.com/heyeshuang/8499513305ff5c92b16329f57a0f29c6</a></p>
<p><img src="http://i1.piimg.com/1949/c9d69d714fb8671c.png" alt=""></p> <p>距离实现永生:5/∞</p> <p>新的一年也要好好活下去哦~</p>
<p>适用于(没有cron和init的)debian 8.0</p> <ul> <li>安装nethogs</li> <li>创建<code>/root/monitor.sh</code></li> </ul> <div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#033">TIMEOUT</span><span style="color:#555">=</span><span style="color:#f60">3600</span> </span></span><span style="display:flex;"><span><span style="color:#033">TIMESTAMP</span><span style="color:#555">=</span><span style="color:#c30">`</span>date +%b_%d_%Y_%H_%M_%S<span style="color:#c30">`</span> </span></span><span style="display:flex;"><span><span style="color:#033">OUTPUT</span><span style="color:#555">=</span>/var/log/nethogs/<span style="color:#033">$TIMESTAMP</span>.log </span></span><span style="display:flex;"><span>bash -ic <span style="color:#c30">"(/usr/local/sbin/nethogs -t -d 30&></span><span style="color:#033">$OUTPUT</span><span style="color:#c30">;kill 0;) | (sleep </span><span style="color:#033">$TIMEOUT</span><span style="color:#c30">;kill 0; )"</span> 3>&<span style="color:#f60">1</span> 2>/dev/null </span></span></code></pre></div><ul> <li><code>/etc/systemd/system/nethogs.timer</code></li> </ul> <div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#555">[</span>Unit<span style="color:#555">]</span> </span></span><span style="display:flex;"><span><span style="color:#033">Description</span><span style="color:#555">=</span>Nethogs Daemon </span></span><span style="display:flex;"><span><span style="color:#555">[</span>Timer<span style="color:#555">]</span> </span></span><span style="display:flex;"><span><span style="color:#033">OnBootSec</span><span style="color:#555">=</span>1min </span></span><span style="display:flex;"><span><span style="color:#033">OnUnitActiveSec</span><span style="color:#555">=</span>1h </span></span><span style="display:flex;"><span><span style="color:#555">[</span>Install<span style="color:#555">]</span> </span></span><span style="display:flex;"><span><span style="color:#033">WantedBy</span><span style="color:#555">=</span>timers.target </span></span></code></pre></div><ul> <li><code>/etc/systemd/system/nethogs.service</code></li> </ul> <div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#555">[</span>Unit<span style="color:#555">]</span> </span></span><span style="display:flex;"><span><span style="color:#033">Description</span><span style="color:#555">=</span>Nethogs run </span></span><span style="display:flex;"><span><span style="color:#555">[</span>Service<span style="color:#555">]</span> </span></span><span style="display:flex;"><span><span style="color:#033">Type</span><span style="color:#555">=</span>oneshot </span></span><span style="display:flex;"><span><span style="color:#033">ExecStart</span><span style="color:#555">=</span>/root/monitor.sh </span></span></code></pre></div><ul> <li>查看使用情况用<a href="https://github.com/boopathi/nethogs-parser">Nethogs parser</a></li> </ul> <div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>./hogs -type<span style="color:#555">=</span>pretty /var/log/nethogs/Jan_03_2017_09_20_36.log </span></span></code></pre></div>
<p>把EMF里的所有文字转换成路径就能解决了</p> <p>应该是辣鸡windows的文字渲染问题</p> <p><img src="http://p1.bqimg.com/1949/3cdbc7407efbe04a.png" alt="使用前"> <img src="http://p1.bqimg.com/1949/3fc7d26cd830bc93.png" alt="使用后"></p> <p><del>Word的bug在哪里报,挺急的</del></p>
<p>今天下午我的Bandwagon服务器被人爆掉了,让人发了一大堆垃圾邮件,于是有了一个重装的理由。终于可以用服务器原生IPv6了~</p> <p>距我上次配置shadowsocks服务端(2015.1)已经有一年半了,这次安装可以把上次没有加入的特性通通带上:</p>
<p>在真实生活中存不存在所谓的都合主义呢?</p> <p>当睡过一场考试的时候,当被唾沫横飞地叱责的时候,当凝视着泛着莹莹白光的手机屏幕,却无法打出一个字的时候,当努力想要看清天花板,眼睛却被黑暗所刺痛的时候,我偶尔会想起这个问题。</p>
<p>通过在网址后面加#tag,可以让QR码显示成更漂亮(是的,比中间贴膏药还要漂亮)的样子,Russ Cox管这个叫做<a href="http://research.swtch.com/qart">QArt</a>。</p> <p>在线生成网址:</p> <ul> <li><a href="http://research.swtch.com/qr/draw?i=af2668ff68fd882750f99fbc0d60f26d&url=http%3A%2F%2Fswtch.com%2Fqr">QArt Coder</a></li> <li><a href="http://www.qrpixel.com/">QR Pixel</a></li> </ul> <p>效果还是蛮好的:\</p>
<blockquote> <p>Dear 叶霜 贺,</p> </blockquote> <blockquote> </blockquote> <blockquote> <p>The Freenom Review Team has visited your website today. Unfortunately we have to say that today we cancelled your domain <a href="http://HEYSH.TK">HEYSH.TK</a>.</p> <p>The reason for the cancellation is that the website address you used for your free domain name was not accessible or did not follow the guidelines set in our terms and conditions.</p> <p>At this stage, anyone, including yourself, is able to (re)register the cancelled domain <a href="http://HEYSH.TK">HEYSH.TK</a>. However, upon registration, an actual working website is needed to complete the registration process.</p>
<p>地址:<a href="http://heyeshuang.github.io/hieda-lrc-editor/">http://heyeshuang.github.io/hieda-lrc-editor/</a></p> <p>GITHUB:<a href="https://github.com/heyeshuang/hieda-lrc-editor">https://github.com/heyeshuang/hieda-lrc-editor</a></p> <p>和依云<a href="http://lilydjwg.is-programmer.com/2016/4/30/aisareruhana.200019.html">这里</a>差不多,我听到了一首悲伤的歌(<a href="http://music.163.com/#/song?id=766522">精霊流し</a>),也去找了<a href="http://bulo.hujiang.com/diary/111537/">歌词</a>。在想要把歌词做成LRC文件的时候,我突然想起来,今年,2015年,千千静听已经不再存在了,而且我也不再有勇气到各种软件站下载来路不明的程序。</p> <p>那么,就去做一个LRC编辑器吧!</p> <p>——以上,是半年之前的事情了。</p> <p>也许是拖延症的<a href="https://blog.heysh.xyz/2013/12/21/sfw%EF%BC%9A%E6%B2%BB%E7%96%97%E6%8B%96%E5%BB%B6%E7%97%87%E7%9A%84%E4%B8%80%E6%AC%A1%E6%9C%89%E7%9B%8A%E5%B0%9D%E8%AF%95/">治疗</a>有效果了,半年以后这东西居然真的跑了起来。这半年里我都跑了好几次……</p> <p>另外,写前端/GUI真恶心……</p> <p>另外的另外,名字来自稗田阿求,<del>也许我应该换一个更萌一点的网页图标……</del></p>
<blockquote> <p>读书人的事怎能算偷!</p> </blockquote> <blockquote> <p><del>——小四</del></p> </blockquote> <blockquote> <p><del>——拉比克</del></p> </blockquote> <h2 id="engauge-digitizer"><a href="http://digitizer.sourceforge.net/">engauge digitizer</a></h2> <p>一个图表数字化程序,当你</p> <ul> <li>看到一张图表</li> <li>很想要用来做这样的事那样的事</li> <li>可是通讯作者又联系不上</li> </ul> <p>的时候很管用</p> <h2 id="scihub"><a href="http://sci-hub.io/">SCIHUB</a></h2> <p>免费午餐,比图书馆更好吃,用来对付抠门的出版社。</p>
<p>六年前的Y450在这个暑假挂掉了,获得杂牌SSD一个,屏幕一块,2G内存两条,上古CPU一个。</p> <p>屏幕型号是LP140WH1,万能的淘宝上能找到支持的电视主板(搜索V29)。芯片是TSUMV29LU,支持HDMI、差分和VGA,还支持中二度爆表的隐藏菜单;不支持USB视频,不过也无所谓。配套的屏线是所谓的“40P,单6”。如果有像我一样无聊的家伙想知道更多的话,<a href="http://file.datasheet.netdna-cdn.com/PDF/LP140WH1-TLA1-PDF/708049">这里</a>可以找到屏幕的datasheet——不过没什么用,基本上改改主板设置就行。</p>
<p>UPDATE: <a href="https://addons.mozilla.org/en-US/firefox/addon/pentadactyl-nightly-unofficial/">https://addons.mozilla.org/en-US/firefox/addon/pentadactyl-nightly-unofficial/</a>别人的第三方编译版本</p> <hr> <p>TL;DW: <a href="http://pan.baidu.com/s/1jH0zrhG">百度盘</a>,<a href="https://drive.google.com/file/d/0B5jbrghmIinDU1gtdGdHVG40WFk/view?usp=sharing">GOOGLE DRIVE</a>,编译好,签过名的版本,MaxVersion改到44;当然,不负任何责任。</p> <p>众所周知,pentadacytl的<a href="http://5digits.org/nightlies">nightly build</a>已经坏掉好久了,现在的build在<a href="https://github.com/ffledgling/dactyl-build/releases">GitHub</a>上,通过Travis CI编译,不明真相的我看得一愣一愣的。</p>
<p>背景:桥接3秒断一次的渣网,以及经常在我博客中出现的5手db120;还有经常更新以后把老版本脚本删掉的OpenWRT,这里用的是Chaos Calmer 15.05-rc3。</p>
<p>背景:宿舍的无线是桥接模式,使用学校的DHCP服务器,另一台Android设备(寨板,4.4,Intel 3735)可以愉快地上网;这台设备之前也是可以用的,直到某次更新ROM前后,可能是5.1出没但CM组没人更新LG G2的那段时间。</p>
<p>突然想起一件小事。</p> <p>那还是在初中的时候,班上有个同学的家庭似乎十分困难;母亲卧病在床,全家靠低保勉强维持—从班主任口中含情脉脉的话语,和全班同学低低的啜泣声中,传达的似乎是这样的信息。</p>
<p>这是关于2月2号<a href="https://blog.heysh.xyz/sentences/#roma">果壳和国王</a>小剧场的故事。</p> <blockquote> <p>我记得念过这样的怪诗:\</p> </blockquote> <blockquote> <p>匈奴族的首长阿底拉<br> 骑着马,<br> 满身披着钢铁甲胄,<br> 象坟墓般地阴郁和沉默,<br> 在无人境中行走。<br> 他的背后有一队乌云一样的大军在追寻着叫喊:<br> “何处是罗马?何处是雄伟的罗马?”</p>
<blockquote> <p>寒假好闲啊~~~尤其是今天~~~~于是我来写博客了。</p> </blockquote> <ol> <li>完成了毕业设计和毕业论文的撰写</li> </ol> <blockquote> <p>等等我得稳定一下情绪……</p> </blockquote> <ul> <li> <p>书接上回(2013总结——啊我没写);</p> </li> <li> <p>由于一些奇妙的原因,这里更换了专业,走了一条更加人迹罕至的道路; ></p>
<p>那个……我还活着呢。</p> <p>前几天睡不着的时候翻了一下这个博客,最后发布时间是去年的5月份。七个月的话应该是很多草本植物的一生了吧?幸好这里种的是树。</p> <p>……算了过几天写一页年终总结来写这些充满腐烂气息的东西吧。今天是正经的技术环节,当然是剪切链接形式的技术。</p>
<p>用three.js试着做了点东西</p> <p>Live demo : <a href="http://heyeshuang.github.io/three-stairs/">http://heyeshuang.github.io/three-stairs/</a></p> <blockquote> <p>–你的下一句话是:“又做了没用的东西!”\</p> </blockquote> <blockquote> <p>–是啊。\</p> </blockquote> <blockquote> <p>–咦?这算是猜对了吗?</p> </blockquote>
<p>UPDATE at 15年平安夜:<a href="https://wiki.openwrt.org/doc/howto/wrtbwmon">https://wiki.openwrt.org/doc/howto/wrtbwmon</a></p> <hr> <p>在某次坑爹的网费改革之后校园网的免费流量变成了20G,于是流量监控这一需求变得迫切起来。Google之后,发现了这个脚本:<a href="http://code.google.com/p/wrtbwmon/">wrtbwmon</a>。不过这个是为dd-wrt设计的,而且也很久没有更新过了,要进行一些小修改才能用。</p>
<p><a href="https://greasyfork.org/scripts/4245-sfw">在这里安装</a></p> <p><a href="https://github.com/heyeshuang/sfw">源码</a></p> <p>总而言之,是一个(某种程度上)减缓拖延症症状的脚本。</p> <p>在“再刷15分钟论坛/微博/人人/豆瓣/etc.我就滚去写作业”这一情境下适用。</p> <p>截图大概是这样的: <img src="https://blog.heysh.xyz/sfw1.png" alt="1"> <img src="https://blog.heysh.xyz/sfw2.png" alt="2"></p>
<h1 id="1">1</h1> <p>即使是在这种地方,偶尔也会有阳光透过来啊,一片枯叶这样想着。不过,也只是偶尔而已。</p> <p>“天气越来越冷了。”一阵风吹过,几片叶子在空中旋转,然后一切又重回寂静。</p>
<p>有一天,我的firefox突然挂掉了。症状是chinese language pack无效,而且pentadactyl和ABP等一部分addons全都挂掉了——但是disable-enable之后又可以用,而且另外一些Addons居然好好的……</p>
<p>首先是吐槽时间:藏得这么深谁找得着啊!!好多帅气的小功能连按钮都没有!!连快捷键都要四个按键一块按!!!</p> <h1 id="颜文字">颜文字</h1> <blockquote> <p>钥匙是分号</p> </blockquote> <p>对,就是那个不知道怎么回事的“快速输入”。比如说,输入<code>;smile</code>就是(・∀・),什么你说你看不懂英文?到<a href="https://fcitx-im.org/wiki/QuickPhrase_Emoji">这里</a>,复制到一个文件里,然后导入就行了~</p>
<p><a href="http://heyeshuang.github.io">http://heyeshuang.github.io</a></p> <p>请使用现代浏览器并开启硬件加速</p>
<p>对面楼下有一小丛竹子,十余年来,似乎并没有什么变化。不过,从五楼的窗户看过去,这样的视角还是第一次。记忆中,楼道的窗台并不是这样低矮,然而阴暗和潮湿还是一样。\</p>
<p>如果你的firefox首页被绑架了(我是被dyy55),请不要像我一样<strong>恼羞成怒</strong>,抱着“就是不让你挣钱”的扭曲心态,直接修改<code>C:\Windows\System32\drivers\etc\hosts</code>加上一行:</p>
<p><em>本来这时候我是应该滚去写实验报告的但却写了博客</em></p> <blockquote> <p>不过大概这种东西应该花不了多久吧\</p> </blockquote> <blockquote> <p>–我这样安慰着自己</p> </blockquote> <p>总而言之,VimRepress是一个在<strong>VIM</strong>上用<strong>markdown</strong>写博客的插件,用于替代已经挂掉的VimPress;</p>
<p>一个月后的总结:当我用linux的时候,我会用dia画电路和流程图。yed只能画流程图,不过看起来稍微漂亮一点。\</p> <p>在win下,dia的中文支持有些小问题,画电路图建议schemeit,流程图可以用chrome应用<a href="https://chrome.google.com/webstore/detail/gliffy-diagrams/bhmicilclplefnflapjmnngmkkkkpfad?utm_source=chrome-ntp-launcher">Gliffy</a>。\</p>
<p>分身(德语:Doppelgänger)本意是指某一生者在二地同时出现,由第三者目睹另一个自己的现象。该存在与本人长得一模一样,但不限定为善或恶。民间传说当自己见到自己的分身,代表「其人寿命将尽」。</p>
<p>Hi,这里是19年1月份的说明。自从我下载了Twitter客户端之后,这些脑袋里飘舞的落叶都扫到那里面去了。</p> <p>我的Twitter地址在左侧。<del>希望大家多多关注。</del></p>
<p>在我无助的时候,并不会有人来拯救我。这可谓是一种报应:我以冷脸示于人前,从未尝试拯救他人,从未想过被他人拯救。疏离,也许是永生所要的代价;如果真是如此,就让时间成为我唯一的朋友。\</p>
<blockquote> <p>vim是一种信仰。</p> </blockquote> <p>上面这句话应该是从某个披头散发1年没洗澡的<em>技术大牛</em>嘴里说出来,尾音要长,眼神越死鱼越好。摄像白平衡一定不能调准,要沧桑要有feel。在下面再带个双语字幕就更好了,英文就写”you are all 渣渣”就行…… 咳咳,跑题了。</p>
<p>前几天archlinux更新后无法启动,提示”/bin/systemd not exist”,于是乖乖等官网说明,顺理成章的没等到。于是开始google,在g+发现一条线索:那群变态好像把<code>/bin/systemd</code>移到<code>/usr/lib/systemd/systemd</code>里了……\</p>
<p>今天在互联网上hang about的时候,发现了<a href="http://www.maylin.net/Fireworks.html">这个</a>:</p> <p>在h1位置就大张旗鼓的用p标签写着Posted July 2002,也完全是2002年的风格:table式排版,内嵌font,还有 <em>大家都喜欢的</em> comic sans;再一看head,是长成这样的:</p>
<p><a href="https://github.com/heyeshuang/my_tree_2d">github</a></p> <p><a href="http://heyeshuang.github.io/my_tree_2d">live demo(slow)</a></p>
<p>总之是一个画齿轮的canvas, <em>没用</em> 而且<strong>速度慢</strong>,不过最终至少像那么回事了。</p> <p><a href="http://heyeshuang.github.io/LGW/">地址</a></p>
<p>我仍然渴望永生。\</p> <p>“相遇的人会再相逢”,我很喜欢这句话,但我又明白,很多时候这并不现实。在人类短暂的一生里,很多人只能擦肩而过,而所谓命中注定,可能出现在正确的地点,却错过了多年。\</p>
<p>跑。跑。跑。\</p> <p>说是奔跑,但并不很快,喘着粗气,但头脑却极速转动。\</p> <p>后面传来凌乱的脚步声,是很多皮鞋踏在一尘不染的木地板上,在空旷的大厅中回响。\</p> <p>大门已经锁死,但是珍贵的檀木却并不结实,很快他们就会突破了吧。穿过金碧辉煌的长廊,红色地毯传来柔软的触感,但他并没空注意这个。\</p>
<p><a href="https://blog.heysh.xyz/2013/02/01/blog%E5%86%8D%E6%AC%A1%E5%A4%8D%E6%B4%BB/">之前</a>也说过一次,openshift的域名被做掉了,于是这里顶着一个tk招摇过市,就像顶着叶子的狸猫,没有一个搜索引擎能看见。f××k G×W!</p> <p>不过这次折腾PaaS是因为Google Reader <em>也</em> 被干掉了,寻找到以下替代方案:</p> <ul> <li> <p><a href="https://github.com/samuelclay/NewsBlur">NewsBlur</a> based on django</p> </li> <li> <p><a href="http://tt-rss.org/redmine/projects/tt-rss/wiki">Tiny Tiny RSS</a> based on PHP&MySQL</p> </li> </ul> <p>似乎PHP比较常见的样子,于是准备先试试TT-rss。</p>
<p>这时全部删除GNOME却发现xfce变得特别丑陋的原因是GNOME-settings-daemon与xfdsetting冲突于是后者被自动关闭了。只要重新启动xfdsetting,然后去把g-s-d的自启关掉就好。\</p>
<p>作为一篇凑字数的日志,标题就充满了歪歪扭扭的无力感……\</p> <p>其实我想说的是,在机械设计的时候用好参数的话效果拔群——比如这次的机身,隔板有四种,可是只画了一次!我跟你讲,CATIA,赞!\</p>
<p>rhcloud.com被墙了,没办法用wordpress的android版更新实在令人愤怒,幸好我还有个免费域名,虽然不上档次,不过恰好合适。</p>
<p>2012年,玩了石头门,馄饨头,还有菲特今晚留下来。石头门不错,馄饨头渣。菲特?没印象了。不过爵迹零拍的不错……\</p> <p>2012年,退了一个比较正式的社团,加了一个比较靠谱的社团,然后在两个社团打酱油。\</p>
<blockquote> <p>texmacs已经不能满足我了!</p> </blockquote> <blockquote> <p>其实是想着反正这个软件已经挺难用了,要不就直接去挑战大魔王吧!</p> </blockquote> <blockquote> <p>然后发现大魔王令人绝望的实力</p> </blockquote> <blockquote> <p>然后用S/L大法加google作弊器成功——安装了字体</p>
<p><a href="http://www.texmacs.org/" title="TexMacs">TexMacs</a>可以快速排版文章,效果拔群,而且不必使用word式空格大法,实乃尔等强迫症患者之福音。\</p> <p>其优势:</p> <ul> <li>像TEX一样的排版,结构和内容分离</li> <li>比TEX更加简单(很多)的操作</li> <li>插入代码不会变形</li> <li>公式漂亮</li> <li>内置gnuplot,matlab,maxima接口,可以方便的画图,推公式,算算术,直接输入到文档中</li> </ul> <p>然而,作为一个(不挣钱的)开源软件,要用上也要下一番功夫。</p>
<p>\</p> <p>明明不是tk域名了的说……搜索引擎都收录了的说……为什么没有人来……\</p> <p>算了那就当私人空间好了,不过明明是私人空间却还对外开放,这是不是某种暴露癖呢?就像《monster》那样。\</p>
<p>有没有专业画连杆的软件?没有,原因是这样的要求过于小众,而且有许多功能更加丰富的软件可以替代。\</p> <p>前几天一直想要实现一个专业画连杆的软件,当时考虑用html5 canvas实现(太复杂的我都不会),还专门找了物理引擎——<a href="http://box2d-js.sourceforge.net/index2.html" title="box2d-js版">box2DJS</a>(注意首页上的第二个例子)。然后发现自己又开始做无用功了,几何画板(和开源实现GeoGebra)完全能够实现我的要求。\</p>
<p>首先接触的web框架是karrigell,也最后作出了点东西,感觉简单实用但是好像有点非主流。然后看到Django好像很流行,然后就在openshift上弄了一个,最终结果是只用到了statics目录。中间因为搭wordpress,曾经有一段学php的热情。后来……冷掉了。</p>
<p>用Python2写成,为什么不用Lua?因为我不会</p> <pre><code>''' Created on 2012-9-10 @author: hh ''' import cookielib import urllib2 import urllib import time username="Chetter.Hummin" password="password" def login(usr, pwd): 'login function' cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders = [('User-agent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1')] url_login = 'http://bbs.sarabalst.com/2b/login.php' body={"step":"2","pwuser":usr,"cktime":"31536000","pwpwd":pwd,"lgt":"0"} print 'login to get cookies' urllib2.install_opener(opener) req = urllib2.Request(url_login,urllib.urlencode(body)) resp = urllib2.urlopen(req) #print (resp.read()) if __name__ == '__main__': login(username,password) print "login success" print (time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time()))) for i in range(0,23): try: str=urllib2.urlopen("http://bbs.sarabalst.com/2b/",timeout=100).read() #print "success" except: str="" #print "fail" if str!="": print str print "refresh success" else: print "refresh fail" print (time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time()))) time.sleep(300); </code></pre> <p>在openwrt上测试成功。理论上可以加入crontab,现在还没测试(时间不够)<br> update :鉴于论坛和路由器双重不给力,给urllib2设了超时</p>
<blockquote> <p>到了夜晚人就变得奇怪了……</p> </blockquote> <p>好笑的是,高中三年匆匆过去,我对母校的记忆,竟然是几扇窗户。\</p> <p>这是当我第一次踏入一中的图书馆时,印在我脑海中的景象。排排的书架旁边是窄窄的窗台,窗子里,是灰色高墙围成的天井。书架上,是密密麻麻摆放的书籍。有像“怎样心算快”这样浅显的画册,也有讲解e pi i之间奇妙关系的读本,更有着关于相对论的大部头{现在想起来,脑袋还是会隐隐作痛}。于是,周一的下午,大扫除的空闲,总会在这里随便抽出一本,或有图、或有趣,倚在窗户边上,随便翻看两页。窗中的阳光,让时间变得暧昧,也给回忆涂上了一层蜂蜜一样粘稠的颜色。晚秋的阳光消失的时候,正是第四节课下课铃声拉响的时间。穿过光亮而湿润的楼道,记忆中的是窗边一方并不宽敞的课桌。在书山中奋笔疾书的时候,偶尔会听到沙沙的风声,窗外是墨绿而坚韧的桦树叶子在轻轻的摇动。\</p>
<p>脚本下载:<a href="http://userscripts.org/scripts/show/136856">http://userscripts.org/scripts/show/136856</a>\</p> <p>google code:<a href="http://code.google.com/p/js-thu-cal-outputer/">http://code.google.com/p/js-thu-cal-outputer/</a></p> <blockquote> <p>为什么自己总是做这些完全不会有人来用的东西啊为什么!</p> </blockquote> <p>使用的网站:http://zhjwxk.cic.tsinghua.edu.cn/xsxk_index.jsp</p>
<p><a href="http://pylab-heysh.rhcloud.com/static/canvas2.html" title="世界变动率计数器">here</a></p> <blockquote> <p>其实这个东西做好已经有小半个月了,但是后来又是mc又是出去玩什么的就忘了管……但是颓废下去终究是不对的,所以我又回来了。</p> </blockquote> <p>代码简单到自己都觉得没有开project的必要,但是就这么点东西就折腾了好长时间,中途还把整个砍掉重练。我果然还是太年轻(?)\</p>
<p>E文好的话建议去看直接去看IETF的<a href="http://tools.ietf.org/html/rfc5545">RFC5545</a>定义;<br> 中文版:</p> <blockquote> <p><a href="http://www.ccsa.org.cn/publish/download_bp.php?stdtype=yd1&sno=92" title="总而言之就是标准">政府文件:中华人民共和国通信行业标准移动互联网可移动终端数据同步业务技…(下略)</a></p> <p><a href="http://wenku.baidu.com/view/c52d284c2e3f5727a5e9621e.html">某人翻译的标准文档(百度文库)</a></p> </blockquote> <p>ical格式大概是这样的:</p> <pre><code>BEGIN:VCALENDAR PRODID:-//HeYSH//HeYSH Calendar 70.9054//CN VERSION:2.0 CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALNAME:课程表 X-WR-TIMEZONE:Asia/Shanghai X-WR-CALDESC: BEGIN:VTIMEZONE TZID:Asia/Shanghai X-LIC-LOCATION:Asia/Shanghai BEGIN:STANDARD TZOFFSETFROM:+0800 TZOFFSETTO:+0800 TZNAME:CST DTSTART:19700101T000000 END:STANDARD END:VTIMEZONE BEGIN:VEVENT DTSTART;TZID=Asia/Shanghai:20120901T092000 DTEND;TZID=Asia/Shanghai:20120901T105000 DTSTAMP:20120622T160054Z UID:%u4F20%u70ED%u5B66%20%u5BF9%u6D41%u5B9E%u9A8C35@第 1 次 CREATED:20120622T154824Z DESCRIPTION:教师:王五n LAST-MODIFIED:20120622T160041Z LOCATION:大礼堂 STATUS:CONFIRMED SUMMARY:实验2 END:VEVENT END:VCALENDAR </code></pre> <p>基本上只要修改中文部分的内容就好了</p>
<blockquote> <p>国内的免费主机始终是不靠谱的啊……</p> <p>——以上为结论</p> </blockquote> <p>由于这样那样的原因,上一个博客化为了<em>时代的眼泪</em>,确切的说是<em>全灭</em>。于是,这里作为博客No.3,希望大家(?)——,……</p>
<p>Nothing here.</p>
<p>下面的介绍大概是2012年留下来的。除了年龄增大之外,我是不是成长了一些呢?</p> <hr> <p><strong>HeYSH</strong>——贺叶霜,如你所见,是个死宅,正在读帝都的大学,热爱自由,喜欢neta、潜水(论坛意味)、Arch Linux和干一些不务正业的事情。不喜欢M$、不让我看源代码的东西和买不起的东西——顺带一提,我买不起的东西很多,讨厌的事是失去和束缚,~~兴趣是人体改造和永生的研究。~~可能有轻微中二病,但是大概不是个坏人。</p>