Black box view
Overview
In this scenario a client application is indirectly querying Spine PDS to obtain demographic information held for the provided NHSNumber. From a business perspective this is typically used to check (and/or potentially update) the locally held demographic details about the patient from the national Patient Demographic Service.
The following describes the logic required to invoke the ITK urn:nhs-itk:services:201005:getPatientDetailsByNHSNumber-v1-0 service.
From a black-box perspective the invocation of a Spine Mini-Service Provider web service interface is fairly trivial. The service requestor simply sends the appropriate ITK request message and receives the response synchronously. Likewise any exceptions will be returned as synchronous SOAP Faults.
Spine Mini-Services - Client
As the SMS client already has the pertient patient's NHSNumber in their local data store the query to get the latest demographics via the SMS Provider is relatively straightforward. The SMS Client builds the Get Patient Details By NHSNumber Request query message providing the patient's NHSNumber and Date of Birth.
Spine Mini-Services - Provider
The SMS Provider is a unique component in ITK - providing a bridge between the Spine PDS interfaces and Spine Mini Service Clients. In a real deployment, the SMSP would receieve the ITK Get Patient Details By NHSNumber Request, make one or more queries to Spine services the results of which are used construct the appropriate ITK Get Patient Details By NHSNumber Response.
In the samples application the SMSP is emulated via a simple XSLT that creates a response from the request
Get Patient Details By NHSNumber Request (Get example)
<soap:Envelope xmlns:itk="urn:nhs-itk:ns:201005" ...> <soap:Header> ... <wsa:To>http://www.example.com/sync</wsa:To> <wsa:From><wsa:Address>http://<IP_ADDRESS>:4000/syncsoap</wsa:Address></wsa:From> </soap:Header> <soap:Body> <itk:DistributionEnvelope> <itk:header service="urn:nhs-itk:services:201005:getPatientDetailsByNHSNumber-v1-0" ...> ... </itk:header> <itk:payloads count="1"> <itk:payload id="uuid_D1F95107-42FD-4AB5-936F-A3D2A489DD61"> <getPatientDetailsByNHSNumberRequest-v1-0 xmlns="urn:hl7-org:v3" ...> ... </getPatientDetailsByNHSNumberRequest-v1-0> </itk:payload> </itk:payloads> </itk:DistributionEnvelope> </soap:Body> </soap:Envelope>
Get Patient Details By NHSNumber Response (Get example)
<soap:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing"...> <soap:Header> ... <wsa:Action>urn:nhs-itk:services:201005:getPatientDetailsByNHSNumber-v1-0Response</wsa:Action> ... </soap:Header> <soap:Body> <itk:DistributionEnvelope> <itk:header service="urn:nhs-itk:services:201005:getPatientDetailsByNHSNumber-v1-0Response" ...> ... </itk:header> <itk:payloads count="1"> <itk:payload ...> <getPatientDetailsResponse-v1-0 xmlns="urn:hl7-org:v3" ...> ... </getPatientDetailsResponse-v1-0> </itk:payload> </itk:payloads> </itk:DistributionEnvelope> </soap:Body> </soap:Envelope>
The following diagram shows how the sample application uk.nhs.interoperability.client.samples.smsp.SpineMiniServicesClient from the samples project uses the reference implementation to make a call to a Spine Mini-Service Provider.
Step 1
In order to invoke the Spine mini-service the application layer first needs to collect and populate the query parameters. The sample application does this from a simple web form (see http://services.developer.nhs.uk/itk-samples/GetPatientDetailsByNHSNumber.html) however how real world applications obtain the query parameters is outside the scope of the API and reference implementation.
Once the application has constructed the appropriate query object it needs to be handed over to the transport layers for the actual technical invocation of the service.
The actual specific on-the-wire format of the query message is not the responsibility of the transport layers to determine or manage. The request.serialise() method at line 6 populates the payload for the ITK invocation - in this case a getPatientDetailsByNHSNumber-v1-0 XML message with the appropriate parameters set.
It is an application layer responsibility to set the audit identity, to and from address details, profileId and business payload id (line 10). Many of these details are omitted here for clarity - for reference the ITKMessageProperties provides getters and setters to allow the message meta-data and addressing information to be passed between the application and transport layers.
Once the properties have been associated with the payload (line 14) the distribution and transport layers are invoked via the ITKMessageSender sendSync API call.
public GetPatientDetailsByNHSNumberResponse getPatientDetailsByNHSNumber(GetPatientDetailsByNHSNumberRequest request){ GetPatientDetailsByNHSNumberResponse response = null; ITKMessage msg = new SimpleMessage(); msg.setBusinessPayload(request.serialise()); // Build the message properties. ITKMessageProperties mp = new ITKMessagePropertiesImpl(); mp.setAuditIdentity(AUDITID); ... //Other properties also set // Add the properties to the message msg.setMessageProperties(mp); // Create the sender ITKMessageSender sender = new ITKMessageSenderImpl(); try { ITKMessage resp = sender.sendSync(msg); response = new GetPatientDetailsByNHSNumberResponse(resp); } catch (ITKMessagingException e) { Logger.error("Error Sending ITK Message",e); } return response; }
public ITKMessage sendSync(ITKMessage request) throws ITKMessagingException { // Get the ITKService from the DirectoryOfService String serviceId = request.getMessageProperties().getServiceId(); ITKService service = directoryOfServices.getService(serviceId); ... //Validate that the service is configured and supports sync //Determine the physical transport route ITKTransportRoute route = getRoute(request); //Get the transport specific ITKSender implementation ITKSender sender = getSender(route); //Add the necessary ITK wrappers, base64 encode where required ITKMessage message = buildMessage(request, route, service); //Send the message ITKMessage response = sender.sendSync(route, message); //Deserialise and unwrap ITKMessage simpleResponse = buildResponse(response); return simpleResponse; }
Step 2
Note this step and the majority of the subsequent steps are common to all synchronous invocations via the Reference Implementation.
The application request payload is passed into the framework via the ITKMessage. In order to succesfully call the service provider we need to resolve the service properties, obtain the route appropriate to the service provider, add the necessary wrappers and call the appropriate transport specific implementation classess.
The resolution of the route (line 9) is shown in more detail in Step 3 (listing 3a below). Having obtained the route we then get a reference to the transport specific ITKSender (line 12). Note the 0.1 release of the reference implementation only contains an implementaiton for HTTP/SOAP Web services. The reference implementation could be be extended in the future to support DTS, TMS and other transports as specified by ITK.
The details of building the ITK Distribution Envelope and on-the-wire encoding (line 15) are shown in detail in listing 3b below. Once the appropriate ITK message has been created the transport specific ITKSender is used to actual send the message (line 18). For this scenario the HTTP/WS invocation is shown in detail in Step 4 below
Once the transport layers have returned with the synchronous response this is unwrapped / deserialised via the buildResponse(response) method (line 21).
Step 3
Listing 3a shows the logic for resolving the ITKTransportRoute, whilst Listing 3b shows the simple logic used to determine whether or not the payload should be wrapped in an ITK Distribution Envelope and base64 encoded.
The ITKTransportRoute may have already been pre-resolved from the application layer (listing 3, line 9) in which case we do not need to look it up. The pre-resolved route may have been determined via application layer configuration or because the application has maintained the transport return address details from a corresponding request in an asynchronous invocation.
In this synchronous invocation scenario the logical destination address provided by the application layer will need to be resolved to an HTTP URL for the web service invocation. This is achieved via the call to the DirectoryOfService on line 15. In the reference implementation the directory is a simple properties file wrapped by some simple logic - see ITKSimpleDOS.
The DirectoryOfService is responsible for returning a fully populated ITKTransportRoute which contains details of the under lying transport type, the physical destination address and whether or not a distribution envelope is required.
Listing 3b shows the logic for building the transport independent ITK message.
Line 4 determines whether a distribution envelope is required. If the message needs to be wrapped by a Distribution Envelope a new ITKMessage including the DistributionEnvelope is built via the DEWrappedMessage constructor (line 12).
Prior to building the complete Distribution Envelope wrapped message is may be that the business payload needs to be base64 encoded. Logically this is a property of the ITKService (determined via configuration), however in terms of the current ITK Specifications this is only required for HL7v2 messages exchanged in pipe and hat (|^) format. In this getPatientDetailsByNHSNumber scenario the business payload message is XML based and no base64 encoding is required.
private ITKTransportRoute getRoute(ITKMessage message) throws ITKMessagingException { String serviceId = message.getMessageProperties().getServiceId(); /* * Has the transport route already been resolved? * E.g. route may already be set on a response */ ITKTransportRoute route = message.getPreresolvedRoute(); ITKAddress toAddress = message.getMessageProperties().getToAddress(); //If the route has not been pre-resolved look it up if (route == null) { // Resolve Destination Service in terms of a TransportRoute route = directoryOfServices.resolveDestination(serviceId,toAddress); } //Throw an exception if we cannot resolve the route if (route == null) { throw new ITKMessagingException("No route found ..."); } return route; }
private ITKMessage buildMessage(ITKMessage message, ITKTransportRoute route, ITKService service) { // Does the message need a wrapper? if (route.getWrapperType().equals(ITKTransportRoute.DISTRIBUTION_ENVELOPE)) { //Do we need to base64 encode the business payload? if (service.isBase64()) { //Use standard javax.xml.bind libraries to base64 encode String b64DocText = DatatypeConverter.printBase64Binary(message.getBusinessPayload().getBytes()); message.setBusinessPayload(b64DocText); } return new DEWrappedMessage(service, message, DEWrappedMessage.DE_ADDRESSED); } else { //Send the business payload as is return request; } }
public ITKMessage sendSync(ITKTransportRoute destination, ITKMessage request) throws ITKMessagingException { // Add the soap wrappers WSSOAPMessageImpl msg = new WSSOAPMessageImpl(destination, request, ...); ... //Obtain the on-the-wire message String soapPayload = msg.getFullPayload(); try { //Send the on-the-wire message via HTTP Document responseDoc = transportSend(destination, soapPayload); ... // Extract the SOAP Body Content via XPath Document businessPayloadDoc = DomUtils.createDocumentFromNode((Node)XPaths.SOAP_BODY_CONTENT_XPATH.evaluate(responseDoc...)); // Get string representation of the response business payload String responseStr = DomUtils.serialiseToXML(businessPayloadDoc); //Construct the appropriate object for the application layer return new SimpleMessage(responseStr); } catch (...) { ... } }
Step 4
Listing 4 shows the code within the ITKSenderWSImpl which is responsible for adding the SOAP and WS-Addressing wrappers, for invoking the appropriate web-service endpoint as determined by the ITKTransportRoute and managing HTTP and SOAPFaults or other exceptions arising from the invocation.
In Step 3 we created a transport independent ITK message. The logic of this class is specific to ITK Web services and requires that we add SOAP Wrappers including the appropate ws-addressing elements as per the ITK Specifications (line 4).
The call on line 7 to obtain the full payload invokes an XSLT transform that creates the complete on-the-wire SOAP message with the ITK Distribution Envelope wrapped getPatientDetailsByNHSNumber within the SOAP body.
The web service is actually invoked via the transportSend(destination, soapPayload) method call.
As this is a synchronous call there is no information in the response message SOAP header pertinent to the client so we directly extract the response payload (line 14) which is then passed back up the call stack via the returned SimpleMessage (line 18).


{# 12/12 desktop (top-center) | 8/8 tablet (top center) | 4/4 phone (1st) #}
nicholas chung
civic tech and policy.
{# 6/12 desktop (left-first) | 4/8 tablet (2nd row left) | 4/4 phone (2nd) #}
projects.
{# link header to page with blog results on the following content: #}civic tech, policy, and open data.
{# 6/12 desktop (left-second) | 4/8 tablet (2nd row right) | 4/4 phone (3rd) #}
writing.
{# link header to page with blog results on the following content: #}essays and other text-based projects.
{# 6/12 desktop (left-third) | 4/8 tablet (3rd row left) | 4/4 phone (4th) #}
tools.
{# link header to page with blog results on the following content: #}documentation.
{# 6/12 desktop (left-fourth) | 4/8 tablet (4th row right) | 4/4 phone (5th) #}
about.
{# link header to about page: #}who i am.
{# 6/12 desktop (left-fifth) | 8/8 tablet (5th row center) | 4/4 phone (6th) #}
contact.
me (at) nichchung (dot) com
github soundcloud twitter linkedin
{%- block portrait -%}{%- include 'portrait.html' -%}{%- endblock -%}
{# #}


Tesa Wilson
70% Coder, 20% Designer & 10% Gamer
100% Awesome!
About
Work
Contact
Contact
First Name:
Last Name:
Email:
Message:
Send!
Return to Top
© 2014 Tesa Wilson All rights reserved.
Design by
FreeCSSTemplates.org
.


Lab 1 Assignment Set
Interactive Multimedia Programming
1. Definitions:
a. HTML:
The definition of HTML is HyperText Markup Language.
HyperText is the method by which you move around on the web — by clicking on special text called hyperlinks which bring you to the next page. The fact that it is hyper means that it is not linear — i.e. you can go to any place on the Internet whenever you want by clicking on links. Markup is used to mark the text inside the HTML tags. They mark it as a certain type of text Such as: Bolded text.Thus, HTML is a Language consisting of code-words and syntax like any other language.
b. CSS:
CSS stands for Cascading Style Sheets.
CSS describes how HTML elements are to be displayed on screen, paper, or in other media.
CSS saves a lot of work. It can control the layout of multiple web pages all at once.
Thus, CSS gives more control over the appearance of a Web page to the page creator than to the browser designer or the viewer.
c. Javascript:
JavaScript is a programming language commonly used in web development. It was originally developed by Netscape as a means to add dynamic and interactive elements to websites. JavaScript is a client-side scripting language, which means the source code is processed by the client's web browser rather than on the web server. JavaScript functions can be called within (script) tags or when specific events take place. Examples include onClick, onMouseDown, onMouseUp, onKeyDown, onKeyUp, onFocus, onBlur, onSubmit, and many others.
d. HTTP:
HTTP is short for HyperText Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands.
For example, when you enter a URL in your browser, this actually sends an HTTP command to the Web server directing it to fetch and transmit the requested Web page. The other main standard that controls how the World Wide Web works is HTML, which covers how Web pages are formatted and displayed.
e. HTML 5:
HTML 5 is a revision of the Hypertext Markup Language (HTML), the standard programming language for describing the contents and appearance of Web pages. HTML5 was developed to solve compatibility problems that affect the current standard, HTML4.
f. Dynamic HTML(DHTML):
Dynamic HyerText Markup Language (DHTML) is a combination of Web development technologies used to create dynamically changing websites. Web pages may include animation, dynamic menus and text effects. DHTML stands for Dynamic HTML. The first thing that we need to clear about DHTML is that it is neither a language like HTML, JavaScript etc. nor a web standard. It is just a combination of HTML, JavaScript and CSS. It just uses these languages features to build dynamic web pages.
2. Code conventions:
Code conventions improve the readability of the software, allowing engineers to understand new code more quickly and thoroughly.
If you ship your source code as a product, you need to make sure it is as well packaged and clean as any other product you create.
For ex: Multiple words can be separated by using the underscore (_) character. For example:
USER_LIST_MAX
NEW_LINE
I could use conventions like:
int i;
char c;
float
You can find my HTML 5 document file at


Where you get to know your Akan name by just entering your birthday!
Some Background
Akan names are derived from Ghanian culture. Frequently in Ghana, children are given their first name as a 'day name' which corresponds to the day in the week they were born.


Blog
October News
31/10/2015 - OGG Camp 15 this weekend at Liverpool John Muir University, have great fun!!! #oggcamp https://t.co/kP3W3qqAXK
29/10/2015 - A new proposed stable release of juju-core 1.25.0 is now available, integrate your cloud! #BigData https://t.co/ELxrrZ91Pv
28/10/2015 - Oracle virtualbox 5.0.8 released this week!!! #Oracle https://t.co/Zb9y1WQY0N https://t.co/vGz8JaqnMX
27/10/2015 - The Ubuntu Juju conference is coming soon - momentum is building.... https://t.co/88wRAfA120
26/10/2015 - Ansible IT Automation instead of Puppet and Chef, bought by Red Hat for $100million! #redhatforum #BigData https://t.co/AWSX9Y7K3X
23/10/2015 - Linux MINT - the complete out-of-the-box distribution currently kicking it out of the ball park #linuxmint #ubuntu https://t.co/BGNIE6tPN6
22/10/2015 - NOT just REALTIME Analytics, but REALTIME "EVERYTHING", this has to be the new trend and soon! #realtime #bigdata https://t.co/8dw4OF7MuX
21/10/2015 - OpenBSD 5.8 released, highly secure and highly reliable OS #bigdata #OpenBSD https://t.co/8yCa0lUlAJ
20/10/2015 - Looking at new database implementations and hear "highly scalable" and "cloud-ready" then your talking about #NoSQL https://t.co/FhQGnaKZY2
19/10/2015 - Java in decline?Depends what you mean, if it's the JVM implementations then no way! Raw code?Yes!!! #scala #MongoDB http://t.co/FswEQZCGNd
16/10/2015 - Number 1 developer trend on http://t.co/GCvs8qe7za is containers will rule the world #docker #bigdata http://t.co/iaE2Cn4pOx
15/10/2015 - CA ERwin was announced as the market leader for data modelling for the 4th time #thebest #bigdata http://t.co/UenaHFDDF1
14/10/2015 - Try out #Brotli new data compression tech developed by Google. 20-26% better compression ratios #bigdata #nginx http://t.co/qatTKJKXTT
13/10/2015 - So @awscloud opens up its certification program to a wider audience as it makes the DevOps exam public.#AWS #Training http://t.co/ctZdvGiLJo
13/10/2015 - @awscloud opens up it's certification program to a wider audience as it makes the DevOps exam public. #AWS #Training http://t.co/8X56kW97Tr
08/10/2015 - Has Hadoop killed the MPP? Well maybe. #bigdata http://t.co/RWEab2WyK7
06/10/2015 - Docker is the Apple equivalent for the software development market #bigdata #docker https://t.co/OOhm72h6Pj


This is the layout of our sample site intended for Desktop Computer Browser experience!
You are using a desktop browser.
You are using a device that is masquerading itself as desktop to get a desktop experience.
Your machine is not detected as a desktop, tablet or mobile but you are being redirected to this website because this is the default website.
/Examples/Redirection/index.php
All requests first go to this controller script. This script uses
DeviceAtlas to detect device type and decides which website to
redirect to.
/Examples/Redirection/desktop/
The files of this page are located in this directory.
If we have different web sites and each one is created to give the best content and user experience to a specific device type. Users will enter our main web-site URL in their browsers, the source code which gets this first request will use DeviceAtlas DeviceApi to detect the device type, then based on the conclusions, the user will be redirected to the web-site which provides the best experience for her/his device. In this example four directories will mimic four different websites that give specific service to "desktop browsers", "mobile device" and "tablet pcs". Each directory contains a sample "index.html".
In this example there are four directories representing four websites. The requests are redirected to one of this directories:
Landing page:
/Examples/Redirection/index.php
Desktop computer browsers:
/Examples/Redirection/desktop/index.html
Tablet mobile computers:
/Examples/Redirection/tablet/index.html
High-end mobile devices:
/Examples/Redirection/mobile/highend/index.html
Low-end mobile devices:
/Examples/Redirection/mobile/lowend/index.html


Browse through our list of Home Decor Items.
Flash Sale on Living Room and Bedroom Furniture.
Bring the best out of the masterchef in you!
Red hot deals at affordable prices. Check out our clearance section for more details.


Org Units
Groups
Users
Profile
Logout
Users
User Information
Name
Email
Org Unit
Manager
Change User
Rename User
  Delete User
Delete User
×
Are you sure to delete? All data for the user will be erased.
Rename User
×
Renaming a user is a system-wide change that can take up to 10 minutes.
First Name
Last Name
Primary Email
Add Group
×
Select the group to be added:
Delete Group
×
Are you sure to remove the user from the group? The user will lose all access to the group.
Edit Org Unit Path
×
Select target org unit path:
Edit Path
OrgUnit Path for
Add group
Groups for


Introduction
Washington Health Plan Finder is a website designed for low-income Washington residents to easily find health insurance plans through Apple Health. Due to its large target audience, one would expect the website to be highly accessible for disabled and marginalized citizens to be able to learn to use it without too much trouble.
Methodology
I am using the Web Accessibility Evaluation Tool (WAVE) to scan the HTML markup and reach some conclusion about the advantages and setbacks of the website based on knowledge of WCAG 2.1 guidelines.
The Surface
From the get-go, we can tell that the website is designed in a considerate manner by having short-and-sweet titles, a number of call-to-action buttons to navigate and a simple visual style.
Positives
Looking through the WAVE results, I was able to detect 24 counts of alt text used on the home page alone. There are also 36 Structural Elements, mostly consisting of unordered lists for navigational menus. This shows consideration for those using screen readers who may need to cycle through these options.
Negatives
There were 14 errors detected, although they were mostly broken ARIA references. 4 of them were low contrast text. Using the WebAIM Color Contrast Checker, I found that the text had a contrast ratio of 3.37:1, which fails WCAG AAA guidelines.
There were also 35 Alerts, though most of these were minor. Notably, the site has no headings whatsoever, and scanning through the HTML confirmed this. This may not bode well for screen readers.
Recommendations
My first recommendation is to fix the low contrast text. This is the easiest change that would impact the most people. Secondly, making sure there are headings properly placed in hierarchy. Lastly, I noticed the language selection were found to be "redundant links", which initially made sense to me considering they redirect to the same page.
Even though the nav element has a "navigation" attribute, it seems that the list elements won't be read out due to being in different languages and not having alt text associated with them. I would add an alt text in case screen readers aren't able to say that it's a language selection and/or cycle through the language options.


5,161 arrested in Kashmir: G Kishan Reddy
Of these, 609 persons, including 218 stone pelters, are presently under detention.
by DECCAN CHRONICLE.New Delhi: Union minister of state for home affairs G. Kishan Reddy on Wednesday said 5,161 people have been placed under preventive custody in Kash-mir Valley since August 4, the day before Jammu and Kash-mir’s special status under Article 370 was revoked.
In a written reply to a question in the Rajya Sabha, the minister said, the preventive arrests were made to prevent commission of offences involving breach of peace and activities prejudicial to the security of the state and maintenance of the public order. Of these, 609 persons, including 218 stone pelters, are presently under detention.
Suggesting that the situation is normal in Kashmir, he said all schools and colleges are now open, all hospitals are also “fully” operational and there are curbs on the mov-ement of students.


Preparation time
1-2 hours
Cooking time
30 mins to 1 hour
Serves
Serves 8-10
Dietary
This bara brith is made the traditional way using fresh yeast. Most supermarket with their own in-store bakery will sell, or sometimes give away, fresh yeast.
Place the flour, salt and yeast in a large mixing bowl and then rub in the butter using your fingers until the mixture resembles fine breadcrumbs. Mix in the sugar, mixed spice and dried fruit until evenly distributed.
Add the egg and tea and bring the mixture together to form a dough. Knead on a clean work surface until smooth. Place back in the bowl, cover with oiled cling film and leave until doubled in size - at least one hour.
Preheat the oven to 200C/180C fan/400F/Gas 6 and grease a 900g/2lb loaf tin.
Knock back the dough, then shape it and fit it into the loaf tin. Cover again with oiled cling film and prove for a further 30 minutes. Remove the cling film and bake in the centre of the oven for 20 minutes.
Cover the bara brith with aluminium foil and continue to bake for a further 25 minutes. Remove from the oven, turn it out of the tin and leave to cool on a wire rack for 20 minutes.
For the sugar syrup, bring 50ml/1¾fl oz of water and the sugar to the boil in a small saucepan and cook until syrupy. Remove from the heat and brush the loaf with the glaze. Leave to cool completely before cutting. Serve in slices with butter, if you like


{% extends "dashboard/base.html" %}
{% load staticfiles i18n %}
{% block site_heading %}{% trans "Are you sure to delete this user?"  Its related items will be deleted." %}
{% block content %}
{% with heading=object.email %}
{% include "dashboard/delete_form_snippet.html" with message=_("The user and his related articles will be permanently deleted and cannot be recovered!") %}
{% endwith %}
{% endblock %}


Index page
Lesson 11
Hw 11
Homework 11
practika 11
Homework 12
practika 12
Homework 16
Dropdown
Lesson 17
Homework 17


|
My Project
|
/// The DS3231 class written to be used with a DS3231 RTC /// This class is written to give a interface to work with a DS2321 RTC More...
#include <DS3231.h>
Public Member Functions | |
| DS3231 (hwlib::i2c_bus_bit_banged_scl_sda &i2c, const uint8_t chipaddres) | |
| ///DS3231 class constructor /// This constructor takes a hwlib::i2c_bus_bit_banged_scl_sda i2c More... | |
| void | set_Time (int hour, int minute, int second) |
| ///Set the time on the DS3231 /// This function takes integer values wich represent the hours minutes and seconds More... | |
| void | set_Date (int day, int month, int year) |
| ///Sets the date on the DS3231 /// This function takes integer values wich represent the day month and year More... | |
| unsigned char * | get_Time (unsigned char time[]) |
| ///Gets the time /// This function takes a unsinged char buffer time with a size of 3 wich will be filled with the More... | |
| unsigned char * | get_Date (unsigned char date[]) |
| ///Gets the date /// This function takes a unsinged char buffer date with a size of 3 wich will be filled with the More... | |
| void | print_Date_Time (unsigned char date[], unsigned char time[]) |
| ///Print date and time to hwlib::cout for debug purposes /// This function has as purposes to let a user see time and date info without using any kind of display More... | |
| int | convert_bin_to_dec (unsigned char value) |
| ///Convert binary to decimal /// This function takes a uint8_t value wich represents a binary More... | |
| uint8_t | convert_dec_to_bin (int value) |
| ///Convert decimal to binary /// This function takes a integer value wich represents a decimal More... | |
/// The DS3231 class written to be used with a DS3231 RTC /// This class is written to give a interface to work with a DS2321 RTC
These RTC's can be used in a varity of application including servers, gps modules and embedded systems This class and classes that inherit from it are written to work with the library Hwlib from Wouter van Ooijen The hwlib library can be found at his github page: https://github.com/wovo/hwlib This class makes it easy for a user to set and get the date & time in the DS3231 registers written by Ramon Petri (28-06-2019)
| DS3231::DS3231 | ( | hwlib::i2c_bus_bit_banged_scl_sda & | i2c, |
| const uint8_t | chipaddres | ||
| ) |
///DS3231 class constructor /// This constructor takes a hwlib::i2c_bus_bit_banged_scl_sda i2c
wich represents the i2c communication bus and a uint8_t value wich represents the i2c addres of the DS3231 chip these varabels are used to initilize I2C bus communication A common call to this constructor would look something like this: DS3231 object(hwlib::i2c_bus_bit_banged_scl_sda, a_rtc_chipaddres);
| int DS3231::convert_bin_to_dec | ( | unsigned char | value | ) |
///Convert binary to decimal /// This function takes a uint8_t value wich represents a binary
number Than the function will convert this number into a decimal number with the formula as specifide with in the function A common call to this function would look something like this: DS3231 object.convert_bin_to_dec(binary_value);
| uint8_t DS3231::convert_dec_to_bin | ( | int | value | ) |
///Convert decimal to binary /// This function takes a integer value wich represents a decimal
number Than the function will convert this number into a binary number with the formula as specifide with in the function A common call to this function would look something like this: DS3231 object.convert_dec_to_bin(a_integer_value);
| unsigned char * DS3231::get_Date | ( | unsigned char | date[] | ) |
///Gets the date /// This function takes a unsinged char buffer date with a size of 3 wich will be filled with the
following: day, month, year This will be acomplised by first writing to either the day month or year register respectiflly after this the function will read a byte from the selected register after the dtae buffer is filled it will be returned A common call to this function would look something like this: DS3231 object.get_Date(unsigned char buffer_to_store_date[3]);
| unsigned char * DS3231::get_Time | ( | unsigned char | time[] | ) |
///Gets the time /// This function takes a unsinged char buffer time with a size of 3 wich will be filled with the
following: seconds, minutes, hours This will be acomplised by first writing to either the seconds minutes or hour register respectiflly after this the function will read a byte from the selected register after the Time buffer is filled it will be returned. A common call to this function would look something like this: DS3231 object.get_Time(unsigned char buffer_to_store_time[3]);
| void DS3231::print_Date_Time | ( | unsigned char | date[], |
| unsigned char | time[] | ||
| ) |
///Print date and time to hwlib::cout for debug purposes /// This function has as purposes to let a user see time and date info without using any kind of display
This function takes two unsigned chars a date one and a time one This function will print the date and time in the following format: "dd-MM-YY ss-mm-HH" this function also checks if any values are lower than 10 if so the function will print a leading 0 A common call to this fucntion will look something like this: DS3231 object.print_Date_Time(unsigned char your_Date_buffer[], unsigned char your_time_buffer[]);
| void DS3231::set_Date | ( | int | day, |
| int | month, | ||
| int | year | ||
| ) |
///Sets the date on the DS3231 /// This function takes integer values wich represent the day month and year
The function than makes a i2c bit banged bus and constructs a Writebuffer that contains the following: Adress pointer(0x04) and the converted day month and year Than this function starts a I2C write transaction to write the buffer to the date registers(0x04,0x05,0x06) on the chip. A common call to this function would look something like this: DS3231 object.set_Date(integer day_value, integer month_value, integer year_value);
| void DS3231::set_Time | ( | int | hour, |
| int | minute, | ||
| int | second | ||
| ) |
///Set the time on the DS3231 /// This function takes integer values wich represent the hours minutes and seconds
The function than makes a i2c bit banged bus and constructs a Writebuffer that contains the following: Adress pointer(0x00) and the converted hours minutes and seconds Than this function starts a I2C write transaction to write the buffer to the time registers(0x00,0x01,0x02) on the chip. A common call to this function would look something like this: DS3231 object.set_Time(integer hour_value, integer minute_value, integer seconds_value);


Born and raised in Sunny San Diego, CA. I was introduced to the wonderful world of Engineering when I joined my High Schools Robotics team. I quickly rose through the ranks and led the team through my junior and senior year. In 2011, I was a Dean's List Award recipient at the National FIRST Robotics Competition. An award that goes to a select number of individuals who show exemplary leadership and technical expertise.
Later that year, I began my studies at the University of California San Diego, where I pursued a degree in Computer Science. The start of my career in Web Development came during my time at UCSD's department of medicine, where I worked as an IT assistant, and Web Administator for the departments SharePoint site. When I wasn't at work or studying I found time to work on a small side project with a few friends, a project which later came to be known as FlipStamp.
Shortly after I completed my third year at UCSD, FlipStamp recieved funding. So I put my studies on hold to run my new Startup as CEO alongside the companies other co-founders. But as is the fate of many startups, FlipStamp shut its doors just shy of 2 years of operation.
Now I work as the Lead Developer on internal projects for an Internet Marketing Agency called imFORZA. In my spare time I've had the opportunity to get back into the FIRST community as a mentor for the El Segundo High School Robotics team, the P.O.T.A.T.O.E.S.
Click one. I dare you.


absolutely convergent series,
1059
absorption laws for sets,
1072
acceptable pair of integers,
894
activity-selection problem,
371-379
adjacency-list representation,
528
adjacency-matrix representation,
529
for breadth-first search,
534
for depth-first search,
542-543
for Dijkstra's algorithm,
598
for Fibonacci heaps,
493 ex.
for shortest paths in a dag,
592
Akra-Bazzi method for solving a recurrence,
89-90
in
∈-dense graphs,
641 pr.
Floyd-Warshall algorithm for,
629-632
Johnson's algorithm for,
636-640
by matrix multiplication,
622-629
for bit-reversal permutation,
425 pr.
for breadth-first search,
534
for depth-first search,
542-543
for Dijkstra's algorithm,
598
for the generic push-relabel algorithm,
678-679
for the Knuth-Morris-Pratt algorithm,
926-927
for making binary search dynamic,
426 pr.
for restructuring red-black trees,
428 pr.
for shortest paths in a dag,
592
for stacks on secondary storage,
452 pr.
for weight-balanced trees,
427 pr.
amortized cost
in the accounting method,
410
in aggregate analysis,
406
in the potential method,
413
approximation
of summation by integrals,
1067
for bin packing,
1049 pr.
for MAX-CNF satisfiability problem,
1043 ex.
for MAX-CUT problem,
1043 ex.
for the maximum-clique problem,
1050 pr.
for maximum matching,
1051 pr.
for minimum-weight vertex cover,
1040-1043
for parallel-machine-scheduling problem,
1051 pr.
for the traveling-salesman problem,
1027-1033
for the weighted set-covering problem,
1050 pr.
arithmetic with infinities,
587
assembly-line scheduling,
324-331
associative laws for sets,
1072
asymptotically nonnegative,
42
asymptotically tight bound,
42
asymptotic notation,
41-50,
59 pr.
and graph algorithms,
526
and linearity of summations,
1059
augmenting data structures,
302-318
auxiliary linear program,
811
average-case running time,
26


Get(Device)
• 0 if the device is unknown
• 1 if the device is a Mac
• 2 if the device is a PC running Windows
• 3 if the device is an iPad
• 4 if the device is an iPhone or iPod touchReturns 2 if FileMaker Pro or FileMaker WebDirect is currently running on a PC with Windows.Returns 3 if FileMaker Go or FileMaker WebDirect is currently running on an iPad.


Before starting the course, please download the starter files, final project code and course slides from the GitHub repo I created for this course. The link is below 👇
Plus, please read the FAQ which contains important instructions about how to take this course. This is very important!
👉 Course material and instructions on GitHub
During the course, we use a couple of online tools and resources, which are all on my resources page. Students love this page, because it contains tons of useful design and coding resources. Here is the link:
👉 If you want to get updates on new courses or other stuff, just follow me on twitter @jonasschmedtman. I'm also on facebook if you prefer that.
And now, have a ton of fun with the course! 😊


I find Emma Watson to be a great role model as an actress. She is a very smart, beautiful, and responsible women who has been active in the progression of gender equality, which is something I happen to believe in as well! This is why I have chosen her for my magazine spread. Please feel free to check out her gender equality organization called, He For She:
Website


The results of the ADHD-200 Preprocessed initiative are currently available on a public Amazon S3 bucket. The data on S3 are stored as a single file per derivative for each participant, pipeline and strategy, which provides flexibility about the files that are downloaded. The data is also available on NITRC as a tar file for each derivative, pipeline and strategy.
If you use data from the ADHD-200 Preprocessed repository please cite our paper in bioRxiv, which is currently in revision for the Neuroimage special issue "Sharing the wealth: Brain Imaging Repositories in 2015".
Accessing data from the Amazon S3 bucket
Each file in the S3 bucket can only be accessed using HTTP (i.e.,no ftp or scp). You must contruct a URL for each desired file (see URL templates below) and then download it using an HTTP client such as a web browser, wget
, or curl
. Each file can only be accessed using its literal name- wildcards will not work. An example python script for downloading a subset of the data based on participant demographics is available here (right click and select Save Link As...
). You can find instructions for using this script here.
There are also file transfer programs that can handle S3 natively and will allow you to navigate through the data using a file browser. Cyberduck is one such program that works with Windows and Mac OS X (see screenshot illustrating a configuration to connect to the ABIDE preprocessed data below). Cyberduck also has a command line version that works with Windows, Mac OS X, and Linux.


Holly Pearen
Unafffiliated
2012-present Senior Attorney, Environmental Defense Fund 2010-2012 Associate Attorney, Bieging, Shapiro & Barber, LLP
J.D, Lewis & Clark Law School (2007) B.A., with honors, Univ. of Wisconsin-Madison (2002)
81224
2020: DSCC, Presidential Campaign of Kamala Harris, Presidential Campaign of Elizabeth Warren - totaling under $500
Appointed to the PHMSA Voluntary Information Sharing FACA Committee (2016-2017) Gunnison County Election Judge (2020)
In my professional capacity as an attorney for a solutions-based environmental organization, I focus on identifying win-win opportunities to advance the goals of multiple stakeholders. For example, during the 2014 CDPHE methane rulemaking, I identified oil and gas producers and environmental stakeholders interested in pursuing compromise, and negotiated directly with them regarding the technical details of a potential rule. I enjoyed working behind the scenes to support coalition building with in-depth research and detailed counter-proposals that reflected an understanding of what all stakeholders would accept. In my personal capacity, my small community demands respectful interaction with neighbors of different viewpoints - you never know who will stop to help you with a flat tire on a cold winter night.
I strongly believe in public service and participatory democracy, but do not crave the spotlight of a political position. I voted for the amendments creating these commissions, and would relish the opportunity to meet, and engage with likewise engaged Coloradans of all political affiliations.
In my personal and professional capacities, my strategy for building consensus is to develop strong personal ties based on real compassion for people, and communicate with polite authenticity. Additionally, I dig deep into the research and data to understand the issues, cut through positional statements and forge middle ground, and provide literature or other objective support for proposals.
Nearly 20 years of legal training and practice have honed my logic and reasoning skills, in addition to an ability to quickly identify the core issues, sticking points or key decision-points. My degree in Economics and subsequent professional focus allows me to digest and translate complicated, and quantitative issues into easy to understand concepts. Critically, I also understand the importance of identifying and addressing uncertainty in decision-making to accommodate grey areas or lack of data.
Female


Explore each room of this doll's house to find hidden facts about it.
×
In this room we find the very first piece of furniture we ever built: the armchair.
In this first house we actually built every piece of furniture and not only the structure of the house. But we kept buying new pieces as time went by and changing it for improvement.
×
The bathroom in this house kept changing through the years but the shelving unit in the back stayed always the same.
The small rug is cross stitched and the perfume bottles are made from necklace beads
×
We decorated with green to give the room a different feel since originally it was a bit dull.
The bed clothing is handmade by Silvia and the dressing table and its contents were bought in an annual fair in Madrid
×
In here, we kept the shelving unit from the original kit but we changed all the other aspects of the kitchen.
As in other rooms in this and the other houses, the fruit art in the wall is cross stitched.
×
In this room only the bookshelves on the right are original from when we built it.
All the books are wood pieces covered in wrapping paper, and you may never guess what the gramophone used to be... A pencil sharpener!
×
In this hall we find a couple of interesting cameos on the wall... that used to be earrings.
The other pieces of decoration were bought in fairs, except for the Japanese style furniture in the back, that was bought online.
×
Everything inside the picnic basket is handmade as well as the pillows. The few pieces of china are from the early XX century and were given as a gift to us.
You notice something different in this room? It is the only room without lights.
×
Plenty of details in this sewing room. The dress is from a broken doll bought in a street market.
The only original piece of furniture is the chair in front of the sewing machine, which was bought in a doll's house shop.
×
In this entrance (as well as the hall in the first floor) we see an aspect of the original design of the house: Stairs. You can see it in the ceiling.
The stairs were removed to have that space for decoration and furniture.


Your Profile
Dog's Name
Name
Breed
City
Gender
Male
Female
Birthday
State
Select a State
Alabama
Alaska
Arizona
Arkansas
California
Colorado
Connecticut
Delaware
District Of Columbia
Florida
Georgia
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Maryland
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
North Carolina
North Dakota
Ohio
Oklahoma
Oregon
Pennsylvania
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
Vermont
Virginia
Washington
West Virginia
Wisconsin
Wyoming
Zip Code
Weight
About Your Pup


{% extends "layout.html" %} {% block body %}
pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool,
built on top of the Python programming language.
The full list of companies supporting pandas is available in the sponsors page.


Greece’s legal fraternity goes to ‘war’ over Parthenon sculptures
by GCTShare this article.
- 867
- 7
The Athens Bar Association (ABA) announced on Friday the formation of a National Committee to Reclaim the Parthenon Sculptures.
The first of its kind initiative, was undertaken by the Presidents of Bar Associations throughout the country in recognition of the natonal nature of the effort and the need for the greatest possible contribution to the cause, they had issued a call to 58 agencies in Greece – including universities, unions and scientists – for representatives to the committee.
Because of the large number of committee members, they said, an executive council will be established to coordinate the committee actions and implement them, while a group of specialist lawyers will also be formed to supply necessary legal support.


Test coverage user interface for C and C++
ggcov-run − run an instrumented test program
ggcov-run [options] [--] program args...
Ggcov-run can be used to run a test program, instrumented using gcc --coverage when built, under certain conditions. It’s use is entirely optional, as the default behaviour of the gcc instrumention is designed to be useful under most conditions.
Ggcov-run takes as arguments a program and it’s arguments, and runs the program with some behavioural modifications (in the manner of strace). If given no options, the program is run without any modifications.
One problem with the default behaviour of the gcc instrumentation involves the locations of coverage data. Instrumented test programs will read, modify and re-write .gcda files when the program exits. The locations of those files are chosen by the compiler at compile time; the files will be placed in the build directory next to the corresponding .c file. The compiler saves this information in the .o file. For example, if you compile the file foo.c in the directory /home/me/software/quux, then the pathname /home/me/software/quux/foo.gcda is hardcoded in the test program. Of course, programs that examine coverage data, like ggcov, look for the .gcda files there.
For many test applications this works just fine. Problems arise however when the instrumented program needs to be run on another machine, or as another userid, or the build directory is volatile, or in any other test scenario where the build directory either does not exist or is not writable by the running test program. In these cases, you need to do some ad-hoc file moving before and after testing in order to get the .gcda files in the right location on the right machine with the right permissions.
A better approach is to use ggcov-run with the --gcda-prefix option. This option takes as a value a directory which is prepended to the pathname of each .gcda file the test program accesses. So, continuing the above example, running the test program like this:
me$ ggcov-run --gcda-prefix=/tmp/gcda ./testprogram test-args...
will result in a .gcda file being written to /tmp/gcda/home/me/software/quux/foo.gcda. The directory tree will be automatically created as the .gcda files are written, and the file and directory permissions will allow read access for all users.
Note that ggcov also has a --gcda-prefix option which can be used to search for .gcda files in locations other than the build directory. In our example:
me$ cd /home/me/software/quux me$ ggcov --gcda-prefix=/tmp/gcda -r .
-p dir, −−gcda−prefix=dir
Cause the test program, and any child processes it runs, to redirect any absolute filename ending in .gcda to a filename underneath the directory dir.
Ggcov-run uses a shared library shim and the LD_PRELOAD feature of the runtime linker to intercept certain library calls by the instrumented program. For very good security reasons, LD_PRELOAD is disabled for setuid or setgid programs. So if your test program relies on setuid behaviour, ggcov-run will not work. One possible workaround is to use sudo or su to change userid before using ggcov-run, like this:
me$ sudo -u otheruser ggcov-run --gcda-prefix=/foo ./testprogram
Written by Greg Banks<EMAIL_ADDRESS>ggcov is
Copyright © 2001−2020 Greg Banks
<EMAIL_ADDRESS>This is free software; see the COPYING file for copying
conditions. There is NO warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ggcov-run(1).


Why are Little Penguins So Important?
The Little Penguin is the only species of penguin native to Australia. Although all penguin species are native to the southern hemisphere, only a few are found in cold climates such as Antarctica. In fact, one species, the Galapagos Penguin, is found near the equator.
- The colony of Little Penguin at Manly has been listed as an endangered population under the Threatened Species Conservation Act in Schedule 1 Part 2 of the Act.
- The nesting burrows of the Little Penguin colony that was once more extensive is now reduced to only the Manly area.
- The Scientific Committee of OEH specifies that the population have been reduced to such a critical level that it is in immediate danger of extinction


We specialize in providing info. about mathura temples
The elements of Hindu cosmos are spotted in Mandir. Karma, moksa, artha, Kama and dharma are the essences of life found in Mandir. It also contains the elements of human, evil and good.
The principles come up in two major forms. The architecture is based on a number of ancient Sanskrits such as Vastu Sastras and Brhat Samhita. The ancient Sanskrit texts of India like Upanishads and Vedas are used as the spiritual principles of Mandir.
The beliefs, geometric symbolism and ancient rituals are reflected on the building process, plan, design, motif and layout of Mandir.
All Hindus in the world recognize the importance of Mandir for it serves as their spiritual destination.
The styles of Mandir in the world are varied depending on the regional beliefs, deities, construction methods and locations. However, all of them share the same theme, value symbolism and ideas.
VISION:No vision .....we played free style ..


Quantitative tools to address challenging questions. BA in Applied Mathematics, MSc in Mathematical Modelling and Scientific Computing. Experience in software development, engineering, and technical consulting for government clients.
Using interdisciplinary skills drawn from computer science, math, and geography to look at the world around us and probe the where, why, and how of spatial data. MSc in Geographic Information Science.
 To solve concerns of the future, we'll need to know how - and when - to address the one with the other.
Anything worth doing is worth doing well - and with anything and everything, do good.
Currently I work on our generation's greatest challenge: addressing climate change. Along with my colleagues at Pachama, I use satellite imagery and AI to restore nature and solve climate change. Our technology helps hold developers, landowners, and carbon-conscious corporations accountable for the choices that will impact our collective future. Previously I supported clients across emergency management, defense, and intelligence sectors.
I have an MSc in Mathematical Modelling and Scientific Computing at Oxford University, where I completed a dissertation on the complexity and performance of Unitary Recurrent Neural Networks. I also have an MSc in GIS from University College London, where I completed a dissertation on the impact of resolution on vehicle detection in satellite imagery using Convolutional Neural Networks.
Find me on LinkedIn, Instagram, or binge watching Ru Paul's Drag Race.


Do We Really Need to Collect Millions of Faces
for Effective Face Recognition?
Augmenting faces by using different generic 3D models for rendering.
Top: The ten generic 3D face shapes used for rendering. Bottom: Faces rendered with
the generic appearing right above them. Different shapes induce subtle appearance
variations yet do not change the perceived identity of the face in the image. A
single face image is rendered using different generic 3D models, at different poses
and different expressions (not shown here, see paper). This enriches the training
set with important intra-subject appearance variations thereby substantially improving
recognition rates.
Abstract: Face recognition capabilities
have recently made extraordinary leaps. Though this progress is at least partially
due to ballooning training set sizes -- huge numbers of face images downloaded and
labeled for identity -- it is not clear if the formidable task of collecting so
many images is truly necessary. We propose a far more accessible means of increasing
training data sizes for face recognition systems. Rather than manually harvesting
and labeling more faces, we simply synthesize them. We describe novel methods of
enriching an existing dataset with important facial appearance variations by manipulating
the faces it contains. We further apply this synthesis approach when matching query
images represented using a standard convolutional neural network. The effect of
training and testing with synthesized images is extensively tested on the LFW and
IJB-A (verification and identification) benchmarks and Janus CS2. The performances
obtained by our approach match state of the art results reported by systems trained
on millions of images.
Reference: Iacopo
Masi*, Anh Tuan Tran*, Tal Hassner*, Jatuporn Toy Leksut and Gerard Medioni, Do
We Really Need to Collect Millions of Faces for Effective Face Recognition?
European Conference on Computer Vision (ECCV), Amsterdam, The Netherlands, Oct.
2016. (PDF, BibTex)
* Denotes equal
first authorship
Older arXiv preprint: Iacopo Masi, Anh Tuan Tran,
Jatuporn Toy Leksut, Tal Hassner, Gerard Medioni, Do We Really Need to Collect Millions
of Faces for Effective Face Recognition? arXiv preprint arXiv:1603.07057,
24 Mar 2016 (arXiv)
New! If you want to better understand how the rendering code works, and why a simple 10-line Python function renders faces faster than OpenGL, read our FG'17 paper:
Iacopo Masi, Tal Hassner, Anh Tuan Tran, and Gerard Medioni, Rapid Synthesis of Massive Face Sets for Improved Face Recognition, IEEE International Conference on Automatic Face and Gesture Recognition (FG) Washington, DC, May, 2017 (PDF, BibTex)
Downloads
If you find the resources below useful, please reference our paper in your work.
1. Python, face specific augmentation code now
available on GitHub.
The code can be used to synthesize new views of faces appearing in unconstrained
images, to the three yaw angles (frontal / 0°, 40° and 75°) with the
same ten generic 3D face shapes used in our ECCV'16 paper (see also figure at the
top of this page).
This code implements a different method than the one used for the ECCV'16 paper.
The new method provides more functionality and the code is designed to provide an
easy to use interface. Tests comparing the new rendering method with the one used
for ECCV show the new approach to lead to better trained CNN models and higher recognition
rates*. This code release, however, may still be unstable, so please use at your
own risk!
* The new functionality and the additional tests comparing this new version to the
one used for the ECCV paper are currently unpublished.
2.
ResFace-101 a ResNet-101 network for face recognition, fined-tuned on CASIA images following the augmentation
described in our paper.
This is a deep network trained to recognize faces appearing in extreme poses and
viewing conditions. It was tested on the IJB-A benchmark and shown to provide results
comparable to state of the art. This network was not used in the paper; we found
the ResNet-101 to provide better performance than the network we previously used.
Finally, augmentation used the new code available on this webpage (rather than the
older function used in the paper).
This is an ongoing project and we are continually adding more features, data and
information. Please check this page again for updates.
Copyright 2016, Iacopo Masi, Anh Tuan Tran, Tal Hassner, Jatuporn Toy Leksut and
Gerard Medioni
The SOFTWARE provided in this page is provided "as is", without any guarantee made
as to its suitability or fitness for any particular use. It may contain bugs, so
use of this tool is at your own risk. We take no responsibility for any damage of
any sort that may unintentionally be caused through its use.
Last update
June 22th, 2017
|


drag: move time
double click: zoom in
shift + double click: zoom out
scroll: zoom in/out
select box: sort directors by name, age, born, died, country
mouseover: show information(director, film)
reset: default view please wait for a few minutes before movie start to play.


A connector library for the insanely fast HEXONET Backend API. :copyright: © 2018 by HEXONET GmbH. :license: MIT, see LICENSE for more details.
This module covers all necessary functionality for http communicatiton with our Backend System. :copyright: © 2018 by HEXONET GmbH. :license: MIT, see LICENSE for more details.
hexonet.apiconnector.apiclient.
APIClient
¶Bases: object
disableDebugMode
()¶Disable Debug Output
enableDebugMode
()¶Enable Debug Output to STDOUT
getPOSTData
(cmd)¶Serialize given command for POST request including connection configuration data
getSession
()¶Get the API Session that is currently set
getURL
()¶Get the API connection url that is currently set
getVersion
()¶Get the current module version
login
(otp='')¶Perform API login to start session-based communication
loginExtended
(params, otp='')¶Perform API login to start session-based communication. Use given specific command parameters.
logout
()¶Perform API logout to close API session in use
request
(cmd)¶Perform API request using the given command
requestAllResponsePages
(cmd)¶Request all pages/entries for the given query command
requestNextResponsePage
(rr)¶Request the next page of list entries for the current list query Useful for tables
resetUserView
()¶Reset data view back from subuser to user
reuseSession
(session)¶Use existing configuration out of session to rebuild and reuse connection settings
saveSession
(session)¶Apply session data (session id and system entity) to given client request session
setCredentials
(uid, pw)¶Set Credentials to be used for API communication
setOTP
(value)¶Set one time password to be used for API communication
setRemoteIPAddress
(value)¶Set an Remote IP Address to be used for API communication. To be used in case you have an active ip filter setting.
setRoleCredentials
(uid, role, pw)¶Set Credentials to be used for API communication
setSession
(value)¶Set an API session id to be used for API communication
setURL
(value)¶Set another connection url to be used for API communication
setUserView
(uid)¶Set a data view to a given subuser
useLIVESystem
()¶Set LIVE System for API communication (this is the default setting)
useOTESystem
()¶Set OT&E System for API communication
This module covers all necessary functionality to work with a column and wrapped data. :copyright: © 2018 by HEXONET GmbH. :license: MIT, see LICENSE for more details.
hexonet.apiconnector.column.
Column
(key, data)¶Bases: object
The Column class covers all you need to access column data of a Backend API response.
getData
()¶Get column data
getDataByIndex
(idx)¶Get column data at given index
getKey
()¶Get column name
hasDataIndex
(idx)¶Check if column has a given data index
This module covers all necessary functionality to work with a record and wrapped data. :copyright: © 2018 by HEXONET GmbH. :license: MIT, see LICENSE for more details.
This module covers all necessary functionality to work with Backend API responses. :copyright: © 2018 by HEXONET GmbH. :license: MIT, see LICENSE for more details.
hexonet.apiconnector.response.
Response
(raw, cmd=None)¶Bases: hexonet.apiconnector.responsetemplate.ResponseTemplate
, object
The Response class covers all necessary functionality to cover access to Backend API response data in a useful way.
addColumn
(key, data)¶Add a column to the column list
addRecord
(h)¶Add a record to the record list
getColumn
(key)¶Get column by column name
getColumnIndex
(colkey, index)¶Get Data by Column Name and Index
getColumnKeys
()¶Get Column Names
getColumns
()¶Get List of Columns
getCommand
()¶Get Command used in this request
getCurrentPageNumber
()¶Get Page Number of current List Query
getCurrentRecord
()¶Get Record of current record index
getFirstRecordIndex
()¶Get Index of first row in this response
getLastRecordIndex
()¶Get last record index of the current list query
getListHash
()¶Get Response as List Hash including useful meta data for tables
getNextPageNumber
()¶Get Page Number of next list query
getNextRecord
()¶Get next record in record list
getNumberOfPages
()¶Get the number of pages available for this list query
getPagination
()¶Get object containing all paging data
getPreviousPageNumber
()¶Get Page Number of previous list query
getPreviousRecord
()¶Get previous record in record list
getRecord
(idx)¶Get Record at given index
getRecords
()¶Get all Records
getRecordsCount
()¶Get count of rows in this response
getRecordsLimitation
()¶Get limit(ation) setting of the current list query
getRecordsTotalCount
()¶Get total count of records available for the list query
hasNextPage
()¶Check if this list query has a next page
hasPreviousPage
()¶Check if this list query has a previous page
rewindRecordList
()¶Reset index in record list back to zero
This module covers all necessary functionality to parse a raw Backend API response and to serialize it back. :copyright: © 2018 by HEXONET GmbH. :license: MIT, see LICENSE for more details.
hexonet.apiconnector.responseparser.
parse
(raw)¶Returns the response as a string
hexonet.apiconnector.responseparser.
serialize
(r)¶Returns the dictionary represenation serialized back to plain text
This module covers all basic functionality to deal with Backend API responses. :copyright: © 2018 by HEXONET GmbH. :license: MIT, see LICENSE for more details.
hexonet.apiconnector.responsetemplate.
ResponseTemplate
(response='')¶Bases: object
The ResponseTemplate class is the base class for the Response Class that covers basic functionality to work with Backend API responses.
getCode
()¶Returns the API response code as integer
getDescription
()¶Returns the API response description
getHash
()¶Get API response as Hash
getPlain
()¶Returns the plain API response
getQueuetime
()¶Get Queuetime of API response as float value
getRuntime
()¶Get Runtime of API response as float value
isError
()¶Check if current API response represents an error case (5xx)
isSuccess
()¶Check if current API response represents a success case (2xx)
isTmpError
()¶Check if current API response represents a temporary error case (4xx)
This module covers all functionality to manage response templates. :copyright: © 2018 by HEXONET GmbH. :license: MIT, see LICENSE for more details.
hexonet.apiconnector.responsetemplatemanager.
ResponseTemplateManager
¶Bases: object
The ResponseTemplateManager class covers all functionality required to manage Response Templates.
addTemplate
(id, plain)¶Add response template to template container
generateTemplate
(code, description)¶Returns a response template string for the given code and description
getInstance
()¶Returns the singleton instance
getTemplate
(id)¶Get response template instance from template container
getTemplates
()¶Return all available response templates
hasTemplate
(id)¶Check if given template exists in template container
isTemplateMatchHash
(tpl2, id)¶Check if given API response hash matches a given template by code and description
isTemplateMatchPlain
(plain, id)¶Check if given API plain response matches a given template by code and description
This module covers all necessary functionality to pre-configure http communication with our Backend System. :copyright: © 2018 by HEXONET GmbH. :license: MIT, see LICENSE for more details.
hexonet.apiconnector.socketconfig.
SocketConfig
¶Bases: object
The SocketConfig class helps to configure the http communcation with our Backend System.
getPOSTData
()¶Create POST data string out of connection data
getSession
()¶Get API Session ID in use
getSystemEntity
()¶Get API System Entity in use
setLogin
(value)¶Set account name to use
setOTP
(value)¶Set one time password to use
setPassword
(value)¶Set account password to use
setRemoteAddress
(value)¶Set Remote IP Address to use
setSession
(value)¶Set API Session ID to use
setSystemEntity
(value)¶Set API System Entity to use. This is set to 54cd / LIVE System by default.
setUser
(value)¶Set subuser account name (for subuser data view)


Open Source Day
Grace Hopper Celebration 2022
Thank you for coming!
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine - often called server-side JavaScript. The Node.js project has more than 3,000 contributors, 88K stars on GitHub, and was downloaded over 3 billion times last year.
Meet Your Mentors
https://nodetodo.org/


---
title: Lost in translation
excerpt: "Smallpox pizza"
comments: true
tags:
- Humour
- Travel
thumbnail: http://1.bp.blogspot.com/_s00UYWAZMqA/TJ86fJdRDqI/AAAAAAAAABA/WjHbIPtxaEk/s72-c/Smallpox+Pizza.jpg
blogger_orig_url: http://stickmanscorral.blogspot.com/2010/09/bringing-priori-bias-back-to-level-of_25.html
---
Spotted on our recent trip to Croatia.


Introduction of QRazyBox
About QR Code
Interface Overview
Create, Save, and Load Project
Drawing and Decoding QR Code
Painter Basic Usage
Format Info Pattern
Undo/Redo using History
Extract QR Information
Reed-Solomon Decoder
Brute-force Format Info Pattern
Data Masking
Padding Bits Recovery
Basic Example
Advanced Example
QR Code samples
Shortcut Keys
Third-Party & License


Paul Craig, Shogun Rua agree to rematch after UFC Sao Paulo draw
by Milan OrdoñezScottish light heavyweight fighter Paul Craig agreed to step in as a replacement for Sam Alvey to face Mauricio Rua in the co-main event of UFC Sao Paulo. Entering the fight, Craig had intentions to retire the 37-year-old “Shogun.”
“I (told my coaches) I would love to be ‘Shogun’ Rua’s last fight,” he told reporters during the post-fight presser. “I would love for ‘Shogun’ Rua to take his gloves off and leave them in the center of the Octagon after I had obviously gotten the victory.”
While he did inflict more damage on the Brazilian, the fight ended in an split draw. Now, “Bearjew” wants to run it back with the former PRIDE middleweight grand prix champion.
“If I did that in a two-week fight camp, what can I do in an eight-week fight camp?” Craig said. “Is there any opportunity to face Shogun Rua again? Only he’d be able to tell you that, because I would take that fight in a heartbeat.
“Going with how his face looked after that fight, I can’t see him accepting that fight.”
Contrary to Craig’s assumption, Rua did accept the rematch idea upon finding out about it.
“He’s already been talking about a rematch, I don’t know where. I’ll accept it,” Rua told the media during his own post-fight scrum. “I think that we deserve a rematch for this fight. I don’t think this was resolved.
“With all due respect to him, he’s a great athlete. And that’s it.”
Craig says he wants the rematch to take place in Glasgow in his home country of Scotland.


Register Here
First Name
Last Name
Password
Confirm Password
Email
Create User
Already have an account?
Login.


I am currently a student at Lambda School studying Data Science and Machine Learning/AI. I taught on the Navajo reservation for nearly 4 years, have a BS in Business Entrepreneurship from the University of Utah, and am a music producer, nurturing bands and musicians to develop their talents and songwriting abilities. I also compose for various media projects, including films like "Minimalism" on Netflix.
Hey guys, I am a student at lambda school, I worked on the design and implementation of the front end UI for the landing page as well as this page here. This happens to be my first build week and I am super excited for what's to come. I am really interested in developing applications with the React library!
Hi folks! I am a programming enthusiast since I know about computers. My cohort is WEBPT11 and I am very interested in building mobile apps with React Native in my personal time. In this project, I was responsible for state management and CRUD operations of the application. On top of that, I also helped creating the UI layout of the application on Figma.


(coming soon)
Copy and save the Global OS file below on your Google Suite Account:
(currently by invite only)
- Request an invite at W3AI meetups
My Global OS 0.7 pre-α install
Done!
Visit our Help page to learn your Global OS commands and operation.


Running latest Apollo with SVL Simulator
These instructions are tested after the last commit enabling SVL Simulator with latest Apollo master. Commits after that are assumed to work as well, but not guaranteed.
Big changes have recently been introduced in Apollo master; camera perception may not be working yet, and LiDAR perception is recently able to build but still unstable (and uses a lot of GPU memory making it challenging for Apollo to share an 8GB GPU with the SVL Simulator). Because of this we will be using the modular testing features of the SVL Simulator which allows the simulator to directly publish perception and traffic light messages.
For those who used our fork of Apollo 5.0 before: please note the new step to select the correct setup mode in Dreamview.
Table of Contents
Getting Started top#
This guide outlines the steps required to setup Apollo for use with the SVL Simulator. If you have not already set up the simulator, please do so first by following the instructions in Installing the SVL Simulator.
Prerequisites top#
- Ubuntu 18.04 or later
- NVIDIA graphics card (required for Perception)
- NVIDIA proprietary driver (>=410.48) must be installed
Setup top#
Docker top#
Apollo is designed to run out of Docker containers. The image will mount this repository as a volume so the image will not need to be rebuilt each time a modification is made.
Installing Docker CE top#
To install Docker CE please refer to the official documentation.
NOTE
Apollo does not work if the docker is started with sudo
.
We suggest following through with the post installation steps.
Installing the NVIDIA Container Toolkit top#
Before installing the NVIDIA Container Toolkit, make sure that you have the appropriate NVIDIA drivers installed.
To test if the NVIDIA drivers are properly installed enter nvidia-smi
in a terminal. If the drivers are installed properly an output similar to the following should appear.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.39 Driver Version: 460.39 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce GTX 1080 Off | 00000000:02:00.0 On | N/A |
| 35% 54C P0 44W / 180W | 3048MiB / 8116MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
The installation steps for the NVIDIA Container Toolkit are available here.
Cloning the Repository top#
Clone latest Apollo using the following command:
git clone https://github.com/ApolloAuto/apollo
Building Apollo and bridge top#
Now everything should be in place to build Apollo. Apollo must be built from the container. To launch the container navigate to the directory where the repository was cloned and enter:
./docker/scripts/dev_start.sh
This should launch the container and mount a few volumes. It could take a few minutes to pull the latest volumes on the first run.
To get into the container:
./docker/scripts/dev_into.sh
Build Apollo (optimized, not debug, with GPU support):
./apollo.sh build_opt_gpu
NOTE The Apollo build may fail on machines with less than 1GB of RAM per CPU core due to aggressive parallelization in the build, as discussed in Apollo issue 7719.
If the build fails, either re-start it until it succeeds, but if it continues to fail (especially when running the linker) then you'll need to address the low memory situation by either adding more memory to your build machine or enabling or increasing available swap space. If your Apollo build is crashing on a 16GB machine with little or no swap, try setting it to 16GB.
Adding a Vehicle to Apollo top#
- In order to run Apollo with the simulator, the calibration files for the vehicle you use in the simulator must be available in Apollo for
perception
module to work correctly. - Currently, only calibration files for Lincoln 2017 MKZ are included in the latest Apollo. More calibration files may be added later.
- To add a new vehicle to Apollo:
- Create a new folder with the new vehicle's name under
APOLLO_ROOT/modules/calibration/data
. - Copy all calibration files of Lincoln 2017 MKZ to the folder.
- Update vehicle parameters in
vehicle_param.pb.txt
if your new vehicle is different from Lincoln 2017 MKZ. - Update LiDAR calibration files in
velodyne_params
folder. If you have different configuration for LiDAR with respect to novatel, you need to update LiDAR's height and extrinsics. - Update camera calibration files in
camera_params
folder. You need to update camera intrinsics and extrinsics for your own camera and sensor configurations. - You may also need to update other sensor calibration files if you are using them on your vehicle.
- Create a new folder with the new vehicle's name under
- After you add the new vehicle, you need to restart dreamview to refresh the vehicle list.
- Inside Apollo docker:
bootstrap_lgsvl.sh stop && bootstrap_lgsvl.sh
- Inside Apollo docker:
Adding an HD Map to Apollo top#
-
An HD map in Apollo format corresponding to the environment you use in the simulator must be available in Apollo for modules like
routing
,planning
, etc. to work. -
Currently, only HD map files for Borregas Ave are included in the the latest Apollo at this time. More HD maps may be added later.
-
You can also download HD Maps for any map available in the Web UI Store (for example), and manually add them to
/apollo/modules/map/data/
. -
Or you can export your own map file following Export Map Annotations, then generate
routing_map
andsim_map
following these instructions. -
In our Apollo 5.0 fork, we have a script
generate_map.sh
to help users generate map files. You can copy that script toAPOLLO_ROOT/scripts/
folder to use it. For details, please follow here. -
After you add the new map, you need to restart Dreamview to refresh the map list.
- Inside Apollo docker:
bootstrap_lgsvl.sh stop && bootstrap_lgsvl.sh
- Inside Apollo docker:
Alternatively, you can analyze top
while building, and decide how many jobs to enable to avoid running out of memory; then set a specific value in JOB_ARG
, e.g. --jobs=6
.
Setting Clock Mode in Apollo (Optional) top#
SVL Simulator has a clock sensor which outputs a simulated time that can be used as the reference time for Apollo. When used, message lag which may result from transporting large amounts of data between the Simulator and Apollo will not affect Apollo performance. In addition, the clock sensor allows Apollo to run with "simulator time" when used in "stepped simulation" mode as shown in Python API Quickstart Script 33.
To be able to use the clock sensor (which is part of the Apollo 6.0 (modular testing) sensor configuration), clock_mode
must be set to MODE_MOCK
in cyber.pb.conf.
Launching Apollo alongside the Simulator top#
Here we only describe only a simple case of driving from point A to point B using Apollo and the simulator.
To launch Apollo, first launch and enter a container as described in the previous steps.
-
To start Apollo:
Note: you may receive errors about Dreamview not being build if you do not run the script from the
/apollo
directory.
./scripts/bootstrap_lgsvl.sh
- Launch bridge (inside docker container):
./scripts/bridge.sh
- Run the SVL Simulator outside of docker. See instructions for Running the Simulator
- Create a Simulation using the Random Traffic runtime template and selecting the
BorregasAve
map andLincoln2017MKZ
vehicle with theApollo 6.0 (modular testing)
sensor configuration - Enter
localhost:9090
as the Bridge Connection String (if apollo and the simulator are running on separate machines you will need to enter the IPv4 address of the machine running the bridge instead oflocalhost
) - (Optional) Enable Traffic and Pedestrians
- (Optional) Set the Time of Day and weather settings
- Submit the Simulation
- Select the created Simulation and click "Run Simulation"
- Create a Simulation using the Random Traffic runtime template and selecting the
- Open Apollo Dreamview in a browser by navigating to:
localhost:8888
- NEW for Apollo Master: Select the
Mkz Lgsvl
setup mode, from the menu to the left of the vehicle menu. - Select the
Lincoln2017MKZ LGSVL
vehicle andBorregas Ave
map in the top right corner. - Open the Module Controller tap (on the left bar).
- Enable Localization, Transform, Planning, Prediction, Routing, and Control (there is no need to enable Perception or Traffic Light because the modular testing sensors directly publish perception and traffic light results).
- Navigate to the Route Editing tab.
- Select a destination by clicking on a lane-line and clicking Submit Route.
- Watch the vehicle navigate to the destination.
- NEW for Apollo Master: Select the
- To stop the docker container run the
dev_start.sh stop
script inapollo/docker/scripts
in a new terminal (not in the docker container).
./dev_start.sh stop
- If you are using ufw, it is easiest to completely disable the firewall to allow connections
sudo ufw disable
- If that is not possible, add the following rules:
- These are required even if running the simulator and Apollo on the same machine
sudo ufw allow 8888
sudo ufw allow 9090
- If that is not possible, add the following rules:
Adding a Vehicle top#
Only calibration files for Lincoln 2017 MKZ is included in the latest Apollo at this time. More calibration files map be added later.
Adding an HD Map top#
Only HD map files for Borregas Ave is included in the the latest Apollo at this time. More HD maps may be added later.
You can also download additional maps from here, and manually add them to /apollo/modules/map/data/
.
Or you can export your own map from our map annotation tool, name it base_map.bin
and then generate routing_map
and sim_map
following these Apollo map instructions.


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import config.AppConfig @import uk.gov.hmrc.play.views.html.helpers.FormWithCSRF @import views.html.templates.errors.ErrorSummary @import views.html.templates.inputs.Text @this(mainTemplate: MainTemplate, text: Text, form: FormWithCSRF, errorSummary: ErrorSummary) @(email: String, passcodeForm: Form[String], contactPrefJourney: Boolean)(implicit request: User[_], messages: Messages, appConfig: AppConfig) @additionalContent = {
@messages("passcode.weHaveSent") @email
@messages("passcode.newTabOrWindow")
@form(action = formSubmissionAction) { @text( field = passcodeForm("passcode"), pageTitle = None, additionalContent = Some(additionalContent) )@messages("passcode.subjectLine")
@messages("passcode.stillNotArrived.1") @messages("passcode.stillNotArrived.2") @messages("passcode.stillNotArrived.3") @messages("passcode.stillNotArrived.4")@messages("common.fullstop")


Preparation time
over 2 hours
Cooking time
10 to 30 mins
Serves
Serves 16-20
Dietary
Yuzu and miso add a savoury twist to a chocolate dessert.
For the aerated chocolate, melt the chocolate with the sunflower oil and leave to infuse for 1 hour.
Strain into an espuma gun and charge with 2 bulbs.
Spray 100g/3½oz into a plastic container and place into a vacuum pack machine. Then place in a sous-vide machine and turn off when the chocolate reaches the top of the container.
Leave in the fridge for at least 2 hours. Remove from container and cut into 4 portions.
For the yuzu purée, mix the yuzu juice, sugar syrup and agar-agar together. Place in a pan and bring up to the boil. Pour into a container and leave to set.
Once set, transfer to a blender and blend until smooth. Strain and if needed, season with a little salt and citric acid.
For the miso salt, gently coat the salt in the miso powder and store in an airtight container until needed.
To serve, pipe 5 dots of the yuzu purée across each portion of the aerated chocolate and dust with 4 to 5 grains of the miso salt.


AGENCY-
Phenyle
CHETAK PHENYL
DOCTOR PHENYL
KAMAL PHENYL
DAYFRESH PHENYL
Mehandi
TAJ MEHANDI
Incense sticks
DEVIKA
Oil
ALMOND OIL
COCONUT OIL
Bonny Product's
BOONY NIPLE
BOONY FEEDER


Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum fugiat quo voluptas nulla pariatur.
Lorem Ipsum passages, and more recently with desktop publishing software like Aldus including versions of Lorem Ipsum.
Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker of Lorem Ipsum.
Lorem Ipsum passages, and more recently with desktop software like Aldus PageMaker including of Lorem Ipsum.
Lorem Ipsum passages, and more recently with desktop publishing like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum passages, and more recently with desktop publishing software like PageMaker including versions of Lorem Ipsum.
Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including of Lorem Ipsum.
Lorem Ipsum passages, and more recently with desktop publishing software like Aldus.$45
Lorem Ipsum passages, and more recently with desktop publishing software like Aldus.$45
Lorem Ipsum passages, and more recently with desktop publishing like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum passages, and more recently with desktop publishing software like PageMaker including versions of Lorem Ipsum.
It was popularised in the 1960s with the release Ipsum.


Community
Social Channels
Community Support
GitHub
Get involved with OPA development. Request a feature, file a bug, or just check out the open source code base.
View OPA on GitHub
GitHub Discussions
Community powered support for OPA and Rego. Ask questions about writing Rego files, implementing OPA, or share the configurations you are working on.
Start a Discussion
Stack Overflow
Ask the global developer community questions about OPA with the tag #open-policy-agent
Ask a Question
Champions
Charlie Egan
Masayoshi Mizutani
Contribute
Meetup
Host a localized meetup in your area or virtually. Share what you’ve learned and connect with the OPA community.
Host a Meetup
Blog Post
Contribute to the official OPA blog. Write about special use cases, advance configurations, deployment strategies or the OPA community.
Email
Conference and Meetup CFPs
Want to share your OPA knowledge with the world? The OPA team is here to help. Let us know and we can review, suggest edits or help you practice.
Write A CFP
Enterprise Support
Styra is the original creator of Open Policy Agent — we provide support,
professional services, training, and enterprise products.
Go to Support
Newsletter
Sign up for the OPA newsletter!
Go to Newsletter Sign-up


Before Change
dest = None if dest is None else dest.detach().cpu().to(torch.int).numpy()
outs = []
for i in range(len(src)):
s = src[i:i + 1]
d = None if dest is None else dest[i:i + 1]
out = gdist.compute_gdist(pos, face, s, d, max_distance * norm) / norm
out = torch.from_numpy(out).to(dtype)
outs.append(out)
out = torch.cat(outs, dim=0)
if dest is None:
out = out.view(-1, pos.shape[0])
After Change
dest = None if dest is None else dest.detach().cpu().to(torch.int).numpy()
pool = mp.Pool(mp.cpu_count())
outs = pool.starmap(
_parallel_loop,
[(pos, face, src, dest, max_distance, norm, i, dtype) for i in range(len(src))]
)
pool.close()
out = torch.cat(outs, dim=0)