.NET Foundation Campaign: Dave Glick
TL;DR
- I’m passionate about open source, .NET, and the intersection of the two.
- I have a strong vision and ideas on how to enhance the execution of the .NET Foundation mission.
- I've had multiple perspectives within the community as a contributor, as a solo maintainer, as a member of project teams, and in corporate environments.
- I have experience volunteering in local organizational leadership roles.
Passion
I’m running for a position on the .NET Foundation Board of Directors because I want to continue giving back to this community in the most impactful and meaningful ways I can. The .NET open source community has literally changed my life. I’ve learned from you, benefited from your dedication and contributions, and met tons of great people (including many close friends).
I’ve already dedicated myself to promoting open source in .NET through a variety of projects:
- Discover .NET
I created and maintain this site focused on project, issue, resource, and event discovery in the .NET ecosystem. - @dotnetissues
I created and maintain this Twitter bot that keeps followers informed about new issues in core .NET repositories. - Up For Grabs
I worked with the maintainers to create a whole new design that enhances the ability to find and filter relevant projects. - Blogging
Though I may not be the most prolific blogger, I try to focus on deep-dives into lesser understood areas like the NuGet APIs (my series is linked from the official NuGet documentation), MSBuild, and Razor. - Microsoft MVP Program
As a three-time awardee I speak at local events like user groups and code camps, participate in podcasts and live coding shows, and provide outside feedback to product teams whenever I can.
Vision
The .NET Foundation's mission is to to foster innovation, which we believe starts with open development and collaboration. While I fully support this mission, and appreciate the work the Foundation has done to date, I think there are ways in which it's execution could be greatly enhanced.
- Communication with Member Projects
Communication with the .NET Foundation and its member projects needs to be improved. Some ideas I have include assigning a board member to each project as a dedicated point of contact, greater participation from the .NET Foundation in day-to-day project issues, and more structured and defined support channels for member projects. - Communication Between Member Projects
Likewise communication between .NET Foundation projects could be enhanced to take advantage of synergies between them. Some ideas I have include periodic “stand-ups” where all .NET Foundation projects would be invited to provide a short status to each other and the community and a focus on cross-project opportunities through collaboration with their dedicated board point of contact. - Promoting .NET Open Source
The .NET open source community doesn’t just consist of .NET Foundation projects, and fostering innovation doesn't start and end with them. The Foundation could do a better job promoting and supporting non-Foundation projects in a variety of ways like increasing exposure by giving non-Foundation projects a platform via the Foundation website. - Inclusion and Diversity In case you hadn't noticed, I'm a white dude. While I obviously represent one slice of the .NET community, I certainly don't represent the whole community. I would love to see a greater focus paid by the Foundation on making sure that it supports the entire .NET community, including an emphasis on growing the community in under-represented demographics through active and vigorous inclusion initatives. The .NET tent is big and we're better together with as large and diverse a community as we can build. A smart person on Twitter once said "inclusion is the action...diversity is a result."
- Open Source Sustainability
If you follow me on Twitter, you'll know that this is a particular interest area of mine. I think we're just starting to consider what a modern healthy open source project looks like and how to sustain that in the long run. I love that the community is experimenting with different sustainability models and would really like to see the .NET Foundation engaged and participating in these discussions. - Education And Early Introduction
I know there is a group within Microsoft focusing on academic and other early educational opportunities, and I would love to see the .NET Foundation take a leadership role alongside Microsoft here. There's a huge potential to expose the next generation of developers to .NET. Likewise, I'd love to see continuing support of user groups, code camps, and other on-the-ground education and training with increased commitments wherever we can.
Community
I love being an active participant in open source. I'm involved in many different roles, which gives me distinct perspectives and an appreciation for the ways in which they compliment and challenge each other.
As a Contributor
I try to help other projects whenever I can and have contributed to many projects with pull requests and other support both large and small.
As a Maintainer
I maintain several .NET open source projects including...
As a Team Member
The healthiest open source projects often have a team, and it’s important to consider the needs of these kinds of projects alongside those of solo maintainers. I am fortunate enough to participate as a team member on multiple .NET Foundation projects:
As a Corporate Consumer
Though I spend my personal time participating in .NET open source on the producer side, I spend my day job navigating challenges as a corporate open source consumer. Even though I lead an engineering team, I am constantly confronted with the sometimes challenging realities of open source interaction in an Enterprise. This aspect of the .NET open source community can’t be ignored and any successful engagement by the .NET Foundation must keep it in mind.
Leadership
I already give significant time to my local civic, school, and family communities. It's not unusual to find me most nights heading to a PTA meeting (I'm currently the treasurer), scout planning session (I chair our local committee), or other volunteering commitment. I’m really looking forward to applying the same energy I give my family and local communities to my global community of open source peers in a more formal capacity.


§480-15 Injunction by attorney general or the director of the office of consumer protection. The attorney general may bring proceedings to enjoin any violation of this chapter; provided that the director of the office of consumer protection may also bring proceedings to enjoin any violation of section 480-2. [L 1961, c 190, §13; Supp, §205A-13; HRS §480-15; am L 1975, c 67, §1]
Case Notes
Discussed: 907 F. Supp. 2d 1188 (2012).


Rules Configuration
Istio provides a simple configuration model to control how API calls and layer-4 traffic flow across various services in an application deployment. The configuration model allows an operator to configure service-level properties such as circuit breakers, timeouts, retries, as well as set up common continuous deployment tasks such as canary rollouts, A/B testing, staged rollouts with %-based traffic splits, etc.
For example, a simple rule to send 100% of incoming traffic for a reviews service to version “v1” can be described using a configuration as follows:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews
spec:
hosts:
- reviews
http:
- route:
- destination:
host: reviews
subset: v1
This configuration says that traffic sent to the reviews service
(specified in the hosts
field) should be routed to the v1 subset
of the underlying reviews service instances.
The route subset
specifies the name of a defined subset in
a corresponding destination rule configuration:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: reviews
spec:
host: reviews
subsets:
- name: v1
labels:
version: v1
- name: v2
labels:
version: v2
A subset specifies one or more labels that identify version-specific instances. For example, in a Kubernetes deployment of Istio, “version: v1” indicates that only pods containing the label “version: v1” will receive traffic.
Rules can be configured using the
istioctl CLI, or in a Kubernetes
deployment using the kubectl
command instead, although only istioctl
will
perform model validation and is recommended. See the
configuring request routing task
for examples.
There are four traffic management configuration resources in Istio: VirtualService, DestinationRule, ServiceEntry, and Gateway. A few important aspects of these resources are described below. See networking reference for detailed information.
Virtual Services
A VirtualService defines the rules that control how requests for a service are routed within an Istio service mesh. For example, a virtual service could route requests to different versions of a service or, in fact, to a completely different service than was requested. Requests can be routed based on the request source and destination, HTTP paths and header fields, and weights associated with individual service versions.
Rule destinations
Routing rules correspond to one or more request destination hosts that are specified in
a VirtualService
configuration. These hosts may or may not be the same as the actual
destination workload and may not even correspond to an actual routable service in the mesh.
For example, to define routing rules for requests to the reviews service using its internal
mesh name reviews
or via host bookinfo.com
, a VirtualService
could have a hosts
field
something like this:
hosts:
- reviews
- bookinfo.com
The hosts
field specifies, implicitly or explicitly, one or more fully qualified
domain names (FQDN). The short name reviews
, above, would implicitly
expand to an implementation specific FQDN. For example, in a Kubernetes environment
the full name is derived from the cluster and namespace of the VirtualSevice
(e.g., reviews.default.svc.cluster.local
).
Qualify rules by source/headers
Rules can optionally be qualified to only apply to requests that match some specific criteria such as the following:
1. Restrict to a specific caller. For example, a rule can indicate that it only applies to calls from workloads (pods) implementing the reviews service.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- match:
sourceLabels:
app: reviews
...
The value of sourceLabels
depends on the implementation of the service.
In Kubernetes, for example, it would probably be the same labels that are used
in the pod selector of the corresponding Kubernetes service.
2. Restrict to specific versions of the caller. For example, the following rule refines the previous example to only apply to calls from version “v2” of the reviews service.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- match:
- sourceLabels:
app: reviews
version: v2
...
3. Select rule based on HTTP headers. For example, the following rule will only apply to an incoming request if it includes a “cookie” header that contains the substring “user=jason”.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews
spec:
hosts:
- reviews
http:
- match:
- headers:
cookie:
regex: "^(.*?;)?(user=jason)(;.*)?$"
...
If more than one header is provided, then all of the corresponding headers must match for the rule to apply.
Multiple criteria can be set simultaneously. In such a case, AND or OR semantics apply, depending on the nesting. If multiple criteria are nested in a single match clause, then the conditions are ANDed. For example, the following rule only applies if the source of the request is “reviews:v2” AND the “cookie” header containing “user=jason” is present.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- match:
- sourceLabels:
app: reviews
version: v2
headers:
cookie:
regex: "^(.*?;)?(user=jason)(;.*)?$"
...
If instead, the criteria appear in separate match clauses, then only one of the conditions must apply (OR semantics):
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- match:
- sourceLabels:
app: reviews
version: v2
- headers:
cookie:
regex: "^(.*?;)?(user=jason)(;.*)?$"
...
Split traffic between service versions
Each route rule identifies one or more weighted backends to call when the rule is activated. Each backend corresponds to a specific version of the destination service, where versions can be expressed using labels. If there are multiple registered instances with the specified label(s), they will be routed to based on the load balancing policy configured for the service, or round-robin by default.
For example, the following rule will route 25% of traffic for the reviews service to instances with the “v2” label and the remaining traffic (i.e., 75%) to “v1”.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews
spec:
hosts:
- reviews
http:
- route:
- destination:
host: reviews
subset: v1
weight: 75
- destination:
host: reviews
subset: v2
weight: 25
Timeouts and retries
By default, the timeout for http requests is 15 seconds, but this can be overridden in a route rule as follows:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- route:
- destination:
host: ratings
subset: v1
timeout: 10s
The number of retries for a given http request can also be specified in a route rule. The maximum number of attempts, or as many as possible within the default or overridden timeout period, can be set as follows:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- route:
- destination:
host: ratings
subset: v1
retries:
attempts: 3
perTryTimeout: 2s
Note that request timeouts and retries can also be overridden on a per-request basis.
See the request timeouts task for a demonstration of timeout control.
Injecting faults in the request path
A route rule can specify one or more faults to inject while forwarding http requests to the rule's corresponding request destination. The faults can be either delays or aborts.
The following example will introduce a 5 second delay in 10% of the requests to the “v1” version of the ratings microservice.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- fault:
delay:
percent: 10
fixedDelay: 5s
route:
- destination:
host: ratings
subset: v1
The other kind of fault, abort, can be used to prematurely terminate a request, for example, to simulate a failure.
The following example will return an HTTP 400 error code for 10% of the requests to the ratings service “v1”.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- fault:
abort:
percent: 10
httpStatus: 400
route:
- destination:
host: ratings
subset: v1
Sometimes delays and abort faults are used together. For example, the following rule will delay by 5 seconds all requests from the reviews service “v2” to the ratings service “v1” and then abort 10 percent of them:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- match:
- sourceLabels:
app: reviews
version: v2
fault:
delay:
fixedDelay: 5s
abort:
percent: 10
httpStatus: 400
route:
- destination:
host: ratings
subset: v1
To see fault injection in action, see the fault injection task.
HTTP route rules have precedence
When there are multiple rules for a given destination,
they are evaluated in the order they appear
in the VirtualService
, i.e., the first rule
in the list has highest priority.
Why is priority important? Whenever the routing story for a particular service is purely weight based, it can be specified in a single rule. When, on the other hand, other criteria (e.g., requests from a specific user) are being used to route traffic, more than one rule will be needed to specify the routing. This is where the rule priority must be carefully considered to make sure that the rules are evaluated in the right order.
A common pattern for generalized route specification is to provide one or more higher priority rules that qualify rules by source/headers, and then provide a single weight-based rule with no match criteria last to provide the weighted distribution of traffic for all other cases.
For example, the following VirtualService
contains 2 rules that, together,
specify that all requests for the reviews service that includes a header
named “Foo” with the value “bar” will be sent to the “v2” instances.
All remaining requests will be sent to “v1”.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews
spec:
hosts:
- reviews
http:
- match:
- headers:
Foo:
exact: bar
route:
- destination:
host: reviews
subset: v2
- route:
- destination:
host: reviews
subset: v1
Notice that the header-based rule has the higher priority. If it was lower, these rules wouldn't work as expected since the weight-based rule, with no specific match criteria, would be evaluated first which would then simply route all traffic to “v1”, even requests that include the matching “Foo” header. Once a rule is found that applies to the incoming request, it will be executed and the rule-evaluation process will terminate. That's why it's very important to carefully consider the priorities of each rule when there is more than one.
Destination Rules
A DestinationRule
configures the set of policies to be applied to a request after VirtualService
routing has occurred. They are
intended to be authored by service owners, describing the circuit breakers, load balancer settings, TLS settings, etc..
A DestinationRule
also defines addressable subsets
(i.e., named versions) of the corresponding destination host.
These subsets are used in VirtualService
route specifications when sending traffic to specific versions of the service.
The following DestinationRule
configures policies and subsets for the reviews service:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: reviews
spec:
host: reviews
trafficPolicy:
loadBalancer:
simple: RANDOM
subsets:
- name: v1
labels:
version: v1
- name: v2
labels:
version: v2
trafficPolicy:
loadBalancer:
simple: ROUND_ROBIN
- name: v3
labels:
version: v3
Notice that multiple policies (e.g., default and v2-specific) can be
specified in a single DestinationRule
configuration.
Circuit breakers
A simple circuit breaker can be set based on a number of criteria such as connection and request limits.
For example, the following DestinationRule
sets a limit of 100 connections to reviews service version “v1” backends.
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: reviews
spec:
host: reviews
subsets:
- name: v1
labels:
version: v1
trafficPolicy:
connectionPool:
tcp:
maxConnections: 100
See the circuit-breaking task for a demonstration of circuit breaker control.
DestinationRule evaluation
Similar to route rules, policies are associated with a particular host however if they are subset specific, activation depends on route rule evaluation results.
The first step in the rule evaluation process evaluates the route rules in
the VirtualService
corresponding to the requested host, if there are any defined,
to determine the subset (i.e., specific
version) of the destination service that the current request will be routed
to. Next, the set of policies corresponding to the selected subset, if any,
are evaluated to determine if they apply.
NOTE: One subtlety of the algorithm to keep in mind is that policies
that are defined for specific subsets will only be applied if
the corresponding subset is explicitly routed to. For example,
consider the following configuration, as the one and only rule defined for the
reviews service (i.e., there are no route rules in a corresponding VirtualService
.
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: reviews
spec:
host: reviews
subsets:
- name: v1
labels:
version: v1
trafficPolicy:
connectionPool:
tcp:
maxConnections: 100
Since there is no specific route rule defined for the reviews service, default round-robin routing behavior will apply, which will presumably call “v1” instances on occasion, maybe even always if “v1” is the only running version. Nevertheless, the above policy will never be invoked since the default routing is done at a lower level. The rule evaluation engine will be unaware of the final destination and therefore unable to match the subset policy to the request.
You can fix the above example in one of two ways. You can either move the traffic policy up a level to make it apply to any version:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: reviews
spec:
host: reviews
trafficPolicy:
connectionPool:
tcp:
maxConnections: 100
subsets:
- name: v1
labels:
version: v1
or, better yet, define proper route rules for the service. For example, you can add a simple route rule for “reviews:v1”.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews
spec:
hosts:
- reviews
http:
- route:
- destination:
host: reviews
subset: v1
Although the default Istio behavior conveniently sends traffic from any source to all versions of a destination service without any rules being set, as soon as version discrimination is desired rules are going to be needed. Therefore, setting a default rule for every service, right from the start, is generally considered a best practice in Istio.
Service Entries
A ServiceEntry
is used to add additional entries into the service registry that Istio maintains internally.
It is most commonly used to enable requests to services outside of an Istio service mesh.
For example, the following ServiceEntry
can be used to allow external calls to services hosted
under the *.foo.com
domain.
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: foo-ext-svc
spec:
hosts:
- *.foo.com
ports:
- number: 80
name: http
protocol: HTTP
- number: 443
name: https
protocol: HTTPS
The destination of a ServiceEntry
is specified using the hosts
field, which
can be either a fully qualified or wildcard domain name.
It represents a white listed set of one or more services that services
in the mesh are allowed to access.
A ServiceEntry
is not limited to external service configuration,
it can be of two types: mesh-internal or mesh-external.
Mesh-internal entries are like all other internal services but are used to explicitly add services
to the mesh. They can be used to add services as part of expanding the service mesh to include unmanaged infrastructure
(e.g., VMs added to a Kubernetes-based service mesh).
Mesh-external entries represent services external to the mesh.
For them, mTLS authentication is disabled and policy enforcement is performed on the client-side,
instead of on the usual server-side for internal service requests.
Service entries work well in conjunction with virtual services
and destination rules as long as they refer to the services using matching
hosts
. For example, the following rule can be used in conjunction with
the above ServiceEntry
rule to set a 10s timeout for calls to
the external service at bar.foo.com
.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: bar-foo-ext-svc
spec:
hosts:
- bar.foo.com
http:
- route:
- destination:
host: bar.foo.com
timeout: 10s
Rules to redirect and forward traffic, to define retry, timeout and fault injection policies are all supported for external destinations. Weighted (version-based) routing is not possible, however, since there is no notion of multiple versions of an external service.
See the egress task for a more about accessing external services.
Gateways
A Gateway configure a load balancer for HTTP/TCP traffic, most commonly operating at the edge of the mesh to enable ingress traffic for an application.
Unlike Kubernetes Ingress, Istio Gateway
only configures the L4-L6 functions
(e.g., ports to expose, TLS configuration). Users then can use standard Istio rules
to control HTTP requests as well as TCP traffic entering a Gateway
by binding a
VirtualService
to it.
For example, the following simple Gateway
configures a load balancer
to allow external https traffic for host bookinfo.com
into the mesh:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: bookinfo-gateway
spec:
servers:
- port:
number: 443
name: https
protocol: HTTPS
hosts:
- bookinfo.com
tls:
mode: SIMPLE
serverCertificate: /tmp/tls.crt
privateKey: /tmp/tls.key
To configure the corresponding routes, a VirtualService
must be defined for the same host and bound to the Gateway
using
the gateways
field in the configuration:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: bookinfo
spec:
hosts:
- bookinfo.com
gateways:
- bookinfo-gateway # <---- bind to gateway
http:
- match:
- uri:
prefix: /reviews
route:
...
See the ingress task for a complete ingress gateway example.
Although primarily used to manage ingress traffic, a Gateway
can also be used to model
a purely internal or egress proxy. Irrespective of the location, all gateways
can be configured and controlled in the same way. Refer to the
gateway reference
for details.


Time elapsed: 0 days, 0 hours, 0 minutes, 0 seconds
Performance: 0 turns/second, 0 frames/second
Humans: 0
Zombies: 0
Zombies pending: 0
[+] stats
Human start population:
Zombie start population:
Humans killed:
Zombies destroyed:
Humans zombified:
Humans born:
Human deaths by natural causes:


--- layout: home description: "生命不息 博客不止" ---
Posted by {% if post.author %}{{ post.author }}{% else %}{{ site.title }}{% endif %} on {{ post.date | date: "%B %-d, %Y" }}


See also last week for unfinished threads.
RL project
Alexa/NLP experiments
Directions
- Learning the LQR: Suppose we get a noisy observation of reward, and possibly there is noise in the dynamical system. We don’t know the parameters (matrices). Can we “PAC learn” the optimal policy?
- Have to define “PAC learn” in this context.
- I think so. cf. Contextual bandits, UCRL, LinUCB. There will be a lot of details to work out and a lot of possible ways to state a result. The question is whether this is actually valuable to work on.
- This is more the optimization standpoint, not the “existence of good solution” standpoint.
- Replace the quadratic function by a convex function \(f\).
- Suppose we know the dynamics and \(f\). Approximate the optimal policy. (Ex. Find a simple class of functions such that optimizing within this class will give an approximate solution.)
- So here we just care about “existence of good solution” (in a convenient class).
- Start with linear controls first. How do they do?
- Optimization standpoint: given a (nice, ex. linear) class of functions (for value or for policy) find the optimal within that class knowing dynamics including \(f\).
- Combine the previous two: don’t know dynamics or \(f\), and learn it!


{% extends "layout.html" %} {% from "shared/ajax_select_field.html" import render_ajax_select_field %} {% from "shared/bookmark.html" import bookmark %} {% from "shared/creation_fields.html" import creation_fields %} {% from 'shared/thumbnail.html' import thumbnail %} {% from "shared/view_changelog_button.html" import view_changelog_button %} {% from "shared/view_revisionlog_button.html" import view_revisionlog_button %} {% from "shared/xeditable_text_field.html" import render_xeditable_text_field %} {% from 'shared/workflow.html' import workflow with context %} {% block page_title %}{{ design.design_number }}-{{ design.revision }} - {{ design.name }}{% endblock %} {% block content %}


Baylor Is Blowing Out Oklahoma In The First Half
by Matt LombardiThe undefeated Baylor Bears came into Saturday night’s contest against Oklahoma as the No. 13 ranked team in the College Football Playoff rankings. It’s look like that could change a lot when the next set of rankings are unveiled on Tuesday night.
Baylor has jumped all over Oklahoma – to the tune of a 28-3 lead early in the second quarter. The Bears have scored 28 unanswered points after a field goal from the Sooners to open the game.
Baylor quarterback Charlie Brewer has been a machine thus far. In just over one quarter, he’s 7-of-10 for 101 yards with two touchdowns. He’s also rushed for 60 yards with two scores.
Baylor’s defense has also forced two turnovers – including an interception from Oklahoma quarterback Jalen Hurts. It’s been a disastrous start for the Sooners.
Oklahoma entered the game as the No. 10 team in the College Football Playoff rankings. The Sooners are going to need to stage an incredible comeback if they still want to be part of the discussion moving forward.
You can catch the game on ABC.


-
details
scope:
host:
port:
version:
contact email:
kivakit version:
issues
critical alerts:
alerts:
problems:
warnings:
quibble:
health
renewed:
ago
up time:
cpu time:
cpu use:
%
memory use:
/
(
%)
threads:
(
running,
waiting)


Meredith Grimes is a go-getter who has a yearning for knowledge. She attended NC State University where she earned a B.S. in Fashion Development and Product Management from the College of Textiles and a minor in Art and Design from the College of Design. She further developed skills in Graphic Design, Product Development, Sourcing, and while involved with three various internships in college. After graduation, she was a Visual Merchandiser, Operations and Customer Service manager, and Freelance Designer for three years. She has expertise in training, operations, metrics, sales, and engaging with customers creating a positive experience.
Her passion for learning and eagerness to build on her academic foundations has led her to earning a certificate for Coding and Web Development at UNC Charlotte through their Continuing Education program. She hopes to build on this skillset to positively impact the technology field.
Meredith believes that teamwork is one of the key building blocks for success and accepts any challenge she faces with a positive mindset. She is currently working as a Freelance Designer and Part Time Student with hopes to pursue a career as a Web Development professional. Meredith would love to collaborate on ideas or discuss a job opportunity. Contact her via email or LinkedIn to connect.


{% extends "registration/base.html" %} {% block title %}Access for Harvard Community Members{% endblock %} {% block meta_description %}Request unrestricted access to the cases made available by the Caselaw Access Project{% endblock %} {% block main_content %}
Our contract with LexisNexis allows us to offer unrestricted access to members of the Harvard community. For unrestricted access, you must have a harvard.edu email address and access the site from a Harvard IP address.
You are not currently using a harvard.edu email address. If you have a harvard.edu email address, please create a new account using that address.
{% endblock %}


| ID |
String |
The unique identifier of the graph. |
| Name |
String |
The canonical name of the graph. |
| Footer |
true or false |
Determines whether the graph includes a footer. |
| Format |
String |
The format specification for graph data, as defined in the
Go fmt package. |
| ReturnSet |
String |
|
| Type |
String |
|
| Tags |
|
|
| MinY |
Integer |
|
| MaxY |
Integer |
|
| YAxisLabel |
String |
|
| TimeZone |
String |
|
| DownSample |
String |
|
| Description |
String |
|
| Range |
Object |
This object has two members:
- Start
- The minimum value for the range.
- End
- The maximum value for the range.
|
| DataPoints |
Array of objects |
A list of DataPoint objects. |


Back to Tips
The No-Cost Thirty Year Fixed Rate Mortgage
There really is no such thing as a no-cost mortgage loan. There are
always costs, such as appraisal fees, escrow fees, title insurance fees,
document fees, processing fees, flood certification fees, recording
fees, notary fees, tax service fees, wire fees, and so on, depending on
whether the loan is a purchase or a refinance. The term “no-cost”
actually means that your lender is paying the costs of the loan. All a
no-cost loan means is that there is no cost to you, the borrower.
Except that you pay a higher interest rate.
Understand How Loans Are Priced
A variation of the no-cost loan is the “no points” loan, or even the “no
points, no lender fees” loan. On these loans you pay all the costs
associated with buying a house or refinancing, but you do not have to
pay the lender associated fees or points. However, since lenders and
loan officers do not do anything for free, the profit has to come from
somewhere.
So where does it come from?
First, you have to understand how loans are priced and how mortgage
lenders and loan officers earn income. Each morning mortgage companies
create rate sheets for loan officers. The rates usually change slightly
from day to day. In volatile markets they change several times a day. On
the rate sheet, there are many different programs, including the thirty
year fixed rate.
There will be one column that lists several different interest rates and
another column that lists the cost for that particular rate. For
example:
| Rate | | Cost (points) |
| 6.250% | | 2.000 |
| 6.375% | | 1.500 |
| 6.500% | | 1.000 |
| 6.625% | | 0.500 |
| 6.750% | | 0.000 |
| 6.875% | | (0.500) |
| 7.000% | | (1.000) |
| 7.125% | | (1.500) |
| 7.250% | | (2.000) |
In the above example, 6.75% has a “par” price, which means it has a zero
cost. The lower in rate you go, the higher the cost, or points. A point
is equal to one percent of the loan amount. The parentheses in the cost
column for the higher interest rates indicate a negative number. For
example, (1.500) equals -1.500, which means instead of having a cost
associated with the loan, the lender is willing to pay out money for
those interest rates. This is called premium or rebate pricing.
Zero Cost Loans
How Mortgage Companies and Loan Officers Make Money
The above rate sheet is not a rate sheet designed for public review. In
fact, most lenders have a policy that the public cannot see their
internal rate sheet. This rate sheet is designed for loan officers and
the cost column is the loan officer’s cost, not the cost to the
borrower. When the loan officer gives you an interest rate quote, he
will add on a certain amount, usually one to one and a half points. Most
companies leave it up to the loan officer’s discretion how much to add
on to the base cost. However, they usually require at least a minimum
add-on, which is usually one point.
The loan officer’s commission depends on his split with the company,
which varies. He receives a portion of the add-on and the rest goes to
the company.
If we assume the loan officer is adding on one point, and you were
willing to pay one point for your loan, then your rate would be
(according to this rate sheet) 6.75%. You would pay one percentage point
and receive an interest rate of six and three-quarters. If you wanted a
lower rate and were willing to pay two points, you could get 6.5%. If
you wanted a “no points” loan, then your rate would be 7%. The loan
officer and the mortgage company would split the one point rebate,
listed as (1.000) on the rate sheet.
See how it works?
In addition to the cost noted on the rate sheet above, lenders have
certain other fees they collect, too. These can include document fees,
processing fees, underwriting fees, warehouse fees, flood certification
fees, wire transfer fees, tax service fees, and so on. Usually, you will
not be charged all of these fees, it is just that different lenders call
them different things. Some of them are legitimate costs to the lender
and some of them are simply fees designed to generate additional income
to the mortgage company. They are customary in today’s mortgage market
and can vary from around $600 to $1,300. In addition, there will usually
be an appraisal fee and a credit report fee. Appraisals and credit
reports are usually contracted out to independent companies even though
these are considered to be lender fees.
Note that it is common for companies who charge higher fees to have a
slightly lower interest rate and companies that charge lower fees will
usually have a slightly higher interest rate. So if you shop entirely
based on fees, you may actually spend more money in the long run because
your interest rate may be higher.
The point is that if you want a “no points - no lender fees” loan, then
on our rate sheet above, you may get an interest rate of 7.125%. That is
because the loan officer has to bump the interest rate even further than
on a “no points” loan in order to cover his own company’s fees.
If you want a “no cost” loan, then the loan officer has to bump your
interest rate even further. That is because all of the costs on your
purchase or refinance do not come from the lender. The escrow or
settlement company involved in your transaction will charge a fee that
must be paid. The lender will require title insurance and the title
insurance company charges a fee for providing this insurance. If your
new lender requires information from your homeowner’s association (if
you have one) then the homeowner’s association will most likely charge a
fee for providing those documents. If you are refinancing, your current
lender will usually charge at least two fees: a demand fee, and a
reconveyance fee. The demand fee is charged simply for providing payoff
information. The reconveyance fee is charged because your current lender
prepares a document that releases your property as collateral for their
outstanding loan. This document is called a reconveyance.
These charges will add about one additional point to how much the loan
officer must collect in premium pricing in order to cover the costs
associated with your refinance or purchase. For a zero cost loan, he
will normally need to collect somewhere in the neighborhood of two and a
half points. Because points are a percentage of your loan amount and
most of the costs are fixed, it takes fewer points to provide zero costs
on higher loan amounts. On smaller loan amounts it takes more. One
percent of $200,000 is $2,000 and one percent of $100,000 is only
$1,000, so you can see how it is easier to cover costs on larger loans.
Does it make sense to do a zero cost loan?
On a $200,000 thirty year fixed rate loan, the difference in monthly
mortgage payments will be about $87, using the example rate sheet on the
first page. Over thirty years, it works out that you will pay more than
$30,000 extra for getting a zero cost loan. So if you intend to remain
in the home for a long period of time it just doesn’t make sense.
Suppose you intend to stay for only five years. On a purchase, using the
$200,000 example, if you stayed longer than fifty-five months, it would
make more sense to pay your own costs and get the lower interest rate.
If you kept the loan for a shorter time, then it makes more sense to pay
zero costs and get a higher interest rate.
Except for one thing.
If you knew you were only going to be staying in the home for five years
you would probably not want a thirty-year fixed rate, anyway. You would
get a loan that has a fixed payment for the first five years, then
convert to an adjustable rate or whatever fixed rates are five years
from now. These loans have an interest rate almost a half percent lower
than thirty year fixed rate loans. Since it is practically impossible to
do a zero cost loan on this type of loan, you would have to compare a
zero cost thirty year fixed rate loan to paying points on a loan with a
fixed payment for five years.
The difference in payments would be about $150. The two and a half point
rebate equals $5,000. Working out the math, if you stayed in the home
longer than thirty-three months, it would make more sense to pay the
points and get the loan with the five-year fixed rate.
Finally, carry the discussion one step further. Suppose you know you are
going to be in the new loan for less than three years? Doesn’t it make
sense to get a “zero cost” loan then?
No.
Then you get an adjustable rate loan. As long as the start rate is two
percent lower than the current fixed rate, you cannot lose. The first
year you will save a lot of money. The second year you will probably
break even. The third year, you will probably give up some of the
savings from the first year, but not all of it.
Zero cost loans just don’t make sense for most homebuyers.
But they sound really good in an advertisement!
Exceptions:
- On a FHA Streamline Refinance Without an Appraisal (not a purchase -
which is what the article talks about), it makes sense to do a zero cost
loan. This is mostly because the new loan has to be exactly the same
amount as the existing balance of the current loan.
- If the homebuyer only has enough money for a down payment and none to
cover closing costs, PLUS no arrangement can be made for the seller to
pay closing costs, then zero cost may make sense. (However, I would
still recommend negotiating terms with the seller - be willing to pay a
higher price in exchange for the seller paying your costs.)
Back to Tips


Programming Language Suggester
Find out which programming language is best for you!
Take the quiz below.
Question 1: Would you like your programming language to be:
Very simple and easy to understand.
A little challenging and difficult to understand at first.
Concise but self-explanatory.
Question 2: How old and established would you like your language to be?
Very old and well-established.
A bit new but most are familiar with it.
Very new and innovative, even if it means many don't know it.
Question 3: Which line of code makes more sense to you for printing x?
Console.WriteLine(x);
print(x)
print x
Question 4: Which website do you like best?
Airbnb (View
here
)
Instagram (View
here
)
Stack Overflow (View
here
)
Question 5: Which list of companies would you like to work for?
Microsoft, Intuit, Accenture, Wayfair, Sysco.
GoodReads, AirBnb, Github, Twitch, Twitter.
Intel, NASA, Pixar, Netflix, Facebook, Spotify.
Find out my result!


The Magnifier plugin displays a blocked image of the data in an area surrounding the mouse as it moves. The default magnification of four can be changed using command buttons on the magnifier window.
By default, regions are displayed in the magnifier at the current zoom. You can turn off region display by changing the value of the JS9.globalOpts.magnifierRegions property, either by using the Preferences plugin or, for site-wide configuration, by changing the value in the js9prefs.js file.


Loading...
Case #
| |
You have done all the cases that Riot allows within a single day. The limit is reset nightly at 1:00 AM PDT
The Tribunal is currently in recess while it builds more cases. Please return later to vote on summoner case files.
You do not meet the level requirements to participate in the Tribunal. For More Information, read the FAQ Page.
There was an unknown error encountered when talking to Riot. Use our feedback link below to bug us about fixing this.
Please review the case for at least more seconds before deciding your verdict.
(Time spent staring at these buttons doesn't count.)


Translations¶
pgAdmin supports multiple languages using the Flask-Babel Python module. A list of supported languages is included in the web/config.py configuration file and must be updated whenever languages are added or removed with ISO 639-1 (two letter) language codes. The codes are named $LANG in this document.
Translation Marking¶
Strings can be marked for translation in either Python code (using gettext()) or Jinja templates (using _()). Here are some examples that show how this is achieved.
Python:
errormsg = gettext('No server group name was specified')
Jinja:
<input type="submit" value="{{ _('Change Password') }}">
<title>{{ _('%(appname)s Password Change', appname=config.APP_NAME) }}</title>
define(['sources/gettext', ...], function(gettext, ...){
...
var alert = alertify.prompt(
gettext('Password Change'),
gettext('New password for %(userName)s', {userName: 'jsmith' }),
...
)
})
Updating and Merging¶
Whenever new strings are added to the application, the template catalogue (web/pgadmin/messages.pot) and the existing translation catalogues (web/pgadmin/translations/$LANG/LC_MESSAGES/messages.po) must be updated and compiled. This can be achieved using the following commands from the web directory in the Python virtual environment for pgAdmin:
(pgadmin4) user$ pybabel extract -F babel.cfg -o pgadmin/messages.pot pgadmin
Once the template has been updated it needs to be merged into the existing message catalogues:
(pgadmin4) user$ pybabel update -i pgadmin/messages.pot -d pgadmin/translations
Finally, the message catalogues can be compiled for use:
(pgadmin4) user$ pybabel compile -d pgadmin/translations
Adding a New Language¶
Adding a new language is simple. First, add the language name and identifier to web/config.py:
# Languages we support in the UI
LANGUAGES = {
'en': 'English',
'zh': 'Chinese (Simplified)',
'de': 'German',
'pl': 'Polish'
}
Then, create the new message catalogue from the web directory in the source tree in the Python virtual environment for pgAdmin:
(pgadmin4) user$ pybabel init -i pgadmin/messages.pot -d pgadmin/translations -l $LANG


Files | |
| file | timer.h |
| Timer API prototypes and macros. | |
Data Structures | |
| struct | timerContext |
| Structure to store the timer context. More... | |
| struct | timerStaticRegs |
| Structure to store the static timer registers. More... | |
Typedefs | |
| typedef struct timerContext | TIMERCONTEXT |
| Structure to store the timer context. | |
| typedef struct timerStaticRegs | TIMERSTATICREGS |
| Structure to store the static timer registers. | |
Functions | |
| int32_t | TIMEREnable (uint32_t baseAddr) |
| This API will start the timer. More... | |
| int32_t | TIMERDisable (uint32_t baseAddr) |
| This API will stop the timer. More... | |
| int32_t | TIMERModeConfigure (uint32_t baseAddr, uint32_t timerMode) |
| This API will configure the timer in combinations of 'One Shot timer' and 'Compare' Mode or 'Auto-reload timer' and 'Compare' Mode. More... | |
| int32_t | TIMERModeConfigureGet (uint32_t baseAddr, uint32_t *pTimerMode) |
| This API will read the value configured the timer mode in combinations of 'One Shot timer' and 'Compare' Mode or 'Auto-reload timer' and 'Compare' Mode. More... | |
| int32_t | TIMERPreScalerClkEnable (uint32_t baseAddr, uint32_t ptv) |
| This API will configure and enable the pre-scaler clock. More... | |
| int32_t | TIMERPreScalerClkDisable (uint32_t baseAddr) |
| This API will disable the pre-scaler clock. More... | |
| int32_t | TIMERCounterSet (uint32_t baseAddr, uint32_t counter) |
| Set/Write the Counter register with the counter value. More... | |
| uint32_t | TIMERCounterGet (uint32_t baseAddr) |
| Get/Read the counter value from the counter register. More... | |
| int32_t | TIMERReloadSet (uint32_t baseAddr, uint32_t reload) |
| Set the reload count value in the timer load register. More... | |
| uint32_t | TIMERReloadGet (uint32_t baseAddr) |
| Get the reload count value from the timer load register. More... | |
| int32_t | TIMERGPOConfigure (uint32_t baseAddr, uint32_t gpoCfg) |
| Configure general purpose output pin. More... | |
| int32_t | TIMERGPOConfigureGet (uint32_t baseAddr, uint32_t *pGpoVal) |
| Read Configure general purpose output pin. More... | |
| int32_t | TIMERCompareSet (uint32_t baseAddr, uint32_t compareVal) |
| Set the match register with the compare value. More... | |
| uint32_t | TIMERCompareGet (uint32_t baseAddr) |
| Get the match register contents. More... | |
| int32_t | TIMERIntRawStatusSet (uint32_t baseAddr, uint32_t intFlags) |
| Trigger IRQ event by software. More... | |
| uint32_t | TIMERIntRawStatusGet (uint32_t baseAddr) |
| Read the status of IRQSTATUS_RAW register. More... | |
| uint32_t | TIMERIntStatusGet (uint32_t baseAddr) |
| Read the status of IRQ_STATUS register. More... | |
| int32_t | TIMERIntStatusClear (uint32_t baseAddr, uint32_t intFlags) |
| Clear the status of interrupt events. More... | |
| int32_t | TIMERIntEnable (uint32_t baseAddr, uint32_t intFlags) |
| Enable the Timer interrupts. More... | |
| int32_t | TIMERIntDisable (uint32_t baseAddr, uint32_t intFlags) |
| Disable the Timer interrupts. More... | |
| int32_t | TIMERWakeEnable (uint32_t baseAddr, uint32_t wakeFlags) |
| Enable the Timer Wakeup. More... | |
| int32_t | TIMERWakeDisable (uint32_t baseAddr, uint32_t wakeFlags) |
| Disable the Timer Wakeup. More... | |
| int32_t | TIMERTriggerSet (uint32_t baseAddr) |
| Set/enable the trigger write access. More... | |
| uint32_t | TIMERIntEnableGet (uint32_t baseAddr) |
| Read the status of IRQENABLE_SET register. More... | |
| int32_t | TIMERResetConfigure (uint32_t baseAddr, uint32_t rstOption) |
| Enable/Disable software reset for Timer module. More... | |
| int32_t | TIMERResetConfigureGet (uint32_t baseAddr, uint32_t *pRstOption) |
| Get current software reset option. More... | |
| int32_t | TIMERReset (uint32_t baseAddr) |
| Reset the Timer module. More... | |
| int32_t | TIMERContextSave (uint32_t baseAddr, TIMERCONTEXT *pContextPtr) |
| This API stores the context of the TIMER. More... | |
| int32_t | TIMERContextRestore (uint32_t baseAddr, const TIMERCONTEXT *pContextPtr) |
| This API restores the context of the TIMER. More... | |
| int32_t | TIMERPostedModeConfig (uint32_t baseAddr, uint32_t postMode) |
| Configure the posted mode of TIMER. More... | |
| int32_t | TIMERPostedModeConfigGet (uint32_t baseAddr, uint32_t *pPostMode) |
| Get the Configured posted mode of TIMER. More... | |
| uint32_t | TIMERWritePostedStatusGet (uint32_t baseAddr) |
| Read the status of Write Posted Status register. More... | |
| int32_t | TIMERIdleModeConfigure (uint32_t baseAddr, uint32_t idleModeOption) |
| Configure the timer idle mode. More... | |
| int32_t | TIMERIdleModeConfigureGet (uint32_t baseAddr, uint32_t *pIdleMode) |
| get the configured timer idle mode. More... | |
| int32_t | TIMEREmuModeConfigure (uint32_t baseAddr, uint32_t emuModeOption) |
| Configure the timer status in emulation mode. More... | |
| int32_t | TIMEREmuModeConfigureGet (uint32_t baseAddr, uint32_t *pEmuMode) |
| get the timer status in emulation mode. More... | |
| int32_t | TIMERReadModeConfig (uint32_t baseAddr, uint32_t readMode) |
| Configure the read mode of TIMER. More... | |
| int32_t | TIMERReadModeConfigGet (uint32_t baseAddr, uint32_t *pReadMode) |
| Read the read mode of TIMER. More... | |
| int32_t | TIMERTPIRSet (uint32_t baseAddr, uint32_t tpirVal) |
| Configure the positive increment value which is added TCVR to determine whether next value is subperiod or overperiod value. More... | |
| int32_t | TIMERTPIRGet (uint32_t baseAddr, uint32_t *pTpirVal) |
| Get the positive increment value which is added TCVR to determine whether next value is subperiod or overperiod value. More... | |
| int32_t | TIMERTNIRSet (uint32_t baseAddr, uint32_t tnirVal) |
| Configure the negative increment value which is added TCVR to determine whether next value is subperiod or overperiod value. More... | |
| int32_t | TIMERTNIRGet (uint32_t baseAddr, uint32_t *pTNIR) |
| Get the negative increment value which is added TCVR to determine whether next value is subperiod or overperiod value. More... | |
| int32_t | TIMERTCVRSet (uint32_t baseAddr, uint32_t val) |
| Configure the TCVR counter value. More... | |
| int32_t | TIMERTCVRGet (uint32_t baseAddr, uint32_t *pTCVR) |
| Get the TCVR counter value. More... | |
| int32_t | TIMERTOCRSet (uint32_t baseAddr, uint32_t val) |
| Configure the number of ticks for which the tick interrupt has to be masked. More... | |
| int32_t | TIMERTOCRGet (uint32_t baseAddr, uint32_t *pTOCR) |
| Get the number of ticks for which the tick interrupt has to be masked. More... | |
| uint32_t | TIMERTOWRGet (uint32_t baseAddr) |
| Read the number of masked overflow interrupts. More... | |
| int32_t | TIMERTOWRSet (uint32_t baseAddr, uint32_t val) |
| Configure the overflow count mask value in TOWR register. More... | |
| int32_t | TIMERGetStaticRegs (uint32_t baseAddr, TIMERSTATICREGS *pStaticRegs) |
| Read the static timer registers. More... | |
Values that can be passed to TIMERGPOConfigure as gpoCfg. | |
| #define | TIMER_GPO_CFG_0 (TIMER_TCLR_GPO_CFG_GPO_CFG_0) |
| #define | TIMER_GPO_CFG_1 |
Values that can be passed to TIMERResetConfigure as rstOption. | |
| #define | TIMER_SFT_RESET_ENABLE (TIMER_TSICR_SFT_MASK) |
| #define | TIMER_SFT_RESET_DISABLE (TIMER_TSICR_SFT_SFT_0) |
Values that can be used while checking the status received from | |
| #define | TIMER_IS_RESET_DONE |
| #define | TIMER_IS_RESET_ONGOING |
Values that can be passed to TIMERPostedModeConfig as postMode. | |
| #define | TIMER_POSTED (TIMER_TSICR_POSTED_MASK) |
| #define | TIMER_NONPOSTED (TIMER_TSICR_POSTED_POSTED_VALUE_0) |
Values that can be passed to TIMEREmuModeConfigure as emuModeOption. | |
| #define | TIMER_FROZEN (TIMER_TIOCP_CFG_EMUFREE_TIMER_FROZEN) |
| #define | TIMER_FREE (TIMER_TIOCP_CFG_EMUFREE_TIMER_FREE) |
| uint32_t TIMERCompareGet | ( | uint32_t | baseAddr | ) |
Get the match register contents.
| baseAddr | Base Address of the Timer Module Register. |
| int32_t TIMERCompareSet | ( | uint32_t | baseAddr, |
| uint32_t | compareVal | ||
| ) |
Set the match register with the compare value.
| baseAddr | Base Address of the Timer Module Register. |
| compareVal | Compare value. |
| int32_t TIMERContextRestore | ( | uint32_t | baseAddr, |
| const TIMERCONTEXT * | pContextPtr | ||
| ) |
This API restores the context of the TIMER.
| baseAddr | Base Address of the Timer Module Register. |
| pContextPtr | Pointer to the structure where the DM timer context need to be restored from. |
| int32_t TIMERContextSave | ( | uint32_t | baseAddr, |
| TIMERCONTEXT * | pContextPtr | ||
| ) |
This API stores the context of the TIMER.
| baseAddr | Base Address of the Timer Module Register. |
| pContextPtr | Pointer to the structure where the DM timer context need to be saved. |
| uint32_t TIMERCounterGet | ( | uint32_t | baseAddr | ) |
Get/Read the counter value from the counter register.
| baseAddr | Base Address of the Timer Module Register. |
| int32_t TIMERCounterSet | ( | uint32_t | baseAddr, |
| uint32_t | counter | ||
| ) |
Set/Write the Counter register with the counter value.
| baseAddr | Base Address of the Timer Module Register. |
| counter | Count value for the timer. |
| int32_t TIMERDisable | ( | uint32_t | baseAddr | ) |
This API will stop the timer.
| baseAddr | Base Address of the Timer Module Register. |
| int32_t TIMEREmuModeConfigure | ( | uint32_t | baseAddr, |
| uint32_t | emuModeOption | ||
| ) |
Configure the timer status in emulation mode.
| baseAddr | Base Address of the Timer Module Register. |
| emuModeOption | Emulation mode configuration. |
'emuModeOption' can take the Timer_EmuMode_Options values
| int32_t TIMEREmuModeConfigureGet | ( | uint32_t | baseAddr, |
| uint32_t * | pEmuMode | ||
| ) |
get the timer status in emulation mode.
| baseAddr | Base Address of the Timer Module Register. |
| pEmuMode | pointer to Emulation mode |
| int32_t TIMEREnable | ( | uint32_t | baseAddr | ) |
This API will start the timer.
| baseAddr | Base Address of the Timer Module Register. |
| int32_t TIMERGetStaticRegs | ( | uint32_t | baseAddr, |
| TIMERSTATICREGS * | pStaticRegs | ||
| ) |
Read the static timer registers.
| baseAddr | Base Address of the Timer Module Register. |
| pStaticRegs | pointer to static registers. |
| int32_t TIMERGPOConfigure | ( | uint32_t | baseAddr, |
| uint32_t | gpoCfg | ||
| ) |
Configure general purpose output pin.
| baseAddr | Base Address of the Timer Module Register. |
| gpoCfg | General purpose output configuration Timer_Gpo_Values |
| int32_t TIMERGPOConfigureGet | ( | uint32_t | baseAddr, |
| uint32_t * | pGpoVal | ||
| ) |
Read Configure general purpose output pin.
| baseAddr | Base Address of the Timer Module Register. |
| pGpoVal | Pointer to General purpose output value Timer_Gpo_Values |
| int32_t TIMERIdleModeConfigure | ( | uint32_t | baseAddr, |
| uint32_t | idleModeOption | ||
| ) |
Configure the timer idle mode.
| baseAddr | Base Address of the Timer Module Register. |
| idleModeOption | Idle mode configuration. |
'idleModeOption' can take the Timer_IdleMode_Options values
| int32_t TIMERIdleModeConfigureGet | ( | uint32_t | baseAddr, |
| uint32_t * | pIdleMode | ||
| ) |
get the configured timer idle mode.
| baseAddr | Base Address of the Timer Module Register. |
| pIdleMode | pointer to idle mode. |
| int32_t TIMERIntDisable | ( | uint32_t | baseAddr, |
| uint32_t | intFlags | ||
| ) |
Disable the Timer interrupts.
| baseAddr | Base Address of the Timer Module Register. |
| intFlags | Variable used to disable the interrupts. |
'intFlags' can take Timer_Interrupt_Ctrl_Values
| int32_t TIMERIntEnable | ( | uint32_t | baseAddr, |
| uint32_t | intFlags | ||
| ) |
Enable the Timer interrupts.
| baseAddr | Base Address of the Timer Module Register. |
| intFlags | Variable used to enable the interrupts. |
'intFlags' can take Timer_Interrupt_Ctrl_Values
| uint32_t TIMERIntEnableGet | ( | uint32_t | baseAddr | ) |
Read the status of IRQENABLE_SET register.
| baseAddr | Base Address of the Timer Module Register. |
| uint32_t TIMERIntRawStatusGet | ( | uint32_t | baseAddr | ) |
Read the status of IRQSTATUS_RAW register.
| baseAddr | Base Address of the Timer Module Register. |
| int32_t TIMERIntRawStatusSet | ( | uint32_t | baseAddr, |
| uint32_t | intFlags | ||
| ) |
Trigger IRQ event by software.
| baseAddr | Base Address of the Timer Module Register. |
| intFlags | Variable used to trigger the events. |
'intFlags' can take any of Timer_Interrupt_Status_Values
| int32_t TIMERIntStatusClear | ( | uint32_t | baseAddr, |
| uint32_t | intFlags | ||
| ) |
Clear the status of interrupt events.
| baseAddr | Base Address of the Timer Module Register. |
| intFlags | Variable used to clear the events. |
'intFlags' can take any of Timer_Interrupt_Status_Values
| uint32_t TIMERIntStatusGet | ( | uint32_t | baseAddr | ) |
Read the status of IRQ_STATUS register.
| baseAddr | Base Address of the Timer Module Register. |
| int32_t TIMERModeConfigure | ( | uint32_t | baseAddr, |
| uint32_t | timerMode | ||
| ) |
This API will configure the timer in combinations of 'One Shot timer' and 'Compare' Mode or 'Auto-reload timer' and 'Compare' Mode.
| baseAddr | Base Address of the Timer Module Register. |
| timerMode | Mode for enabling the timer timerMode can take any of the Timer_Mode_Values. any other values may set to any one of the 4 modes |
| int32_t TIMERModeConfigureGet | ( | uint32_t | baseAddr, |
| uint32_t * | pTimerMode | ||
| ) |
This API will read the value configured the timer mode in combinations of 'One Shot timer' and 'Compare' Mode or 'Auto-reload timer' and 'Compare' Mode.
| baseAddr | Base Address of the Timer Module Register. |
| pTimerMode | Pointer to timer Mode Timer_Mode_Values |
| int32_t TIMERPostedModeConfig | ( | uint32_t | baseAddr, |
| uint32_t | postMode | ||
| ) |
Configure the posted mode of TIMER.
| baseAddr | Base Address of the Timer Module Register. |
| postMode | Posted mode configuration. |
'postMode' can take the Timer_PostMode_Values
| int32_t TIMERPostedModeConfigGet | ( | uint32_t | baseAddr, |
| uint32_t * | pPostMode | ||
| ) |
Get the Configured posted mode of TIMER.
| baseAddr | Base Address of the Timer Module Register. |
| pPostMode | pointer to posted mode configuration Timer_PostMode_Values |
| int32_t TIMERPreScalerClkDisable | ( | uint32_t | baseAddr | ) |
This API will disable the pre-scaler clock.
| baseAddr | Base Address of the Timer Module Register. |
| int32_t TIMERPreScalerClkEnable | ( | uint32_t | baseAddr, |
| uint32_t | ptv | ||
| ) |
This API will configure and enable the pre-scaler clock.
| baseAddr | Base Address of the Timer Module Register. |
| ptv | Pre-scale clock Timer value Timer_Prescaler_Clk_Values. |
| int32_t TIMERReadModeConfig | ( | uint32_t | baseAddr, |
| uint32_t | readMode | ||
| ) |
Configure the read mode of TIMER.
| baseAddr | Base Address of the Timer Module Register. |
| readMode | read mode configuration. |
'readMode' can take the Timer_ReadMode_Values
| int32_t TIMERReadModeConfigGet | ( | uint32_t | baseAddr, |
| uint32_t * | pReadMode | ||
| ) |
Read the read mode of TIMER.
| baseAddr | Base Address of the Timer Module Register. |
| pReadMode | Pointer to read mode. |
| uint32_t TIMERReloadGet | ( | uint32_t | baseAddr | ) |
Get the reload count value from the timer load register.
| baseAddr | Base Address of the Timer Module Register. |
| int32_t TIMERReloadSet | ( | uint32_t | baseAddr, |
| uint32_t | reload | ||
| ) |
Set the reload count value in the timer load register.
| baseAddr | Base Address of the Timer Module Register. |
| reload | The reload count value of the timer. |
| int32_t TIMERReset | ( | uint32_t | baseAddr | ) |
Reset the Timer module.
| baseAddr | Base Address of the Timer Module Register. |
| int32_t TIMERResetConfigure | ( | uint32_t | baseAddr, |
| uint32_t | rstOption | ||
| ) |
Enable/Disable software reset for Timer module.
| baseAddr | Base Address of the Timer Module Register. |
| rstOption | Enable/Disable reset option for TIMER. |
'rstOption' can take Timer_Reset_Options values
| int32_t TIMERResetConfigureGet | ( | uint32_t | baseAddr, |
| uint32_t * | pRstOption | ||
| ) |
Get current software reset option.
| baseAddr | Base Address of the Timer Module Register. |
| pRstOption | pointer to Reset option |
| int32_t TIMERTCVRGet | ( | uint32_t | baseAddr, |
| uint32_t * | pTCVR | ||
| ) |
Get the TCVR counter value.
| baseAddr | Base Address of 1ms the Timer Module Register. |
| pTCVR | pointer to the TCVR value. |
| int32_t TIMERTCVRSet | ( | uint32_t | baseAddr, |
| uint32_t | val | ||
| ) |
Configure the TCVR counter value.
| baseAddr | Base Address of 1ms the Timer Module Register. |
| val | The TCVR value. |
| int32_t TIMERTNIRGet | ( | uint32_t | baseAddr, |
| uint32_t * | pTNIR | ||
| ) |
Get the negative increment value which is added TCVR to determine whether next value is subperiod or overperiod value.
| baseAddr | Base Address of the 1ms Timer Module Register. |
| pTNIR | Pointer to the negative increment value |
| int32_t TIMERTNIRSet | ( | uint32_t | baseAddr, |
| uint32_t | tnirVal | ||
| ) |
Configure the negative increment value which is added TCVR to determine whether next value is subperiod or overperiod value.
| baseAddr | Base Address of the 1ms Timer Module Register. |
| tnirVal | The negative increment value |
| int32_t TIMERTOCRGet | ( | uint32_t | baseAddr, |
| uint32_t * | pTOCR | ||
| ) |
Get the number of ticks for which the tick interrupt has to be masked.
| baseAddr | Base Address of the 1ms Timer Module Register. |
| pTOCR | Pointer to TOCR value |
| int32_t TIMERTOCRSet | ( | uint32_t | baseAddr, |
| uint32_t | val | ||
| ) |
Configure the number of ticks for which the tick interrupt has to be masked.
| baseAddr | Base Address of the 1ms Timer Module Register. |
| val | Value representing the number of ticks to be masked |
| uint32_t TIMERTOWRGet | ( | uint32_t | baseAddr | ) |
Read the number of masked overflow interrupts.
| baseAddr | Base Address of the 1ms Timer Module Register. |
| int32_t TIMERTOWRSet | ( | uint32_t | baseAddr, |
| uint32_t | val | ||
| ) |
Configure the overflow count mask value in TOWR register.
| baseAddr | Base Address of the 1ms Timer Module Register. |
| val | Value representing the number of ticks to be masked |
| int32_t TIMERTPIRGet | ( | uint32_t | baseAddr, |
| uint32_t * | pTpirVal | ||
| ) |
Get the positive increment value which is added TCVR to determine whether next value is subperiod or overperiod value.
| baseAddr | Base Address of the 1ms Timer Module Register. |
| pTpirVal | pointer to The Positive increment value. |
| int32_t TIMERTPIRSet | ( | uint32_t | baseAddr, |
| uint32_t | tpirVal | ||
| ) |
Configure the positive increment value which is added TCVR to determine whether next value is subperiod or overperiod value.
| baseAddr | Base Address of the 1ms Timer Module Register. |
| tpirVal | The Positive increment value. |
| int32_t TIMERTriggerSet | ( | uint32_t | baseAddr | ) |
Set/enable the trigger write access.
| baseAddr | Base Address of the Timer Module Register. |
| int32_t TIMERWakeDisable | ( | uint32_t | baseAddr, |
| uint32_t | wakeFlags | ||
| ) |
Disable the Timer Wakeup.
| baseAddr | Base Address of the Timer Module Register. |
| wakeFlags | Variable used to disable the Wakeup events. |
'wakeFlags' can take Timer_Wake_Ctrl_Values
| int32_t TIMERWakeEnable | ( | uint32_t | baseAddr, |
| uint32_t | wakeFlags | ||
| ) |
Enable the Timer Wakeup.
| baseAddr | Base Address of the Timer Module Register. |
| wakeFlags | Variable used to enable the Wakeup events. |
'wakeFlags' can take Timer_Wake_Ctrl_Values
| uint32_t TIMERWritePostedStatusGet | ( | uint32_t | baseAddr | ) |
Read the status of Write Posted Status register.
| baseAddr | Base Address of the Timer Module Register. |


Continuous integration (CI) and continuous delivery (CD) embody a culture, set of operating principles, and collection of practices that enable application development teams to deliver code changes more frequently and reliably. The implementation is also known as the CI/CD pipeline and is one of the best practices for devops teams to implement
Find Out MoreThe CI/CD pipeline is one of the best practices for devops teams to implement, for delivering code changes more frequently and reliably
Get Started!Our templates are updated regularly so they don't break.
You can use this theme as is, or you can make changes!
We update dependencies to keep things fresh.
You have to make your work with love these days!


Toggle navigation
Boodka
Accounts
Categories
Budgeting
Operations
New transaction
Transfer
Reconcile
Launch modal fullscreen
×
Close
Form title
A block of help text
Accounts
Sber
Raif
Alpha
RUB
USD
EUR
Category
1
2
3


Before Change
exmodule : dict, optional
Example module.
try:
try:
from sys import path
path.insert(0, ".")
import scanpy_user
except ImportError:
sett.m(0, "--> did not find user examples, to provide some,\n"
" generate file scanpy_user.py in your working directory,\n"
" see https://github.com/theislab/scanpy//work-on-your-own-examples")
exfunc = getattr(scanpy_user, exkey)
exmodule = scanpy_user
except (UnboundLocalError, AttributeError):
try:
// additional possibility to add example module
from . import builtin_private
exfunc = getattr(builtin_private, exkey)
exmodule = builtin_private
except (ImportError, AttributeError):
try:
exfunc = getattr(builtin, exkey)
exmodule = builtin
except AttributeError:
msg = ("Do not know how to run example "" + exkey +
"".\nEither define a function " + exkey + "() "
"in ./scanpy_user.py that returns an AnnData object.\n"
"Or, use one of the builtin examples:"
+ exkeys_str())
from sys import exit
exit(msg)
from os.path import exists
exfile = readwrite.get_filename_from_key(sett.basekey)
if (not exists(exfile)
or sett.recompute in ["read", "pp"]):
After Change
exmodule : dict, optional
Example module.
loop_over_filenames = [filename for filename in os.listdir(".")
if filename.startswith("scanpy") and filename.endswith(".py")]
if len(loop_over_filenames):
sett.m(0, "--> did not find user examples, to provide some,\n"
" generate a file scanpy_whatevername.py in your working directory,\n"
" see https://github.com/theislab/scanpy//work-on-your-own-examples")
not_found = True
from sys import path
path.insert(0, ".")
for filename in loop_over_filenames:
exmodule = __import__(filename.replace(".py",""))
try:
exfunc = getattr(exmodule, exkey)
not_found = False
except AttributeError:
pass
if not_found:
try:
// additional possibility to add example module
from . import builtin_private


http://bost.ocks.org/mike/
In the previous parts of this tutorial we made a basic bar chart in HTML and then in SVG; now, we’ll improve the display by rotating the chart into columns and adding axes. We’ll also switch to a real dataset, showing the relative frequency of letters in the English language.
Different coloured text.


Note -- Measuring maintainers in the Linux kernel
Measuring how maintainers spend their precious time in the Linux kernel
| #commits maintained over natural years (mod0) | #authors on maintained files over natural years (mod0) | #files on maintained files over natural years (mod0) | #maintainers over natural years (mod0) | #joiners over natural years (mod0) | number of added lines over years (mod0) | number of deleted lines over years (mod0) |
| | | | | | |
| ratio of yearly#authors over monthly#maintainers | ratio of monthly#authors over monthly#maintainers |
| |
| median adjusted #files maintained per maintainer over years | mean adjusted #files maintained per maintainer over years |
| |
| median adjusted #authors on maintained files of a maintainer over natural years | mean adjusted #authors on maintained files of a maintainer over natural years |
| |
| median adjusted #commits on maintained files of a maintainer over natural years | mean adjusted #commits on maintained files of a maintainer over natural years |
| |
| fraction of maintainers who are responsible for 80% of files in that module | fraction of maintainers who are responsible for 80% of commits in that module | fraction of maintainers who are responsible for 80% of authors in that module |
| | |


CHOOSE
Function
Returns one of the arguments, as specified by numeric index in the first argument.
Syntax
CHOOSE(index, value1, value2, [value3], ...)
Parameters
- index: integer
A 1-based index into the list of values to follow.
- value1, value2, value3, ...: scalar
The values to choose from.
Return Value
If index is between 1 and the number of value arguments, then the corresponding
value argument is returned. If the index is out of bounds, NULL
is returned.
Example
PRINT CHOOSE(1, 'A', 'B'); -- "A"
DECLARE @x = CHOOSE(5, 111, 222);
IF @x IS NULL
PRINT 'Out of range!' -- Prints.


Film Cloud is a movie recommendation engine which monitors internet activity to collate a comprehensive list of movies that are currently in vogue. These movies are then displayed in a simple but descriptive manner with links to
IMDB and
YouTube trailers, allowing you to easily find the next movie
you'll be watching.


| import {backports} | R Documentation |
Imports objects from backports into the namespace of other packages by assigning it during load-time. See examples for a code snippet to copy to your package.
import(pkgname, obj = NULL, force = FALSE)
pkgname |
[ |
obj |
[ |
force |
[ |
## Not run: # This imports all functions implemented in backports while the package is loaded .onLoad <- function(libname, pkgname) { backports::import(pkgname) } # This only imports the function "trimws" .onLoad <- function(libname, pkgname) { backports::import(pkgname, "trimws") } # This imports all backports from base and force-imports "hasName" from utils .onLoad <- function(libname, pkgname) { backports::import(pkgname) backports::import(pkgname, "hasName", force = TRUE) } ## End(Not run)


Effects multimedia
The multimedia effects allow us to launch sound, animations or videos (those last one from the cutscenes).
The effects belonging to this group are:
- Play sound: allows to choose a sound to play it. Most common formats are MP3 and MIDI.
- Play animation: allow a certain animation to be played either for some of the characters or for the player.
- Launch cutscene: launch a cutscene. There is a kind of cutscenes known as video scenes (because they reproduce a video)
.


Section 6 Spatial data
In R, spatial data format such as shapefile, geodatabase, geojson, etc. can be read and processed as a dataframe just like common data formats (csv, excel, etc.). However, we have to use special libraries to do so. In addition, because of the nature of this data, spatial relationship operations can also be performed to join or create new features. In this tutorial, we’ll make some examples using the sf
and raster
libraries.
6.1 Importing spatial data
Spatial data have many formats and the most commonly used is shapefile
for vectors and tiff
for rasters. This tutorial will focus on these 2 types of data.
6.1.1 Reading shapefile
The shapefile format consists of at least 3 files: the main file (.shp), the index file (.shx), and the table file (.dbf). Sometimes there is also a projection file (.prj). Please visit this webpage for more details.
Because of this file structure, it is good practice to save shapefile in a folder or .zip file. And when reading the data in R, we simply point to the .shp
file in the folder.
## Linking to GEOS 3.7.2, GDAL 2.4.2, PROJ 5.2.0
## tibble [27,459 × 11] (S3: sf/tbl_df/tbl/data.frame)
## $ ID : int [1:27459] 1 2 3 4 5 6 7 8 9 10 ...
## $ TSEVENT_ID: int [1:27459] 3 9 10 10 10 10 10 11 27 27 ...
## $ YEAR : int [1:27459] -1610 -479 -426 -426 -426 -426 -426 -373 142 142 ...
## $ MONTH : int [1:27459] NA NA 6 6 6 6 6 NA NA NA ...
## $ DAY : int [1:27459] NA NA NA NA NA NA NA NA NA NA ...
## $ DATE_STRIN: chr [1:27459] "-1610/??/??" "-0479/??/??" "-0426/06/??" "-0426/06/??"  NA NA NA NA NA NA NA NA NA NA
## ..- attr(*, "names")= chr [1:10] "ID" "TSEVENT_ID" "YEAR" "MONTH" ...
When looking at the dataframe structure above, we can see that the shapefile is processed similarly to a regular dataframe, except for the additional geometry
field which contain the spatial information.
If we want to plot this data, we can simply use the base plot
function.
If you only want to plot the geometry (points):
6.2 Processing
6.2.1 Creating point data
This example shows how to convert a data with latitude, longitude coordinates to a spatial dataframe. We’ll use the charcoal records from the GCD
package as example.
6.2.2 Joining with another dataframe
Oftentimes, we want to join a non-spatial data with their geographic location. For example, if we have information on energy production and consumption by state, we can join it with spatial feature for better visualization.
# get energy data
energy.data <- read.csv('data/energy-by_state.csv')
# use USABoundaries library to get US spatial data
library(USAboundaries)
us.geo <- us_states(resolution='low')
joined.data <- us.geo %>% inner_join(energy.data, by=c('state_abbr'='State'))
joined.data.albers <- st_transform(joined.data, crs=5070)
plot(joined.data.albers[,'Production..U.S..Share'])
6.2.3 Spatial joining
If we look at the paleofiresites
data, we can see that we don’t have the US state corresponding to each point location. We can create this variable with spatial join.
# get paleo sites for the US
us.paleo <- paleofiresites %>% filter(country=='USA') %>%
st_as_sf(coords=c('long', 'lat'), crs=wgs84crs)
# set to the same coordinate system
us.paleo.albers <- st_transform(us.paleo, crs=5070)
us.geo.albers <- st_transform(us.geo, crs=5070)
# spatial join
# here we join by within
sp.join <- st_join(us.paleo.albers, us.geo.albers, join=st_within)
{plot(st_geometry(us.geo.albers))
plot(sp.join[, 'state_name'], add=T, pch=16)}
For more on what you can do with a vector files in r, please visit sf
library reference or read the book Geocomputation with R.
6.3 Some Visualization Examples
6.3.1 Plotting charcoal data
# get world map from rnaturalearth library
library(rnaturalearth)
world <- ne_countries(scale='small', returnclass='sf')
# project to robinson projection
sf.world.robin <- st_transform(world, crs='+proj=robin')
# use imported graticule data for viz
grat <- st_geometry(read_sf('data/ne_110m_graticules_all/ne_110m_wgs84_bounding_box.shp'))
# get paleo sites
paleosites <- paleofiresites %>%
mutate(site_name = trimws(as.character(site_name))) %>%
st_as_sf(coords=c('long', 'lat'), crs=4326) %>%
st_transform(crs='+proj=robin')
newCoods <- st_coordinates(paleosites)
paleosites$Lon <- newCoods[,1]
paleosites$Lat <- newCoods[,2]
# set ggplot theme
library(ggplot2)
library(ggrepel)
ggTheme <- theme(
legend.position='none',
panel.grid.minor = element_blank(),
panel.grid.major = element_blank(),
panel.background = element_blank(),
plot.background = element_rect(fill='#e6e8ed'),
panel.border = element_blank(),
axis.line = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
plot.title = element_text(size=22)
)
# few sites to be highlighted
selected.sites <- c(
'Little Molas Lake','Xindi','Laguna Oprasa','Morro de Itapeva',
'Aracatuba', 'Lago del Greppo','Nursery Swamp', 'Huguangyan Maar Lake'
)
# mapping
map <- ggplot(data=sf.world.robin) +
geom_sf(data=grat, fill='white', color='white') +
geom_sf(fill='#c1cdcd', size=.1, color='white') +
geom_point(
data=paleosites,
aes(x=Lon, y=Lat), color='#009ACD',size=1) +
geom_point(
data=paleosites %>% filter(site_name %in% selected.sites),
aes(x=Lon, y=Lat), color='#FF0000',size=2) +
geom_text_repel(
data=paleosites %>% filter(site_name %in% selected.sites),
aes(x=Lon, y=Lat, label=site_name),
color='#000000',
size=4) +
coord_sf(datum=st_crs(54030)) +
ggTheme
map


Secure
Using a AES-256 ciphering, your data is safe and sound in whatever storage option you choose.
Your personal key is never stored unencrypted. This means that even if an attacker steal all the data on your server, he'll never be able to read anything that you choosed to encrypt !


|
metaL/py
Repl.it Programming Language Jam
|
metaL
model of DRTK: experimental distributed real-time operating system kernel
More...
Variables | |
| DRTK.MODULE = osModule() | |
| DRTK.TITLE = Title('DRTK: experimental distributed real-time operating system kernel') | |
| DRTK.ABOUT | |
| DRTK.README | |
| DRTK.diroot = MODULE['dir'] // README | |
metaL
model of DRTK: experimental distributed real-time operating system kernel
book: K. Erciyes Distributed Real-Time Systems: Theory and Practice Springer'19
| DRTK.ABOUT |
| DRTK.MODULE = osModule() |
| DRTK.TITLE = Title('DRTK: experimental distributed real-time operating system kernel') |


Primary school students’ ideas on what Sydney needs
Teacher Lisa Carlton was not surprised her Year 6 group at Seaforth Public School was able to sketch out some designs for a new building to hit Sydney’s skyline but she said the breadth of incredible ideas, backed up with their images, came as the truly pleasant shock.
But the Seaforth Public School teacher said the breadth of incredible ideas which they backed up their images with came as the truly pleasant shock from the exercise.
“My class is very creative and this was a good opportunity for them to use creative thinking to do something quite real,” Ms Carlton said.
Working alone or in pairs or threes, the kids jumped at The Daily Telegraph’s call out to NSW public school students to design Sydney’s next great building.
Amber Riddle created a tower, surrounded by surfboards with a fountain than runs through the middle. She wants it to be located in the middle of North Sydney and be a place where workers can enjoy their lunch break.
Angie Procter and Josie Lear worked together on the exotically-named Becchiere Triagolo — or glass triangle in Italian.
This multi-coloured and multi-layered building would sit on the southeast side of Goat Island and be a place to enjoy sightseeing.
“Knowing that a real audience would be looking at their designs really boosted their engagement,” Ms Carlton said.
And the chance to win a class trip to Luna Park helped too.
A couple of students were keen to design the interior of their buildings as well but simply ran out of time.
The Daily Telegraph launched the competition as part of the Bradfield Oration campaign which draws on the vision and drive of Sir John Bradfield who created the Sydney Harbour Bridge.


{% extends 'base.html' %}{% load static %} {% block title %}{{title}}{% endblock %} {% block content %}
Warranty: 6 Month from the date of delivery, We Provide Warranty card with book manual.
Why choose Assured UV-C Light Sanitizer?
POWERFUL
Certified Anti-germ 99.9%: The UV-C disinfection light destroys the molecular
structure of DNA or RNA in viruses with light wavelength in the range of 253.7nm. After
year’s efforts and tests, this UV sanitizer light has anti-germ rate up to 99.99%.
EXTREMELY EFFECTIVE:
Turn ON the UVC Sanitizer light, sweep the UV light sanitizer wand across the surface or
stuff you desire to clean from a distance of several inches.
Enemy of Harmful Substance:
It destroys the DNA structure of harmful substance to lose the ability to reproduce, and
then destroy harmful substance. Ultraviolet (UV-C) light help to eliminate bacteria, viruses
etc on the surfaces of most household and personal items. It can be used for sanitization of
fruits, shoes, floor, dining table, bed, sofa, and other directly consumable items.
Remove odours, bacteria, germs and allergies.
Kill of 99.9% Germs:
The UV Light disinfectant kills 99.9% of germs vastly. The Philip lamp tube has a high permeability,
which ensures a higher sterilization efficiency. It can be used in mobile phones, iPads, keyboards,
laptops, toys, toothbrushes, remote controls, door handles, toilet covers, mugs, steering wheels,
hotel and family closets, toilets and pet areas to achieve all-round anti germ!
Safe & Effective
Ultraviolet Light makes it safe to use. And high purity Philip lamp tube means it's more durable, whose
lamp tube life reaches 9000 hours. It’s clean and eliminates effectively and efficiently.
A Good Helper In A Healthy Life！:
This UV-C light sanitizer can disinfect any type of textiles, plastics, surfaces and clothing in contact
with the body. UV-C is also used in medical and hospital settings to sterilize instruments, work surfaces
and the air. Protect the health of family and children at any time.
Sterilization Principle:
The purple light disinfection lamp destroys the molecular structure of DNA (Deoxyribonucleic acid) or RNA
(Ribonucleic acid) in bacterial Viruses through ultraviolet rays with wavelength in the range of 253.7 nm,
causing growth cell death or regenerative cell death. So as to achieve the effect of sanitization.
EXTREMELY EFFECTIVE - Turn ON the UV-C Sanitizer light, sweep the UV-C light sanitizer wand across the surface or stuff you desire to clean from a distance of several inches. Sterilization occurs depend on application without damaging any surfaces, makes non-toxic, no residue, no odour, no secondary pollution.
PORTABLE - Portable, Sterilize Anytime and Anywhere. UV-C sanitizer lamp has built-in cable cord, compact design and light weight super convenient to stored it in backpack or suitcase for use while traveling and outings. Warning - Ultraviolet C radiation can cause skin damage, so avoid direct explore of it on the human body, also avoid direct contact to eyes as the tube radiance will affect your eyes This Product is not recommended to use by the children and Senior Citizens.
QUALITY & DESIGN - UV-C light Sterilizer is a exquisite wand that with nice touch feel, constructed from selected ABS material and advanced led light beads to ensure optimal sterilization effect. Durable UV-C Lamp lifespan is more than 9000 hours. The uv-c sterilizer light is CE, RoHs certified, established reputation for disinfecting and sanitizing, and safety.
SAFETY - UV-C disinfection lamp is widely used for home, office, school sanitizing. A nice choice to disinfecting phones, toys, keyboards, laptops, toothbrushes and toilet covers. Sterilize pillow cases, clothes and bedding.
Question: How much is power output in Watt?
Answer: Its output watt is 11.
Question: Could you suggest some protective gear like goggles as this UV-C harmful and reflect on surface of floors?

Question: Can it be used for sanitization of fruits, groceries and other directly consumable items?
Answer: Yes, it can be used for sanitization of fruits, groceries and other directly consumable items. Require time to sanitize the item is depends on its properties or surface area.
Question: Is it alright to use this to sanitize for wires or electronic appliances extension cords and switch board.
Answer: Yes, we can use it for any kind of item to sanitize. Example shoes, floor, dining table, bed, sofa, vegetables, cloths, etc. all kind of item you can sanitize.
Question: Can it be used over a person’s clothes at the entry of shop/mall etc?
Answer: Yes, it can be used over a person's clothes at the entry of a shop/mall etc.
Question: How to operate it? What safety measure we need to take? How long we need to show on objects?

Question: Is there warranty period?
Answer: We provide 6 months Warranty.
Question: How long I need to leave the light UV on the product I want to disinfect to have the best result of 99,9% ?
Answer: It depends upon the different items, but as per research mostly all kinds of surface can be disinfected max in 10 seconds. And please take care of direct contact of EYE and skin.
Question: How much time it takes to sanitize the one room or take an example of bed and clothes, almirah?
Answer: It will take approx,45 minutes to disinfect 150 sq feet area room.
Question: Where it in manufactured?
Answer: It is manufactured in India “Made in India” product.
Question: Is UV-C Disinfection system safe for home use?
Answer: The UV-C Disinfection system incorporates certain safety measures for use by humans, which measures are detailed in the various safety instructions mentioned in the user manual. Auto cut of feature is provided to avoid accidental UV-C radiation exposure for the user, never bypass the door switch or use the system with damaged front glass.
Question: For what products can I use UV-C Disinfection system? Will it disinfect the items from inside?
Answer: The device is useful for surface disinfection, i.e. surface at which the UV-C radiation fall will be disinfected, items inside packaging, cover, utensils will not be disinfected, as UV-C rays will not travel through any surface including metal, plastic or even glass.
Question: Which part of the items will be disinfected?
Answer: The surfaces of object receiving UV-C light will be disinfected, UV-C Disinfection system has special coating inside which helps UV-C radiation to get reflected from the walls of the product.
Question: Is the visible blue light the UV-C radiation?
Answer: The Philips UV-C lamp inside the product emits UV-C radiation as well as a blue glow visible to user. The blue light indicates that the disinfection operation is in process. The light visible to the eye is not UV-C (human eye cannot see UV-C radiation).
Question: Do we need to evacuate the room while using the system?
Answer: No, UV-C Disinfection system is fitted with special glass door which blocks and contains UV-C radiation within the UV-C Disinfection system, keeping UV-C radiation in safer limits and thus there is no need to evacuate the room while using the system. Only visible light passes through the glass door, which is not harmful in any way.
Note- Never bypass the door protection switch or use device
with a damaged door.
Question: Can water be purified using UV-C Disinfection system?
Answer: The device is effective for surface disinfection of objects and not for treating drinking water.
Question: Can the UV-C Disinfection system disinfect my mobile/ electronic items?
Answer: Yes, the system can be used to disinfect electronic items like mobile, laptop, iPad/ tablet, etc.
Question: How can I service the UV-C Disinfection system?
Answer: The UV-C Disinfection system contains no user serviceable parts and for service-related query please contact authorized service team.
Question: Can the product be used for disinfecting packed frozen food like Ice-cream?
Answer: Yes, the system does not heat the object being disinfected, it can disinfect packed items in matter of minutes.
Question: For how long can I expose any item to UV radiations?
Answer: Expose the items to the radiations as per recommended time. Longer the exposer better is the disinfection. Repeated usage over a long time may result in some discoloration and change
in surface property of objects.
Question: Can the product be used to sterilize medical products/ equipment?
Answer: Device should not be used for sterilization/ disinfection of surgical tools and medical equipment.


>From The Desk of Independent Committee of Eminent Persons (ICEP), Switzerland. Attention:Sir Madam My name is Mr Frank a member of Independent Committee of Eminent Persons (ICEP), Switzerland. ICEP is charged with the responsibility of finding bank accounts in Switzerland belonging to non-Swiss indigenes, which have remained dormant since World War II. It may interest you to know that in July of 1997, the Swiss Banker's Association published a list of dormant accounts originally opened by non-Swiss citizens. These accounts had been dormant since the end of World War II (May 9, 1945). Most belonged to Holocaust victims. The continuing efforts of the Independent Committee of Eminent Persons (ICEP) have since resulted in the discovery of additional dormant accounts - 54,000 in December, 1999. The published lists contain all types of dormant accounts, including interest-bearing savings accounts, securities accounts, safe deposit boxes, custody accounts, and non-interest-bearing transaction accounts. Numbered accounts are also included. Interest is paid on accounts that were interest bearing when established. The Claims Resolution Tribunal (CRT) handles processing of all claims on accounts due non-Swiss citizens. A dormant account of ORDNER ADELE with a credit balance of 50,000,000 US dollar plus accumulated interest was discovered by me. The beneficiary was murdered during the holocaust era, leaving no WILL and no possible records for trace of heirs. The Claims Resolution Tribunal has been mandated to report all unclaimed funds for permanent closure of accounts and transfer of existing credit balance into the treasury of Switzerland government as provided by the law for management of assets of deceased beneficiaries who died interstate (living no wills). Being a top executive at ICEP, I have all secret details and necessary contacts for claim of the funds without any hitch. The funds will be banked in a bank in U.A.E Dubia or Spain or france, being a tax free country, where we can safely withdrew the funds and we can share the funds and use it for investment of our choice. Due to the sensitive nature of my job, I need a foreigner to HELP claim the funds. All that is required is for you to provide me with your details for processing of the necessary legal and administrative claim documents for transfer of the funds to you. Kindly provide me with your full name, address, and telephone/fax. I will pay all required fees to ensure that the fund is transferred to a secure, numbered account in your name in an internet Bank , of which you will be capable of accessing the funds gradually and transferring to your country and other banks of your choice in the world. My share will be 60 percent and your share is 40 per cent of the total amount. THERE IS NO RISK INVOLVED. You can find additional information about unclaimed funds through the internet at the following websites: www.swissbankclaims.com http://www.cnn.com/WORLD/europe/9902/09/germany.holocaust/ www.avotaynu.com www.icheic.org www.livingheirs.com www.wiesenthal.com The Holocaust Claims Processing Office has put funds in Escrow awaiting submission of valid claims for necessary disbursement. I find myself priviledged to have this information and this may be a great opportunity for a life time of success without risks. Due to security reasons, reply to my via email only. You may reply to me securely on the following email<EMAIL_ADDRESS>or<EMAIL_ADDRESS>Thank you for your prompt response. Mr Frank Eze


There have been no devices discovered yet. Head over to status tab to make sure everything is running properly.
| Name | IP | MAC | Vendor | First Seen | Last Seen | Open Ports | |
|---|---|---|---|---|---|---|---|
| {{device['nickname']|safe}} | {{device['ip']|safe}} | {{device['mac']|safe}} | {{device['vendor']|safe}} | {{device['first_seen']|safe}} | {{device['last_seen']|safe}} | {{device['open_ports']}} |


{{ post.title }}
{{ post.created_at | date: "MMMM d, yyyy" }}
Alpha Project Food Distribution
February 22
The Alpha Project is a nonprofit, human services organization that serves over 4,000 men, women, and children each day. We will assist them by serving dinner to the homeless!
{{ event.start_time | date: " h:mma to " }}{{ event.end_time | date : 'h:mma' }}
{{ post.created_at | date: "MMMM d, yyyy" }}


Template
Method Reference
title()
Set the title of the page.
Parameters
- $title1 - string REQUIRED - send as many parameters as you like, they will be imploded with $config['title_separator'] to create a single string, which can be called with $template['title']; in your layouts.
Usage
$this->template->title('Blog', $article->title);
set()
Set data using a chainable method. Provide two strings or an array of data.
Usage
$this->template->set('foo', $bar);
Usage
$this->template->build('welcome_message', array('message' => 'Hi there!');
prepend_metadata()
Add a line to the start of the $template['metadata'] string.
Parameters
- $line - string REQUIRED - Metadata line.
Usage
$this->template->prepend_metadata(');
append_metadata()
Add a line to the end of the $template['metadata'] string.
Parameters
- $line - string REQUIRED - Metadata line.
Usage
$this->template->append_metadata('');
set_layout()
All Layout files should be in the layout folder and by default will be application/views/layouts/default.php, but this can be changed.
Parameters
- $layout - string REQUIRED - name of the theme.
Usage
$this->template
->set_layout('two_col') // application/views/layouts/two_col.php ->build('welcome_message'); // views/welcome_message
set_theme()
Will override the theme set in $config['theme'].
Parameters
- $theme - string REQUIRED - name of the theme.
set_partial()
Set Partials from view files.
Parameters
- $name - string REQUIRED - assign a name to the partial.
- $view - string REQUIRED - name of the view file to look for.
- $data - array/object OPTIONAL - assign some extra data JUST for this partial.
Usage
$this->template // application/views/some_folder/header ->set_partial('header', 'some_folder/header') // application/views/layouts/two_col.php ->set_layout('two_col') // views/welcome_message ->build('welcome_message');
inject_partial()
Inject a chunk of HTML as a Partial.
Parameters
- $name - string REQUIRED - assign a name to the partial.
- $string - string REQUIRED - Chunk of HTML/Text/Whatever to go into the partial.
- $data - array/object OPTIONAL - assign some extra data JUST for this partial.
Usage
$this->template // application/views/some_folder/header ->inject_partial('header', '
Hello World!
') // application/views/layouts/two_col.php ->set_layout('two_col') // views/welcome_message ->build('welcome_message');
build()
Build the entire HTML combining partials, layouts and views.
Parameters
- $view - string REQUIRED - Name of the view to use for the template body.
- $data - array/object OPTIONAL - Add more data to be mixed with any data already added via $this->template->set();.
Return
- string. If the 3rd argument is set to TRUE this method will return the HTML as a string.


Guide.Me
Login
Sign up
Introducing Guide.Me
A better way to help yourself out with your doubts
Your
Helping Hands


User Name: Password: Login
User Name: Request
User Name: Accept
User Name: Decline
User Name: Remove
Available In Game Idle


With this program Isogons (Ramsay, 1967, p. 365) can be drawn in a fold profile. A picture of the fold profile must exist as *.bmp, *.gif,
*.tif, *.jpg, *wmf, or *.emf file, or the picture is saved on the
clipboard.
The graphic can be saved and/or printed at any time.


Account Overview
Your account overview and recent transactions.
This is view only wallet.
Balance and transactions do not account for any spendings.
Thus, if there were any outgoing transactions made,
the balance here will be incorrect, and those transactions
not shown.


A place to plan
If you've ever struggled with time managment or getting things done, this is the right place for you: Organize yourself and your team, create tasks, set deadlines and assign people to work on each issue.
A place to keep track of your progress
Everyone can watch each other's progress by just heading to the corresponding task page.  Ask for help, write a private message or leave a comment on someone's task.
You have enemies? Good.


WITNESS LIST Intergovernmental Relations Committee March 17, 1999-9:00A SB 536 Registering, but not testifying: For: Cock, Curtis (President, Assoc. of RFPD's and ESD's), Houston Loll, Charles (Fire Chief, North Montgomery County VFO), Willis Olson, Laurie (Administrative Asst., Ponderosa VFD), Houston Regnier, Ted (Volunteer Firemans Insurance Service), Austin Williams, Elmer (Houston Firefigher), Converse Windisch, Fred (Fire Chief, Ponderosa VFD), Houston SB 568 FOR: Higgins, Mike (Director of Research, TX State Assoc. of Fire Fighters), Austin Registering, but not testifying: For: Dee, Simpson (Political Director, A.F.S.C.M.E.), Austin Loll, Charles (Fire Chief, North Montgomery County VFD), Willis Wilkinson, Charley (Political Director, Combined Law Enforcement Assoc of TX), Austin SB 574 Registering, but not testifying: For: LaFollet, Victoria (Board Chair, TMRS), Longview On: Anderson, Gary (TMRS), Austin SB 605 Registering, but not testifying: On: Cock, Curtis (President, Association of RFPD's and ESD's), Houston SB 778 Registering, but not testifying: For: Hynson, Kathy (County Treasurer, County Treasurers Assoc. of TX), Richmond Tuttle, Michele (Hays County Treasurer, County Treasurers Assoc. of TX), San Marcos Wood, Vivian (Williamson County Treasurer, County Treasurers Assoc. of TX), Georgetown SB 779 Registering, but not testifying: For: Christian George (Texas Taxpayers and Research Assoc.), Austin Murphree, Roger (Manager State Taxes, Central and South West Corp), Dallas Riester, Eric (IGR Manager, Bexar County), San Antonio Romo, Sylvia (Tax Assessor-Collector, Bexar County), San Antonio SB 790 Registering, but not testifying: For: Escobar, Bonnie (Senior V.P., Greater El Paso Chamber of Commerce), El Paso Keleher, Tim (VP of Government Affairs, Fort Worht Chamber of Commerce), Fort Worth Paniagua, Joe (Asst. City Manager, City of Fort Worth), Fort Worth Rocha, Susan (City of El Paso), San Antonio On: Hansen, Don (Executive VP, Texas Hotel and Motel Assoc.), Austin


Sign in
/
Create Account
Menu1
Menu2
Menu3
Menu4
Menu5
QI_SUMMER_IoT
My Page
User name
User Email, birth
Gender
male
female
Emergency Call
User Cancellation
Need to recertification
Identification
Password Change
Email
Password
Identification
Sensor List
Sensor name
Mac Address
State
Sensor_name1
Sensor_name2
Sensor_name3
Finish