为什么有的地方拍卖价格是从高到低?

在我们常见的拍卖会上,一件物品的价格往往是由低向高叫价,但有些地方也会使用另一种方式,拍卖价由高往低叫,那你知道他们为什么要这么做吗?

要弄明白这个,就需要理解什么叫消费者剩余了。

假设你现在有一张纪念邮票,因为你不是邮票爱好者,所以你打算把邮票卖出,卖出的一种方法是举行一场拍卖会。

现在有四个集邮爱好者出现在拍卖会上:张三,李四,王五,赵六。

他们的支付意愿为:

买者 支付意愿(人民币)
张三 100
李四 80
王五 70
赵六 60

支付意愿:买者愿意为某种物品支付的最高价。

为了卖出你的纪念邮票,你从一个低价格开始叫价,比如30元。当价叫到80元(或略高一点)时,李四、王五、赵六都不愿意出更高的价格,这时张三80元获得了这张邮票。

在某种意义上来说,张三做了一笔划算的生意,本来他愿意为这张邮票出100元,而现在他只出了80元。对此我们说,张三获得了20元的消费者剩余

消费者剩余是指买者愿意为一种物品支付的价格减去其为此实际支付的价格。

在上个例子中,张三获得了20元的消费者剩余,而其他三人没有获得消费者剩余,因为他们没有得到邮票,也没有花一分钱。

现在我们把上面的情况修改一下,假如你有两张邮票,那么当张三与李四喊出70元(或略高一点)时,王五与赵六放弃,这时张三与李四花70元获得了邮票,那么张三的消费者剩余是30元,李四也获得了10元的消费者剩余

消费者剩余增加了,但你获得的利益减少了。理解了这个,我们现在看另一种拍卖方式,价格从高往低叫价:

你现在从200元开始叫价,当减少到100元时,张三愿意支付100元,交易成立,张三没有获得消费者剩余,而你获得的利益增多。这就是为什么很多地方会使用这种方式拍卖。

这种情况适用于拍卖物具有独特性,而且这也是一种理想情况,现实情况往往复杂的多。

读《经济学原理(微观)》第7章有感。

debugfs使用简述

知道具体文件,查看文件所存放的block号:
  1. 比如我现在要查看/home/sting/.Xauthority文件所占的block号,df -h 查看分区对应的系统目录
    Filesystem      Size  Used Avail Use% Mounted on
    udev            3.9G     0  3.9G   0% /dev
    tmpfs           789M   42M  748M   6% /run
    /dev/sda1        47G   32G   13G  72% /
    tmpfs           3.9G  423M  3.5G  11% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
    /dev/loop2      207M  207M     0 100% /snap/ubuntu-app-platform/34
    /dev/loop1       82M   82M     0 100% /snap/core/4206
    /dev/loop0       82M   82M     0 100% /snap/core/4017
    /dev/loop4       62M   62M     0 100% /snap/go/1473
    /dev/loop3       82M   82M     0 100% /snap/core/4110
    /dev/loop5       11M   11M     0 100% /snap/ipfs/335
    /dev/sda2       465M  396M   41M  91% /boot
    /dev/sda5       179G   59G  112G  35% /home
    /dev/sda4       976M  3.5M  972M   1% /boot/efi
    tmpfs           789M  140K  789M   1% /run/user/1000
    
  2. sudo debugfs /dev/sda5
    [sting@sting-snds]
    [:~]$ sudo debugfs /dev/sda5
    [sudo] password for sting:
    debugfs 1.42.13 (17-May-2015)
    debugfs:  pwd
    [pwd]   INODE:      2  PATH: /    # 由上一步所知,这时你所在的目录其实在/home下
    [root]  INODE:      2  PATH: /
    debugfs:  stat /sting/.Xauthority # 查看这个文件的信息,它的实际路径其实是 /home/sting/.Xauthority
        # 显示如下:
        Inode: 10485770   Type: regular    Mode:  0600   Flags: 0x80000
        Generation: 2100926769    Version: 0x00000000:00000001
        User:  1000   Group:  1000   Size: 55
        File ACL: 0    Directory ACL: 0
        Links: 1   Blockcount: 8
        Fragment:  Address: 0    Number: 0    Size: 0
         ctime: 0x5ab84844:5b09ecdc -- Mon Mar 26 09:09:24 2018
         atime: 0x5ac2db93:a9a86890 -- Tue Apr  3 09:40:35 2018
         mtime: 0x5ab84844:5b09ecdc -- Mon Mar 26 09:09:24 2018
        crtime: 0x599bcd3f:1183b45c -- Tue Aug 22 14:20:47 2017
        Size of extra inode fields: 32
        EXTENTS:
        (0):43769344  # 文件对应的块号
        (END)
    
知道block号,查看block对应的具体文件:
  1. 根据块号查找分区。查看分区情况,sudo fdisk -lu
    Device         Start       End   Sectors   Size Type
    /dev/sda1       2048  99999743  99997696  47.7G Linux filesystem
    /dev/sda2   99999744 100999167    999424   488M Linux filesystem
    /dev/sda3  100999168 117000191  16001024   7.6G Linux swap
    /dev/sda4  117000192 119001087   2000896   977M EFI System
    /dev/sda5  119001088 500117503 381116416 181.7G Linux filesystem  # End - Start = Sectors
    

    Block(4KB) = 8 * Sectors(0.5KB)b = (int)((L-S)*512/B)

    where:
    b = File System block number
    L = LBA(Logical Block Address)
    S = Starting sector of partition as shown by fdisk -lu and (int) denotes the integer part
    B = File system block size in bytes

    可知: L-S = b / (512 / B) = 43769344 / (512 / 4096) = 350154752。所以, L = 350154752 + 119001088('注:此值为/dev/sda5 Start位置') = 469155840,判断这个块号应该是在/dev/sda5里,在Start到End区间内(如果判断不了,使用下一步试一下也能知道)。

  2. 使用debugfs获取对应具体文件信息,sudo debugfs /dev/sda5

    [sting@sting-snds]
    [:~]$ sudo debugfs /dev/sda5
    [sudo] password for sting:
    debugfs 1.42.13 (17-May-2015)
    debugfs:  icheck 43769344  #如果不在这个分区,会提示 <block not found>
    Block   Inode number
    43769344    10485770
    debugfs:  ncheck 10485770
    Inode   Pathname
    10485770    /sting/.Xauthority # 文件路径
    debugfs:  q
    

archlinux下i3-wm突然登录不进去问题

今天i3-wm突然登录不进去问题(2018-03-31)

  1. 每次输入密码登录之后又回到登录界面,完全摸不着头脑,也没有看到错误信息。

  2. 后来发现是有错误提示信息,在我ctrl+alt+fx(f1~f6)切入到别的字符界面控制台之后,但是没有仔细研究这个提示,结合dmesg命令之后判断应该是磁盘有坏道造成的。

  3. 关键错误提示:

    Buffer I/O error on dev sda10, logical block 8421888print_req_error: I/O error, dev sda, sector 1449822208 这两点。

  4. 第一条信息是最关键的,可惜我一直没有重视,只看到第二条了。

  5. 看到网上有一篇文章是关于磁盘坏道修复的,使用到的工具为smartctl,安装yaourt -S gsmartcontrol

  6. 根据文章写的步骤,第一步我发现1449822208属于/dev/sda10,这时我发现了我这第3步关键错误信息提示里的与这里的/dev/sda10提示的是一样的,然后结合这篇文章,我有些明白了block 8421888的含义了。

  7. 根据上面文章里的第四步,使用工具debugfs,详见debugfs使用简述,我找到坏道这里损坏的文件是/home/sting/.Xauthority,这时突然就明白了为什么会登录不进去了

  8. Xauthority,是startx脚本记录文件。Xserver启动时,读文件~/.Xauthority,读入对应其display的记录。当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文件,并把找到的magic code 发送给Xserver。当Xserver验证这个magic code正确以后,就同意连接啦。观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证

  9. 知道问题所在了就好办,使用startx自动生成.Xauthority文件

  10. crtl+alt+f7,重新登录果然进来了,问题解决。

总结:

  • 在登录界面登录不进来,不一定是这个问题,但这个问题会导致登录不了,又多了一个解题思路 🙂
  • 要仔细研究系统给出的错误提示信息