分类 默认分类 的文章

解决 MacBook 键盘双击问题

解决了个大难题,复制别人的方法有效,遂复制原文 发表此文记录
手上的 MacBook Pro 是 2017 年年底买的,至今一年都没到。前一段时间就出现了 b 键有时候按一下出来两个字符的问题。最近几天 n 键也出现了相同的问题。这个事件还是有概率会发生,打字的时候让人非常不爽。

我在网上查了一下,出现类似问题的不止我一个人。看起来是新出的蝴蝶键盘品控的问题。有人说拿去送修了,修完了还是有这个问题。所以我就一直忍着,忍着忍着忍着忍不了
原文https://sf-zhou.github.io/productivity/solve_macbook_typing_double.html

华为导出电话本格式转换成标准

打算将华为手机的电话簿导出到群晖发现导入的格式有问题导致乱码
微信截图_20220709110417.png
用记事本打开文件发现,华为为了避免编码错误将所有编码格式转成ASCII格式并在前著名格式,这就会导致引起其他平台不支持从而中文显示乱码。
微信截图_20220709110507.png
微信截图_20220709110709.png

 static string DecodeQuotedPrintable(string input, string charSet)
    {
        Encoding enc;
        try
        {
            enc = Encoding.GetEncoding(charSet);
        }
        catch
        {
            enc = new UTF8Encoding();
        }
        var occurences = new Regex(@"(=[0-9A-F]{2}){1,}", RegexOptions.Multiline);
        var matches = occurences.Matches(input);
        foreach (Match match in matches)
        {
            try
            {
                byte[] b = new byte[match.Groups[0].Value.Length / 3];
                for (int i = 0; i < match.Groups[0].Value.Length / 3; i++)
                {
                    Console.WriteLine(match.Groups[0].Value.Substring(i * 3 + 1, 2));
                    b[i] = byte.Parse(match.Groups[0].Value.Substring(i * 3 + 1, 2), System.Globalization.NumberStyles.AllowHexSpecifier);
                }
                char[] hexChar = enc.GetChars(b);
                input = input.Replace(match.Groups[0].Value, new String(hexChar));
            }
            catch(Exception E)
            { Console.WriteLine(E.Message); }
        }
        input = input.Replace("?=", "");
        return input;
    }
    static void Main(string[] args)
    {
        var sb = new StringBuilder();
        String[] texts = File.ReadAllLines(@"00002.vcf",Encoding.UTF8);
        String text = "";
        for (int i = 0; i < texts.Length; i++)
        {
            if (texts[i].IndexOf("UTF-8") > -1) text += DecodeQuotedPrintable(texts[i], "UTF_8") + "\r\n";
            else text += texts[i] + "\r\n";
        }
        File.WriteAllText(@"00003.vcf", text, Encoding.UTF8);
        Console.Read();
    }

微信截图_20220709110612.png

做一个低成本usb power monitor

先用 LTspice XVII 仿真可行性
微信截图_20220123141205.png

仿真波形如下约1/10的占空比 1Mhz的开关频率,上升时间大概10ms 只要 adc+pwm 反馈调制在1ms 以内就能实现
微信截图_20220123141224.png
9/10的占空比 1Mhz的开关频率
微信截图_20220123173122.png
使用ch573 测试下pwm 看看能不能满足
微信截图_20220123141019.png
50%占空比
微信截图_20220123141051.png
1/64占空比
微信截图_20220123140956.png

本地git服务和仓库集中管理工具

使用说明

1. 本地工作区workspace
管理的是添加进来的git仓库列表,快捷方便对列表里的每个仓库进行提交和下拉操作,双击列表弹出git status信息
workspase.png
2. 路径记录
对常用目录进行添加到列表里,双击打开目录
path.png
3. 远程git服务
需要在配置里配置服务器地址和ssh用户名和密码,服务器需要安装git(apt-get install git),并手动创建/web/git目录即可
remote1.png
4. 本地git服务
可以创建本地git服务,将仓库服务器存放在本地硬盘,软件第一次打开找不到配置文件会询问本地仓库集中存放位置,后面也可以通过修改配置文件实现修改。
local.png
5. 关于
版本更新及帮助入口及配置入口
about.png
作为程序员,日积月累,工程代码太多,上传到github担心哪天被墙了,上传gitree又担心被泄露,存放本地又不好做版本管理又担心硬盘损坏,那怎么办呢,这对种种不爽,索性做一款基于git服务的代码管理集中营,集中处理每个本地仓库,本地服务,在线私服,一款软件全搞定,再也不用担心会遗忘哪个工程项目没有提交备份版本
下载 local.git.zip
配置
双击打开配置
微信截图_20220422171347.png
系统会调用记事本打开配置文件
微信截图_20220422171316.png
配置git 服务器 参数格式
用户1名@git.trtos.com@22@用户1密码?用户2名@git.trtos.com@8322@用户2密码
多个服务器 用?间隔
详见 https://www.bilibili.com/video/BV1AS4y1M78a/

直播带货有错吗!

中央好像又整治错了对象。直播带货并没有错,而且是一个值得鼓励的低成本营销方式,不该受到打击,应该大力提倡。需要整治的是化妆品和保健品行业当省去砸品牌的巨额开支是低成本和暴利。
a50f4bfbfbedab649fa3bba30cf635ca7b311ece.jpeg

一节1.5v电池供电鼠标改装锂电池供电

原生
用一节五号电池1.5v,经过鼠标内部dcdc升压到3v,方案一是用ldo将3.7v降压成3v直接接在dcdc后端,可以工作,但过一会儿就不工作了,不知道什么原因,方案二使用一颗led发光管串联降压直接接到供电焊点,3.7-1.8约等于2v经过原生dcdc降压后供鼠标工作,连续测试几天没问题,lex灯会在移动鼠标时闪烁,鼠标耗电量直接可视IMG_20211114_214156.jpg

IMG_20211114_210304.jpg

IMG_20211114_205841.jpg

IMG_20211114_210300.jpg