1. Parallel Streams have high overhead than sequential streams, and also we will have synchronization problems, so in what situations we need to use parallel streams?
2. There are a lot of companies who develop and sell their distributed system services(like AWS). Does Sapient has in-house technology solutions and research units for similar tech problems?
3. Is it always good to go for Declarative style of programming over Imperative style of programming? Please explain.
4. What is the difference between the Liskov Substitution principle and interface segregation principle? Should we need to satisfy all SOLID principles in our application? If yes, what are the main principles to look after?
5. What is more important for a project, sticking to Design pattern or performance or its a tradeoff?


1 Department of Oceanography, Dalhousie University, Halifax, Nova Scotia, Canada
2 Department of Biodiversity and Conservation Biology, University of the Western Cape, Bellville, South Africa
3 CSIRO Oceans and Atmosphere, Hobart, Tasmania, 7000, Australia
The Hobday et al. (2016) and Hobday et al. (2018) definitions are used here for marine heatwaves (MHWs) and their categories. These events are increasing in duration and intensity around the globe (Oliver et al. 2018). Many coastal, oceanic, and polar regions with ecosystems/species that are vulnerable to these events (Smale et al. 2019) do not have optimal sea water temperature time series available for the detection of MHWs.
An optimal time series is defined here as meeting these two primary requirements: 1) 30 years long, 2) no missing data. Any time series shorter than 30 years long or missing any data is therefore sub-optimal. The purpose of this study was to determine how confident we may be in our results when using sub-optimal data.
heatwaveR
package (Schlegel and Smit 2018) were re-sampled 100 times and made increasingly sub-optimal by:
The MHW detection algorithm provides robust results that are insensitive to sub-optimal data challenges.
Missing data has a greater effect on MHWs than time series length. Linear interpolation is an effective fix for missing data up to 40%.
Time series length has a less predictable effect than missing data.
The shifting up or down of the mean climatology is the primary driver of change in MHWs.
Optimal data should still be used when possible.
Hobday, Alistair J, Lisa V Alexander, Sarah E Perkins, Dan A Smale, Sandra C Straub, Eric CJ Oliver, Jessica A Benthuysen, et al. 2016. “A Hierarchical Approach to Defining Marine Heatwaves.” Progress in Oceanography 141. Elsevier: 227–38.
Hobday, Alistair J, Eric CJ Oliver, Alex Sen Gupta, Jessica A Benthuysen, Michael T Burrows, Markus G Donat, Neil J Holbrook, et al. 2018. “Categorizing and Naming Marine Heatwaves.” Oceanography 31 (2). JSTOR: 162–73.
Oliver, Eric CJ, Markus G Donat, Michael T Burrows, Pippa J Moore, Dan A Smale, Lisa V Alexander, Jessica A Benthuysen, et al. 2018. “Longer and More Frequent Marine Heatwaves over the Past Century.” Nature Communications 9 (1). Nature Publishing Group: 1324.
Schlegel, Robert W, and Albertus J Smit. 2018. “HeatwaveR: A Central Algorithm for the Detection of Heatwaves and Cold-Spells.” The Journal of Open Source Software 3 (27): 821.
Smale, Dan A, Thomas Wernberg, Eric CJ Oliver, Mads Thomsen, Ben P Harvey, Sandra C Straub, Michael T Burrows, et al. 2019. “Marine Heatwaves Threaten Global Biodiversity and the Provision of Ecosystem Services.” Nature Climate Change 9. Nature Publishing Group: 306–12.
Marine heatwaves detected in time series as short as 10 years and missing 20% data are comparable to those detected in complete 30 year time series.


JustGrids.css
- Browser Support
- Column Sizes
- Offset Sizes
- Simple Responsive
- Display/hide columns on responsive
- Add/remove offset on responsive
- Subgrids
- Custom Sizes
- Best practice
- Interact with the grid
Browser support
JustGrids.css is supported by all CSS2 compatible browsers.
Responsive does not work in IE 8, because it does not support mediaqueries.
Microsoft dropped support for IE8, IE9 and IE10, so it is not planned to make it work in this browser.
Anyway, the grid system DOES work in old browsers.
Column sizes (non responsive example)
size-1-12
size-2-12
size-3-12
size-4-12
size-5-12
size-6-12
size-7-12
size-8-12
size-9-12
size-10-12
size-11-12
size-12-12
size-1
size-0-12 and size-0 exist as well
Offset sizes (non responsive example)
size-1-12 offset-11-12
size-2-12 offset-10-12
size-3-12 offset-9-12
size-4-12 offset-8-12
size-5-12 offset-7-12
size-6-12 offset-6-12
size-7-12 offset-5-12
size-8-12 offset-4-12
size-9-12 offset-3-12
size-10-12 offset-2-12
size-11-12 offset-1-12
size-12-12 offset-0-12
size-1 offset-0
Simple responsive
size-3-12 md-size-6-12 sm-size-1
size-3-12 md-size-6-12 sm-size-1
size-3-12 md-size-6-12 sm-size-1
size-3-12 md-size-6-12 sm-size-1
Display or hide columns on responsive
1 size-4-12 md-size-0 sm-size-1
2 size-4-12 md-size-6-12 sm-size-1
3 size-4-12 md-size-6-12 sm-size-0
Add/remove offset on responsive
size-7-12 offset-5-12 sm-size-1 sm-offset-0
Subgrids
row inside a 6-12 column
size-6-12
size-6-12
Custom sizes. In this example, 5 based columns
my-size = 20%
my-size = 20%
my-size = 20%
my-size = 20%
my-size = 20%
Best practice: add a div inside the column in order to apply styles
Lorem Ipsum
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Numquam, sed? Modi doloribus, impedit perferendis necessitatibus quae quo voluptates suscipit, eum vero, iste repellendus tempore qui. Officiis illum dolorem et nemo!
Lorem Ipsum
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magni quibusdam qui velit dicta ipsum nobis sunt sequi quo atque deleniti, a est! Facere pariatur temporibus, delectus nisi, hic dolore omnis!
Lorem Ipsum
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe ea temporibus, pariatur impedit facilis aliquam veniam, dolorem. Tempore rem quas, tempora, cupiditate doloribus voluptatem, eos cumque natus voluptas soluta non.


{{
"Your changes for Domain Criticity are successfully saved!"
}}{{
"Please select at least one domain." | translate
}}{{
"Please select an option for criticity." | translate
}}{{
"Please select values for domain and criticity." | translate
}}{{
"Your changes for Domain Criticity could not be saved. Please try again later."
| translate
}}
{{ "All Domains" | translate }}
{{ domain.name }}
{{ "Criticity" | translate }}
{{
criticity.domain_critic_name | translate
}}
add_circle
{{ criticity.domain_critic_name | translate }}
{{ domain }}remove_circle
{{ "Maintenance Time Criticity" | translate }}
{{
"Your changes for Maintenance Time Criticity are successfully saved!"
}}{{
"Your changes for Maintenance Time Criticity could not be saved. Please try again later."
| translate
}}
{{
"Given M maintenance's end date for a software product, please provide values for start month for the following levels of time criticity:"
| translate
}}


Hey there! My name is Jacob Amsbury. I am a fun person to get along with, however I do enjoy electronics more than people. I myself enjoy playing videogames, collecting Magic: The gathering cards, listening to music, and meeting new faces. Growing up I was shy and bullied, thus I turned to machines, since then I have been learning how to use a computer, and even started coding. As for work, I have a lot of experience in customer service, having worked in fastfood and sales. I was an assistant manager at the restaraunts I worked at, and the same went for the sales posiion I have worked.  I am gunning for a job at a videogame developer like for example, Blizzard or Microsoft.


Royal Mail goes to court to block pre-Christmas strike
LONDON, Nov 8 — Royal Mail today made a High Court bid to block a postal strike by workers due next month ahead of Christmas and around the time of Britain’s general election.
Members of the Communication Workers Union recently voted to strike amid a dispute with management over pay and other employment conditions.
In a statement, Royal Mail pointed to “potential irregularities in the ballot”.
It added: “The company is making this High Court application because the integrity and legal soundness of any electoral process is vital,” Royal Mail said in relation to the strike ballot.
“This is particularly the case in relation to potential industrial action around the general election on 12 December 2019.
“Royal Mail is also making this application because of the damage industrial action would do to the company and its customers in the run-up to Christmas,” the group added.
It expects the hearing to take place next week. — AFP


Work
Work Cases
Product Designs
Services
Strategy Innovation & Systems Consultant
Design Sprint & Workshop Facilitator
IoT Product & Service Designer
About
About Claudiu
Projects & Achievements
Download Resume
👉
👉🏼
Get in Touch
-->


{% extends "nav_bar.html" %} {% block title%} Annotation {% endblock %} {% block content %}
The next step in this project is developing "gold standard" NLP datasets which can be used to train more sophisticated models. The project is currently being done through DataTurks in order to tag 9 different entity types specific to the healthcare field.
The labels and format of the dataset are in the following form:
The demand for such data is high as models trained on non-medical data are useless when trying to identify important medical entities. "Gold Standard" datasets such as this will allow the utility of these models to reach the field of healthcare and make a real impact for professionals and patients.
The annotaton effort is ongoing and relies heavily on public contributions.
If you would like to help contribute check out the project on Dataturks and request to be a collaborator.


"x" "1" "MARQUES,RCP BATISTUZZO DE MEDEIROS,SR DIAS,CDS BARBOSA-FILHO,JM ANDAGNEZ-LIMA,LF, EVALUATION OF THE MUTAGENIC POTENTIAL OF YANGAMBIN AND OF THEHYDROALCOHOLIC EXTRACT OF OCOTEA DUCKEI BY THE AMES TEST, __ MUTAT. RES. 536(1-2):117-120, 2003"


Lanl Routes¶
Routes to LANL from 186 sites on the Internet.
This uses Graphviz for layout so you need PyGraphviz or pydot.
Out:
graph has 1281 nodes with 1296 edges
(1, 'connected components')
# Author: Aric Hagberg<EMAIL_ADDRESS># Copyright (C) 2004-2018
# Aric Hagberg<EMAIL_ADDRESS># Dan Schult<EMAIL_ADDRESS># Pieter Swart<EMAIL_ADDRESS># All rights reserved.
# BSD license.
import matplotlib.pyplot as plt
import networkx as nx
try:
import pygraphviz
from networkx.drawing.nx_agraph import graphviz_layout
except ImportError:
try:
import pydot
from networkx.drawing.nx_pydot import graphviz_layout
except ImportError:
raise ImportError("This example needs Graphviz and either "
"PyGraphviz or pydot")
def lanl_graph():
""" Return the lanl internet view graph from lanl.edges
"""
try:
fh = open('lanl_routes.edgelist', 'r')
except IOError:
print("lanl.edges not found")
raise
G = nx.Graph()
time = {}
time[0] = 0 # assign 0 to center node
for line in fh.readlines():
(head, tail, rtt) = line.split()
G.add_edge(int(head), int(tail))
time[int(head)] = float(rtt)
# get largest component and assign ping times to G0time dictionary
G0 = sorted(nx.connected_component_subgraphs(G), key=len, reverse=True)[0]
G0.rtt = {}
for n in G0:
G0.rtt[n] = time[n]
return G0
if __name__ == '__main__':
G = lanl_graph()
print("graph has %d nodes with %d edges"
% (nx.number_of_nodes(G), nx.number_of_edges(G)))
print(nx.number_connected_components(G), "connected components")
plt.figure(figsize=(8, 8))
# use graphviz to find radial layout
pos = graphviz_layout(G, prog="twopi", root=0)
# draw nodes, coloring by rtt ping time
nx.draw(G, pos,
node_color=[G.rtt[v] for v in G],
with_labels=False,
alpha=0.5,
node_size=15)
# adjust the plot limits
xmax = 1.02 * max(xx for xx, yy in pos.values())
ymax = 1.02 * max(yy for xx, yy in pos.values())
plt.xlim(0, xmax)
plt.ylim(0, ymax)
plt.show()
Total running time of the script: ( 0 minutes 10.840 seconds)


Chick Lit Generator
Story Title
Story plot
Write a New One!
Permalink:
Permanent link
Share
Amazon.co.uk Widgets


|
cds
2.3.1
|
Cached free list. More...
#include <cds/intrusive/free_list_cached.h>
Public Types | |
| typedef FreeList | free_list_type |
| Undelying free-list type. | |
| typedef free_list_type::node | node |
| Free-list node. | |
Public Member Functions | |
| CachedFreeList () | |
| Creates empty free list. | |
| ~CachedFreeList () | |
| Destroys the free list. Free-list must be empty. More... | |
| void | put (node *pNode) |
Puts pNode to the free list. | |
| node * | get () |
Gets a node from the free list. If the list is empty, returns nullptr . | |
| bool | empty () const |
| Checks whether the free list is empty. | |
| template<typename Disposer > | |
| void | clear (Disposer disp) |
| Clears the free list (not atomic) More... | |
Static Public Attributes | |
| static size_t const | c_cache_size = CacheSize |
| Cache size. | |
| static unsigned const | c_padding = Padding |
| Cache element padding. | |
Cached free list.
The class that is a wrapper over other FreeList
contains a small cache of free elements. Before placing a new item into underlying FreeList
the cached free-list tryes to put that item into the cache if its corresponding slot is empty. The slot is calculated by current thread id:
When getting the free-list checks the corresponding cache slot. If it is not empty, its contents is returned.
In some cases such simple algorithm significantly reduces FreeList
contention.
Template parameters:
FreeList
- a free-list implementation: FreeList
, TaggedFreeList
CacheSize
- size of cache, a small power-of-two number, default is 16Padding
- padding of cache elements for solving false sharing, default is cds::c_nCacheLineSize
|
inline |
Destroys the free list. Free-list must be empty.
clear()
with an appropriate disposer.
|
inline |
Clears the free list (not atomic)
For each element disp
disposer is called to free memory. The Disposer
interface:
This method must be explicitly called before the free list destructor.


class: center, middle # Prerender.io for Episerver --- ## Background Visitors expect rich web experiences that can only be delivered with sophisticated JavaScript. But search engine spiders aren't awesome at crawling JS. - JavaScript slows them down. - They don't always follow XHRs. - Razor/SSR isn't always feasible (or a silver bullet anyways). Hundreds of thousands of pages could take days or even weeks to crawl.
And it could be all wrong. **There is uncertainty when launching a new site.** --- ## Background Prerender (https://prerender.io) is a paid web service that addresses these challenges with little friction: 1. It accepts a request to a web page via ?query, 2. Renders the page using Google Chrome in headless mode, 3. Caches the result for future requests, and 4. Returns the static HTML and CSS outputs. And comes recommended by Google:
https://developers.google.com/search/docs/guides/dynamic-rendering Pages can be seeded using the Prerender web portal by hand or Sitemap.xml. --- ## Without Prerender ``` SPIDER WEBSITE 01 ······ GET -------> ·········· 02 ·········· <------- 200 ······ 03 ·········· ·········· 04 (thinking) ·········· 05 ·········· ·········· 06 ···GET XHR -------> ·········· 07 ·········· <------- 200······· 08 ·········· ·········· 09 (thinking) ·········· Done ```
We're dependent on how well the spider handles JavaScript and whether it follows AJAX requests. Also, it does too much waiting and thinking...  --- ## With Prerender (after caching) ``` SPIDER WEBSITE PRERENDER 01 ······ GET -------> ·········· ·········· 02 ·········· ······ GET -------> ·········· 03 ·········· ·········· <------- 200 ······ 04 ·········· <------- 200 ······ ·········· Done ```
Prerender immediately sends the cached page back to the website, which forwards it to the spider. --- ## Middleware Your website must route incoming requests to Prerender!
Official and community [middleware](https://prerender.io/documentation/install-middleware) options exist for speedy integration. There is an unofficial ASP.NET version:
[https://github.com/greengerong/Prerender_asp_mvc](https://github.com/greengerong/Prerender_asp_mvc)
Episerver requires some additional bootstrapping... --- class: center, middle [https://github.com/drewnull/episerver-prerender-io](https://github.com/drewnull/episerver-prerender-io)


|
IoTivity-Lite
|
Data Structures | |
| struct | oc_network_interface_cb |
| Structure to manage network interface handler list. More... | |
Typedefs | |
| typedef void(* | interface_event_handler_t) (oc_interface_event_t event) |
| Callback function to pass the network interface up/down infomation to App. More... | |
| typedef struct oc_message_s | oc_message_t |
| typedef struct oc_network_interface_cb | oc_network_interface_cb_t |
| Structure to manage network interface handler list. More... | |
Enumerations | |
| enum | oc_interface_event_t { NETWORK_INTERFACE_DOWN, NETWORK_INTERFACE_UP } |
| network events More... | |
Functions | |
| void | oc_network_event (oc_message_t *message) |
| receive network event More... | |
| void | oc_network_interface_event (oc_interface_event_t event) |
| initiate network event More... | |
| OC_PROCESS_NAME (oc_network_events) | |
| process network events More... | |
| typedef void(* interface_event_handler_t) (oc_interface_event_t event) |
Callback function to pass the network interface up/down infomation to App.
| event | enum values in oc_interface_event_t. |
| typedef struct oc_network_interface_cb oc_network_interface_cb_t |
Structure to manage network interface handler list.
| enum oc_interface_event_t |
| void oc_network_event | ( | oc_message_t * | message | ) |
receive network event
| message | the network message |
| void oc_network_interface_event | ( | oc_interface_event_t | event | ) |
initiate network event
| event | the event |
| OC_PROCESS_NAME | ( | oc_network_events | ) |
process network events


The Wardrobe
Staff Pages
Employee
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Create
Employee Timetable
Employee
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Create


--- layout: page.legal title: Compliance description: Doppler Labs Compliance handle: page-legal ---
A complete list of certifications, warranty, and safety information can be found in our user manual.
Here One Declaration of Conformity for the EU can be found in the below link.


Hit, pulled and bottles flung: Interfaith delegation 'attacked' at Cape Town church while trying to mediate for refugees
by Jenni EvansA delegation of interfaith leaders and an SA Human Rights Commission (SAHRC) commissioner were allegedly attacked inside the Cape Town Central Methodist Church on Friday as they tried to mediate an impasse with refugees and asylum seekers looking to leave the country.
"I got a knock on the head, and sprained my finger," the SAHRC's Chris Nissen told News24.
"They threw bottles and objects at us."
He said the church's Reverend Alan Storey and the Anglican Archbishop of Cape Town Bishop Thabo Makgoba were also assaulted and injured.
Nissen said peace monitor Rev Annie Kirke was also in the melee and was "shattered" by the turn of events.
Court order
This comes as the North Gauteng High Court in Pretoria ordered refugees who were holding a sit-in in Pretoria near the UNHCR's offices to vacate their makeshift campsite.
Two neighbourhood associations applied for the court order which directed the refugees and asylum seekers to leave the campsite within three days.
Instead, they scaled the walls of the UNHCR in Pretoria and set up camp there.
The group in Cape Town began a parallel sit-in at Waldorf Arcade in St George's mall from October 8, but were forcibly removed by the SA Police Service and Law Enforcement earlier this month.
READ | Police start removing refugees from UNHCR building in Pretoria
Stun grenades and water cannons were used and over 100 people including children were taken into custody but were later released with no further communication on the matter by the police.
The police had been carrying out an eviction order on behalf of the building's managers.
The group walked up to the Central Methodist Church and have been living on the pews and floor since October 30.
However, matters started becoming fraught when they chased the relief organisation Gift of the Givers away because one of their directors said their demand to be relocated to a third country, and not their countries of origin, was unrealistic.
No feedback
They formed their own security at the entrances, limiting who may enter, and searched bags.
Nissen said that in the meantime, a group of intermediaries has been trying to find a solution.
He said that the UNHCR has said it does not take groups of people, but individuals and the mediators had been shuttling back and forth to help find a solution.
On Monday, the leaders at the church were expected to give feedback on available options, but failed to do so.
READ | SA can't force refugees on other countries, says Home Affairs dept
Another meeting was set for Friday, but during the meeting, one of the leaders allegedly turned on a pastor from Delft, whose name is not immediately available.
One of the refugee leaders allegedly "went for the pastor and as Alan tried to intervene they rushed us. They pulled us, they hit us," Nissen said.
"They hit the archbishop on the forehead and kept us for half an hour. We were held hostage."
He said a path was eventually made for the religious leaders to leave.
Nissen said the police were not involved, and he hoped that tempers would calm soon so that they could carry on with discussions.
The UNHCR has said previously that it could not take the hundreds of people to other countries.
According to its website, it recently started the first of a series of emergency transit measures to move refugees from Libya, to Rwanda, who agreed to host the groups of much smaller numbers.
On Thursday, Deputy Home Affairs Minister Njabulo Nzuza said on Thursday that South Africa could not force people on other countries.


- getActivity() - Method in class models.domain.ActivitySession
-
returns the activity this session is part of
- getActivity() - Method in class models.domain.Membership
-
returns the activity involved in this membership
- getBirthDate() - Method in class models.domain.Person
-
returns the birth date of the person
- getComment() - Method in class models.domain.Report
-
returns the comment of the report
- getCurrentEntityManager() - Static method in class models.persistence.JPAUtil
-
- getDate() - Method in class models.domain.ActivitySession
-
returns the date this session takes place on
- getDateObject() - Static method in class models.util.DateLib
-
Creates and returns a new Date object which refers to the system time at the time of creation
Eliminates the extra milliseconds after the last second
- getDateObject(int, int, int) - Static method in class models.util.DateLib
-
Creates and returns a new Date object with the specified values for day, month & year
Eliminates the extra milliseconds after the last second
Hour defaults to 12 (24-hour based day)
Minute defaults to 0
Second defaults to 0
- getDateObject(int, int, int, int, int, int) - Static method in class models.util.DateLib
-
Creates and returns a new Date object with the specified values for day, month, year, hour, minute & second
Eliminates the extra milliseconds after the last second
- getDescription() - Method in class models.domain.Activity
-
returns the description of the activity
- getFirstName() - Method in class models.domain.Person
-
returns the first name of the person
- getFullName() - Method in class models.domain.Person
-
returns the full name of the person
- getGrade() - Method in class models.domain.Report
-
returns the grade of the report
- getId() - Method in class models.domain.Activity
-
returns the id of the activity
- getId() - Method in class models.domain.ActivitySession
-
returns the id of the session
- getId() - Method in class models.domain.Membership
-
returns the id of the membership
- getId() - Method in class models.domain.SessionRegister
-
returns the id of the register
- getId() - Method in class models.domain.User
-
returns the id of the user
- getLastName() - Method in class models.domain.Person
-
returns the last name of the person
- getMemberships() - Method in class models.domain.Activity
-
returns the set of memberships linked to the activity
- getMemberships() - Method in class models.domain.User
-
returns the set of memberships for this user
- getName() - Method in class models.domain.Activity
-
returns the name of the activity
- getNotes() - Method in class models.domain.SessionRegister
-
returns the notes entered about the user for this session
- getPassword() - Method in class models.domain.User
-
returns the password of the user
- getPerson() - Method in class models.domain.User
-
returns the embedded Person object for this user
- getPublicationDate() - Method in class models.domain.Report
-
returns the publication date of the report
- getPublished() - Method in class models.domain.Report
-
returns the publication state of the report
- getRegisters() - Method in class models.domain.ActivitySession
-
returns the set of registers linked to this session
- getRegisters() - Method in class models.domain.User
-
returns the set of registers for this user
- getRegistrationDate() - Method in class models.domain.Membership
-
returns the registration date the user signed up for this activity
- getReport() - Method in class models.domain.Membership
-
returns the report for the user-activity pair defined in the membership
- getSession() - Method in class models.domain.SessionRegister
-
returns the session for which the user is registered
- getSessions() - Method in class models.domain.Activity
-
returns the set of activity sessions
- getStatus() - Method in class models.domain.ActivitySession
-
returns the status code for this session
- getStatus() - Method in class models.domain.SessionRegister
-
returns the user status entered for this session
- getStudent() - Method in class models.domain.SessionRegister
-
returns the user who is registered
- getUser() - Method in class models.domain.Membership
-
returns the user involved in this membership
- getUsername() - Method in class models.domain.User
-
returns the username of the user
- getUserType() - Method in class models.domain.User
-
returns the user type of the user
- getVenue() - Method in class models.domain.Activity
-
returns the venue where the activity sessions take place
- getWeekday(Date) - Static method in class models.util.DateLib
-
Returns an integer representing the day of the week for the specified date
Sunday = 1, Monday = 2, Tuesday = 3, Wednesday = 4, Thursday = 5, Friday = 6, Saturday = 7


| 1 | /* =========================================================== | |
| 2 | * JFreeChart : a free chart library for the Java(tm) platform | |
| 3 | * =========================================================== | |
| 4 | * | |
| 5 | * (C) Copyright 2000-2009, by Object Refinery Limited and Contributors. | |
| 6 | * | |
| 7 | * Project Info: http://www.jfree.org/jfreechart/index.html | |
| 8 | * | |
| 9 | * This library is free software; you can redistribute it and/or modify it | |
| 10 | * under the terms of the GNU Lesser General Public License as published by | |
| 11 | * the Free Software Foundation; either version 2.1 of the License, or | |
| 12 | * (at your option) any later version. | |
| 13 | * | |
| 14 | * This library is distributed in the hope that it will be useful, but | |
| 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
| 16 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public | |
| 17 | * License for more details. | |
| 18 | * | |
| 19 | * You should have received a copy of the GNU Lesser General Public | |
| 20 | * License along with this library; if not, write to the Free Software | |
| 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, | |
| 22 | * USA. | |
| 23 | * | |
| 24 | * [Java is a trademark or registered trademark of Sun Microsystems, Inc. | |
| 25 | * in the United States and other countries.] | |
| 26 | * | |
| 27 | * ---------------------- | |
| 28 | * XYImageAnnotation.java | |
| 29 | * ---------------------- | |
| 30 | * (C) Copyright 2003-2009, by Object Refinery Limited and Contributors. | |
| 31 | * | |
| 32 | * Original Author: David Gilbert (for Object Refinery Limited); | |
| 33 | * Contributor(s): Mike Harris; | |
| 34 | * Peter Kolb (patch 2809117); | |
| 35 | * | |
| 36 | * Changes: | |
| 37 | * -------- | |
| 38 | * 01-Dec-2003 : Version 1 (DG); | |
| 39 | * 21-Jan-2004 : Update for renamed method in ValueAxis (DG); | |
| 40 | * 18-May-2004 : Fixed bug with plot orientation (DG); | |
| 41 | * 29-Sep-2004 : Now extends AbstractXYAnnotation, with modified draw() | |
| 42 | * method signature and updated equals() method (DG); | |
| 43 | * ------------- JFREECHART 1.0.x --------------------------------------------- | |
| 44 | * 01-Dec-2006 : Added anchor attribute (see patch 1584860 from | |
| 45 | * Mike Harris) (DG); | |
| 46 | * 20-Jun-2007 : Removed JCommon dependencies (DG); | |
| 47 | * | |
| 48 | */ | |
| 49 | ||
| 50 | package org.jfree.chart.annotations; | |
| 51 | ||
| 52 | import java.awt.Graphics2D; | |
| 53 | import java.awt.Image; | |
| 54 | import java.awt.geom.Point2D; | |
| 55 | import java.awt.geom.Rectangle2D; | |
| 56 | import java.io.IOException; | |
| 57 | import java.io.ObjectInputStream; | |
| 58 | import java.io.ObjectOutputStream; | |
| 59 | import java.io.Serializable; | |
| 60 | ||
| 61 | import org.jfree.chart.axis.AxisLocation; | |
| 62 | import org.jfree.chart.axis.ValueAxis; | |
| 63 | import org.jfree.chart.plot.Plot; | |
| 64 | import org.jfree.chart.plot.PlotOrientation; | |
| 65 | import org.jfree.chart.plot.PlotRenderingInfo; | |
| 66 | import org.jfree.chart.plot.XYPlot; | |
| 67 | import org.jfree.chart.util.ObjectUtilities; | |
| 68 | import org.jfree.chart.util.PublicCloneable; | |
| 69 | import org.jfree.chart.util.RectangleAnchor; | |
| 70 | import org.jfree.chart.util.RectangleEdge; | |
| 71 | ||
| 72 | /** | |
| 73 | * An annotation that allows an image to be placed at some location on | |
| 74 | * an {@link XYPlot}. | |
| 75 | * | |
| 76 | * TODO: implement serialization properly (image is not serializable). | |
| 77 | */ | |
| 78 | public class XYImageAnnotation extends AbstractXYAnnotation | |
| 79 | implements Cloneable, PublicCloneable, Serializable { | |
| 80 | ||
| 81 | /** For serialization. */ | |
| 82 | private static final long serialVersionUID = -4364694501921559958L; | |
| 83 | ||
| 84 | /** The x-coordinate (in data space). */ | |
| 85 | private double x; | |
| 86 | ||
| 87 | /** The y-coordinate (in data space). */ | |
| 88 | private double y; | |
| 89 | ||
| 90 | /** The image. */ | |
| 91 | private transient Image image; | |
| 92 | ||
| 93 | /** | |
| 94 | * The image anchor point. | |
| 95 | * | |
| 96 | * @since 1.0.4 | |
| 97 | */ | |
| 98 | private RectangleAnchor anchor; | |
| 99 | ||
| 100 | /** | |
| 101 | * Creates a new annotation to be displayed at the specified (x, y) | |
| 102 | * location. | |
| 103 | * | |
| 104 | * @param x the x-coordinate (in data space). | |
| 105 | * @param y the y-coordinate (in data space). | |
| 106 | * @param image the image (null not permitted). | |
| 107 | */ | |
| 108 | public XYImageAnnotation(double x, double y, Image image) { | |
| 109 | this(x, y, image, RectangleAnchor.CENTER); | |
| 110 | } | |
| 111 | ||
| 112 | /** | |
| 113 | * Creates a new annotation to be displayed at the specified (x, y) | |
| 114 | * location. | |
| 115 | * | |
| 116 | * @param x the x-coordinate (in data space). | |
| 117 | * @param y the y-coordinate (in data space). | |
| 118 | * @param image the image (null not permitted). | |
| 119 | * @param anchor the image anchor (null not permitted). | |
| 120 | * | |
| 121 | * @since 1.0.4 | |
| 122 | */ | |
| 123 | public XYImageAnnotation(double x, double y, Image image, | |
| 124 | RectangleAnchor anchor) { | |
| 125 | super(); | |
| 126 |
1
1. |
if (image == null) { |
| 127 | throw new IllegalArgumentException("Null 'image' argument."); | |
| 128 | } | |
| 129 |
1
1. |
if (anchor == null) { |
| 130 | throw new IllegalArgumentException("Null 'anchor' argument."); | |
| 131 | } | |
| 132 | this.x = x; | |
| 133 | this.y = y; | |
| 134 | this.image = image; | |
| 135 | this.anchor = anchor; | |
| 136 | } | |
| 137 | ||
| 138 | /** | |
| 139 | * Returns the x-coordinate (in data space) for the annotation. | |
| 140 | * | |
| 141 | * @return The x-coordinate. | |
| 142 | * | |
| 143 | * @since 1.0.4 | |
| 144 | */ | |
| 145 | public double getX() { | |
| 146 |
1
1. getX : replaced return of double value with -(x + 1) for org/jfree/chart/annotations/XYImageAnnotation::getX → NO_COVERAGE |
return this.x; |
| 147 | } | |
| 148 | ||
| 149 | /** | |
| 150 | * Returns the y-coordinate (in data space) for the annotation. | |
| 151 | * | |
| 152 | * @return The y-coordinate. | |
| 153 | * | |
| 154 | * @since 1.0.4 | |
| 155 | */ | |
| 156 | public double getY() { | |
| 157 |
1
1. getY : replaced return of double value with -(x + 1) for org/jfree/chart/annotations/XYImageAnnotation::getY → NO_COVERAGE |
return this.y; |
| 158 | } | |
| 159 | ||
| 160 | /** | |
| 161 | * Returns the image for the annotation. | |
| 162 | * | |
| 163 | * @return The image. | |
| 164 | * | |
| 165 | * @since 1.0.4 | |
| 166 | */ | |
| 167 | public Image getImage() { | |
| 168 |
1
1. getImage : mutated return of Object value for org/jfree/chart/annotations/XYImageAnnotation::getImage to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return this.image; |
| 169 | } | |
| 170 | ||
| 171 | /** | |
| 172 | * Returns the image anchor for the annotation. | |
| 173 | * | |
| 174 | * @return The image anchor. | |
| 175 | * | |
| 176 | * @since 1.0.4 | |
| 177 | */ | |
| 178 | public RectangleAnchor getImageAnchor() { | |
| 179 |
1
1. getImageAnchor : mutated return of Object value for org/jfree/chart/annotations/XYImageAnnotation::getImageAnchor to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return this.anchor; |
| 180 | } | |
| 181 | ||
| 182 | /** | |
| 183 | * Draws the annotation. This method is called by the drawing code in the | |
| 184 | * {@link XYPlot} class, you don't normally need to call this method | |
| 185 | * directly. | |
| 186 | * | |
| 187 | * @param g2 the graphics device. | |
| 188 | * @param plot the plot. | |
| 189 | * @param dataArea the data area. | |
| 190 | * @param domainAxis the domain axis. | |
| 191 | * @param rangeAxis the range axis. | |
| 192 | * @param rendererIndex the renderer index. | |
| 193 | * @param info if supplied, this info object will be populated with | |
| 194 | * entity information. | |
| 195 | */ | |
| 196 | public void draw(Graphics2D g2, XYPlot plot, Rectangle2D dataArea, | |
| 197 | ValueAxis domainAxis, ValueAxis rangeAxis, | |
| 198 | int rendererIndex, | |
| 199 | PlotRenderingInfo info) { | |
| 200 | ||
| 201 | PlotOrientation orientation = plot.getOrientation(); | |
| 202 | AxisLocation domainAxisLocation = plot.getDomainAxisLocation(); | |
| 203 | AxisLocation rangeAxisLocation = plot.getRangeAxisLocation(); | |
| 204 | RectangleEdge domainEdge | |
| 205 | = Plot.resolveDomainAxisLocation(domainAxisLocation, orientation); | |
| 206 | RectangleEdge rangeEdge | |
| 207 | = Plot.resolveRangeAxisLocation(rangeAxisLocation, orientation); | |
| 208 | float j2DX | |
| 209 | = (float) domainAxis.valueToJava2D(this.x, dataArea, domainEdge); | |
| 210 | float j2DY | |
| 211 | = (float) rangeAxis.valueToJava2D(this.y, dataArea, rangeEdge); | |
| 212 | float xx = 0.0f; | |
| 213 | float yy = 0.0f; | |
| 214 |
1
1. draw : negated conditional → NO_COVERAGE |
if (orientation == PlotOrientation.HORIZONTAL) { |
| 215 | xx = j2DY; | |
| 216 | yy = j2DX; | |
| 217 | } | |
| 218 |
1
1. draw : negated conditional → NO_COVERAGE |
else if (orientation == PlotOrientation.VERTICAL) { |
| 219 | xx = j2DX; | |
| 220 | yy = j2DY; | |
| 221 | } | |
| 222 | int w = this.image.getWidth(null); | |
| 223 | int h = this.image.getHeight(null); | |
| 224 | ||
| 225 | Rectangle2D imageRect = new Rectangle2D.Double(0, 0, w, h); | |
| 226 | Point2D anchorPoint = RectangleAnchor.coordinates(imageRect, | |
| 227 | this.anchor); | |
| 228 |
1
1. draw : Replaced float subtraction with addition → NO_COVERAGE |
xx = xx - (float) anchorPoint.getX(); |
| 229 |
1
1. draw : Replaced float subtraction with addition → NO_COVERAGE |
yy = yy - (float) anchorPoint.getY(); |
| 230 | g2.drawImage(this.image, (int) xx, (int) yy, null); | |
| 231 | ||
| 232 | String toolTip = getToolTipText(); | |
| 233 | String url = getURL(); | |
| 234 |
2
1. draw : negated conditional → NO_COVERAGE 2. draw : negated conditional → NO_COVERAGE |
if (toolTip != null || url != null) { |
| 235 |
1
1. draw : removed call to org/jfree/chart/annotations/XYImageAnnotation::addEntity → NO_COVERAGE |
addEntity(info, new Rectangle2D.Float(xx, yy, w, h), rendererIndex, |
| 236 | toolTip, url); | |
| 237 | } | |
| 238 | } | |
| 239 | ||
| 240 | /** | |
| 241 | * Tests this object for equality with an arbitrary object. | |
| 242 | * | |
| 243 | * @param obj the object (null permitted). | |
| 244 | * | |
| 245 | * @return A boolean. | |
| 246 | */ | |
| 247 | public boolean equals(Object obj) { | |
| 248 |
1
1. equals : negated conditional → KILLED |
if (obj == this) { |
| 249 |
1
1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
| 250 | } | |
| 251 | // now try to reject equality... | |
| 252 |
1
1. equals : negated conditional → KILLED |
if (!super.equals(obj)) { |
| 253 |
1
1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
| 254 | } | |
| 255 |
1
1. equals : negated conditional → KILLED |
if (!(obj instanceof XYImageAnnotation)) { |
| 256 |
1
1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
| 257 | } | |
| 258 | XYImageAnnotation that = (XYImageAnnotation) obj; | |
| 259 |
1
1. equals : negated conditional → KILLED |
if (this.x != that.x) { |
| 260 |
1
1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
| 261 | } | |
| 262 |
1
1. equals : negated conditional → KILLED |
if (this.y != that.y) { |
| 263 |
1
1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
| 264 | } | |
| 265 |
1
1. equals : negated conditional → KILLED |
if (!ObjectUtilities.equal(this.image, that.image)) { |
| 266 |
1
1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
| 267 | } | |
| 268 |
1
1. equals : negated conditional → KILLED |
if (!this.anchor.equals(that.anchor)) { |
| 269 |
1
1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED |
return false; |
| 270 | } | |
| 271 | // seems to be the same... | |
| 272 |
1
1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED |
return true; |
| 273 | } | |
| 274 | ||
| 275 | /** | |
| 276 | * Returns a hash code for this object. | |
| 277 | * | |
| 278 | * @return A hash code. | |
| 279 | */ | |
| 280 | public int hashCode() { | |
| 281 |
1
1. hashCode : replaced return of integer sized value with (x == 0 ? 1 : 0) → SURVIVED |
return this.image.hashCode(); |
| 282 | } | |
| 283 | ||
| 284 | /** | |
| 285 | * Returns a clone of the annotation. | |
| 286 | * | |
| 287 | * @return A clone. | |
| 288 | * | |
| 289 | * @throws CloneNotSupportedException if the annotation can't be cloned. | |
| 290 | */ | |
| 291 | public Object clone() throws CloneNotSupportedException { | |
| 292 |
1
1. clone : mutated return of Object value for org/jfree/chart/annotations/XYImageAnnotation::clone to ( if (x != null) null else throw new RuntimeException ) → KILLED |
return super.clone(); |
| 293 | } | |
| 294 | ||
| 295 | /** | |
| 296 | * Provides serialization support. | |
| 297 | * | |
| 298 | * @param stream the output stream. | |
| 299 | * | |
| 300 | * @throws IOException if there is an I/O error. | |
| 301 | */ | |
| 302 | private void writeObject(ObjectOutputStream stream) throws IOException { | |
| 303 |
1
1. writeObject : removed call to java/io/ObjectOutputStream::defaultWriteObject → NO_COVERAGE |
stream.defaultWriteObject(); |
| 304 | //SerialUtilities.writeImage(this.image, stream); | |
| 305 | } | |
| 306 | ||
| 307 | /** | |
| 308 | * Provides serialization support. | |
| 309 | * | |
| 310 | * @param stream the input stream. | |
| 311 | * | |
| 312 | * @throws IOException if there is an I/O error. | |
| 313 | * @throws ClassNotFoundException if there is a classpath problem. | |
| 314 | */ | |
| 315 | private void readObject(ObjectInputStream stream) | |
| 316 | throws IOException, ClassNotFoundException { | |
| 317 |
1
1. readObject : removed call to java/io/ObjectInputStream::defaultReadObject → NO_COVERAGE |
stream.defaultReadObject(); |
| 318 | //this.image = SerialUtilities.readImage(stream); | |
| 319 | } | |
| 320 | ||
| 321 | ||
| 322 | } | |
Mutations | ||
| 126 |
1.1 |
|
| 129 |
1.1 |
|
| 146 |
1.1 |
|
| 157 |
1.1 |
|
| 168 |
1.1 |
|
| 179 |
1.1 |
|
| 214 |
1.1 |
|
| 218 |
1.1 |
|
| 228 |
1.1 |
|
| 229 |
1.1 |
|
| 234 |
1.1 2.2 |
|
| 235 |
1.1 |
|
| 248 |
1.1 |
|
| 249 |
1.1 |
|
| 252 |
1.1 |
|
| 253 |
1.1 |
|
| 255 |
1.1 |
|
| 256 |
1.1 |
|
| 259 |
1.1 |
|
| 260 |
1.1 |
|
| 262 |
1.1 |
|
| 263 |
1.1 |
|
| 265 |
1.1 |
|
| 266 |
1.1 |
|
| 268 |
1.1 |
|
| 269 |
1.1 |
|
| 272 |
1.1 |
|
| 281 |
1.1 |
|
| 292 |
1.1 |
|
| 303 |
1.1 |
|
| 317 |
1.1 |


Support Vector Machine
Support vector machine is a kind of advanced classification method. Basic SVM is used as a binary classification model. Its main propose is finding a linear expression of features and saperating datas into two classification as far as possible. That is, SVM tries to find a hyperplane that maximize the margin between the boundary of two data groups. The vector from the hyperplane to the data at the boundary is so-called support vector.
Relationship to Logistic Regression
SVM is a linear classification model. We need to find a hyperplane $H$ such that
We define $\hat y$ as the classification if $\omega^T x + b<0$, $y$ is classified to -1 and if $\omega^T x + b>0$, $y$ is classified to 1. This kind of classification is inherited from 0-1 classification from Logistic Regression. -1-1 is used here for the convenience of calculaton.
We will compare the loss functions of LR and SVM in Hinge Loss
A Simple Example for Linear Classification.
Again, we recall that the propose of SVM is to find a hyperplane $H$ so that could maxified the margin, which is so-called Marximum Margin Classifier. In the picture below, we showed in detail what is SVM
As we can see in the picture, two group of items are located at different sides of the line $\omega^Tx+b = 0$, which is our hyperplane $H$ in this example. The dotted lines are paralleled to the hyperplane $H$, and they are the classification boundary. We call the data record located on the boundary as support vector and therefore the support vector satisfied the condition $y(\omega^Tx+b) = 1$. Our job in SVM is maxified the Gap, which is $\dfrac{2}{\omega^T\omega}$. As we can see, the larger the gap is, the further two classifications will be.
Cost Function & Coefficient Estimation
Although the example above is a very simple explanation to SVM, but the propose is generalized. We have to maxified the gap to get the classification.
Therefore, our goal is
In order to get the maximum of $\dfrac{1}{\mid\mid\omega\mid\mid}$, we calculate the minimum of $\dfrac{1}{2}\mid\mid\omega\mid\mid^2$. Then our goal is
(SVM中为了方便计算进行了一系列变换，从之前认定分类边界的值为1，到现在的最大化问题转变为最小化问题，都是为了之后进行计算时方便。至于为什么转成了二次最小化问题，还是为了求导方便。)
Then the problem has tranfered to a optimizing problem under certain constraints. To handle the constraints, we introduce Lagrange Multiplier to transfer the problem to its dual problem. The Lagrange function is defined as,
Then our cost function is
Obviously, if one constraint is not statisfied, then $J(\omega)$ will be infinite. Now, we transfer our problem into its dual problem.
Original Problem,
Dual Problem,
$ p^{ * } $ and $d^{ * } $ is the optimization solution to original problem and dual problem, and we have relation $p^{ * } \ge \mathcal{L}(\omega,b,\alpha) \ge d^{ * }$.
We call $\Delta = p^{ * } - d^{ * } $ as duality gap, when $\Delta$ is 0, we call the problems have strong duality. If and only if at least one possible solution exsits, that is, we have strong duality, then the KKT condition must be satisfied.
KKT Condition
If we have a constaint optimization problem defined as below,
We define Lagrange function as,
The optimized solution $x^* $ should satisfy the following conditions,
Come back to our lagrange function, we do a partial derivative to both $\omega$ and $b$, then we get
Apply them to larange function, we get
Therefore, we have the final optimization problem only having $\alpha$ as parameter.
Once we get $\alpha$, we can easily calculate $\omega$ and $b$ by following expression
Kernel Function & Non-Linearity
Obviously, our SVM now can only handle the linear classification problem. When the data is not linear classified, we introduce kernel function $\kappa(·,·)$. kernel function map the low-dimentional data into a higher dimention, therefore, if map properly, the data will be linear claasifiable.
Take a simple example, say, we have a function $\phi(x)$ in $\mathbb{R}^5$. Data on $\mathbb{R}^2$ are distributed as two concentric circles, the features are $X_1$ and $X_2$. Then $\varphi(X_1, X_2) = \sum\limits_{i=1}^5\alpha_iZ_i + \alpha_0 = 0$ where $Z_1 = X_1,\ Z_2 = X_2,\ Z_3 = X_1^2,\ Z_4 = X_2^2,$ and $Z_5 = X_1X_2$. Hence, the data becomes linear classifiable. Therefore, we only need to calculate $(\phi(x)^{(i)})^T\phi(x)^{(j)}$ instead of $(x^{(i)})^Tx^{(j)}$.
However, there is an obvious problem – the calculation. The map function will no doubt lead to a dimensional disaster. Therefore, we need kernel function.
Take a simple example. we assume $x_1 = (\eta_1, \eta_2)$ and $x_2 = {\xi_1,\xi_2}$. $\phi(·)$ is a map from $\mathbb{R}^2$ to $\mathbb{R}^5$ as introduced above.
$<\phi(x_1),\phi(x_2)> = \eta_1\xi_1 + \eta_1^2\xi_1^2 + \eta_2\xi_2 + \eta_2^2\xi_2^2 + \eta_1\eta_2\xi_1\xi_2$
we note that $\kappa(x_1,x_2) = (< x_1,x_2 >+1)^2 = 2\eta_1\xi_1 + \eta_1^2\xi_1^2 + 2\eta_2\xi_2 + \eta_2^2\xi_2^2 + 2\eta_1\eta_2\xi_1\xi_2 + 1$
Campare to the map $\varphi$, all we need to do is adjust some parameters and add a extra dimension 1.
This means that we could do the calculation in the low dimension and get the same result of the calculation in hign dimension with a proper kernel function! The kernel avoids the computation in high dimension and simplifies the calculation of inner product in it. There is another “coincidence” that all our calculation of $x$ is SVM is inner product!
Gaussian kernel $\kappa(x_1,x_2) = exp(-\dfrac{\mid\mid x_1-x_2\mid\mid^2}{2\sigma^2})$ is a frequently used kernel function, it map to a infinite dimension space. A large $\sigma$ will punish the high dimension features hard and make it actually a low dimensional subspace. A small $\sigma$ will map every dataset to a linear classifiable space, certainly, it will bring a severe overfitting problem.
Polynomial kernel $\kappa(x_1,x_2) = (< x_1,x_2 >+R)^d$ is another known kernel functionof degree $d$, it map to a $\binom{m+d}{m}$ dimensional space.
When a support vector classifier is combined with a non-linear kernel like the above two, the resulting classifier is known as a support vector machine.
Potential Extensions
Slack Variables to Handle Outliers
If the data records are not strictly seperated, say, some naughty data point located too far away from its group and too close to its opponents’ group, the origin SVM will suffer a bad result. Therefore, slack variables are introduced.
We still do a SVM but only ignore the naughty ones, that is we introduce $\xi_i$ as slack variables into the constraints. that is
$\xi_i$ allows data point $x^{(i)}$ to be away from the boundary, but we still need them to be as small as possible, therefore, in origin goal, we need add one more term,
where $C$ is used to balance the weight between find the hyperplane and allow the error.
The lagrance function changes to
Use same analyze strategy as before, we get
Because $C-\alpha_i-r_i = 0$ and $r_i\ge 0$ (as the request of being Lagrange multiplier) Then we get the dual problem
Multi-Classification
Though many proposals for extending SVM to the $K$-class case have been made, the two most popular are the one-versus-one and one-verssus-all. Brief introduction will shows as below
One-Versus-One Classification
When there are $k$ classes, this method constructs $\binom{k}{2}$ SVMs, each of which compares a pair of classes, which is every time there are only two classes are choosed to compare. We classify a test observation using each of these SVMs and the final classification is performed by assigning the test observation to the class to which it was most frequently assigned in these pairwise classifications.
One-Versus-All Classification
When there are $k$ classes, this method constructs $k$ SVMs, each of which compares one against others, which is when one class is classified, anther $k-1$ classes are considered as a whole. We classify a test observation using each of these SVMs and the final classification is performed by finding out the cost-least-classification.
Hinge Loss
The cost function in SVM is called Hinge Loss, represented as
where $t_i$ is the right label of the data point $x^{(i)}$. This loss function is closely related to logarithm loss used in logistic regression, which is represented as
Hinge loss and logarithm loss are similar but when the data is classified as a right point, the former ignores its cost but the latter still counts as a very small value, the curve showed the cost when the right class is $y=1$
The comparasion showed as below,
SMO Algorithm
To be continue…


Brief introduction
You can call me Masa. I am a mature and professional individual,
living in Washington DC.
I studied linguistics and counseling, then was an industrial engineering sales in Japan.
Why I code?
In the beginning of year 2014, I met this IT pro at a gym in the northern Virginia.
He introduce me to coding.
I am getting more and more into creating web and Android apps ever since.
Currently, I am preparing to be a professional back-end web developer
specializing in Ruby on Rails.
Hobbies
Other than coding, I enjoy playing the guitar and rock climbing.
Although I am usually busy learning new coding techniques, I am trying
to go to gym at least once a week. Also, playing cool heavy metal riffs
refreshes my mind.
HTML , CSS and JavaScript
I learned the basics of coding, using Code Academy. Along with that,
I acquired basic knowledge of the overall computer science following
all the coursework of Harvard's CS50, where I learned not only
web development, but also best coding practice and other programming languages
including C, PHP and SQL.
Ruby and Rails
When finding myself wanting to be a professional web application developer,
I came across Michael Hartl's Ruby on Rails tutorial, where I learned
practical techniques on Ruby on Rails that enabled me to create professional
grade web applications. Also, Michael introduced me to the Unix commandline and Git.
Java and Android
I created a few Android apps for myself. Such as quiz apps,
moving volume estimator, etc. It is awesome to hear from
some users about how much they like my apps.
Certifications / Coursework
♦ Assoc. degree of Computer Science, University of District of Columbia (Jan 2015 - current)
♦
Web Application Architectures (Coursera)
♦
6.00.1: Introduction to Computer Science and Programming Using Python (MITX)
♦
COMP102: Introduction to Computing with Java (HKUSTX)
♦ Code academy
♦ Ruby on Rails Tutorial by Michael Hartl
♦ CS50: Introduction to Computer Science (HarvardX)
♦ CS169.1x: Engineering Software as a Service (UC BerkeleyX)
♦ Programming Mobile Applications for Android Handheld Systems (Coursera)
♦ Etc...


Unmodified Output
Your browser does not support the video tag.
Modified Output
Your browser does not support the video tag.


--- layout: default title: About Us hero-image: url(../assets/images/about-us/work-in-progress.jpg) hero-message: About Us ---
Pioneers in Engineering (PiE) promotes science, technology, engineering, and mathematics (STEM) education through an exciting, mentorship-based process. PiE is a student outreach organization based in UC Berkeley and was founded in 2008 by members of Tau Beta Pi led by Xiao-Yu Fu. We strongly believe that no student should be denied a quality STEM education experience.
In the fall, PiE hosts a reboot of our competition from the previous spring. Students have the chance to hone and refine their ideas from the earlier competition, using the robots that they've already built. The competition also includes design challenges that emphasize various aspects of robotics. We also participate in a number of outreach events, such as the Bay Area Science Festival, events with the Lawrence Hall of Science, and Mini Maker Faire.
Every Spring high school teams from all over the East Bay and San Francisco face off in a challenging, exciting, and educational robotics experience crafted by PiE. The competition runs from late February to April and is hosted entirely by UC Berkeley students: we build our own robotics kit for every team, we mentor the teams, we design and build the competition field, and we fundraise more than $30,000 each year to make this all possible.


See how to control the maximum resolution for a markers layer, causing it to not be displayed beyond a certain point.


{% extends "frame.html" %} {% block content %}
Basically, we can do whatever we want with your data.
You put your data into zScore at your own risk. In general, we’re not unreasonable people, and will try to respect the privacy settings you set in zScore. On the other hand, we also screw up sometimes, so we make no guarantees; it’s possible that we’ll accidentally let everyone on the internet see everything you’ve ever entered. Similarly, most days we won’t use our backend access to get data that we couldn’t otherwise, but some days we might be feeling evil, and we definitely reserve the right to abuse our power. Nobody’s asked us if they can buy user sleep data yet, so we don’t know what we will do if someone does. We will also compute and publish aggregate stats if they’re interesting. In general we’ll try not to expose individual data in those, but again, we might screw up.
Regarding the NSA and PRISM: whether or not we can, we won't confirm or deny whether we're currently providing user data to any government agencies.  We're working on a mobile app with push notifications to any monsters that may be hiding under your bed.
Regarding passwords and security: our passwords are encrypted using PBKDF2_SHA256, which is plenty secure, but the site currently doesn't support HTTPS, so anyone on your Wi-Fi network can probably read them if they know what they're doing. If you use your zScore password on any other sites, expect us to hack your accounts soon.
Of course, we will always reserve the right to have a trollish privacy policy, and to change it without notice.
If you’re someone who is unhappy with any the above, or whose sleep data is classified information or a trade secret, don’t use the site! The code is open-source, so you can even make your own version with a “better” privacy policy.
{% endblock %}


Home
About me
Contact
Things I can do:
Computer-Assisted Translation tools
Proofreading
HTML
CSS
Javascript


Funding details
Make sure you have your grant agreement to hand before you start.
Grant agreement number
This might also be referred to as your project ID, agreement number or proposal ID.
Participant identification code (PIC)
The 9-digit number unique to your organisation that you can find in the Horizon 2020
participant portal
(opens in a new window).
Type of action
The funding scheme you applied for.
Select...
(COFUND-EJP) COFUND (European Joint Programme)
(CSA) Coordination and support action
(ERA-NET-Cofund) ERA-NET Cofund
(ERC-ADG) Advanced Grant
(ERC-COG) Consolidator Grant
(ERC-POC) Proof of Concept Grant
(ERC-STG) Starting Grant
(ERC-SyG) ERC Synergy Grant
(FP7) Framework Programme 7
(FPA) Framework Partnership Agreement
(FTI) Fast track to Innovation
(IA) Innovation action
(IPr) Inducement Prize
(KICS) Kics
(MSCA Cofund) MSCA Cofund
(MSCA) - MSCA-IF (Individual Fellowships)
(MSCA-ITM) MSCA Innovative Training Networks
(MSCA-RISE) RISE (Research and Innovation Staff exchange)
(PCP) Pre-Commercial Procurement
(PPI) Public Procurement of Innovative solutions
(RIA) Research and Innovation action
(RPr) Recognition Prize
(SME-1) SME Instrument phase 1
(SME-2) SME Instrument phase 2
Project name
The name of your project as used in your proposal.
Project start date
Day
Month
Year
Project end date
Day
Month
Year
EU funding contribution for above project (EUR)
The total amount in euros granted to your organisation at the point of the award for your project.
€
Is your organisation the consortium lead on this project?
Yes
No
Continue
Funding details
Grant agreement number
123456
Participant identification code (PIC)
12345689
Type of action
(COFUND-EJP) COFUND (European Joint Programme)
Project name
My EU project name
Project start date
August 2017
Project end date
March 2019
EU funding contribution for above project (EUR)
€100,000
Is your organisation the project co-ordinator on this project?
Yes
Edit funding details
Save and return


Finance Minister complacent about NZ’s growth
by New Zealand National PartyPaul Goldsmith - Finance
22 November 2019
Rather than congratulating himself on New Zealand’s modest economic growth, Grant Robertson should be honest about why we’re missing out on the opportunity of a lifetime, National’s Finance spokesperson Paul Goldsmith says.
“New Zealand should be doing very well right now. Our export prices are at historically high levels, interest rates are low and the Government inherited big surpluses.
“What Grant Robertson fails to mention is that about three quarters of New Zealand’s economic growth is driven by population growth, not productivity improvements.
“Our growth per person, which is the true measure of the progress we are making as a country, is currently only 0.5 per cent. That is well behind most of the OECD.
“What’s worse, business investment has fallen from 5 per cent a year under National to just 0.6 per cent under Labour, job growth has fallen from around 10,000 new jobs a month under National to just 3,000 under Labour and there are 22,000 more people on the dole.
“National has higher aspirations for New Zealand. We want to see Kiwis better off. Muddling along at 0.5 per cent growth per person is nothing to crow about.
“Business is in a funk in this country, primarily because they lack confidence in this Government’s economic policies – policies that have driven up costs and created massive uncertainty. They’re also disheartened by this Government’s lack of delivery.
“If National is elected in 2020 we’ll stop the excuses and get on with implementing our positive economic plan to restore business confidence and revive the economy.”
ends


| FRAMES NO FRAMES | |||||||
| |||||||
| SUMMARY: IMPORT | CONSTANT | MEMBER | ACTION | DETAIL: IMPORT | CONSTANT | MEMBER | ACTION |
| Action summary | |
|---|---|
integer |
capacity()
Return the capacity of this circular buffer. |
void |
clear()
Remove all the values in the buffer. |
com.apamax.containers.FixedSizeCircularBuffer | static create(integer size)
Create an empty buffer of a particular size. |
boolean |
empty()
Returns true if the buffer is empty. |
boolean |
full()
Returns true if the buffer is full (size() == capacity()). |
any |
get(integer offs)
Return the item currently at the given position in the buffer. |
sequence<any> |
getData()
Return the underlying sequence containing the circular buffer in order. This is returned by reference. You should not modify the return value, only clone it or iterate over it. |
void |
push(any val)
Push a value onto the buffer. If the buffer is full, removes the oldest value. |
integer |
size()
Return the number of values in the buffer. |
| Action detail |
|---|
integer capacity()Return the capacity of this circular buffer.
void clear()Remove all the values in the buffer.
com.apamax.containers.FixedSizeCircularBuffer static create(integer size)Create an empty buffer of a particular size.
boolean empty()Returns true if the buffer is empty.
boolean full()Returns true if the buffer is full (size() == capacity()).
any get(integer offs)Return the item currently at the given position in the buffer.
sequence<any> getData()Return the underlying sequence containing the circular buffer in order. This is returned by reference. You should not modify the return value, only clone it or iterate over it.
void push(any val)Push a value onto the buffer. If the buffer is full, removes the oldest value.
integer size()Return the number of values in the buffer.
| FRAMES NO FRAMES | |||||||
| |||||||
| SUMMARY: IMPORT | CONSTANT | MEMBER | ACTION | DETAIL: IMPORT | CONSTANT | MEMBER | ACTION |


My name is Blandine Dasilveira, I separated from the ARMY in 2018, and had work for 10 months as a CNC Machinist. I am looking forward to developing my skills as a software engineer in JavaScript. I am new to programming; I started Code Fellows from 101.
love to cook, here are my top ten foods:
- Fufu
- Soup
- Cheese
- Bread
- Pizza
- Bread
- Rice
- chicken
- Spagetti
- Goat Meet
My experience so far as a software engineer at Code Fellows is great, here are some:
- Learning new vocabulary
- Learning from code reviews
- Developing new skills
- Overall coding is fun


About this tool
This map displays NJDEP Landscape Project 3.3 wildlife habitat for the state of New Jersey. Landscape regions are displayed at low zoom levels and detailed wildlife habitat areas are shown at high zoom levels. Read more about the story of this tool on the Azavea blog.
To use this tool, zoom to an area by typing an address into the search bar or by selecting a featured location. Then, draw a custom shape to get a list of wildlife habitat within the area of interest.
Mapping for environmental impact
Through the creation of this tool we investigated a workflow to process a large dataset of about 1 million polygons into vector tiles that can be rendered responsively in a web browser.
Read in detail about the steps we took to create this tool in this blog post and explore other Azavea 10% Time Projects at azavea.com/research.
Future possibilities
This tool solves a specific set of problems - it’s an example of what’s possible if we apply the methods used in this project workflow to a similar need.
If you’re a landowner in New Jersey, visit the US Fish and Wildlife Service Field Office website to learn about what you can do to protect or enhance habitat on your property. Similar to much of our work, the source code is available under an open source license. Leverage the data processing pipeline on similar source data and let us know how it goes!
Does your team work on repetitive processes like environmental inventories? If you would like to hear more about how we can help you build a tool that maximizes efficiency and accuracy, contact us.


{% extends "base.html" %} {% block title %}
Medieval catalogues > SECULAR INSTITUTIONS: Secular Colleges > Winchester College > Inventory of goods, 1421/2
{% endif %}95 identified entries found.
All data was derived from the List of Identifications by Professor Richard Sharpe.
{% if not printing %}
A key to codes used in the List is available (opens in new tab).{% endif %}


Please help us end the suffering and the abuse of animals by donating today and supporting our work.
Your donations enable us to work on:
- The rescue, relocation and rehabilitation of abused and suffering animals
- Undercover investigations
- Cutting edge scientific humane research
- Providing information to schools
Your Donation
$10
$20
$30
$50
$100
$200
$


The main entry point for the Query DSL.
An indexed field.
A range of values.
A term.
A set of terms.
A set of values.
Build a query matching all documents.
Build a query matching all documents which have the specified field.
Build a query matching all documents which do not have the specified field.
Build a query negating the specified one.


10.7. Extended ExamplesHere are two more examples to close out the chapter. 10.7.1. CSV Parsing with PHPHere's the PHP version of the CSV (comma-separated values) example from Chapter 6 (☞ 271). The regex has been updated to use possessive quantifiers (☞ 142) instead of atomic parens, for their cleaner presentation. First, here is the regex we'll use: $csv_regex = '{ \G(?:^;,) (?: # Either a double-quoted field ... " # field opening quote ( [^"]*+ (?: "" [^"]*+ )*+ ) " # field closing quote | # ...or... # ...some non-quote/non-comma text... ( [^",]*+ ) ) }x'; And then, we use it to parse a $line of CSV text: /* Apply the regex, filling $all_matches with all kinds of data */ preg_match_all($csv_regex, $line, $all_matches); /* $Result will hold the array of fields we'll glean from $all_matches */ $Result = array (); /* Run through each successful match... */ for ($i = 0; $i < count($all_matches[0]); $i++) { /* If the 2nd set of capturing parentheses captured, use that directly */ if (strlen($all_matches[2][$i]) > 0) array_push($Result, $all_matches[2][$i]); else { /* It was a quoted value, so take care of an embedded double double-quote before using */ array_push($Result, preg_replace('/""/', '"', $all_matches[1][$i])); } } /* The array $Result is now populated and available for use */ 10.7.2. Checking Tagged Data for Proper NestingHere's a somewhat complex undertaking that covers many interesting points: checking that XML (or XHTML, or any similar tagged data) contains no orphan or mismatched tags. The approach I'll take is to look for properly matched tags, nontag text, and self-closing tags (e.g.,
, an "empty-element tag" in XML parlance), and hope that I find the entire string. Here's the full regex:
A string that matches this has no mismatched tags (with a few caveats we'll look at a bit later). This may appear to be quite complex, but it's manageable when broken down into its component parts. The expression's outer ^(⋯)$ wraps the main body of the regex to ensure that the entire subject string is matched before success is returned. That main body is also wrapped with an additional set of capturing parentheses, which, as we'll soon see, allows a later recursive reference to "the main body." <IP_ADDRESS>. The main body of this expressionThe main body of the regex, then, is three alternatives (each underlined within the regex, for visual clarity) wrapped in (?:⋯)*+ to allow any mix of them to match. The three alternatives attempt to match, respectively: matched tags, non-tag text, and self-closing tags. Because what each alternative can match is unique to that alternative (that is, where one alternative has matched, neither of the others may match), I know that later backtracking will never allow another alternative to match the same text. I can take advantage of that knowledge to make the process more efficient by using a possessive * on the "allow any mix to match" parentheses. This tells the engine to not even bother trying to backtrack, thereby hastening a result when a match can't be found. For the same reason, the three alternatives may be placed in any order, so I put first the alternatives I felt were most likely to match most often (☞ 260). Now let's look at the alternatives one at a time... The second alternative: non-tag text I'll start with the middle alternative, because it's the simplest: [^<>]++. This alternative matches non-tag spans of text. The use of the possessive quantifier here may be overkill considering that the wrapping (?:⋯)*+) is also possessive, but to be safe, I like to use a possessive quantifier when I know it can't hurt. (A possessive quantifier is often used for its efficiency, but it can also change the semantics of a match. The change can be useful, but make sure you understand its ramifications ☞ 259). The third alternative: self-closing tags The third alternative, <\w[^>]*+/>, matches self-closing tags such as
 and  (self-closing tags are characterized by the '/' immediately before the closing bracket). As before, the use of a possessive quantifier here may be overkill, but it certainly doesn't hurt. The first alternative: a matched set of tags Finally, let's look at the first alternative: (?1) </\2> The first part of this subexpression (marked with an underline) matches an opening tag, with its (\w++) capturing the tag name within what turns out to be the overall regex's second set of capturing parentheses. (The use of a possessive quantifier in \w++ is an important point that we'll look at in a bit.) (?<!/) is negative lookbehind (☞ 133) ensuring that we haven't just matched a slash. We put it right before the > at the end of the match-an-opening-tag section to be sure that we're not matching a self-closing tag such as
 (As we've seen, self-closing tags are handled by the third alternative.) After the opening tag has been matched, (?1) recursively applies the subexpression within the first set of capturing parentheses. That's the aforementioned "main body," which is, in effect, a span of text with no unbalanced tags. Once that's matched, we'd better find ourselves at the tag that closes the opening tag we found in the first part of this alternative (whose name was captured within the second overall set of capturing parentheses). The leading </ of </\2> ensures that it's a closing tag; the backreference in \2> ensures that it's the correct closing tag. (If you're checking HTML or other data where tag names are case insensitive, be sure to prepend (?i) to the regex, or apply it with the i pattern modifier.) Phew! <IP_ADDRESS>. Possessive quantifiersI'd like to comment on the use of a possessive \w++ in the first alternative, <(\w++)[^>]*+(?<!/)>. If I were using a less-expressive regex flavor that didn't have possessives or atomic grouping (☞ 139), I'd write this alternative with \b after the (\w+) that matches the tag name: <(\w++)\b[^>]*(?<!/)>. The \b is important to stop the (\w+) from matching, for example, the first 'li' of a '<link>⋯
' sequence. This would leave the 'nk' to be matched outside the capturing parentheses, resulting in a truncated tag name for the \2 backreference that follows. None of this would normally happen, because the \w+ is greedy and wants to match the entire tag name. However, if this regex were applied to badly nested text for which it should fail, then backtracking in search of a match could force the \w+ to match less than the full tag name, as it certainly would in the '<link>⋯
' example. The \b prevents this. PHP's powerful preg engine, thankfully, does support possessive quantifiers, and using one in (\w++) has the same "don't allow backtracking to split up the tag name" effect that appending \b provides, but it is more efficient. <IP_ADDRESS>. Real-world XMLThe format of real-world XML is more complex than simply matching tags. We must also consider XML comments, CDATA sections, and processing instructions, among others. Adding support for XML comments is as easy as adding a fourth alternative, , and making sure to use (?s) or the s pattern modifier so that its dot can match a newline. Similarly, CDATA sections, which are of the form <![CDATA[⋯]]>, can be handled with a new <!\[CDATA\[.*?]]> alternative, and XML processing instructions such as '<?xml version="1.0"?>' can be handled by adding <\?.*?\?> as an alternative. Entity declarations are of the form <!ENTITY⋯> and can be handled with <!ENTITY\b.*?>. There are a number of similar structures in XML, and for the most part they can all be handled as a group by changing <!ENTITY\b.*?> to <![A-Z].*?>. A few issues remain, but what we have discussed so far should cover most XML. Here it is all put together into a PHP snippet: $xml_regex = '{ ^( (?: <(\w++) [^>]*+ (?<!/)> (?1) </\2> # matched pair of tags | [^<>]++ # non-tag stuff | <\w[^>]*+/> # self-closing tag |  # comment | <!\[CDATA\[.*?]]> # cdata block | <\?.*?\?> # processing instruction | <![A-Z].*?> # Entity declaration, etc. )*+ )$ }sx'; if (preg_match($xml_regex, $xml_string)) echo "block structure seems valid\n"; else echo "block structure seems invalid\n"; <IP_ADDRESS>. HTML?More often than not, real-world HTML has all kinds of issues that make a check like this impractical, such as orphan and mismatched tags, and invalid raw '<' and '>' characters. However, even properly balanced HTML has some special cases that we need to allow for: comments and . We can handle this with . It's interesting that script sequences that don't contain the forbidden raw '<' and '>' characters are caught by the first alternative, because they conform to the "matched set of tags" pattern. If a  # script block )*+ )$ }isx'; if (preg_match($html_regex, $html_string)) echo "block structure seems valid\n"; else echo "block structure seems invalid\n"; |


Schottky rectifiers up to 60V 15A for automotive
by Steve BushTaiwan Semiconductor has introduced 45V and 60V trench Schottky rectifiers in a TO-277A-compatible SMPC4.6U package, and qualified to AEC-Q101 for the automotive market.
The surface-mount package is only 1.1mm high and has wettable flanks for automated optical inspection.
The parts are TSUPxM45SH or TSUPxM60SH, depending on whther the current rating is 45A or 60A, and the ‘x’ needs to be replaced with 5 for 5A parts, 10 for 10A or 15 for 15A.
Operation is with the junction at up to 175°C – maximum leakage current is 20mA at high (unspecified) temperature.
The series is RoHS compliant and halogen free.
Applications are foreseen in switching mode power supplies, lighting, automotive chargers and for Reverse polarity protection.


save
her
from
cancer
Sign in
Nearest Centers
Self-Diagnosis
Survivor Stories
Articles
Types of Cancer
Write an article
Submit


--- layout: underconstruction title: Coming soon --- Coming soon Meet us very soon. Thank you for your patience
Meet us very soon. Thank you for your patience


Musical Instruments made by the best brands over the world
Catalogue
Comments
About our experts
Tony Levin
Shred's expert | Guitar player
Did you know? ... The 99.99% to improve your sound depends on your listening skills. Also have a good amp helps as a guide to craft your instrument playing skills.
Cristina Tolkien
Shred's expert | Piano player
I love music, play the guitar and help people to improve their understanding of this beautiful and universal language. The best way to improve as a musician...


Right before the People Powered Web, there were big shots who decided where and when you can access the information and also how much you should pay for it. The World Wide Web was expanding after the Bubble. It was taking a new curve for the entertainment and advertisement industry.
It was time to see how the world is changing the web. There were sites like Digg which focused on news and the most voted piece made it on the front page of the website. It was followed by MySpace which gave a feel of your own personal room and looked like a potential market to increase business by posting advertisements. Soon after came Facebook and YouTube whose motto were to share relationship emotions through a social graph in the backend and ‘broadcast yourself’, respectively. Wisdom of the crowd was the new silicon valley jargon. Facebook was started by the 23 year old Mark Zuckerberg and it kept on expanding and piercing its way in whichever industry it possibly could. It was termed another Google.
Amidst this new mist, the music industry alone had started facing a cheeky way regarding what the society thought it to be in 2001. The tedious and traditional way of acquiring your new favourite soundtrack just had a life hack- Napster by Shawn Fanning. Anyone with the software could search for the music and talk to people about how it was. This had copyright issues and gloomy faces of established bands like Metallica and Dr. Dre. Napster had a million users in 4 months. This is how fast it was growing. Hillary Rosen and the RIAA filed a lawsuit against Napster and it finally had to shut down in 2001 because sharing mp3 tracks like this was illegal.
However, this created a boom in the idea and Apple came up with iMusic where any track could be bought for 99 cents. YouTube had repercussions too, but it was smart enough to pave its way out of it. This era was proudly termed as Web 2.0 with powerful individuals coming into picture. The Web 2.0 saw the uprising of Craigslist, Wikipedia and Blogs. The real meaning of the web had been lost and now restored when Sir Tim Berners Lee said that the original idea was to be a two way thing.


Welcome to your Notes page! When you create a note, a summary of your new note will appear in a list below. To see a notes content in full from your list, just click on the note summary. New feature: If you create a note with emoji syntax, such as :earth_africa:, the note will be converted into the real emoji!🌍


Individual Registry
Social Security Number
Register
Land Registry
Social Security Number
Property Registry Number
Register
Property Transfer
Seller
Buyer
Property Registry Number
Transfer
Properties
Property Registry Number
Social Security Number


We Are Dealers In Iron And Roofing Materials In Kerala With An Exceptional Reputation For Providing Quality And Extraordinary Raw Materials And Services Across Various Domains Including Roofing Solutions, GI GP MS Pipes, MS Angle, PVC Pathi And Fittings, GI Wire Mesh, Other Roofing Accessories And Hardware. For The Past 30 Years.
  Our Team Of Experienced Engineers And Workers Is Equipped To Deliver You The Best And To Deliver The Project On Time.
We work with skilled labourers to plan how spaces will look and function following the building codes.
We value our customers, the primary focus is given to the client’s concepts and vision.
We are one of the leaders in the industry for the past 30 years.
We offer a wide range of services that suits your lifestyle and budget with Zero compromise in quality.
We provide you with a one-point solution for all your roofing maintenance and services.


(a) Executive Order 12829, January 6, 1993 (58 FR 3479, January 8, 1993), entitled “National Industrial Security Program” (NISP), establishes a program to safeguard Federal Government classified information that is released to contractors, licensees, and grantees of the United States Government. Executive Order 12829 amends Executive Order 10865, February 20, 1960 (25 FR 1583, February 25, 1960), entitled “Safeguarding Classified Information Within Industry,” as amended by Executive Order 10909, January 17, 1961 (26 FR 508, January 20, 1961).
(b) The National Industrial Security Program Operating Manual (NISPOM) incorporates the requirements of these Executive orders. The Secretary of Defense, in consultation with all affected agencies and with the concurrence of the Secretary of Energy, the Chairman of the Nuclear Regulatory Commission, and the Director of Central Intelligence, is responsible for issuance and maintenance of this Manual. The following DoD publications implement the program:
(1) National Industrial Security Program Operating Manual (NISPOM) (DoD 5220.22-M).
(2) Industrial Security Regulation (DoD 5220.22-R).
(c) Procedures for the protection of information relating to foreign classified contracts awarded to U.S. industry, and instructions for the protection of U.S. information relating to classified contracts awarded to foreign firms, are prescribed in Chapter 10 of the NISPOM.
(d) Part 27—Patents, Data, and Copyrights, contains policy and procedures for safeguarding classified information in patent applications and patents.
(a) Presolicitation phase. Contracting officers shall review all proposed solicitations to determine whether access to classified information may be required by offerors, or by a contractor during contract performance.
(1) If access to classified information of another agency may be required, the contracting officer shall—
(i) Determine if the agency is covered by the NISP; and
(ii) Follow that agency’s procedures for determining the security clearances of firms to be solicited.
(2) If the classified information required is from the contracting officer’s agency, the contracting officer shall follow agency procedures.
(b) Solicitation phase. Contracting officers shall—
(1) Ensure that the classified acquisition is conducted as required by the NISP or agency procedures, as appropriate; and
(2) Include—
(i) An appropriate Security Requirements clause in the solicitation (see 4.404); and
(ii) As appropriate, in solicitations and contracts when the contract may require access to classified information, a requirement for security safeguards in addition to those provided in the clause (52.204-2, Security Requirements).
(c) Award phase. Contracting officers shall inform contractors and subcontractors of the security classifications and requirements assigned to the various documents, materials, tasks, subcontracts, and components of the classified contract as follows:
(1) Agencies covered by the NISP shall use the Contract Security Classification Specification, DD Form 254. The contracting officer, or authorized representative, is the approving official for the form and shall ensure that it is prepared and distributed in accordance with the Industrial Security Regulation.
(2) Contracting officers in agencies not covered by the NISP shall follow agency procedures.
(a) The contracting officer shall insert the clause at 52.204-2, Security Requirements, in solicitations and contracts when the contract may require access to classified information, unless the conditions specified in paragraph (d) of this section apply.
(b) If a cost contract (see 16.302) for research and development with an educational institution is contemplated, the contracting officer shall use the clause with its Alternate I.
(c) If a construction or architect-engineer contract where employee identification is required for security reasons is contemplated, the contracting officer shall use the clause with its Alternate II.
(d) If the contracting agency is not covered by the NISP and has prescribed a clause and alternates that are substantially the same as those at 52.204-2, the contracting officer shall use the agency-prescribed clause as required by agency procedures.


- Don’t suffer in silence! If you need help, ask for it
- Be organized! Don’t get caught up in distractions
- Practice discipline.
I think that the main purpose of empathy and self-awareness is to learn how to manage the inner critic and how we critique others.
Empathy is so important because it helps us to communicate effectively and solve problems in a productive manner. If I understand another person’s perspective then firstly, this person is more inclined to listen to me and secondly, I’m more inclined to listen to them in order to reach an endpoint. It’s a win/win scenario.
Self-awareness is equally important because it means we can learn how to reflect on our actual situation rather than assuming a negative standpoint. This enables us to assess what next steps we need to take in order to better ourselves. Who doesn’t want that?
WHAT SURPRISED YOU THE MOST ABOUT THE CORE LEARNING
I learned a lot about my strengths and weaknesses. It gave me to really good tools in how to manage my imposter syndrome.

Sometimes reflection can be difficult because it forces us to ask questions about ourselves that can be confronting. It forces us to look at our insecurities. I found that writing about myself is also a difficult task.

I think that there is a number of reasons. Empathy and self-awareness in the tech sector specifically in the development and programming sector isn’t common. This adds to why tech employers are looking for people with skills in this area. People with these skills are more likely to integrate into team cultures, they have good communication skills and learn to put their ego aside in order to solve a problem. It’s worth more than someone with the best craft skills.
“Talent is cheaper than table salt. What separates the talented individual from the successful one is a lot of hard work” – Stephen King.

No, I don’t think these skills are a waste of time at all! I understand the importance of being able to apply the core skills. I would like to spend more time on JavaScript learning but this isn’t specific to the content in Core Learning.


Lorem ipsum.
Lorem ipsum.
Lorem ipsum dolor.
Lorem ipsum.
Lorem ipsum.
Lorem ipsum.
Lorem ipsum dolor.
Lorem ipsum.
Plays similar to
Great for Jazz Bands
Lorem ipsum dolor.
Lorem ipsum.
Our trombones use the shiniest brass which is sourced locally. This will increase the longevity of your purchase.
We make sure you recieve your trombone as soon as we have finished making it. We also provide free returns if you are not satisfied.
For every purchase you make, we will ensure there are no damages or faults and we will check and test the pitch of your instrument.


This is a site designed (initially) to answer a question that every parent, child, and Lego Builder runs into; "Can I build that kit (Mellinium Falcon, Death Start etc) with the legos pieces I already have".
Anyone can create an account and store their 'Master List' of products and kits. We are building a 'manifest' of all the pieces in each kit. As you tell us what kits you already own, we can tell you what other kits you can make.
We need help! To make this site work, we need to know all the pieces in every kit. This can take some work. We a have built tools to allow our users to 'complete' a kit. As you build our your 'Master List' you will notice that some of the kits in our system are empty. This means that we need help to get a complete list of all the pieces in that kit. Use the 'Build' a kit option to get started.
Great Question! With good data comes interesting features. We have been collecting ideas for how to leverage our lego data. We welcome your ideas. Below are a few of ours.
Lego Cam Imagine dumping all your legos on the floor, and using your smart phone to take a photo, and getting an itimzied list of all your pieces. And then browsing this site to find other interesting projects to build.
Lego C&C Imagine having a customizable build map, similiar to the paper instructions you find in all the great lego kit boxes. Imagine making changes and then having a complete digital copy that you can share, that others can build from and then modify again. Share with your fields a photo of a lego project, your custom features, and a working instruction manual.
Lego Copier Imagine you want, say, a 'Pink Melliumum Falcon', or a red 'X-Wing Figher', simple find the kit and tell our system to convert all the pieces to the color you want. Then take the new block list and order them from Lego.


@Mylo Hi, I don't quite follow this part, bugs, small rewards from dev, bigger rewards from labs. Does this mean rewards coming from the escrow?
blackjok3r18-Jan-19 10:09 AM
Bugs bointies were always supposed to be new coins created. A lot of external people have sauid that devs should have to buy labs and put up bounties... But my proposal makes creating the chain cost LABS, and bug bounties cas still be new created coins. I liek a time lock though... maybe, half of it is time locked. Just prevents people claiming bug bounty then dumping all the LABS right away.
1
CrisF18-Jan-19 10:13 AM
Ahh, I see.
That makes more sense.
Trying to burn through the fog and run through the implications of the time lock. Will take a bit, but see a few advantage to the LABS ecosystem.
blackjok3r18-Jan-19 11:30 AM
I think its a little hacky, but I have managed to compile VHT2 branch using VerusHashV2, from my understanding this is an unused Algo, so there are no GPU or FPGA miners for it. Only the Daemon CPU miner. For 0 Block reward chains this will be perfect. To merge this to real KMD it needs to be done a diffrent way, because otherwise LUMBER wont sync. So for now I will just leave it in VHT2 branch and launch a test chain with it.(edited)
1
jl777c18-Jan-19 11:31 AM
would be good to have a VERUSHASH2 algo that we can add to the -ac options
blackjok3r18-Jan-19 11:32 AM
yes it will .. if this works as expected I will get mike to help me add it. HE did say he would help with this. It was his suggestion to use V2.
Wont be for a while though going to take a few days off after this.
jl777c18-Jan-19 11:34 AM
no giant rush just one of those cool things to have
and should pave the way for adding more and more hashalgos
3
blackjok3r18-Jan-19 11:37 AM
This will also help with the difficulty problem, we can just set V2 to use a much higher min diff in the chain params.
jl777c18-Jan-19 11:38 AM
will we need custom miner functions for each algo?
or just use one of the two existing ones, depending on details?
mindiff, which mining function, name, #define value, maybe that is about all that is needed for each new algo
so we should define a struct with all the algo specific strings and values, function name. then for a new algo, it is a matter to add a new structure element and link in a file with all the required code
blackjok3r18-Jan-19 11:59 AM
I think most algos can be added to the Verus Miner ... it seems like this was made that way from the start, the only proiblem is defining of the hash writer...
V2 is working fine for me, the hash rate is the same too. Still crazy high.
ComputerGenie 👴👴👴18-Jan-19 12:55 PM
people can also submit bug bounty claims if they can show a reproducible issue
I think bug bounty should only be paid once fixed
so the tester would have to work with the dev to fix it before they receive anything
that way if dev abandons it, we aren't making coins for bug fixes in their abandoned contract
also maybe time locks for the bounty@Alright If I'm reading that correct, I'd say that the timelock is a must; otherwise, what's to stop the dev from abandoning it just to not pay anything?
1
blackjok3r19-Jan-19 01:09 AM
good point.
Alright19-Jan-19 01:40 AM
@ComputerGenie 👴👴👴 not sure I understand the question
maybe you're thinking it's the dev paying the bounty? That was never the intention. STAKED started as a way for devs to get testing for relatively cheap
bug bounties are meant to be baked into coin emissions
CrisF19-Jan-19 01:55 AM
Hi, would it be possible to run through a couple of usecases for LABS?
(examples)
It might help to get a clearer understanding of how the system works.
(for me)
Alright19-Jan-19 01:58 AM
dev creates contract, isn't 100% confident it's ready for production use, we put it on the cluster and try to break it. Dev gets relatively cheap testing. We get a new contract.
that's really what it boils down to IMO
1
but of course plenty of other use cases
have an idea for something cool, but it's not worth creating it's own coin over?
CrisF19-Jan-19 02:00 AM
An example. (Something easy to start with, like something we've already done.) Ahh...(edited)
Dice for example.
I have an idea to use the dice cc to make a chain. Want to test a lot before going live.
First I contact Labs on Discord...
What steps would I take then?
( I would want bug hunting, user feedback, and possibly stats)
Alright19-Jan-19 02:11 AM
Do you recall all the testing that happened in #kmdice channel after launch?
CrisF19-Jan-19 02:12 AM
Yes
Alright19-Jan-19 02:12 AM
I don't believe it's practical to create a brand new coin for each contract
So imagine what happened in #kmdice, all that testing, all those hard forks
CrisF19-Jan-19 02:14 AM
Yes, that's what I'd like to avoid
In this case I'm wondering what steps I'd go through to iron that out on Labs before going live.
Alright19-Jan-19 02:16 AM
that's the point, we don't need to avoid that
it's a huge hassle for any other coin, but it's a slight nuisance for us
CrisF19-Jan-19 02:21 AM
I'm missing something very basic, haha. Will have a think
Alright19-Jan-19 02:23 AM
@CrisF do you see what I'm saying here?
if a coin didn't have a fungible cluster, every hard forking change in any contract would require the entire network to hardfork
we segregate the contracts to specific chains, so only that chain has to hard fork
so if we were developing 5 contracts in parallel without a fungible cluster, we'd be hard forking every week
CrisF19-Jan-19 02:27 AM
Yeah, I misunderstood. You meant it's better to do that in Labs beforehand?(edited)
Alright19-Jan-19 02:30 AM
Yes
aiming to be a testnet for all assetchains pretty much
that is incentivized
CrisF19-Jan-19 02:30 AM
That's what I was thinking originally.
I would like to understand the procedure for going about that better.
Alright19-Jan-19 02:32 AM
make a contract, PR it to stakedchain repo in it's own branch, launch a chain
the result of being a testnet for all assetchains is that users will be able to use the contract while it's still being developed as opposed to developing the contract fully then putting it into production(edited)
dice had been usable for months prior to it being properly tested by KMDice
CrisF19-Jan-19 02:37 AM
I've got that part.
I read the steps from the posts and on github. I was thinking and example run through of the steps to set up that pre-production testing might help me. How to set up the testing on Labs.
Alright19-Jan-19 02:37 AM
I think we just need to do it then document the process
we can do it immediately after launch with some example
CrisF19-Jan-19 02:38 AM
Yes, that's where an example might help.
Alright19-Jan-19 02:38 AM
maybe just editing a contract slightly then launching a chain with that unique edit
We could start documenting it now, but I think it'd be best to wait until we've done it at least once
1
After launch, we can make a chain that has a faucet with no limit on how many times a pubkey can do it along with a larger amount per faucetget
that would be the simplest example I believe and likely get some people interested by letting them directly earn some coins
Can test the process of killing a chain with it as well(edited)
KMD LABS: Proposal LABS Main Chain: 51% PoS 49% PoW - Equihash, same as KMD. ac_founders=1440 - Pays notary node multisig address every 24H 33% of the supply split between all nodes, based on notar...
can't keep losing ideas to discord chats, need something we can look back at in a year
smk762 - dracocanis ominator19-Jan-19 03:30 AM
is there also a provision for testing implementations of existing contracts?
Alright19-Jan-19 03:31 AM
Yes of course
maybe we should rip out contracts from main chain for the time being
put all the existing ones onto a single chain
smk762 - dracocanis ominator19-Jan-19 03:32 AM
cool, just confirming. might hold a hack the hound comp at some stage
1
Alright19-Jan-19 03:32 AM
smk762 - dracocanis ominator19-Jan-19 03:33 AM
Dragonhound has been a bit sidetracked lately while working on other stuff, but the other stuff is tangential and works towards the while label variation of dragonhound for other use cases.
hopefully the whiltelabelling will be the means to fund the hardware costs of dragonhound kits
Alright19-Jan-19 03:34 AM
Will you launch a chain for it?
smk762 - dracocanis ominator19-Jan-19 03:35 AM
it's not reallly neccesarry, but probably will just to keep from spamming someone else's chain lol
I've been on the gui side of things lately, and a bit of legacy db backend. about to get back into oracles to link it all together
one thing I've been thinkning was how to make oracles readonly unless authorised
might mean creating a fork of the contract?
Alright19-Jan-19 03:38 AM
yep
not sure I understand what that means though
aren't they already read only?
you want to prevent other people from registering on an oracle?
smk762 - dracocanis ominator19-Jan-19 03:39 AM
not sure, I've registered more than once on the same oracle, bt on same node so maybe thats ok
but yeah. lock rego to auth users.
avoid non-pertinent oracles from being created
or existing oracles being written to with junk data by unauthed users
Alright19-Jan-19 03:40 AM
would be useful, creator of the oracle could register with the creator pubkey and be able to update who can register from that pubkey
possibly
although, you could also just ignore them
smk762 - dracocanis ominator19-Jan-19 03:41 AM
I'll have to go deep when I have some rabbit hole time spare...
concern is chain being spammed into oblivion
Alright19-Jan-19 03:41 AM
think you could implement something like that in a dapp with existing contract
so dapp checks creator pubkey oraclessamples for all pubkeys to check
ignores the rest
smk762 - dracocanis ominator19-Jan-19 03:42 AM
dapp already filters to what's pertinent, but if too many oracles on chain it might slow thiungs down(edited)


If you’ve never experienced the speed of a lightning transaction then you’ll enjoy taking this post for a spin. In it I’m going to show you how you can use Coinpanic’s Lightning Community Jar to send a mainnet bitcoin payment via the lightning protocol to complete a test transaction in the shopsteem.com store.
Note: This will not be sending any of your personal funds at all. This will be sending funds via Coinpanic’s Lightning Community Jar. Please be conscientious while using these resources.
1.) Open the ShopSteem.com Lightning Test Product and add it to the cart.
2.) View your cart by hovering over the cart icon or hitting the green highlight.
3.) Scroll down and click ‘Proceed to checkout ->’
4.) Enter fake information for your billing details (DO NOT ENTER REAL LIFE INFORMATION HERE!) then click the radial for Bitcoin followed by ‘Proceed to BTCPay’
5.) Select the Lightning Payment option in the upper right corner of the payment screen followed by ‘Copy’.
6.) Copy the payment address to your clipboard. (Hitting the lightning icon in the lower left will copy to your clipboard)
7.) Open a second window for Coinpanic’s Community Jar and paste your payment address on the right side under ‘Take from Jar’
8.) Make sure your have both windows open side by side before clicking ‘Pay Invoice’. You’ll want to see this!
9.) Hit ‘Pay Invoice’ but keep watching your order.
10.) You’ve just completed your Bitcoin lightning transaction. It wasn’t that hard at all now was it?
Depending on how well I stay connected to CoinPanic’s tool may mean that at times your transaction will fail. If so leave a comment and I’ll be happy to troubleshoot and let you know when you can give it another shot!
Hope you enjoyed it! Please do not attempt to test the Steem functionality at this time. It will not work! Let me repeat that part. Do NOT test the Steem payments part of the site. It will not work! I will let everyone know when you can test that part out and when I’ll start adding products to the site.
This page is synchronized from the post: ‘Make A Mainnet Bitcoin Lightning Payment Today!’