Shared posts

26 Feb 10:17

毁灭程序员效率的 15 个障碍

by Crazy

会议,什么都不懂的经理,生产效率指标——这就是你和下一个伟大软件之间的天堑。

昨天必须得发布产品。用户争闹和咆哮某个缺失的功能。老板的老板说,我们最好迅速行动起来否则就炒我们的鱿鱼。感觉一切都有心无力。

没有人满意开发人员这种已经“竭尽全力”改变世界的速度,每个人都希望代码像消防水管里的水一样能够源源不断地流出来,但没有人愿意提供给开发人员更好地完成工作的条件。正如那个想要我们昨天就完成工作的老板,他不愿意雇佣更多的人,不愿意购买速度更快的机器,也不愿意做任何其他可以让程序员专注于编程的事情,又想马儿跑,又不给马儿吃草。

下面就是现实世界中的15个编程障碍。

毁灭程序员的15个障碍图1

编程效率障碍No.1:会议

最常见的抱怨是打断开发人员编码思绪的会议。如果老板信任该程序员,就会要求他们时不时地去那间数周甚至数年昏昏暗暗的会议室闲聊有关细节。尽管程序员通常归咎于是管理人员毁了会议,但他们偶尔也会指责其他的程序员老是跑过来询问有关或bug或功能或架构策略的问题。

虽然有些抱怨是愚蠢的——但程序员依然会埋怨,如果老板让他们自己在黑暗中摸索,没有一点沟通——任他们自己在软件的抽象世界里埋头苦干,自己去面对各种困境。快餐厨师和咖啡调配师或许还能够兼顾不同的需求,但如果是切换大脑到正确的模式来操作抽象算法则通常需要时间。从会议模式中切换回编码模式,可能会浪费一个小时左右的工作时间。

编程效率障碍No.2:答复所有的电子邮件

如果说会议很糟糕,那么这一种可能更糟糕:需要查看发来的无穷无尽的邮件。回复邮件需要时间,而且没人会对回复结果表示满意。然后那些最不耐烦的开发人员或许会选择简单的回复——“tl;dr”(即too long,didn’t read。篇幅过长,没有阅读)。

有的团队试图开设每周一天的禁邮日。还有的团队就完全不用邮件。虽然解决了邮件过载的问题,但却是以沟通为代价的。要是突然不在一起工作。这还能算是好办法吗?

编程效率障碍No.3:试图衡量生产力

总会有管理团队受那些所谓“你不能管理你无法衡量的东西”的书籍启发,于是开始衡量提交的或代码库或软件代码行或bug修复。他们认为,计数就是衡量,而且衡量一定是好事。

但是程序员并不是砌砖工,不能数数砌了多少砖就知道其效率。相反,为了写出更好的代码,程序员需要或专注于编写的代码行,或解决bug,或提交到代码仓库,或做一些无法计数的事情。如果bug修复可以加分,那么一些微小bug的报告就会激增,bug修复也会如此。有人因为报告bug得到了奖励,然后另一个人因为修复它也能得到奖励。或者,如果是计数代码行数,那么那些可以用10行代码解决问题的程序员,可能就会转而表示5000行的代码将更灵活或功能更兼容——任何可以添加到5000行中的都加进去。

衡量效率实际上会因为鼓励功能丰富,代码过度设计的长文件,而让代码库变得更糟。

对于此问题还没有真正的解决方法。我们需要跟踪bug。我们需要组织工作流程,协调软件的创建。这种优雅是无法衡量的。

编程效率障碍No.4:妄自尊大的开发人员

对于程序员而言,有这样一个同事比Boss更难以忍受:创建了代码的最后一次迭代,却不再工作于这个项目。正如每个房屋装修承包商会贬低上一个木匠的技能,每个程序员也会快速指出可怕的,不可原谅的,完全是死脑筋的上一代的行为。

当然,这可能是事实,但它很少像程序员说得那么糟糕。如果有什么区别的话,问题通常也不是由于技能匮乏而引起的。主要还是风格的不同,并且风格还会随着时间而改变。上一代和我们今天访问的库不同。他们也不曾阅读过有关最佳做法的最新著作。

妄自尊大的编程态度往往会减缓项目。骄傲和利己主义的混合发酵会导致程序员抛弃完全能够胜任的代码,只为了按照他们认为的“正确方式”重建。

编程效率障碍No.5:“以后修复”的思维定式,又名“技术债”

我们总感觉不够时间在项目中按计划构建我们想要构建的东西。于是,我们偷工减料,给代码打补丁,缠满了虚拟胶带。曾有明智的经理将此称为是“技术债”,因为“债”是以后必须要还的。即使他们不理解代码,也知道“债”的含义。

每个项目都有一定的技术债务。有时它会快速见效,但通常直到下一代才会发现这已经成为了一个坑。他们需要构建上一代没有做到的东西。就像滚雪球一样,越滚越大。

编程效率障碍No.6:非程序员经理

总会有那些面带微笑,西装笔挺,却不是主修计算机科学,也不懂编程项目的家伙成为了经理。也许他们娶了老板的女儿;也许他们正好在“正确”的时间出现在了“正确”的地方。但是,老板让他们担任了经理,即使他们一窍不通。更糟的是,他们会用外行人的眼光来看待问题,哪怕不伦不类,文不对题。

有一些程序员表示很欢迎这样的经理,因为愚弄他们很容易。而且他们还承担了来自于更高管理层的炮火。但也有人承认,这些人只会不断地开会,只会妨碍编程。他们几乎给不了任何有用的指导,他们可以提供的只是那么一点质量检测。

编程效率障碍No.7:程序员经理

虽然程序员可能会因为不得不与非程序员经理打交道而抱怨,但他们经常悄悄地表示,编程人员去做管理人员更糟糕——有时甚至更糟糕得多。

他们是前任的天才,可能会决定微观管理项目,然后果决地撕裂大片的代码,因为他们有了一个新的展望。或者,也许他们会闲谈,对于同样的事情,他们是如何用8080汇编或C或Java编程写了一半的代码。在任何情况下,他们更痴迷于技术细节而不是大局,虽然他们被雇来的目的是盯牢后者。

编程效率障碍No.8:善于社交的程序员,又名“brogrammer”

虽然程序员可以将每个问题和任何中断的责任归咎于巧言令色的销售团队,但编程人员也必须承认,有一些问题在于他们自己。程序员被聘请的目的在于他们的计算机技术,而不是他们的人际交往能力。

程序员通常不善于沟通,不知道如何表达他们的感受和思维。他们可以准确抓住技术参数,就像庖丁解牛一样迎刃有余。无论客户想要改变什么都不要紧:程序员总是时刻思索着技术参数,即使是在公司野餐上也不外如是。

尽管程序员通常可以过滤掉对方的特质,但当程序员之间发生磕磕绊绊时也会让团队失败。当同一个团队中两个人有着不同的政治观点,比方说,动态语言或NoSQL,那么团队就会永无宁日。一切都像是在战场一样,战火纷飞,硝烟弥漫。

编程效率障碍No.9:自私或牛仔程序员

你从他的代码里发现一个空指针?捕捉空指针于是成为了你的工作。你最好多想一遍要不要传递一个零,因为自私的程序员不会检查除以零错误。这也成为了你的工作。

牛仔程序员的工作又酷又快,但这是因为他的代码中遗留了许多漏洞,并且没有经过测试。于是这也成为了你的工作,因为如果你不处理这些琐事的话,代码就会崩溃。

很多团队在最终认识到这一点的时候已经为时已晚。代码块在早期测试中运行良好,但当输入真正的数据之后,各种问题就开始暴露出来。真是一场灾难。

编程效率障碍No.10:可怜的文档

写文档需要时间。但由于老板雇我们来是来写代码的,并且通常通过我们写的代码行数来衡量我们的效率。因此既然你想要结果,那么我们就只做你想要的那部分。当然最终我们还是会写文档的,但质量的好坏就不论了。

有时候,文档虽然很多,但却是几个月或几年前老代码的版本。我们只是还没来得及修改这些旧文档而已,但是,以后我们会同步的——相信我。

编程效率障碍No.11:成为文档的奴隶

虽然我们都经历过没有文档的项目,但是空话太多、编码太少反而导致项目失败也很常见。曾有几个人指着满满一书架的文件夹,向我炫耀说:“我专门请人来写文档。”然而要读完这么多文档需要一年的时间。

程序员通常在处理需求时,会写一些评论和注释,之后充作文档。因此这样的文档,都是一些微小的细节,没有经过认真地总结或没有说到要点上。这在文档中将可能是致命的,当他们没有提供太多的抽象和理解,就只写代码流水账的时候。这样的文档并不具启发性,只是翻译下代码而已。

编程效率障碍No.12:很容易导致分心的环境

有一个客户坚持要我每天去他们的办公室,坚持要我使用他们的电脑。然后,他们没有提供任何的办公空间,所以我只能和六个实习生在会议室写代码,此外,这些实习生还需要我用半天的时间回答他们前一天晚上碰到的问题。另外半天的时间则用来指示今天晚上做什么。于是,我基本上做不来自己的工作。

虽然销售和营销团队可以在背景噪音的环境下茁壮成长,但程序员通常需要图书馆般安静的背景。闲聊,令人心烦意乱的敲击声,或铃声将驱逐程序员的思维走出抽象的工作区,回到现实中。然后,需要几分钟的时间才能重新沉浸于工作区。

有一位开发人员告诉我,他恨他的新办公桌,因为它靠拢空调出风口,噪音令人难以置信的响,使得他真的很难集中注意力。这可能略有夸张,但的确是一个事实。

虽然许多企业会提供程序员类似乒乓球桌的娱乐活动,但他们往往忘记了开发人员需要在安静的氛围中集中精神。甚至,他们还将程序员转移到大房间,认为这可以促进合作,殊不知却会导致一有风吹草动,整个房间的程序员都受到干扰。

编程效率障碍No.13:“文化契合”

你想拥有自己的办公室?或者你更喜欢团队化的办公室,这样你就可以直接喊出你的问题?你喜欢在清晨开始工作,亦或是你更喜欢熬夜?

如果团队成员之间的风格相似。那么这支团队往往才能更好地工作。无法找到共同点的团队很快就会失败。没有沟通,最后只会南辕北辙,不知所谓。

编程效率障碍No.14:死守传统技术

很多捍卫者认为古老的技术依然很伟大,依然能够完成任务。因此对于为什么要重写代码表示疑虑重重。

他们想得没错,但他们忘记了保持这些古老代码的成本。所有一切通常都需要用自定义代码进行翻译。某些代码甚至写在ASCII之前,这意味着需要转换输入和输出。旧系统经常会计数空格字符只是为了在数据库中指出这是什么。这就更加需要转换了。

当然程序员可以通过屏幕抓取,重新格式化,临时构建系统来做大量的工作,但一段时间以后,他们往往需要花费更多的工作来清理混沌的逻辑,以致于腾不出时间来写新的逻辑。

编程效率障碍No.15:对最新的渴望

最新的工具自然有意思,但却在没有经过大量时间再次编码以往的工作之前,是不会被开发工作室采用的。走在时代尖端的人总是会扔掉API的整个部分,并重新编写,从而迫使我们这些下游的程序员不得不跟着一起改写代码。我厌烦过,当我不得尽力用Python 2.7的代码对付Python 3.0的代码时,因为依现在的情况,Python已经是一种相对稳定的代码库。

在许多情况下,新的工具并没有战斗化。例如,Node.js,虽然说相当快,但是只有当你重新学习所有关于死锁的经验教训之后,知道线程优先的时候才能发挥作用。世上没有免费的午餐,工具虽好但都是有代价的。

毁灭程序员效率的 15 个障碍,首发于博客 - 伯乐在线

18 Sep 03:36

在linux上用dd命令实现ghost功能

by 良少

ghost和g4l

安装操作系统,速度太慢,整个过程太冗长乏味了。

安装过程中,需要回答若干问题,系统需要安装无数个软件,创建和写入无数的文件。因为涉及到大量的文件定位和读写,速度一定是快不起来的。

Windows下我们常常使用ghost系统来备份和刻录操作系统。ghost可以clone整个系统的镜像,然后在新的电脑上恢复,相当简单。用ghost系统安装操作系统比使用安装光盘安装系统要快捷多了,也不需要回答任何问题了。

那么,我们能不能用ghost来备份和恢复Linux系统呢。

答案是不行。因为ghost只能识别很少的老旧Linux文件系统,也无法识别grub和LILO等引导加载程序。

其实,Linux下也有ghost工具,最著名的有g4l—ghostForLinux。

用了一下ghostForLinux。如果是整个磁盘的复制和恢复,还算简单。但是,我试了半天,也没办法实现对一个或者几个分区的恢复。

g4l,还是太弱了,无法满足我的要求!

神奇的fdisk和dd命令

深深的苦恼中,灵光乍现:神奇的ghost的原理是什么呢?不就是数据复制吗?Linux下的dd命令不就是最强大的数据复制工具!

既然如此,我为什么要使用g4l这样复杂的工具呢?一条dd命令不就可以帮我实现任意复杂的镜像复制和恢复的需求了吗?管他是grub,还是ext4,btrfs,FAT32,NTFS…dd面前众生平等。

进入Linux操作系统,打开命令行,执行如下命令:

sudo  fdisk -u -l

可以查看所有磁盘上的所有分区的尺寸和布局情况。

-u,让start和end中数字的单位是512字节,也就是一个sector扇区的大小。

假设我有一个/dev/sda磁盘,有100GB大小。我安装了一个Ubuntu操作系统。使用了如下分区:

/dev/sda1 5GB

/dev/sda2 1GB扩展分区

/dev/sda5 1GB扩展分区

/dev/sda2是所有扩展分区,它的大小和/dev/sda5重合。

/dev/sda1是ext4格式的文件系统。用于安装ubuntu操作系统。

/dev/sda5是swap格式的文件系统,作为交换分区。

如果我用弱智的g4l工具制作系统的镜像,就需要备份整个磁盘100GB,而不是我需要的6GB。

g4l也可以单独备份分区,但是在恢复时,就需要在目标计算机上安装好grub,并进行了适当的分区。很麻烦!

我这里,可以使用一条dd命令就生成6GB的镜像。然后可以在任意硬盘大于6GB的计算机上恢复出完整的系统,包括MBR和3个分区sda1,sda2,sda5。

具体步骤

找一个U盘,安装UbuntuLive Cd系统。【具体如何制作U盘启动的UbuntuLive CD,可以参考Ubuntu官方网站的帮助。】

UbuntuLive Cd和WindowsPE系统类似,是光盘/U盘引导的Ubuntu操作系统,不需要安装就可以直接使用。

U盘启动,进入盘上的Ubuntu系统,打开命令行,执行:

sudo  fdisk -u -l /dev/sda

查看硬件的分区情况。

然后执行:

dd   bs=512 count=[fdisk命令中最大的end数+1] if=/dev/sda of=/ghost.img

这样,就可以把我需要的分区数据全部copy到ghost.img文件中。镜像制作完成了!

然后,我们就可以把U盘插到其他系统上,用U盘启动,进入UbuntuLiveCD,打开命令行,执行如下命令:

dd if=/ghost.img of=/dev/sda

完成后,拔掉U盘,启动计算机,就可以看到我们的Linux系统已经安装完毕了!

注意:

不要直接在计算机上用本地磁盘启动系统后执行dd命令生成本地磁盘的镜像。而应该使用livecd启动计算机。

因此计算机运行时会对系统盘产生大量写操作。 直接对运行中的系统盘生成的镜像,在恢复到其他硬盘上时,很可能会无法启动!

一样适用于非Linux操作系统

在linux上用dd命令实现系统镜像备份和恢复,是不是很简单呢?

对于Windows系统,甚至Mac等等任意系统,其实都可以用dd命令实现系统镜像的备份和恢复。

因为,Linux的fdisk命令能够识别任意系统下的分区格式。fdisk并不关系分区上的文件系统,甚至有无文件系统都不关心。fdisk总是可以报告分区占用了哪些扇区。

dd命令也不关心磁盘的文件系统格式,它只是简单地按照要求从指定的位置,复制多少字节数据而已。

dd命令实现镜像备份和恢复,比Ghost软件简单和强大多了。使用ghost软件,依然需要用户进行复杂而危险的磁盘分区操作。

而使用fdisk和dd这两条命令,一切都免了!

压缩和解压缩

可能我们需要备份的分区很大,使用dd命令生成的镜像文件也就很大。存储和传输这些镜像不太方便。  我们也可以使用压缩程序压缩生成的镜像文件。 这里,我选择使用gzip程序,配合dd命令一起使用。

gzip参数:

-c 表示输出到stdout
-d  表示解压缩
-1 表示最快压缩
-9 表示最好压缩
默认使用的是-6压缩级别。

要使用 dd 和 gzip 生成压缩的镜像文件,可以执行命令:

dd   bs=512 count=[fdisk命令中最大的end数+1] if=/dev/sda | gzip -6 > /ghost.img.gz

还原时,可以执行下列命令:

gzip -dc /ghost.img.gz.gz | dd of=/dev/sda

提醒:

如果你把镜像恢复到另一台计算机上,你可能会发现你的网卡是eth1,而不是eth0。这是因为/etc/udev/rules.d/70-persistent-net.rules文件把你做镜像的计算机的网卡作为eth0登记了。

如果你的网络脚本对eth0进行了处理,而没有对eth1进行处理,那么不修改网络脚本,你可能就无法上网了。

也许你会希望在做镜像之前,先删除 /etc/udev/rules.d/70-persistent-net.rules 文件。这样你恢复镜像时,网卡的名字就是eth0。   就不会造成你在恢复后的计算机上无法上网的问题了。

注意:

最好在dd生成镜像之前,先umount所有 if和of 设备的分区。这样可以确保在dd的过程中文件系统没有被改变。

在完成dd(生成镜像和恢复镜像)后,执行sudo sync,确保数据被真正写入到硬盘上。

另外,如果你想要对整个硬盘进行备份和恢复,而不是只备份和恢复部分分区,那么就请把dd命令中的 count=[fdisk命令中最大的end数+1]   去掉。bs=512也可以去掉。

在linux上用dd命令实现ghost功能,首发于博客 - 伯乐在线

22 Dec 08:09

每周转载:关于“俄罗斯卢布崩盘”的媒体报道和网友评论

by 编程随想
  俄罗斯卢布在本周一(12月15日)大跌10%后,昨日再度崩溃。美元兑卢布,盘中最高升至80.10,卢布跌幅高达19%。俄罗斯股指RTS指数大跌19%,创1995年以来最大跌幅。(咱们A股12月9日大跌5.5%,跟人家19%的跌幅相比,只能算“小儿科”)
  今天发一篇转载,让大伙儿了解此事以及近半年来的油价暴跌。

★媒体报道——关于“卢布崩溃”


卢布“雪崩” 你需要知道的一切! @ 华尔街见闻
(编程随想注:此文的信息量很大,每个小标题的链接,又分别指向另一篇专题报道)

图解俄罗斯“黑色星期二” @ 金融时报/FT

不见图 请翻墙(上图中,浅粉线为俄罗斯利率,深红线为卢布汇率)

不见图 请翻墙全球油价基准——布伦特(Brent)原油价格周二跌破每桶60美元,降至5年半低位,是6个月前每桶115美元的近一半。

不见图 请翻墙俄罗斯通胀率11月触及9.1%。但随着卢布大幅贬值提升进口价格,经济学家担心,物价涨幅可能会在2015年初升至两位数。

不见图 请翻墙俄罗斯央行表示,预计明后两年,俄罗斯经济将分别收缩约4.5%和0.9%;俄罗斯央行预测,该国经济将在2017年强劲复苏,增速将达到约5.6%。

不见图 请翻墙今年初时该国外汇储备为4990亿美元,到11月底时降至4190亿美元,现在更跌至4000亿美元左右

油价跌卢布贬俄罗斯经济雪上加霜 @ 法广/RFI
俄罗斯宏观经济顾问中心经济学家维弗的看法是,卢布完全失去了控制。完全是自由落体的速度。
......
其实,俄罗斯卢布狂跌的大背景是国际性的。俄罗斯因乌克兰危机而遭西方制裁后经济实力被削弱,加之油价一路下跌,致使卢布与欧元相比从年初以来狂跌42%,与美元相比狂跌了49%,卢布狂跌,导致物价猛涨,根据俄罗斯央行的估计,一年之内通货膨胀率应达到11.5%。
俄罗斯央行几乎天天都会干预,还把指导利率提高到10.5%,比年初几乎高出双倍,以预防对俄罗斯经济造成更大损害的风险性投机。问题是俄罗斯经济已经处于衰退的边缘,利率已经非常昂贵。不过,周二凌晨传出的消息说,俄罗斯央行大刀阔斧一下子把指导利率从10.5%提升到17%。
......
现在围绕普京总统的压力在加大。星期四,普京将举行年度大型新闻发布会。一个很悖论的现实是:一方面,从俄罗斯吞并克里米亚以来,普京的民意支持率打破了纪录;另一方面,俄罗斯民众对自身生活水平的提高也越来越感到悲观。

卢布继续贬值,引发市场恐慌 @ 纽约时报
俄罗斯石油公司上周五发行了6250亿卢布的新债券,按当时的汇率约合109亿美元。买家的身份没有公开披露,但分析人士表示,大型国有银行购买了这些债券。
当这些银行把债券存入央行以换取贷款时,俄罗斯石油公司将得到融资,实际上相当于从央行拿到了卢布。
政府为俄罗斯石油公司安排的解决方案的披露,在周一震撼了市场,显然是因为它与一个所谓赤字货币化的做法类似,也就是用印钞票来填补政府预算缺口
......
周一货币大跌的原因“众所周知”,鲍里斯·Y·涅姆佐夫(Boris Y. Nemtsov)在其Facebook页面上写道。他曾任俄罗斯副总理,现在属于政治反对派。
“央行启动印钞机,来帮助谢钦-普京的商业,给了俄罗斯石油公司6250亿新印出来的卢布。新票子马上出现在货币市场,导致汇率崩溃。”

卢布暴跌你所不知道的原因——俄央行印钱救国企 @ 华尔街见闻
彭博专栏作家Leonid Bershidsky、《福布斯》俄文版的首位出版人近日撰文指出,央行与Rosneft的交易或造成了卢布的大跌:
俄罗斯国有最大石油公司——Rosneft上周通过发行债券融资6250亿卢布(约合108亿美元),这部分债券收益率比同期限的俄罗斯国债还要低。
央行迅速将这部分债券纳入自己的可抵押品名单,这样其他银行便可使用这部分债券来作为抵押向央行换取流动性。虽然不知道哪些银行购买了这些债券,但是可以推测有如下的事情可能发生:
首先购买了Rosneft债券的银行们(可能是大型国有银行),可以将债券抵押给央行,然后借入外汇并将这部分钱通过货币互换合约提供给Rosneft。该公司实际上相当于从央行拿到了卢布,并且央行的外汇储备也被迫减少了一部分。
Rosneft可以将这部分卢布投资于生产,当然也可能用这部分卢布购买美元,用来偿还之前的债务,正是后者这样的操作导致卢布严重下跌。
纽约时报直接将这一行为比作印钞,该报报道称,本周一卢布遭抛售的原因之一是市场担心央行实际上在靠发行新卢布来支撑国有石油公司Rosneft。

俄政府前经济顾问:俄罗斯正迈向灾难 @ 新浪财经
如今的俄罗斯,现金为王。西方的制裁让俄罗斯所有的国际融资“突然停止”,甚至连中国国有银行都忌惮美国而不敢为俄罗斯提供融资。
在外界看来,俄罗斯的外汇储备似乎非常充足。截至11月28日,俄罗斯的官方外汇储备高达4205亿美元。但值得指出的是,这些储备中一半以上流动性并不好。正如我此前提到,这其中有450亿美元是黄金储备,还有1720亿美元属于两只主权财富基金,而这两只基金由财政部管理。这些资产要么流动性不足,要么不属于央行控制。
事实上,俄罗斯有效的外汇储备只有2030亿美元,考虑到俄罗斯经济部预计2014年将有1250亿美元资本净流出,外汇储备将更加雪上加霜。
明年的资本外流可能会更加严重。国有企业已经无法获得任何融资,但必须偿还到期债务。私人公司不仅必须偿还到期债务,而且很愿意提前还债,因为卢布预计将进一步贬值。
俄罗斯的富人们也都希望在政治、经济形势恶化之前能够将资产撤离。随着资本外流的加剧,资本管制势在必行,而这一预期又将进一步加快资本外流。

俄罗斯下一个严峻考验——须避免银行挤兑 @ 新浪财经
到目前为止,恐慌还基本局限在金融市场。但如果居民开始到银行去提取现金,恐慌情绪将会迅速蔓延。
在Mitov看来,银行挤兑是迟早的事。他指出:“有报道称,现在无论在莫斯科还是圣彼得堡,都已经换不到硬通货。”
虽然俄罗斯央行账面上有超过4000亿美元的外汇储备,但实际可用的金额或许不到一半。Mitov认为俄罗斯进行外汇干预、捍卫卢布的能力或只能维持半年。
另外,比起俄罗斯的外汇储备,俄罗斯企业所欠的外债规模要大得多。Mitov表示:“明年俄罗斯将会出现大规模企业债违约潮。”其中风险最大的是电信和零售行业的公司。这些公司大部分营收都是本币。

外媒:普京领导下的俄经济体系正面临崩溃 @ 凤凰财经
虽然,普京在乌克兰危机上的政策获得国内普遍认可,但目前的货币危机正在侵蚀其领导权威,位于莫斯科的分析师表示。
自1999年叶利钦卸任后,普京担任俄国总统以来,普京一直以改善俄罗斯经济困局著称,但目前油价下跌,西方国家对其制裁俨然给普京带来执政以来最大挑战。
昨日,俄央行上调利率17%,幅度为16年以来最大,但依然未能阻止卢布继续下跌。卢布兑美元汇率从1:34降至1:70,而与此同时,油价下跌近五成,至60美元每桶一下。
卢布下跌与随之而来的经济下滑都标志着,过去15年来依赖能源支撑的俄国经济体系正在崩塌,俄天然气公司高管表示。
调高利率将会使得家庭与企业贷款更艰难,也会使俄经济复苏变得更遥远,位于伦敦的经济学家Neil Shearing表示。

CNN:俄罗斯宣布卢布报价超64.45成交的全部作废 @ 凤凰财经
莫斯科外汇交易中心突然宣布当日美元兑卢布即期报价超过64.45的成交全部作废,理由是超过了交易所设定的风险管理控制线。
此举引发当地投资者大规模抗议,决定宣布后一小时,首都数千名投资者聚集并冲击交易所未果。
CNN连线的花旗分析师称,由于离岸市场仍在交易,俄交易所举动加大了国内投资者对价差损失和无法及时止损的恐惧。
俄罗斯卢布兑美元周一大跌约10%,创1998年来最大跌幅,俄罗斯资产全线下滑,使得俄罗斯央行的能力受到考验,并给总统普京带来重大挑战。
交易商称,卢布重挫迫使央行周一干预汇市。今年以来,卢布兑美元已下跌50%。美国威胁对俄罗斯实行新制裁、油价大跌以及对卢布贬值的单向押注,对卢布造成打压。
彭博日前发布文章称,俄罗斯将不可避免地重演1998年的货币贬值和债务违约。

俄银行高管:加息至17%“是银行系统的末日” @ 腾讯财经
在这样的利率下,经济根本不可能正常运作,对(非金融非证券交易行业的)实体经济而言,这就是死亡。
......
Vedomosti的报道称,“银行间借款市场在周二死掉了,(这名银行家)补充说,早上的第一件事就是,每个人都关上了门——你现在不能给任何人钱。”他还说,“我们的(联邦贷款义务)投资组合在周二缩水了10%,这基本上抹消了我们一年以来的所有利润。”

★媒体报道——关于“全球油价下跌”


全球原油价格究竟缘何下跌? @ 华尔街日报
近来全球原油价格从每桶100美元上方骤然跌至65美元以下,一些人将此形容为全球两大产油国——沙特和美国相互对抗所造成的结果。然而实际情况要更加复杂,这其中涉及到利比亚的叛军、印尼的出租车司机、美国德克萨斯州的石油工人乃至中东各国的石油部长。这既反映出了原油供应的大幅增加,也折射出原油需求的下滑。
而油价的大幅跌势可能不会很快结束。美银美林(Bank of America Merrill Lynch)称,美国油价在2015年可能会跌至每桶50美元。上周四,美国油价多年来首次收于60美元/桶下方。

油价暴跌让中国喜忧参半 @ 金融时报/FT
石化信息提供商隆众石化网(Oil Chem)石油分析师李彦表示:“油价暴跌让中国受益。它有助于中国降低进口成本,增加石油储备,从而提高能源安全性。”
然而,情况比这更为复杂,因为中国同时也是全球第四大石油生产国
因此,中国和其他所有石油生产国一样容易受到油价下跌的影响。中国去年原油产量达到445万桶/日,仅次于沙特阿拉伯、俄罗斯和美国。中国的原油产量也超过了除沙特以外的其他所有欧佩克成员国。中国在过去十年的石油产量增长了近75万桶/日,但在同一时期,石油消费增长了370万桶/日。

全球供应过剩推动油价大跌 @ 华尔街日报

全球油价跌不休 利好美国 利空俄罗斯 @ 华尔街见闻
《华盛顿邮报》、《华尔街日报》等西方媒体报道,将这些油价下跌的因素归纳为以下三点:
1、在美国产量大增的推动下,全球产油量不断增长。
由于页岩开采技术革命提升了美国北达科他州和德克萨斯州的采掘能力,美国产油量已经增至每日850万桶,这是1986年以来最高水平。包括液化天然气在内,美国的产油量几乎持平沙特。
2、全球消费增长乏力。
3、石油输出国组织欧佩克(OPEC)内乱,加剧油价跌势。

★媒体报道——关于“俄罗斯政坛”


读报:卢布暴跌 普京政权会否崩溃? @ 华尔街日报
美国《华盛顿邮报》12月16日的报道说,
外界一直认为普京政权的基础是他与俄罗斯民众间一项心照不宣的交易:普京保证俄罗斯获得经济繁荣和稳定,而俄罗斯人则对该国不存在真正反对党的局面持默认态度。而现在,普京这一方似乎开始失信了。

英国《卫报》12月16日的报道说,
尽管卢布汇率屡创新低,但俄罗斯人的情绪总体上依然平静,几乎看不到什么恐慌迹象。

英国《每日电讯报》12月16日的报道说,
随着卢布保卫战的失败,俄罗斯有可能遭遇前苏联式的突然崩溃。报道说,在俄罗斯央行通过大幅加息来遏止卢布崩盘的努力失败后,俄罗斯已经丧失了对其经济的控制,它有可能被迫采取前苏联式的外汇管制。报道援引俄罗斯央行副行长Sergei Shvetsov的话说,目前形势严峻,这种噩梦般状况即使在一年前也是不可想象的。

卢布暴跌考验普京政府 @ 华尔街日报
由于加息后信贷成本增高,物价上涨注定会伤害到消费者。据零售商协会(The Association of Retail Companies)的发言人称,该协会预计明年第一季度食品和饮料价格将上涨多达15%。
近期俄罗斯民众希望赶快花掉快速贬值的卢布,于是赶在物价预期上涨前购买电子产品和汽车。电子产品零售商M.video将目前大约三分之一的销售额归于此类购买。
俄罗斯副总理奥莉加·戈洛杰茨(Olga Golodets)警告称,物价上涨将导致贫困人口数量增加,政府很少这样坦承即将到来的经济阵痛。

经济衰退也不能动摇普京的统治 @ 纽约时报
长期以来,许多想看到普京政权走向终结的人一直认为——或者说是一直希望——俄罗斯经济的恶化将会使那些富有的上层阶级突然背弃这位总统。俄罗斯的新闻工作者、专家学者,以及普京的政治对手都在预测,西方的制裁及其激化的经济灾难将促使俄罗斯寡头发动一场政变。这种观点只存在一个漏洞:俄罗斯已经没有寡头了。
15年前的这个月,普京成了代总统,而当时的俄罗斯是一个寡头社会——确实是由一小群在之前十年中变得非常富有的寡头,帮助挑选出了当时默默无闻的普京,让他成为这个国家的掌舵人。但时间没过去几个月,普京就向寡头们提出了一个他们无法拒绝的选择:放弃所有的政治权力和部分财富,换取安全、保障和继续富裕,否则就会被剥夺一切的权力和资产。
他是动真格的。传媒大亨弗拉基米尔·古辛斯基(Vladimir Gusinsky)拒绝了这套新游戏规则,在2000年的夏天被迫流亡。超级寡头鲍里斯·别列佐夫斯基(Boris Berezovsky)几个月后步了他的后尘。俄罗斯首富米哈伊尔·霍多尔科夫斯基(Mikhail Khodorkovsky)拒绝了任何这样的交易,结果遭到监禁,公司也被夺走。摧毁俄罗斯寡头的过程就这样完成了。
霍多尔科夫斯基被捕后的这11年里,普京继续巩固权力,达到了政治学者凯伦·达维沙(Karen Dawisha)所称的“盗贼威权主义”的地步。其本质特征是无所不包的腐败,它让俄罗斯的上层富翁——全都是男人,全都有钱——形成了深层的相互依存关系。他们中很多人在此期间担任了公职,但总是离不开三个环环相扣的条件:他们必须花钱买官;他们可以利用公职来积累更多的财富;尽管如此,他们不能用它来行使或掌握政治权力。

卢布崩盘 普京怎么办? @ 华尔街见闻
《财富》杂志网站高级编辑Geoffrey Smith认为,如果俄罗斯像当年那样爆发金融危机,遭殃的可不只是俄罗斯,不但俄罗斯政府的动向会更难以预测,国内通胀会升破10%、明年经济增长会下跌4.5%,卢布贬值缓和的机会渺茫,西方银行业也会受害。
......
Smith预计,俄罗斯不可能因此在乌克兰问题上做出任何让步。经济压力越大,俄罗斯政府就越有可能利用宣传工具,引导国民将经济形势恶化归罪于“邪恶的西方”,否认在西方国家看来属于侵略的合并克里米亚行为才是遭到经济制裁的元凶。
......
唯一能让普京解脱的就是国内发生政变,新的领导人顶替他的位子。俄罗斯历史上也有这个传统,不过大家回想下1991年和1993年前苏联解体期间的内乱,就会觉得,到那个地步俄罗斯会变得多糟糕。
这样看来,国际油价如果不能很快回涨,俄罗斯、乃至全球更可怕、更糟糕的形势还在后头。

★媒体报道——关于“中俄关系”


中俄关系——亦敌亦友? @ 金融时报/FT

卢布崩盘——中国或因货币互换协议变送钱机器 @ 新浪财经
知名财经评论人叶檀表示,10月13日中国人民银行与俄罗斯联邦中央银行签署了规模为1500亿元人民币/8150亿卢布的双边本币互换协议,在卢布下行时,以固定汇率互换货币无异于直接送钱。中俄之间如果不以美元结算,最好的办法是建立自贸区,或者以货易货,中国需要能源原材料,俄罗斯需要工业产品、金融市场,双方可以互补。
(新浪财经注:按照当前汇率10.43计算,1500亿人民币约合15645亿卢布,反过来套算,根据货币互换得到的卢布现在价值约782亿人民币,资产减记718亿人民币。值得注意的是,目前这只是账面损失,并未实际发生。
本币互换是指以一定的汇率互换一定数量的双方的货币量,增加对方的外汇储备以应对不测之需,在特定情况下随时启动。通过本币互换可相互提供短期流动性支持,为本方商业银行在对方分支机构提供融资便利。)

中国拯救了俄罗斯摇摇欲坠的原油产业 @ 华尔街见闻

彦纬:20年俄罗斯对中国使了哪些坏?
俄罗斯不断掠夺在俄华人的血汗钱
2004年2月,俄罗斯内务部侦查委员会的10多名警察闯进莫斯科市区南部的大环公路旁的“艾米拉”大市场,突击检查华商的身份证件。两天后,在荷枪实弹的警察弹压下,大规模查抄使华商蒙受了上千万美元的经济损失。
​​2005年7月,俄大批警察前往莫斯科市中心“39仓库”查扣中国鞋。总货值近千万美元,其中多为温州鞋。后经过多方努力,次日俄方同意华商交付约12万美元“罚金”赎回此批货物。​​
2008年10月,俄对莫斯科的阿斯泰市场进行突击检查,查封了华商在仓库里的鞋、服装、袜子等日用品,货物价值大约21亿美元。
2009年6月,莫斯科东部行政区区长突然宣布:“由于违反卫生规定,莫斯科最大的市场被临时关闭”,这意味着价值近20亿美元的华商商品将被没收,成了莫斯科政府的战利品。

俄罗斯击沉中国货船毫无说法
一中国货船“新星”号在俄罗斯海参崴附近海域被俄海军击沉,船上10名中国船员中有3人获救,其余7人失踪。
......
中国的唯一反应是在事情发生后的2月24日,中国外交部发言人马朝旭在北京的例行新闻发布会上表示,中方对“新星”号货轮事件表示严重关切,对此事的处理高度重视,并期待俄方通报对此事的调查结果。事件后续发展不得而知,关于调查结果和赔偿事宜始终未见报道。​​

俄罗斯联手越南介入南海争端
2014年上半年在中国与越南在南中国海交恶之际,俄罗斯竟然公开力挺越南。
......
越南每年都从俄罗斯购买10多亿美元的军备,也因此跻身俄罗斯武器出口国的前列。俄罗斯向越南提供的武器装备都是比较先进的,性能甚至超过中国所购俄制武器,大多为进攻性的

俄罗斯在能源问题不断失信中国
两国之间谈了多年的中俄输油管道一事。谈也谈了,约也签了,但这个过程中俄罗斯却多次变卦不仅变卦,还把中国的死对头日本给拉进来与中国“鹬蚌相争”,大收渔翁之利。​​

★网友点评——关于“卢布暴跌”


叶檀:
让我们见证卢布崩盘的时刻。截止北京时间晚8点半,卢布继隔夜暴跌15%后,再度下挫17.8%。俄罗斯股指RTS指数大跌19%。
鸡肉男怎么办?无法挽回卢布颓势,只有耍赖不承认境内市场限额汇率交易,控制外汇市场,甚至不许提现,回到管制时代。
与新兴国家以货易货,国内自杀式加息,控制通胀与资金外流。

※范强※法特姗瑟希蒲※:
国际石油价格下跌对谁有利,对谁不利?《金融时报》的这张图勾画出其利害关系。最不利的当然是石油输出国家,俄罗斯、委内瑞拉、尼日利亚、伊朗;其次是沙特。挪威、墨西哥也受到一些负面冲击。最有利的是:美国、日本、印度;欧盟、中国、土耳其小利。
不见图 请翻墙
LifeTime:
有人把卢布崩塌与油价下跌简单相关非常幼稚。对石油产业依赖度更高、全球最大产油国沙特货币里亚尔为何没有这种窘态?
俄罗斯卢布的崩塌最根本原因还在在于普京的冒险政治给俄罗斯市场带来恐惧,从而导致资本外撤造成的。
这种外撤的主流并不是外国投资,而是俄罗斯本国的资本。

关健斌:
跌跌不休何时了,家底剩多少。央行昨夜又放风,故国不堪回首风雪中。
雄心霸气应犹在,只是时代改。问君还能挺多久?来日方长慢慢瞅。
卢布遭遇"黑色星期二"后,美方宣布,奥巴马本周底前签署新的制裁俄罗斯法案。这是要死磕的节奏吗?
预测一下:俄央行肯定有人下课,政府估计有人负责,普京明天还有年度大型记者会,且看且分析。

大老貓:
【快讯】美元对俄罗斯卢布突破70!这是要崩盘的节奏?
卢布都贬值成那样了,普京怎么还不去剖腹自杀向俄国人民谢罪呢。#卢布

Jian Alan Huang:
卢布一年来贬值50%,俄罗斯社会财富直接拦腰砍掉一半,普京倾家荡产换了个克里米亚回来,也是够拼的。

Jian Alan Huang:
估计连美国也没想到,冷战过去快30年了,俄罗斯不但军事上不可同日而语,就连经济也还是如此不堪一击。仅仅靠联合阿拉伯国家打压一下油价就能涮俄罗斯一把。
印象里板砖四国不是成立过一个储备银行嘛,怎么什么动静都没有?再不出手恐怕只能收尸了。

雷不疯:
美元一骑绝尘的涨势已经有所收敛,原油开始止跌有点盘整的意思,卢布的跌幅真是心惊胆魄,叮外盘外汇的应该看得很清楚,一国主权货币的一日跌幅超过10%,这是什么概念?人民币兑卢布1:10马上就可以看到!
普特勒会不会来点幺蛾子信息? 呵呵,明年开春想去俄罗斯旅游的可以先计划计划了!!!

※范强※法特姗瑟希蒲※:
俄罗斯与西方交恶,加上石油价格直线下跌,俄罗斯卢布迅速贬值,与美元和欧元的交易价惨不忍睹。
今年1月份,用32卢布可以换取1美元,到12月时需要用51卢布换取1美元。
俄罗斯人生活品质很明显下降,但照样拥护普京。由此可见,人类的愚蠢并非由于智商不佳,而是自我信念所致。

※范强※法特姗瑟希蒲※:
据国际文传通讯社报道,俄罗斯石油公司Gazprom将裁减 15%-25% 的雇员,目前它的雇员人数为46万。

泰守轩yamamura:
刚刚和在莫斯科的朋友通了个电话,老莫以前在国企做,现在自己做。刚刚消息是莫斯科居民都在囤积美元和欧元,甚至还有人民币的。
他们主要害怕卢布重新发行,如果一旦这样,他们的卢布资产会拼命缩水。
这是俄罗斯政府曾经用过的手法。

作家崔成浩:
普京哭了!俄罗斯卢布对美元呈瀑布式下跌,面临崩溃。
俄罗斯不哭,俄罗斯挺住!今天我们都是俄罗斯人。
不见图 请翻墙
夜郎国尚书:
其实老毛子已经悄悄妥协,昨日拉夫罗夫称,俄罗斯正在寻求把顿巴斯留在乌克兰的和平解决方案。
无奈资本市场已经不再相信普京集团,莫斯科不相信眼泪,而世界不相信普京。

hrbdy5588:
普京统治下的俄罗斯今天的状况80%是政治原因,20%是经济原因;
占80%政治原因的核心是独裁者普京。

hrbdy5588:
普京俄罗斯市场已经陷入混乱,那些没有及早兑换美元的俄罗斯人面临相当的困境。
所以,未雨绸缪,那些面临大崩溃的地方的善良民众兑换些美元放在身边吧。

★网友点评——关于“天朝力挺俄罗斯”


【官方喉舌《环球时报》的社评】
3月3日:美欧的口炮难敌俄罗斯真坦克。
3月5日:中国舆论应多挺俄罗斯和普京。
3月13日:俄罗斯这次真让西方成了纸老虎。
3月19日:普京镇住西方,难在长期主动。
12月17日:中国不希望俄罗斯倒下,这谁都知道。
12月18日:中国不能趁火打劫 勿以为俄遇困难就能夺回领土。

Hanson Tang:
这一轮油价持续下跌明眼人一看就知道是人为因素造成。其结果就是油价下跌中国一点便宜没占还要倒贴俄罗斯溢价款,这不是送钱机器还能是什么?
看看国内油价两次增加消费税就明白那里出问题了。
全中国人民在为习胖愚蠢的决定买单!

敏奇微博:
权贵们表面上与俄罗斯打得火热,但他们的赃款却从来不存放在俄国,也不在俄购房置业,子女们更不加入俄籍。
尽管告诉我们说我们要比美国好5倍,但不管外逃还是选择后路,却都不会考虑俄国而选择美国等西方国家,说明它们知道什么国家是好的。

Wendy:
制裁使卢布贬值已不可阻挡,中国却用1500亿元人民币换8150亿卢布,给俄雪中送炭!
按现在的汇率能换1万亿卢布,那300亿人民血汗就被送礼了?
国际油价跌不到90美元,你用135美元一桶买了俄国今后10年的原油!
能为数亿贫困百姓,上百万失学儿童及百万多老弱妇孺病残乞丐雪中送炭吗?

大老严:
与俄罗斯签订5000亿人民币对卢布互换协议,一周后卢布大跌,中国损失1000多亿人民币!
与俄签订购买2700亿美元石油、每桶高达135美元的协议,而现在每桶60美元,且还在下跌!又损失1000亿美元!
仅此每个俄人就能收到友好的中国人民赠送的5000元人民币大礼包!他们住房、看病、

大老严:
2013年3月,俄石油公司总裁伊戈尔•谢钦与中国石油天然气集团董事长周吉平签署了对华长期供应原油协议:
“俄罗斯石油公司计划在25年内对华供应约3.65亿吨原油,总金额约达2700亿美元。”
当时原油约100美元/桶,今天57.5美元/桶,黄俄一直为普金洗地,可洗的是中国人的血汗钱。

贝格海德:
给圈外人科普一下货币互换
某天中国与俄罗斯达成1500亿人民币/8150亿卢布货币互换交易,中国把1500亿人民币交给俄罗斯,俄罗斯把8150亿卢布交给中国。
在约定期限到期时,哪怕卢布变成废纸,俄罗斯也要把1500亿人民币还给中国,中国把8150亿卢布还给俄罗斯。

今天下午三点:
问题在于俄罗斯拿着1500亿人民币不可能吊事不干,而中国拿着8150亿日渐缩水的卢布能干吊事?

幺姨:
从我所读到的的新闻报道来讲,@贝格海德 解释的货币互换是胡说八道!
中郭跟非西方工业国的贸易为了方便贸易,重要的减少使用硬通货(西方主要工业国的货币,特别指美元和欧元)产生的汇兑损失和麻烦,而由政府主导按协议时的购买力预付贸易货币!
《互换货币的协议》根本没有在所谓的啊“到期”一说,所谓的到期也只是在一方用完了另一方的货币后,再新一轮的进行货币互换!
这其中根本没有还回原货币的要求或条款!
为了给正腐犯傻辩护,贝格海德 这厮 胡诌了不存在的说法!

Lily-Kuang:
货币互换不是你说的这么轻松,简单。简单的就像过家家,拌尿尿泥。货币互换是架构在经济,政治的一系列基础之上的金融行为。俄罗斯有遭遇经济制裁,卢布下行的风险。你就敢冒然和卢布互换?这是多蠢的机构才能干出的事?

拈花时评-lianhuaxiaofo:
俄罗斯卢布已经崩盘,经济近乎崩溃,本人为普京大帝支一招,准能起死回生:
把原来侵略中国的库页岛等150多万平方公里的土地卖给中国,因为本是中国领土,所以可以打个折----8万亿美金,也可分期付款。
中国买来后再高价卖给地产商,然后再把房子高价卖给国内的傻B们,绝对远超8万亿。

Malloy Zhang:
“乖儿子,石油价格不行了,怎么办?”
“爹。儿子这就给你汇款去,就算110美金每桶吧,2700亿美金已汇,请查收。谢谢爹”
“儿啊,最近卢布也撑不住了。”
“爹,这是1500亿美金,爹拿去。汇率你说吧。”

我是谁865:
不是送钱,是当年列宁投资30万美元的收益。
与列宁投资中国30万美元所得的收益比,巴菲特和索罗斯简直弱爆了。

贾榀:
默克尔:你们占了中国几百万平方公里土地,现在还要骗人家钱,太无耻了。
普京:那是他们傻逼,关你屁事?
不见图 请翻墙(编程随想注:关于俄罗斯强占天朝的领土,可以参见《谁是最可恨的人?——写给仇日愤青们》)

老杨:
黄俄大合唱之保卫黄俄 RT @wisicn
风在吼 马在叫。普京在咆哮 普京在咆哮。
西方制裁步步升高,国际油价不断下掉。
华夏大地,普京粉丝真不少;快来出手,兑换卢布逞英豪。抛出了欧元美金,换上那俄国钞票。
保卫苏联 保卫俄国 保卫普京 保卫我五毛!

laoyang945:
环球时报员工本月工资应该扣一半拿去支援俄罗斯,别就嘴上说说。

huasi49:
想当年,萨达姆统帅百万雄狮,都是两伊战争锻炼出来的精兵强将,几百架米格29战机,几千辆t72坦克,势如破竹的占领了石油大国科威特,国内一片欢呼,美欧惊恐万状,萨达姆威望世界第一。
看今年,普京大帝率百万红军,挥舞可毁灭地球五次的热核武器,几千架最先进苏35飞机,几千辆t100辆坦克,一举拿下克里米亚,国内一片欢呼,社会主义阵营一致拥护,彼得大帝斯大林统帅重现了。

★网友点评——关于“天朝油价只升不降”


(编程随想注:以下这篇是经典高级黑)
拍案怒斥:油价暴跌凭什么不能加税?

上周五油表报警,老夫忍住没有加油,就是要等待国家出台新政。果不其然,燃油税于次日应声上涨。短短十多天的时间,老子两次感受到作为主人和纳税人的荣耀与自豪,幸福难以言表。看全国喜大普奔的空前热情,充分说明此举深得民心。但是,却有极少数人心怀不满,阴阳怪气,妄加非议。居然在网上散布谣言,声称加税与民争利,且未经听证属于非法。靠,这特么不是想造反?勃然大怒之后,老子色厉内荏也要拍案而起,怒斥这些贪婪无耻的家伙,油价暴跌凭神马不能加税?朝廷加税凭神马非要等到油价暴跌?

孔夫子曰,父母手头吃紧,儿女理当孝敬。D和ZF就是我们的父母,作为政府,日理万鸡,难免囊中羞涩。此外,还有亚非拉兄弟嗷嗷待哺,伟大的俄罗斯捉襟见肘,欧洲急需新校车,马尔代夫淡水告急,等等等等,哪头不需要花钱?钱从何来?慢说是趁油价暴跌加一点税,就是油价暴涨加税也理所应当,就是新开几个税种,譬如呼吸采光之类按人头收费,有何不可?

事实证明,某些刁民就是养不家的狗,贪得无厌。他们不满足于享受残羹剩饭的美味,甚至得寸进尺滴认为理当分享盛宴。当年股市红火半夜鸡叫,上调印花税就已经暴露了出他们的丑恶嘴脸和司马昭之心。因此,高税收高房价和高油价,甚至地沟油毒奶粉,原本就该是他们的普适生活和标配食谱。历史证明,朝廷根本就没有必要体恤他们,马克思早就一针见血滴指出:饱暖思淫欲,只有无产阶级才最具革命性。你让他们中产和小康,他们就会胡思乱想,变本加利。

即便是落草为寇的山大王,买路钱都是想收多少收多少,何况皇粮国税!有种你们上梁山或者井冈山?否则,就老老实实恪守孝敬之道,管好吃饭的家伙,小心砸你的锅!

期待着下一次油价暴跌。

孙立平:
中国一出现通货膨胀,就把问题追到猪肉身上,说猪肉价格涨到了历史最高水平。
废话!现什么不到历史最高水平了?为什么一说物价上涨就追到猪肉?不追到汽油上?
你说猪肉影响大还是汽油影响大?当然汽油影响大。
追到猪肉,因为猪肉背后那些人好欺负,而汽油背后的人不仅不好欺负,它还要反过来欺负你。

平民邓磊:
大家请看无知无耻的毛左残渣余孽推崇维护的垄断国企的丰功伟绩!
从2005年度到2008年度,中国石油、中国石化、中国移动、中国联通四大公司海外分红总额超过了1000亿美元,约合人民币7000亿元;
而中国A股的全部上市公司,在18年里给全体股民的分红总额,才2000亿元人民币。
2007年全国的社会保障支出也就275亿人民币,仅相当于上述四家公司一年海外分红的六分之一。
而四大公司的盈利完全是来自对国内消费者的掠夺——石油资源涨价、手机双向收费等高额收费。

boy1573:
全球油价大幅度下跌,中共当局却再次提高成品油消费税,目的很明确,阻止国内油价下跌。
这件事彻底证实了之前中共从俄罗斯购买高价石油的传闻。
国外损失国内补,不敢跟俄罗斯毁约,就只能拿国内人民开刀,这样的流氓政权不倒台真是天理不容!

taojizhi:
目前二次逆天加石油的消费税,说的是为了以税收做为价格杠杆来迫使减少消耗,节能环保。又说我们的税以及成品油价还没有周边国家高。
这个呢,打劫是真的,环保是扯淡。
价格和税不高的说法也不成立,因为周边是有国家油比咱们贵,但是人家高速不收费,都从油价里收过了。
真正的目的:一是打劫,二是价格不能降。价格降了怕出现输入性紧缩,在宏观经济上紧缩比通胀还难以应付。于是降息,降准,加税一轮一轮的上。

拈花时评-lianhuaxiaofo:
有人说,燃油税即使提高,也比欧洲一些国家低。这些所谓的专家真可谓无知。
欧洲的99%高速路之所以不收费,就是因为收了燃油税。高速公路的收费体现在燃油税里。
没有任何一个国家,一方面,征收昂贵的高速费,同时,还征税超过高昂的燃油税的。
如果二者相加,中国又一个全球第一。

新宇翔:
发个数据说说油价:(以下数据网上都能查到)
2006年3月23日 国际油价收盘价63.7美元 美元人民币汇率约为8
2006年3月26日 国内油价4.65元/升
2014年12月15日 国际油价约58.62美元(还未收盘) 美元人民币汇率为6.19
2014年12月15日 国内油价6.6元/升
一万匹草泥马从眼前跑过

太子:
这个二逼国度看见国际油价降,不好意思涨钱了,结果把燃油消费税提高了,真是天朝。
都说国民党税多土匪多,我看土匪就是土匪。

法界行走:
中国人民喜迎燃油税半个月内两次大幅度上涨!

版权声明

本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者"编程随想"和本文原始地址。

学习翻墙

用国外邮箱发信给help_gfw@yahoo.com即可收到翻墙教程
如有其它问题,用program.think@gmail.com联系俺
15 Aug 09:50

skynet 中如何实现邮件达到通知服务

by 云风

skynet 中可以独立的业务都是以独立服务形式存在的。昨天和同事讨论如何实现一个邮件通知服务。

目前大概是这样的:有一个独立的邮件中心服务,它可以处理三条协议:

  1. 向一个 mailbox 投递一封邮件。
  2. 查询一个 mailbox 里有多少封邮件。
  3. 收取 mailbox 里指定的一封邮件。

用户读了多少邮件没有放在邮件中心,而是记在玩家数据里的。

用户的界面上需要显示是否有几封未读邮件,如果有新邮件达到,这个数字会自动变更。你可以想像成 iOS 上的那种带数字的小红点。

当然,在 skynet 的设计惯例中,每个用户在服务器上有一个 agent 代理,所以我们不单独考虑和客户端数据交互的问题,而只用考虑 agent 如何和邮件中心的交互。

现在的做法是,在用户上线的时候,就去邮件中心查一次,比较邮件数量后知道是否有新邮件,然后推送给玩家。

在玩家特定的操作后,比如进出副本等,都会重新查询一次。如果玩家在一个场景停留太久,客户端也会定期发起查询请求。

如果邮件必须在新邮件达到时,立刻通知给玩家怎么办呢?那么系统中另外有个用户中心的服务。邮件服务可以把消息推送到那里;用户中心发现玩家不在线,就扔掉消息;如果在线就做消息推送。


我觉得这个方案有那么一点点不好,所以提出了我的想法。

首先我不希望邮件中心服务只处理请求,而不要对外发送消息。因为这样,就必须让邮件业务了解更多的外部知识。

其次,定期查询显得很愚笨,也多了很多无谓的查询,很容易造成处理能力过载。因为外界无法确定邮件服务的处理能力(可能涉及外部数据库的查询),查询频率高于处理频率必定造成过载,而过载很容易雪崩,尤其是发起查询是其它独立系统决定的。

我认为在 skynet 框架里,更合适的做法是,当玩家上线时,agent 向邮件中心发送一条查询,附带自己已读邮件数量。

如果没有新邮件到达,邮件中心就不回复这条查询请求,而不是回复一条没有新邮件。而 agent 不收到上一条查询的回应就不要提出下一条查询。

简单的做法是使用 skynet.fork 一个线程来 while ture 查询更新邮件数量。而玩家请求邮件数量时,只需要查询本地的变量即可,不要去邮件中心查询。

这样的好处是,一个查询者同时永远都只有一个查询请求。而如果查询对象变更频繁,也不会推送变更消息多次。对过载的防范要好的多。

但实现的复杂点在于,邮件中心需要在收到请求不能立刻回复时,要挂起回复操作,等新邮件达到再回复。

好在 skynet 做这个并不复杂,记录下请求的 source 和 session ,之后发送消息即可。我觉得这种模式很普遍,所以新增加了一个方便的 api skynet.response 来简化处理。和 skynet.ret 立刻回应消息不同,skynet.response 返回的是一个 closure 。需要回应消息的时候,调用它即可;而不需要在同一个 coroutine 里调用 skynet.ret 。

skynet.response 返回的函数,第一个参数是 true 或 false ,后面是回应的参数。当第一个参数是 false 时,会反馈给调用方一个异常;true 则是正常的回应。


这类方案之所以适合于 skynet 框架,是因为:创建业务线程,以及挂起请求,推迟回应这些,对于 skynet 都是非常廉价的操作。而 skynet 使用的粒度较小的 lua 沙盒可以高效的管理它们。

不过还是还有一个小问题。如果邮件中心是一个需要长期运行的服务,那么如果 agent 频繁上下线,发起 query 请求,而却一直没有新邮件达到的话,就会挂起很多空请求。当然,每个请求仅仅是几十字节的而外开销而已,通常不足为虑。如果你真的在乎,可以做一个定时器,每几个小时清理一次(没有新邮件也回应)即可。

或者 response 还有一个方法,第一个参数可以传入 "TEST" ,查询要回应的对象是否还存在,而不是真的把消息发出去。

其它的事情,skynet 框架已经做得很完备了。目前的机制是:

当 A call B 时,如果 B 在回应前就退出了,A 会收到一条异常,并正确的传播到 A 里的 call 调用处;

当 A call B ,而 B 在回应前,A 自己退出了,B 也会收到一条异常,提示 A 已经不在了。但不会影响 B 的执行流程,只是让框架回收一些必要的相关资源。


这种模式,可以用在很多场合。比如你可以用它来监控好友名单的上下线消息(好友在线状态);你可以用来监控聊天频道的新消息(而不需要由聊天频道推送消息给你);你可以用来监控你在拍卖行寄卖的东西有没有售出或是流拍,等等。

当一个模块是独立实现的时候,仅给出它可以给出的请求接口,而不定义这个模块可以向外推送的消息类型,是非常利于模块化的。

比如,在 skynet dev 分支上(打算在 0.6.0 版提供)有一个新特性叫 sharedata 。

它可以提供在同一个节点中,不同的服务共享一个结构数据。数据提供方可以发布这个数据的新版本,并通知给所有数据持有方更新版本。由于 sharedata 是基于内存共享的,数据提供方只是简单的把老版本数据的一个标志翻转为脏(不可逆转)。

这里我就使用了这个模式。因为 sharedata 是以库形式封装的,而数据的读方不必专门处理数据更新的消息。

注:在 erlang 中,每个服务都有一个 mailbox ,可以主动去过滤出需要的消息。skynet 没有这个机制,虽然它有另一个类似机制就是 message type ,但并不适合在这种场合用。因为多个库维护有限的 message type (上限 256 个)实在是太麻烦了。

我们也不想在任何读到数据脏标记时都去发起一个新数据获取的请求(这里会有比较复杂的异步调用的问题);且在数据变更频繁时,我们永远只关心最后一版的数据。那么用这个模式就非常合适了。

代码见:lualib 下 sharedata.lua 中的 monitor 函数 ;服务提供方见 service 下 sharedatad.lua 中的 update 函数

13 Mar 12:44

浙江温州的鲸鲨屠宰场

除夕夜,我收到英国摄影师Alex Hofford的邮件,他想让我帮忙曝光一件事。

几年前,我转载过他在宁波拍的《熔模铸造》系列图片,就这样认识了。后来,他和另一个摄影师Paul Hilton,在香港发起了野生动物保护组织Wildlife Risk

这一次,他们发现浙江省温州市有一个世界最大的鲸鲨屠宰场。

下面是维基百科对"鲸鲨"的介绍。

"鲸鲨(学名:Rhincodon typus)是世界上最大型的鲨鱼,也是世界上最大的鱼。

虽然鲸鲨拥有巨大的身躯,但不会对人类造成重大的危害。鲸鲨的个性事实上是相当温和的,也会与潜水人员嬉戏,有时甚至会让人骑乘。

鲸鲨几乎没有天敌,人类进行的渔业活动是它们数量减少的主要原因。目前生物学家仍无法掌握鲸鲨的数量,世界自然保护联盟认为鲸鲨是濒危物种,波昂公约( Bonn Convention )则将这种鲨鱼列入了解中的迁移性鲨鱼备忘录名单。濒临绝种野生动植物国际贸易公约在2002年把鲸鲨列为附录二物种,显示鲸鲨保育获得全球共识。"

浙江省温州市下属的乐清市蒲岐镇,有一家海洋生物保健品有限公司。

Wildlife Risk声称,该公司的下属工厂每年屠宰600多条鲸鲨。

鲸鲨被加工成几个部分。

(1)鱼鳍晒干后,转运到广州,出售给当地餐厅,作为装饰摆设之用,以吸引食客。

(2)鲨鱼皮售予皮革商以制造手袋。

(3)鲨鱼的的嘴唇、胃及肉,会被当作食材卖到餐厅。

(4)最有利可图的是鲨鱼的肝脏,用来提取鱼油。

Wildlife Risk还提供下面的视频(优酷Vimeo),作为证据。

除了鲸鲨,Wildlife Risk还发现另外两种鲨鱼----姥鲨和大白鲨----也在被屠宰之列。

这三种鲨鱼全部属于《濒危野生动植物种国际贸易公约》(CITES)的附录二物种,这意味着它们目前不属于濒危物种,但需要管制交易。由于中国是该条约的缔约国,所以在中国加工这几类鲨鱼,并不完全合法。美国的《国家地理》网站,已经报道了此事。

Wildlife Risk的主张如下:

"在物种被迫至濒临灭绝之前,我们呼吁中国有关当局马上遵循国际协定,对此类非法活动予以适当管制。"

我的立场是:

反对捕捞、加工、食用大型海洋鱼类(参见这里),希望通过我的网站让更多的人知道这件事,直至引起政府部门的重视,对该事件进行查实。一旦属实,坚决取缔和惩罚相关人员。

(完)

文档信息