太阳能的使用

如果地球上所有的能源最初都来自太阳,为什么我们不直接使用太阳核聚变的能量呢?

现在的能源来源,除了太阳能,都间接来自太阳,不管是化石能源还是风能,潮汐能源。

可控的核聚变永远都还有10年的时间才能变成现实。现在太阳就是最大的稳定核聚变,那我们是不是可以直接利用现有的太阳核聚变。

在太空中将太阳能收集,然后将其运输回地球。

这其中还涉及到能量的转换效率还有能量的传输过程。我们要多大面积的收集呢,还需要怎么带回地球呢,储能介置是什么,运输的损耗是多少

信息流戒断

你应该成为你手机的主人,而不是被你的手机控制

观察自己的刷手机行为。发现大部分的时间花费在了信息流上,信息流来自于抖音的推荐,小红书的推荐,bilibili的视频推荐流。就像牛津词典今年的年度词汇“脑腐”一样,人们或多或少都被这些信息流控制了,仿佛是斯金纳箱子里面的鸽子,不停地刷新,下滑,找到下一个能让我们多巴胺分泌的帖子,然后预期越来越高。

这些app的用户使用时长也关乎这家公司的市值和价值,所以商业公司都是想尽办法优化推荐算法,猜你喜欢往往是猜的真准。

小红书和抖音都慢慢从娱乐型的App 变成了综合型的app。我经常经历小红书下载了删除,删除了下载的情况。删除往往是发现自己在上面浪费了太多的时间之后。下载回来经常是因为这些app的工具属性。上上面确实有挺多有价值的信息,小红书可以当百度来使用,抖音有电商和本地服务可以使用。

这些app仿佛是双刃剑。

用户需要有拒绝的权利,拒绝平台的推荐流。

目前小红书和抖音都可以关闭个性化推荐,能很大程度上减少刷得停不下来的情况。

时间的本质

Stephen Wolfram 关于时间的本质的看法。Stephen Wolfram是计算机和物理的跨界学者。发明了 MathematicaWolfram|Alpha  and the Wolfram Language

斯蒂芬·沃尔夫拉姆在其文章《时间的本质》中探讨了时间的计算视角,提出了时间不仅是一个数学坐标,而是宇宙中计算进程的反映。他认为,时间的进展可以被视为宇宙通过逐步应用计算规则而进行的计算过程

主要观点摘要:

  1. 计算视角
    • 时间被定义为宇宙中状态的逐步演变,这种演变是通过计算规则的应用实现的。
    • 传统的时间坐标概念无法揭示时间的内在本质,而计算不可约性(computational irreducibility)则表明,预测系统未来状态的唯一方法是逐步计算每一步。
  2. 观察者的角色
    • 观察者的计算能力有限,无法预知未来,只能随着系统的演变逐步体验时间的流逝。
    • 这种计算不可约性使得我们只能"逐步展开"未来,而无法一次性"看到"未来。
  3. 时间的单向性
    • 我们的时间体验通常是单向的,过去更容易被记住,而预测未来则更具挑战性。这与热力学第二定律相关,表明系统的有序状态会向无序状态演变。
  4. 时空的本质
    • 在沃尔夫拉姆的物理学项目中,宇宙的状态由超图(hypergraph)表示,时间对应于超图的逐步重写。
    • 时间的"原子"是基本的重写事件,事件之间的因果关系构成了时间的进展。
  5. 多线程时间
    • 尽管我们体验到时间是单一的线性流动,但在更深层次上,时间实际上是多线程的,宇宙遵循多条历史路径。
    • 观察者的存在和他们的计算限制使得我们只能感知到一条一致的历史线。
  6. 时间与计算的关系
    • 时间的本质是计算规则的应用进程,计算不可约性为时间的线性流动提供了基础。
    • 观察者的计算限制使得时间的概念在不同的物理系统中保持一致。
  7. 时间的最终定义
    • 时间可以被抽象地定义为应用计算规则时的进展,这一概念独立于具体的规则或底层结构。
    • 计算不可约性和计算等价性原则使得时间的概念在不同的系统中具有普遍性。

计算视角下的时间

rss3介绍

前言

互联网最早由Tim Berners-Lee爵士发明。互联网从一开始设计的时候就是去中心化的,任何人都可以创建一个自己的站点。但是现有互联网的演化结果并不是一个去中心化的互联网,在马太效应的作用下,互联网的巨头公司占据了人们的大部分流量,同时也控制了大部分用户的数据。国内的互联网在移动设备崛起之前还算相对开放,但是随后就变成了一个个信息孤岛和围墙花园。国外的情况可能也没有显得多好,facebook,Google ,Amazon等这些大公司也建立了大量的数据中心,对大众提供服务,同时也把数据存储在其服务器上。互联网正一步步远离其设计的初衷。

从经济和成本的角度来看,这一切似乎是不可避免的。不是每个人都有能力、精力和成本来维护自己的服务,演化的结果往往是留下了一些寡头。

但是一直以来都不乏新的尝试,试图创建一个更加去中心化、用户能真正拥有自己数据的"new internet"。

下面是rss的介绍,以及在其基础上发展起来的rss3

RSS

RSS(全称是 Really Simple Syndication 或 Rich Site Summary)是一种信息分发的格式,它允许用户订阅他们感兴趣的网站,例如新闻网站、博客和其他在线内容提供者。订阅后,用户可以通过RSS阅读器或聚合工具自动接收更新,而无需直接访问原始网站。

简单来说,RSS就像一份订阅的杂志,但是它是电子形式的。你订阅你喜欢的杂志(网站),然后每当有新内容发布时,这些内容就会被送到你的’电子邮箱’(RSS阅读器)里,允许你快速浏览标题和摘要,并选择你感兴趣的内容进行阅读。

使用RSS有几个好处:

  1. 节约时间:你不需要访问每个网站来查看是否有新内容。
  2. 保持组织:所有订阅的内容都在一个地方,易于管理。
  3. 保持最新:一旦网站发布新内容,你会立即得到通知。

RSS通过一个叫做"RSS Feed"的特殊文件提供内容。这个文件包含网站最新内容的标题、摘要和链接,通常是XML格式。用户需要使用RSS阅读器来阅读这些feeds,读器会定时检查并更新你订阅的feeds。

RSS3

RSS3网络的架构设计为支持开放网络的去中心化信息层,它主要由以下几个核心部分组成:

  1. 数据子层(Data Sublayer, DSL):
    • 功能:负责索引、转换、存储、传播和消费开放信息(OI)。
    • 组件
      • RSS3节点(Node):这些节点独立运作,负责索引、转换和存储信息,并最终向用户提供服务。
      • 全球索引器(Global Indexer, GI):作为负载均衡器和查询路由器的角色,确保数据子层的健壮性和可靠性,同时监控节点的质量并确保服务质量。
    • RSS3协议:通过一套统一的数据结构实现开放信息的互操作性,这使得在不同的数据源之间建立网络无关的应用成为可能。
  2. 价值子层(Value Sublayer, VSL):
    • 技术基础:基于以太坊的Layer 2解决方案,使用Celestia作为数据可用性层,以优化处理大量微交易的成本和效率。
    • 功能:处理通过开放信息活动和应用程序产生的价值,并建立健康的所有权经济。
    • $RSS3通证:作为网络的原生通证,用于支付燃料费、请求费、节点运营费等。
  3. 网络奖励和激励机制:
    • 节点运营:节点操作者通过运行RSS3节点获得$RSS3作为奖励。
    • 质押和信任:网络参与者可以通过质押$RSS3到普通节点的质押池(Staking Pool)或公共利益节点的公共利益池(Public Good Pool)来提高节点的信任度和可靠性。
    • 激励池:网络通过操作池(Operation Pool)、质押池和公共利益池分配奖励,以激励网络参与和维护。
  4. 治理和安全机制:
    • 可靠性评分(Reliability Score):基于节点的表现(如上线时间、处理能力等)来分配请求。
    • 削减机制(Slashing Mechanism):对未能满足网络要求的节点执行削减措施,确保网络的安全和稳定性。

RSS3网络的这种架构旨在促进信息的自由流动,并支持一个去中心化的开放网络环境,其中内容创作者和消费者能够直接从其数字内容的价值中受益。通过这种架构,RSS3也为未来互联网的互联互通铺平了道路。

后记

简单来说这是集权内容平台和去中心化平台的效率之争。集权内容平台依赖的是集中带来的效率和流量,以此转化为利益,再继续优化集权内容平台,rss3的思路是构建一个松散的去中心化的网络来托管内容,做内容index,分发请求,以加密货币为基础分配利益以吸引更多的个体加入。

从最终用户的角度来看

  • 集权平台用户付出的是时间
  • rss3用户最终需要为网络的运行买单,通过加密货币的方式

从现有的大部分互联网用户的使用习惯和人性的角度来看,rss3能够实现其愿景还是很难。

v2上有一些rss3公司招聘的帖子:https://v2ex.com/t/967383 。看上去作为一家运营的公司,web3也不好做呀。

https://www.v2ex.com/t/781981

==希望 RSS3 可以帮助创造者从集权内容平台手中夺回属于自己的权利,让互联网成为该有的样子,重新培育出我们曾经看见但已经忘记了名字的那朵花。==

本地运行llama3

ollama

下载并安装ollama,https://ollama.com/

执行下面的命令

 ollama run llama3

下载需要些时间,默认的模型是8b参数,大小为4.7GB 也可以选择70b参数的模型,大小为40GB。

70B的模型需要的内存在48GB左右,在32G的Mac上没有出现cpu或者内存非常高的占用,但是执行速度很慢。

go generate

生成代码

用代码来生成代码是通用计算的一个重要属性。这个想法可能不是那么受人重视,但实际上确经常在发生。其实这基本上就是编译器的定义。go test也使用了这种设计思路:运行test的时候他会扫描一遍代码中需要被测试的内容,然后生成一段go代码来包裹这些测试代码使他能够执行起来,然后编译生成的代码并执行。只不过现代计算机运算速度非常快,用户对于这个过程没有明显的感知。

还有很多代码生成代码的例子。比如Yacc就是读取 语法描述,然后生成一个可以解析这种语法描述的代码。广义上来说所有可配置的工具都是这么执行的,读取配置,然后依据配置中的这些上下文环境,执行一个特定的逻辑。

用代码生成代码在软件工程中是一个重要的组成部分。类似yacc的生成的代码会被加入到构建流程中的会相对复杂很对。如果依赖一些外部的构建工具可能会简单些。在go 1.4之前,如果只是使用go tool 你没法获取到足够的关于go 源码的信息。

go generate

go 1.4引入了go generate的机制,可以通过扫描源代码中特殊的注解来识别要执行的命令。go generate不是go build的一部分,必须在go build之前手动执行。一开始设计的时候是用来给go package的作者使用的,而不是用户。

yacc

先看下Go的yacc工具是怎么使用的吧

  1. 安装go的yacc工具
    go install golang.org/x/tools/cmd/goyacc@latest

假如你有个叫作gopher.y的文件定义了一个新语言的语法。现在我需要使用yacc读取这个语法文件生成新语言的语法解析代码,我们可以执行如下命令:

goyacc -o gopher.go -p parser gopher.y

其中-o是输出文件的文件名, parser是包名

  1. 使用go generate 在任意的常规(非生成)go源代码文件中加入下列注解
//go:generate goyacc -o gopher.go -p parser gopher.y

注解必须以//开头,然后是go:generate。后面就是要执行的命令。 我们可以在我们的项目下使用go generate了

$ cd $GOPATH/myrepo/gopher
$ go generate
$ go build
$ go test

如果没有问题的话我们就可以使用go generate 生成的gopher.go文件来进行构建和测试了。每次语法定义有改变只要修改之后重新执行go generate就可以了。

go generate 就是go语言中的make工具,不需要使用make也可以在go生态中使用代码来生成代码。主要还是给包的开发者使用,而不是使用方。

stringer

看下另一个stringer的例子,stringer可以自动给整形常量的合集生成字符串方法。

  1. 安装stringer
    go install golang.org/x/tools/cmd/stringer@latest

假如我们有下面的定义: