Don Watkins 发布的文章

Mark Text 拥有的工具使得撰写 Markdown 变得容易,同时又提供了一个不会打扰我的简单的界面。

 title=

几年前,当我开始使用 Jupyter 笔记本时,我接触到了 Markdown 格式。许多作者都知道 Markdown,但这是我不熟悉的一种技能。

Markdown 是一种标准的文本写作方式,在这种方式中,你可以用精简的符号来标记你想要的文本样式。例如,你不用点击一个按钮来使一个词变粗体,而是用两个星号(**word**)包围这个词。这有两种效果:

  • 当作为纯文本查看时,视觉上显示出强调的文本
  • 如果有一个好的文本转换器或渲染器(如 Pandoc 或一个好的 Markdown 文本编辑器),就会显示为加粗。

Markdown 最大的优点之一是它的大部分符号都是直观的,并且来自我们大多数人已有的习惯。它使得用星号强调单词,用字符标记标题以区分它们等等变得很自然。

每个人都对它评价很高,但我不确定为什么我需要学习和使用 Markdown。然而,我是一个好奇的人,我开始探索 Markdown,以及它如何在我的写作中发挥作用。

学习 Markdown

我很喜欢在学习时使用 Markdown 速查表。我发现 Markdown 是一个很好的工具,可以写任何内容,而且我很喜欢甚至不需要一个专门的 Markdown 编辑器这一点。任何文本编辑器都可以写 Markdown,因为 Markdown 使用标准文本来表示样式。我开始使用简单的编辑器,如 Vim 或 gedit(或任何其他编辑器),并查阅这个速查表以记住简单的格式化规则。

今年我一直在写日记,作为组织我的想法和学习更多关于 Markdown 的方法。我最近尝试了 Ghostwriter 文本编辑器,这是一个优秀的编辑器,有一些额外的 Markdown 特定功能。Markdown 现在已经变得非常流行了,许多编辑器都加入了语法高亮、提示和其他使 Markdown 编写变得容易的功能,或者将其作为重点。它们不是必须的功能,但当你拥有它们时,还是很好的。

尝试 Mark Text

在阅读一个博客时,我发现了 Mark Text。Mark Text 使写 Markdown 变得很容易,同时提供了一个简单的界面,而且又不影响我。Mark Text 有六个主题,三个浅色和三个深色主题。深色主题对我来说更容易使用。它的 用户文档 非常好,而且也提供了 Markdown 的 语法帮助

Markdown 的实时预览

Mark Text 以简洁的界面提供了实时预览功能。它支持 Commonmark 规范、Github 风格的 Markdown 规范,以及 Pandoc Markdown。据其网站说,Mark Text 还支持 KaTex、front matter 和 emoji 等 Markdown 扩展。它还可以输出 HTML 和 PDF 文件。

Mark Text 有各种编辑模式,如打字模式、源代码模式和专注模式。添加图片是一件很容易的事,因为你可以简单地从剪贴板上复制和粘贴它们。

在 Mark Text 窗口的左上方有一个弹出窗口,显示迄今为止输入的字符和段落数量。作为一个作家,这真的很有帮助。

从 Mark Text 窗口左上方的菜单或使用 Ctrl+S 保存文件很容易。事实上,Mark Text 的菜单对任何习惯于基本文本编辑器或文字处理器的人来说都是友好和熟悉的。

 title=

我喜欢 Mark Text 用简单的快捷键支持各种格式,包括表格块、图表、行内格式、数学公式块和其他代码块。

你可以从以下链接中为你的操作系统下载 Mark Text:

Mark Text 以 MIT 许可证开源。你可以随时 下载 最新的版本。

另外,你可以用 brew install --cask mark-text 在 macOS 上安装 Mark Text,在 Windows 上用 Chocolatey 输入 choco install marktext 来安装它。

Mark Text 一直在寻找赞助商和开发者。该项目有一个给贡献者的 指南。此外,你可以在 Patreon 和 Open Collective 上支持该项目。


via: https://opensource.com/article/21/10/mark-text-markdown-editor

作者:Don Watkins 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

用这些开源工具从你的硬盘驱动器中擦除数据。

 title=

保持数据安全的最好方法之一是只向加密的硬盘驱动器写入数据。在一个标准的硬盘上,只要把硬盘挂载就可以查看数据,就像 U 盘一样,甚至可以用 ScalpelTestdisk 等工具显示和恢复已删除的数据。但是在一个加密的驱动器上,如果没有解密密钥(通常是你在挂载驱动器时输入的密码),数据是无法被读取的。

加密可以在你安装操作系统时建立,有些操作系统甚至可以在安装后的任何时候激活加密功能。

但是,当你卖掉一台电脑或更换一个一开始就没有被加密的驱动器时,你该怎么办呢?

与从一开始就加密你的数据相比,最好的办法是在你用完硬盘后删除数据。

负责任的看管者

我经常被要求帮助客户升级一台旧电脑。无一例外,他们更愿意帮助我回收它们,使它们能被别人使用。我很乐意翻新这些旧电脑,用较新的固态驱动器来改装它们,极大地提高性能。

然而,把一个旧驱动器扔进垃圾桶并不是一个好主意。它需要被擦除,然后被妥善处理。我没有把硬盘留在原来的电脑里,而是把它们取出来,放在一个硬盘盒里,然后把它们连接到我的 Linux 电脑上。有几个 Linux 工具可以很容易地完成这个任务。其中一个是 Gnu Shred

GNU Shred

$ sudo shred -vfz /dev/sdX

Shred 有许多选项:

  • -n - 覆盖的次数。默认是三次。
  • -u - 覆盖并删除。
  • -s - 要粉碎的字节数。
  • -v - 显示扩展信息。
  • -f - 必要时强制改变权限以允许写入。
  • -z - 最后用 0 覆盖来隐藏粉碎。

使用 shred --help 获取更多信息

ShredOS

ShredOS 是一个 即用 Live Linux 发行版,它的唯一目的是清除驱动器的全部内容。它是在一个名为 DBAN 的类似发行版停止维护后开发的。它使用 nwipe 应用,它是 DBAN 的 dwipe 的一个分叉。你可以通过下载 32 位或 64 位镜像,并在 Linux 和 macOS 上使用 dd 命令将其写入驱动器来制作一个可启动的 USB 驱动器:

$ sudo dd if=shredos.img of=/dev/sdX bs=4M status=progress

另外,你可以在 Linux、macOS 和 Windows 上使用 Etcher 工具烧录。

dd 命令

清除驱动器的一个常见方法是使用 Linux 的 dd 命令。几乎所有的 Linux 安装都安装了 dd 工具。确保该驱动器没有被挂载。

$ sudo umount /dev/sdXY -l

如果你想在整个目标磁盘上写零,执行以下命令。这可能需要一个整个通宵。

$ sudo dd if=/dev/urandom of=/dev/sdX bs=10M

警告:请确保你知道你在系统中的位置,并以正确的驱动器为目标,这样你就不会意外地删除自己的数据。

Nvme-cli

如果你的计算机包含一个较新的 NVMe 驱动器,你可以安装 nvme-cli 程序,并使用 sanitize 选项来清除你的驱动器。

nvme sanitize help 命令提供了选项列表:

  • --no-dealloc-d - 净化后不解除分配。
  • --oipbp-i - 每次覆写后反转模式。
  • --owpass=-n - 覆写次数。
  • --ause-u - 允许无限制净化退出。
  • --sanact=-a - 净化动作。
  • --ovrpat=-p - 覆写模式。

下面是我使用的命令:

$ sudo nvme sanitize /dev/nvme0nX

这里的警告与格式化过程相同:首先备份重要的数据,因为这个命令会擦除这些数据!

信息管理

你保存在计算机上的信息是很重要的。它属于你,也属于其他任何人。当你卖掉一台电脑或处理一个硬盘时,确保你已经用这些很棒的工具之一清除了你的数据。


via: https://opensource.com/article/21/10/linux-tools-erase-data

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

每个人都有自己喜欢的 Markdown 编辑器。这里有几个我已经试过的。

 title=

你可以用 Markdown 做任何事情:给网站排版、编写书籍和撰写技术文档只是它的一些用途。我喜欢它创建富文本文档可以如此简单。每个人都有自己喜欢的 Markdown 编辑器。在我的 Markdown 之旅中,我使用了好几个。下面是我考虑过的五个 Markdown 编辑器。

Abricotine

Abricotine 是一个在 GPLv 下发布的开源编辑器。你可以手动输入格式,或者使用菜单插入 GitHub 风格的 Markdown。Abricotine 允许你在输入时预览文本元素,如标题、图片、数学、嵌入式视频和待办事项。该编辑器只能将文件导出为 HTML。你可以在 Linux、macOS 和 Windows 上使用 Abricotine。

 title=

MarkText

MarkText 是一个简单的 Markdown 编辑器。它有很多功能,而且在处理 Markdown 格式的文件方面做得很好。MarkText 也支持 GitHub 风格的 Markdown,它允许你添加表格和带有语法高亮的代码块。它支持实时预览,并且有一个简单的界面。MarkText 是在 MIT 下授权的。它支持 HTML 和 PDF 格式的输出。MarkText 可以在 Linux、macOS 和 Windows 上使用。

 title=

Ghostwriter

Ghostwriter 是一个用于 Linux 和 Windows 的 Markdown 编辑器。根据其网站用户的说法。“享受无干扰的写作体验,包括全屏模式和简洁的界面。有了 Markdown,你可以现在写,以后再格式化”。它有内置的默认的浅色和深色主题,或者你可以自己编写。你可以将文件实时按 HTML 预览,你可以直接复制和粘贴到博客中,或导出为其他格式。Ghostwriter 是在 GPLv3 下发布的。

 title=

Atom

Atom 被称为 21 世纪的可自定义文本编辑器。它也可以作为一个 Markdown 编辑器使用。它可以在 Linux、Windows 和 macOS上运行,并以 MIT 许可证发布。它支持 GitHub 风格的 Markdown,并且按下 Ctrl+Shift+M 可以打开一个预览面板,这样你就可以轻松地看到 HTML 预览。你可以通过创建一个文件并以 .md 文件扩展名保存来轻松入门。这告诉 Atom 它是一个 Markdown 文件。Atom 会自动应用正确的包和语法高亮。

 title=

VSCodium

VSCodium 是微软的 VSCode 编辑器的自由开源版本,没有内置在微软产品中的遥测技术。它以 MIT 许可证发布,并提供了 VSCode 的所有功能,而没有专有特性。除了其他功能外,VSCodium 还可以作为一个 Markdown 编辑器。创建一个新文件,点击 “选择一个语言”,选择 “Markdown”,然后开始写你的代码。通过按 Ctrl-Shift+V 轻松预览文本,然后再切换回编辑器。你也可以通过添加一个扩展来轻松地扩展 Markdown 编辑器。我最喜欢的插件是 Markdown editor,它是 MIT 许可证。

 title=

你最喜欢的 Markdown 编辑器是什么? 让我们在评论中知道。


via: https://opensource.com/article/21/10/markdown-editors

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

nvme-cli 命令拥有诸多实用的选项,且它是控制和管理数据一种很好的方式。

 title=

NVMe 是指 非易失性内存规范 Non-Volatile Memory Express ,它规范了软件和存储通过 PCIe 和其他协议(包括 TCP)进行通信的方式。它是由非营利组织领导的 开放规范,并定义了几种形式的固态存储。

我的笔记本电脑有一个 NVMe 驱动器,我的台式机也有。而且它们的速度很快。我喜欢我的电脑启动的速度,以及它们读写数据的速度。几乎没有延迟。

没过多久,我就对驱动这种超高速存储的技术产生了好奇,所以我做了一些调查。我了解到,NVMe 驱动器消耗的电力更少,而提供的数据访问速度甚至比 SATA 的 SSD 驱动器快得多。这很有趣,但我想知道更多关于我的特定 NVMe 驱动器的信息,我想知道它们与其他驱动器有何区别。我可以安全地擦除驱动器吗?我怎样才能检查它的完整性?

带着这些问题我在互联网上搜索,发现了一个开源项目,其中有一系列管理 NVMe 驱动器的工具。它被称为 nvme-cli

安装 nvme-cli

你可以从你的发行版的包管理器中安装 nvme-cli。例如,在 Fedora、CentOS 或类似系统上:

$ sudo dnf install nvme-cli

在 Debian、Mint、Elementary 和类似系统上:

$ sudo apt install nvme-cli

探索 NVMe 驱动器

在安装 nvme-cli 后,我想探索我的驱动器。nvme-cli 没有手册页,但你可以通过输入 nvme help 获得很多帮助:

$ nvme help
nvme-1.14
usage: nvme <command> [<device>] [<args>]

The '<device>' may be either an NVMe character device (ex: /dev/nvme0) or an
nvme block device (ex: /dev/nvme0n1).

The following are all implemented sub-commands:
 list List all NVMe devices and namespaces on machine
 list-subsys List nvme subsystems
 id-ctrl Send NVMe Identify Controller
 id-ns Send NVMe Identify Namespace, display structure
 id-ns-granularity Send NVMe Identify Namespace Granularity List, display structure
 list-ns Send NVMe Identify List, display structure
 list-ctrl Send NVMe Identify Controller List, display structure
 nvm-id-ctrl Send NVMe Identify Controller NVM Command Set, display structure
 primary-ctrl-caps Send NVMe Identify Primary Controller Capabilities
[...]

列出所有的 NVMe 驱动器

sudo nvme list 命令列出你机器上所有的 NVMe 设备和命名空间。我用它在 /dev/nvme0n1 找到了一个 NVMe 驱动器。下面是命令输出结果:

$ sudo nvme list

Node SN Model Namespace Usage Format FW Rev

--------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------

/dev/nvme0n1    S42GMY9M141281 SAMSUNG MZVLB256HAHQ-000L7 1

214.68 GB / 256.06 GB 512  B + 0 B 0L2QEXD7

我有一个名为 nvme0n1 的驱动器。它列出了序列号、品牌、容量、固件版本等等。

通过使用 id-ctrl 子命令,你可以得到更多关于该硬盘和它所支持的特性的信息:

$ sudo nvme id-ctrl /dev/nvme0n1
NVME Identify Controller:
vid : 0x144d
ssvid : 0x144d
sn : S42GMY9M141281
mn : SAMSUNG MZVLB256HAHQ-000L7
fr : 0L2QEXD7
rab : 2
ieee : 002538
cmic : 0
mdts : 9
cntlid : 0x4
ver : 0x10200
rtd3r : 0x186a0
rtd3e : 0x7a1200
[...]

驱动器健康

你可以通过 smart-log 子命令来了解硬盘的整体健康状况:

$ sudo nvme smart-log /dev/nvme0n1
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning : 0
temperature : 21 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 2%
endurance group critical warning summary: 0
data_units_read : 5,749,452
data_units_written : 10,602,948
host_read_commands : 77,809,121
host_write_commands : 153,405,213
controller_busy_time : 756
power_cycles : 1,719
power_on_hours : 1,311
unsafe_shutdowns : 129
media_errors : 0
num_err_log_entries : 1,243
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1 : 21 C
Temperature Sensor 2 : 22 C
Thermal Management T1 Trans Count : 0
Thermal Management T2 Trans Count : 0
Thermal Management T1 Total Time : 0
Thermal Management T2 Total Time : 0

这为你提供了硬盘的当前温度、到目前为止的使用时间、不安全的关机次数等等。

格式化一个 NVMe 驱动器

你可以用 nvme-cli 格式化一个 NVMe 驱动器,但要注意。这将删除驱动器上的所有数据!如果你的硬盘上有重要的数据,你必须在这样做之前将其备份,否则你将会丢失数据。子命令是 format

$ sudo nvme format /dev/nvme0nX

(为了安全起见,我用 X 替换了驱动器的实际位置,以防止复制粘贴的错误。将 X 改为 1nvme list 结果中列出的实际位置。)

安全地擦除 NVMe 驱动器

当你准备出售或处理你的 NVMe 电脑时,你可能想安全地擦除驱动器。这里的警告与格式化过程中的警告相同。首先要备份重要的数据,因为这个命令会删除这些数据!

$ sudo nvme sanitize /dev/nvme0nX

尝试 nvme-cli

nvme-cli 命令是在 GPLv2 许可下发布的。它是一个强大的命令,有很多有用的选项,用来有效地控制和管理数据。


via: https://opensource.com/article/21/9/nvme-cli

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:turbokernel

本文由 LCTT 原创编译,Linux中国 荣誉推出

通过使用 Libimobiledevice 从 Linux 与 iOS 设备进行通信。

 title=

iPhone 和 iPad 绝不是开源的,但它们是流行的设备。许多拥有 iOS 备的人恰好也在使用大量的开源软件,包括 Linux。Windows 和 macOS 的用户可以通过使用苹果公司提供的软件与 iOS 设备通信,但苹果公司不支持 Linux 用户。开源程序员早在 2007 年(就在 iPhone 发布一年后)就以 Libimobiledevice(当时叫 libiphone)来拯救了人们,这是一个与 iOS 通信的跨平台解决方案。它可以在 Linux、Android、Arm 系统(如树莓派)、Windows、甚至 macOS 上运行。

Libimobiledevice 是用 C 语言编写的,使用原生协议与 iOS 设备上运行的服务进行通信。它不需要苹果公司的任何库,所以它完全是自由而开源的。

Libimobiledevice 是一个面向对象的 API,它捆绑了许多便于你使用的终端工具。该库支持苹果从最早到其最新的型号的 iOS 设备。这是多年来研究和开发的结果。该项目中的应用包括 usbmuxdideviceinstalleridevicerestoreifuselibusbmuxdlibplistlibirecoverylibideviceactivation

在 Linux 上安装 Libimobiledevice

在 Linux 上,你可能已经默认安装了 libimobiledevice。你可以通过你的软件包管理器或应用商店找到,或者通过运行项目中包含的一个命令:

$ ifuse --help

你可以用你的包管理器安装 libimobiledevice。例如,在 Fedora 或 CentOS 上:

$ sudo dnf install libimobiledevice ifuse usbmuxd

在 Debian 和 Ubuntu 上:

$ sudo apt install usbmuxd libimobiledevice6 libimobiledevice-utils

或者,你可以从源代码 下载 并安装 libimobiledevice

连接你的设备

当你安装了所需的软件包,将你的 iOS 设备连接到你的电脑。

为你的 iOS 设备建立一个目录作为挂载点。

$ mkdir ~/iPhone

接下来,挂载设备:

$ ifuse ~/iPhone

你的设备提示你,是否信任你用来访问它的电脑。

iphone prompts to trust the computer

图 1:iPhone 提示你要信任该电脑。

信任问题解决后,你会在桌面上看到新的图标。

iphone icons appear on desktop

图 2:iPhone 的新图标出现在桌面上。

点击 “iPhone” 图标,显示出你的 iPhone 的文件夹结构。

iphone folder structure displayed

图 3:显示了 iPhone 的文件夹结构。

我通常最常访问的文件夹是 DCIM,那里存放着我的 iPhone 照片。有时我在写文章时使用这些照片,有时有一些照片我想用 GIMP 等开源应用来增强。可以直接访问这些图片,而不是通过电子邮件把它们发给我自己,这是使用 libimobiledevice 工具的好处之一。我可以把这些文件夹中的任何一个复制到我的 Linux 电脑上。我也可以在 iPhone 上创建文件夹并删除它们。

发现更多

Martin Szulecki 是该项目的首席开发者。该项目正在寻找开发者加入他们的 社区。Libimobiledevice 可以改变你使用外设的方式,而无论你在什么平台上。这是开源的又一次胜利,这意味着它是所有人的胜利。


via: https://opensource.com/article/21/8/libimobiledevice-iphone-linux

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

PlantNet 将开源技术与众包知识结合起来,帮助你成为业余植物学家。

 title=

在我居住的地方很多小路和道路两旁都有花草树木。我所在的社区因其每年的枫树节而闻名,枫树对我来说很容易识别。然而,还有许多其他的树我无法识别名字。花也是如此:蒲公英很容易发现,但我不知道在我的步行道上的野花的名字。

最近,我的妻子告诉我了 PlantNet,一个可以识别这些花草和树木的移动应用。它可以在 iOS 和 Android 上使用,而且是免费的,所以我决定试试。

以开源的方式识别植物

我在手机上下载了这个应用程序,开始用它来识别我在村子周围散步时的一些花草和树木。随着我对这个应用的熟悉,我注意到我拍摄的图片(以及其他用户拍摄的图片)是以知识共享署名-相同方式共享(CC-BY-SA)的许可方式共享的。进一步的调查显示,PlantNet 是 开源 的。如果你喜欢,你可以匿名使用该应用,或者成为社区的注册成员。

根据 Cos4Cloud 公民科学项目,“PlantNet 是一个参与性的公民科学平台,用于收集、分享和审查基于自动识别的植物观察结果。它的目标是监测植物的生物多样性,促进公众对植物知识的获取”。它使用图像识别技术来清点生物多样性。

该项目的开发始于 2009 年,由法国的植物学家和计算机科学家进行。它最初是一个 Web 应用,而智能手机应用程序于 2013 年推出。该项目是 Floris'Tic 倡议的一部分,这是法国的另一个项目,旨在促进植物科学的科学、技术和工业文化。

PlantNet 允许用户利用智能手机的摄像头来收集视觉标本,并由软件和社区进行识别。然后,这些照片将与全世界数百万加入 PlantNet 网络的人分享。

该项目说:“PlantNet 系统的工作原理是,比较用户通过他们寻求鉴定的植物器官(花、果实、叶……)的照片传送的视觉模式。这些图像被分析,并与每天协作制作和充实的图像库进行比较。然后,该系统提供一个可能的物种清单及其插图”。

使用 PlantNet

该应用很容易使用。从你的智能手机上的应用图标启动它。

 title=

当应用打开时,你会看到你已经在资料库中收集的标本。显示屏底部的相机图标允许你使用你的相机将图片添加到你的照片库。

 title=

选择“相机”选项,将手机的摄像头对准你想识别的树木或花草。拍完照后,点击与你想识别的标本相匹配的选项(叶、花、树皮、果实等)。

 title=

例如,如果你想通过叶子的特征来识别一个标本,请选择叶子。PlantNet 对其识别的确定程度进行了分配,从高到低的百分比不等。你还可以使用你的智能手机的 GPS 功能,将位置信息自动添加到你的数据收集中,你还可以添加注释。

 title=

你可以在你的智能手机上或通过你的用户 ID(如果你创建了一个账户)登录网站,访问你上传的所有观测数据,并跟踪社区是否批准了它们。从网站界面上,你也可以下载 CSV 或电子表格格式的观察记录。

 title=

很好的户外活动

我特别喜欢 PlantNet 与维基百科的链接,这样我就可以阅读更多关于我收集的植物数据的信息。

目前全球大约有 1200 万 PlantNet 用户,所以数据集一直在增长。该应用是免费使用的,每天最多可以有 500 个请求。它还有一个 API,以 JSON 格式提供数据,所以你甚至可以把 Pl antNet 的视觉识别引擎作为一个 Web 服务使用。

PlantNet 的一个非常好的地方是,它结合了众包知识和开源技术,将用户相互联系起来,并与很好的户外活动联系起来。没有比这更好的理由来支持开源软件了。

关于该应用及其开发者的完整描述可在 YouTube 上找到(有法语、英文字幕)。你也可以在 PlantNet 的网站上了解更多该项目。


via: https://opensource.com/article/21/7/open-source-plantnet

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出