Forwarded from &'a ::rynco::UntitledChannel (Rynco Maekawa)
Forwarded from AlPlank (Al Pt)
https://github.com/vvviperrr/SimpleRT
反向 USB 网络共享方案(当年MIUI什么的都有但是现在没有了)
反向 USB 网络共享方案(当年MIUI什么的都有但是现在没有了)
GitHub
GitHub - robinpaulson/SimpleRT: Simple Reverse Tethering utility for Android
Simple Reverse Tethering utility for Android. Contribute to robinpaulson/SimpleRT development by creating an account on GitHub.
Forwarded from 维生素E|经济学哲学知识分享播客 (V E)
#重构互联网生活形式
分享一个可能业内人士都知道但是很恐怖的事
bilibili的营销系统为了给客户(也就是广告主)提供用户精准画像,收集了用户大量信息,其中,bilibili这个app利用“相互唤醒”的功能收集了用户安装的app,截图是b站的营销后台,你可以看到某一个关键词的画像人群中,拥有#v2rayng 的比例相当的高,这软件干啥用的懂得都懂。
也就是说如果你有很多行为警察想抓你,去b站找营销数据就知道了,这和通过“购买避孕套数量精准定位失足妇女”有异曲同工之妙,妙不妙?
但其实问题还不是你做了什么不见得人的事会被发现,问题是你的用户行为数据就通过这种形式被精确都置换成了钱。就算这个数据bilibili不应该获取到
分享一个可能业内人士都知道但是很恐怖的事
bilibili的营销系统为了给客户(也就是广告主)提供用户精准画像,收集了用户大量信息,其中,bilibili这个app利用“相互唤醒”的功能收集了用户安装的app,截图是b站的营销后台,你可以看到某一个关键词的画像人群中,拥有#v2rayng 的比例相当的高,这软件干啥用的懂得都懂。
也就是说如果你有很多行为警察想抓你,去b站找营销数据就知道了,这和通过“购买避孕套数量精准定位失足妇女”有异曲同工之妙,妙不妙?
但其实问题还不是你做了什么不见得人的事会被发现,问题是你的用户行为数据就通过这种形式被精确都置换成了钱。就算这个数据bilibili不应该获取到
Forwarded from RWTG9Y4's STDOUT
每日去世小知识:
Linux 下在 tmpfs 里自动创建目录并不需要通过使用这些目录的程序来实现,而可以在 /usr/lib/tmpfiles.d/ 建一个配置文件来搞定
比如 php-fpm 如果想用 /var/run/php-fpm/xxxx.sock 来整理一堆乱七八糟的 sock 就可以写一行 d /var/run/php-fpm 0755 root root
Linux 下在 tmpfs 里自动创建目录并不需要通过使用这些目录的程序来实现,而可以在 /usr/lib/tmpfiles.d/ 建一个配置文件来搞定
比如 php-fpm 如果想用 /var/run/php-fpm/xxxx.sock 来整理一堆乱七八糟的 sock 就可以写一行 d /var/run/php-fpm 0755 root root
Forwarded from duangsues.is_a? SaltedFish
Forwarded from Solidot
Apache 软件基金会以推特帖子违反行为规范驱逐 TinkerPop 项目联合创始人
2021-02-25 12:45 #Apache
Apache 软件基金会以推特帖子违反基金会行为规范为由 驱逐了 TinkerPop 项目联合创始人 Marko Rodriguez。Marko Rodriguez 的主 Twitter 账号(新账号)已经因违反网站的规定而遭到屏蔽,暂时不清楚他的哪些言论违反了规定。Rodriguez 声称他曾因其言论受到死亡风险,被认为是特朗普支持者,但他表示自己从未投票,他不关心投票。他在 11 年前联合创办了图形数据库和分析框架 TinkerPop 项目。在他遭到驱逐之后,The Register 报道称一名基金会董事会成员 Niclas Hedhman 辞职抗议。
2021-02-25 12:45 #Apache
Apache 软件基金会以推特帖子违反基金会行为规范为由 驱逐了 TinkerPop 项目联合创始人 Marko Rodriguez。Marko Rodriguez 的主 Twitter 账号(新账号)已经因违反网站的规定而遭到屏蔽,暂时不清楚他的哪些言论违反了规定。Rodriguez 声称他曾因其言论受到死亡风险,被认为是特朗普支持者,但他表示自己从未投票,他不关心投票。他在 11 年前联合创办了图形数据库和分析框架 TinkerPop 项目。在他遭到驱逐之后,The Register 报道称一名基金会董事会成员 Niclas Hedhman 辞职抗议。
Forwarded from Lulika Vith
历经三年,dieloli终于于今日发布了~
https://github.com/pokemonchw/dieloli
感谢所有人的陪伴和等待~
在未来三个月里,游戏会保持每周三发布一次release的速度进行更新~敬请关注
https://github.com/pokemonchw/dieloli
感谢所有人的陪伴和等待~
在未来三个月里,游戏会保持每周三发布一次release的速度进行更新~敬请关注
GitHub
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
#日常精神分裂 #Haskell #functional #relation 推荐不要看的胡言乱语。
A: 听见人说 Rank N Types 可以弄出 p(p==not) (: forall x. p(x)==not(x)) 的关系式
B: 不过这个你自己也不明白吧,说白就是 p(q) = not q 时 q ,正确答案 q 只有一个,但是 q=(forall x. px==notx) = True 时 p=False , p!=not.not.not.not q ... 还有一大堆 not ,就是这里没法得到答案吧
A: 为什么有一大堆 not 呢
B: 为了保证 p=not 的定义, p(p==not) 应该里 p 的定义是不一致的,第一次是 not True 但导致 p=not.not=itself ,第二次又变成 not False 而 p=not,我们想做的是用比较形式化的方法从某一面「判断」这个东西是无解的,但它到底是等式,还是关系式,还是别的什么?
A: 那还是看看 rankn type 是什么吧。
B: 最简单的说法,对 id :: a -> a 里 a 有 Int, String 等可能,但是如果有 f :: a -> (a -> a) -> a ,f 里 a 就只能是任意一个类型,而在括号里加 forall a. 那 f g = 后面就能同时 (g 1) (g "") 了,但这只是 Rank 2 type 。 Rank 是「重评估」的意思, R0 t 是单态 R1 就是正常多态,如果要更多 Rank , (forall c . (forall a b . a -> b) -> c) -> d 就是一个 Rank 3 。 我之前还说不可能 forall a. forall a. (a -> a) 呢(没意义 a 已经在类似上下文 绑定过了)
A: 话说 type 和程序体有什么关系啊。
B: 一个常见的误会是系统化的类型和程序是相互依存的,比如完整的程序带来了类型信息,其实除了 type inference ,程序的组织结构和类型标记是两个独立部分,类型只是限制程序 它自成体系,甚至可以说能检查程序只是它的副作用。
A: 说起来 haskell 的 a b c 到底是怎么检查的啊
B: 类型就是符号之间的关系,符号绑定了语法树的模式和其它关约束条件。 hs 里这很简单,只有一个性质—— consistence 一致性,比如有 (+) :: Int -> Int -> Int ,那 1+"1", 1+0.0 就是无效的, 1.0+1.0 也是无效的。作用域单一没有同名重载,只能约束 (t,t) -> t ,如果各处的 t 是一致的就没问题,否则就错了。 typeclass 也是类似 trait ,其实类似一个小插件,是 (Show t) 拿到实型去查对应 instance ,查到就能选择多态 找到的实现版本而已。
A: 真的不明白 RankN 和有什么关系呢,毕竟 rank 是 polymorphism ,作为 type constraint 为什么会陷入死循环呢🤔,要不谈谈 rev rev=id 吧
B: 那个就是把 0 和 iLast-0 对应吧…… 和 xs.rev()==xs.rev() 不一样,是要 xs.rev().rev()==xs ,怎么解构呢,我区分不出 foldl 和 foldr 啊,函数式分不出调用顺序 理论上不存在栈这东西呢, foldl f v xs = foldr (flip f) v (reverse xs) 啊
A: 问句题外话,为什么不能 add :: Int Int Int 啊,而且遇到 f not p 时中间也得加 $ 或 <$> 的
B: 一个是并列一个是 infix 了,编程语言可没你聪明不知道 not 不是一参数 要加括号
B: 你到底有没有见过正经的 Recursive Type 啊
A: 递归类型是什么,为什么要递归?层数有限制吗?是不是有限性?在无限序列上有限计算 算不算用了递归类型? Py typehint 里 -> "self" 算不算?
B: 肯定不是啦…… self 是 py 作用域设计的问题,3.7 lazy 勉强解决了,和 recursive type 是无关的,这个大概和 Kotlin inference 一碰到就要 workaround 的递归返回值有关吧。
A: 当然基于 car cdr 的 apply transform 我都会,C++ template<T, ...Rest> 嘛
B: 那还真是好普通啊
B: 别灰心嘛,还是需要你们这种布道者的
A: 有时候感觉我们这些做同级翻译或者 LLVM 前端的人写的编译器本质是元编程的一种表现形式,有时候觉得完整的编译原理课又是照本宣科,除了后端都是重复,到底怎么样是好啊。
B: 我看到一个有意思的视频,一排柱子一根根升起,给你一个 i 你能不能做出动画来
A: 动画师估计挺麻烦吧。 普通人可能要求 timerup 后移 单个动画 ,但这个应该建模成 [0, 0], [1,0], [2,0], [2,1] 这样的「逐列递增表」,实际依然靠 i ,但是可以拿到过程中的所有状态。
B: 最方便的大概是直接一个乘除法吧…… 批量计算好
A: 感觉还是做到 assembler 前比较好
B: 你是说 SSA Value 和寄存器分配吧。 分配是独立的算法,但我可以告诉里不分配,完全溢出到栈上也是能实现的。只是要生命期内所有引用,局部 unified 就可以。 作为 stack ptr 参数还是 opcode reg input/out 的区别而已,如果用栈,也无所谓有几个 operand 或有几个AST前层,唯一又能统一的输入输出地址而已。
A: 听见人说 Rank N Types 可以弄出 p(p==not) (: forall x. p(x)==not(x)) 的关系式
B: 不过这个你自己也不明白吧,说白就是 p(q) = not q 时 q ,正确答案 q 只有一个,但是 q=(forall x. px==notx) = True 时 p=False , p!=not.not.not.not q ... 还有一大堆 not ,就是这里没法得到答案吧
A: 为什么有一大堆 not 呢
B: 为了保证 p=not 的定义, p(p==not) 应该里 p 的定义是不一致的,第一次是 not True 但导致 p=not.not=itself ,第二次又变成 not False 而 p=not,我们想做的是用比较形式化的方法从某一面「判断」这个东西是无解的,但它到底是等式,还是关系式,还是别的什么?
A: 那还是看看 rankn type 是什么吧。
B: 最简单的说法,对 id :: a -> a 里 a 有 Int, String 等可能,但是如果有 f :: a -> (a -> a) -> a ,f 里 a 就只能是任意一个类型,而在括号里加 forall a. 那 f g = 后面就能同时 (g 1) (g "") 了,但这只是 Rank 2 type 。 Rank 是「重评估」的意思, R0 t 是单态 R1 就是正常多态,如果要更多 Rank , (forall c . (forall a b . a -> b) -> c) -> d 就是一个 Rank 3 。 我之前还说不可能 forall a. forall a. (a -> a) 呢(没意义 a 已经在类似上下文 绑定过了)
A: 话说 type 和程序体有什么关系啊。
B: 一个常见的误会是系统化的类型和程序是相互依存的,比如完整的程序带来了类型信息,其实除了 type inference ,程序的组织结构和类型标记是两个独立部分,类型只是限制程序 它自成体系,甚至可以说能检查程序只是它的副作用。
A: 说起来 haskell 的 a b c 到底是怎么检查的啊
B: 类型就是符号之间的关系,符号绑定了语法树的模式和其它关约束条件。 hs 里这很简单,只有一个性质—— consistence 一致性,比如有 (+) :: Int -> Int -> Int ,那 1+"1", 1+0.0 就是无效的, 1.0+1.0 也是无效的。作用域单一没有同名重载,只能约束 (t,t) -> t ,如果各处的 t 是一致的就没问题,否则就错了。 typeclass 也是类似 trait ,其实类似一个小插件,是 (Show t) 拿到实型去查对应 instance ,查到就能选择多态 找到的实现版本而已。
A: 真的不明白 RankN 和有什么关系呢,毕竟 rank 是 polymorphism ,作为 type constraint 为什么会陷入死循环呢🤔,要不谈谈 rev rev=id 吧
B: 那个就是把 0 和 iLast-0 对应吧…… 和 xs.rev()==xs.rev() 不一样,是要 xs.rev().rev()==xs ,怎么解构呢,我区分不出 foldl 和 foldr 啊,函数式分不出调用顺序 理论上不存在栈这东西呢, foldl f v xs = foldr (flip f) v (reverse xs) 啊
A: 问句题外话,为什么不能 add :: Int Int Int 啊,而且遇到 f not p 时中间也得加 $ 或 <$> 的
B: 一个是并列一个是 infix 了,编程语言可没你聪明不知道 not 不是一参数 要加括号
B: 你到底有没有见过正经的 Recursive Type 啊
A: 递归类型是什么,为什么要递归?层数有限制吗?是不是有限性?在无限序列上有限计算 算不算用了递归类型? Py typehint 里 -> "self" 算不算?
B: 肯定不是啦…… self 是 py 作用域设计的问题,3.7 lazy 勉强解决了,和 recursive type 是无关的,这个大概和 Kotlin inference 一碰到就要 workaround 的递归返回值有关吧。
A: 当然基于 car cdr 的 apply transform 我都会,C++ template<T, ...Rest> 嘛
B: 那还真是好普通啊
B: 别灰心嘛,还是需要你们这种布道者的
A: 有时候感觉我们这些做同级翻译或者 LLVM 前端的人写的编译器本质是元编程的一种表现形式,有时候觉得完整的编译原理课又是照本宣科,除了后端都是重复,到底怎么样是好啊。
B: 我看到一个有意思的视频,一排柱子一根根升起,给你一个 i 你能不能做出动画来
A: 动画师估计挺麻烦吧。 普通人可能要求 timerup 后移 单个动画 ,但这个应该建模成 [0, 0], [1,0], [2,0], [2,1] 这样的「逐列递增表」,实际依然靠 i ,但是可以拿到过程中的所有状态。
B: 最方便的大概是直接一个乘除法吧…… 批量计算好
A: 感觉还是做到 assembler 前比较好
B: 你是说 SSA Value 和寄存器分配吧。 分配是独立的算法,但我可以告诉里不分配,完全溢出到栈上也是能实现的。只是要生命期内所有引用,局部 unified 就可以。 作为 stack ptr 参数还是 opcode reg input/out 的区别而已,如果用栈,也无所谓有几个 operand 或有几个AST前层,唯一又能统一的输入输出地址而已。