Bogotá clashes and a Brexit manifesto: Friday's best photos
by Compiled by Preeti BhambriThe Guardian’s picture editors select photo highlights from around the world
London, UK
Nigel Farage at the launch of the Brexit party’s ‘Contract with the People’ election manifesto
Photograph: James Veysey/Rex/Shutterstock
Nakhon Pathom province, Thailand
Pope Francis greets Catholics in St Peter’s church. The pontiff is in Thailand for an apostolic visit for the 350th anniversary of the founding of Mission de Siam. He is the first pope to visit the country in nearly four decades
Photograph: Diego Azubel/EPA
Christchurch, New Zealand
The Prince of Wales greets members of the public during a visit to Christchurch Cathedral, on the sixth day of a royal visit to the country
Photograph: Chris Jackson/PA
Mexico City, Mexico
Men ride horses down Paseo de la Reforma during a parade marking the 109th anniversary of the Mexican revolution. More than 1,000 participants dressed in period clothing rode through the streets of the capital after re-enacting scenes from the revolution in the city’s main square
Photograph: Rebecca Blackwell/AP
Surif, West Bank
Palestinian demonstrators pray as Israeli troops stand guard during a protest against Jewish settlements in the Israeli-occupied West Bank
Photograph: Mussa Issa Qawasma/Reuters
Bogotá, Colombia
Protesters clash with the Mobile Anti-Disturbances Squad. President Iván Duque’s government had ramped up security before the marches amid fears Colombia could join the wave of violent protests sweeping other Latin American countries
Photograph: Juancho Torres/Anadolu Agency via Getty Images
Johannesburg, South Africa
A bodybuilder does his early morning workout at Hillbrow boxing gym
Photograph: Kim Ludbrook/EPA
Mediterranean Sea
People fish on the NGO Proactiva Open Arms migrant rescue boat
Photograph: Juan Medina/Reuters
Caracas, Venezuela
A university student holds a chain with his body painted during a protest against the country’s president, Nicolás Maduro
Photograph: Yuri Cortéz/AFP via Getty Images
Srinagar, Jammu and Kashmir
A Kashmiri man rides a boat in the waters of Dal Lake as it rains in Srinagar
Photograph: Tauseef Mustafa/AFP via Getty Images
Hong Kong
A stuffed toy depicting Pepe the Frog, a character used by pro-democracy activists as a symbol of their struggle, next to a helmet and charred glass bottles at the Polytechnic University in Hung Hom. Protesters held their ground in a campus besieged for days by police as the US passed a bill lauding the city’s pro-democracy movement, setting the scene for a clash between Washington and Beijing
Photograph: Dale de la Rey/AFP via Getty Images
Yarzeh, Lebanon
A special forces officer salutes the Lebanese flag during a military parade to mark the 76th anniversary of Lebanon’s independence from France at the defence ministry, near Beirut. Lebanon’s top politicians attended the parade, appearing for the first time since the government resigned amid nationwide protests
Photograph: Hassan Ammar/AP
Naypyidaw, Myanmar
Aung San Suu Kyi attends a political conference
Photograph: Thet Aung/AFP via Getty


(16 Charges) |
(24 Charges) |
(32 Charges) |
|---|
(+8 Charges) |
(+12 Charges) |
(+16 Charges) |
(-8 Charges) |
|---|
🡇 Show/Hide Additional Add-on Slot 🡇
(+8 Charges) |
(+12 Charges) |
(+16 Charges) |
(-8 Charges) |
|---|
(33% Increase) |
(20% Increase) |
(25% Increase) |
Remove Selection |
|---|
There are currently only three item efficiency perks in Dead By Daylight and you may not stack multiple copies of them, hence why this calculator does not allow you to pick more than three possible perks. Be aware that if you do not pick a unique option for each perk selection, you will recieve an impossible result.
🡇 Show/Hide Additional Perks 🡇
(33% Increase) |
(20% Increase) |
(25% Increase) |
Remove Selection |
|---|
(33% Increase) |
(20% Increase) |
(25% Increase) |
Remove Selection |
|---|
Your med-kit has a total of charges. With the perks selected, the total amount of effective charges is . That's full heals!
Click here to reset the calculator.
Dead By Daylight Med-Kit Calculator by alchemilla, licensed under the MIT License.
Last Updated: v1.2 - 12/24/2020 - DBD Patch 4.4.2


STRAIGHTEDGE MAINNET LAUNCH
Straightedge is a general-purpose smart contracting platform governed by the holders of the STR token.
The codebase can be found here.
Community
To join the community and stay up to date on the latest information on the Straightedge launch, please join the Discord. If you're interested in running a validator, please join the #validators channel!
Recreating Pre-Genesis
If you wish to verify the generation of pregenesis.json yourself, follow the steps here.
STR Token
The native token of the Straightedge network is known as STR.
The initial supply of the STR token is 5 billion STR. Of this, 90% is distributed based on the participation from the Edgeware lockdrop, modified to ignore signals from deployers of contracts. Further details about this matter can be found in this FAQ.
In Edgeware, 10% of the initial distribution was distributed as a founder's reward to Commonwealth Labs, Parity Technologies, and a community fund managed by Commonwealth Labs. In the initial Straightedge distribution, this 10% (500 million tokens) is deposited directly into the on-chain governed community pool. It is encouraged that this be distributed by governance as a founder's reward to entities that were instrumental in the creation of the Straightedge network.
Just like the smallest unit of Bitcoin and Ether are satoshis and wei respectively, the smallest unit of STR is an astr (atto-STR). There are 10^18 astr in 1 STR.
Claiming Tokens
If you have tokens in the genesis file, and you wish to convert them into a key type that works with wallets, see this page
Delegation
To delegate your STR token to a validator, use the strcli tx staking delegate command. Validator addresses to delegate to can be found on any explorer, such as
Functionality
Similar to the Cosmos Hub codebase (Gaia), the Straightedge blockchain inherits much of its functionality from the core modules of the cosmos sdk. It uses the standard bank, staking, slashing, governance, upgrade, and crisis modules of the Cosmos SDK.
It also includes the CosmWasm module, a project built to allow WebAssembly-based smart contracting in the Cosmos SDK. For more information of CosmWasm and tutorials on how to get started with using it, please check out the CosmWasm website.
In the future, it is possible for the Straightedge to upgrade to support more smart contracting systems, such as the Cosmos SDK's EVM module.
In order to support the hard spoon of Edgeware lockdrop balances, we needed to add support of the SR25519 keys into the Cosmos SDK. We would like to give special thanks to ChainSafe team for their help on some of this work.
For instructions on how to add your lockdrop keys to the Straightedge CLI wallet, please follow the instructions here.
Disclaimer
Please note that the Straightedge blockchain is highly experimental software. In these early days, we can expect to have issues, updates, and bugs. The existing tools require advanced technical skills and involve risks which are outside of the control of the developers. Any use of this open source Apache 2.0 licensed software is done at your own risk and on a “AS IS” basis, without warranties or conditions of any kind, and any and all liability of the developers for damages arising in connection to the software is excluded. Please exercise extreme caution!


« Previous Demo:
Slider Pagination Concept
Back to the Codrops Article
Simple Multi-Item Slider
Category slider with CSS animations
Twins
My older sister and my niece
Dad on his tip toes
Normal sized Interviewer
Let's Be Cops
New Orleans
Road Trip
ROT Ralley
Puta Nation
Puta Nation II
Come HERE!
STOP!
I am a Giant
These are my friends
Me in action


Retrieve the SDK API handle for Front.
The Front SDK API handle.
The name of this service, as required by the framework.
'flowdock'.
Create or retrieve the singleton express app.
Singleton express server app.
Activate this service as a listener.
Promise to find the comment history of a particular thread.
id of the thread to search.
id of the room in which the thread resides.
criteria to match.
Find the ID of a user specified by username.
target username to search for.
Promise that resolves to the user id.
Attempt to find a recent conversation ID from it's subject line. Done by subject because the conversation_reference provided is sometimes junk.
target subject line to search for.
Since conversations take time to propagate this method may recurse.
Promise that resolves to the ID of the conversation.
Get a Worker object for the provided event, threaded by context.
event as enqueued by the listener.
worker for the context associated.
Pass an event to registered listenerMethods.
enqueued event from the listener.
Promise that resolves once the event is handled.
Start the object listening if it isn't already.
Promise to turn the data enqueued into a generic message format.
Raw data from the enqueue, remembering this is as dumb and quick as possible.
A promise that resolves to the generic form of the event.
Promise to turn the generic message format into a specific form to be emitted.
Generic message format object to be encoded.
Promise that resolves to the emit suitable form.
Queue an event ready for running in a child.
The WorkerEvent to add to the queue for processing.
Store an event of interest, so that the method gets triggered appropriately.
Registration object with event trigger and other details.
Remove a worker from a context post-action.
The context in which the Worker must be removed.
Emit data to the service.
Service Emit Request to send, if relevant.
Details of the successful transmission from the service.
Deliver the payload to the service. Sourcing the relevant context has already been performed.
The object to be delivered to the service.
Response from the service endpoint.
Turns the generic, messenger, name for an event into a specific trigger name for this class.
Name of the event to translate, eg 'message'.
This class's equivalent, eg 'post'.
Given a basic string this will extract a more rich context for the event, if embedded.
basic string that may contain metadata.
object of content, genesis and hidden.
Retrieve from the environment array of strings to use as indicators of visibility
Object of arrays of indicators, shown and hidden.
Make a handle context, using a receipt context and some extra information.
Event to be converted.
Destination for the handle context.
Pre-populate the toIds, if desired.
newly created context for handling a message.
Encode the metadata of an event into a string to embed in the message.
event to gather details from.
Optional, markdown or plaintext, defaults to markdown.
Text with data embedded.
Generated using TypeDoc
A place to put output for debug and reference.
{Logger}.


The cache reload plugin forces the browser to update its cached copy of boomerang. Details are on the lognormal blog here and here.
The Cache Reload plugin's configuration is under the CACHE_RELOAD
namespace.
The full configuration object is described in Howto #6 — Configuring boomerang.
url
parameter to the url that will do handle forcing the reload. See the example below for what this url's output should look like.
Called by the BOOMR.init() method to configure the cache reload plugin.
BOOMR.init()
. See the Configuration section for details.
a reference to the BOOMR.plugins.CACHE_RELOAD
object, so you can chain methods.
Called by BOOMR.sendBeacon() to determine if the bandwidth plugin has finished what it's doing or not. This method always returns true.
true
.This plugin does not add any parameters to the beacon.
The cache reloading HTML document should look something like this:
<!doctype html> <html> <head> <script src="boomerang.js"></script> </head> <body> <script> // required version needs to be passed in as a query string parameter // like v=0.9.123456789 var boom_ver = BOOMR.version.split('.'), reqd_ver = location.search.replace(/.*v=([0-9\.]+).*/, '$1').split('.'); if ( (boom_ver[0] < reqd_ver[0]) // javascript will do type coercion || (boom_ver[0] == reqd_ver[0] && boom_ver[1] < reqd_ver[1]) || (boom_ver[0] == reqd_ver[0] && boom_ver[1] == reqd_ver[1] && boom_ver[2] < reqd_ver[2]) ) { location.reload(true); } </script> </body> </html>
The latest code and docs is available on github.com/SOASTA/boomerang


{% extends "base.html" %}
{% block pagecss %}
{% endblock %}
{% block pagehead %}
Cottage Grove — Umpqua 200k
March 30, 2019
{% endblock %}
{% block subhead %}{% endblock %}
{% block content %}
Unofficial map and downloadable track:
https://ridewithgps.com/routes/29419451;
Cue sheet as PDF or
xlsx (Excel)
Contact for more information:
<EMAIL_ADDRESS>This very pretty, somewhat remote route was designed by James Taylor, who will be greeting riders at the start and finish. We loop south from Cottage Grove through Drain and Yoncalla to the Umpqua river, then back north through Sutherlin. There is some climbing, but it is not extreme. There is some gravel, but for the most part it is paved. Expect it to be a little tougher than your typical 200k brevet. There are no services between Oakland (mile 89) and the finish in Cottage Grove. You should pack some food and fill your bottles at the Sutherlin controle, mile 87.6, and consider picking up an extra bottle of water for the 40 mile stretch to Cottage Grove.
As a condition of participation, you will be asked to sign a release and waiver of liability at the ride start. Read it now so that you are familiar with it. Be sure you know what you're getting into and are prepared and comfortable with the risks.
This brevet is sanctioned by Audax Club Parisien and Randonneurs
USA, and is subject to RUSA Rules for
Riders. If you are not familiar with these rules, please
read them well in advance so that you can be prepared. They are
RUSA membership is not required to participate. However, only RUSA members can buy a nifty medal to commemorate their achievement.
Your bicycle must be equipped with front and rear lights, even if you expect to finish in daylight. After dusk, you must use your lights. You must carry adequate reflective garments, preferably conforming to RUSA reflectivity guidelines. If you are observed riding in low light conditions with inadequate lights or reflectivity, you will be disqualified.
Familiarize yourself with procedures for riding a brevet, incuding collection of times and signatures on the control card. The card must be signed and turned in at the finish.
This is a self-supported ride. There is no SAG. Food and drinks are available at markets along the route, but there are sections of up to 40 miles without services, so be sure to provision well. I expect two bottles will be enough for most riders in spring weather. Randonneuring rules prohibit personal support vehicles or other personal support except at the controles, which are marked on the route.
This is an all-conditions ride. There will be some kind of weather. Maybe it will be wonderful, and maybe it won't. Come prepared. Unless you feel your life or health are at risk, ride through.
Expect this to be somewhat tougher than a typical club century ride. You need not be a fast rider, but it takes some discipline to move efficiently through the controles. Remember, the clock doesn't stop, even when you do! The slower you ride, the more important is your “controle discipline.”
Most important: Be safe, and enjoy the ride.


I like cats, old movies, and dark beer.
I am exemplary in public speaking.
I was a Lutheran Pastor and School Board Director.
Central Lutheran Church and the Everett School Board.
I graduated from Kentridge H.S., the University of Washington (B.A.Philosophy), and Luther Seminary (M.Div)


i'm Philipp (schlompf), interface-design student at University of Applied Science in Potsdam. Layout invaders is my project for the workshop "typography and automation" by Fabian Morón Zirfas.
I set out to create a game to be played inside InDesign. After some fiddling around, googling and reading all i could find about the capabilities of indesign scripting language, i had a functioning gameloop and working keyboard input. And about 2 weeks later, layout invaders was playable. It's a space invaders inspired game for InDesign.
layout invaders was my first game and larger project done with javascript. The code might be a little rough around the edges, so go fork and improve it :)
You can also clone the project with Git by running:
The MIT License (MIT)
Copyright (c) 2012 Philipp Geuder
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
see also http://www.opensource.org/licenses/mit-license.php


DPGames.ML
What is the Developer Program?
In a nutshell, the Developer Program is a way for Dwarf Planet Games to manage its, few but many, arbitrary developers.
What is it for?
We would like to keep our idea that all good work should be rewarded equally. No big boss guys that make millions of dollars doing absolutely nothing while the little guy works hard for very little.
How does it work?
If a team of people make a game and it ends up making money this is what happens:
1. A portion of the profit goes to a charity of the team's choice
2. A portion of the profit goes back into Dwarf Planet Games. (to buy things like new software)
3. Something happens among the team members called a royalty vote in which members will go through a list of all other team members and give them a number between 1 and 10.
4. Each person's royalty votes are then added up to get a total number of royalty points.
5. These royalty points are then all added together to get the team's royalty number.
6. Each person is then given a percentage of the remaining profit based on their royalty percentage.


last updated:
this video is still being encoded
/
keynote
speaker
azure
native
ui
hardware
session
attendees
windows 8
.net
directx
...
My Clips
My Videos
All Videos
Recommended
5
Recommended (5)


Oauth2 with keycloak
This tutorial show how to delegate user authentication to keycloak using oauth2.
On keycloak, you’ll need to * define scope for custom field * set a dedicated client for Izanami * add scope to client * create users with custom attributes * Configure Izanami
Running keycloak
Just use docker :
docker-compose -f docker-compose.oauth.yml up
Go to http://localhost:8980
and log with izanami
/ izanami
.
Managing abilitations in Izanami
Create an Izanami client
Create a new open id connect client and name it izanami. Set the root url to the url of your server.
In the settings, fill the field with the various urls of izanami.
Next step create some users.
Create users
We will create two users : * one admin user * one user with restricted access
In the users menu, add a new user
Manage users in Izanami
After the first login action, the user will be created in Izanami. You can now manage his rights.
and then edit the user
Managing abilitations in keycloak
Define scope
You first need to define new scopes for * authorizedPatterns
: the pattern applied on keys that the user is able to use * admin
: a boolean to define id the user will be admin
Define a new scope for authorized patterns field
Define a mapper for authorized patterns field
Define a mapper for the authorizedPatterns
field with a mapper type UserAttribute
and the name of the attribute and the name in the claim. Here the name will be authorizedPatterns
and the type in json will be a string
.
Define a new scope for the admin field
Define a mapper for the admin field
Define a mapper for the admin
field with a mapper type UserAttribute
and the name of the attribute and the name in the claim. Here the name will be admin
and the type in json will be a boolean
.
Create an Izanami client
Create a new open id connect client and name it izanami. Set the root url to the url of your server.
In the settings, fill the field with the various urls of izanami.
In the client scope panel, add the two scopes created previously.
Next step create some users.
Create users
We will create two users : * one admin user * one user with restricted access
In the users menu, add a new user
Admin user
Create an admin user
In the attributes panel, add two attributes
Random user
Create an simple user
In the attributes panel, add the restriction pattern
Configure izanami
Assuming that keycloak was started on 8980
port you can set the following configuration :
oauth2 {
enabled = true
authorizeUrl = "http://localhost:8980/auth/realms/master/protocol/openid-connect/auth"
tokenUrl = "http://localhost:8980/auth/realms/master/protocol/openid-connect/token"
userInfoUrl = "http://localhost:8980/auth/realms/master/protocol/openid-connect/userinfo"
introspectionUrl = "http://localhost:8980/auth/realms/master/protocol/openid-connect/token/introspect"
loginUrl = "http://localhost:8980/auth/realms/master/protocol/openid-connect/auth"
logoutUrl = "http://localhost:8980/auth/realms/master/protocol/openid-connect/logout"
clientId = "izanami"
clientSecret = "secret"
scope = "openid profile email name admin authorizedPatterns"
readProfileFromToken = true
useCookie = false
useJson = false
idField = "sub"
accessTokenField = "access_token"
nameField = "preferred_username"
emailField = "email"
adminField = "admin"
authorizedPatternField = "authorizedPatterns"
defaultPatterns = ""
izanamiManagedUser = true
}
Or with environment variables :
OAUTH2_ENABLED="true"
OAUTH2_AUTHORIZE_URL="http://localhost:8980/auth/realms/master/protocol/openid-connect/auth"
OAUTH2_TOKEN_URL="http://localhost:8980/auth/realms/master/protocol/openid-connect/token"
OAUTH2_USER_INFO_URL="http://localhost:8980/auth/realms/master/protocol/openid-connect/userinfo"
OAUTH2_INTROSPECTION_URL="http://localhost:8980/auth/realms/master/protocol/openid-connect/token/introspect"
OAUTH2_LOGIN_URL="http://localhost:8980/auth/realms/master/protocol/openid-connect/auth"
OAUTH2_LOGOUT_URL="http://localhost:8980/auth/realms/master/protocol/openid-connect/logout"
OAUTH2_CLIENT_ID="izanami"
OAUTH2_CLIENT_SECRET="secret"
OAUTH2_SCOPE="openid profile email name admin authorizedPatterns"
OAUTH2_READ_FROM_TOKEN="true"
OAUTH2_USE_COOKIE="false"
OAUTH2_USE_JSON="false"
OAUTH2_ID_FIELD="sub"
OAUTH2_ACCESS_TOKEN_FIELD="access_token"
OAUTH2_NAME_FIELD="preferred_username"
OAUTH2_EMAIL_FIELD="email"
OAUTH2_ADMIN_FIELD="admin"
OAUTH2_AUTHORIZED_PATTERN_FIELD="authorizedPatterns"
OAUTH2_DEFAULT_PATTERN=""
OAUTH2_IZANAMI_MANAGED_USERS=true
Now if you hit the http://localhost:9000
izanami homepage, you’re redirected to the keycloak login page :
Just set the admin credentials
It’s fine, the user has access to the api keys configuration, he is an admin.
Retry but this time using the johndoe account
The api keys configuration, he is not available anymore
And the user is not able to create a feature with a pattern he is not allowed
Mutual TLS authentication
Generate certificates
Izanami supports MTLS authentication. To do this we need to use keycloak with https and define a client certificate.
First run
sh ./gen-cert.sh
This script will generate, the certificates needed to :
- use keycloak with https
- use keycloak with mts
- use izanami as client with mtls
At the end, in the keycloak-mtl
folder, you will have
tls.crt
andtls.key
for the https part of keycloakca-client.bundle
for the mtls part of keyclaokserver.pem
andclient.p12
for izanami
Keycloak configuration
Then run keycloak :
docker-compose -f docker-compose.oauth.yml up
in the docker-compose, this setting enable https :
volumes:
- ./keycloak-tls:/etc/x509/https
because, the docker image track /etc/x509/https/tsl.crt
and /etc/x509/https/tsl.key
.
and this settings define a client ca bundle for mtls :
X509_CA_BUNDLE: /etc/x509/https/ca-client.bundle
Now we have a keycloak server running with https and mtls configured, you can open the https://localhost:8943
in your browser.
You can update the previous config
Access Type
: should beconfidential
. This displayService Accounts Enabled
andAuthorization Enabled
Service Accounts Enabled
should be checkedAuthorization Enabled
should be checked
The Credentials
menu appears.
Client Authenticator
: choose theX509 Certificate
optionSubject DN
: Set the DN withCN=izanami
This is now done for the keycloak part!
Now we need to configure the Izanami part.
Izanami configuration
In the oauth configuration part of Izanami, we need to configure the mtls part, pointing to the files generated previously :
oauth2 {
# ...
mtls = {
enabled = true
ssl-config {
#...
trustManager {
stores = [
{
path: "./keycloak-tls/server.pem"
type: "PEM"
}
]
}
keyManager {
stores = [
{ path= "./keycloak-tls/client.p12"
password="izanami"
type= "PKCS12"}
]
}
}
}
}
You can find more option about the SSL config on this link: https://lightbend.github.io/ssl-config/index.html.
That it !


{% include 'head.html' { page: "index" }%}
This is a movie poster I had made during Access 2016. Access is the annual interschool IT Fest organised by Modern School, Barakhamba Road.
The task was to create a movie poster for a movie titled “Fake”.
The movie titled ‘Fake’ is based on how a fake note disturbs the relationship between two successful businessmen. In a general everyday deal, one of them discovers the note — put in by the other businessman — in the transaction and it leads to complexities between them.


Home
Chat
Tic Tac Toe
Clear Chat
Local
Online (In Dev...)
Computer
X Score: 0
O Score: 0
Reset Score
Clear Board


Creates a button with text and a FontAwesome icon The icon can be on the left, above, on the right or below the text.
More...
|
| ImageOrientation | Orientation [get, set] |
| | Gets or sets The orientation of the image relative to the text. More...
|
| |
| string | Icon [get, set] |
| | Gets or sets the icon. A set of FontAwesome icons have been included in Icons, and more can be added from the FontAwesome cheatsheet (http://fortawesome.github.io/Font-Awesome/cheatsheet/) More...
|
| |
| Color | IconColor [get, set] |
| | Gets or sets the icon's color More...
|
| |
| float | IconSize [get, set] |
| | Gets or set's the font size of the icon More...
|
| |
| string | IconFontName [get, set] |
| | Gets or set's the font name for the icon - currently this will default to using the FontAwesome font (http://fortawesome.github.io/Font-Awesome/cheatsheet/). Be sure that the fontawesome-webfont.ttf is in your iOS project's Resources folder, and that the build action for it is set to Bundle Resource and Copy Always to Output. Also, an entry to your iOS's info.plist must be made. If you are using Visual Studio 2013, this can be done manually by editing the info.plist as XML. Simply add an entry like this inside of the <dict></dict> element: More...
|
| |
Creates a button with text and a FontAwesome icon The icon can be on the left, above, on the right or below the text.
| readonly BindableProperty XLabs.Forms.Controls.IconButton.IconColorProperty |
|
static |
Initial value:=
BindableProperty.Create<IconButton,
Color>(
p => p.IconColor,
default(
Color))
Backing field for the icon color property
| readonly BindableProperty XLabs.Forms.Controls.IconButton.IconFontNameProperty |
|
static |
Initial value:=
BindableProperty.Create<IconButton, string>(
p => p.IconFontName, default(string))
Backing field for the icon font name property
| readonly BindableProperty XLabs.Forms.Controls.IconButton.IconProperty |
|
static |
Initial value:=
BindableProperty.Create<IconButton, string>(
p => p.Icon, default(string))
Backing field for the icon property
| readonly BindableProperty XLabs.Forms.Controls.IconButton.IconSizeProperty |
|
static |
Initial value:=
BindableProperty.Create<IconButton, float>(
p => p.IconSize, default(float))
Backing field for the icon size property
| readonly BindableProperty XLabs.Forms.Controls.IconButton.OrientationProperty |
|
static |
Initial value:
Backing field for the orientation property.
| string XLabs.Forms.Controls.IconButton.Icon |
|
getset |
| Color XLabs.Forms.Controls.IconButton.IconColor |
|
getset |
Gets or sets the icon's color
The IconColor property gets/sets the value of the backing field, IconColorProperty
| string XLabs.Forms.Controls.IconButton.IconFontName |
|
getset |
Gets or set's the font name for the icon - currently this will default to using the FontAwesome font (http://fortawesome.github.io/Font-Awesome/cheatsheet/). Be sure that the fontawesome-webfont.ttf is in your iOS project's Resources folder, and that the build action for it is set to Bundle Resource and Copy Always to Output. Also, an entry to your iOS's info.plist must be made. If you are using Visual Studio 2013, this can be done manually by editing the info.plist as XML. Simply add an entry like this inside of the <dict></dict> element:
<key>UIAppFonts</key> <array> <string>Fonts/Roboto-Light.ttf</string> <string>Fonts/fontawesome-webfont.ttf</string> <string>AnotherFont.ttf</string> </array>
The IconFontName property gets/sets the value of the backing field, IconFontNameProperty
| float XLabs.Forms.Controls.IconButton.IconSize |
|
getset |
Gets or set's the font size of the icon
The IconSize property gets/sets the value of the backing field, IconSizeProperty
Gets or sets The orientation of the image relative to the text.
The Orientation property gets/sets the value of the backing field, OrientationProperty.
The documentation for this class was generated from the following file:
- F:/Projects/Xamarin-Forms-Labs/src/Forms/XLabs.Forms/Controls/IconButton.cs


View this contents in a bigger screen.Or try portrait if you are on an iphone 6 ;)
For machine - washable woolLoads should be under 8 pounds. It is recommended using a neutral detergent toprevent damage to the cloth and to improve the washing results


(current)
Design Sheets
RDSO Design Sheets
Online Forms
HT Inprocess
RDSO Inprocess
Inprocess Records
RDSO Inprocess
SERVICE CABLE Inprocess
POWER CABLE & LT Inprocess
AB CABLE Inprocess
HT Inprocess
View All Sheets
Pre-Inspection
RDSO SAMPLING (Internal)
Android APP
LaserCable QR Scanner App
LaserCable RDSO Inprocess App
Welcome,
Log Out


public class Transaction
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
Transaction.Type
Creates new annotation type that checks the value of an integer to see if it is equal to
either CHECKOUT or RETURN.
|
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CHECKOUT
The constant CHECKOUT.
|
static java.lang.String |
RETURN
The constant RETURN.
|
| Constructor and Description |
|---|
Transaction()
Creates a new Transaction object using default values for attributes.
|
Transaction(java.lang.String type,
Location location,
java.lang.String borrowerID,
java.lang.String ownerID,
java.lang.String bookID,
boolean bScan,
boolean oScan)
Creates a new Transaction object using specified values for attributes
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getBookID()
Note: No setter provided since bookID can't change
|
java.lang.String |
getBorrowerID()
Gets borrower id.
|
boolean |
getBScan()
Gets b scan.
|
Location |
getLocation()
Gets location.
|
boolean |
getOScan()
Gets o scan.
|
java.lang.String |
getOwnerID()
Note: No setter provided since owner change can't change
|
java.lang.String |
getType()
Gets type.
|
void |
setBorrowerID(java.lang.String borrowerID)
Set borrower id.
|
void |
setBScan(boolean bScan)
Sets b scan.
|
void |
setLocation(Location location)
Sets location.
|
void |
setOScan(boolean oScan)
Sets o scan.
|
void |
setOwnerID(java.lang.String ownerID)
Set owner id.
|
void |
setType(java.lang.String type)
Set type.
|
public static final java.lang.String CHECKOUT
public static final java.lang.String RETURN
public Transaction()
Empty constructor needed for Firebase. Do not use in application code.
public Transaction(java.lang.String type, Location location, java.lang.String borrowerID, java.lang.String ownerID, java.lang.String bookID, boolean bScan, boolean oScan)
type
- Determines type of transaction (ie. checkout or return)location
- Location where transaction will occurborrowerID
- String ID of user who is borrowing bookownerID
- String ID of user who owns the bookbookID
- Identifier of bookbScan
- Represents if the borrower has scanned the bookoScan
- Represents if the owner has scanned the bookpublic java.lang.String getType()
public void setType(java.lang.String type)
type
- New type of transactionpublic Location getLocation()
public void setLocation(Location location)
location
- New location of transactionpublic java.lang.String getBorrowerID()
public void setBorrowerID(java.lang.String borrowerID)
borrowerID
- the borrower idpublic java.lang.String getOwnerID()
public void setOwnerID(java.lang.String ownerID)
ownerID
- the owner idpublic java.lang.String getBookID()
public boolean getBScan()
public void setBScan(boolean bScan)
bScan
- New value of bScanpublic boolean getOScan()
public void setOScan(boolean oScan)
oScan
- New value of oScan


--- layout: post title: "Pirated Software -- A problem for Free Software" date: 2007-08-16 18:22:30 +0000 permalink: /2007/08/16/pirated-software-a-problem-for-free-software/ category: Linux redirect_from: - /blog/pirated-software-a-problem-for-free-software/ ---
According to ZD Net, Free Software (Linux et al.) may need to be worried about pirated copies of commercial software. Apparently your average user would prefer to run an illegally obtained copy of a commercial application than run legitimately free software. There's an interesting discussion on this here. My thinking: it doesn't matter. Linux isn't terribly concerned (yet) about home market share: the business place is where it really excels. The lack of games and completely legal MP3/DVD/etc. implementations is a bigger hindrance to Linux at home than the availability of pirated copies of Windows.


Most Expenses
February
2016
Food
21
%
Technology
39
%
Books
9
%
Sports
31
%
Savings of last two months
Dec
Jan
Feb
Week
Month
Year
Dec
2015
21
%
Jan
2016
48
%
Feb
2016
35
%
Expenses By Category
Technology
Food
Sports
Books
Hygiene
Cosmetics
Car


{# The MIT License (MIT) Copyright (c) 2012-2019 Juan Luis Cano Rodríguez and the poliastro development team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. #} {% extends "!layout.html" %} {% block menu %} {{ super() }} {% if sidebar_external_links %}


OMEGA to Launch Limited Edition Seamaster Diver 300M James Bond Set
Celebrating the 50th anniversary of ‘On Her Majesty’s Secret Service.’
by Gabrielle LeungAfter the success that followed OMEGA’s limited edition James Bond timepiece, the Swiss luxury watchmaker returns with a special Seamaster Diver 300M James Bond Limited Edition Set. The set, which will only release in a quantity of 257, is comprised of two unique watches inside a Globe-Trotter suitcase.
Celebrating the 50th anniversary of On Her Majesty’s Secret Service, the first timepiece carries a sleek black bezel, 42mm stainless steel case and PVD-coated black ceramic dial. An 18k yellow gold plate engraved with the limited edition number each unit is given is found on the side of the case. The second model comes in the luxe 18k yellow gold, complete with a complementary buckle and spiral-brushed black ceramic dial.
Both watches feature a laser-engraved gun-barrel design, gold hands and indexes, and a marker at the 12 o’clock mark which features a design inspired by the Bond family’s coat-of-arms. A hidden number 50 is set within the Super-LumiNova at 10 o’clock — a tribute to On Her Majesty’s Secret Service’s 1969 release. Each owner will also receive an additional stainless steel bracelet and a NATO strap for each model.
Take a look at the limited edition set above and stay tuned for more information, as exact pricing and release details have yet to be announced.
For more timepieces, avant-garde watchmaker HYT dropped a high-vis SOONOW collection.


The Crt0 startup file should run on any mips target that doesn't require
additional hardware initialization. The I/O code so far only supports a
custom LSI33k based RAID disk controller board. It should easy to
change to support the IDT line of eval boards. Currently the two
debugging protocols supported by GDB for mips targets is IDT's mips
debug protocol, and a customized hybrid of the standard GDB remote
protocol and GDB's standard ROM monitor support. Included here is the
debug stub for the hybrid monitor. This supports the LSI33k processor,
and only has support for the GDB protocol commands g
, G
,
m
, M
, which basically only supports the register and
memory reading and writing commands. This is part of libgloss and is
called lsi33k-stub.c.
The crt0.S should also work on the IDT line of eval boards, but has only
been run on the LSI33k for now. There is no I/O support for the IDT eval
board at this time. The current I/O code is for a customized version of
LSI's pmon
ROM monitor. This uses entry points into the monitor,
and should easily port to other versions of the pmon monitor. Pmon is
distributed in source by LSI.


The ItemContainer on this page demonstrates how to insert interactive elements into an ItemContainer while allowing both the ItemContainer and the interactive element to behave as the user would expect. You'll notice the user can rate this item using the ratings control, while still being able to select the item elsewhere on its surface.


"Provide the bright minds with a competitive platform in order to prove their mettle." To provide a veritable forum, Conducting workshops, interactive seminars and conducting Olympiads and non-curriculum study material for all students.
As an Educational Organization our aim is to build a competitive spirit along with a focus on developing healthy academic competition among students. To bring about a steady and speedy change in the very way education is currently imparted in the country.
Stimulate healthy competitive spirit with the help of reward based contests and olympiads.Promote student's participation in national/international programmes.Establish a more interactive and practical approach to science and IT in classrooms.
We provide one of the best Olympiad solutions for students and working professionals and students. For more queries click below.
Want to give a headstart to the students of your institute by providing them an exciting platform to test their knowledge and skills. Then register now!
Work as a mediator between education institutes and us and Earn a handsome amount of money by working at your convenience.


--- layout: default ---
100 Thieves has just recently made a team change and due to this change there are currently no up to date team photos
| Name: | Austin "SlasheR" Liddicoat |
Sam "Octane" Larew |
Kenny "Kenny" Williams |
Preston "Priestahh" Greiner |
Ian "Enable" Wyatt |
James "Replays" Crowder |
| Born: | September 2, 1994 | June 23, 1997 | September 2, 1999 | June 27, 1998 | January 20, 1994 | August 23, 1994 |
| From: | United States | United States | United States | United States | United States | United States |
| Role | AR Slayer | Main AR | AR Slayer | SMG Slayer | SMG Support | Coach |


Prevention is important, not the time to point fingers, says Aloysius Pang’s brother
- Advertisement -
Singapore—On the day after two Singapore Armed Forces (SAF) servicemen were convicted over the death of national serviceman and actor Aloysius Pang and their penalties were announced, a message from Jefferson Pang, the brother of the slain actor, was posted on social media, emphasizing that what is important is that future casualties must be avoided.
Noontalk Media posted a note on Instagram from Jefferson Pang on November 22, which read,
“My parents lost a son. We believe that 1 loss is enough. Other parents’ sons have a life ahead of them. Its not about blame and pointing fingers now but how it should be prevented in the future.
Complacency shouldn’t be human error alone and preventive measures should be in place for future sons.
A note from Jefferson Pang, Aloysius’ brother.”
A photo of the well-beloved young actor was also featured in the post.
- Advertisement -
During the course of the trial, it was revealed that Aloysius Pang’s next-of-kin had asked for leniency for Third Sergeant (National Service) Hubert Wah Yun Teng, one of the SAF servicemen convicted of the death of the young actor, who was only 23 when he died.
Adrian Wee, Mr Wah’s lawyer, disclosed this during Mr Wah’s mitigation, according to a report from Channel NewsAsia (CNA).
Mr Wah Yun Teng admitted in military court on Tuesday, November 19, to having caused the death of the actor in January of this year. He pleaded guilty to one charge of causing death by a negligent act under the Penal Code, and another charge of a negligent act of endangering life under the SAF Act.
After his admission of guilt, it was announced that Mr Wah would be demoted and made to pay a fine. He will be demoted to the rank of Corporal, and be made to pay two fines: S$5,000 for the charge of causing death by a negligent act, as well as S$3,000 for a negligent act of endangering life.
“Given that 3SG (NS) Hubert Wah was the junior commander, the fact that he activated the switch for the flick rammer, and one of the charges he faced was Section 304A(b) of the Penal Code, we are of the view that 3SG (NS) Hubert Wah’s culpability is higher than ME2 Ivan Teo.
Accordingly, this fact is reflected in their respective sentences,” said Lieutenant-Colonel (NS) Shawn Ho, the General Court Martial president, who headed the three-member tribunal. Mr Ho is also a serving State Court judge, CNA reports.
The other SAF serviceman accused in the death of Mr Pang, Military Expert 2 Ivan Teo Gee Siang, pleaded guilty to two charges of a negligent act of endangering life and another charge of disobedience of general orders.
For these three charges, Mr Teo has been fined S$7,000 in all.
Mr Teo’s clean service record, Mr Wah’s “almost unblemished” service record, and the fact that both men entered guilty pleas were taken into consideration in mitigation. -/TISG
Read related: 2 SAF servicemen convicted in the death of Aloysius Pang
- Advertisement -


Get a poster of....
BUGS BUNNY | LOLA BUNNY | TAZ | DAFFY | TWEETY |
If you're using a Macintosh, just drag the image from your browswer to the desktop (or hold your mouse button down over the image and select "copy this image" from the pop-up menu). If you're using a PC-compatible machine, hold the mouse over the image and press the right mouse button. Select "save this image" from the pop-up menu. That's it, the poster is all yours. But remember, Warner Bros. still owns the copyright.
SPACE JAM, characters, names, and all related
indicia are trademarks of Warner Bros. © 1996


"The Complete Web Developer in 2019: Zero to Mastery" is a
complete full-stack web development course, with the latest and most
in-demand technologies, for anyone trying to learn web development in
2019.
Learn to code with us, join the community and practice the skills you
gained from the course, build up your portfolio by contributing to
projects, and become a job ready web developer this year.
Learn to code and become a web developer in 2019 with HTML5, CSS3, JavaScript (ES2019), ReactJS, ExpressJS, NodeJS, PostgreSQL, Machine Learning and more by making fun and exciting projects along the way!
This is the tutorial you've been looking for to no longer be a junior developer, level up your skills, and earn a higher salary. This extensive course doesn’t just cover a small portion of the industry.
Using the strategies, lessons, and exercises in this course, you will learn how to land offers from great tech companies like Google, Microsoft, Facebook, Netflix, Amazon and more!
You will become a top 10% javascript developer by going beyond the superficial basics that a lot of courses cover. We are going to dive deep and come out the other end a confident advanced javascript developer.
Become a Senior React Developer! Build a massive E-commerce app with Redux, Hooks, GraphQL, ContextAPI, Stripe, Firebase. Master React design patterns and develop a E-Commerce React application with above skills.
How to become a Python 3 Developer and get hired! Build 12+ projects, learn Web Development, Machine Learning, Data Science, Web Scraping, processing images, CSVs, PDFs and other files and much more.


--- layout: post tags: [AutoFixture] date: 2009-04-23 19:51:42 UTC title: "Dealing With Types Without Public Constructors" --- {% include JB/setup %}
Now that I've described how AutoFixture creates objects, it's time to look at a bit more advanced scenario. As you may recall, AutoFixture creates an object graph based on the public constructors of the types contained in that object graph.
That's all well and good when all involved types have public constructors, but what happens when this is not the case?
Imagine that the MyClass constructor has this signature:
public MyClass(IMyInterface mi)
Since IMyInterface is an interface it has no public constructors, so this will not work:
Fixture fixture = new Fixture(); MyClass sut = fixture.CreateAnonymous<MyClass>();
The second line of code will throw an ArgumentException ObjectCreationException* stating that “AutoFixture was unable to create an instance of type Ploeh.QualityTools.AutoFixtureDocumentationTest.Intermediate.IMyInterface, since it has no public constructor.” Not terribly surprising, actually.
To resolve this issue, the Register method allows you to specify a custom function that creates an object of the requested type. In the case of IMyInterface, that would be a Func<IMyInterface>:
Fixture fixture = new Fixture(); fixture.Register<IMyInterface>(() => new FakeMyInterface()); MyClass sut = fixture.CreateAnonymous<MyClass>();
Here, I use a lambda expression to register the FakeMyInterface type, so that every time that particular Fixture instance is asked to create an instance of IMyInterface, it will invoke the lambda expression, and thus return an instance of FakeMyInterface (which obviously implements IMyInterface).
The Register method simply lets you map types without public constructors to concrete types created by a function you specify.
A more advanced scenario arises if you wish to use a specific text with this FakeMyInterface constructor overload:
public FakeMyInterface(int number, string text)
Obviously, you can do it manually like this:
Fixture fixture = new Fixture(); int anonymousNumber = fixture.CreateAnonymous<int>(); string knownText = "This text is not anonymous"; fixture.Register<IMyInterface>(() => new FakeMyInterface(anonymousNumber, knownText));
Here, I simply use the fixture object to create an anonymous number, while the knownText variable is explicitly assigned a value, and then both are used as outer variables in the Register function.
This is, however, a common scenario, so the Register method has some convenience overloads that will supply anonymous input parameters for you to use or throw away as you like. This means that I can rewrite the above example to this:
Fixture fixture = new Fixture(); string knownText = "This text is not anonymous"; fixture.Register<int, string, IMyInterface>((i, s) => new FakeMyInterface(i, knownText));
Compared to the previous example, I save a line of code. The drawback is that I have to explicitly specify the type parameters to the Register method. In my book, that's a pretty good tradeoff, as it removes a line of irrelevant code, and allows the test to focus on the relevant parts.
Notice that this Register overload creates both an anonymous integer and an anonymous string, but since I don't want to use the anonymous string (s), I just ignore it and use the knownText variable instead.
*Edit (2009-09-02): Changed the name of the Exception type to correctly reflect a breaking change introduced in AutoFixture .8.5.


In this test drive, you run a series of short sample applications that demonstrate the key features of BlazeDS. We walk you through the source code of each application to highlight the key points of its implementation. The source code for the Test Drive applications is available in the [installdir]/samples/classic-turnkey-samples/frontend folder.
Open main.mxml in the testdrive-httpservice/src directory to look at the source code of the application.
Using HTTPService, you can send HTTP requests to a server, and consume the response. Although the HTTPService can be used to consume different types of responses, it is typically used to consume XML. You can use the HTTPService with any kind of server-side technology: JSP, Servlet, ASP, Ruby on Rails, PHP, etc. You specify the target service in the url property of HTTPService.
Flex and Royale provide sophisticated data binding capabilities. You can bind the value of a property to the value of another property, or to an expression in general. In this example, the dataProvider property of the DataGrid is bound (using the curly braces notation) to the lastResult property of the HTTPService.
HTTPService calls are asynchronous. The result event is triggered on the HTTPService when the data becomes available to the client application. The fault event is triggered if an error occurs at the server-side, or if the network becomes unavailable.
By default, the XML document retrieved from the server is deserialized into an object graph. This allows you to navigate through the result using the dot notation. You can also get the result as an XML document by specifying resultFormat="e4x" on the HTTPService. In that case, you can parse the document using E4X (ECMAScript for XML).
The BlazeDS server is not required to use the HTTPService: By default, the application tries to connect directly to the domain specified in the HTTPService url attribute. This will work if one of the two conditions below is satisfied:
If you want your application to access services available on another domain without deploying a crossdomain.xml file on that domain (for example, because you may not own the target domain), you can set the useProxy attribute of the HTTPService to "true" like in this example. In this case, the request is sent to the BlazeDS proxy which makes the request to the target domain on the client application's behalf. This configuration also provides more control over the access to the service. For example, you may configure the proxy to require authentication before accessing a service, log access to the service, etc.
When using the proxy, you can specify a logical name in the HTTPService destination attribute instead of specifying a hardcoded value in the url attribute. You then map this logical name to an actual URL in WEB-INF/flex/proxy-config.xml. Open WEB-INF/flex/proxy-config.xml to see how the catalog destination is configured.
Warning: The MXNA 2.0 web service that was previously hosted at feeds.adobe.com no longer exists. This sample is currently unavailable.
NOTE: Since this application accesses a live web service, you must have a connection to the internet to run it.
Open main.mxml in the testdrive-webservice/src directory to look at the source code of the application.
Access the wsdl file for the web service used in this example:
Using the WebService tag, you can invoke SOAP-based web services deployed in your application server or on the internet. Objects returned by a web service are automatically deserialized into ActionScript objects. Similarly ActionScript objects passed as arguments to a web service operation are serialized according the wsdl description.
Notice that we also added DataGrid column definitions (using DataGridColumn) in this example.
The BlazeDS server is not required to use the WebService: By default, the application tries to connect directly to the domain specified in the WebService wsdl attribute. This will work if one of the two conditions below is satisfied:
If you want your application to access services available on another domain without deploying a crossdomain.xml file on that domain (for example, because you may not own the target domain), you can set the useProxy attribute of the WebService to "true" like in this example. In this case, the request is sent to the BlazeDS proxy which makes the request to the target domain on the client application's behalf. This configuration also provides more control over the access to the service. For example, you may configure the proxy to require authentication before accessing a service, log access to the service, etc.
When using the proxy, you can specify a logical name in the WebService destination attribute instead of specifying a hardcoded value in the wsdl attribute. You then map this logical name to an actual URL in WEB-INF/flex/proxy-config.xml. Open WEB-INF/flex/proxy-config.xml to see how the ws-catalog destination is configured.
Open main.mxml in the testdrive-remoteobject/src directory to look at the source code of the application.
Open the following files in a text editor to look at the source code for the server side of the application:
Using RemoteObject, you can directly invoke methods of Java objects deployed in your application server, and consume the return value. The return value can be a value of a primitive data type, an object, a collection of objects, an object graph, etc.
The value of the destination property of RemoteObject is a logical name that is mapped to a fully qualified java class in remoting-config.xml.
Java objects returned by server-side methods are deserialized into either dynamic or typed ActionScript objects. In this example, we don't have an explicit ActionScript version of the Product Java class. Product objects are therefore deserialized into dynamic objects. In sample 5, we work with an explicit Product class in ActionScript.
Open the following files in the testdrive-101/src directory to look at the source code of the application:
Like in any other object-oriented programming language, a Flex or Royale application is made of a collection of classes. Using Flex/Royale, you can create classes using MXML or ActionScript. You typically create view classes in MXML, and Model and Controller classes in ActionScript.
When you create an mxml file, you are actually creating a class. The root node of the mxml document indicates the class you extend. For example, creating a file named MasterDetail.mxml with an <Application> root node is equivalent to creating an ActionScript class with the following signature:
public class MasterDetail extends Application { }
Similarly, creating a file named ProductView.mxml with a <Panel> root node is similar to creating a class with the following signature:
public class ProductView extends Panel { }
Once you have defined a class, you can use it programatically or declaratively (as a tag in MXML) without the need for an additional descriptor file. Public properties are automatically available as tag attributes. For example, in MasterDetail.mxml, we define the <ProductView> tag and bind its product attribute to the selected item in the product list.
Also notice the support for CSS style sheets.
Open the following files in the testdrive-update/src directory to look at the source code of the application:
Open the following files in a text editor to look at the source code for the server-side of the application:
In Product.as we use the [RemoteClass(alias="flex.samples.product.Product")]
annotation to map the ActionScript version of the Product class (Product.as) to the Java version (Product.java). As a result, Product objects returned by the getProducts() method of ProductService are deserialized into instances of the ActionScript Product class. Similarly, the instance of the ActionScript Product class passed as an argument to the update method of the RemoteObject is deserialized into an instance of the java version of the Product class at the server-side.
In this example, a Java component publishes simulated real time values to a message queue. The Royale client subscribes to that queue and displays the values in real time.
Open FeedClient.mxml in the testdrive-datapush/src directory to look at the source code of the application.
Open the following files in a text editor to look at the source code for the server-side of the application:
Flex and Royale support publish/subscribe messaging through the BlazeDS Message Service. The Message Service manages a set of destinations that Flex/Royale clients can publish and subsribe to. Both Flex and Royale provide two components, Producer and Consumer, that you use to respectively publish and subscribe to a destination. To subscribe to a destination, you use the subscribe() method of the Consumer class. When a message is published to a destination you subscribed to, the message event is triggered on the Consumer.
In Feed.java, the BlazeDS Java API (MessageBroker, AsyncMessage) is used to publish messages to the destination. Another option to exchange messages between Flex/Royale and Java applications is to map destinations to JMS topics, essentially allowing a Flex/Royale client to publish and subscribe to JMS topics. In addition to JMS, the Message Service adapter architecture allows you to integrate with any kind of messaging system.
Messaging destinations are configured in messaging-config.xml. A key element of a destination configuration is the channel used to exchange data between the client and the server. Using BlazeDS, a messaging destination typically uses a streaming or a polling channel.
The streaming channel is the best option when near real time communication is required.
Difference between IE and FireFox:
Browsers have a limited number of connections that they can maintain per session. The maximum number of connections allowed, as well as the way sessions are handled are browser specific.
In IE, the maximum number of connections per session is two, but if you start multiple IE instances from an operating system menu or shortcut, each instance is started in a different process and maintains its own session. However, if you start a new IE window using CTRL+N in an existing IE instance, that new window shares the same session as the IE instance that created it. In other words, you can have an unlimited number of applications using HTTP streaming to get data from the server as long as these applications are started in different IE processes. If you start multiple IE windows using CTRL+N, you are limited to the maximum number of connections per session (2).
In Firefox, the maximum number of connections per session is eight. If you start multiple Firefox instances from an operating system menu or shortcut, all the instances are started in the same process and share a single session. Since the browser will typically need one connection for traditional HTTP requests, you can theoretically have a maximum of seven HTTP streaming connections with the server across all your browser instances.
In either case, if the limit of connections per session is reached, the next attempt to connect to the server using a streaming channel will fail. BlazeDS provides an elegant fall back mechanism to handle such situations: The client always tries to connect using the first channel in the list of channles defined for the destination in messaging-config.xml. If that connection fails, the client automatically falls back to the next channel in the list. In this example, we defined the following default channelset for all the messaging destinations:
<default-channels> <channel ref="my-streaming-amf"/> <channel ref="my-polling-amf"/> </default-channels>
In other words, the client application will try to connect using a streaming channel first and will fall back to a polling channel if the streaming connection fails.
Open Chat.mxml in the testdrive-chat/src directory to look at the source code of the application.
Open the following files in a text editor to look at the source code for the server-side of the application:
This sample builds on the concepts and APIs introduced in the previous example. To publish a message from a client, you use the send() method of the Producer class.
The messaging and real time infrastructure available in BlazeDS enables collaboration and data push applications to be built in a scalable and reliable manner while preserving the lightweight web deployment model.


Every single scoop counts!  Gelato's purpose is to bring happiness to life. Bring yourself into our gelato kingdom!
Gelato serve with original cone. This kind of gelato be equipped with cone and there are 4 variants flavor.We use the original cone in order to people can feel gelato like they feel the usual ice cream in cone
Get your personal gelato ice cream from our amazing kiosk right away. Your gelato made of from the best ingredients that you ever dream of!
Gelato serve with fruits topping. This gelato made because there are so many people like gelato combine with any fruits. So we serve this gelato with 6 variant fruits, like lychee, blueberry, strawberry, mango, apple, pear.
Did you ever wonder that our store has the power to stop people that came across it? Prove it yourself, taste our glorious gelato.Original Gelato with snack topping. About this gelato, this is the original gelato that usually serve with others.
The different located at the shape of gelato and the topping. We provide about 10 variants snack topping that will teasing every people
Monday - Saturday.
08.00AM - 16.00PM.
Binus Square Hall Of Residence, Jakarta.
Jl. Budi Raya No.21, RT.1/RW.5, Kb. Jeruk, Kota Jakarta Barat, Daerah Khusus Ibukota Jakarta 11530
Monday - Saturday.
06.00AM - 16.00PM.
Binus Alam Sutera, Tangerang.
Kav 21, Alam Sutera Jalan Jalur Sutera Barat Panunggangan Timur Serpong Kota Tangerang Daerah Khusus Ibukota Jakarta, Panunggangan, Pinang, Kota Tangerang, Banten 15143


Enables high-dimensional penalized regression across heterogeneous subgroups. Fusion penalties are used to share information about the linear parameters across subgroups. The underlying model is described in detail in Dondelinger and Mukherjee (2017) <arXiv:1611.00953>.
| Version: | 1.0.1 |
| Depends: | R (≥ 3.2.0) |
| Imports: | Matrix, irlba, Rcpp, glmnet, RSpectra |
| LinkingTo: | Rcpp, RcppEigen |
| Suggests: | testthat, ggplot2, knitr, rmarkdown |
| Published: | 2018-06-17 |
| Author: | Frank Dondelinger [aut, cre], Olivier Wilkinson [aut] |
| Maintainer: | Frank Dondelinger <fdondelinger.work at gmail.com> |
| License: | GPL-3 |
| NeedsCompilation: | yes |
| Materials: | README NEWS |
| CRAN checks: | fuser results |
| Reference manual: | fuser.pdf |
| Vignettes: |
Fuser Subgroup Prediction |
| Package source: | fuser_1.0.1.tar.gz |
| Windows binaries: | r-devel: fuser_1.0.1.zip, r-release: fuser_1.0.1.zip, r-oldrel: fuser_1.0.1.zip |
| OS X binaries: | r-release: fuser_1.0.1.tgz, r-oldrel: fuser_1.0.1.tgz |
| Old sources: | fuser archive |
Please use the canonical form https://CRAN.R-project.org/package=fuser to link to this page.


(images often are way clearer than plain text, especially when discussing combat systems)
Mylo07-Mar-19 01:55 PM
see if i can lure one or two in. they do caricatures and blender stuff the two main buddies.
TwilightPunkster K6407-Mar-19 01:55 PM
@fmproductions I currently use a super hybrid character controller in Twilight Punkster Galaxy, that won't fly for demo's (Physics, Ragdoll, IK and 20 layers using masks)
In Twilight Punkster, inverse kinematics are part of the combat system, specifically for combat: blocking reflexes and countering (3/3)
hitboxes, based on a C# async StreetFighter 2 engine I made for a jam(edited)
1
basically adding force on the impact section of a rig
SHossain07-Mar-19 01:57 PM
StreetFighter 2
Nostalogic
fmproductions07-Mar-19 01:58 PM
I would probably prefer the approach of a 2,5d game approach where the centers of the players make the plane the cam look on in an normal angle.
TwilightPunkster K6407-Mar-19 01:59 PM
Wouldn't that be crap, as you will need to constantly lerp?
because when you fight, and give an uppercut, the character flies up
the only way to make that look good is to prep a bounding box with a calculated center and offset that with the camera angle
fmproductions07-Mar-19 02:00 PM
sure, but cam movement is important no matter the game, so you might not be spared from that.
street fighter has incredibly easy abstracted hitboxes, or better said: hit-rectangles, all manually set,
to have a more automated approach, instead of manually crafting the hitbox animations, we can just place hitboxes on the separate body parts
TwilightPunkster K6407-Mar-19 02:00 PM
you probably have to fuck with easing curves just to make the camera move smoothly to prevent keyboard barfing
fmproductions07-Mar-19 02:00 PM
one of the modern mortal combats does it like that
probably
TwilightPunkster K6407-Mar-19 02:01 PM
@fmproductions yes, I do that already, even have a script for colliders that are attached per transform
Has been a while, so time for an update storm. So, what's new? A lot! Like hair that is not only so much better, but moves responsive to physics like movements but also in windy areas. Also, a full rewrite of inverse kinematics and foot placement.
Dana's beloved scooter has been upgraded to a low top speed vehicle with superior handling. Vehicles are using a similar mechanic like mounts have in fantasy RPG. The scooter can be upgraded too.
can do this with items too
I use it for factory
fmproductions07-Mar-19 02:03 PM
neat stuff!
with that approach, we could also say that hits that specifically go to the head deal a little bit more damage.
Cryptofist07-Mar-19 02:03 PM
is lurking translating game dev talk
fmproductions07-Mar-19 02:04 PM
camera angle would have a game design indication too though, one of the advantages of the side angle is that you can focus on movement in 2 axis. You could do that with isometric too, if you say that characters are not able to jump of course
TwilightPunkster K6407-Mar-19 02:06 PM
of course they can jump
dude
fighting game
cancels
mid-air
c-c-c-combobreaker
alright, I think I've polluted this chan enough
xD
poor people probably already hating my guts xD
fmproductions07-Mar-19 02:07 PM
haha, I hope not, it is dev-games after all ^^
Cryptofist07-Mar-19 02:07 PM
I think it is most likely well received, this is exciting to have here!
fmproductions07-Mar-19 02:07 PM
nice
TwilightPunkster K6407-Mar-19 02:08 PM
@fmproductions ok, probably gonna do the docs in markup, not sure what the komodo team uses standard
dukeleto07-Mar-19 02:08 PM
wow, this channel has a lot of interesting talk going on. Keep it up, folks
4
TwilightPunkster K6407-Mar-19 02:08 PM
they are gonna rebrand things, so probably should avoid working too much on that
fmproductions07-Mar-19 02:08 PM
so I just discovered that we can't post images here. was just about to show the hitboxes attached to body parts approach.
TwilightPunkster K6407-Mar-19 02:08 PM
and we're not getting the rebrand stuff, so basically we have to keep it fugly
yeah, I noticed
there is a hack though
just drop it in my DM, click it, open original and paste the link(edited)
Cryptofist07-Mar-19 02:09 PM
pastebin, ibb, any link really.(edited)
TwilightPunkster K6407-Mar-19 02:09 PM
that works
fmproductions07-Mar-19 02:12 PM
sweet
TwilightPunkster K6407-Mar-19 02:12 PM
dude
you know what I have
I got wrestler models
like in, wrestler wrestler
nah, too horrible
grabbing makes shit even worse
1
fmproductions07-Mar-19 02:14 PM
attack, block, grab
- the rock paper scissors of fighting games
actually it should be
grab -> block -> attack -> grab
so basically, the yellow sphere, which could also be abstracted as capsules for some body parts, follow the positions of the body parts. so you have all of the hitboxes that will register damage moving automatically, without manually doing them for animations
TwilightPunkster K6407-Mar-19 02:18 PM
those hairphysics suck
fmproductions07-Mar-19 02:18 PM
they sure do
and the green box is calculated from the bounds of the hitboxes, not necessary if it is only a game with 2 players, but if you have more than that, it is an easy performance improvement for collision detection.
like a dragonpunch has a massive force build up and should defy the physics engine for the opponent player
basically inverse normal force times 10K but over multiple frames
your fighting game
fmproductions07-Mar-19 02:26 PM
I have seen someone animating smear frames into a 3d fighting game, quite interesting.
but if you use the animation to exaggerate the sizes for let's say the fists for certain moves, that needs to be considered for the hitboxes too ofc.
TwilightPunkster K6407-Mar-19 02:27 PM
depends on the crazy move
you don't want that for every move
in fact, by default they are tiny
but based on the type, mid-attack you can then decide to switch to projectile or capsule


In our part of the world, the days have become shorter and the nights have become longer. Just because the seasons change, it doesnâ€™t mean you have less to accomplish througout the day. Combine this fact with the blustery and wet fall weather that is common this time of year and this creates more hazzardous driving conditions. Keep your trusty Volvo in reliable working condition to get those daily tasks crossed off your list. Now is an especially great time to replace those burned out light bulbs and stock up on wiper blades. Why stop there however? For only a few days, we are putting nearly everything on sale so if youâ€™ve held off on buying those performance parts to soup up your ride then now is the time. Take advantage of this short, site wide sale with nearly every item marked down today!


For those who would like to have their builds hosted by the PRC:
The usual rules for the Epic Builds guild apply. Email all submissions to<EMAIL_ADDRESS>with "General Build Submission" in the topic. Please include a level 40 bic of the build, name of the author and name of the build.
ANY build is eligible as long as it uses PRC content.


Phyiscal Constants
up: Control Parameters| Keyword | Description | Default |
| IDEAL_GAS_R | Value to use for the ideal gas constant. | 0.008314 |
| PH | -log(concentration of H+) | 7.5 |
| TEMP_KELVIN | Temperature in degrees Kelvin. | 298.15 |
| IONIC_STRENGTH | Constant used in computing the transformed Gibbs energy of formation for a molecule in the pseudoisomer database. | 0.15 |
| DEFAULT_VOLUME | Default volume for compartments in liters. | 1.0e-15 |
| MIN_CONC | Minimum concentration allowed for any species in moles/L. | 0.0 |
| SOLVENT | Molecule name of the solvent molecule. | H2O |
| EPSILON | Measure of how close to equlibirium we are before stopping. if (1 - 1/(1 + sum(likelihoods))) < epsilon then we have reached equilibrium. Used in the choose_rxn routine. | 1.e-7 |
| ALIGN_LEN | Default string alignment byte count. | 64 |


Note
Click here to download the full example code
Compares implementations of ReduceMax#
This example compares the numpy for the operator ReduceMax to onnxruntime implementation. If available, tensorflow and pytorch are included as well.
Available optimisation#
The code shows which parallelisation optimisation could be used, AVX or SSE and the number of available processors.
import numpy
import pandas
import matplotlib.pyplot as plt
from onnxruntime import InferenceSession
from skl2onnx.common.data_types import FloatTensorType
from skl2onnx.algebra.onnx_ops import OnnxReduceMax
from cpyquickhelper.numbers import measure_time
from tqdm import tqdm
from mlprodict.testing.experimental_c_impl.experimental_c import code_optimisation
print(code_optimisation())
Out:
AVX-omp=8
ReduceMax implementations#
try:
from tensorflow.math import reduce_max as tf_reduce_max
from tensorflow import convert_to_tensor
except ImportError:
tf_reduce_max = None
try:
from torch import max as torch_max, from_numpy
except ImportError:
torch_max = None
def build_ort_reducemax(axes, op_version=14): # opset=13, 14, ...
node = OnnxReduceMax('x', axes=axes, op_version=op_version,
output_names=['z'])
onx = node.to_onnx(inputs=[('x', FloatTensorType())],
target_opset=op_version)
sess = InferenceSession(onx.SerializeToString())
return lambda x, y: sess.run(None, {'x': x})
def loop_fct(fct, xs, ys):
for x, y in zip(xs, ys):
fct(x, y)
def benchmark_op(axes, repeat=2, number=5, name="ReduceMax", shape_fct=None):
if shape_fct is None:
def shape_fct(dim):
return (3, dim, 1, 128, 64)
ort_fct = build_ort_reducemax(axes)
res = []
for dim in tqdm([8, 16, 32, 64, 100, 128, 200,
256, 400, 512, 1024]):
shape = shape_fct(dim)
n_arrays = 10 if dim < 512 else 4
xs = [numpy.random.rand(*shape).astype(numpy.float32)
for _ in range(n_arrays)]
ys = [numpy.array(axes, dtype=numpy.int64)
for _ in range(n_arrays)]
info = dict(axes=axes, shape=shape)
# numpy
ctx = dict(
xs=xs, ys=ys,
fct=lambda x, y: numpy.amax(x, tuple(y)),
loop_fct=loop_fct)
obs = measure_time(
"loop_fct(fct, xs, ys)",
div_by_number=True, context=ctx, repeat=repeat, number=number)
obs['dim'] = dim
obs['fct'] = 'numpy'
obs.update(info)
res.append(obs)
# onnxruntime
ctx['fct'] = ort_fct
obs = measure_time(
"loop_fct(fct, xs, ys)",
div_by_number=True, context=ctx, repeat=repeat, number=number)
obs['dim'] = dim
obs['fct'] = 'ort'
obs.update(info)
res.append(obs)
if tf_reduce_max is not None:
# tensorflow
ctx['fct'] = tf_reduce_max
ctx['xs'] = [convert_to_tensor(x) for x in xs]
ctx['ys'] = ys
obs = measure_time(
"loop_fct(fct, xs, ys)",
div_by_number=True, context=ctx, repeat=repeat, number=number)
obs['dim'] = dim
obs['fct'] = 'tf'
obs.update(info)
res.append(obs)
if torch_max is not None:
def torch_max1(x, y):
return torch_max(x, y[0])
def torch_max2(x, y):
return torch_max(torch_max(x, y[1])[0], y[0])[0]
# torch
ctx['fct'] = torch_max1 if len(axes) == 1 else torch_max2
ctx['xs'] = [from_numpy(x) for x in xs]
ctx['ys'] = ys # [from_numpy(y) for y in ys]
obs = measure_time(
"loop_fct(fct, xs, ys)",
div_by_number=True, context=ctx, repeat=repeat, number=number)
obs['dim'] = dim
obs['fct'] = 'torch'
obs.update(info)
res.append(obs)
# Dataframes
shape_name = str(shape).replace(str(dim), "N")
df = pandas.DataFrame(res)
df.columns = [_.replace('dim', 'N') for _ in df.columns]
piv = df.pivot('N', 'fct', 'average')
rs = piv.copy()
for c in ['ort', 'torch', 'tf', 'tf_copy']:
if c in rs.columns:
rs[c] = rs['numpy'] / rs[c]
rs['numpy'] = 1.
# Graphs.
fig, ax = plt.subplots(1, 2, figsize=(12, 4))
piv.plot(logx=True, logy=True, ax=ax[0],
title="%s benchmark\n%r - %r"
" lower better" % (name, shape_name, axes))
ax[0].legend(prop={"size": 9})
rs.plot(logx=True, logy=True, ax=ax[1],
title="%s Speedup, baseline=numpy\n%r - %r"
" higher better" % (name, shape_name, axes))
ax[1].plot([min(rs.index), max(rs.index)], [0.5, 0.5], 'g--')
ax[1].plot([min(rs.index), max(rs.index)], [2., 2.], 'g--')
ax[1].legend(prop={"size": 9})
return df, rs, ax
dfs = []
Reduction on a particular case KR#
Consecutive axis not reduced and consecutive reduced axis are merged. KR means kept axis - reduced axis
(8, 24, 48, N), axis=(3, )#
axes = (3, )
df, piv, ax = benchmark_op(axes, shape_fct=lambda dim: (8, 24, 48, dim))
dfs.append(df)
df.pivot("fct", "N", "average")
Out:
0%| | 0/11 [00:00<?, ?it/s]
9%|9 | 1/11 [00:01<00:10, 1.09s/it]
18%|#8 | 2/11 [00:01<00:08, 1.11it/s]
27%|##7 | 3/11 [00:03<00:08, 1.08s/it]
36%|###6 | 4/11 [00:04<00:08, 1.23s/it]
45%|####5 | 5/11 [00:06<00:08, 1.37s/it]
55%|#####4 | 6/11 [00:08<00:07, 1.51s/it]
64%|######3 | 7/11 [00:09<00:06, 1.61s/it]
73%|#######2 | 8/11 [00:12<00:05, 1.83s/it]
82%|########1 | 9/11 [00:15<00:04, 2.18s/it]
91%|######### | 10/11 [00:16<00:01, 1.94s/it]
100%|##########| 11/11 [00:18<00:00, 2.05s/it]
100%|##########| 11/11 [00:18<00:00, 1.71s/it]
Reduction on a particular case RK#
Consecutive axis not reduced and consecutive reduced axis are merged. RK means reduced axis - kept axis,
(8, 24, 48, N), axis=(0, )#
axes = (0, )
df, piv, ax = benchmark_op(axes, shape_fct=lambda dim: (8, 24, 48, dim))
dfs.append(df)
df.pivot("fct", "N", "average")
Out:
0%| | 0/11 [00:00<?, ?it/s]
9%|9 | 1/11 [00:00<00:09, 1.01it/s]
18%|#8 | 2/11 [00:02<00:09, 1.05s/it]
27%|##7 | 3/11 [00:03<00:09, 1.18s/it]
36%|###6 | 4/11 [00:05<00:09, 1.40s/it]
45%|####5 | 5/11 [00:07<00:10, 1.67s/it]
55%|#####4 | 6/11 [00:09<00:09, 1.89s/it]
64%|######3 | 7/11 [00:12<00:09, 2.35s/it]
73%|#######2 | 8/11 [00:16<00:08, 2.84s/it]
82%|########1 | 9/11 [00:22<00:07, 3.71s/it]
91%|######### | 10/11 [00:25<00:03, 3.42s/it]
100%|##########| 11/11 [00:30<00:00, 3.95s/it]
100%|##########| 11/11 [00:30<00:00, 2.76s/it]
Reduction on a particular case KRK#
Consecutive axis not reduced and consecutive reduced axis are merged. KRK means kept axis - reduced axis - kept axis,
(8, 24, 48, N), axis=(1, 2)#
axes = (1, 2)
df, piv, ax = benchmark_op(axes, shape_fct=lambda dim: (8, 24, 48, dim))
dfs.append(df)
df.pivot("fct", "N", "average")
Out:
0%| | 0/11 [00:00<?, ?it/s]
9%|9 | 1/11 [00:01<00:10, 1.04s/it]
18%|#8 | 2/11 [00:02<00:10, 1.19s/it]
27%|##7 | 3/11 [00:03<00:08, 1.11s/it]
36%|###6 | 4/11 [00:04<00:09, 1.29s/it]
45%|####5 | 5/11 [00:05<00:07, 1.18s/it]
55%|#####4 | 6/11 [00:07<00:06, 1.26s/it]
64%|######3 | 7/11 [00:10<00:07, 1.88s/it]
73%|#######2 | 8/11 [00:12<00:06, 2.03s/it]
82%|########1 | 9/11 [00:16<00:05, 2.61s/it]
91%|######### | 10/11 [00:19<00:02, 2.52s/it]
100%|##########| 11/11 [00:23<00:00, 3.15s/it]
100%|##########| 11/11 [00:23<00:00, 2.15s/it]
(8, 24 * 48, N), axis=1#
axes = (1, )
df, piv, ax = benchmark_op(axes, shape_fct=lambda dim: (8, 24 * 48, dim))
dfs.append(df)
df.pivot("fct", "N", "average")
Out:
0%| | 0/11 [00:00<?, ?it/s]
9%|9 | 1/11 [00:01<00:10, 1.05s/it]
18%|#8 | 2/11 [00:01<00:06, 1.38it/s]
27%|##7 | 3/11 [00:02<00:06, 1.25it/s]
36%|###6 | 4/11 [00:03<00:07, 1.04s/it]
45%|####5 | 5/11 [00:04<00:05, 1.01it/s]
55%|#####4 | 6/11 [00:06<00:06, 1.35s/it]
64%|######3 | 7/11 [00:09<00:06, 1.74s/it]
73%|#######2 | 8/11 [00:13<00:07, 2.53s/it]
82%|########1 | 9/11 [00:17<00:05, 2.93s/it]
91%|######### | 10/11 [00:20<00:03, 3.05s/it]
100%|##########| 11/11 [00:27<00:00, 4.09s/it]
100%|##########| 11/11 [00:27<00:00, 2.47s/it]
(2, 8, 12, 24, 2, N), axis=(2, 3)#
axes = (2, 3)
df, piv, ax = benchmark_op(axes, shape_fct=lambda dim: (2, 8, 12, 24, 2, dim))
dfs.append(df)
df.pivot("fct", "N", "average")
Out:
0%| | 0/11 [00:00<?, ?it/s]
9%|9 | 1/11 [00:01<00:18, 1.87s/it]
18%|#8 | 2/11 [00:03<00:17, 1.93s/it]
27%|##7 | 3/11 [00:05<00:15, 1.99s/it]
36%|###6 | 4/11 [00:07<00:13, 2.00s/it]
45%|####5 | 5/11 [00:10<00:13, 2.24s/it]
55%|#####4 | 6/11 [00:13<00:12, 2.48s/it]
64%|######3 | 7/11 [00:16<00:11, 2.80s/it]
73%|#######2 | 8/11 [00:20<00:09, 3.07s/it]
82%|########1 | 9/11 [00:25<00:07, 3.70s/it]
91%|######### | 10/11 [00:28<00:03, 3.31s/it]
100%|##########| 11/11 [00:32<00:00, 3.67s/it]
100%|##########| 11/11 [00:32<00:00, 2.97s/it]
Reduction on a particular case RKR#
(N, 64, 16, 16), axis=(0, 2, 3)#
axes = (0, 2, 3)
df, piv, ax = benchmark_op(
axes, shape_fct=lambda dim: (dim, 64, 16, 16))
dfs.append(df)
df.pivot("fct", "N", "average")
Out:
0%| | 0/11 [00:00<?, ?it/s]
9%|9 | 1/11 [00:00<00:06, 1.48it/s]
18%|#8 | 2/11 [00:01<00:07, 1.13it/s]
27%|##7 | 3/11 [00:03<00:09, 1.18s/it]
36%|###6 | 4/11 [00:05<00:09, 1.42s/it]
45%|####5 | 5/11 [00:07<00:11, 1.95s/it]
55%|#####4 | 6/11 [00:10<00:11, 2.27s/it]
64%|######3 | 7/11 [00:14<00:10, 2.75s/it]
73%|#######2 | 8/11 [00:18<00:09, 3.28s/it]
82%|########1 | 9/11 [00:25<00:08, 4.16s/it]
91%|######### | 10/11 [00:28<00:03, 3.80s/it]
100%|##########| 11/11 [00:33<00:00, 4.23s/it]
100%|##########| 11/11 [00:33<00:00, 3.02s/it]
Reduction on a particular case RKRK#
(8, 24, 48, N), axis=(0, 2)#
axes = (0, 2)
df, piv, ax = benchmark_op(axes, shape_fct=lambda dim: (8, 24, 48, dim))
dfs.append(df)
df.pivot("fct", "N", "average")
Out:
0%| | 0/11 [00:00<?, ?it/s]
9%|9 | 1/11 [00:01<00:19, 1.92s/it]
18%|#8 | 2/11 [00:02<00:11, 1.23s/it]
27%|##7 | 3/11 [00:04<00:10, 1.31s/it]
36%|###6 | 4/11 [00:05<00:10, 1.47s/it]
45%|####5 | 5/11 [00:07<00:10, 1.69s/it]
55%|#####4 | 6/11 [00:10<00:09, 1.98s/it]
64%|######3 | 7/11 [00:13<00:09, 2.41s/it]
73%|#######2 | 8/11 [00:17<00:08, 2.94s/it]
82%|########1 | 9/11 [00:23<00:07, 3.69s/it]
91%|######### | 10/11 [00:26<00:03, 3.49s/it]
100%|##########| 11/11 [00:32<00:00, 4.51s/it]
100%|##########| 11/11 [00:32<00:00, 3.00s/it]
Conclusion#
Some of the configurations should be investigated. l-reducesum-problem1. The reduction on tensorflow in one dimension seems to be lazy.
merged = pandas.concat(dfs)
name = "reducemax"
merged.to_csv("plot_%s.csv" % name, index=False)
merged.to_excel("plot_%s.xlsx" % name, index=False)
plt.savefig("plot_%s.png" % name)
plt.show()
Total running time of the script: ( 3 minutes 36.816 seconds)


Language Parsing with
PEG.js
Based on the tutorial on
Nathan's University
http://pegjs.majda.cz
Turning raw text into
structured
data
Example
Creating a
parser
Options for parsing a language
Write your own function
Specify the grammar of your language and hand it over to a parser generator
PEG Langugae Parser
PEG - Simple example
Run
PEG.js Sequances
Run
PEG.js Parser Actions
Run
PEG.js More complex example
Example taken from Nathan's University
Run
Rouben Meschian
rmeschian@gmail.com


Asset Annotation Service
The Asset Annotation Service (AS) allows experimenters, site managers and users of the OrganiCity facility to add annotations on top of all assets of the platform. The annotation process follows the tagging scheme used in many social networks to indicate the characteristics of the assets identified. To do this, users can use either one of the available web interfaces available in the context of OrganiCity or the API of the service. The annotations added to all assets of OrganiCity are available through the API of the service for experimenters to use and through the interfaces of OrganiCity for the users to browse.
Aiming at enhancing the urban data sources with useful information, OrganiCity developed this service to enable collaborative data annotation in the smart city context. The utilized data model and annotation services are flexible enough to enable various types of labels from online resources on the Web, social media and references to rich multimedia content online (images, video, etc.) to free-text labels or numeric values. A set of methods has been created for maintaining dynamic label categories, labels, and labeling of data.
Since the UDO is the main view of OrganiCity it provides a starting point for exploration of urban data across different city environments based on their Annotations and a perfect starting point for the generation of knowledge from the raw data streams.
Accessing data stored in the AS can be limited to the OrganiCity Experiment level if needed. Additionally, OrganiCity Experimenters can access the generated annotations that are part of their experiment or all the data stored in the OrganiCity facility.
References to the specification of the AS:
Data Model
In the rest of this section, we are going to present and describe the models used for annotating Assets in the context of OrganiCity.
The entities that are in involved in the creation of annotations are the following:
- Assets are the assets of the OrganiCity facility that can be annotated. All Assets must exist beforehand in OrganiCity to be annotated using the AS.
- TagDomains represent collections of Tags. Usually a TagDomain is associated with one or more Services or an Experiment to specify which TagDomains are used in their context.
- Tags represent the actual labels to be used by end-user to annotate an Asset
- Services represent utilities or urban services deployed by the OrganiCity sites. An example of a service might be
Garbage Collection
as site Service orNoise Monitoring
as a general context in the scope of OrganiCity. The basic usage of service entities is the organization and discovery of Tag collections (e.g. what tags are usually used for characterizing thenoise level sensors
) - Experiments represent the TagDomain collections created by users during their OrganiCity Experiments. They can be used to limit access to the created TagDomains. Experiments are created automatically by the AS when Experiments are created from the Experimenter's Portal
The above image shows how 2 Assets of the OrganiCity facility are annotated with 2 Tags of a single TagDomain describing traffic in an OrganiCity site.
Similarly, this image shows how a single Experiment uses a TagDomain provided by the OrganiCity facility that provides a simple and generic 3 level categorization high
,medium
and low
.
Finally, this image shows how a single TagDomain is used by two Sites in their basic Annotation Services (Patras
and London
). The TagDomain presented has 3 Tags to describe the sun light levels
in the city.
Based on the roles of users in the OrganiCity facility a set of restrictions on accessing and using the AS apply and can be summed up in the following list:
- OC Admins (OC-A):
- can create, read, update and delete (CRUD) Service, TagDomain, Tag, Experiments and Annotations
- OC Experimenter (OC-E):
- can only Read Services, TagDomains, Tags and Annotations that are public
- CRUD the TagDomains, and Tags that are involved in their experiment
- can CRUD all annotations of the experiments managed
- OC Participant (OC-P):
- can only Read Service, TagDomain, Tag entities and Annotations that are public
- can CRUD the annotations created using their credentials
- OC Anonymous (OC-AN)
- can only Read Services, TagDomains, Tags and Annotations that are public
- can only Create public Annotations
Entity Descriptions
The parameters of the entities described above are presented in the following subsections:
Tag
{
"id": 0,
"name": "string",
"urn": "string"
}
Example:
{
id: 106,
urn: "urn:tag:faulty",
name: "faulty reading"
}
TagDomain
{
"description": "string",
"id": 0,
"urn": "string",
"services": [
{
"description": "string",
"id": 0,
"urn": "string",
"user":"string"
}
],
"tags": [
{
"id": 0,
"name": "string",
"urn": "string"
}
]
}
Example:
{
id: 104,
urn: "urn:tagDomain:faultyReadings",
description: "This is tag domain to classify readings into faulty or normal",
tags: [
{
id: 106,
urn: "urn:tag:faulty",
name: faulty reading
},
{
id: 105,
urn: "urn:tag:normal",
name: "normal reading"
}
],
services: [
{
id: 107,
urn: "urn:service:environmentalMonitoring",
description: "environmental monitoring",
user:"372f3a46-0596-41cf-a038-a2845f06eb24"
}
]
}
Service
{
"description": "string",
"id": 0,
"urn": "string",
"user":"string"
}
Example:
{
id: 107,
urn: "urn:service:environmentalMonitoring",
description: "environmental monitoring",
user:"372f3a46-0596-41cf-a038-a2845f06eb24"
}
Experiment
{
"description": "string",
"id": 0,
"tagDomains": [
{
"description": "string",
"id": 0,
"services": [
{
"description": "string",
"id": 0,
"urn": "string",
"user": "string"
}
],
"tags": [
{
"id": 0,
"name": "string",
"urn": "string",
"user": "string"
}
],
"urn": "string",
"user": "string"
}
],
"urn": "string",
"user": "string"
}
Annotation
{
"annotationId": 0,
"application": "string",
"assetUrn": "string",
"datetime": "string",
"numericValue": 0,
"tagUrn": "string",
"textValue": "string",
"user": "string"
}
Example:
{
"annotationId": 0,
"application": "57eab2c2ad0302ad0b5c92c6",
"assetUrn": "urn:oc:entity:london:enableiot:fixed:98-4F-EE-00-0F-76",
"datetime": "2016-10-21 09:01:12:123",
"numericValue": 0,
"tagUrn": "urn:tag:faulty",
"textValue": "string",
"user": "86d7edce-5092-44c0-bed8-da4beaa3fbc6"
}
Tutorials
For more information about how to interact with the Asset Annotation Service you can check out the following tutorials:


These days, I have been playing a lot with Oauth and its RoR implementation, oauth-plugin. Its documentation is a bit short, so here is a tutorial to show how to use it, both in provider and consumer mode. And we will even make them communicate with each other.
We will now build an Oauth provider using oauth-plugin for authorization and Devise for authentication. And we will add a controller protected by Oauth.
Starting up
A few instructions to create the application. You won't need an explanation for this:
[sourcecode language="bash"]
rails new provider
cd provider
[/sourcecode]
Put this in your Gemfile:
[sourcecode language="ruby"]
source 'http://rubygems.org'
gem 'rails', '3.0.7'
gem 'sqlite3'
gem 'devise'
gem "oauth-plugin", ">= 0.4.0.pre1"
[/sourcecode]
And a few more commands:
[sourcecode language="bash"]
bundle install
rails generate devise:install
rails generate devise User
rake db:migrate
rails generate controller welcome index
rm public/index.html
[/sourcecode]
And don't forget 'root :to => "welcome#index"' in config/routes.rb.
Create the provider
[sourcecode language="bash"]
rails generate oauth_provider oauth
rake db:migrate
[/sourcecode]
You could put something else than "oauth" as parameter, but for the moment, the generator has some bugs (it always generate the class OauthController, but with a different name). I'll check more recent versions of the code.
Now, modify config/application.rb and add:
[sourcecode language="ruby"]
require 'oauth/rack/oauth_filter'
config.middleware.use OAuth::Rack::OAuthFilter
[/sourcecode]
Put in app/models/user.rb:
[sourcecode language="ruby"]
has_many :client_applications
has_many :tokens, :class_name=>"OauthToken",:order=>"authorized_at desc",:include=>[:client_application]
[/sourcecode]
Put in app/controllers/oauth_controller.rb:
[sourcecode language="ruby"]
alias :logged_in? :user_signed_in?
alias :login_required :authenticate_user!
[/sourcecode]
and uncomment authenticate_user.
Put in app/controllers/oauth_clients_controller.rb:
[sourcecode language="ruby"]
alias :login_required :authenticate_user!
[/sourcecode]
And now some data
Create a new controller:
[sourcecode language="bash"]
rails generate controller data index
[/sourcecode]
And now, edit your controller:
[sourcecode language="ruby"]
class DataController < ApplicationController
before_filter :oauth_required
def index
@data = { "coincoin" => "o< o<" }
respond_to do |format|
format.json { render :json => @data }
end
end
end
[/sourcecode]
UPDATE
I discovered a few bugs in this tutorial, so here are the fixes.
oauth-plugin needs the function current_user=, so add this to your ApplicationController:
[sourcecode language="ruby"]
def current_user=(user)
current_user = user
end
[/sourcecode]
Next, to handle revocation, you need to add this to config/routes.rb:
[sourcecode language="ruby"]
post 'oauth/revoke'
[/sourcecode]
And at last, you need to fix the rack filter. The current code doesn't verify the token validity, and lets revoked tokens access your data.
You have to modify lib/oauth/rack/oauth_filter.rb in the oauth-plugin gem folder.
Replace the line 46:
[sourcecode language="ruby"]
oauth_token = client_application.tokens.first(:conditions=>{:token => request_proxy.token})
[/sourcecode]
by
[sourcecode language="ruby"]
oauth_token = ClientApplication.find_token(request_proxy.token)
[/sourcecode]
And that's it!
You now have a working provider. OauthController handles all the communication with the consumers. OauthClientsController manages the registration of new consumers. They both have customizable views: oauth for the authorization part (for users) and oauth clients for the consumers. And you just need the oauth_required filter to manage access to your data.
And now, you can go to /users/sign_up, then /users/sign_in, then /oauth_clients to register a new client application.
In the next post, we will build a consumer, and this consumer will access the provider's data.


Weekend betting tips: Four bets that could make a fortune
Horse racing and football bets for Saturday and Sunday
by Robert HynesThe Premier League returns this weekend after the international break with Manchester City's clash with Chelsea the standout fixture.
There's tonnes of quality horse racing also taking place on both Saturday and Sunday as Altior and Cyrname clash at Ascot.
Just over 24 hours later the Troytown goes to post at Navan which is always a fascinating contest.
Here's our best bets for the weekend:
Spurs to beat West Ham 12.30pm Saturday 8/11
Jose Mourinho's managerial reign at Spurs begins away to West Ham in the early kick-off on Saturday.
Surely his arrival will see a bounce from the side currently 14h in the Premier League table.
West Ham are two places behind them and haven't won a game since September. Back Spurs to have a winning start under Mourinho.
Altior 2.05pm Saturday Ascot 4/6
The two top rated chasers in the UK clash in the hugely anticipated Christy 1965 Chase at Ascot on Saturday as Altior faces Cyrname.
It will be intriguing to see Altior stepping up in trip, but I think he is such a freak of a horse that he will emerge victorious.
The big question is will he stay this longer distance, but I'm going to hope he can and go on to have a crack at the King George and maybe even the Gold Cup.
Eight And Bob 2.25pm Saturday Haydock 12/1
Eight And Bob is an interesting runner for Willie Mullins in the Betfair Best Odds On ITV Races Stayers' Handicap Hurdle with Robbie Power on board at Haydock.
The six-year-old, who is owned by the Act D Wagg Syndicate which includes Ruby Walsh's wife Gillian and David Casey's wife Aine, scored at Gowran Park last month and is very consistent.
He looks a decent each-way price to go close for the Irish Champion Trainer.
Discorama 2.30pm Navan Sunday 15/2
I fancy Discorama to land the Ladbrokes Troytown Handicap Chase at Navan under top weight on Sunday.
Paul Nolan's star hasn't won a race in over a year, but was only narrowly beaten in the National Hunt Chase at the Cheltenham Festival before finishing second to two high class Gigginstown runners in Delta Work and Champagne Classic in his two runs since.
Back in a handicap, he should go very close at an each-way price.
If you haven't already, be sure to like our Irish Mirror Sport and Irish Mirror GAA pages on Facebook and follow us on Twitter.
How to follow the Irish Mirror on social media
You can like our main Facebook page here.
Our Irish Mirror Sports page - which brings you all your Irish and UK sports news - can be found here.
You can also check out our Irish Mirror GAA sports page.
The Irish Mirror Twitter account is @IrishMirror while our sports account is @MirrorSportIE.
Our Instagram account can be found here.


Pure Motion
VALUES
For me, happiness, pride, and satisfaction are related to the following values:
PICK A VALUE
Close relationships: This seems to be the glue that binds us together. I am the happiest, most proud, and the most satisfied, be that at work, during travel, or at home, when my close relationships are strong. I also find that a very similar feeling and result comes from Cooperation, Honesty, Helping other people, and Wisdom.
LIVING UP TO
In general, I try to live up to these values:
Disagree 1 ----- 2 ----- 3 ----- 4 ----- 5 Agree
ADVICE
What was the last topic that someone asked for your advice on?
I was asked by a youngman whether he should follow his father's wishes or his own. In some respects this was a hard one. It required much discussion and investigation. I asked him many questions to see where he thought his father was coming from? I asked him what partial conclusions he had come to? I then related events in my life in which I thought one thing and then later realized that my father was correct. I also passed on some examples in which my father has told me that maybe his methods, although well intended, may not have been the best.