Taxonomy
This is a rough attempt to organise the various concepts in Svelte GL. It is subject to change.
Scene
The root component. A <Scene>
creates a container element and a canvas, and manages all the entities inside, determining when to redraw.
A scene contains one or more layers, and exactly one camera.
It’s possible to imagine that we might want to decouple the scene from the canvas — e.g. we might want to view the same scene from different angles (as in a 3D editor) or render a scene to a texture.
Layer
Clears the depth buffer, guaranteeing that objects contained within are drawn on top of whatever is on lower layers. Particularly useful in situations where you’d otherwise experience z-fighting.
The first layer is ‘implicit’ — you don’t need to create a <Layer>
component inside your scene if everything will be on the same layer.
Layers contain zero or more objects.
Object
An object is something with a transform (a location and rotation and a scale).
Group
A logical grouping of objects that can be used to apply transformations to all of them simultaneously.
Camera
Cameras are objects, whose sole purpose is to generate the view matrix, which manifests as a scene-wide uniform.
Light
Lights also manifest as scene-wide uniforms.
Mesh
Meshes are objects with a geometry and a material. They are the only things that actually get drawn, other than overlays.

An attribute is a typed array (normally a Float32Array, I think?) plus a size.
There are also
normalized
anddynamic
properties, which don’t currently do anything?
Material
A material is a combination of a WebGL program and a number of uniforms that pertain to that program. Some of those uniforms are ‘well known’, such as alpha, specularity, colorMap and so on. Some may be specific to the program’s shader, if it’s not using a default shader.
Each mesh has its own material. Many materials can share the same program.
Open questions
-
How can we make it easy to share materials between meshes while also making it easy to define materials in an ad-hoc way as props on meshes (and their wrappers)?
-
Geometries and materials need to belong to a scene (or more accurately, to the
gl
context associated with the scene, though it’s useful if they have a reference to the scene so that they can invalidate it). How can we do that in a way that isn’t onerous for scene authors? -
In the medium term, is there a way to design the API such that a compiler could omit built-in shader chunks that weren’t used?
-
How can we make shader chunks composable?


- A
-
Apply
(RubyTerraform::Commands)
- B
-
Base
(RubyTerraform::Commands)
-
Base
(RubyTerraform::Options::Values)
-
Boolean
(RubyTerraform::Options::Values)
- F
-
Factory
(RubyTerraform::Options)
-
Flag
(RubyTerraform::Options::Types)
-
ForceUnlock
(RubyTerraform::Commands)
-
Format
(RubyTerraform::Commands)
- G
-
Get
(RubyTerraform::Commands)
-
Global
(RubyTerraform::Options)
-
Graph
(RubyTerraform::Commands)
|
- I
-
Import
(RubyTerraform::Commands)
-
Init
(RubyTerraform::Commands)
- L
-
List
(RubyTerraform::Models)
-
Login
(RubyTerraform::Commands)
-
Logout
(RubyTerraform::Commands)
- N
-
Name
(RubyTerraform::Options)
|
|


REG NO
Create Records
BR
Number
Retrieve Records
Update Record
TID
Phone
Address
Delete Record
TID
Phone
Address


device
| artist0 | track0 | |
| artist1 | track1 | |
| artist2 | track2 | |
| artist3 | track3 | |
| artist4 | track4 | |
| artist5 | track5 | |
| artist6 | track6 | |
| artist7 | track7 | |
| artist8 | track8 | |
| artist9 | track9 |
full_name
user_name
email
account_type
Block 0
Block 1
Block 2
Block 3
Block 4
Block 5
Block 6
Block 7
Block 8
Block 9
Block 10
Block 11
Block 12
Block 13
Block 14
Block 15
Block 16
Block 17
Block 18
Block 19
Block 20
Block 21
Block 22
Block 23
Block 24
Block 25
Block 26
Block 27
Block 28
Block 29
Block 30
Block 31
Block 32
Block 33
Block 34
Block 35
Block 36
Block 37
Block 38
Block 39
Block 40
Percent Shuffle
| pl_name0 | percent | ||
| pl_name1 | percent | ||
| pl_name2 | percent | ||
| pl_name3 | percent | ||
| pl_name4 | percent | ||
| pl_name5 | percent | ||
| pl_name6 | percent | ||
| pl_name7 | percent | ||
| pl_name8 | percent | ||
| pl_name9 | percent | ||
| pl_name10 | percent | ||
| pl_name11 | percent |
Playlist
| artist0 | track0 | |
| artist1 | track1 | |
| artist2 | track2 | |
| artist3 | track3 | |
| artist4 | track4 | |
| artist5 | track5 | |
| artist6 | track6 | |
| artist7 | track7 | |
| artist8 | track8 | |
| artist9 | track9 | |
| artist10 | track10 | |
| artist11 | track11 | |
| artist12 | track12 | |
| artist13 | track13 | |
| artist14 | track14 | |
| artist15 | track15 | |
| artist16 | track16 | |
| artist17 | track17 | |
| artist18 | track18 | |
| artist19 | track19 | |
| artist20 | track20 | |
| artist21 | track21 | |
| artist22 | track22 | |
| artist23 | track23 | |
| artist24 | track24 | |
| artist25 | track25 | |
| artist26 | track26 | |
| artist27 | track27 | |
| artist28 | track28 | |
| artist29 | track29 | |
| artist30 | track30 | |
| artist31 | track31 | |
| artist32 | track32 | |
| artist33 | track33 | |
| artist34 | track34 | |
| artist35 | track35 | |
| artist36 | track36 | |
| artist37 | track37 | |
| artist38 | track38 | |
| artist39 | track39 | |
| artist40 | track40 | |
| artist41 | track41 | |
| artist42 | track42 | |
| artist43 | track43 | |
| artist44 | track44 | |
| artist45 | track45 | |
| artist46 | track46 | |
| artist47 | track47 | |
| artist48 | track48 | |
| artist49 | track49 | |
| artist50 | track50 | |
| artist51 | track51 | |
| artist52 | track52 | |
| artist53 | track53 | |
| artist54 | track54 | |
| artist55 | track55 | |
| artist56 | track56 | |
| artist57 | track57 | |
| artist58 | track58 | |
| artist59 | track59 | |
| artist60 | track60 | |
| artist61 | track61 | |
| artist62 | track62 | |
| artist63 | track63 | |
| artist64 | track64 | |
| artist65 | track65 | |
| artist66 | track66 | |
| artist67 | track67 | |
| artist68 | track68 | |
| artist69 | track69 | |
| artist70 | track70 | |
| artist71 | track71 | |
| artist72 | track72 | |
| artist73 | track73 | |
| artist74 | track74 | |
| artist75 | track75 | |
| artist76 | track76 | |
| artist77 | track77 | |
| artist78 | track78 | |
| artist79 | track79 | |
| artist80 | track80 | |
| artist81 | track81 | |
| artist82 | track82 | |
| artist83 | track83 | |
| artist84 | track84 | |
| artist85 | track85 | |
| artist86 | track86 | |
| artist87 | track87 | |
| artist88 | track88 | |
| artist89 | track89 | |
| artist90 | track90 | |
| artist91 | track91 | |
| artist92 | track92 | |
| artist93 | track93 | |
| artist94 | track94 | |
| artist95 | track95 | |
| artist96 | track96 | |
| artist97 | track97 | |
| artist98 | track98 | |
| artist99 | track99 |
Track
Artist • Album
album
album_type
album_artist
Number of Tracks:
date
| 0 | track | length | |
| 1 | track | length | |
| 2 | track | length | |
| 3 | track | length | |
| 4 | track | length | |
| 5 | track | length | |
| 6 | track | length | |
| 7 | track | length | |
| 8 | track | length | |
| 9 | track | length | |
| 10 | track | length | |
| 11 | track | length | |
| 12 | track | length | |
| 13 | track | length | |
| 14 | track | length | |
| 15 | track | length | |
| 16 | track | length | |
| 17 | track | length | |
| 18 | track | length | |
| 19 | track | length | |
| 20 | track | length | |
| 21 | track | length | |
| 22 | track | length | |
| 23 | track | length | |
| 24 | track | length | |
| 25 | track | length | |
| 26 | track | length | |
| 27 | track | length | |
| 28 | track | length | |
| 29 | track | length | |
| 30 | track | length | |
| 31 | track | length | |
| 32 | track | length | |
| 33 | track | length | |
| 34 | track | length | |
| 35 | track | length | |
| 36 | track | length | |
| 37 | track | length | |
| 38 | track | length | |
| 39 | track | length | |
| 40 | track | length | |
| 41 | track | length | |
| 42 | track | length | |
| 43 | track | length | |
| 44 | track | length | |
| 45 | track | length | |
| 46 | track | length | |
| 47 | track | length | |
| 48 | track | length | |
| 49 | track | length |
artist
popularity
genres
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length | |
| track | release | length |
| Artists | ||
| Songs | |
| Playlists | |||
| Albums | |||


Finish Your Degree With Confidence!
Description: Class will be split between coding in Python and coding in C++. Students have the option to intern for the final project.
Created for Project 1
By Johnathan Johnson
with help from w3schools


God is not a man, that He should lie, nor a son of man, that He should repent. Has He said and will He not do it? Or has He spoken, and will He not make it good?
We live in a world and at a time when lying is often accepted as normal. People will make promises while clearly knowing that they will not fulfill them.  "Yes I will be there," someone will tell another, while knowing that they will not be there Because lying and speaking half truth is so common among people, it is possible to unconsciously think that even what God has said will not happen. Infact, many times, we pray without expecting an answer from God even when God has promised in his word to answer our prayers.
We are so used to hearing human promises which are never kept, that we unintentionally associate God with similar kind of behavior. We will hear somebody say, "I am praying about it but I am not sure God will answer me." For this reason, Balaam asked Balak, "Has the Lord said something that he will not do? Has he spoken something that He will not make good?"The answer is, No. Whatever God has promised He will cause it to come to pass.
This reminds me of God's promise to us as a church. In a few weeks time, Living Word Sanctuary will be eleven years old. The doors to this church were opened on December 21, 2008 at Miritini World Bank Primary School. As I look back and see what God has done for us, I see nothing but the faithfulness of our God. From handful of people at a classroom some eleven years ago, we have grown to where we are today because of God's faithfulness.
Personally as the Pastor of this church, God has spoken to me many times about the direction and destiny to which he is leading us. Every one of these promises is being fulfilled as the days go by.
As 2019 comes to a close, and we usher in 2020,let us look up to the faithfulness of God to us as a church, as individuals and as families and be assured that, what he has promised will surely come to pass. We can always count on his unfailing promises.


Most visited: Yandex Gismeteo Google
Chernihiv
15:09 Friday, June 3, k cloudy
Like photos to add them to your favorites
Your image here to upload (JPG, PNG & BMP)
Or Browse your library
Random image from library Random image from favorites Only my image


There are approximately 20 qualified cardiologists for over 100 million people in Ethiopia.
Due to Ethiopia’s tropical nature, Rheumatic Heart Disease remains highly prevalent in the country. Overall, cardiovascular diseases account for premature death, loss of productive life, individual disability, the burden for the family, and strain on the health care system in Ethiopia.
Despite the issues of rheumatic heart diseases, congenital cardiac anomalies and the emergence of coronary artery disease, little progress has been made to develop facilities and human resources to provide a reliable cardiac patient treatment so far. There is a persistent shortage of cardiologists and cardiac health professionals (less than 20 cardiologists) for a population of over 100 million.
Recently, some Ethiopian hospitals are tapping their resources to train one or two internists for ten months in India to become cardiologists, in both adult and pediatric fields. However, this arrangement, even though it should be appreciated, is not merely an improvement, considering the number and complexity of cases across the country. These cardiologists are also burdened by performing cardiac ultrasound procedures, which limits the number of cardiac patients they manage per day, reduces the quality of their service, creates a high turnover of cardiologists for the hospitals and prevents them from training other fellows, as well as develop a sustainable cardiac program.
In partnership with St. Peter’s Hospital, World Cardiac Vision developed a comprehensive online Cardiac Sonography program that will contribute immensely to the advancement of cardiac care services in Ethiopia. This program will produce Echocardiographers (Cardiac Sonographers) who work side by side with the cardiologists to improve efficiency and quality of cardiac care.
We need your help!
Creating high quality health course material takes time and money. We also fly volunteers to countries for offline training. Click the button below to make a contribution on our secure payment platform.
Donate


directions_car
Profile
Home:
Destination 1:
Destination 2:
Destination 3:
Expected Mileage:
Save
Cancel


Zero i2c oled使用指南
1. 硬件连接
一般市面上买到的单色oled屏幕模块一般都是同时支持spi和i2c接口的，而默认一般都是spi接口模式，需要根据说明书调整模模块上电阻的位置来转换到i2c模式。我手中这个模块一般比较常见，分辨率是128*64，需要焊接R1和R4，注意下方那个电阻位置要短接。
然后连接到zero的i2c0的位置，reset引脚我连接到了uart2的tx脚位置。我手中暂时没有dock，如果是使用dock，请根据实际情况插到对应位置。
2. ssd1307fb驱动配置
Oled使用的控制芯片是
ssd1306，最新版本的linux中包含Ssd1306的i2c驱动，驱动加载后会注册成功linux
framebuffer，驱动文件路径是： /drivers/video/fbdev/ssd1307fb.c
，该驱动可以通过配置支持ssd130x系列芯片。
所以要使用oled只需要在dts配置好就可以了
进入linux目录调出配置菜单
~~ {.sourceCode .bash}~
/linux-zero-4.10.y$ make ARCH=arm menuconfig
~
选中 \<*> Solomon SSD1307 framebuffer support
修改dts资源文件
~~ {.sourceCode .bash}~
vi arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts
~
添加 ssd1306fb-i2c
节点，0x3c
是i2c设备的地址，reset-getio是复位脚我选择的是*PB0*
接下来编译内核和编译dtb
~~ {.sourceCode .bash}~
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j24 uImage
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
~
然后将内核和dtbs更新到zero上，插入串口上电。
我是将驱动直接编译到内核里，可以在内核日志中看到驱动加载成功。
并且屏幕被点亮，该驱动默认不清空屏幕ram中内容，屏幕初始化后默认是花屏内容是正常的。如下状态。
驱动注册后一般会挂载为/dev/fb0或者/dev/fb1设备文件。
写一个简单的oled模块测试程序，读取屏幕信息，并刷将荔枝派logo显示上去效果如下：
首先用photoshop做出目标图片，然后保存成bmp格式，然后使用windows自带的画图工具打开bmp，然后点击另存为保存为1位位图格式。使用字模软件将bmp转换成程序用的字节序列，我用的是zimo221这款字模工具软件
注意在参数设置中要勾选字节倒叙选项。
下面写一个测试程序，加载驱动并把图像显示到屏幕上
~~~~ {.sourceCode .c}
include
include
include
include
include
include
include
/*seconds: the seconds; mseconds: the micro seconds*/
void setTimer(int seconds, int mseconds)
{
struct timeval temp;
temp.tv_sec = seconds;
temp.tv_usec = mseconds;
printf("timer1\n");
select(0, NULL, NULL, NULL, &temp);
printf("timer2\n");
return ;
}
int main ()
{
char lichee[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xE0,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x60,0x00,0x06,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x07,0x3C,0x74,0xE0,0x81,0x03,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x04,0x22,0x8C,0x10,0x43,0x04,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x04,0x42,0x84,0x10,0x22,0x0C,0xF8,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x04,0x03,0x84,0x08,0x22,0x08,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x04,0x01,0x84,0x18,0x22,0x08,0xFE,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x04,0x01,0x84,0x18,0x20,0x00,0xFE,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x04,0x01,0x84,0x08,0x20,0x00,0xFE,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x10,0x04,0x03,0x84,0x18,0x20,0x00,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x10,0x04,0x02,0x84,0x10,0x22,0x00,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x0C,
0x40,0x18,0x04,0x06,0x84,0x30,0x40,0x04,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x06,
0xE0,0x0F,0x1F,0x1C,0xCE,0xC1,0x80,0x03,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x07,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x80,0x07,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xBF,0xFF,0x1F,0x00,0x00,0x00,0xC0,0x07,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xDF,0xFF,0x7F,0x00,0x00,0x00,0xE0,0x07,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC7,0xFF,0xFF,0x00,0x00,0x00,0xF0,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC9,0xFF,0xFF,0x01,0x00,0x00,0xF0,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xC0,0xFF,0xFF,0x03,0x00,0x00,0xF8,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xFF,0xFF,0x07,0x00,0x00,0xF0,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xC0,0xF7,0xFF,0x0F,0x00,0x00,0xF8,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE3,0xFF,0xFF,0x1F,0x00,0x00,0xF8,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xEF,0xFF,0xFF,0x7F,0x00,0x00,0xF8,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFB,0xFF,0xFF,0xFF,0x00,0x00,0xFC,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0xFC,0x00,
0x40,0x30,0x00,0x06,0x04,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFE,0x00,
0x40,0x10,0x02,0x06,0x04,0xC0,0x00,0x9C,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0xFF,0x00,
0xFE,0xFF,0x07,0x06,0x04,0x80,0xC8,0x81,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x7F,0x00,
0x40,0x10,0x00,0x06,0x04,0x80,0x08,0x00,0xFF,0xFF,0xFF,0xFF,0x7F,0x80,0x7F,0x00,
0x40,0x13,0x00,0x16,0xCC,0x00,0x08,0x10,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x7F,0x00,
0x00,0xC3,0xC0,0x3F,0x04,0x00,0x08,0x0E,0xFE,0xFF,0xFF,0xFF,0xFF,0xE3,0x3F,0x00,
0x00,0xC1,0x00,0x06,0x04,0x10,0x48,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xF7,0x3F,0x00,
0x80,0x41,0x00,0x06,0x04,0x20,0x49,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,
0x80,0x40,0x00,0x0E,0x44,0x20,0x48,0x30,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,
0x60,0x78,0x00,0x9F,0x61,0x80,0x48,0x08,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,
0x38,0x30,0x00,0x17,0x60,0x80,0x48,0x02,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,
0x20,0x60,0x00,0x17,0x21,0x80,0x48,0x02,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,
0xFE,0xFB,0x83,0x06,0x30,0x40,0x48,0x02,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,
0x30,0x23,0x02,0x06,0x12,0x70,0x44,0x04,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,
0x30,0x23,0x42,0x06,0x1A,0x60,0x44,0x04,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,
0x10,0x31,0x02,0x06,0x0C,0x40,0x44,0x08,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,
0x18,0x11,0x03,0x06,0x0E,0x60,0x42,0x18,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,
0x88,0x19,0x03,0x06,0x31,0x60,0xC2,0x30,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
0xC4,0xCD,0x01,0x86,0xE0,0x61,0x41,0x20,0xE0,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,
0x00,0x82,0x01,0x36,0x80,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x9F,0xFF,0xFF,0xFF,0x07,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x0F,0xFF,0xFF,0xFF,0x01,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFC,0xFF,0x7F,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
int fp=0;
long screensize=0;
char *fbp = 0;
struct fb_var_screeninfo vinfo;
struct fb_fix_screeninfo finfo;
fp = open ("/dev/fb1",O_RDWR);
if (fp < 0){
printf("Error : Can not open framebuffer device/n");
exit(1);
}
if (ioctl(fp,FBIOGET_FSCREENINFO,&finfo)){
printf("Error reading fixed information/n");
exit(2);
}
if (ioctl(fp,FBIOGET_VSCREENINFO,&vinfo)){
printf("Error reading variable information/n");
exit(3);
}
printf("The mem is :%d\n",finfo.smem_len);
printf("The line_length is :%d\n",finfo.line_length);
printf("The xres is :%d\n",vinfo.xres);
printf("The yres is :%d\n",vinfo.yres);
printf("bits_per_pixel is :%d\n",vinfo.bits_per_pixel);
screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;
printf("screensize: %d\n",screensize);
fbp =(char *) mmap (0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED,
fp,0);
if ((int) fbp == -1)
{
printf ("Error: failed to map framebuffer device to memory./n");
exit (4);
}
int i=0;
memset(fbp, 0x00, 1024);
setTimer(3,0);
while(1){
for(i=0;i<1024;i++){
fbp[i]=lichee[i];
}
setTimer(3,0);
memset(fbp, 0x00, 1024);
setTimer(3,0);
}
munmap (fbp, screensize);
close (fp);
}
~~~~
将字节序在程序中定义为数组在荔枝板中，编译程序并执行。
3. 单片机驱动一直为i2c驱动
一般情况下使用ssb1307fb这个驱动就很完美了了，我在发现ssd1307fb这个驱动程序之前，我将显示屏厂家提供的stm8
i2c测试代码移植到了linux上实现了一个驱动，加载驱动后效果如下
我将此驱动也发出来供参考，该驱动程序直接在linux
i2c设备注册中实现了oled的测试显示，该驱动包含一个基本ascii的字库和字符串显示逻辑。
~~~~ {.sourceCode .c}
include
include
include
include
include
include
include
include
include
define SSD1306_CMD 0
define SSD1306_DAT 1
define SSD1306_WIDTH 128
define SSD1306_HEIGHT 64
define SSD1306_TS_NAME "ssd1306_ts"
static uint8_t s_chDispalyBuffer[128][8];
const uint8_t c_chFont1608[95][16] = {
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/" ",0/
{0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xCC,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00},/"!",1/
{0x00,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x00,0x00},/""",2/
{0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x00,0x00},/"#",3/
{0x00,0x00,0x0E,0x18,0x11,0x04,0x3F,0xFF,0x10,0x84,0x0C,0x78,0x00,0x00,0x00,0x00},/"$",4/
{0x0F,0x00,0x10,0x84,0x0F,0x38,0x00,0xC0,0x07,0x78,0x18,0x84,0x00,0x78,0x00,0x00},/"%",5/
{0x00,0x78,0x0F,0x84,0x10,0xC4,0x11,0x24,0x0E,0x98,0x00,0xE4,0x00,0x84,0x00,0x08},/"&",6/
{0x08,0x00,0x68,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/"'",7/
{0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x18,0x18,0x20,0x04,0x40,0x02,0x00,0x00},/"(",8/
{0x00,0x00,0x40,0x02,0x20,0x04,0x18,0x18,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/")",9/
{0x02,0x40,0x02,0x40,0x01,0x80,0x0F,0xF0,0x01,0x80,0x02,0x40,0x02,0x40,0x00,0x00},/"",10/
{0x00,0x80,0x00,0x80,0x00,0x80,0x0F,0xF8,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00},/"+",11/
{0x00,0x01,0x00,0x0D,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/",",12/
{0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80},/"-",13/
{0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/".",14/
{0x00,0x00,0x00,0x06,0x00,0x18,0x00,0x60,0x01,0x80,0x06,0x00,0x18,0x00,0x20,0x00},/"/",15/
{0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/"0",16/
{0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/"1",17/
{0x00,0x00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x11,0x84,0x0E,0x0C,0x00,0x00},/"2",18/
{0x00,0x00,0x0C,0x18,0x10,0x04,0x11,0x04,0x11,0x04,0x12,0x88,0x0C,0x70,0x00,0x00},/"3",19/
{0x00,0x00,0x00,0xE0,0x03,0x20,0x04,0x24,0x08,0x24,0x1F,0xFC,0x00,0x24,0x00,0x00},/"4",20/
{0x00,0x00,0x1F,0x98,0x10,0x84,0x11,0x04,0x11,0x04,0x10,0x88,0x10,0x70,0x00,0x00},/"5",21/
{0x00,0x00,0x07,0xF0,0x08,0x88,0x11,0x04,0x11,0x04,0x18,0x88,0x00,0x70,0x00,0x00},/"6",22/
{0x00,0x00,0x1C,0x00,0x10,0x00,0x10,0xFC,0x13,0x00,0x1C,0x00,0x10,0x00,0x00,0x00},/"7",23/
{0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00},/"8",24/
{0x00,0x00,0x07,0x00,0x08,0x8C,0x10,0x44,0x10,0x44,0x08,0x88,0x07,0xF0,0x00,0x00},/"9",25/
{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x03,0x0C,0x00,0x00,0x00,0x00,0x00,0x00},/":",26/
{0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/";",27/
{0x00,0x00,0x00,0x80,0x01,0x40,0x02,0x20,0x04,0x10,0x08,0x08,0x10,0x04,0x00,0x00},/"<",28/
{0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x00},/"=",29/
{0x00,0x00,0x10,0x04,0x08,0x08,0x04,0x10,0x02,0x20,0x01,0x40,0x00,0x80,0x00,0x00},/">",30/
{0x00,0x00,0x0E,0x00,0x12,0x00,0x10,0x0C,0x10,0x6C,0x10,0x80,0x0F,0x00,0x00,0x00},/"?",31/
{0x03,0xE0,0x0C,0x18,0x13,0xE4,0x14,0x24,0x17,0xC4,0x08,0x28,0x07,0xD0,0x00,0x00},/"@",32/
{0x00,0x04,0x00,0x3C,0x03,0xC4,0x1C,0x40,0x07,0x40,0x00,0xE4,0x00,0x1C,0x00,0x04},/"A",33/
{0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x11,0x04,0x0E,0x88,0x00,0x70,0x00,0x00},/"B",34/
{0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x1C,0x10,0x00,0x00},/"C",35/
{0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/"D",36/
{0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x17,0xC4,0x10,0x04,0x08,0x18,0x00,0x00},/"E",37/
{0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x17,0xC0,0x10,0x00,0x08,0x00,0x00,0x00},/"F",38/
{0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x44,0x1C,0x78,0x00,0x40,0x00,0x00},/"G",39/
{0x10,0x04,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x10,0x84,0x1F,0xFC,0x10,0x04},/"H",40/
{0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x00,0x00,0x00,0x00},/"I",41/
{0x00,0x03,0x00,0x01,0x10,0x01,0x10,0x01,0x1F,0xFE,0x10,0x00,0x10,0x00,0x00,0x00},/"J",42/
{0x10,0x04,0x1F,0xFC,0x11,0x04,0x03,0x80,0x14,0x64,0x18,0x1C,0x10,0x04,0x00,0x00},/"K",43/
{0x10,0x04,0x1F,0xFC,0x10,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0C,0x00,0x00},/"L",44/
{0x10,0x04,0x1F,0xFC,0x1F,0x00,0x00,0xFC,0x1F,0x00,0x1F,0xFC,0x10,0x04,0x00,0x00},/"M",45/
{0x10,0x04,0x1F,0xFC,0x0C,0x04,0x03,0x00,0x00,0xE0,0x10,0x18,0x1F,0xFC,0x10,0x00},/"N",46/
{0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/"O",47/
{0x10,0x04,0x1F,0xFC,0x10,0x84,0x10,0x80,0x10,0x80,0x10,0x80,0x0F,0x00,0x00,0x00},/"P",48/
{0x07,0xF0,0x08,0x18,0x10,0x24,0x10,0x24,0x10,0x1C,0x08,0x0A,0x07,0xF2,0x00,0x00},/"Q",49/
{0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x11,0xC0,0x11,0x30,0x0E,0x0C,0x00,0x04},/"R",50/
{0x00,0x00,0x0E,0x1C,0x11,0x04,0x10,0x84,0x10,0x84,0x10,0x44,0x1C,0x38,0x00,0x00},/"S",51/
{0x18,0x00,0x10,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x00,0x18,0x00,0x00,0x00},/"T",52/
{0x10,0x00,0x1F,0xF8,0x10,0x04,0x00,0x04,0x00,0x04,0x10,0x04,0x1F,0xF8,0x10,0x00},/"U",53/
{0x10,0x00,0x1E,0x00,0x11,0xE0,0x00,0x1C,0x00,0x70,0x13,0x80,0x1C,0x00,0x10,0x00},/"V",54/
{0x1F,0xC0,0x10,0x3C,0x00,0xE0,0x1F,0x00,0x00,0xE0,0x10,0x3C,0x1F,0xC0,0x00,0x00},/"W",55/
{0x10,0x04,0x18,0x0C,0x16,0x34,0x01,0xC0,0x01,0xC0,0x16,0x34,0x18,0x0C,0x10,0x04},/"X",56/
{0x10,0x00,0x1C,0x00,0x13,0x04,0x00,0xFC,0x13,0x04,0x1C,0x00,0x10,0x00,0x00,0x00},/"Y",57/
{0x08,0x04,0x10,0x1C,0x10,0x64,0x10,0x84,0x13,0x04,0x1C,0x04,0x10,0x18,0x00,0x00},/"Z",58/
{0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x40,0x02,0x40,0x02,0x40,0x02,0x00,0x00},/"[",59/
{0x00,0x00,0x30,0x00,0x0C,0x00,0x03,0x80,0x00,0x60,0x00,0x1C,0x00,0x03,0x00,0x00},/"\",60/
{0x00,0x00,0x40,0x02,0x40,0x02,0x40,0x02,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00},/"]",61/
{0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00},/"^",62/
{0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01},/"_",63/
{0x00,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/"`",64/
{0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xFC,0x00,0x04},/"a",65/
{0x10,0x00,0x1F,0xFC,0x00,0x88,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00},/"b",66/
{0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x00},/"c",67/
{0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x11,0x08,0x1F,0xFC,0x00,0x04},/"d",68/
{0x00,0x00,0x00,0xF8,0x01,0x44,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xC8,0x00,0x00},/"e",69/
{0x00,0x00,0x01,0x04,0x01,0x04,0x0F,0xFC,0x11,0x04,0x11,0x04,0x11,0x00,0x18,0x00},/"f",70/
{0x00,0x00,0x00,0xD6,0x01,0x29,0x01,0x29,0x01,0x29,0x01,0xC9,0x01,0x06,0x00,0x00},/"g",71/
{0x10,0x04,0x1F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04},/"h",72/
{0x00,0x00,0x01,0x04,0x19,0x04,0x19,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/"i",73/
{0x00,0x00,0x00,0x03,0x00,0x01,0x01,0x01,0x19,0x01,0x19,0xFE,0x00,0x00,0x00,0x00},/"j",74/
{0x10,0x04,0x1F,0xFC,0x00,0x24,0x00,0x40,0x01,0xB4,0x01,0x0C,0x01,0x04,0x00,0x00},/"k",75/
{0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/"l",76/
{0x01,0x04,0x01,0xFC,0x01,0x04,0x01,0x00,0x01,0xFC,0x01,0x04,0x01,0x00,0x00,0xFC},/"m",77/
{0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04},/"n",78/
{0x00,0x00,0x00,0xF8,0x01,0x04,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0xF8,0x00,0x00},/"o",79/
{0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00},/"p",80/
{0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x05,0x01,0xFF,0x00,0x01},/"q",81/
{0x01,0x04,0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x04,0x01,0x00,0x01,0x80,0x00,0x00},/"r",82/
{0x00,0x00,0x00,0xCC,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x98,0x00,0x00},/"s",83/
{0x00,0x00,0x01,0x00,0x01,0x00,0x07,0xF8,0x01,0x04,0x01,0x04,0x00,0x00,0x00,0x00},/"t",84/
{0x01,0x00,0x01,0xF8,0x00,0x04,0x00,0x04,0x00,0x04,0x01,0x08,0x01,0xFC,0x00,0x04},/"u",85/
{0x01,0x00,0x01,0x80,0x01,0x70,0x00,0x0C,0x00,0x10,0x01,0x60,0x01,0x80,0x01,0x00},/"v",86/
{0x01,0xF0,0x01,0x0C,0x00,0x30,0x01,0xC0,0x00,0x30,0x01,0x0C,0x01,0xF0,0x01,0x00},/"w",87/
{0x00,0x00,0x01,0x04,0x01,0x8C,0x00,0x74,0x01,0x70,0x01,0x8C,0x01,0x04,0x00,0x00},/"x",88/
{0x01,0x01,0x01,0x81,0x01,0x71,0x00,0x0E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00},/"y",89/
{0x00,0x00,0x01,0x84,0x01,0x0C,0x01,0x34,0x01,0x44,0x01,0x84,0x01,0x0C,0x00,0x00},/"z",90/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x3E,0xFC,0x40,0x02,0x40,0x02},/"{",91/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},/"|",92/
{0x00,0x00,0x40,0x02,0x40,0x02,0x3E,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/"}",93/
{0x00,0x00,0x60,0x00,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00},/"~",94*/
};
struct i2c_client *ssd1306_client;
static void ssd1306_write_byte(uint8_t chData, uint8_t chCmd)
{
uint8_t cmd = 0x00;
if (chCmd) {
cmd = 0x40;
} else {
cmd = 0x00;
}
i2c_smbus_write_byte_data(ssd1306_client, cmd, chData);
}
void ssd1306_display_on(void)
{
ssd1306_write_byte(0x8D, SSD1306_CMD);
ssd1306_write_byte(0x14, SSD1306_CMD);
ssd1306_write_byte(0xAF, SSD1306_CMD);
}
/**
- @brief OLED turns off
* - @param None
* - @retval None
**/
void ssd1306_display_off(void)
{
ssd1306_write_byte(0x8D, SSD1306_CMD);
ssd1306_write_byte(0x10, SSD1306_CMD);
ssd1306_write_byte(0xAE, SSD1306_CMD);
}
void ssd1306_refresh_gram(void)
{
uint8_t i, j;
for (i = 0; i < 8; i ++) {
ssd1306_write_byte(0xB0 + i, SSD1306_CMD);
ssd1306_write_byte(0x02, SSD1306_CMD);
ssd1306_write_byte(0x10, SSD1306_CMD);
for (j = 0; j < 128; j ++) {
ssd1306_write_byte(s_chDispalyBuffer[j][i], SSD1306_DAT);
}
}
}
void ssd1306_clear_screen(uint8_t chFill)
{
memset(s_chDispalyBuffer,chFill, sizeof(s_chDispalyBuffer));
ssd1306_refresh_gram();
}
/**
- @brief Draws a piont on the screen
* - @param chXpos: Specifies the X position
- @param chYpos: Specifies the Y position
- @param chPoint: 0: the point turns off 1: the piont turns on
* - @retval None
**/
void ssd1306_draw_point(uint8_t chXpos, uint8_t chYpos, uint8_t chPoint)
{
uint8_t chPos, chBx, chTemp = 0;
if (chXpos > 127 || chYpos > 63) {
return;
}
chPos = 7 - chYpos / 8; //
chBx = chYpos % 8;
chTemp = 1 << (7 - chBx);
if (chPoint) {
s_chDispalyBuffer[chXpos][chPos] |= chTemp;
} else {
s_chDispalyBuffer[chXpos][chPos] &= ~chTemp;
}
}
/**
- @brief Fills a rectangle
* - @param chXpos1: Specifies the X position 1 (X top left position)
- @param chYpos1: Specifies the Y position 1 (Y top left position)
- @param chXpos2: Specifies the X position 2 (X bottom right position)
- @param chYpos3: Specifies the Y position 2 (Y bottom right position)
* - @retval
**/
void ssd1306_fill_screen(uint8_t chXpos1, uint8_t chYpos1, uint8_t chXpos2, uint8_t chYpos2, uint8_t chDot)
{
uint8_t chXpos, chYpos;
for (chXpos = chXpos1; chXpos <= chXpos2; chXpos ++) {
for (chYpos = chYpos1; chYpos <= chYpos2; chYpos ++) {
ssd1306_draw_point(chXpos, chYpos, chDot);
}
}
ssd1306_refresh_gram();
}
/**
- @brief Displays one character at the specified position
* - @param chXpos: Specifies the X position
- @param chYpos: Specifies the Y position
- @param chSize:
- @param chMode
- @retval
**/
void ssd1306_display_char(uint8_t chXpos, uint8_t chYpos, uint8_t chChr, uint8_t chSize, uint8_t chMode)
{
uint8_t i, j;
uint8_t chTemp, chYpos0 = chYpos;
chChr = chChr - ' ';
for (i = 0; i < chSize; i ++) {
if (chMode) {
chTemp = c_chFont1608[chChr][i];
} else {
chTemp = ~c_chFont1608[chChr][i];
}
for (j = 0; j < 8; j ++) {
if (chTemp & 0x80) {
ssd1306_draw_point(chXpos, chYpos, 1);
} else {
ssd1306_draw_point(chXpos, chYpos, 0);
}
chTemp <<= 1;
chYpos ++;
if ((chYpos - chYpos0) == chSize) {
chYpos = chYpos0;
chXpos ++;
break;
}
}
}
}
/**
- @brief Displays a string on the screen
* - @param chXpos: Specifies the X position
- @param chYpos: Specifies the Y position
- @param pchString: Pointer to a string to display on the screen
* - @retval None
**/
void ssd1306_display_string(uint8_t chXpos, uint8_t chYpos, const uint8_t *pchString, uint8_t chSize, uint8_t chMode)
{
printk("%s, ssd1306 str = %s\n", __func__, pchString);
while (*pchString != '\0') {
if (chXpos > (SSD1306_WIDTH - chSize / 2)) {
chXpos = 0;
chYpos += chSize;
if (chYpos > (SSD1306_HEIGHT - chSize)) {
chYpos = chXpos = 0;
ssd1306_clear_screen(0x00);
}
}
ssd1306_display_char(chXpos, chYpos, *pchString, chSize, chMode);
chXpos += chSize / 2;
pchString ++;
}
}
void ssd1306_init(void)
{
ssd1306_write_byte(0xAE, SSD1306_CMD);//--turn off oled panel
ssd1306_write_byte(0x00, SSD1306_CMD);//---set low column address
ssd1306_write_byte(0x10, SSD1306_CMD);//---set high column address
ssd1306_write_byte(0x40, SSD1306_CMD);//--set start line address Set Mapping RAM Display Start Line (0x00~0x3F)
ssd1306_write_byte(0x81, SSD1306_CMD);//--set contrast control register
ssd1306_write_byte(0xCF, SSD1306_CMD);// Set SEG Output Current Brightness
ssd1306_write_byte(0xA1, SSD1306_CMD);//--Set SEG/Column Mapping
ssd1306_write_byte(0xC0, SSD1306_CMD);//Set COM/Row Scan Direction
ssd1306_write_byte(0xA6, SSD1306_CMD);//--set normal display
ssd1306_write_byte(0xA8, SSD1306_CMD);//--set multiplex ratio(1 to 64)
ssd1306_write_byte(0x3f, SSD1306_CMD);//--1/64 duty
ssd1306_write_byte(0xD3, SSD1306_CMD);//-set display offset Shift Mapping RAM Counter (0x00~0x3F)
ssd1306_write_byte(0x00, SSD1306_CMD);//-not offset
ssd1306_write_byte(0xd5, SSD1306_CMD);//--set display clock divide ratio/oscillator frequency
ssd1306_write_byte(0x80, SSD1306_CMD);//--set divide ratio, Set Clock as 100 Frames/Sec
ssd1306_write_byte(0xD9, SSD1306_CMD);//--set pre-charge period
ssd1306_write_byte(0xF1, SSD1306_CMD);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
ssd1306_write_byte(0xDA, SSD1306_CMD);//--set com pins hardware configuration
ssd1306_write_byte(0x12, SSD1306_CMD);
ssd1306_write_byte(0xDB, SSD1306_CMD);//--set vcomh
ssd1306_write_byte(0x40, SSD1306_CMD);//Set VCOM Deselect Level
ssd1306_write_byte(0x20, SSD1306_CMD);//-Set Page Addressing Mode (0x00/0x01/0x02)
ssd1306_write_byte(0x02, SSD1306_CMD);//
ssd1306_write_byte(0x8D, SSD1306_CMD);//--set Charge Pump enable/disable
ssd1306_write_byte(0x14, SSD1306_CMD);//--set(0x10) disable
ssd1306_write_byte(0xA4, SSD1306_CMD);// Disable Entire Display On (0xa4/0xa5)
ssd1306_write_byte(0xA6, SSD1306_CMD);// Disable Inverse Display On (0xa6/a7)
ssd1306_write_byte(0xAF, SSD1306_CMD);//--turn on oled panel
ssd1306_display_on();
ssd1306_clear_screen(0xff);
}
static int ssd1306_ts_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
printk("ssd1306_ts_probe\n");
printk("probe %s\n",__func__);
printk("%s, addr = %x, line = %d\n", __func__, client->addr, client->adapter->nr);
printk("%s, name = %s, adapter nr = %d\n", __func__, client->adapter->name, client->adapter->nr);
ssd1306_client = client;
ssd1306_init();
ssd1306_clear_screen(0x00);
//ssd1306_display_off();
ssd1306_display_on();
ssd1306_display_string(18, 0, "Welcome!", 16, 1);
ssd1306_display_string(0, 16, "zero i2c driver", 16, 1);
ssd1306_refresh_gram();
// ssd1306_display_on();
return 0;
};
static const struct i2c_device_id ssd1306_ts_id[] = {
{ "ssd1306", 0 },
{ }
};
MODULE_DEVICE_TABLE(i2c, ssd1306_ts_id);
static struct i2c_driver ssd1306_ts_driver = {
.probe = ssd1306_ts_probe,
.id_table = ssd1306_ts_id,
.driver = {
.name = SSD1306_TS_NAME,
},
};
module_i2c_driver(ssd1306_ts_driver);
MODULE_LICENSE("GPL");
~~~~
相应dts配置如下：


1. Encoder-Decoder RNN with Attention 基本模型依据Bahdanau提出的模型。
2. Capturing Keywords using Feature-rich Encoder. encoder的输入为word embedding+NER tags+TF+IDF+POS
3. Modeling Rare/Unseen Words using Switching Generator-Pointer 起源于LVT，每次生成计算switch，为1则使用target vocab，为0使用pointer从原文复制单词。switch概率公式如下： 指向各个单词的概率为，i为decoder中位置，j为encoder中位置：
模型的目标函数为，$g_i$是switch的真实值，只在训练阶段才有： 模型结构如下，计算switch时缺少attention连线
4. Capturing Hierarchical Document Structure with Hierarchical Attention 计算context vector $c_t$时使用hierarchical attention，对上文的attention进一步处理而已
The left denotes the traditional Bahdanauet’s attention [$s_{i}=f(s_{i-1}, y_{i-1}, c_{i})$], while the right half denotes the graph-based attention.
$\alpha_i^j$ indicates how much the $i$-th original sentence $s_i$ contributes to generating the $j$-th sentence in summary. $c_j$ is the context vector.
graph-based attention
Traditional attention methods not good at judging which sentences are more important to a document. A sentence is important if it’s heavily linked with many important sentences according to Pagerank algorithm. $W(i,j) = h_i^TMh_j$ is the adjacent matrix. $\mathbf{y} \in \mathcal{R}^{n}$ with all elements equal to $\frac{1}{n}$. The importance score of each sentence is :
Further, we want compute the rank scores of the original sentences regarding $h_j$. Applying the idea of topic-sensitive pagerank, which alters $\mathbf{y}$.
In order to penalize the model from attending to previously attended sentences. The graph-based attention is finally computed as:
model training loss function:
hierarchical decoding algorithm
A beam search strategy may help to alleviate the repetition in a sentence, but the repetition in the whole generated summary is remained a problem. Sentence-level beam search is realized by maximizing the accumulated score of all the sentences generated.
We add an additional term to the score $\tilde{p}\left(y_{\tau}\right)$, ref is a function calculates the ratio of bigram overlap between two texts.
3 key element: $c_t^e, c_t^d, h_t^d$
$c_t^e$ is the inpute context vectore, $c_t^d$ is the decoder context decoder, $h_t^d$ is the hidden state vector of decoder at time step $t$.
define new temporal attention score, penalizing input tokens that have obtained high attention scores in past attention steps.
obtain final context vector, a weighted sum of all hidden vector in encoder. It differs at different decoding step $t$.
same as pointer network, tradition generation probability is:
the copy probability is defined as:
combine two objective, $\hat{y}$ is the baseline output maximizing the output probability distribution at each time step, $y^s$ is obtained by sampling from the probability distribution at each time step $t$(the whole sentence?), $y^{*}$ is ground truth, $r(y)$ is the reward function,
The input of language model is the same as decoder at each time step $t$. Combing $h^{lm}t$ with $[h{t}^{d}|c_{t}^{e}| c_{t}^{d}]$, we have $h^{fuse}_t$
changing the the reward function $r(y)$.
The first layer of the RNN runs at the word level, second layer of bi-directional RNN that runs at the sentence-level. Using average pooling to get sentence or document representation.
The binary decision is defined as below. Each row represents content, salience, novelty, absolute and relative positional embedding respectively.
The objective is to minimize the negative log-likelihood of the observed labels at training time:
We employ a greedy approach, where we add one sentence at a time incrementally to the summary, such that the Rouge score of the current set of selected sentences is maximized with respect to the entire summary.
We need to label sentences in the document for extractive training, which will bring loss. This paper propose a novel training technique to train SummaRuNNer abstractively. We couple the initial model with a RNN decoder that models the generation of abstractive summaries at training time only. We modify the first three equations of GRU based RNN, $s_{-1}$ is the summary representation computed at the last sentence of the sentence-level bidirectional RNN. It’s the only bridge between the initial model and the coupled decoder.
The emission at each time-step is determined by a feed-forward layer $f$ followed by a softmax layer that assigns $\mathbf{P}_{k}$
we minimize the negative log-likelihood of the words in the reference summary as follows. where $N_s$ is the number of words in the reference summary.


Welcome to the Mongo + Express + Node challenge! We are working on a blog backend in which users can register, login and create/read posts.
Your api base url is http://localhost:3000/api/
Please read the README.md carefully before starting.
Ready to start? Here we go.
Someone discovers there’s an issue with authorization. Any user can create a post on behalf of another user! Are you able to fix it?
The existing endpoint GET http://localhost:3000/posts brings all the existing posts. Implement the following functionalities:
Many users are requesting to make comments on the posts.
Each comment should have an author and the content itself.
We need unit tests for either points 2 or 3 to have better coverage!


--- layout: archive title: Zulip Chat Archive permalink: /stream/116395-maths/topic/DVRs.html ---
class discrete_valuation_ring (R : Type*) extends principal_ideal_domain R := (unique_nonzero_max_ideal : ∃! P : ideal R, P.is_prime ∧ P ≠ 0)
@Johan Commelin what do you think?
Well, we already have local_ring
So maybe you should extend
that
and then add one extra condition saying that it's not a field
but a general local ring isn't a PID so I need to add that somehow, right?
You are already extending that, right?
I meant, in addition, extend local ring
I wonder whether we'll be happy with [dvr R]
and [pid R]
, etc... Or that we'd rather have [comm_ring R] [is_dvr R]
and [comm_ring R] [is_pid R]
etc...
The first version has more chances to lead to diamonds, I think
I never know if I'm allowed to extend PID and local ring because perhaps I just defined two different multiplications or something? I really have no understanding of this stuff and don't know a place where it's all written up coherently. I occasionally half-understand it for a while and then I just forget it all again.
Aha, I think it's fine, but maybe you need to switch on the old_structure_cmd
set_option old_structure_cmd true class discrete_valuation_ring (R : Type*) extends principal_ideal_domain R, local_ring R := (pseudouniformiser : ∃ a : R, a ≠ 0 ∧ ¬ is_unit a)
Yeah, that seems fine. Although I would maybe not call the condition pseudouniformiser
exists_nonzero_nonunit
?
Last updated: Apr 24 2020 at 19:02 UTC


Chocolate Brownies with Chunky Peanut Butter
Ingredients
2/3 cup all purpose flour, plus 2 tablespoons for dusting the pan1/2 teaspoon baking powder
pinch of salt
1/3 cup unsalted butter, at room temperature, plus 1 tablespoons for greasing the pan
2 ounces semi-sweetened chocolate
1 cup sugar
2 medium eggs
1 teaspoon vanilla essence
4 tablespoons chunky peanut butter
Method Preparation
Preheat the oven to 350 F. Into a bowl, sift together the flour, baking powder, and salt. With the help of an elder and using a double boiler, melt butter and chocolate. In a mixing bowl, beat eggs. Add sugar to eggs a little at a time, beating well. Very slowly add the butter- chocolate mixture to it, little at a time. Stir in flour mixture, blending well. Stir in vanilla and peanut butter. With the remaining 2 tablespoons of butter, grease a 8-inch square pan and lightly flour it with reserved flour. Evenly spread the brownie batter in the 8-inch pan. Bake it for about 25 minutes, until the toothpick you insert in the center should come out with a few moist crumbs attached. Cool in pan and cut into squares with a serrated knife with the help of the elder. Enjoy it with your friends, warm or room temperature.


${../includes/head.html} ${../includes/avgrund.html}
${../includes/nav.html}
${../includes/breadcrumb.html}
New Project
{$projects}
${../includes/footer.html}


lineage (., Victoria Yamagata number emergence influenza data model shows IBV dominant lineages time dynamics estimated season specific {border-style immunity infection epidemic px;} #ffffff;} posterior seasonal host using prediction Influenza Sciences parameters reproduction vaccine strain Fig cases isolates simulation timing R,n lineage. parameter season. Biology Medicine Yamagata. antigenicity denotes epidemiological fluctuation interference Japan Science beginning frequency humidity line population predict px; selection series virus {font-family Health IBM RO. Using []. accepted accuracy analysis compared complex confirmed determined distributions evolutionary exceeds font-size predicted transmissibility Life Technology account average changes difficult distribution double; estimate evolution highest infected lineages, observed probability state variation viruses weekly .–.) Agency Antigens Estimated Immune Immunology KI. Viruses basic border-color border-width change describing dynamics, essential exp field ii) immune major model. pathogens results runs sensitivity solid; vaccines values waning {font-style {font-weight (%HPD: (Fig (year-) Biol: Biology: Data HPD: IAV MN. Orthomyxoviruses RR(), RS(), RS, Research SR(), SR, SS(), SS, Victoria, Viral actual based bold courier; data. density described disease em; empirical high lineage, mathematical new obtained parsimonious pt;} rate reported result sciences showed shown similar simulated size states study suggests susceptibility susceptible timings transmission trivalent varied viruses: week


SNOBOL4FFI(3) | CSNOBOL4B 2.0 | January 1, 2015
NAME
snobol4ffi – Foreign Function Interface for SNOBOL4
SYNOPSYS
-INCLUDE 'ffi.sno'
dl = FFI_DLOPEN("/usr/lib/libm.so")
sym = FFI_DLSYM(dl, "hypot")
DEFINE_FFI("hypot(double,double)double", sym)
OUTPUT = hypot(3, 4)
DESCRIPTION
-
FFI_DLOPEN(filename)
-
takes the path of a dynamicly loadable
executable file and returns a value
which can be passed to FFI_DLSYM().
-
FFI_DLSYM(library,function)
-
takes a library value
returned by FFI_DLOPEN(), and a function name, and returns a
value which can be passed to DEFINE_FFI().
-
DEFINE_FFI(prototype,pointer)
-
defines a SNOBOL4 function that calls an external function via ffi(3).
prototype contains a string name for the function followed
by a comma separated list of parameter types inside of parenthesis
(any of:
sint8, sint16, sint32, sint64,
uint8, uint16, uint32, uint64,
schar, sshort, sint, slong,
uchar, ushort, uint, ulong,
float, double, longdouble, pointer),
followed by a return type, which can be
any of the above parameter types, or
void, string, freestring.
pointer is a value returned by FFI_DLSYM().
SEE ALSO
snobol4(1), ffi(3), dlopen(3)
AUTHOR
Philip L. Budne


fun startPayment(): Unit
Starts the payment transaction. Calling this method launches the Payment Menu and shows installed UPI apps in device and let user choose one of them to pay.


circle3dOrigin
PURPOSE
CIRCLE3DORIGIN return the first point of a 3D circle
SYNOPSIS
function ori = circle3dOrigin(varargin)
DESCRIPTION
CROSS-REFERENCE INFORMATION
This function calls:
- localToGlobal3d LOCALTOGLOBAL3D create transform from a vector and 3 rotation angles
- transformPoint3d TRANSFORMPOINT3D transform a point with a 3D affine transform
This function is called by:
- circle3dPosition CIRCLE3DPOSITION return the angular position of a point on a 3D circle
Generated on Fri 05-Feb-2010 11:20:41 by m2html © 2003


By Screen:
01AddHeadache
01BarChart
01Calendar
01HeadachesList
01MedicationsList
01PieChart
01SettingsScreen
iPhone Xs Max-01AddHeadache
iPhone Xs Max-01BarChart
iPhone Xs Max-01Calendar
iPhone Xs Max-01HeadachesList
iPhone Xs Max-01MedicationsList
iPhone Xs Max-01PieChart
iPhone Xs Max-01SettingsScreen
iPhone Xs-01AddHeadache
iPhone Xs-01BarChart
iPhone Xs-01Calendar
iPhone Xs-01HeadachesList
iPhone Xs-01MedicationsList
iPhone Xs-01PieChart
iPhone Xs-01SettingsScreen
iPhone Xʀ-01AddHeadache
iPhone Xʀ-01BarChart
iPhone Xʀ-01Calendar
iPhone Xʀ-01HeadachesList
iPhone Xʀ-01MedicationsList
iPhone Xʀ-01PieChart
iPhone Xʀ-01SettingsScreen


Bubbles—the most fragile, light and transitory of objects. They aimlessly flutter through the air at the whim of a merest breeze, and vanish into nothingness at the merest touch. Hey, let's use them as a form of transportation!
 Things just bob around in there, having somehow become as weightless as the bubble itself. Don't worry, it's perfectly safe!
The only tricky part is getting out of the bubble once you get in. For some bizarre reason, people put in bubbles tend to find themselves completely unable to get themselves out, no matter how hard they batter the inside of the bubble. It must be a side effect of zero gravity or something.
Oh? How do we get in? Well, we just get a bubble about ten feet in diameter, and... what? What do you mean, impossible? Well, we suppose we'll just have to shrink down to a few inches and use a normal-sized one, then.
What? How do we steer it? Why, isn't it enough to just go wherever the wind takes you? Is your spirit really tied down to such weighty stones as "appointments" and "street numbers" and "deadlines" and—
Well, if you're gonna be such a spoilsport, just take a taxi.
See also Sphere Factor.
Examples:
- The Sabaody Archipelago of One Piece fame has bubble-transport as its "Hat". Justified in universe by the trees secreting a resin that makes bubbles highly resilient, but only in the immediate area of the islands.
- In Naruto, Utakata, the jinchuuriki of the Six-Tailed Slug, is shown to be able to do this in Filler.
- In Pokémon: The First Movie Mew and Mewtwo both use this technique to battle each other, the former of which was introduced sleeping in one.
- In Ojamajo Doremi Sharp, after the FLAT4 No-Sell the Ojamajos' attacks, Akatsuki uses his magic to imprison the Ojamajos in floating bubbles as a way to get around the magic-repelling Royal Patraine uniforms the girls were using.
- In episode 8b of Tamagotchi, Mametchi and the other Tama-Friends escape the island by using bubble-producing flowers and a big circular bubble wand made of vines to create a giant bubble that they float in. The bubble quickly bounces through the water and back to the TAMAX-TV ship.
- Pleasant Goat and Big Big Wolf: In Pleasant Goat Fun Class: The Earth Carnival episode 10, the goats go down several slides representing the seven colors of the rainbow. Sparky winds up trapped in an orange-colored bubble after going down the orange slide. Wolffy is also seen floating in a purple-colored bubble and collides with Sparky as he's floating in his orange bubble, causing the latter to fall to the ground in a nearby pool of water.
- One of Flying Smurf's methods for attempting flight in The Smurfs story "The Flying Smurf" involved being blown up inside a bubble which floated in the air until a passing bird popped it and sent him falling down, crashing through the roof of a Smurf house.
- Wonder Woman and the Star Riders: Dolphine conjures up a bubble she floats in when Purrsia attacks. The bubbles are evidently great defense against magic but not so good for travel as she rides her winged horse for that instead.
- Meet the Robinsons features bubbles as a form of public transportation in the future.
- On Pinocchio, Jiminy Cricket gets caught inside a bubble underwater. He punctures it trying to retrieve his hat (which is in a different bubble) and it starts filling up with water. best not to dwell too much on it.
- Timothy Mouse on Dumbo gets caught up in the bubbles Dumbo makes after getting drunk.
- In Snow White and the Seven Dwarfs, Dopey eats a bar of soap which causes him to hiccup bubbles. The climax of that scene has him hiccup a bubble the size of his head, which carries his hat into the air for a few seconds before popping. A Deleted Scene also has Dopey hiccup out a bubble containing the spoon he ate shortly thereafter.
- Land Before Time VI: The Secret Of Saurus Rock: while playing on some sort of bubbly mud pit with twin relatives of hers and getting tripped up by them. Upon emerging from the pit, Cera ends up in one of these. Petrie bursts her out of it, though Fridge Logic kicks in on why didn't she use her horn to do so earlier.
- The stonefish seen during this part of the song "Under the Sea" from The Little Mermaid (1989):
''Down here all de fish is happy
As off tru de waves dey roll
De fish on the land ain't happy
Dey sad cos dey in de bowl
But fish in de bowl is lucky
Dey in for a worser fate
One day when de boss get hungry
Guess who gon' be on de plate? - Home has the Boov commonly using bubbles as transport.
- Scrat gets caught inside a bubble from a tar pit in Ice Age 3: Dawn of the Dinosaurs.
- The elephants in the "Dance of the Hours" segment of Fantasia blow bubbles with their trunks. One is shocked to find a fish floating inside one. Another ends up getting a bubble stuck to her foot.
- Although he doesn't float inside it, a bubble forms around Fievel when he's atop a bar of soap in An American Tail.
- After Wayne, Gordon, and their wives have been shrunken in Honey, We Shrunk Ourselves, they attempt to go and get their kids to help them. Fortunately, the kids, thinking that their parents left on vacation, throw a party, where a bubble machine is conveniently placed on the staircase. Wayne and the others leap into the bubbles to go look for the kids.
- Used by Glinda the Good in the film version of The Wizard of Oz.
- Oz the Great and Powerful has her using the same effect to save Oscar and China Girl as well as herself. And then she flies without a bubble, admitting that bubbles are just for show.
- One of the tricks the Four Horsemen did at their New Orleans show in Now You See Me had Henley floating in a bubble above the audience. The bubble popped when it touched one of the chandeliers, causing her to fall and be caught by Daniel.
- In the Lone Wolf book Castle Death, Lone Wolf can get trapped inside a bubble, and must escape before he runs out of air.
- Bubbles the Dog gets transported into Xanth this way. (A Wizard Did It, sort of; Piers Anthony decided to immortalize one of his beloved pets into his book series.)
- Appears in Patrick O'Leary's The Gift.
- Used in one of the Oz books (with an explicit hefty dose of magic) to send a whole bunch of guests home from the Emerald City.
- Animorphs: One book has the team morph giant squids so they can get into a Pemalite ship deep underwater. On entering, they find that the ship is programmed to provide an environment to those inside, so they find themselves floating in bubbles of water, themselves floating in the air. They can even spew ink to cloud it entirely, allowing them to demorph undetected.
- In The Adventures of Superboy episode "Yellow Peri's Spell of Doom", the witch attempted to murder Lana Lang by trapping her in a bubble. Since it was airtight, she almost suffocated before Superboy broke it.
- Ace of Base is shown doing this early on the video for "It's A Beautiful Life".
- In the first season opening credits of The Wubbulous World of Dr. Seuss, Fox in Socks and Mr Knox are shown unicycling in a bubble.
- Glinda travels in a bubble in Wicked, represented onstage by a Clock Punk-ish circular platform that descends from the wings.
Elphaba: Well we can't all come and go by bubble!
- In The Golden Ticket, an opera adaptation of Charlie and the Chocolate Factory, the Television Room uses specially-created bubbles to teleport items to a television screen. (Wonka calls it "Bubblevision".) The easily-distracted Mike Teavee, upon seeing this process, decides he wants to be miniaturized and live in one of these bubbles...
- In the finale of the former Jimmy Neutron's Nicktoon Blast ride at Universal Studios Florida, King Goobot traps Jimmy and Goddard in a floating green bubble.
- Bubble Bobble, and sequels Bubble Symphony and Bubble Memories: how the protagonists travel between levels and how enemies are on the way to being defeated.
- If the True Final Boss gets you in Rainbow Islands, It's a Wonderful Failure.
- Rainbow Islands Revolution has Bub as a human floating in a bubble the whole time, relying on the player's stylus to move him around. Japan is lucky to be able to use the D-pad.
- Bub as a dragon is also able to float in a bubble when one holds down the bubble button in Bubble Bobble Part 2 for the Game Boy. (The NES version has him actually inflating instead.)
- In The Fairyland Story, when Ptolemy dies, she gets swept away into a bubble.
- Used by Mario in Super Mario Land 2: 6 Golden Coins and Super Mario Galaxy.
- And also in New Super Mario Bros. Wii as a means of avoiding death and/or re-entering the level in multiplayer. Just don't have everyone go into a bubble at once.
- In the original Super Mario World, bubbles could contain a floating Goomba, Bob-Omb or mushroom, and tended to pop without being touched.
- Yoshi's Island has Baby Mario (and any baby character in Yoshi's Island DS) enter a bubble and float up when he's knocked off Yoshi's back. Take too long to retrieve him and he gets kidnapped by Toadies. Some transformation powerups are also kept in bubbles.
- Yoshi's Story, the sequel, features prizes stuck in super-rubbery bubbles that projectiles can break. (You can actually break the bubbles using only Yoshi's body if you bump into them or jump on them enough times. It takes a while, but can be done.)
- This can happen to Wario in the Wario Land series. Wario Land II also has a boss named Awabo who is a living bubble trying to float Wario out of the arena.
- In Kirby: Squeak Squad, bubbled objects are sent to Kirby's stomach, which functions as an inventory.
- The Infocom adventure Trinity had this.
- Mew in Pokémon Snap and in the Super Smash Bros. series.
- And before any of that, The Movie.
- The Latheon Gorge segment of Tales of Symphonia is navigated by use of wind-blowing flowers and a magic ring that (among other things) encases the characters in a bubble.
- In Banjo-Tooie the only way to get in and out of Cloud Cuckooland is via bubble lift.
- In The World Ends with You, Draco Cantus will often send a Neku-seeking bubble during it's boss fight, and unless Neku doesn't pop it in time, it'll get popped by the boss, taking what can be a nasty amount of health off. Interestingly, before the fight, Shiki and Beat are captured this way by a fused Kitaniji/Joshua.
- The Lost Vikings has bubbles that vikings can use as a transportation device. The bottom part of the bubble acts as a tiny platform.
- Touhou has Patchy's spell card, Water Sign "Jellyfish Princess", which creates a protective bubble for Patchy to float around in. When it's used by the actual player, the bubble doesn't cause her to float, acting as more of a general barrier for defense.
- The Mega Man Battle Network series introduces this as a status effect of sorts in the sixth game, where it paralyzes the victim, and causes them to take doubled damage from electrical attacks. It also had the Bubble Wrap chip which provided a regenerating bubble shield that could absorb a single hit of damage whenever it was up, but wouldn't regenerate if struck with electricity.
- The former effect is carried over into the Mega Man Star Force series.
- In Kingdom Hearts 3D: Dream Drop Distance, any Dream Eaters that can't swim (which is almost all of them) end up in a bubble while playing the Water Barrel minigame. It's also weaponized by the Bubble Burst reality shift, where Sora or Riku can ride on top a bubble and entrap multiple enemies within before popping it with explosive force, and again by the Tatsu Steed's Bubble Blast link attack which traps foes in an exploding bubble if they get hit enough times.
- Krang's saucer, the boss of the "Star Base" level of Teenage Mutant Ninja Turtles: Turtles in Time, uses these as attacks. "Anyone got a pin?"
- Burst Man from Mega Man 7 does this to enter the battle. His Danger Wrap makes Mega Man experience this... and float into a ceiling of instant-death Spikes of Doom.
- This is how Lucy is captured at the beginning of Dynamite Dux, though the bubble is referred to as a "miracle ball".
- Sonic the Hedgehog:
- Sonic the Hedgehog 2 for the Game Gear and Master System has Sonic float inside giant bubbles in the second act of Aqua Lake Zone.
- Sonic Triple Trouble has these same bubbles in Tidal Plant Zone, this time activated by giant switches.
- Sonic Mania brings back the bubbles for the new Hydrocity Zone. Hard to steer and they pop if they hit anything, but at least drowning isn't a concern.
- One level of The Smurfs (1994) has your Smurf floating in a bubble to navigate through a maze of thorny vines.
- Certain levels of The Smurfs 2 has your Smurf floating in a bubble to reach difficult places in the level.
- In Lollipop Chainsaw, Mariska can travel inside a bubble and trap Juliet inside one.
- In Sid And Als Incredible Toons, Sid will float off in a bubble if given a stick of bubblegum.
- In The Berenstain Bears Camping Adventure for Sega Genesis and Game Gear, if Brother or Sister fall into a pit, they will float back to the platform they were last on in a bubble, until they have run out of lives.
- Heroes of the Storm has Murky's Safety Bubble ability, which makes him temporarily invincible.
- The Zoogs in Iggle Pop! have trapped the cute Iggles in bubbles. Some can shoot buubles to trap the playable character into one, too, costing them a life.
- In Octogeddon, the titular octopus acquires several useful aquatic animal buddies to aid it on its rampage. During the land levels, they appear floating around in water-filled bubbles, so they can be used during all the levels, underwater or not.
- These are the only way to climb Rumble Falls in Donkey Kong Jungle Beat. What kind of bubble can levitate a full-grown gorilla is best left to the imagination.
- In MO: Astray, the titular character, MO can hitch a ride in bubbles emerging from purple Acid Pools.
- Chrono Trigger: Some of Frog's double techs involve enclosing a teammate inside a giant floating water bubble
- In an episode of Disney's The New Adventures of Winnie the Pooh, Pooh got trapped inside a bubble. He didn't float around inside it, though.
- In the episode "Find Her, Keep Her", the little bird Rabbit is taking care of floats away on a soap bubble while Rabbit bathes her.
- ''Futurama
- Bender's Big Score'' had an improbably cute version during the dating montage with Lars & Leela.
- Used as a gag in the Off to See the Wizard episode, when Amy-as-Glinda has trouble getting out of it.
- Used to a ridiculous extent in The Brave Little Toaster Goes To Mars. The baby is in a bubble on Mars for hours, and neither runs out of oxygen, needs a diaper change, nor milk.
- SpongeBob SquarePants: Happens regularly:
- The butterfly "monster", "Wormy", Squidward at the end of "Squidward the Unfriendly Ghost", Squidward's whole house in "Bubble Stand", and Spongebob himself in "Fungus Among Us".
- Everyone in Bikini Bottom in "Rodeo Daze."
- One entire episode is dedicated to driving in bubbles, when SpongeBob fails his driving test again.
- Bubbles are a common mode of transport in The Dreamstone.
- Phineas and Ferb: One episode has the boys working on a bubble that could be ridden in.
- The Smurfs: Scaredy Smurf borrows a wand from a water sprite that can create bubbles even around himself as protection. Unfortunately, he ended up dropping the wand and Gargamel used it to trap Scaredy in a bubble until the other Smurfs got the wand out of Gargamel's hands and trapped him and his cat inside a bubble.
- Looney Tunes: In "Rabbit Every Monday", Bugs plugs the barrels of Sam's shotgun with bubble gum — when Sam fires, he ends up trapped inside a giant bubble, which Bugs sends bouncing off with a small puff of breath.
- Mr. Bogus:
- Happens to Bogus in the third act of the episode "A Day At The Office", after drinking a bottle of apple juice when he accidentally eats some laundry detergent. This causes him to hiccup a bubble as he becomes trapped inside.
- Happens to Bogus again in the first act of the episode "Bad Luck Bogus", after landing in the bathtub, but only his head is in the bubble, though he does still float up to the ceiling.
- My Little Pony:
- My Little Pony 'n Friends:
- The Sea Ponies can form breathing bubbles around people to stop them from drowning, which also allow them to float freely in the water.
- Fizzy can magically create bubbles, including ones that allow people to float through the air.
- My Little Pony: Friendship Is Magic:
- In "Twilight's Kingdom Part 1", Spike is briefly trapped in a bubble by Discord, which pops after lifting him up for a bit. Rainbow Dash catches him before he hits the ground.
- In "Twilight's Kingdom Part 2", when bargaining with Twilight for all the alicorn magic in Equestria, Tirek holds her friends — including Spike and Discord — suspended in individual bubbles.
- My Little Pony 'n Friends:
- Wander over Yonder: This is a major form of space travel. Conveniently, "orbble juice" bubbles seem to generate their own air.
- The New Adventures of Superman: In "Brainiac's Bubbles", Superman and Lois Lois Lane find themselves trapped and floating inside, well, Brainiac's giant bubbles.
- In the Goofy cartoon How To Swim, Goof ends up inside a bubble when the changing booth he's in falls in the ocean. He pops it when he lays down his umbrella and it starts filling up with water as he sits down to eat, oblivious the whole while.
- Rick Sanchez apparently has a gizmo capable of this when he needs to get the kids out of the house. Summer is in the middle of protesting that there's no air in these bubbles when she and Morty are encased in them and carried away.
- In one episode of Dragon Tales, Ord accidentally gets trapped inside a giant bubble when he and Max are playing around with creating big bubbles from a spring. The bubble mix they used was so strong that trying to pop Ord's bubble with a claw or a barrette doesn't work, and they have to cart his bubble (and him) to a cold region where it freezes over and they then shatter it to finally let him out.
- In Phineas and Ferb we see Isabella use this in "The Wizard of Odd" before and after the pointless song and dance number
- Truth in Television with the Diving bell spider who spends its whole life underwater by living in a bubble and occasionally coming up for air.


You need a space before the #.
while sleep 1
do# show time
date
done
while sleep 1
do # show time
date
done
ShellCheck has noticed that you have a keyword immediately followed by a #
. In order for the #
to start a comment, it needs to come after a word boundary such as a space.
None.


Major gains for women, minorities in television directing
Half of TV episodes were directed by women or African American, Asian American or Latino directors in 2018-19 season.
A record number of television episodes were helmed by women or directors of colour in the 2018-19 season, according to a report, highlighting major gains in an industry that has sought to be more inclusive.
The Episodic Television Director Inclusion Report covering that season said that for the first time, half of all TV episodes were directed by women or African American, Asian American or Latino directors.
The number was up from last year's high of 42.5 percent and from 21 percent five years ago.
More:
- Emmy Awards: Game of Thrones wins again as Fleabag surprises
- Stuart Hall: Race, gender, class in the media
- Netflix, Apple cross swords in Indian streaming market
"Inclusion has been a priority of our Guild for a very long time as we've pushed the studios, networks and producers to do better in their hiring," Thomas Schlamme, president of the Directors Guild of America (DGA), which commissioned the report, said in a statement.
"While change had been glacial in past years, we're pleased and incredibly encouraged to see the recent commitment undertaken by the industry."
The report examined more than 4,300 episodes produced in the 2018-19 television season.
It found the percentage of episodes directed by women grew to 31 percent and the percentage of episodes helmed by directors of colour rose to a new high of 27 percent.
The DGA also examined trends in first-time TV director hires for the past decade and found that women had also made great gains in that area.
The report noted that 49 percent of first-time hires in the 2018-19 season were women - an increase from 41 percent in the 2017-18 season, and 33 percent two seasons prior.
It said 29 percent of first-time hires were directors of colour - down slightly from last year's record of 31 percent, but up from the previous high of 27 percent two years ago.
Despite the gains, however, the union offered a word of caution against the growing practice of employers offering directing jobs to non-directors on series, such as actors or writers.
"Producers hold in their hands the power to grant an opportunity that can set up an aspiring TV director for a lifelong career doing what they dreamed of," Schlamme said.
"And while we're encouraged to see nearly half of first jobs went to women last year, and nearly a third went to directors of colour - we still have a lot of concern over the underlying hiring practices that reduce the number of jobs available to budding and experienced directors alike.
"The heart of the issue is that producers aren't factoring in that every job given to someone who does not pursue a directing career equals an opportunity withheld."


Spark Drive Sample App
Log in
My Assets
Create Asset
Manage Files
CREATE ASSET
ADD FILE
×
Spark Sample App
This is an open source Drive API demo sample app.


In the first assignment we work with graphs that can be:
Once you have your graph, you should create a text file describing it in a format that the software Gephi supports (see https://gephi.org/users/supported-graph-formats/).
Open the graph with Gephi, see its appearance and compute the measures we have discussed during lectures. Then write a short report describing your graph and the results you have obtained.
You can select any domain (e.g. twitter, lastFm, Wikipedia, etc.) and you can use the programming language/framework of your choice. I know there is already a lot of software available in the "huge web" and you can reuse whatever you like, but you should understand what is going on.
Note: in the Stanford pages I read:
"Stanford Network Analysis Platform (SNAP) is a general purpose network analysis and graph mining library. It is written in C++ and easily scales to massive networks with hundreds of millions of nodes, and billions of edges. It efficiently manipulates large graphs, calculates structural properties, generates regular and random graphs, and supports attributes on nodes and edges."
and also:
"Snap.py is a Python interface for SNAP. It provides performance benefits of SNAP, combined with flexibility of Python. Most of the SNAP C++ functionality is available via Snap.py in Python."
I do not know this library, but if anyone is curious and wants to use it, is free to do so. This assignment is "democratic" like random graphs :)
As an example of visualization obtained with Gephi, see the two graphs below.
The first graph represents the correlation among videos in Youtube: each node is a video, and nodes are connected if there is a correlation between videos.
The second graph is built with Wikipedia public APIs: each node is a page in Wikipedia, and links are links...


Dear Hadi Darwish,
This is a Test Email sent from Digital Splash
Digital Splash Team
Test button
© Copyright Digital Splash 2023


eTest
Menu
Contact a Teacher
More...
Account/Settings
Logout Close
Home
Search
Upcoming Tests
Test 1234
Test 2345
Test 3456
Test 4321
Test 5432
Test 6543
Test 9876
Test 7777
Test 2048
Completed Test Reports
Test 1111
Taken: 4/15/14"
Grade Received: 98%
Test 2222
Taken: 4/16/14"
Grade Received: 72%


Despite spending a significant portion of my latest trip to NZ in bed sick with, variously, a flue, chest infection and asthma, there was still a good deal of extraordinary scenery and I keep inflicting the photos on people. Some people, strangely, have actually been asking to see the photos.
So here’s a quick flick through the rare moments of 9 days ice and mixed climbing when I remembered to get my camera out.
Arriving in Christchurch the first task was to get a rental car and drive south. While Queenstown was our destination we first stopped in Wanaka for a night because … Well, because I love Wanaka. There’ll be a sole photo of Wanaka later, but the drive South passed Lake Tekapo for our first stark reminder that we’re back in the Eastern state. Or we’ve returned from the West island. Whichever way around you say it, the mountains are unmatched by anything in Australia.
On arriving in Queenstown I called one of the other Aussies I knew was in town for the festival and discovered we were staying at the same place. He was just about to go ‘dry tooling’ with two other people from Canberra, so I introduced myself and invited myself along. Dry tooling is where you use ice tools:
in a dry environment (i.e. on rock, not ice).
It turns out dry tooling is fantastic. It’s just like hard rock climbing but, instead of having to deal with hand/finger holds that are so minute a one year-old couldn’t fit more than a fingernail on them, using the ice pick gives you a great big handle to hang on to.
The Ice and Mixed Festival started the following day so of course we were greeted with severe gale force winds, blizzard conditions, road closures and advice to avoid the climbing areas because the ski resorts were throwing explosives out of helicopters in their vicinity to trigger avalanches. So we found some unclimbed ice- and snow-covered rocks not too far from the ski resort buildings (and so safe from explosives) and spent the day climbing on a mixture of snow, ice and rock there. No photos because I was having too much fun.
Day 2 of the festival, vastly improved weather and I’d convinced the guys running the ice climbing clinic to take us out to Single Cone - I’d been reading about the ‘South Face Classic’ in the lead-up to the trip - a 400ish metre section of moderately difficult water ice climbing running down the Southern face of Single Cone. I woke at 6am feeling absolutely terrible but convinced myself to get up for the trip to Single Cone. After a 2.5-hour or so trudge through knee-deep snow on tricky terrain we got there and I realised I should have stayed in bed. Not only did I feel terrible but it was a zoo out there, with a group of 10 beating our group of 12 to the ice cliffs.
Of course, once I started climbing I felt a whole lot better. Until I stopped climbing. And being on the South face we were completely shielded from the sun all day so the ambient temperature was about -15.
Abandoning the night’s festivities I was in bed by 8pm that night, where I stayed for about 32 hours.
A few days later I ventured out for more dry-tooling, and the 15-minute, fairly flat walk out absolutely exhausted me.
The allure of more ice climbing was too great to resist so, still feeling terrible, lacking any stamina, and coughing so much I was coughing up blood and had continually sore abdominals, I somewhat cautiously decided to join a group heading to ‘Alta Ice’ on the outskirts of Lake Alta, this time only about 5km from the Remarkables ski resort and - critically - on an Eastern aspect so the clear and sunny forecast would warm us rather than mock us as it did at Single Cone.
What a difference a couple of days rest (and a lovely sunny day) can make! The walk uphill from the ski resort to Alta Pass was tough, but just tough enough to warm us up and make us drop down to just a couple of layers of clothes and a single pair of gloves. From there we crossed the frozen Lake Alta (possibly the scariest part of the day, hoping the ice was thick enough to take my weight) and started zigzagging up the great big hill to the ice cliffs.
After a little under 2 hours we made it to Alta Ice and were greeted by our targets. The three most significant waterfalls in the area are 30m (the left two) and 60m (the rightmost) in height.
I enthusiastically jumped straight on ‘Alta Ego’, the middle route, but got nervous by a very soft (snowy) vertical section that seemed both quite difficult and impossible to protect a fall from with any degree of safety, and abandoned the climb after about 20m.
Luckily there was a better/braver/crazier climber in the group who completed the climb
The weather stayed remarkable for the walk back in the afternoon. Apt, I suppose, since we were in the Remarkables.
By this stage in the trip most people were losing energy and one of the other Canberrans was trying to find a climbing partner to climb a 250m moderately difficult mixed ice/snow/rock route. After a little coercion (I was feeling pretty unwell after the walk back from Alta Ice) I realised that
- It sounded like an amazing climb, and
- It would be my last opportunity for mixed climbing until next Winter.
So I was sold.
We awoke early to low-lying clouds and a questionable low pressure system, but drove up the mountain to have a coffee at the ski resort, study the weather and hope for the best.
From the ski resort carpark we could almost, but not quite, make out the path halfway up the hill we needed to follow to cross to the western side of the range, where our climb was waiting.
After 90 minutes studying the weather, forecast and coffee we decided retreat was the best part of valour and instead enjoyed a sunny day rock climbing in Queenstown on the shores of Lake Wakatipu. When we returned from climbing at 3pm there was still a large cloud system covering the top of the Remarkables (right where we’d be climbing), so we’d obviously made the right decision.
The next day it was time to take a bus back to Christchurch in preparation for the trip home. The bus took a detour via Wanaka and I couldn’t resist snapping a quick shot of Aspiring National Park looming behind Lake Wanaka. The leftmost snow-covered peak is Mt. Aspiring, New Zealand’s third-highest peak standing at about 3100m, affectionately known as ‘The Matterhorn of the South’, with its summit looming 1.3 vertical kilometres out of the crevassed Bonar Glacier and the focus of my next trip, tentatively planned at this stage for November.


vignettes/technotes/grey-data.Rmd
grey-data.Rmd
Working Draft
Over the past several decades, scientific data management best practices have emphasized the importance of publishing data. Despite great success of these efforts, much of the data with which scientists work day-to-day is not published but “grey data”. Like grey literature, grey data includes many products which may eventually be published but have not reached their final form (working papers or pre-prints of grey literature) and many other products which may never see more formal publication. These include datasets that are too large for publication, data that is streaming or too dynamic, forecasts which may soon be outdated, simulation results or other ‘intermediate’ data products which can be re-generated, data that has not been sufficiently documented, and other examples from a vast array of data products from government, NGO and private sector providers operating largely outside of the academic data publishing ecosystem.
Idealized workflows (e.g. Reichman et al 2011) emphasize depositing raw and processed scientific data in permanent data-publication archives prior to any analysis. In practice, doing so requires not only a high bar of investment in documenting appropriate metadata, etc, but may be impossible for many grey data sources due to size, issues of ownership or licensing, or the dynamic nature of the product. While we have seen a rapid growth in tools which make it easier to discover and re-use data published in permanent repositories, when working with grey data researchers are largely left to their own devices.
To move forward, we need new and better tools for working with grey data. We must also further reduce barriers to adoption of data publication repositories by uncoupling the multiple simultaneous objectives they have sought to meet, allowing them to serve the needs of researchers depositing data products in a more stepwise and decentralized manner. Doing so could not only facilitate greater adoption of data publication, but better meet the needs of researchers who will always continue to depend upon work with grey data as well.
First, data repositories need not make the task of data discoverability inseparable from the task of data archiving. Data discoverability requires good metadata. Indeed, the emphasis on the FAIR principles from the data publication community Wilkinson et al, 2016 can largely be seen as a reaction against the rise of ‘metadata-light’ data repositories which would grant researchers DOIs for their data with minimal metadata and few restrictions on scientific domain or data type. Conversely, repositories with higher metadata standards see a large fraction of objects – the majority in the DataONE network (Matt Jones, personal comm), which contain only metadata descriptors with external links to data files outside of the archiving system – i.e. to grey data.
Both trends are seen as a significant problem to data publishing, and for good reason: external links rot and make data inaccessible, defeating a major purpose of the DOI system (but notably not the one the data authors may care most about). Without rich metadata, researchers have little chance of discovering relevant data by searching massive data repositories. However, both of these practices (metadata without data, data without metadata) are clearly serving a purpose (at least for at a certain time and for a certain audience). Moreover, taken together, they illustrate how a decentralized and step-wise approach may more effectively meet both objectives than by coupling the tasks of archiving and discoverability in a single centralized service.
Here I examine the various component parts required for a grey data ecosystem, and discuss current and emerging tools and practices for addressing them. In contrast to published, FAIR data and central to this discussion is the ability to disentangle these distinct requirements from one another, rather than assuming each need is met by the same central service.
One of the first challenges in working with grey data is identifying the data product. Best practices promote the use of identifiers from published data: the Digital Object Identifier or DOI is the gold standard – but this also includes other identifiers issued by archival repositories such as EZIDs, ARKs, [@ark] etc. In referencing grey data, researchers are thrown back into a pre-DOI world, such as referencing data by URLs subject to both changing content and changing addresses, as well as referencing data through a dizzying array of software protocols and interfaces.
Researchers need a consistent and reliable way to reference data from its inception that does not rely on the data already being published to a permanent archive. Researchers also need identifiers that can be used directly in code and scripts which must access the data products – something not generally possible even with DOIs, which (a) resolve to HTML landing pages, not data objects, and refer not to specific files but to ‘data packages’ which sometimes have thousands of individual objects.
R packages:
R packages:
and related:
aws.s3
etcMany data resources have their own dedicated packages for accessing their data. Many such packages in fact work with grey data sources (e.g. SeaLifeBase/Fishbase access through rfishbase
, NOAA data sources via rnoaa
). Some of these work in a hybrid model, where packages interface with a regularly/continuously updated database that produces occasional snapshots that are formally archived under a DOI (e.g. NEON has started to produce such snapshots annually, GBIF does so monthly, etc). Individual research teams that decide to provide a publicly available data resource (BioTIME, RAM Legacy Stock Assessment DB, etc) feel obligated to create separate websites, sometimes with a REST API and/or R package to access the data, rather than simply distribute FAIR open data data through a DOI-providing data repository.
Metadata-only records
Discuss Schema.org, dataspice
, EML
rdataretriever
hardwires access to a large collection of databases. Note that many of these and similar resources have dedicated packages for accessing them, e.g. see https://ropensci.org.
bowerbird
is similar in function, but defines an extensible model for users to add additional data sources into the index, along with convenient helper utilities that facilitate downloads from a variety of sites (such as navigating NOAA FTP servers commonly used for satellite imagery). The extensible model is a welcome addition, though it would be still better if the local database index leveraged an existing metadata standard (e.g. schema.org, EML) which would open up some additional options for compatibility with other resources.
These practices have come to emphasize the FAIR principles (Find-able, Accessible, Interoperable, Reusable), which arose largely in reaction to the relatively rapid growth and adoption of low-friction DOI-granting scientific data repositories such as figshare, Zenodo, Dryad, and DataHub:
Such repositories accept a wide range of data types in a wide variety of formats, generally do not attempt to integrate or harmonize the deposited data, and place few restrictions (or requirements) on the descriptors of the data deposition. The resulting data ecosystem, therefore, appears to be moving away from centralization, is becoming more diverse, and less integrated, thereby exacerbating the discovery and re-usability problem


--- layout: post title: Entry for April 30, 2007 date: 2007-04-30 11:02:00.000000000 -07:00 type: post parent_id: '0' published: true password: '' status: publish categories: - Random Thoughts tags: [] meta: _edit_last: '1965023' author: login: paradoxofmatrix email<EMAIL_ADDRESS>display_name: paradoxofmatrix first_name: '' last_name: '' ---
Good!!.... adaptation and improvisation but your weakness is not your technique ....its your mind!!!!
How can the most important and sophisticated instrument of creation be a weakness, how can a neural network formed to perfection capable of handling any eventuality be flawed, how can millions of neurons working in absolute tandem fail!!! how can the flawless overlap of classical and quantum domains be erroneous... ! It just can not be!!!
So the subject here is not mind, it is a mind that is jacked in! A mind that sees just the boundaries and not beyond .... a mind that has become so inert that the only reality that it believes in is limitation. A mind that has forgotten to make quantum jumps and is hopelessly dependent on the classical learning. A mind guided by moods and fantasies a mind that has no clue of what it is capable of doing. In such a mind lies all the weaknesses and such a mind is fit to be plugged into the power house of the cave! A mind that is now nothing more than a copper top!! A mind that was initially designed to generate revelations and innovations .. now all it generates is the BTUs...... cheers!!!!