IntroductionCredit: Alex Martelli, author of Python in a Nutshell (O'Reilly) Object-oriented programming (OOP) is among Python's greatest strengths. Python's OOP features continue to improve steadily and gradually, just like Python in general. You could already write better object-oriented programs in Python 1.5.2 (the ancient, long-stable version that was new when I first began to work with Python) than in any other popular language (excluding, of course, Lisp and its variants: I doubt there's anything you can't do well in Lisp-like languages, as long as you can stomach parentheses-heavy concrete syntax). For a few years now, since the release of Python 2.2, Python OOP has become substantially better than it was with 1.5.2. I am constantly amazed at the systematic progress Python achieves without sacrificing solidity, stability, and backwards-compatibility. To get the most out of Python's great OOP features, you should use them the Python way, rather than trying to mimic C++, Java, Smalltalk, or other languages you may be familiar with. You can do a lot of mimicry, thanks to Python's power. However, you'll get better mileage if you invest time and energy in understanding the Python way. Most of the investment is in increasing your understanding of OOP itself: what is OOP, what does it buy you, and which underlying mechanisms can your object-oriented programs use? The rest of the investment is in understanding the specific mechanisms that Python itself offers. One caveat is in order. For such a high-level language, Python is quite explicit about the OOP mechanisms it uses behind the curtains: they're exposed and available for your exploration and tinkering. Exploration and understanding are good, but beware the temptation to tinker. In other words, don't use unnecessary black magic just because you can. Specifically, don't use black magic in production code. If you can meet your goals with simplicity (and most often, in Python, you can), then keep your code simple. Simplicity pays off in readability, maintainability, and, more often than not, performance, too. To describe something as clever is not considered a compliment in the Python culture. So what is OOP all about? First of all, it's about keeping some state (data) and some behavior (code) together in handy packets. "Handy packets" is the key here. Every program has state and behaviorprogramming paradigms differ only in how you view, organize, and package them. If the packaging is in terms of objects that typically comprise state and behavior, you're using OOP. Some object-oriented languages force you to use OOP for everything, so you end up with many objects that lack either state or behavior. Python, however, supports multiple paradigms. While everything in Python is an object, you package things as OOP objects only when you want to. Other languages try to force your programming style into a predefined mold for your own good, while Python empowers you to make and express your own design choices. With OOP, once you have specified how an object is composed, you can instantiate as many objects of that kind as you need. When you don't want to create multiple objects, consider using other Python constructs, such as modules. In this chapter, you'll find recipes for Singleton, an object-oriented design pattern that eliminates the multiplicity of instantiation, and Borg, an idiom that makes multiple instances share state. But if you want only one instance, in Python it's often best to use a module, not an OOP object. To describe how an object is made, use the class statement: class SomeName(object): """ You usually define data and code here (in the class body). """ SomeName is a class object. It's a first-class object, like every Python object, meaning that you can put it in lists and dictionaries, pass it as an argument to functions, and so on. You don't have to include the (object) part in the class header clauseclass SomeName: by itself is also valid Python syntaxbut normally you should include that part, as we'll see later. When you want a new instance of a class, call the class object as if it were a function. Each call returns a new instance object: anInstance = SomeName( ) another = SomeName( ) anInstance and another are two distinct instance objects, instances of the SomeName class. (See Recipe 4.18 for a class that does little more than this and yet is already quite useful.) You can freely bind (i.e., assign or set) and access (i.e., get) attributes (i.e., state) of an instance object: anInstance.someNumber = 23 * 45 print anInstance.someNumber # emits: 1035 Instances of an "empty" class like SomeName have no behavior, but they may have state. Most often, however, you want instances to have behavior. Specify the behavior you want by defining methods (with def statements, just like you define functions) inside the class body: class Behave(object): def _ _init_ _(self, name): self.name = name def once(self): print "Hello,", self.name def rename(self, newName) self.name = newName def repeat(self, N): for i in range(N): self.once( ) You define methods with the same def statement Python uses to define functions, exactly because methods are essentially functions. However, a method is an attribute of a class object, and its first formal argument is (by universal convention) named self. self always refers to the instance on which you call the method. The method with the special name _ _init_ _ is also known as the constructor (or more properly the initializer) for instances of the class. Python calls this special method to initialize each newly created instance with the arguments that you passed when calling the class (except for self, which you do not pass explicitly since Python supplies it automatically). The body of _ _init_ _ typically binds attributes on the newly created self instance to appropriately initialize the instance's state. Other methods implement the behavior of instances of the class. Typically, they do so by accessing instance attributes. Also, methods often rebind instance attributes, and they may call other methods. Within a class definition, these actions are always done with the self.something syntax. Once you instantiate the class, however, you call methods on the instance, access the instance's attributes, and even rebind them, using the theobject.something syntax: beehive = Behave("Queen Bee") beehive.repeat(3) beehive.rename("Stinger") beehive.once( ) print beehive.name beehive.name = 'See, you can rebind it "from the outside" too, if you want' beehive.repeat(2)
If you're new to OOP in Python, you should try, in an interactive Python environment, the example snippets I have shown so far and those I'm going to show in the rest of this Introduction. One of the best interactive Python environments for such exploration is the GUI shell supplied as part of the free IDLE development environment that comes with Python. In addition to the constructor (_ _init_ _), your class may have other special methods, meaning methods with names that start and end with two underscores. Python calls the special methods of a class when instances of the class are used in various operations and built-in functions. For example, len(x) returns x._ _len_ _( ); a+b normally returns a._ _add_ _(b); a[b] returns a._ _getitem_ _(b). Therefore, by defining special methods in a class, you can make instances of that class interchangeable with objects of built-in types, such as numbers, lists, and dictionaries. The ability to handle different objects in similar ways, known as polymorphism, is a major advantage of OOP. Thanks to polymorphism, you can call the same method on various objects, and each object can implement the method appropriately. For example, in addition to the Behave class, you might have another class that implements a repeat method with rather different behavior: class Repeater(object): def repeat(self, N): print N*"*-*" You can mix instances of Behave and Repeater at will, as long as the only method you call on each such instance is repeat: aMix = beehive, Behave('John'), Repeater( ), Behave('world') for whatever in aMix: whatever.repeat(3) Other languages require inheritance, or the formal definition and implementation of interfaces, in order to enable such polymorphism. In Python, all you need is to have methods with the same signature (i.e., methods of the same name, callable with the same arguments). This signature-based polymorphism allows a style of programming that's quite similar to generic programming (e.g., as supported by C++'s template classes and functions), without syntax cruft and without conceptual complications. Python also uses inheritance, which is mostly a handy, elegant, structured way to reuse code. You can define a class by inheriting from another (i.e., subclassing the other class) and then adding or redefining (known as overriding) some methods: class Subclass(Behave): def once(self): print '(%s)' % self.name subInstance = Subclass("Queen Bee") subInstance.repeat(3) The Subclass class overrides only the once method, but you can also call the repeat method on subInstance, since Subclass inherits that method from the Behave superclass. The body of the repeat method calls once n times on the specific instance, using whatever version of the once method the instance has. In this case, each call uses the method from the Subclass class, which prints the name in parentheses, not the original version from the Behave class, which prints the name after a greeting. The idea of a method calling other methods on the same instance and getting the appropriately overridden version of each is important in every object-oriented language, including Python. It is also known as the Template Method Design Pattern. The method of a subclass often overrides a method from the superclass, but also needs to call the method of the superclass as part of its own operation. You can do this in Python by explicitly getting the method as a class attribute and passing the instance as the first argument: class OneMore(Behave): def repeat(self, N): Behave.repeat(self, N+1) zealant = OneMore("Worker Bee") zealant.repeat(3) The OneMore class implements its own repeat method in terms of the method with the same name in its superclass, Behave, with a slight change. This approach, known as delegation, is pervasive in all programming. Delegation involves implementing some functionality by letting another existing piece of code do most of the work, often with some slight variation. An overriding method often is best implemented by delegating some of the work to the same method in the superclass. In Python, the syntax Classname.method(self, . . .) delegates to Classname's version of the method. A vastly preferable way to perform superclass delegation, however, is to use Python's built-in super: class OneMore(Behave): def repeat(self, N): super(OneMore, self).repeat(N+1) This super construct is equivalent to the explicit use of Behave.repeat in this simple case, but it also allows class OneMore to be used smoothly with multiple inheritance. Even if you're not interested in multiple inheritance at first, you should still get into the habit of using super instead of explicit delegation to your base class by namesuper costs nothing and it may prove very useful to you in the future. Python does fully support multiple inheritance: one class can inherit from several other classes. In terms of coding, this feature is sometimes just a minor one that lets you use the mix-in class idiom, a convenient way to supply functionality across a broad range of classes. (See Recipe 6.20 and Recipe 6.12, for unusual but powerful examples of using the mix-in idiom.) However, multiple inheritance is particularly important because of its implications for object-oriented analysisthe way you conceptualize your problem and your solution in the first place. Single inheritance pushes you to frame your problem space via taxonomy (i.e., mutually exclusive classification). The real world doesn't work like that. Rather, it resembles Jorge Luis Borges' explanation in The Analytical Language of John Wilkins, from a purported Chinese encyclopedia, The Celestial Emporium of Benevolent Knowledge. Borges explains that all animals are divided into:
You get the point: taxonomy forces you to pigeonhole, fitting everything into categories that aren't truly mutually exclusive. Modeling aspects of the real world in your programs is hard enough without buying into artificial constraints such as taxonomy. Multiple inheritance frees you from these constraints. Ah, yes, that (object) thingI had promised to come back to it later. Now that you've seen Python's notation for inheritance, you realize that writing class X(object) means that class X inherits from class object. If you just write class Y:, you're saying that Y doesn't inherit from anythingY, so to speak, "stands on its own". For backwards compatibility, Python allows you to request such a rootless class, and, if you do, then Python makes class Y an "old-style" class, also known as a classic class, meaning a class that works just like all classes used to work in the Python versions of old. Python is very keen on backwards-compatibility. For many elementary uses, you won't notice the difference between classic classes and the new-style classes that are recommended for all new Python code you write. However, it's important to underscore that classic classes are a legacy feature, not recommended for new code. Even within the limited compass of elementary OOP features that I cover in this Introduction, you will already feel some of the limitations of classic classes: for example, you cannot use super within classic classes, and in practice, you should not do any serious use of multiple inheritance with them. Many important features of today's Python OOP, such as the property built-in, can't work completely, if they even work at all, with old-style classes. In practice, even if you're maintaining a large body of legacy Python code, the next time you need to do any substantial maintenance on that code, you should take the little effort required to ensure all classes are new style: it's a small job, and it will ease your future maintenance burden quite a bit. Instead of explicitly having all your classes inherit from object, an equivalent alternative is to add the following assignment statement close to the start of every module that defines any classes: _ _metaclass_ _ = type The built-in type is the metaclass of object and of every other new-style class and built-in type. That's why inheriting from object or any built-in type makes a class new style: the class you're coding gets the same metaclass as its base. A class without bases can get its metaclass from the module-global _ _metaclass_ _ variable, which is why the "state"ment I suggest suffices to ensure that any classes without explicit bases are made new-style. Even if you never make any other use of explicit metaclasses (a rather advanced subject that is, nevertheless, mentioned in several of this chapter's recipes), this one simple use of them will stand you in good stead.
|


Evaluating Accessibility
- Basis of this site is a - Finance Website.
Marketwatch.com
Criteria Overview
- Evaluate chosen site for accessibility
marketwatch and look for relevant adherance or possible adjustments to meet
guidelines in present web development standards.
- Does website adhere to accessibility standards - based of Krugg readings
- Page Navigation
- Scanning
- Heirarchy
- Does the website apply further accessibility relating to Section 508
- Wave Report
- Lighthouse Report
- Collective overview And possiible improvments
1 Accessibility -Krugg readings
-- Positives --
- Page Navigation
- At first glance, following Top to Bottom and Left to Right, The fromt page
follows a top down approach. The main features are at the top
and flow downward.
- Scanning
- the main story is posted first and each subsequent story is followed
underneath by a bullet point and Each story is divided into a section
by panels
- Heirarchy
- There is a sense of heirarchy because as you scroll down the page each
section is depicted on the top left by a large header and a bar that
secitons
off and denotes where you are at. Also as mentioned above in scanning, each
story has a nice header and is followed by smaller stories with bullet
points.
-- Negatives --
- Size
- There are some issues with size on some fonts as I easily glanced over some
words even with letters bolded. Also Icons arnt well identitifed on what
they are supposed to do.
- Heirarchy
- It was this particular Section that felt a little too much. There was a lot
of data thown at me and even though there are dividers, they are small and
thing
so everything feels meshed together to find too much information when
looking over.
2: Best Practices in relation to Seciton 508
-- Positive --
- WAVE Report
-
74 Alternative text were found. This is very good to find especially to users
who cannot see very well, or in
general are blind and use a screen talker, if there are no
alternative text set up for the images there can be a misrepresentaiton of an
article or the screen reader bogs the user with error message readings
- Lighthouse Accessbility Report
- The page heading, skip link, or landmark region which helps users without a
mouse assisting navigation through a large website.
-- Negatives --
- Wave Report
- the WAVE report found 109 redundant links by which
inflates the options given to the user instead of narrowing down the list
extending
the time
to search and creating a bit of waste
- Lighthouse Accessibility Report
- As mentioned in readings, the inability to zoom limits users who have sight
issues making some pages no accessable to view or read.
Overview
- marketwatch.com follows a good number of accessibility guidelines, especially at first glance there is a nice structure of heirarchy and simple point and click. The overall structure of the website is good in that it accomplishes its task to serve media news related to the stock market. Tho there may be a few issues such as link redundancy and zooming disabled that can be fixed in the code.
-- Possible Fixes --
- Link redundancy
- Basically, I belive the website is also using a templet that has always set the
text and image to the same link, which in the end can just be resolved by
just combining to one link
- Zooming
- when looking at the image below the lighthouse report for zooming, it shows that
[user-scalabe="no"] resolve the issue by removing the portion and
setting the scale = 5 as noted by
lighthouse to fix the problem.


Or: Finding out what crud you installed that's eating all of your space in Arch Linux
I started running out of space on one of my Arch boxes and wondered (beyond what was in my home directory) what I'd installed that was eating up all the space.
A little bit of bash-fu does the job:
for pkg in $(pacman -Qq); do
size=$(pacman -Qi $pkg | grep "Installed Size" | cut -d ":" -f 2)
echo "$size | $pkg"
done | sed -e 's/ //g' | sort -h
This outputs a list of packages with those using the most disk space at the bottom:
25.99MiB|llvm-libs
31.68MiB|raspberrypi-firmware-examples
32.69MiB|systemd
32.86MiB|glibc
41.88MiB|perl
54.31MiB|gtk2
62.13MiB|python2
73.27MiB|gcc
77.93MiB|python
84.21MiB|linux-firmware
The above is from my pi; not much I can uninstall there ;)


MAINFLUX
Mainflux is highly secure, scalable, open-source IoT platform written in Go and deployed in Docker.
It serves as software infrastructure and set of microservices for development of the
Internet of Things Solutions and deployment of Intelligent products.
SEAMLESS INTEGRATION
WITH OTHER SYSTEMS
SCALABLE AND FAST
HIGHLY SECURE
HARDWARE AND DEVICE
AGNOSTIC
Mainflux software infrastructure stack is composed of all components and microservices necessary for IoT solutions.
The IoT Cloud Platform will facilitate the interoperability of the IoT solution with existing enterprise applications and other IoT solutions.
Mainflux handles the persistent storage layer (database) to store and query data readings from devices. This way it is capable of presenting and visualising device data history via graphical dashboards or export to various business apps for data analytics
Mainflux also acts as a highly secure, multi-protocol IoT device server.
It provides real-time, two-way communication between applications, devices and cloud services across diverse network protocols like HTTP, MQTT, WebSocket and CoAP, making a seamless bridge between them.
Mainflux Iot Platform provides a set of SW SDKs and client libraries for various HW platforms in several programming languages (C/C++,JavaScript, Python), and set of clean and open APIs, a powerful development tools for:
Mainflux is the highly-secured system. It has a dedicated authentication and authorization service that protect the system from unauthorisedaccess and unauthorised devices and applications.
All messages and all network traffic coming from or to Mainflux are encrypted by latest security standards (TLS v1.3).
Mainflux security service actually combines several latest security standards and approaches like JWT encrypted and signed tokens, OAuth2.0, public key infrastructure (PKI) and client-side certificates inorder to achieve industry-grade security.
Mainflux software infrastructure stack is composed of all components and microservices necessary for IoT solutions.
The IoT Cloud Platform will facilitate the interoperability of the IoT solution with existing enterprise applications and other IoT solutions.
| LINK | DESCRIPTION |
|---|---|
| users | Manages platform's users and auth concerns |
| things | Manages platform's things, channels and access policies |
| normalizer | Normalizes SenML messages and generates the "processed" messages stream |
| http-adapter | Provides an HTTP interface for accessing communication channels |
| ws-adapter | Provides a WebSocket interface for accessing communication channels |
| http-adapter | Provides an HTTP interface for accessing communication channels |
| mqtt-adapter | Provides a MQTT interface for accessing communication channels |
| lora-adapter | Provides a LorasWAN interface for accessing communication channels |
| NATS | System event bus |
| NGINX | Reverse Proxy with Auth forwarding |


A collection of bunnies
Painted bunnies
Wild bunnies
Mean bunny
Big buck bunny
Coreboot?
Bunny headmaster


No results found for your query "{{ query }}"
You conducted a Profiles Search across organization names, EINs, and location
Try your query using a Grants Search
Learn more about the two types of searches


igx-time-picker component with initial value set. One-way data bind is used.
You can read more about configuring the igx-time-picker component in the README or the official documentation.


Bases: astropy.io.fits.verify._Verify
Deprecated since version 3.1: Use the image attribute instead.
Get the comment attribute from the card image if not already set.
Construct a Card object from a (raw) string. It will pad the string if it is not the length of a card image (80 columns). If the card image is longer than 80 columns, assume it contains CONTINUE card(s).
Returns the keyword name parsed from the card image.
classmethod to convert a keyword value that may contain a field-specifier to uppercase. The effect is to raise the key to uppercase and leave the field specifier in its original case.
| Parameters : | key : or str
|
|---|---|
| Returns : | The converted string : |
Execute the verification with selected option.
Verify all values in the instance.
| Parameters : | option : str
|
|---|
The following classes and functions are deprecated as of the PyFITS 3.1 header refactoring, though they are currently still available for backwards-compatibility.
Bases: list
Deprecated since version 3.1: CardList used to provide the list-like functionality for manipulating a header as a list of cards. This functionality is now subsumed into the Header class itself, so it is no longer necessary to create or use CardLists.
Deprecated since version 3.1: Use Header.append() instead.
Append a Card to the CardList.
| Parameters : | card : Card object
useblanks : bool, optional
bottom : bool, optional |
|---|
Deprecated since version 3.1: Use Header.copy() instead.
Make a (deep)copy of the CardList.
Deprecated since version 3.1: Use Header.count() instead.
Deprecated since version 3.1: The count_blanks function is deprecated and may be removed in a future version.
Returns how many blank cards are directly before the END card.
Deprecated since version 3.1: Use Header.extend() instead.
Deprecated since version 3.0: Use filter_list() instead.
Deprecated since version 3.1: Use header[<wildcard_pattern>] instead.
Construct a CardList that contains references to all of the cards in this CardList that match the input key value including any special filter keys (*, ?, and ...).
| Parameters : | key : str
|
|---|---|
| Returns : | cardlist : :
|
Deprecated since version 3.1: Use Header.index() instead.
Deprecated since version 3.1: Use Header.index() instead.
Get the index of a keyword in the CardList.
| Parameters : | key : str or int
backward : bool, (optional)
|
|---|---|
| Returns : | index : int
|
Deprecated since version 3.1: Use Header.insert() instead.
Insert a Card to the CardList.
| Parameters : | pos : int
card : Card object
useblanks : bool, optional |
|---|
Deprecated since version 3.1: Use Header.keys() instead.
Return a list of all keywords from the CardList.
Deprecated since version 3.1: Use Header.pop() instead.
Deprecated since version 3.1: Use Header.remove() instead.
Deprecated since version 3.1: Use Header.values() instead.
Return a list of the values of all cards in the CardList.
For RecordValuedKeywordCard objects, the value returned is the floating point value, exclusive of the field_specifier.
Deprecated since version 3.1: Use Card.__init__() instead.
Deprecated since version 3.1: Use Card.fromstring() instead.
Construct a Card object from a (raw) string. It will pad the string if it is not the length of a card image (80 columns). If the card image is longer than 80 columns, assume it contains CONTINUE card(s).
Deprecated since version 3.1: Use Card.normalize_keyword() instead.
classmethod to convert a keyword value that may contain a field-specifier to uppercase. The effect is to raise the key to uppercase and leave the field specifier in its original case.
| Parameters : | key : or str
|
|---|---|
| Returns : | The converted string : |


JavaScript is disabled on your browser.
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
Hierarchy For Package org.drip.state.curve
Package Hierarchies:
All Packages
Class Hierarchy
java.lang.Object
org.drip.service.stream.
Serializer
org.drip.analytics.definition.
CreditCurve
(implements org.drip.analytics.definition.
Curve
)
org.drip.analytics.definition.
ExplicitBootCreditCurve
(implements org.drip.analytics.definition.
ExplicitBootCurve
)
org.drip.state.curve.
ForwardHazardCreditCurve
org.drip.analytics.rates.
DiscountCurve
(implements org.drip.analytics.definition.
Curve
, org.drip.analytics.rates.
DiscountFactorEstimator
)
org.drip.state.curve.
DiscountFactorDiscountCurve
org.drip.analytics.rates.
ExplicitBootDiscountCurve
(implements org.drip.analytics.definition.
ExplicitBootCurve
)
org.drip.state.curve.
FlatForwardDiscountCurve
org.drip.state.curve.
NonlinearDiscountFactorDiscountCurve
org.drip.analytics.rates.
ZeroCurve
org.drip.state.curve.
DerivedZeroRate
org.drip.state.curve.
ZeroRateDiscountCurve
org.drip.analytics.rates.
ForwardCurve
(implements org.drip.analytics.definition.
Curve
, org.drip.analytics.rates.
ForwardRateEstimator
)
org.drip.state.curve.
BasisSplineForwardRate
org.drip.analytics.definition.
FXBasisCurve
(implements org.drip.analytics.definition.
Curve
)
org.drip.state.curve.
DerivedFXBasis
org.drip.analytics.definition.
FXForwardCurve
(implements org.drip.analytics.definition.
Curve
)
org.drip.state.curve.
DerivedFXForward
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes


{% extends 'base.html' %} {% block title %} Login to GBE {% endblock %} {% block content %}
This site does not recognize your username or password.


I may have been able to answer some of your questions about it, and now I'll tell you more if you want. My name is Farah Abdel Rahman Asha. I studied at the Hashemite University as a class teacher and graduated with a very good grade. I volunteered throughout my studies with many institutions. I am in love with mathematics more than anything else in life. And my love for technology is what led me to you today so you can see my page. A problem when you are an ambitious person, you are looking for science and knowledge everywhere just like me, Also being a mother of two children you can imagine, I'm still young it's just 27 years but it's okay, one day I will eat them, Sometimes you will think that I am crazy, but that's okay, this is the effect of working as a teacher for children for 3 years, when you work with them, you will be attracted to their world and forget the existence of the whole world.
*Qualifications:
- Bachelor's degree"class teacher", the Hashemite University, average "3.24"
- General Secondary School “Information Management Branch” Ruqayya Bint Al-Rasoul Secondary School “2011” GPA “82.9”
*Practical experience:
- "Grand Kids Academy" class teacher for an academic year
- Summer and winter club teacher "Grand Kids Academy"
- Teacher of the "Ajyal Al-Farouq Kindergarten" class for an academic year
- Class teacher "Ajyal Al-Farouq Kindergarten and Schools" for an academic year
- Trainee teacher "Islamic Piety Kindergarten and School" 3 months
- Volunteer "I have a dream association for humanitarian initiatives" 6 months
- "Loyac Jordan Foundation" for two years
- Volunteer "The Hashemite University Activities" 3 years


Are you looking for someone who is willing to work on off-days? How about a team player or even a team leader? Just keep scrolling and find out what I'm all about!
Find Out MoreHave no fear! Zackery is here! If you are still here after that pun, stay for a while and see what I'm all about! Just scroll down or click the link below.
Get Started!"He shows up to work everyday with a smile on his face and is ready to put in the work" ⟵ Phillip Boone
All dependencies are kept current to keep things fresh. Nothing will ever be out of reach or out of date, deprecated content and beyond will be obliterated!
Looking for a total redesign or just a second opinion? I'm at your disposal for anything you need!
"He has really lightened up the workplace ever since we hired him here. He is a great team player and is capable of leading others without problems."
Ready to start your next project with me, or have me join a collaborative team? Give me a call or send me an email and I'll will get back to you as soon as possible!


Mr. David Cantrell and Mr. David Harris cordially invite you to join them in Alfriston for a week of hacking, drinking, walking, and assorted other Frolics. We think that Alfriston is an excellent venue for an LBW, as it has plenty of good walking in the nearby hills, a multitude of local beers, plentiful accomodation, and it's easy to get to.
Several hundredweight of the finest dates will be imported by sea-going camels specially commissioned from the Kingdom of Morocco, between 25 Jul and 1 Aug.
As always, the LBW will be funded by donations from attendees. The suggested donation is £15, €20, or CHF25, but this is not compulsory. If you can't afford to donate, please turn up anyway.
We will be based in the Memorial Hall, next to the village green and church on one side, and riverside meadows on the other. It has one large hall, one smaller hall that would be used for talks, and a well-equipped kitchen. The premises have a licence for the sale of alcohol, so we will be able to have the traditional barrel of special LBW beer. More details ...
There is lots of good walking in the area, with convenient pubs to stop for refreshment in most of the villages. There are walks suitable for a wide range of abilities and fitness levels. More details ...
Sussex - the county in which Alfriston lurks - has a great many small breweries. The nearest major brewery is Harveys in Lewes, who brew several ales, mostly fairly hoppy. There are also local cider producers and some small vineyards producing prize-winning wines. More details ...
The village has three pubs which also let out rooms, several bed and breakfasts, a couple of hotels, and a youth hostel. There is more accomodation in some of the surrounding villages within easy walking distance. More details ...
Alfriston is well-signposted from the main A27 road. There is a railway station nearby, with direct trains to/from Ashford International (for those using the Eurostar), Gatwick Airport, London Victoria, and Brighton. Ferries from Dieppe dock in Newhaven a few miles away. More details ...
For the non-geeks, there's a lot to do in the area. There are numerous castles, gardens, museums etc. Brighton is only a very short trip with all that it has to offer. More details ...


A great table of dogs and other animals. Lots of animals, lots of descriptions, very descriptive. Cute Factor goes from 1-10, Breed includes the entire animal kingdom, etc etc etc.
| Breed | Size | Cute Factor |
|---|---|---|
| Golden Retriever | Medium | 10 |
| Corgi | Small | 10 |
| Dolphin | Xtra Large | 10 |


Work Experience
Over the years, I have been working at different companys for different roles: Data Scientist, Machine Learning Specialist, Consultant, Data Analyst, etc. I have had the chance to work with various internal and external clients in different industries. You can find my resume here.
Data Scientist - Elevance Health, Inc.
March 2021 - Present
Machine Learning Intern - Hamiltionian Systems, Inc.
June 2020 - August 2020
I built machine learning models to predict weekly transaction quantities as well as annual transacation occurrences. I used Keras and Tensorflow to build up neural networks
to predict from historical usage data and achieved more than 70% accuracy.
After the models were running, we needed to integrate the machine learning programs with the company's server: a Linux cloud with Oracle database system. In
order to make the integration seamless, I wrote an API using Flask to deploy on the server and can be easily invoked by one button click from the user's side.
Research Assistant - Heinz College, Carnegie Mellon University
March 2020 - May 2020
Consultant Intern - Deloitte Consulting
November 2018 - May 2019
Data Analyst Intern - Dell Technologies
July 2018 - October 2018
Business Development Intern - Infralutions, Inc.
January 2018 - Februrary 2018


DeathRecordProfile
{
"resourceType" : "StructureDefinition",
"id" : "sdr-deathRecord-DeathRecord",
"text" : {
"status" : "generated",
"div" : "

SDR DeathRecord Profile

A document that details information about the death of an individual. The contents correspond to items included in the [U.S. Standard Certificate of Death](https://www.cdc.gov/nchs/data/dvs/DEATH11-03final-ACC.pdf).

SDR Mapping Summary

sdr.deathRecord.DeathRecord maps to Bundle:
fix type to http://hl7.org/fhir/bundle-type#document
DeathRecordContents maps to entry.resource (slice at = entry; slice on = resource; slice on type = profile)

"
},
"url" : "http://nightingaleproject.github.io/fhirDeathRecord/StructureDefinition/sdr-deathRecord-DeathRecord",
"identifier" : [
{
"system" : "http://github.com/nightingaleproject/fhirDeathRecord",
"value" : "sdr.deathRecord.DeathRecord"
}
],
"version" : "0.1.0",
"name" : "DeathRecordProfile",
"title" : "SDR DeathRecord Profile",
"status" : "draft",
"date" : "2018-06-14T00:00:00-04:00",
"publisher" : "The MITRE Corporation: Nightingale Project",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "http://github.com/nightingaleproject/fhirDeathRecord"
}
]
}
],
"description" : "A document that details information about the death of an individual. The contents correspond to items included in the [U.S. Standard Certificate of Death](https://www.cdc.gov/nchs/data/dvs/DEATH11-03final-ACC.pdf).",
"fhirVersion" : "3.0.1",
"mapping" : [
{
"identity" : "v2",
"uri" : "http://hl7.org/v2",
"name" : "HL7 v2 Mapping"
},
{
"identity" : "rim",
"uri" : "http://hl7.org/v3",
"name" : "RIM Mapping"
},
{
"identity" : "w5",
"uri" : "http://hl7.org/fhir/w5",
"name" : "W5 Mapping"
}
],
"kind" : "resource",
"abstract" : false,
"type" : "Bundle",
"baseDefinition" : "http://hl7.org/fhir/StructureDefinition/Bundle",
"derivation" : "constraint",
"snapshot" : {
"element" : [
{
"id" : "Bundle:sdr-deathRecord-DeathRecord",
"path" : "Bundle",
"short" : "SDR DeathRecord Profile",
"definition" : "A document that details information about the death of an individual. The contents correspond to items included in the [U.S. Standard Certificate of Death](https://www.cdc.gov/nchs/data/dvs/DEATH11-03final-ACC.pdf).",
"min" : 0,
"max" : "*",
"constraint" : [
{
"key" : "bdl-7",
"severity" : "error",
"human" : "FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId",
"expression" : "entry.where(fullUrl).select(fullUrl&resource.meta.versionId).isDistinct()",
"xpath" : "count(for $entry in f:entry[f:resource] return $entry[count(parent::f:Bundle/f:entry[f:fullUrl/@value=$entry/f:fullUrl/@value and ((not(f:resource/*/f:meta/f:versionId/@value) and not($entry/f:resource/*/f:meta/f:versionId/@value)) or f:resource/*/f:meta/f:versionId/@value=$entry/f:resource/*/f:meta/f:versionId/@value)])!=1])=0"
},
{
"key" : "bdl-9",
"severity" : "error",
"human" : "A document must have an identifier with a system and a value",
"expression" : "type = 'document' implies (identifier.system.exists() and identifier.value.exists())",
"xpath" : "not(f:type/@value = 'document') or exists(f:identifier/f:system) or exists(f:identifier/f:value)"
},
{
"key" : "bdl-3",
"severity" : "error",
"human" : "entry.request only for some types of bundles",
"expression" : "entry.request.empty() or type = 'batch' or type = 'transaction' or type = 'history'",
"xpath" : "not(f:entry/f:request) or (f:type/@value = 'batch') or (f:type/@value = 'transaction') or (f:type/@value = 'history')"
},
{
"key" : "bdl-4",
"severity" : "error",
"human" : "entry.response only for some types of bundles",
"expression" : "entry.response.empty() or type = 'batch-response' or type = 'transaction-response'",
"xpath" : "not(f:entry/f:response) or (f:type/@value = 'batch-response') or (f:type/@value = 'transaction-response')"
},
{
"key" : "bdl-1",
"severity" : "error",
"human" : "total only when a search or history",
"expression" : "total.empty() or (type = 'searchset') or (type = 'history')",
"xpath" : "not(f:total) or (f:type/@value = 'searchset') or (f:type/@value = 'history')"
},
{
"key" : "bdl-2",
"severity" : "error",
"human" : "entry.search only when a search",
"expression" : "entry.search.empty() or (type = 'searchset')",
"xpath" : "not(f:entry/f:search) or (f:type/@value = 'searchset')"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "Entity. Role, or Act"
},
{
"identity" : "v2",
"map" : "N/A"
},
{
"identity" : "rim",
"map" : "N/A"
},
{
"identity" : "w5",
"map" : "infrastructure.structure"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.id",
"path" : "Bundle.id",
"short" : "Logical id of this artifact",
"definition" : "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment" : "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "id"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.meta",
"path" : "Bundle.meta",
"short" : "Metadata about the resource",
"definition" : "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.meta",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "Meta"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.implicitRules",
"path" : "Bundle.implicitRules",
"short" : "A set of rules under which this content was created",
"definition" : "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
"comment" : "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.
This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.implicitRules",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "uri"
}
],
"isModifier" : true,
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.language",
"path" : "Bundle.language",
"short" : "Language of the resource content",
"definition" : "The base language in which the resource is written.",
"comment" : "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.language",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "code"
}
],
"binding" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/all-languages"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString" : "Language"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean" : true
}
],
"strength" : "extensible",
"description" : "A human language.",
"valueSetReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/languages"
}
}
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.identifier",
"path" : "Bundle.identifier",
"short" : "Persistent identifier for the bundle",
"definition" : "A persistent identifier for the batch that won't change as a batch is copied from server to server.",
"comment" : "Persistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results, and servers ignore Bundle.identifier when processing batches and transactions. For Documents the .identifier SHALL be populated such that the .identifier is globally unique.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "Identifier"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "w5",
"map" : "id"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.type",
"path" : "Bundle.type",
"short" : "document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection",
"definition" : "Indicates the purpose of this bundle - how it was intended to be used.",
"comment" : "It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types.",
"min" : 1,
"max" : "1",
"type" : [
{
"code" : "code"
}
],
"fixedCode" : "document",
"isSummary" : true,
"binding" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString" : "BundleType"
}
],
"strength" : "required",
"description" : "Indicates the purpose of a bundle - how it was intended to be used.",
"valueSetReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/bundle-type"
}
},
"mapping" : [
{
"identity" : "w5",
"map" : "class"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.total",
"path" : "Bundle.total",
"short" : "If search, the total number of matches",
"definition" : "If a set of search matches, this is the total number of matches for the search (as opposed to the number of results in this bundle).",
"comment" : "Only used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "unsignedInt"
}
],
"condition" : [
"bdl-1"
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.link",
"path" : "Bundle.link",
"short" : "Links related to this Bundle",
"definition" : "A series of links that provide context to this bundle.",
"min" : 0,
"max" : "*",
"type" : [
{
"code" : "BackboneElement"
}
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "Element"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.link.id",
"path" : "Bundle.link.id",
"representation" : [
"xmlAttr"
],
"short" : "xml:id (or equivalent in JSON)",
"definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.link.extension",
"path" : "Bundle.link.extension",
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.link.modifierExtension",
"path" : "Bundle.link.modifierExtension",
"short" : "Extensions that cannot be ignored",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content",
"modifiers"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "BackboneElement.modifierExtension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"isModifier" : true,
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.link.relation",
"path" : "Bundle.link.relation",
"short" : "See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1",
"definition" : "A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).",
"min" : 1,
"max" : "1",
"type" : [
{
"code" : "string"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.link.url",
"path" : "Bundle.link.url",
"short" : "Reference details for the link",
"definition" : "The reference details for the link.",
"min" : 1,
"max" : "1",
"type" : [
{
"code" : "uri"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry",
"path" : "Bundle.entry",
"slicing" : {
"id" : "1",
"discriminator" : [
{
"type" : "profile",
"path" : "resource"
}
],
"ordered" : false,
"rules" : "open"
},
"short" : "Entry in the bundle - will have a resource, or information",
"definition" : "An entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only).",
"min" : 0,
"max" : "*",
"type" : [
{
"code" : "BackboneElement"
}
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "Element"
},
{
"key" : "bdl-8",
"severity" : "error",
"human" : "fullUrl cannot be a version specific reference",
"expression" : "fullUrl.contains('/_history/').not()",
"xpath" : "not(exists(f:fullUrl[contains(string(@value), '/_history/')]))"
},
{
"key" : "bdl-5",
"severity" : "error",
"human" : "must be a resource unless there's a request or response",
"expression" : "resource.exists() or request.exists() or response.exists()",
"xpath" : "exists(f:resource) or exists(f:request) or exists(f:response)"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents",
"path" : "Bundle.entry",
"sliceName" : "sdr-deathRecord-DeathRecordContents",
"short" : "DeathRecordContents",
"definition" : "Defines the contents of a death record document. The content is mapped from the [U.S. Standard Certificate of Death](https://www.cdc.gov/nchs/data/dvs/DEATH11-03final-ACC.pdf).",
"min" : 0,
"max" : "*",
"type" : [
{
"code" : "BackboneElement"
}
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "Element"
},
{
"key" : "bdl-8",
"severity" : "error",
"human" : "fullUrl cannot be a version specific reference",
"expression" : "fullUrl.contains('/_history/').not()",
"xpath" : "not(exists(f:fullUrl[contains(string(@value), '/_history/')]))"
},
{
"key" : "bdl-5",
"severity" : "error",
"human" : "must be a resource unless there's a request or response",
"expression" : "resource.exists() or request.exists() or response.exists()",
"xpath" : "exists(f:resource) or exists(f:request) or exists(f:response)"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.id",
"path" : "Bundle.entry.id",
"representation" : [
"xmlAttr"
],
"short" : "xml:id (or equivalent in JSON)",
"definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.extension",
"path" : "Bundle.entry.extension",
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.modifierExtension",
"path" : "Bundle.entry.modifierExtension",
"short" : "Extensions that cannot be ignored",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content",
"modifiers"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "BackboneElement.modifierExtension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"isModifier" : true,
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.link",
"path" : "Bundle.entry.link",
"short" : "Links related to this entry",
"definition" : "A series of links that provide context to this entry.",
"min" : 0,
"max" : "*",
"contentReference" : "#Bundle.link",
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.fullUrl",
"path" : "Bundle.entry.fullUrl",
"short" : "Absolute URL for resource (server address, or UUID/OID)",
"definition" : "The Absolute URL for the resource. The fullUrl SHALL not disagree with the id in the resource. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that:
* fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)
* Results from operations might involve resources that are not identified.",
"comment" : "fullUrl may not be [unique in the context of a resource](bundle.html#bundle-unique). Note that since [FHIR resources do not need to be served through the FHIR API](references.html), the absolute URL may not end with the logical id of the resource (Resource.id), but if the fullUrl does look like a RESTful server URL (e.g. meets the [regex](references.html#regex), then it SHALL end with the Resource.id.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "uri"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.resource",
"path" : "Bundle.entry.resource",
"short" : "A resource in the bundle",
"definition" : "The Resources for the entry.",
"min" : 1,
"max" : "1",
"type" : [
{
"code" : "Resource",
"profile" : "http://nightingaleproject.github.io/fhirDeathRecord/StructureDefinition/sdr-deathRecord-DeathRecordContents"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.search",
"path" : "Bundle.entry.search",
"short" : "Search related information",
"definition" : "Information about the search process that lead to the creation of this entry.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "BackboneElement"
}
],
"condition" : [
"bdl-2"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "Element"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.search.id",
"path" : "Bundle.entry.search.id",
"representation" : [
"xmlAttr"
],
"short" : "xml:id (or equivalent in JSON)",
"definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.search.extension",
"path" : "Bundle.entry.search.extension",
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.search.modifierExtension",
"path" : "Bundle.entry.search.modifierExtension",
"short" : "Extensions that cannot be ignored",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content",
"modifiers"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "BackboneElement.modifierExtension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"isModifier" : true,
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.search.mode",
"path" : "Bundle.entry.search.mode",
"short" : "match | include | outcome - why this is in the result set",
"definition" : "Why this entry is in the result set - whether it's included as a match or because of an _include requirement.",
"comment" : "There is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "code"
}
],
"isSummary" : true,
"binding" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString" : "SearchEntryMode"
}
],
"strength" : "required",
"description" : "Why an entry is in the result set - whether it's included as a match or because of an _include requirement.",
"valueSetReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/search-entry-mode"
}
}
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.search.score",
"path" : "Bundle.entry.search.score",
"short" : "Search ranking (between 0 and 1)",
"definition" : "When searching, the server's search ranking score for the entry.",
"comment" : "Servers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "decimal"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.request",
"path" : "Bundle.entry.request",
"short" : "Transaction Related Information",
"definition" : "Additional information about how this entry should be processed as part of a transaction.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "BackboneElement"
}
],
"condition" : [
"bdl-3"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "Element"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.request.id",
"path" : "Bundle.entry.request.id",
"representation" : [
"xmlAttr"
],
"short" : "xml:id (or equivalent in JSON)",
"definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.request.extension",
"path" : "Bundle.entry.request.extension",
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.request.modifierExtension",
"path" : "Bundle.entry.request.modifierExtension",
"short" : "Extensions that cannot be ignored",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content",
"modifiers"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "BackboneElement.modifierExtension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"isModifier" : true,
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.request.method",
"path" : "Bundle.entry.request.method",
"short" : "GET | POST | PUT | DELETE",
"definition" : "The HTTP verb for this entry in either a change history, or a transaction/ transaction response.",
"min" : 1,
"max" : "1",
"type" : [
{
"code" : "code"
}
],
"isSummary" : true,
"binding" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString" : "HTTPVerb"
}
],
"strength" : "required",
"description" : "HTTP verbs (in the HTTP command line).",
"valueSetReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/http-verb"
}
}
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.request.url",
"path" : "Bundle.entry.request.url",
"short" : "URL for HTTP equivalent of this entry",
"definition" : "The URL for this entry, relative to the root (the address to which the request is posted).",
"comment" : "E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT, and the URL would be "Patient/[id]".",
"min" : 1,
"max" : "1",
"type" : [
{
"code" : "uri"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.request.ifNoneMatch",
"path" : "Bundle.entry.request.ifNoneMatch",
"short" : "For managing cache currency",
"definition" : "If the ETag values match, return a 304 Not Modified status. See the API documentation for ["Conditional Read"](http.html#cread).",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "string"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.request.ifModifiedSince",
"path" : "Bundle.entry.request.ifModifiedSince",
"short" : "For managing update contention",
"definition" : "Only perform the operation if the last updated date matches. See the API documentation for ["Conditional Read"](http.html#cread).",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "instant"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.request.ifMatch",
"path" : "Bundle.entry.request.ifMatch",
"short" : "For managing update contention",
"definition" : "Only perform the operation if the Etag value matches. For more information, see the API section ["Managing Resource Contention"](http.html#concurrency).",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "string"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.request.ifNoneExist",
"path" : "Bundle.entry.request.ifNoneExist",
"short" : "For conditional creates",
"definition" : "Instruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for ["Conditional Create"](http.html#ccreate). This is just the query portion of the URL - what follows the "?" (not including the "?").",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "string"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.response",
"path" : "Bundle.entry.response",
"short" : "Transaction Related Information",
"definition" : "Additional information about how this entry should be processed as part of a transaction.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "BackboneElement"
}
],
"condition" : [
"bdl-4"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "Element"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.response.id",
"path" : "Bundle.entry.response.id",
"representation" : [
"xmlAttr"
],
"short" : "xml:id (or equivalent in JSON)",
"definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.response.extension",
"path" : "Bundle.entry.response.extension",
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.response.modifierExtension",
"path" : "Bundle.entry.response.modifierExtension",
"short" : "Extensions that cannot be ignored",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content",
"modifiers"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "BackboneElement.modifierExtension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"isModifier" : true,
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.response.status",
"path" : "Bundle.entry.response.status",
"short" : "Status response code (text optional)",
"definition" : "The status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.",
"min" : 1,
"max" : "1",
"type" : [
{
"code" : "string"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.response.location",
"path" : "Bundle.entry.response.location",
"short" : "The location, if the operation returns a location",
"definition" : "The location header created by processing this operation.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "uri"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.response.etag",
"path" : "Bundle.entry.response.etag",
"short" : "The etag for the resource (if relevant)",
"definition" : "The etag for the resource, it the operation for the entry produced a versioned resource (see [Resource Metadata and Versioning](http.html#versioning) and [Managing Resource Contention](http.html#concurrency)).",
"comment" : "Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "string"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.response.lastModified",
"path" : "Bundle.entry.response.lastModified",
"short" : "Server's date time modified",
"definition" : "The date/time that the resource was modified on the server.",
"comment" : "This has to match the same time in the meta header if a resource is included.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "instant"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.response.outcome",
"path" : "Bundle.entry.response.outcome",
"short" : "OperationOutcome with hints and warnings (for batch/transaction)",
"definition" : "An OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.",
"comment" : "For a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "Resource"
}
],
"isSummary" : true
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.signature",
"path" : "Bundle.signature",
"short" : "Digital Signature",
"definition" : "Digital Signature - base64 encoded. XML-DSIg or a JWT.",
"comment" : "The signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific.",
"requirements" : "This element allows capturing signatures on documents. It also allows signatures on messages, transactions or even query responses. It may support content-authentication, non-repudiation or other business cases. This is primarily relevant where the bundle may travel through multiple hops or via other mechanisms where HTTPS non-repudiation is insufficient.",
"min" : 0,
"max" : "1",
"type" : [
{
"code" : "Signature"
}
],
"isSummary" : true
}
]
},
"differential" : {
"element" : [
{
"id" : "Bundle:sdr-deathRecord-DeathRecord",
"path" : "Bundle",
"short" : "SDR DeathRecord Profile",
"definition" : "A document that details information about the death of an individual. The contents correspond to items included in the [U.S. Standard Certificate of Death](https://www.cdc.gov/nchs/data/dvs/DEATH11-03final-ACC.pdf)."
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.type",
"path" : "Bundle.type",
"fixedCode" : "document"
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry",
"path" : "Bundle.entry",
"slicing" : {
"id" : "1",
"discriminator" : [
{
"type" : "profile",
"path" : "resource"
}
],
"ordered" : false,
"rules" : "open"
}
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents",
"path" : "Bundle.entry",
"sliceName" : "sdr-deathRecord-DeathRecordContents",
"short" : "DeathRecordContents",
"definition" : "Defines the contents of a death record document. The content is mapped from the [U.S. Standard Certificate of Death](https://www.cdc.gov/nchs/data/dvs/DEATH11-03final-ACC.pdf)."
},
{
"id" : "Bundle:sdr-deathRecord-DeathRecord.entry:sdr-deathRecord-DeathRecordContents.resource",
"path" : "Bundle.entry.resource",
"min" : 1,
"max" : "1",
"type" : [
{
"code" : "Resource",
"profile" : "http://nightingaleproject.github.io/fhirDeathRecord/StructureDefinition/sdr-deathRecord-DeathRecordContents"
}
]
}
]
}
}


Base class for linear and exponential distances in rectangular pixel images. More...
#include <DistanceModel.h>
Public Member Functions | |
| void | setMax (float maxCodeValue) |
| Set maximum (expected) code value. Radii, if given, will set pixel-to-pixel decrements scaled to this value. | |
| float | getMax () const |
| Returns the maximum (expected) code value. | |
| virtual void | setRadius (float horz, float vert=nan_f, float horzLeft=nan_f, float vertUp=nan_f)=0 |
| Sets the geometry of the distance model. More... | |
| virtual void | setDecrement (float horz, float vert=NAN, float horzRight=NAN, float vertUp=NAN)=0 |
| virtual DistanceElement | getElement (short dx, short dy, bool forward=true) const =0 |
| void | update () |
| void | setTopology (unsigned short topology) |
| Sets the topology of the computation grid: 0=diamond, 1=diagonal, 2=extended (chess knight steps) | |
| virtual void | createChain (DistanceNeighbourhood &chain, unsigned short topology, bool forward=true) const |
| Creates a list of DistanceElements. More... | |
| virtual float | decrease (float value, float coeff) const =0 |
| Public Member Functions inherited from BeanLike | |
| virtual const std::string & | getName () const |
| virtual const std::string & | getDescription () const |
| virtual void | setParameters (const std::string &p, char assignmentSymbol='=', char separatorSymbol=0) |
| Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2". More... | |
| template<class T > | |
| void | setParameters (const std::map< std::string, T > &p) |
| Sets parameters. More... | |
| template<class F > | |
| void | setParameter (const std::string &p, const F &value) |
| Sets a single parameter. | |
| template<class F > | |
| F | getParameter (const std::string &p) const |
| Gets a single parameter. | |
| const ReferenceMap & | getParameters () const |
| ReferenceMap & | getParameters () |
| virtual void | toOStream (std::ostream &ostr) const |
| std::string | toStr () const |
| BeanLike & | operator= (const BeanLike &b) |
Public Attributes | |
| unsigned short int | topology |
Static Public Attributes | |
| static const float | nan_f = std::numeric_limits<float>::quiet_NaN() |
Protected Member Functions | |
| DistanceModel (const std::string &name, const std::string &description="") | |
| Base class for digital distance models. Supports 4-, 8- and extended "chess knight" distance. More... | |
| DistanceModel (const DistanceModel &dm) | |
| Protected Member Functions inherited from BeanLike | |
| BeanLike (const std::string &name, const std::string &description="") | |
| BeanLike (const BeanLike &b) | |
| void | copy (const BeanLike &b) |
Protected Attributes | |
| std::vector< float > | widths |
| parameters["width"], two elements | |
| std::vector< float > | heights |
| parameters["height"], two elements | |
| float | horzDec |
| Final decrement or decay per pixel in horizontal direction. Derived from widths; definition varies in subclasses. | |
| float | horzDec2 |
| float | vertDec |
| Final decrement or decay per pixel in vertical direction. Derived from heights; definition varies in subclasses. | |
| float | vertDec2 |
| float | maxCodeValue |
| Needed internally to get diag decrement larger than horz/vert decrements. (Not used for scaling). | |
| Protected Attributes inherited from BeanLike | |
| const std::string | name |
| const std::string | description |
| ReferenceMap | parameters |
Base class for linear and exponential distances in rectangular pixel images.
|
inlineprotected |
Base class for digital distance models. Supports 4-, 8- and extended "chess knight" distance.
Sets the horizontal and vertical radius for the distance function. The parameters are called "width" and "height"
By default, the geometry is octagonal, applying 8-distance.
|
virtual |
Creates a list of DistanceElements.
Diagonal (dx+dy) and "chess knight" (2dx+dy or dx+2dy) values will be adjusted as well.
|
pure virtual |
Set the distance geometry directly by modifying decrement/decay coefficients. Alternative to setRadus(). Set final decrement or decay per pixel. The exact definition varies in subclasses; the decay may be linear decrement as with DistanceModelLinear or multiplicative as with DistanceModelExponential .
| horz | - horizontal distance decrement/decay |
| vert | - vertical distance decrement/decay; if NaN, set equal to horz |
| horzLeft | - horizontal distance decrement/decay; if NaN, set equal to horz |
| vertUp | - vertical distance decrement/decay; if NaN, set equal to vert |
Special values:
Implemented in DistanceModelExponential, and DistanceModelLinear.
|
pure virtual |
Sets the geometry of the distance model.
The values are in float, as eg. half-width radius may be sharp, under 1.0.
| horz | - horizontal distance, "width". |
| vert | - vertical distance, "height"; if negative, set equal to horizontal |
Special values:
horz
for vert
and horzRight
; vert
for )Implemented in DistanceModelExponential, and DistanceModelLinear.


WITNESS LIST Pensions & Investments Committee March 1, 2005-8:00A HB 70 For: Carter, Janis (Texas Funeral Directors Association) On: Henderson, Chris (Comptroller Carole Keeton Strayhorn) Nail, William S. (Employees Retirement System of Texas) HB 330 - Committee Substitute (Griggs/CSHB 330) For: Bass, Barbara (Self) Cantrell, Carol A. (Self) Finston, Felicia (Self) Owen, Bob (Texas Society of CPAs) HB 633 For: Carrizal, Shain (Harris County/Human Resources and Risk Management) Durant, Larry (Harris County/Human Resources and Risk Management) Registering, but not testifying: On: Harrison, Tom (Texas County & District Retirement System) Kryeger, Tom (Texas County & District Retirement System) HB 829 On: Boatright, David (Office of the Attorney General) Nail, William S. (Employees Retirement System of Texas) HB 939 For: Davidson, Mark (Self) Enoch, Craig (Self) Hedges, Adele (Self) On: McConkle, Lamar (Judicial Section) Nail, William S. (Employees Retirement System of Texas) Registering, but not testifying: For: Nabers, Lynn (Alliance for Judicial Funding Inc.) HB 1114 For: Enoch, Craig (Self) Hedges, Adele (Self) Mark, Davidson (Self) On: McConkle, Lamar (Judicial Section) Nail, William S. (Employees Retirement System of Texas) Registering, but not testifying: For: Nabers, Lynn (Alliance for Judicial Funding Inc.) State Securities Board On: Crawford, Denise Voight (State Securities Board)


Brandon Cebulak
11/12/2017
I chose Helio because,
I love to code
Helio is associated with Neaumont University
Helio's choice of full-stack technologies are bleeding edge
New tech warrants boot camp style training
React
NodeJS
Firebase
MongoDB
I am most excited to learn...
React


But he can't be blamed,
He's only a pawn in their game.
A South politician preaches to the poor white man:
You got more than the blacks, don't complain!

And the Negro's name
Is used, it is plain,
For the politician's gain,
As he rises to fame
And the poor white remains
On the caboose of the train.
But it ain't him to blame,
He's only a pawn in their game.
The deputy sheriffs, the soldiers, the governors get paid,
And the marshals and cops get the same.
But the poor white man's used in the hands of them all like a tool.
He's taught in his school
From the start by the rule
That the laws are with him,
To protect his white skin,
To keep up his hate,
So he never thinks straight
'Bout the shape that he's in.
But it ain't him to blame,
He's only a pawn in their game.
From the poverty shacks, he looks from the cracks to the tracks
And the hoof-beats pound in his brain.
And he's taught how to walk in a pack,
Shoot in the back
With his fist in a clinch,
To hang and to lynch,
To hide 'neath a hood,
To kill with no pain.

But it ain't him to blame,
He's only a pawn in their game.
Today Medgar Evers was buried from the bullet he caught.
They lowered him down as a king,
But, when the shadowy sun sets on the one
That fired the gun,
He'll see by his grave
On the stone that remains,
Carved next to his name,
His epitaph plain:
"Only a Pawn in Their Game."


1st chart shows data as well as estimated gaussian centers
2nd chart compares simulated (true) state with the estimated state probability
3rd chart shows step-by-step convergence of estimated state transitions (diagonal elements)
4th chart shows step-by-step convergence of estimated gaussian mean coordinates


I moved to Cape Town, South Africa, about a year ago to take up a Job with a FinTech company that does cross border post graduate student loans. I moved from Bloemfontein, South Africa, which is technically classified as a City but if you don’t slow down on your road past Bloemfontein on the N1 high way from Cape Town to Pretoria you will pass the entire city in under 5 mins.
What a change it was to come and live in the beautiful city of Cape Town! With no traffic and optimal conditions, it takes me 36 minutes to drive to work from my house on the same N1 that you pass Bloemfontein by in 5 minutes.
I worked for a small software development house start up that serviced mostly UK clients, at the time of my employment, for the last 4 years before leaving Bloemfontein. We had a small team of 7 developers, and everyone was pretty much working on their own projects or jumping across projects. I was the most senior software developer in the company with the most ruby experience as well, how mis guided I was with the falsely named position…
I have since learned there is so much more that goes into a role like that, more than I could have ever been exposed to in that mini city.
I spent most of my life in Bloemfontein, growing up there, going to school, meeting my wife, getting married and working, never knowing how much more is out there in our country.
So on the 5th of March 2018 I started my new job as a Software Engineer at Prodigy Finance in Cape Town. This being a much larger company than I have ever worked for with a large tech team and, what I have learned since then is not that many, team of about 40 software engineers.
To say the least I was lost on my first day and my first week and my first month. This was the first time I was working in a SCRUM team that was responsible for a specific service with all the traditional SCRUM ceremonies.
I probably spent my first month just going through architecture documentation, speaking to all the teams, understanding all the services and understanding what our service does. I would love to say that I quickly understood the intricacies of the micro service we were responsible for, but it took at least another 6 months to understand how our unique credit risk system worked.
Starting this new job, I was very conscious of not letting these city people see the real me that comes from this mini city and that was overwhelmed by this big city. I wanted it to seem the I was used to this big team, big city and collaborative work environment.
I soon figured out that trying to hide who I really was is the biggest mistake that I could possibly make, luckily for me I was placed in a very understanding and already matured team, which upon opening up to about these things and what I need to get better at and learn they were able to guide me towards setting goals that would later on prove instrumental in my career at Prodigy.
What I learned out of this was that you should always be yourself, but still be open to learning new things and adapting where needed, but never suppressing who you really are.
All of this prepared me for the inevitable scenario in any growing FinTech, which is the churn of engineers and the splitting of teams. As fate will have it, I ended up with a new team, myself with two new engineers and a new product owner on an old credit risk system, but I will tell you more about this in my next post!


This page provides answers to Frequently Asked Questions (FAQs) on the preparation and submission of Interim National Report on the Implementation of the Nagoya Protocol.
In decision NP-1/3, paragraph 4, the Conference of the Parties serving as the meeting of the Parties to the Nagoya Protocol (COP-MOP) requests Parties to the Protocol to submit an interim national report on the implementation of the Nagoya Protocol, as called for under Article 29 of the Protocol, twelve months prior to the third meeting of the COP-MOP. The decision also welcomes submissions of relevant information by Non-Parties. Accordingly, Parties and Non-Parties are invited to submit to the Secretariat their interim national report, through the ABS Clearing-House, as soon as possible and no later than 1 November 2017.
Article 29 of the Nagoya Protocol provides that each Party shall monitor the implementation of its obligations under the Protocol, and shall, at intervals and in the format to be determined by the Conference of the Parties serving as the meeting of the Parties to the Protocol (COP-MOP), report to the COP-MOP on measures that it has taken to implement the Protocol.
The information received through these reports will assist the COP-MOP in reviewing the implementation of the Nagoya Protocol and to make the decisions necessary to promote its effective implementation. Information submitted through the interim national report, as well as through the ABS Clearing-House, will be taken into account by the Executive Secretary in the preparation of documentation for consideration by the Compliance Committee, the second meeting of the Subsidiary Body on Implementation, and the third meeting of the COP-MOP.
The report is submitted online through the ABS Clearing-House at the following address: absch.cbd.int/register/NR/new.
In order to make national information available on the ABS Clearing-House, countries first need to designate a publishing authority. Countries that have not yet designated their publishing authority are kindly requested to do so at their earliest convenience. The designation can be done by the national focal point on access and benefit-sharing, online using the ABS Clearing-House or offline by completing the following nomination form, and sending it to the CBD Secretariat (secretariat@cbd.int).
Yes, Non-Parties are encouraged to submit their interim national reports and publish relevant information in the ABS Clearing-House under the same conditions as Parties.
When preparing the report, it is recommended that countries involve all relevant stakeholders in order to ensure a participatory and transparent approach to its development. In addition, countries are:
When online submissions are technically not feasible Parties may submit their interim national reports offline. Offline submissions should use MS Word format found here: absch.cbd.int/commonformats. It is recommended that countries send the report via email to the Secretariat (secretariat@cbd.int), and include a scanned copy of the last page signed by the ABS Clearing-House publishing authority.
The form consists of a series of questions mainly focused on those provisions of the Protocol that establish obligations for the Parties to the Protocol. These questions are identified as mandatory and are marked with an asterisk. Each question is structured to select “Yes” or “No” (or in some cases, “Not applicable”). Generally, these questions are followed by text-boxes where countries are encouraged to provide details on the measures taken as well as to report on difficulties and challenges to implement particular provisions. You can also provide further information on the issue by linking to existing ABS Clearing-House records, websites or uploading documents. Your responses in the text-boxes should be as relevant, succinct and clear as possible.
Some questions are not strictly based on the provisions of the Protocol and are identified as voluntary. They will contribute to the assessment and review of the effectiveness of the Protocol in the context of Article 31 and to identify challenges and difficulties in implementing the Protocol.
The report may be submitted in any of the six official languages of the United Nations: Arabic, Chinese, English, French, Russian, and Spanish.
The CBD Secretariat is available to provide support for the publication of information in the ABS Clearing-House and to assist in the submission of the interim national report.
Step-by-step instructional guides on how to publish information in the ABS Clearing-House, including the interim national report, can be downloaded here: absch.cbd.int/guides.
For any questions or assistance, please contact<EMAIL_ADDRESS>Yes. The Executive Secretary welcomes any comments on the adequacy of the questions and difficulties in completing the questions, and any further recommendations on how these reporting guidelines could be improved.
For more information please see the following notification: GEF Support for the Preparation of the Interim National Reports on the Implementation of the Nagoya Protocol
Eligible Parties may contact:
Alex Owusu-Biney
Portfolio Manager, GEF Coordination
Division of
Environmental Policy Implementation
United Nations Environment Programme (UNEP)
P.
O. Box 30552 - 00100, Nairobi, Kenya
Tel: +254 20 7624066
Fax: +254 20 7624041/42
Email: Alex.Owusu-Biney@unep.org


EXCLUSIVE: The Legion of Doom Won't Let Superman Surrender in Action Comics
by L.D. NolanEmpowered by Perpetua, Lex Luthor and the Legion of Doom have done major damage to the Justice League. Brian Michael Bendis and John Romita Jr.'s Action Comics #1017 will continue exploring the conflict between the two groups, and DC has provided CBR with an exclusive preview showing Superman attempting -- and failing -- to surrender.
In the exclusive preview, which you can see below alongside the solicitation information, Superman attempts to surrender to the Legion of Doom, though they reject the notion, not believing the Man of Steel will actually quit. Instead, what they want is "genuine surrender."
Action Comics #1017
- written by BRIAN MICHAEL BENDIS
- art by JOHN ROMITA JR.
- cover by JOHN ROMITA JR., KLAUS JANSON and BRAD ANDERSON
- “Invisible War” part one! It’s one of the biggest creator reunions in years as writer Brian Michael Bendis and artist John Romita Jr. join forces for the first time since their blockbuster turns on Avengers and Avengers Vs. X-Men. In this issue, it’s all-out war on the streets of Metropolis-and at the end of this epic there will be a huge change to the status quo of the world of Superman-you do not want to miss this!
- ON SALE 11.27.2019
- $3.99 US | 22 PAGES
- FC|DC
Action Comics #1017 releases Nov. 27.
https://schema.orgBreadcrumbListListItem1Homehttps://www.cbr.com/ListItem2Comicshttps://www.cbr.com/category/comics/ListItem3Comic Newshttps://www.cbr.com/category/comics/news/ListItem4EXCLUSIVE: The Legion of Doom Won't Let Superman Surrender in Action Comicshttps://www.cbr.com/legion-doom-wont-let-superman-surrender/


Tell us how can we improve?
First name:
Last name:
Email:
Date joined :
You got to know about the site from..
Please select a rating out of five which most descibes your experience:
Any other comments: