Hoshino's BGM
本来想实现成贴底的全局音乐播放器,但是折腾起来实在太过麻烦,要么有Bug要么只能基于网易云/QQ的曲库,最后只能采用这种方式了。而且这段文字,也是为了挡住渲染之后在描述页会露出来的JS代码。
var options = {"narrow":false,"autoplay":true,"showlrc":0,"width":"56%","mode":"single","mutex":true,"theme":"#e6d0b2","preload":"auto","listmaxheight":"413px","music":[{"title":"Moon in One's Cup 杯中明月","author":"陈致逸","url":"https://hoshino-public1.oss-cn-beijing.aliyuncs.com/assets/music/Moon%20in%20One's%20Cup%20%E6%9D%AF%E4%B8%AD%E6%98%8E%E6%9C%88.mp3","pic":"https://hoshino- ...
音泉广播下载方法探索
音泉也算是我的老朋友了。早在高中的时候,我就尝试从他的网页和APP端下载广播,还以此为契机用黑箱式的理解探索了浏览器F12和Fiddler抓包的用法。当时的发现是,音泉的媒体传输机制相当笨蛋,当然也为我提供了便利:客户端实际上是通过固定的URL直接下载(当然也可以分片下载)完整的音频文件,也不需要任何用户验证,这意味能想办法抓包获取URL就算成功。
就算技术上再守旧,音泉大概也不会一直这样下去。果不其然,到了2020年(不记得确切时间)前后,我又想去下载广播的时候才发现,他换上了一套比较成熟的流媒体机制了,当然这也意味着自动抓取下载的难度增大。直至本文写作的时间(2022年11月)为止,下载音泉广播的策略还不需要调整。这里,我们会从抓包内容出发,简单梳理排除干扰获取所需内容的思路。
我们假定读者对HTTP请求的组成和功能有基本的了解。当然不了解也不是不行。
抓包过程
我们的目标是用尽可能低的成本获取想要的信息。在正式开始之前,我们需要有这样的意识:
只要是客户端出现的东西,就一定有他的来源。 ——我
只要网页播放器放出了音视频,我们就一定能找到媒体文件;如果我们找到的是加密过的版本 ...
PsychoPy与JavaScript与线上实验
开个大坑,以后慢慢填。先把文章标题neta的歌名放在这里,来自「ぼっち・ざー・ろっく」第5话的插入曲。
文献评述-多媒体学习材料的配图
这是大三下学期的一次课程作业,放上来充实博客 & 图一乐。评述的文献标题:Schneider, S., Dyrna, J., Meier, L., Beege, M., & Rey, G. D. (2018). How affective charge and text–picture connectedness moderate the impact of decorative pictures on multimedia learning. Journal of Educational Psychology, 110(2), 233–249. https://doi.org/10.1037/edu0000209
研究概述
这项研究主要关注了多媒体学习材料中配图对学习效果的影响。从现有的学习理论和实证研究出发,研究者指出配图可能通过认知负荷、情感信息两方面造成影响,进而提出了具体研究问题:配图的情感负载(affective charge)和图文关联性强弱对学习表现有何影响?如果有,那么怎样的图片会促进或者干扰学习,其认知机制是什么?
全文包含三个实验,而所有实验的设计 ...
积极心理学中的乐观
这是我在大三下学期积极心理学课上的期中作业,题目是选取积极心理学的概念写一篇科普文章。老实说,写得很烂,但是或许也不是完全没有可取之处,所以姑且放上来图一乐。
谈起乐观时,我们说的是什么?
乐观似乎是一种奇特的心理属性:它既不能解决过去的问题,也不会为当下与未来提供任何具体方向,但我们大概不会否认它的意义——至少我们的文化和社会是如此。既然要谈乐观,那我们不妨来看看心理学家对乐观的认识。
尽管在日常语境下,我们会笼统地使用“积极”“乐观”这样的词汇,但在积极心理学和积极认知的语境下,乐观有相对明确的界定,而且在概念上还可以分成气质乐观、归因乐观两种形式。这种区分会有助于我们理解乐观及其背后的心理过程。
气质乐观(也可译作乐观倾向)指的是个体对于未来的、一般性的积极期待(Carver & Scheier, 2014)。换言之,如果你有较高的气质乐观水平,那么你会在多数时候认为自己的工作、学习能取得好的结果,未来会发生好的事情,而并非只在自己擅长的领域或者某段特定的时间里才有这样的预期。可以看到,它与日常语境的用法比较接近,是前瞻性的。
与之相对的是,归因乐观指个体对发生在自己身 ...
Butterfly更新后的公式渲染问题
最近很近没有更新博客,一方面因为我是懒狗,另一方面则是因为发现Butterfly更新后mathjax的渲染会让行距变得难以忍受。为定位问题做了大量尝试,但是都没有奏效。以此为契机,我算是学会了git的版本回退,定位到了问题的来源,暂时用一种不太优雅的方式解决了。
不过即便修好了公式,我大概也不愿意在这里更新数学内容了,因为香蕉空间提供的编写实在太好,最近自学写的讲义也只会用 $\LaTeX$ 编写香蕉空间的在线版和本地编译版本了。当然,一些无聊的课程作业或者不涉及公式的文章还是会在这里发布的。
难以相信,我学习和操纵数学语言的方式在短短一年之内发生了如此深刻的改变。回头再看一年前写的东西,简直可以用不堪入目来形容,不过这也是平常的事情,还是姑且保留没有删除,用来图一乐了。
线性代数笔记 - 最小二乘法
在投影之后接到最小二乘法。过了一段时间已经忘记了章节编排了,所以看到最小二乘接在投影后面吓了一跳,仔细看看才恍然大悟,于是又把自己观念上相隔很远的两个概念联系到一起了,可喜可贺。
最小二乘的动机
在中学课本,最小二乘通常作为寻找一条直线以最好地拟合若干采样点这类问题的解决方案出现。在Strang的书中,这一问题同样被用作重要的例子,但是书中也提供了更一般的抽象:对于关于 $\mathbf{x}$ 的方程 $\mathbf{Ax = b}$ 而言,由于种种原因,如有效方程数大于变元个数,我们无法得到完美的解。因此,我们转而允许引入一定的误差,寻求相对最优的解,使得误差最小。在这一情形下,我们用误差的范数 $\Vert\mathbf{Ax - b}\Vert$ 来衡量误差大小。举一例来自原书的拟合直线问题。
问题:找到一条直线 $y = c_0 + c_1x$,使之距离点 $(0, 6)$,$(1, 0)$ 和 $(2, 0)$ 最近。
分析:假定我们希望找到一条完美的直线,那么将数据代入直线方程,我们得到
$$
\begin{align}
6 & = c_0 + 0\cdot ...
政治社会学视野下的知乎治校
这篇论文是政治社会学的期末作业,拖了很久才在几天之内赶出来的,所以难免有些敷衍,不过也未尝没有一两句中肯的分析,就当看个乐呵也行。这两天看到THU的某事,才又想起知乎治校这个概念。
政治社会学视野下的“知乎治校”
摘要
近两年来,“知乎治校”兴起,越来越多的高校学生在与校方冲突时借助知乎平台表达诉求。本文从政治社会学角度出发,简略分析了校方与学生的冲突,概要论述了“知乎治校”的形式和典型案例,并最后指出,“知乎治校”通常不能改变校方与学生的力量对比,但为学生的诉求表达提供了新的安全途径。
关键词
政治社会学 知乎治校 利益分析
绪论
高校作为承担教育功能的组织机构,同样存在一定的权力运作模式。尽管在讨论高校与高校学生的关系时,很难将高校视为具有完整功能的政治实体,但借助政治社会学的视角,分析高校与学生的互动也是可能且有意义的。
如果只局限于高校的教育职能,那么高校与高校学生的利益冲突并没有存在的前提。然而,在高校的实际运作中,高校与学生分别处于管理者和被管理者的地位,高校的规章制度、教务安排、行政决议、后勤保障都与学生的利益密切相关。而另一方面,高校管理者既负有保障学生利益的道德义务 ...
使用Electron/Web开发的踩坑记录
之前在Python的GUI编写上有过一些简单的尝试,后来想到结合FastAPI的后端,自己再写一个前端熟悉一下HTML5/CSS/JS三件套,又听说Electron是Web套皮做GUI的不错的选择,所以也做了一些尝试,但是遇到了不少的坑。老实说,有些地方的文档实在是写了和没写差不多……
下面在假定已经完成了Electron的安装,写好了Web页面的基础上,介绍一些经验。
基于Napi实现C++和Node.js交互
最初写好的Web的核心逻辑完全依赖Web上的API,而这一部分我已经写过C++的实现,所以自然地想到在Node.js里调用C++,然后向Web页面提供这部分功能。
最开始搜到的实现方法是node-ffi,这个模块提供了和C++编写的动态链接库的交互,具体用法和Python的ctypes大同小异,也是注册接口,定义输入参数和返回值的数据类型,做好转换就完成了。遗憾的是,这个模块在2018年就已经停止维护,貌似并不支持新版的Node,不能通过编译,而我也不愿意专门为此倒退版本,于是作罢。
在这之后,就只有在C++中编写原生接口的办法了。当然这里也有两种选择,一种是直接基于v8, ...
在vscode中配置golang开发环境时遇到的小坑
从官网下载golang的安装包完成安装,并且在vscode里也装好拓展之后还不能正常调试和运行,提示需要补充安装一系列的插件。这时问题来了,无论重试多少次,抑或是在命令行窗口里手动输安装的命令go get xxx,都无一例外地提示错误……
网上相关教程很多,基本上是要手动到github或者golang官网把插件下载回来,再放好路径配置安装,然而vscode提示有17个插件要装,要是全部手动完成就太难受了……
认真检查报错信息之后发现,虽然这些插件大多来源于github上的代码仓库,照理说都是可以正常访问的,然而golang在获取插件的时候,默认是从某个带有proxy字样的域名获取,而不幸的是这个域名指向的IP不能访问,于是我想到或许可以换源解决这个问题,搜索到国内的镜像源和相关配置:
12go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.io,direct
完成配置重启vscode再尝试安装的时候,所有安装都毫无意外地成功了。解决。
不过GO111MODULE这个参数貌似会带来一点问题,导致package main也会报 ...