|
SSD1306 OLED display driver
1.4.6
This library is developed to control SSD1306/SSD1331 RGB i2c/spi OLED displays and spi PCD8544 LED display
|
Macros | |
| #define | SSD1306_SA 0x3C |
| #define | SSD1306_SCL 3 |
| SCL, Pin 3 on SSD1306 Board. | |
| #define | SSD1306_SDA 4 |
| SDA, Pin 4 on SSD1306 Board. | |
Functions | |
| void | ssd1306_i2cInit () |
| void | ssd1306_i2cInitEx (int8_t scl, int8_t sda, int8_t sa) |
| void | ssd1306_i2cCommandStart () |
| void | ssd1306_i2cDataStart () |
| void | ssd1306_i2cInit_Embedded (int8_t scl, int8_t sda, uint8_t sa) |
| void | ssd1306_i2cConfigure_Wire (int8_t scl, int8_t sda) |
| void | ssd1306_i2cInit_Wire (uint8_t sa) |
| void | ssd1306_sendCommand (uint8_t command) |
| void | ssd1306_sendData (uint8_t data) |
| void | ssd1306_spiInit (int8_t cesPin, int8_t dcPin) |
| void | ssd1306_spiCommandStart () |
| void | ssd1306_spiDataStart () |
Variables | |
| void(* | ssd1306_startTransmission )() |
| void(* | ssd1306_endTransmission )() |
| void(* | ssd1306_sendByte )(uint8_t data) |
| void(* | ssd1306_closeInterface )() |
| deinitializes internal resources, allocated for interface. More... | |
| void(* | ssd1306_sendPixels )(uint8_t data) |
| void(* | ssd1306_commandStart )() |
| void(* | ssd1306_dataStart )() |
| void(* | ssd1306_setRamBlock )(uint8_t x, uint8_t y, uint8_t w) |
| void(* | ssd1306_nextRamPage )() |
| int8_t | s_ssd1306_cs |
| int8_t | s_ssd1306_dc |
| #define SSD1306_SA 0x3C |
SSD1306_SA defines default i2c address of LCD display. Please, check your device. If you LCD device has different address, you can set different one via ssd1306_i2cInit_Wire() or ssd1306_i2cInit_Embedded() functions. Write command will be SSD1306_SA<<1 and read will be SSD1306_SA<<1 | 1
Definition at line 50 of file ssd1306_i2c_conf.h.
| void ssd1306_i2cCommandStart | ( | ) |
Switches i2c chip to command transmission mode.
Definition at line 32 of file ssd1306_i2c_common.c.
| void ssd1306_i2cConfigure_Wire | ( | int8_t | scl, |
| int8_t | sda | ||
| ) |
Configures speed for standard Wire library (via Wire.begin()). This function is called by ssd1306_i2cInit().
| scl | - i2c clock pin. Use -1 if you don't need to change default pin number |
| sda | - i2c data pin. Use -1 if you don't need to change default pin number |
Definition at line 48 of file ssd1306_i2c_wire.cpp.
| void ssd1306_i2cDataStart | ( | ) |
Switches i2c chip to data transmission mode.
Definition at line 38 of file ssd1306_i2c_common.c.
| void ssd1306_i2cInit | ( | ) |
Inits display interface to use i2c bus. The function automatically selects available type of i2c implementation
Definition at line 59 of file ssd1306_i2c_common.c.
| void ssd1306_i2cInit_Embedded | ( | int8_t | scl, |
| int8_t | sda, | ||
| uint8_t | sa | ||
| ) |
Initializes software implementation of i2c. If you do not know i2c parameters, try ssd1306_i2cInit_Embedded(0,0,0).
| scl | - i2c clock pin. Use -1 if you don't need to change default pin number |
| sda | - i2c data pin. Use -1 if you don't need to change default pin number |
| sa | - i2c address of lcd display. Use 0 to leave default |
Definition at line 165 of file ssd1306_i2c_embedded.c.
| void ssd1306_i2cInit_Wire | ( | uint8_t | sa | ) |
Initializes ssd1306 library to use Wire lib for i2c. If you do not know i2c parameters, try ssd1306_i2cInit_Wire(0). SCL and SDA pins depend on platform and Wire library implementation.
| sa | - i2c address of lcd display. Use 0 to leave default |
Definition at line 96 of file ssd1306_i2c_wire.cpp.
| void ssd1306_i2cInitEx | ( | int8_t | scl, |
| int8_t | sda, | ||
| int8_t | sa | ||
| ) |
Inits display interface to use i2c bus. The function automatically selects available type of i2c implementation
| scl | - i2c clock pin. Use -1 if you don't need to change default pin number |
| sda | - i2c data pin. Use -1 if you don't need to change default pin number |
| sa | - i2c address of lcd display. Use 0 to leave default |
Definition at line 44 of file ssd1306_i2c_common.c.
| void ssd1306_sendCommand | ( | uint8_t | command | ) |
Sends command to SSD1306 device: includes initiating of transaction, sending data and completing transaction.
| command | - command to send |
Definition at line 42 of file ssd1306_interface.c.
| void ssd1306_sendData | ( | uint8_t | data | ) |
Sends byte data to SSD1306 controller memory. Performs 3 operations at once: ssd1306_dataStart(); ssd1306_sendPixels( data ); ssd1306_endTransmission();
| data | - byte to send to the controller memory |
Definition at line 49 of file ssd1306_interface.c.
| void ssd1306_spiCommandStart | ( | ) |
Switches spi chip to command transmission mode.
Definition at line 45 of file ssd1306_spi.c.
| void ssd1306_spiDataStart | ( | ) |
Switches spi chip to data transmission mode.
Definition at line 51 of file ssd1306_spi.c.
| void ssd1306_spiInit | ( | int8_t | cesPin, |
| int8_t | dcPin | ||
| ) |
Inits lcd interface to use hardware spi for communication. The function automatically selects available type of spi implementation
| cesPin | - pin, controlling chip enable of LCD |
| dcPin | - pin, controlling data/command mode of LCD |
Definition at line 37 of file ssd1306_spi.c.
| int8_t s_ssd1306_cs |
chip enable pin to controll lcd display over spi
Definition at line 34 of file ssd1306_spi.c.
| int8_t s_ssd1306_dc |
data/command control pin for spi interface of lcd display
Definition at line 35 of file ssd1306_spi.c.
| void(* ssd1306_closeInterface) () |
deinitializes internal resources, allocated for interface.
Deinitializes internal resources, allocated for interface. There is no need to use this function for microcontrollers. In general the function has meaning in Linux-like systems.
Definition at line 36 of file ssd1306_interface.c.
| void(* ssd1306_commandStart) () |
Starts transaction for sending commands.
Definition at line 34 of file ssd1306_interface.c.
| void(* ssd1306_dataStart) () |
Starts transaction for sending bitmap data.
Definition at line 35 of file ssd1306_interface.c.
| void(* ssd1306_endTransmission) () |
Ends communication with SSD1306 display.
Definition at line 32 of file ssd1306_interface.c.
| void(* ssd1306_nextRamPage) () |
Switches to the start of next RAM page for the block, specified by ssd1306_setRamBlock(). For ssd1306 it does nothing, while for sh1106 the function moves cursor to next page.
Definition at line 39 of file ssd1306_interface.c.
| void(* ssd1306_sendByte) (uint8_t data) |
Sends byte to SSD1306 device
| data | - byte to send |
Definition at line 33 of file ssd1306_interface.c.
| void(* ssd1306_sendPixels) (uint8_t data) |
Sends 8 monochrome vectical pixels to OLED driver.
| data | - byte, representing 8 pixels. |
Definition at line 40 of file ssd1306_interface.c.
| void(* ssd1306_setRamBlock) (uint8_t x, uint8_t y, uint8_t w) |
Sets block in RAM of lcd display controller to write data to. For ssd1306 it uses horizontal addressing mode, while for sh1106 the function uses page addressing mode. Width can be specified as 0, thus the library will set the right region of RAM block to the right column of the display.
| x | - column (left region) |
| y | - page (top page of the block) |
| w | - width of the block in pixels to control |
Definition at line 38 of file ssd1306_interface.c.
| void(* ssd1306_startTransmission) () |
Starts communication with SSD1306 display.
Definition at line 31 of file ssd1306_interface.c.


Or you can call me SJ. I am a former Dunman High School (DHS) Computing student who has just completed my National Service (NS). With all the time in the world before university, I bring to you this portfolio website. Enjoy!
Listed below are the skills I currently possess and the duration of experience for each skill.
My interests mainly revolve around Big Data and AI, although other computing topics fascinate me as well. For example, Blockchain and distributed ledger technologies in general has always been an intriguing topic that I would love to delve deeper into.
I have a diverse variety of interests and hobbies which I cultivated over the years. It is my firm belief that the key to a good life is variety and vibrancy. (Click on icons below for more details)
In a team of three, we created SocialShield, a web browser plugin which employs a revolutionary algorithm to protect users from harmful social media content. We eventually won first place and also the "Most Innovative" award.
We further developed SocialShield and added even more features, such as an online timer which restricts social media usage to a certain amount of time per day to prevent addiction. Once again, our project was able to emerge at the top, which qualified us for the APICTA Awards.
We were given the opportunity to participate in the Asia Pacific ICT Alliance (APICTA) Awards in December 2016. By then, we have more or less optimised our SocialShield application with a smoother and more user-friendly interface and additional features such as sentiment analysis. During our 5D4N trip to Taipei, we learnt new things, experienced new culture and most importantly, enjoyed ourselves. It was one of my most memorable experience in school.
SocialShield is actually a real product! You can find us on the chrome web store. Link
This competition is significant to me for two reasons. Firstly, as a team leader, I was given the opportunity to demonstrate my leadership skills. Secondly, it introduced me to the subject of Big Data and data analytics, which gradually evolved into a sustained passion. Within a short time frame and with zero prior experience, I was able to pick up Tableau skills fast and create a data-driven dashboard which is both insightful and visually-appealing. We eventually clinched second place and was at the top in terms of public popularity, which saw us winning the "Most Well-liked Viz" award as well.
Competition entry (improved edition) Link
For someone whose prior experience in programming is limited to Python, C++ was indeed a steep learning curve for me. But it was the prerequisite for NOI, so with little choice I grit my teeth and set about conquering it. The competition opened my eyes to a world beyond Python, where not everything is as smooth, simple and straightforward as desired. In the end, I was glad to have acquire C++ skills, albeit at an entry level.
It was my first experience in an infocomm-related competition. We were given 24 hours to develop an application revolving around Financial Technology. 24 hours. Sleep not included. Nevertheless, we thoroughly enjoyed ourselves. After all, pulling an all nighter while representing the school is not something everyone gets to brag about.


Genome Science 2018 will be held at the University of Nottingham
Tuesday, 4th September - Thursday, 6th September
Genome Science started life in 2011 as the UK Next Generation Sequencing Meeting, hosted by the DeepSeq facility at the University of Nottingham. Since then, the conference has moved between different host universities and has been rebranded as the Genome Science meeting.
It's Coming Home! The 2018 conference will return to the University of Nottingham!
.


The odsWidgetTooltip widget is a helper for displaying custom tooltips.
It allows to configure the usable fields in the tooltip and the template and does the HTML rendering giving back the compiled HTML to the calling widget.
By default, the template for the custom tooltip can access the record and a displayedFields array that lists the record fields that should appear in the tooltip.


The Godfather, Part II (1974)
Grade: 96
The sequel to the 1972 blockbuster, "Part II" somehow manages to be an even better film than its predecessor, despite the absence of Marlon Brando and (except for a flashback scene) James Caan. While "Part II" did not exceed the box office gross of the original, it did better at the Academy Awards, winning six Oscars versus the three that "The Godfather" had won. These Oscars included some of the most important: Best Picture, Best Director, Best Supporting Actor (Robert DeNiro) and Best Adapted Screenplay (Author Mario Puzo and Coppola).
"Part II" is two hundred minutes in length, but the film seems to pass more quickly. Set in the 1950s, the story picks up soon after "The Godfather" left off: Michael Corleone has moved some operations to Las Vegas, but remains involved in New York organized crime. He also seeks to expand operations to pre-Castro Cuba, in partnership with aging, chronically ill Hyman Roth (Lee Strasberg). He also has to defend himself against congressional hearings into his criminal activities. As in the first film, Michael ruthlessly punishes those who oppose or betray the 'family' (i.e. himself). Although his success continues, he also becomes ever more cold and distant: nearly a personification of evil. The only emotions that remain are the desires to punish those who have hurt him.
There also flashbacks of Michael's father Vito first as a boy, then as a young man. Vito (De Niro) immigrates to America, alone, to escape a vendetta against his family. Although he can be as ruthless as his son would later be, Vito also rewards with favors those who are on his side. Since the people he kills seem to deserve it, Vito comes off better than Michael does. De Niro's detached cool provides a welcome break from Pacino's relentless gloom, and it was wise of Coppola to shuffle the two films together despite the film's length and the disturbance of continuity.
Those who believe that Troy Donahue never made a good film stand corrected. Donahue has a small role as Talia Shire's fortune-hunting suitor. Michael V. Gazzo, who has a marvelously raspy voice, has a great supporting role as trouble-besetted mobster Frank Pentangeli. As in the first film, John Cazale and Robert Duvall give excellent performances.
"The Godfather Part II" also won Academy Awards for its score, co-credited to Nino Rota and Carmine Coppola (Francis' father), and for its sets.
<EMAIL_ADDRESS>http://members.tripod.com/~Brian_Koller/movies.html
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


Java 7 associate
Java 7 programmer
Java EE 6 Persistence API
SAFe framework practictioner (SCRUM, Agile, SAFe)
SOA Certified Professional


public abstract class Constituent extends java.lang.Object implements Labeled, Scored, Label
Constituent
object defines a generic edge in a graph.
The Constituent
class is designed to be extended. It
implements the Comparable
interface in order to allow
graphs to be topologically sorted by the ordinary Collection
library in java.util
, keying primarily on right-hand
node ID number. The Constituent
class implements most
of the functionality of the the Label
interface by passing all requests down to the Label
which
might be contained in the Constituent
. This allows one
to put a Constituent
anywhere that a Label
is
required. A Constituent
is always Scored
.| Constructor and Description |
|---|
Constituent() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
contains(Constituent c)
Detects whether this constituent contains a constituent, that is
whether they are nested.
|
boolean |
crosses(java.util.Collection<Constituent> constColl)
Detects whether this constituent overlaps any of a Collection of
Constituents without
nesting, that is, whether it "crosses" any of them.
|
boolean |
crosses(Constituent c)
Detects whether this constituent overlaps a constituent without
nesting, that is, whether they "cross".
|
abstract int |
end()
access end node.
|
boolean |
equals(java.lang.Object obj)
Compare with another Object for equality.
|
int |
hashCode()
A hashCode for Constituents done by shifting and or'ing for speed.
|
Label |
label()
access label
|
java.util.Collection<Label> |
labels()
Access labels -- actually always a singleton here.
|
double |
score()
access score
|
abstract void |
setEnd(int end)
set end node.
|
void |
setFromString(java.lang.String labelStr)
Make a new label with this
String as the "name", perhaps
by doing some appropriate decoding of the string. |
void |
setLabel(Label label)
Sets the label associated with the current Constituent,
if there is one.
|
void |
setLabels(java.util.Collection<Label> labels)
Sets the labels associated with this object.
|
void |
setScore(double score)
Sets the score associated with the current node, if there is one
|
abstract void |
setStart(int start)
set start node.
|
void |
setValue(java.lang.String value)
Set the value for the label (if one is stored).
|
int |
size()
Return the length of a
Constituent |
abstract int |
start()
access start node.
|
java.lang.String |
toSentenceString(java.util.ArrayList s)
Print out as a string the subpart of a sentence covered
by this
Constituent . |
java.lang.String |
toString()
Return a string representation of a
Constituent . |
java.lang.String |
value()
Return the value of the label (or null if none).
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
labelFactory
public abstract int start()
public abstract void setStart(int start)
public abstract int end()
public abstract void setEnd(int end)
public Label label()
public void setLabel(Label label)
public java.util.Collection<Label> labels()
public void setLabels(java.util.Collection<Label> labels)
Labeled
public double score()
public void setScore(double score)
public java.lang.String toString()
Constituent
.public int size()
Constituent
public boolean equals(java.lang.Object obj)
double
NaN values are considered unequal in
Java.)
The general contract of equals() implies that one can't have a
subclass of a concrete [non-abstract] class redefine equals() to use
extra aspects, so subclasses shouldn't override this in ways that
make use of extra fields.equals
in class java.lang.Object
obj
- The object being compared withpublic int hashCode()
hashCode
in class java.lang.Object
public boolean crosses(Constituent c)
c
- The constituent to check againstpublic boolean crosses(java.util.Collection<Constituent> constColl)
constColl
- The set of constituent to check againstjava.lang.ClassCastException
- If some member of the Collection isn't
a Constituentpublic boolean contains(Constituent c)
c
- The constituent to check againstpublic java.lang.String value()
public void setValue(java.lang.String value)
public void setFromString(java.lang.String labelStr)
String
as the "name", perhaps
by doing some appropriate decoding of the string.setFromString
in interface Label
labelStr
- the String that translates into the content of the
labelpublic java.lang.String toSentenceString(java.util.ArrayList s)
Constituent
.


Get a string representation of this property suitable for 'writing'
Attempt to construct (or preserve) the appropriate data type given primitive (or already constructed) value. Note this must be done here and not at 'write' time because it requires the knowledge of the PropDef
Render this value as a string
Generated using TypeDoc
Get a string representation of this property suitable for 'reading'


Hamilton: "I admit that I was surprised and impressed" by Alonso message
by Joseph TyrrellLewis Hamilton's sixth World Championship was met with praise from drivers past and present but the Brit himself has admitted his surprise at receiving a message of congratulations from two-time World Champion, Fernando Alonso.
Hamilton wrapped up his sixth World Championship with a P2 finish at the United States Grand Prix. It was his fifth Drivers' title with Mercedes and his third in as many years as he moved a step closer to Michael Schumacher's record of seven.
Drivers of the past and present congratulated the six-time World Champion with Sebastian Vettel's tribute one of the most poignant. However, there was one which caught Hamilton by surprise. The Brit revealed Fernando Alonso sent him a message and he admitted he was quite impressed.
"I also received a message from Fernando and I admit that I was surprised and impressed," Hamilton said as quoted by Motorsport.
"In the past we have lived so many experiences together, and in all honesty, I have always had respect for what he has achieved, for his abilities, and also for what I could see during the period he spent at McLaren.
"I can only be grateful to him for his certificate of esteem."


Improper waste disposal At Ajuwon Badagry. Improper waste disposal At Ajuwon Badagry. Improper waste disposal At Ajuwon Badagry. Improper waste disposal At Ajuwon Badagry
Last created 3 hours ago


Previous article: Concepts - Machine Lerning
Next article: Tools - Python libraries
Python programming for data science
This is a short tutorial on programming and Python; as such it can not delve into the details. Rather, we would like to focus on some concepts that can help readers understand where do programming and Python fit in the data science field.
There are two fundamental ideas of computer science, that we should mention because they provide the basis for much of what we use nowadays. First, the Turing Machine. An abstract machine that can perform any conceivable calculation. Second, the idea that we can represent logic functions by using binary gates, first made of vacuum tubes, now made of silicon. These two ideas together mean that we have an abstract model of what can be computed, and a way to build a concrete implementation of the abstract model. Then the digital computer was being born.
Computer languages, give the ability to implement a model of the Turing Machine, while the computer hardware performs the actual computations. That is why, most computer languages, share a core of characteristics:
- There is a way to receive input and provide output
- There is a way to store things in the computer memory
- There is a way to read things from the computer memory
- There is a way to perform arithmetic manipulations, such addition, division, etc.
- There is a way to implement iterations where certain actions are repeated
- There is a way to implement execution of actions depending on conditions
And that's it more or less... Of course there is object oriented programming, networking, and so many more things, yet the core capabilities of any language come through this set.
Python is a relatively new language. One of the main advantages it has for newcomers is the readability of the code, and its simplicity. It is therefore much easier to learn, and it provides similar functionality. Being open source with a significant ecosystem of libraries that extend its functionality, it has caught pretty well in the field of data analysis.
There is one point that is worth raising with respect a technical difference between python as a generic programming language, and when being used data analysis; array programming. It is programming paradigm much like functional, object oriented, etc.
What is the difference here? In scientific computing we usually perform calculations over whole arrays of elements, rather than individual scalars. The reason being that in the end it is much faster to work on whole arrays and at the same time it is closer to the mathematical concepts. This functionality in Python comes through the NumPy library.
We stress this point because the way we write code in data science, is different than that in other fields. You will not find loops or conditionals when crunching data, although these are so common language constructs, much used in other paradigms. So if you are new to programming, pay attention, and don't get confused by the different programming paradigms.
Pay attention to the different Python versions. There are two main versions: Python 2.x and Python 3.x. Your system might have one of the two installed, while the material (books, online tutorials, etc. ) you find, might be using another. Beware that Python 2.x has reached its end-of-life, with 2.7.18 released in April 2020.
sources:


Full Stack Web Developer with experience as a manager and sales professional for eight years I have always been passionate about being a team leader, exceeding goals each month, and building client relations. I have always adopted new concepts to help better my clients, my company, and myself.
During my time, I have worked with some of the best management anyone could ask for. Starting in 2010 at Buerkle as a part-time night janitor, within 2 months I was working full time on the floor helping out clients and selling services. After a few years of exceeding my service sales and client retention quotas, I was promoted to service manager at Buerkle Acura.
After many years as a service manager at Buerkle and testing myself as a general manager at Donnybrooke Motorsports, I have decided to change fields into something I have always been passionate about. I am a graduate from University of Minnesota Full-Stack Web Development course. After graduation I received my first my first tech industry position working for Toppan Merrill as a Web Content Specialist. The past year with Toppan Merrill has been great! I am now looking for the next chapter in my developer career.
<EMAIL_ADDRESS>8817 Green Haven Dr,
Brooklyn Park, Minnesota
55445
651-815-5398


@(title: String, moreJavascript: Html = Html("") )(content: Html)(implicit request: play.api.mvc.RequestHeader)
@* This page should have no logic at all to be able to display error pages, otherwise we may enter an error loop situation *@
@* See see: paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ on usage of these classes *@
@* If possible use .htaccess and remove these lines to avoid edge case issues. More info: h5bp.com/b/378 *@
@* Supresses IE6 image toolbar *@
@* Page details *@
@title
@* Link to Bootstrap in CDN *@
@* This script contains at the bottom some extra code unrelated to modernizr *@
@* Prompt IE 6 users to upgrade or install Chrome Frame. chromium.org/developers/how-tos/chrome-frame-getting-started *@
@* ********************************************************************************************************** *@
@* ********************************************************************************************************** *@
@* Bootstrap files, minimized, from CDN *@
@* our javascripts. Optional javascripts first in case there are calls to them in delayed (function(){}) code *@
@moreJavascript


HOME
ABOUT
DATA & METHODS
FACT SHEETS
EXPLORE
HELP
Update Chart Data
Estimated number of new cases in 2018, worldwide, all cancers, both sexes, all ages
HD
HD


-
This is why your Internet is slow. And it’ll get worse. Unless you take 1 ...
www.battleforthenet.com
You’re our only hope.
-
MAYDAY.US: Democracy needs an upgrade. Act now.
mayday.us
Money has corrupted politics. Join MAYDAY.US - the movement to end this corruption.
-
Santa brand book
www.quietroom.co.uk
Never too early to get on brand for Christmas. Hilarious Santa brand book by @quietroomtweets http://www.quietroom.co.uk/santa_brandbook


|
Pebble Foundation Classes
0.2.0
C++ for Pebble
|
Layer that displays a bitmap image. More...
Typedefs | |
| typedef struct BitmapLayer | BitmapLayer |
Functions | |
| BitmapLayer * | bitmap_layer_create (GRect frame) |
| void | bitmap_layer_destroy (BitmapLayer *bitmap_layer) |
| Destroys a window previously created by bitmap_layer_create. | |
| Layer * | bitmap_layer_get_layer (const BitmapLayer *bitmap_layer) |
| const GBitmap * | bitmap_layer_get_bitmap (BitmapLayer *bitmap_layer) |
| void | bitmap_layer_set_bitmap (BitmapLayer *bitmap_layer, const GBitmap *bitmap) |
| void | bitmap_layer_set_alignment (BitmapLayer *bitmap_layer, GAlign alignment) |
| void | bitmap_layer_set_background_color (BitmapLayer *bitmap_layer, GColor color) |
| void | bitmap_layer_set_compositing_mode (BitmapLayer *bitmap_layer, GCompOp mode) |
Layer that displays a bitmap image.
BitmapLayer is a Layer subtype that draws a GBitmap within its frame. It uses an alignment property to specify how to position the bitmap image within its frame. Optionally, when the background color is not GColorClear, it draws a solid background color behind the bitmap image, filling areas of the frame that are not covered by the bitmap image. Lastly, using the compositing mode property of the BitmapLayer, determines the way the bitmap image is drawn on top of what is underneath it (either the background color, or the layers beneath it).
The implementation of BitmapLayer is fairly straightforward and relies heavily on the functionality as exposed by the core drawing functions (see Drawing Primitives). BitmapLayer's drawing callback uses graphics_draw_bitmap_in_rect() to perform the actual drawing of the GBitmap. It uses grect_align() to perform the layout of the image and it uses graphics_fill_rect() to draw the background plane.
| BitmapLayer* bitmap_layer_create | ( | GRect | frame | ) |
Creates a new bitmap layer on the heap and initalizes it the default values.
NULL
(none)true
NULL
if the BitmapLayer could not be created | const GBitmap* bitmap_layer_get_bitmap | ( | BitmapLayer * | bitmap_layer | ) |
Gets the pointer to the bitmap image that the BitmapLayer is using.
| bitmap_layer | The BitmapLayer for which to get the bitmap image |
| Layer* bitmap_layer_get_layer | ( | const BitmapLayer * | bitmap_layer | ) |
Gets the "root" Layer of the bitmap layer, which is the parent for the sub- layers used for its implementation.
| bitmap_layer | Pointer to the BitmapLayer for which to get the "root" Layer |
| void bitmap_layer_set_alignment | ( | BitmapLayer * | bitmap_layer, |
| GAlign | alignment | ||
| ) |
Sets the alignment of the image to draw with in frame of the BitmapLayer. The aligment parameter specifies which edges of the bitmap should overlap with the frame of the BitmapLayer. If the bitmap is smaller than the frame of the BitmapLayer, the background is filled with the background color.
The bitmap layer is automatically marked dirty after this operation.
| bitmap_layer | The BitmapLayer for which to set the aligment |
| alignment | The new alignment for the image inside the BitmapLayer |
| void bitmap_layer_set_background_color | ( | BitmapLayer * | bitmap_layer, |
| GColor | color | ||
| ) |
Sets the background color of bounding box that will be drawn behind the image of the BitmapLayer.
The bitmap layer is automatically marked dirty after this operation.
| bitmap_layer | The BitmapLayer for which to set the background color |
| color | The new GColor to set the background to |
| void bitmap_layer_set_bitmap | ( | BitmapLayer * | bitmap_layer, |
| const GBitmap * | bitmap | ||
| ) |
Sets the bitmap onto the BitmapLayer. The bitmap is set by reference (no deep copy), thus the caller of this function has to make sure the bitmap is kept in memory.
The bitmap layer is automatically marked dirty after this operation.
| bitmap_layer | The BitmapLayer for which to set the bitmap image |
| bitmap | The new GBitmap to set onto the BitmapLayer |
| void bitmap_layer_set_compositing_mode | ( | BitmapLayer * | bitmap_layer, |
| GCompOp | mode | ||
| ) |
Sets the compositing mode of how the bitmap image is composited onto the BitmapLayer's background plane, or how it is composited onto what has been drawn beneath the BitmapLayer.
The compositing mode only affects the drawing of the bitmap and not the drawing of the background color.
For Aplite, there is no notion of "transparency" in the graphics system. However, the effect of transparency can be created by masking and using compositing modes.
For Basalt, when drawing GBitmap images, GCompOpSet will be required to apply any transparency.
The bitmap layer is automatically marked dirty after this operation.
| bitmap_layer | The BitmapLayer for which to set the compositing mode |
| mode | The compositing mode to set |


course work on chapter 10:
1:
import turtle
turtle.setup(400,500)
wn = turtle.Screen()
wn.title("modiflying Tess!")
wn.bgcolor("lightgreen")
tess = turtle.Turtle()
i = 3
tess.penup()
tess.forward(40)
tess.left(90)
tess.forward(50)
tess.shape("circle")
tess.shapesize(i)
tess.fillcolor("green")
state_num = 0
def R():
tess.fillcolor("red")
def B():
tess.fillcolor("blue")
def G():
tess.fillcolor("green")
def plus():
tess.shapesize(i+1)
def minus():
tess.shapesize(i-1)
def east():
tess.seth(0)
tess.forward(50)
def west():
tess.seth(180)
tess.forward(50)
def north():
tess.seth(90)
tess.forward(50)
def south():
tess.seth(270)
tess.forward(50)
wn.onkey(R, "r")
wn.onkey(B,"b")
wn.onkey(G, "g")
wn.onkey(plus, "=")
wn.onkey(minus, "-")
wn.onkey(east, "d")
wn.onkey(west, "a")
wn.onkey(north, "w")
wn.onkey(south, "s")
wn.listen()
wn.mainloop()
2:
import turtle # Tess becomes a traffic light.
turtle.setup(400,500)
wn = turtle.Screen()
wn.title("Tess becomes a traffic light!")
wn.bgcolor("lightgreen")
tess = turtle.Turtle()
def draw_housing():
""" Draw a nice housing to hold the traffic lights """
tess.pensize(3)
tess.color("black", "darkgrey")
tess.begin_fill()
tess.forward(80)
tess.left(90)
tess.forward(200)
tess.circle(40, 180)
tess.forward(200)
tess.left(90)
tess.end_fill()
draw_housing()
tess.penup()
# Position tess onto the place where the green light should be
tess.forward(40)
tess.left(90)
tess.forward(50)
# Turn tess into a big green circle
tess.shape("circle")
tess.shapesize(3)
tess.fillcolor("green")
# A traffic light is a kind of state machine with three states,
# Green, Orange, Red. We number these states 0, 1, 2
# When the machine changes state, we change tess' position and
# her fillcolor.
# This variable holds the current state of the machine
state_num = 0
def advance_state_machine():
global state_num
if state_num == 0: # Transition from state 0 to state 1
tess.forward(70)
tess.fillcolor("orange")
state_num = 1
elif state_num == 1: # Transition from state 1 to state 2
tess.forward(70)
tess.fillcolor("red")
state_num = 2
else: # Transition from state 2 to state 0
tess.back(140)
tess.fillcolor("green")
state_num = 0
wn.ontimer(advance_state_machine,1000)
# Bind the event handler to the space key.
advance_state_machine()
wn.listen() # Listen for events
wn.mainloop()
3:
import turtle # Tess becomes a traffic light.
turtle.setup(400,500)
wn = turtle.Screen()
wn.title("Tess becomes a traffic light!")
wn.bgcolor("lightgreen")
tess = turtle.Turtle()
red = turtle.Turtle()
green = turtle.Turtle()
yellow = turtle.Turtle()
def draw_housing():
""" Draw a nice housing to hold the traffic lights """
tess.pensize(3)
tess.color("black", "darkgrey")
tess.begin_fill()
tess.forward(80)
tess.left(90)
tess.forward(200)
tess.circle(40, 180)
tess.forward(200)
tess.left(90)
tess.end_fill()
draw_housing()
tess.hideturtle()
tess.penup()
# Position tess onto the place where the green light should be
tess.forward(40)
tess.left(90)
tess.forward(50)
# Turn tess into a big green circle
red.hideturtle()
red.penup()
yellow.hideturtle()
yellow.penup()
green.hideturtle()
green.penup()
red.shape("circle")
red.shapesize(3)
red.fillcolor("red")
red.goto(40,50)
yellow.shape("circle")
yellow.shapesize(3)
yellow.fillcolor("yellow")
yellow.goto(40,120)
green.shape("circle")
green.shapesize(3)
green.fillcolor("green")
green.goto(40,190)
# A traffic light is a kind of state machine with three states,
# Green, Orange, Red. We number these states 0, 1, 2
# When the machine changes state, we change tess' position and
# her fillcolor.
# This variable holds the current state of the machine
state_num = 0
def advance_state_machine():
global state_num
if state_num == 0: # Transition from state 0 to state 1
red.showturtle()
green.hideturtle()
yellow.hide turtle()
state_num = 1
elif state_num == 1: # Transition from state 1 to state 2
yellow.showturtle()
green.hideturtle()
red.hideturtle()
state_num = 2
else: # Transition from state 2 to state 0
green.showturtle()
red .hideturtle()
yellow.hideturtle()
state_num = 0
wn.onkey(advance_state_machine,"space ")
# Bind the event handler to the space key.
advance_state_machine()
wn.listen() # Listen for events
wn.mainloop()
4:
import turtle # Tess becomes a traffic light.
turtle.setup(400,500)
wn = turtle.Screen()
wn.title("Tess becomes a traffic light!")
wn.bgcolor("lightgreen")
tess = turtle.Turtle()
red = turtle.Turtle()
green = turtle.Turtle()
yellow = turtle.Turtle()
def draw_housing():
""" Draw a nice housing to hold the traffic lights """
tess.pensize(3)
tess.color("black", "darkgrey")
tess.begin_fill()
tess.forward(80)
tess.left(90)
tess.forward(200)
tess.circle(40, 180)
tess.forward(200)
tess.left(90)
tess.end_fill()
draw_housing()
tess.hideturtle()
tess.penup()
# Position tess onto the place where the green light should be
tess.forward(40)
tess.left(90)
tess.forward(50)
# Turn tess into a big green circle
red.hideturtle()
red.penup()
yellow.hideturtle()
yellow.penup()
green.hideturtle()
green.penup()
red.shape("circle")
red.shapesize(3)
red.fillcolor("red")
red.goto(40,50)
yellow.shape("circle")
yellow.shapesize(3)
yellow.fillcolor("yellow")
yellow.goto(40,120)
green.shape("circle")
green.shapesize(3)
green.fillcolor("green")
green.goto(40,190)
red.showturtle()
yellow.showturtle()
green.showturtle()
# A traffic light is a kind of state machine with three states,
# Green, Orange, Red. We number these states 0, 1, 2
# When the machine changes state, we change tess' position and
# her fillcolor.
# This variable holds the current state of the machine
state_num = 0
def advance_state_machine():
global state_num
if state_num == 0: # Transition from state 0 to state 1
red.fillcolor("red")
green.fillcolor("DarkGreen")
yellow.fillcolor("brown")
state_num = 1
elif state_num == 1: # Transition from state 1 to state 2
yellow.fillcolor("yellow")
green.fillcolor("DarkGreen")
red.fillcolor("brown")
state_num = 2
else: # Transition from state 2 to state 0
green.fillcolor("green")
red.fillcolor("brown")
yellow.fillcolor("brown")
state_num = 0
wn.onkey(advance_state_machine,"space")
# Bind the event handler to the space key.
advance_state_machine()
wn.listen() # Listen for events
wn.mainloop()
5:
import turtle # Tess becomes a traffic light.
turtle.setup(400,500)
wn = turtle.Screen()
wn.title("Tess becomes a traffic light!")
wn.bgcolor("lightgreen")
tess = turtle.Turtle()
red = turtle.Turtle()
green = turtle.Turtle()
yellow = turtle.Turtle()
def draw_housing():
""" Draw a nice housing to hold the traffic lights """
tess.pensize(3)
tess.color("black", "darkgrey")
tess.begin_fill()
tess.forward(80)
tess.left(90)
tess.forward(200)
tess.circle(40, 180)
tess.forward(200)
tess.left(90)
tess.end_fill()
draw_housing()
tess.hideturtle()
tess.penup()
# Position tess onto the place where the green light should be
tess.forward(40)
tess.left(90)
tess.forward(50)
# Turn tess into a big green circle
red.hideturtle()
red.penup()
yellow.hideturtle()
yellow.penup()
green.hideturtle()
green.penup()
red.shape("circle")
red.shapesize(3)
red.fillcolor("red")
red.goto(40,50)
yellow.shape("circle")
yellow.shapesize(3)
yellow.fillcolor("yellow")
yellow.goto(40,120)
green.shape("circle")
green.shapesize(3)
green.fillcolor("green")
green.goto(40,190)
red.showturtle()
yellow.showturtle()
green.showturtle()
# A traffic light is a kind of state machine with three states,
# Green, Orange, Red. We number these states 0, 1, 2
# When the machine changes state, we change tess' position and
# her fillcolor.
# This variable holds the current state of the machine
state_num = 0
def advance_state_machine():
global state_num
if state_num == 0: # Transition from state 0 to state 1
red.fillcolor("green")
green.fillcolor("brown")
yellow.fillcolor("brown")
state_num = 1
elif state_num == 1: # Transition from state 1 to state 2
yellow.fillcolor("yellow")
green.fillcolor("green")
red.fillcolor("brown")
state_num = 2
elif state_num == 2:
yellow.fillcolor("yellow")
green.fillcolor("darkgreen")
red.fillcolor("brown")
state_num = 3
else: # Transition from state 2 to state 0
green.fillcolor("darkgreen")
red.fillcolor("red")
yellow.fillcolor("brown")
state_num = 0
# Bind the event handler to the space key.
wn.ontimer(advance_state_machine,0)
wn.ontimer(advance_state_machine,10000)
wn.ontimer(advance_state_machine,3000)
wn.ontimer(advance_state_machine,3000)
wn.ontimer(advance_state_machine,6000)
wn.listen() # Listen for events
wn.mainloop()
6:


Person brought to safety after emergency service response on the Redheugh Bridge
The southbound carriageway was closed for more than an hour on Saturday afternoon
by Katie CollingsA "distressed" person was brought to safety on the Redheugh Bridge by emergency services.
Police were called to the scene shortly before 1pm on Saturday afternoon to reports of a person in distress.
The southbound carriageway was closed for more than one hour while they dealt with the incident and buses and traffic were diverted.
Traffic was heavy around Scotswood Road as drivers had to divert away from the bridge.
The bridge fully reopened shortly after 2pm.
A spokesman for Northumbria Police said: "We were dealing with a person in distress and our response was to ensure their safety and the safety of the public.
"We have given the person the help and support required."
If you are in distress, you can call the Samaritans free at any time, from any phone, on 116 123.


Regional Homogeneity¶
Introduction & Background¶
Regional Homogeneity (ReHo) is a voxel-based measure of brain activity which evaluates the similarity or synchronization between the time series of a given voxel and its nearest neighbors (Zang et al., 2004). This measure is based on the hypothesis that intrinsic brain activity is manifested by clusters of voxels rather than single voxels. Kendall’s coefficient of concordance (KCC) (Kendall and Gibbons, 1990) is used as an index to evaluate the similarity of the time series within a cluster of a given voxel and its nearest neighbors. ReHo requires no a priori definition of ROIs and can provide information about the local/regional activity of regions throughout the brain.
The figure above (taken from Yan and Zang, 2010) shows the default mode network as detected by ReHo analysis (colors indicate t values).
Computation and Analysis Considerations¶
KCC is computed for every voxel in a subject, and is based on the time series of each voxel, the number of time points within a time series, and the number of voxels within a cluster (Zang et al, 2004). Depending on whether neighboring voxels are taken to include those on the side, edge, or corner of a given voxel, cluster size can be 7, 19, or 27 voxels, respectively. Values of KCC range from 0 to 1, with higher values indicating greater similarity between the activation pattern of a given voxel and that of its neighbors. Voxel-based maps are generated based on KCC values and then standardized using Z-scores in order to perform group analysis. For more detail on how CPAC handles these computations, please see the ReHo section of the developer documentation .
The results of ReHo analysis have been shown to vary significantly depending on both the number of neighbors in a cluster and the amount of spatial smoothing applied to the data. For example, Zang and colleagues (2004) found more neighbors and greater smoothing to yield greater differences between conditions in a motor task.
Applications and Recommendations¶
ReHo as an index of ongoing activity has been widely used in the resting-state literature. ReHo in the Default Mode Network (DMN) has been observed to increase during rest (Long et al., 2008) and decrease during task engagement (Zang et al., 2004), findings that fit well with the existing literature. In healthy subjects, ReHo measures are associated with individual differences in behavioral inhibition (Tian et al., 2012) and normal aging (Wu et al., 2007). In patient populations, altered ReHo has been observed in multiple conditions, including Alzheimer’s Disease (Liu et al., 2008), ADHD (Cao et al., 2006), and schizophrenia (Liu et al., 2006).
ReHo analysis can also be applied to task evoked fMRI data and is appropriate for application in block-based and slow event-related designs, but may not provide reliable results in rapid event-related studies. In such paradigms, the hemodynamic signal for a given timepoint is the result of multiple trials, and ReHo is unable to account for this overlapping of signals.
Configuring CPAC to Run ReHo¶
- Calculate Regional Homogeneity (ReHo) - [Off, On]: Calculate Regional Homogeneity (ReHo) for all voxels.
- Voxel Cluster Size - [7,19,27]: Number of neighboring voxels used when calculating ReHo. 7 (Faces), 19 (Faces + Edges), or 27 (Faces + Edges + Corners).
Configuration Without the GUI¶
The following key/value pairs must be defined in your pipeline configuration YAML for C-PAC to run anatomical preprocessing:
| Key | Description | Potential Values |
|---|---|---|
| runReHo | Calculate Regional Homogeneity (ReHo) for all voxels. | A list where ‘1’ represents ‘yes’ and ‘0’ represents ‘no’ (e.g., ‘[1]’). |
| clusterSize | The number of neighboring voxels used when calculating ReHo. Can be 7 (Faces), 19 (Faces & Edges), or 27 (Faces, Edges, & corners). | An integer with either 7, 19 or 27 as its value. |
References¶
Cao, Q., Zang, Y., Sun, L., Sui, M., Long, X., Zou, Q., Wang, Y., 2006. Abnormal neural activity in children with attention deficit hyperactivity disorder: a resting-state functional magnetic resonance imaging study . Neuroreport 17, 1033-1036.
He, Y., Wang, L., Zang, Y., Tian, L., Zhang, X., Li, K., Jiang, T., 2007. Regional coherence changes in the early stages of Alzheimer’s disease: a combined structural and resting-state functional MRI study . Neuroimage 35, 488-500.
Kendall, M.G., Gibbons, J.D., 1990. Rank Correlation Methods, 5th ed. Oxford University Press.
Liu, H., Liu, Z., Liang, M., Hao, Y., Tan, L., Kuang, F., Yi, Y., Xu, L., Jiang, T., 2006. Decreased regional homogeneity in schizophrenia: a resting state functional magnetic resonance imaging study . Neuroreport 17, 19-22.
Wu, T., Zang, Y., Wang, L., Long, X., Hallett, M., Chen, Y., Li, K., Chan, P., 2007. Normal aging decreases regional homogeneity of the motor areas in the resting state . Neurosci Lett 422, 164-168.
Xiang-Yu Long, Xi-Nian Zuo, Vesa Kiviniemi, Yihong Yang, Qi-Hong Zou, Chao-Zhe Zhu, Tian-Zi Jiang, Hong Yang, Qi-Yong Gong, LiangWang, Kun-Cheng Li, Sheng Xie, Yu-Feng Zang. Default mode network as revealed with multiple methods for resting-state functional MRI analysis , J Neurosci Methods (2008), 171(2):349-55
Yan, C.-G., & Zang, Y.-F. (2010). DPARSF: A MATLAB Toolbox for “Pipeline” Data Analysis of Resting-State fMRI . Frontiers in systems neuroscience, 4, 13. doi:10.3389/fnsys.2010.00013
Zang, Y., Jiang, T., Lu, Y., He, Y., Tian, L., 2004. Regional homogeneity approach to fMRI data analysis . Neuroimage 22, 394-400.


For over twenty years, Hope Again, a faith based organization, has served the poor, homeless, and disenfranchised in the Hollywood area. Their mission is to guide those trapped in poverty, crime, and substance abuse towards economic, social, and spiritual wholeness.
The organization expressed need for a website refresh that would modernize their web presence and promote community involvement.
Before addressing the website’s visual design, I developed wireframes to reorganize the website’s existing layout and content. I categorized content into relevant sections to allow users to access content with fewer clicks and to ensure that specific information is where users expect. I also limited the amount of content presented at one time; each page’s informational hierarchy ensures that a user’s focus is centralized, not divided between mass amounts of competing copy.
I oriented the homepage around Hope Again’s goal to increase user engagement. I introduced users to Hope Again’s mission by providing a short summary, then gave users three options to engage: learning more about the organization, volunteering time, or giving a donation.
The visual design conveys Hope Again’s credibility, transparency, and order. The design is direct and bold, free from excess stylization; emphasis rests on content. Information is distinctively sectioned onto different cards and with all main headers on the left, users can quickly locate the information they are looking for on each page. The color palette expands on Hope Again’s blue shade, emphasizing the order and relief Hope Again brings to people in need. Simple typography underlines Hope Again’s straightforward approach to quiet service and allows the content to speak for itself.
To add an air of familiarity, the photography represents sights commonplace to Los Angeles residents: people, small resident parks, and urban areas.
The site is compatible across browsers and fully responsive across devices.


Yes it is true, a new version of PandoraBoy is up, 0.5.1. I haven’t put it into Sparkle yet, and probably will skip it because it only fixes a couple of things (most notably, paid accounts now work correctly). Technically there’s an entire full-screen mode in there now with a plug-in architecture and public framework, but I’ve disabled it because it’s still kind of flakey and doesn’t work very well. I’m going to focus for a while instead on some of the bugs that have been reported and get those cleaned up.
Maybe I’ll play with the new version of ShortcutRecorder that just came out thanks to OmniGroup’s contributions (great company, great products). Hopefully I can get rid of my IB2 dependencies and finally move 100% into XCode3.
And of course I’ve been promising improvements in Sparkle that will help PandoraBoy a little bit, and I more deeply need for my day job. I’ve been mostly working on those during what I consider “day job” hours, but right now core product features are far more pressing than automatic updates. And #1 on my list: collapse the current branch back down to trunk! Ah, subversion, thou viper. Linus was right. There’s no such thing as “CVS done right.” But in truth, it isn’t so terrible, it just isn’t so good either….


- allocations() - Method in class structures.commons.DynamicArray
-
Returns the number of memory
re-allocations the internal array
has undergone such that the dynamic
array is in it's present state.
- ArrayList<E> - Class in structures.vectors
-
Basic implementation of a generic ArrayList.
- ArrayList() - Constructor for class structures.vectors.ArrayList
-
Constructs empty list.
- ArrayList(int) - Constructor for class structures.vectors.ArrayList
-
Instantiates an ArrayList with an internal array of
a specified length.
- ArrayList(E[]) - Constructor for class structures.vectors.ArrayList
-
Constructs ArrayList from array of elements.
- ArrayList(Collection<E>) - Constructor for class structures.vectors.ArrayList
-
Construct array list from Java Collection of values.
- ArrayQueue<E> - Class in structures.vectors
-
Implementation of Queue using
an internal array to hold data elements.
- ArrayQueue() - Constructor for class structures.vectors.ArrayQueue
-
Constructs empty LinkedQueue.
- ArrayQueue(E[]) - Constructor for class structures.vectors.ArrayQueue
-
Constructs LinkedQueue from array of keys.
- ArrayQueue(Collection<E>) - Constructor for class structures.vectors.ArrayQueue
-
Construct queue from Java Collection of values.
- ArrayStack<E> - Class in structures.vectors
-
Implementation of Stack using
an internal array to hold data elements.
- ArrayStack() - Constructor for class structures.vectors.ArrayStack
-
Constructs empty stack
- ArrayStack(E[]) - Constructor for class structures.vectors.ArrayStack
-
Constructs stack from array of values.
- ArrayStack(Collection<E>) - Constructor for class structures.vectors.ArrayStack
-
Construct stack from Java Collection of values.
- asString() - Method in interface structures.commons.Pair
-
Returns a JSON-like String representation of the pair.
- asString() - Method in interface structures.vectors.Vector
-
Returns a String representation of the Vector.
- AVLTree<K extends java.lang.Comparable,V> - Class in structures.trees
-
Self balanced AVL BinarySearchTree.
- AVLTree() - Constructor for class structures.trees.AVLTree
-
Constructs an empty AVLTree.
- AVLTree(K[]) - Constructor for class structures.trees.AVLTree
-
Initialize a BinarySearchTree with a specified
set of keys.
- contains(K) - Method in interface structures.commons.DataStructure
-
Determines whether or not the DataStructure contains a specified key.
- contains(K) - Method in class structures.graphs.Graph
-
Determines whether or not the DataStructure has a contains a specified key.
- contains(K) - Method in class structures.trees.BinarySearchTree
-
Determines whether or not a specified key is present in the tree.
- contains(K) - Method in interface structures.trees.BinaryTree
-
Determines whether or not a specified key is present in the tree.
- contains(K) - Method in class structures.trees.MaxHeap
-
Determines whether or not a specified key is present in the tree.
- contains(K) - Method in class structures.trees.MinHeap
-
Determines whether or not a specified key is present in the tree.
- contains(K, V) - Method in class structures.trees.BinarySearchTree
-
Determines whether or not a specified key-value pair is
present in the tree.
- contains(K, V) - Method in interface structures.trees.BinaryTree
-
Determines whether or not a specified key-value pair is
present in the tree.
- contains(K, V) - Method in class structures.trees.MaxHeap
-
Determines whether or not a specified key-value pair is
present in the tree.
- contains(K, V) - Method in class structures.trees.MinHeap
-
Determines whether or not a specified key-value pair is
present in the tree.
- contains(T) - Method in interface structures.vectors.Vector
-
Determines whether or not a specified value is in the vector
via linear search.
- containsKey(K) - Method in class structures.trees.BinarySearchTree
-
Wrapper around contains()
method for more readable syntax.
- containsKey(K) - Method in interface structures.trees.BinaryTree
-
Wrapper around contains()
method for more readable syntax.
- containsKey(K) - Method in class structures.trees.MaxHeap
-
Wrapper around contains()
method for more readable syntax.
- containsKey(K) - Method in class structures.trees.MinHeap
-
Wrapper around contains()
method for more readable syntax.
- containsValue(V) - Method in class structures.trees.BinarySearchTree
-
Determines whether or not the tree contains a given value.
- containsValue(V) - Method in interface structures.trees.BinaryTree
-
Determines whether or not the tree contains a given value.
- containsValue(V) - Method in class structures.trees.MaxHeap
-
Determines whether or not the tree contains a given value.
- containsValue(V) - Method in class structures.trees.MinHeap
-
Determines whether or not the tree contains a given value.
- copies() - Method in class structures.commons.DynamicArray
-
Returns the number of individual
data copies (from one location to another)
that the dynamic array has undergone such
that it can be in it's current state.
- IN_ORDER - Static variable in interface structures.trees.BinaryTree
-
Integer code for in-order tree traversal.
- indexOutOfBounds(int) - Method in interface structures.commons.DataStructure
-
Determines whether or not a specified index is within the bounds of the list
- insert(E) - Method in class structures.commons.LinkedStructure
-
Append a specified value to the back of the list
Time: O(1)
Space: O(1)
- insert(E) - Method in class structures.vectors.ArrayList
-
Inserts a value at the end of the list.
- insert(E) - Method in class structures.vectors.ArrayQueue
-
Inserts a specified key into the List.
- insert(E) - Method in class structures.vectors.ArrayStack
-
Inserts a specified key into the List.
- insert(E, int) - Method in class structures.vectors.ArrayList
-
Inserts a value at a specified index.
- insert(Collection<K>) - Method in interface structures.commons.DataStructure
-
Inserts a Java Collection into the data structure.
- insert(K) - Method in interface structures.commons.DataStructure
-
Inserts a specified key into the List.
- insert(K) - Method in class structures.graphs.Graph
-
Inserts a specified value into the List.
- insert(K) - Method in interface structures.trees.BinaryTree
-
Inserts a specified key into the tree with an empty value.
- insert(K[]) - Method in interface structures.commons.DataStructure
-
Inserts an array into the data structure.
- insert(K, V) - Method in class structures.trees.AVLTree
-
Insert a key-value pair into the tree.
- insert(K, V) - Method in class structures.trees.BinarySearchTree
-
Inserts a specified key-value pair into the tree.
- insert(K, V) - Method in interface structures.trees.BinaryTree
-
Inserts a specified key-value pair into the tree.
- insert(K, V) - Method in class structures.trees.MaxHeap
-
Inserts a specified key-value pair into the tree.
- insert(K, V) - Method in class structures.trees.MinHeap
-
Inserts a specified key-value pair into the tree.
- insert(T) - Method in class structures.vectors.LinkedStack
-
Inserts a value at the top of stack.
- insert(T, int) - Method in class structures.vectors.LinkedList
-
Insert specified value at specified index in list.
- insert(T, int) - Method in interface structures.vectors.List
-
Insert a value at a specified index
- insertFirst(T) - Method in interface structures.vectors.List
-
Insert element at front of list.
- insertLast(T) - Method in interface structures.vectors.List
-
Insert element at end of list.
- internalSize() - Method in class structures.commons.DynamicArray
-
Returns the size of the internal list.
- isBalanced() - Method in class structures.trees.BinarySearchTree
-
Determines whether or not the tree is balanced.
- isBalanced() - Method in interface structures.trees.BinaryTree
-
Determines whether or not the tree is balanced.
- isBalanced() - Method in class structures.trees.MaxHeap
-
Determines whether or not the tree is balanced.
- isBalanced() - Method in class structures.trees.MinHeap
-
Determines whether or not the tree is balanced.
- isBinarySearchTree(K[]) - Static method in class structures.trees.BinarySearchTree
-
Determines whether or not an array represents a complete binary search tree.
- isComplete() - Method in class structures.trees.BinarySearchTree
-
Determines whether or not the tree is complete.
- isComplete() - Method in interface structures.trees.BinaryTree
-
Determines whether or not the tree is complete.
- isComplete() - Method in class structures.trees.MaxHeap
-
Determines whether or not the tree is complete.
- isComplete() - Method in class structures.trees.MinHeap
-
Determines whether or not the tree is complete.
- isFull() - Method in class structures.trees.BinarySearchTree
-
Determines whether or not the tree is full.
- isFull() - Method in interface structures.trees.BinaryTree
-
Determines whether or not the tree is full.
- isFull() - Method in class structures.trees.MaxHeap
-
Determines whether or not the tree is full.
- isFull() - Method in class structures.trees.MinHeap
-
Determines whether or not the tree is full.
- isPerfect() - Method in class structures.trees.BinarySearchTree
-
Returns true if an only if the tree is perfect.
- isPerfect() - Method in interface structures.trees.BinaryTree
-
Returns true if an only if the tree is perfect.
- isPerfect() - Method in class structures.trees.MaxHeap
-
Returns true if an only if the tree is perfect.
- isPerfect() - Method in class structures.trees.MinHeap
-
Returns true if an only if the tree is perfect.
- iterator() - Method in class structures.commons.DynamicArray
-
Returns iterator for dynamic array.
- iterator() - Method in class structures.commons.LinkedStructure
-
Returns an Iterator to iterate over the list.
- iterator() - Method in interface structures.trees.BinaryTree
-
Returns iterator that iterate over pairs in pre-order.
- iterator() - Method in class structures.vectors.ArrayStack
-
Returns an iterator over elements of type T
.
- iterator() - Method in interface structures.vectors.List
-
Returns iterator (allows use with enhanced for loop)
- iterator(LinkedStructure.Node<E>) - Method in class structures.commons.LinkedStructure
-
Provided the head node of any LinkedList,
this method returns an Iterator.
- LEVEL_ORDER - Static variable in interface structures.trees.BinaryTree
-
Integer code for level-order tree traversal.
- LinkedList<T> - Class in structures.vectors
-
Basic implementation of Doubly Linked List
- LinkedList() - Constructor for class structures.vectors.LinkedList
-
Constructs empty list
- LinkedList(Collection<T>) - Constructor for class structures.vectors.LinkedList
-
Construct linked list from Java Collection of values.
- LinkedList(T[]) - Constructor for class structures.vectors.LinkedList
-
Constructs LinkedList
from array of keys.
- LinkedQueue<E> - Class in structures.vectors
-
Basic FIFO LinkedQueue implementation.
- LinkedQueue() - Constructor for class structures.vectors.LinkedQueue
-
Constructs empty queue
- LinkedQueue(E[]) - Constructor for class structures.vectors.LinkedQueue
-
Construct queue from array of values.
- LinkedQueue(Collection<E>) - Constructor for class structures.vectors.LinkedQueue
-
Construct queue from collection of values.
- LinkedStack<T> - Class in structures.vectors
-
Basic implementation of a LinkedStack class using a Linked List.
- LinkedStack() - Constructor for class structures.vectors.LinkedStack
-
Constructs empty stack
- LinkedStack(Collection<T>) - Constructor for class structures.vectors.LinkedStack
-
Construct stack from collection of values
- LinkedStack(T[]) - Constructor for class structures.vectors.LinkedStack
-
Construct stack from array of values
- LinkedStructure<E> - Class in structures.commons
-
Abstract class that all linked
structures such as linked lists,
linked queues, etc will extend.
- LinkedStructure.Node<T> - Class in structures.commons
-
Node class for chaining together keys in a LinkedList
- List<T> - Interface in structures.vectors
-
Abstract List structure.
- List.ListIterator<T> - Class in structures.vectors
-
Static Iterator class so that the List can be iterated on via
the enhance for loop.
- Pair<K,V> - Interface in structures.commons
-
Key-value pair object for use in Objects such as Maps and Trees.
- pairs() - Method in interface structures.trees.BinaryTree
-
Returns an ArrayList of key-value pairs in the tree in pre-order.
- pairs(int) - Method in class structures.trees.BinarySearchTree
-
Returns an ArrayList of key-value pairs in the a tree in a specified order.
- pairs(int) - Method in interface structures.trees.BinaryTree
-
Returns an ArrayList of key-value pairs in the a tree in a specified order.
- pairs(int) - Method in class structures.trees.MaxHeap
-
Returns an ArrayList of key-value pairs in the a tree in a specified order.
- pairs(int) - Method in class structures.trees.MinHeap
-
Returns an ArrayList of key-value pairs in the a tree in a specified order.
- peek() - Method in class structures.vectors.ArrayQueue
-
Returns but does not remove
the value at the front of the queue.
- peek() - Method in class structures.vectors.LinkedQueue
-
Returns but does not remove the
value at the front of the queue.
- peek() - Method in interface structures.vectors.Queue
-
Returns but does not remove the
value at the front of the queue.
- pop() - Method in interface structures.vectors.Stack
-
Retrieves and removes the topmost value from the LinkedStack.
- POST_ORDER - Static variable in interface structures.trees.BinaryTree
-
Integer code for post-order tree traversal.
- PRE_ORDER - Static variable in interface structures.trees.BinaryTree
-
Integer code for pre-order tree traversal.
- PrefixTree - Class in structures.trees
-
- PrefixTree() - Constructor for class structures.trees.PrefixTree
-
- prev - Variable in class structures.commons.LinkedStructure.Node
-
- push(E) - Method in interface structures.vectors.Stack
-
Pushes a specified value onto the LinkedStack.
- RED - Static variable in class structures.trees.RedBlackTree
-
- RedBlackTree - Class in structures.trees
-
- RedBlackTree() - Constructor for class structures.trees.RedBlackTree
-
- remove() - Method in class structures.vectors.ArrayQueue
-
Removes an element from the DataStructure.
- remove() - Method in class structures.vectors.ArrayStack
-
Removes an element from the DataStructure.
- remove() - Method in class structures.vectors.LinkedQueue
-
Removes an element from the DataStructure.
- remove() - Method in class structures.vectors.LinkedStack
-
Removes an element from the DataStructure.
- remove() - Method in interface structures.vectors.List
-
Removes and returns the next
element from list - provided the
natural order of removal in subclasses.
- remove() - Method in interface structures.vectors.Vector
-
Removes an element from the DataStructure.
- remove(int) - Method in class structures.vectors.ArrayList
-
Retrieves and removes the value at a specified index.
- remove(int) - Method in class structures.vectors.LinkedList
-
Removes a node at a specified index from the list.
- remove(int) - Method in interface structures.vectors.List
-
Retrieves and removes a value from a specified index
- remove(K) - Method in class structures.trees.AVLTree
-
Removes a node from thee tree via
it's key.
- remove(K) - Method in class structures.trees.BinarySearchTree
-
Retrieves and removes a specified key from the tree.
- remove(K) - Method in interface structures.trees.BinaryTree
-
Retrieves and removes a specified key from the tree.
- remove(K) - Method in class structures.trees.MaxHeap
-
Retrieves and removes a specified key from the tree.
- remove(K) - Method in class structures.trees.MinHeap
-
Retrieves and removes a specified key from the tree.
- removeFirst() - Method in interface structures.vectors.List
-
Removes first value from the List
- removeLast() - Method in interface structures.vectors.List
-
Removes the last value from the List
- removeValue(V) - Method in interface structures.trees.BinaryTree
-
Removes a value from the tree.
- rotateLeft(BinarySearchTree.BinarySearchTreeNode<K, V>) - Method in class structures.trees.SelfBalancingTree
-
Performs a left rotation on a subtree.
- rotateLeftLeft(BinarySearchTree.BinarySearchTreeNode<K, V>) - Method in class structures.trees.SelfBalancingTree
-
Performs a left-left rotation on a subtree.
- rotateRight(BinarySearchTree.BinarySearchTreeNode<K, V>) - Method in class structures.trees.SelfBalancingTree
-
Performs a right rotation on a subtree.
- rotateRightRight(BinarySearchTree.BinarySearchTreeNode<K, V>) - Method in class structures.trees.SelfBalancingTree
-
Performs a right-right rotation on a subtree.
- sameContents(Object) - Method in interface structures.commons.DataStructure
-
Checks that two DataStructures have
the same contents.
- sameContents(Object) - Method in interface structures.vectors.Vector
-
Checks that two objects (subclasses of Vector)
have the same contents, and the contents are
in the same order.
- sameType(Object) - Method in interface structures.commons.DataStructure
-
Determines at runtime via reflection whether
or not two implementing classes are of the
same type.
- SelfBalancingTree<K extends java.lang.Comparable,V> - Class in structures.trees
-
Abstract class for Self balancing trees
such as AVLTree and Red Black Tree.
- SelfBalancingTree() - Constructor for class structures.trees.SelfBalancingTree
-
- set(E, int) - Method in class structures.vectors.ArrayList
-
Overwrites a value at a specified index
with a new value.
- set(T, int) - Method in class structures.vectors.LinkedList
-
Overwrites a value at a specified index
with a new value.
- set(T, int) - Method in interface structures.vectors.List
-
Overwrites a value at a specified index
with a new value.
- Set - Interface in structures.sets
-
- shifts() - Method in class structures.commons.DynamicArray
-
Returns total number of values that
have been shifted to the left or right
such that the ArrayList is in its present state.
- size() - Method in interface structures.commons.DataStructure
-
Returns the number of keys in the data structure.
- size() - Method in class structures.commons.DynamicArray
-
Returns the number of elements in the ArrayList.
- size() - Method in class structures.commons.LinkedStructure
-
Returns the number of elements in the list.
- size() - Method in class structures.graphs.Graph
-
Returns the number of nodes in the data structure.
- size() - Method in class structures.trees.BinarySearchTree
-
Returns number of nodes in tree.
- size() - Method in class structures.trees.MaxHeap
-
Returns the number of keys in the data structure.
- size() - Method in class structures.trees.MinHeap
-
Returns the number of keys in the data structure.
- sort(K[]) - Static method in class structures.trees.BinarySearchTree
-
Returns a specified array of keys in ascending order via tree sort.
- sort(ArrayList<Pair<K, V>>) - Static method in class structures.trees.BinarySearchTree
-
Returns a specified array of key-value pairs in ascending order via tree sort.
- Stack<E> - Interface in structures.vectors
-
Concrete implementations of Stack
data structures will implement this
interface.
- structures.commons - package structures.commons
-
Contains all of the shared interfaces throughout the library.
- structures.graphs - package structures.graphs
-
Provides implementations of all combinations of weighted, unweighted, directed and undirected graphs.
- structures.maps - package structures.maps
-
Implementations of maps using different types of hashing techniques such as
chaining, double hashing, linear probing, and quadratic probing.
- structures.sets - package structures.sets
-
A package that contains different implementations of the set data structure.
- structures.trees - package structures.trees
-
A library of different tree implementations, mostly binary trees.
- structures.vectors - package structures.vectors
-
The core linear (vector-like) data structures in computer science.
- toArray() - Method in interface structures.vectors.Vector
-
Returns the data structure as an Object
array.
- toArray(T[]) - Method in interface structures.vectors.Vector
-
Returns the data structure as an array of a specified type.
- top() - Method in class structures.vectors.ArrayStack
-
Retrieves but does not remove the topmost value from the LinkedStack.
- top() - Method in class structures.vectors.LinkedStack
-
Retrieves but does not remove the topmost value from the LinkedStack.
- top() - Method in interface structures.vectors.Stack
-
Retrieves but does not remove the topmost value from the LinkedStack.
- toString() - Method in class structures.commons.LinkedStructure.Node
-
Returns a String representation of the node
- toString() - Method in class structures.commons.LinkedStructure
-
Returns a String representation
of the structure.
- toString() - Method in class structures.trees.BinarySearchTree
-
Returns a String representation of the tree.
- toString() - Method in class structures.vectors.ArrayList
-
Returns String representation
of the List.
- toString() - Method in class structures.vectors.ArrayQueue
-
Returns String representation of queue.
- toString() - Method in class structures.vectors.ArrayStack
-
Returns String representation of stack.
- toString(int) - Method in interface structures.trees.BinaryTree
-
Returns a String representation of the tree
in a specified order.
- toTreeString() - Method in class structures.trees.BinarySearchTree
-
Returns tree as String on it's side.
- toTreeString() - Method in interface structures.trees.BinaryTree
-
Returns the tree as a String
in tree format
for visualization.
- toTreeString() - Method in class structures.trees.MaxHeap
-
Returns the tree as a String
in tree format
for visualization.
- toTreeString() - Method in class structures.trees.MinHeap
-
Returns the tree as a String
in tree format
for visualization.
- TreeSet - Class in structures.sets
-
- TreeSet() - Constructor for class structures.sets.TreeSet
-


--- layout: post esbma_id: 1193 title: Law #11: The Law of Perspective date: 2004-06-15 14:52:48 keywords: law ---
(This entry is part of a series I am writing on The 22 Immutable Laws of Marketing.)
The Law of Perspective says that "marketing effects take place over an extended period of time", but the basic point of this chapter is that some marketing actions are negative in the long-term even though they seem positive in the short-term.
Short-Term Highs
The authors include an interesting discussion of sales and coupons in the retailing industry. They argue that these devices are like drugs -- they produce a short-term high, but the only way to maintain the high is to keep going. Eventually, you have to "keep those coupons rolling out not to increase sales but to keep sales from falling off if you stop." I assume this is the reason that our local furniture store is always running a sale -- they are afraid of going through withdrawl.
This advice can be applied in a small ISV. Resist the temptation to run short-term special sales. You may increase revenue in the short-run, but you may eventually train your customers not to buy at "regular" prices.
Patience
It is generally understood that public companies are forced into a 3-month planning horizon. Earnings must be reported to the public every quarter. If the stockholders are not happy with those earnings, then they will sell the stock, and its price will go down. In other words, the public is short-sighted, so publicly-owned companies must therefore find a way to be short-sighted as well.
This is one of the things I like about running a privately-held company. We have the freedom to be patient and look a bit further down the road. We don't have to do things which are positive in the short-term and negative in the long-term.


For my first post I would like to discuss the website for purchasing and loading an ORCA card in Seattle: orcacard.com. This website has a reputation for being difficult to navigate and since this is the only online option for buying or filling ORCA cards, if the frustration becomes to great, people will simply find a participating store or Sound Transit office to fill their cards. I think the goal is to encourage online transactions so a review is in order.
There are five criteria I will use for evaluating this website: accessibility, design, content, technological aspects and interactivity, and creativeness/originality.
The main page of Orcacard.com is pictured below.
The landing page of the ORCA website has a picture and slogan in the middle, a navigation menu in a banner on the left, a login form and search bar on the top, and more links toward the bottom. It also has an embedded YouTube video in the lower right hand corner.
In evaluating this page for accessibility, my first concern is the lack of language translations available; there are six in addition to English. A second concern is that the use of PDF's for documentation make it impossible for screen readers to parse the text on those pages.
Design
The design of this website is not particularly eye grabbing but it doesn't hurt my soul either. The picture in the center of the main page doesn't seem to have any purpose and I feel it is primarily taking up usable space. Although login forms and the menu main are top and left side where the eye usually tracks to, the picture is a distraction to that tracking. In addition, many of the links people might be looking for are buried on the bottom of the page. The use of green and blue on a white background is relaxing and well done. Although it is a nice touch to have an embedded video, the video itself is more of a silent advertisement and serves little purpose, see content. A few other design flaws I feel are the search bar located right below the "forgot login?" link, when the two functions have nothing to do with each other, and "forgot login?" is not styled to look like a button or link at all. Links are generally styled in blue with an underline but this is not consistent.
The Buried Beginning
Besides visual design, the architectural design of the website is a disaster. The first two links in the menu on the left side bar seem to be tacked on as an after-thought, with the third item being more of an introduction. I want to focus on the third item, ORCA options, to give an idea of how jumbled together this site is. A picture of the screen is below.
When you click on ORCA options you get a new page and a drop down menu in the side bar under the ORCA options link. Three separate links are in the dropdown: Products, About ORCA, and Using ORCA. Strangely, the new page is titled "ORCA options", but the content is labeled "About ORCA". To get to the first item in the dropdown menu, Products, you can click on it, and it appears as below.
As you can see, although the top of the page has a link to a products PDF (more clicking), the rest of the page is titled "How will you use ORCA", but this is also the title of the third menu item. This entire page could go into a very pared down introduction page for people new to ORCA and the website.
Content
Ah, content. This part of the website also needs a complete overhaul. My main gripe here is that instead of dealing with one task at a time, too many directions are listed on one page, and it soon gets overwhelming. As mentioned above, the embedded video is of people putting on shoes, feet boarding buses, hands with ORCA cards and cell phones, all to a guitar and drum soundtrack. A video showing riders how to actually buy refill cards would be more useful.
I feel the goal for this website should be to encourage people to get a card online, and the first page should make this easy and understandable. Links to ordering by mail or in person could be prominent, and lead you to a different page. Since elderly and youth purchasers cannot buy online (they must prove their age), this should be the first weeding process done. Why make those people slog through the directions for online purchase when they cannot do it? My second big gripe is that the some links just pop you to a glossary page with a list of terms, and the terms themselves end up requiring you to click on them again. As this list is long, it is not a guarantee that you will see your term on the page when you get there and scrolling may be required to find it. You need to find your term and click to see a definition. I feel a frame popping up with the definition would be more usable than what they have designed. And some people will be confused when they do not see the term listed. In the end, there is far too much information on most pages and it is not written in a simple, easy to understand way.
Technological aspects and interactivity
In an effort to say a few positive words about this website, I will say I was able to create an account and login with no issues. I possess an ORCA card already, and I was able to register it and add funds. The only irritating feature was having to tab through birth date and credit card fields instead of the form doing it automatically. I would also suggest that all links be consistently styled and immediately get you to where you need to be.
Creativeness/Originality
Although this website is lacking in both these categories, I think it would be difficult to combine a clean efficient website that gets you in and out in a hurry, and something that makes you go ah. Would love to hear your ideas about this, please contact me you have any suggestions.


Banka
Home
Sign In
Sign Up
User Sign In Form
Email
*
Password
*
Sign In
Don't have an account?
Sign up
for a user account


org-ruby
1 Description
Helpful Ruby routines for parsing orgmode files. The most significant thing this library does today is convert orgmode files to textile. Currently, you cannot do much to customize the conversion. The supplied textile conversion is optimized for extracting “content” from the orgfile as opposed to “metadata.”
2 History
2.1 2009-12-30: Version 0.5.1
- Minor enhancement: Recognize lines starting with “:” as examples.
- Minor enhancement: Recognize #+BEGIN_SRC as source blocks
- Minor enhancement: Add “src” and “example” classes to <pre> blocks.
2.2 2009-12-30: Version 0.5.0
- Parse (but not necessarily use) in-buffer settings. The following in-buffer settings are used:
- Understand the #+TITLE: directive.
- Exporting todo keywords (option todo:t)
- Numbering headlines (option num:t)
- Skipping text before the first headline (option skip:t)
- Skipping tables (option |:nil)
- Custom todo keywords
- EXPORT_SELECT_TAGS and EXPORT_EXLUDE_TAGS for controlling parts of the tree to export
- Rewrite “file:(blah).org” links to “http:(blah).html” links. This makes the inter-links to other org-mode files work.
- Uses <th> tags inside table rows that precede table separators.
- Bugfixes:
- Headings now have HTML escaped.
2.3 2009-12-29: Version 0.4.2
- Got rid of the extraneous newline at the start of code blocks.
- Everything now shows up in code blocks, even org-mode metadata.
- Fixed bugs:
- Regressed smart double quotes with HTML escaping. Added a test case and fixed the regression.
2.4 2009-12-29: Version 0.4.1
- HTML is now escaped by default
- org-mode comments will show up in a code block.
2.5 2009-12-29: Version 0.4
2.6 2009-12-27: Version 0.3
- Uses rubypants to get better typography (smart quotes, elipses, etc…).
- Fixed bugs:
- Tables and lists did not get properly closed at the end of file
- You couldn’t do inline formatting inside table cells
- Characters in PRE blocks were not HTML escaped.
2.7 2009-12-26: Version 0.2
- Added
to_html
output on the parser.
- Added support for the full range of inline markup: bold, italic,
code
, verbatim
, underline, strikethrough.
- Lots of refactoring to make the code more maintainable.
2.8 2009-12-23: Version 0.1
- Added support for block code, like this:
def flush!
@logger.debug "FLUSH ==========> #{@output_type}"
if (@output_type == :blank) then
@output << "\n"
elsif (@buffer.length > 0) then
if @cancel_modifier then
@output << "p. " if @output_type == :paragraph
@cancel_modifier = false
end
@output << @paragraph_modifier if (@paragraph_modifier and not sticky_modifier?)
@output << @buffer.textile_substitution << "\n"
end
@buffer = ""
end
- Major code cleanup: Created the
OutputBuffer
class that greatly simplified a lot of the messiness of textile
conversion.
- Added support for line breaks within list items.


Home
Timeline
Toolkit
Demo
About Us | FAQ
3 Approved Vaccines
There are three COVID-19 vaccines authorized for emergency use by the FDA.
The Pfizer-BioNTech vaccine is given in two shots, 21 days apart, and is authorized for use in people 16 years of age and older.
The Moderna vaccine is given in two shots, 28 days apart, and is authorized for use in people 18 and older.
The Johnson & Johnson/Janssen vaccine is given as a single shot, and is authorized for use in people 18 and older.
There are also several other vaccines in various stages of clinical development.
Learn More
Current Population Priority
Learn More
Get information from valid sources
We created a list of all valid sources for vaccine information
Learn More
Second Dose
Completing the second dose is important to build antibodies.
Learn More
Be A Volunteer
California Volunteers needs your help to #VaccinateAll58.
Learn More


public class Beat
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
(package private) int |
beat_width
The width of the beat
|
(package private) int |
cent
The horizontal center of the beat
|
(package private) ValueAnimator |
centAnim
The Animator of the beat.
|
(package private) Rect |
rectangle
The rectangle that represents the position of the beat
|
(package private) boolean |
used
Represents if the beat has been used or not
|
(package private) int |
width
The width of the view
|
| Constructor and Description |
|---|
Beat(int left,
int top,
int right,
int bottom,
long time_delay,
long duration,
int bw,
int w)
Constructor, initializes the data members, and sets up the Animator
|
| Modifier and Type | Method and Description |
|---|---|
(package private) void |
Animate()
Starts the animator
|
boolean |
getUsed() |
void |
onAnimationUpdate(ValueAnimator animation)
Updates the right and left values of the rectangle as the center value is animated
If the beat gets to the end and is used, the beat will be set to unused.
|
void |
setUsed(boolean u)
Sets the beat's used value
|
void |
update(int t,
int b)
Updates the top and bottom of the rectangle
|
Rect rectangle
boolean used
int beat_width
int width
int cent
ValueAnimator centAnim
Beat(int left, int top, int right, int bottom, long time_delay, long duration, int bw, int w)
left
- - the left edge of the beattop
- - the top edge of the beatright
- - the right edge of the beatbottom
- - the bottom edge of the beattime_delay
- - the time-delay for the animation in millisecondsduration
- - the duration of the animation in millisecondsbw
- - the width of the beatw
- - the width of the viewpublic boolean getUsed()
public void setUsed(boolean u)
u
- - a boolean value for if the beat should be used or notpublic void update(int t, int b)
t
- - top valueb
- - bottom valuepublic void onAnimationUpdate(ValueAnimator animation)
animation
- - The animation that will be usedvoid Animate()


How it Works
- You will answer question by question while keeping your head still in front of the camera
- Baseline Test: Click and answer 10 questions one by one
- Machine learning model will be trained based on:
- Tone Analysis
- Eye Tracking
- EEG Waves
- Blink Pattern
- Actual Lie Detection Test will begin after training
- Good Luck!


GET http://<IP_ADDRESS>:134/minefield/unlinked/api/
| action | accepted values: get, beacon | |
| video | YouTube videoID, the v parameter in the URL, also known as the id parameter in the YouTube video API | |
| user | YouTube userID - case sensitive, part of the user profile URL. For example http://youtube.com/user/userID It may be different than the displayed name in channel. This is also the forUsername parameter in the YouTube channel API |
|
| channel | YouTube channelID, the id parameter in the YouTube channel API | |
| uploads | YouTube channelID, the id parameter in the YouTube channel API | |
| page | user uploads page that you would like fetch to, default is 1 | |
| callback | User specific function, allows you to make cross-domain requests using JSONP | |
| bold red = required |
minute ago
.51ms
minute ago
.51ms


{% extends "base.html" %} {% block stuff %}
Projects that are not loaded from Clarity LIMS have no 'open_date' attribute in Status DB and will be treated as opened exactly on the specified date. Projects that do not have the application field filled in will be listed under 'null'.
The amount of sequencing projects by application type that were opened within the given timeframe.
| Application | # Projects |
|---|
The amount of samples per sequencing application within the same timeframe.
| Application | # Projects |
|---|


Home
Trains
Booking
PNR Status
Contact Us
Contact Us
Developers :
Name :
Nabeel Ahmed
Role :
Analysis, Coding, Testing, Designing
EmailId :
<EMAIL_ADDRESS>Name :
Nikhil C Padia
Role :
Analysis, Coding, Testing, Designing
EmailId :
<EMAIL_ADDRESS>Information
Trains Btw Stations
Train Schedules
Fare List
Other Railway Websites


Getting set up is quick and easy! Here's your checklist of things to do:
Design and select what data you want to capture.
Enter your credentials and we'll set it up automatically.
You can change your location name in your settings.
Engage with your customers, capture emails. Send campaigns and more.
Everyone needs more customers. MIMO helps you understand their behaviour better. Understand how often they visit you, send them an offer if they've not been back for while. It's pretty sweet.
If you want to learn more, we've created loads of helpful documents. You'll find them over here.
And don't forget to follow us on twitter @ohmimo! We'll help you there too.


Cube vs Sphere
About
Conspiracy! The Cube Kingdom is left outraged as King Cubulus III grieves for his 457 missing children, all kidnapped one fateful Tuesday afternoon. As we commiserate the king's loss, we can't help but wonder, is there someone out there, some devilishly handsome rogue, who would step forward and vow to bring back King Cubulus' children safe and sound, no matter the cost? Will you rise to the occasion, and bring stability to a kingdom in turmoil? Or will you succumb to the temptations of the evil Spheres? All of this, and more, in Cube vs. Sphere
Development
Cube vs. Sphere is the personal project of the former president of our club, Josh Owens. CvS is a time based mobile game in which you have to quickly navigate procedurally generated caves looking for a cube that you have to collide with to end the level. While doing this you must dodge sphere shaped enemies and collect power ups to either evade these enemies or clear the level faster.


I’ve been starting to have a look at podman recently and in doing so, I noticed something potentially interesting from a security perspective, which is how podman handles the pulling of new container images. As podman is billed as a “drop-in” replacement for Docker (and indeed provides a package to alias docker commands to their podman equivalents), it’s interesting to note how default settings might differ, as these differences could trip up unsuspecting users moving from Docker to podman.
One of the more fixed things in the Docker landscape is how it address container image registries. Docker hub is hard coded in the source code of Docker as the default registry, so that if you do something like docker pull nginx
or docker pull raesene/alpine-containertools
it will assume that you’re looking for these images on Docker Hub. If you want to pull from an alternate registry, you need to provide the hostname and port of that registry server.
This behaviour appears to have been a source of frustration for other organizations in the container ecosystem, so it’s not really a surprise to find that it works differently when you use other tools, like podman.
What podman does is allow users to specify their registry search order via a configuration file stored at /etc/containers/registries.conf
. On a CentOS8 install the default registry search order is this
[registries.search]
registries = ['registry.redhat.io', 'quay.io', 'docker.io']
From that, we can see that both Redhat’s registry and Quay come in before Docker.
This has a potentially interesting side effect from a security perspective, which is, if a user requests an image without specifying the host name and port of the registry, they could get the wrong image.
To give an example. On Docker hub there’s an image I have with some container tooling called alpine-containertools. As an experiment I tried creating the same image name with totally different content on Quay.io which is here.
So if you use podman and run docker pull raesene/alpine-containertools
you’re going to get the wrong image.
This could lead to attackers essentially squatting on common Docker Hub accounts to try and trick users into pulling malicious images. A process made somewhat easier by the fact that you can register organization names on Quay.io (for example, I registered nccgroup).
What can you do about this?
Well if you’re planning to adopt podman there’s a couple of things you could do to mitigate this risk
- Change the search order in registries.conf to have
docker.io
first, which essentially restores the default behaviour (although it could still produce unexpected results if you misspell your pull request) - Remove the other registries from the file altogether (which essentially makes the behaviour the same as Docker)
- Ensure that you’ve registered any names you use on Docker Hub on Quay.io (this only works where you’re pulling Docker Hub images from accounts you control, but of course who pulls Docker Hub images from accounts they don’t control!)
- Use FQDNs for all your
pull
orrun
statements, essentially bypassing the search order. - Make use of image signing to check that the image pulled is the same as that which was expected.


Introduction
The following pages are for the users who want to use NumSharp.
Before you read the code examples you should read this page which explain some basis concepts. An other reference can be numpy since we try our best to follow their APIs (High level - not lower level).
NDArray, NDStorgage and Shape
The 3 main classes in NumSharp are NDArray, NDStorage and Shape. If you want to have a better understanding for NumSharp, you can read the following lines to see how all works together.
Let's start with the question - what is a Tensor?
From programming point of view a tensor is a multi-dimensional array (scalar, vector, matrix, ...) mostly for numerical data like int32, int64, doubles, ... which can be accessed via indexes like np[idx], np[idx,jdx], np[idx,jdx,kdx], ... depending on its dimension.
Ok - in this sentence we got already some properties.
- a tensor is an object for storing (mostly) numerical data
- a tensor has a dimension
- the dimension decides how many indexes are necessary to access the stored data
Each tensor type (dimension 1 - vector, dimension 2 - matrix, ...) has its own .NET type like double[,].
NumSharp brings its own tensor / array type called NDArray.
So now the question - .NET offers already multi-dimensional arrays - why a new array type?
NumSharps NDArray offers the capability of storing any tensor (independent of dimension!) into its internal storage. So NumSharps NDArray can store a vector, a matrix or sth with dimension 5 and higher. This is not possible with .NET arrays since each tensor type is a different class. This offers users the possibility to use same methods for different tensor types.
Now the next question - how a NDArray can do this?
First of all we need to be a little bit more abstract. Why we use tensors? Because we want to store data and we want to get them. How we get and set them? We get and set via indexes (which are always integers). So just this data are important and the corresponding indexes. That's it. Data + Indexes. :)
With this in mind we easily can understand the NDStorage of NumSharp.
NDStorage is an object which stores the data of a tesor in a single 1D array. Since it is a 1D array independend of the tensor dimension NDStorage can be used for all kind of tensors. A vector is stored inside a 1D array, a matrix, a 3 dimensional tensor and so on.
But hold on! How the data comes into this 1D arrayand how we get them back?
NDStorage has a property called "shape". The shape is a small but important class in NumSharp. It stores the dimensions and most important! it determines which element in the 1D array is selected by given indexes.
To understand the methods for determines 1D internal storage index by NDArray indexes and vice versa we give examples of different tensor types.
Vector
Imagine a 1D tensor (a vector). Here it is easy because you can access the data with a single index like 'a = np[idx]'. The internal data store in NDStorage is a 1D array - so index to access is the same index in internal storage.
Matrix
Here it is a little bit more tricky. Each data element is stored by 2 indexes like np[idx,jdx] = 5. The internal storage is a 1D array so .... there must be a way to map the 2 indexes [idx,jdx] at NDArray level to a single index [kdx] in NDStorage level.
Indeed there is!
Not just in NumSharp but also in many other frameworks, libs or (general spoken) languages it is good style to store the elements of a matrix row wise or column wise into a 1D array. For a more professional description you can check https://en.wikipedia.org/wiki/Row-_and_column-major_order. Row wise Layout and column wise layout often also called row major and column major.
General spoken when imagine a matrix as a table - Row wise means that you start with element [0,0] (as your first element in 1D array) and take elements from columns of 1st row (and store them in the 1D array) until all elements of the 1st row are stored inside the 1D array. You go on with the 2nd row - take element [1,0],[1,1],[1,2],...,[1,n-1]. Go on with this pattern until all elements are inside the 1D array.
Column wise also starts with the element [0,0] but! it stays in the 1st column and takes elements along the rows until all elements from 1st column is stored. Repeat this with 2nd column, 3rd and so on.
The image below (taken from https://en.wikipedia.org/wiki/File:Row_and_column_major_order.svg) shows again the 'algorithm' for storing data from matrix to vector.
N dim tensor
Now we come to the most tricky question - how to store a general n dimensional tensor inside a 1D array.
Short anwser - exactly like a matrix - just more generalized.
First we look again the row wise order.
[0,0] -> [0,1] -> [0,2] -> [0,3] -> [0,n-1] -> [1,0] -> [1,1] -> [1,2] -> [1,3] -> ...
So here we stay in one dimension (the first / rows) and fill the other dimensions until the dimension is full. After we switch to the next higher level of dimension (so change to next row).
For higher dimensions like 3D - NumSharp follow this pattern.
[0,0,0] -> [0,0,1] -> [0,0,2] -> [0,0,3] -> [0,0,n-1] -> [0,1,0] -> [0,1,1] -> [0,1,n-1] -> [0,2,0] -> [0,2,n-1] -> [0,m-1,0] -> ...
General spoken - you can image it as a backward filling layout.
As you can see the dimensions are filled beginning from last dimension, if one dimension is full, the dimension before is increased.
Next we look the column wise order.
[0,0] -> [1,0] -> [2,0] -> [3,0] -> [n-1,0] -> [0,1] -> [1,1] -> [2,1] -> [3,1] -> ...
Again we stay in one dimension but here in the last / column. The rows are filled until the 1st column is full and next dimension is increased.
So fill first dimension, increase next, fill again, etc. also in n dimensional tensor.
[0,0,0] -> [1,0,0] -> [2,0,0] -> [3,0,0] -> [n-1,0,0] -> [0,1,0] -> [1,1,0] -> [n-1,1,0] -> [0,2,0] -> [n-1,2,0] -> [0,m-1,0] ->
And this you can imagine as forward filling layout.
That's it. Now you have enough knowledge about NDArray, NDStorage and Shape. Check the other chapters for a how to use. :)


Web images are sized at 460px, 620px, and 940px wide, and can have several different aspect ratios. All images download at 2× scale for retina screen support.
Social images are sized to match the aspect ratios of their respective platforms’ “cards”.
Need a custom sized-image for your chart? Just pick a width, aspect ratio, and scale factor.


I provide English into Spanish and Catalan subtitles for films, series, documentaries, etc.
English into Spanish and Catalan subtitles for the Deaf and the Hard of Hearing.
English into Spanish and Catalan game and video game localisation.
English into Spanish and Catalan website localisation.