分类目录归档:记录

Some Multi Thread

C++标准库提供的 mutex 在大部分场合都足以保证线程安全, 但是当问题变得更加极端时,就可能需要使用lockfree风格的并行编程了. 而为了正确实现lockfree, 你将打开一扇新的大门, 接下来的名词都是在学习过程中必须正确理解的: memory model, reordering, weak(relax), strong(strict), fence, barrier, release, acquire, seq_cst, consume, mutex, futex,

Read More

Google NCR ZH

因为一些众所周知的原因,我们不希望使用中文版的谷歌,但是往往又希望中文界面.以下面的链接作为查询网址即可

https://www.google.com/ncr#hl=zh-CN&q=%s
Read More

从宿主访问Ubuntu虚拟机的文件

背景: 开发中希望能从宿主直接访问虚拟机的文件,例如用office打开word,用 source insight 阅读代码等。

  • 虚拟机为16.04 ,宿主为Windows 10 1803,samba试了很多次,就是不行。

  • ftp方案:

  1. sudo apt-get install vsftpd
  2. sudo vi /etc/vsftpd.conf,并在末尾粘贴以下内容
anonymous_enable=YES
anon_root= abs_path_to_dir
Read More

New 3DS 降级 破解记录

系统启动流程

  • 位于nand的bootstrap9启动(系统更新不会写入该区域,因此可以放心的更新)
  • bootstrap9加载sd卡中的/boot.firm
    • 现在的/boot.firm是luma 3ds 提供的
    • 在启动时按住Start,可以启动LUMA 3ds 的chain load 功能,它可以用于加载/luma/palyloads下的其他boot.firm
  • /boot.frim会在启动完成后自动引到原始的系统
  • boot.3dsx 是HBL的主程序

文件结构

  • /3ds目录: .3ds软件目录, HBL启动后,默认就在此目录
  • /cias目录: .cia文件目录
Read More

NYI摄影日常知识集

纽摄作为胶卷时代的经典,在数字时代尽管有诸多的局限性,但仍然有一些日常主题中常用的技巧,例如构图,布光,儿童摄影等

NYI摄影三原则

  • 拍摄主体是基础,一定要保证主体的支配地位,排除物管要素。
  • 拍摄中的其余元素都是引导,将读者视线引导至主体。
  • 拍摄的主题是核心,它决定了相片的内涵和传递的感情,而主体通常是反映内涵的关键。

构图

  1. 除非正中央或贴边带来明显的视觉优势,否则不应当进行中央构图
  2. 眼睛是人像摄影的核心,对焦清晰,眼神高光通常是必要的。
  3. 人物为主的风光摄影中要积极利用透视效应,放大人像的支配地位
  4. 利用前景形成封闭框可以突出拍摄主体。
  5. 降低视角可以极大地扩大地面的厚重感,使主体更加突出
  6. 除非必要,永远在主体附近留充分的空间以便于裁剪
  7. 构图思路:中心-放大-封闭-采光-虚化-汇聚-重复-运动-后期裁剪

光线

  1. 正面硬光没有阴影,避免使用
  2. 45度光应当是比较完美的,阴影中仍有细节
  3. 90度光形成强烈的反差
  4. 人像摄影中,脸颊三角布光很容易构造,f/8是可以接受的最大光圈,必须保证每一处都清晰。
  5. 45度人像法:人体与镜头呈45度角,头转向镜头身体不动。45度三角布光

儿童摄影

Read More

相机物理基础

光圈与通光率的关系
* 对任意焦段,同样的f值拥有相同的通光率
* 光圈值为f,则通光率正比于1/f^2

曝光与白平衡

  • 感光原件特性
    感光元件的宽容度非常小,当拍摄范围内明暗变化大时,极容易出现暗部欠曝或亮部过曝的情形,不像人眼,同时可以看见亮部和暗部的细节。另外,过曝通常要比欠曝更容易被系统控制。
  • 曝光和白平衡
    在数码时代,我们应该忽略这两个因素,相机的自动系统会为我们留下最多的细节,利用后期调节要远比现场选择参数更加高效。
    事实上,拍摄系统依据18%灰度原则,自动曝光时总是会选择一个参数,使整体获得尽可能多的细节。这也就产生了所谓的曝光误差,例如雪景偏暗,暗室偏亮。这些曝光误差在模拟时代是致命的,它让照片显得不真实,因此需要精确的调节曝光参数;而在数码时代,由于后期的存在,我们应当尽量多的保留拍摄细节,使自己有更多的可调节范围,当然,你如果不喜欢或不擅长后期,直接利用灰卡测光,直出也是可以的。

复制比与放大率

  • 复制比是指 拍摄主体在感光原件上成的像 占 感光元件长度 的 比例。复制比的极限值为100%
Read More

simpleBMP-非常简单的BMP读写项目

发现各种找到的库都非常巨大,抽象层次也很高,不能满足需求
自己刚写了一个C++读写bmp的类,支持8位灰度图,24位RGB图。

https://github.com/edimetia3d/simpleBMP

代码很短,其实看源码10分钟就了解干了些什么。

简要说明一下:
没有任何抽象,读取就是把bmp里的所有数据(是的,每个字节都用上了)都映射到某个定义过的变量。
保存就是把这些变量再写回磁盘。

其实最初是打算完全按照C来写的,对动态内存不太感冒,所以用了vector
读写部分用的还是fread fwrite,把vector的部分换成动态内存就完全可以在C下运行了。
每个变量的意思见
http://www.cnblogs.com/xiekeli/archive/2012/05/09/2491191.html
具体映射关系如下。

class ClImgBMP {
    public:
    ClBitMapFileHeader bmpFileHeaderData;
    ClBitMapInfoHeader 
Read More

Pyinstaller打包单个bundle时封装额外的资源文件

Pyinstaller简易使用说明:

安装:

pip install pyinstaller

在待打包目录下

新建一个批处理specgen.bat,内容为

pyi-makespec.exe Name.py -F -w –icon=fav.ico

新建一个批处理exegen.bat,内容为

pyinstaller.exe Name.spec

执行specgen.bat生成spec文件(若有需要,对其进行修改)

执行exegen.bat生成可执行文件,结果位于dist目录下

正文:

在编程时往往会引用一些额外文件,如图片,音乐等。

若是用Pyinstaller打包为文件夹,那么这些文件直接复制过去就行。… Read More