Downloading update...
Downloaded {{ downloadProgress.transferred }}MB of {{ downloadProgress.total }}MB
({{ downloadProgress.percent }}%).
Estimated time remaining: {{ downloadProgress.timeRemaining }} seconds.
The update was successfully downloaded!
Would you like to install the update now? This step should take a few seconds.


Aspirational blog post
I like to write about technology, because I want to get on the front page of hacker news (in a good way).


{% extends "base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block title %}traipor - perpot model playground{% endblock %} {% block page_content %}
Start a parameter fitting to play with your own parameters.
{% endif %}performance after plan:


wait
Syntax
A waitStatement is:
| |
wait variableReference [ , expn ] |
Description
The wait statement is used in a concurrent program to cause the executing process to be blocked (to go to sleep) until it is awakened by a signal statement. The statement can only be used inside a monitor (a special kind of module that handles concurrency). A wait statement operates on a condition variable (the variableReference), which is essentially a queue of sleeping processes. See condition for an example of a wait statement.
Details
A wait statement for a priority condition must include the optional expn,. This expression must be a non-negative int value which is used to order processes waiting for the condition, low numbers first.
A wait statement for a timeout condition must include the optional expn, which must be a non-negative int value which gives the timeout interval. A process waiting for a timeout condition is implicitly awakened if it waits longer than its timeout interval.
See also
condition and signal. See also monitor and fork. See also empty. See also pause.


Netizens Compare Maharashtra Politics With Game of Thrones- Check Memes
Netizens compared the scenario of political upheavals in Maharashtra with the HBO series "Game Of Thrones". Check memes.
Since Saturday afternoon, the hashtag #GameofThrones started trending on Twitter because netizens are comparing the current political scenario of Maharashtra to the American fantasy drama television series dealing with a power play. President Ram Nath Kovind on Saturday morning revoked the proclamation of central rule implemented in Maharashtra since November 12. Rashtrapati Bhavan’s announcement came after a new government headed by Chief Minister Devendra Fadnavis and Deputy Chief Minister Ajit Pawar was sworn-in on Saturday morning by Governor BS Koshyari.
Soon, netizens were comparing the scenario of political upheavals in Maharashtra with the HBO series “Game Of Thrones” (GoT), created by David Benioff and DB Weiss. Twitter was flooded with memes. Sharing a photo of Amit Shah, a user tweeted, “HBO should have fired D&D and hired @AmitShah to write the script for #GameofThrones.”
Another user shared a collage of photos of different politicians, comparing them to characters of GoT and wrote: “Just a #GameofThrones version of #MaharashtraPolitics.”
The photos include that of the Late Shiv Sena supremo Balasaheb Thackeray, his son and present Shiv Sena chief Uddhav Thackeray, his nephew and current Maharashtra Navnirman Sena chairperson Raj Thackeray, BJP President Amit Shah and others.
Another user posted: “The last few hours of #MaharashtraPolitics has more twists than the entire final season of #GameofThrones”.
Still another user shared a photo of present CM Devendra Fadnavis and commented: “Gonna tell my kids Maharashtra Elections was #GameofThrones and this man was Bran Stark”.
Sharing a photo of Amit Shah, a user wrote: “Gonna tell my kids that he is the Director of Game of Thrones”.
Have a look here:
While Maharashtra politics continues to dominate headlines space across media, netizens continue to have fun on social media, and the hashtag #GameofThrones trends on Twitter.
(With inputs from agency)
For breaking news and live news updates, like us on Facebook or follow us on Twitter and Instagram. Read more on Buzz Latest News on India.com.
Story Timeline
- 24 Nov 2019 Netizens Compare Maharashtra Politics With Game of Thrones- Check Memes
- 12 Nov 2019 Maharashtra Farmer Forced To Sell Onions At Rs 8 Per Kg, Breaks Down | Watch Video
- 30 Oct 2019 Couple Goes on House Robbing Spree After Learning Break-in Methods From YouTube Videos
- 01 Sep 2019 Ganesh Utsav 2019 Live: Watch Darshan And Puja Aarti From Pune's Dagdusheth Halwai Ganpati Here
Comments - Join the Discussion


What I Do
Compass has been designed with something very specific in mind: to be a simple and elegant personal landing page.
Find Me
- Responsive design
- Mobile friendly
- Easy deployment to GitHub Pages
For more information, including setup and configuration instructions, bug reports or feature requests head over to GitHub.


{% extends 'layout.html' %} {% block pageTitle %} {{ jobRole.name }} appraisal - NHS.UK prototype kit {% endblock %} {% block beforeContent %} {{ breadcrumb({ items: [ { href: "/dashboard", text: "Dashboard" }, { href: "/assessments", text: "Appraisals" }, { href: "/assessments/" + assessment.id, text: jobRole.name }] }) }} {% endblock %} {% block content %}
| Date | Assessor | Outcome |
|---|---|---|
| {{ assessment.date | formatDate }} | Ora Hayes | {{ assessment.result or "Assessment not concluded" }} |
This is the first time {{ user.name }} has been appraised against this role.
{% endif %} Back Next


Software developer with Agile/Scrum team experience. Effective communicator with entrepreneurship and customer service experience. Lifelong learner whose curiosity for technology turned into a career.
Utilized third party APIs and implemented CRUD, sorting, filtering, and pagination features to provide useful info and easy to navigate interfaces.
JavaScript, Python/Django, C#/ASP.NET MVC, SQL Server, HTML, CSS/Bootstrap
Click here to see it on GitHub.Displays hourly and weekly forecasts.
TypeScript/JavaScript, React/Redux Toolkit, React Testing Library, CSS/HTML, weather.gov API, Openstreetmap API, Geolocation API
Click here to see it live.Shows Star Wars character info.
TypeScript/JavaScript, React/Redux Toolkit, React Testing Library, React Router, CSS/HTML, Star Wars API
Click here to see it live.Detects faces from an uploaded image with sign in functionality
JavaScript, React, Express, PostgreSQL, CSS, HTML, Clarifai API
Click here to see it live.Implemented CRUD, sorting, filtering, and paging features for a students table for a mock school.
C#/ASP.NET MVC, SQL Server, CSS, HTML
Click here to see it on GitHub.Implemented the ability to create menu items from the front end and from the back end for a mock hotel.
Python/Django, SQLite3, CSS, HTML
Click here to see it on GitHub.Genereates a car insurance quote based on a user's input and saves info in a database.
C#/ASP.NET MVC, SQL Server, CSS/Bootstrap, HTML
Click here to see it on GitHub.Created a GUI that allows a user to transfer files and records those file names and their modified time-stamps into a database.
Python, SQLite3
Click here to see it on GitHub.Created a library management database.
SQL Server
Click here to see it on GitHub.


A Blog Post Heading Body of the blog post. Read more about the topic Header & Footer IDs & Classes Spans & Divs


There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in som form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All th Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary. It uses a dictionary of over 200 Latin words, combined with a handful of model sentenc structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always fre from repetition, injected humour, or non-characteristic words etc.
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in som form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All th Lorem Ipsum generators on the Internet tend to repea.
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in som form, by injected humour, or randomised words which don't look even slightly believable. You need to be sure there isn't anything embarrassing hidden in the middle of text. All th Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet.
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in som form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in som form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All th Lorem Ipsum generators on the Internet tend to repea.
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in som form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All th Lorem Ipsum generators on the Internet tend to repeat.
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in som form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All th Lorem Ipsum generators on the Internet tend to repeat.


While the nations capital, Washington DC, has a lot to offer it
became too cold to enjoy so we headed south. The sailing
we have expected to be some what enjoyable but look at the
bundled up Dean - does he look like he is having fun.
Well it is better than work but who would have thought the foul
weather gear would be needed. Its not so much for rain,
but for the cold weather. We now have entered
Virginia and North Carolina where the temperatures are still
cool but at least warms up to shorts and t-shirt weather during
the day as shown by Kris, it is much better :).
The trip from Norfolk to Beaufort is usually through the Inter
Coastal Waterway, ICW, but you have two options. We took
the Dismal Swamp Canal Route. Kris had seen the
other route but also in Uncle Scrooge comics (one of Kris's
heroes), he spent some time in the swamp and Kris wanted to
experience the area. The Dismal Swamp history goes back to
George Washington and has quite a colorful history, see the web
link if you want more info. It was actually quite a nice
trip down the canal, and we spent the night at the visitors
center. There is a free dock to tie up to.  You can walk across the
canal on a pedestrian bridge to a nice visitor center that tells
all about the Dismal Swamp, and take a walk on an elevated
boardwalk though the swamp. It is really quite nice.
Once through the canal, you enter a winding river with Cypress
trees on either side that is quite scenic and end up at a
town called Elizabeth City, NC. To encourage boaters they
have a free 48 hour dock. We felt encouraged so have
stopped here. We would like to stay longer, but with the
winds coming now out of the ENE, this will become an
uncomfortable place to stay so we will leave tomorrow.
We had a nice little wine and cheese party at the dock tonight
and got together with most the other boats here and had a good
social hour and met some other cruisers. Derek was bored
with no other kids so he went back to the boat and played a
video game while the adults socialized.
Tomorrow we will head to Alligator River Marina. Kris
stopped here with Dean's brother Lee and her Dad Norm while
bringing the boat up from South Carolina and had fond memories,
so we will stop on the way down so Dean and Derek can see it.
Our next big stop will be Oriental, N.C. where we will meet our
friends Bob and Anne on their boat Baloo. We first me Bob
and Anne back in 1993 when they were at the same dock as us
getting ready for our first cruising adventure, as they were as
well.
update 10/09/11 Elizabeth City
One of the
locks on the Dismal Swamp Canal
London bridges
going up -going up
Don't worry,
it'll get out of our way! (Capt'n Ron)
Early morning
on the Dismal Swamp Canal
Tied up with
others at Dismal Swamp Canal rest stop


Merges PDF files to a single document.
| Attribute | Description | Required |
| tofile | The output document. | Yes |
| force | Recreate the output document, even if it is newer than the source documents. | No; defaults to false. |
Resource Collections are used to select groups of PDFs to merge.
Important Note: certain resource collection types such as fileset, dirset and files are undefined in terms of order. To merge the documents, it is essential to specify explicitly the order to finally get the result you were expecting. For unordered collections, you can explicitly specify the order by using the sort element.
Merge all PDFs from a directory and its sub-directories in the resources' natural order
<pdfmerge tofile="alldocs.pdf"> <sort> <fileset dir="pdf_dir" includes="**/*.pdf"/> </sort> </pdfmerge>


INDEX
Condemned Programmer's RFC Manual
INDEX
DESCRIPTION
Those who do not understand Unix are condemned to reinvent it, poorly.
INDEX
killbelow(2)
send a signal to all descendant processes


Many of the pages in the Technology Explorer include references to related tables. For example, the Columns pages, the Indexes page, and the Table Privileges page all include a reference link to the Table page to display the table related to the column, index or privilege.
In this example, you will create a reference to the table defined in the Authority/authids.xml file.
For more information on references, please refer to the TE Workshop: Customizing the TE


WITNESS LIST
Transportation & Homeland Security
April 27, 2011 8:00 AM
FOR:
Horton, Jess Executive Director (Southwest Tow Operators), Dallas, TX
Lopez, Michelle (Lopez Family), Ft. Worth, TX
Milstead, Amy President (Milstead Automotive), Spring, TX
Wiesen, Jason (Freddy's Wrecker Service), Ranger, TX
Registering, but not testifying:
For:
Goode, Rose Vice Chairman (Texas Towing & Storage Assoc.), Killeen, TX
Higgins, Mike Legislative Director (Texas State Assoc of Fire Fighters), Austin, TX
Hight, Rhonda President (Edd's Towing), Keller, TX
Messina, Joann Mgr. (Southwest Auto Tow), Dallas, TX
O'Ryan, Anne Public Policy Strategist & Leg. Advocate (AAA Texas), Austin, TX
Patterson, T. J. (City of Fort Worth), Fort Worth, TX
Registering, but not testifying:
For:
Patterson, T. J. (City of Fort Worth), Fort Worth, TX
ON BILL/ON COMMITTEE SUBSTITUTE (C.S.S.B. 288) :
Krampitz, Tom General Counsel (Border Prosecution Unit), Fort Worth, TX
Registering, but not testifying:
For:
Allison, Jim General Counsel (County Judge & Commissioners Assn. of Tx), Austin, TX
Green, Timothy Attorney (COATS/ Rose Law Firm, Representing various districts
throughout the state), Houston, TX
Registering, but not testifying:
For:
Kroll, John (Gemalto), Austin, TX
Sloman, Jessica Officer (Houston Police Department), Houston, TX
FOR BILL/FOR COMMITTEE SUBSTITUTE (C.S.S.B. 1330) :
Cutsinger, Gary Builder/ Developer (Alive at 25), Horseshoe Bay, TX
Cutsinger, Pamela S. Wife & Mother (Alive at 25), Horseshoe Bay, TX
Eckstein, Deece IGR Coordinator (Travis County Commissioners Court), Austin, TX
Koog, Renee Sergeant (Georgetown Police Department), Georgetown, TX
Ulczycki, John Group Vice President (National Safety Council), Itasca, IL
1
WITNESS LIST
Transportation & Homeland Security
April 27, 2011 8:00 AM
Registering, but not testifying:
For Bill/For Committee Substitute (C.S.S.B. 1330) :
Baker, Donald Commander (Austin Police Dept.), Austin, TX
Brady, John Executive Director (Texas Alive Team/ Travis County), Austin, TX
Canales, Michael J. Sergeant (Travis County Sheriff's Office), Austin, TX
Clair, Phyllis Major, Law Enforcement (Travis County Sheriff's Office), Austin, TX
Cotton, Kevin Training Director (Travis County Sheriff/ Texas Alive Team), Austin, TX
Grasse, Erik Officer (Georgetown P.D.), Georgetown, TX
Lewis, Bill Public Policy Liaison (Mothers Against Drunk Driving), Austin, TX
Visi, Joshua S. Senior Police Officer (Austin Police Dept.), Austin, TX
Whitehead, Lee Director State Pgms (National Safety Council), Itasca, IL
FOR:
Burrows, Randle Lt. (International Association of Marine Investigators), Santa Fe, TX
Canady, Joey Commander (also providing written testimony) (Texas Association of
Vehicle Theft Investigators), Waco, TX
Tate, Oliver Sergeant (Austin Police Department), Austin, TX
ON:
Kepple, Robert Executive Direcot (Texas District & County Attorneys Association),
Austin, TX
Registering, but not testifying:
For:
Baker, Donald Commander (Austin Police Dept.), Austin, TX
Hagan, Bob (Self), Round Rock, TX
Holloway, Tom Investigator (Texas Association of Auto Theft Investigators), Granite
Shoals, TX
Jones, Jim Sergeant (San Antonio Police Department), San Antonio, TX
Patterson, T. J. (City of Fort Worth), Fort Worth, TX
Sheppard, Danny Secretary 2010-2011 (Texas Association of Vehicle Theft Investigators),
Dickinson, TX
Sloman, Jessica Officer (Houston Police Department), Houston, TX
Tittle, Gary Lieutenant (Dallas Police Department and Texas Police Chiefs Association),
Dallas, TX
On:
Caldwell, Charles Director, Automobile Burglary &Theft Prevention Authority (Tx Dept.
of Motor Vehicles), Austin, TX
Providing written testimony:
For Bill/For Committee Substitute (C.S.S.B. 1531) :
Yanez-Correa, Ana Executive Director (Texas Criminal Justice Coalition), Austin, TX
2
WITNESS LIST
Transportation & Homeland Security
April 27, 2011 8:00 AM
FOR BILL/FOR COMMITTEE SUBSTITUTE (C.S.S.B. 1532) :
Alexander, Cindy Sr. Manager, Business Development (Morphotrak, Inc.), Austin, TX
Kroll, John (Gemalto), Austin, TX
3


convlab.agent.memory package¶
Submodules¶
convlab.agent.memory.base module¶
convlab.agent.memory.onpolicy module¶
-
class
convlab.agent.memory.onpolicy.
OnPolicyBatchReplay
(memory_spec, body)[source]¶ Bases:
convlab.agent.memory.onpolicy.OnPolicyReplay
Same as OnPolicyReplay Memory with the following difference.
The memory does not have a fixed size. Instead the memory stores data from N experiences, where N is determined by the user. After N experiences or if an episode has ended, all of the examples are returned to the agent to learn from.
In contrast, OnPolicyReplay stores entire episodes and stores them in a nested structure. OnPolicyBatchReplay stores experiences in a flat structure.
e.g. memory_spec “memory”: {
“name”: “OnPolicyBatchReplay”} * batch_size is training_frequency provided by algorithm_spec
-
add_experience
(state, action, reward, next_state, done)[source]¶ Interface helper method for update() to add experience to memory
-
sample
()[source]¶ Returns all the examples from memory in a single batch. Batch is stored as a dict. Keys are the names of the different elements of an experience. Values are a list of the corresponding sampled elements e.g. batch = {
‘states’ : states, ‘actions’ : actions, ‘rewards’ : rewards, ‘next_states’: next_states, ‘dones’ : dones}
-
-
class
convlab.agent.memory.onpolicy.
OnPolicyReplay
(memory_spec, body)[source]¶ Bases:
convlab.agent.memory.base.Memory
Stores agent experiences and returns them in a batch for agent training.
- An experience consists of
- state: representation of a state
- action: action taken
- reward: scalar value
- next state: representation of next state (should be same as state)
- done: 0 / 1 representing if the current state is the last in an episode
The memory does not have a fixed size. Instead the memory stores data from N episodes, where N is determined by the user. After N episodes, all of the examples are returned to the agent to learn from.
When the examples are returned to the agent, the memory is cleared to prevent the agent from learning from off policy experiences. This memory is intended for on policy algorithms.
- Differences vs. Replay memory:
- Experiences are nested into episodes. In Replay experiences are flat, and episode is not tracked
- The entire memory constitues a batch. In Replay batches are sampled from memory.
- The memory is cleared automatically when a batch is given to the agent.
e.g. memory_spec “memory”: {
“name”: “OnPolicyReplay”}
-
add_experience
(state, action, reward, next_state, done)[source]¶ Interface helper method for update() to add experience to memory
-
sample
()[source]¶ Returns all the examples from memory in a single batch. Batch is stored as a dict. Keys are the names of the different elements of an experience. Values are nested lists of the corresponding sampled elements. Elements are nested into episodes e.g. batch = {
‘states’ : [[s_epi1], [s_epi2], …], ‘actions’ : [[a_epi1], [a_epi2], …], ‘rewards’ : [[r_epi1], [r_epi2], …], ‘next_states’: [[ns_epi1], [ns_epi2], …], ‘dones’ : [[d_epi1], [d_epi2], …]}
convlab.agent.memory.prioritized module¶
-
class
convlab.agent.memory.prioritized.
PrioritizedReplay
(memory_spec, body)[source]¶ Bases:
convlab.agent.memory.replay.Replay
Prioritized Experience Replay
Implementation follows the approach in the paper “Prioritized Experience Replay”, Schaul et al 2015” https://arxiv.org/pdf/1511.05952.pdf and is Jaromír Janisch’s with minor adaptations. See memory_util.py for the license and link to Jaromír’s excellent blog
Stores agent experiences and samples from them for agent training according to each experience’s priority
The memory has the same behaviour and storage structure as Replay memory with the addition of a SumTree to store and sample the priorities.
e.g. memory_spec “memory”: {
“name”: “PrioritizedReplay”, “alpha”: 1, “epsilon”: 0, “batch_size”: 32, “max_size”: 10000, “use_cer”: true}
-
add_experience
(state, action, reward, next_state, done, error=100000)[source]¶ Implementation for update() to add experience to memory, expanding the memory size if necessary. All experiences are added with a high priority to increase the likelihood that they are sampled at least once.
-
get_priority
(error)[source]¶ Takes in the error of one or more examples and returns the proportional priority
-
-
class
convlab.agent.memory.prioritized.
SumTree
(capacity)[source]¶ Bases:
object
Helper class for PrioritizedReplay
This implementation is, with minor adaptations, Jaromír Janisch’s. The license is reproduced below. For more information see his excellent blog series “Let’s make a DQN” https://jaromiru.com/2016/09/27/lets-make-a-dqn-theory/
MIT License
Copyright (c) 2018 Jaromír Janisch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
write
= 0¶
-
convlab.agent.memory.replay module¶
-
class
convlab.agent.memory.replay.
Replay
(memory_spec, body)[source]¶ Bases:
convlab.agent.memory.base.Memory
Stores agent experiences and samples from them for agent training
- An experience consists of
- state: representation of a state
- action: action taken
- reward: scalar value
- next state: representation of next state (should be same as state)
- done: 0 / 1 representing if the current state is the last in an episode
The memory has a size of N. When capacity is reached, the oldest experience is deleted to make space for the lastest experience.
- This is implemented as a circular buffer so that inserting experiences are O(1)
- Each element of an experience is stored as a separate array of size N * element dim
When a batch of experiences is requested, K experiences are sampled according to a random uniform distribution.
If ‘use_cer’, sampling will add the latest experience.
e.g. memory_spec “memory”: {
“name”: “Replay”, “batch_size”: 32, “max_size”: 10000, “use_cer”: true}
-
add_experience
(state, action, reward, next_state, done)[source]¶ Implementation for update() to add experience to memory, expanding the memory size if necessary
-
sample
()[source]¶ Returns a batch of batch_size samples. Batch is stored as a dict. Keys are the names of the different elements of an experience. Values are an array of the corresponding sampled elements e.g. batch = {
‘states’ : states, ‘actions’ : actions, ‘rewards’ : rewards, ‘next_states’: next_states, ‘dones’ : dones}
Module contents¶
The memory module Contains different ways of storing an agents experiences and sampling from them


Follow these steps to add a library to your project:
- Open the project you want to add the library to.
- In the project panel, click Add New Library.
- Select the library you want to import.
The library files are added to your project.
- If there are multiple files in your project with the same name, rename the files so the file names are unique.


gPanel
Search
Logout
×
Public Server
Handle operations for the public serving server
Start
Maintenance Mode
Graceful Shutdown
Forced Shutdown
Graceful Restart
Forced Restart
Diagnostics
View various server data pools that may help pinpoint issues
Client Error Log
Server Error Log
Load Time Log


Description: Selects all elements that are visible.
Elements are considered visible if they consume space in the document. Visible elements have a width or height that is greater than zero.
Elements with visibility: hidden
or opacity: 0
are considered visible, since they still consume space in the layout. During animations that hide an element, the element is considered to be visible until the end of the animation. During animations to show an element, the element is considered to be visible at the start at the animation.
How :visible
is calculated was changed in jQuery 1.3.2. The release notes outline the changes in more detail.
:visible
is a jQuery extension and not part of the CSS specification, queries using :visible
cannot take advantage of the performance boost provided by the native DOM querySelectorAll()
method. To achieve the best performance when using :visible
to select elements, first select the elements using a pure CSS selector, then use .filter(":visible").
<!DOCTYPE html>

<button>Show hidden to see they don't change</button>


Today, I spent some time researching Stereotype Threat for my required cultural blog at Dev Bootcamp. The research was more of a refresher from my freshman year long stint as an undergrad psych major, and surprisingly the info came back to me fairly quickly. It’s actually a pretty interesting affliction that causes members of a minority to perform worse on assessments when reminded of the stereotypes and prejudices that society has labeled on their group via a form of self-fulfilling prophecy.
I’m a white middle class, college graduate male. Personally, I can’t say I really know what it feels like to be a minority. I’ve never been discriminated against and I’ve never felt inferior due to my socio-economic status. I’m not going to pretend like there’s a negative stigma against me or “my people.” For all I know, there probably is but be that as it may I’ve never felt it nor would I really pay attention to it personally. The closest I can get to relating is that people have often acted surprised when they see or find out that I’m smart. I don’t have a definitive answer for why people are surprised by this, but I can say it doesn’t bother me.
If I saw someone suffering from the stereotype threat, I’d probably tell them that I like being the underdog and that I think it would help serve a lot of people to embrace that mentality.  Mentality is everything and you have to know that you can do it and that you are good enough. There’s no room for excuses when you want to be successful.
My viewpoints are very skewed, but knowing that my dad “made it” in America after coming here from Greece with no money at age 23 has made me a firm believer of the classic “hard work pays off” mantra. From that I’ve learned that there’s no substitution for hard work.


Indiana lawmakers support raising legal age for tobacco use
INDIANAPOLIS (AP) - Indiana lawmakers are voicing support for raising the state’s legal age to buy tobacco and vaping products.
Republican House Speaker Brian Bosma said Monday that he supports raising the age from 18 to 21, along with the majority of the House Republican caucus.
Bosma and others who previously blocked the move said that people could serve in the military, vote and buy a gun at the age of 18. He also noted an increase in youth vaping and related deaths and illnesses.
“It seems to me to be the right thing to do,” Bosma said, “and the right time to do it.”
Bosma said he changed his mind because the armed services and veterans’ groups support the age change. He also mentioned that it might also be time for the state to consider banning or limiting flavored e-liquids, which is often is viewed as one of the biggest attractions for teen vaping. But no concrete plan is in place.
Lawmakers are also pushing to raise taxes on tobacco products in an effort to curb use.
Republican Senate President Pro Tem Rodric Bray supports the measures but said moves on tax increases likely won’t happen this session. The state’s two-year budget plan was finalized earlier this year.
“That opens up the budget,” Bray said. “It’s not a good time.”
However, lawmakers are planning to make some limited appropriations to fulfill an unrelated request from Gov. Eric Holcomb to fund previously approved projects.
Sen. Democratic Leader Tim Lanane said that initiative could equate to opening the budget and allow lawmakers to consider the taxes this year.
“We need to come up with a tax that makes sense,” he said, “a tax which would be discouraging to youth participation in vaping.”
Rep. Terri Austin, a Democrat, also said Indiana could take action on so-called open systems that allow consumers to fill the vaping cartridge, often using marijuana. She said this is where many of the health problems stem from.
The state currently allows both open and closed systems to be sold and manufactured.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


UK Edition
Sign in
UK
Home
News
Comment
Sport
Football
Tech
Culture
Life
Fashion
Economy
Money
Travel
Sci & Environment
Education
Edition:
UK
US
AU
View:
Mobile
Desktop
all
news
sport
football
world cup
rugby union
rugby league
cricket
tennis
cycling
boxing
US sports
forumla one
soulmates
jobs


Van Vicker’s 11-Year Old Boy Shows His BIG Swag In New Photo To Mark His Birthday
by Ghbase New WriterVan Vicker’s son turns 11-years today and to mark the memorable day, the celebrated actor shared a photo of him on his IG platform.
The adorable boy, who was referred by Van as his ‘mini me,’ brought his A-swag on in his shades as he posed like rapper waiting to spit some bars in a studio.
Sharing the photo, Van Vicker wrote: That mini me you see right there turns 11 today. I would have put up a most recent pic of him and myself but I will look older so nah, axiomatical right? hahahaha.
I am grateful to God. I am well pleased he is growing into a fine young man. Dad-go Mr. Vee, go Swag, go Son. Mom – go Papi. Siblings – go Vj.


Desktop Client
This extension requires a desktop client that can be downloaded at the link below. The desktop client must be run at least once before this extension will be able to communicate with it.
https://github.com/nicolasjinchereau/acce1er8or/releases
Enabled
Use Acce1er8or to download files
Filter
Filter Type
inclusive
exclusive
Filtered Extensions
Add
Apply


Happy Birthday guys!
Made the CSS/Javascript animation off of a game called 2048.
Move the letter tiles around to get your bday wish!
Again?
Happy Birthday guys! Made the CSS/Javascript animation off of a game called 2048. Move the letter tiles around to get your bday wish!


public class MyProfile
extends Activity
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
EXTRA_CHOICE |
| Constructor and Description |
|---|
MyProfile() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
onCreateOptionsMenu(Menu menu) |
boolean |
onOptionsItemSelected(MenuItem item) |
void |
toAddLocation(View v)
this goes to the activity that allows the user to change the location that they have originally set
to the user profile
|
void |
toCached(View v)
This starts an activity of the data that has been cached to the users device
because they have viewed it
|
void |
toFav(View v)
This starts an activity of the data that has been favourite by the user to
their device because they have selected to favourite it
|
void |
toMyQuestions(View v)
This starts an activity of the data that has been authored by the user to
their device because they have created the questions
|
void |
toReadLater(View v)
This starts an activity of the data that has been chose to read later by the user to
their device because they have selected the read later button
|
public static final java.lang.String EXTRA_CHOICE
public void toCached(View v)
v
- the view that is being changed to the activity of cached datapublic void toFav(View v)
v
- is the view that is being changed to the activity of favouritespublic void toReadLater(View v)
v
- is the view that is being changed to the activity of read laterpublic void toMyQuestions(View v)
v
- is the view that is being changed to the activity of their authored questionspublic void toAddLocation(View v)
v
- is the view that is being changed to the activity of the location changing activitypublic boolean onCreateOptionsMenu(Menu menu)
public boolean onOptionsItemSelected(MenuItem item)


c-subsetting_a_dataframe_with_dplyr.Rmd
This tutorial will show you how to remove unwanted columns and subset particular rows from a dataset.
The shroom package contains a dataset with thousands of data points collected by over 200 students in 14 class sections researching 18 different alleles of 6 different genes For many analyses and explorations of this data we’ll want to consider a subset of the data, such as data from:
If you haven’t already, download the shroom package. See the vignette “Loading the shroom package” for details.
Load shroom into your current R session using library()
library(shroom)
Load the wingscores data into your current R sessions
data("wingscores")
We’ll use tools from the “tidyverse” to subset the data, particularly the dplyr functions
We’ll also need the dplyr package.
Download it if you haven’t already.
## don't run this if you have already downloaded dplyr before
# (remove "#" to run code)
# install.packages("dplyr")
Load dplyr into your current R sessions
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
The wingscores data is big: 7754 rows by 16 columns
dim(wingscores)
#> [1] 7754 16
nrow(wingscores)
#> [1] 7754
ncol(wingscores)
#> [1] 16
Each row is data on a single fly scored for “wing crinklieness” by a student single studnet.
Many of the columns are not necessary for carrying out an analysis. For example the column “file” is just the original Excel file that the student entered their data in to.
summary(wingscores$file, 5)
#> Wing_189.xlsm Wing_243.xlsm Wing_169.xlsm Wing_152.xlsm (Other)
#> 72 72 69 67 7474
Many of the columns in the dataset are not informative for any kind of analysis. For simple, preliminary data exploration and analyses we also don’t want all ~7500 rows of data.
What we’ll do next is
We can remove a single column by using the syntax “select(-column.name)”, with a “-” in front of the column name to indicate we want it removed. Note that the word file does not have quotes around it.
wingscores.no.file.name <- wingscores %>%
select(-file)
The original dataframe had 16 columns; without the “file” column it just has 15.
ncol(wingscores)
#> [1] 16
ncol(wingscores.no.file.name)
#> [1] 15
We can just write out all the columns we don’t want, putting a “-” before each column name. Again, no quotation marks involved.
wingscores2 <- wingscores %>%
select(-gene,
-seat,
-section,
-loaded,
-stock.num,
-file,
-temp.C,
-group,
-gene.allele)
The dataframe now has only 7 columns
dim(wingscores2)
#> [1] 7754 7
There are about 250 students and each is assigned a sequential ID number.
summary(wingscores2$student.ID)
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 1.0 61.0 134.0 126.9 187.0 251.0
If we just want to look at the #1’s (the 1st student) we can use the filter() function. Note the double equals signs (“==”) means “equals to” and is different than a single equals sign “=”.
wingscores_s1 <- wingscores2 %>%
filter(student.ID == 1)
This results in a dataframe with just the 60 flies which student 1 worked on.
dim(wingscores_s1)
#> [1] 60 7
We can subset by multiple conditions using “&” between conditions. Let’s subset just the female (karyotype of XX, coded “F” in the data) flies from student 1.
wingscores_s1F <- wingscores_s1 %>%
filter(student.ID == 1 &
sex == "F")
There’s one row of data for each fly. Student 1 looked at just 24 flies.
dim(wingscores_s1F)
#> [1] 24 7
We can also subset by multiple conditions using %in% and a vector of possibilities.
Students 1, 2 and 3 are all in section 1 of the lab and all worked on different alleles of the same gene, able. I can select them by filtering by all student IDs “in” a vector (a type of R object) containing the numbers 1, 2 and 3.
The function “in” is a bit odd: %in%
A vector possibilities would look like this: c(1,2,3)
wngscrs_sxn1_able <- wingscores.no.file.name %>%
filter(student.ID %in% c(1,2,3))
These 3 students together looked 159 flies
dim(wngscrs_sxn1_able)
#> [1] 159 15
This code below is equivalent to what we just did, using c(1:3) instead of c(1,2,3)
wngscrs_sxn1_able <- wingscores.no.file.name %>%
filter(student.ID %in% c(1:3))
Similarly, I can subset the first 18 students, who all were in the same lab section. “c(1:18)” Produces a vector containing all numbers 1 to 18.
wngscrs_sxn1 <- wingscores.no.file.name %>%
filter(student.ID %in% c(1:18))


/** * @class Number * * Creates a wrapper object to allow you to work with numerical values. * * The primary uses for the `Number` object are: * * If the argument cannot be converted into a number, it returns `NaN`. * * In a non-constructor context (i.e., without the `new` operator), `Number` can * be used to perform a type conversion. * * # Using the `Number` object to assign values to numeric variables * * The following example uses the `Number` object's properties to assign values to * several numeric variables: * * biggestNum = Number.MAX_VALUE; * smallestNum = Number.MIN_VALUE; * infiniteNum = Number.POSITIVE_INFINITY; * negInfiniteNum = Number.NEGATIVE_INFINITY; * notANum = Number.NaN; * * # Using `Number` to convert a `Date` object * * The following example converts the `Date` object to a numerical value using * `Number` as a function: * * var d = new Date("December 17, 1995 03:24:00"); * print(Number(d)); * * This displays "819199440000". * * The following example converts the Date object to a numerical value using * `Number` as a function: * *
 * Documentation for this class comes from MDN * and is available under Creative Commons: Attribution-Sharealike license. *
 */ /** * @method constructor * Creates new Number object. * @param value * The numeric value of the object being created. */ //Properties /** * @property {Number} MAX_VALUE * @static * The largest positive representable number. The largest negative representable * number is `-MAX_VALUE`. * * The `MAX_VALUE` property has a value of approximately 1.79E+308. Values larger than `MAX_VALUE` are * represented as `"Infinity"`. * * Because `MAX_VALUE` is a static property of `Number`, you always use it as `Number.MAX_VALUE`, * rather than as a property of a `Number` object you created. * * The following code multiplies two numeric values. If the result is less than or equal to * `MAX_VALUE`, the `func1` function is called; otherwise, the `func2` function is called. * * if (num1 * num2 <= Number.MAX_VALUE) * func1(); * else * func2(); */ /** * @property {Number} MIN_VALUE * @static * The smallest positive representable number -- that is, the positive number * closest to zero (without actually being zero). The smallest negative * representable number is `-MIN_VALUE`. * * The `MIN_VALUE` property is the number closest to 0, not the most negative number, that JavaScript * can represent. * * `MIN_VALUE` has a value of approximately 5e-324. Values smaller than `MIN_VALUE` ("underflow * values") are converted to 0. * * Because `MIN_VALUE` is a static property of `Number`, you always use it as `Number.MIN_VALUE`, * rather than as a property of a `Number` object you created. * * The following code divides two numeric values. If the result is greater than or equal to * `MIN_VALUE`, the `func1` function is called; otherwise, the `func2` function is called. * * if (num1 / num2 >= Number.MIN_VALUE) * func1() * else * func2() */ /** * @property {Number} NaN * @static * Special "not a number" value. */ /** * @property {Number} NEGATIVE_INFINITY * Special value representing negative infinity; returned on overflow. * * The value of `Number.NEGATIVE_INFINITY` is the same as the negative value of the global object's * Infinity property. * * This value behaves slightly differently than mathematical infinity: * * * Any positive value, including POSITIVE_INFINITY, multiplied by NEGATIVE_INFINITY is NEGATIVE_INFINITY. * * Any negative value, including NEGATIVE_INFINITY, multiplied by NEGATIVE_INFINITY is * POSITIVE_INFINITY. * * Zero multiplied by NEGATIVE_INFINITY is NaN. * * NaN multiplied by NEGATIVE_INFINITY is NaN. * * NEGATIVE_INFINITY, divided by any negative value except NEGATIVE_INFINITY, is * POSITIVE_INFINITY. * * NEGATIVE_INFINITY, divided by any positive value except POSITIVE_INFINITY, is * NEGATIVE_INFINITY. * * NEGATIVE_INFINITY, divided by either NEGATIVE_INFINITY or POSITIVE_INFINITY, is NaN. * * Any number divided by NEGATIVE_INFINITY is Zero. * * Several JavaScript methods (such as the `Number` constructor, `parseFloat`, and `parseInt`) return * `NaN` if the value specified in the parameter is significantly lower than `Number.MIN_VALUE`. * * You might use the `Number.NEGATIVE_INFINITY` property to indicate an error condition that returns a * finite number in case of success. Note, however, that `isFinite` would be more appropriate in such * a case. * * In the following example, the variable smallNumber is assigned a value that is smaller than the * minimum value. When the `if` statement executes, `smallNumber` has the value `"-Infinity"`, so * `smallNumber` is set to a more manageable value before continuing. * * var smallNumber = (-Number.MAX_VALUE) * 2 * if (smallNumber == Number.NEGATIVE_INFINITY) { * smallNumber = returnFinite(); * } */ /** * @property {Number} POSITIVE_INFINITY * Special value representing infinity; returned on overflow. * * The value of `Number.POSITIVE_INFINITY` is the same as the value of the global object's Infinity * property. * * This value behaves slightly differently than mathematical infinity: * * * Any positive value, including POSITIVE_INFINITY, multiplied by POSITIVE_INFINITY is * POSITIVE_INFINITY. * * Any negative value, including NEGATIVE_INFINITY, multiplied by POSITIVE_INFINITY is * NEGATIVE_INFINITY. * * Zero multiplied by POSITIVE_INFINITY is NaN. * * NaN multiplied by POSITIVE_INFINITY is NaN. * * POSITIVE_INFINITY, divided by any negative value except NEGATIVE_INFINITY, is * NEGATIVE_INFINITY. * * POSITIVE_INFINITY, divided by any positive value except POSITIVE_INFINITY, is * POSITIVE_INFINITY. * * POSITIVE_INFINITY, divided by either NEGATIVE_INFINITY or POSITIVE_INFINITY, is NaN. * * Any number divided by POSITIVE_INFINITY is Zero. * * Several JavaScript methods (such as the `Number` constructor, `parseFloat`, and `parseInt`) return * `NaN` if the value specified in the parameter is significantly higher than `Number.MAX_VALUE`. * * You might use the `Number.POSITIVE_INFINITY` property to indicate an error condition that returns a * finite number in case of success. Note, however, that `isFinite` would be more appropriate in such * a case. * * In the following example, the variable `bigNumber` is assigned a value that is larger than the * maximum value. When the if statement executes, `bigNumber` has the value "Infinity", so `bigNumber` * is set to a more manageable value before continuing. * * var bigNumber = Number.MAX_VALUE * 2 * if (bigNumber == Number.POSITIVE_INFINITY) { * bigNumber = returnFinite(); * } */ //Methods /** * @method toExponential * Returns a string representing the number in exponential notation. * * A string representing a `Number` object in exponential notation with one digit before the decimal * point, rounded to `fractionDigits` digits after the decimal point. If the `fractionDigits` argument * is omitted, the number of digits after the decimal point defaults to the number of digits necessary * to represent the value uniquely. * * If you use the `toExponential` method for a numeric literal and the numeric literal has no exponent * and no decimal point, leave a space before the dot that precedes the method call to prevent the dot * from being interpreted as a decimal point. * * If a number has more digits that requested by the `fractionDigits` parameter, the number is rounded * to the nearest number represented by `fractionDigits` digits. See the discussion of rounding in the * description of the `toFixed` method, which also applies to `toExponential`. * * var num=77.1234; * * alert("num.toExponential() is " + num.toExponential()); //displays 7.71234e+1 * * alert("num.toExponential(4) is " + num.toExponential(4)); //displays 7.7123e+1 * * alert("num.toExponential(2) is " + num.toExponential(2)); //displays 7.71e+1 * * alert("77.1234.toExponential() is " + 77.1234.toExponential()); //displays 7.71234e+1 * * alert("77 .toExponential() is " + 77 .toExponential()); //displays 7.7e+1 * * @param {Number} fractionDigits An integer specifying the number of digits after the decimal * point. Defaults to as many digits as necessary to specify the number. * @return {String} Exponential notation of number. */ /** * @method toFixed * Returns a string representing the number in fixed-point notation. * * @return {String} A string representation of `number` that does not use * exponential notation and has exactly `digits` digits after the decimal place. * The number is rounded if necessary, and the fractional part is padded with * zeros if necessary so that it has the specified length. If `number` is greater * than 1e+21, this method simply calls `Number.toString()` and returns a string * in exponential notation. * * @param {Number} digits The number of digits to appear after the decimal point; this may be a * value between 0 and 20, inclusive, and implementations may optionally support a larger range of * values. If this argument is omitted, it is treated as 0. */ /** * @method toLocaleString * Returns a human readable string representing the number using the locale of the * environment. Overrides the `Object.prototype.toLocaleString` method. * * This method available to numbers will convert the number into a string which is suitable for * presentation in the given locale. * * var number = 3500 * console.log(number.toLocaleString()); // Displays "3,500" in English locale * * @return {String} String representing the number. */ /** * @method toPrecision * Returns a string representing the number to a specified precision in fixed- * point or exponential notation. * * A string representing a `Number` object in fixed-point or * exponential notation rounded to precision significant digits. See the * discussion of rounding in the description of the `toFixed` method, which also * applies to `toPrecision`. * * If the precision argument is omitted, behaves as Number.toString. If it is a * non-integer value, it is rounded to the nearest integer. After rounding, if * that value is not between 1 and 100 (inclusive), a RangeError is thrown. * * @param {Number} precision An integer specifying the number of significant digits. * @return {String} String that represents `Number` object. */ /** * @method toString * Returns a string representing the specified object. Overrides the * `Object.prototype.toString` method. * * The `Number` object overrides the `toString` method of the `Object` object; it does not inherit * `Object.toString`. For `Number` objects, the toString method returns a string representation of the * object in the specified radix. * * The `toString` method parses its first argument, and attempts to return a string representation in * the specified radix (base). For radixes above 10, the letters of the alphabet indicate numerals * greater than 9. For example, for hexadecimal numbers (base 16), A through F are used. * * If `toString` is given a radix not between 2 and 36, an exception is thrown. * * If the radix is not specified, JavaScript assumes the preferred radix is 10. * * var count = 10; * print(count.toString()); // displays "10" * print((17).toString()); // displays "17" * * var x = 7; * print(x.toString(2)); // displays "111" * * @param {Number} radix An integer between 2 and 36 specifying the base to use for representing * numeric values. * @return {String} The number represented as a string. */ /** * @method valueOf * Returns the primitive value of the specified object. Overrides the * `Object.prototype.valueOf` method. * * The `valueOf` method of `Number` returns the primitive value of a `Number` object as a number data * type. * * This method is usually called internally by JavaScript and not explicitly in code. * * var x = new Number(); * print(x.valueOf()); // prints "0" * * @return {Number} The primitive value of the number. */


Static Resource Grafting Demo
Demo of static resource grafting.
Instructions
- Observe that the two demo paragraphs below indicate that they have not been "grafted."
- Install the "Static Resource Grafter" Chrome extension:
- Check out the
mihaip/web-experiments
GitHub repository and find the static-resource-grafting
subdirectory within it.
- Go to the "Extensions" tab of Chrome's settings panel.
- Enable "Developer mode".
- Using the "Load unpacked extension…" button pick the
extension
directory
- Start the local "development" server
- Go into the
static-resource-grafting
directory.
- Run
python -m SimpleHTTPServer 8000
.
- Verify that http://localhost:8000/grafted/ shows the two files that are to be grafted.
- Reload this page.
- Observe that the two demo paragraphs below now indicate that they have been "grafted."
Script Grafting
Style Grafting
If styles have been grafted then this paragraph will have a green outline.


Notes
- Tasks are grouped by their ID and may have subtasks (e.g. the actual API calls)
- Some tasks may have a very short duration which makes them almost invisible
- Hover over the start or end of a task to get more information
- Request and Response of subtasks are grouped together and visible in the tooltips
|


Returns the position of the first occurrence of a specified value in a string. Case sensitive.
Return 0 if it doesn’t find any match.
| Box Name | Type | Description |
|---|---|---|
| Variable | String | Variable name to save the position |
| String | String | String to search |
| Find String | String | String to search for |
| Value to search for | String | Position returned |
|---|---|---|
| “hello” | “hello and hello world” | 1 |
| “hello” | “Hello and hello world” | 11 |
| “hello” | “Hello and Hello world” | 0 |


|
Raph_Kernel
1bcb0fd27ed9fac05599e47edba8c7345459a143 (with uncommitted changes)
|
Classes | |
| struct | Header |
Public Member Functions | |
| struct UdpLayer::Header | __attribute__ ((packed)) |
| void | SetPort (uint16_t port) |
| void | SetPeerPort (uint16_t port) |
| Public Member Functions inherited from ProtocolStackLayer | |
| bool | Setup (ProtocolStackLayer *parent) |
| virtual void | Destroy () |
| bool | hasNext () |
| bool | AddLayer (ProtocolStackLayer *layer) |
| virtual void | SetReceiveCallback (CpuId cpuid, const Function &func) |
| virtual bool | ReceivePacket (NetDev::Packet *&packet) |
| virtual bool | ReuseRxBuffer (NetDev::Packet *packet) |
| virtual bool | TransmitPacket (NetDev::Packet *packet) |
| virtual bool | FetchTxBuffer (NetDev::Packet *&packet) |
Protected Member Functions | |
| virtual int | GetProtocolHeaderLength () |
| virtual bool | FilterPacket (NetDev::Packet *packet) |
| virtual bool | PreparePacket (NetDev::Packet *packet) |
| Protected Member Functions inherited from ProtocolStackLayer | |
| virtual bool | SetupSubclass () |
| void | AttachProtocolHeader (NetDev::Packet *packet) |
| void | DetachProtocolHeader (NetDev::Packet *packet) |
Private Attributes | |
| uint16_t | _port |
| uint16_t | _peer_port |
Additional Inherited Members | |
| Protected Attributes inherited from ProtocolStackLayer | |
| ProtocolStackLayer * | _next_layer = nullptr |
|
protectedvirtual |
Filter the received packet by its header content.
| packet |
Reimplemented from ProtocolStackLayer.
|
inlineprotectedvirtual |
|
protectedvirtual |
Make contents of the header before transmitting the packet.
| packet |
Reimplemented from ProtocolStackLayer.
|
inline |
Set peer UDP port.
| port |
|
inline |
Set my UDP port.
| port |
|
private |
port number of the peer
|
private |
port number of this connection


Welcome to BreachAlert!
About Us
We are an application focused on keeping your information and accounts safe by alerting you if a breach on any of your accounts has happened!
Download the App
Download the application!
Contact Us
Help and further information can be founnd here.
Popup Test
Breach Alert has detected a breach on your account


Type-safe utility library for creating nested Immutable Records
Immutable.js is a great library. Unfortunatelly, in v3 it does not support nested Records well, making its usability less pleasant.
The main purpose of this libary is to make our (my) life easier and reduce the amount of boilerplate code by providing a robust and typesafe wrapper around Immutable.Record class which initializes all other nested Immutable classes. It works like fromJS
but for Record
.
The following example shows a very basic use of compose-class
using nested Records.
import { compose } from 'compose-record';
const Address = compose({
name: "Address",
properties: {
street: { type: String },
apt: { type: Number }
}
});
const Profile = compose({
name: "Profile",
properties: {
name: { type: String },
address: { type: Address }
}
});
const p = new Profile();
console.log(p.toJS());
/*
* {
* name: ''
* address: {
* street: '',
* apt: 0
* }
* }
* /
All properties support custom default value. By default, these values are defined by their types.
import { compose } from 'compose-record';
const Address = compose({
name: "Address",
properties: {
street: { type: String },
apt: { type: Number }
}
});
const Profile = compose({
name: "Profile",
properties: {
name: {
type: String,
defaultValue: 'unknown'
},
address: {
type: Address,
defaultValue: {
street: 'unknown',
apt: -1
}
}
}
});
const p = new Profile();
console.log(p.toJS());
/*
* {
* name: 'unknown',
* address: {
* street: 'unknown',
* apt: -1
* }
* }
*/
compose-record
allows you to extend your Records with other(s).
import { compose } from 'compose-record';
const Entity = compose({
name: "Entity",
properties: {
id: { type: Number }
}
});
const User = compose({
name: "User",
extends: Entity,
properties: {
name: { type: String }
}
});
const u = new User();
console.log(p.toJS());
/*
* {
* id: 0,
* name: ''
* }
*/
That all works fine with Record and primitive types. But what if we need to have a List or a Map with nested Records? compose-record
has a special option for these: items
.
items
is a nested type descriptor that informs compose-record
how to wrap the underlying values.
It's optional, by default compose-record
will use a value as it is.
import { compose } from 'compose-record';
import { List } from 'immutable';
const User = compose({
name: 'User',
properties: {
name: { type: String }
}
});
const Group = compose({
name: 'Group',
properties: {
users: {
type: List,
items: {
type: User
}
}
}
});
const u = new Group({
users: [
{ name: 'Mike Wazowski' },
{ name: 'James P. Sullivan' }
]
});
console.log(p.toJS());
/*
* {
* users: [
* { name: 'Mike Wazowski' },
* { name: 'James P. Sullivan' }
* ]
* }
*/
You can build even more complex scenarios:
import { compose } from 'compose-record';
import { List, Map } from 'immutable';
const User = compose({
name: 'User',
properties: {
name: { type: String }
}
});
const Group = compose({
name: 'Group',
properties: {
users: {
type: Map,
items: {
type: List,
items: {
type: User
}
}
}
}
});
const u = new Group({
users: {
monsters: [
{ name: 'Mike Wazowski' },
{ name: 'James P. Sullivan' }
],
humans: [
{ name: 'Boo' }
]
}
});
console.log(p.toJS());
/*
* {
* users: {
* monsters: [
* { name: 'Mike Wazowski' },
* { name: 'James P. Sullivan' }
* ],
* humans: [
* { name: 'Boo' }
* ]
* }
* }
*/
Note: There is one caveat: It works only for constructors. All further inserts require you to pass an instance of a nested Record. This is a limiation of compose-record
which might be solved in the future.
Current work around is to get a type descriptor and use Record.createPropertyInstance()
method:
import { compose } from 'compose-record';
import { List, Map } from 'immutable';
const User = compose({
name: 'User',
properties: {
name: {
type: String,
},
},
});
const Group = compose({
name: 'Group',
properties: {
users: {
type: List,
items: {
type: User,
},
},
},
});
const desc = Group.getPropertyDescriptors();
const u = Group.createPropertyInstance<User>(desc.users.items, {
name: 'Mike Wazowski',
});
const g = new Group();
console.log(g.users.push(u).toJS());
/*
* {
* users: [
* { name: 'Mike Wazowski' },
* ]
* }
*/
Since version 1.3, it is possible to create a factory function type that is executed as a regular function in order to get a custom value (usually mixed).
Here is an example:
import { Immutable, compose } from 'compose-record';
enum Role {
User,
Admin,
Owner,
}
interface User extends Immutable {
username: string;
role: Role;
}
const UserRecord = compose<User>({
name: 'User',
properties: {
username: {
type: String,
},
role: {
type: compose.factory<Role, string>((value?: string) => {
let result = Role.User;
switch (value) {
case 'user':
result = Role.User;
break;
case 'admin':
result = Role.Admin;
break;
case 'owner':
result = Role.Owner;
break;
}
return result;
}),
},
},
});
Generated using TypeDoc


Homeowner shoots, kills apparent intruder in Louisiana
by KATC StaffVERMILION PARISH, La. - Deputies in Vermilion Parish, Louisiana, are investigating after a homeowner shot an intruder during an alleged home invasion.
A spokesman with the sheriff's office says 29-year-old Landon Hebert allegedly broke into a residence on around 2:15 this morning when he encountered the home owner.
Deputies say the home owner fired a weapon killing Hebert.
The investigation is ongoing, and the case will be forwarded to the District Attorney's office for further review.
This article was written by KATC Staff.


I'm a lover of all things code and a real JavaScript junkie!
I work efficiently with JavaScript frontend frameworks like React for a great web designing touch
On whatever project I do, I stay extremely focused on design, keeping in mind the theme of the website in it's entirety
This is a personal project meant to be a template for a news website, centered around entertainment and sports. The cards lead to the individual news stories, and below are other news stories. The slide contains latest news and is continually updated as more news stories arrive. The news on this site centres around tech, business, movies, comics, and the miscellaneous.
This is another personal project of mine meant to be a health and garden centered website that would give users dietary information and health benefits of vegetables, always reminding them to take their servings of leafy greens, or help them grow the vegetables in their gardens, keeping them aware of plant diseases and good gardening practices.
Want to contact me for more information or to work together on a project? Great!


Reports when Optional.get() method is called without previous checking that optional is definitely not empty.


Fat Bob.
The 2018 Fat Bob comes with loads of cool new features a small selection of these are, Inverted forks, dual disk front brakes, 2-1-2 exaust and many more features that will want any motorbike guy want one.
The new inverted front forks deliver the most precise handling a rider could ask for.
The engine is not short on power and these high performance dual disk brakes help the rider keep that power in check when needed.
The 2-1-2 exhaust is a big performance inspired exhaust upswept with an amazing custom contrast finish.
The bold aluminum wheels have the most aggressive fat tires give the rider asphalt eating traction for those quick starts.
The Big Twin Engine delivers power smoothness and a crisp throttle along with the classic rumble from any Fat Bob.
The LED lights give the rider an amazing riding experience on the darkest of nightsand during the day making sure all eyes are focused on you the rider.
The new high perfoprmance front suspension provides the performance of a racing style cartridge fork but with less weight.
The all new Mono rear shock suspension allows for dymanic cornering capability while keeping the classic look of a hardtail.
The 2018 Fat Bob costs an excellent £13244 but remember the price may vary depending on where you live or your payment method.


layout: true --- class: middle .center[ # Adding Async Algorithms to std #### algorithms for values distributed in time ]
??? > * structure as interview (slide per question) with answer prompts in the notes --- # me .center[ ## .green[ ## I love code ] ] ??? > * team meeting .green[weekly number] good week/bad week --- # me .center[ ## .green[ I work at microsoft ] ] ??? > * roomate in CS - .green[homework] was easy. > * took windows programming class for fun. classmate insisted that I send resume. became intern then contractor then employee --- #what is the goal here? * ## .green[additive] to existing (stl, rangev3, parrallel_stl) * ## .green[scan] dense material * ## .green[derive] requirements from selected algorithms ??? > * .green[additive] - space vs. time, minimal vs. maximal resources. > * .green[scan] - go fast through dense slides then questions at end. > * .green[derive] - find the requirements for the __iterator__ for async algorithms --- #What are examples of values distributed in time? ??? --- module: Context function: intervalsv3 types: arguments: output: rxv3output # ints distributed in time .split-60[ .column[ __code__ (rxcppv3) ```cpp auto threeeven = copy_if(even) | take(3) | `delay`(makeStrand, 1s); intervals(makeStrand, steady_clock::now(), 1s) | threeeven | as_interface
() | finally([](){cout << "caller stopped" << endl;}) | printto(cout) | start
(subscription{}, destruction{}); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? > * C++ code is compiled with emscripten and running live in the slides, triggered by slide transitions > * rxccpv3 is a poc using C++14 > * scheduling time with strands --- ## delay
??? > * needs to schedule a function for .green[later] > * live .green[marble] diagrams > * .green[top line] is input values in time > * .green[bottom line] is output values in time --- # ux events distributed in time __code__ (coroutine algorithms) ```cpp std::future
AddVisuals(CoreWindow window, VisualCollection visuals) { for co_await (auto move : window.co_PointerPressed() | transform([](auto press) -> float2 {return press.args.CurrentPoint().Position(); }) | `filter`([](auto point) {return !VisualAndOffsetFromPoint(visuals, point).first; })) { AddVisual(visuals, point); } } ``` ??? > * co_algorithm is a poc using proposed co_await feature > * co_PointerPressed is a poc addition to the moderncpp library --- ## copy_if
??? > needs to selectively pass to the next handler --- # ux events distributed in time __code__ (coroutine algorithms) ```cpp std::future
MoveVisuals(CoreWindow window, VisualCollection visuals) { for co_await (auto move : `window.co_PointerPressed()` | transform([](auto press) -> float2 {return press.args.CurrentPoint().Position(); }) | transform([=](auto point) {return VisualAndOffsetFromPoint(visuals, point); }) | filter([](auto selected) {return !!selected.first; }) | transform([=](auto selected) { MoveToTop(visuals, selected.first); return `window.co_PointerMoved()` | transform([](auto move) -> float2 {return move.args.CurrentPoint().Position(); }) | transform([=](auto point) { auto to = float2{ point.x + selected.second.x, point.y + selected.second.y }; return std::make_pair(selected.first, to); }) | take_until(`window.co_PointerReleased()`); }) | `merge`()) { move.first.Offset({ move.second.x, move.second.y, 0.0f }); } } ``` ??? > * produces a new sequence of moves for a selected item that starts on each press and stops when released --- ## merge
??? > needs to merge values from multiple sources --- function: rxmousedrags output: rxmousedragsoutput # ux events distributed in time .split-60[ .column[ __code__ (rxcpp) ```cpp auto down$ = mousedown$("#window"); auto up$ = mouseup$("#window"); auto move$ = mousemove$("#window"); down$ | flat_map([=](MouseEvent){ return move$ | `take_until`(up$) | map([](MouseEvent){return 1;}) | start_with(0) | sum(); }) | map( [](int c){ return to_string(c) + " moves while mouse down"; }) | subscribe(println(cout)); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? > * rxcpp is a complete library with many algorithms that is designed for .green[C++11] > * on each mouse up, .green[print] the number of mouse moves since mouse down. > * shows how you can .green[adapt] existing sequences to async algorithms > * the mouse event functions wrap .green[HTML DOM addeventlistener] access provided by emscripten. > * .green[$] is used to indicate a source of values over time. Popularized by @stalz --- ## take_until
??? > * needs to stop the source early when the trigger value arrives --- function: rxlinesfrombytes types: number,number,number arguments: 1000, 4, 11 output: rxlinesfrombytesoutput # packets of bytes distributed in time .split-60[ .column[ __code__ (rxcpp) ```cpp asyncReadBytes() | tap(`printVectorOfBytes`) | concat_map(vectorOfStringsFromVectorOfBytes) | group_by(groupFromString) | flat_map(appendGroupStrings) | subscribe(`println(cout)`); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? > * a .green[packet] of bytes arrives once a second and is printed. > * each set of bytes is .green[split] on `\r` > * sets ending in '\r' are .green[grouped] into lines > * and then each group is .green[reduced] into a single line and then printed --- function: rxhttp types: string, number arguments: https://raw.githubusercontent.com/Reactive-Extensions/RxCpp/master/README.md, 80 output: rxhttplocalhostoutput # http requests distributed in time .split-60[ .column[ __code__ (rxcpp) ```cpp struct data { int size; string firstLine;}; struct model { map
store; }; httpGet("https://aka.ms/rxcppreadme") | flat_map([](response_t r) { return r.progress() | `combine_latest`( [=](progress_t p, vector
d){ return make_tuple(r.url(), p, d); }, r.load()) | `scan`( model{}, updateModelFromTuple); }) | subscribe(println(cout)); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? > * .green[combines] progress and load signals from many requests into a model. > * a common pattern is to .green[scan] into a model. the result is a source of model updates > * in the JS world, scan to a model is an implementation of the .green[`flux`] concept. > * httpGet wraps .green[`XmlHttpRequest`] access provided by emscripten. --- ## scan
??? > * scan .green[holds] `x` as state. > * the .green[updator] function is called when each value arrives. > * `x` is assigned the .green[result] of the function. > * the current value of `x` is .green[emitted]. --- name: whyalgo #why alogrithms? * ## .green[documented] * ## .green[stable] * ## .green[optimized] * ## .green[descriptive] ??? > * the .green[behavior], .green[complexity] and .green[tradeoffs] selected are documented and consistent across implementations > * the implementation is .green[well specified], .green[tested] and .green[actively maintained] > * the implementation is .green[minimal] and .green[efficient] > * the usage .green[describes] the steps clearly (transform and copy_if vs for loop and an if statement) > * after a while looking at raw callbacks and promises will become an excercise in .green[finding the set of algorithms] that it re-implements --- ##what do algorithms operate on? ??? > * algorithms deal with sequences of .green[values] --- #What ways can a sequence be delivered? ??? --- #What ways can a sequence be delivered? .split-50[ .column[ ## in space * ## .green[vector] of mouse positions * ## .green[generator] of mouse positions ] .column[ `using mouseMoves = vector
>;` `$$ \begin{array}{|c|c|c|c|c|} \hline 0,0 & 100,100 & 200,200 & 300,300 & 400,400\\ \hline \end{array} $$` ```cpp auto mouseMoves(int start, int end) -> std::generator
> { for(;start != end; ++start){ auto position = start * 100; co_yield make_tuple(position, position); } } ``` ] ] ??? > * values distributed in .green[space] > * stl, rangev3 --- #What ways can a sequence be delivered? .split-50[ .column[ ## in time * ## mouse move .green[events] * ## network .green[packets] ] .column[ ```cpp auto window::mouseMoves() -> co_generator
> { for co_await(auto event : events()) { if (event.id == MOUSEMOVE) { co_yield mousePositionFrom(event); } } } auto socket::bytes() -> co_generator
> { vector
out; while (out = co_await read(. . .)) { co_yield out; } } ``` ] ] ??? > * values distributed in .green[time] > * rxcpp --- # ReactiveExtensions * ## .green[algorithms] for values distributed in time * ## .green[implementations] for many [languages](http://reactivex.io/languages.html) ??? > * .green[rxcpp] - not the only way to represent the requirements > * .green[rxcpp] - extensive community and prod usage (netflix, microsoft, etc..) > * .green[algorithms] - have you watched .green[sean parent]'s _avoid raw loops_ talk? > * .green[algorithms] - have you watched .green[eric neibler]'s _calendar printer_ talk using range-v3? --- # what algorithms are supported in rxcpp? __rxcpp__ uses cpp11 in vs2013, vs2015, clang and gcc .split-40[ .column[ * ### .green[Combining] * amb, buffer, combine_latest, concat, concat_map, flat_map, group_by, merge , switch_if_empty, switch_on_next, window, window_toggle, with_latest_from, zip * ### .green[Transforming] * delay, map, pairwise, on_error_resume_next, reduce, scan ] .column[ * ### .green[Filtering] * default_if_empty, distinct, distinct_until_changed, element_at, ignore_elements, take, take_last, take_until, skip, skip_last, skip_until, sample, debounce, filter * ### .green[Others] * all, contains, exists, observe_on, publish, repeat, replay, retry, sequence_equal, subscribe_on, tap, time_interval, timeout, timestamp ] ] ??? --- ## what algorithms will help define the concepts? ??? --- ## copy_if
??? > needs to selectively pass to the next handler --- ## last_or_default
??? > needs to know when the source is complete --- ## take
??? > take needs to be able to stop the source early. --- ## delay
??? > needs to schedule a function to be called later --- ## resume_error ![rx catch marble diagram](content/marbles-catch.png) ??? > needs to handle errors by switching to a different source --- ## what features are required to build the desired algorithms? ### .green[rxcppv3] is a proof-of-concept in cpp14 that will be used to explore the requirements ??? --- ## what are the minimum features? .split-40[ .column[ ####sequence concepts ```cpp struct observable { void bind(observer); }; struct observer { template
void next(T); }; struct lifter { observer lift(observer); }; ``` ] .column[ ####sequence implementations ```cpp const auto ints = [](auto first, auto last){ return make_observable([=](auto r){ for(auto i = first;; ++i){ r.next(i); if (i == last) break; } }); }; const auto copy_if = [](auto pred){ return make_lifter([=](auto r){ return make_observer(r, [=](auto& r, auto v){ if (pred(v)) r.next(v); }); }); }; ``` ] ] ??? > Minimum > * a .green[source] of values > * a .green[handler] for values > * algorithms that .green[lift handlers] --- module: Context function: pushv3 types: number,number arguments: 0, 9 output: pushv3output ## push sequence .split-60[ .column[ __code__ ```cpp ints(0, 9) | copy_if(even) | printto(cout) | start
(subscription{}, destruction{}); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? --- ## what needs to change to support last_or_default?
??? > * needs to know when the source is .green[complete] > * also needs to store .green[state] - covered later. --- .split-40[ .column[ ####sequence concepts ```cpp struct observer { template
void next(T); void `complete`(); }; ``` ] .column[ ####sequence implementations ```cpp const auto last_or_default = [](auto def){ return make_lifter([=](auto scbr){ return make_subscriber([=](auto ctx){ auto r = scbr.create(ctx); using last_t = std::decay_t
; auto last = make_state
(ctx.lifetime, def); return make_observer(r, r.lifetime, [last](auto& , auto v){ last.get() = v; }, [last](auto& r){ r.next(last.get()); r.`complete`(); }); }); }); }; ``` ] ] ??? > * .green[copies] each value as it arrives > * when complete, .green[sends] the copied value before sending complete --- module: Context function: lastv3 types: number,number,number arguments: 0, 100000, 42 output: lastv3output ## what needs to change to support last_or_default? .split-60[ .column[ __code__ ```cpp ints(0, 100000) | copy_if(even) | last_or_default(42) | printto(cout) | start
(subscription{}, destruction{}); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? > * 1 million ints are filtered to 500 thousand even ints and then the last even int is printed. --- ## what needs to change to support take?
??? > * needs to be able to stop the source (.green[cancellation]). > * needs to be able to keep .green[state]. --- ## what features are needed to support asynchronous lifetime and cancellation? * ## .green[signal] for explicit cancellation of lifetime graph * ## .green[registration] for cancellation signal * ## .green[nested] lifetime graph * ## .green[make_shared
] equivalent for asynchronous lifetime ??? --- .split-50[ .column[ ####sequence concepts ```cpp struct subscription { bool is_stopped(); void stop(); // `signal` // `registration` void insert(function
stopper); // `nested` void insert(const subscription& s); void erase(const subscription& s); // `make_shared
` template
state
make_state( ArgN... argn); }; template
struct context { subscription lifetime; Payload& get(); }; ``` ] .column[ ####sequence concepts ```cpp struct starter { template
subscription start(context
); }; struct subscriber { template
observer create(context
); }; struct observable { starter bind(subscriber); }; struct lifter { subscriber lift(subscriber); }; struct adaptor { observable adapt(observable); }; ``` ] ] ??? > * subscription .green[owns] the lifetime of a subscribed expression. > * subscription lifetimes can be .green[nested]. > * .green[stop] will call stop on all nested subscriptions then call all registered stoppers in the .green[inverse] order they were inserted. > * .green[make_state] will allocate heap that is scoped by the subscription lifetime. all the state is destructed when the last copy of the subscription is destructed. > * .green[adaptor] and .green[lifter] are two different ways to implement algorithms > * .green[subscriber] allows late binding of the lifetime to an observer > * .green[starter] allows lazy start of a completed expression --- ####sequence implementations ```cpp const auto take = [](int n){ return make_adaptor([=](auto source){ return make_observable([=](auto scrb){ return source.bind( make_subscriber([=](auto ctx){ auto r = scrb.create(ctx); auto remaining = `make_state
`(r.lifetime, n); auto lifted = make_observer(r, r.lifetime, [remaining](auto& r, auto v){ r.next(v); if (--remaining.get() == 0) { r.`complete`(); } }); if (n == 0) { lifted.`complete`(); } return lifted; })); }); }); }; ``` ??? > * expanded .green[make_observer], that can pass observer calls through by default and connect the lifetime. > * use async state to store the last value. > * use complete to stop the lifetime early --- module: Context function: takev3 types: number,number,number arguments: 0, 9, 3 output: takev3output ## what needs to change to support take? .split-60[ .column[ __code__ ```cpp ints(0, 9) | copy_if(even) | take(3) | printto(cout) | start
(subscription{}, destruction{}); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? --- ## what needs to change to support failure? ??? > * the exception must be .green[caught] > * the exception must be .green[sent] to the observer > * .green[stop] must be signaled to cancel the expression --- ####sequence concepts ```cpp struct observer { template
void next(T); template
void `error`(E); void complete(); }; ``` ??? > * stop is already working. > * add an error method on the observer > * ensure that calling error then calls stop --- module: Context function: errorv3 types: number,number,number arguments: 0, 9, 3 output: errorv3output ## what needs to change to support failure? .split-60[ .column[ __code__ ```cpp ints(0, 9) | copy_if(always_throw) | take(count) | printto(cout) | start
(subscription{}, destruction{}); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? --- ## what needs to change to support delay?
??? > * need to schedule a function to be called later --- ## what needs to change to support delay? .split-50[ .column[ ####defer concepts ```cpp template
struct `strand` { subscription lifetime; Clock::time_point now(); void defer_at(Clock::time_point, observer); }; template
struct context { subscription lifetime; Clock::time_point now(); void defer_at(Clock::time_point, observer); Payload& get(); }; ``` ] .column[ ####sequence concepts ```cpp struct starter { template
subscription start(context
); }; struct subscriber { template
observer create(context
); }; ``` ] ] ??? > * a strand is a FIFO queue of .green[observers] > * a strand controls the value of .green[now] > * when a strand is .green[stopped] all pending observers are stopped. --- module: Context function: delayv3 types: number, number, number arguments: 1000, 1500, 3 output: delayv3output ## what needs to change to support delay? .split-60[ .column[ __code__ ```cpp intervals(makeStrand, steady_clock::now(), 1s) | printproduced(cout) | delay(makeStrand, 1500ms) | take(3) | printto(cout) | start
(subscription{}, destruction{}); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? --- ## what needs to change to support testing? ??? need to virtualize time --- ## what needs to change to support testing? .split-50[ .column[ ```cpp struct virtual_clock { static bool is_steady() const; time_point `now`() const; void `now`(time_point at); }; ``` ] .column[ ```cpp struct test_loop { void call(item_type& next) const; void step(typename clock_type::duration d) const; void run() const; makeStrand make() const; }; ``` ] ] ??? --- ## what needs to change to support testing? .split-50[ .column[ ```cpp struct recorded { lifetime_record lifespan( time_point start = duration{200}, time_point stop = duration{1000}); marble_record next(time_point at, T v); marble_record error(time_point at, error_t e); marble_record complete(time_point at); observable hot(std::vector
m); observable cold(std::vector
m); //... }; ``` ] .column[ ```cpp //... struct test_result { time_point origin; lifetime_record lifespan; map
> marbles; }; lifter record(string key) const; template
terminator test(test_loop
& tl, lifetime_record l = lifetime_record{}); }; ``` ] ] ??? --- module: TestContext function: testdelayv3 types: number, number, number arguments: 1000, 1500, 3 output: testdelayv3output ## what needs to change to support testing? .split-60[ .column[ __code__ ```cpp rx::test_loop<> loop; rx::recorded
on; auto tr = on.hot({ on.next(on.origin() + 1s * 1, 0), on.next(on.origin() + 1s * 2, 1), on.next(on.origin() + 1s * 3, 2), on.next(on.origin() + 1s * 4, 3), on.next(on.origin() + 1s * 5, 4) }) | printout(cout, "produced") | on.record("produced") | delay(loop.make(), 1500ms) | take(3) | printout(cout, "") | on.record("emitted") | on.test(loop); loop.run(); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? --- module: TestContext>Context function: testdelayv3>delayv3 types: number, number, number>number, number, number arguments: 1000, 1500, 3>1000, 1500, 3 output: testdelayv3rightoutput>delayv3leftoutput ## what needs to change to support testing? .split-50[ .column[ __output__ (emscripten) .emscripten-output[
] ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? --- ## what needs to change to support testing? .split-50[ .column[ #### record test result ```cpp rx::test_loop<> loop; rx::recorded
on; auto tr = on.hot({ on.next(on.origin() + 1s * 1, 0), on.next(on.origin() + 1s * 2, 1), on.next(on.origin() + 1s * 3, 2), on.next(on.origin() + 1s * 4, 3), on.next(on.origin() + 1s * 5, 4) }) | printout(cout, "produced") | on.record("produced") | delay(loop.make(), 1500ms) | take(3) | printout(cout, "") | on.record("emitted") | on.test(loop); loop.run(); ``` ] .column[ #### assert test succeeded ```cpp auto expected = on.expected({ on.next(origin() + 1s * 1 + 1500ms, 0), on.next(origin() + 1s * 2 + 1500ms, 1), on.next(origin() + 1s * 3 + 1500ms, 2), on.complete(origin() + 1s * 3 + 1500ms) }); if (tr.get().marbles["emitted"] == expected) { cout << "SUCCEEDED" << endl; } else { cout << "FAILED" << endl; cout << "Actual:" << endl; cout << tr.get().marbles["emitted"] << endl; cout << "Expected:" << endl; cout << expected << endl; } ``` ] ] ??? --- module: TestContext function: testdelayv3 types: number, number, number arguments: 1000, 1500, 1 output: testdelayv3failoutput ## what needs to change to support testing? .split-60[ .column[ __failing code__ ```cpp rx::test_loop<> loop; rx::recorded
on; auto tr = on.hot({ on.next(on.origin() + 1s * 1, 0), on.next(on.origin() + 1s * 2, 1), on.next(on.origin() + 1s * 3, 2), on.next(on.origin() + 1s * 4, 3), on.next(on.origin() + 1s * 5, 4) }) | printout(cout, "produced") | on.record("produced") | delay(loop.make(), 1500ms) | `take(1)` | printout(cout, "") | on.record("emitted") | on.test(loop); loop.run(); ``` ] .column[ __output__ (emscripten) .emscripten-output[
] ] ] ??? > * .green[fail] the test by using the wrong value for take. --- #Requirements * ## .green[next], .green[complete], .green[error]. * ## .green[lifetime], .green[allocation]. * ## .green[cancellation], .green[scheduling]. * ## .green[virtual-time], .green[testing] ??? --- ## What if these algorithms are implemented using the coroutine proposal? ```cpp co_value_generator
`transform`(Source source, Selector select) { for co_await (auto&& v : source) { co_yield select(v); } } ``` ```cpp co_value_generator
`concat`(Source source) { for co_await (auto&& s : source) { for co_await (auto&& v : s) { co_yield v; } } } ``` ??? > * some algorithms are easy to write > * transform - call the select function for each value > * concat - consume each nested source sequentially --- ## What if these algorithms are implemented using the coroutine proposal? ```cpp struct merge_value_promise : co_generator_promise
{ // >200 lines of code merge_source_awaiter push(Source s) const { auto& p = co_await merge_source_awaiter::get(); p.bind(this, canceled); for co_await (auto& v : s) { co_yield v; } } }; co_generator
> merge(Source source) { auto& p = co_await merge_value_promise
::get(); co_await p.caller_awaiter(nullptr); for co_await (auto&& s : source) { p.push(std::move(s)); } } ``` ??? > * some algorithms are harder > * merge - consume all nested sources concurrently and interleave their values > * coroutines express sequential processing of values distributed in time naturally. > * expressing concurrent programming in coroutines requires extensive code. --- ## What if these algorithms are implemented using the coroutine proposal? #### transform usage ```cpp future
print0to9doubled() { for co_await(auto v : ints(0, 9) | transform([](int v){return v * 2;})) { cout << v << endl; } } ``` ??? > * usage composes like the other libraries > * consumption uses `for co_await()` on the expression --- ## What if these algorithms are implemented using the coroutine proposal? .split-50[ .column[ #### sequence concepts ```cpp template
struct co_generator { using iterator = co_iterator
; co_iterator_awaiter
begin() const; iterator end() const; co_generator_promise
const * p; }; ``` ] .column[ #### sequence concepts ```cpp template
struct co_iterator : std::iterator
{ // end iterator co_iterator(nullptr_t) : m_p(nullptr); // iterator co_iterator(co_generator_promise
const & p); co_inc_awaiter
operator++(); bool operator==(co_iterator const &rhs) const; T &operator*(); T *operator->(); co_generator_promise
const * m_p; }; ``` ] ] ??? --- ## What if these algorithms are implemented using the coroutine proposal? .split-50[ .column[ #### sequence concepts ```cpp template
struct co_iterator_awaiter { bool await_ready(); void await_suspend( const coroutine_handle<>& handle); co_iterator
await_resume(); co_generator_promise
const * m_p; }; ``` ] .column[ #### sequence concepts ```cpp template
struct co_inc_awaiter { bool await_ready(); void await_suspend( const coroutine_handle<>& handle); co_iterator
& await_resume(); co_iterator
* m_it; }; ``` ] ] ??? --- ##complete. questions?
??? > * concat some .green[questions]


Q51: Hospital Management provides continuous Training on Hygiene for all temporary and permanent Healthcare Professionals.
1
2
3
4
Q52: Hospital Management conducts regular Surveys on Hygiene , including measurements of the air quality and water quality for places with increased risk for hospital infections.
1
2
3
4
Q53: Hospital Management evaluates Hygiene Surveys and measurements of the air quality and water quality to develop targeted Improvement measures.
1
2
3
4
Q54: Hospital Infection Control Procedures are documented, validated, implemented, assessed regularly to monitor compliance and relevance
1
2
3
4
Q55: Hospital Management trains Hospital Unit Staff in Infection Control Procedures, which are defined responsibility of a Healthcare Professional
1
2
3
4
Q56: Hospital has Procedures on storage, distribution, use and reuse of sterile resources and materials.
1
2
3
4
Q57: Hospital has Procedures on maintenance, cleaning, sterilization, transportation, storage, sterile use of instruments and specific equipment.
1
2
3
4
Q58: Hospital has Procedures on cleaning and disinfecting flexible endoscopes,which is a defined responsibility of a Healthcare Professional
1
2
3
4
Q59: Hospital Management has a Quality Assurance System on Sterilisation.
1
2
3
4
Q60: Hospital has Procedures on disposal of sorted hospital refuse that ensures the safety of patients, Hospital Staff, visitors and the environment.
1
2
3
4


This is the username you use to login Real-Debrid Client. Only change this if you want to change the username.
This is the password you use to login Real-Debrid Client. Only change this if you want to change the password.


05 July 2018
The way that I understand the description of self awareness in this chapter and how it goes with mindfulness is that they kind of go hand in hand. I really liked this analogy used in chapter four which says: "The traditional analogy of this mind is a fluttering flag on a flagpole. The flag represents the mind. In the presence of strong emotions, the mind may be turbulent like a flag fluttering violently in the wind. The flagpole represents mindfulness—it keeps the mind steady and grounded despite all that emotional movement. This stability is what allows us to view ourselves with third-person objectivity". I guess that it is with mindfulness that you can improve your self-awareness with an objective mind.
I tried both of the 'body scan' and 'journaling' exercises. Journaling is something I have done before. Both exercises gave me a calming sensation and a sense of letting go. However, only the body scan gave me an actual physical sensation to accompany this which ran down my back, so that was interesting. Now, I'm off to burn the bit of paper I wrote on for journaling.
I found the section "my emotions are not me" to be particularly interesting. I think it's easy to get wrapped up in identifying as your emotions which must mean letting them have control over you. I really liked this quote from the book about that: "Thoughts and emotions are like clouds—some beautiful, some dark—while our core being is like the sky. Clouds are not the sky; they are phenomena in the sky that come and go. Similarly, thoughts and emotions are not who we are; they are simply phenomena in mind and body that come and go" .


---
title: "Gridcoin - Project Whitelist"
description: "The Gridcoin whitelist is a list of community-approved BOINC projects which are applicable for earning Gridcoin."
redirect_from:
- "/Guides/whitelist.htm"
---
The whitelist was created to increase security and to focus user's resources on active projects. You will only be rewarded Gridcoin for whitelisted BOINC projects. Any BOINC work done outside of the whitelisted BOINC projects will not be rewarded Gridcoin. Want a project whitelisted? Ask about it on the You can check whitelisted project details on Gridcoinstats. When projects are running out of work or are offline for temporary maintenance they are placed on the Greylist. These projects will not reward Gridcoin until they meet the requirements to be placed back on the whitelist again. Please see various social media (Twitter, Facebook, Reddit, Slack) for notices about greylisted projects. The whitelist process wiki page outlines the Greylist procedure for all whitelisted projects. Go to Hamburger Menu > Settings > Researcher Wizard > Projects (or the Whitelist justification
Discussions
Please note:
#whitelisting-committee
channel on the Gridcoin Discord! More details about adding a project to the whitelist can be found on the whitelist process wiki pageGreylist
Whitelisted Projects
The most accurate source for whitelist/greylist information will always be your Gridcoin wallet.
listprojects
command) to see which projects are currently whitelisted
| Project | Goal | Sponsor | CPU | GPU | GDPR Stats Export | Team | Stats |
|---|---|---|---|---|---|---|---|
| {{ project.name }} | {{ project.goal }} | {{ project.sponsor }} | {% comment %} uses either table-color-yes or table-color-no for the class (green or red coloring) {% endcomment %} {% if project.cpu == "yes" %} ✔ {% else %} ❌ {% endif %} | {% if project.gpu == "no" %} ❌ {% endif %} {% if project.nvidia == "yes" %} {% endif %} {% if project.amd == "yes" %} {% endif %} | {% comment %} Add warning color for background only if it requires it. No color otherwise {% endcomment %} {% if project.gdpr == "yes" %} required {% else %} not required {% endif %} | 📊 | 📈 |
| Project | CPU | GPU | GDPR Stats Export |
|---|---|---|---|
| {{ project.name }} | {% if project.cpu == "yes" %} ✔ {% else %} ❌ {% endif %} | {% if project.gpu == "no" %} ❌ {% endif %} {% if project.nvidia == "yes" %} {% endif %} {% if project.amd == "yes" %} {% endif %} | {% if project.gdpr == "yes" %} required {% else %} not required {% endif %} |
| Project | CPU | GPU | GDPR Stats Export |
|---|---|---|---|
| {{ project.name }} | {% if project.cpu == "yes" %} ✔ {% else %} ❌ {% endif %} | {% if project.gpu == "no" %} ❌ {% endif %} {% if project.nvidia == "yes" %} {% endif %} {% if project.amd == "yes" %} {% endif %} | {% if project.gdpr == "yes" %} {% endif %} |
GDPR is a law in the European Union on data privacy. Some projects have interpreted it to mean that to sharing BOINC stats to anyone requires opting in. Solo crunchers must enable it to be rewarded because otherwise Gridcoin can't see how much work you've done and figure out how much you are owed
NOTE: Only solo crunchers on these projects need to follow these steps. Pool cruncher don't need to because your pool has already done it
Currently the whitelisted projects that require this are:
{% for project in site.data.whitelist.projects %}
{% if project.gdpr == "yes" %}
{{project.name}} (steps to enable)
{% endif %}
{% endfor %}


--- layout: post title: Rough storyboards date: '2013-06-15T06:33:00+02:00' categories: - Sketches - Storyboards picture_url: https://film-Storyboards.tumblr.com/post/53017791725/rough-Storyboards ---
First draft


Sports law is an umbrella term used to describe the legal issues at work in the world of both amateur and professional sports.
Sports law overlaps substantially with labor law, contract law, competition or antitrust law, and tort law.
amateursportsUnlike intercollegiate sports, international amateur sports are run by a variety of organizations.


This user manual explains how to install and use EnergyPlusToFMU. EnergyPlusToFMU is a software package written in Python which allows users to export the building simulation program EnergyPlus version 8.0 or higher as a Functional Mock-up Unit (FMU) for co-simulation using the Functional Mock-up Interface (FMI) standard version 1.0. This FMU can then be imported into a variety of simulation programs that support the import of the Functional Mock-up Interface for co-simulation. This capability allows for instance to model the envelope of a building in EnergyPlus, export the model as an FMU, import and link the model with an HVAC system model developed in a system simulation tool such as the Modelica environment Dymola.
EnergyPlusToFMU is available under the following open-source license.
For help, send email at https://groups.google.com/group/energyplus-fmu. This is an open group and everyone can join it. No invitation is needed.
Thierry S. Nouidui, David M. Lorenzetti, Michael Wetter
Lawrence Berkeley National Laboratory
Simulation Research Group
TSNouidui@lbl.gov