MPV 播放器:Linux 下的极简视频播放器
MPV 是一个开源的,跨平台视频播放器,带有极简的 GUI 界面以及丰富的命令行控制。VLC 可能是 Linux 或者其他平台下最好的视频播放器。我已经使用 VLC 很多年了,它现在仍是我最喜欢的播放器。不过最近,我倾向于使用简洁界面的极简应用。这也是我偶然发现 …
Python 调试器入门
Python 生态系统包含丰富的工具和库,可以让开发人员更加舒适。 例如,我们之前已经介绍了如何使用交互式 shell 增强 Python。本文重点介绍另一种可以节省时间并提高 Python 技能的工具:Python 调试器。Python 调试器Python 标准库提供了一个名为 pdb 的调…
用 NodeJS 进行 Twitter 情感分析
如果你想知道大家对某件事情的看法,Twitter 是最好的地方了。Twitter 是观点持续不断的涌现出来的地方,每秒钟大概有 6000 条新 Twitter 发送出来。因特网上的发展很快,如果你想与时俱进或者跟上潮流,Twitter 就是你要去的地方。现在,我们生活在一个数…
Go 编译器介绍
cmd/compile 包含构成 Go 编译器主要的包。编译器在逻辑上可以被分为四个阶段,我们将简要介绍这几个阶段以及包含相应代码的包的列表。在谈到编译器时,有时可能会听到 前端(front-end)和 后端(back-end)这两个术语。粗略地说,这些对应于我们将在此列出的…
基于日出和日落时间自动切换到明/暗 Gtk 主题
如果你在寻找一种基于日出和日落时间自动更改 Gtk 主题的简单方法,请尝试一下 AutomaThemely。 AutomaThemely 是一个 Python 程序,它可以根据光亮和黑暗时间自动更改 Gnome 主题,如果你想在夜间使用黑暗的 Gtk 主题并在白天使用明亮的 Gtk 主题,那么它…
全面教程:在 RxJS 中创建流
对大多数开发者来说,与 RxJS 的初次接触是通过库的形式,就像 Angular。一些函数会返回 流(stream),要使用它们就得把注意力放在操作符上。有些时候,混用响应式和非响应式代码似乎很有用。然后大家就开始热衷流的创造。不论是在编写异步代码或者是数据处…
Linux 用户应该换到 BSD 的 6 个理由
迄今我因 BSD 是 自由及开源软件(Free and Open Source Software) (FOSS)已经写了数篇关于它的文章。但总有人会问:“为什么要纠结于 BSD?”。我认为最好的办法是写一篇关于这个话题的文章。为什么用 BSD 取代 Linux?为了准备这篇文章,我与几位 BSD …
Linux DNS 查询剖析(第三部分)
在 Linux DNS 查询剖析(第一部分)中,我们介绍了:nsswitch/etc/hosts/etc/resolv.confping 与 host 查询方式的对比而在 Linux DNS 查询剖析(第二部分),我们介绍了:systemd 和对应的 networking 服务ifup 和 ifdowndhclientresolvconf剖析进展如下: …
在开源“集市”工作时如何建立一个职业网络
在组织内建立联系遇到问题了吗?你或许是采用了错误的策略。职业社交网络 —— 在同事或专业人员之间建立人际联系 —— 可以采用多种形式、在产业内跨组织进行。建立职业网络需要花费时间和精力,并且当某位成员加入或离开一个组织时,此人的网络通常需要被…
极客漫画:函数式编程的世界
作者巧妙地指出了函数式编程 不可变((immultable))的特点。当你需要改变一个对象的属性的时候……嗯,销毁了再创建一个就是了。这里的老板想来份变量(改变全局变量的值),而所谓 副作用((side effect)),指的是在这种编程范式下,函数内部与外部互动…
生产者与消费者之Android audio
生产者与消费者 简介 全面接触生产者/消费者问题是在操作系统原理中,并发性原理讨论的问题 生产者/消费者问题。最近的工作偏向音频,接着上一篇文章,用生产者,消费者模型来理解Android音频。 维基百科给出的描述 In computing, the producer–consumer…
为什么我仍然喜欢用 Alpine 发送电子邮件
这个免费的邮件客户端使用直观、易于定制,并且可以在许多操作系统上使用。也许你有这个经历:你试了一个程序,并且很喜欢它。多年后,有新的程序开发出来,它可以做同样的事情或者更多,甚至更好。你试了下它们,它们也很棒 —— 但你会继续使用第一个程序…
适用于 Fedora 28 的 3 款酷炫生产力应用
生产力应用在移动设备上特别受欢迎。但是当你坐下来做工作时,你经常在笔记本电脑或台式电脑上工作。假设你使用 Fedora 系统。你能找到帮助你完成工作的程序吗?当然!请继续阅读了解这些帮助你专注目标的程序。所有这些程序都可以在 Fedora 系统上免费使用…
使用 Fstransform 转换文件系统
很少有人知道他们可以将文件系统从一种类型转换为另一种类型而不会丢失数据(即非破坏性的)。这可能听起来像魔术,但 Fstransform 可以几乎以任意组合将 ext2、ext3、ext4、jfs、reiserfs 或 xfs 分区转换成另一类型。更重要的是,它可以直接执行,而无需…
用 Ansible 实现网络自动化(下)
(接上篇)Ansible 术语和入门这一章我们将介绍许多 Ansible 的术语和报告中前面部分出现过的关键概念。比如, 清单文件(inventory file)、 剧本(playbook)、 剧集(play)、 任务(task)和 模块(module)。我们也会去回顾一些其它的概念,这些术语和概念对我们…
用 Ansible 实现网络自动化(上)
了解 Ansible 的功能,这是一个无代理的、可扩展的配置管理系统。网络自动化随着 IT 行业的技术变化,从服务器虚拟化到公有云和私有云,以及自服务能力、容器化应用、平台即服务(PaaS)交付,而一直以来落后的一个领域就是网络。在过去的五年多,网络行业…
Linux 桌面中 4 个开源媒体转换工具
使用这些易用的工具来将音视频文件从一种格式转换为另一种格式。啊,有这么多的文件格式,特别是音频和视频格式,如果你不认识这个文件扩展名或者你的播放器无法播放那个格式,或者你想使用一种开放格式,那就需要花点心思了。那么,Linux 用户可以做些什么…
一套有用的 Unix 实用程序
我们都了解 GNU 核心实用程序(GNU Core Utilities),所有类 Unix 操作系统都预装了它们。它们是 GNU 操作系统中与文件、Shell 和 文本处理相关的基础实用工具。GNU 核心实用程序包括很多日常操作命令,例如 cat、ls、rm、mkdir、rmdir、touch、tail 和 wc …
Linux 互锁斥 信号量 死锁 原子操作
1 前言周末时间过得很快,最近在看一个电视剧《岁岁年年柿柿红》,那些年代的感触还是很深的,当年我们家也是那样的状态。想不到几十年就过来了。同是农村过来的可以一起看看。这次想说一下互斥锁,原子操作,主要是上次说的那个卖票的程序,在出票的时候没…
逃离 Google,重获自由(与君共勉)
寻求挣脱科技巨头的一次开创性尝试在过去的六个月里,难以想象我到底经历了些什么。艰难的、耗时的、开创性的探索,为的只是完全摒弃一家公司 —— Google(谷歌)—— 的产品。本该是件简简单单的任务,但真要去做,花费在研究和测试上的又何止几个小时。…