我想对京东云说几句话

今早收到这个噩耗,我才知道,我的邮件服务器挂了。

京东云这把是不是你搞的有问题,大家还得合计是不是杨笠给京东云泼脏水啊,就它承认了自己运维得很垃圾,为什么你们这帮死妈还是会给人洗呢,为什么现在还不挂起云主机实例,为什么不挂起,现在为什么不挂起,为什么不挂起,dump一下vram,vram呢vram呢,为什么不dump一下这个呢,dump到硬盘里啊!我操死你的妈!

【转载】开源恩情课文:牢Linus爷爷用邮件打下俄罗斯维护者

明朗的朝阳从显示屏的反光中映入了办公桌,Greg Kroah-Hartman小心翼翼地整理着邮件列表的反馈。Linus爷爷放下了他用来修改内核的键盘,抬起头来,看着社区的讨论,不由得笑了笑:“又一个PR合并完毕了。时间过得这么快,不抓紧清理这些不合规的维护者怎么行呢!”  

Greg皱着眉头:“Linus,你看社区的意见……会不会太过激了?”  

Linus淡然一笑:“打开文件,带我去看看最新的MAINTAINERS。”  

从控制台走到社区的讨论区,服务器日志里滚动着新提交的记录。PR被合并,部分俄罗斯开发者的名字已经从列表中消失。但邮件列表的气氛却不像代码库那样平静。屏幕上显示着数百条评论,有人为这次的清理欢呼:“英明神武!社区必须保持合规性!”也有人愤怒地质问:“开源的精神在哪里?规则不是自由的枷锁吗?”  

Linus坐下,打开了另一个终端,发布了一条声明:“自由从来不意味着无序,我们的开源世界,必须符合国际规则。”Greg低声劝道:“Linus,我们这样做,会不会损害开源的包容性?”Linus挥了挥手:“包容性不应该是代码的漏洞。”  

这时,一个年轻的开发者发来了私信:“Linus大神,我们只是写代码的,为什么要参与这些政治性的行为?”Linus看着屏幕,淡淡地回答:“世界已经变了,开源不再是一个独立于现实的象牙塔。我们得适应环境,保持项目的未来。”

话音刚落,一个通知弹出:“社区新增争议性议题!合规问题在GitHub和社交媒体上引发讨论。”Greg连忙跑进来说:“Linus,社区可能需要一个更详细的解释,我们这样可能影响贡献者的士气。”Linus转头微微一笑:“士气是靠技术积累的,不是靠无原则的自由换来的。”

正当两人讨论时,一名志愿开发者上传了一段批评的视频,标题写道:“开源的铁幕,Linus的规则”。视频里提到:“自由的代码已经成为政治的工具,开源再也不是那个无国界的精神家园。”  

Linus把声明文档推到一边:“既然来了,就回应他们。”

他打开终端,输入了一条命令:“自由的代价是规则的约束。那些不符合规则的维护者,只能被清理。”

然而,代码的光芒并没有让争议平息。争论声继续在邮件列表和社交平台中激荡,越来越多的开发者开始质疑:“这还是开源吗?”  

Linus站起身,走到窗口前,看着远方闪烁的服务器光点。他轻声说道:“自由从来不是无边无际的。规则让我们前行。”  

办公室的气氛如同初冬的寒风般冷清。社区的战士们,有些继续维护代码,有些选择了离开。新的提交依然在Git仓库中滚动,但开源的天空,似乎少了几分以往的明朗。

本文转载自哔哩哔哩动画,版权归原作者所有,作者是哔哩哔哩用户@左-岚点击此处查看原文

你看到的“绿皮车”真的是绿皮车吗?教你一招快速分辨普速铁路常见客车型号

“绿皮车”不是绿皮车!一般来说,严格意义上的绿皮车车上只有风扇没有空调,可以开窗,冬天烧锅炉取暖。现在还在运行的严格意义上的绿皮车型号有18型客车和单层25B型客车。带空调的18型客车和25B型客车也可以算真正意义上的绿皮车,因为出厂涂装原色为绿。地方铁路原色涂装非绿,但也属于严格意义上的绿皮车。而25G、25K、25T原有涂装的颜色分别为红、蓝、白。自2014年起,中国铁路上的客车涂装渐渐地被统一为了墨绿色底色、明黄色条纹的涂装。

即使在铁路客车几乎全部被刷绿的情况下,仍然存在一种通过涂装快速分辨客车型号的方法:车厢涂装黄条两端的平行四边形数。

这个方法可在图片/视频拍摄时抖动较大、拍摄设备问题导致的型号、车次信息模糊不清时快速判断客车型号,从而正确判断其原有涂装(即原色)。

判断方法:车厢涂装黄色条纹两端平行四边形数,2、3、5分别对应25B、25G、25K。25T涂装黄色部分为简单的黄色长条,无图案。此方法不适用于18型、22型客车。

作为一个铁路迷,笔者一直在向大众进行科普,避免大众对国铁的普速列车产生错误认知,并推广铁路文化。

【翻译】GIMP教程 – 简单悬浮标志教程

目的

这个教程旨在介绍一些简单的命令和概念,以创建一个看似悬浮在背景之上的标志,如下图所示:
GIMP悬浮标志示例
我们将使用图层蒙版来隔离图像的一部分,例如将标志放置在任意背景上。此外,我们还将添加阴影效果,使对象看起来悬浮在背景之上。

开始

创建一个适合您标志的新图像:

  1. 文件 → 新建…
    这将打开“创建新图像”对话框,您可以在其中指定选项。
  2. 您可以将新图像尺寸设置为任何您想要的尺寸,但为了本教程,我将宽度设置为256像素,高度设置为128像素。我没有指定其他选项。准备好后,点击“确定”创建新图像。
  3. 您的画布上将显示新图像。可能是纯白色的(具体颜色取决于您的GIMP设置处理新图像的方式)。

    用黑色填充新图像

  4. 首先,我们需要将新图像填充为黑色。第一步是确保前景色设置正确。点击颜色区域中的前景色,打开“更改前景色”对话框(如果前景色已经是黑色,则无需执行此步骤,但学习一下也无妨)。
  5. 在“更改前景色”对话框中,我们将颜色设置为黑色 RGB(0, 0, 0)。
  6. 设置好前景色后,我们可以使用桶填充工具来填充图像:
    工具 → 绘画工具 → 桶填充
  7. 激活桶填充工具后,您的光标应如下图所示。此时,只需点击图像区域即可填充黑色。

    添加一些文本

  8. 现在我们需要在图像中添加文本以创建标志。为了看清我们在做什么,需要将前景色更改为黑色以外的颜色(黑色文本在黑色背景上不易看清)。
  9. 您可以按照上述步骤再次设置前景色。如果背景色已经是白色,您可以通过点击颜色区域中的箭头来快速交换前景色和背景色。
  10. 设置好前景色后,我们可以使用文本工具添加文本:
    工具 → 文本
  11. 我们现在可以在画布上绘制一个框来容纳文本。您可以在画布上点击以定义文本框的左上角,然后拖动鼠标到右下角。此时不需要精确,因为之后可以调整边界。
  12. 定义文本框后,我们可以输入文本。在我的例子中,我将使用我的名字。
  13. 文本工具选项中,如果文本太小,您可以更改大小字段。例如,我将大小设置为100像素。
  14. 您可能不喜欢默认的字体。在这种情况下,我们可以通过点击图标更改字体,打开下拉菜单浏览GIMP系统中所有可用的字体。在我的例子中,我将字体更改为“Tw Cen MT Bold”。
  15. 一旦我们得到满意的文本,我们可以创建一个包含所有可见图层的新图层(文本图层和黑色背景图层):
    图层 → 从可见图层新建
  16. 此时,我们的图层调色板中将有三个图层:背景、文本(“PAT”)和我们新的图层“Visible”。

    添加颜色

  17. 现在我们将在图像中添加一些颜色以增加趣味。我们首先在图像中添加一个新图层:
    图层 → 新图层…
  18. 使用等离子体插件填充新图层:
    滤镜 → 渲染 → 噪声 → 等离子体…
  19. 我保留了默认值并点击“确定”,但您可以随意调整设置。现在我们的图层看起来像这样:
    GIMP等离子体图层

    凹凸贴图

  20. 现在我们将使用之前创建的文本在等离子体图层上生成一个假的3D形状。这个过程称为“凹凸贴图”。我不会详细介绍这是如何工作的,因为最好是通过观察来理解。
  21. 打开凹凸贴图对话框:
    滤镜 → 地图 → 凹凸贴图…
  22. 凹凸贴图插件提供了一个很好的预览,显示插件的效果。
  23. 为了正确使用此插件,需要正确指向凹凸贴图的来源。在我们的例子中,来源是我们之前创建的文本图层(图层名为“Visible”)。因此,我们将点击凹凸贴图的微调器,并从列表中选择我们的“Visible”图层。
  24. 您可以随意调整选项。我唯一更改的是深度,以增加深度的错觉(我在示例中将其设置为6)。一旦看起来不错,点击“确定”按钮应用它。

    应用图层蒙版

  25. 现在我们将使用图层蒙版来隔离我们凹凸贴图的文本。首先我们需要向等离子体图层添加图层蒙版
    **图层 → 蒙版 → 添加图层蒙版…
  26. 向等离子体图层添加图层蒙版后,您的图层调色板应如下图所示:
    GIMP图层调色板带蒙版
  27. 记住,您可以通过查看哪个图层(或蒙版)周围有白色边框来判断哪个图层当前处于活动状态。上图中显示等离子体图层的蒙版处于活动状态(白色边框围绕白色蒙版,因此很难注意到,但没有其他图层/蒙版周围有白色边框)。
  28. 我们现在要复制“Visible”图层,并将其粘贴到等离子体图层的蒙版中。首先,在图层调色板中左键单击“Visible”图层以激活它:
    GIMP图层调色板复制
  29. 激活图层后,我们现在复制它:
    编辑 → 复制
  30. 然后我们通过左键单击蒙版来再次激活等离子体图层的蒙版:
    GIMP凹凸贴图图层蒙版
  31. 激活蒙版后,我们现在将“Visible”图层粘贴回图像中:
    编辑 → 粘贴
  32. 这将在您的图像中插入一个浮动选择(粘贴的图层)
    GIMP图层粘贴
  33. 为了将这个浮动选择放入蒙版中,我们需要锚定它:
    图层 → 锚定图层
  34. 这将锚定选择到蒙版上。我们的图像和图层现在应如下图所示:
    GIMP图层蒙版示例
  35. 我们现在可能想要添加一个不同颜色的背景,以帮助我们微调到目前为止的结果。按照之前创建等离子体图层的方法添加一个新图层,并将其放在等离子体图层下方(您可以通过点击并拖动图层来更改图层调色板中的顺序)。
  36. 选择一个有趣的背景颜色,并用该颜色填充新图层。现在您的图层应如下图所示:
    GIMP图层蒙版背景

    调整色阶

  37. 我想要清理一下文本边缘,以得到我们目前的结果。目前,等离子体图层使用的蒙版是我们高斯模糊文本的副本。为了使其更加清晰,我们将调整该图层的蒙版色阶。
  38. 确保图层蒙版处于活动状态,然后通过菜单打开调整颜色色阶对话框:
    颜色 → 色阶…
  39. 我们现在想要稍微锐化蒙版的边缘:
    GIMP调整颜色色阶对话框
  40. 我们想要调整伽玛白点滑块。我开始时将白点滑块向下拖动以增加等离子体图层的突出度,然后推动伽玛以上调它。(如果您在跟随操作,您也可以直接复制我上面的值)。
  41. 目标是增加文本边缘的定义,而不会过于尖锐(锯齿状)。玩转设置以查看它们如何影响您的结果。这是应用上述色阶后我的等离子体图层的样子:
    GIMP色阶应用后

    创建阴影

  42. 现在我们可能想要更精致一些,为标志添加一个阴影效果,使其看起来像是在背景上方浮动。我们已经有了解决方案所需的一切,只需移动一些东西即可。
  43. 复制您之前创建的带有原始模糊文本的“Visible”图层。选择图层以激活它,然后执行:
    图层 → 复制图层
  44. 或者右键单击“Visible”图层,并选择“复制图层”:
    GIMP上下文复制图层
  45. 这将创建一个名为“Visible copy”的新图层。将其移动到背景颜色图层之上,紧挨着等离子体图层:
    GIMP阴影图层
  46. 这个图层将成为我们的阴影,但在修改之前,我们需要先做一些事情。首先,我们将图层颜色反转,使文本变为黑色:
    颜色 → 反转
  47. 然后我们需要更改图层,使所有白色区域透明。这可以在菜单中找到:
    图层 → 透明度 → 颜色到透明度…
  48. 层现在应该有黑色文本和透明背景。我们现在只是想要通过向下和向右稍微偏移来模拟高度。使用移动工具
    工具 → 变换工具 → 移动
  49. 如果我们按住Shift并在画布上点击,我们将限制移动工具仅修改活动图层(我们的阴影图层)。将图层向右和向下拖动一点以模拟阴影。我最终得到的结果如下:
    ![GIMP示例阴影]()
  50. 为了使阴影效果更佳,我们可以向阴影图层添加高斯模糊以使其更散开一些。我们还可以调整阴影图层的不透明度,使其略微透过背景。
  51. 在我的例子中,我应用了高斯模糊,半径为10像素,并将阴影图层的不透明度调整为80%。
  52. 这是我的图像的最终状态:
    GIMP示例阴影高斯模糊

    结束

    这是我完成所有步骤后的最终悬浮标志图像:
    GIMP示例悬浮标志最终
    这个教程的有趣之处在于,我们可以在图像背后使用任何背景,而效果和阴影仍然存在:
    GIMP示例悬浮标志正弦波背景
    或者我们可以将其保存为PNG文件,没有任何背景,从而允许任何背景透出:
    GIMP示例悬浮标志无背景透明
    就这样!去创造您自己的悬浮标志吧。

    更正

    对于有兴趣的人,我提供了用于创建这个教程的.xcf.bz2文件,您可以通过以下链接下载:Floating-Logo-Tut-patdavid.xcf.bz2 (96KB)

    Creative Commons By Share Alike

     

GIMP Tutorial – GIMP Quickies (text & images) by Pat David
GIMP教程 – GIMP快速操作(文本 & 图片) 由 谢大大 使用 ChatGLM 翻译
原文与译文根据Creative Commons Attribution-ShareAlike 3.0 Unported License发布。

一种利用kexec从Live引导安装完成的GNU/Linux系统的想法

目前很多GNU/Linux发行版(以下简称“Linux系统”)都提供Live环境,供用户测试,基本等同于一个完整的操作系统,可以安装各种软件,包括kexec工具(Debian系为kexec-utils软件包)。而kexec允许计算机从当前运行的Linux内核直接跳转到新的内核,跳过引导阶段以减少重启时间。一次经历,使我产生了一个大胆的想法:通过kexec从Live系统直接启动已安装的系统,减少重启时间。


我的经历


最近,我在给我的服务器安装Proxmox VE,但发现安装盘不能正常使用,于是我启动到了另外一个Live系统,打算重新格式化U盘刷安装镜像。安装盘做好后我突然想起来kexec可以直接启动另一个内核,于是我先安装了kexec-utils,再打开安装盘,找到安装盘的内核、initrd和grub配置文件,然后执行了


kexec -l /media/PVE/boot/vmlinuz --append=<从grub配置文件复制的参数> --initrd=/media/PVE/boot/initrd.img

接下来,kexec -e,顺利进入PVE安装程序,跳过了服务器漫长的开机自检。


想法


既然可以从Live环境进入另一个安装程序,那么应该可以进入已安装的系统,毕竟都是Linux系统。我觉得这样可以节省不少时间。


我的思路如下:



  • Live环境下的内核启用kexec支持,用户空间预置kexec工具;

  • 安装程序在生成grub配置文件的同时生成对应的kexec命令;

  • 安装完成时,添加一个“快速进入新系统”的按钮,点击后可直接执行kexec -e

  • 跳过漫长的开机自检,直接进入新系统!


(后面不知道怎么写了,到此为止吧。)