115 Matching Annotations
  1. Dec 2022
  2. Oct 2022
  3. Aug 2022
    1. 钱包是什么?反直觉和反常识的是,数字钱包并不装钱,而是装密钥(私钥和公钥)的容器,是用来帮助用户存储、转移、结算、交易和管理数字资产的工具,而用户的数字资产实际存放在区块链地址指向的分布式账本里。

      钱包是进入 Web3 的入口。 但反直觉和反常识的是,钱包装的不是钱,而是装密钥的容器。(私钥和公钥)

    2. 问题中蕴含着这样的底层逻辑--原生的区块链网络中缺失了“人”及“人际网络”的表达--不可转让社交身份的原生组件及由此构建的社交网络图谱,社会经济价值缺失了承载的主体,以至于Web3赋能实体经济的相关应用难以创建和落地实施。

      问题中蕴含着这样的底层逻辑

    3. 区块链发展至今,从基础设施层、组件层、扩展层、激励层、治理层、到应用接入层,目前正在不断扩展和完善。这个发展过程有一个显著的特点,那就是跟原生网络--可信计算网络特性紧密相关的应用首先得以发展。

      发展过程有一个显著的特点,跟原生网络——可信计算网络特性紧密相关的应用,首先得以发展。

  4. Jun 2022
    1. 如果一种计算机语言不会影响你对编程的看法,它就不值得学习。

      Alan J. Perlis,第一届图灵奖得主

      在学习 haskell 比学 golang 更有乐趣,

  5. Mar 2021
    1. This problem was no secret. Computer scientists had been working on ways to network computers as early as 1962. Then on October 29, 1969—only a few months after Apollo 11 landed on the moon—grad student, Charley Kline, sent a message from his computer at UCLA to a computer some 350 miles north at the Stanford Research Institute (SRI). To Kline and his co-conspirator, Bill Duvall, it was no big deal. “It was just engineers working,” said Leonard Kleinrock, a pioneer of computer networking and a leader of the project.

      这个问题并不是什么秘密。早在1962年,计算机科学家们就已经开始研究计算机联网的方法。然后在1969年10月29日,也就是阿波罗11号登陆月球几个月后,研究生查理 · 克莱恩(Charley Kline)从加州大学洛杉矶分校的计算机向北边大约350英里的斯坦福研究所(SRI)的一台计算机发送了一条信息。对克莱恩和他的同谋比尔 · 杜瓦尔(Bill Duvall)来说,这没什么大不了的。"这只是工程师们的工作,"计算机网络的先驱和项目的领导者伦纳德·克兰罗克(Leonard Kleinrock)说。

  6. Feb 2021
    1. The show was part of a larger Computer Literacy Project started by the British government and the BBC as a response to fears that the UK was deeply and alarmingly unprepared for the new revolution in personal computing that was happening in America. Unlike most TV shows, the BBC wanted to feature a computer on the show that would be used to explain fundamental computing concepts and teach a bit of BASIC programming. The concepts included graphics and sound, the ability to connect to teletext networks, speech synthesis, and even some rudimentary AI. As a result, the computer needed for the show would have to be pretty good—in fact, the producers' demands were initially so high that nothing on the market really satisfied the BBC's aspirations.

      这档节目是英国政府和 BBC 共同发起的「计算机素养项目(Computer Literacy Project)」的一部分,它们担心英国对当时正在美国发生的个人计算革命毫无警觉和准备。不同于大多数电视节目,BBC 希望在节目中配备一台计算机,该计算机将用于解释基本的计算概念并教授一些 BASIC 编程。这些计算概念包括图形和声音、连接到图文网络的能力、语音合成乃至一些基础的人工智能。也因此,该节目所需的计算机必须相当好才行,以致于市面上根本就没有能实现 BBC 的愿望的产品,无法满足制片人的要求。

    2. But everything truly did sort of get set in motion by a TV show—a 1982 BBC program called The Computer Programme. This was an attempt by the BBC to educate Britons about just what the hell all these new fancy machines that looked like crappy typewriters connected to your telly were all about.

      让这一切变化起来的却是一档电视节目——BBC 在 1982 年播出的《计算机程序(The Computer Programme)》。这是 BBC 的一档科普节目,旨在告知当时的英国人这些花哨的新式机器究竟是什么,那时候的个人电脑看起来就像是连接着电视机的蹩脚打字机。

    1. 被誉为“笔记本电脑之父”的约翰·埃伦比 (John Ellenby) 在新西兰家中去世,享年 75 岁。《纽约时报》是这么评价 John Ellenby 的:John Ellenby 是一位值得尊敬的科学家,因为他善于把科技产品化。

      埃伦比是一名英国计算机工程师,在著名的施乐帕洛阿尔托研究中心工作期间,他参与研发了 Alto 电脑,之后又开发了一款更具商业竞争力的产品 Alto II。

      离开施乐后,埃伦比创业成立 Grid Systems 公司,与 William Moggridge 合作,研发了全球第一款“翻盖”电脑——“罗盘电脑”(Compass Computer)。这台电脑现在依然被视为是“超越时代”的产品。

      1988 年 3 月份,埃伦比将 Grid Systems 公司卖掉,与儿子创建了手持式平板电脑制造商 Agilis,后来又创建导航与增强现实应用公司 GeoVector。除此之外,埃伦比也在做地理测绘数据,为现在的手机地图积累了大量数据。

      创立 Agilis 公司期间,埃伦比研发了全球第一台小尺寸手持式移动电话。

      笔记本电脑之父 John Ellenby 去世,连苹果和微软都曾“抄”他的产品

    1. Historically, different answers to this question – that is, different visions of computing – have helped inspire and determine the computing systems humanity has ultimately built. Consider the early electronic computers. ENIAC, the world’s first general-purpose electronic computer, was commissioned to compute artillery firing tables for the United States Army. Other early computers were also used to solve numerical problems, such as simulating nuclear explosions, predicting the weather, and planning the motion of rockets. The machines operated in a batch mode, using crude input and output devices, and without any real-time interaction. It was a vision of computers as number-crunching machines, used to speed up calculations that would formerly have taken weeks, months, or more for a team of humans.

      在历史上,这个问题的不同答案——即对计算的不同见解——有助于启发和确立最终建立的人性化计算系统。早期的电子计算机 ENIAC,是世界上第一台通用电子计算机,它的目的是为美国军队计算火炮射击表。其他早期的计算机也被用于解决数值问题,如模拟原子弹爆炸、预测天气、规划火箭的运动。在批处理模式下运行的机器,使用粗糙的输入和输出设备,而且没有任何实时的交互。这种观点把计算机看作是数值处理机器,用于加速在之前要花费数周、数月或需要一个团队人力才能完成的计算任务。

    1. Almost every major technological advance of the last two hundred years has taken place with the aid of large amounts of public money and under a good deal of government influence. The technologies of the computer and the Net were invented with the aid of massive state subsidies. For example, the first Difference Engine project received a British Government grant of £517,470 - a small fortune in 1834. From Colossus to EDVAC, from flight simulators to virtual reality, the development of- computing has depended at key moments on public research handouts or fat contracts with public agencies. The IBM corporation built the first programmable digital computer only after it was requested to do so by the US Defense Department during the Korean War. The result of a lack of state intervention meant that Nazi Germany lost the opportunity to build the first electronic computer in the late '30s when the Wehrmacht refused to fund Konrad Zuze, who had pioneered the use of binary code, stored programs and electronic logic gates.

      近两百年来,几乎所有重大的技术进步都是借助于大量公共资金的资助,并在很大程度上受到政府影响。计算机和网络技术是在国家的大量补贴下发明的。例如,第一个差分机项目获得了英国政府 £517,470 的拨款——在1834年这已经是一笔巨款。从 Colossus 到 EDVAC,从飞行模拟器到虚拟现实,计算的发展都依赖于关键时刻的公共研究捐款或政府机构的巨额合同。IBM 在朝鲜战争期间应美国国防部的要求,才建造了第一台可编程的数字计算机。缺乏国家干预导致了纳粹德国在 30 年代后期失去了建造第一台电子计算机的机会,当时德国国防军拒绝资助开创了二进制编码、存储程序和电子逻辑门的使用的 Konrad Zuze。

    1. Smalltalk was a revolutionary system developed by the Learning Research Group (LRG) at Xerox PARC in the 1970s, led by Alan Kay. Smalltalk was comprised of a programming language, a development environment, and a graphical user interface (GUI), running on PARC’s groundbreaking Alto computer. In fact, it is most famous for being the GUI that inspired Steve Jobs when he and a group of Apple engineers visited PARC in 1979. Smalltalk pioneered overlapping windows, popup menus, and paned browsers, all controlled by a mouse. All of these UI elements have come down to us today through systems like the Macintosh and Microsoft Windows. Smalltalk was also one of the earliest, and most influential, object-oriented programming languages, which make up the most dominant type of programming languages today. Object-oriented languages are designed to make it easy to reuse existing pieces of code, but in a flexible way. Python, Java, Ruby, and Objective-C, among others, all owe debts to ideas originally developed in Smalltalk.

      Smalltalk是70年代由Alan Kay领导的施乐公司PARC学习研究小组(LRG)开发的一个革命性系统。Smalltalk由一门编程语言、一个开发环境和一个图形用户界面(GUI)组成,运行在PARC开创性的Alto计算机上。事实上,它最出名的地方是它的图形用户界面,当史蒂夫 · 乔布斯和一群苹果工程师在1979年访问帕洛阿尔托研究中心时,这个图形界面给了他灵感。Smalltalk开创了重叠窗口、弹出式菜单和窗格浏览器,所有这些都由鼠标控制。今天,所有这些UI元素都通过Macintosh和微软Windows等系统传递给我们。Smalltalk也是最早、最有影响力的面向对象编程语言之一,它构成了今天最主要的编程语言类型。面向对象语言的设计是为了使现有的代码易于重用,但方式灵活。Python、Java、Ruby和Objective-C等,都要归功于 Smalltalk 中最初开发的思想。

    2. The Smalltalk Zoo is a collection of historical versions of the revolutionary graphical programming and user environment Smalltalk, originally developed at Xerox PARC, ranging from the 1972 version all the way to the modern “Squeak” version whose development began in 1995. These emulated Smalltalk environments run in your web browser and are hosted by CHM at smalltalkzoo.thechm.org.

      Smalltalk Zoo 是一个历史版本的集合,这个革命性的图形化编程和用户环境 Smalltalk 最初是在施乐帕洛阿尔托研究中心开发的,从1972年版本一直到1995年开发的现代版本“ Squeak”。这些模拟的 Smalltalk 环境运行在你的网页浏览器上,由 CHM 托管在 smalltalkzoo.thechm.org

    1. A 1971 issue of the radical feminist journal off our backs includes an announcement for a May meeting in Atlantic City “against the misuse of technology.” An announcement for that meeting also appears in a 1971 issue of alternative publication The Realist. There, CPP placed a call for activists to appear at that year’s Spring Joint Computer Conference, an event that the ad points out is “overwhelmingly dominated by white males,” so as to call attention to issues that are critical today — namely, “the use of computer information systems as a means of social control,” “corporate racism,” and “the role of automation on rising unemployment.”

      1971年出版的激进女权主义杂志《远离我们》(off our backs)中有一则公告,宣布5月在大西洋城举行一次 "反对滥用技术"(against the misuse of technology)的会议。那次会议的公告也出现在1971年的另类出版物《现实主义者》(The Realist)中。在那里,CPP号召积极分子出席当年的春季联合计算机会议,公告指出,这一活动 "绝大多数由白人男性主导",以此呼吁人们关注当今至关重要的问题——即 "利用计算机信息系统作为社会控制的手段"、"公司种族主义 "和 "自动化对失业率上升的作用"。

    1. It’s 1982, and I’m 11 years old, sitting at a Commodore PET computer terminal in the atrium of a science museum near my house. Whenever I come here, I beeline for this machine. The computer is set up to run a program called Eliza—an early chatbot created by MIT computer scientist Joseph Weizenbaum in the mid-1960s. Designed to mimic a psycho­therapist, the bot is surprisingly mesmerizing.

      那是1982年,我11岁,坐在我家附近一个科学博物馆的中庭里的一台Commodore PET 电脑终端前。我一到这里就直奔这台机器。这台电脑是用来运行一个名为Eliza的程序——这是麻省理工学院计算机科学家Joseph Weizenbaum在20世纪60年代中期创建的早期聊天机器人。这台机器被设计成模仿心理治疗师,具有惊人的催眠效果。

  7. Feb 2018
    1. imgHash.py

      具体实现:

      #!/usr/bin/python
      
      import glob
      import os
      import sys
      
      from PIL import Image
      
      EXTS = 'jpg', 'jpeg', 'JPG', 'JPEG', 'gif', 'GIF', 'png', 'PNG'
      
      def avhash(im):
          if not isinstance(im, Image.Image):
              im = Image.open(im)
          im = im.resize((8, 8), Image.ANTIALIAS).convert('L')
          avg = reduce(lambda x, y: x + y, im.getdata()) / 64.
          return reduce(lambda x, (y, z): x | (z << y),
                        enumerate(map(lambda i: 0 if i < avg else 1, im.getdata())),
                        0)
      
      def hamming(h1, h2):
          h, d = 0, h1 ^ h2
          while d:
              h += 1
              d &= d - 1
          return h
      
      if __name__ == '__main__':
          if len(sys.argv) <= 1 or len(sys.argv) > 3:
              print "Usage: %s image.jpg [dir]" % sys.argv[0]
          else:
              im, wd = sys.argv[1], '.' if len(sys.argv) < 3 else sys.argv[2]
              h = avhash(im)
      
              os.chdir(wd)
              images = []
              for ext in EXTS:
                  images.extend(glob.glob('*.%s' % ext))
      
              seq = []
              prog = int(len(images) > 50 and sys.stdout.isatty())
              for f in images:
                  seq.append((f, hamming(avhash(f), h)))
                  if prog:
                      perc = 100. * prog / len(images)
                      x = int(2 * perc / 5)
                      print '\rCalculating... [' + '#' * x + ' ' * (40 - x) + ']',
                      print '%.2f%%' % perc, '(%d/%d)' % (prog, len(images)),
                      sys.stdout.flush()
                      prog += 1
      
              if prog: print
              for f, ham in sorted(seq, key=lambda i: i[1]):
                  print "%d\t%s" % (ham, f)
      

      参考代码:

      1. http://www.ruanyifeng.com/blog/2011/07/imgHash.txt