Doordash 和 披萨套利
我的一位朋友在纽约拥有几家披萨餐厅。
他的餐厅从不外送,顾客必须亲自到现场购买披萨。
有一天,他突然接到顾客的电话,抱怨餐厅外送的披萨是冷的,要求更换一个。
他觉得很奇怪,我们根本不外送披萨。他就去网上搜索了一下,原来有一家叫做 Doordash 的外卖平台,把他的餐厅收入其中。他从未与 Doordash 有过任何接触,后者大概是在网上爬到了他的餐厅,擅自将其加入平台。
最难以置信的是,Doordash 列出他的披萨价格,居然比店里低,原价24美元的披萨,网上只要16美元。
我的朋友大惑不解,于是决定试试看。他在 Doordash 下单,一次性订购了10个披萨,支付了160美元。
过了不久,他的店接到了 Doordash 的电话,订购了10个批萨。再过了一会,Doordash 的快递员来了,向餐厅支付了240美元,取走了10个披萨。
他计算了一下,他付出了160美元,外加10个披萨,但是得到了240美元。每个披萨的成本大约是7美元(原料6.50美元 + 盒子0.50美元),10个批萨的成本就是70美元。由于披萨还会送回给他,那就意味着,他可以从中套利,毫无风险地至少净赚10美元。
他决 ...
2022年编程语言热度排行榜
前言一直以来,编程语言都是程序员非常关注的话题。年末将至,是否会有程序员发出疑问——“2022 年行业需求最大的编程语言,花落谁家?”从 2021 年 10 月到 2022 年 11 月,DevJobsScanner 分析了超过 1200 万个开发人员职位。从这 1200 万份工作中,DevJobsScanner 挑选了明确需要编程语言的工作岗位。现在,一起回顾 2022 年行业需求最大的 8 种编程语言。
1、JavaScript / TypeScript
2、Python
3、Java
4、C#
5、PHP
6、C/C++
7、Ruby
8、GO
1、JavaScript / TypeScript
多年来,JavaScript 一直备受欢迎。目前,JavaScript 仍然是整个市场上需求最大的编程语言。此外,TypeScript (具有类型安全的 JavaScript 超集) 的出现也有助于实现这一里程碑。近几年,TypeScript 受到了更多人的欢迎。许多新的 JavaScript 框架是用 TypeScript 编写的,例如 Angular 和 NestJS 。
从 202 ...
堵住那只猫
点击浅蓝色区域,堵住这只猫!
暗物质开发者
天文学中,暗物质是一种未知的物质,据说宇宙的大部分是暗物质。它既不发光也不反射光,因此望远镜不能直接看到。
你看不到暗物质,但我们很确定它在那里。我们知道它,但无法看到它。它永远不会露面。
有些开发者不是我们经常遇到的那种开发者,就像暗物质一样,可以称之为暗物质开发者。他们不会大量阅读网上的文章,也从不写文章,不去讨论区发言,也不发推文,很少在大型会议上露面。
他们依然在使用老旧的技术,解决各种问题。比如,在小公司的办公室里使用着 ASP,或者在墨西哥写着 VB6,或者在大型芯片制造商内部编写 PHP 日历应用程序。
他们使用众所周知的、经过充分测试并且易于理解的成熟产品。他们不追逐最新的测试版,也不太感兴趣,他们只是让软件可以工作。
暗物质开发者永远不会阅读这篇文章。
Open is smart. Smart is open.
大家有没有感觉,互联网上免费的东西越来越少了。打开很多网站或 App,都要求你付费:听歌要钱,视频要钱,下载要钱,读一篇文章也要钱。这当然无可厚非,但是我总觉得,纯粹的信息收费不是一个好的商业模式,除非有增值服务。 这有两个原因。
第一个原因是,信息与实体商品不同。实体商品具有排他性,我吃了这只苹果,别人就吃不到,但是信息可以无数次消费。
而且,信息有一个奇怪的特征:消费的人越多,它的价值越高。一篇文章只有二三十人看,很快就会被忘记;但有一百万人看,就是全国的热点。 收费会阻止信息的这种零成本的自我增值。
第二个原因是,信息收费很难扩展。80%的用户都是看一眼就走了, 收费会阻止这些轻度使用的用户。 比如,《纽约时报》网站是收费的,但是我一个月就看几篇文章,不太可能为这几篇文章成为付费用户。信息收费的前提是,用户会深入地、长期地使用这个服务,这种深度用户很难找,因此收费很难扩展。
所以,我认为, 信息的商业模式,不应该是收费,而是应该鼓励更多的人消费它。 越多人消费,信息的价值越高,这时就可以开发增值服务,从服务赚钱。
开源软件就是很好的例子。Linux 原来是一个大学生的作品,可以免 ...
GPL维权小故事
开源软件通常带有许可证。大家一直很想知道,如果国内用户不遵守许可证,可以去法院告他吗?
上周有一条新闻,深圳市中级人民法院一审判决,被告违反了 GPL 许可证,赔偿侵权费50万元。
很多程序员很兴奋,认为这代表 GPL 许可证得到中国法院的认可。
我仔细读了判决书,觉得跟大家想的不一样,这个案件很复杂,得不出法院认可 GPL 的结论。
我简单说一下案情。
济宁市罗盒网络科技有限公司(以下简称”罗盒科技”)在 GitHub 开源了软件 VirtualApp,使用了 GPL 许可证。但是,他同时又声明,不得用于商业用途,除非购买商业授权。
大家觉得,这个声明有问题吗? 可以既采用 GPL 许可证,又不许用于商业用途吗?
回答是,这个声明有很大问题。GPL 许可证允许商用,只要你用了这个许可证,别人就可以把你的代码用于商业用途。
[开源小知识]如果想禁止商用,就不能使用 Copyleft 许可证(比如 GPL),而是要添加一个自己的许可声明,比如”源码只供个人学习,不得商用,除非购买商业许可证”。
因此,罗盒科技一开始的许可证选择,就有问题,后来果然出了问题。
有一个叫做”点心桌面”的商 ...
建造就是活着
建造就是活着作者:凯文·凯利我是在纽约郊区长大的,城里一年到头都有很多建筑工地,让少年的我非常困扰。每次进城,到处都是封闭的道路,起重机、水泥卡车让交通堵塞,手提钻不停地响,街道被挖开,建筑物在维修或拆除。整个城市给人一种喧嚣、破坏和混乱的感觉。而且,修完这栋楼,又去修那栋楼,永远不知道何时才能完全结束。所以,我一直认为,建筑工地是很糟糕的事情。成年以后,我有机会访问世界各地,包括那些不那么发达的地区。我逐渐意识到,建筑工地是一个地区的生命力的标志。如果一个地区、一座城镇,甚至一座建筑,没有任何升级、维修和新建,那就意味着它正在死亡。持续不断的工作和喧嚣,是一种生命脉搏。手提钻的噪音,其实是城市新陈代谢的声音。有建筑工地,表示这个地区还活着,没有就表示这个地区生病了。一个地方需要不断升级和修复,才能长期保持健康。从未搭建维修脚手架的建筑物,终将被拆除或倒塌。现在,我认为建造就是繁荣的标志,表示新陈代谢的健康状态。如今,当我在街上看到起重机,我感到很放心,这个地方还活着,而且很健康。当我看到街边停着卡车,社区正在改造和维修,我就感觉很好。建造就是活着。
真实方位是如何暴露的
很多时候,开发者需要知道用户的地理方位。
最简单的方法,就是查看用户的 IP 地址,它能够确定地理方位。
如果你不想暴露真实方位,需要使用技术手段,伪装自己的 IP 地址。
但是,这个事情不是那么简单,真实方位其实很难隐藏。
上周,Hacker News 论坛上,有人发帖,说他想不通,谷歌怎么知道他的位置。
他从美国去墨西哥出差,为了使用美国的银行服务,全程都用了 VPN,伪装后的 IP 地址是在美国。按理说,服务器根据他的 IP 地址,只会认为他在美国华盛顿州。
但是,等他回到美国,打开家里的电脑。(注意,是家里的电脑,从来没有离开过美国。)浏览器显示,他的位置在墨西哥,推送给他的广告都是西班牙语。
他困惑不解,谷歌怎么会知道,我的真实方位是在墨西哥呢?我没有暴露真实 IP 地址啊。
帖子的下面就有人指点他了:谷歌判断你的地理方位,不仅仅看 IP 地址,更重要的看你的路由器的 MAC 地址。
一般来说,路由器很少改变地理方位,买来后放在某个地方,它就会一直放在那里。很少有人带着路由器一起出门。
这意味着,只要知道你使用哪个路由器,根据路由器的方位,就可以推断出你的真实方位。
每个路由 ...
2分钟规则
每当你发现很难开始执行某项任务时,可以试试将其缩减成2分钟的版本。
看一本书 → 看一页书写一篇文章 → 写一句话跑10公里 → 穿上跑鞋做100次俯卧撑 → 做1次俯卧撑多吃蔬菜水果 → 吃一个水果编写一个程序 → 编写一个函数 → 编写一行代码这样做的目的是使上手变得超级容易,让你先上手再说。一旦开始做了(这可能是最艰难的一步),你就会开始有动力,可能会继续做下去。
阅读一页 → 阅读10页 → 读完第一章写一个句子 → 写文章的开头 → 写出正文穿上跑鞋 → 步行5分钟 → 跑步5分钟一旦开始,继续做下去就会容易得多。有时,你甚至会发现,自己在不知不觉间已经完成了任务。
Defensive CSS【持续更新】
当我们开始考虑将防御性CSS作为一种策略时,它将帮助我们揭示隐藏的秘密,让我们设计和构建布局时尽可能少的问题。参考:https://defensivecss.dev/
弹性框包装CSS flexbox是当今最有用的CSS布局功能之一。添加到包装器中并使子项彼此相邻排序是很诱人的。display: flex问题是当没有足够的空间时,默认情况下,这些子项不会换行。我们需要使用 来更改该行为。flex-wrap: wrap下面是一个典型的例子。我们有一组选项应该彼此相邻显示。
123.options-list { display: flex;}
当空间较少时,将发生水平滚动。这是应该预料之中的,实际上并不是一个“问题”。请注意,这些项目仍然彼此相邻。要解决这个问题,我们需要允许弹性包装。
1234.options-list { display: flex; flex-wrap: wrap;}
图像失真当我们无法控制网页上图像的纵横比时,最好提前考虑并在用户上传与纵横比不一致的图像时提供解决方案。在下面的示例中,我们有一个带有照片的卡片组件。它看起来不错。当用户上传不同大小的图 ...