造一台面包板计算机

是的,我终于圆了一直以来的一个心愿——拥有一台 80 年代的计算机。

随便说说人工智能

人工智能这个词差不多是在2016年开始映入大多数人眼帘的。伴随着韩国高手李世石在一直被视为“人类专属”的围棋项目上1:4输给谷歌的AlphaGO,人工智能这个概念仿佛凭空出现,并渐渐升温。短短一年之后,曾经认为自己足以打败人工智能的世界围棋第一人柯洁又在乌镇围棋峰会上被升级版的AlphaGO以3:0击败,从那一天开始,关于人工智能的讨论就再也没有停止。

人工智能会取代人类的工作吗?

让人工智能开车靠谱吗?

人工智能会毁灭人类吗?

……

可是等等,到底啥是人工智能啊?

数据结构(三):种一棵圣诞树(上)

0x00 前言

距离上一个教程已经过去一周了,效率很低,很惭愧。不过言归正传,在上一篇文章中,我们着手编写了一个最简单的链式结构——单链表,如果你动手编写了代码,不难发现,教程中采用的编码方式是将数据结构本身抽象成一个结构体(或者面向对象语言中的类),并将每一个最小子节点也抽象成一个结构体。在今后的教程里,我们仍旧遵循这个规则。

数据结构(二):编写第一个链式结构

0x00 前言

在上一篇文章中我们了解了内存中数据的存储方式,其中,链式存储结构十分适合存储常常修改但不常访问的数据。事实上,我们生活中常常遇到的就是这种数据。

实现链式存储的方式有很多,几乎所有的编程语言都能够做到,对于现代的面向对象编程语言,编写某种数据结构要简单得多。但是考虑到很多高校仍在使用面向过程的C语言来进行数据结构课程的教学和考核,本文也使用C语言来编写示例代码。

数据结构(一):链式存储

0x00 前言

什么是数据结构?

提到数据,我们应该并不陌生。生活中我们每天都要接触各式各样的数据——支付宝还有多少余额、花呗白条要还多少钱、饭卡电话卡这个那个卡是不是该充值了……但是提起数据结构,就显得抽象了许多。

遗传算法与进化策略

0x00 遗传算法 Genetic Algorithm

我们都了解过达尔文的进化论,物竞天择,适者生存,正式这样简单且残酷的自然法则最终在地球上造就了人类这一神奇的物种。我们会制造并使用工具来解决问题,会创作丰富多彩的文艺作品来抒发情感,也能相互合作提高解决问题的效率。而这一切都源于亿万年的时间和无休止的遗传变异、自然选择

那么如果我们把这样简单的规则应用到计算机程序中,是否同样可以得出一些有意思的结果呢?

Ubuntu on Windows - 打造完美的Windows环境

注意,此文章所包含的内容可能已经过时。

0.缘由

事情的起因是这样的,有一天我拿到一个需要在Linux下运行的软件,原本计划为手中的MacBook Pro装一个Ubuntu双系统,谁料安装完成后无法引导。在我祭出折腾黑苹果那会儿用过的Clover引导进Ubuntu之后才发现,键盘触摸板没有驱动,并且网卡驱动异常……

1.解决方案

在MacBook Pro下,官方支持的双系统解决方案只有通过BootCamp安装Windows,由于macOS本身具备Unix环境(或者别的什么原因),官方并未给出Linux系统的驱动支持,这就导致想要在最新的Mac上安装Linux成为了一件极其复杂的事——但是我们有Windows呀。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×