{{message}}
Username:
Password:
Repeat Password:
First Name:
Last Name:
Email:
Hometown:
Phone Number:
Back
Register


| Github Action for Module unit testing |
85 |
171 |
dependabot-preview[bot] |
Upgrade to GitHub-native Dependabot |
As a reminder, [Dependabot Preview will be shut down on August 3rd, 2021][announcement]. You can merge this pull request to migrate to GitHub-native Dependabot. You can [read the docs][docs] to learn more about what's changing, as well as find out how to get support if you need help migrating.
[announcement]: https://github.blog/2021-04-29-goodbye-dependabot-preview-hello-dependabot/
[docs]: https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/upgrading-from-dependabotcom-to-github-native-dependabot
|
dependabot-preview[bot] |
114 |
1 |
true |
false |
| dropsonde |
3 |
472 |
raphink vox |
Allow to configure PuppetDB connection with environment variables |
[![CLA assistant check](https://cla-assistant.io/pull/badge/not_signed)](https://cla-assistant.io/puppetlabs/dropsonde?pullRequest=3) Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our [Contributor License Agreement](https://cla-assistant.io/puppetlabs/dropsonde?pullRequest=3) before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us [recheck](https://cla-assistant.io/check/puppetlabs/dropsonde?pullRequest=3) it.
|
CLAassistant |
45 |
4 |
false |
false |
| metadata-json-lint |
120 |
26 |
timidri puppet |
Add test for invalid task metadata |
> AFAIK this gem has never done anything with task metadata files. Given all technologies are in here to make it happen, I can see it being in scope for this gem but it would be a new feature request.
That makes sense. For now, I've changed the test to use a module metadata file which shows the same problem.
|
timidri |
6 |
5 |
false |
false |


;******************** ;* geoBEAP ;* ;* by: Bo Zimmerman ;* main header file ;******************** .if Pass1 ;Only need to include this file ;during assembler's first pass. .include GEOSequates ;get GEOS definitions .endif .header ;start of header section .word 0 ;first two bytes = 0 .byte 3 ;width in bytes .byte 21 ;and height in scanlines of: .byte $80 | 3 ;Commodore type, bit 7 S .byte APPLICATION ;Geos file type .byte SEQUENTIAL ;Geos file structure type .word ProgStart ;load address of program .word $03ff ;end address, needed for ;desk accessories. .word ProgStart ;init address of program .byte "geoBEAP 1.5",0,0,0,0,64 ;perm. filename 12 chars, ;4 char version number, ;3 zeroes, ;40/80 column flag. .byte "Bo Zimmerman ",0 ;19 character author name ;end of header section which is checked for accuracy .block 160-117 ;skip 43 bytes... .byte "geoBEAP creates and dissolves complete",13 ; auto wraps .byte "disk image archives.",0 .endh


The Vaalar Claim
In the year 1901, a Norwegean officer manager by the name of Johan Vaalar, submitted a request for reveiw of a device that would bind multiple lengths of paper to one another.
This is widely regarded as the first submission in the world to a patent office on the topic of modern paperclips, however this design was not the modern paper binding device we know today.
for example, the Vaalar clip had a tendancy to fold under pressure of four or more doccuments on account of its two bend structure, and functioned more similarly to a reverse coil spring found in an "aligator clip".
In reality the father of the modern clip, was likely an American named William Middlebrooke, who patented not only his design for the three loop clip, but also the very mechanism that would be responsible for producing such devices.


David Guthmann
About
Portfolio
(current)
Portfolio
VenU Music Discovery Live Site
VenU Music Discovery Repository
Gerome-the-Gnome Live Site
Gerome-the-Gnome Generator Repository
Carl's Cafe
Carl's Cafe
Password Generator Live Site
Password Generator Repository
Vacation Weather Live Site
Vacation Weather Repository
Work Day Schedule Live Site
Work Day Schedule Generator Repository


Service Options
Setup
Market valuation
Photographs
Floor plan
Property description
Advertising
For sale board
Featured property for 30 days
Premium property for 30 days
Rightmove listing
Zoopla listing
Primelocation listing
Viewings
Buyer qualification
Schedule viewings
Conduct viewings
Negotiation
Buyer negotiation
Sales progression
Under offer
Memorandum of sale
Mortgage valuation
Conveyance
Exchange
Complete
Other
EPC Certification
Quote from agents
Fixed Setup
Select the option below
Just quote me for the full service
Quote from agents


Bleeding Edge Web: April 2019
News From the Bleeding Edge
— Corey Butler (@goldglovecb)
Production React Redux Architecture, Patterns, and Infrastructure Components
— Ryan Vice (ViceSoftware.com)
Housekeeping
Announcements
- Speakers and sponsors always wanted (edgeatx.org)
- Remember your $7 Parking validation | Another Parking Deck
- Omni hotel bar (downstairs) after meetup
- Anyone hiring / looking?
News from the
Bleeding Edge
Browser Update
Last Check — Mar 21, 2019
Browser Updates
As of Apr 18, 2019:
New-ish Browsers?
|
|
| Edge Canary (Chromium) |
Opera 60: Reborn 3 |
Chrome 73
Released Mar 12
// In a web page
const unreadCount = 24;
window.ExperimentalBadge.set(unreadCount);
Chrome 74
Release on Apr 23
class Counter extends HTMLElement {
#x = 0;
clicked() {
this.#x++;
window.requestAnimationFrame(this.render.bind(this));
}
...
Firefox 66
Released Mar 11, 2019
globalThis (FF 65)
Removed Mutation Events in shadow trees
Edge Canary
First Chromium-based release
|
Opera
Web 3 (Blockchain-Based Transactions)
Faster VPN
Ad Blocker
Borderless Design
Languages, Libraries &
Frameworks
Releases
jQuery 3.4.0
Node 11.14.0
Tidbits
npm hit 1M users
Node 6 EOL in 12 days
Zoho is moving HQ to ATX
Thanks!
←
→
/
#


The future of asynchronous JavaScript programming that you can use now!
Links below will open in a new tab/window
Presentation
Click here to see the slides.
Developmment Environment
Use Babel in your browser.
API Documentation
Resources
For Futher Exploration


| Front Axle Height | ||
| Rear Axle Height | ||
| Axle Distance | ||
| Wheelbase | mm | |
| Height of scales | mm | |
| Mass Front Left Wheel (Tipped) | kg | |
| Mass Front Right Wheel (Tipped) | kg | |
| Mass Front Left Wheel (Flat) | kg | |
| Mass Front Right Wheel (Flat) | kg | |
| Mass Rear Left Wheel (Flat) | kg | |
| Mass Rear Right Wheel (Flat) | kg | |


Dick (1999) ***1/2 out of *****
Cast: Kirsten Dunst, Michelle Williams, Dan Hedaya, Will Ferrell, Bruce McCulloch, Teri Garr, Dave Foley, Jim Breuer, Ana Gasteyer, Harry Shearer, Saul Rubinek, Devon Gummersall, Ted McGinley, Ryan Reynolds, G.D. Spradlin, French Stewart Written by: Andrew Fleming and Sheryl Longin Directed by: Andrew Fleming Running Time: 100 minutes Date Reviewed: August 8, 1999
While staying in the Watergate Hotel in Washington DC, two dim-witted 15 year olds (Kirsten Dunst and Michelle Williams) inadvertently expose the Watergate break in. The next day, after wandering off from a White House tour, they end up meeting Richard Nixon, becoming official White House dog walkers and secret youth advisors, and unknowingly involving themselves in almost every aspect of the downfall of a President.
Let me first give some credit to writer/director Andrew Fleming. His previous two films (Threesome, The Craft) are two of my least favorite movies ever, and I was quite harsh on Fleming in my reviews. So going into this film I was not expecting much at all in terms of entertainment. Surprisingly, Dick turns out to be really funny. There are the obvious double meaning jokes pertaining to the film's titular character, but not as many as you'd think... three or four at the most, I believe. The rest of the film's comedy is fairly intelligent, and hardly any of it misses it's mark. Even the drug humor is good-natured.
Let me now give credit to the cast. Mostly comprised of "Saturday Night Live" and "The Kids in the Hall" alumni, everyone is dead on target. Dan Hedaya plays Nixon, and he's great without making the character too much of a cartoon (on a slightly interesting side note, Hedaya was also in the cast of Oliver Stone's Nixon).  Best of all though are Will Ferrell and Bruce McCulloch as a bickering Woodward and Bernstein (the Washington Post reporters who broke the Watergate story). They appear in the film's opening scene, and then reappear in the film's final act basically dominating the rest of the film.
What makes this film work given it's subject matter is it's presentation. Of course saying that two teens were directly involved in the biggest political scandal this nation has even seen is absurd, but the movie knows this and doesn't try to be anything else BUT absurd. The jokes are humorous and manage to succeed to two different levels. Those of you who don't know anything about the Watergate scandal will enjoy it on the comedic level of a silly movie, and those of you with knowledge of the events will enjoy it as a sly political satire. For example, knowing that there was an 18 and a half minute gap in one of Nixon's secret recordings will help you to enjoy a certain scene even more, but the scene is also funny standing alone.
Of course you know Fleming must be delighted at the use of the film's title in the vocabulary of moviegoers around the country. I now have to refer to the film as "that comedy about Nixon with the two girls in it" to avoid making the buffoonish statements I've been making like "Call the theater and confirm three for Dick, please". John Waters tried to do this with last year's Pecker... but since no one sees John Waters' movies or even talks about them, it failed. [PG-13]
The Jacksonville Film Journal URL:http://users.southeast.net/~chuckd21/<EMAIL_ADDRESS>© 1999 of The Jacksonville Film Journal. No reviews may be reprinted without permission.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Academic years 2017-2019
University of Tampere global student award for academic excellence scholarship.
A very limited scholarship to the most talented students. Covers 100% of the tuition fees and include a 7,000 € annual scholarship to cover the student’s living expenses.


 It's a fun way to explore web APIs and to learn the ins and outs of HTTP.
See what's changed lately by reading the project history.
Installation
It couldn't be much easier.
$ gem install htty
You'll need Ruby and RubyGems. It's known to work well under OS X against Ruby v1.8.7 and v1.9.2.
Features
- Intuitive, Tab-completed commands and command aliases
- Support for familiar HTTP methods GET, POST, PUT, and DELETE, as well as HEAD, OPTIONS and TRACE
- Support for HTTP Secure connections and HTTP Basic Authentication
- Automatic URL-encoding of userinfo, paths, query-string parameters, and page fragments
- Transcripts, both verbose and summary
- Scripting via stdin
- Dead-simple cookie handling and redirect following
- Built-in help
The things you can do with htty are:
- Build a request — you can tweak the address, headers, cookies, and body at will
- Send the request to the server — after the request is sent, it remains unchanged in your session history
- Inspect the server's response — you can look at the status, headers, cookies, and body in various ways
- Review history — a normal and a verbose transcript of your session are available at all times (destroyed when you quit htty)
- Reuse previous requests — you can refer to prior requests and copy them
Examples
Here are a few annotated htty session transcripts to get you started.
Querying a web service
This simple example shows how to explore a read-only web service with htty.
You can point htty at a complete or partial web URL. If you don't supply a URL, http://<IP_ADDRESS>/ (port 80) will be used. You can vary the protocol scheme, userinfo, host, port, path, query string, and fragment as you wish.
The htty shell prompt shows the address of the current request.
The get
command is one of seven HTTP request methods supported. A concise summary of the response is shown when you issue a request.
You can follow redirects using the follow
command. No request is made until you type a request command such as get
or post
.
You can tweak segments of the address at will. Here we are navigating the site's path hierarchy, which you can do with relative as well as absolute pathspecs.
Here we add query-string parameters. Notice that characters that require URL encoding are automatically URL-encoded (unless they are part of a URL-encoded expression).
The headers-response
and body-response
commands reveal the details of a response.
There was some cruft in the web service's response (a horizontal line, a passage reference, verse numbers, a copyright stamp, and line breaks). We eliminate it by using API options provided by the web service we're talking to.
We do a Julia Child maneuver and use the address
command to change the entire URL, rather than add individual query-string parameters one by one.
Exit your session at any time by typing quit
.
Working with cookies
The next example demonstrates htty's HTTP Secure support and cookies features, as well as how to review and revisit past requests.
The https:// scheme and port 443 imply each other, just as the http:// scheme and port 80 imply each other. If you omit the scheme or the port, it will default to the appropriate value.
Notice that when cookies are offered in a response, a bold asterisk (it looks like a cookie) appears in the response summary. The same cookie symbol appears next to the Set-Cookie header when you display response headers.
The cookies-use
command copies cookies out of the response into the next request. The cookie symbol appears next to the Cookie header when you display request headers.
An abbreviated history is available through the history
command. Information about requests in the history includes request method, URL, number of headers (and a cookie symbol, if cookies were sent), and the size of the body. Information about responses in the history includes response code, number of headers (and a cookie symbol, if cookies were received), and the size of the body.
Note that history contains only numbered HTTP request and response pairs, not a record of all the commands you enter.
The reuse
command makes a copy of the headers and body of an earlier request for you to build on.
Understanding complex HTTP conversations at a glance using history
Now we'll look at htty's HTTP Basic Authentication support and learn how to display unabbreviated transcripts of htty sessions.
Assume that we have the following Sinatra application listening on Sinatra's default port, 4567.
require 'sinatra' get '/all-good' do [200, [['Set-Cookie', 'foo=bar; baz']], 'Hello World!'] end put '/huh' do [404, 'What?'] end delete '/hurl' do [500, 'Barf!'] end post '/submit-novel' do redirect '/all-good' end
This application expects GET and POST requests and responds in various contrived ways.
When you change the userinfo portion of the address, or the entire address, the appropriate HTTP Basic Authentication header is created for you automatically. Notice that characters that require URL encoding are automatically URL-encoded (unless they are part of a URL-encoded expression).
When userinfo is supplied in a request, a bold mercantile symbol (@) appears next to the resulting Authorization header when you display request headers (see below).
Type body-set
to enter body data, and terminate it by typing Return three times consecutively. The body will only be sent for POST and PUT requests. The appropriate Content-Length header is created for you automatically (see below).
Different response codes are rendered with colors that suggest their meaning:
- Response codes between 200 and 299 appear black on green to indicate success
- Response codes between 300 and 399 appear white on blue to indicate redirection
- Response codes between 400 and 499 appear white on red to indicate failure
- Response codes between 500 and 599 appear flashing black on yellow to indicate a server error
As with the abbreviated history demonstrated earlier, verbose history shows a numbered list of requests and the responses they elicited. All information exchanged between client and server is shown.
Getting help
You can learn how to use htty commands from within htty.
The help
command takes an optional argument of the abbreviated or full name of a command.
Coming soon
Here are some features that are coming down the pike.
Commands for streamlining web form submission
These features will make htty better at screen-scraping.
Using any of the forthcoming form
commands will clear any non-form content in the body of the request. Adding at least one URL-encoded form parameter to the request will set the Content-Type header to application/x-www-form-urlencoded. Removing all URL-encoded form parameters will remove this header.
form
— display all form parameters offered in the responseform-fill
— prompt in turn for a value for each of the form inputs in the responseform-add name value
— add a URL-encoded form parameter for the request, using the specified name and valueform-remove name
— remove a URL-encoded form parameter from the request, using the specified nameform-remove-all
— remove all URL-encoded form parameters from the request
You will also be able to pop open a browser window containing request and response bodies.
Custom command aliases and shell emulation of http-console
You should be able to make your own command aliases.
http-console has a nice command-line. We should have an http-console skin for htty.
Contributing
Report defects and feature requests on GitHub Issues.
Your patches are welcome, and you will receive attribution here for good stuff. Fork the official htty repository and send a pull request.
News and information
Stay in touch with the htty project by following @get_htty on Twitter.
You can also get help in the #htty channel on Freenode.
Credits
The author, Nils Jonsson, owes a debt of inspiration to the http-console project.
Thanks to contributors (in alphabetical order):
- Rob Dawson (ephox-rob/rojotek)
- Bo Frederiksen (bofrede)
- Johannes Gorset (jgorset)
- Carson McDonald (carsonmcdonald)
- Sam Nguyen (dtjm)
- Robert Pitts (rbxbx)
- Matt Sanders (mattsa)
License
Released under the MIT License.


Home
Dashboard
Certificate
Description Form
All events
Contact Us
More options
Log Out
Home
Dashboard
Certificate
Certificate Generation
Upload the template and participant details to generate certificates
Template Edit
Contacts
Image
Upload
Preview
Download
Modify
Fonts
Times New Roman
Bookman Old Style
Calibri
Arial
Gabriola
Search
Upload
Submit
lorem ipsum
Download all
Mail all
Name
Email
Download
Mail
John doe
<EMAIL_ADDRESS>Download
Mail
John doe
<EMAIL_ADDRESS>Download
Mail
John doe
<EMAIL_ADDRESS>Download
Mail
John doe
<EMAIL_ADDRESS>Download
Mail


Travel writers had to balance the captivation of their audience with the scientific purposes of their journeys. Most were botanists who had been generously sponsored by governments and elite societies; their mission was to catalogue new and potentially useful plants. They made detailed drawings of new specimens and dubbed them with new latin names according to the Linnaean system.
Travel writers had much to say about the people they encountered in Southern Africa, and the way that these people used native plants. But their drawings of plants, though beautiful, are divorced from any larger context. Traveling botanists relied heavily on native guides in their field work, and yet existing names for plants were eschewed for new latin ones. This is indicative of their desire to classify knowledge about plants within a hegemonic system.


Marvel Character Search
Play Movie Trailer
×
Character Movie Trailer
Search
Character Image
Character Description
This Character
Comics that feature this character
Search History:


Welcome To PowerPlantUML
You need to log in to use PowerPlantUML.
Log In with Google
Log In
Rename Document
Save
Cancel
New
Rename
SVG
|
PlantUML
|
!includeurl


The Wallace Initiative was set up to look at the potential impacts of climate change on as broad of range of biodiversity as possible. It brought together experts in climate impacts, climate model data and species modelling to look at the potential impacts of climate change on now close to 100,000 species. It has been used in a number of studies, see yyyy.
This tool, based on the CliMAS tool developed at James Cook University, provides interactive maps and regional reports to examine the future of species distributions and biodiversity around the world.
It summarises mapped biodiversity of almost 100,000 mammals, birds, reptiles, amphibians, plants and some insects (e.g., pollinators) within their suitable climate space projected by 21 different Global Climate Models (GCMs) at global warming levels of 1.5°, 2°, 2.7°, 3.2°, 4.5° and 6° C above pre-industrial. These temperatures span the Paris Accord goals (1.5° to 2°), the temperatures estimated to be reached under the current Paris Pledges (the Nationally Determined Commitments, 2.7° to 3.2° C), a typical Business as Usual Scenario (4.5° C) and an extreme scenario covering a case of high climate sensitivity or feedbacks (6° C). These are drawn from the AVOID scenario temperature distributions equivalent to the IPCC RCP scenarios of 2.6, 4.5, 6.0 and 8.5. Please see xxx for more details on the links between the temperatures and the scenarios. Detailed lists of potential climate space losses and gains for each species may be obtained in the reports section.
The map section of Wallace offers projected species distribution and biodiversity maps. Each map type is offered for the specific warming levels above, allowing or not allowing for species movements (dispersal) at realistic rates, and either the 10th, 50th or 90th percentile across the set of models used to project the future climate (to span some of the climate model uncertainty). See the Science page for more information.
In additon, easy comparisons can be made by loading two maps and switching between them, demonstrated in the animation below which compares current and future distributions of the Northern Blossom Bat.
All maps are downloadable for further analysis. See maps now »
Currently there is a general lack of engagement and knowledge transfer between professional researchers and the end-users of research (general public, conservation managers, decision-makers, etc.). This is reflected in a general lack of acceptance and acknowledgement by the public and stakeholders of the potential impacts of climate change, particularly on biodiversity.
Recently, researchers have begun to endeavour to make the results of their research public, however there is a scarcity of online tools that display species distribution data. The Wallace Initiative provides a tool that exposes data available with the Global Biodiversity Information Facility (GBIF) and its partners, the Climatic Research Unit (CRU), Tyndall Climate Change Centre, and the Tropical Data Hub in a visual and interactive way, to allow a broad range of end-users to explore the potential impacts of climate change on terrestrial vertebrate species in their region.
The Wallace Initiative team loves feedback. If you have any comments, please drop them into an email to<EMAIL_ADDRESS>This web site runs fine on any modern web browser with JavaScript enabled. It requires an internet connection.
If you find this tool not behaving as expected, please take the time to let us know.


{% extends 'email_base.html' %} {% block body %} {% load i18n %}
{% trans "Hi there" %}
{% url 'email_confirm' uidb64=uid token=token as email_confirm_url %}{% blocktrans with email=user.email %}Welcome to the P2PU learning circle community! To use your account, please confirm your email by following this link. Your username is {{ email }}.{% endblocktrans %}
{% trans "Cheers" %}
P2PU
{% endblock %}


org.apache.lucene.queryParser.surround.parser
Interface QueryParserConstants
- All Known Implementing Classes:
- QueryParser, QueryParserTokenManager
- public interface QueryParserConstants
EOF
public static final int EOF
- See Also:
- Constant Field Values
_NUM_CHAR
public static final int _NUM_CHAR
- See Also:
- Constant Field Values
_TERM_CHAR
public static final int _TERM_CHAR
- See Also:
- Constant Field Values
_WHITESPACE
public static final int _WHITESPACE
- See Also:
- Constant Field Values
_STAR
public static final int _STAR
- See Also:
- Constant Field Values
_ONE_CHAR
public static final int _ONE_CHAR
- See Also:
- Constant Field Values
_DISTOP_NUM
public static final int _DISTOP_NUM
- See Also:
- Constant Field Values
OR
public static final int OR
- See Also:
- Constant Field Values
AND
public static final int AND
- See Also:
- Constant Field Values
NOT
public static final int NOT
- See Also:
- Constant Field Values
W
public static final int W
- See Also:
- Constant Field Values
N
public static final int N
- See Also:
- Constant Field Values
LPAREN
public static final int LPAREN
- See Also:
- Constant Field Values
RPAREN
public static final int RPAREN
- See Also:
- Constant Field Values
COMMA
public static final int COMMA
- See Also:
- Constant Field Values
COLON
public static final int COLON
- See Also:
- Constant Field Values
CARAT
public static final int CARAT
- See Also:
- Constant Field Values
TRUNCQUOTED
public static final int TRUNCQUOTED
- See Also:
- Constant Field Values
QUOTED
public static final int QUOTED
- See Also:
- Constant Field Values
SUFFIXTERM
public static final int SUFFIXTERM
- See Also:
- Constant Field Values
TRUNCTERM
public static final int TRUNCTERM
- See Also:
- Constant Field Values
TERM
public static final int TERM
- See Also:
- Constant Field Values
NUMBER
public static final int NUMBER
- See Also:
- Constant Field Values
Boost
public static final int Boost
- See Also:
- Constant Field Values
DEFAULT
public static final int DEFAULT
- See Also:
- Constant Field Values
tokenImage
public static final String[] tokenImage
Copyright © 2000-2006 Apache Software Foundation. All Rights Reserved.


npm security
two factor auth
Protect your npm account with two-factor authentication and read-only tokens - 20171004
<EMAIL_ADDRESS>or sup
Node Security Platform
Called NSP.
Analyze npm registry for vulnerabilities.
Powered by Lift Security.
They do also code review on the npm CLI and on the registry source code and they conducts audits and penetration tests.
They have been acquired by npm inc in april 2018.
articles
Attitudes to security in the JavaScript community - 20180410
a survey of over 16,000 developers run by npm in collaboration with the Node.js Foundation and the JS Foundation
Conclusions
- Best practices like testing, linting, code reviews and security scans are a sign of an experienced developer.
- Strong majorities of JavaScript developers are concerned about the security both of the code they write and the open source code they use.
- But developers are more trusting of the security of open source code than their own.
- Developers are not happy with the options available to them for securing their code.


QSurface3DSeries Class
The QSurface3DSeries class represents a data series in a 3D surface graph. More...
| Header: | #include <QSurface3DSeries> |
| Since: | QtDataVisualization 1.0 |
| Instantiated By: | Surface3DSeries |
| Inherits: | QAbstract3DSeries |
Public Types
Properties
|
|
- 17 properties inherited from QAbstract3DSeries
- 1 property inherited from QObject
Public Functions
| QSurface3DSeries(QObject *parent = Q_NULLPTR) | |
| QSurface3DSeries(QSurfaceDataProxy *dataProxy, QObject *parent = Q_NULLPTR) | |
| virtual | ~QSurface3DSeries() |
| QSurfaceDataProxy * | dataProxy() const |
| QSurface3DSeries::DrawFlags | drawMode() const |
| bool | isFlatShadingEnabled() const |
| bool | isFlatShadingSupported() const |
| QPoint | selectedPoint() const |
| void | setDataProxy(QSurfaceDataProxy *proxy) |
| void | setDrawMode(DrawFlags mode) |
| void | setFlatShadingEnabled(bool enabled) |
| void | setSelectedPoint(const QPoint &position) |
| void | setTexture(const QImage &texture) |
| void | setTextureFile(const QString &filename) |
| QImage | texture() const |
| QString | textureFile() const |
- 33 public functions inherited from QAbstract3DSeries
- 32 public functions inherited from QObject
Signals
| void | dataProxyChanged(QSurfaceDataProxy *proxy) |
| void | drawModeChanged(QSurface3DSeries::DrawFlags mode) |
| void | flatShadingEnabledChanged(bool enable) |
| void | flatShadingSupportedChanged(bool enable) |
| void | selectedPointChanged(const QPoint &position) |
| void | textureChanged(const QImage &image) |
| void | textureFileChanged(const QString &filename) |
- 16 signals inherited from QAbstract3DSeries
- 2 signals inherited from QObject
Static Public Members
| QPoint | invalidSelectionPosition() |
- 10 static public members inherited from QObject
Additional Inherited Members
- 1 public slot inherited from QObject
- 1 public variable inherited from QObject
- 9 protected functions inherited from QObject
- 2 protected variables inherited from QObject
Detailed Description
The QSurface3DSeries class represents a data series in a 3D surface graph.
This class manages the series specific visual elements, as well as the series data (via a data proxy).
If no data proxy is set explicitly for the series, the series creates a default proxy. Setting another proxy will destroy the existing proxy and all data added to it.
The object mesh set via the QAbstract3DSeries::mesh property defines the selection pointer shape in a surface series.
QSurface3DSeries supports the following format tags for QAbstract3DSeries::setItemLabelFormat():
| @xTitle | Title from x-axis |
| @yTitle | Title from y-axis |
| @zTitle | Title from z-axis |
| @xLabel | Item value formatted using the format of the x-axis. For more information, see QValue3DAxis::setLabelFormat(). |
| @yLabel | Item value formatted using the format of the y-axis. For more information, see QValue3DAxis::setLabelFormat(). |
| @zLabel | Item value formatted using the format of the z-axis. For more information, see QValue3DAxis::setLabelFormat(). |
| @seriesName | Name of the series |
For example:
proxy->setItemLabelFormat(QStringLiteral("@valueTitle for (@rowLabel, @colLabel): %.1f"));
See also Qt Data Visualization Data Handling.
Member Type Documentation
enum QSurface3DSeries::DrawFlag
flags QSurface3DSeries::DrawFlags
The drawing mode of the surface. Values of this enumeration can be combined with the OR operator.
| Constant | Value | Description |
|---|---|---|
QSurface3DSeries::DrawWireframe | 1 | Only the grid is drawn. |
QSurface3DSeries::DrawSurface | 2 | Only the surface is drawn. |
QSurface3DSeries::DrawSurfaceAndWireframe | DrawWireframe | DrawSurface | Both the surface and grid are drawn. |
The DrawFlags type is a typedef for QFlags<DrawFlag>. It stores an OR combination of DrawFlag values.
Property Documentation
dataProxy : QSurfaceDataProxy *
This property holds the active data proxy.
The series assumes ownership of any proxy set to it and deletes any previously set proxy when a new one is added. The proxy cannot be null or set to another series.
Access functions:
| QSurfaceDataProxy * | dataProxy() const |
| void | setDataProxy(QSurfaceDataProxy *proxy) |
Notifier signal:
| void | dataProxyChanged(QSurfaceDataProxy *proxy) |
drawMode : DrawFlags
The drawing mode.
Possible values are the values of DrawFlag. Clearing all flags is not allowed.
Access functions:
| QSurface3DSeries::DrawFlags | drawMode() const |
| void | setDrawMode(DrawFlags mode) |
Notifier signal:
| void | drawModeChanged(QSurface3DSeries::DrawFlags mode) |
flatShadingEnabled : bool
This property holds whether surface flat shading is enabled.
Preset to true
by default.
When disabled, the normals on the surface are interpolated making the edges look round. When enabled, the normals are kept the same on a triangle making the color of the triangle solid. This makes the data more readable from the model.
Note: Flat shaded surfaces require at least GLSL version 1.2 with GL_EXT_gpu_shader4 extension. The value of the flatShadingSupported property indicates whether flat shading is supported at runtime.
Access functions:
| bool | isFlatShadingEnabled() const |
| void | setFlatShadingEnabled(bool enabled) |
Notifier signal:
| void | flatShadingEnabledChanged(bool enable) |
flatShadingSupported : const bool
This property holds whether surface flat shading is supported by the current system.
Flat shading for surfaces requires at least GLSL version 1.2 with GL_EXT_gpu_shader4 extension. If true
, flat shading for surfaces is supported.
Note: This read-only property is set to its correct value after the first render pass. Until then it is always true
.
Access functions:
| bool | isFlatShadingSupported() const |
Notifier signal:
| void | flatShadingSupportedChanged(bool enable) |
selectedPoint : QPoint
This property holds the surface grid point that is selected in the series.
Access functions:
| QPoint | selectedPoint() const |
| void | setSelectedPoint(const QPoint &position) |
Notifier signal:
| void | selectedPointChanged(const QPoint &position) |
texture : QImage
This property holds the texture for the surface as a QImage.
Setting an empty QImage clears the texture.
Access functions:
| QImage | texture() const |
| void | setTexture(const QImage &texture) |
Notifier signal:
| void | textureChanged(const QImage &image) |
textureFile : QString
This property holds the texture for the surface as a file.
Setting an empty file name clears the texture.
Access functions:
| QString | textureFile() const |
| void | setTextureFile(const QString &filename) |
Notifier signal:
| void | textureFileChanged(const QString &filename) |
Member Function Documentation
QSurface3DSeries::QSurface3DSeries(QObject *parent = Q_NULLPTR)
Constructs a surface 3D series with the parent parent.
QSurface3DSeries::QSurface3DSeries(QSurfaceDataProxy *dataProxy, QObject *parent = Q_NULLPTR)
Constructs a surface 3D series with the data proxy dataProxy and the parent parent.
[virtual]
QSurface3DSeries::~QSurface3DSeries()
Deletes the surface 3D series.
[static]
QPoint QSurface3DSeries::invalidSelectionPosition()
Returns the QPoint signifying an invalid selection position. This is set to the selectedPoint property to clear the selection from this series.
See also QAbstract3DGraph::clearSelection().
void QSurface3DSeries::setSelectedPoint(const QPoint &position)
Selects a surface grid point at the position position in the data array of the series specified by a row and a column.
Only one point can be selected at a time.
To clear selection from this series, invalidSelectionPosition() is set as position. If this series is added to a graph, the graph can adjust the selection according to user interaction or if it becomes invalid.
Removing rows from or inserting rows to the series before the row of the selected point will adjust the selection so that the same point will stay selected.
Note: Setter function for property selectedPoint.
See also selectedPoint() and QAbstract3DGraph::clearSelection().


--- layout: post esbma_id: 1187 title: Law #5: The Law of Focus date: 2004-06-07 14:52:20 keywords: law ---
(This entry is part of a series I am writing on The 22 Immutable Laws of Marketing.)
This is one of my favorite chapters. The Law of Focus says that "the most powerful concept in marketing is owning a word in the prospect's mind." This law challenges us to boil our marketing message down to just one idea. If you can teach your market segment to associate your product with a single idea, perhaps even a single word, you can be a market leader.
Count Your Words
When entrepreneurs ask me for advice, I usually ask them to explain their product in 25 words or less. Hardly anybody can do it. The software developer is in love with his product and is unaware of the fact that nobody else is. Ask him to talk about his product and he will give you twenty minutes of rambling love poetry starting with a feature set and ending with a description of some arcane aspect of the product's underlying architecture. The customer has lost interest after the first ten seconds. The wire between your marketing efforts and your customer's mind is an extremely low bandwidth connection. Less is more.
During the dotcom bubble, as we all wasted three years of our lives chasing venture capitalists around like groupies, they taught us one useful concept: The elevator pitch. This is a major step in the right direction. The idea is that you have to explain your product and its benefits in the amount of time you spend in an elevator. In other words, you've got well under a minute. No time for product love poetry.
But the Law of Focus would claim that an elevator ride is far too long.
The Law of Focus would insist that a 25 word description is about 24 words too many.
The Law of Focus demands that we explain our product in one word. Ries and Trout say, "No matter how complicated the product, no matter how complicated the needs of the market, it's always better to focus on one word or benefit than two or three or four."
Examples
Each of these companies has used a single idea or word as the basis for its primary message.
For another example, take a look at two of the major wireless phone providers in the United States today. Each of them has carefully chosen just one concept as their message:
These two companies each have plenty of other benefits they could be talking about. They could tell us about their great selection of phones. They could brag about their pricing. They could talk about safety issues. Instead, they have each focused their marketing message around just one idea.
As the chapter says, "The essence of marketing is narrowing the focus.
Crafting Your Message
It's okay to have more information handy. Datasheets and whitepapers are great. Once people get interested, they will probably want all the detail you can provide. But for first impressions, you should tell the world only one thing about your product. You can use 2-3 words as long as you are not trying to sneak in extra ideas. Usually, you need only one word. But which word to pick?
Sheepish Confession
Among the many violators of Law #5 is SourceGear itself. Shameful as it seems, we built the marketing message for Vault around three ideas, not one:
We've been very consistent about using the same three talking points in all of our advertising materials and presentations. We sometimes vary the way we explain them, but we always work with these same three points.
This campaign has worked out very well for us, but Law #5 says we would be even more effective if we replaced our three-point message with a one-point message. In the future, we will probably move in that direction.


Welcome to Web MiP
Please connect and control
arrow_upward
arrow_back
bluetooth_searching
arrow_forward
arrow_downward
Find us on GitHub


Task force deploys 7,899 forces to secure SEA Games
by Roy TomandaoCamp Vicente Lim―A total of 7,899 Security Forces and Resources of Task Group Southern Luzon are set to secure the sporting events that will be held in the CALABARZON region for the 30th Southeast Asian Games.
READ: Cops on full alert for SEA Games
The contingents and resources were presented Thursday during the Send-Off Ceremony here in Calamba City graced by the Functional Area Director for Games Security and Safety-PHISGOC retired AFP General Gregorio Pio Catapang.
Meanwhile, Speaker Alan Peter Cayetano on Thursday slammed former president Benigno Aquino III for the latter’s criticism against the P55-million worth of cauldron that will be used for the 2019 Southeast Asian Games.
At the same time, Cayetano accused the opposition of politicizing the SEAGAMES issue as it is preparing for the 2022 national elections.
Cayetano said Aquino also used to beg the Senate not to criticize the P10-billion budget for the Asia-Pacific Economic Cooperation Leaders’ Meeting in 2015.
Brig. Gen. Vicente D Danao Jr., as the Commander of Task Group Southern Luzon, presented the forces and resources and was acknowledged by the Special Task Force 30th SEA Games Commander Police Brigadier General Rey Lyndon Lawas.
The Southeast Asian Games is a biennial regional multi-sport event that the country will be hosting starting on Nov. 30 to Dec. 11, 2019. A total of 9,840 athletes who will compete in 529 events in 56 sports make this edition the largest Southeast Asian Games in terms of sports and events contested.
The event will have competition venues spread across 23 cities across the country, divided into four clusters.
Catapang commended Danao for the excellent security preparations. He encouraged the contingents to play their important roles in securing not only the athletes and the delegates from the eleven participating countries but also the spectators who will flock at the sports venues to witness the events.
Danao said the contingents from PNP CALABARZON already knew their primary functions while on the field.
Permit to Carry Firearms Outside of Residence in Region 3, 4A, NCR and the entire province of La Union were suspended until Dec. 14 to ensure the safety and security of all participants and the populace. With Maricel V. Cruz


INTRODUCTION: Known Issues & Application Updates
Updates
- 11/10/14 Updated Wildfire Related Layers. There are no active wildfires or area closures in Idaho at this time. The fire area closures and fire perimeters data layers have been removed from the 'Wildfire & Closure Related Layers" layer list until next fire season. The MODIS Fire Detections layer will remain in the layer list.
- 11/7/2014 Highlight a Hunt Area Improvements. Now when you highlight a hunt area, a label will also appear on the map. Download Highlighted Hunt Area(s) as Google Earth kml(s) tool added. After a user highlights hunt areas using the 'Highlight a Hunt Area' tool, a new tool will appear called 'Download Highlighted Area as KML'. When the user opens this window, they will find a hyperlink that will open/download the KML. Upload Waypoints & Tracks tool added. Users can simply a GPS data such as waypoints and tracks (or other coordinate based datasets) to the map using this tool.
- 10/27/2014 Layer List/Legend Improvements. The 'Turn Layers On/Off' option now opens in a collapsible window in the left-hand sidebar instead of in a modal window. This allows the Map Center users to view the legend while looking at the map. 'Share the Map View' Tool added. If a user would like to share a specific map view, they can copy the generated URL. The URL will query for a center coordinate and map zoom level. General Game Distribution Added. Users can now add the General Distribution of different game species using a dropdown menu in the 'Highlight a Hunt Area' window.
- 9/17/2014 Print Tool Improvements. Users now have the option to create PDF or PNG maps of 4 different formats: 8x11 Landscape, 11x17 Landscape, 8x11 Portrait, or 11x17 Portrait. The print DPI was also increased from 96 to 300. This improves the print quality of the vector layers (hunt boundaries, etc.) that overlay the basemaps.
- 9/5/2014 Highlight Multiple Hunt Areas. Improved the 'Highlight a Hunt' tool so that users can select multiple hunt areas from one category (ex. GMU, elk zones) or multiple hunts from different hunt areas. Hunt areas from different categories will be highlighted in different colors.
- 9/5/2014 Swapped GeoMAC for USFS-RSAC MODIS layer. The USFS-RSAC WMS layer has nicer symbology than the GeoMAC feature layer.
- 9/5/2014 Added Data Source Links. There are a number of layers in the layers list that are maintained by different agencies. For each, we now provide a link to metadata or a website where the data came from. (Land Mgmt Layer, Roads & Trails, etc.)
- 8/25/2014 Removed the Motorized and Non-motorized Trails layer. The roads and trails layer has been, hopefully, temporarily removed. It was brought to our attention that there is some road/trail information that was portrayed incorrectly by this layer. As it is not maintained by IDFG, we thought it was in the best interest of the public to remove the layer for the time being. RESOLVED. The trails layer is available.
- 8/25/2014 Added 2014-2015 Waterfowl Hunt Areas
- 7/31/2014 Open PDF from 'Create PDF Map' window. Now once a PDF is generated using the 'Create PDF Map' tool, a hyperlink title "CLICK HERE TO DOWNLOAD PDF MAP" will appear in the window. When the user clicks the hyperlink, their PDF will open in a new browser window. (Work around for PDFs getting blocked by Popup Blockers).
- 7/24/2014 Added Google Basemaps. After receiving feedback about the new Esri basemap options, the Google basemaps (roads, imagery, hybrid, and terrain) were also added to the basemap gallery.
Known Issues
- 7/9/2014 Clear Measurement Graphics Before Attempting to Create a PDF - All measurement related graphics must be cleared before you attempt to create a PDF map. Please press the 'Clear Measurement Results' button in the 'Measurements & Coordinates' window before attempting to create a PDF. If you do not clear the graphics, the print tool will fail. RESOLVED.
- 7/1/2014 Created PDF Map Incorrect or Rendering an Older Version - Sometimes when a user creates a PDF, an older version will appear. SOLUTION: Refresh the PDF window (press the 'F5' button on your keyboard). RESOLVED.
- 7/1/2014 Map Legend Labels Missing for Graphics Layers - The legend label(s) for added graphics layers (from highlighting a hunt area or using the draw tools) will say 'Override 1', 'Override 2', etc. No solution has been found at this time.
Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


Mouse over a cluster to see the bounds of its children and click a cluster to zoom to those bounds, click on markers to view details


0.11.1 Release : A gentlemen game played by hooligans
The PiTiVi team is proud to announce the second release in the unstable 0.11 PiTiVi series.
Expect a new release every 3-weeks, regardless of current code status.
This release series is not intended to be production-ready, but instead to allow users to try more often new features that will be available in the next stable series.
The developers will not be held accountable for any work lost, flooding or war caused by this unstable series.
Features of this release
- More work on project save/load, use PITIVI_FILE_SUPPORT=1 to try it.
- Be more flexible with encoding caps, should fix more issues when encoding.
- Fixed issues for non icon-theme-spec compliant systems
- Misc fixes
Bugs Fixed
- 461913 : Error: Icon not present in theme
- 486271 : crash in Pitivi Video Editor: I close the PiTiVI windo...
- 487455 : Dragging multichannel .mov file onto timeline produce err...
List of bugs fixed on Bugzilla
Requirements
- gstreamer >= 0.10.14
- gst-python >= 0.10.6
- gnonlin >= 0.10.9
- pygtk >= 2.8.0
- zope-interface
- python setuptools
Contributors
- Edward Hervey
- Brandon Lewis
- Tommy
Download
PiTiVi source tarballs are available on gnome FTP: http://ftp.gnome.org/pub/GNOME/sources/pitivi/0.11/
See the website for distribution-specific packages.
Information and Feedback
- Information for users and developers can be found on the PiTiVi website : http://www.pitivi.org/
- Comments and feedback are welcome.
- Mailing-list<EMAIL_ADDRESS>- PiTiVi bug-tracker : http://bugzilla.gnome.org/browse.cgi?product=pitivi
The results of the search are


Contact
Projects
Blog
Home
Navbar Link
menu
William Ronchetti
Blog Posts Below!
Resume
LinkedIn
A Book Everyone Should Read
I recently stumbled upon a fascinating book on human psychology that I think everyone should read.
You Are Not So Smart


Building rock
solid software
in the real world
Improving team
workflow to
improve your
software
Omni Adams
@omnicolor
Mashery
http://omni-spot.blogspot.com
https://joind.in/10548
- My name is Omni Adams
- Find me on the Twitter as omnicolor
- I build stuff at Mashery
Process matters
- This talk is about how to build better software as a team
- As developers we're not perfect
- but we can be better
- We want to improve our process so that
- catch things that go bump in the night much earlier
- → here's a typical workflow
Development cycle
- workflow … for software's lifecycle
- you may or may not plan
- you write a bunch of code
- run automated checks and tests
- You may get a peer review
- then while CI builds it
- you get beer
- → this talk is not
Planning
- not … about planning
- Though obviously that's important
- nor is it about → coding
Coding
- … coding
- sure you're great coders
- don't need any help
- never make mistakes
- but I bet your team members do
- we'll talk about → automated checks
Automated checks
- automated checks … to do QA on code
- before it gets committed
- We'll talk quite a bit → about code reviews
Code reviews
- code reviews … your chance to head off facepalm code
- before it causes any damage
- we'll talk some about → submitting code
Submitting your code
- submitting code … and possibly stopping it there
- if it doesn't meet standards
- and why submitting code is not the finish line
- and finally we'll talk about → what happens
After code is submitted
- what happens … after code gets submitted
- and what you can do at that point
Automated checks
- first up: automated checks
- Some things are easy to reject at this point
- failing tests or syntax errors for example
- most of these can also be run in your build
- This is basically HAL9000 saying → I'm sorry
Automated checks
sorry dave,
I can't let
you do that
- I'm sorry … Dave, I can't let you do that
Automated checks
- Lint
- PHPUnit
- PHP_CodeSniffer
- PHPMD
- PHPCPD
- PHPDCD
- Code coverage
- Here's an alphabet soup of checks you can run
- we'll go through these individually
- all of these help coders fix mistakes before they commit them
- We'll also then talk about when and how to run them
Automated checks: lint
php -l
- PHP lint
- Bare minimum
- Finds syntax errors, or things that might cause a fatal error
Automated checks: lint
<?php
// test.php
echo 'foo'
echo 'bar';
$ php -l test.php
Errors parsing test.php
$ php test.php
PHP Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ',' or ';' in test.php on line 3
- So if you lint the file it will tell you that you've got errors
- it doesn't tell you much more than that,
- but it doesn't execute the file
- so it can be run on destructive scripts
- It does however return a non-zero error code
- so you can use that to fail a script or a build
- A more rigorous tool for catching problems is → phpunit
Automated checks: phpunit
- … PHPUnit
- the de facto standard for unit testing
- You could probably use simple test if you wanted
- Many talks about PHPunit at this conf and others
- so I'll gloss over testing
- lint and PHPunit should run pre-commit and on CI server
- everything else we talk about should be available to devs
- and run in CI for reporting
Automated checks: phpunit
$ phpunit --colors tests
PHPUnit 3.7.28 by Sebastian Bergmann.
........................................ 63 / 315 ( 20%)
........................................ 126 / 315 ( 40%)
........................................ 189 / 315 ( 60%)
........................................ 252 / 315 ( 80%)
........................................ 315 / 315 (100%)
Time: 3.36 seconds, Memory: 6.75Mb
OK (315 tests, 348 assertions)
- Developers should be very used to seeing screens like this
- And tests should run very fast so developers have no excuses
- In this case, 315 tests in over 3 seconds is slow
- You should work to figure out why tests are slow
- If you install the → PHP_Invoker package
Automated checks: phpunit
$ phpunit --strict --colors tests
PHPUnit 3.7.28 by Sebastian Bergmann.
.E...................................... 63 / 315 ( 20%)
........................................ 126 / 315 ( 40%)
........................................ 189 / 315 ( 60%)
........................................ 252 / 315 ( 80%)
........................................ 315 / 315 (100%)
Time: 1.42 seconds, Memory: 7.00Mb
There was 1 error:
1) CharacterTest::testSetArchetype
PHP_Invoker_TimeoutException: Execution aborted after 1 second
tests/CharacterTest.php:65
FAILURES!
Tests: 315, Assertions: 347, Errors: 1.
- … PHP_Invoker package
- You can add the strict flag which fails tests that take too long
- You can add a medium or large annotation to the test
- or fix the test to not take so long
- You can also use the group annotation to split your tests
- So long-running integration tests are split out
Automated checks: PHPCode_Sniffer
- Code sniffer
- statically analyzes code for "smells" or bad things
- like missing docblocks
- bad indentation
- braces in the wrong place
- most things in your style guide can be coded as a smell
Automated checks: PHPCode_Sniffer
$ phpcs skill.php
FILE: skill.php
----------------------------------------------------------
FOUND 9 ERROR(S) AND 1 WARNING(S) AFFECTING 4 LINE(S)
----------------------------------------------------------
4 | WARNING | PHP version not specified
4 | ERROR | Missing @category tag in file comment
4 | ERROR | Missing @package tag in file comment
4 | ERROR | Missing @author tag in file comment
50 | ERROR | Short PHP opening tag used with echo; expected "<?php echo
| | htmlentities ..." but found "<?= htmlentities ..."
52 | ERROR | Expected "foreach (...) {\n"; found "foreach (...) {"
52 | ERROR | Closing brace must be on a line by itself
----------------------------------------------------------
Time: 33 ms, Memory: 3.00Mb
- Here's what PHP code sniffer output might look like
- It's very configurable and you can write new sniffs
- We'll talk a bit about style guides more later as well
- next is → PHPMD
Automated checks: PHPMD
- … PHPMD
- The PHP mess detector
- finds things like unused variables
- or bad language constructs, like eval and goto
- Looks at code paths to report on excessive complexity
Automated checks: PHPMD
$ phpmd UnknownElement.php text design,codesize,cleancode
UnknownElement.php:72
Avoid using static access to class 'Task' in method
'maybeConfigure'.
UnknownElement.php:92
Avoid using static access to class 'BuildException' in
method 'main'.
UnknownElement.php:95
Avoid using static access to class 'Task' in method
'main'.
UnknownElement.php:118
Avoid using static access to class 'TaskAdapter' in
method 'handleChildren'.
- Here's an example of running it with a few default settings
- on a file from the Phing project
- Again, it's pretty easy to configure
- and you can suppress warnings if you disagree with them
- then there's the → PHPCPD
Automated checks: PHPCPD
- … PHPCPD
- copy paste detector
- finds code blocks that are similar
- should be refactored so the common code is in one place
- keeps from having to remember to fix in all places
Automated checks: PHPCPD
$ phpcpd .
phpcpd 2.0.0 by Sebastian Bergmann.
Found 1 exact clones with 20 duplicated lines in 1 files:
- tests/CharacterControllerTest.php:262-282
tests/CharacterControllerTest.php:312-332
0.55% duplicated lines out of 3651 total lines of code.
Time: 740 ms, Memory: 5.25Mb
- Here's an example of the output
- It shows a small amount of code that could be refactored
- in some unit tests from a personal project.
- In this case, 20 lines are duplicated
- The tool can be configured with how much duplication is required
- before throwing a warning
- next is the → PHPDCD
Automated checks: PHPDCD
- … PHPDCD
- PHP dead code detector
- Limited tool, but useful in some cases
- it finds uncalled methods
Automated checks: PHPDCD
<?php
if (false) {
echo 'This never runs';
}
function uncalled() {
echo 'Nothing calls this';
}
exit(0);
echo 'More uncalled code';
- Here's an example file with three types of dead code
- The conditional can't possibly fire
- There's a defined function that isn't called
- and there's code called after the exit
- The dead code detector will only flag the uncalled function
Automated checks: PHPDCD
$ phpdcd test.php
phpdcd 1.0.1 by Sebastian Bergmann.
- uncalled()
LOC: 3, declared in test.php:7
Time: 20 ms, Memory: 3.00Mb
- Here's the output if we run PHPDCD on the example
- It flags that method
- You will want to exclude your test directory if you run this
- Since it doesn't handle magic very well
- Magic meaning reflection or calling a function from a variable
- finally, there's → code coverage
Automated checks: Code coverage
- … code coverage
- not really an automated check
- you may want to run as pre-flight check
- but shouldn't block submission
- And you should be careful about setting coverage requirements
- don't cover code just for coverage's sake
- write good tests
Automated checks: Code coverage
- Here's an example HTML report
- You can drill into each file
- and see what lines are or aren't covered
- If you're doing TDD this will necessarily be high
- if you're starting on a legacy codebase it will be very low
- moving on to → code reviews
Code reviews
- … code reviews
- your chance to point out a coworker is doin it rong
- I've used three code review packages
- and will mention a fourth
- the first two are free as in speech, beer, or both
- the first is → Review Board
Code reviews: Review Board
- … review board
- written in Python and Django
- pros include that you host on your server
- code never leaves your network
- cons include that you host it on your server
- so it's another server you have to maintain
Code reviews: codereview.appspot.com
- codereview.appspot.com
- based on Mondrian used internally at Google
- written by Guido van Rossum, creator of Python
- you do have to upload to Google's servers
- But you don't have to maintain the server
Code reviews: Atlassian Crucible
- Then there's Atlassian Crucible
- If you use other Atlassian stuff, it's well integrated
- But it is expensive compared to free
- And it's hosted, which you may or may not like
Code reviews: Atlassian Stash
- I haven't used Atlassian Stash yet
- But it's supposed to be pretty well integrated with both
- Atlassian stuff and git
- It mimics the Github workflow with pull requests
- It's also far from free
- there are 3 types of reviews → pre-review
Code reviews
- … pre-review
- which stops bad code from getting to production
- but can slow down development
- Basically code gets committed locally and a review is generated
- code can't move to the next step in your code repository…
- there's also → post-review
Code reviews
- … post-review
- Where the bad code is already committed
- and can make it into production
- Reviewers then tell the person what they've done wrong
- and hope that they go back and fix all of the problems
- Finally, there's → a team review with a projector
Code reviews
- … a team review with a projector
- you display code on a screen and let the whole team review
- this can really embarrass people
- and can split the team into us and them
- groupthink is a real possibility
- and junior team members can get really stressed
- → so what are you looking for?
Code reviews
What tools can't catch:
- Logic errors
- Off-by-one errors
- Obvious performance problems
- Refactoring opportunities
- Bad/misleading documentation
What tools missed:
- Style problems
- Syntax errors
- Typos
- Unreachable code
- Useless tests
- Missing tests
- anything the tools couldn't catch
- logic errors (like ifs that don't make sense)
- loops with off-by-one issues
- performance problems (SQL in a loop)
- things to refactor (large methods)
- or things they just missed
- Typos (variable names, documentation)
- Tests that don't have assertions
- Methods without tests
Style guides
- to do reviews right, you need a good style guide
- some people don't have style
- or they have it, but it's… uhh… different
- and → some do
Style guides
- … some do
- So how do you we create a style guide?
- you've got → two options
Style guides
- Make your own
- Use existing
- roll your own
- use an existing
Style guides
- building your own involves:
- look at your code build guide off that
- don't have to change your code
- More changes to code sniffer to use it, if you even can
- New developers will argue against it
- can be difficult to agree on styles
- or you can → use an existing guide
Style guides
- use an existing guide like pear or zend
- well established
- smart people made them
- code sniffer may already have sniffs
- very explicit
- Your team probably won't agree
- your existing code probably doesn't already follow guide
- So what do you → include in
Style guides
- <?php or <? or <%
- $variableName or $variable_name
- ClassName or Class_Name
- Line length
- Ternary operator
- Documentation
- … include in your guide
- Here's some examples
- Your naming scheme, like underscores vs camelcase
- if you have a soft or hard limit to line length
- tabs versus spaces, or both
- whether to allow the Elvis operator (ternary)
- how your code should be documented
- Moving on → to submitting code
Submitting code
- → to submitting code
- run those automated checks from earlier again
- Good time to run even more checks
- like slow tests, or integration tests
- use repository hooks to make sure unit tests pass
- and that the submitted code has been reviewed
- This is your last chance to keep bad code out
Submitting code
- We've talked a lot about running things automatically
- But I haven't mentioned how to actually do that
- The easiest and most reliable way is to do it with hooks
- I'll show an example of how to do it Git
- Other version control systems will have very similar concepts
- First, what → is a hook?
Submitting code
- … is a hook?
- Simply put, a hook is a script that runs
- at a certain point in a process
- It may run right before you submit code
- or after it gets sent to a server
- The script can be written in just about any language
- This is a PHP conference, so I'll use command line PHP
Submitting code
- We'll start with the Black Knight from Monty Python
- A gatekeeper that just says "None shall pass"
Submitting code
#!/usr/bin/env php
<?php
echo 'None shall pass', PHP_EOL;
exit(1);
- Here's a hook script that will always fail a given step
- In case anyone is unfamiliar with Unix exit codes
- Zero means success, Non-zero means an error
- So you can use different non-zero values for different errors
- That's not a very useful hook though
- except as maybe as an April Fool's joke
- or maybe → instead of burning
Submitting code
- … instead of burning down the building on your way out
Submitting code
foo(000) /$ touch test
foo(100) /$ git add test
foo(100) /$ git commit
None shall pass
foo(100) /$
- Here's what you'll see if you add that script to your repo
- in .git/hooks/pre-commit and make it executable
- It doesn't even bring up the editor for your commit message
- But you probably want it to do something useful
Submitting code
#!/usr/bin/env php
<?php
$directory = new RecursiveDirectoryIterator(
'.', FilesystemIterator::SKIP_DOTS
);
$iterator = new RecursiveIteratorIterator($directory);
$regexIterator = new RegexIterator(
$iterator, '/^.+\.php$/i',
RecursiveRegexIterator::GET_MATCH
);
- Let's scan all of the project's files
- and run lint on them.
- Here we set up the iterators we need
- These will scan through the entire project
- Ignoring dot directories
- And picking out PHP files
Submitting code
$success = true;
foreach ($regexIterator as $file) {
$output = exec('php -l ' . escapeshellarg($file[0]),
$unused, $return);
if ($return) {
echo $output, PHP_EOL;
$success = false;
}
}
if (!$success) {
exit(1);
}
- Here we run php lint on each of those files
- and display the output if the exit code is non-zero
- If any of the linted files had an error, we fail the script
- Don't let this simple example…
- I have some more complicated SVN hooks on my blog
- and do an entire talk on the awesomeness of git hooks
Submitting code
foo(200) /$ git commit
Errors parsing ./test.php
Errors parsing ./test/foo.php
foo(200) /$
- Here's what some example output of that hook will look like
- Two bad files, one down in a directory
After submitting
- Finally, code makes it to continuous build, which
- builds documentation
- runs unit tests
- calculates code coverage
- builds any reports needed
- sends emails
- updates dashboards
- breaking the build → should have
After submitting
- → should have consequences
- like you can't leave until it's fixed
- or you become the build master until someone else breaks it
- this especially is fun if you intentionally hobble the server
- another useful trick in an office is → to make
After submitting
- → to make it very visible
- This is a build orb that glows green or red
- giving a visual indication of the build's health
- Traffic lights
- If management comes running and interrupts, turn it off
Omni Adams
@omnicolor
http://omni-spot.blogspot.com
https://joind.in/10548
/


Unknown Home is a Incoming game made with (Unreal Engine)
Credits: Credits
Discord Server=
Click Here! https://discord.gg/mG6JHyEyj6


--- layout: post title: EMC Online Support Community Ask the Expert Launches date: '2012-01-24T12:14:50-08:00' tags: tumblr_url: http://alexhwilliams.tumblr.com/post/16419864470/emc-online-support-community-ask-the-expert-launches ---
http://bit.ly/z2dER8


DIY Pizza Kits
Make Friday fun again
What's a pizza kit?
Pizza Kits
Our traditional pizza kits include our signature whole wheat dough and fresh, homemade tomato sauce. Toppings include shredded mozarella cheese, fresh basil, and sliced pepperoni, mushrooms, and black olives. Each kit also comes with baking instructions and a recyclable baking tray. Green chile available upon request.
Cookie Pizza Kits
Our cookie pizza kits come with your choice of chocolate chip or sugar cookie dough, frosting, sprinkles, maraschino cherries, candies, and marshmallows. Your kit comes with baking instructions and a recyclable baking tray.
Yummy Words
Pizza Party kits have become my favorite special night-at-home activity. I love cooking, but often don't have the energy to prep and plan. These kits allow me to still get my hands messy without all the planning! — Maria L.
My family and I love getting Pizza Party kits for movie nights at home. It's such a fun way to get creative and talk about our week. I would recommend Pizza Party kits to anyone who is tired of takeout and wants to try something different. — Jeremy S.
I ordered a Pizza Party cookie kit for my wife's birthday and we had a blast decorating it together! We felt like amateur pastry chefs and laughed at our bad technique. — Patricia R.
Our Story
We started Pizza Party when all three of us, Jessica, Lizzy, and Amy, realized there weren't many ways to get creative and have fun without spending a lot of money going to the movies or buying drinks at a bar. Reminiscing on our childhood, we all agreed that time spent cooking with family and friends made for the best memories.
Our love for fresh, delicious ingredients led us to create Pizza Party, where we help you have more fun in the kitchen.


Install ProtParCon¶
ProtParCon runs only on Python 3.4 or above, if you are already familiar with installation of Python packages, you can easily install ProtParCon and its dependencies from PyPI with the following command on all major platforms (Windows, MacOS, or Linux):
pip install ProtParCon
It is strongly recommended that you install ProtParCon in a dedicated virtualenv, to avoid conflicting with your system packages.
Install ProtParCon to a virtual environment (recommended)¶
We recommend installing ProtParCon inside a virtual environment on all platforms.
Python packages can be installed either globally (a.k.a system wide), or in a user specified space. We do not recommend installing ProtParCon system wide.
Instead, we recommend that you install ProtParCon within a so-called “virtual
environment” (virtualenv). Virtualenvs allows users not to conflict with
already-installed Python system packages (which could break some of your
system tools and scripts), and still install packages normally with pip
(without sudo
and the likes).
To get started with virtual environments, see virtualenv installation instructions.
Things that are good to know¶
ProtParCon is written in pure Python and depends only on standard libraries and one third party library: Biopython.
Note
NumPy is required by biopython, however, if biopython can be successfully installed as a dependency package of ProtParCon, NumPy should not be a problem.
Although ProtParCon itself is platform independent, the built-in supports for many programs, e.g. MAFFT for sequence alignment, FastTree for phylogenetic tree inference, and Seq-Gen for sequence simulation may not be platform independent, it is strongly recommended that ProtParCon is used on MacOS or Linux platforms.
ProtParCon is designed for providing a easy and common interface for various programs related to phylogenetic analysis and analysis of molecular parallel and convergent amino acid replacements, therefore, users are recommended to use ProtParCon inside their scripts for efficiently calling external programs and building their pipeline by chaining several external programs.


--- layout: page title: About header-img: "img/about-bg.png" ---
Gabe is an aspiring data scientist who currently works as a consultant in the financial services industry in Washington D.C. He hopes to learn as much as possible in these next ten months. Through FlatIron's online Data Science bootcamp, Gabe will learn SQL, Python, and Machine Learning. In his free time, Gabe enjoys cooking and playing pool, along with watching/cheering for all Philly and PSU sports teams.


--- layout: post permalink: canadavet.html Tags: Array NameOfCoupon: CanadaVet Cash Back Summary: See our CanadaVet Coupon Code, CanadaVet Rebate, CanadaVet Promo Code, CanadaVet Discount, CanadaVet Coupon Cash Back Rebate here. MetaKeywords: CanadaVet Coupon Code, CanadaVet Rebate, CanadaVet Promo Code, CanadaVet Cash Back Rebate, CanadaVet Discount, CanadaVet Coupon Image: LinkURL: http://www.dpbolvw.net/click-4092138-10723468 affiliate_url_link: http://www.icouponblog.com/jane.php?id=4731 thesis_readmore: See the CanadaVet Coupon thesis_thumb: http://www.icouponblog.com/tn.php?merchantURL=canadavet.com Title: Save 5% - CanadaVet Coupon Code for canadavet.com. CanadaVet Rebate & Discount thesis_description: Our CanadaVet Discount Coupon Code for canadavet.com. We have the best CanadaVet Rebate anywhere. thesis_keywords: CanadaVet, CanadaVet Coupon Code, CanadaVet Discount, CanadaVet Rebate product_name: CanadaVet hop_url: http://www.icouponblog.com/hop.php?id=4731 ---
CanadaVet.com is an online premium medication company carries premium pet medicine for less. They claim that when you shop online with them, you save a lot of money because you pay much less with them compared to how much you would pay for the same products if you shopped in the U.S. They carry medicines for fleas and ticks, heart worms, arthritis and joint pain, shampoos, washes, training aid, wound care and much more for your cats, dogs, kittens, birds, fish, farm animals, reptiles, snakes etc.
Are the claims made by CanadaVet.com true or is it a scam just to make some quick money? It was difficult to find too many reviews online from customers who have used CanadaVet.com. The few reviews were mostly negative. One customer complained that he got an expired product and his pet fell sick from using it. Other customers said that the products did save them money but it took too long to arrive. Some complained that they never received their product and canceling it and getting a refund was time consuming. One customer said that he told his vet about the price that was offered on CanadaVet.com and his vet matched the price. Some recommended using other U.S based online companies like PetMed.
It is difficult to substantiate what people say online is definitely true, but usually if a majority has a negative or positive view it is generally thought to be true. CanadaVet.com may have cheaper product and if you are tempted to try them, order something small and see how you like it. You can get a coupon from icouponblog.com to save money.


Message Delivery Reliability
Akka helps you build reliable applications which make use of multiple processor cores in one machine (“scaling up”) or distributed across a computer network (“scaling out”). The key abstraction to make this work is that all interactions between your code units—actors—happen via message passing, which is why the precise semantics of how messages are passed between actors deserve their own chapter.
In order to give some context to the discussion below, consider an application which spans multiple network hosts. The basic mechanism for communication is the same whether sending to an actor on the local JVM or to a remote actor, but of course there will be observable differences in the latency of delivery (possibly also depending on the bandwidth of the network link and the message size) and the reliability. In case of a remote message send there are obviously more steps involved which means that more can go wrong. Another aspect is that local sending will just pass a reference to the message inside the same JVM, without any restrictions on the underlying object which is sent, whereas a remote transport will place a limit on the message size.
Writing your actors such that every interaction could possibly be remote is the safe, pessimistic bet. It means to only rely on those properties which are always guaranteed and which are discussed in detail below. This has of course some overhead in the actor’s implementation. If you are willing to sacrifice full location transparency—for example in case of a group of closely collaborating actors—you can place them always on the same JVM and enjoy stricter guarantees on message delivery. The details of this trade-off are discussed further below.
As a supplementary part we give a few pointers at how to build stronger reliability on top of the built-in ones. The chapter closes by discussing the role of the “Dead Letter Office”.
The General Rules
These are the rules for message sends (i.e. the tell or ! method, which also underlies the ask pattern):
- at-most-once delivery, i.e. no guaranteed delivery
- message ordering per sender–receiver pair
The first rule is typically found also in other actor implementations while the second is specific to Akka.
Discussion: What does “at-most-once” mean?
When it comes to describing the semantics of a delivery mechanism, there are three basic categories:
- at-most-once delivery means that for each message handed to the mechanism, that message is delivered zero or one times; in more casual terms it means that messages may be lost.
- at-least-once delivery means that for each message handed to the mechanism potentially multiple attempts are made at delivering it, such that at least one succeeds; again, in more casual terms this means that messages may be duplicated but not lost.
- exactly-once delivery means that for each message handed to the mechanism exactly one delivery is made to the recipient; the message can neither be lost nor duplicated.
The first one is the cheapest—highest performance, least implementation overhead—because it can be done in a fire-and-forget fashion without keeping state at the sending end or in the transport mechanism. The second one requires retries to counter transport losses, which means keeping state at the sending end and having an acknowledgement mechanism at the receiving end. The third is most expensive—and has consequently worst performance—because in addition to the second it requires state to be kept at the receiving end in order to filter out duplicate deliveries.
Discussion: Why No Guaranteed Delivery?
At the core of the problem lies the question what exactly this guarantee shall mean:
- The message is sent out on the network?
- The message is received by the other host?
- The message is put into the target actor's mailbox?
- The message is starting to be processed by the target actor?
- The message is processed successfully by the target actor?
Each one of these have different challenges and costs, and it is obvious that there are conditions under which any message passing library would be unable to comply; think for example about configurable mailbox types and how a bounded mailbox would interact with the third point, or even what it would mean to decide upon the “successfully” part of point five.
Along those same lines goes the reasoning in Nobody Needs Reliable Messaging. The only meaningful way for a sender to know whether an interaction was successful is by receiving a business-level acknowledgement message, which is not something Akka could make up on its own (neither are we writing a “do what I mean” framework nor would you want us to).
Akka embraces distributed computing and makes the fallibility of communication explicit through message passing, therefore it does not try to lie and emulate a leaky abstraction. This is a model that has been used with great success in Erlang and requires the users to design their applications around it. You can read more about this approach in the Erlang documentation (section 10.9 and 10.10), Akka follows it closely.
Another angle on this issue is that by providing only basic guarantees those use cases which do not need stronger reliability do not pay the cost of their implementation; it is always possible to add stronger reliability on top of basic ones, but it is not possible to retro-actively remove reliability in order to gain more performance.
Discussion: Message Ordering
The rule more specifically is that for a given pair of actors, messages sent directly from the first to the second will not be received out-of-order. The word directly emphasizes that this guarantee only applies when sending with the tell operator to the final destination, not when employing mediators or other message dissemination features (unless stated otherwise).
The guarantee is illustrated in the following:
Actor A1 sends messages M1, M2, M3 to A2
Actor A3 sends messages M4, M5, M6 to A2
- This means that:
- If M1 is delivered it must be delivered before M2 and M3
- If M2 is delivered it must be delivered before M3
- If M4 is delivered it must be delivered before M5 and M6
- If M5 is delivered it must be delivered before M6
- A2 can see messages from A1 interleaved with messages from A3
- Since there is no guaranteed delivery, any of the messages may be dropped, i.e. not arrive at A2
Note
It is important to note that Akka’s guarantee applies to the order in which messages are enqueued into the recipient’s mailbox. If the mailbox implementation does not respect FIFO order (e.g. a PriorityMailbox), then the order of processing by the actor can deviate from the enqueueing order.
Please note that this rule is not transitive:
Actor A sends message M1 to actor C
Actor A then sends message M2 to actor B
Actor B forwards message M2 to actor C
Actor C may receive M1 and M2 in any order
Causal transitive ordering would imply that M2 is never received before M1 at actor C (though any of them might be lost). This ordering can be violated due to different message delivery latencies when A, B and C reside on different network hosts, see more below.
Note
Actor creation is treated as a message sent from the parent to the child, with the same semantics as discussed above. Sending a message to an actor in a way which could be reordered with this initial creation message means that the message might not arrive because the actor does not exist yet. An example where the message might arrive too early would be to create a remote-deployed actor R1, send its reference to another remote actor R2 and have R2 send a message to R1. An example of well-defined ordering is a parent which creates an actor and immediately sends a message to it.
Communication of failure
Please note, that the ordering guarantees discussed above only hold for user messages between actors. Failure of a child of an actor is communicated by special system messages that are not ordered relative to ordinary user messages. In particular:
Child actor C sends message M to its parent P
Child actor fails with failure F
Parent actor P might receive the two events either in order M, F or F, M
The reason for this is that internal system messages has their own mailboxes therefore the ordering of enqueue calls of a user and system message cannot guarantee the ordering of their dequeue times.
The Rules for In-JVM (Local) Message Sends
Be careful what you do with this section!
Relying on the stronger reliability in this section is not recommended since it will bind your application to local-only deployment: an application may have to be designed differently (as opposed to just employing some message exchange patterns local to some actors) in order to be fit for running on a cluster of machines. Our credo is “design once, deploy any way you wish”, and to achieve this you should only rely on The General Rules.
Reliability of Local Message Sends
The Akka test suite relies on not losing messages in the local context (and for non-error condition tests also for remote deployment), meaning that we actually do apply the best effort to keep our tests stable. A local tell operation can however fail for the same reasons as a normal method call can on the JVM:
- StackOverflowError
- OutOfMemoryError
- other VirtualMachineError
In addition, local sends can fail in Akka-specific ways:
- if the mailbox does not accept the message (e.g. full BoundedMailbox)
- if the receiving actor fails while processing the message or is already terminated
While the first is clearly a matter of configuration the second deserves some thought: the sender of a message does not get feedback if there was an exception while processing, that notification goes to the supervisor instead. This is in general not distinguishable from a lost message for an outside observer.
Ordering of Local Message Sends
Assuming strict FIFO mailboxes the aforementioned caveat of non-transitivity of the message ordering guarantee is eliminated under certain conditions. As you will note, these are quite subtle as it stands, and it is even possible that future performance optimizations will invalidate this whole paragraph. The possibly non-exhaustive list of counter-indications is:
- Before receiving the first reply from a top-level actor, there is a lock which protects an internal interim queue, and this lock is not fair; the implication is that enqueue requests from different senders which arrive during the actor’s construction (figuratively, the details are more involved) may be reordered depending on low-level thread scheduling. Since completely fair locks do not exist on the JVM this is unfixable.
- The same mechanism is used during the construction of a Router, more precisely the routed ActorRef, hence the same problem exists for actors deployed with Routers.
- As mentioned above, the problem occurs anywhere a lock is involved during enqueueing, which may also apply to custom mailboxes.
This list has been compiled carefully, but other problematic scenarios may have escaped our analysis.
How does Local Ordering relate to Network Ordering
The rule that for a given pair of actors, messages sent directly from the first to the second will not be received out-of-order holds for messages sent over the network with the TCP based Akka remote transport protocol.
As explained in the previous section local message sends obey transitive causal ordering under certain conditions. This ordering can be violated due to different message delivery latencies. For example:
Actor A on node-1 sends message M1 to actor C on node-3
Actor A on node-1 then sends message M2 to actor B on node-2
Actor B on node-2 forwards message M2 to actor C on node-3
Actor C may receive M1 and M2 in any order
It might take longer time for M1 to "travel" to node-3 than it takes for M2 to "travel" to node-3 via node-2.
Higher-level abstractions
Based on a small and consistent tool set in Akka's core, Akka also provides powerful, higher-level abstractions on top it.
Messaging Patterns
As discussed above a straight-forward answer to the requirement of reliable delivery is an explicit ACK–RETRY protocol. In its simplest form this requires
- a way to identify individual messages to correlate message with acknowledgement
- a retry mechanism which will resend messages if not acknowledged in time
- a way for the receiver to detect and discard duplicates
The third becomes necessary by virtue of the acknowledgements not being guaranteed to arrive either. An ACK-RETRY protocol with business-level acknowledgements is supported by At-Least-Once Delivery of the Akka Persistence module. Duplicates can be detected by tracking the identifiers of messages sent via At-Least-Once Delivery. Another way of implementing the third part would be to make processing the messages idempotent on the level of the business logic.
Another example of implementing all three requirements is shown at Reliable Proxy Pattern (which is now superseded by At-Least-Once Delivery).
Event Sourcing
Event sourcing (and sharding) is what makes large websites scale to billions of users, and the idea is quite simple: when a component (think actor) processes a command it will generate a list of events representing the effect of the command. These events are stored in addition to being applied to the component’s state. The nice thing about this scheme is that events only ever are appended to the storage, nothing is ever mutated; this enables perfect replication and scaling of consumers of this event stream (i.e. other components may consume the event stream as a means to replicate the component’s state on a different continent or to react to changes). If the component’s state is lost—due to a machine failure or by being pushed out of a cache—it can easily be reconstructed by replaying the event stream (usually employing snapshots to speed up the process). Event sourcing is supported by Akka Persistence.
Mailbox with Explicit Acknowledgement
By implementing a custom mailbox type it is possible to retry message processing at the receiving actor’s end in order to handle temporary failures. This pattern is mostly useful in the local communication context where delivery guarantees are otherwise sufficient to fulfill the application’s requirements.
Please note that the caveats for The Rules for In-JVM (Local) Message Sends do apply.
An example implementation of this pattern is shown at Mailbox with Explicit Acknowledgement.
Dead Letters
Messages which cannot be delivered (and for which this can be ascertained) will be delivered to a synthetic actor called /deadLetters. This delivery happens on a best-effort basis; it may fail even within the local JVM (e.g. during actor termination). Messages sent via unreliable network transports will be lost without turning up as dead letters.
What Should I Use Dead Letters For?
The main use of this facility is for debugging, especially if an actor send does not arrive consistently (where usually inspecting the dead letters will tell you that the sender or recipient was set wrong somewhere along the way). In order to be useful for this purpose it is good practice to avoid sending to deadLetters where possible, i.e. run your application with a suitable dead letter logger (see more below) from time to time and clean up the log output. This exercise—like all else—requires judicious application of common sense: it may well be that avoiding to send to a terminated actor complicates the sender’s code more than is gained in debug output clarity.
The dead letter service follows the same rules with respect to delivery guarantees as all other message sends, hence it cannot be used to implement guaranteed delivery.
How do I Receive Dead Letters?
An actor can subscribe to class akka.actor.DeadLetter on the event stream, see Event Stream (Java) or Event Stream (Scala) for how to do that. The subscribed actor will then receive all dead letters published in the (local) system from that point onwards. Dead letters are not propagated over the network, if you want to collect them in one place you will have to subscribe one actor per network node and forward them manually. Also consider that dead letters are generated at that node which can determine that a send operation is failed, which for a remote send can be the local system (if no network connection can be established) or the remote one (if the actor you are sending to does not exist at that point in time).
Dead Letters Which are (Usually) not Worrisome
Every time an actor does not terminate by its own decision, there is a chance that some messages which it sends to itself are lost. There is one which happens quite easily in complex shutdown scenarios that is usually benign: seeing a akka.dispatch.Terminate message dropped means that two termination requests were given, but of course only one can succeed. In the same vein, you might see akka.actor.Terminated messages from children while stopping a hierarchy of actors turning up in dead letters if the parent is still watching the child when the parent terminates.
Contents


Submitted by bernamorillo on Wed, 24/09/2014 - 14:18
Hi everyone.
I am developing an Android app based on Tasker. I am getting the feed values by Json Api key and I have one difficult question.
How can I assign a number Feed ID number (not the name or de interval). I think i can't do it on the website but, Can i do it changing emoncms files into my host?
I was seeking this question along the forum and i didn't find it. Sorry in advance if it was resolved before.
Feed id change
Submitted by bernamorillo on Wed, 24/09/2014 - 14:18Hi everyone.
I am developing an Android app based on Tasker. I am getting the feed values by Json Api key and I have one difficult question.
How can I assign a number Feed ID number (not the name or de interval). I think i can't do it on the website but, Can i do it changing emoncms files into my host?
I was seeking this question along the forum and i didn't find it. Sorry in advance if it was resolved before.
Thanks :-)


Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
C
D
F
G
I
K
N
S
V
F
Filter
<
T
> - Interface in
com.genzis.filtro
Interface which all filters must implement.
filter(List<Filter<T>>)
- Method in class com.genzis.filtro.
FilterList
Filter the list keys based on list of filters.
filter(Filter<T>)
- Method in class com.genzis.filtro.
FilterList
Filter the list based on the filter.
filter(List<Filter<T>>)
- Method in class com.genzis.filtro.
FilterSet
Filter the set keys based on list of filters.
filter(Filter<T>)
- Method in class com.genzis.filtro.
FilterSet
Filter the set based on the filter.
FilterList
<
T
> - Class in
com.genzis.filtro
Extends ArrayList to provide functionality to filter values based on a set of user defined filters.
FilterList()
- Constructor for class com.genzis.filtro.
FilterList
Construct an empty FilterList instance.
FilterList(List<T>)
- Constructor for class com.genzis.filtro.
FilterList
Constructs a FilterList instance with values from the list specified.
filterList(List<T>, List<Filter<T>>, boolean)
- Static method in class com.genzis.filtro.
Filters
Method to filter list based on the filters provided.
FilterMap
<
K
,
V
> - Class in
com.genzis.filtro
Extends HashMap to provide functionality to filter map based on a set of user defined filters.
FilterMap()
- Constructor for class com.genzis.filtro.
FilterMap
Construct an empty FilterMap instance.
FilterMap(Map<K, V>)
- Constructor for class com.genzis.filtro.
FilterMap
Constructs a FilterMap instance with values from the map specified.
filterMapKeys(Map<K, V>, List<Filter<K>>, boolean)
- Static method in class com.genzis.filtro.
Filters
Method to filter map using keys based on the filters provided.
filterMapValues(Map<K, V>, List<Filter<V>>, boolean)
- Static method in class com.genzis.filtro.
Filters
Method to filter map using values based on the filters provided.
Filters
- Class in
com.genzis.filtro
Class which provides static methods to filter any map, list or set instance you already have.
filterSet(Set<T>, List<Filter<T>>, boolean)
- Static method in class com.genzis.filtro.
Filters
Method to filter set based on the filters provided.
FilterSet
<
T
> - Class in
com.genzis.filtro
Extends HashSet to provide functionality to filter values based on a set of user defined filters.
FilterSet()
- Constructor for class com.genzis.filtro.
FilterSet
Construct an empty FilterSet instance.
FilterSet(Set<T>)
- Constructor for class com.genzis.filtro.
FilterSet
Constructs a FilterSet instance with values from the set specified.
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
C
D
F
G
I
K
N
S
V


This Valentine’s Day Give Your Heart Some Love
Although popular love songs might tell you otherwise, a broken heart can’t kill you – but heart disease can. Heart disease is the leading cause of death in the United States.
You might not be able to avoid Cupid’s arrow, but you can take steps to lower your risks and prevent heart disease. Start by scheduling an appointment with your doctor to discuss whether you’re at risk for heart disease.
Medicare will cover a cardiovascular screening at no cost to you every 5 years. The screening includes tests to help detect heart disease early and measures cholesterol, blood fat (lipids), and triglyceride levels.
If you and your doctor discover that you’re at risk for a heart attack or stroke, there are steps you can take to help prevent these conditions. You might be able to make lifestyle changes (like changing your diet and increasing your activity level or exercising more often) to lower your cholesterol and stay healthy.
 The national Million Hearts campaign has pledged to help prevent 1 million heart attacks and strokes by 2017. You can join them, and get information and resources you need to learn how to take care of your heart and live a healthy life.
February is American Heart Month, and a healthy heart is the best Valentine’s Day gift you could ever give yourself, or the people who love you.


Love Tweets vs. Hate Tweets
This section categorizes tweets as "Love" or "Hate" depending on the words used in the tweets grabbed.
Words that categorize a tweet as loving: 'Love', 'Thank', 'Happy', 'Bless'
Words that categorize a tweet as hating: 'F*ck', 'Sh*t', 'B*tch', 'Idiot'
Hover over the different sections of the chart to see the specific amount of tweets that comprise that categorization.


Default: /change
The endpoint that is used to verify and consume password reset tokens (change a user's password with the token).
Default: /me
The URI that is used to fetch the account object of the currently logged in user. This endpoint MUST:
401 Unauthorized
if the user has no session.Default: /logout
The URL that the logout action will make a GET request to, this endpoint MUST delete the access token cookie, XSRF token cookie, and any other cookies that relate to the user session.
Default: /verify
The endpoint that is used for verifying an account that requires email verification.
This endpoint MUST accept a POST request with the following format and use Stormpath to verify the token:
{
sptoken: '<token from email sent to user>'
}
Default: none
A prefix, e.g. "base URL" to add to all endpoints that are used by this SDK. Use this if your backend API is running on a different port or domain than your Angular application. Omit the trailing forward slash.
NOTE: This may trigger CORS behaviour in the browser, and your server will need to respond to requests accordingly. If you are using our Express SDK see allowedOrigins
Example:
ENDPOINT_PREFIX = 'http://api.mydomain.com'
Default: /forgot
The endpoint that is used by to create password reset tokens.
Default: /oauth/token
The endpoint that is used to authenticate and refresh using OAuth tokens. This endpoint MUST support password and refresh_token grant authentication flows.
Default: /oauth/revoke
The endpoint that is used to revoke OAuth tokens.
Default: 'stormpath:token'
The name under which tokens are stored in the token storage mechanism. Might not be relevant if the underlying storage mechanism is not key-value based.
Default: /register
The endpoint that is used to POST new users. This endpoint MUST accept a stormpath account object and use Stormpath to create the new user.
Generated using TypeDoc
Default:
/login
The URI that the login form will post to. The endpoint MUST accept data in the following format:
{ username: '', password: '' }


The <vaadin-password-field> element has all the same features as the <vaadin-text-field> element plus the additional features listed on this page.
<vaadin-password-field>
<vaadin-text-field>
You can easily hide the reveal button of an individual password field.


Welcome to the Hypergrid API Tutorial.
Hover over (or click on) each of the following features:
// I am a code snippet


DUBAI - AL BARARI - AL BARARI VILLAS
Elite & Luxurious, 'The Reserve' Villa at 'Al Barari'
This beautifully maintained Type 8 villa nesteled in one the quletest, peaceful streets of Saheel is undoubtedly one of the most sought after residences in Arabian Ranches. This villa is currently tenanted by a family who take care of the villa as if it is their own and will be continunig to do so for the next three years making this an ideal investment whit a guaranteed return. Whit a picture perfect garden, sparkling swimming pool and luxurious outside entertaining area this family home will continue to gain capital growth well into the future.
As you enter the front wooden door you are immediately presented with a bright and bold dining room with an abundance of natural light streaming in from all angles. It creates a sense of warmth for family meals shared together and having gatherings with friends.
as you step down into the living room you have a tremendous view of the enchanting garden and swimming pool. Both areas are spacious and have terraces leading off the doors to the side of the dining room and the front of the living room.
The kitchen is a marvellous design, completley open and inviting with granite bench tops, extensive storage and cupboard space. The kitchen which is the heart of the home overlooks the family room and has views of the vibrant garden ensuring meal preparation times are enjoyable, easy and can involve all member of the family.
- Refrence
TRA01
- Type
Villa
- City
Dubai
- Community
Al Barari
- Subcommunity
Al Barari Villas
- Property
N/A
- Sqft
50,000 sqft
- Bedrooms
7+
- Bathrooms
7+
- Price
70,000,000 AED
- Price/sqft
AED 1,400/sqft
- Last Update
05/08/2013