O哥闲扯淡: 回帖狂魔大哥

话说STEEM上一个大哥,是回帖狂魔。对,又是一大哥,不过这大哥既不是把私钥放QQ签名,也不是转发狂魔那个,这是一个崭新的大哥。大哥旁白:我哭😭


(图源 :pixabay)

萌新大哥不懂回复

当大哥还是STEEMIT上一枚萌新的时候,大哥是不屑于回帖的。用大哥的话说:“大家不是都忙着刷钱吗?回帖岂不是很浪费时间?在STEEMIT上,那就是一寸光阴一寸金啊!”

然而,大哥闷头刷了一段时间之后,发现一寸光阴一寸金,并没有成为现实,话说光阴花了不少,金在哪里呢?大哥觉得受到了一万点的伤害,就好比当初读书时,被老师骗书中自有黄金屋,书中自有颜如玉,然而读了几十年的书,也没找到黄金屋在哪,倒是有些禁书中有颜如玉的身影,咳咳,跑题了。

总之,大哥很伤心。但是大哥的人生座右铭就是越挫越勇,这点困难算什么,岂能打倒坚强的大哥。于是大哥在深入的研究之后,得出了一个结论,那就是要回帖、到处回帖、大量的回帖。总结一下就是:回帖混脸熟

大哥化身回帖狂魔

大哥得出这结论之后,就开始丧心病狂的回帖,英文帖子看不懂,没关系,回个“Nice Post”总归不会有大错。

至于中文帖子就更简单了,那些发美食的,就去回“看起来就很好吃”;那些发风景照片的,就去回:“好漂亮啊”;那些发旅游贴的,就去回:“真羡慕啊,希望哪天我也能去。”;那些晒娃的,就去回“娃娃看起来好可爱好聪明啊”;那些分享经验的,就去回:“感谢你的分享,STEEMIT有你更精彩”……

最乌龙的一次,有人发狗粮加了food标签,大哥直接就去回:“好美味啊,看着就饿”,不过还别说,这个回复得到了好多点赞,小小的赚了一笔呢。

回帖狂魔受到伤害

总之大哥自认为找到了STEEMIT上发家致富的秘籍,变身回帖狂魔了。然而,一段时间之后,大哥发现貌似回了这么久,并没有什么效果。搭理大哥的人很少很少,更不用说粉丝数增加,以及帖子收益增长了。

问题出在哪里呢?大哥粗略了解了一下,那些热门帖子,回复多达几百上千条,有些回的比较好的帖子,得到了大家的一致认同,被点的高高在上;而一些回复者为了自己的回复曝光率增加,自己把自己的回复点得很高。所以大哥既没内容又没有SP自己顶上来的回复,当然沉底了。

好吧, 会老外热门贴这路子有难度,那么我在中文区回的那些帖子为啥也没人看呢。大哥仔细研究了一下,类似看起来就很好吃好漂亮啊,在同一个美食帖、旅游贴下边至少有个十条八条。你说你们都长一样的回复,让作者情何以堪啊?更郁闷的是,大哥发现了几个机器人回的帖子,都得到作者的回复。原因无它,机器人回的帖子都比大哥回的看起来真诚。

这还不算最惨的,大哥发现自己的好些条回复被踩灰了,踩灰了,灰了(此处重复1W次)。原因竟然是被人当做回帖机器人,说神马发SPAM。我日啊,SPAM是啥玩意,大哥觉得受到了两万点的伤害。我咋就变成了机器人呢?

结局

大哥最后痛定思痛,决定不在做一个简单的回帖狂魔了,刷一些毫无意义的回复,并不会得到别人的关注,也不会交到朋友。所以大哥决定,要真诚的与大家互动

然而,大哥又遇到一个新问题,原本刷回复,都不用看帖子内容,只要看一下帖子标题和标签,多说再瞄一眼封面图,就可以回复了。要真诚的回复,总该好好看看帖子吧,毕竟在狗粮底下回复好饿这事说起来有点惭愧。但是好好看贴,又回到了一寸光阴一寸金,哪有那么多时间看帖,用一句流行的话来讲:臣妾做不到啊!

于是大哥在想,要不要也搞个回复机器人呢?看人家机器人的回复都挺真诚的。只是,这样的回复真的真诚吗?大哥陷入到深深的迷惘之中……


This page is synchronized from the post: O哥闲扯淡: 回帖狂魔大哥

用数据说话:有效STEEM POWER 与发帖收益、点赞收益对照表

大概7个月以前,我曾经发文列举过有效SP与点赞收益的对照表。现在时间已经过了大半年之久,半年前的数据当然没有什么价值了。所有我今天用了一点时间重新弄了一下这几组数据,希望能给大家一点参考。

前提条件

为了便于计算,我们假定了一些条件和前提,尽管这些条件看起来挺复杂,但是实际情况并没有与这个相差悬殊。甚至如果刻意控制,完全符合条件也不是没有可能

  • 按当前奖励池状况以及STEEM价格计算
  • 用户Voting Power 保持100%
  • 用户每当Voting Power恢复至100%时点出去权重为100%的upvote
  • 用户每天投十票
  • 不考虑早鸟惩罚,亦不考虑给别的点赞者抬轿问题

喂价与市场价

Feed Price: 3.928 SBD/STEEM
Market Price: 0.900 SBD/STEEM

数据报表

SP与文章显示收益

这个列表显示了SP持有者,给文章点赞,会给文章增加SBD的数目
SP | PR/Post | PR/Day | PR/Month
—-|—-|—-|—-
1000|0.284|2.836|85.074
2000|0.567|5.672|170.149
5000|1.418|14.179|425.372
10000|2.836|28.358|850.745
50000|14.179|141.791|4253.723
100000|28.358|283.582|8507.445

SP与真实创造收益(In STEEM Power)

上述报表的显示收益,因为喂价与市场价偏差,导致并不准确,所以我们可能会更关心真实收益是多少。这个报表显示的是按STEEM POWER核算的真实收益,包括作者收益和点赞收益。
SP | R(P&R)/Post | R(P&R)/Day |R(P&R)/Month
—-|—-|—-|—-
1000|0.072|0.722|21.658
2000|0.144|1.444|43.317
5000|0.361|3.610|108.292
10000|0.722|7.219|216.585
50000|3.610|36.097|1082.923
100000|7.219|72.195|2165.846

SP与真实创造收益(In SDB)

或许将真实收益用SBD表示更直观一些,这个报表就是如此,我们按市场价将SP核算成SBD。同样包括作者收益和点赞收益。

SP R(P&R)/Post R(P&R)/Day R(P&R)/Month
1000 0.174 1.743 52.282
2000 0.349 3.485 104.564
5000 0.871 8.714 261.410
10000 1.743 17.427 522.821
50000 8.714 87.137 2614.104
100000 17.427 174.274 5228.208

SP与点赞收益(In STEEM POWER)

如果我们不用来发文,只用来点赞,那么一般来讲,我们的点赞收益应该在这个范围。

SP CR/Post CR/Day CR/Month
1000 0.018 0.180 5.415
2000 0.036 0.361 10.829
5000 0.090 0.902 27.073
10000 0.180 1.805 54.146
50000 0.902 9.024 270.731
100000 1.805 18.049 541.462

SP与点赞收益(In SBD)

点赞收益实际发放都是STEEM POWER,尽管STEEM POWER变现需要先POWER DOWN,但是我们按市场价核算一下,还是没问题的。

SP CR/Post CR/Day CR/Month
1000 0.016 0.162 4.872
2000 0.032 0.325 9.745
5000 0.081 0.812 24.362
10000 0.162 1.624 48.724
50000 0.812 8.121 243.621
100000 1.624 16.241 487.243

结论

投资SP并想获得回报的,那么应该关注一下SP与真实创造收益(In SDB)这个表,达到这个收益了,说明你的投资符合STEEM区块链上的投资收益平均值。

另外可以关注一下SP与点赞收益(In SBD)SP与真实创造收益(In SDB)的对比,通过对比我们不难发现,两者收益相差十数倍。对于那些不发文还给你点赞的,该如何感谢才好?


This page is synchronized from the post: 用数据说话:有效STEEM POWER 与发帖收益、点赞收益对照表

O哥闲扯淡: 转发才是真爱粉吗?

话说STEEM上一个大哥,我追随已久。对,又是一大哥,不过这个大哥不是把私钥放QQ签名里的大哥了,是另外一个大哥。话说,你可能会问怎么总拿大哥说事?答案当然是妹纸们漂亮啊,做啥都有理。


(图源 :pixabay)

言归正传,这大哥的文章吧,说好不好,说滥也不太滥,STEEMIT上的文章大多都是这个水准,包括我自己的文章。他偶尔分享一些生活中的趣事和想法之类的,挺有意思的,有时看着颇有感触,不免会心一笑,就这样看了他文章好几个月。

可是最近大哥热衷于一个新操作,那就是转发好友文章。于是乎我打开STEEMIT,满屏都是大哥转发的文章,以至于我要拖拽好久,才能从浩如烟海的信息中找到其它我关注的内容。

对转发功能的探索

说到转发,我还真没少研究过,再转发功能刚刚上线的时候,我就写文章介绍过,那时候,这个功能英文名叫reblog,现在则改成resteem。

后来我还专门做了一个丑陋无比的检查谁转发了你的文章的网页工具,在这篇文章中,我还引用了一个好友的观点:转发才是真爱粉!。并且通过这个工具,我还发现了STEEMIT公司的创始人之一还转发过我的文章呢。

之后,我还专门写过一篇文章,介绍如何使用SteemConnect转发7天以上的文章。这个问题也是常常被问起的,为什么七天以上的文章无法被转发?,按我文中的介绍方法,你就可以转发任意的文章了。

对于转发的态度

在我7个月以前的一篇文章《那年夏天》下边,@deanliu 老师评论到:

我極少resteem中文文章的,也許從來不曾。但這篇值此殊榮。說真的,比起點讚,我可能更在乎我的resteem了。

其实刘老师的观点,也是我的观点,并且对于重度强迫患者而言,我在转发这个问题上更是颇具洁癖。所以我的读者应该可以感受到,我很少转发别人的文章。除非是我认为特别有意义或者对我的读者具有价值的。

转发不是收藏

造成我对转发的洁癖还有一个很重要的原因就是:转发不是收藏!我们在阅读网页的时候,看到有价值的网页,那么就随手加进书签;在微信朋友圈看到好文章的时候,也经常点一下收藏按钮。这甚至成为了习惯,没觉得也确实没有什么不妥。

然而,STEEM的转发功能,和我们所理解的收藏功能是大相径庭的,主要有亮点:

  • 转发之后无法撤销
  • 转发的内容会在你的博客主页和你追随者的订阅页显示

转发内容在博客主页和追随者订阅页显示,也就是说相当于转发的文章推送给你的所有读者。将转发的内容和博客内容分开显示的呼声一直存在,但是STEEMIT一直未做改进。当然,这也可能是转发功能设计的初衷——将转发内容推送给追随者。

结局

继续回到大哥的例子,大哥转发了一些别人的文章,因为他是“别人”的真爱粉。甚至无论文章好坏,通通转发,或许只是因为“转发才是真爱粉”这句伪命题。

然而面对大哥铺天盖地的转发信息,作为追随了大哥数月之久的真爱粉,我觉得受到了极大的伤害。我关注你,是为了看一些或者有趣或者有价值的内容,但是你给我看一堆垃圾,并且这堆垃圾还占据了我的家门口,导致我进屋都困难,这我如何能够忍受?

这真是真爱粉伤害了真爱粉!

于是作为大哥的真爱粉,我只好默默地点击了Unfollow,再见大哥,既然做你的粉丝很累,那么就做个路人好了。或许我偶尔还会点进你的主页看你分享的趣事,但这已不是我每天必作的功课了。


关联阅读


This page is synchronized from the post: O哥闲扯淡: 转发才是真爱粉吗?

每天进步一点点:Python中使用Requests访问STEEM RPC

在之前的系列文章中,我们一起探讨过STEEM的RPC,并且不止一次使用curl来演示访问STEEM的RPC节点。今天我们换一种玩法,使用Requests访问STEEM RPC节点。

使用curl命令

在介绍Requests之前,为了便于更好的引出问题以及对比,我们回顾一下如何使用curl命令访问STEEM RPC节点。

比如在今天早些时候的帖子中,我就演示了如何使用公钥从STEEM区块链中获取用户名。

curl --data '{"jsonrpc": "2.0", "method": "call", "params": ["account_by_key_api", "get_key_references", [["STM6MGdForcZ8HskcguP84QSCb8udgz7W9yUPU5jtsAKQAxth3U16"]]], "id": 1}' https://api.steemit.com

使用curl来演示,有一个好处就是读者可以直接拿来测试,复制、粘贴即可,无需编写任何代码。但是弊端也是有的,比如我们想对结果进行一些处理,直接用curl就傻眼了。

当然了,办法总是比问题多的,据我所知,可以使用subprocess来调用命令,或者使用PycURL,或者使用urlib,当然了,还有Requests 。这篇文章就先介绍一下Requests 。

Requests 安装

如果你的Python还没有安装Requests 库,那么使用之前,你需要先安装它。

运行如下命令即可:
pip install requests
超级简单有木有?

使用Requests访问STEEM RPC 节点

好了,现在我们就可以使用requests来访问STEEM RPC节点啦

还是用我们之前的例子,使用requests改写起来,那是超级简单啊

1
2
3
4
5
6
import requests
import json
payload = {"jsonrpc": "2.0", "method": "call", "params": ["account_by_key_api", "get_key_references", [["STM6MGdForcZ8HskcguP84QSCb8udgz7W9yUPU5jtsAKQAxth3U16"]]], "id": 1}
rpc = "https://api.steemit.com"
ret = requests.post(rpc, data=json.dumps(payload))
print(ret.text)

执行上述代码段,结果如下:

curl 没有什么区别。

现在我们就可以对返回的数据进行各种方便的处理喽。

Requests 的手册

通过上边的例子,想必大家已经知道了如何使用Requests访问STEEM RPC节点,简单到我都没有什么好解释的。但其实Requests还是很强大的,如果你想使用其强大的功能,当然了可能不止用在STEEM上,那么可以考虑学习一下Requests的用户手册。

用户手册地址:http://www.python-requests.org/en/master/
尽管我发现了一个中文版本的手册,但是我并不推荐你阅读它。

比如中文版本手册关于Requests的介绍:

Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。
警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。

这严重地触发了我的强迫症,比如转基因是否真的不安全?

Requests 的高级功能

如果需要更好的使用Requests ,那么你有必要了解一下它的高级功能,比如说会话(Session)、持久链接(Keep-Alive)、Header等等。

如果想了解这部分内容,需要你有一定的HTTP协议的基本知识,这样理解起来就很方便了。

一个好消息是在会话(Session)中可以自动实现持久链接(Keep-Alive),是不是很激动人心?

啥?你问我持久链接有啥用?

什么TCP握手啥的我也不懂,用QQ聊天比喻一下,持久链接就相当于对方一直在线给你回答问题;而非持久链接,就好比你每次问题的时候,都打电话喊对方上线,然后他回答一个问题后就下线了,你想问第二个问题,再打电话喊他上线😰

总结

Requests很黄很暴力很好很强大,小伙伴们快点玩起来吧!

相关链接


This page is synchronized from the post: 每天进步一点点:Python中使用Requests访问STEEM RPC

O哥闲扯淡: 将私钥备注到QQ签名是个好主意吗?

无聊时翻看我QQ好友,发现一个STEEMIT上朋友QQ签名里竟然写着一串类似私钥的字符串。我去提醒他问他怎么把私钥弄QQ签名上了?他沾沾自喜地回答,“怎么样,我是不是很聪明,这样我的私钥就实现了云同步,无论是手机还是电脑,家里还是网吧,妈妈再也不用担心我找不到私钥啦!”


(图源 :pixabay)

私钥很容易分辨

额,大哥你果然聪明,容我喝杯82年的可乐压压惊。没错,你是实现了云同步,这么有创意的想法你都能想出来,我谁也不服,就服你。然而,这样一来,你的私钥不就泄露了吗?我将这个想法说给他听,他不以为然地对我说:”你当我傻啊,当然不能把私钥原封不动放上去,我在前后都加了几个字符,就不信别人能看出来!”

额,大哥你果然英明神武,吓得我可乐都撒键盘上了。如果大家有看过我之前关于私钥等介绍文章,就会知道私钥的长度是固定的,并且开头也都基本上是固定的。STEEM采取了和BitCoin一样的私钥算法,所以开头字符(5)和长度都是固定的。我将他的签名掐头去尾,一个完美的私钥诞生了。

面对我发过去的私钥,这位大哥久久无言,我想当然的认为他意识到自己的做法不妥当,正在反省中。结果过了一会这个大哥打过来一串哈哈哈哈哈。然后和我说,“你知道了私钥又何妨?这是我一个马甲号,你又不知道我ID!哼哼,就好比你明明知道有人邮箱密码是123456,但是你能把所有的邮件账户都试一遍吗?”

通过私钥可以获取用户名

额,看来我不拿出点强有力的证明,这大哥死不悔改啊。于是我直接找出他马甲的STEEM ID,发给了他。这次大哥震惊了:“我靠,你咋找到的?😲 吓得我瓜子都掉地上了” 。我说:“别管我咋找到的,快去去掉签名,去STEEMIT修改密码吧”

过了一会,这位大哥又上来纠缠:“密码改好了,快告诉我咋整的,太神奇了”。挨不住他QQ上不断轰炸,我只好告诉他了,其实是很简单的事情。公钥是由私钥生成的,所以我们就可以获取公钥了,而STEEM上,账户公钥是公开的,那么当然可以获取用户名喽。

不过从公钥获取用户名是需要一丁点技术的,我以前用的笨方法是去steemdata数据库里搜索,但是后来发现steem有个get_key_references专门做这事,它位于account_by_key_api中。

声明如下:

vector< vector< account_name_type > > get_key_references( vector< public_key_type > keys )const;

来测试调用一下,用自己的Active公钥:

curl --data '{"jsonrpc": "2.0", "method": "call", "params": ["account_by_key_api", "get_key_references", [["STM6MGdForcZ8HskcguP84QSCb8udgz7W9yUPU5jtsAKQAxth3U16"]]], "id": 1}' https://api.steemit.com


哈哈哈,抓到了吧。

结局

最终大哥表示他服了,但是他依旧没有改QQ签名,我问他咋还不改呢,他回答:“我已经在STEEMIT上改了密码,这组私钥应该就无效了,让你们这类坏人用尝试黑掉吧,累死你们这帮坏蛋!”

额,大哥你高兴就好,我这个坏蛋低调的匿了。


我又冒出来了,提示大家,千万不要向这位大哥学习啊。


This page is synchronized from the post: O哥闲扯淡: 将私钥备注到QQ签名是个好主意吗?

每天进步一点点: 终端也可以色彩斑斓

昨天的帖子,学习了如何让Python程序原地刷新。实现原地刷新以后我又冒出了个新想法,有没有办法让输出的内容带一些颜色呢,这样看起来是不是会更舒服一些呢。


(图源 :pixabay)

简单例子

查了一下果然和上篇文章中用到的回车、换行、退格一样,色彩功能也是用ASCII码\e配合其它控制内容实现的。试了一下属实很好玩,但是具体使用方法有点晕,乱乱的找不到头绪。

比如这行代码:
echo -e 'This is a \033[1;35m test \033[0m!'
可以在终端显示这样的文本:
但是你能看懂代码都是啥意思吗?总之我是看不懂。

作为一个喜欢刨根问底儿的人,有看不懂的代码,如果行数很多也就罢了,这才一行代码,怎么能忍得了。必须搞懂啊,于是一通查资料,比如维基百科上的这篇文章:ANSI escape code

详细解释

通过学习这篇ANSI escape code,我们可以理解上述代码了。

\033就是ESC啦,也可以用\e来表示。
\033[表示要开始操作啦
后边可以接几组设置内容,每组内容用;分割,用m结束
然后中间放要显示的文本
最后用\033[0m恢复默认设置

这样在读上述代码,是不是就没有障碍了?
根据ANSI escape code说明,我们可以自由发挥一下,加入更多的设置元素。

比如:echo -e "Normal \e[1;4;33;46mI am oflyhigh! \e[0m"

额,要把颜色调得好看一些,还真是个难题呢!

网上一些文章,写着设置格式:
开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m
这个呢,说正确也正确,因为你按照这个格式设置,不会出啥错;说不正确呢,也不正确,因为显示方式;前景色;背景色这里并没有顺序要求。
比如这段代码:echo -e "Normal \e[33;46;1;4mI am oflyhigh! \e[0m"
和之前的代码,显示结果是一样一样的。

设置部分,可以参考ANSI escape codeSGR (Select Graphic Rendition) parameters部分。
颜色选择,可以参考ANSI escape codeColors部分。

简单的颜色选择,可以使用下表中元素:

比如我们之前示例代码中就使用了这个表中的前景色和背景色。

除此之外,还有更复杂的颜色选择方式:

ESC[ … 38;5;<n>… m Select foreground color
ESC[ … 48;5;<n> … m Select background color
0- 7: standard colors (as in ESC [ 30–37 m)
8- 15: high intensity colors (as in ESC [ 90–97 m)
16-231: 6 × 6 × 6 cube (216 colors): 16 + 36 × r + 6 × g + b (0 ≤ r, g, b ≤ 5)
232-255: grayscale from black to white in 24 steps

例如:echo -e "Normal \e[38;5;9mI am oflyhigh! \e[0m"

又例如:echo -e "Normal \e[48;5;8mI am oflyhigh! \e[0m"

至于24位色,我在putty里试着没成功,可能和putty模拟的终端类型有关,也可能是我代码使用的不对。

其它

除了颜色以外,还有一些其它功能,比如说控制光标。

这样一来,可比我们上篇文章用\r\b,来控制光标位置高级多了。因为这篇主要讲色彩,就不再此处啰嗦了,回头单独开贴学习。

结论

通过学习ANSI escape code,发现给终端输出的文本设置颜色是一件很简单也很有趣的事情。

但是呢,如何用设置颜色功能设置出来漂亮的颜色,还真是门大学问呢,至少对于我这种审美观奇差的人是相当有难度的啦。

另外,终端设置颜色啥的,终究是小道,人家现在都玩GUI、玩网页,字符界面一般都很少被使用了。不过了解一下也挺好玩的,至少我以前不知道字符界面这么强大呢。

相关链接


This page is synchronized from the post: 每天进步一点点: 终端也可以色彩斑斓

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×