Ubuntu再淌坑

Ubuntu18.04貌似也穩定了,又換了回來。

先裝一下NV顯卡驅動。Ubuntu現在也使用Nouveau,如果你使用驅動文件安裝,它會幫你寫一個禁用腳本。但是在我的fedora和ubuntu下,都沒生效。

大致的解決方式就是

sudo vi /etc/modprobe.d/blacklist-nouveau.conf

添加

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

禁用nouveau Continue reading

Posted in 杂物间 | Leave a comment

POSTG+REST

学习了一下PostgREST,我觉得这古怪的东西早该出现了。多少2B业务都在上Java全家桶,就我的浅见,一般框架的服务层都几乎可以杀掉,大多数只起转发作用。PGREST在某种程度代表了左派的观念,消灭臃肿的后端。

Continue reading

Posted in 杂物间 | Tagged , | Leave a comment

看那头大象

业界有三只有名的大象,Hadoop, PHP和本回要说的PostgreSQL

本文起因是一个数据聚合的问题。在说它之前先看一些基本的东西。

P.S. 后期修补很多,导致内容看起来没Postgres什么事了ಠ_ಠ Continue reading

Posted in 杂物间 | Tagged , | Leave a comment

Fedora淌坑记录

之前用了很久Ubuntu,后来不记得被谁安利用了fedora。其实除了dnf和apt,其他差异都逐渐趋同了。本文会逐渐添加记录。

拼音

我很难想象我是怎么用原装输入法写了那么多字。开这个坑,就是因为原装输入法实在令人崩溃。我也奇怪之前怎么没有考虑装个搜狗。不过fedora26貌似有了云拼音,不妨一试。

sudo dnf install fcitx-cloudpinyin

Continue reading

Posted in 记事本 | Leave a comment

怪异的尝试

上篇博文回顾了Python。我接着看了看Django,试一试做玩具。

本文运行环境为Python-3.6,Django-2.03。大多数发行版预装python-2.x,你可能需要使用python3, pip3类似的命令。

Continue reading

Posted in 玩具们 | Tagged , , | Leave a comment

重拾Python

我最初学习的语言就是Python,不记得为什么之后没再用过它。那时候刚有python3,完全没普及。本文从初学者的角度,看看python3在语言层面,有什么有趣的东西。

运算符

python的运算符比常规语言多一点,而且令人印象深刻。

  • 常规运算,+ – * / %
  • 地板除,//;乘方,**
  • 交互模式下有_,上一次输出的字符。
  • 赋值,=。可以多重赋值,比如交换变量
    a = 1
    b = 2
    a, b = b, a
    

    Go貌似也学了这一招。

Continue reading

Posted in 杂物间 | Tagged | Leave a comment

Linux命令备忘录

Linux系统作为日常使用问题还是很多的,所以开篇博文记录一下。

常用命令

这些命令事关生存,理论上不会忘。但还是列一些出来。

  • 手册: man, info
  • 文件目录: ls, cd, mkdir, touch, mv, rm
  • 权限: chmod, chown, chgrp
  • 读操作: cat, less, more, head, more
  • *写*操作: tee,echo
  • 时间: date, cal
  • 进程:ps, kill
  • 网络状态: ip, ifconfig, netstat
  • 关机重启: shutdown, poweroff, halt, reboot
  • 系统状态: top, free, uptime, vmstat, df, du
  • 清屏:clear

Continue reading

Posted in 记事本 | Tagged | Leave a comment

发声技术简论

最近学习了一点声乐理论,颠覆了我的认知。首先,它经历过很多变革;其次有大量数据具有误导性。本文选择从国内流行乐展开讲述。接下来的内容没有图片和音频,我只打算从逻辑上说通问题。

声带

有一种说法叫喉头振动机制(Laryngeal Vibratory Mechanisms)。将声带振动分为M0, M1, M2, M3。

  • M0,也就是气泡音(vocal fry)的振动方式
  • M1,重机能发声,以甲杓肌收缩为主导。也就是广义的真声。一般男性极限音高在F4,女性在C5。说的是未经训练,下同。
  • M2,轻机能发声,以环甲肌拉长为主导。也就是广义的假声。一般男性音高极限在G5,女性在A5。
  • M3,哨音,貌似又叫海豚音。这个东西很有意思,理论上有分歧,主流观点认为M3几乎不振动声带,而是由整个喉腔形成哨的结构。

Continue reading

Posted in 杂物间 | Tagged | Leave a comment

抽象价值之简述

我在《实现drop函数》一文最后留了个问题:

抽象的价值是否就在于将问题映射到更简单的解空间?

这只是我的Shower Thought。但可以就其展开谈一些有趣的事。

首先,抽象这个词在中英文语境的含义不一样。其次,抽象的概念本身就很难解释(你看我一不小心就递归了:-p)。本文将从一个编程者的角度阐述一些问题。

辞源

抽象的英文是abstract,看词根就是牵拉的意思。15世纪艺术届大量使用abstract表示分离现实物质的行为。比如说抽象画,它的一大要素就是去除事物的外在特征。可能是同期艺术界千奇百怪的作品被冠名“抽象”,让这个词有了“高深”或“难以理解”的含义。

中文的抽象一词源头已经不可考,但它的含义已经被各种后现代艺术,娱乐作品转义了不知道多少次。工程上所谓的抽象出现不超过200年。 Continue reading

Posted in 无用心得 | Leave a comment

现代C++神器之variant

看过这两年的Cppcon都应该对variant印象深刻。说起来这个玩意也不算新,2002年就已经有了boost::variant

说到variant就得提起enumunionunion对非C系编程者可能有点陌生。按照当代角度,enum和union很大一部分作用在于缩减定义域。举例如下:

//choose one implementation below
enum OneTwoTree { ONE, TWO, TREE };
//
union OneTwoTree {
  int ONE;
  int TWO;
  int TREE;
};
//
void foo(OneTwoTree ott);

这里用OneTwoTree限制了相关领域的类型范围,比如说调用foo(4)时编译器就会报错。 Continue reading

Posted in 屠龙之技 | Tagged | Leave a comment