勇闖新世界︰ W!o《卡夫卡村》變形祭︰品味科學‧教具教材‧【專題】 GEM‧PD‧學習零點

1280px-Gnothi_Sauton_Reichert-Haus_in_Ludwigshafen

認識你自己γνῶθι σεαυτόν (gnothi seauton)),相傳是刻在德爾斐阿波羅神廟的三句箴言之一,也是其中最有名的一句。另外兩句是「你是」(Ἑγγύα πάρα δ’ἄτη )和「毋過」(μηδεν αγαν)。或說這句話出自古希臘七賢之一、斯巴達的喀隆(Χίλων),或說出自泰勒斯,或說出自蘇格拉底。傳統上對這句話的闡釋,是勸人要有自知,明白人只是人,並非諸神。

根據第歐根尼·拉爾修的記載,有人問泰勒斯「何事最難為?」他應道:「認識你自己。」(見《哲人言行錄》卷一)尼采在《道德的系譜》(Zur Genealogie der Moral)的前言中,也針對「認識你自己 」來大做文章,他說:「我們無可避免跟自己保持陌生,我們不明白自己,我們搞不清楚自己,我們的永恆判詞是:『離每個人最遠的,就是他自己。』──對於我們自己,我們不是『知者』……」(Wir bleiben uns eben notwendig fremd, wir verstehen uns nicht, wir müssen uns verwechseln, für uns heisst der Satz in alle Ewigkeit „Jeder ist sich selbst der Fernste“—für uns sind wir keine „Erkennenden“ …

───

 

據知樹莓派上已有︰

‧ Pygame Zero

Welcome to Pygame Zero

Pygame Zero is for creating games without boilerplate.

It is intended for use in education, so that teachers can teach basic programming without needing to explain the Pygame API or write an event loop.

………

 

也有

‧  GPIO Zero

GPIO Zero

A simple interface to everyday GPIO components used with Raspberry Pi.

Created by Ben Nuttall of the Raspberry Pi Foundation, Dave Jones, and other contributors.

………

 

而今又發表

Raspberry Pi Zero: the $5 computer

Four fathers!?!??

Today, I’m pleased to be able to announce the immediate availability of Raspberry Pi Zero, made in Wales and priced at just $5. Zero is a full-fledged member of the Raspberry Pi family, featuring:

  • A Broadcom BCM2835 application processor
    • 1GHz ARM11 core (40% faster than Raspberry Pi 1)
  • 512MB of LPDDR2 SDRAM
  • A micro-SD card slot
  • A mini-HDMI socket for 1080p60 video output
  • Micro-USB sockets for data and power
  • An unpopulated 40-pin GPIO header
    • Identical pinout to Model A+/B+/2B
  • An unpopulated composite video header
  • Our smallest ever form factor, at 65mm x 30mm x 5mm

………

 

可謂努力推動學習與應用環境不遺餘力。正好借此會機說說一個『學習者』需要知道的一件重要的事情︰

認識自己,知道如何自學,發展學習方法。

如此才能自用已知來探索己所未知,明白通常登上山頂方識來時路 。所以了解『學而時習』是個重要的途徑,如果真得以不同的道路登山,或終懂得『學習之學習』的定點,就是學習自身而已。如是的『學習者』理解『學習零點』,因此可以自主自動的

【 Top Down】

Pipeline (computing)

In computing, a pipeline is a set of data processing elements connected in series, where the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion; in that case, some amount of buffer storage is often inserted between elements.

……

Dataflow

Dataflow connecting computational actors into stages (pipelines) that can execute concurrently. Data-flow can also be called Stream processing and Reactive programming.[1] These ideas are all highly inter-related.

There have been multiple data-flow/stream processing languages of various forms (see Stream processing). Data-flow hardware (see Dataflow architecture) is an alternative to the classic Von Neumann architecture. The most obvious example of data-flow programming is the subset known as Reactive programming with spreadsheets. As a user enters new values, they are instantly transmitted to the next logical “actor” or formula for calculation.

Distributed data flows have also been proposed as a programming abstraction that captures the dynamics of distributed multi-protocols. The data-centric perspective characteristic of data flow programming promotes high-level functional style of specifications, and simplifies formal reasoning about system components.

……

Reactive programming

In computing, reactive programming is a programming paradigm oriented around data flows and the propagation of change. This means that it should be possible to express static or dynamic data flows with ease in the programming languages used, and that the underlying execution model will automatically propagate changes through the data flow.

For example, in an imperative programming setting, a := b + c would mean that a is being assigned the result of b + c in the instant the expression is evaluated, and later, the values of b and c can be changed with no effect on the value of a.

However, in reactive programming, the value of a would be automatically updated based on the new values, the opposite of functional programming.

A modern spreadsheet program is an example of reactive programming. Spreadsheet cells can contain literal values, or formulas such as “=B1+C1” that are evaluated based on other cells. Whenever the value of the other cells change, the value of the formula is automatically updated.

Another example is a hardware description language such as Verilog. In this case reactive programming allows changes to be modeled as they propagate through a circuit.

Reactive programming has foremost been proposed as a way to simplify the creation of interactive user interfaces, animations in real time systems, but is essentially a general programming paradigm.

For example, in a Model-view-controller architecture, reactive programming can allow changes in the underlying model to automatically be reflected in the view, and vice versa.[1]

……

 

【 Bottom Up】

List of PureData Objects and Extended Objects

Name

Library/Path

Function

GEM

Extended Objects
accumrotate manipulation accumulated rotation
alpha manipulation enable alpha blending
ambient ambientRGB manipulation ambient coloring
camera
circle geometric renders a circle
color colorRGB manipulation colouring
colorSquare geometric renders a square with several colors
cone geometric renders a cone
cube geometric renders a cone
cuboid geometric renders a cuboid box
curve geometric renders a bezier-curve
curve3d geometric renders a 3d bezier-curve
cylinder geometric renders a cylinder
depth turn on / off depth test
diffuse diffuseRGB manipulation diffuse colouring
disk geometric renders a disk
emission emissionRGB manipulation emission colouring
fragment_program shader load and apply an ARB fragment shader
gemhead connect gem objects to the window manager
gemkeyboard gemkeyname keyboard events in the gem window
gemlist_info information get current transformation of a gemlist
gemmouse mouse events in the gem window
gemwin access to the window manager

……

 

發現新世界。同時且能夠善用已知的資源和範例

 

GEM

GEM which stands for “Graphics Environment for Multimedia” is a tool for visuals. With GEM it is possible to generate and manipulate 2D and 3D graphics and animations, process & modify media like images & videos and generate particles.

This manual will explain the main objects that comprise GEM, and the basic techniques you will need to get started creating your own GEM projects.

A good start to get an idea about the various possibilities what can be done with GEM is to take a look at the examples & help patches that come with GEM. They can be can be accessed via the Pd Help Browser (in the Help menu, under “Browser…”), under “examples/Gem” or have a look at the GEM manual in  “manuals/GEM.”

gem_help.jpg

GEM is a Pd Library and comes ready to use as a part of Pd-extended. It was initially written by Mark Danks. Some of the past and current GEM developers are IOhannes Zmölnig, Chris Clepper, James Tittle(tigital), Cyrille Henry.

───

 

,獨立自修的了!!??