Fraser McLean from Bathgate played a set at Poppy Scotland's annual event
The annual event held by Poppy Scotland was held at St Andrew Square in Edinburgh where Fraser performed some of his own original music
by John-Paul Clark, https://www.dailyrecord.co.uk/authors/john-paul-clark/A West Lothian musician was on of the performers at this year’s Poppy Day in Edinburgh.
Young Fraser McLean from Bathgate played at Poppy Day on Friday November 1. The annual event held by Poppy Scotland was held at St Andrew Square in Edinburgh where Fraser performed some of his own original music including his latest single “Gone” which also features his friend and fellow Bathgate Academy classmate Leia Campbell, from Blackburn, on vocals.
Fraser also played at Poppy Scotland’s touring museum truck which was situated on Castle Street for the Edinburgh Poppy Day in prime view of the Castle.
Also performing at Poppy Day was West Lothian singer and Legion Scotland’s Sweetheart Amy Hawthorn, Megan Adams, Laura Connelly and Stuart McLean who is also Frasers Dad.
Fraser has been making waves over the past 18 months as a solo electronic pop artists with his self penned songs, being likened to a young Lewis Capaldi by Scottish radio Presenter Jim Gellatly.
His next performance will be on 17th December at Sneaky Pete’s in Edinburgh around the launch of his next single.
To read more about Fraser’s promising career visit: www.frasermclean.co.uk


Overview of glean internals
Directory structure
Starting at $GLEAN_ROOT, you'll see bin,
include, and lib directories.
These are initially empty, and are filled by the Makefile in
src.
$GLEAN_ROOT also contains documentation in doc,
common Makefile templates in make, sample result files in
results, and source code in src.
The Makefile templates are particularly interesting, since they
automate nearly all of the process of defining Makefiles.
cd into src, and take a look around.
The main Makefile resides here. There are also subdirectories for
glean itself (glean), a wrapper for OpenGL header
files that covers up some Windows-specific problems (glh),
libraries that are used by multiple tools (libs), and
code for tools like showvis (tools). The Makefile
ensures that everything in the subdirectories is built in the correct
order.
Libraries
There are several libraries providing services that you may want when
you start writing tests. These particular libraries are of sufficiently
general usefulness that they're broken out into separate directories.
(As we'll see later, some other services are local to the glean
subdirectory.)
-
dsurf
This library provides a portable interface to drawing surface
configuration information (pixel format descriptors under Windows,
and extended X11 Visuals under X). It also provides the filtering
capability that's used by showvis and glean to
select configurations that match particular criteria.
-
image
The basic abstraction provided by this library is an in-memory
image structure that maps almost directly onto the image format
used by OpenGL. The library also offers utilities that read and
write TIFF files, tools to convert image data to a common format,
and convenience routines for invoking OpenGL operations like
reading and drawing images. Finally, there is a "registration"
utility that compares two images and attempts to align one on top
of the other in the position at which the images are most similar.
-
lex
This is a simple lexical analyzer. libdsurf uses it when
parsing drawing surface configuration criteria, and when constructing
a drawing surface configuration from a canonical description stored
in a results file.
-
rand
This set of classes provides uniform random values in several different
ranges and formats, in an OS-independent fashion. (This allows results
generated by glean on one OS to be compared to results on the same
hardware running under another OS.) It's based on a linear congruential
generator discussed in Knuth Vol. 2 and Numerical Recipes (2nd ed.).
-
stats
These classes generate simple statistical measures (min, max, mean,
standard deviation, etc.).
-
timer
This class provides timing services for benchmarking. It's capable of
calibrating measurement overhead, repeating benchmarks until a target
runtime is achieved, etc.
glean itself
glean consists of a relatively simple main program, a set of
classes providing commonly-needed services, and the tests themselves.
The main program essentially just parses command-line options, creates
the test environment (see below) and invokes each test in turn. The
list of tests is generated automatically by test class constructors,
so there's no need to maintain one independently. It should be fairly
straightforward to replace the current main program with a graphical
front-end, if anyone cares to do so.
The main service classes are as follows:
-
Options
This class collects all option information (the verbosity level,
names of the test results databases, etc.) in one place. Doing
so allows option setting to be separated from option interpretation.
-
Environment
This class encapsulates information about the test environment:
the options, an output stream for the test log, the window system,
etc. It is passed as an argument to each test.
-
WindowSystem
This class abstracts information about the window system, so that
most glean tests need not know the system under which they're
running. Its main task is to maintain lists of drawing surface
configurations, drawing surfaces, and OpenGL rendering contexts.
However, it does expose window-system-specific data (such as the
X11 Display pointer) so that window-system-specific tests can be
written. (Such tests must use conditional compilation to protect
references to non-portable function calls and data structures,
though.)
-
DrawingSurface and Window
A drawing surface is a canvas on which OpenGL rendering can take
place. Each drawing surface has a configuration that specifies
the buffers (color, depth, stencil, etc.) associated with the
surface.
The prototypical drawing surface is the window, which adds size
information and buffer-swap capability that's used by most tests.
Eventually we will need to add more drawing surfaces to glean,
for example, the PBuffers supported under GLX version 1.3.
-
RenderingContext
A rendering context encapsulates all OpenGL state information
(except for the contents of the drawing surface). In general,
in order to render, you must create a drawing surface, create
a rendering context, and then bind the two (using a service
provided by the WindowSystem class). Then you can use
ordinary OpenGL commands freely.
A few general utilities are also available:
-
useScreenCoords() (glutils.h)
Sets up the modelview and projection matrices so that OpenGL
object coordinates correspond directly to screen pixel
coordinates. (Note: The origin of the coordinate system is
at the lower left corner of the window.) This is convenient
for most tests of rasterization operations.
-
RandomMesh2D (geomutil.h)
Creates a 2D array of points that fit within a given bounding
rectangle, but are displaced by random amounts from the lattice
points within it. This is especially useful for benchmarking,
because it yields randomly sized and oriented triangles whose
average area is nevertheless accurately known.
To create a new test, you need do little more than create a new
.cpp file in the glean subdirectory. (The Makefile
will handle its dependencies and build it automatically.)
All tests are derived from the base class Test. For truly
new types of tests you'll need to derive a new class, but for many
common types of tests you can start by copying a test that already
exists. Here are some examples:
-
BasicTest (tbasic.cpp)
This is a good outline for any
simple test that runs in one window with one rendering context,
generating a result for each drawing surface configuration that
meets specified criteria. If your test is of this type, you may
be able to copy tbasic.cpp and modify just the functions
runOne(), compareOne(), put(), and get().
It may be instructive to compare tbasic.cpp with
tgetstr.cpp, which is derived in just that way.
-
TexBindPerf (tchgperf.cpp)
This test demonstrates how to measure performance, by benchmarking
texture binding time. It's a bit more complicated than
BasicTest, but the structure is basically the same, and
most of the work is concentrated in the four functions mentioned
above.
-
RGBTriStripTest (trgbtris.cpp)
This shows how to save and compare TIFF images. While it's not a
good idea to make too many tests dependent on image comparisons
(because they're not particularly robust), there are cases like
regression testing where image comparison may be a good approach.
That's pretty much all there is to it. The glean framework
provides most of the mechanisms needed to develop simple tests.
Now it's time to create a good set of tests and thereby make a new
tool that's valuable to the entire OpenGL community.


Data Structures |
| struct | binary_stream |
| | A stream of X86 binary code. More...
|
| struct | JIT_BPF_Filter |
| | Structure describing a x86 filtering program created by the jitter. More...
|
Defines |
| #define | EAX 0 |
| #define | ECX 1 |
| #define | EDX 2 |
| #define | EBX 3 |
| #define | ESP 4 |
| #define | EBP 5 |
| #define | ESI 6 |
| #define | EDI 7 |
| #define | AX 0 |
| #define | CX 1 |
| #define | DX 2 |
| #define | BX 3 |
| #define | SP 4 |
| #define | BP 5 |
| #define | SI 6 |
| #define | DI 7 |
| #define | AL 0 |
| #define | CL 1 |
| #define | DL 2 |
| #define | BL 3 |
| #define | MOVid(r32, i32) emitm(&stream, 11 << 4 | 1 << 3 | r32 & 0x7, 1); emitm(&stream, i32, 4); |
| | mov r32,i32
|
| #define | MOVrd(dr32, sr32) emitm(&stream, 8 << 4 | 3 | 1 << 3, 1); emitm(&stream, 3 << 6 | (dr32 & 0x7) << 3 | sr32 & 0x7, 1); |
| | mov dr32,sr32
|
| #define | MOVodd(dr32, sr32, off) |
| | mov dr32,sr32[off]
|
| #define | MOVobd(dr32, sr32, or32) |
| | mov dr32,sr32[or32]
|
| #define | MOVobw(dr32, sr32, or32) |
| | mov dr16,sr32[or32]
|
| #define | MOVobb(dr8, sr32, or32) |
| | mov dr8,sr32[or32]
|
| #define | MOVomd(dr32, or32, sr32) |
| | mov [dr32][or32],sr32
|
| #define | BSWAP(dr32) |
| | bswap dr32
|
| #define | SWAP_AX() |
| | xchg al,ah
|
| #define | PUSH(r32) emitm(&stream, 5 << 4 | 0 << 3 | r32 & 0x7, 1); |
| | push r32
|
| #define | POP(r32) emitm(&stream, 5 << 4 | 1 << 3 | r32 & 0x7, 1); |
| | pop r32
|
| #define | RET() emitm(&stream, 12 << 4 | 0 << 3 | 3, 1); |
| | ret
|
| #define | ADDrd(dr32, sr32) |
| | add dr32,sr32
|
| #define | ADD_EAXi(i32) |
| | add eax,i32
|
| #define | ADDid(r32, i32) |
| | add r32,i32
|
| #define | ADDib(r32, i8) |
| | add r32,i8
|
| #define | SUBrd(dr32, sr32) |
| | sub dr32,sr32
|
| #define | SUB_EAXi(i32) |
| | sub eax,i32
|
| #define | MULrd(r32) |
| | mul r32
|
| #define | DIVrd(r32) |
| | div r32
|
| #define | ANDib(r8, i8) |
| | and r8,i8
|
| #define | ANDid(r32, i32) |
| | and r32,i32
|
| #define | ANDrd(dr32, sr32) |
| | and dr32,sr32
|
| #define | ORrd(dr32, sr32) |
| | or dr32,sr32
|
| #define | ORid(r32, i32) |
| | or r32,i32
|
| #define | SHLib(r32, i8) |
| | shl r32,i8
|
| #define | SHL_CLrb(dr32) |
| | shl dr32,cl
|
| #define | SHRib(r32, i8) |
| | shr r32,i8
|
| #define | SHR_CLrb(dr32) |
| | shr dr32,cl
|
| #define | NEGd(r32) |
| | neg r32
|
| #define | CMPodd(dr32, sr32, off) |
| | cmp dr32,sr32[off]
|
| #define | CMPrd(dr32, sr32) |
| | cmp dr32,sr32
|
| #define | CMPid(dr32, i32) |
| | cmp dr32,i32
|
| #define | JNEb(off8) |
| | jne off32
|
| #define | JE(off32) |
| | je off32
|
| #define | JLE(off32) |
| | jle off32
|
| #define | JLEb(off8) |
| | jle off8
|
| #define | JA(off32) |
| | ja off32
|
| #define | JAE(off32) |
| | jae off32
|
| #define | JG(off32) |
| | jg off32
|
| #define | JGE(off32) |
| | jge off32
|
| #define | JMP(off32) |
| | jmp off32
|
Typedefs |
| typedef UINT(__cdecl * | BPF_filter_function )(PVOID *, ULONG, UINT) |
| | Prototype of a filtering function created by the jitter.
|
| typedef void(* | emit_func )(binary_stream *stream, ULONG value, UINT n) |
| | Prototype of the emit functions.
|
Prototype of the emit functions.
Different emit functions are used to create the reference table and to generate the actual filtering code. This allows to have simpler instruction macros. The first parameter is the stream that will receive the data. The secon one is a variable containing the data, the third one is the length, that can be 1,2 or 4 since it is possible to emit a byte, a short or a work at a time.
Definition at line 92 of file jitter.h.


Please choose what your are planning to do :
{{ compaign.name }}
{{ compaign.description }}
{{ message }}


GitHub repo
Transition promises will resolve when the camera slows to less than controls.restThreshold units in a single frame. You can set this value here
controls.restThreshold


Project Dependencies
compile
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
| GroupId | ArtifactId | Version | Type | Licenses |
|---|---|---|---|---|
| com.carrotsearch | hppc | 0.7.3 | jar | The Apache Software License, Version 2.0 |
| com.google.guava | guava | 23.6-jre | jar | The Apache Software License, Version 2.0 |
| org.apache.commons | commons-math3 | 3.6.1 | jar | Apache License, Version 2.0 |
| org.hamcrest | hamcrest-library | 1.3 | jar | New BSD License |
| org.jctools | jctools-core | 2.1.1 | jar | Apache License, Version 2.0 |
| org.slf4j | slf4j-api | 1.7.25 | jar | MIT License |
test
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
| GroupId | ArtifactId | Version | Type | Licenses |
|---|---|---|---|---|
| ch.qos.logback | logback-classic | 1.1.7 | jar | Eclipse Public License - v 1.0-GNU Lesser General Public License |
| junit | junit | 4.12 | jar | Eclipse Public License 1.0 |
Project Transitive Dependencies
The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.
compile
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
| GroupId | ArtifactId | Version | Type | Licenses |
|---|---|---|---|---|
| com.google.code.findbugs | jsr305 | 1.3.9 | jar | The Apache Software License, Version 2.0 |
| com.google.errorprone | error_prone_annotations | 2.1.3 | jar | Apache 2.0 |
| com.google.j2objc | j2objc-annotations | 1.1 | jar | The Apache Software License, Version 2.0 |
| org.checkerframework | checker-compat-qual | 2.0.0 | jar | GNU General Public License, version 2 (GPL2), with the classpath exception-The MIT License |
| org.codehaus.mojo | animal-sniffer-annotations | 1.14 | jar | MIT license |
| org.hamcrest | hamcrest-core | 1.3 | jar | New BSD License |
test
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
| GroupId | ArtifactId | Version | Type | Licenses |
|---|---|---|---|---|
| ch.qos.logback | logback-core | 1.1.7 | jar | Eclipse Public License - v 1.0-GNU Lesser General Public License |
Project Dependency Graph
Dependency Tree
- net.sourceforge.teetime:teetime:jar:3.1-SNAPSHOT
TeeTime Description: TeeTime is a Pipe-and-Filter framework for Java
URL: http://teetime-framework.github.io
Project Licenses: Apache License, Version 2.0
- org.slf4j:slf4j-api:jar:1.7.25 (compile)
SLF4J API Module Description: The slf4j API
URL: http://www.slf4j.org
Project Licenses: MIT License
- com.google.guava:guava:jar:23.6-jre (compile)
Guava: Google Core Libraries for Java Description: Guava is a suite of core and expanded libraries that include utility classes, google's collections, io classes, and much much more.
URL: https://github.com/google/guava/guava
Project Licenses: The Apache Software License, Version 2.0
- com.google.code.findbugs:jsr305:jar:1.3.9 (compile)
FindBugs-jsr305 Description: JSR305 Annotations for Findbugs
URL: http://findbugs.sourceforge.net/
Project Licenses: The Apache Software License, Version 2.0
- org.checkerframework:checker-compat-qual:jar:2.0.0 (compile)
Checker Qual Description: Checker Qual is the set of annotations (qualifiers) and supporting classes used by the Checker Framework to type check Java source code. Please see artifact: org.checkerframework:checker
URL: http://checkerframework.org
Project Licenses: GNU General Public License, version 2 (GPL2), with the classpath exception, The MIT License
- com.google.errorprone:error_prone_annotations:jar:2.1.3 (compile)
error-prone annotations Description: Sonatype helps open source projects to set up Maven repositories on https://oss.sonatype.org/
URL: http://nexus.sonatype.org/oss-repository-hosting.html/error_prone_parent/error_prone_annotations
Project Licenses: Apache 2.0
- com.google.j2objc:j2objc-annotations:jar:1.1 (compile)
J2ObjC Annotations Description: A set of annotations that provide additional information to the J2ObjC translator to modify the result of translation.
URL: https://github.com/google/j2objc/
Project Licenses: The Apache Software License, Version 2.0
- org.codehaus.mojo:animal-sniffer-annotations:jar:1.14 (compile)
Animal Sniffer Annotations Description: Animal Sniffer Parent project.
URL: http://mojo.codehaus.org/animal-sniffer/animal-sniffer-annotations
Project Licenses: MIT license
- com.google.code.findbugs:jsr305:jar:1.3.9 (compile)
- org.jctools:jctools-core:jar:2.1.1 (compile)
Java Concurrency Tools Core Library Description: Java Concurrency Tools Core Library
URL: https://github.com/JCTools
Project Licenses: Apache License, Version 2.0
- com.carrotsearch:hppc:jar:0.7.3 (compile)
HPPC Collections Description: High Performance Primitive Collections. Fundamental data structures (maps, sets, lists, stacks, queues) generated for combinations of object and primitive types to conserve JVM memory and speed up execution.
URL: http://labs.carrotsearch.com/hppc.html/hppc
Project Licenses: The Apache Software License, Version 2.0
- org.apache.commons:commons-math3:jar:3.6.1 (compile)
Apache Commons Math Description: The Apache Commons Math project is a library of lightweight, self-contained mathematics and statistics components addressing the most common practical problems not immediately available in the Java programming language or commons-lang.
URL: http://commons.apache.org/proper/commons-math/
Project Licenses: Apache License, Version 2.0
- org.hamcrest:hamcrest-library:jar:1.3 (compile)
Hamcrest library Description: Hamcrest library of matcher implementations.
URL: https://github.com/hamcrest/JavaHamcrest/hamcrest-library
Project Licenses: New BSD License
- org.hamcrest:hamcrest-core:jar:1.3 (compile)
Hamcrest Core Description: This is the core API of hamcrest matcher framework to be used by third-party framework providers. This includes the a foundation set of matcher implementations for common operations.
URL: https://github.com/hamcrest/JavaHamcrest/hamcrest-core
Project Licenses: New BSD License
- org.hamcrest:hamcrest-core:jar:1.3 (compile)
- junit:junit:jar:4.12 (test)
JUnit Description: JUnit is a unit testing framework for Java, created by Erich Gamma and Kent Beck.
URL: http://junit.org
Project Licenses: Eclipse Public License 1.0
- ch.qos.logback:logback-classic:jar:1.1.7 (test)
Logback Classic Module Description: logback-classic module
URL: http://logback.qos.ch/logback-classic
Project Licenses: Eclipse Public License - v 1.0, GNU Lesser General Public License
- ch.qos.logback:logback-core:jar:1.1.7 (test)
Logback Core Module Description: logback-core module
URL: http://logback.qos.ch/logback-core
Project Licenses: Eclipse Public License - v 1.0, GNU Lesser General Public License
- ch.qos.logback:logback-core:jar:1.1.7 (test)
- org.slf4j:slf4j-api:jar:1.7.25 (compile)
Licenses
Apache 2.0: error-prone annotations
Eclipse Public License 1.0: JUnit
MIT License: SLF4J API Module
The MIT License: Checker Qual
Apache License, Version 2.0: Apache Commons Math, Java Concurrency Tools Core Library, TeeTime
GNU General Public License, version 2 (GPL2), with the classpath exception: Checker Qual
MIT license: Animal Sniffer Annotations
GNU Lesser General Public License: Logback Classic Module, Logback Core Module
New BSD License: Hamcrest Core, Hamcrest library
The Apache Software License, Version 2.0: FindBugs-jsr305, Guava: Google Core Libraries for Java, HPPC Collections, J2ObjC Annotations
Eclipse Public License - v 1.0: Logback Classic Module, Logback Core Module
Dependency File Details
| Total | Size | Entries | Classes | Packages | Java Version | Debug Information |
|---|---|---|---|---|---|---|
| Filename | Size | Entries | Classes | Packages | Java Version | Debug Information |
| logback-classic-1.1.7.jar | 304.1 kB | 231 | 175 | 26 | 1.6 | Yes |
| logback-core-1.1.7.jar | 470.8 kB | 418 | 372 | 36 | 1.6 | Yes |
| hppc-0.7.3.jar | 1.7 MB | 1338 | 1324 | 5 | 1.7 | Yes |
| jsr305-1.3.9.jar | 33 kB | 72 | 35 | 3 | 1.5 | Yes |
| error_prone_annotations-2.1.3.jar | 13.7 kB | 34 | 22 | 2 | 1.7 | No |
| guava-23.6-jre.jar | 2.7 MB | 1967 | 1937 | 18 | 1.8 | Yes |
| j2objc-annotations-1.1.jar | 8.8 kB | 23 | 12 | 1 | 1.5 | Yes |
| junit-4.12.jar | 314.9 kB | 323 | 286 | 30 | 1.5 | Yes |
| commons-math3-3.6.1.jar | 2.2 MB | 1402 | 1301 | 75 | 1.5 | Yes |
| checker-compat-qual-2.0.0.jar | 31.5 kB | 47 | 28 | 10 | 1.7 | Yes |
| animal-sniffer-annotations-1.14.jar | 3.5 kB | 12 | 1 | 1 | 1.5 | No |
| hamcrest-core-1.3.jar | 45 kB | 52 | 45 | 3 | 1.5 | Yes |
| hamcrest-library-1.3.jar | 53.1 kB | 46 | 35 | 7 | 1.5 | Yes |
| jctools-core-2.1.1.jar | 255.3 kB | 207 | 193 | 5 | 1.6 | Yes |
| slf4j-api-1.7.25.jar | 41.2 kB | 46 | 34 | 4 | 1.5 | Yes |
| 15 | 8.2 MB | 6218 | 5800 | 226 | 1.8 | 13 |
| compile: 12 | compile: 7.1 MB | compile: 5246 | compile: 4967 | compile: 134 | - | compile: 10 |
| test: 3 | test: 1.1 MB | test: 972 | test: 833 | test: 92 | - | test: 3 |
Dependency Repository Locations
| Repo ID | URL | Release | Snapshot | Blacklisted |
|---|---|---|---|---|
| sonatype.oss.snapshots | https://oss.sonatype.org/content/repositories/snapshots/ | Yes | Yes | No |
| central | https://repo.maven.apache.org/maven2 | Yes | No | No |
| codehaus-snapshots | http://nexus.codehaus.org/snapshots/ | No | Yes | Yes |
| sonatype-nexus-snapshots | https://oss.sonatype.org/content/repositories/snapshots | No | Yes | No |
| apache.snapshots | http://repository.apache.org/snapshots | No | Yes | No |
Repository locations for each of the Dependencies.


{% include 'head-imports.html' %}
BOLT
Upload
Download
Filters
-
Brightness
+
-
Contrast
+
-
Saturation
+
-
Vibrance
+
Effects
Vintage
Lomo
Clarity
Sin City
Cross Process
Pinhole
Nostalgia
Her Majesty
Download Image
Remove Filters
{% include 'scripts.html' %}


FINDING FORRESTER -----------------
Jamal Wallace (newcomer Rob Brown) loves to read and write in his journals, but hides this fact from his family and buddies in the Bronx. In public, he spends his time playing basketball at a local court watched over by a mysterious stranger from a window in an old building. On a dare, Jamal enters the stranger's apartment, but is frightened by the old man who lives there and runs, leaving his backpack. This fortuitous event will be the beginning of an unusual mentorship and great friendship in "Finding Forrester."
LAURA:
"Finding Forrester" skates in upon a slate of comparisons to director Gus van Sant's own "Good Will Hunting." While there are similarities, the new film has quite a different feel than the Boston blue collar drama.
Jamal sees his backpack hanging in that mysterious window - is it a taunt? an invitation? He resists, and wins, when the pack suddenly lands at his feet in the street one day. Reunited with his beloved journals, Jamal is first shocked, then intrigued to find that his writings have been marked up like school assignments by an obviously intelligent and interested reader.
A few false starts later, and Jamal meets the stranger, a gruff, Scotch swilling Scotsman (Sean Connery) who gradually opens up, pleased to share a love of the written word. Then Jamal's secret is blown with his mother and brother Terrell (Busta Rhymes, "Shaft") when test scores reveal his intelligence and result in a scholarship to Mailer Callow, a Manhattan prep school that needs a winning basketball team.
 Claire (Anna Paquin, "X-Men") steps in to lead the way, beginning another odd relationship for Jamal. When his story's conflict arrives it's twofold. Jamal discovers that his Scottish friend is William Forrester, a J. D. Salinger-like reclusive legend, who obviously wishes Jamal to keep his identity secret. Professor Crawford (F. Murray Abraham), a failed author and Forrester devotee, doesn't believe a boy from the Bronx is capable of writing Jamal's words and sets out to discredit him.
While Mike Rich's screenplay doesn't offer any real surprises, sometimes dipping into cliche, rebounding with good dialogue, the amazing chemistry between veteran actor Connery and the untrained Brown is palpable. Brown, who answered a casting call in hopes of getting wages as an extra to pay off a cell phone bill, is one of the year 2000's great acting discoveries. Brown gives Jamal grace, confidence and smarts, holding his own against the Scottish Oscar winner. Rob Brown is the main reason to see this film. Connery also gives a fine performance, but isn't given as much to work with. Support is OK, but only Busta Rhymes as Jamal's brother and the (uncreditted?) actress who plays his mom really distinguish themselves. Abraham is a bit too patently villainish.
Van Sant's tech crew does a fine job, with fluid camerwork by Harris Savides ("The Yards") and nuanced art direction by Jane Musky ("At First Sight"). Unfortunately, he allows his film to play for over two hours and the material doesn't warrant it. A cutesy cameo at film's end may have seemed a good idea at the time, but calls too much attention to itself, working against the cinematic experience. Still, "Finding Forrester" is a solid entry into the 'teacher/student' genre and the first film of a potential new star.
B
For more Reeling reviews visit www.reelingreviews.com
<EMAIL_ADDRESS><EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Network visualizations
Single Click a node to add 4 adjacent nodes
Doublic click a node to remove it and all connecting edges


Constructor
new Client(options)
Parameters:
| Name | Type | Description |
|---|---|---|
options |
ClientOptions | Options for the client. |
Extends
- Discord.Client
Members
cmdhandler :CommandHandler
The client's command handler
Type:
commands :Storage
The commands for the client
Type:
- Storage
defaultPrefix :string
The default prefix for guilds without a prefix
Type:
- string
owners :string|Array.<string>
The owners of the client. Can be Owner ID or Array of Owner IDs
Type:
- string | Array.<string>
prefixes :Storage
The prefixes for each guild, mapped by ID
Type:
- Storage
Methods
registerCmd(command) → {Command}
Command registerer.
Parameters:
| Name | Type | Description |
|---|---|---|
command |
Command | Command object to be registered |
Returns:
Command registered
- Type
- Command
reloadPrefixes(prefixes) → {boolean}
Set the prefixes.
Parameters:
| Name | Type | Description |
|---|---|---|
prefixes |
Object | Storage | Prefixes mapped by guild ID |
Returns:
- Type
- boolean


Hello {contact_person} ({company}),
Please find the attachment for our purchase order ({reference_number}) details.
Best regards, {site_name}


Rhtyhm game about lazy cats fighting! Inspired by this reddit thread
Your browser doesn't support HTML5 canvas.


--- date: 2010-04-08T00:00:00Z published: true title: resty - tiny script wrapper for curl url: /2010/04/08/resty-tiny-script-wrapper-for-curl/ ---
Resty is a tiny script wrapper for curl. It provides a simple, concise shell interface for interacting with REST services. Since it is implemented as functions in your own shell and not in its own command environment you have access to all the powerful shell tools, such as perl, awk, grep, sed, etc. You can use resty in pipelines to process data from REST services, and PUT or POST the data right back. You can even pipe the data in and then edit it interactively in your text editor prior to PUT or POST.


Front pages
Present your start-up using these 4 hands-crafted pages
@@include('./_head.html', { "path": "..", "path_common": "../..", "title": "Impact - All front pages" })
@@include('./_tracking-body.html') @@include('./_navigation.html', { "path": "..", "path_common": "../..", "classes": "navbar-dark navbar-theme-primary" })Present your start-up using these 4 hands-crafted pages


Registration Form
First Name:
Last Name:
Male
Female
Other
Email:
Password:
Birthday
Month
Jan
Feb
Mar
Year
1990
1991
1992
Day
1
2
3
I agree to the terms and conditions
Submit


{% extends 'tt_core/base.html' %} {% block content %} {% for mission, sub in posts %} {% if not forloop.first %}
On {{mission.date_assigned}} the mission was: {{mission.task_text}}.
They said: {{ sub.submission_explainer }}
They haven't actually submitted anything yet!


Go to the source code of this file.
Compounds | |
| struct | fLink |
| Internal structure. More... | |
| class | fpbase |
| Base class for handling streamable objects on file streams. More... | |
| class | fpstream |
| Provides the base class for simultaneous writing and reading streamable objects to bidirectional file streams. More... | |
| class | ifpstream |
| Provides the base class for reading (extracting) streamable objects from file streams. More... | |
| class | iopstream |
| The base class for simultaneous writing and reading streamable objects to and from streams. More... | |
| class | ipstream |
| The base class for reading (extracting) streamable objects from streams. More... | |
| class | ofpstream |
| Provides the base class for writing (inserting) streamable objects to file streams. More... | |
| class | opstream |
| The base class for writing (inserting) streamable objects into streams. More... | |
| class | TPReadObjects |
| Maintains a database of all objects that have been read from the current object stream. More... | |
| class | pstream |
| The base class for handling streamable objects. More... | |
| class | TPWObj |
| Used internally by TPWrittenObjects. More... | |
| class | TPWrittenObjects |
| Maintains a database of all objects that have been written to the current object stream. More... | |
| class | TStreamable |
| Gives the streamable property to a class. More... | |
| class | TStreamableClass |
| TStreamableClass is used by TStreamableTypes and pstream in the registration of streamable classes. More... | |
| class | TStreamableTypes |
| Maintains a database of all registered streamable types used in an application. More... | |
Typedefs | |
| typedef unsigned | P_id_type |
| typedef TStreamable* (* | BUILDER )() |
Variables | |
| const P_id_type | P_id_notFound = UINT_MAX |
Definition in file tobjstrm.h.
|
|
Each streamable class has a builder function of type BUILDER. The builder provides raw memory of the correct size and initializes the virtual table pointers when objects are created by certain stream read operations. The read() function of the streamable class reads data from the stream into the raw object provided by the builder.
Definition at line 145 of file tobjstrm.h. |
|
|
Undocumented. Definition at line 19 of file tobjstrm.h. |
|
|
Undocumented. Definition at line 135 of file tobjstrm.h. |


ÚFAL MFF UK (Linguistics)
Malostranské náměstí 25
11800 Praha
Czech Republic
You have volunteered to participate in a study conducted in the Institute of Formal and Applied Linguistics at the Charles University in Prague.
This study is concerned with how people interact with spoken dialogue systems. In the course of this study, you will be interacting with different dialogue systems. All interactions with the dialogue system will be recorded for further study. After completion of the task(s) you will be asked several questions about your experiences. There are no known expected physical discomforts or risks involved in your participation.
For the purposes of the Czech Republic 101/2000 Data Protection Act, you give your permission for audio and video recordings, transcriptions, and non-identifying information (e.g. gender, age, mother tongue) to be electronically stored, utilised and shared for purposes of research, development, and commercial deployment of spoken dialogue systems and similar applications involving spoken speech. No identifying information, gathered in this study will be disclosed to any persons other than the researchers and their collaborators.
Results of this study will appear in academic journals in terms of group data. If any individual data will be presented, the data will be totally anonymous, without any means of identifying the individuals involved. The researchers will be glad to answer any questions about this study. However, answers that could influence the outcome of the study will be deferred until you have completed the study.
Every effort is made to conduct this study in compliance with the appropriate professional guidelines.
Last update: 2012-08-30


VSL // Small Town Spirit
* I’m fascinated with learning about life in Boston throughout history, so I’m a frequent visitor to the Massachusetts Historical Society’s digital archives
today’s Very Short List:
food 3 Apr 2015
Dave Willis is the co-founder and head distiller of Bully Boy Distillers
Subscribe
* As I’ve grown older, I’ve learned to appreciate my small town roots and family farm (pictured here). One of my favorite books, Gilead by Marilynne Robinson
* We always keep music playing at the distillery and have been listening to a lot of Delta Spirit
http://link.nyobserver.com/516ca68465217dc6e1b9a3a62frbn.23w2/TvnrKi0WTdwTHwxwC6785
delightful e-mail that shares
cultural gems from a
different curator every day.
If you have any problems reading this e-mail, click here
http://link.nyobserver.com/516ca68465217dc6e1b9a3a62frbn.23w2/UHyHCJsf7NZSKXrPC9f64
Subscribe
Forward
My Account
Unsubscribe
food 30 Mar 2015
Taryn Fixel is transforming the way people discover healthy food.
culture 27 Mar 2015
Leerom Segal recaps MUSE New York, an experimental, modern-day salon designed to inspire the Who’s Who in health.
culture 23 Mar 2015
Old music, new music listening with VSL editor Alexa Jaccarino.
Editorial Policy
Privacy Policy
Contact Us
Press
Terms + Conditions
very fine print: ©2015
Observer VSL LLC.
321 West 44th Street, 6th Floor
New York, NY 10036 USA
All rights reserved.
Questions?<PHONE_NUMBER>.
This message was intended for<EMAIL_ADDRESS>If you believe this has been sent to you in error, please safely unsubscribe


Little Bear at Work and at Play
by Frances Margaret Fox
“Three Bears Come to Breakfast”
Additional Information
- Year Published: 1920
- Language: English
- Country of Origin: United States of America
- Source: Fox F. M. (1920). Little Bear at Work and at Play. Chicago: Rand McNally and Co.
-
Readability:
- Flesch–Kincaid Level: 5.5
- Word Count: 588
- Genre: Fantasy
- Keywords: children's stories
- ✎ Cite This
Downloads
From the day when the Three Bears discovered the Enchanted Land where bears may walk without fear of harm, and may safely poke their noses into any man’s tent if they choose, from that day, Little Bear teased to go back.
“Then let us be off,” exclaimed Father Bear at last. “Let us be off on a holiday journey, Mother Bear. Come, son, close the door of our little house and away we go!”
And away they went. Little Bear was so happy when the three jolly companions finally reached the Enchanted Land that he went to bed at sunset so that he might be up early in the morning to explore a country where rocks were painted in all colors of the rainbow, where springs of hot water bubbled through the earth, and where crystal-clear waterfalls filled his little heart with wonder.
Sure enough, Little Bear awoke in the early dawn, gave his father a friendly poke in the side, gave his mother’s nose a friendly tweak, and thus merrily the day began.
“Let us take a walk before breakfast,” suggested Little Bear.
“Very well,” agreed Father Bear, “and let us catch fish for breakfast in a mountain stream!”
“And we shall cook the fish in the first hot spring along the way,” added Mother Bear.
On through the glorious dawn went the Three Bears, crooning an old song and joyfully sniffing the air, when suddenly they came upon a sleeping camp, where the tents of the campers formed a big circle. In the center of the circle were the ashes of a campfire, and not far away was a cookstove standing near a covered wagon.
On that stove was a kettle. Over to that kettle pranced Little Bear. He lifted the cover and peeped in.
 Over walked Father Bear, over walked Mother Bear. They peeped in the kettle and shook their heads.
“It is something the cook forgot to put away!” remarked Father Bear in pompous tones.
“You may taste of it if you wish, Son Bear,” said his mother.
Into the kettle went Little Bear’s paw, and out it came filled with soft, brown, juicy fruit. He ate it, and it was good-so good he ate more and more. Father Bear ate the fruit, Mother Bear ate the fruit.
“What is it?” they said one to another. But although they could not answer the question, they liked that fruit so well they ate and ate until they ate it all up. They even forgot their manners and smacked their lips.
Suddenly there was a noise in one of the tents, and out popped the cook’s wife, calling, “Oh, the bears are eating our prunes! Oh, the bears are eating our prunes! Shoo! Shoo! Shoo! They were eating our prunes!”
“So we were eating prunes!” exclaimed Mother Bear, as away went the Three Bears, laughing.
“And prunes are good!” piped up Little Bear, in his shrill, shrill voice.
But Daddy Bear pranced through the forest singing:
“Oh, let us sing some new, new tunes!
All about her prunes, prunes, prunes!”
And “Prunes, prunes, prunes,” the Three Bears sang all that merry day. “Prunes, prunes, prunes, prunes we had for breakfast!”


At loci artium, we believe there is a better way of potraying art and also doing marketing. A more valuable, less invasive way where customers are earned rather than bought. We're obsessively passionate about upcoming artisans and our mission is to help them achieve their ulitimate dream and get outcome from their work if you need....... Read More


--- layout: post title: "Unit Testing with F# Pluralsight course" description: "My latest Pluralsight course is an introduction to unit testing with F#." date: 2015-04-02 13:38 UTC tags: [Unit Testing, F#] image: "/content/binary/unit-testing-fsharp-venn.png" image_alt: "Unit testing and F# Venn diagram." --- {% include JB/setup %}
{{ page.description }}
Perhaps you already know all about unit testing. Perhaps you already know all about F#. But do you know how to write unit tests in F#?
My new Pluralsight course explains how to write unit tests with F#. If you already know F# and unit testing on .NET, it's quite straightforward. This is my first beginner-level course on Pluralsight, so regular readers of this blog may find it too basic.
Still, if you don't know what Unquote is and can do for you, you may want to consider watching module four, which introduces this great assertion library, and provides many examples.
This entire course will, together with some of my existing Pluralsight courses, serve as a basis for more courses on F# and Test-Driven Development.


{% extends "exam.html" %} {% block title %} Q4 {% endblock %} {% block head %} {{ super() }}
app.py
file, in the proper place, as
indicated in the TODO comments.
templates/codes.html
), extending the exam template.
static/codes.js
) to put your JS code in.templates/codes.html
), extending the exam template. In the contents
block of this template, you should have
https://www.google.com/maps/place/Canada
).
The flag image should be an external image.
N
represents a
digit, while A
represents a letter. Multiple rows for a country (here, for UK) indicates that there
are multiple valid postal code formats for that country, therefore your code will need to accept all possible
valid formats for the country.
templates/codes.html
template in the file app.py
. The
route should be /codes
. Put your code where indicated in the TODO comments.
| Country Code | Country | Postal Code Format |
|---|---|---|
| BR | Brazil | NNNNNNNN |
| CA | Canada | ANA NAN |
| CN | China | NNNNNN |
| PH | Philippines | NNNN |
| UK | United Kingdom | AANNAA |
AANANAA |
||
AANNNAA |
||
ANNAA |
||
ANANAA |
||
ANNNAA |


qiskit.backends.ibmq.credentials package¶
Utilities for working with credentials for the wrapper.
Exceptions¶
QISKitError |
Base class for errors raised by the QISKit SDK. |
Classes¶
Credentials |
IBM Q account credentials. |
OrderedDict |
Dictionary that remembers insertion order |
Functions¶
discover_credentials |
Automatically discover credentials for IBM Q. |
read_credentials_from_environ |
Read the environment variables and return its credentials. |
read_credentials_from_qconfig |
Read a QConfig.py file and return its credentials. |
read_credentials_from_qiskitrc |
Read a configuration file and return a dict with its sections. |
store_credentials |
Store the credentials for a single account in the configuration file. |
-
qiskit.backends.ibmq.credentials.
discover_credentials
(qiskitrc_filename=None)[source]¶ Automatically discover credentials for IBM Q.
This method looks for credentials in the following locations, in order, and returning as soon as credentials are found:
1. in the `Qconfig.py` file in the current working directory. 2. in the environment variables. 3. in the `qiskitrc` configuration file
Parameters: qiskitrc_filename (str) – location for the qiskitrc configuration file. If None, defaults to {HOME}/.qiskitrc/qiskitrc. Returns: - dictionary with the contents of the configuration file, with
- the form:
{credentials_unique_id: Credentials}
Return type: dict


Getting started with the Keras functional API
The Keras functional API is the way to go for defining complex models, such as multi-output models, directed acyclic graphs, or models with shared layers.
This guide assumes that you are already familiar with the Sequential
model.
Let's start with something simple.
First example: a densely-connected network
The Sequential
model is probably a better choice to implement such a network, but it helps to start with something really simple.
- A layer instance is callable (on a tensor), and it returns a tensor
- Input tensor(s) and output tensor(s) can then be used to define a
Model
- Such a model can be trained just like Keras
Sequential
models.
from keras.layers import Input, Dense
from keras.models import Model
# This returns a tensor
inputs = Input(shape=(784,))
# a layer instance is callable on a tensor, and returns a tensor
output_1 = Dense(64, activation='relu')(inputs)
output_2 = Dense(64, activation='relu')(output_1)
predictions = Dense(10, activation='softmax')(output_2)
# This creates a model that includes
# the Input layer and three Dense layers
model = Model(inputs=inputs, outputs=predictions)
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
model.fit(data, labels) # starts training
All models are callable, just like layers
With the functional API, it is easy to reuse trained models: you can treat any model as if it were a layer, by calling it on a tensor. Note that by calling a model you aren't just reusing the architecture of the model, you are also reusing its weights.
x = Input(shape=(784,))
# This works, and returns the 10-way softmax we defined above.
y = model(x)
This can allow, for instance, to quickly create models that can process sequences of inputs. You could turn an image classification model into a video classification model, in just one line.
from keras.layers import TimeDistributed
# Input tensor for sequences of 20 timesteps,
# each containing a 784-dimensional vector
input_sequences = Input(shape=(20, 784))
# This applies our previous model to every timestep in the input sequences.
# the output of the previous model was a 10-way softmax,
# so the output of the layer below will be a sequence of 20 vectors of size 10.
processed_sequences = TimeDistributed(model)(input_sequences)
Multi-input and multi-output models
Here's a good use case for the functional API: models with multiple inputs and outputs. The functional API makes it easy to manipulate a large number of intertwined datastreams.
Let's consider the following model. We seek to predict how many retweets and likes a news headline will receive on Twitter. The main input to the model will be the headline itself, as a sequence of words, but to spice things up, our model will also have an auxiliary input, receiving extra data such as the time of day when the headline was posted, etc. The model will also be supervised via two loss functions. Using the main loss function earlier in a model is a good regularization mechanism for deep models.
Here's what our model looks like:
Let's implement it with the functional API.
The main input will receive the headline, as a sequence of integers (each integer encodes a word). The integers will be between 1 and 10,000 (a vocabulary of 10,000 words) and the sequences will be 100 words long.
from keras.layers import Input, Embedding, LSTM, Dense
from keras.models import Model
import numpy as np
np.random.seed(0) # Set a random seed for reproducibility
# Headline input: meant to receive sequences of 100 integers, between 1 and 10000.
# Note that we can name any layer by passing it a "name" argument.
main_input = Input(shape=(100,), dtype='int32', name='main_input')
# This embedding layer will encode the input sequence
# into a sequence of dense 512-dimensional vectors.
x = Embedding(output_dim=512, input_dim=10000, input_length=100)(main_input)
# A LSTM will transform the vector sequence into a single vector,
# containing information about the entire sequence
lstm_out = LSTM(32)(x)
Here we insert the auxiliary loss, allowing the LSTM and Embedding layer to be trained smoothly even though the main loss will be much higher in the model.
auxiliary_output = Dense(1, activation='sigmoid', name='aux_output')(lstm_out)
At this point, we feed into the model our auxiliary input data by concatenating it with the LSTM output:
auxiliary_input = Input(shape=(5,), name='aux_input')
x = keras.layers.concatenate([lstm_out, auxiliary_input])
# We stack a deep densely-connected network on top
x = Dense(64, activation='relu')(x)
x = Dense(64, activation='relu')(x)
x = Dense(64, activation='relu')(x)
# And finally we add the main logistic regression layer
main_output = Dense(1, activation='sigmoid', name='main_output')(x)
This defines a model with two inputs and two outputs:
model = Model(inputs=[main_input, auxiliary_input], outputs=[main_output, auxiliary_output])
We compile the model and assign a weight of 0.2 to the auxiliary loss.
To specify different loss_weights
or loss
for each different output, you can use a list or a dictionary.
Here we pass a single loss as the loss
argument, so the same loss will be used on all outputs.
model.compile(optimizer='rmsprop', loss='binary_crossentropy',
loss_weights=[1., 0.2])
We can train the model by passing it lists of input arrays and target arrays:
headline_data = np.round(np.abs(np.random.rand(12, 100) * 100))
additional_data = np.random.randn(12, 5)
headline_labels = np.random.randn(12, 1)
additional_labels = np.random.randn(12, 1)
model.fit([headline_data, additional_data], [headline_labels, additional_labels],
epochs=50, batch_size=32)
Since our inputs and outputs are named (we passed them a "name" argument), we could also have compiled the model via:
model.compile(optimizer='rmsprop',
loss={'main_output': 'binary_crossentropy', 'aux_output': 'binary_crossentropy'},
loss_weights={'main_output': 1., 'aux_output': 0.2})
# And trained it via:
model.fit({'main_input': headline_data, 'aux_input': additional_data},
{'main_output': headline_labels, 'aux_output': additional_labels},
epochs=50, batch_size=32)
To use the model for inferencing, use
model.predict({'main_input': headline_data, 'aux_input': additional_data})
or alternatively,
pred = model.predict([headline_data, additional_data])
Shared layers
Another good use for the functional API are models that use shared layers. Let's take a look at shared layers.
Let's consider a dataset of tweets. We want to build a model that can tell whether two tweets are from the same person or not (this can allow us to compare users by the similarity of their tweets, for instance).
One way to achieve this is to build a model that encodes two tweets into two vectors, concatenates the vectors and then adds a logistic regression; this outputs a probability that the two tweets share the same author. The model would then be trained on positive tweet pairs and negative tweet pairs.
Because the problem is symmetric, the mechanism that encodes the first tweet should be reused (weights and all) to encode the second tweet. Here we use a shared LSTM layer to encode the tweets.
Let's build this with the functional API. We will take as input for a tweet a binary matrix of shape (280, 256)
, i.e. a sequence of 280 vectors of size 256, where each dimension in the 256-dimensional vector encodes the presence/absence of a character (out of an alphabet of 256 frequent characters).
import keras
from keras.layers import Input, LSTM, Dense
from keras.models import Model
tweet_a = Input(shape=(280, 256))
tweet_b = Input(shape=(280, 256))
To share a layer across different inputs, simply instantiate the layer once, then call it on as many inputs as you want:
# This layer can take as input a matrix
# and will return a vector of size 64
shared_lstm = LSTM(64)
# When we reuse the same layer instance
# multiple times, the weights of the layer
# are also being reused
# (it is effectively *the same* layer)
encoded_a = shared_lstm(tweet_a)
encoded_b = shared_lstm(tweet_b)
# We can then concatenate the two vectors:
merged_vector = keras.layers.concatenate([encoded_a, encoded_b], axis=-1)
# And add a logistic regression on top
predictions = Dense(1, activation='sigmoid')(merged_vector)
# We define a trainable model linking the
# tweet inputs to the predictions
model = Model(inputs=[tweet_a, tweet_b], outputs=predictions)
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuracy'])
model.fit([data_a, data_b], labels, epochs=10)
Let's pause to take a look at how to read the shared layer's output or output shape.
The concept of layer "node"
Whenever you are calling a layer on some input, you are creating a new tensor (the output of the layer), and you are adding a "node" to the layer, linking the input tensor to the output tensor. When you are calling the same layer multiple times, that layer owns multiple nodes indexed as 0, 1, 2...
In previous versions of Keras, you could obtain the output tensor of a layer instance via layer.get_output()
, or its output shape via layer.output_shape
. You still can (except get_output()
has been replaced by the property output
). But what if a layer is connected to multiple inputs?
As long as a layer is only connected to one input, there is no confusion, and .output
will return the one output of the layer:
a = Input(shape=(280, 256))
lstm = LSTM(32)
encoded_a = lstm(a)
assert lstm.output == encoded_a
Not so if the layer has multiple inputs:
a = Input(shape=(280, 256))
b = Input(shape=(280, 256))
lstm = LSTM(32)
encoded_a = lstm(a)
encoded_b = lstm(b)
lstm.output
>> AttributeError: Layer lstm_1 has multiple inbound nodes,
hence the notion of "layer output" is ill-defined.
Use `get_output_at(node_index)` instead.
Okay then. The following works:
assert lstm.get_output_at(0) == encoded_a
assert lstm.get_output_at(1) == encoded_b
Simple enough, right?
The same is true for the properties input_shape
and output_shape
: as long as the layer has only one node, or as long as all nodes have the same input/output shape, then the notion of "layer output/input shape" is well defined, and that one shape will be returned by layer.output_shape
/layer.input_shape
. But if, for instance, you apply the same Conv2D
layer to an input of shape (32, 32, 3)
, and then to an input of shape (64, 64, 3)
, the layer will have multiple input/output shapes, and you will have to fetch them by specifying the index of the node they belong to:
a = Input(shape=(32, 32, 3))
b = Input(shape=(64, 64, 3))
conv = Conv2D(16, (3, 3), padding='same')
conved_a = conv(a)
# Only one input so far, the following will work:
assert conv.input_shape == (None, 32, 32, 3)
conved_b = conv(b)
# now the `.input_shape` property wouldn't work, but this does:
assert conv.get_input_shape_at(0) == (None, 32, 32, 3)
assert conv.get_input_shape_at(1) == (None, 64, 64, 3)
More examples
Code examples are still the best way to get started, so here are a few more.
Inception module
For more information about the Inception architecture, see Going Deeper with Convolutions.
from keras.layers import Conv2D, MaxPooling2D, Input
input_img = Input(shape=(256, 256, 3))
tower_1 = Conv2D(64, (1, 1), padding='same', activation='relu')(input_img)
tower_1 = Conv2D(64, (3, 3), padding='same', activation='relu')(tower_1)
tower_2 = Conv2D(64, (1, 1), padding='same', activation='relu')(input_img)
tower_2 = Conv2D(64, (5, 5), padding='same', activation='relu')(tower_2)
tower_3 = MaxPooling2D((3, 3), strides=(1, 1), padding='same')(input_img)
tower_3 = Conv2D(64, (1, 1), padding='same', activation='relu')(tower_3)
output = keras.layers.concatenate([tower_1, tower_2, tower_3], axis=1)
Residual connection on a convolution layer
For more information about residual networks, see Deep Residual Learning for Image Recognition.
from keras.layers import Conv2D, Input
# input tensor for a 3-channel 256x256 image
x = Input(shape=(256, 256, 3))
# 3x3 conv with 3 output channels (same as input channels)
y = Conv2D(3, (3, 3), padding='same')(x)
# this returns x + y.
z = keras.layers.add([x, y])
Shared vision model
This model reuses the same image-processing module on two inputs, to classify whether two MNIST digits are the same digit or different digits.
from keras.layers import Conv2D, MaxPooling2D, Input, Dense, Flatten
from keras.models import Model
# First, define the vision modules
digit_input = Input(shape=(27, 27, 1))
x = Conv2D(64, (3, 3))(digit_input)
x = Conv2D(64, (3, 3))(x)
x = MaxPooling2D((2, 2))(x)
out = Flatten()(x)
vision_model = Model(digit_input, out)
# Then define the tell-digits-apart model
digit_a = Input(shape=(27, 27, 1))
digit_b = Input(shape=(27, 27, 1))
# The vision model will be shared, weights and all
out_a = vision_model(digit_a)
out_b = vision_model(digit_b)
concatenated = keras.layers.concatenate([out_a, out_b])
out = Dense(1, activation='sigmoid')(concatenated)
classification_model = Model([digit_a, digit_b], out)
Visual question answering model
This model can select the correct one-word answer when asked a natural-language question about a picture.
It works by encoding the question into a vector, encoding the image into a vector, concatenating the two, and training on top a logistic regression over some vocabulary of potential answers.
from keras.layers import Conv2D, MaxPooling2D, Flatten
from keras.layers import Input, LSTM, Embedding, Dense
from keras.models import Model, Sequential
# First, let's define a vision model using a Sequential model.
# This model will encode an image into a vector.
vision_model = Sequential()
vision_model.add(Conv2D(64, (3, 3), activation='relu', padding='same', input_shape=(224, 224, 3)))
vision_model.add(Conv2D(64, (3, 3), activation='relu'))
vision_model.add(MaxPooling2D((2, 2)))
vision_model.add(Conv2D(128, (3, 3), activation='relu', padding='same'))
vision_model.add(Conv2D(128, (3, 3), activation='relu'))
vision_model.add(MaxPooling2D((2, 2)))
vision_model.add(Conv2D(256, (3, 3), activation='relu', padding='same'))
vision_model.add(Conv2D(256, (3, 3), activation='relu'))
vision_model.add(Conv2D(256, (3, 3), activation='relu'))
vision_model.add(MaxPooling2D((2, 2)))
vision_model.add(Flatten())
# Now let's get a tensor with the output of our vision model:
image_input = Input(shape=(224, 224, 3))
encoded_image = vision_model(image_input)
# Next, let's define a language model to encode the question into a vector.
# Each question will be at most 100 words long,
# and we will index words as integers from 1 to 9999.
question_input = Input(shape=(100,), dtype='int32')
embedded_question = Embedding(input_dim=10000, output_dim=256, input_length=100)(question_input)
encoded_question = LSTM(256)(embedded_question)
# Let's concatenate the question vector and the image vector:
merged = keras.layers.concatenate([encoded_question, encoded_image])
# And let's train a logistic regression over 1000 words on top:
output = Dense(1000, activation='softmax')(merged)
# This is our final model:
vqa_model = Model(inputs=[image_input, question_input], outputs=output)
# The next stage would be training this model on actual data.
Video question answering model
Now that we have trained our image QA model, we can quickly turn it into a video QA model. With appropriate training, you will be able to show it a short video (e.g. 100-frame human action) and ask a natural language question about the video (e.g. "what sport is the boy playing?" -> "football").
from keras.layers import TimeDistributed
video_input = Input(shape=(100, 224, 224, 3))
# This is our video encoded via the previously trained vision_model (weights are reused)
encoded_frame_sequence = TimeDistributed(vision_model)(video_input) # the output will be a sequence of vectors
encoded_video = LSTM(256)(encoded_frame_sequence) # the output will be a vector
# This is a model-level representation of the question encoder, reusing the same weights as before:
question_encoder = Model(inputs=question_input, outputs=encoded_question)
# Let's use it to encode the question:
video_question_input = Input(shape=(100,), dtype='int32')
encoded_video_question = question_encoder(video_question_input)
# And this is our video question answering model:
merged = keras.layers.concatenate([encoded_video, encoded_video_question])
output = Dense(1000, activation='softmax')(merged)
video_qa_model = Model(inputs=[video_input, video_question_input], outputs=output)


White House: US-China deal could be signed by ministers
WASHINGTON, Nov 16 — A partial trade agreement between the United States and China could be signed at the ministerial level, not by the two nations’ presidents, a top White House aide said yesterday.
Larry Kudlow, director of the National Economic Council, has fed optimism in recent days that efforts to complete the “phase one” trade deal announced last month by President Donald Trump are making progress.
Trump had said that he expected the text of a partial deal would be ready for signing with Chinese President Xi Jinping at an economic summit that had been due to occur in Chile this weekend.
Chances for that evaporated, however, after officials in Santiago canceled the summit.
Kudlow said yesterday there was still no precise date set.
“I don’t want to hang numbers on days, dates, days of the week,” he told reporters.
“You know the two leaders may be able to put together a signing ceremony. Both leaders have said from time to time their top ministers could do it.”
Since October, differences between Washington and Beijing over whether, when and by how much to reduce tariffs on each other’s goods have since spilled out into the open.
Trump this month denied the Chinese commerce ministry’s claim that the two sides had agreed to roll back existing tariffs as part of the deal, details of which have not been released. — AFP


{% extends "base_generic.html" %} {% load static %} {% block content %}
Welcome to Staff Database !
The database has the following record counts:


An example fixed-size lazy loading list using React, react-list and react-list-lazy-load. view source


Bitcoin is a decentralized digital currency that you can buy, sell and exchange directly, without an intermediary like a bank. Bitcoin’s creator, Satoshi Nakamoto, originally described the need for “an electronic payment system based on cryptographic proof instead of trust".
Each and every Bitcoin transaction that’s ever been made exists on a public ledger accessible to everyone, making transactions hard to reverse and difficult to fake. That’s by design: Core to their decentralized nature, Bitcoins aren’t backed by the government or any issuing institution, and there’s nothing to guarantee their value besides the proof baked in the heart of the system.
Since its public launch in 2009, Bitcoin has risen dramatically in value. Although it once sold for under $150 per coin, as of March 1, 2021, one Bitcoin now sells for almost $50,000. Because its supply is limited to 21 million coins, many expect its price to only keep rising as time goes on, especially as more large, institutional investors begin treating it as a sort of digital gold to hedge against market volatility and inflation.


Laravel.IO - The Road Ahead
Published on August 13, 2014
I'm happy to tell you all that as of today I'll be taking over the ongoing development of the Laravel.IO platform. Except for the Laravel.IO's podcast, which will still remain in Shawn McCool's hands, I'll be managing all of the rest of Laravel IO's activities. The reason for the change is that it has been proven difficult for Shawn and the rest of the Laravel.IO core team (which consists of Nick Spelt and Mitchell van Wijngaarden) to continue the development with the limited time they've got on their hands. I'd like to take this opportunity to thank all three of them for all of the work they've done so far for Laravel.IO and the Laravel community at large. The Laravel.IO platform has undergone some big changes in the past year and it's all thanks to their hard working effort.
Now that the transfer is official it's time to take a look at the future for Laravel.IO. The way I see it is that Laravel.IO is currently a place where all of the Laravel community comes together. Whether it is to discuss or ask a question in the forums, listen to the podcast or share their code using the pastebin, Laravel.IO is a place where you can rely on great Laravel content. I feel strongly about continuing down this path and expanding Laravel.IO into a platform where you'd always go if you want to find something Laravel related. I have a vision for Laravel.IO where it's the homepage for Laravel developers, from which they start their search for packages, resources, educational material, help or other great content about Laravel. In the next couple of months I'm going to dedicate all of my work I put in open-source in my free time to making that vision a reality.
Something else people might have been wondering about is what the hell happened to Laravel Weekly. Truth be told, at some point I lost interest in the current format because a lot of work existed in manually putting the newsletter together which is an extremely repetitive process. In the past few months I've been looking at overhauling the newsletter to create a separate platform where the content would be automated and newsletters would be put together by aggregating from different sources. A few weeks ago I started working on the platform but needless to say because of the current events with Laravel.IO I've stopped working on that platform for now. But this isn't the end for Laravel Weekly. I plan on making Laravel Weekly an integral part of the Laravel.IO platform in a later stage. But for now, Laravel Weekly is on hold.
The road ahead and the future for Laravel.IO is bright. I'm planning on getting the development of Laravel.IO started actively again. I want Laravel.IO to be an example of a platform which empowers all of Laravel's best practices ranging from Eloquent to Homestead and Forge. I want Laravel.IO to be an open-source project people can go to, contribute to and learn from. The source code for Laravel.IO is and will always remain open-source under the MIT license. Currently I see the platform being at 2.0. I've pushed a release/3.0 branch to the Laravel.IO Github repository where I'll be working on the next version. Feel free to check it out. I'll try to post a new blog post after Laracon EU is over to provide more details with the new roadmap for Laravel.IO.
Again, thanks to Shawn McCool for believing in me. I know maintaining an open-source project of this scale is time consuming and takes a lot of effort but I promise to the community that I'll put my heart and soul into this. It'll take quite some dedication but I hope to make the vision I have for Laravel.IO a reality soon.
Come talk to me at Laracon EU if you want to know more about the future for Laravel.IO or find me on IRC in #laravel or #laravel-offtopic when I'm around :-)
Thanks for reading and code happy!
← Previous post
Laravel 4 on a shared hostNext post →
Quality Assurance with EnvoyerAbout Me
I'm a software engineer from Antwerp, Belgium. I work as one of the core team members of Laravel, the popular PHP framework.
My passions are open-source, building communities, managing software teams, and creating quality and maintainable products.
I'm currently building Eventy, an app for user group leaders, conference organisers, speakers, attendees, sponsors and venue owners.
I organize meetups for Full Stack Belgium in the cities of Antwerp and Ghent. I'm also the co-organizer of Full Stack Europe, a conference for every kind of developer.
Follow me on Twitter at @driesvints where I also share some Dev Tips from time to time. You can contact me by email.


Component: SerialDispatcherP
generic module SerialDispatcherP()
Author:
Phil Buonadonna
Lewis Girod
Ben Greenstein
Philip Levis
Date:
August 7 2005
Provides
interface
Receive
[uart_id_t]
interface
Send
[uart_id_t]
Uses
interface
Leds
interface
SerialPacketInfo
as
PacketInfo
[uart_id_t]
interface
ReceiveBytePacket
interface
TaskBasic
as
receiveTask
interface
SendBytePacket
interface
TaskBasic
as
signalSendDone


AA
DRIVEN BY PERFECTION
Clean surfaces are home to positive energies. Our cleaning services are designed to create squeaky clean and spotless spaces around you, be it at your home, office premises or car interiors.
AB
EXPERT & PROFESSIONAL STAFF
Our handpicked team of workers go through extensive training before they are entrusted with the job of cleaning your home, office or car interiors. Rest assured about your precious belongings. All our workers are police verified and have had their background checked.
AC
EXPERIENCE THE CLEAN FEELING
Be it your home, office or your car, discover and experience the joy of being surrounded by sparkling clean surfaces. Call us today!
Getting rid of all kind of clutter and mess at home or your work place could not get easier than this. We bring the best and highly experienced cleaners for complete home cleaning services.


University of Washington MEChA
Home
About Us
History of MEChA
Leadership
Events & Meetings
ACE Conference
Links
MEChA de UW
Movimiento Estudantil Chicanx de Aztlan
Meetings:
Mondays
6pm to 8pm
Native Room
Wednesdays
5pm to 7pm
Chicano Room
Ethnic Cultural Center


Christopher Jullien explains key Celtic target and reveals Europa League final wish
The Celtic defender was speaking in his native France during the international break.
by Jonathan McFarlaneCeltic defender Christopher Jullien has been opened-up on his 10-in-a-row ambition and life in Glasgow.
The big stopper revealed that he's not a huge fan of the weather but praised the quality of his teammates and the kindness of Celtic fans.
The £7m defender has been a huge hit since Neil Lennon brought brought in the Frenchman from Toulouse, forming a formidable partnership with Kris Ajer.
Jullien has been blown away by how he's been welcomed in his adopted homeland since he arrived in the summer and hopes to pay back this debt of kindness by leading the Hoops to the Europa League final in Gdansk.
He told beIN Spor t: "Since my signing, the staff, the club and the fans have been brilliant with me. They welcomed me with open arms and now I feel good on the pitch.
"I play with terrific players, all players have almost international level. They have major qualities.
"I defend well and I pass the ball to my midfielders. There is no VAR in Scotland, so it’s more physical, rougher but I like it.
"If I had a magic wand, I would love to reach the Europa League Final and score 10 goals this season!
"We want to equal the 9-in-a-row record this season and the huge goal next season is to win 10-in-a-row.
"You have to visit Celtic Park to believe it. Football fans know Celtic Park is incredible but in there the atmosphere is unbelievable.
"Celtic fans are nice, they stop me in the city to take selfies.
Jullien may be positive about life in Scotland but admits one aspect of the move has been a culture shock.
The Glasgow climate can be tough for people who move from the East of the country, never mind the south of France.
"At this time it’s minus five or six in Scotland and it gets dark at 4:30pm in Glasgow. It’s the only negative point.


Simple, traffic-based pricing
Sign-up for our 30-day trial. No credit card required.
100K Pageviews
$
/month
Monthly Billing
Yearly Billing
25% discount
Unlimited websites
100% data ownership
Email reports
Start my trial
Challenge by
Frontend Mentor
. Coded by
Ahsan Ehtesham
.


Chrissy Teigen Scared John Legend on the Ellen Show, and It Drained Her
by Alyssa BaileyPeople's sexiest man alive John Legend guest-hosted the Ellen DeGeneres Show this week, so naturally the Ellen team arranged for his wife Chrissy Teigen to scare him. She popped out and cussed at him, he looked terrified for a split second and then returned to his mellow self.
Teigen explained what went into the scare and how exhausting it was. It took more out of her than it did Legend. "Hardest thing I’ve ever done! I didn’t mean to swear, I’m so sorry. Should we do it again?" she immediately said after.

"Honestly, I’m so exhausted," she said, literally exasperated.
"How long were you stuck under there?" he asked.
"A long time," she replied. Legend helped her out, and she explained that "they made me be bare foot. I’m honestly so tired. Sorry."
Teigen later asked him, "You didn’t hear me banging around the box?"
"No, I did not," Legend answered.
"This helps because he’s very unaware of anything around him," Teigen explained to the crowd. "Like we get in fights on the airplane and stuff.  And I’m like apologize!"
The two bantered a little more about Legend's unawareness giving her a good opportunity to cheat without him knowing, and then Legend worked his People's Sexiest Man Alive title into their joking back and forth. These two ought to co-host next time.


Obsidian, the answer to note-taking for the PhD?
My whole life I’ve struggled to stay organized, and the latest iteration of this battle is notetaking for knowledge building – a.k.a. how to learn and remember what I learn for my PhD.
Over the last few years, I’ve realized that I need two things from a notetaking system:
- frictionless consistency
- multiple modes of organization
During my masters, I created a daily template in TextEdit that I would copy to a new document each morning. But while this standardized my notes, the copying was tedious, and it was difficult to find information after writing it down – defeating the point of taking notes in the first place. In fact, I find that if I can’t find information I’ve taken notes on, it makes taking future notes even harder: putting in that time feels futile.
But organization is key to developing a knowledge base, and in essence, that is exactly what a PhD is: developing a knowledge base that allows you to hypothesize, make inferences, extrapolate, connect. Daily notes, project notes, notes on papers, code documentation – all of it should lubricate the wheels of future thinking / work.
The latest, and most promising of these efforts, is Obsidian, a markdown-based app that enables consistency, provides a multiplicity of search functions and note connections, and can be modified to your needs (and tastes) through user-developed plugins and custom CSS. Writing/note-taking should be pleasurable! Customization goes a long way toward this.
Main features
I was looking for a few key features in an app, and Obsidian has them all:
- local, universal file storage– none of this garbage about needing to be online to access your notes (Roam, Notion), or having your notes stored in some proprietary format (Evernote). Instead, all of Obsidian’s notes (and other similar programs, like Zettlr) are stored as markdown files.
- many different ways to search – the first level of accessing information is through file hierarchies, but Obsidian also offers:
- excellent search capabilities: the search is very good at finding whatever you’re looking for (and sorts/selects by tags, content, filename, etc)
- flawless internal linking: one of the backbones of Obsidian, it is incredibly easy to link not only to other files in your “Vault” (file hierarchy), but to individual sections/paragraphs within them. Just type double brackets
[[ file name ]]
and start typing the file name; Obsidian will automatically link to it or create a new file if it doesn’t yet exist. This makes creating or referencing files super easy and really helps me stay organized.
- backlinks: the hot new thing for notetaking apps, backlinks show you which files link to the one your on; this can sometimes lead to interesting insights, e.g. when multiple files from different trains of thought lead to the same place
- networked graphs: building off internal file links, networked graphs show you how all your files are connected (which files are linked to who). fun to click around, find random connections, follow pathways
- tags: search by tags, and/or check the tag pane for a list of tags in your vault. Tags are really useful for keeping track of different projects & paper sections. My only issue is that it’s easy to mistype tags, and mistyped tags still get added to the main tag list.
- external file linking – I am mad-good at getting distracted, so I want to be able to click on a reference and have that file open, whether it’s a PDF, a piece of code in Matlab, or my thesis proposal in Powerpoint. In Obsidian, you can do this! As simple as linking to a website:
[text](file:///User/... )
- daily templates – this is a plug-in (more below), but essential (see above: mad-good procrastinator). I made a daily template. Now I just click a single button for a fresh day’s worth of notes!
- Zotero integration – it’s not a perfect plug-in, but I can import my Zotero library, and cite papers directly in Obsidian. This is super useful when I’m close-reading a paper, and will probably get more useful as I start to write my dissertation.
- flexibility/open source – this wasn’t a must but it’s a huge bonus – Obsidian’s user base is active and constantly developing plug-ins for the app that really improve day-to-day usage. Plus I can customize the CSS so that my workspace is a pleasure to write in & with.
Plug-ins
Obsidian has both core and third-party plug-ins. I depend on a few for my workload:
Core plug-ins
- Daily Note’s – with a click, create a new daily note from a template that you build.  Mine has a link to the previous day and the next day, a log of my sleep and emotional state, and four header sections: To Do, Morning Intake, Work, Writing
- Graph View – I love a visual representation.. and a way to just click around with abandon to jog my memory
- Tag Pane – in particular, this plug-in makes it really easy to track notes from projects, specially across Daily Notes
Third-party plug-ins
- Advanced Tables – makes using markdown tables a breeze
- Calendar – sometimes I want to generate a Daily Note for sometime in the future; this let’s me do that
- Citations – Zotero integration, holy grail
- CSS snippets – oh boy does my workspace look good
- Paste URL into selection – copy a link, select a word, ctrl+shift+v, voila
- Sliding Panes – allows you to have a couple of panes open at once, which makes for easier referencing and note building
Other features that improve Obsidian:
- Espanso – a text expander
- The
:bc
(short for breadcrumb) at the top of my Daily Notes template auto fills so that I can click to yesterday or tomorrow, e.g. [[20210124-Sun|<< Yesterday]] | [[20210126-Tue|Tommorrow >>]
:zoom
writes out my personal zoom link
:orcid
writes out my orcid number
:cell
writes out my cell number
- I also use
:meet
so that a meeting template auto generates, looks like:
Meeting
- Tags:
- Zoom link
- Agenda link
- Attendees:
- Tasks:
- Notes:
Features I would love to see/use:
- Scheduled reviews of notes - give me an easy way to do a weekly/ monthly review, e.g. autopopulate a note with that week’s or month’s Daily Notes. There’s probably a hacky way to do this with regex + templates.
- Translate markdown in realtime: Obsidian has two modes, edit and preview. Edit shows most of the markdown. Preview translates the markdown. I wish Obsidian would take a note from Zettlr and just make the markdown disappear as I write. You can do this with css customization, but it often doesn’t work well.
A post is coming soon about how to set up and use Obsidian. I’d love to hear about what you use to take notes! If you have any tips, comments or questions, feel free to reach out.
Written on
January
24th,
2021
by
Elizabeth Case
Feel free to share!


{% extends 'base.html' %} {% block title_block %} Active Offers {% endblock %} {% block body_block %}
You've currently have the highest offers on these listings. When they end, check your pending payments page to pay and get your stuff!
| Item | Your Offer |
|---|---|
| {{listing.item.title}} | ${{listing.current_offer}} |
You don't have the highest offer on any active listings. Let's go home and make an offer!
{% endif %}


Query Budget Data
Budget code CSV file
Gather Budget Data
Query Requisition Data
Requestor CSV file
Gather Requisition Data
Query Purchase Order Transaction History
Upload result of requisition query
Gather PO Transaction Data
Query Purchase Order Information
Upload result of requisition query
Gather PO Information
Auto-click submit buttons


package org.papervision3d.materials.utils { import flash.utils.Dictionary; import org.papervision3d.core.proto.*; /** * The MaterialsList class contains a list of materials. * <p/> * Each MaterialsList object has its own materials list. */ public class MaterialsList { /** * [internal-use] List of materials. */ protected var _materials :Dictionary; private var _materialsTotal :int; /** * List of materials indexed by name. */ public var materialsByName :Dictionary; /** * Returns the number of children of this object. */ public function get numMaterials():int { return _materialsTotal; } /** * Creates a list of materials. * * @param materials An array or name indexed object with materials to populate the list with. */ public function MaterialsList( materials :*=n


svg-connect-area
Javascript library for creating join areas for four points
Github Project
Drag the grey handles around.
S-Curve
Linear-step
Linear


By this page i want to offer my MSX projects to the community. Sorry about my poor english writting. I am spanish :-)
crt0msx_msxdos_advanced.s
)The SDCC is a cross-compiler for small devices that runs in Windows and in Unix/Linux platforms, that allows you to generate code for a large variety of 8-bit and 16-bit platforms. Among these plataforms we have the Z80 and the Z80 with GameBoy extensions (GBZ80).
The Z80 code that SDCC generates by default is not MSX targeted and the final output is always an IntelHex file with the code. With this backend modification for MSXDOS we will be able to easily convert these IntelHex output files into .COM files. The system requirements for cross-compiling are (for both Windows/Unix/Linux platforms):
Both packages can be installed from binaries or sources. The basic files needed to generate .COM MSXDOS executables are:
int main(char **argv, int argc)
). It adds a few overhead bytesin
and out
to to make easy the Hitech C code compatibilitymemcpy
and memset
functionsFirst we have to do is to assemble the .s
previous files and to compile the .c
previous files using the sdasz80
assembler and the sdcc
compiler included in SDCC package:
$ sdasz80 -o crt0msx_msxdos.s
"or" $ sdasz80 -o crt0msx_msxdos_advanced.s
$ sdasz80 -o putchar.s
$ sdasz80 -o getchar.s
$ sdasz80 -o dos.s
$ sdasz80 -o dos2.s
$ sdasz80 -o interrupt.s
$ sdasz80 -o ioport.s
$ sdasz80 -o keyboard.s
$ sdasz80 -o vdp.s
$ sdcc -mz80 -c -o conio.rel conio.c
$ sdcc -mz80 -c -o heap.rel heap.c
$ sdcc -mz80 -c -o mem.rel mem.c
We obtain 11 object files with .rel
extension and same name. Let's write a small C sample code for testing ej.c
:
#include "conio.h" #include "dos.h" void main(void) { puts("Hello, world :-)\r\n"); exit(0); }
That we compile this way:
$ sdcc -mz80 --code-loc XXXX --data-loc 0 --no-std-crt0 crt0msx_msxdos.rel putchar.rel getchar.rel dos.rel conio.rel ej.c
One notice the --no-std-crt0
parameter, that indicates the compiler that should not use the default startup code for Z80, but we provide by command line. XXXX indicates code location: for crt0msx_msxdos.s
XXXX = 0x0107 and for crt0msx_msxdos_advanced.s
XXXX = 0x0178. Global variables will be allocated just after code.
If there are no compile-time errors, among the output files we should have the ej.ihx
IntelHex file. Now we process this file with the hex2bin
tool to obtain a binary code:
$ hex2bin ej.ihx
After this command we should have a ej.bin
in the current folder, that we can rename directly to ej.com
and execute it in our MSX:
$ mv ej.bin ej.com
#include "types.h" #include "mem.h" #include "dos.h" #include "vdp.h" uint8_t scratch[128]; uint8_t ge5_load(char *file_name, uint8_t vramh, uint16_t vraml) { fcb f; uint8_t i; memset((uint8_t *) &f, 0, sizeof(fcb)); f.record_size = 128; f.drive = 0; memcpy(f.name, file_name, 11); if (open(&f) != 0) return 0; vdp_set_write_address(vramh, vraml); for (i = 0; i < 213; i++) { if (block_set_data_ptr(scratch) != 0) return 0; if (block_read(&f) != 0) return 0; if (i == 0) vdp_load_screen(scratch + 7, 121); // to skip GE5 header else vdp_load_screen(scratch, 128); } close(&f); return 1; } int main(void) { vdp_set_screen5(); ge5_load("EXAMPLE GE5", 0, 0x0000); // load at visible VRAM getchar(); vdp_set_text(); exit(0); }
main
function parameters (crt0msx_msxdos_advanced.s
).main
function parameters and for solve global data initialization problem.memcpy
, memset
, additional VDP routines and a file read example added.files.h
and files.s
has been patched. Now lseek
function is POSIX compliant.out(address, data)
and in(address)
added.read
and write
file access routines return type changed from "unsigned int" to "int" to allow negative results.main
function parameters support added and global variables initialization problem solved.The main difference between building COM and ROM files for MSX with SDCC is basically the crt0
code. I recommend to read the previous section.
In the Nerlaska's MSX web there are a lot of info about this topic. Both Alberto Orante and I will contribute with additional code for building ROMs using SDCC. Here this is a modification of the MSXDOS interrupt routines by Alberto.
In this section I will publish all the Moonsound related C code builded or adapted by me. All the current published codes are related to two articles appeared in the Call MSX spanish magazine about the MSX scene (numbers 3 and 4). These two articles are about Moonsound programming and all the source codes are spanish commented (sorry for the inconvenience).
sbiload
package:In this section I will put all my work related to Huffman compression implementation for MSX.
huffman.tar.gz contains an ANSI-C implementation of the Huffman compression/uncompression algorithms. This archive also contains an specific MSX implementation of the uncompress algorithm for the SDCC compiler. This MSX targeted version requires:
Read the README at huffman/msx
subfolder for further details.
In this section I will put source code, tools and data related to VDP programming.
á é í ó ú ü Á É Í Ó Ú Ü ñ Ñ ¡ ¿
and some minor symbols. Here is:screen 2
compatible tiles (1 bit per pixel, white = 1, black = 0). This is the result of applying this utility to the previous Latin1 charset table.PSG programming: tools and source code.
psg_sample
. This code uses the logaritmic conversion table listed at http://map.tni.nl/articles/psg_sample.php.Fixed point math related section. For Z80 and/or MSX specific.
This work is licensed under a Creative Commons License.
Page maintained by Avelino Herrera Morales


Learning objectives
- Identify common text analysis techniques
- Understand sources of bias in automated analysis
- Use NVivo software for text coding and queries
Outline
| 0:00 |
Initial questions |
| 0:10 |
Text analysis techniques |
| 0:20 |
Automated text analysis |
| 0:30 |
Working with NLP libraries |
| 0:40 |
Break |
| 0:45 |
Orientation to NVivo |
| 1:00 |
Coding and queries in NVivo |
| 1:30 |
Questions and discussion |
What is your dataset?
- size/extent
- format
- privacy/sensitivity
What is your objective?
- research questions
- type of analysis
- expected output
Manual or automated processing?
automated: machine learning, algorithms
manual: computer-assisted, but more directly involved
Text analysis techniques
- Word frequency
- Collocation
- Concordance
- Text classification
- Text extraction
Text classification
Sentiment analysis, topic analysis
Text extraction
Keyword extraction, named entity recognition
Placeholder: Mathew's slides
Hands-on practice with NVivo
For NVivo and QDA resources see


--- layout: page title: About header-img: "img/about-bg.png" ---
Product designer, corporate image advisor, mother of 3+1!


Creates a tree menu, generated using Javascript.
Item 1-1
Item 1-2
Item 1-3
Item 2-1
Item 2-2
Item 2-3
TreeId - the ID of the div-tag which contains the tree menu
cssFile [treemenu]
content - one or more TreeMenuFolders
content - the HTML of the TreeMenuFolder and the TreeMenuItems
title - the folder's title
expanded [0] - if the folder should be expanded by default
content - the HTML of the TreeMenuItem


Commands¶
ecs-publish has several commands.
Glossary, for the purposes of this section:
- Ensure
- ecs-publish will check to see if a resource already exists, and will create it if needed.
- Confirm
- ecs-publish will check if a resource is in a particular state, and will error if it is not.
push¶
Push an image to ECR, creating the repository if needed.
Usage: ecs-publish push
- Validate AWS credentials
- Ensure an ECR repository exists for your package
- Confirm an image with the same tag doesn’t already exist in the repository
- Tag your image for the repository
- Get an ECR Authorization Token
- Login to ECR
- Push your image to the repository
test-launch¶
Usage: ecs-publish test-launch
Launch your package as a standalone task in ECS, confirm the task runs for 30 seconds, then stop the task.
- Validate AWS credentials
- Ensure an ECR repository exists for your package
- Confirm an image with the correct tag already exists in the repository
- Ensure your Task Role exists
- Ensure your Task Role Policy is up to date
- Register a new Task Definition
- Run a standalone task in your ECS cluster
- Confirm the task stays running for 30 seconds
- Stop the standalone task
launch¶
Launch your package as a service in ECS, creating a target group, ALB listener rules, ECS service, and Route 53 record set.
Usage: ecs-publish launch
- Validate AWS credentials
- Ensure an ECR repository exists for your package
- Confirm an image with the correct tag already exists in the repository
- Ensure your Task Role exists
- Ensure your Task Role Policy is up to date
- Register a new Task Definition
- Ensure a properly named Target Group exists
- Update Target Group Attributes
- Confirm the Load Balancer you specified exists
- Ensure Target Group is in the Load Balancer listener ports you specify
- Confirm the ACM Certificate you specified has been issued
- Ensure the ACM Certificate is in the load balancer (assumes Listener port 443)
- Ensure a properly named ECS Service exists
- Update the ECS Service with the current Task Definition
- Ensure the Route 53 Resource Record is up to date
deploy¶
Usage: ecs-publish deploy
The equivalent of:
ecs-publish build
ecs-publish push
ecs-publish launch
unlaunch¶
Remove the service, target group, and listener rules for the current branch.
generate-iam-policy¶
Generate an IAM policy for your CI/CD infrasturcture.
This command will output a JSON document for attaching to the IAM user or role that will be performing CI/CD tasks using ecs-publish.
obtain-certificate¶
Request a certificate for your service, or display the ARN of a compatible existing certificate.
Since ecs-publish creates subdomains for non-default branch environments, the certificate it requests (and expects) must have a wildcard SubjectAlternativeName
.


awesome-android-performance
This is a list of awesome Android tutorials, videos and tools for performance optimization
##View ####Google Official Videos
- Double Layout Taxation Android Performance Patterns Season 3 ep8 - fix layout problems ####Others
- Infamous ViewHolder Pattern - ViewHolder pattern in ListView
- View Reduction - use Compound Drawables to increase performance
- Improving Comment Rendering on Android - Instagram's post on TextView Performance
- Custom ViewGroups - a Facebook Engineer's artcile on Custom ViewGroup to increase performance
##WebView
- Why Use Crosswalk? - use crosswalk for better performance, especiallly for android version below4.4
- Enhance webView performance - disable the WebView cache to make WebView much faster.
####Tools
- crosswalk-cordova-android — An app runtime based on Chromium/Blink.
##Graphics
- Android 3.0 Hardware Acceleration
- Debug Overdraw - debug overdraw
- Android Performance Case Study - Debug Performance use
gfxinfo
systrace andshow GPU Overdraw
HierarchyViewer
OpenGL traces
- Android Performance Case Study Follow-up - Use
OpenGL traces
and UUI problems caused by transparency - Hardware Acceleration
- Optimizing Hardware Layers
- Graphics Performance - Podcasts on Android Performance
- Hardware Acceleration Animation - Using hardware layers to improve Android animation performance,
####Tools
- Analyzing UI Performance with Systrace
- Optimizing Your UI - HierarchyViewer Usage
- Introduction to Systrace
##Bitmaps
- Loading Large Bitmaps Efficiently
- Bitmap quality, banding and dithering
- Android: bitmaps, textures and pre-multiplied pixels
- Testing Display Performance
##Memory ####Google official videos
- Memory Performance 101
- Android Performance Patterns: Tool - Memory Monitor - introducing Memory monitor and Memory heap tool
- Android Performance Patterns: Performance Cost of Memory Leaks - on memory leaks
- Garbage Collection in Android
- Memory Churn and Performance
- Avoiding Allocations in onDraw
- Android内存优化之OOM
####others
- Investigating Your RAM Usage
- The truth about Preventative Optimizations - You can find some useful things from the links.
- A small leak will sink a great ship
- LeakCanary A memory leak detection library for Android and Java.
- Android内存泄露案例分析
- Tips for Optimizing Android Application Memory Usage - Tips
- Android memory and performance optimization - Tutorial
- Building Memory-efficient Java Applications
- How to Leak a Context: Handlers & Inner Classes
- Improving Facebook's performance on Android with FlatBuffers
####Tools for improving memory performnace
- YourKit - Performance and Memory Java Profile
- MAT - Memory Analysis tool for Java
- Allocation Tracker
##Concurrency
- The Zen of IntentService. (Android Performance Patterns Season 5 ep7) - Talked about IntentServices, AsyncTasks, HandlerThread in the background thread.
##Battery
- Optimizing Battery Life - Android's official tutorial for Battery Optimization
##Others
- SMP Primer for Android
- JNI ###Network ######Google Official
- Optimizing Network Request Frequencies (Android Performance Patterns Season 4 ep2) Android Developers - push instead pull data, sync policies and so on.
- Serialization performance (Android Performance Patterns Season 4 ep14) - use Protobuffers and FlatBuffer to improve seiralization performance
- Effective Network Batching (Android Performance Patterns Season 3 ep10) ######Others
- Better Compression = Faster Networking - Colt McAnlis' talk from SF Android
- Improving UX through performance - using okhttp, Fresco,or ToFu to improve network performance ###Network Profiling Tools
- ARO - Use this free diagnostic tool to improve your app's battery life, data usage, and responsiveness
- Network Monitor in Android Studio
#Article Videos Tools and others that cover multiple topics ##Performance Test
##Articles
- Performance Tuning On Android - Venmo's experience on UI performance optimization
- Best Practices for Performance - Android Official Training on Performance
- Developing for Android - Chet Haase's series,including Memory,Storage, UI Performance
- Detect and Resolve Performance Problems on Android - Use multiple ways to detect and fix Android Performance Problems
- Performance Tips - Android's Official Perf tips
- Facebook Engineering blogs tagged android - Including many articles on performance
#Tools
- Developing for Android IXTools
- Performance Profiling Tools - Performance Tools
- StrictMode - Debug Util Class for etection for Storage, Memory and others.
- Probe - Android performance instrumentation tool, comparing application vital signs (CPU usage, memory utilization, number of threads, disk usage, etc.) across app versions, detecting performace regressions.
##Videos
- Android Performance Patterns - Google's official Video about Android Performance
- Android Performance - Udacity's Video Series
- UI Performance - Optimizing and Profiling UI Performance
##Codes
- udacity render example
- leakcanary - leakcanary source codes
##People you should follow(their work contribute to almost all of this list)
- Colt McAnlis - Instructor of the Video at Udacity and Youtube
- Chet Haase - Author of the Developing for Android series
- Romain Guy - former developer of android ui framework team
- 胡凯 - 翻译了包括Google官方视频的许多andorid性能优化的资料


Three die as storm front batters Greece
Three people have died in Greece as a storm front battered parts of the country, causing flooding and landslides, officials have said.
The bodies of two men were recovered after their yacht capsized and sank in the port of Antirion, near the city of Patras, a senior coastguard official said. Antirion lies 200 kilometres west of Athens.
Moving eastwards, the storm then caused flooding in the Halkidiki peninsula and the island of Rhodes, where a disabled elderly woman died in her home, the fire department said.
Gale-force winds also disrupted some ferry services on the Ionian Sea.
Earlier today, flooding and landslides at Kinetta, a seaside town 50 kilometres south of Athens, closed rail service and the motorway linking the capital to the Peloponnesian peninsula in the southwest.
Workers laboured through the day to clear the mud, stones and fallen trees the storm left in its wake. A fire destroyed much of the vegetation at Kinetta in 2018, making it more susceptible to landslides.
Strong winds also caused the cancellation of some ferry services linking the Cyclades islands from the ports of Rafina and Lavrion in the east, and closed some ports in the northeast.
Dozens of houses were flooded and the emergency services said they had to evacuate some residents.
Flooding in the Attica region around Athens has become more frequent in recent years because of deforestation caused by wildfires.
In November 2017, a mudslide caused by heavy rains killed 23 people at Mandra, 50 kilometres west of the capital.


Born in Colombia and raise all over the place. Lived in Panama for 3 years and currently living the U.S. Looking to develop a valuable skill other than intense procrastination. A medium fan of cycling and huge one of surfing.