Through some backups, I recently re-discovered a folder with some high school/college projects that I thought had been lost to the sands of time. One of them was an early attempt at a small RPG written in Z80 assembly for the TI-86 graphing calculator. I know what you’re thinking -- what did I do wrong to be tortured in such a way?
At the time, the TI-86 was a consistent device for entertainment in classes for young slackers such as myself. I thought it would be fun to build a non-text based game, which meant I had to use assembly instead of TI-BASIC. It would be my first foray into writing anything at such a low level and it gave me a lot of great insights into low level programming that I still probably use today.
A Brief History of the Z80
Before we get into the meaty details, a little history. The TI-83/4/5/6 graphing calculator series used the Zilog Z80 microprocessor, an 8-bit based CPU introduced by Zilog back in 1976 and, remarkably, is still in production to this day for many embedded/consumer devices (including those aforementioned graphing calculators). The Z80 was software compatible with the previously popular Intel 8080 but extended and enhanced it in a couple important ways that propelled it to its eventual popularity. Outside of the TI graphing calculators it was used in such devices as the Gameboy and Gameboy Color.
Compiling the Source Code
Due to its popularity, there are a lot of tools out there for the Z80,
spanning decades of work. It took a little digging around but I was able to
find an assembler that worked on OSX (and other Unix based systems) called
zasm
that is still being actively worked on today! It’s available as a
binary download or if you’re more homebrew inclined, I added a
formula to my personal homebrew repository that makes
installing it a cinch.
brew tap a5huynh/brew
brew install zasm
With zasm
in hand, lets run the compiler on the source code and see what happens:
> zasm src/MiniRPG.asm -o dist
in file MiniRPG.asm:
1: #include "ti86.inc"
^ file "src/ti86.inc" could not be read:
No such file or directory: file = "src/ti86.inc" (fd108)
assembled file: MiniRPG.asm
54 lines, 1 pass, 0.0044 sec.
1 error
Well, nobody said it was going to be easy.
The Case of the Missing Includes
It turns out I had been using an include file, ti86.inc
, which I had not
backed up with the rest of my source code. These include files define RAM
and ROM functions/memory locations so that instead of writing a function
call like call 4AB1h
, we can write call _runIndicOff
. There are also
constants for things like different key presses and commonly used memory
locations.
To find this missing file, I went to the incredibly useful ticalc.org file archives to see if there are include files I could use and stumbled upon the Ultimate TI-86 Include File. A cursory look through the file showed me that it had all the missing symbols that the assembler would be expecting from an include file.
Let’s run it again and see what happens:
> zasm src/MiniRPG.asm -o dist/main.86p
assembled file: MiniRPG.asm
3332 lines, 2 passes, 0.0542 sec.
no errors
Perfect! Looks like zasm
was able to assemble the source code without any
issues and created a small binary. Now that we have a binary to work with,
the next step is figuring out how to run the program.
Running the Code
Since I no longer have a TI-86 calculator on hand, the next best thing would be to find an emulator. Looking through the ticalc.org website, I was able to find archives for the cross-platform emulator Wabbit that supports emulation of the TI-83/4/5/6 series of calculators. It's a little over the top with a full-on skin of the TI-86 calculator and forces you to actually click on the image to type things out, but it works nonetheless.
Loading the output from zasm
into the emulator lead to nothing. Turns
out, it was expecting a specific file format for the assembly program to be
packed into before it could successfully transfer and run the application.
The 86p File Format
This lead to a 🌟fun 🌟 detour through the 86p file format, a proprietary file
format for different equations/variables/graphs/programs for the TI-86.
There are no existing tools (to my knowledge) that allow you to pack/unpack
programs in this file format, so I whipped up a python script based on the
format specifications to analyze existing TI-86 binaries and a packer to
pack the final output of the zasm
assembler into something that can be
transferred and run by the TI-86 emulator.
You can check out the pack & unpacker code here
For example, analyzing the final output of assembled and packed game would look like so:
> python scripts/unpack86.py dist/MiniRPG.86p
-- Header --
Signature: 0x2a2a544938362a2a | **TI86**
Signature: 0x1a0a00
Comment: Packed by pack86.py
Data Size: 4322 bytes
-- Data --
Data Header: (12, 4306, 18, 7, b'MiniRPG\x00', 4306)
Program Len: 4302
Program Type: 0x8e28
Checksum (in file): 0x8bf7
Checksum (calculated): 0x8bf7
This enabled me to dig into valid 86p files that I knew worked on the emulator and compare that with output I created with my packing script.
The 86p
file format is broken into 3 parts. There’s much more detailed
documentation available from ticalc.org, but I thought it’d be fun to break
down a real-life example. Let’s first take a look at the header section:
2A 2A 54 49 38 36 2A 2A **TI86**
1A 0A 00 Magic Number
<42 bytes> Comment
<2 bytes> Length of the data section
The header always starts off with the same 11 bytes, **TI86**
followed by
the magic number 0x1a0a00
. This is followed by a comment section of
42 bytes, ASCII encoded. If the comment is less than 42 characters long,
the rest of the space is padded by null (0x00
) bytes. And lastly, we have
2 bytes which indicates how large the “data” section will be.
The data section contains another header and embedded in it the program itself (which itself also has a header). The header of the data section is a bit more complex so I’ll break it down using a table. Note that the data section can also be used to store variables, equations, graphs, etc.
| # of Bytes | Description |
|---|---|
| 2 | Always 0x0c00 (12). |
| 2 | Length of the program data. |
| 1 | Data Type ID. |
| 1 | Length, in characters, of the variable name. |
| 8 | Variable name, padded w/ space (0x20 ) or null (0x00 ). |
| 2 | Length of the program data (again). |
Breaking down a real-life example generated by my packing code:
0C 00 Magic Number
58 05 Lenght of the program data.
12 Data Type (Program)
07 Length of the variable name
4D 69 6E 69 52 50 47 00 MiniRPG (variable name)
58 05 Length of the program data
Finally the program itself, which itself has a small header that encodes how large the ASM code is and the type of program. Since this file format is also used to backup programs you may have written on the calculator, the program type are different variations of ASM and TI-BASIC identifiers.
58 05 Program length.
8E 28 Program type.
.. .. <program in ASM>
Putting it All Together
After all that 🌟fun 🌟 research into the file format and a little trial and error I was able to finally create a working toolchain that leads from source code to running program:
- Assemble the source code,
- Pack the generated binary into the appropriate file format,
- Transfer the file over to the TI-86 emulator,
- And finally run the program!
Below I embedded a video of the game running in all its full glory on the Wabbit emulator. There are a couple visual glitches and you can't really do anything except walk around the scene I created.
Nothing to phone home about, but I’m still impressed I was able to get a rudimentary rendering system and NPC conversational system together in Z80 assembly.
For Next Time
This was a fun nostalgia trip but now that I have a working toolchain it also gave me a bunch of ideas I want to try out for a more in-depth dive into Z80 assembly.
- Grayscale rendering
If you take a look at a closeup gif of the running game in Wabbit, you'll see that it oddly flashes due to the grayscale rendering, as seen below:
The TI-86 itself only renders in black and white and to accomplish grayscale rendering requires a bit of a hack where for each screen refresh we swap in/out screen memory to simulate grayscale. This would normally work on the actual hardware but the emulator is unable to correctly handle this particular method. There is another method that is supposed to be faster, more reliable, and should work with the emulator that I intend of implementing for the next article.
- Running on actual hardware
Unfortunately TI-86 graphic calculators have been discontinued and my old calculator has been lost to time. I plan on finding a working version to see if this will work on actual hardware as well.
- Run on different hardware
Due to the popularity of the Z80, it'd be interesting to see if I could get a basic version of this "game" running on other platforms, such as the GameBoy or GameBoy Color as well.
- Compilation from a different language
As 🌟fun 🌟 as it is working on Z80 assembly, it'd be interesting to see if I can build out a toolchain in C/Haskell/TypeScript/Rust that would be able to compile down to Z80 assembly.


Ractive.js Google Analytics decorator plugin
Adds basic support for Google Analytics event tracking within Ractive templates.
Demo


ODOMETRY
x
x =
?
y
y =
?
theta
theta =
?
speedL
speedL =
?
speedR
speedR =
?
clicNumber
clicNumber =
?


Poke locavore pickled small batch. Drinking vinegar authentic yr waistcoat craft beer. Readymade before they sold out mustache, prism fixie portland jean shorts banh mi fap cornhole messenger bag lo-fi. Quinoa bushwick vegan, beard polaroid kombucha flannel ramps put a bird on it iPhone green juice activated charcoal. Narwhal venmo fashion axe, banh mi hexagon butcher green juice slow-carb wayfarers raclette lo-fi man bun beard heirloom. Blue bottle pickled celiac, enamel pin biodiesel viral humblebrag 8-bit waistcoat. Locavore tote bag gastropub everyday carry, ennui microdosing tilde listicle cliche flexitarian enamel pin wayfarers fashion axe try-hard authentic.
Portland kombucha brunch sustainable kinfolk. Retro iceland iPhone live-edge. Scenester paleo etsy prism distillery. Bicycle rights food truck fingerstache, kale chips chartreuse leggings letterpress humblebrag. Slow-carb williamsburg XOXO, +1 heirloom tbh echo park pop-up meditation post-ironic actually. Slow-carb sustainable poutine, health goth poke yr quinoa chambray taxidermy deep v readymade. Williamsburg photo booth ugh heirloom you probably haven't heard of them drinking vinegar.


A component list can be used to dynamically add and remove components.
It uses Angular's FormGroup
and FormArray
to store the fields
and apply validation rules which can be used to determine whether or not we should be
allowed to add additional fields.
The following code can be used to create the example above:


trust your intuition or trust the data?
both strategy can co-exist strengthen each other
data help us identify a particular business problem
data + knowledge + experiences define the direction
top-to-bottom, role model strategy
no HiPPO: Highest Paid Person’s Opinion
challenge everyone, everything constructively
problem
→ hypotheses
→ collecting
→ analysis
→ initiatives
→ A/B test
→ solution
e-commerce provide tons! of data
one goal → path to profitability
track everything possible
measure everything possible
Knowledge to use analytics to improve business
Competing priorities
Skills: Collecting & Analyze
Discouraged by culture
Executive sponsorships
Perceptions cost > benefits
Don't know where to start


Lucy Beaumont's panel show appearances
Lucy Beaumont (born 1873-05-18[ref]) has appeared in 10 episodes between 2013-2016. Lucy Beaumont on IMDB. Lucy Beaumont on Wikipedia. Lucy Beaumont on Chortle.
- 2016-10-28 / QI
- 2015-06-29 / Just A Minute
- 2015-06-08 / Just A Minute
- 2015-03-12 / Listomania
- 2015-03-10 / Alan Davies: As Yet Untitled
- 2014-04-21 / The Unbelievable Truth
- 2014-04-07 / The Unbelievable Truth
- 2014-02-18 / Dilemma
- 2013-05-06 / The Unbelievable Truth
- 2013-04-15 / The Unbelievable Truth


Carillu
The Adventures of Carillu
Carillu and her best friend Froggie, meet new friends while learning about honest, sharing, integrity and being kind to others.
Carillu is my latest project. It features Froggie, a blue frog that finds out he has to move to the big city with his parents and is sad to have to leave his friends. He wonders what his life will be like and if he will be able to make new friends.
The Beginning
The Creation of Carillu and Froggie
Carillu and Froggie were developed when I challenged myself to explore design through a child's eyes. As I began to create these characters and their friends, they came to life. I decided to use Carillu and Froggie to teach life skills to small children. Principles of honest, sharing, kindness and acceptance of others around us are taught in a fun and creative way.
Froggie
Where it all Began
My first character was Froggie. A young blue frog that was sad when he found out his parents were moving them to the city. He didn't want to leave his friends and was worried about finding new friends.
The Character
Developing 3 Dimensional
Once Froggie was developed in Illustrator, it was time to bring him to life. Using polymer clay a 5" version of Froggie was created. Packaging for the Froggie toy was designed and developed. Finally, 1.5" game pieces were then created in polymer clay.
The Story
Froggie's Adventure
Writing and illustrating a children's book continued the evolution of Froggie. The first draft, stimulated the creation of a series of stories around Froggie and his friends.
Print Process
Froggie and Friends
The is a lost art of interaction with those around us due to our attention peering into a screen.
The Evolution
Going Digital
With the three dimensional complete, it was time to go digital.
Carillu.com brings Froggie and his friends life lessons to a broader audience. Future projects will include online games and mobile application.
Carillu
A New Adventure Awaits
In this fast-paced world of digital media, designers and developers have to continue to push themselves to stay at the top of their game.
Carillu.com provides me the resources and direction to continue to increase my skill set in illustration and animation.


Contract start date: {{contract.startDate | date }}
Contract end date: {{contract.endDate | date}}
Annual gross salary: {{contract.amount | currency:'EUR':true }}
Employee: {{contract.employee.firstName}} {{contract.employee.lastName}}


|
Oceanic is a beautiful, fully modular email template
|
|
|
|
|
|
Oceanic Email Template
|
|
An email template that’s fully modular and beautifully crafted
|
|
|
|
|
|
Oceanic Email, Beautiful and Fully Modular
|
|
|
|
|
|
A beautiful email template
|
|
|
|
|
|
|
Fully responsive for mobile devices
Oceanic is built with mobile in mind. This template responds and shifts to a single column for optimized mobile view. Considering as much as 70% of users are checking email on-the-go, your emails will be ready with Oceanic.
|
|
Fully Modular
Oceanic is built on a modular structure where you can add or remove modules to fit your needs.
|
|
Beautifully Crafted
Battled tested in Litmus, Oceanic renders perfectly on all major email clients, even Outlook.
|
|
|
|
Modular Design
Oceanic has a modular structure. Add or remove modules to fit your needs.
|
|
Fully Responsive
Built with mobile in mind—this template shifts to a single column for optimized mobile view.
|
|
Beautifully Crafted
Battled tested in Litmus, Oceanic renders perfectly on all major email clients, even Outlook.
|
|
|
Layered PSD
A PSD of the template is included for you to change the design and swap out images.
|
|
Thoughtful Help
Comprehensive documentation is provided to help get you started with Oceanic as quickly as possible.
|
|
|
|
Fully responsive for mobile devices
Oceanic is built with mobile in mind. Considering as much as 70% of users are checking email on-the-go, your emails will be ready with Oceanic.
|
|
Beautifully Crafted
Battled tested in Litmus and Email on Acid, Oceanic renders perfectly on all major email clients, including Outlook, Outlook.com, and Yahoo! Mail.
|
|
|
Modular Design
Oceanic is built on a modular structure where you can add or remove modules to fit your needs. Customize to your heart's content.
|
|
|
|
Beautifully Crafted Markup
Battled tested in Litmus and Email on Acid, Oceanic renders perfectly on all major email clients, even Outlook.
Fully Responsive
Built with mobile in mind—this template shifts to a single column for optimized mobile view.
Modular Design
Oceanic is built on a modular structure where you can add or remove modules to fit your needs.
|
|
|
|
Fully responsive for mobile devices
Oceanic is built with mobile in mind. Considering as much as 70% of users are checking email on-the-go, your emails will be ready with Oceanic.
|
|
Modular
|
|
Responsive
|
|
Tested
|
|
|
Tested
|
|
Modular
|
|
Responsive
|
|
|
|
Fully responsive for mobile devices
Oceanic is built with mobile in mind. Considering as much as 70% of users are checking email on-the-go, your emails will be ready with Oceanic.
|
|
Beautifully Crafted
Battled tested in Litmus and Email on Acid, Oceanic renders perfectly on all major email clients, including Outlook, Outlook.com, and Yahoo! Mail.
|
|
|
Modular Design
Oceanic is built on a modular structure where you can add or remove modules to fit your needs. Customize to your heart's content.
|
|
|
|
Fully Responsive
Built with mobile in mind—this template shifts to a single column for optimized mobile view.
|
|
|
|
|
Modular Design
Oceanic is built on a modular structure where you can add or remove modules to fit your needs.
|
|
|
|
|
Built with love and care. Battle tested in Litmus. Oceanic is the template you've been waiting for.
|
|
Sam Goodie, Marketing Manager
|
|
|
Built with love and care. Battle tested in Litmus. Oceanic is the template you've been waiting for.
Sam Goodie, Marketing Manager
|
|
|
Built with love and care. Battle tested in Litmus.
|
|
|
|
Perfect rendering in all major web and software email clients.
|
|
|
Built with love and care. Battle tested in Litmus.
|
|
|
|
Perfect rendering in all major web and software email clients.
|
|
|
Built with love and care just for you.
|
|
|
|
Built with love and care just for you.
|
|
|
|
Built with love and care just for you.
|
|
|
|
|


We take your request seriously. We personally email and call the hotel to convey your needs.
For reservations made more than 48-hours before your check-in date.
Showing results {{(vm.currentPage*vm.pageSize)+1}}-{{Math.min(vm.pageSize*(vm.currentPage+1),vm.hotelsToShow().length)}}
of {{vm.hotelsToShow().length}}
Get 10-60% Off! Join clubGO - the free travel club for people with disabilities. Access deals.Access deals.


Move the cursor to the beginning of the leader and press 2 .
Rubber banding is enabled.
Move the cursor to the end of the leader and press 2.
The leader is drawn and can be continued.
A plain leader can be converted to a dimension line by pressing 9 on the line.
Ticks (arrow heads) can be inserted by pressing 1 on the line.


Source code for robo.acquisition_functions.marginalization
import logging
import numpy as np
from copy import deepcopy
from robo.acquisition_functions.base_acquisition import BaseAcquisitionFunction
logger = logging.getLogger(__name__)
[docs]class MarginalizationGPMCMC(BaseAcquisitionFunction):
def __init__(self, acquisition_func):
"""
Meta acquisition_functions function that allows to marginalise the
acquisition_functions function over GP hyperparameters.
Parameters
----------
acquisition_func: BaseAcquisitionFunction object
The acquisition_functions function that will be integrated.
"""
self.acquisition_func = acquisition_func
self.model = acquisition_func.model
# Save also the cost model if the acquisition_functions function needs it
if hasattr(acquisition_func, "cost_model"):
self.cost_model = acquisition_func.cost_model
else:
self.cost_model = None
# Keep for each model an extra acquisition_functions function module
self.estimators = []
for i in range(len(self.model.models)):
# Copy the acquisition_functions function for this model
estimator = deepcopy(acquisition_func)
if len(self.model.models) == 0:
estimator.model = None
else:
estimator.model = self.model.models[i]
if self.cost_model is not None:
if len(self.cost_model.models) == 0:
estimator.model = None
else:
estimator.model = self.cost_model.models[i]
self.estimators.append(estimator)
[docs] def update(self, model, cost_model=None, **kwargs):
"""
Updates each acquisition_functions function object if the models
have changed
Parameters
----------
model: Model object
The model of the objective function, it has to be an instance of
GaussianProcessMCMC.
cost_model: Model object
If the acquisition_functions function also takes the cost into account, we
have to specify here the model for the cost function. cost_model
has to be an instance of GaussianProcessMCMC.
"""
if len(self.estimators) == 0:
for i in range(len(self.model.models)):
# Copy the acquisition_functions function for this model
estimator = deepcopy(self.acquisition_func)
if len(self.model.models) == 0:
estimator.model = None
else:
estimator.model = self.model.models[i]
if self.cost_model is not None:
if len(self.cost_model.models) == 0:
estimator.model = None
else:
estimator.model = self.cost_model.models[i]
self.estimators.append(estimator)
self.model = model
if cost_model is not None:
self.cost_model = cost_model
for i in range(len(self.model.models)):
if cost_model is not None:
self.estimators[i].update(self.model.models[i],
self.cost_model.models[i],
**kwargs)
else:
self.estimators[i].update(self.model.models[i], **kwargs)
[docs] def compute(self, X_test, derivative=False):
"""
Integrates the acquisition_functions function over the GP's hyperparameters by
averaging the acquisition_functions value for X of each hyperparameter sample.
Parameters
----------
X_test: np.ndarray(N, D), The input point where the acquisition_functions function
should be evaluate. The dimensionality of X is (N, D), with N as
the number of points to evaluate at and D is the number of
dimensions of one X.
derivative: Boolean
If is set to true also the derivative of the acquisition_functions
function at X is returned
Returns
-------
np.ndarray(1,1)
Integrated acquisition_functions value of X
np.ndarray(1,D)
Derivative of the acquisition_functions value at X (only if derivative=True)
"""
acquisition_values = np.zeros([len(self.model.models), X_test.shape[0]])
# Integrate over the acquisition_functions values
for i in range(len(self.model.models)):
acquisition_values[i] = self.estimators[i].compute(X_test, derivative=derivative)
return acquisition_values.mean(axis=0)


This form accepts a CSV file which should have the following headings: title, body, and tags. Tags are comma-separated. Categories is currently accepted as a synonym for tags. The body column is imported as plain text. Any additional headings are politely ignored. Please note that duplicates are not detected. If you import duplicates you may need to remove them manually.
title
body
tags


Prosecutors seek charges against Volkswagen managers over labor bonuses
FRANKFURT (Reuters) - German prosecutors on Tuesday sought charges against a current Volkswagen (VOWG_p.DE) manager as well as a former manager and two former board members, accusing them of awarding works council members inflated salaries.
The Braunschweig prosecutor said that managers responsible for personnel issues stand accused of a breach of fiduciary trust for awarding salary and bonus awards which caused damages worth 5.05 million euros ($5.57 million).
A court must now decide whether the accusations, made by the prosecutor’s office in Braunschweig, near where Volkswagen is headquartered, will be brought before a judge.
A spokesman for Volkswagen on Tuesday said that there had been no misconduct in relation to deciding appropriate salary levels for works council representatives.
Under Germany’s two-tier board system, workers have seats on the company’s board of directors, with broad powers to veto sweeping strategy decisions.
Upon deciding which level of salary to award works council members, members of VW’s personnel committee deliberately inflated pay by choosing to benchmark peers in a higher salary band, ensuring that VW’s labor leaders got a pay rise, the prosecutor’s office said.
Between 2011 and 2016 five members of the works council received excess pay, with 3.125 million euros awarded to the works council chief, the prosecutor’s office said.
Such awards were to the “disadvantage” of the company, the Braunschweig prosecutor’s office said.


My website
I am E. Harding, right-wing social media poster. Here you will find some of my more technical projects.
My blog
How to edit the dislikes on Atlas After Dark
US Election Atlas results
Userscript for a clock showing the time of day in the form of a progress bar at the bottom of the page
Userscript for a clock showing the time of day in the form of a progress bar at the bottom of the browser window
Userscript for a clock showing the time of day (between 7AM and 7PM)
in the form of a progress bar at the bottom of the browser window
E. Harding's political quiz (U.S.-centric)
E. Harding's color contrast tool (RGB)
Script for detrending yearly employment data with Savitzky-Golay filter
Script for detrending monthly employment data with Savitzky-Golay filter
Userscript for downloading U.S. Election Atlas data from the DataGraph pages as CSV files and changing the Atlas to no-frame version
Data vizualization Python script for Maddison Project data (viewing both series)
Data vizualization Python script for Maddison Project data (graphing countries by my best judgment)
Data vizualization Python script for Maddison project data (graphing groups of countries)


Take control of your CSS keyframe animations
Health
Availability
Activity
Conventions and standards
jogwheel gives you the power to take full control of your CSS keyframe animations via JavaScript.
jogwheel is available on npm.
npm install --save jogwheel
:warning: Please note jogwheel assumes Element.prototype.animate
is defined and returns a valid WebAnimationPlayer instance.
To achieve this you will have to include a WebAnimation polyfill, web-animations-js by Google is recommended.
The usage examples show recommended ways to include the polyfill.
jogwheel exposes its API as CommonJS module. Using the export and bundling your JavaScript with browserify, webpack or rollup is recommended.
// import the polyfill
import 'web-animations-js';
// import jogwheel
import jogwheel from 'jogwheel';
// Select target element
const element = document.querySelector('[data-animated]');
// Construct jogwheel instance from element
const player = jogwheel.create(element);
// Jump halfway into the animation
player.seek(0.5);
jogwheel provides prebundled downloads via wzrd.in.
Either embed or download the standalone bundle. Given you do not use a module system the standalone build will pollute window.jogwheel
. This usage is viable but not recommended.
Fast track example
# Install cross-platform opn command
npm install -g opn-cli
# Download example
curl -L https://git.io/vreEP > jogwheel-example.html
# Open example in default browser
opn jogwheel-example.html
All the code
<!doctype html>

<title>CDN example</title>

Paused 0.5

Paused 0.5

Paused 0.5

See API Documentation for details and examples for more use cases.
jogwheel performs cross browser testing with SauceLabs
Depending on the WebAnimations implementation you choose there are some limitations for properties usable with jogwheel.
| Feature | Test | Issue | Blink | Gecko | web-animations-js 2.1.4 |
web-animations-next 2.1.4 |
|---|---|---|---|---|---|---|
animation-timing-function |
Link | #161 | :warning: | :warning: | :warning: | :warning: |
filter |
Link | #162 | :warning: | :warning: | :warning: | :warning: |
You dig jogwheel and want to submit a pull request? Awesome! Be sure to read the contribution guide and you should be good to go. Here are some notes to get you coding real quick.
# Clone repository, cd into it
git clone https://github.com/marionebl/jogwheel.git
cd jogwheel
# Install npm dependencies
npm install
# Start the default build/watch task
npm start
This will watch all files in source
and start the appropriate tasks when changes are detected.
jogwheel is up to a lot of good. This includes but is not limited to
See Roadmap for details.
jogwheel v1.4.5
is built by Mario Nebl and contributors with :heart:
and released under the MIT License.


STORY
What if mankind had to leave Earth and somebody forgot to turn the last robot off?
After hundreds of years doing what he was built for, WALL•E discovers a new purpose in life when he meets a sleek search robot named EVE.
EVE comes to realize that WALL•E has inadvertently stumbled upon the key to the planet's future, and races back to space to report to the humans.
Meanwhile, WALL•E chases EVE across the galaxy and sets into motion one of the most imaginative adventures ever brought to the big screen.


On 25 November 2017, 7 new articles were published in 7 journals.
Norms, Law and Social Change: Nigeria’s Anti-Corruption Struggle, 1999–2017
The Supply-Side of International Corruption: A New Measure and A Critique
Bringing Community Based Participatory Research to Domestic Violence Scholarship: An Online Toolkit
Governance of Security and Ignored Insecurities in Contemporary Europe
A Study of the Intermolecular Interactions of Lipid Components From Analogue Fingerprint Residues


--- layout: post title: 'sweet review: bouchon bakery, columbus circle' date: 2011-11-16 00:37:14.000000000 -05:00 type: post published: true status: publish categories: - dessert - nyc tags: - bouchon bakery - columbus circle - nyc - restaurant review meta: _edit_last: '1' author: login: sophie email<EMAIL_ADDRESS>display_name: Pika first_name: '' last_name: '' ---
Living in New York is an absolute dream for a pastry aficionado like myself (among many other reasons!). There seems to be a new hot bakery springing up somewhere in Manhattan every week--an endless stream of cupcakes and ice cream and doughnuts and gelato to try. Not that I'm complaining, at all!
Last weekend my sister was in the city for the day, so we decided to scope out the Bouchon Bakery in the 3rd floor of the swanky Times Warner Center at Columbus Circle. Founded by the famous chef Thomas Keller, the chain of Bouchon Bakeries have drawn quite positive reviews so of course I had to try it for myself.
Here's our spread, which we enjoyed in Central Park, since (like everything else in New York!) there was very little sitting room next to the bakery storefront.
 I have to say the presentation at Bouchon was quite lovely, as you can see with the little gold leaf and delicate placement of hazelnuts. But did the taste live up to its beautiful presentation? Unfortunately, the tart was good, but not fantastic-- the embedding of too-crunchy/hard whole cocoa nibs in the otherwise smooth filling and odd strands of sugar in the crust did not lead to such a pleasing taste experience. Simpler, and better chocolate tarts to be had elsewhere.
Having had pastries at the Laduree on les Champs-Elysees, I feel qualified to review any macaron that comes my way. These were very good for an American bakery--rather large (the size of one's palm!) but sufficiently moist, with good structure and a nice twist with the cranberry flavor and smooth filling.
Always a sucker for "fun foods", I couldn't help but give the chocolate "Ho-Ho" a go, an upscale rendition of the Hostess snack-cake. It was good, but again, not mind blowing, chocolate sponge rolled up with chocolate mousse inside, enrobed in a layer of more chocolate.
Of course, being the caffeine addict that I am, I had a cup of coffee to wash it all down. The coffee was quite good, for a bakery.
Overall, it was a pleasant sugar high for a Saturday afternoon.
However, given the higher prices and lack of seating room/over-hype (like every other thing in the City!), I would prefer to take my afternoon coffee break in a cozier cafe, as the desserts were delicious, but nothing mind-blowing. Still, definitely worth trying!
If you go:
Bouchon Bakery, Times Warner Center
Ten Columbus Circle, Third Floor
New York, NY 10019
212.823.9366


new MongodbConnector(name, options)
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | |
options |
object |
- Source:
- drivers/mongodb/Connector.js
Properties:
| Name | Type | Argument | Description |
|---|---|---|---|
options.usePreparedStatement |
boolean |
<optional> |
Extends
Members
-
connectionString :string
-
The default URL style connection string, e.g. mysql://username:password@host:port/dbname
Type:
- string
- Inherited From:
- Overrides:
- Source:
- Connector.js
-
database :string
-
Database name.
Type:
- string
- Inherited From:
- Overrides:
- Source:
- Connector.js
-
deletedCount
-
Get deleted record count
- Source:
- drivers/mongodb/Connector.js
-
driver :string
-
The database storage type, e.g. mysql, mongodb
Type:
- string
- Inherited From:
- Overrides:
- Source:
- Connector.js
-
driverLib :object
-
Client library.
Type:
- object
- Inherited From:
- Overrides:
- Source:
- Connector.js
-
options :object
-
Connector options
Type:
- object
- Inherited From:
- Overrides:
- Source:
- Connector.js
-
relational :boolean
-
Is the database a relational database
Type:
- boolean
- Inherited From:
- Overrides:
- Source:
- Connector.js
-
toObjectID
-
Get ObjectID instance from string
- Source:
- drivers/mongodb/Connector.js
-
updatedCount
-
Get updated record count
- Source:
- drivers/mongodb/Connector.js
Methods
-
<async> aggregate_(model, pipeline, options)
-
Run aggregate pipeline
Parameters:
Name Type Description model
string pipeline
array options
object - Source:
- drivers/mongodb/Connector.js
Returns:
- Type
- *
-
<async> connect_( [options])
-
Create a database connection based on the default connection string of the connector and given options.
Parameters:
Name Type Argument Description options
Object <optional>
Extra options for the connection, optional.
- Source:
- drivers/mongodb/Connector.js
Properties:
Name Type Argument Default Description options.multipleStatements
bool <optional>
false Allow running multiple statements at a time.
options.createDatabase
bool <optional>
false Flag to used when creating a database.
Returns:
- Type
- Promise.<Db>
-
<async> count_(model, query, options)
-
Get number of records
Parameters:
Name Type Description model
string query
object options
object - Source:
- drivers/mongodb/Connector.js
Returns:
- Type
- integer
-
<async> createGridFSBucket_( [options])
-
Parameters:
Name Type Argument Description options
object <optional>
Optional settings.
- Source:
- drivers/mongodb/Connector.js
Properties:
Name Type Argument Default Description options.bucketName
string <optional>
'fs' The 'files' and 'chunks' collections will be prefixed with the bucket name followed by a dot.
options.chunkSizeBytes
number <optional>
Number of bytes stored in each chunk. Defaults to 255KB
options.writeConcern
object <optional>
options.readPreference
object <optional>
-
<async> deleteMany_(model, condition, options)
-
Remove an existing entity.
Parameters:
Name Type Description model
string condition
* options
* - Source:
- drivers/mongodb/Connector.js
-
<async> deleteOne_(model, condition, options)
-
Remove an existing entity.
Parameters:
Name Type Description model
string condition
* options
* - Source:
- drivers/mongodb/Connector.js
-
<async> disconnect_(conn)
-
Close a database connection.
Parameters:
Name Type Description conn
Db MySQL connection.
- Source:
- drivers/mongodb/Connector.js
-
<async> distinct_(model, field, query, options)
-
Get distinct records
Parameters:
Name Type Description model
* field
* query
* options
* - Source:
- drivers/mongodb/Connector.js
Returns:
- Type
- *
-
<async> end_()
-
Close all connection initiated by this connector.
- Source:
- drivers/mongodb/Connector.js
-
ensureInsertOne(opReturn)
-
Throw db error if no record inserted
Parameters:
Name Type Description opReturn
insertOneWriteOpResultObject - Source:
- drivers/mongodb/Connector.js
-
ensureUpdateOne(opReturn)
-
Throw db error if no record updated
Parameters:
Name Type Description opReturn
updateWriteOpResultObject - Source:
- drivers/mongodb/Connector.js
-
<async> execute_(dbExecutor)
-
Execute with an executor
Parameters:
Name Type Description dbExecutor
function - Source:
- drivers/mongodb/Connector.js
Returns:
- Type
- *
-
<async> find_(model, condition, options)
-
Perform select operation.
Parameters:
Name Type Description model
* condition
* options
* - Source:
- drivers/mongodb/Connector.js
-
<async> findOneAndReplace_(model, data, options)
-
Replace (insert or update for exsisting) an entity and return original record.
Parameters:
Name Type Description model
string data
object options
* - Source:
- drivers/mongodb/Connector.js
-
<async> findOneAndUpdate_(model, data, options)
-
Find a document and update it in one atomic operation. Requires a write lock for the duration of the operation.
Parameters:
Name Type Description model
string data
object options
* - Source:
- drivers/mongodb/Connector.js
-
getConnectionStringWithoutCredential()
-
Get the connection without credential information, usually used for displaying.
- Inherited From:
- Overrides:
- Source:
- Connector.js
Returns:
- Type
- string
-
<async> insertMany_(model, data, options)
-
Create an array of new entity.
Parameters:
Name Type Description model
string data
array options
* - Source:
- drivers/mongodb/Connector.js
-
<async> insertManyIfNotExist_(model, data, uniqueKeys, options)
-
Insert many entities if not exist.
Parameters:
Name Type Description model
* data
* uniqueKeys
* options
* - Source:
- drivers/mongodb/Connector.js
-
<async> insertOne_(model, data, options)
-
Create a new entity.
Parameters:
Name Type Description model
string data
object options
* - Source:
- drivers/mongodb/Connector.js
-
<async> insertOneIfNotExist_(model, data, options)
-
Create a new entity if not exist.
Parameters:
Name Type Description model
string data
* options
* - Source:
- drivers/mongodb/Connector.js
-
log(args)
-
Write log.
Parameters:
Name Type Argument Description args
any <repeatable>
- Inherited From:
- Overrides:
- Source:
- Connector.js
-
makeNewConnectionString(components)
-
Make a new connection components from current connection string and given components.
Parameters:
Name Type Description components
object - Inherited From:
- Overrides:
- Source:
- Connector.js
Properties:
Name Type Argument Description components.username
string <optional>
components.password
string <optional>
components.database
string <optional>
components.options
object <optional>
-
<async> onCollection_(model, executor)
-
Wrap a batch of query into an executor for a collection
Parameters:
Name Type Description model
string executor
object - Source:
- drivers/mongodb/Connector.js
Returns:
- Type
- *
-
<async> ping_()
-
Check mongodb server health status
- Source:
- drivers/mongodb/Connector.js
Returns:
- Type
- *
-
<async> replaceOne_(model, data, options)
-
Replace an existing entity or create a new one.
Parameters:
Name Type Description model
string data
object options
* - Source:
- drivers/mongodb/Connector.js
-
<async> updateMany_(model, data, condition, options)
-
Update multiple documents.
Parameters:
Name Type Description model
string data
* condition
* options
* - Source:
- drivers/mongodb/Connector.js
-
<async> updateManyAndReturn_(model, data, condition, options)
-
Update many entities and return updated.
Parameters:
Name Type Description model
* data
* condition
* options
* - Source:
- drivers/mongodb/Connector.js
-
<async> updateOne_(model, data, condition, options)
-
Update an existing entity.
Parameters:
Name Type Description model
string data
object condition
* options
* - Source:
- drivers/mongodb/Connector.js
-
<async> updateOneAndReturn_(model, data, condition, options)
-
Update an existing entity and return the updated record.
Parameters:
Name Type Description model
string data
* condition
* options
* - Source:
- drivers/mongodb/Connector.js
-
<async> upsertMany_(model, data, uniqueKeys, options, dataOnInsert)
-
Update many entities.
Parameters:
Name Type Description model
string data
object Array of record with _id
uniqueKeys
array Unique keys in the data record used as filter
options
* dataOnInsert
object Shared data on insert
- Source:
- drivers/mongodb/Connector.js
-
<async> upsertOne_(model, data, condition, options, dataOnInsert)
-
Update an existing entity.
Parameters:
Name Type Description model
string data
object condition
* options
* dataOnInsert
object Shared data on insert
- Source:
- drivers/mongodb/Connector.js
-
<async> upsertOneAndReturn_(model, data, condition, options, dataOnInsert)
-
Upsert an entity and return updated.
Parameters:
Name Type Description model
string data
object condition
* options
* dataOnInsert
object Shared data on insert
- Source:
- drivers/mongodb/Connector.js


For example, original the Alice in Wonderland sentence, would be modified and a legend inserted:
When the Rabbit came near {{ her(Alice) }}, {{ Alice }} began, in a low, timid voice, "If you please, {{ sir(Rabbit) }}—" The Rabbit started violently, dropped the white kid-gloves and the fan and scurried away into the darkness as hard as {{ he(Rabbit) }} could go.
[[Alice/Alan/Al:female]]
** Note the use of "herd" to differentiate determiner & object. See Callouts, below.
The sentence from D.H Lawrence's Sons and Lovers, "He kept her because he never satisfied her", illustrates two personae working in tandem. The text would be parameterized as:
{{ He(Paul) }} kept {{ her(Clara) }} because {{ he(Paul) }} never satisfied {{ her(Clara) }}.
Adding the legend [[Paulina/Paul/Paulie:male][Clara/Clark/Clax:female]]
would generate
the original text as default, while [[Paulina/Paul/Paulie:female][Clara/Clark/Clax:male]]
would
reverse the roles:
She kept him because she never satisfied him.
and [[Paulina/Paul/Paulie:male][Clara/Clark/Clax:male]]
would generate:
He kept him because he never satisfied him.
Text to be processed must include a legend, wrapped in double square brackets, which may appear anywhere in the text. An example legend:
[[Mindy/Mork/Mod:male][Charlize/Charles/Char:female][Kate/Ken/Kan:non-binary][genre: Science-Fiction Humor]]
Each element in the legend is wrapped in square brackets, and consists of the
gendered proper names for the character, in the order FEMALE/MALE/NON-BINARY
.
The default gender of that personae is specified after a colon.
Genre can be included as an element in the legend; if no genre is included the story will be uncategorized.
So, using the legend above, the program will look for a character named "Mindy" or "Mork" or "Mod" and render this character as "Mork" with the male pronoun set. It will look for a character named "Charlize" or "Charles" or "Char" and render the character as "Charlize" with the female pronoun set. It will look for a character named "Kate," "Ken" or "Kan," and render the character as "Kan" with a non-binary pronoun.
That shirt is {{ hisd(Mork) }}
)
for differentiation from the possessive "his" (to avoid the result "I like
hers shirt").See the complete list of currently available gendered words with gendered variables.
| Placeholder | Female rendered text | Male rendered text |
|---|---|---|
{{ She(Mindy) }} |
She | He |
{{ Mindy }} |
Mindy | Mork |
{{ he(Mindy) }} |
she | he |
{{ his(Mindy) }} |
hers | his |
{{ hisd(Mindy) }} |
her | his |
{{ him(Mindy) }} |
her | him |
{{ her(Mindy) }} |
her | him | {{ herd(Mindy) }} |
her | his |
{{ He(Frog) }} told {{ her(Princess) }} that {{ he(Princess) }} had been enchanted by a spiteful fairy, who had changed {{ him(Frog) }} into a frog; and that {{ he(Frog) }} had been fated so to abide till some {{ princess(Princess) }} should take {{ him(Frog) }} out of the spring, and let {{ him(Frog) }} eat from {{ her(Princess) }} plate, and sleep upon {{ her(Princess) }} bed for three nights. ‘You,’ said the {{ prince(Frog) }}, ‘have broken {{ his(Fairy) }} cruel charm, and now I have nothing to wish for but that you should go with me into my father’s kingdom, where I will marry you, and love you as long as you live.’
The young {{ princess(Princess) }}, you may be sure, was not long in saying ‘Yes’ to all this; and as they spoke a gay coach drove up, with eight beautiful horses, decked with plumes of feathers and a golden harness; and behind the coach rode the {{ prince(Frog) }}’s servant, faithful {{ Heinrich }}, who had bewailed the misfortunes of {{ his(Heinrich) }} dear master during {{ hisd(Frog) }} enchantment so long and so bitterly, that {{ his(Heinrich) }} heart had well-nigh burst.
They then took leave of the {{ king(King) }}, and got into the coach with eight horses, and all set out, full of joy and merriment, for the {{ prince(Frog) }}’s kingdom, which they reached safely; and there they lived happily a great many years.
[[Princess/Prince/Sovereign:female][Frog/Frog/Frog:male][Queen/King/Ruler:male][Hayden/Heinrich/Hayden:male]]


Create product
Products describe the contents of plans.
Error! Invalid product name
Error! Product name is too short or too long
Error! Invalid charge description
Error! Invalid or missing unit label
Success! The product has been created
Error! An error occurred submitting the product


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object LinearLayout android.support.v7.widget.SearchView
public class SearchView
A widget that provides a user interface for the user to enter a search query and submit a request to a search provider. Shows a list of query suggestions or results, if available, and allows the user to pick a suggestion or result to launch into.
When the SearchView is used in an ActionBar as an action view for a collapsible menu item, it
needs to be set to iconified by default using setIconifiedByDefault(true)
. This is the default, so nothing needs to be done.
If you want the search field to always be visible, then call setIconifiedByDefault(false).
For information about using SearchView
, read the
Search developer guide.
MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
| Nested Class Summary | |
|---|---|
static interface |
SearchView.OnCloseListener
|
static interface |
SearchView.OnQueryTextListener
Callbacks for changes to the query text. |
static interface |
SearchView.OnSuggestionListener
Callback interface for selection events on suggestions. |
static class |
SearchView.SearchAutoComplete
Local subclass for AutoCompleteTextView. |
| Constructor Summary | |
|---|---|
SearchView(Context context)
|
|
SearchView(Context context,
AttributeSet attrs)
|
| Method Summary | |
|---|---|
void |
clearFocus()
|
int |
getImeOptions()
Returns the IME options set on the query text field. |
int |
getInputType()
Returns the input type set on the query text field. |
int |
getMaxWidth()
Gets the specified maximum width in pixels, if set. |
java.lang.CharSequence |
getQuery()
Returns the query string currently in the text field. |
java.lang.CharSequence |
getQueryHint()
Gets the hint text to display in the query text field. |
android.support.v4.widget.CursorAdapter |
getSuggestionsAdapter()
Returns the adapter used for suggestions, if any. |
boolean |
isIconfiedByDefault()
Returns the default iconified state of the search field. |
boolean |
isIconified()
Returns the current iconified state of the SearchView. |
boolean |
isQueryRefinementEnabled()
Returns whether query refinement is enabled for all items or only specific ones. |
boolean |
isSubmitButtonEnabled()
Returns whether the submit button is enabled when necessary or never displayed. |
void |
onActionViewCollapsed()
Called when this view is collapsed as an action view. |
void |
onActionViewExpanded()
Called when this view is expanded as an action view. |
boolean |
onKeyDown(int keyCode,
KeyEvent event)
Handles the key down event for dealing with action keys. |
void |
onWindowFocusChanged(boolean hasWindowFocus)
|
boolean |
requestFocus(int direction,
Rect previouslyFocusedRect)
|
void |
setAppSearchData(Bundle appSearchData)
Sets the APP_DATA for legacy SearchDialog use. |
void |
setIconified(boolean iconify)
Iconifies or expands the SearchView. |
void |
setIconifiedByDefault(boolean iconified)
Sets the default or resting state of the search field. |
void |
setImeOptions(int imeOptions)
Sets the IME options on the query text field. |
void |
setInputType(int inputType)
Sets the input type on the query text field. |
void |
setMaxWidth(int maxpixels)
Makes the view at most this many pixels wide |
void |
setOnCloseListener(SearchView.OnCloseListener listener)
Sets a listener to inform when the user closes the SearchView. |
void |
setOnQueryTextFocusChangeListener(OnFocusChangeListener listener)
Sets a listener to inform when the focus of the query text field changes. |
void |
setOnQueryTextListener(SearchView.OnQueryTextListener listener)
Sets a listener for user actions within the SearchView. |
void |
setOnSearchClickListener(OnClickListener listener)
Sets a listener to inform when the search button is pressed. |
void |
setOnSuggestionListener(SearchView.OnSuggestionListener listener)
Sets a listener to inform when a suggestion is focused or clicked. |
void |
setQuery(java.lang.CharSequence query,
boolean submit)
Sets a query string in the text field and optionally submits the query as well. |
void |
setQueryHint(java.lang.CharSequence hint)
Sets the hint text to display in the query text field. |
void |
setQueryRefinementEnabled(boolean enable)
Specifies if a query refinement button should be displayed alongside each suggestion or if it should depend on the flags set in the individual items retrieved from the suggestions provider. |
void |
setSearchableInfo(SearchableInfo searchable)
Sets the SearchableInfo for this SearchView. |
void |
setSubmitButtonEnabled(boolean enabled)
Enables showing a submit button when the query is non-empty. |
void |
setSuggestionsAdapter(android.support.v4.widget.CursorAdapter adapter)
You can set a custom adapter if you wish. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SearchView(Context context)
public SearchView(Context context, AttributeSet attrs)
| Method Detail |
|---|
public void setSearchableInfo(SearchableInfo searchable)
searchable
- a SearchableInfo can be retrieved from the SearchManager, for a specific
activity or a global search provider.public void setAppSearchData(Bundle appSearchData)
appSearchData
- bundle provided by the app when launching the search dialogpublic void setImeOptions(int imeOptions)
imeOptions
- the options to set on the query text fieldTextView#setImeOptions(int)
public int getImeOptions()
TextView#setImeOptions(int)
public void setInputType(int inputType)
inputType
- the input type to set on the query text fieldTextView#setInputType(int)
public int getInputType()
public boolean requestFocus(int direction, Rect previouslyFocusedRect)
public void clearFocus()
public void setOnQueryTextListener(SearchView.OnQueryTextListener listener)
listener
- the listener object that receives callbacks when the user performs
actions in the SearchView such as clicking on buttons or typing a query.public void setOnCloseListener(SearchView.OnCloseListener listener)
listener
- the listener to call when the user closes the SearchView.public void setOnQueryTextFocusChangeListener(OnFocusChangeListener listener)
listener
- the listener to inform of focus changes.public void setOnSuggestionListener(SearchView.OnSuggestionListener listener)
listener
- the listener to inform of suggestion selection events.public void setOnSearchClickListener(OnClickListener listener)
setIconified(false)
can also cause this listener to be informed.
listener
- the listener to inform when the search button is clicked or
the text field is programmatically de-iconified.public java.lang.CharSequence getQuery()
public void setQuery(java.lang.CharSequence query, boolean submit)
query
- the query string. This replaces any query text already present in the
text field.submit
- whether to submit the query right now or only update the contents of
text field.public void setQueryHint(java.lang.CharSequence hint)
hint
- the hint text to displaypublic java.lang.CharSequence getQueryHint()
public void setIconifiedByDefault(boolean iconified)
The default value is true.
iconified
- whether the search field should be iconified by defaultpublic boolean isIconfiedByDefault()
public void setIconified(boolean iconify)
setIconifiedByDefault(boolean)
. If the default state is iconified, then
a false here will only be valid until the user closes the field. And if the default
state is expanded, then a true here will only clear the text field and not close it.
iconify
- a true value will collapse the SearchView to an icon, while a false will
expand it.public boolean isIconified()
public void setSubmitButtonEnabled(boolean enabled)
enabled
- true to show a submit button for submitting queries, false if a submit
button is not required.public boolean isSubmitButtonEnabled()
public void setQueryRefinementEnabled(boolean enable)
setSearchableInfo(SearchableInfo)
and not when using a custom adapter.
enable
- true if all items should have a query refinement button, false if only
those items that have a query refinement flag set should have the button.SearchManager#SUGGEST_COLUMN_FLAGS
,
SearchManager#FLAG_QUERY_REFINEMENT
public boolean isQueryRefinementEnabled()
public void setSuggestionsAdapter(android.support.v4.widget.CursorAdapter adapter)
setSearchableInfo(SearchableInfo)
public android.support.v4.widget.CursorAdapter getSuggestionsAdapter()
public void setMaxWidth(int maxpixels)
public int getMaxWidth()
public boolean onKeyDown(int keyCode, KeyEvent event)
keyCode
- This is the keycode of the typed key, and is the same value as
found in the KeyEvent parameter.event
- The complete event record for the typed key
public void onWindowFocusChanged(boolean hasWindowFocus)
public void onActionViewCollapsed()
MenuItemCompat.collapseActionView(android.view.MenuItem)
.
onActionViewCollapsed
in interface CollapsibleActionView
public void onActionViewExpanded()
MenuItemCompat.expandActionView(android.view.MenuItem)
.
onActionViewExpanded
in interface CollapsibleActionView
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Alabama man convicted in theft of nearly $200K from Wind Creek Casino
by Bob D'Angelo, Cox Media Group National Content DeskAn Alabama man was convicted Thursday in the theft of nearly $200,000 from the Wind Creek Casino.
Jory D'Michael Trayvunn Dumas, 28, of Montgomery, was convicted in federal court on a count of conspiracy and a count of employee theft from an Indian gaming establishment exceeding $1,000, the Montgomery Advertiser reported.
Middle District of Alabama U.S. Attorney Louis V. Franklin Sr. said Monday the jury decided Dumas conspired with others to steal the money, AL.com reported.
Dumas and Timothy Dean Pettiway were arrested in August 2018 after they were accused of stealing money from two machines that were accessed when an employee at the Wind Creek Casino Montgomery left keys atop a kiosk Aug. 10.
According to prosecutors, Dumas, a former employee of the casino who investigators said was fired for theft in 2017, conspired with Pettway, Taneka Thomas and Courtney Deandra Stanton to take money from the casino, the Advertiser reported.
Prosecutors said Stanton left the keys on top of a kiosk, and they were taken by Pettway, AL.com reported. Pettway took two cash cassettes and handed them to Dumas, who took the $192,800, prosecutors said.
In August 2019, Pettiway was sentenced to 33 months in federal prison, AL.com reported. Thomas and Stanton have pleaded guilty and are awaiting sentencing, the website reported.
© 2019 Cox Media Group.


Environment
The drumming of the southern shore of Lake Balaton lies in the embrace of the fishponds and vineyards of North Somogy, Pogányvölgye, a homeland of special local traditions and natural values. The area has been inhabited since the earliest times of Hungarian history and is known to many as the backbone of Koppány's old pagan faith. The name of the area also points to the fact that the historical relics of the region bring about more than a thousand years of history. The area offers programs for visitors throughout the year. The historical memory of Somogyvár and the Árpád-era church in Gyugy are the must-see for historians. They also have attractions for the area looking for the treasures of nature. The fish ponds in Haci or the "Hungarian Sea" offer excellent recreational opportunities. Lengyeltóti, the center of the region, is a really small jewel box where the air parks and the wineries bordering the city with everyone


Wishaw lad Scott will take the lead as Aladdin in his FIRST EVER panto
Scott, 22, is a recent New College Lanarkshire graduate and hopes to make a big impression in his first pantomime.
by Gregor Farquharson, https://www.dailyrecord.co.uk/authors/gregor-farquharson/Cambusnethan lad Scott Fleming is getting prepared for the curtain call in his first ever pantomime.
Scott, 22, will bring his flying carpet to Hamilton Town Hall and Rutherglen Town Hall as the lead role in Aladdin.
The former Coltness High pupil told the Wishaw Press: “I have always wanted to do acting, but changed to musical theatre when I went to college.
“It’s my first ever time in a pantomime and I have the lead role, so I have lot to prove.
“This is also my first professional contract, so everything has fallen into place nicely.”
Scott studied two years at Glasgow Kelvin College, before completing a final year of studies at New College Lanarkshire (NCL) in Motherwell.
Originally, Scott didn’t audition for the role of Aladdin.
“I went in and read for the role of Wishy Washy at first, but the director asked me to read for Aladdin after he saw me.
“I didn’t expect it. He asked me to sing and I wasn’t prepared, I had to go and find a glass of water before it was my turn.”
And it’s also not too daunting for Scott’s first show, as the rest of the cast is made up of graduates from NCL.
“The college get in touch with us every year and ask if we are interested, I’ve always said no but I was really keen this year.
“The cast is great too, and I can’t wait for rehearsals to start this month.
“I think it will be an amazing show.”
Scott will perform along side Steve Russell as Widow Twankey, Dionne Frati as Wishy Washy, Hannah Berry as Jasmine and Mellissa-Jane Deans as Abi-Nazar.
The Hamilton show will run from Saturday, November 30, to Sunday, December 8. And the show will be at Rutherglen Town Hall from Wednesday, December 11, to Monday, December 23.


not a small town girl, not living in a lonely world. Hi! I'm Ivana and I'm going to MIT next month. My favorite Oge response is by Mewtwo from Pokemon: "I see now that the circumstances of one's birth are irrelevant. It is what you do with the gift of life that determines who you are"
My name is Oge. I will be attending Northwestern University, and my favorite quote is 'If something is too hard, either you are doing it wrong or it is not worth doing'
I'm Tatiana, I will be attending Illinois tech in the fall.Yeeeahhh


| Opcode/Instruction | Op/En | 64/32 bit Mode Support | CPUID Feature Flag | Description |
|---|---|---|---|---|
| EVEX.LIG.66.0F38.W0 CB /r VRCP28SS xmm1 {k1}{z}, xmm2, xmm3/m32 {sae} | A | V/V | AVX512ER | Computes the approximate reciprocal ( < 2^-28 relative error) of the scalar single-precision floating-point value in xmm3/m32 and stores the results in xmm1. Under writemask. Also, upper 3 single-precision floating-point values (bits[127:32]) from xmm2 is copied to xmm1[127:32]. |
| Op/En | Tuple Type | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| A | Tuple1 Scalar | ModRM:reg (w) | EVEX.vvvv | ModRM:r/m (r) | NA |
Computes the reciprocal approximation of the low float32 value in the second source operand (the third operand) and store the result to the destination operand (the first operand). The approximate reciprocal is evaluated with less than 2^-28 of maximum relative error prior to final rounding. The final result is rounded to < 2^-23 relative error before written into the low float32 element of the destination according to writemask k1. Bits 127:32 of the destination is copied from the corresponding bits of the first source operand (the second operand).
A denormal input value is treated as zero and does not signal #DE, irrespective of MXCSR.DAZ. A denormal result is flushed to zero and does not signal #UE, irrespective of MXCSR.FTZ.
If any source element is NaN, the quietized NaN source value is returned for that element. If any source element is ±∞, ±0.0 is returned for that element. Also, if any source element is ±0.0, ±∞ is returned for that element.
The first source operand is an XMM register. The second source operand is an XMM register or a 32-bit memory location. The destination operand is a XMM register, conditionally updated using writemask k1.
IF k1[0] OR *no writemask* THEN DEST[31: 0]←RCP_28_SP(1.0/SRC2[31: 0]); ELSE IF *merging-masking* ; merging-masking THEN *DEST[31: 0] remains unchanged* ELSE ; zeroing-masking DEST[31: 0]←0 FI; FI; ENDFOR; DEST[127:32]←SRC1[127: 32] DEST[MAXVL-1:128] ← 0
| Input value | Result value | Comments |
|---|---|---|
| NAN | QNAN(input) | If (SRC = SNaN) then #I |
| 0 ≤ X < 2-126 | INF | Positive input denormal or zero; #Z |
| -2-126 < X ≤ -0 | -INF | Negative input denormal or zero; #Z |
| X > 2126 | +0.0f | |
| X < -2126 | -0.0f | |
| X = +∞ | +0.0f | |
| X = -∞ | -0.0f | |
| X = 2-n | 2n | Exact result (unless input/output is a denormal) |
| X = -2-n | -2n | Exact result (unless input/output is a denormal) |
VRCP28SS __m128 _mm_rcp28_round_ss ( __m128 a, __m128 b, int sae);
VRCP28SS __m128 _mm_mask_rcp28_round_ss(__m128 s, __mmask8 m, __m128 a, __m128 b, int sae);
VRCP28SS __m128 _mm_maskz_rcp28_round_ss(__mmask8 m, __m128 a, __m128 b, int sae);
Invalid (if SNaN input), Divide-by-zero
See Exceptions Type E3.


Chart showing how a line series can be used to show a computed regression line for a dataset. The source data for the regression line is visualized as a scatter series.


max iterations
number of magnets
friction strength
magnet strength
pendulum strength
trap radius
trap velocity
max magnetic force
shading strength
oscillation amplitude
oscillation period


| Package | Description |
|---|---|
| org.apache.hadoop.io.retry |
A mechanism for selectively retrying methods that throw exceptions under
certain circumstances.
|
| org.apache.hadoop.ipc |
Tools to help define network clients and servers.
|
| Modifier and Type | Class and Description |
|---|---|
static class |
RetryPolicies.MultipleLinearRandomRetry
Given pairs of number of retries and sleep time (n0, t0), (n1, t1), ...,
the first n0 retries sleep t0 milliseconds on average,
the following n1 retries sleep t1 milliseconds on average, and so on.
|
| Modifier and Type | Field and Description |
|---|---|
static RetryPolicy |
RetryPolicies.RETRY_FOREVER
Keep trying forever.
|
static RetryPolicy |
RetryPolicies.TRY_ONCE_THEN_FAIL
Try once, and fail by re-throwing the exception.
|
| Modifier and Type | Method and Description |
|---|---|
static RetryPolicy |
RetryPolicies.exponentialBackoffRetry(int maxRetries,
long sleepTime,
TimeUnit timeUnit)
Keep trying a limited number of times, waiting a growing amount of time between attempts,
and then fail by re-throwing the exception.
|
static RetryPolicy |
RetryPolicies.failoverOnNetworkException(int maxFailovers) |
static RetryPolicy |
RetryPolicies.failoverOnNetworkException(RetryPolicy fallbackPolicy,
int maxFailovers) |
static RetryPolicy |
RetryPolicies.failoverOnNetworkException(RetryPolicy fallbackPolicy,
int maxFailovers,
int maxRetries,
long delayMillis,
long maxDelayBase) |
static RetryPolicy |
RetryPolicies.failoverOnNetworkException(RetryPolicy fallbackPolicy,
int maxFailovers,
long delayMillis,
long maxDelayBase) |
static RetryPolicy |
RetryUtils.getDefaultRetryPolicy(Configuration conf,
String retryPolicyEnabledKey,
boolean defaultRetryPolicyEnabled,
String retryPolicySpecKey,
String defaultRetryPolicySpec,
String remoteExceptionToRetry)
Return the default retry policy set in conf.
|
static RetryPolicy |
RetryUtils.getMultipleLinearRandomRetry(Configuration conf,
String retryPolicyEnabledKey,
boolean defaultRetryPolicyEnabled,
String retryPolicySpecKey,
String defaultRetryPolicySpec)
Return the MultipleLinearRandomRetry policy specified in the conf,
or null if the feature is disabled.
|
static RetryPolicy |
RetryPolicies.retryByException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
Set a default policy with some explicit handlers for specific exceptions.
|
static RetryPolicy |
RetryPolicies.retryByRemoteException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
A retry policy for RemoteException
Set a default policy with some explicit handlers for specific exceptions.
|
static RetryPolicy |
RetryPolicies.retryForeverWithFixedSleep(long sleepTime,
TimeUnit timeUnit)
Keep trying forever with a fixed time between attempts.
|
static RetryPolicy |
RetryPolicies.retryOtherThanRemoteException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
A retry policy for exceptions other than RemoteException.
|
static RetryPolicy |
RetryPolicies.retryUpToMaximumCountWithFixedSleep(int maxRetries,
long sleepTime,
TimeUnit timeUnit)
Keep trying a limited number of times, waiting a fixed time between attempts,
and then fail by re-throwing the exception.
|
static RetryPolicy |
RetryPolicies.retryUpToMaximumCountWithProportionalSleep(int maxRetries,
long sleepTime,
TimeUnit timeUnit)
Keep trying a limited number of times, waiting a growing amount of time between attempts,
and then fail by re-throwing the exception.
|
static RetryPolicy |
RetryPolicies.retryUpToMaximumTimeWithFixedSleep(long maxTime,
long sleepTime,
TimeUnit timeUnit)
Keep trying for a maximum time, waiting a fixed time between attempts,
and then fail by re-throwing the exception.
|
| Modifier and Type | Method and Description |
|---|---|
static <T> Object |
RetryProxy.create(Class<T> iface,
FailoverProxyProvider<T> proxyProvider,
Map<String,RetryPolicy> methodNameToPolicyMap,
RetryPolicy defaultPolicy)
Create a proxy for an interface of implementations of that interface using
the given
FailoverProxyProvider and the a set of retry policies
specified by method name. |
static <T> Object |
RetryProxy.create(Class<T> iface,
FailoverProxyProvider<T> proxyProvider,
RetryPolicy retryPolicy)
Create a proxy for an interface of implementations of that interface using
the given
FailoverProxyProvider and the same retry policy for each
method in the interface. |
static <T> Object |
RetryProxy.create(Class<T> iface,
T implementation,
RetryPolicy retryPolicy)
Create a proxy for an interface of an implementation class
using the same retry policy for each method in the interface.
|
static RetryPolicy |
RetryPolicies.failoverOnNetworkException(RetryPolicy fallbackPolicy,
int maxFailovers) |
static RetryPolicy |
RetryPolicies.failoverOnNetworkException(RetryPolicy fallbackPolicy,
int maxFailovers,
int maxRetries,
long delayMillis,
long maxDelayBase) |
static RetryPolicy |
RetryPolicies.failoverOnNetworkException(RetryPolicy fallbackPolicy,
int maxFailovers,
long delayMillis,
long maxDelayBase) |
static RetryPolicy |
RetryPolicies.retryByException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
Set a default policy with some explicit handlers for specific exceptions.
|
static RetryPolicy |
RetryPolicies.retryByRemoteException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
A retry policy for RemoteException
Set a default policy with some explicit handlers for specific exceptions.
|
static RetryPolicy |
RetryPolicies.retryOtherThanRemoteException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
A retry policy for exceptions other than RemoteException.
|
| Modifier and Type | Method and Description |
|---|---|
static <T> Object |
RetryProxy.create(Class<T> iface,
FailoverProxyProvider<T> proxyProvider,
Map<String,RetryPolicy> methodNameToPolicyMap,
RetryPolicy defaultPolicy)
Create a proxy for an interface of implementations of that interface using
the given
FailoverProxyProvider and the a set of retry policies
specified by method name. |
static <T> Object |
RetryProxy.create(Class<T> iface,
T implementation,
Map<String,RetryPolicy> methodNameToPolicyMap)
Create a proxy for an interface of an implementation class
using the a set of retry policies specified by method name.
|
static RetryPolicy |
RetryPolicies.retryByException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
Set a default policy with some explicit handlers for specific exceptions.
|
static RetryPolicy |
RetryPolicies.retryByRemoteException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
A retry policy for RemoteException
Set a default policy with some explicit handlers for specific exceptions.
|
static RetryPolicy |
RetryPolicies.retryOtherThanRemoteException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
A retry policy for exceptions other than RemoteException.
|
| Modifier and Type | Method and Description |
|---|---|
<T> ProtocolProxy<T> |
ProtobufRpcEngine.getProxy(Class<T> protocol,
long clientVersion,
InetSocketAddress addr,
UserGroupInformation ticket,
Configuration conf,
SocketFactory factory,
int rpcTimeout,
RetryPolicy connectionRetryPolicy) |
<T> ProtocolProxy<T> |
WritableRpcEngine.getProxy(Class<T> protocol,
long clientVersion,
InetSocketAddress addr,
UserGroupInformation ticket,
Configuration conf,
SocketFactory factory,
int rpcTimeout,
RetryPolicy connectionRetryPolicy)
Construct a client-side proxy object that implements the named protocol,
talking to a server at the named address.
|
<T> ProtocolProxy<T> |
RpcEngine.getProxy(Class<T> protocol,
long clientVersion,
InetSocketAddress addr,
UserGroupInformation ticket,
Configuration conf,
SocketFactory factory,
int rpcTimeout,
RetryPolicy connectionRetryPolicy)
Construct a client-side proxy object.
|
<T> ProtocolProxy<T> |
ProtobufRpcEngine.getProxy(Class<T> protocol,
long clientVersion,
InetSocketAddress addr,
UserGroupInformation ticket,
Configuration conf,
SocketFactory factory,
int rpcTimeout,
RetryPolicy connectionRetryPolicy,
AtomicBoolean fallbackToSimpleAuth) |
<T> ProtocolProxy<T> |
WritableRpcEngine.getProxy(Class<T> protocol,
long clientVersion,
InetSocketAddress addr,
UserGroupInformation ticket,
Configuration conf,
SocketFactory factory,
int rpcTimeout,
RetryPolicy connectionRetryPolicy,
AtomicBoolean fallbackToSimpleAuth)
Construct a client-side proxy object that implements the named protocol,
talking to a server at the named address.
|
<T> ProtocolProxy<T> |
RpcEngine.getProxy(Class<T> protocol,
long clientVersion,
InetSocketAddress addr,
UserGroupInformation ticket,
Configuration conf,
SocketFactory factory,
int rpcTimeout,
RetryPolicy connectionRetryPolicy,
AtomicBoolean fallbackToSimpleAuth)
Construct a client-side proxy object.
|
Copyright © 2018 Apache Software Foundation. All Rights Reserved.


HIRAM CHO
Softstack Factory Student
Currently
I work at the Control Group in San Diego, CA. I am looking to expand my computer programming skills as a student in the Softstack Factory. I have a strong interest in working with APIs and look forward to building custom tools with my newly developed skillset.
Education
2008
University of California Los Angeles Bachelor’s degree in Economics
Technical skills
- HTML and CSS
- Online Reputation Management
- Affiliate Marketing
- SEO
- Certified Google Analytics
- Certified Google Adwords
Projects
CV
I created a this web page to illustrate my sklls as a web developer.
Achievements
Employee of the Month September 2016
Highest Conversion Goal Quarter 4 2016
Experience
2016-present
The Control Group
SEO Manager for the main online search products, InstantCheckmate and Truthfinder.
Hobbies
- Snowboarding
- Cooking
- Weightlifting


Getting Started with AWS¶
At this stage, although we’ll be working with a built-in example you will need to make some minor changes to the files in order to create your own cluster from them. It’s therefore essential that you work on a clone of your own fork of the OKD Orchestrator. You will then be able to commit the changes you make and start to craft your own deployments without being disturbed by changes in this, the upstream project.
Here we’re going to deploy the built-in OKD 3.9 release on a small cluster at
AWS. The deployment configuration is called simple-aws-frankfurt-3-9
.
We will be creating a small (t2.small
) Bastion node from where we’ll
deploy the OKD cluster using one Master node, one Infrastructure node and
one Compute node.
Once done we’ll tear-down the Cluster and the Bastion.
Some familiarity with with the Amazon Elastic Compute Cloud, commonly referred to as EC2, is assumed here and costs will be incurred when following this example.
If you are not familiar with EC2, Amazon’s What Is Amazon EC2 page provides comprehensive documentation.
Before you can create Amazon (AWS) resources you will need to prepare an EC2 Account and, for the example cluster, two Elastic IP instances that the orchestrator will attach to the Master and Infrastructure nodes.
Account Preparation¶
You use different types of security credentials depending on how you interact with AWS and, in order to use the orchestrator, you will need: -
- An AWS account that allows you to sign in to the AWS Management Console
- API Access keys that allow the orchestrator to make programmatic calls to the AWS API on your behalf
- An SSH Key Pair that you and the OKD Orchestrator can use to create
and access EC2 objects. If you don’t want to make too many changes to the
example then create a Key Pair named
aws-keypair
.
Account¶
If you do not have an AWS Account visit https://aws.amazon.com where you can sign-up.
API Access Keys¶
Access Keys and Key Pairs are described on the Amazon Access Keys
page. You will need both the access key
and the corresponding secret
value.
Create and export two environment variables for the access keys. These will
be used by the terraform
utility when creating your cluster:
export TF_VAR_aws_access_key=<myAccessKey>
export TF_VAR_aws_secret_key=<mySecretKy>
SSH Key Pair¶
You can generate a key-pair that does not use a pass phrase for this example
using the ssh-keygen
tool:
ssh-keygen -f ~/.ssh/aws-keypair -t rsa -b 2048 -N ''
You should then upload the public (.pub
) part to your AWS account.
You will need to upload the key-pair to each region that you intend to use.
Our example assumes you’ll be deploying to Frankfurt
.
Elastic IP Preparation¶
You will need to create two Elastic IPs, one that will be used by the orchestrator as the public IP address of the OpenShift Master node and the other for the Infrastructure node.
You can create Elastic IPs form the AWS EC2 dashboard.
In the region that you’ll be creating the cluster
(Frankfurt
in this example), create two Elastic IP instances. The IPs that
have been assigned are not of particular use to the orchestrator but the
Allocation IDs are.
The IDs will begineipalloc-
followed by, typically, a 16-digit hex number.
For clarity you might want to provide a Name
for each IP. One will be
associated for the Master OpenShift node and one will be associated with
the Infrastructure node. It might be beneficial to given them these names.
The assigned IDs need to placed in the deployment file, in this example
the file we’re using is deployments/simple-aws-frankfurt-3.9.yaml
.
Edit the deployment file and replace the master1.fixed_ip_id
and
infra1.fixed_ip_id
values with your EIP allocation IDs. Then, replace the
public_hostname
and cluster.router_basename
with the IPs from
the Master and Infra IDs respectively.
Remember that Elastic IPs not attached to EC2 instances incur a small cost. Once you have finished with the example cluster you may want to remove these objects from your EC2 account.
Normally you would have access to a domain through which you want to access
your cluster, mycluster.com
for example. Instead of placing the IP
addresses in the public_hostname
and cluster.router_basename
you would
normally route two sub-domains to those IPs. If you do theses domaain names
would be used for the public_hostname
and cluster.router_basename
,
i.e. openshift.mycluster.com` and apps.mycluster.com
. For this example
we’ll stick to the Elastic IP values.
Building a machine image¶
The final preparation step for AWS requires the building of base images for your cluster, the identities of which are copied into your deployment configuration.
When you’re ready, follow the AWS instructions in the Building Machine Images guide.
Once complete, with a machine image built and its ID in your deployment configuration, you’re ready to launch your Bastion and an OKD cluster, all of which is covered in the Creating a Cluster guide.


{% extends "allmychanges/base.html" %} {% block content %} {% if no_packages %}
Data is not available yet. Please, keep calm and add more packages while you are waiting.
{% else %} {% include "allmychanges/digest-partial.html" with changes=today_changes title="Last 24 hours" %} {% include "allmychanges/digest-partial.html" with changes=week_changes title="This week" %} {% include "allmychanges/digest-partial.html" with changes=month_changes title="This month" %} {% include "allmychanges/digest-partial.html" with changes=ealier_changes title="More than month ago" %} {% endif %} {% endblock content %}


--- title: "Images and Videos" lastmod: 2019-03-06T00:00:00.000Z draft: false type: docs maths: true linktitle: "Images and Videos" menu: docs: parent: Content Management weight: 50 ---
Images that you want displayed on a page must be put in the static/img folder.
The naming convention for the images is the file name of the Markdown page they are appearing in with an _ and then image number.
For example, the Markdown file for this page is called images_and_videos. So an image for this page would be called images_and_videos_01.png (file extension may be different depending on image type).
Images can be included in a Markdown file in two ways.
The first is by using HTML in the Markdown document like so:
<img alt = 'my new screenshot' width='300' src='/img/filename.png'/>
The “alt = ‘my new screenshot’” provides alternative text for people who use screen readers. In this case a person with a screenreader will hear “my new screenshot.”
Width determines the size of the image (it keeps the same aspect ratio so changing the width changes the height proportionally).
Note that the file path for the image includes the img folder and has a ’ at the beginning and end.
To include with R code simply use the following:
` ```` ` ```` `
{r, echo=FALSE, fig.cap=“whatever you want”, fig.width = 7, fig.height = 5, fig.align=“center”}
knitr::include_graphics(“/img/filename.png”)` ```` ` ```` `
Where fig.cap gives both the alternative text for screenreaders and a text caption for the image.
For more info on this function go here.
To embed a YouTube video in RMarkdown use the following code:
` ```` ` ```` `
{r, eval=TRUE, echo=FALSE}
blogdown::shortcode(“youtube”, “zPrI8db74kA”)` ```` ` ```` `
Where:
zPrI8db74kA
is taken from the url of the video:


Coach
Texas State '09
Coach
Texas State '09,
University of Houston (PhD) '14
Captain
Lovett '17
Captain
Duncan '17
Treasurer
Hanszen '16
Member
Lovett '16
Member
Lovett '16
Member
Duncan '16
Member
Brown '16
President
Lovett '17
Member
Lovett '17
Member
Brown '17
Fitness Officer
Weiss '18
Member
Baker '18
Social
Duncan '18
Member
Hanszen '18
Member
McMurtry '19
Member
Martel '19
Member
Sid Rich '19
Member
McMurtry '19
Member
Duncan '19
Member
Hanszen '19
Member
Lovett '19
Member
McMurtry '19
Location: Rice University
Wins: 6
In response to the rainout at Centex the previous weekend, Rice Cloud 9 hosted its first ever Cancellation Station. Ironically, a downpour on Saturday shortened first day play to two games, but Cloud 9 managed to uphold its undefeated record through the rest of the games on Sunday, racking up six wins along the way.
Location: University of North Texas
Wins: 5 Losses:0
Conditions were bleak on Saturday and Sunday morning, but Cloud 9 battled through freezing winds and bouts of rain to pick up five wins. Sunday play was stopped short with a rainout after the first game, but the team looks forward to its next competition.
Location: University of Texas at Arlington
Wins: 7 Losses: 0
Early rains caused a change of location from UTA to a nearby park, but pool and bracket play continued as normal for the remainder of the weekend. Cloud 9 faced competition from current college teams as well as alumni teams but returned to Houston with another seven wins to their undefeated record.
Location: University of Houston
Wins: 7 Losses: 0
Rice notched its first tournament win of the preseason with a big performance on both the offensive and defensive lines. Gusty winds and tough marks challenged rookies to dig deep and hunker down, and they rose to the occasion, led by the veterans to seven wins for the weekend.


I am student I am student I am student I am student student student http://www.google.com/gongbiao/12323/1123


GWA's Cleaning, Carpets & Upholstery Cleaning Prices
Click a service below to expand the price details.
| Service type | Standard price | |
|---|---|---|
| Repeat clean | from £16/h | |
| One-off clean | from £16/h | |
| Detergents per session (optional) | £6 | |
| Combine and SAVE | Combo Discount | Standard price |
| Regular cleaning + cleaning of 2 carpets | £82 | £88 |
| Regular cleaning + single oven cleaning | £86 | £94 |
| Premises type | Hot Water Extraction | Hot Water Extraction + Stain protection |
|---|---|---|
| Lounge / Dining room (12×12 feet) | £31 | £44 |
| Through lounge (28×12 feet) | £49 | £62 |
| Hallway (10×4 feet) | £15 | £22 |
| Staircase (up to 14 steps) | £31 | £38 |
| Single Bedroom (10×10 feet) | £25 | £37 |
| Combine and SAVE | Property / Item | Standard |
| Carpet Cleaning (Hot Water Extraction) + Stain Protection (x 2 double bedrooms, x 1 living room, x 1 hallway). | 2-bedroom Flat | £139 |
| Carpet Cleaning (Hot Water Extraction) + Stain Protection (x 2 double bedrooms, x 1 living room, x 1 staircase, x 1 landing, x 1 hallway) | 2-bedroom House | £190 |
| Size | Hot Water Extraction | Hot Water Extraction + Stain protection* |
| Rug (up to 3sq.m) | £17 | £24 |
| Medium Rug (up to 7sq.m) | £25 | £32 |
| Large Rug (up to 15sq.m) | £32 | £39 |
All prices and estimates are starting from:
*Stain protection (Scotchgard) – Up to 6 months stain protection guarantee, recommended for high traffic areas + prolonging the life of your carpeting.
| Appliance type | Standard price |
|---|---|
| Single oven, including two racks | £49 |
| Double oven, including three racks | £67 |
| Extractor | £24 |
| Hob | £24 |
| Range oven (90cm-110cm) | £97 |
| AGA oven | from £83 |
| BBQ | from £49 |
| Combine and SAVE | Combo Discount |
| Single Oven + Hob + Extractor | £87 |
| Double Oven + Hob + Extractor | £103 |
| Single Wide Oven + Hob + Extractor | £103 |
| Range Cooker + Hob + Extractor | £131 |
| Upholstery type | Hot Water Extraction | Hot Water Extraction + Stain Protection* |
|---|---|---|
| Prices | Standard | Standard |
| Armchair | £23 | £33 |
| Two-seated sofa | £36 | £48 |
| Three-seated sofa | £42 | £72 |
| L – Shaped 4 seater sofa | £70 | £125 |
| Dining chairs | £7 | £14 |
| Office chair | £4 | £6 |
| Half length pair of curtains | £19 | - |
| Full length pair of curtains | £24 | - |
| Upholstery cleaning (hot water extraction) + Stain protection (up to 3 seater sofa, x 1 mattress (any size) | - | £95 |
| Upholstery Cleaning (hot water extraction) + Stain Protection (up to 4 seater sofa, x 2 mattress (any size). | - | £139 |
All prices are starting from.
| Service type | Price per hour |
|---|---|
| Office clean | from £15 |
Office cleaning is an hourly-based service. It is provided by highly experienced and friendly maids on a daily, weekly, fortnightly, and monthly basis.
Contact us for a quote today.


Add Property
Map the properties of your robot to the cloud connector to allow realtime aggregation of data.
Predefined Properties
Add Logging
Add Weather
Add


-
Ok, shits real. Its in the wild... src:<IP_ADDRESS>
gist.github.com
You can clone with HTTPS or SSH .
-
MIT Students Battle State's Demand for Their Bitcoin Miner's Source Code | ...
www.wired.com
Four MIT students behind an award-winning Bitcoin mining tool will face off against New Jersey state authorities in court today when they attempt to ...
-
Ello | waxpancake
ello.co
Ello is a beautiful, simple, and ad-free social network. The Ello interface supports posting and private messaging. Ello allows users to share ...
-
Exposing Hidden Bias at Google - NYTimes.com
www.nytimes.com
Google, like many tech companies, is a man’s world.
-
Eric Holder To Step Down As Attorney General
www.npr.org
The nation's first black U.S. attorney general had a tumultuous tenure marked by civil rights advances, national security threats, sentencing reforms ...
-
Boys Wear Skirts to Class in Protest After School Fines Trans Girl for ...
www.advocate.com
When a trans student was fined by her Rio de Janeiro high school for wearing a skirt, her classmates hatched a plan.
-
A Long, Ugly Year of Depression That's Finally Fading - Rand's Blog
moz.com
Yesterday morning I woke up early to speak at the Business of Software conference in Boston. It was my first time there, and it’s an exceptional ...
-
How to Start a Startup
startupclass.samaltman.com
CS183B is a class we’re teaching at Stanford. It’s designed to be a sort of one-class business course for people who want to start startups.
-
Battle For The Net
www.battleforthenet.com
Cable companies want to slow down (and break!) your favorite sites, for profit. To fight back, let's cover the web with symbolic "loading" icons, to ...
-
RE2PECT
www.youtube.com
No matter what hat you wear, tip it to The Captain. #RE2PECT Learn more: http://www.nike.com/us/en_us/c/jordan/derek-jeter-re2pect
-
Twitter / Recherche - #worldcup
twitter.com
Le meilleur des derniers Tweets à propos de #worldcup. Lisez ce que les gens disent et rejoignez la conversation.
-
Dozens Injured Including Police Officers As Police and Protesters Clash In ...
pzfeed.com
Demonstrators have been protesting China's plan for Hong Kong's 2017 elections. The elections will be less democratic than Beijing had earlier ...
-
Belgrade Pride 2014: Live Blog :: Balkan Insight
www.balkaninsight.com
Stay tuned for up to the hour coverage as the Gay Pride Parade proceeds in Belgrade, following a pause of three years.
-
Why a leading professor of new media just banned technology use in class
www.washingtonpost.com
Anyone distracted in class doesn’t just lose out on the content of the discussion but creates a sense of permission that opting out is OK, and, ...
-
CIA admits improper searches of Senate computers
cir.ca
The CIA has for the first time admitted that some of its officers searched computers belonging to the Senate Intelligence Committee, and did so ...
-
Letter writing campaign of the Anonymous Solidarity Network
www.anonymousvideo.eu
Mail to the jail is a support effort for arrested Anons, hactivists, and activists that can provide a forum to organize letter writing campaign’s for ...
-
European Space Agency sets comet landing date
cir.ca
The European Space Agency (ESA) plans to land the Philae probe on Comet 67P, which would be a first in space exploration.
-
I asked Reddit to rate my appearance—and it was a huge mistake
www.dailydot.com
A little feedback couldn't hurt, right?
-
Gallery Ventures | The Dream Builder. Coworking. Incubator @ Milano Navigli
galleryventures.com
Gallery Ventures e' il primo coworking space ed incubatore tecnologico a Milano Navigli. In una ex galleria d'arte con più di 120 innovatori!
-
8 Normal Activities That Become Super Creepy When You Make Eye Contact
www.collegehumor.com
Eyes are the window to the soul. The terrifying soul.
-
Tomorrow is the last day Saturday morning cartoons will be aired on ...
www.reddit.com
You can find more information on the Vortexx wiki page. http://en.wikipedia.org/wiki/Vortexx TLDR: Their contract with The CW ends tomorrow, and...
-
Fedora 21 Alpha: tutte le novità in 10 screenshot
www.tuxjournal.net
Poche ore fa gli sviluppatori del progetto Fedora hanno pubblicato la prima release Alpha della prossima versione della distro. Scopriamo tutte le ...
-
CA governor signs bill banning sales and displays of Confederate flags for ...
cir.ca
California Gov. Jerry Brown on Sept. 25 signed a bill into law that bans state agencies from selling or displaying the Confederate flag.
-
US to stop land mine use, except in Korea
cir.ca
The Obama administration announced a change in anti-personnel land mines (APL) policy that will move the US towards compliance with the Ottawa ...
-
Liberia's top doctor places herself under Ebola quarantine
cir.ca
Governments, the World Health Organization (WHO), and other international groups are fighting an outbreak of the deadly Ebola virus in West Africa.
-
Grooveshark
grooveshark.com
Grooveshark is free music, online radio, and so much more. Enjoy unlimited free music streaming with a worldwide community of artists and music ...
-
Meet the Badass Woman Leading the UAE Air Strikes Against the Islamic State
mic.com
The 35-year-old pilot is the first female member of the United Arab Emirates' air force.


Docker プラグイン API
Docker plugins are out-of-process extensions which add capabilities to the Docker Engine.
This document describes the Docker Engine plugin API. To view information on plugins managed by Docker Engine, refer to Docker Engine plugin system.
This page is intended for people who want to develop their own Docker plugin. If you just want to learn about or use Docker plugins, look here.
What plugins are
A plugin is a process running on the same or a different host as the docker daemon, which registers itself by placing a file on the same docker host in one of the plugin directories described in Plugin discovery.
Plugins have human-readable names, which are short, lowercase strings. For
example, flocker
or weave
.
Plugins can run inside or outside containers. Currently running them outside containers is recommended.
Plugin discovery
Docker discovers plugins by looking for them in the plugin directory whenever a user or container tries to use one by name.
There are three types of files which can be put in the plugin directory.
.sock
files are UNIX domain sockets..spec
files are text files containing a URL, such asunix:///other.sock
ortcp://localhost:8080
..json
files are text files containing a full json specification for the plugin.
Plugins with UNIX domain socket files must run on the same docker host, whereas plugins with spec or json files can run on a different host if a remote URL is specified.
UNIX domain socket files must be located under /run/docker/plugins
, whereas
spec files can be located either under /etc/docker/plugins
or /usr/lib/docker/plugins
.
The name of the file (excluding the extension) determines the plugin name.
For example, the flocker
plugin might create a UNIX socket at
/run/docker/plugins/flocker.sock
.
You can define each plugin into a separated subdirectory if you want to isolate definitions from each other.
For example, you can create the flocker
socket under /run/docker/plugins/flocker/flocker.sock
and only
mount /run/docker/plugins/flocker
inside the flocker
container.
Docker always searches for unix sockets in /run/docker/plugins
first. It checks for spec or json files under
/etc/docker/plugins
and /usr/lib/docker/plugins
if the socket doesn’t exist. The directory scan stops as
soon as it finds the first plugin definition with the given name.
JSON specification
This is the JSON format for a plugin:
{
"Name": "plugin-example",
"Addr": "https://example.com/docker/plugin",
"TLSConfig": {
"InsecureSkipVerify": false,
"CAFile": "/usr/shared/docker/certs/example-ca.pem",
"CertFile": "/usr/shared/docker/certs/example-cert.pem",
"KeyFile": "/usr/shared/docker/certs/example-key.pem"
}
}
The TLSConfig
field is optional and TLS will only be verified if this configuration is present.
Plugin lifecycle
Plugins should be started before Docker, and stopped after Docker. For
example, when packaging a plugin for a platform which supports systemd
, you
might use systemd
dependencies to
manage startup and shutdown order.
When upgrading a plugin, you should first stop the Docker daemon, upgrade the plugin, then start Docker again.
Plugin activation
When a plugin is first referred to -- either by a user referring to it by name
(e.g. docker run --volume-driver=foo
) or a container already configured to
use a plugin being started -- Docker looks for the named plugin in the plugin
directory and activates it with a handshake. See Handshake API below.
Plugins are not activated automatically at Docker daemon startup. Rather, they are activated only lazily, or on-demand, when they are needed.
Systemd socket activation
Plugins may also be socket activated by systemd
. The official Plugins helpers
natively supports socket activation. In order for a plugin to be socket activated it needs
a service
file and a socket
file.
The service
file (for example /lib/systemd/system/your-plugin.service
):
[Unit]
Description=Your plugin
Before=docker.service
After=network.target your-plugin.socket
Requires=your-plugin.socket docker.service
[Service]
ExecStart=/usr/lib/docker/your-plugin
[Install]
WantedBy=multi-user.target
The socket
file (for example /lib/systemd/system/your-plugin.socket
):
[Unit]
Description=Your plugin
[Socket]
ListenStream=/run/docker/plugins/your-plugin.sock
[Install]
WantedBy=sockets.target
This will allow plugins to be actually started when the Docker daemon connects to the sockets they’re listening on (for instance the first time the daemon uses them or if one of the plugin goes down accidentally).
API design
The Plugin API is RPC-style JSON over HTTP, much like webhooks.
Requests flow from the Docker daemon to the plugin. So the plugin needs to implement an HTTP server and bind this to the UNIX socket mentioned in the “plugin discovery” section.
All requests are HTTP POST
requests.
The API is versioned via an Accept header, which currently is always set to
application/vnd.docker.plugins.v1+json
.
Handshake API
Plugins are activated via the following “handshake” API call.
/Plugin.Activate
Request: empty body
Response:
{
"Implements": ["VolumeDriver"]
}
Responds with a list of Docker subsystems which this plugin implements. After activation, the plugin will then be sent events from this subsystem.
Possible values are:
Plugin retries
Attempts to call a method on a plugin are retried with an exponential backoff for up to 30 seconds. This may help when packaging plugins as containers, since it gives plugin containers a chance to start up before failing any user containers which depend on them.
Plugins helpers
To ease plugins development, we’re providing an sdk
for each kind of plugins
currently supported by Docker at docker/go-plugins-helpers.


Developmental projects for Sivasagar, Charaideo, Dibrugarh and Tinsukia
GUWAHATI: In a bid to realize the aspirations of Ahom, Moran, Motok and Chutia community living in the upper Assam districts of Sivasagar, Charaideo, Dibrugarh and Tinsukia, the State government would soon take up various projects in a time-bound manner. The projects to be implemented would primarily focus on the preservation of historical sites, building sports and cultural infrastructure as well as taking up skill development programmes to generate better livelihood opportunities among the Ahom, Moran, Motok and Chutia community living in these four districts.
Chief Minister Sarbananda Sonowal expressing his vision on the projects in a meeting held at his office conference room on Tuesday directed the deputy commissioners of the respective districts to prepare plans which are sustainable and visible in nature. The Chief Minister said that the sports and cultural complexes to be built in the four districts would be named after the legendary personalities of these four communities. Moreover, the fund to be utilized for the preservation of the historical sites would be released over and above the already earmarked budgetary allocation.
Finance Minister Dr. Himanta Biswa Sarma while taking part in the discussion said that the Transformation & Development department would prepare a broad guideline on exact nature of schemes to be taken up by the districts. He asked the deputy commissioners to hold extensive consultations with the representatives of the four communities and solicit their suggestions on the projects to be submitted to the government.
Additional Chief Secretary Rajib Bora, Principal Secretary to Chief Minister Sanjay Lohiya and others were present in the meeting, stated a press release.
Also Read: Sivasagar mesmerizes German couple on World Tour
Also Watch: Congress party and Rahul Gandhi must apologize to the country: Assam BJP


Search Cheatsheet
======
All of following syntax can be used in searches, in any order.
You only need to type as much of the word as necessary for it to be recognised:
E.g. "=tom" is enough to search for "=tomorrow"
Simple
------
- Word `harry`
- Multiple words `harry roof fall`
- Exclude words `harry -roof`
- Phrases `"harry fell off roof"`
- Or search `harry | roof`
- Simple date `=24-Jul-2009`
- Before/after `<24-jul-2010 >24-Jul-2010`
- Date range `24-jul-2009..24-aug-2009`
- Tags `#harry`
Intervals `=`
------
- Yesterday `=yesterday`
- Today `=today >today year