Frossky 发布的文章
涂鸦与其他智能语音平台的交互关系
1. 涂鸦与天猫精灵
如何使用天猫精灵控制设备?
逻辑解释:
1、需要下载、注册、登录涂鸦APP
或者涂鸦OEM/白牌APP
、天猫精灵APP
;
2、在天猫精灵APP中通过技能广场
搜索涂鸦智能
,完成涂鸦智能
的账户绑定。如果手机中装了个多个涂鸦智能APP(包含OEM的),这一步会跳出来选择。
本质上来说,是涂鸦智能账户授权给天猫精灵使用。授权后,涂鸦将其账户下的设备同步给天猫精灵。天猫精灵的命令通过双方的对接传输给设备进行控制。
事实上,上面的第二步还可以搜索智能生活
或者其他OEM厂家产品的名称,都是以涂鸦的名义在天猫精灵的技能中注册的。
开发前,需要开通语音方案接入
和天猫精灵接入服务。
目前支持的有亚马逊Alexa、谷歌 Assistant、Yandex Alice、小米小爱、百度小度、小智管家(涂鸦)。
其他的语音服务有一些要付费支持,(页面)[https://www.tuya.com/vas/?from=smart],新的还有SmartThings(三星)、腾讯云小微、腾讯云叮当、京东叮咚、GiGA Genie(韩国KT)
这个页面又提供了一些其他的第三方语音平台,新的包括苹果Siri。
ESP32C3及其他ESP32系列AT固件支持QCLOUD腾讯连连的固件下载方式
在乐鑫官方的ESP32C3文档中提到了ESP32-C3-QCLOUD_AT_BIN
, 但是在文档的腾讯云 IoT AT 命令和固件页面中却没有AT固件。这儿参照从github下载临时固件的方法说明下载的方法。
双色温灯珠单面板的布线方式
首先,双色温可以布成一个单面灯带, 然后想象这个单面灯带在面板上S形排列即可
洪恩识字编故事
1
弟弟回家,看见姐姐正在画画。
姐姐的画好好看。
姐姐画了一个圆形,还画了一个正方形,还画了四个长方形。
姐姐在圆形上画了一个嘴巴,两个眼睛,两个眉毛,两个耳朵,一个鼻子,一头头发。
姐姐在正方形上画了衣服。在长方形上画了手和脚。
姐姐画了一个小人儿。小人儿是弟弟!
姐姐把画给弟弟,弟弟好开心:谢谢姐姐!
2
妈妈爱吃好吃的。妈妈想吃串串香。
妈妈去吃串串香,问姐姐和弟弟:你们要不要一起去?
姐姐和弟弟:要!要!我们要去!
去哪里吃?去民乐。
吃什么串串香?有牛肚、有羊腿、有鱼头、有玉米、有花生、有黄瓜。
还有水果吃。有什么水果?有木瓜、有山竹……
还有面包吃。妈妈、姐姐、弟弟高高兴兴出门去,吃串串香了!
3
弟弟在看书。姐姐问:你在看什么书?
弟弟在看故事书。故事书里面讲了什么故事?
有一只小鸟,有两个大耳朵。它飞着飞着,看到了太阳公公。
太阳公公不高兴,太阳公公害怕闪电。闪电要是来了,
风会吹来很多黑色的云朵,天上会下很大很大的雨,田地里会有很多很多的水,禾苗不要太多的水,禾苗会长不出米来。
太阳公公害怕,就会不见了。
小鸟去找闪电,和闪电讲,让闪电不要来。闪电说:禾苗也要水,水太多了不好,水没有也不好。
小鸟说:闪电闪电,太阳公公害怕你,禾苗不要太多水。闪电想了想说:那么下一点点雨,好不好?小鸟说好吧。
小鸟去找太阳公公,说:太阳公公,你不要害怕,闪电下一点点雨就好了,禾苗也要喝一点水。
太阳公公说,好吧,谢谢你,小鸟!
C51语言与C语言的不同,及其糟心处
C51中定义了sbit和bit, 这俩货挺糟心的.
sbit是寄存器位, 只能作为左值, 不能放在右边, 也就意味着不能作为函数形参传入, 不能作为数组的成员, 从此彻底和循环操作/公共代码抽取绝缘.
bit表现得到是像个正常变量, 可以做右值, 可以作为函数形参, 可以作为返回值, 可就是不能定义数组, 一定义就报错, 也就无缘数组的循环操作了.
灯光指标诗
原创:
零零四九双全有
蓝闪色显照谱红
指标依次是蓝光/闪烁/色温/显指/照度/光谱/红光
达到目标依次是RG0/0闪烁/夜间不高于4000K/Ra不低于95/双A(AA)级照度/全光谱/有红光成分
解析迈克尔·杰克逊《黑或白》MV
前半段MV毫无疑问是对抗种族主义、无论国籍肤色、期待世界大同的。然而后半段大多数人看不明白,包括我20年前第一次看的时候也没看懂。这儿结合一些资料和自己的理解,解读从黑豹出现开始的后半段。
6:34 黑豹出现。黑豹党(The Black Panthers)一度在美国被当做是恐怖组织,他们确实好战激进,然而他们在清除社区毒品和犯罪中取得了很大成就,最后却被CIA等组织打击。
6:37 黑豹向门口的乔治华盛顿雕像怒吼一声表达不满。乔治华盛顿是美国首任总统,却支持奴隶制,在自己的种植园蓄奴,还和一个女奴隶生了个娃。
6:43 黑豹走下楼梯。隐喻潜入社会表层以下,揭露和防抗其黑暗面。
7:00 忽然开启聚光灯,杰克逊开始跳踢踏舞。聚光灯隐喻舞台,踢踏舞起源于黑人,又被白人主义者当做是下贱的舞蹈,甚至在表演中白人涂成黑脸(即充满种族歧视的黑脸喜剧)跳踢踏舞、扮演丑角逗乐观众。忽然将黑人置于舞台上踢踏舞,是白人强加于黑人、以种族歧视娱乐白人自己的丑恶行径。
7:18 一只猫跳出来,杰克逊看了一眼就走开了。猫豹同类,前者温顺,后者狂野。隐喻不去做黑暗体制下温顺的猫咪,而是要做一只豹子反抗黑暗压迫。
7:26 杰克逊来到街道上要跳自己的舞蹈。这个街道显然是在下层人聚集的贫民窟。然而狂风大作,各种垃圾吹过来,还有一张报纸死死贴在脚下。隐喻反抗将要开始之时,各种黑暗的打击带着下作的消息扑面而来,还死死缠着你不放。然而杰克逊毫不动摇的眼神、以及随性、坚硬、畅快的舞蹈,寓意反抗白人的禁锢和嘲笑,表达黑人自己的反抗诉求。
8:40 白色3K党标志、希特勒不死(Hitler Lives)、纳粹万字标志、黑人滚回家去、不要外国移民(No More Wetbacks)……等等都被愤怒的杰克逊暴力打碎。3K党(Ku Klux Klan)是典型的白人至上主义,原称白人种族集会。希特勒迫害犹太种族也是种族主义的代表,可恨的是现在仍有人信奉。WetBacks(湿背人)原指的是墨西哥移民,他们从墨西哥泅渡美国,因此背上都是湿的,后来也泛指外国非法移民。
9:12 杰克逊标志性的捂裆动作伴随咆哮,这儿很明显一个特写并且手指缓慢向下滑动。然后他掏出方向盘砸了3K Rules(白人至上规则)。这一段舞蹈裆部拉链没拉上。到 9:25 才一下拉起来。特别直白地隐喻美国名句Fxxk you up(淦你老木),淦完以后拉上收工。在迈克尔去世后多年,3K党至今却仍然活跃,悲哀!淦你老木啊!我觉得第二层隐喻是下层人也有不被压抑享受性自由的权利,而不只是那些上层白人所独享的。
9:44 三次重复蒸汽喷往全身的镜头。杰克逊是一直信基督的,所以我暂且采信弹幕中说的这是三次洗礼:浸洗礼、注水礼、洒水礼。然后跪地朝拜、激起圣水、撕破衣物(有献祭的意思)、撒上灯红酒绿的“皇家徽章酒店”,招牌落地。Royal Arms应该是指Royal Coat of Arms,即皇家徽章,是英国的国徽。殖民主义和奴隶贩卖也正是英国带到北美这片土地的。这儿似乎意味着铲除了种族主义的根源,也才能平静的回归本性(黑豹)离开。
另外,漫威的《黑豹》也是以黑豹作为黑人领袖象征,应该并不是巧合。
参考文章:
https://www.innermichael.com/2011/05/05/black-or-white-part-iii-panther-dance/
https://en.wikipedia.org/wiki/Tap_dance
https://en.wikipedia.org/wiki/Wetback_(slur)
https://baike.baidu.com/item/%E5%9C%A3%E6%B4%97%E7%A4%BC%E4%BB%AA/20386854?fr=aladdin
https://baike.baidu.com/item/%E8%8B%B1%E5%9B%BD%E7%9A%87%E5%AE%B6%E5%BE%BD%E7%AB%A0/5032952?fr=aladdin
自动化代码审查工具
今天看到新闻说代码审查也可以自动化,搜索了一下确实还有不少工具。
https://wenku.baidu.com/view/8f28edd507a1b0717fd5360cba1aa81144318fa1.html
但似乎自动化代码审查只是lint吗? 我希望是AI智能一些的.
NLP自然语言处理API
情感分析
一件事情给人造成正负面情感影响, 将会促使人进行相应的行动, 因此具有预测性.
百度的API分析情感还是比较准确的.只是只能分析2048个字符, 换成汉字就只有1024个.
百度多实体情感倾向分析可以在文章中分析不同实体的情感倾向.目前邀测阶段. 可以分析娱乐/财经/体育类型, 输入包括标题和正文, 正文可达6000字节.
判断两段文本说的是「同一件事情」
某一件事情第一次出现是新闻, 第二次就不是了. 所以怎么判断第二次说的和第一次的是同一件事情?
知乎上有个问题是问这个的, 答案有这么几种:
- 语义匹配
- 语义角色标注(SRL, semantic role labelling)
百度API有短文本相似度, 最大512字节. 似乎不能判断英文和中文的相似度, 不过对中文判断似乎还好. 如"笔记本"和"膝上型电脑"相似度为0.70, 与"手提电脑"相似度为0.60, 与"手机"相似度为0.36,判断还算正确.
还有词义相似度, 最大64字节.
但对于文章相似度分析还差得很远.
另一个思路, 从文章中抽取高频关键词, 看关键词是否有一致的.
python爬虫: scrapy, splash
scrapy直接用并不好用, 对于需要js渲染或动态dom的网页, scrapy爬不到.
这时候需要splash 中文文档 英文原档, 动态解析js并返回其最终渲染结果. splash实际上是一个docker image, 需要预先安装docker,然后拉取下来就可以用. 另外splash是基于lua的, 嗯, 感觉python+docker+lua,真是个缝合怪啊
介绍文章: https://www.bilibili.com/read/cv12375274
github上有一个scrapy-splash的项目.
scrapy-splash使用方法
安装scrapy, splash, scrapy-splash
pip install scrapy
docker pull scrapinghub/splash
docker run -p 8050:8050 -p 5023:5023 scrapinghub/splash
# 在上一步命令以后,命令行界面将挂起运行docker, 此时需要新建一个命令行继续运行后面的命令
pip install scrapy-splash
新建一个scrapy项目
scrapy startproject tutorial
修改其中的settings.py
文件, 简便起见, 加入下面内容即可
SPLASH_URL = 'http://127.0.0.1:8050'
DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'
HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage'
FEED_EXPORT_ENCODING = 'UTF-8'
SPIDER_MIDDLEWARES = {
'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,
}
DOWNLOADER_MIDDLEWARES = {
'scrapy_splash.SplashCookiesMiddleware': 723,
'scrapy_splash.SplashMiddleware': 725,
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}
在spiders
目录下, 新建一个爬虫文件, 比如爬虫名字叫df, 文件名字叫df_spider.py
import scrapy
from scrapy_splash import SplashRequest
class MySpider(scrapy.Spider):
name = 'df'
start_urls = ["http://example.com", "http://example.com/foo"]
def start_requests(self):
for url in self.start_urls:
yield SplashRequest(url, self.parse, args={'wait': 0.5})
def parse(self, response):
page = '1' # response.url.split("/")[-2]
filename = f'df-{page}.html'
with open(filename, 'wb') as f:
f.write(response.body)
项目目录下运行爬虫,会得到一个df-1.html的文件.
scrapy crawl df
查看这个文件是不是已经有js渲染, 如果还是没有渲染, 可增加爬虫文件中splash的wait时间, 上面设置的是0.5秒.
splash click一个元素的方式:
assert(splash:runjs('document.querySelector(".next a[href]").click()'))
Windows10支持多用户远程桌面的方式
正常来说是不支持的. 看了很多文章, 这一篇https://www.helpwire.app/blog/allow-multiple-remote-desktop-connections-windows-10/是讲的最好的.
里面提到了几种方式, 一种是用github项目RDP Wrapper, 我试过好像不起作用. 另一个是修改Termsrv.dll
文件, 用到hex编辑器, 这个管用.
copy c:\Windows\System32\termsrv.dll termsrv.dll_backup
takeown /F c:\Windows\System32\termsrv.dll /A
icacls c:\Windows\System32\termsrv.dll /grant Administrators:F
Net stop TermService
接着在十六进制编辑器里面搜索39 81 3C 06 00 00 0F 84 XX XX XX XX
, 替换为B8 00 01 00 00 89 81 38 06 00 00 90
,然后运行Net start TermService
或者重启就可以了
C语言宏#define中#,##,#@和\的用法与define的字符串自动拼接功能
C语言宏#define中#,##,#@和\的用法: https://blog.csdn.net/yishizuofei/article/details/81022590
define还有自动拼接字符串的功能, 如:
#define str "a" "b" // 相当于str是"ab"
#define x "+"
#define str2 "a" x "b" //相当于str2是"a+b"
void main(){
printf(str);
printf(str2);
}
//将打印出 aba+b
[原创]消费级产品四要素
四种基础要素
消费级产品是四种基础要素, 简称四要素. 这四个要素是消费市场对产品认可的关键. 包括:
- 外观. 外观至少占一半购买决策因素. 一眼看上去是不是喜欢, 值不值钱, 品质如何等等.
- 功能. 功能和价格构成另一半购买决策因素. 功能也是形成产品差异化的重要因素. 所谓同质化竞争一般就是指功能同质化.
- 品质. 品质是内在属性, 在购买决策时难以被消费者迅速感知. 消费者只能间接通过外观/价格/品牌/网上评价等因素判断.品质与价格一般会呈现此消彼长的关系.
- 价格. 价格区分消费层级. 人们对自己的预算以及这个产品应该值多少钱有自己的判断, 并将预算与目标价格产品形成匹配. 市场同质化竞争激烈的时候产品变成价格战, 进而牺牲难以感知的品质要素, 市场劣币驱逐良币, 不适合创业项目进入.
杠杆要素
杠杆要素是对基础要素组合成的产品形成杠杆加倍效果的. 是让消费者快速对产品形成认知的手段.
基础要素是1, 杠杆要素是后面的0. 基础要素做的不好, 杠杆越大越会反噬产品.
- 市场. 是通过市场宣传形成消费者对产品本身或产品品牌的认知, 影响消费者决策.
- 销售. 是直接让消费者或渠道形成购买决策并产生收入.
- 生态. 构建或融入一个生态, 利用生态促进消费者决策.
规模要素
规模要素影响这款产品能形成什么样的销售规模.
- 周期. 包括市场周期, 产品开发周期和产品量产周期. 市场是瞬息万变的, 适合一个品牌的产品的市场, 都有一个时间窗口, 这就是市场周期. 开发周期越长越不能及时对市场时间窗口的变化迅速反应. 导致市场错失良机. 量产周期影响库存备货和销售,进一步影响资金占用和现金流, 量产周期过长使得一段时间内备货过多,不能对市场淡旺季和临时加单及时反应, 导致库存或者积压或者不足.
- 数量. 产品生产能达到什么样的数量, 日产能/月产能是多少.
投入一个产品的节奏
创业项目或者小微企业, 先应该选择产品赛道. 选择赛道应该评估:
- 市场周期是否在上升前期.
- 产品功能是否有差异化, 是否在自己能力范围内.
- 是否有个优秀的愿意合作的代工工厂.
- 是否能在上升期之前将产品上市.
本着最小投入最大收益, 应从最重要的要素外观和功能起开始投入, 价格方面应有充裕余量, 不应切入以相同功能切入同质化严重的价格战市场.
切入顺序:
- 有自己的软硬件的开发能力, 确保功能的差异化. 软硬件开发当然有第三方的方案公司可以提供, 然而这种方案一般已经比较成熟, 也就没有什么门槛, 容易同质化. 即使差异化的功能对方开发出来, 卖得好了要升级, 对方也很可能漫天要价. 此时ID/结构/供应链/项目管理都可以找一家优秀的代工企业完成. 只是需要注意: ID设计要按照自己的市场调研的想法进行.
- ID设计能力. ID设计在消费决策中占比大, 对于公司的持续发展, 也需要持续储备产品ID设计. 因此在公司每年有4款以上产品推出时,应有自己的自己ID设计能力。
- PMC物控和供应链管理能力。物控与供应链管理紧密结合,是确保公司利润、降低产品成本的重要手段。这里假设一个优秀的代工厂已经设计了优秀的结构和产品组装流程,下一步管控交期和成本的责任不能完全交给供应商,因为这不是他的利益所在。通过降低MOQ、交期、成本等降低公司最终成本,获得收益。
- 项目管理和结构设计能力。结构设计承上启下,一方面实现ID设计,另一方面实现量产设计。好的结构设计能降低产品各个方面的成本,包括原料价格、模具可实现性、组装难度等等。拥有这项能力,对代工厂的要求可以大大降低。
- 产线设计和品控能力。设计合理的作业指导书,对各个环节IQC、IPQC、OQC进行控制。此时工厂变成了单纯的代工角色,对产品的成本和品质有较好的控制,在产品市场成熟期也能建立品牌,进入主流价格区间,甚至有一定价格战的底牌。
我是否相信存在那么几个人,他所说所做的一切全都是对的?
人们遇到比自己更优秀的人,要么丑化他,要么神话他。我觉得这是刻在基因里面的。基因要求更优秀的人塑造更好的基因环境。
可一旦神化了一个人,这个人就没有缺点了,他大概每天要做的事情就是正确的事情,别的事情他大概都不会做了。现在可以把这么一个人代入想象一下:这个人是不是要吃饭?要不要做爱?会不会放屁拉屎尿尿?
更重要的是,这个人真的不会说错话做错事吗?想想那些现在的和过去的伟大的人物,他们有这样那样的称号:伟人、圣贤、活佛、神……互联网时代还会叫某某爸爸。当然也感谢这个时代,信息每分每秒从地球各地传来,能让我们认识到,即使是做到顶级优秀的人,他也是在不断地犯错。乔布斯会犯错,他也出过失败的产品比如Lisa。马斯克也会犯错,他回顾自己在做Roadster的时候拿着创业团队的开发手板当做量产,还买了莲花汽车的油车底盘当电车底盘,可谓是一错再错。做领导到顶级的,美国总统应该算是其一了吧,那么川普和拜登满嘴跑火车的可就更多了。
既然商界神一样的人物乔布斯马斯克会犯错,既然政界顶级的大佬也会犯错,那么不如他们的大批大批人类————或许我该说所有人类————当然也会大把大把的犯错。推而广之,历史上的所有人类概莫能外。我们之所以没看到他们犯错,大概率是因为他们自己或者他们身边的人不让我们看到。既然家丑都不得外扬,圣贤伟人之错就更不能说了。还有,在他们作为圣贤伟人的时间和地域之内看不到错误,在这之外可就大把错误了。比如当朝皇上不会有错,后世评价可就未必了。朝鲜总书记在朝鲜不会有错,在朝鲜之外可是调侃对象了。
还有孔圣人,活着的时候没当成圣人,都没有国家接纳,那时候看起来肯定很多错。汉朝董仲舒“罢黜百家,独尊儒术”之后才成了圣人,此时孔子已经死了300多年。到了20世纪初期新文化运动,孔子被鲁迅为代表的一众人骂的狗血喷头,直到十年之劫时期还要打倒孔家店。到今日,我们又在全球到处开办孔子学院,又开始尊儒术,不知孔子他老人家的问题还说不说得了。
那么,圣贤伟人为什么可以成为圣贤伟人?有时候是运气,有时候是认准了方向与自己能力匹配坚持了下去(也即是准确预测了未来并投资了未来)。皇帝太子当了皇帝,必然有运气,投胎不对基本没戏。另外商界成功运气之外还是看综合预测能力,即使我小错不断,但大方向对了,而且还有能力比别人提前实现,那就能最后成功,成功之后成了神,就“没有错误了”。
所以,不能怕犯错,关键要做决策。方向要搞对,搞对就得坚持。