2014這一年

雖然說是類似總結的一篇文,而且是看到教授寫了之後才突然想起補坑,大約也就還是今年的流水帳的樣子。

bctf的壯丁

被抓壯丁

4月18號晚上接近24點的時候,Kelwin突然在Hangouts上ping我說「bctf平台求开发」、「只有前端」。
原因是bctf官網的開發者maskray跑去玩超算沒有時間了。然後本着有補助爲何不拿的心態就答應了下來。

Facebook Hackathon一日游

准备

在寒假的第X天突然从手机邮箱里发现了标题为Fwd: FW: Facebook Hackathon Singapore的一封邮件。忽视了其中明显带有中国特色的成
绩要求前30%的要求之后发现是一次可以玩的活动。

于是连夜ping了许多同学(zxytimppwwyyxxmaskray以及fqj1994)。
最终组了一队4人小组准备前往新加坡度假。

报名过程非常轻松,不过签证方面我们遇到了极大的问题。接到报名邮件已经是1月30号,组成队伍也是2月2号左右,而且新加坡的使馆也放春节假,所以直到2月7号才工作。
然后6号下午便定上高铁带上材料准备前往上海,没想遇上久违的暴雪,所有高铁延迟接近两小时,于是抵达上海的时间从10点变成了12点。没有赶上终电外加大量旅客滞留,唯一的离开火车站的公共交通工具便是需要等待两个小时排队的出租车。
当ppwwyyxx给我开门的时候我只有一个想法:碎叫!

本来申请商务签证比较容易,只要官方邀请函加一个V39A的表格就行。但是不知为何(或许是邮寄时间不足)facebook未能提供。因此2月7号我们全部折戟于使馆门前,幸而是退签而非拒签。我们只能无奈回家。

紧急联系facebook希望他们能够通过新加坡的在线申请服务给我们申请个人旅游签证,又是一番折腾,终于在2月11号拿到了我们的签证,机票也定了下来:2月13号凌晨。

于是乎拿哦到签证次日(12号)下午又踏上了去上海的高铁,在机场遇到同行的ye_z以及送她的wangyc。与maskray合流之后飞向了新加坡。

GHDL不完全入門手冊

這學期的數電實驗與即將到來的數設均會大量使用VHDL。而Quatus作爲一款官方綁定的軟件並未提供有效的仿真手段。因此可能大家都是寫好後燒錄至CPLD上進行調試,調試週期長,而且很困難。

GHDL是一款開源自由的VHDL仿真軟件,通過編譯VHDL語言的源文件來生成一個文本文件,再對其進行解釋,達到仿真的目的。

使用Linux的同學可能會在軟件庫中找到ghdl,而Mac與Windows的同學可以點這裏來獲取。

仿真的準備活動

首先你需要一個vhdl的源代碼……其中包含着你想要實現的硬件。在這裏我們用一個4選1選擇器來作爲樣例。

[codebox 1]

我們需要對其進行測試與仿真。

硬件的一個entity就好像軟件中的一個函數/類,它還需要很多參數才能有確定的行爲。因此我們需要像給自己寫的函數庫寫測試一樣,給這個硬件寫一個用來測試它的構件(有沒有想到實驗室裏用來測試門芯片的那個箱子?)。

[codebox 2]

在寫測試的時候記得儘量將情況考慮周全,最好還能比較容易地判斷正確性。

開始仿真!

現在請確認

[codebox 3]

然後……ghdl要怎麼用呢?其實ghdl自帶生成一個簡單的Makefile的小工具。比如執行如下代碼:

[codebox 4]

就可以獲取一個簡單的Makefile了。Makefile也比較簡單,稍微看一下就能明白。緊接着,運行make以及make run就可以看到我們的仿真輸出了。

幾個Trick

首先,GHDLFLAGS必須要加上—ieee=synopsys選項才能使用library ieee裏面的內容。如果不想看到很多function “.*” is never referenced,可以加上—warn-no-unused。

其次,如果想限制仿真的運行時間,可以將Makefile中的GHDLRUNFLAGS變量加上—stop-time=time(如—stop-time=50ns)。

另外,如果你的系統有X server,你還可以輸出波形來進行檢查。查看波形需要使用gtkwave軟件,Linux與Mac的同學都可以在庫中方便地找到。想要生成波形,需要在GHDLRUNFLAGS中加上—vcd=filename。

吶吶,自從用上ghdl,從來沒燒過兩次CPLD。如果有問題請在下面提問。

理想與職業規劃

很小很小的時候,可能是受一代人的影響,理想是當「科學家」。相信和我同齡的很多孩子也是如此。

之後,特別是小學的時候,我也有過儒家的「窮則獨善其身,達則兼済天下」的「崇高理想」,那種「爲中華之崛起而讀書」的念頭。

不知從何時起,理想便變小了。或許是周圍給我「人爲財死,鳥爲食亡」、「人不爲己,天誅地滅」之類的刺激比較多,抑或是突然覺得「時勢造英雄」,英雄在出名之前,甚至生前,都不會意識到自己如何如何……因此現在對所謂成功學與所謂成功人士演講什麼的不屑一顧。

作為個人理想而言,現在已經成為「衣食無憂,有家可歸」。雖然聽上去好像很胸無大志,但是要想達到也是很難的,畢竟無憂是個什麼水平不好定義。

另外,能夠擁有一份「穩定,幸福」的愛情也是目標之一呢。感謝讓我遇見了妳呢。

職業規劃方面,絕對不會攻讀博士,不反對攻讀碩士。期望能夠在畢業前拿到正式員工Offer。可能會嘗試在多家企業實習,但是工作的話,希望能夠在同一家企業的不同地域、部門間進行改變,體驗不同的工作內容。

期盼已久的Hulu實習即將入職,算是本人第一份工作吧。期望給力!

四個項目

這學期本着醬油到底的思想加入了四個開發項目。目前兩個已經初步完結,兩個剛剛起步。

想着已經很久沒更新,之前也決心弄完其中一個項目之後要寫一篇Blog來記錄一下,以提升自己的博文數量……

寫在19歲生日之時

想着去年此刻在美帝,真正算是獨自一人,雖然有Flaugh夫婦的蛋糕,但是總還是感覺成年是個有點遺憾的生日。

轉瞬間已經又到了生日,巴神的神級倒鉤給我的生日開了個好頭。因爲手機靜音,導致沒有聽到來點與短信,很對不起大家。

這學期也就要度過了,雖然可能還有小學期什麼的。

寫在NoviCe之後

從第三週一直打到第十週的NoviCe總算落下了帷幕,一直想寫些什麼來紀念。

作爲一個從未參加國NOI團隊賽的Coder,這也是我第一次進行團隊協作開發,也明白了多人協作時產生的問題。

第三週的週三開始啓動,由於是C大賽而不是Cpp,因此採用了FOP模式,將函數分文件歸類,大致分爲以下部分:

  1. map: 獲取地圖信息、獲取尋路產生的路徑,計算兩點間的距離。
  2. char: 獲取遊戲角色信息,hp、mp、cd、位置等。
  3. act: 泛型操作,包括移動、攻擊、釋放技能、等待。
  4. orb: 靈珠信息相關,包括位置、是否可拾取、虛幻時間、所屬等。
  5. env: 角色環境信息,如最近回復點、出生點,最優出生點等。
    以上文件屬於底層,打包併入universal,以供每個策略AI調用。

除此之外还有update(用于数据更新),init(用于初始化),以及四个角色的AI。

Rime、Django、轉系與學分積

首先聲明一下本文是用Rime輸入法輸入的。

之所以瞭解到Rime是因爲BYV大牛的推薦,此輸入法的繁體輸入的確很流暢,很少出現需要選字的情況。

上半學期大部分的精力都投入到一門必修課程-電路原理之中,但是期中考試的分數給我很大的打擊,已經決定要退課了。

我現在不知道通過Matrix67接觸到的Mathematica對我是好是壞,但是已經暸解了,還是這樣做下去吧。

前一段時間一直在考慮一種多路訪問協議,但是經過計算發現效率並沒有想象中的那麼好。

最近一直在忙轉系的事宜,即使可能我在計算機方面的知識較爲豐富,但是在THU,學分積佔了很大的比重,而我,在這個方面表現並不盡如人意。因此我只能打技術牌,通過顯示自己掌握更多的計算機相關知識來打動評委了吧。

在此深深膜拜一下91分大牛BYV,雖然記得你給我留言過說讓我不要追求GPA。

用了兩天時間入門了Django,跑完了它的Tutorial,對於Python在網頁開發上的應用有了初步暸解,下一步就是通過完成一個個小任務來完善與理解細節。

本想在期中考試後寫一篇關於線性規劃的文章,但是這周還是暸解Django和改善了新生C的程序。線性規劃在下週整理出來,理論上週末會放出。

Follow My Heart,雖然不止一個人想這樣,但真正如此的又有幾人?

36学分的大学生活

由于各种选修选中又舍不得退,因此本学期的学分达到了36学分,分配如下:

必修部分:微积分(5),线性代数(2),大学物理(4),电路原理(4),电路原理试验(1),电子工艺实习(2),体育(1),史纲(3):合计22;

选修部分:英语口译(2),音韵学(2),面向对象程序设计基础(3),计算机网络(3),运筹学(3),实验室科研探究(1):合计14。

有人说我的课太多了。但是其实可以发现,除了英语这个软必修之外,其实任选了两个信息,一个控制,一个音韵学,还有清华大学探险课(实验室科研探究)。

现在作业每周的确比较紧,周末才能补完。不过依旧感觉必修学到的东西远远不如选修来的有价值。