duangsuse::Echo
583 subscribers
4.12K photos
118 videos
579 files
6.13K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
METO 的涂鸦板
📏 nano 编辑器 4.0 来了
duangsuse::Echo
#Ruby 弄了半天我才知道 Ruby 里 Enumerator 还可以 with_index... 😂 还可以 map(Enumerator).with_index { |a, i| }...
require 'gnuplot'

xs = []; ys = []

_dataset = r.map { |it| it['published'] }
ps = _dataset.sort_by { |d| d.day }.reverse.each { |k| xs << k.day; ys << _dataset.count { |it| it.day == k.day } }

Gnuplot.open do |p|
Gnuplot::Plot.new(p) do |plot|

plot.title "duangsuse::Echo message publish time (all #{ys.size}, day from #{xs.min} to #{xs.max})"
plot.xlabel "day (1-31)"
plot.ylabel "messages count"

plot.data << Gnuplot::DataSet.new([xs, ys]) do |ds|
ds.with = "points"
ds.notitle
end
end
end

然后就可以画出类似下面的统计折线图: 🤔 #Ruby #Gnu #stat #Learn

需要注意的是,gnuplot 比较底层和原始,它不会自动帮你处理好数据集合排序(如果需要的话,比如这里就需要)
弄不好会生成瞎* 🐔 折线图,会包含『反折』的线条角度...

Ruby 的 gnuplot Gem 很简单,之需了解 DataSet 和 Plot、GnuPlot 程序命令行接口的抽象即可

Plot 是图座标系的抽象,包含 title(图表名)、xlabelylabel,也可以设置初始 xrange,它包含的折线们就是 data 数组

DataSet 就是要往 Plot 上画的点集合,每个新画上去的点都有一个 x value 和 y value(可以作为一个 xvalue, yvalue 数组传入 new),并且如果要连线就会和上一个点连接。
DataSet 可以指定是 with 'lines' 'points' 还是 'linespoints'
可以指定 linewidthtitle(这条折线的 title)也可以 notitle
#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
Forwarded from duangsuse Throws
#freedom #gnu 什么?什么叫开源软件都是自由软件?(既视感
#GNU GIMP 好像就有这个功能(XPM) 的说
duangsuse::Echo
#ML #Python 接下来安装一点用于数据分析的东西 pip3 install --user --compile -U pandas matplotlib sklearn 如果有权限你也可以去掉 --user flag,-U 的意思是如果有的话安装更新 我们使用 Python 3,当然,要是有 IPython 和 Spyder 这种为数据分析 REPL 优化的东西就更好了,不过下面直接用 IPython3 现代机器学习算法主要包含概念学习、规则学习、基于解释学习、基于实例学习、遗传学习、强化学习…
还是 sin wave 之类的数据,matplotlib 可以这么用


from math import sin, cos, tan
from numpy import arange, array

from matplotlib import pyplot
from pandas import DataFrame, Series

xs = arange(0, 100, 0.1)
sinys = [sin(x) for x in xs]
cosys = [cos(x) for x in xs]
tanys = [tan(x) for x in xs]

plot.style.use('Solarize_Light2')

DataFrame(array([[xs], [sinys], [cosys], [tanys]]), columns = 'x sin(x) cos(x) tan(x)'.split())
... 不行

def kv(name): return (name, globals()[name])
func_tab = DataFrame.from_items(dict(kv(xs), kv(sinys), kv(cosys), kv(tanys)))
... 不行

waves = DataFrame()
waves['x'] = xs
waves['sin(x)'] = sinys; waves['cos(x)'] = cosys; waves['tan(x)'] = tanys

waves.index.name = 'x'
waves.plot(title='Triangle waves')

就可以得到好看的折线图了,并且非常容易使用

Pandas 的 DataFrame 就是字面意义上的数据框:一打可能有名字(index)的数据序列(pandas.Series)
只需要使用 EDSL(内部领域专属语言)操作它的实例就可以快速获得好看的数据图了,不需要不断去 plot 啊 add seris 再设置 xlabel ylabel 啊,都被良好封装(styles, chart type)了

上面本频道也有过 Ruby + GNUPlot 的版本
#c #cxx #gnu glibc 的 math.h 🤔
Cancel Culture(下台文化)是美国metoo等维权运动中类似“战狼”的作风,RMS受到了这种抵制 #gnu fsf故事
或许你觉得今天fsf没有影响力,但今天自由软件、开源概念却始终贯穿软件工程,在上个世纪它不是唯一的选择——甚至是小众的,因为针对“PC”基础件被商业和共享软件垄断,此外一些人并不乐意开源研究。

" javascript包管理工具lerna成为了第一个行动者,他们修改了自己的开源协议,把包括微软、亚马逊在内的一堆公司列入了“因协助ICE而禁止使用”范围。

Stallman was right变成了互联网meme,但谁来继承他?下一代年轻人还会对这些有兴趣吗?在今天还有人能忍受他这种简朴而单调的拒绝几乎所有科技公司产品的生活,还有人愿意花几十年创造伟大而重要的产品,同时放弃巨大的商业价值当作自由软件让所有人都能使用吗?

RMS经常得罪人,很多人讨厌他,但是他以接近流浪汉的方式生活了一辈子,把大部分时间都投入到软件开发和社区管理中,早年他以一人之力提供了编辑器,编译器,调试器等一系列用来创造软件的软件。在当时,80年代末90年代初,这些技术都是价值连城的商业机密,几乎每一项都可以撑得起一家上市公司,RMS完成了这些东西,以GPL许可证开放开源给人们自由使用(按:当时gcc对程序员的改革性不假,但说是商业机密有点过了。微软当时也有卖basic解释器,但仅靠这个应该不够价值连城,gcc开发是用的 free as 0price的amsterdam cc ,在之前没有通用的c实现开源)

软件相关行业并不是一直都如今天这么光鲜,早年是被认为nerd之类奇怪的人从事的行业,很多人自述来到这个行业,是因为愿意和机器打交道而不愿意接触人。早年工作环境也远没有今天完备,
没有IDE,没有搜索引擎,
没有问答社区,没有github可以抄代码。写程序是孤独面对手册和屏幕,
每一行指令都要节省,每一字节内存都要计算,调试程序和bug需要极强的耐心、技巧和固定操作的无数次重复,而且
计算机运行速度极慢,只有今天主流cpu速度的几千分之一。这类工作对大部分人是难以忍受的,但是对阿斯伯格综合征人士,这倒是一个难得的友好工作环境。
#linux #gnu vim 作者的提交次数热力图在7月淡出

我没有涉及过vim,不过Bram不拿非洲儿童开玩笑,他应该是个好人
和py的Guido一样是荷兰人,23年八月,享年60