记录技术与生活。
中波广播的魅力
从黑雁岩铁塔到五大洲广播电台林立 1906年圣诞前夜晚上8点钟,航行在大西洋船舶上的报务员们惊奇地听到了从无线电报机中传出圣经中的路加福音和小提琴协奏曲,这是人类历史上的第一次无线电声音广播,是美国匹茨堡大学费登森教授进行的广播实验,地址是美国东海岸波士顿附近的海边小镇Brant Rock。由于海滩上到处是黑黝黝的石块,远处看去像大雁,故称黑雁岩。
生活二叉树的遍历(前序、中序、后序、层次)
基本性质 每个结点最多有两棵子树,左子树和右子树,顺序不可颠倒。
技术理解 LSTM 网络
循环神经网络(RNN) 人们的每次思考并不都是从零开始的。比如说你在阅读这篇文章时,你基于对前面的文字的理解来理解你目前阅读到的文字,而不是每读到一个文字时,都抛弃掉前面的思考,从头开始。你的记忆是有持久性的。 传统的神经网络并不能如此,这似乎是一个主要的缺点。例如,假设你在看一场电影,你想对电影里的每一个场景进行分类。传统的神经网络不能够基于前面的已分类场景来推断接下来的场景分类。 循环神经网络(Recurrent Neural Networks)解决了这个问题。这种神经网络带有环,可以将信息持久化。
技术Count of Smaller Numbers After Self
算法描述 You are given an integer array nums and you have to return a new counts array. The counts array has the property where counts[i] is the number of smaller elements to the right of nums[i].
技术Fenwick Tree
简介 Fenwick Tree 又叫二分索引树(Binary Index Tree),是一种树状结构的数组。该数据结构是由 Peter M. Fenwick 在1994年首次提出来的。最初,Fenwick Tree 被设计用于数据压缩,而现今,该数据结构主要用来存储频次信息或者用于计算累计频次表等。 对于普通的数组,更新数组中的某一元素需要O(1)的时间,计算数组的第n项前缀和(即前n项和)需要O(n)的时间。而 Fenwick Tree 可以在O(log n)的时间内更新结点元素,在O(log n)的时间内计算前缀和。
技术在OpenWRT中配置isatap以及IPv6 NAT的方法
在紫荆公寓这边,由于原生IPv6需要认证才能使用,十分不方便。而使用isatap隧道的方法访问IPv6则十分的稳定。但是由于isatap隧道只能够得到一个Global的IPv6的地址,因此需要在路由器上启用IPv6 NAT才能够使得路由器后面的设备无缝访问IPv6资源。之前的路由器,在配置好之后稳定地运行了一年有余,前几日因为一些需求,需要重新配置路由器,因此将配置的过程记录下来,供今后参考。
技术Filco Minilar Air 机械键盘
之前一直觉得自己不是一个器材党,因此,当室友换上了机械键盘的时候,我依然无动于衷。键盘只要够用就好了嘛。之前因为外接显示器的缘故,也给我的 MacBook Pro 配过 Wireless Keyboard,不过在我的外接显示器出掉之后,Wireless Keyboard 就被我收在抽屉里落灰了。因为感觉其手感,跟 MacBook Pro 的内置键盘也差不了多少,既然如此,我何必又要多带一个键盘呢?直接用内置的不就好了嘛。
生活OS X下在NAT后连接清华IPv6的脚本
由于IPv6是不支持NAT的,因此,默认情况下,宿舍里装上路由器后,就没法再使用学校提供的IPv6服务了。不过难道真的没有办法了么?答案是否定的。将下面的脚本保存后,并执行,就可以在NAT后利用isatap隧道来使用IPv6啦~脚本中的隧道服务器是清华的。
技术Buffalo wzr-hp-g300nh路由器折腾小记
之前该路由器一直用的是Open-WRT的固件,但是时间长了之后,总是会遇到莫名其妙的Wifi掉线问题,VPN崩掉的问题,可能是因为一直使用开发版的固件的缘故吧。但是稳定版的Backfire固件似乎有问题,我每刷必成砖,每次都要ttl进行修复。好了闲话少提,这次主要记录的是将该路由器刷成Buffalo官方提供的Professional版本的固件,并且配置使用的过程。
技术Mac OS X下通过ISATAP连接清华的IPv6的方法
紫荆15#这边的网络是v4/v6双栈,可以自动获取到v4和v6的地址,但是鉴于网络中心的某一个项目强行给全校绝大部分ipv6加上了一个前无古人后无来者充分彰显世界一流大学地位巨烂无比经常崩溃的认证系统,并且在可以预见的未来,该认证系统并不会被拿掉,因此我毅然放弃了使用原生的ipv6,而改用没有认证系统的isatap隧道。
技术给小本换SSD
自从一年多以前买来这个上网本Samsung N148之后,一直对其抱着复杂的情感,便携性是没的说,平时听听歌,写写代码是没有问题的,可是浏览网页或者是做其他一些操作的话,经常会卡住半天,慢得要死。看来上网本确实是有点鸡肋啊,食之无味,弃之可惜。上网查阅一些资料得知,反应慢的主要瓶颈是在硬盘,因此就萌发了给我的小本换个固态硬盘的念头,也好让它焕发一下第二春,发挥点余热。 在淘宝上买了intel的20GSSD,20G确实有点小,不过对于一个基本不存什么东西的上网本,还是足够用了的。
生活Ubuntu上宋体显示的设置
默认情况下,Ubuntu上宋体也开了防锯齿,在字体比较小的时候,英文和中文都非常的模糊,看着十分的难受。在这里,提供一个配置文件,只修改宋体的设置,使得宋体的显示变锐利(像Windows下一样)。
技术Linux下登录新版TUNet的bash脚本
今晚闲来无事,便写了一个登录新版TUNet的脚本,因为是一边翻书一边写的,所以非常挫,不过应该能用。 写这个最初目的是做嵌入式的大作业的,因为TUNet更新了,所以不能做以前的那个mytunet的交叉编译了。。。 脚本在Openwrt上测试通过。 把脚本中的your_username替换成info的用户名,your_password_md5替换成你的密码的md5,可以用echo -n your_password | md5sum来得到。另外脚本需要curl,Ubuntu用户可以用sudo apt-get install curl来安装。
技术堆和栈的区别
预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分:
技术关于C#中的委托和事件,讲解得极好的一篇文章
委托和事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使 用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。
技术