#Firefox #Mozilla #Haha 顺便科普一下 #Regex 来表述 『(只要)带一个英文冒号并且(冒号)前面是纯英文』的 URL(URI) 模式就是这样:
比如
这次我们直接上 Perl & PCRE 了(因为 Perl 就是做这个的,AWK 懒得用)。
grep --perl-regexp '\s*\S+\:.*'也即(其实是一个... 呃,方便不会正则的人看,虽然我觉得不会有人不会正则)
SequenceOf如果用 『后行否定断言』
InSet(Spaces).repeatAnyTimes()
NotInSet(Spaces).repeatForAtLeastOneTime()
Character(':')
InSet(All).repeatAnyTimes()
比如
scheme:hierarchical-part 这个的 : 只有在 scheme 这个 [A-Za-z]+(假设我们只允许『常见的』ALPHABETS 集合)后面才匹配这次我们直接上 Perl & PCRE 了(因为 Perl 就是做这个的,AWK 懒得用)。
perl -e 'while ($ln = <STDIN>) { print ($ln =~ m/(?<=[A-Za-z]):.*/) }'
如果用具名组匹配(大家熟悉并且喜欢的 ECMAScript):TODO()Wikipedia
Perl Compatible Regular Expressions
software library for interpreting regular expressions
#Mozilla #ES6 #JavaScript #frontend #backend 啊,的确,不过其实 ES6 很符合直觉嘛,一个 UI 线程管前台,后面 N 个 Worker 执行计算
worker 里面的全局对象叫 self,然后 Worker 也可以通过 Channel 和主线程通信,emmm
然后就不知道了,但是线程同步问题真的是好问题
Android 不也是差不多嘛... 最新的 API 不也没有(好像?)Promise、Sequence 什么的(不过有人用 Observer pattern,跑)
(不过有 AsyncTask,我不知道,嗯嗯)(和 CLR 的 Thread Pool 有点类似,当然 Kotlin 的 Coroutine 也使用这个来解决计算分配的问题)
我只见过用
worker 里面的全局对象叫 self,然后 Worker 也可以通过 Channel 和主线程通信,emmm
然后就不知道了,但是线程同步问题真的是好问题
Android 不也是差不多嘛... 最新的 API 不也没有(好像?)Promise、Sequence 什么的(不过有人用 Observer pattern,跑)
(不过有 AsyncTask,我不知道,嗯嗯)(和 CLR 的 Thread Pool 有点类似,当然 Kotlin 的 Coroutine 也使用这个来解决计算分配的问题)
我只见过用
@MainThread @WorkerThread 的www.infoq.cn
关于Android中工作者线程的思考 - InfoQ
在Android开发过程中,我们经常使用工作者线程,如AsyncTask和线程池。然而我们经常使用的这些工作者线程存在哪些不易察觉的问题呢,关于工作者线程有哪些优化呢,文本将逐一介绍并回答这些问题。
duangsuse::Echo
在 Ruby 里,要把它解析成 List & Object 的形式,只需要利用 Nokogiri: require 'nokogiri' plain = File.read('test.xml') doc = Nokogiri.parse(plain) root = doc.children[0] def collect_real_tags(xml) i = 1; ret = [] while i < xml.size ret << xml[i] i += 2 end …
可惜没有绘制成图表 plot 好看一些 🤔
— 🔗 有 XXX 的消息条数
众所总周知,这种消息一般是很优秀的消息(跑),值得大家观摩,它们分别是:
https://t.me/dsuse/9512
它的总编号是 9512, 不过,因为零基数组微妙的差异(解析的时候用了两次零基数组),得加上 1 才可以
https://t.me/dsuse/9527
https://t.me/dsuse/9541
https://t.me/dsuse/9576
https://t.me/dsuse/9580
https://t.me/dsuse/9585
...
或者详细一点:
#Ruby #Project 一个失败的尝试,但是我也了解了二进制 IO 的一些信息
https:/...
https://t.me/dsuse/9541
https://zhuanlan.zhihu.com/p/60171538
#dotNet
...
https://t.me/dsuse/9576
#Mozilla #ES6 #JavaScript #frontend #backend 啊,的确,不...
https://t.me/dsuse/9580
#tech #CS 来科普一打有趣的信息技术相关知识: 🤗
1. Windows 里的 A: B: ...
https://t.me/dsuse/9585
5. 手机和磁卡放在一起,会不会『消磁』?
== 对于磁卡来说,『消磁』是什么?
以磁性介质存储...
https://t.me/dsuse/9586
6. 世界上第一个网站是什么?
惊闻刘国梁荣当乒协主席,深感高兴。虽然我们未曾有过交集,但乒乓球运动...
https://t.me/dsuse/9605
https://github.com/duangsuse/RandomPicture 我必须得感谢自己...
https://t.me/dsuse/9621
我待会把坑填完... #Android #blogPOst
https://blog.yuuta.m...
https://t.me/dsuse/9637
效率.... 🤐
那既然已经花了很多时间就再多花一点(皮)
演示一下这个功能:
[DuangSU...
https://t.me/dsuse/9638
最后,快速了解一下 #Android 系统服务 (https://blog.yuuta.moe/201...
https://t.me/dsuse/9643
https://github.com/LineageOS/android_frameworks_bas...
https://t.me/dsuse/9645
#blog #recommended https://bindog.github.io/
...
https://t.me/dsuse/9654
#CS #fix 下面我来给大家解释一下停机问题和 NP 困难到底是什么,和我这里提到的 NP-har...
https://t.me/dsuse/9663
现在开始讲解方才 @drakeet 的排序问题
5 没有被手动排序过,5 排在 1 前面,4 被手动...
https://t.me/dsuse/9676
#Android 类似的设计详询 Android Input Methods (https://dev...
https://t.me/dsuse/9684
感谢 @haoyet @eGluZl 等热心用户的建议,YuutaW 主要参照 https://www...
https://t.me/dsuse/9689
#通知
我们的MTProxy已经上线,欢迎使用
点击这里设置代理 (https://t.me/pro...
r.size #=> 187一共统计了 187 条消息。
r.sort_by { |it| it['published'] }.first['published']
=> 2019-03-24 11:22:00 +0800
第一条消息是 2019-03-24 11:22发送的
r.sort_by { |it| it['published'] }.last['published']
=> 2019-04-05 20:06:00 +0800
最后一条消息是2019-04-05 20:06发送的
— 🔗 有 XXX 的消息条数
r.find_all { |it| it['body_type'] == 'HAS_HASHTAGS' }.size
=> 42有 #Telegram Hashtag 的消息,一共有 42 条,约有 20% 的消息被打上了标签
r.find_all { |it| it['body_type'] == 'HAS_LINKS' }.size
=> 37
含链接的消息,一共有 37 条,约有 19% 的消息被打上了标签r.find_all { |it| it['body_type'] == 'HAS_LINKS_AND_HASTAGS' }.size
=> 17
都有的消息有 17 条,占总消息的 9%众所总周知,这种消息一般是很优秀的消息(跑),值得大家观摩,它们分别是:
r.sort_by { |it| it['debug']['no'] }
我们看到,第一条消息是 2019-03-24 11:22:00 的 AXMLParser 广播https://t.me/dsuse/9512
它的总编号是 9512, 不过,因为零基数组微妙的差异(解析的时候用了两次零基数组),得加上 1 才可以
puts r.find_all { |it| it['body_type'] == 'HAS_LINKS_AND_HASTAGS' }.map { |m| "https://t.me/dsuse/#{m['debug']['no'] + 9511 +1}" }.sort.join("\n")
::https://t.me/dsuse/9527
https://t.me/dsuse/9541
https://t.me/dsuse/9576
https://t.me/dsuse/9580
https://t.me/dsuse/9585
...
或者详细一点:
puts r.find_all { |it| it['body_type'] == 'HAS_LINKS_AND_HASTAGS' }.map { |m| "https://t.me/dsuse/#{m['debug']['no'] + 9511 +1}\n#{m['body'][0..50]}...\n" }.sort.join("\n")
https://t.me/dsuse/9527#Ruby #Project 一个失败的尝试,但是我也了解了二进制 IO 的一些信息
https:/...
https://t.me/dsuse/9541
https://zhuanlan.zhihu.com/p/60171538
#dotNet
...
https://t.me/dsuse/9576
#Mozilla #ES6 #JavaScript #frontend #backend 啊,的确,不...
https://t.me/dsuse/9580
#tech #CS 来科普一打有趣的信息技术相关知识: 🤗
1. Windows 里的 A: B: ...
https://t.me/dsuse/9585
5. 手机和磁卡放在一起,会不会『消磁』?
== 对于磁卡来说,『消磁』是什么?
以磁性介质存储...
https://t.me/dsuse/9586
6. 世界上第一个网站是什么?
惊闻刘国梁荣当乒协主席,深感高兴。虽然我们未曾有过交集,但乒乓球运动...
https://t.me/dsuse/9605
https://github.com/duangsuse/RandomPicture 我必须得感谢自己...
https://t.me/dsuse/9621
我待会把坑填完... #Android #blogPOst
https://blog.yuuta.m...
https://t.me/dsuse/9637
效率.... 🤐
那既然已经花了很多时间就再多花一点(皮)
演示一下这个功能:
[DuangSU...
https://t.me/dsuse/9638
最后,快速了解一下 #Android 系统服务 (https://blog.yuuta.moe/201...
https://t.me/dsuse/9643
https://github.com/LineageOS/android_frameworks_bas...
https://t.me/dsuse/9645
#blog #recommended https://bindog.github.io/
...
https://t.me/dsuse/9654
#CS #fix 下面我来给大家解释一下停机问题和 NP 困难到底是什么,和我这里提到的 NP-har...
https://t.me/dsuse/9663
现在开始讲解方才 @drakeet 的排序问题
5 没有被手动排序过,5 排在 1 前面,4 被手动...
https://t.me/dsuse/9676
#Android 类似的设计详询 Android Input Methods (https://dev...
https://t.me/dsuse/9684
感谢 @haoyet @eGluZl 等热心用户的建议,YuutaW 主要参照 https://www...
https://t.me/dsuse/9689
#通知
我们的MTProxy已经上线,欢迎使用
点击这里设置代理 (https://t.me/pro...
Telegram
duangsuse::Echo
AXMLParser parser = new AXMLParser(apkFileInputStream);
int eventType = parser.getType();
while (eventType != AXMLParser.END_DOCUMENT) {
String parserName = parser.getName();
boolean isManifest = "manifest".equals(parserName);
[...]
eventType…
int eventType = parser.getType();
while (eventType != AXMLParser.END_DOCUMENT) {
String parserName = parser.getName();
boolean isManifest = "manifest".equals(parserName);
[...]
eventType…
duangsuse::Echo
可惜没有绘制成图表 plot 好看一些 🤔 r.size #=> 187 一共统计了 187 条消息。 r.sort_by { |it| it['published'] }.first['published'] => 2019-03-24 11:22:00 +0800 第一条消息是 2019-03-24 11:22 发送的 r.sort_by { |it| it['published'] }.last['published'] => 2019-04-05 20:06:00 +0800 最后一条消息是…
😃 那么,简而言之,我觉得有价值的信息:
2019-03-24 11:22 - 2019-04-05 20:06,一共两个星期的时间里,本频道 @dsuse
+ 有 #Telegram Hashtag 的消息,一共有 42 条,约有 20% 的消息被打上了标签
+ 含链接的消息,一共有 37 条,约有 19% 的消息被打上了标签
+ 链接和 Tag 都有的消息有 17 条,占总消息的 9%
+ 187 条消息里,折行最多的消息是这条,它有 4232 个字和 7 条链接。
当然,这 70 条都是回复本频道消息的。
IT 那点事 (YuutaW 鱼塔): 10
羽毛的小白板: 10
duangsuse Throws: 6
Rachel 碎碎念 (IFTTT): 5
Rachel 的消息发布站点 (Rachel Miracle.) via @like: 3
YSC 的频道: 2
duangsuse ¯\_(ツ)_/¯ |学渣 | 我爱学习 | ∈ [E²PROM, 范畴论]: 2
Doge: 2
YuutaW 鱼塔: 2
Rachel 碎碎念 (湘江一桥): 2
DogeSpeed广播: 1
😄 @haneko_daily 被转发的次数最多,继续努力!
😳: 4
😲: 3
😡: 2
😑: 2
🙄: 2
😋: 2
😀: 2
😥: 2
🍹: 1
😐: 1
最火的 hashtags 组合:
所有 Hashtags:
以及他们的消息覆盖个数:
== 非线性查询(当然和算法上那个没有关系啦,就是复杂一点的查询)
// 收集所有单 / 双数索引
受到解析度(只到分钟)和浮点运算准确度的影响,有很多消息都是在间隔一分钟内发完的,统计结果可能不正确。
好啦,还有什么别的信息,请大家自己来发掘呗( 😝 比如说,我熬夜发过多少消息。
def get_link(h); "https://t.me/dsuse/#{h['debug']['no'] + 9511 + 20}"; end
+ 一共统计了 187 条消息。2019-03-24 11:22 - 2019-04-05 20:06,一共两个星期的时间里,本频道 @dsuse
+ 有 #Telegram Hashtag 的消息,一共有 42 条,约有 20% 的消息被打上了标签
+ 含链接的消息,一共有 37 条,约有 19% 的消息被打上了标签
+ 链接和 Tag 都有的消息有 17 条,占总消息的 9%
map { |h| [h['body'].size, h] }.sort_by { |it| it.first }.reverse
map { |h| [h['body'].size, h] }.sort_by { |it| it.first }.reverse.first[1]['links'].size
+ 187 条消息里,最长的消息是这条,它有 4475 个字 — 连链接都有 25 条! 🤪+ 187 条消息里,折行最多的消息是这条,它有 4232 个字和 7 条链接。
sum { |it| it['body'].size } / size
+ duangsuse 的平均字数:359 字 / 消息sum { |it| it['body'].lines.size } / size
+ duangsuse 的平均行数:11 行 / 消息find_all { |it| it['header_type'] == 'REPLY' }.size
+ 过去的 187 条消息里,有 70 条都是回复,占总量 37%find_all { |it| it['header_type'] == 'FORWARDED' }.size
+ 过去的 187 条消息里,有 45 是转发自其他频道或个人的,占总量 24%当然,这 70 条都是回复本频道消息的。
a.uniq.map { |u| [u, a.count(u)] }.sort_by { |it| it.last }.reverse.to_h.each { |e| puts "#{e.first}: #{e.last}" }
+ 转发者和条数表如下:IT 那点事 (YuutaW 鱼塔): 10
羽毛的小白板: 10
duangsuse Throws: 6
Rachel 碎碎念 (IFTTT): 5
Rachel 的消息发布站点 (Rachel Miracle.) via @like: 3
YSC 的频道: 2
duangsuse ¯\_(ツ)_/¯ |学渣 | 我爱学习 | ∈ [E²PROM, 范畴论]: 2
Doge: 2
YuutaW 鱼塔: 2
Rachel 碎碎念 (湘江一桥): 2
DogeSpeed广播: 1
😄 @haneko_daily 被转发的次数最多,继续努力!
sort_by { |it| it['hashtags'].size }.reverse
+ 具有最多标签的消息是这条,它有足足 8 条标签!sort_by { |it| it['links'].size }.reverse.first
+ 具有最多链接的消息是这条,它有 25 条链接!同时也是字数最多的消息!find_all { |it| it['header_type'] == 'A_PHOTO' }.size
过去 187 条消息里,一共有 29 条广播是单纯的一个照片 🖼find_all { |it| it['header_type'] == 'A_ALBUM' }.size
过去 187 条消息里,一共有 5 条广播是照片集 📸find_all { |it| it['header_type'] == 'IS_STICKER' }.size
可爱 🐱 的 duangsuse 在过去 187 条消息里使用了 28 个 sticker 抒发自己的感情,使用的表情这么多:find_all { |it| it['header_type'] == 'IS_STICKER' }.collect { |it| it['ext'] }.yield_self { |r| r.uniq.map { |u| [u, r.count(u)] }.sort_by { |it| it.last }.reverse.to_h.each { |e| puts "#{e.first}: #{e.last}" } }
😔: 7😳: 4
😲: 3
😡: 2
😑: 2
🙄: 2
😋: 2
😀: 2
😥: 2
🍹: 1
😐: 1
find_all { |it| it['header_type'] == 'HAS_FILE' }.size
duangsuse 在过去 187 条消息里发了 8 个文件,它们是:find_all { |it| it['header_type'] == 'HAS_FILE' }.collect { |it| it['ext'] }
["axml.rb", "AndroidManifest.xml", "AndroidManifest.xml", "TextSort.kt", "RandomPicture.kt", "Vibrator.svg", "Vibrator.png", "Vibrator.svg"]最火的 hashtags 组合:
collect { |it| it['hashtags'] }.yield_self { |r| r.uniq.map { |u| [u, r.count(u)] }.sort_by { |it| it.last }.reverse.to_h.each { |e| puts "#{e.first}: #{e.last}" } }
结果太长,在这里查看所有 Hashtags:
hs = s.flatten.find_all { |it| it.is_a? Array }.flatten.map { |s| s.tr(" ", "") }
"#" + hs.uniq.join(' #')
#Android #zhihu #KDE #Low #Haha #life #tech #tencent #WeChat #weibo #share #tools #dev #Markups #Telegram #Hack #aop #Huawei #通知 #Freedom #sysadmin #GitHub #travis #CI #Sysadmin #Linux #Coolapk #Web #frontend #HTML #China #school #Microsoft #Life #VisualStudio #-} #OOP #web #geekapk #doge #CS #fix #CSharp #School #blog #recommended #bin #backend #Kotlin #Java #Share #svg #blogPOst #PL #JVM #Moha #code #ALgotithm #DuangsuseSB #GeekApk #SQL #Learn #wiki #Mozilla #ES6 #JavaScript #MoHa #Paper #haha #dotnet #bad #OOP_Delegates #Parallelism #dotNet #Csharp #Windows #performance #Channel #weekly #linux #Ruby #Project以及他们的消息覆盖个数:
hs.yield_self { |r| r.uniq.map { |u| [u, r.count(u)] }.sort_by { |it| it.last }.reverse.to_h.each { |e| puts "#{e.first}: #{e.last}" } }
太长,这里看== 非线性查询(当然和算法上那个没有关系啦,就是复杂一点的查询)
// 收集所有单 / 双数索引
ar = []; ar2 = []
i = 0 // 0 2 4 6
while i < self.size; ar << self[i]; i += 2; end
i = 1 // 1 3 5 7
while i < self.size; ar << self[i]; i += 2; end
aa = ar.zip(ar2)
我们将比较相邻两消息之间的关系。aa.zip(aa.map { |ms| ms.last['published'] - ms.first['published'] }).sort_by { |p| p.last }.reverse
间隔最长的两条消息是这条和这条,间隔 44880 秒(12 小时)b.map { |h| [h.last, h.first.first['body'].size ] }.map { |a| a.last / a.first }.select { |it| not it.nan? and not it.infinite? }.sort.reverse
平均打字速度:7 字 / 秒 🤔受到解析度(只到分钟)和浮点运算准确度的影响,有很多消息都是在间隔一分钟内发完的,统计结果可能不正确。
好啦,还有什么别的信息,请大家自己来发掘呗( 😝 比如说,我熬夜发过多少消息。
Telegram
duangsuse::Echo
AXMLParser parser = new AXMLParser(apkFileInputStream);
int eventType = parser.getType();
while (eventType != AXMLParser.END_DOCUMENT) {
String parserName = parser.getName();
boolean isManifest = "manifest".equals(parserName);
[...]
eventType…
int eventType = parser.getType();
while (eventType != AXMLParser.END_DOCUMENT) {
String parserName = parser.getName();
boolean isManifest = "manifest".equals(parserName);
[...]
eventType…
#life #dev duangsuse 落实 10:30 准时睡觉『政策』。 🐱
考虑到健康原因(不让自己的努力白费),每晚 10:30(h:m) 必须立即睡觉
== duangsuse::Echo 参考 #Telegram hashtags
duangsuse::Echo 常年利用 hastags 标记消息所含知识领域,并且,这也会为未来 Echo 频道进行简单准确的数据统计带来可能(不然,我也有其他手段,比如 NLP、统计预测)
以下是新的标签实例(不区分大小写、不能保证消息只含这些标签):
== 消息平台部分
#Telegram #zhihu #Github #so #Coolapk #book #wiki
== 注释部分
#life #China #School #Statement #lib #recommended #low #fix
#project #blog #share #Learn #paper
#dev #tech #art #meetUp #conference
#Moha #Haha
#gnu
#Microsoft #Mozilla #WeChat #QQ #Weibo #Tencent #Baidu #Ali #Qihoo
#tools #code
== 程序设计语言部分
#Kotlin #Java #JavaScript #JavaScript_ES6 #TypeScript
#Rust #Go #Swift #Dart #Crystal
#Ruby #Python #Perl #Tcl #Lua #PHP
#C #D #Cplusplus #CSharp #Objc
#Pascal #Fortran #Delphi #Ada #Basic #VisualBasic
#Scheme #Haskell #Scala #Clojure
#TeX #Graphviz
#Octave #Matlab
#Shell
(有些写出来是为了鼓励我去写,其实不一定真的写过)
== 软件平台部分
#Android #Windows #Win32 #MacOS #Java #Java_JVM #CLR #Qt #GTK #Tk #WxWidgets
#CSS #XML #JSON #KDE #Postgres #dotnet
== 软件技术领域部分
#backend #sysadmin #frontend #sysadmin_net
#OI #CS #IT #Informatics
#stat #ann #ann_dnn #machl
#math #math_linearAlgebra #math_discrete
#se #se_dia #se_ci #se_ee
#comm #net #www #web #http #html #mail #wireless
#circuit #embedded #os #db #db_relAlgebra #SQL
#bin #encoding #encoding_audio #encoding_image #encoding_video #encoding_text
#hpc #parallelism #distributed #simd #gpgpu #crypto
#pl #pl_plt #ce_vee #ce #ce_optimize #fp_monad #fp_proof #fp #oop #oop_arch #sp #parser
#algorithm #struct #lists #maps #sets
#security #security_lowlevel
#signalProc #nlp #phonetic
#cg #cg_dip #cg_3d #cg_2d #cg_lowlevel
#gui #gui_animation #gui_layouts #cli #visualization
考虑到健康原因(不让自己的努力白费),每晚 10:30(h:m) 必须立即睡觉
== duangsuse::Echo 参考 #Telegram hashtags
duangsuse::Echo 常年利用 hastags 标记消息所含知识领域,并且,这也会为未来 Echo 频道进行简单准确的数据统计带来可能(不然,我也有其他手段,比如 NLP、统计预测)
以下是新的标签实例(不区分大小写、不能保证消息只含这些标签):
== 消息平台部分
#Telegram #zhihu #Github #so #Coolapk #book #wiki
== 注释部分
#life #China #School #Statement #lib #recommended #low #fix
#project #blog #share #Learn #paper
#dev #tech #art #meetUp #conference
#Moha #Haha
#gnu
#Microsoft #Mozilla #WeChat #QQ #Weibo #Tencent #Baidu #Ali #Qihoo
#tools #code
== 程序设计语言部分
#Kotlin #Java #JavaScript #JavaScript_ES6 #TypeScript
#Rust #Go #Swift #Dart #Crystal
#Ruby #Python #Perl #Tcl #Lua #PHP
#C #D #Cplusplus #CSharp #Objc
#Pascal #Fortran #Delphi #Ada #Basic #VisualBasic
#Scheme #Haskell #Scala #Clojure
#TeX #Graphviz
#Octave #Matlab
#Shell
(有些写出来是为了鼓励我去写,其实不一定真的写过)
== 软件平台部分
#Android #Windows #Win32 #MacOS #Java #Java_JVM #CLR #Qt #GTK #Tk #WxWidgets
#CSS #XML #JSON #KDE #Postgres #dotnet
== 软件技术领域部分
#backend #sysadmin #frontend #sysadmin_net
#OI #CS #IT #Informatics
#stat #ann #ann_dnn #machl
#math #math_linearAlgebra #math_discrete
#se #se_dia #se_ci #se_ee
#comm #net #www #web #http #html #mail #wireless
#circuit #embedded #os #db #db_relAlgebra #SQL
#bin #encoding #encoding_audio #encoding_image #encoding_video #encoding_text
#hpc #parallelism #distributed #simd #gpgpu #crypto
#pl #pl_plt #ce_vee #ce #ce_optimize #fp_monad #fp_proof #fp #oop #oop_arch #sp #parser
#algorithm #struct #lists #maps #sets
#security #security_lowlevel
#signalProc #nlp #phonetic
#cg #cg_dip #cg_3d #cg_2d #cg_lowlevel
#gui #gui_animation #gui_layouts #cli #visualization
许多用户发现他们存储在附加组件中的书签丢失了。 #Mozilla 一个3d主页插件……
Mozilla 由于组件违反其条款而封禁了 FVD Speed Dial 附加组件,并且将其从用户的浏览器中自动移除。
https://www.ghacks.net/2021/11/24/mozilla-bans-the-fvd-speed-dial-extension-from-firefox/
Mozilla 由于组件违反其条款而封禁了 FVD Speed Dial 附加组件,并且将其从用户的浏览器中自动移除。
https://www.ghacks.net/2021/11/24/mozilla-bans-the-fvd-speed-dial-extension-from-firefox/
gHacks
FVD Speed Dial Firefox banned and removed by Mozilla - gHacks Tech New
Mozilla has banned the FVD Speed Dial extension from the AMO. It has also been removed from Firefox installs, and users aren't happy.
> https://t.me/dsuse/1064
https://bellard.org/otcc/otccn.c 是tccboot所用JIT编译的最简版
呃.. 第一次见到 wiki 编辑战
小时候(高中) 很喜欢 #mozilla #Rust ,还写了这个(列表处理)程序
大概就是暗暗觉得……高性能又开源(根正描红的那种,练习时长两年半只为开源语言,太感人了)
后来看的就淡了,因为rust真的很(烧脑?)
—
我觉得能和 C FFI 的某种意义上都是系统,比如 py 的嵌入式GPIO libs
.Net 有P/Invoke和struct{}, 栈分配 啊,他们可能觉得入选 osdev.wiki 才叫系统编程
无非就是FFI和struct指针的问题,既然 py (cffi能读写指针), .Net unsafe marshall 支持二进制,也是能实现OSkrnl的需求
但KN 不是,因为强类型强检查 弱框架,写着麻烦
系统级就是你可以用来写内核和驱动
这个 lunatik 能在内核层开启 #Lua REPL
这个 https://duskos.org/#operator 类似 tccboot, 但是嵌入式的
https://bellard.org/otcc/otccn.c 是tccboot所用JIT编译的最简版
呃.. 第一次见到 wiki 编辑战
小时候(高中) 很喜欢 #mozilla #Rust ,还写了这个(列表处理)程序
大概就是暗暗觉得……高性能又开源(根正描红的那种,练习时长两年半只为开源语言,太感人了)
后来看的就淡了,因为rust真的很(烧脑?)
—
我觉得能和 C FFI 的某种意义上都是系统,比如 py 的嵌入式GPIO libs
.Net 有P/Invoke和struct{}, 栈分配 啊,他们可能觉得入选 osdev.wiki 才叫系统编程
无非就是FFI和struct指针的问题,既然 py (cffi能读写指针), .Net unsafe marshall 支持二进制,也是能实现OSkrnl的需求
但KN 不是,因为强类型强检查 弱框架,写着麻烦
系统级就是你可以用来写内核和驱动
这个 lunatik 能在内核层开启 #Lua REPL
这个 https://duskos.org/#operator 类似 tccboot, 但是嵌入式的
Telegram
duangsuse::Echo
TCC还有一个编译Linux到内存然后直接跑起来的buff( 还没有编译过Linux内核的咸鱼们可以来体验一下廉价的内核编译 ~~虽然是全自动的~~.
只需一TCCBOOT, 一64MiB内存 x86机, 大约1s的二十倍时间即可体验.
TCC is distributed under the GNU Lesser General Public License.
tar -xf qemu_tccboot.tar.gz&&qemu-system-i386 -kernel tccboot -initrd…
只需一TCCBOOT, 一64MiB内存 x86机, 大约1s的二十倍时间即可体验.
TCC is distributed under the GNU Lesser General Public License.
tar -xf qemu_tccboot.tar.gz&&qemu-system-i386 -kernel tccboot -initrd…
❤2
Forwarded from 层叠 - The Cascading
Mozilla 发布 llamafile,将 LLM 模型打包为「跨系统」的单文件可执行格式。
llamafile 可以利用 llama.cpp 及 Cosmopolitan Libc 将 LLM 模型(它们通常有至少数 GB 大小)的命令行版本或网页版本打包为单个可执行文件,并可在 Windows、macOS、Linux,甚至 BSD 系系统上执行。
- https://github.com/Mozilla-Ocho/llamafile
- https://hacks.mozilla.org/2023/11/introducing-llamafile/
#Mozilla
llamafile 可以利用 llama.cpp 及 Cosmopolitan Libc 将 LLM 模型(它们通常有至少数 GB 大小)的命令行版本或网页版本打包为单个可执行文件,并可在 Windows、macOS、Linux,甚至 BSD 系系统上执行。
- https://github.com/Mozilla-Ocho/llamafile
- https://hacks.mozilla.org/2023/11/introducing-llamafile/
#Mozilla
GitHub
GitHub - mozilla-ai/llamafile: Distribute and run LLMs with a single file.
Distribute and run LLMs with a single file. Contribute to mozilla-ai/llamafile development by creating an account on GitHub.
Forwarded from 层叠 - The Cascading
Igalia 在 FOSDEM 2024 上讲解其接手 Servo 开发后的进展。
- Servo 原为 Mozilla 的实验性项目,是一个用 Rust 语言开发的浏览器引擎。2020 年,Mozilla 的一次裁员裁退了整个 Servo 团队。
- 2023 年九月,Mozilla 将 Servo 捐献给 Linux Foundation,尔后 Igalia 的团队成员接手 Servo 开发。
https://news.itsfoss.com/servo-rust-web-engine/
seealso: HackerNews:39269949
#Mozilla #Igalia #Servo
- Servo 原为 Mozilla 的实验性项目,是一个用 Rust 语言开发的浏览器引擎。2020 年,Mozilla 的一次裁员裁退了整个 Servo 团队。
- 2023 年九月,Mozilla 将 Servo 捐献给 Linux Foundation,尔后 Igalia 的团队成员接手 Servo 开发。
https://news.itsfoss.com/servo-rust-web-engine/
seealso: HackerNews:39269949
#Mozilla #Igalia #Servo
It's FOSS
Mozilla's Abandoned Web Engine 'Servo' Project is Getting a Well-Deserved Reboot in 2024
What if I tell you that the 'Servo' web engine performs faster on Raspberry Pi compared to Chromium? Get more details here!
Forwarded from 层叠 - The Cascading
Mozilla 更新对 Prompt API 的观点:依旧反对。
- Prompt API 是 Chrome 团队提出的新 Web API 草案,允许网页调用 LLM。 [1]
- 此 API 目前在 Chrome 测试中,用户可通过表单申请参与测试 [2];Chrome 148 中将正式发布。
- 根据 Google 文档,Chrome 中会使用 Gemini Nano 模型,用户在使用时需要遵守 Google 相关条款 [3]。
- Mozilla 的主要担忧是网页无法从此 API 中得知所使用的模型,这会带来 system prompt 兼容性问题;亦会存在违反条款风险。
- Mozilla 还提到 Google 宣称开发者强烈支持此 API 的说法站不住脚。
- WebKit 的观点提到 Web 开发者并不愿意使用结果质量无法预估的 Web API(例如 Chromium 团队提出的 Shape Detection API);以及在 fingerprinting 方面的隐私顾虑 [4]。
gh:mozilla/standards-positions#1213
seealso: HackerNews:47959463
1. https://webmachinelearning.github.io/prompt-api/
2. https://developer.chrome.com/docs/ai/join-epp
3. developer.chrome.com/~
4. gh:WebKit/standards-positions#495
#Mozilla #Chrome
- Prompt API 是 Chrome 团队提出的新 Web API 草案,允许网页调用 LLM。 [1]
- 此 API 目前在 Chrome 测试中,用户可通过表单申请参与测试 [2];Chrome 148 中将正式发布。
- 根据 Google 文档,Chrome 中会使用 Gemini Nano 模型,用户在使用时需要遵守 Google 相关条款 [3]。
- Mozilla 的主要担忧是网页无法从此 API 中得知所使用的模型,这会带来 system prompt 兼容性问题;亦会存在违反条款风险。
- Mozilla 还提到 Google 宣称开发者强烈支持此 API 的说法站不住脚。
- WebKit 的观点提到 Web 开发者并不愿意使用结果质量无法预估的 Web API(例如 Chromium 团队提出的 Shape Detection API);以及在 fingerprinting 方面的隐私顾虑 [4]。
gh:mozilla/standards-positions#1213
seealso: HackerNews:47959463
1. https://webmachinelearning.github.io/prompt-api/
2. https://developer.chrome.com/docs/ai/join-epp
3. developer.chrome.com/~
4. gh:WebKit/standards-positions#495
#Mozilla #Chrome
GitHub
Prompt API · Issue #1213 · mozilla/standards-positions
Specification title Prompt API Specification or proposal URL (if available) No response Explainer URL (if available) https://github.com/webmachinelearning/prompt-api/blob/main/README.md Proposal au...