白面包,小时候好像叫枕头面包。用最简单最基本的材料,却需要要求比较高的面团。已经做过几次了,除了第一次有点效果,后面两次都鼓不起来,确实感受到对面团的要求高。这个面包适合做早餐,因为做好后需要隔夜常温存放。由于没有味道,基本夹什么食材都可以。先看看小高姐的视频:

总结如下:

材料

  • 高筋面粉:360g
  • 室温水:270g
  • 酵母:4g
  • 糖:12g
  • 盐:2g
  • 无盐黄油:25g(没有的话,可换成食用油)

工具

  • 土司模具:1个

步骤

  1. 室温水加入酵母,搅匀。加入糖、盐,搅拌,再放入高筋面粉,混合成团(面团比较湿)。不用揉面,饧面20分钟,让面筋自己形成。
  2. 面筋形成后,放入无盐黄油。揉面,让黄油揉到面团里。再次饧面20分钟。
  3. 揉面1分钟,弄出光面,饧面(发酵)1小时,发到两倍大。
  4. 手粘上干面粉,把面团放到撒了干面粉桌面。面团分成3等分,分别擀平并排气,再卷起。可以按小姐的做法弄成3股辫子,也可以直接把3个卷放到土司模具。发酵1小时左右,发8到9分满。
  5. 表面刷黄油或蛋液,放到预热好的烤箱,190摄氏度烤35分钟。
  6. 放凉后用塑料袋密封,室温保存,第二天可切片食用。

特意买了红薯来做红薯饼。网站看了很多教程都没一个有准确的材料份量,就只好自己去尝试。第一次做出来效果还可以,记录一下:

材料

  • 红薯:250g
  • 糯米粉:100g
  • 糖:30g
  • 水:适量

步骤

  1. 红薯去皮,切成小粒,微波炉中火加热5分钟。建议先加热2分钟左右,拿出来翻一下,再继续加热。没微波炉,可以蒸熟。
  2. 熟了的红薯搅拌成泥,慢慢加入糯米粉和糖,混合成团。如果不能成团,可以加入适量的水。糯米粉和水的份量可以调节口感,越多糯米粉就越软。糖的份量可以根据个人口味调节。
  3. 根据个人喜好,分成等份的团。逐个搓圆并拍扁,弄成圆饼形状。其实弄成什么形状都可以,但不能弄得太薄,否则煎的时候不好翻面。
  4. 电磁炉开60到100度火力,放不粘锅上煎熟。60度比较容易控制,100度的话大概1分钟就焦了,然后翻面两次左右就熟了。厚的话,要煎久一点。

做起来非常简单,完全可以由小孩来做,我负责煎。

为了刷步数,做了摇步机。今天入手了直流减速电机,算是改成最简单的方案了。记录一下一路以来的方案与改良。

第一版,手机 + 9G舵机 + 微控制器

最初的版本采用Arduino Pro Micro来控制9G舵机。只是手头上正好有Pro Micro,也想试试控制舵机。刷步的原理是舵机左右摆动,把手机抬起一定的角度(大概30度)并迅速放下,刚好触发手机计步。最大缺点是摇步期间,没得用手机。

第二版,手环 + 9G舵机 + 微控制器

为了关闭计步软件的后台运行,也为了在摇步期间可以用手机,入手了小米手环2(便宜,但屏幕有老化bug,不建议入手)。每天晚上只需打开计步软件同步一下步数即可。摇步机的实现也改了一下,在舵机的转动端接上硬吸管,再挂上手环,舵机不断上下摆动,实现摇步。出于好奇和尝试,把控制器改为更便宜的ATTiny85(不到7rmb),后来不小心烧了控制器,回想这一决定真是明智。

这个版本用了满长的一段时间,后来CFO也要摇步,又再改良了一下。因为上下摆动两个手环,对于9G舵机来说,很吃力,于是改为抽拉的方式,舵机也从来回摆动改为连续转动(转一圈停一下)。机械原理是参考蒸汽火车的轮子。

特别版,手环 + 四足机械人

这期间做了个四足机械人(虽然目前还没写好程序…),绑上手环,一直做俯卧撑,也能摇步。但是一条腿3个舵机,四条退12个舵机,非常不划算。也只是玩玩而已。

第三版,手环 + 减速电机

前面两个版本有个很大的缺点,耗舵机,就是舵机容易坏。于是直接把坏了的舵机改为只能360度连续旋转的方式,并去掉了微控制器(也因为不小心烧掉了)。但是舵机的直流电机比较小,依然不耐用。既然都360度连续旋转了,就直接改用直流减速电机(拼多多3.9rmb/个),希望更耐用。试了下,只要3V供电,速度刚好。

整个过程,非常好玩,有点从原型到产品的感觉。

昨天发现Debian服务器上的Aria2居然不能下载https的链接,才发现编译安装时,忘了设置开启SSL的参数。还是记录一下,以免后面又犯错了。

关于编译安装的教程,可以直接查看官方说明:

1. 安装相关依赖

详见官方文档。注意的是,Linux上,开启SSL,要安装openssllibssl-dev

2. 编译

官方文档已经很详细了,总结脚本如下:

git clone https://github.com/aria2/aria2.git
cd aria2
./configure --without-gnutls --with-openssl
make
sudo cp ./src/aria2c /usr/local/bin/

3. 部署服务

关于Aria2配置文件的说明,参考官方文档:

示例配置文件如下(参考路径:/etc/aria2/aria2.conf):

#OPTIONS
#下载路径
dir=/opt/aria2_download
#log路径
log=/var/log/aria2/aria2.log
#log-level: debug, info, notice, warn or error
log-level=warn
console-log-level=warn
#session
input-file=/var/cache/aria2/aria2.session
#最大下载数,默认5
max-concurrent-downloads=5
#校验完整性,只在bt下有效果,默认false
check-integrity=true
#断点续传
continue=true
    
#HTTP/FTP/SFTP Options
#同时连接的服务器数量,默认1
max-connection-per-server=5
#最大尝试次数,默认5
max-tries=20
#最小文件分割大小,默认20M
#min-split-size=20M
#单个文件最大线程,默认5
#split=5
#超时时间,默认60
#timeout=60
    
#BitTorrent Specific Options
#启用本地发现
bt-enable-lpd=true
#hash校验种子,默认true
bt-hash-check-seed=true
#最大打开文件数量,默认100
bt-max-open-files=200
#单个种子最大连接数
bt-max-peers=100
#在磁力下载中,保留torrent文件
bt-save-metadata=true
#监听端口,默认6881-6999
#listen-port=6881-6999
#最大上传限制,0是无限制
max-overall-upload-limit=100K
#下载完成后做种的设置
seed-ratio=1.0
seed-time=120
#bt-tracker=需要相关的服务地址
    
#RPC Options
#启用rpc
enable-rpc=true
#允许所有访问
rpc-allow-origin-all=true
#监听所有网络
rpc-listen-all=true
#监听端口
rpc-listen-port=6800
#rcp保存上传的元数据,默认false
rpc-save-upload-metadata=true
    
#Advanced Options
#下载时覆盖已经存在的文件,默认false
allow-overwrite=false
#此选项为true可能会导致下载进度丢失,默认false
allow-piece-length-change=true
#总是尝试恢复下载,默认true
always-resume=true
#指定dns服务器
#async-dns=true
#async-dns-server=8.8.4.4,208.67.222.222
#如果文件存在,自动重命名,仅适用于http,ftp
auto-file-renaming=true
#自动保存间隔,控制文件保存在.aria2中
auto-save-interval=60
#作为守护进程启用
daemon=true
#禁用ipv6
disable-ipv6=true
#磁盘缓存,默认16M
disk-cache=16M
#文件是否启用预先分配,默认prealloc
file-allocation=falloc
#最大下载结果在内存中保留数量,默认1000
max-download-result=500
#最大失败重试次数,默认0
max-resume-failure-tries=0
#下载完成时候执行的脚本
#on-bt-download-complete=/etc/aria2/on-bt-download-complete
#on-download-complete=/etc/aria2/on-download-complete
#on-download-error=/etc/aria2/on-download-error
#总体下载速度限制
max-overall-download-limit=1024K
#单个下载最大速度限制
max-download-limit=1024K
#保存下载进度,很有用的配置
save-session=/var/cache/aria2/aria2.session
#保存间隔,默认0
save-session-interval=60

# token验证
rpc-secret=123456

Systemd的服务配置文件(参考路径:/etc/systemd/system/aria2.service):

[Unit]
Description=Aria2 Service
After=network.target

[Service]
Type=forking
User=www-data
Group=www-data
WorkingDirectory=/var/cache/aria2
ExecStart=/usr/local/bin/aria2c --conf-path=/etc/aria2/aria2.conf -D
ExecReload=/usr/bin/kill -HUP $MAINPID
RestartSec=1min
Restart=on-failure

[Install]
WantedBy=multi-user.target

4. 客户端

我用yaaw,纯静态页面,服务器上部署个Nginx即可:

前几天打开Twitter,发现Chrome(版本80)的地址栏右边出现了十字图标,并提示“Install”。点击安装后,桌面和Chrome Apps都新增了Twitter图标。再双击该图标,就会以窗口形式打开Twitter。窗口像本地应用,但细看,只是没有了地址栏的Chrome窗口。好奇之下,发现这是PWA的最新形态!

Progressive Web Apps,简PWA,就是把网页应用化,或者是利用网页技术开发的应用。这家伙的好处是,对于绝大部分的网站来说,加几个文件就在原来网页的基础上,完成了客户端的开发。第一次看到这个技术提案时,非常激动,简直就是我们网站的救星,不用考虑如何开发iOS和Android的应用了。但其困难的地方是,统一标准和普及的问题。虽然得到越来越多浏览器的支持,但是Safari不太积极。

关于PWA相关的知识和教程,都可以在这里找到:

比较齐全的PWA资源:

收集了一堆PWA的网站:

值得推荐的是,对PWA技术很积极的Twitter:

注意的是,要使PWA被浏览器识别为可安装,需要一个正方形的图标。这个在做入门实例时折腾了很久才发现。

后面还想试试结合WASM,看看能否做出更好玩的东西~

由于新冠肺炎疫情严重,国内推行在线教育,CFO下令入手个平板。找来找去,最后选择了小米平板1代。

本来个人偏好Nexus 9,8.9英寸2K屏,NVidia Tegra K1平台,64位CPU……重点是系统升级不是问题。但是发现屏幕普遍出现气泡的通病,比较难找到完美屏。有个谈到350RMB包邮了,因为迟了一点付款而错失了。无奈之际又看了一直心仪已久的联想Yoga平板,可惜还是贵。最后遇到这个小米平板1代,200RMB包邮,成色还不错。

说说小米平板的优点吧。大小适中,8英寸2K屏,NVidia Tegra K1平台,32位CPU,可插TF卡,有非官方的LineageOS 16(Android 9)可刷等等。

缺点嘛,只能买二手。电池肯定不耐用。32位CPU,虽然使用上没什么问题,但这个CPU(NVidia的GPU拖着CPU跑)还是慢。需要相机可用的话,目前只能刷LineageOS 14(Android 7.1.2),再上去就不能用相机了。自带外方(音箱)是垃圾。

总体来说,这个价格以及成色,加上续航能有4小时左右,已很超值了。就算作为儿童画板也不错。

记录一下刷机过程吧。

1)刷Recovery

刷机方法就不详细说了,一般adb或者fastboot命令都可以。但是发现原来TWRP的Recovery支持在刷img文件,包括Recovery。就是说,如果机器已经刷了TWRP,就可以进入Recovery刷最新的TWRP了。

2)刷ROM,LineageOS 14.1

由于LineageOS 15和16都不能使用相机,所以只能刷14了。详细介绍、教程,以及下载地址,见下文:

进入Recovery里刷就可以了。该ROM的作者提到,小米平板原来是有两个640MB的系统分区,需要合并分区后再刷。可能我买的已经合并了,所以不能执行这个(二手的好处)。作者提供的链接已不能访问,找到一个翻译的:

3)刷Root包

刷入LineageOS 14的官方root包即可:https://download.lineageos.org/extras

4)刷GApps,可选

由于是给小孩用的,没必要刷这个了。跳过。

5)装“冰箱”

由于机器只有2GB内存,所以有必要装个“冰箱”去冻结那些常驻后台的应用。由于安装后需要删除所有用户,再用adb设置“冰箱”的管理员权限,所以需要刷后系统后优先安装。免费版可以冻结10个应用,基本够用吧。下载地址:

如果“冰箱”不能满足需求,可以考虑使用Shelter,免费无限制。但其实现方式是把应用安装到“工作资料”区域,会造成文件、数据互通不方便。由于是小孩使用的,就没搞那么复杂了。下载地址:

6)消除WiFi图标的叉

国情问题,按教程去做就可以了。参考这个:

小高姐的视频是蒜香面包,但是我用了包汤圆留下的红豆沙做馅,所以标题取名“花朵面包”。这个面包的特点是颜值非常高,不需要揉面也很松软。

总结如下:

材料:

  • 酵母 2克
  • 温水 200克(我改为160克)
  • 高筋面粉 200克
  • 杜兰面粉 100克(用来增加香味,可以用麦香面粉或者直接用高筋面粉代替)
  • 糖 12克
  • 盐 2克
  • 油 24克
  • 蛋黄液 适量(扫面包表面)
  • 红豆沙 一包(购买现成的)

做法:

  1. 室温水放入酵母,混合成酵母水。面粉中加入糖、盐、油,混合,再倒入酵母水。揉面到没有干面粉,饧面20分钟。再揉面1分钟,揉到光面。表面加油,饧面(发酵)1.5到2小时。排气,分成4等份。拿一份面团擀平,成圆形,大概手掌大小,放到烤盘纸上,上面铺一层红豆沙。依次再铺擀平的面团、红豆沙,直到最后一层面团。
  2. 中间按个圆圈(用碗底、杯底之类),沿着圆圈切8等份。取一份再切一刀,长一点,插入圆圈范围。两个手拿起刚切开的两小份,分别往外卷两圈,把后面捏起来再收回去,再轻轻把层次打散。剩下7个一样的做法。包上保鲜膜,发酵45分钟到1小时。这里文字描述不太清晰,直接看视频吧。
  3. 最后表面刷蛋黄液。烤箱预热,205摄氏度烤25到28分钟。

我这次的做法是材料份量减半,烤箱预热,190摄氏度烤15分钟。外形漂亮而且好吃,发到朋友圈获得不少赞。馅料除了蒜和红豆沙,好像还可以用其它,例如花生酱。

元宵节将近,利用空余时间做汤圆。以前做出来的面团总是很粘手,还是参考了小高姐的材料比例,才做出不粘手的面团。不粘手,才容易包。

总结如下:

材料

  • 糯米粉 250克
  • 热开水 140克
  • 室温水 70克
  • 馅料 购买现成的红豆沙

做法

  1. 糯米中导入热开水,一边倒一边搅拌。再慢慢加入室温水,调整其用量。揉合成有光面的团,盖好放置半小时。
  2. 搓成长条,平均切成3、4段,放到有盖容器以免风干。拿一段出来搓成直径与汤圆一致的长条,再切成小粒来包馅。
  3. 按小高姐的做法,用拇指在小面团中间压下去,弄成小碗状,放入馅料,再包上即可。

个人比较喜欢用清水煮汤圆,更能突出馅料的甜味。水烧开后放入汤圆,等漂起来后就可以出锅开吃了。

一次包的太多,可以放到冰箱冷冻,想吃就可以直接拿来煮。

最近迷上小高姐的视频,容易上手且很实在的料理教程。昨天做了土豆面包,比较成功,于是今天就做了汉堡。说是汉堡,其实更像是三明治(Sandwich),用调过味的肥牛代替汉堡扒,加上生菜,也挺好吃。其实肉汁足够,就会有不错的口感了。

视频教程如下

土豆面包8个,总结如下:

材料

  • 黄皮土豆 150克(去皮后的重量)
  • 牛奶 220克(注:懒得买牛奶,冲了杯奶粉代替)
  • 酵母 2克
  • 鸡蛋 1个
  • 糖 25克
  • 油 25克(个人喜欢20克)
  • 高筋面粉 320克
  • 有盐黄油 小许(刷面包表面)

做法

  1. 土豆削皮、切小块,微波炉热4~5分钟,弄成土豆泥。没微波炉可以蒸熟。
  2. 牛奶在微波炉热30秒,加一点到土豆泥,搅拌成糊,再倒入剩下的混合。混合物温度不高于体温,依次加入酵母、鸡蛋、糖、油,搅拌混合。最后加入高筋面粉,弄成面粉团。
  3. 饧面(发酵)2小时后,撒点干面粉,排气。取出切成8等份,各自进一步排气后再揉成球,放到烤盘的纸上。表面扫第一层黄油,盖上保鲜膜发酵45到60分钟,再扫第二层黄油。
  4. 烤箱预热,190摄氏度烤17到20分钟。

汉堡的做法

  1. 做好的土豆面包放凉,中间切开,里面涂上黄油。再把涂有黄油的一面放到锅里煎一下,煎香即可。
  2. 至于馅料,可以参考小高姐的视频,做个汉堡排加相关配料。我们直接用煎香的肥牛、自家种的生菜、煎蛋等,夹到面包里即可。

后记:本文涉及的Pizza是硬底,不推荐。但可以看看文中小高姐的软底做法。

昨天找出冰箱里的一堆材料,于是计划今天做Pizza。以前做过很多次,一直以Pizzahut的为目标,也没有实现满意的饼底。看过小高姐视频,才知道面团不是最重要,烘烤方法才是重点。虽然视频中的烘焙石板实力劝退,但是小高姐的视频很有启发性:

说回正题,由于囤了高筋面粉,而且没有烘焙石板(Pizza石头),参考了这个12吋Pizza的面团做法:

这个12吋Pizza总结如下:

材料

  • 高筋面粉 165克
  • 温水 95克
  • 酵母 2克
  • 糖 一小勺
  • 盐 2克

做法

  1. 酵母加入温水、糖(糖是用于激活酵母)、盐搅拌至融化。再倒入面粉中,继续加温水搅拌成絮状,揉成团至表面光滑。盖上保鲜膜,醒发一个半小时左右,直到面团成两倍大。发酵过程注意室温不能太低,否则不能发大。然后拉伸到盘子大小再放到盘子上,放上其它材料。尽量拉薄,更容易烤熟。
  2. 预热到200摄氏度度的烤箱(上下烤),烤20分钟左右。注意不能烤太久,否则会变太硬,甚至烤焦。

做了个烤盘大小的Pizza,效果还不错。还放了Pizza香料,增加风味。