2024-05-29

Python 与爬虫

搞不懂,为啥爬虫必须和 Python 连接在一起,凡是支持做 HTTP 通讯的语言或者说提供 HTTP 客户端库的语言都可以实现爬虫,PowerShell、Dart、JS、Java 等等都可以,甚至 C 也可以,只不过比较折腾。

你看,我搞“八方点赞”这种比爬虫复杂的程序都可以不用 Python。

It's about the network
It's about the network

嚣张

一个小伙子,在大厂从事 Android 相关的研究开发工作。不过,Android Studio 不会用,调试工具不会用,当然也没应用层开发经验、知识、学习能力、学习意愿(兴趣)。

他的大厂领导问 App 问题怎么排查时,他不说他不懂而是说打 LOG,嚣张么?我不知道用“无知”合适还是用“嚣张”合适。他的大厂领导就说“对”,于是,一个应用层项目搞得到处都是 LOG。然后,问题怎么排查呢,他就说我这打出来 LOG 了,问题在别人那,他的大厂领导就说“对”。

2024-05-26

“衣着不得体”

住同一栋楼的两个女人关系一般,后来发生了点小矛盾,就给对方留下了不好的印象。有一天,我在 A 面前提到 B 时,A 说前几天还看到 B 并评价道 B 的穿着多么骚看着就让她讨厌。

我以为 B 改造型了,但是过几天我遇到了她,看见她的穿着和往常一样,干净靓丽啥毛病没有。于是,我又知道了一种制造“乌合之众”的方法。

It's about the network

“嚣张”

一个小伙子,一看屏幕的代码或文档,表情就变得沮丧,眼神里充满了“无助”。我不想知道他有多累,我只知道如果我是上帝我就帮他了。有一天,谈技术问题时他突然说我“嚣张”,于是,我就闭嘴了。

我基本不上酒桌,我怕各种得罪人,比如没恭维谁也会得罪人。

2024-05-07

统计数据

我有个疑问,统计数据如何验证呢?比如某某品牌手机的市场份额,号称第一,那么如何验证确实是第一呢?

数手机数量显然不可能,即便号召 1000 个人去数也不可能,况且还未必能号召得起来。开放购买信息呢,让所有人可以随时验证,看似不错但是存在巨大的隐私问题,也不可能。

看来没办法,反正我是想不到什么有效的办法。换个思路,“第一”改为“号称第一”好像不错,这样免了验证的麻烦。

API

有次一个前端问我:怎么知道软件调了什么接口?我知道她是个 Web 前端,没有其他层面的知识,但她提到软件我就跟她讲了软件里头的“接口”。

我讲有几个办法:HOOK 及其衍生做法,HOOK 放到现在可能是让人不喜欢的东西了,我提了一嘴知道她听不懂也就没多讲;看调试输出,这得遇上没经验的开发者,留点信息让人看,可能能分析出软件调的接口;分析工具,应用程序框架相关的工具可以知道,不是 C/C++ 之类的程序办法应该不少;针对网络方面,调的接口自然是 SOCKET 了,总之最后都得走到 SOCKET 然后交由操作系统处理,如果是后端交互,抓包可以看到软件调了什么后端接口。

结果,人家一个没听懂,但是看她反应我是懂了,这前端讲的接口是后端接口,也就是软件调用了什么后端接口。对于软件来说,和操作系统交互要调 API,使用 SDK 时说调用 SDK 的 API 也没错,一个后端接口也叫 API,API 的范围真是太广了。然后我想,要把话讲得谁都能听懂可真难啊。

2024-05-01

AI 自然语音对话的后续

去年使用 Azure 云和 OpenAI 搞了一个 AI 自然语音对话的 APP,本来设想了一揽子创新计划。结果,搞完对话部分基本就没下文了。

倒不是因为 OpenAI 费用问题,我这点流量根本花不了几个钱。有收益的问题,没收益没动力。也有懒的问题,我搞创新干嘛,等着市面上的类似 APP 创新,然后我 COPY 人家 Idea 就可以了。今年等不到,明年再等,我把 AI 应用创新的机会给你,我当观众看你怎么搞后续。

It's about the network

2024-04-28

开源

前不久我把最后一个开源仓库删除了,其实这个决定大概在一年前就做好了,最主要的因素是缺乏推广或者说没有资源去推广。我觉得把一个项目开源有几个目的:

  • 分享,让更多的人参与进来,一同改进和优化,同时,也给开源项目带来更多的资源和机会,带来更多的可能性。小微企业和个人项目可能这方面看得重一些。
  • 使产品变得透明和可观测的,基础级别的东西(如 Linux Kernal、大部分的数据加解密算法、大部分的媒体编解码器、Git、cURL、OpenCV,等等),还有全球科技巨头的东西(如 VSCode、Flutter、Android,等等),可能这方面看得重一些。

对于第一点,项目需要推广,不推广基本很难被看到。有一次,视频媒体给我推荐什么解决多层 if 嵌套的编程技巧,而我的开源项目里头这些小技巧都是起步要求,我想我这开源是白搞了。对于第二点,那些项目不缺推广。

所以,要让开源变得有意义,首先得推广。

香皂和沐浴露

香皂和沐浴露都可以用来洗澡,以前没有沐浴露的时候香皂还主要用来洗澡呢,为什么一块香皂 3 块钱一瓶沐浴露 30 块钱,人们还用沐浴露洗澡呢?

量不同么?一瓶沐浴露不到一个月就用完了,一块香皂用两个月还在呢。我觉得是因为沐浴露更好用。香皂要拿在手里到处擦,那东西接触面积相对小,要檫多个部位而且背部还擦不到,此外香皂很滑拿在手里擦并不容易,而沐浴露只要倒点出来就可以。

相对与沐浴露来说,香皂操作量大而且操作难度高,所以人们愿意用 30 块的沐浴露洗澡而不用 3 块钱的香皂洗澡,有道理吧。做应用也类似,怎么把技术和服务做得又贵又好用,有意思吧。

2024-04-25

技术理想主义如何着陆?

信息要掌握第一手的,不看掺杂了个人理解或评价的二手信息,更不看“乌合之众”的三手四手五手信息;技术要用最先进的最高效的,知其然不知其所以然的不行;咖啡要喝美式或拿铁,好的咖啡豆加上研磨和调配技术做出来的咖啡就很好,不添加植脂末的更好,不喝掺杂了太多口味(化学品)的饮料。

做应用,国际化、响应式、高性能都得标配。很难理解流畅(不重启)切换多语言、响应分辨率和亮暗变化、低 CPU、GPU 占用是多么困难的事情;很难理解体面的大厂搞出来的 APP 确 BUG 成瘾,逻辑混乱,体验糟糕;很难理解连 HTTP 都不懂的人,竟然干着 HTTP 通讯相关的事情,(如同新闻联播让普通话都不标准的人当主持人,凭实力丢人啊);总之,与喝咖啡一样,我显得有些“格格不入”了。

一直走技术路线如何变现是个问题,档次太高,搞得与大家格格不入。

做驱动

刚到深圳找工作时,别人问我是做驱动的还是做应用的,我一听,驱动?怎么连开发 Windows 操作系统的设备驱动的都到人才市场招人了么。。。连忙说做应用的。到别家看,别人又问做驱动的还是做应用的,我看不对啊,岗位和 Windows 设备驱动没关系啊。再到别家,还是一样的,又是提到驱动。

最后,我终于明白了,原来开发底层的功能性程序国内就叫“驱动”,和 Windows 设备驱动没半点关系,只是按照的芯片或硬件的使用方法(如读写寄存器)将其用起来,并不涉及到与 Windows 操作系统的适配,不涉及硬件抽象层。

我想这差别挺大的,都叫“驱动”不是混淆概念么,他们为啥不区分一下。然后我在想,不叫“驱动”叫什么呢?想了半天我也没想出什么好名称。