{% extends "base.html" %} {% load i18n %} {% block meta_title %} {% blocktrans with site_name=site.site_name %} Contribute to {{ site_name }} {% endblocktrans %} {% endblock %} {% block meta_description %}{% trans "Join us in building a unique national knowledge repository on rural India. We need writers, editors, photographers, filmmakers, translators, researchers, and more." %}{% endblock %} {% block opengraph_block %} {% include "core/includes/media_sharing_meta.html" with title="India’s biggest archive of itself needs everyone to participate" description="Join us in building a unique national knowledge repository on rural India. You can start by telling us something about yourself." url=request.get_full_path type="url" image_url=STATIC_URL|add:"img/share_faces_collage.jpg"%} {% endblock %} {% block extra_css %} {% endblock %} {% block main %}
{% trans "COVER YOUR COUNTRY – HERE’S HOW" %}
{% trans "Join us in building a unique national knowledge repository on rural India." %}
{% trans "You can start by telling us something about yourself." %}
{% trans "Fill the profile form" %}{% trans "CONTRIBUTE CONTENT" %}
{% trans "Write / Edit / Photograph" %}
{% blocktrans trimmed %}You could write content for existing films or edit content that has been written but needs the careful eye of an editor. You can also write independent content for our print section. You could translate the subtitles of films on PARI into other languages. Having those in as many Indian languages as possible is a major objective. You can also translate other written content into different languages.{% endblocktrans %}
{% trans "Make a film" %}
{% blocktrans trimmed %}You can produce content for the archive by making films like the ones you already see on this website, so long as these are within PARI’s mandate and objectives. Get in touch with us to know what would be suitable for the archive. The basic principle: it’s got to be on the everyday lives of everyday people in rural India. Share your ideas about what topics/ areas you wish to make a film on. We can take it further from there. Know that you can record content for PARI on your cell phone camera. Please share your audio/video clip links through this Content Upload Form.{% endblocktrans %}
{% trans "Research" %}
{% blocktrans trimmed %}Find online content already on the archive and send us links to it. Or research a vital topic – for instance, the lives of agricultural labourers in rural India – and collaborate with us on building a fund of information, photographs and data on that subject. Besides, you can send us any studies or reports in electronic form which you know of and that are relevant to rural India. Have a look at PARI's 'Resources' section to know what’s already there and get a better idea of what we’re looking for. Do share any relevant reports you find through this Content Upload Form.{% endblocktrans %}
{% trans "Translate" %}
{% blocktrans trimmed %}Help us by translating content into Indian languages. Please help us understand your skills and interests by filling in this Profile Form.{% endblocktrans %}
{% trans "FACES" %}
{% blocktrans trimmed %}Do you have FACES to contribute to the only and largest database recording India’s facial diversity?{% endblocktrans %}
{% trans "Contribute to Faces" %}{% trans "READY TO UPLOAD?" %}
{% url "static_page" slug="guidelines" as guidelines %}{% blocktrans trimmed %}Is your content ready to upload? Do go through the PARI content guidelines to ensure you know what’s required.{% endblocktrans %}
{% trans "Upload content" %}{% trans "DONATE – SUPPORT A PARI PROJECT" %}
{% blocktrans trimmed %}You can back ongoing PARI projects by funding them. Or pitch one yourself on an aspect of rural India from your home state or district that you believe demands attention.{% endblocktrans %}
{% trans "Donate to PARI" %}


TweeTextField
This is lightweight library that provides different types of Text Fields based on your needs. I was inspired by Jan Henneberg.
Features
- [x] Customizable placeholder
- [x] Customizable label under text field
- [x] Customizable via Attributes Inspector
- [x] Nice animation for placeholder
- [x] Nice animation for bottom line
- [x] No override of UITextField’ behaviors
- [x] Clean code with divided functionalities
- [x] Easy to use and extend
- [x] Right-to-Left support
- [x] Complete documentation and support
Requirements
- iOS 10.0+
- Xcode 11.0+
- Swift 5.0+
Installation
CocoaPods
To integrate TweeTextField
into your Xcode project using CocoaPods, specify it in your Podfile
:
pod 'TweeTextField'
Then run pod install
to integrate the library in your project.
Swift Package Manager
Adding TweeTextField to the dependencies value of your Package.swift
file.
// swift-tools-version:5.0
import PackageDescription
let package = Package(
name: "YOUR_PROJECT_NAME",
dependencies: [
.package(url: "https://github.com/oleghnidets/TweeTextField.git", from: "1.6.1"),
]
)
Or you may use Xcode. File
->Swift Packages
->Add Package Dependency
. Then put link to the repository.
Carthage
To integrate TweeTextField
into your Xcode project using Carthage, specify it in your Cartfile:
github "oleghnidets/TweeTextField"
Run carthage update
to build the framework and drag the built TweeTextField.framework
into your Xcode project. More info you can find on official page.
Manually
- Download the code.
- Drag and drop sources in your project.
- Import the library in code by
import TweeTextField
.
Usage
Check out the documentation for more details.
Select one of the text fields provided based on your requirements. In general, you can use TweeAttributedTextField
. It is a main class with aggregated functionalities of other text fields.
Look at class diagram:
TweePlaceholderTextField
has a customized placeholder label which has animations on the beginning and ending editing.TweeBorderedTextField
shows a bottom line permanently.TweeActiveTextField
shows animated bottom line when a user begins editing.TweeAttributedTextField
shows the custom info label under text field.
You can set up text field based on your preferences via Attributes Inspector. Also the library has some properties accessible for you. Check out sample project for more information.
emailTextField.infoTextColor = .yellow
emailTextField.showInfo("Hello World!", animated: true)
usernameTextField.lineColor = .green
usernameTextField.lineWidth = 2
Communication
- If you want to contribute, submit a pull request.
- If you found a bug, have suggestions or need help, please, open an issue.
- If you need help, write me<EMAIL_ADDRESS>License
Distributed under the MIT license. See LICENSE for more information.


• Locate your device below.
• Save the image to your device.
• Save/move the image to whichever theme folder you're using. Example:
MacBook Gray - /Library/Laetus/Themes/MacBook Gray/Images/
• Rename the image, using the names below. Example:
<EMAIL_ADDRESS>This will replace the current default image for this layout. You won't be able to use multiple language layouts. (Until I can find a way around this).
<EMAIL_ADDRESS>KeyboardLettersKeyPlaneLandscape-896h@2x.png


Introduction
This widespread compromise of a large UK company's internal network originated from an exploit hosted on their externally-managed corporate website. This was achieved as a result of poor security practices by the website provider. The attackers used a commonly available RAT to gain information about the internal network and control a number of computers. The widespread malware infection took extensive effort to eradicate and remediate.
How it happened: the technical details
As part of their survey of the victim's network and services, attackers discovered that the corporate website
was hosted by a service provider, and it contained a known vulnerability. In the survey stage of the attack on
the service provider, the attackers exploited this vulnerability to add a specialised exploit delivery script to
the corporate website.
The script compared the IP addresses of the website's visitors against the IP range used by the company. It
then infected a number of computers within the company, taking advantage of a known software flaw, to
download malware to the visitor's computer within a directory that allowed file execution.
Over 300 computers were infected during the delivery stage with remote access malware. The malware then
beaconed and delivered network information to attacker-owned domains. The attackers were eventually
detected early in the affect stage. By this time they had installed further tools and were consolidating their
position, carrying out network enumeration and identifying high value users.
Whilst the compromise was successful, it was detected through network security monitoring, and a welldefined incident response plan made it possible to investigate the incident using system and network logs,
plus forensic examinations of many computers.
To eradicate the discovered infection it was necessary, at great cost, to return the computers to a known
good state. Further investigation was also required to identify any further malware that could be used to
retain network access. To prevent further attacks through the same route, the contract terms with the
website provider needed to be renegotiated, to ensure they had similar security standards to the targeted
organisation.
Capabilities, vulnerabilities and mitigations
The attackers used a combination of automated scanning tools, exploit kits and technology-specific attacks
to compromise the organisation. They took advantage of a known software flaw and the trust relationship
between the company and its supplier.
The intensive and costly investigation and remediation of the compromise could have been averted by more
effective implementation of the following cyber security controls:
-
patching - the corporate website would have not been compromised, nor would the malware
download script have succeeded, had patching on both the web server and users’ computers been
up to date
-
network perimeter defences - the malware could have been prevented from being downloaded and
the command and control might not have succeeded with the use of two-way web filtering, content
checking and firewall policies (as part of the internet gateway structure)
-
whitelisting and execution control - unauthorised executables such as the exploration tools would
have been unable to run if the company's corporate computers were subject to whitelisting and
execution control (this could also prevent applications from being able to run from the temporary or
personal profile folders)
-
security monitoring - may have detected the compromise at an earlier stage
Original source: Common Cyber Attacks: Reducing The Impact, GCHQ Communications-Electronics Security Group, 2015, pp. 14 - 15.


This table contains entries for the oestrogen receptors in the UniProt database, as well as for the oestrogen-related proteins and the other members of the nuclear receptor family. Links are provided to view the original protein entries.


Set of translators for characters, HTML Elements, and their combinations.
This blog post explains how to get UTF-8 support in the whole tool chain. Updates will be at the SKB Wiki on UTF-8.
When dealing with multiple targets (for instance LaTex, AsciiDoc, and HTML), character translation can become a nightmare. When defining the format of a normative source, all source representations must be translated to the required target representations.
Those translations can be very tricky, since they might require many target-specific exceptions.
Use the SKB data for character maps and HTML Elements (SKB on Github) plus the SKB DataTool (DataTool on Github) to generate several translators that (hopefully) will ease the translation problems described above. The SKB data provides for character maps and HTML Element maps. Those maps are then used by the SKB DataTool to generate several Java classes with pre-defined mappings for this package.
There are three assumptions to translate a normative text as source to a target: characters, text formatting, and a combination of both.
We assume that all characters are written in UTF-8. For instance, to write a German umlaut {@code ö} one would one simply write ö. Those UTF-8 characters will need then to be translated to a proper target representation.
For any other UTF-8 bases target, the example {@code ö} will just be the same: ö. If the target requires a different representation, we need to translate the {@code ö} to the target, e.g.:
This package provides character translators for doing exactly that.
Beside characters, the normative text source should also include standard formatting of text, such as bold and italic. Simple text markup languages (such as AsciiDoc) and LaTeX use tags that are very hard to parse. HTML however uses formatting tags that can be easily parsed and translated.
For instance, to mark text as bold in HTML one would use {@code } and {@code }. Using this HTML markup, we can write text for instance as follows:
This package provides translators for doing exactly that.
When combining both, character and text formatting translations, a few special cases do apply. If we would simply translate all characters from source to target we would lose the text formatting.
For instance, the text
ä ö üwould be translated to LaTeX as
\"{a} \"{o} \textlessb\textgreater\"{u}\textless/b\textgreater
To keep the text formatting, we first need to convert those formatting markups into a representation that is not picked up by the simple character translation (a temporary form), then realize the character translation, and then translate the temporary form of the formatting markup to the target representation. This package provides translators for doing exactly that, resulting in a translated text of:
\"{a} \"{o} \textbf{\"{u}}
As mentioned above, the character and formatting translators are automatically generated. While the data source (https://github.com/vdmeer/skb[SKB on Github]) defines quite a few translations, it also might (will) miss some required translations. Over time, we hope that all required translations will be defined in the data source.
This package provides three different types of translators, each providing different translation classes for different target:
Character translators all provide a method {@code translateCharacters(String input)} translating all source character representations found in {@code input} to a target representation. The translations provided currently are:
HTML Element translators all provide methods for:
The translations provided currently are:
Combined translators provide all methods from the two above described translator interaces plus a method for a combined translation called {@code translate(String input)}.
The translations provided currently are:
The following code will take a given string with some UTF-8 characters and translate it to a number of targets. The first line creates a UTF-8 string. The following lines print out translations to AsciiDoc, HTML, and LaTeX.
{@code String text = "ä ö ü Š β … € ™ ↔"; System.out.println(new Text2AsciiDoc().translateCharacters(text)); System.out.println(new Text2Html().translateCharacters(text)); System.out.println(new Text2Latex().translateCharacters(text)); }
The output of the example will be as follows. Line one below shows the translation to AsciiDoc. Line two shows the translation to HTML. Line three shows the translation to LaTeX.
ä ö ü Š β … € ™ ↔ ä ö ü Š β … € ™ ↔ \"{a} \"{o} \"{u} \v{S} \beta {\dots} {\euro} {\texttrademark} \(\leftrightarrow{}\)
The following code will take a given string with some formatting (HTML Elements) and translate it to a number of targets. The first line creates a string with HTML Elements used for formatting. The following lines print out translations to AsciiDoc, HTML, and LaTeX.
{@code String text = "bold, italic, H2O, xy"; System.out.println(new de.vandermeer.translation.helements.Text2AsciiDoc().translateHtmlElements(text)); System.out.println(new de.vandermeer.translation.helements.Text2Html().translateHtmlElements(text)); System.out.println(new de.vandermeer.translation.helements.Text2Latex().translateHtmlElements(text)); }
The output of the example will be as follows. Line one below shows the translation to AsciiDoc. Line two shows the translation to HTML. Line three shows the translation to LaTeX.
*bold*, _italic_, H_2O, x^y bold, italic, H2O, xy \textbf{bold}, \textit{italic}, H$_{2}$O, x$^{y}$
The following example will take a given string with character and formatting and translate it to a number of targets. The first line has the actual string with combined elements. The following lines print out translations to AsciiDoc, HTML, and LaTeX.
{@code String text = "bold ä ö ü, italic Š β …, €5O, ™↔"; System.out.println(new de.vandermeer.translation.combinations.Text2AsciiDoc().translate(text)); System.out.println(new de.vandermeer.translation.combinations.Text2Html().translate(text)); System.out.println(new de.vandermeer.translation.combinations.Text2Latex().translate(text)); }
The output of the example will be as follows. Line one below shows the translation to AsciiDoc. Line two shows the translation to HTML. Line three shows the translation to LaTeX.
*bold ä ö ü*, _italic Š β …_, €_5O, ™^↔ bold ä ö ü, italic Š β …, €5O, ™↔ \textbf{bold \"{a} \"{o} \"{u}}, \textit{italic \v{S} \beta {\dots}}, {\euro}$_{5}$O, {\texttrademark}$^{\(\leftrightarrow{}\)}$


simphony.core package¶
Submodules¶
simphony.core.base module¶
-
class
simphony.core.base.
ComponentInstance
(model=None, nets=None, extras=None)[source]¶ Bases:
object
Create an instance in a circuit of an existing ComponentModel.
An ComponentInstance is a representation of an unique instance of a device within a circuit or schematic. For example, while a resistor has a ComponentModel, R1, R2, and R3 are instances of a resistor.
Notes
Other values can be passed in as “extras”. Extras are passed to the model’s get_s_parameters() as keyword arguments. For example, a waveguide needs these values to properly calculate its s-parameters: length : float
Total waveguide length.
- widthfloat
Designed waveguide width in microns (um).
- thicknessfloat
Designed waveguide thickness in microns (um).
- radiusfloat
The bend radius of waveguide bends.
-
get_s_parameters
()[source]¶ Get the s-parameters from the linked ComponentModel.
This function simply calls the linked model’s ‘get_s_parameters()’ with ‘extras’ as the keyword arguments.
- Returns
A tuple containing the frequency points as an array and the s-parameters corresponding to each frequency point as a matrix.
- Return type
freq, s_params
-
class
simphony.core.base.
ComponentModel
[source]¶ Bases:
object
The base class for all component models.
This class represents the model for some arbitrary type of component, but not an actual instance of it. For example, a ring resonator is a ComponentModel, but your layout may have multiple ring resonators on it; those are represented by ComponentInstance.
-
component_type
¶ A read-only property that returns the class name of the model (class names should be descriptive of the model).
- Type
str
-
ports
¶ The number of ports this component has.
- Type
int
-
s_parameters
¶ If cachable, s_parameters is a tuple of the form ([frequency array], [s-parameter matrix]). If not cachable, the s-parameters must depend on some number of arguments; hence, s-parameters should be reassigned to some function that can take any number of arguments.
- Type
tuple, callable
-
cachable
¶ A boolean value. If cachable, s-parameters will only be calculated once during simulation, and reused for each component instance. If not cachable, the parameters stored within each component instance will be used to recalculate the s-parameters each time using the now-defined s_parameters() function.
- Type
bool
Examples
Creation of a cachable component model:
>>> @register_component_model ... class RingResonator(ComponentModel): ... ports = 4 ... s_parameters = s_params ... cachable = True
Creation of a non-cachable component model:
>>> def new_s_parameters(self, length, width, thickness, **kwargs): ... # return some calculation based on parameters >>> @register_component_model ... class Waveguide(ComponentModel): ... ports = 2 ... s_parameters = new_s_parameters ... cachable = False
>>> @register_component_model ... class Waveguide(ComponentModel): ... ports = 2 ... def s_parameters(self, length, width, thickness, **kwargs): ... # return some calculation based on parameters ... cachable = False
-
cachable
= False
-
component_type
= 'ComponentModel'
-
classmethod
get_s_parameters
(**kwargs)[source]¶ Returns the s-parameters of the device.
Usually, each ComponentModel has an s_parameters attribute when the class is defined. When get_s_parameters is called, it simply returns the frequency and s-parameter matrices that were defined. This is only true if the model is ‘cachable’. If not, then s_parameters should be overridden. Simply write a function that returns or calculates the s-parameters for the device (keyword arguments are allowed), and then reassign the s_parameters reference of the class. get_s_parameters() will then call that function with the parameters available in each ComponentInstance object.
- Parameters
**kwargs – Derived models may require keyword arguments. See the documentation for the models you are using.
- Raises
NotImplementedError – If the ComponentModel is not cachable and ‘s_parameters’ has not been assigned as a function.
- Return type
(<built-in function array>, <built-in function array>)
-
ports
= 0
-
s_parameters
= None
-
-
class
simphony.core.base.
classproperty
(fget)[source]¶ Bases:
object
Read-only @classproperty decorator. Allows using class names for models as a property.
Solution from https://stackoverflow.com/questions/128573/using-property-on-classmethods/13624858#13624858
simphony.core.connect module¶
Code for s-parameter matrix cascading uses the scikit-rf implementation. Per their software license, the copyright notice is reproduced below:
Copyright (c) 2010, Alexander Arsenovic All rights reserved.
Copyright (c) 2017, scikit-rf Developers All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the scikit-rf nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
  The resultant network has nports = (A.rank + B.rank-2). This function operates on, and returns s-matrices. The function
connect()
operates onNetwork
types. :param A: S-parameter matrix of A, shape is fxnxn :type A:numpy.ndarray
:param k: port index on A (port indices start from 0) :type k: int :param B: S-parameter matrix of B, shape is fxnxn :type B:numpy.ndarray
:param l: port index on B :type l: int- Returns
C – new S-parameter matrix
- Return type
numpy.ndarray
Notes
internally, this function creates a larger composite network and calls the
innerconnect_s()
function. see that function for more details about the implementationSee also
connect()
operates on
Network
typesinnerconnect_s()
function which implements the connection connection algorithm
-
simphony.core.connect.
innerconnect_s
(A, k, l)[source]¶ connect two ports of a single n-port network’s s-matrix. Specifically, connect port k to port l on A. This results in a (n-2)-port network. This function operates on, and returns s-matrices. The function
innerconnect()
operates onNetwork
types. :param A: S-parameter matrix of A, shape is fxnxn :type A:numpy.ndarray
:param k: port index on A (port indices start from 0) :type k: int :param l: port index on A :type l: int- Returns
C – new S-parameter matrix
- Return type
numpy.ndarray
Notes
The algorithm used to calculate the resultant network is called a ‘sub-network growth’, can be found in 1. The original paper describing the algorithm is given in 2.
References
- 1
Compton, R.C.; , “Perspectives in microwave circuit analysis,” Circuits and Systems, 1989., Proceedings of the 32nd Midwest Symposium on , vol., no., pp.716-718 vol.2, 14-16 Aug 1989. URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=101955&isnumber=3167
- 2
Filipsson, Gunnar; , “A New General Computer Algorithm for S-Matrix Calculation of Interconnected Multiports,” Microwave Conference, 1981. 11th European , vol., no., pp.700-704, 7-11 Sept. 1981. URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4131699&isnumber=4131585
simphony.core.netlist module¶
-
class
simphony.core.netlist.
Netlist
(components=None)[source]¶ Bases:
object
Represents a netlist.
Maintains a list of connected components as well as a net counter for automatically assigning id’s to connections as they are made.
Notes
The convention for net id numbering follows these rules: * All non-negative integers are considered internal nets connecting
components to each other within the netlist.
All negative integers are external nets that will be considered the inputs or outputs when a simulation is run on the netlist. Other components or netlists can be connected to these external ports.
Numbers are never skipped; if a number is missing, the netlist is corrupted and will not work properly.
-
add_component
(component)[source]¶ Allows for components (instances) to be added manually to the netlist.
Note that this function performs no error checking; hence, it is the responsibility of the user to ensure that net numbering is accurate and not duplicating net id’s already used in the netlist.
- Parameters
component (ComponentInstance) – A pre-initialized component instance.
-
load
(data, formatter='ll')[source]¶ Loads formatted component data into a netlist.
- Parameters
data – The data to be loaded into the netlist.
format (str) – Specification for the way the data is formatted.
can be any one of the following ('format') –
===== (=====) –
description (string) –
----- (-----) –
(list of lists) ('ll') –
===== –
-
property
net_count
¶ Returns the number of internal nets in the Netlist.
Finds the number of internal nets by iterating through the components and finding the max net number. Since internal net id’s are assigned beginning from ‘0’, the total number of nets is always max(nets) + 1.
- Returns
The total count of internal nets.
- Return type
int
Module contents¶
-
simphony.core.
deregister_component_model
(name)[source]¶ Deregisters a component model from simphony.core.
This method is provided in case a model was created but needs to be updated, overridden, or deleted. For example, if two models have the same name, the one you don’t want to use should be deregistered (since registered model names must be unique).
-
simphony.core.
register_component_model
(cls)[source]¶ Registers a component model with simphony.core.
This allows the program to track models and prevent duplicate names. This also allows all imported models to be accessible throughout the lifetime of the program simply by referencing their class name. When classes are registered, simple error checking is performed to ensure all required properties are present and that the model will not cause problems later in the simulation.
This function is usually used as a decorator to a model class.
- Parameters
cls (class) – The component model class to be registered.


Photography Competitions
Photo Walks
| Event/Group | Fees |
|---|---|
| Portrait Photowalk by Himanshu Joshi and Sanjeev Verma |
You can get the list on your mail by typing your mail id Click Show the list
| Event/Group | Fees |
|---|---|
| Portrait Photowalk by Himanshu Joshi and Sanjeev Verma |


Plugin Information |
|---|
View FlashLog on the plugin site for more information. |
Captures Adobe Flash Player logs during a Hudson build in order to save them as build artifacts. Useful to debug unit tests or integration tests.
Description
This plugin hooks up to the location where Flash Player is storing the logs and records only what has been logged during a Jenkins build.
Clicking on flashlog.txt will give you the logs:
Note
Make sure you install the debugger version of the Flash Player, otherwise Flash Player won't log anything.
Plugin configuration options
At job level
At node level
In very rare cases in which the plugin might not identify the exact location where Flash is recording the logs, you can define a custom path to the flashlog.txt file.
And you can also opt not to save the logs for some nodes, even if the project is configured to save the logs.
Attachments:
flashlog_global_flashlog_config.jpg (image/jpeg)
flashlog_global_disablenode.jpg (image/jpeg)
flashlog_artifact.jpg (image/jpeg)
flashlog_text.jpg (image/jpeg)


call_user_func_array
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
call_user_func_array — 调用回调函数，并把一个数组参数作为回调函数的参数
说明
mixed call_user_func_array ( callable $callback , array $param_arr )
把第一个参数作为回调函数（callback）调用，把参数数组作（param_arr）为回调函数的
的参数传入。
参数
callback
被调用的回调函数。
param_arr
要被传入回调函数的数组，这个数组得是索引数组。
返回值
返回回调函数的结果。如果出错的话就返回FALSE
更新日志
版本 说明
对面向对象里面的关键字的解析有所增强。在此之前，使用双引号来来连接一个类
5.3.0 和里面的一个方法，把之作为参数来作为回调函数的会，将会发出一个E_STRICT的
警告，因为这个传入的参数被视为静态方法。
范例
Example #1 call_user_func_array()例子
bar() method with 2 arguments
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four"));
?>
以上例程的输出类似于：
foobar got one and two
foo::bar got three and four
Example #2 call_user_func_array()使用命名空间的情况
以上例程的输出类似于：
Hello Hannes!
Hello Philip!
Example #3 把完整的函数作为回调传入call_user_func_array()
以上例程会输出：
int(8)
注释
Note:
PHP 5.4之前，如果param_arr里面的参数是引用传值，那么不管原函数默认的各个参
数是不是引用传值，都会以引用方式传入到回调函数。虽然以引用传值这种方式来传
递参数给回调函数，不会发出不支持的警告，但是不管怎么说，这样做还是不被支持
的。并且在PHP 5.4里面被去掉了。而且，这也不适用于内部函数，for which the
function signature is honored。如果回调函数默认设置需要接受的参数是引用传递
的时候，按值传递，结果将会输出一个警告。call_user_func() 将会返回 FALSE（
there is, however, an exception for passed values with reference count = 1,
such as in literals, as these can be turned into references without ill
effects — but also without writes to that value having any effect —; do not
rely in this behavior, though, as the reference count is an implementation
detail and the soundness of this behavior is questionable）。
Note:
在函数中注册有多个回调内容时(如使用 call_user_func() 与
call_user_func_array())，如在前一个回调中有未捕获的异常，其后的将不再被调用
。
参见
• call_user_func() - 把第一个参数作为回调函数调用
• callback 类型的信息
• ReflectionFunction::invokeArgs() - Invokes function args
• ReflectionMethod::invokeArgs() - 带参数执行
User Contributed Notes 28 notes
===============================================================================
Just hope this note helps someone (I killed the whole day on issue).

In 5.3 you should write it:
===============================================================================
Please note, that when calling call_user_func_array() to redirect parameters
between inherited classes, you should not use $this, because $this always
refers to the class which has been instantiated. The following code even seems
to crash PHP (PHP does not report error but the process simply terminates),
because the the parameters are redirected only one level up (to class
foo_bar2):
0)
{
$constructorArgs = func_get_args();
call_user_func_array(array($this, 'parent::__construct'),
$constructorArgs);
}
else
{
parent::__construct();
}
}
}
class foo_bar2 extends foo_bar1
{
public function __construct()
{
echo __CLASS__ . PHP_EOL;
if (func_num_args() > 0)
{
$constructorArgs = func_get_args();
call_user_func_array(array($this, 'parent::__construct'),
$constructorArgs);
}
else
{
parent::__construct();
}
}
}
class foo_bar3 extends foo_bar2
{
public function __construct()
{
echo __CLASS__ . PHP_EOL;
if (func_num_args() > 0)
{
$constructorArgs = func_get_args();
call_user_func_array(array($this, 'parent::__construct'),
$constructorArgs);
}
else
{
parent::__construct();
}
}
}
$f = new foo_bar3("abc");
?>
Instead, use the direct name of the class as string or, better, the magic
constant __CLASS__ in call_user_func_array(), like:
call_user_func_array(array(__CLASS__, 'parent::__construct'),
$constructorArgs);
Then the parameters will be correctly redirected to the lowest base class.
===============================================================================
$param_arr may be empty, though it can't be null.
Output:
first: 'one', second: 'two'
first: 'only one', second: 'default2'
first: 'default1', second: 'default2'
/* error message or nothing printed depending on version */
===============================================================================
As of PHP 5.6 you can utilize argument unpacking as an alternative to
call_user_func_array, and is often 3 to 4 times faster.
Benchmarks from https://gist.github.com/nikic/6390366
cufa with 0 args took 0.43453288078308
switch with 0 args took 0.24134302139282
unpack with 0 args took 0.12418699264526
cufa with 5 args took 0.73408579826355
switch with 5 args took 0.49595499038696
unpack with 5 args took 0.18640494346619
cufa with 100 args took 5.0327250957489
switch with 100 args took 5.291127204895
unpack with 100 args took 1.2362589836121
===============================================================================
For anyone looking for the means to test for the first parameter before passing
to this function, look at the is_callable (http://php.net/manual/en/
function.is-callable.php) variable handler.
===============================================================================
Those having the passing by reference issue can use this simple hack.
I´m really not sure WHY this works, but it does, and it does not make use of
EVAL or other questionable functions.
&$arg){
$Args[$k] = &$arg;
}
//End Hack
$hooks = &$this->$type;
if(!isset($hooks[$name])) return false;
$hook = $hooks[$name];
call_user_func_array($hook, $Args);
}
?>
All it´s doing is copying the args ($args) into a new array ($Args) by
reference, which i would think would be identical to the original array in
every way (that matters).
Note the code here is an example of usage. The actual hack is denoted by
comments.
If someone knows a better alternative, by all means, i would love to see it.
===============================================================================
For those wishing to implement call-by-name functionality in PHP, such as
implemented e.g. in DB apis, here's a quick-n-dirty version for PHP 5 and up
getParameters() as $i => $param)
{
$pname = $param->getName();
if ($param->isPassedByReference())
{
/// @todo shall we raise some warning?
}
if (array_key_exists($pname, $params))
{
$real_params[] = $params[$pname];
}
else if ($param->isDefaultValueAvailable()) {
$real_params[] = $param->getDefaultValue();
}
else
{
// missing required parameter: mark an error and exit
//return new Exception('call to '.$function.' missing parameter nr.
'.$i+1);
trigger_error(sprintf('call to %s missing parameter nr. %d',
$function, $i+1), E_USER_ERROR);
return NULL;
}
}
return call_user_func_array($function, $real_params);
}
?>
===============================================================================
Just a heads up, the second parameter MUST be an array if it's specified, but
that doesn't seem to be enforced until ~5.3.
I just pulled my hair out with an old installation of CakePHP because it was
passing NULL instead of an empty array.
===============================================================================
call_user_func_array can pass parameters as reference:
Use it as work-around for "Call-time pass-by-reference has been deprecated".
===============================================================================
Many people have wondered how to effectively implement dispatch tables in PHP.
Here's my answer to that (if you'll forgive my creative flair):
"Mom", YOUR_FATHER =>
"GetPrisonInmate", YOUR_BROTHER => "ReplaceName", YOUR_SISTER => "LazyGirl" );
static $args = array( YOUR_MOTHER => array(), YOUR_FATHER => array(
"55170-054", TRUE ), YOUR_BROTHER => array(), YOUR_SISTER => array() );
function GetDispatch( $fromwhere )
{
return call_user_func_array( array( self, self::$dispatch[$fromwhere]
), self::$args[$fromwhere] );
}
function Mom()
{
return "Mommy loves you!";
}
function GetPrisonInmate( $PrisonerID, $GoodBehavior )
{
//Check prison records for his ID, then....
if ( $GoodBehavior )
{
$parole = "APPROVED";
}
else
{
$parole = "DENIED";
}
return "Your father (#$PrisonerID) has $remaining years left in his
sentence. His most recent parole application has been: $parole";
}
function ReplaceName()
{
return "Her name is Sally now.";
}
function LazyGirl()
{
print "Your sister needs to get out more....";
//sleep( pow( 60, 2 ) * 18 ); //You can sleep later!
die( "Nah, I'm too tired." );
}
}
print "Status on family member: " . MyFamily::GetDispatch( YOUR_FATHER );
?>
===============================================================================
It appears that when PHP executes something like:
$a = array(1,2,3);
$b =& $a[1];
both $b and $a[1] are converted into references to a common value -- makes
sense until you transfer that to a call_user_func:
call_user_func_array('foo', $a);
suddenly, inside foo, the second parameter is passed by reference!
And you can't call this wrong, only another subtly of references.
Note it appears that ksort($a) will remove the reference as well as put the
elements in key order so you (probably) get what you expect. (see below on the
use of a foreach ($a as &v).)
===============================================================================
There's a possibility that call_user_func_array(), call_user_func(), and
Exception::getTrace() will cause a trace entry to not have the 'file' or 'line'
elements.
Dustin Oprea
===============================================================================
Regarding the comments below about calling parent constructors:
PHP5 with E_STRICT no longer allows calls as below:
It gives an error because you are trying to call a nonstatic function as if it
was static. The correct syntax is
===============================================================================
Just an extra for the post of amer at o2 dot pl:
If you need to call the PARENT method:
call_user_func_array(array('parent', 'method'), $args);
With that, if you need to call a constructor and/or add some extra code to the
instantiation process:
Note that your constructor pass all the arguments to the parent constructor and
it doesn't matter how many arguments you pass.
This is pretty useful for constructors with a variable number of arguments.
===============================================================================
I've found the solution to resolve my need while writing the str_replace
function for processing the multi array as first two arguments of str_replace
built-in function(although its pass each array of argument 1 & 2)
':col: :op1: :val: AND :col: :op2: :val:'
);
$ope = array('>=', '<=');
$colsdata = array('date_start', '2015-10-14');
echo p_str_replace(array(
array(':col:', ':val:'),
array(':op1:', ':op2:')
), array(
$colsdata,
$ope
), $the_str['coa']);
echo '-------------------------------' . "\n";
// more complexity
$complex = '(:col: :op1: :val: AND :col: :op2: :val:) AND (:col2: :op1: :val2:
AND :col2: :op1: :val2:)';
echo p_str_replace(array(
array(':col:', ':val:'),
array(':col2:', ':val2:'),
array(':op1:', ':op2:')
), array(
array('date_start', '2015-10-01'),
array('date_end', '2015-10-14'),
array('>', '<')
), $complex);
?>
Sorry about my bad English :)
Hope this help someone.
===============================================================================
PLS notice that "patripaq at hotmail dot com" 's code will be valid if B
EXTENDS A...
there>>"What I wanted to do is create an object that can manage any number and
any kind of parameters."
BUT IT IS NOT A POINT AT ALL
If you need to call just function with parameters:
call_user_func_array('Foo',$args);
If you need to call CLASS method (NOT object):
call_user_func_array(array('class', 'Foo'),$args);
If you need to call OBJECT method:
call_user_func_array(array(&$Object, 'Foo'),$args);
If you need to call method of object of object:
call_user_func_array(array(&$Object->Object, 'Foo'),$args);
If you need to call object method from within the very same object (NOT
CLASS!):
call_user_func_array(array(&$this, 'Foo'),args);
The call_user_func_array ITSELF can manage any number and any kind of
parameters. It can handle ANY FUNCTION too as it is defined and that maybe
partipaq wanted to manage.
What You actually need is object composition not inheritance. Make an instance
from arguments.
OBJ = new A($args);
call_user_func_array(array(&$this->OBJ, 'A'), $args );
}
}
?>
Then there can be any number and any type of created object B parameters
===============================================================================
For those of you that have to consider performance: it takes about 3 times as
long to call the function this way than via a straight statement, so whenever
it is feasible to avoid this method it's a wise idea to do so.
Note that eval() is about 10 times slower than a straight statement to call a
function with arguments, so this is definitely a better option than using eval
() even if you only consider performance.
===============================================================================
call_user_func_array() is nifty for calling PHP functions which use variable
argument length. For example:
/* output:
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(3) "bat"
[3]=>
string(3) "rat"
}
*/
The neat feature is that $array could have any number of arrays inside it.
===============================================================================
arrInstances[] = $oElement;
}
public function __call( $strMethod, $arrParams )
{
// for each element in instance //
foreach( $this->arrInstances as $oElement )
{
// get the class of the element //
$strClass = get_class( $oElement );
// get all methods of the class //
$arrMethods = get_class_methods( $strClass );
// case the method exists into this class //
if( in_array( $strMethod , $arrMethods ) )
{
// prepare caller //
$arrCaller = Array( $strClass , $strMethod );
// return the result of the method into the object //
return call_user_func_array( $arrCaller, $arrParams );
}
}
// any object has the method //
// throw a exception //
throw new Exception( " Method " . $strMethod . " not exist in this
class " . get_class( $this ) . "." );
}
}
class Log
{
public function sayHi()
{
print "hi!" . "
\n";
}
public function sayMyName()
{
print "log" . "
\n";
}
}
class Other
{
public function sayHello()
{
print "hello there!" . "
\n";
}
public function sayMyName()
{
print "other" . "
\n";
}
}
class Example extends Delegate
{
public function __construct()
{
$this->addObject( new Log() );
$this->addObject( new Other() );
}
}
$oExample = new Example();
$oExample->sayHi();
$oExample->sayHello();
$oExample->sayMyName();
/*
hi!
hello there!
log
*/
?>
===============================================================================
Be aware the call_user_func_array always returns by value, as demonstrated
here...
outputs "2 3", rather than the expected "3 3".
Here is a function you can use in place of call_user_func_array which returns a
reference to the result of the function call.
{$callable[1]}";
}
else
{
// $callable is a class name and a static method
$call = "{$callable[0]}::{$callable[1]}";
}
}
// Note because the keys in $args might be strings
// we do this in a slightly round about way.
$argumentString = array();
$argumentKeys = array_keys($args);
foreach($argumentKeys as $argK)
{
$argumentString[] = "\$args[$argumentKeys[$argK]]";
}
$argumentString = implode($argumentString, ', ');
// Note also that eval doesn't return references, so we
// work around it in this way...
eval("\$result =& {$call}({$argumentString});");
return $result;
}
?>
===============================================================================
If you are using PHP < 5.3 and want to call the parent class' __construct()
with a variable parameter list, use this:
===============================================================================
This function is relatively slow (as of PHP 5.3.3) and if you are calling a
method with a known number of parameters it is much faster to call it this way:
$class->{$method}($param1, $param2);
vs
call_user_func_array (array($class, $method), array($param1, $param2));
But if you don't know how many parameters...
The wrapper function below is slightly faster, but the problem now is that you
are making two function calls. One to the wrapper and one to the function.
However, If you are able to take this code out of the function and use it
inline it is nearly twice as fast (in most cases) as calling
call_user_func_array natively.
{$a}(); break;
case 1: $c->{$a}($p[0]); break;
case 2: $c->{$a}($p[0], $p[1]); break;
case 3: $c->{$a}($p[0], $p[1], $p[2]); break;
case 4: $c->{$a}($p[0], $p[1], $p[2], $p[3]); break;
case 5: $c->{$a}($p[0], $p[1], $p[2], $p[3], $p[4]); break;
default: call_user_func_array(array($c, $a), $p); break;
}
}
?>
===============================================================================
Look here: http://www.zend.com/zend/week/week182.php#Heading1
===============================================================================
Note that, despite the name, this does work on builtin functions (and object
methods with the array(&$obj, $method) syntax), not just user-defined functions
and methods.
===============================================================================
Here is another version of createObjArray() function written here earlier by
taylor.
Believing that using 'eval()' is at least "dirty", I came to the following
solution (with a help of panchous - at phpclub dot ru forums ). This solution
utilizes the new Reflection API.
===============================================================================
I came up with a better solution to the problem that I solve below with
createObjArray that maintains parameter type:
Would be good to add error checking, but it works.
===============================================================================
If you are thinking of using call_user_func_array to instantiate an object (see
comments below using Reflection) then since v5.1.3 you can use the
Reflection::newInstanceArgs() method.
newInstanceArgs($args);
// this is the same as: new myCommand('a', 'b');
?>
===============================================================================
I just noticed that when you use this function with parameters that need to be
passed by reference it will not work.
call_user_func_array('refFunc', array($var));
echo $var;
will output 'foo' and not 'foobar'. Witch is logical since you are declaring a
new variable with array($var) however not so obvious.


Jordan's Testimony
“I realized the street life that I was living was not good for me or my children. I was tired of living that life.” -Jordan Price
Jordan voluntarily enrolled in the Father to Father program in November of 2005. At the time of his enrollment he was actively using drugs and alcohol. Although he came from a sound family background, he succumbed to the temptations of the streets and pursued a life of easy money and quick highs. Jordan has a GED and is the father of five children by four different women. He does not work because of a physical disability. He came to the program simply to ask for help. He said “I realized the street life that I was living was not good for me or my children. I was tired of living that life.”
“Now my focus is on being a better man, a better father and a better Christian.”
Jordan became actively involved in his church and the Father to Father program. The only time he missed a meeting was to attend a church function. He freely admits that he lived a life of drugs and alcohol but with the help of the Father to Father Project, Inc. and his decision to give his life to Jesus Christ, he has conquered all of those addictions and now my focus is on being a better man, a better father and a better Christian.”
When Jordan enrolled in the program, he scored 19 on the Barksdale Self-esteem Scale. A score of 50 or less indicates a “crippling lack of self-esteem." Prior to graduation from the program, Jordan took the Barksdale Self-esteem Test again and his score was 88.
Tavis truly is a changed man. He gives the credit to his relationship with Christ and feels that God definitely touched him through the Father to Father Project.


FILE NOT FOUND > something below has happened • Your armpits stink • You mistyped the filename • File is deleted • File is moved If file is deleted or moved go to Forums and report it


EXCLUSIVE: Calvin "Klein" Bacote on Getting Arrested With Jay Z (Flashback)
by VladTVIn this VladTV Flashback from 2014, Calvin “Klein” Bacote opened up about his relationship with Jay Z, explaining that the rapper idolized in his younger years. He then explains Jay's line, "I never felt more alive, riding shotgun in Klein's green five," from The Black Album. Klein says that the lyric is about a case they both caught in 1989 after a big fight broke out in Maryland.
Calvin says he and Jay went back and forth about who was going to take the charges after Bacote worked things out with the guy who was pressing charges, paying him $50,000. The victim said he would drop charges for one person, and Calvin saw potential in Jay's career and decided to do the time.


Not sure on what to upload here? Watch the Video Tutorial.
Help India Fight COVID-19 by Taking the Test.


Flump converts Flash keyframe animations into texture atlases and JSON that can easily be used with the StageXL library. The advantage over sprite sheet animations is the much smaller download size and memory consumption. The demo below shows the texture atlas generated by Flump and four different character animations built with Flash Professional.
Visit the Flump homepage for more information: Flump Homepagelibrary demo; import 'dart:math'; import 'dart:html' as html; import 'package:stagexl/stagexl.dart'; import 'package:stagexl_flump/stagexl_flump.dart'; part 'flump_demo.dart'; Stage stage = new Stage(html.querySelector('#stage'), webGL: true); RenderLoop renderLoop = new RenderLoop(); ResourceManager resourceManager = new ResourceManager(); void main() { renderLoop.addStage(stage); resourceManager ..addCustomObject('flump', FlumpLibrary.load('images/flumpLibrary.json')) resourceManager.load() .then((_) => stage.addChild(new FlumpDemo())) .catchError((e) => print(e)); }
part of demo; class FlumpDemo extends DisplayObjectContainer { FlumpDemo() { var flumpLibrary = resourceManager.getCustomObject('flump') as FlumpLibrary; var juggler = stage.juggler; var idle = new FlumpMovie(flumpLibrary, 'idle'); idle.x = 450; idle.y = 150; addChild(idle); juggler.add(idle); var walk = new FlumpMovie(flumpLibrary, 'walk'); walk.x = 150; walk.y = 200; addChild(walk); juggler.add(walk); var attack = new FlumpMovie(flumpLibrary, 'attack'); attack.x = 750; attack.y = 300; addChild(attack); juggler.add(attack); var defeat = new FlumpMovie(flumpLibrary, 'defeat'); defeat.x = 350; defeat.y = 400; addChild(defeat); juggler.add(defeat); } }


| Name | Description |
|---|---|
| page | Current page of orders |
Accept: application/json Host: example.org Cookie:
GET /orders?page=1
page: 1
Content-Type: application/json; charset=utf-8 X-Ua-Compatible: IE=Edge,chrome=1 E-Tag: "6cd5831e98b0090b64672b5604d9eb2a" Cache-Control: max-age=0, private, must-revalidate X-Runtime: 0.061150 Content-Length: 121
200 OK
[{"email":"email0@example.com","name":"Order 0","paid":true},{"email":"email1@example.com","name":"Order 1","paid":true}]


OnePlus built a piano out of 17 7T Pros and let people (and dogs) play it
by Rita El KhouryOnePlus is known for its outrageous marketing stunts so we didn't even blink when we saw that the company was building a piano out of its phones. The goal is to show off the 7T Pro's 90Hz display and fast processor, which were supposedly crucial in creating a smooth musical keyboard.
17 OnePlus 7T Pros were hooked together in a piano casing, each one showing three white keys for a total of 51 — close enough to a regular piano's 52. Pianist Karim Kamar was called upon to demonstrate the prowess of this electronic contraption, and the piano was shown off near Tate Modern in London yesterday. Passersby could enjoy Karim's music but also get their own try at tickling the virtual ivories. That includes people and yes, dogs. Music is universal after all.
The piano will move to three different cities over the next few days, so you can catch it there if you're interested:
- Tuesday, November 12 from 10 AM: Place Jacques Rueff, Champ de Mars, Paris, France
- Thursday, November 14 from 10 AM: Herrngasse 1, 91541 Rothenburg ob der Tauber, Germany
- Saturday, November 16 from 12 PM: Helsinki Hall, Central Station, Helsinki, Finland
Following are a few videos captured from the piano's exhibition near Tate Modern.
Source:
OnePlus
Image credit: obakesan


{{address.buldingNo || ''}}, {{address.address || ''}}, {{address.neighborhood || ''}}, {{address.selectAddress || ''}}, {{address.zipcode || ''}}
{{restroObj.RESTRO_NAME}}
{{restroObj.RESTRO_AREA_NAME}}
Please keep extra change


Project name: Steampunk Jubilee Google Doodle
Summary:
A google doodle animation that explores the possibilities of technology and reality in an alternate 19th century atmosophere. The Steampunk Jubilee celebrates the innovations of the steampunk universe from airships, fashion, and steam-powered cities.
Client: Google
Project Date: March 2018
Design Tools: Codepen, Github
Have any questions? You may contact me via my email address<EMAIL_ADDRESS>or find me on Twitter and LinkedIn, where I'd be happy to answer any questions.


TabFloater has been updated
Version 1.0.1
Bug fix:
Point help links to issue chooser (
#248
)
Companion update required
Download
Want to request a feature or report a bug? Please
open an issue on GitHub
.
Do not notify me about updates
Feedback & donation
Write a review


|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Interface Summary | |
|---|---|
| EndOfSentenceScanner | Scans Strings, StringBuffers, and char[] arrays for the offsets of sentence ending characters. |
| SDContextGenerator | Interface for SentenceDetectorME context generators. |
| SentenceDetector | The interface for sentence detectors, which find the sentence boundaries in a text. |
| SentenceDetectorEvaluationMonitor |
| Class Summary | |
|---|---|
| AbstractEndOfSentenceScanner | Deprecated. use DefaultEndOfSentenceScanner instead |
| DefaultEndOfSentenceScanner | Default implementation of the EndOfSentenceScanner . |
| DefaultSDContextGenerator | Generate event contexts for maxent decisions for sentence detection. |
| EmptyLinePreprocessorStream | Stream to to clean up empty lines for empty line separated document streams. - Skips empty line at training data start - Transforms multiple empty lines in a row into one - Replaces white space lines with empty lines - TODO: Terminates last document with empty line if it is missing This stream should be used by the components that mark empty lines to mark document boundaries. |
| SDCrossValidator | |
| SDEventStream | |
| SentenceDetectorEvaluator | The SentenceDetectorEvaluator measures the performance of
the given SentenceDetector with the provided reference
SentenceSample s. |
| SentenceDetectorME | A sentence detector for splitting up raw text into sentences. |
| SentenceModel | The SentenceModel is the model used
by a learnable SentenceDetector . |
| SentenceSample | A SentenceSample contains a document with
begin indexes of the individual sentences. |
| SentenceSampleStream | This class is a stream filter which reads a sentence by line samples from
a Reader and converts them into SentenceSample objects. |
Package related to identifying sentece boundries.
|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


{% include meta.html %}
Toggle Navigation
Mael Fosso
Home
About
Contact Us
{{ content }}
{% include analytics.html %}


fwabc
is an R package to read subsets of data from various layers in the BC Freshwater Atlas.
There are three main motivations to developing this package:
We provide solutions by:
To install the latest development version from GitHub
install.packages("devtools")
devtools::install_github("poissonconsulting/err")
devtools::install_github("poissonconsulting/checkr")
devtools::install_github("poissonconsulting/fwabc")
To install the latest development version from the Poisson drat repository
install.packages("drat")
drat::addRepo("poissonconsulting")
install.packages("fwabc")
Please report any issues.
Pull requests are always welcome.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms


Yo Assemble these
22nd January 2013Example Assemble integration to your existing Yeoman project.
Installation and Basic configuration
If you are haven't generated a yeoman app yet, go ahead, use any generator you want (preferably the Webapp generator)
When the blind man with a wad of lottery tickets in his hand entered the bus I feigned disinterest and looked away purposefully like I always do when coming face to face with anyone who looked remotely like an alms seeker. This one was no beggar but the combined effect of his blindness, shabby shirt, and the wad of lottery tickets in his hand was enough to put me off.
From the ease of his movement within the bus, I could make out that this was a daily exercise for him. He would lean gently at the very edge of the seat’s headrest, making sure not to inconvenience the passenger and balance himself before offering his wares. Once the result was known he would inch the lower half of his body away from the seat and move forward to repeat the exercise. Each time the clipper board with the 6 or 7 remaining tickets were thrust in front of me I didn't have to even think before doing what I did — turn my face away.I had enough problems in my mind, or so I thought.
When the blind man with a wad of lottery tickets in his hand entered the bus I feigned disinterest and looked away purposefully like I always do when coming face to face with anyone who looked remotely like an alms seeker. This one was no beggar but the combined effect of his blindness, shabby shirt, and the wad of lottery tickets in his hand was enough to put me off.
From the ease of his movement within the bus, I could make out that this was a daily exercise for him. He would lean gently at the very edge of the seat’s headrest, making sure not to inconvenience the passenger and balance himself before offering his wares. Once the result was known he would inch the lower half of his body away from the seat and move forward to repeat the exercise. Each time the clipper board with the 6 or 7 remaining tickets were thrust in front of me I didn't have to even think before doing what I did — turn my face away.I had enough problems in my mind, or so I thought.


The UN to Reduce the “Overly Expensive" Price of Insulin
The World Health Organization has announced a scheme to reduce the "overly expensive" price of insulin, BNR reported, citing the BBC. The UN agency wants pharmaceutical companies to produce generic versions of the insulin that it will then test.
Since its discovery in 1923, in America, the price of insulin has risen from $ 1 per vial to about $ 300.
About 20 million people are suffering from type 1 diabetes and need regular insulin injections in order to live a normal life, according to WHO. 54 million people globally have type 2 diabetes and use insulin only in critical cases.
Once the generic version passes the safety tests, it will be introduced to the global market at a lower price, driving down the price of the drug.
The WHO has successfully implemented similar schemes in the past, most notably antiretroviral drugs in 2001.


Kabahinda Rovence is an enthusiastic passionate and optimistic 3rd year Software Engineering Student at Makerere University. Currently I am good at front end and some bit of backend(Java Script and Php) though still learning more of this.
I also do some graphics designing(posters, business cards, Logos) for people Uisng illustrator and photoshop
Not forgetting about my good hobby; cooking: Oh yeah! I am an amazing cook
Passion, optimism difine everything i do.


open3d.integration.UniformTSDFVolume¶
-
class
open3d.integration.
UniformTSDFVolume
¶ UniformTSDFVolume implements the classic TSDF volume with uniform voxel grid (Curless and Levoy 1996).
-
__init__
(*args, **kwargs)¶ Overloaded function.
__init__(self: open3d.integration.UniformTSDFVolume, arg0: open3d.integration.UniformTSDFVolume) -> None
Copy constructor
__init__(self: open3d.integration.UniformTSDFVolume, length: float, resolution: int, sdf_trunc: float, color_type: open3d.integration.TSDFVolumeColorType) -> None
-
extract_point_cloud
(self)¶ Function to extract a point cloud with normals
- Returns
open3d.geometry.PointCloud
-
extract_triangle_mesh
(self)¶ Function to extract a triangle mesh
- Returns
open3d.geometry.TriangleMesh
-
extract_voxel_grid
(self: open3d.integration.UniformTSDFVolume) → open3d.geometry.VoxelGrid¶ Debug function to extract the voxel data VoxelGrid.
-
extract_voxel_point_cloud
(self)¶ Debug function to extract the voxel data into a point cloud.
- Returns
open3d.geometry.PointCloud
-
integrate
(self, image, intrinsic, extrinsic)¶ Function to integrate an RGB-D image into the volume
- Parameters
image (open3d.geometry.RGBDImage) – RGBD image.
intrinsic (open3d.camera.PinholeCameraIntrinsic) – Pinhole camera intrinsic parameters.
extrinsic (numpy.ndarray[float64[4, 4]]) – Extrinsic parameters.
- Returns
None
-
reset
(self)¶ Function to reset the integration.TSDFVolume
- Returns
None
-
property
color_type
¶ Color type of the TSDF volume.
-
property
length
¶ Total length, where
voxel_length = length / resolution
.
-
property
resolution
¶ Resolution over the total length, where
voxel_length = length / resolution
-
property
sdf_trunc
¶ Truncation value for signed distance function (SDF).
- Type
float
-
property
voxel_length
¶ Voxel size.
- Type
float
-


#!/usr/bin/env python3
# -*- coding: utf-8 -*
# pylint: disable=E0401
"""
Player Class to control player objects create in game.
"""
from intelligence import Intelligence
[docs]class Player():
"""Player Class."""
reaction = Intelligence(None)
def __init__(self, name, decision):
"""Initialisation."""
self.name = name
self.score = 0
self.score_list = []
self.decision = decision
[docs] def change_score(self, score):
"""Change player score according to dice dance."""
if score not in (1, 6):
self.score += score
else:
print("OBS!!\n")
self.score *= 0
[docs] def set_name(self, name):
"""Change plyer name."""
self.name = name
[docs] def set_level(self, level):
"""Set computer's level."""
self.reaction.level = level
[docs] def get_name(self):
"""Return player name."""
return self.name
[docs] def get_score(self):
"""Return player score."""
return self.score
[docs] def set_score_list(self, num):
""". Initialisation."""
self.score_list.append(num)
[docs] def get_score_list(self):
""". Initialisation."""
return self.score_list


Sudanese officials: 6 troops killed in Yemeni rebel attack
by Samy Magdy, The Associated PressCAIRO — Officials in Sudan are saying an attack by Yemeni rebels has killed six members of a Sudanese paramilitary force that’s been fighting in Yemen.
The officials said Saturday that the attack earlier this week targeted a position on the Saudi-Yemen border held by Sudan’s paramilitary Rapid Support Forces.
Sudanese troops have been deployed in Yemen for years as part of the Saudi-led military coalition’s war against the Houthi rebels.
On Wednesday, the United Arab Emirates had said an attack on the Saudi-Yemen border killed one of its soldiers. But it’s unclear if the Sudanese troops were killed in the same attack.
Both Emirati and Sudanese troops have been pulling out of Yemen in recent months.
The officials spoke on condition of anonymity because they weren’t authorized to brief the media.
Samy Magdy, The Associated Press


tick
`Prev `__
T
`Next `__
--------------
**tick**: n.
1. A `*jiffy* <../J/jiffy.html>`__ (sense 1).
2. In simulations, the discrete unit of time that passes between
iterations of the simulation mechanism. In AI applications, this amount
of time is often left unspecified, since the only constraint of interest
is the ordering of events. This sort of AI simulation is often
pejoratively referred to as tick-tick-tick simulation, especially when
the issue of simultaneity of events with long, independent chains of
causes is `*handwave* <../H/handwave.html>`__\ d.
3. In the FORTH language, a single quote character.
--------------
+--------------------------+----------------------------+---------------------------------------+
| `Prev `__ | `Up <../T.html>`__ | `Next `__ |
+--------------------------+----------------------------+---------------------------------------+
| thunk | `Home <../index.html>`__ | tick-list features |
+--------------------------+----------------------------+---------------------------------------+


CHICKEN RUN RATING: 7.5/10 --> Very good movie
For more reviews and movie screensavers, visit http://www.joblo.com/
I can't imagine this film not being a major summer success with kids of all ages. In fact, I can't imagine anyone not liking this movie a whole lot, girls, guys, kids, teens and adults alike. For Dreamworks, this film could easily be the start of a major franchise, with plenty of sequels and merchandising opportunities yet to come. I will also be the first to admit that the trailer for this film didn't really turn me on, but once this film got going, I was hooked, line and sinker.
PLOT: A bunch of British hens laying eggs in a chicken farm for a living decide that it's time to escape their inevitable fates. They organize several attempts of flight from their coops, but none turn out successful. Just then, an outside American rooster pops into their lives and raises their hopes of escape.
CRITIQUE: A cluckin' good time! A wonderful production featuring impeccable clay animation effects, a witty and original script, an infectious and booming score, and the cutest l'il chickens you'd ever want to meet. Chicken has always been my favorite of the "white meats", but after seeing this movie, I may have to reconsider ever eating chicken again. They're just so cute and cuddly! Seriously though, the film is a delight on so many different levels. It's fun to look at, it's loaded with many funny one-liners, it moves along at a hardy pace, and overall, it just makes you smile and love movies so much more. It's also short and sweet, which is always welcome in so-called "children's movies". The audience I was with seemed to love the film even more than I did, with many of the attendees laughing out loud on several occasions. I personally enjoyed much of the film's smart humor, but mostly I just chuckled and smiled a lot. The British hen accents were also a very cool and pleasant addition, as well as the hip turn by Rocky the Rooster, perfectly voiced over by none other than mega-star Mel Gibson.
Any major problems with the film? Not really. Perhaps the addition of a couple of snappy songs might've added to the proceedings, but any film featuring a boisterous chicken dance sequence as well as an all-out muddy cockfight, certainly has enough filling on its plate as it is. I also loved the movie's many prominent homage scenarios, including the film to which this one derives its most obvious influence, THE GREAT ESCAPE (just replace the humans in that movie with chickens). There are also a couple of really cool action sequences, one reminiscent of INDIANA JONES, and the other bringing to mind the last 20 minutes of TOY STORY 2 (8/10), two films which certainly aren't chicken feed on their own right. And if you really pay close attention, you will note a famous shot from THE SHAWSHANK REDEMPTION done with a chicken standing in the rain here. Pretty funny. I don't like making predictions either, but this film certainly could be one of the biggest hits of the summer (a sleeper, some might say), simply because of its ability to hit many of the tones that people look for in a quality movie. It's got a great look, a rousing score, plenty of goofs, inside pranks, emotional scenes, a touch of romance, action, adventure, memorable characters and just an overall solid feeling of chicken-loving-fun. So drop the chicken wings, grab the kids, tow the better half along, and prepare yourself to be entertained for 85 minutes of cluckin' fun!
And who can't love those darn chicken teeth!
Little Known Facts about this film and its stars: How meticulous is this kind of movie-making? Picture this: There are 24 frames per second of film time, so depending on the action in a sequence of film time, it is possible to have 24 separate poses to shoot per character for every second in a scene, each pose involving the tiniest increment of movement for body, head, arms, legs, hands, fingers, eyes, mouth, clothing and more. Multiply that by every character in every scene, adding in the movement of any props that are also on camera, and you begin to get the picture. Directors Peter Lord and Nick Park are the Academy Award-winning team behind the popular Wallace & Gromit shorts. This film needed a total of 40 animators, split into two teams and guided by the two directors. Peter also had a hand in creating the innovative "Sledgehammer" music video by Peter Gabriel. Julia Sawalha, the voice of the lead hen Ginger in this film, is probably best known for her starring role on the BBC comedy series "Absolutely Fabulous". This film was previously known as C:R-1 (a sign of a sequel perhaps?).
Review Date: June 17, 2000 Directors: Peter Lord and Nick Park Writer: Karey Fitzpatrick Producers: Peter Lord, Nick Park and David Sproxton Actors: Mel Gibson as Rocky the Rooster (voice) Julia Sawalha as Ginger (voice) Miranda Richardson as Mrs. Tweedy (voice) Genre: Children's Animation Year of Release: 2000 ------------------------------------ JoBlo's Movie Emporium http://www.joblo.com/ ------------------------------------ (c) 2000 Berge Garabedian
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Welcome visitor you can login or create an account.
Childish Gambino - Camp Now Available for just $9.99
$20
$30
$50
$45
$40
$25
$10
$60


api documentation¶
main module¶
-
peakTree.
check_part_not_reproduced
(tree, spectrum)[source]¶ check how good the moments in the tree (only leave nodes) represent the original spectrum (i.e. if there are non-Gaussian peaks)
Parameters: - tree – a tree in the traversed (dict) format
- spectrum – and the corresponding spectrum
Returns: number of bins, where the reprocduced spectrum differs by more than 7dB
-
peakTree.
saveVar
(dataset, varData, dtype=<class 'numpy.float32'>)[source]¶ save an item to the dataset with data in a dict
Parameters: - ( (dataset) – obj:netCDF4.Dataset): netcdf4 Dataset to add to
- dtype – datatype of the array
- varData (dict) – data to add, for example:
Key Description var_name
name of the variable dimension
('time', 'height')
arr
data long_name
descriptive long name optional comment
description as a sentence units
string with units units_html
units in the html formatting missing_value
define missing value plot_range
tuple of range to plot plot_scale
“linear” or “log” axis
-
peakTree.
time_index
(timestamps, sel_ts)[source]¶ get the index of a timestamp in the list
Parameters: - timestamps – array
- sel_ts – timestamp whose index is required
-
peakTree.
get_time_grid
(timestamps, ts_range, time_interval, filter_empty=True)[source]¶ get the mapping from timestamp indices to gridded times eg for use in interpolation routines
https://gist.github.com/martin-rdz/b7c3b9f06bb41aeb6b2fb6c888275e26
Parameters: - timestamps – list of timestamps
- ts_range – range fo the gridded timestamps
- time_interval – interval of the gridded timestamps
- filter_empty (bool, optional) – include the bins that are empty
Returns: list of (timestamp_begin, timestamp_end, grid_mid, index_begin, index_end, no_indices)
-
peakTree.
get_averaging_boundaries
(array, slice_length, zero_index=0)[source]¶ get the left and right indices each element in an array for a given averaging slice_length
-
class
peakTree.
peakTreeBuffer
(config_file='instrument_config.toml', system='Lacros')[source]¶ trees for a time-height chunk
Parameters: - config_file (string, optional) – path to the instrument config file (.toml)
- system (string, optional) – specify the system/campaign
The attribute setting may contain
Key Description decoupling
decoupling of the crosschannel smooth
flag if smoothing should be applied grid_time
time in seconds to average the spectra max_no_nodes
number of nodes to save thres_factor_co
factor between noise_lvl and noise thres in co channel thres_factor_cx
factor between noise_lvl and noise thres in cross ch. station_altitude
height of station above msl -
load
(filename, load_to_ram=False)[source]¶ convenience fuction for loader call reads the self.loader (as specified in the instrument_config)
-
load_spec_file
(filename, load_to_ram=False)[source]¶ load spectra from raw file
Parameters: filename – specify file
-
load_peakTree_file
(filename)[source]¶ load preprocessed peakTree file
Parameters: filename – specify file
-
load_kazr_file
(filename, load_to_ram=False)[source]¶ load a kazr file
Parameters: filename – specify file
-
load_newkazr_file
(filename, load_to_ram=False)[source]¶ load a kazr file
Parameters: filename – specify file
-
load_rpgbinary_spec
(filename, load_to_ram=False)[source]¶ load the rpg binary (.LV0) file directly; requires rpgpy
Parameters: - filename – path to file
- load_to_ram (optional False) –
- 2022-07-25: reimplemented the polarimetry based on sldr_bulk_revised-seeding_case.ipynb
- and the communication with A. Myagkov
developed with rpgpy version 0.10.2
-
load_rpgpy_spec
(filename, load_to_ram=False)[source]¶ WIP implementation of the rpgpy spectra format
-
get_tree_at
(sel_ts, sel_range, temporal_average='fromparams', roll_velocity=False, peak_finding_params={}, tail_filter=False, silent=False)[source]¶ get a single tree either from the spectrum directly (prior call of load_spec_file()) or from the pre-converted file (prior call of load_peakTree_file())
Parameters: - sel_ts (tuple or float) – either value or (index, value)
- sel_range (tuple or float) – either value or (index, value)
- temporal_average (optional) – average over the interval (tuple of bin in time dimension or ‘fromparams’ or False)
- roll_velocity (optional) – shift the x rightmost bins to the left
- peak_finding_params (optional) –
- silent – verbose output
‘vel_smooth’: convolution with given array ‘prom_thres’: prominence threshold in dB
Returns: dictionary with all nodes and the parameters of each node
print_tree¶
output of visualized trees as text, plots and schematic graphs
-
peakTree.print_tree.
coord_pattern_child
(p)[source]¶ the coordinate pattern required for filtering the dictionary for children for use in
iterchilds()
Parameters: p – coordinate of parent Returns: function that thest if a coordinate is a child of p
-
peakTree.print_tree.
iterchilds
(travtree, parentcoord)[source]¶ generator that yields all childs of a parent with given coordinats for use in
iternodes()
-
peakTree.print_tree.
travtree2text
(travtree, show_coordinates=True)[source]¶ returns a string with the tabular representation of the traversed tree
Parameters: - travtree – traversed tree
- show_coordinates (optional) – include the coordinates
Returns: string with line breaks
-
peakTree.print_tree.
gen_lines_to_par
(travtree)[source]¶ get all the connection lines between the nodes of travtree
Returns: list of coordinate pairs [(v,z), ..]
-
peakTree.print_tree.
plot_spectrum
(travtree, spectrum, savepath)[source]¶ plot the spectrum together with the traversed tree
Parameters: - travtree – traversed tree
- spectrum – spectrum dict
- savepath – either
None
or string
Returns: fig, ax
helpers¶
Collection of common helper functions.
-
peakTree.helpers.
list_of_elem
(elem, length)[source]¶ return a list of given length of given elements
-
peakTree.helpers.
epoch_to_timestamp
(time_raw)[source]¶ converts raw time (days since year 0) to unix timestamp
-
peakTree.helpers.
divide_bounds
(bounds)[source]¶ divide_bounds([[10,20],[20,25],[25,30],[40,50]]) => noise_sep [[10, 30], [40, 50]], internal [20, 25]
-
peakTree.helpers.
fill_with
(array, mask, fill)[source]¶ fill array with fill value where mask is True
-
peakTree.helpers.
round_odd
(f)[source]¶ round to odd number :param f: float number to be rounded to odd number
-
peakTree.helpers.
flatten
(xs)[source]¶ flatten inhomogeneous deep lists e.g.
[[1,2,3],4,5,[6,[7,8],9],10]


Track the Bitcoin price against your chosen currency and trigger events based on the price
{{ priceData$ | async | json }}


cv
General Information
| Full Name | Matthew Segar |
| Nationality | USA |
| Languages | English |
Research Areas
- Cardiovascular risk prediction using machine learning and artificial intelligence.
Education
-
2014-2018
Indiana University School of Medicine - M.D.
- Elected to Gold Humanism Honor Society.
- Awarded the IUSM Dean's Award.
-
2012-2014
Indiana University – M.S. in Bioinformatics (with Honors)
- Advisor: Prof. Yunlong Liu, PhD.
- Research: Studied the clinical utility of alternative splicing events across multiple cancer types.
-
2008-2012
Bucknell Universitiy - B.A. in Computer Science (with Honors)
-
A 4-year Division 1 athlete in swimming.
- Awarded the Robert A. Latour Service Award for 'contributing most to Bucknell and the surrounding community'.
- Qualified for the 2012 Olympic Trials in the 200m freestyle
-
Thesis Title: Utilization of probabilistic models in short read assembly from second-generation sequencing.
- Awarded the Miller Prize for the most distinguished Honor's Thesis.
- Advisor: Prof. Brian King, PhD.
-
A 4-year Division 1 athlete in swimming.
Postdoctoral Training
-
2018-now
Resident, Internal Medicine
- University of Texas Southwestern Medicine Center
-
2021
Incoming Fellow, Cardiology
- Texas Heart Institute
Honors and Awards
-
2011-2012
- Mid-Major All American, Swimming
-
2012
- Olympic Trials Qualifier, swimming 200M freestyle
- Robert A. Latour Service Award for the student who contributes most to Bucknell University and the surrounding community.
- Miller Prize for the most distinguished Honor's Thesis.
-
2015
- Best oral abstract (3rd place), Summer Research Program in Academic Medicine
- Best oral abstract(3rd place), IU Simon Cancer Center Research Day
-
2017
- Gold Humanism Honor Society
-
2018
- Dean's Award, Indiana University School of Medicine
-
2019
- Best oral abstract (1st place), Donald W. Seldin Symposium, UT Southwestern Medical Center
- Travel grant award, Artificial Intelligence in Cardiology, Mayo Clinic
- Best oral abstract (1st place), UTSW-THR Cardiovascular Symposium
-
2020
- Best oral abstract (1st place), Donald W. Seldin Symposium, UT Southwestern Medical Center
- Elizabeth Barrett-Connor Young Investigator Award finalist, AHA 2020
-
2021
- Lifestyle and Cardiometabolic Health Young Investigator Award finalist, AHA 2021
Clinical Trials
-
2021-now
Electronic Alerts for Heart Failure Prevention in Diabetes (WATCH-DM)
- NCT04791826
- Sub-investigator to evaluate WATCH-DM risk score in EHR system to improve SGLT2i utilization
Work Experience
-
2012-2014
Center for Computational Biology and Bioinformatics Research Analyst.
- Worked for the IUSM Bioinformatics Core under Dr. Liu. Collaborated with researchers from multiple institutions to assist in data analysis and biomedical data management.
- Developed the main pipeline for alterantive splicing and epigenetics research and for integrating these algorithms in a new production system.
-
2012-2014
Swim Coach - Carmel Swim Club.
Software Development Skills
- GitHub: https://github.com/msegar (~20 stars from open-source projects).
- High Level Programming Languages: R, Java, C, C++, Python, Javascript
Other Interests
- Sports: Swimming, Rowing.
- Hobbies: Traveling, Cooking, Board Games, Juggling, Magic tricks.


Research Experience
KENT STATE UNIVERSITY | KENT, OH (Apr 2008–Aug 2016)
- Senior Research Scientist Jan 2014–Aug 2016
- Take charge as software coordinator of the Silicon Strip Detector, responsible for developing and maintaining
offline code (C++) used for raw data evaluation of SSD along with other necessary calibration tables
- Administer data analysis of STAR experiment for particle identification with the use of machine learning
algorithm; proficiently utilize Toolkit for Multivariate Analysis (TMVA) package which involves C++
implementation of Machine Learning through ROOT framework
- Postdoctoral Research Associate Apr 2008–Jan 2014
- Functioned as software coordinator for one of the subsystems, namely SSD; took charge of formulating and
maintaining offline algorithms as well as calibration tables needed for the reconstruction of raw data
included in the subsystem
- Actively participated in all aspects of Heavy Flavor Tracker PXL detector, which comprised of MonteCarlo
simulations of the PXL detector during misalignment on the data in addition to early model of PXL in the
Abstract Geometry Modeling Language (AgML)
- Initiated the execution of RHIC run 7 data analysis, focusing on the use of silicon vertex detectors for
charmed particles reconstruction
- Regulated the process of adapting cellular automaton for HFT detector along with machine learning
(TMVA, ROOT framework) for RHIC data analysis
- Served as member of the Solenoidal Tracker at Relativistic Heavy Ion Collider (RHIC) (STAR) experiment at the Brookhaven National Laboratory located in Long Island, New York


|
|
| GraphWeight (StructureProp structure=StructureProp()) noexcept |
| |
|
| GraphWeight (const char *filename, const ParsingProp &property=ParsingProp(parsing_prop::PRINT_INFO)) noexcept |
| |
|
| GraphWeight (StructureProp structure, const char *filename, const ParsingProp &property) noexcept |
| |
|
| GraphWeight (const eoff_t *csr_offsets, vid_t nV, const vid_t *csr_edges, eoff_t nE, const weight_t *csr_weights) noexcept |
| |
|
const coo_t * | coo_array () const noexcept |
| |
|
const weight_t * | out_weights_array () const noexcept |
| |
|
const weight_t * | in_weights_array () const noexcept |
| |
|
void | print () const noexcept override |
| |
|
void | print_raw () const noexcept override |
| |
|
void | toBinary (const std::string &filename, bool print=true) const |
| |
|
void | toMarket (const std::string &filename) const |
| |
|
Vertex | vertex (vid_t index) const noexcept |
| |
|
Edge | edge (eoff_t index) const noexcept |
| |
|
degree_t | out_degree (vid_t index) const noexcept |
| |
|
degree_t | in_degree (vid_t index) const noexcept |
| |
|
const eoff_t * | out_offsets_ptr () const noexcept |
| |
|
const eoff_t * | in_offsets_ptr () const noexcept |
| |
|
const vid_t * | out_edges_ptr () const noexcept |
| |
|
const vid_t * | in_edges_ptr () const noexcept |
| |
|
const degree_t * | out_degrees_ptr () const noexcept |
| |
|
const degree_t * | in_degrees_ptr () const noexcept |
| |
|
degree_t | max_out_degree () const noexcept |
| |
|
degree_t | max_in_degree () const noexcept |
| |
|
vid_t | max_out_degree_id () const noexcept |
| |
|
vid_t | max_in_degree_id () const noexcept |
| |
|
bool | is_directed () const noexcept |
| |
|
bool | is_undirected () const noexcept |
| |
|
void | print_degree_distrib () const noexcept |
| |
|
void | print_degree_analysis () const noexcept |
| |
|
void | writeBinary (const std::string &filename, bool print=true) const |
| |
|
void | writeMarket (const std::string &filename, bool print=true) const |
| |
|
void | writeDimacs10th (const std::string &filename, bool print=true) const |
| |
|
virtual vid_t | nV () const noexcept final |
| |
|
virtual eoff_t | nE () const noexcept final |
| |
|
virtual const std::string & | name () const noexcept final |
| |
|
virtual void | read (const char *filename, const ParsingProp &prop=ParsingProp(parsing_prop::PRINT_INFO)) final |
| |


This site is meant to showcase my motivations, methods and experiences. Or, in other words, my "Why", "How" and "What". Motivations are the most foundational and give reason for the others, so it's only right to begin at the start.
This site is meant to showcase my motivations, methods and experiences. Or, in other words, my "Why", "How" and "What". Motivations are the most foundational and give reason for the others, so it's only right to begin at the start.
I want to bring people together by helping them better understand one another. I believe being understood is one of the most important aspects in operating a successful team, forming strong community and leading a happy, fulfilling life. And in working toward this I want the things I make to function simply with a focus on aesthetics and ease-of-use.
I enjoy working in agile development cycles as I believe they allow for rapid iteration and adaptive specifications. Thorough designs save the need for excessive and costly change, but agile development has allowed my teams to quickly respond to necessary, unforeseen changes.
Flexibility is important in the design and execution phases of a project. The agile development cycle brings this idea to the fore and working with this mentality is paramount as it allows past failures and flaws to be amended and learned from.
Working well with others, communicating and interacting, is more important than raw programming talent.
Robert C. Martin, Agile Software Development Principles Patterns and Practices
Poor teamwork slows the development process and can make for a hostile work environment, so I advocate for strong communication and cooperation at every turn. Understanding can be achieved only if communication is prioritized.
I enjoy learning new tools and technologies. I've gotten to learn a number of different languages and frameworks across the teams and projects I've worked on but every day brings new things to learn and discover.
Most recently I've been learning Vue.js and every day I'm learning to better communicate in and between teams. Remote and in-person work have shown me how necessary and beneficial good communication can be.
I have a few notable projects I've worked on over the years. You can check them out here.
When not working I like to read, work out and run. Occasionally I enjoy working on side projects, snowboarding, learning an instrument or language and traveling with family and friends. If I'm not too lethargic, you can check out my activity on Strava, GitHub or Duolingo.
Some of the books that have had an outsize impact on me:


Update lens data file structure:
display focal range for owned lenses (or plot alternate chart - eg: plotly bullet chart, check cdn)
try to integrate previews for tooltips (eg: something similar to this NIKKOR Lens Simulator)
enable sorting and filtering for lens, AF, min aperture and price
try to do conditional coloring (Excel-like) by mapping the prices and the min apertures to a bicolor colormap and minmax scale prices in the coloring interval; programatically insert rules per each ID


All of our agents are standing by to help you with your travel arrangments. Please see the contact page to initiate a reservation or to ask about travel vouchers, flight times and passport/customs information.
//! insert link for contact information in this section/Please click here for a map of our location in Cabo Blanco, Costa Rica:
Here is a list of our airline partners:


Its simple, we just love what we do!
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries. Lorem Ipsum is simply dummy text of the printing and typesetting industry.


https://mirrors.edge.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/tuntap.txt
Universal TUN/TAP device driver.
Copyright (C) 1999-2000 Maxim Krasnyansky<EMAIL_ADDRESS>Linux, Solaris drivers
Copyright (C) 1999-2000 Maxim Krasnyansky<EMAIL_ADDRESS>FreeBSD TAP driver
Copyright (c) 1999-2000 Maksim Yevmenkin<EMAIL_ADDRESS>1. Description
TUN/TAP provides packet reception and transmission for user space programs.
It can be viewed as a simple Point-to-Point or Ethernet device, which
instead of receiving packets from a physical media, receives them from
user space program and instead of sending packets via physical media
writes them to the user space program.
When a program opens /dev/net/tun, driver creates and registers corresponding
net device tunX or tapX. After a program closed above devices, driver will
automatically delete tunXX or tapXX device and all routes corresponding to it.
This package(http://vtun.sourceforge.net/tun) contains two simple example
programs how to use tun and tap devices. Both programs works like
bridge between two network interfaces.
br_select.c - bridge based on select system call.
br_sigio.c - bridge based on async io and SIGIO signal.
However the best example is VTun http://vtun.sourceforge.net :))
2. Configuration
Create device node:
mknod /dev/net/tun c 10 200
Driver module autoloading
Make sure that "Kernel module loader" - module auto-loading support is enabled
in your kernel.
Add following line to the /etc/modules.conf:
alias char-major-10-200 tun
Run:
depmod -a
Driver will be automatically loaded when application access /dev/net/tun.
3. Program interface
3.1 Network device allocation:
int tun_alloc(char *dev)
{
struct ifreq ifr;
int fd, err;
if( (fd = open("/dev/net/tun", O_RDWR)) < 0 )
return tun_alloc_old(dev);
memset(&ifr, 0, sizeof(ifr));
/* Flags: IFF_TUN - TUN device (no Ethernet headers)
* IFF_TAP - TAP device
*
* IFF_NO_PI - Do not provide packet information
*/
ifr.ifr_flags = IFF_TUN;
if( *dev )
strncpy(ifr.ifr_name, dev, IFNAMSIZ);
if( (err = ioctl(fd, TUNSETIFF, (void *) &ifr)) < 0 ){
close(fd);
return err;
}
strcpy(dev, ifr.ifr_name);
return fd;
}
3.2 Frame format:
If flag IFF_NO_PI is not set each frame format is:
Flags [2 bytes]
Proto [2 bytes]
Raw protocol(IP, IPv6, etc) frame.
Universal TUN/TAP device driver Frequently Asked Question.
1. What is the TUN ?
The TUN is Virtual Point-to-Point network device.
TUN driver was designed as low level kernel support for
IP tunneling. It provides to userland application
two interfaces:
- /dev/tunX - character device;
- tunX - virtual Point-to-Point interface.
Userland application can write IP frame to /dev/tunX
and kernel will receive this frame from tunX interface.
In the same time every frame that kernel writes to tunX
interface can be read by userland application from /dev/tunX
device.
2. What is the TAP ?
The TAP is a Virtual Ethernet network device.
TAP driver was designed as low level kernel support for
Ethernet tunneling. It provides to userland application
two interfaces:
- /dev/tapX - character device;
- tapX - virtual Ethernet interface.
Userland application can write Ethernet frame to /dev/tapX
and kernel will receive this frame from tapX interface.
In the same time every frame that kernel writes to tapX
interface can be read by userland application from /dev/tapX
device.
3. What platforms are supported by TUN/TAP driver ?
Currently driver has been written for 3 Unices:
Linux kernels 2.2.x, 2.4.x
FreeBSD 3.x, 4.x, 5.x
Solaris 2.6, 7.0, 8.0
4. What is TUN/TAP driver used for?
As mentioned above, main purpose of TUN/TAP driver is tunneling.
It is used by VTun (http://vtun.sourceforge.net).
5. How does Virtual network device actually work ?
Virtual network device can be viewed as a simple Point-to-Point or
Ethernet device, which instead of receiving packets from a physical
media, receives them from user space program and instead of sending
packets via physical media sends them to the user space program.
Let's say that you configured IPX on the tap0, then whenever
kernel sends any IPX packet to tap0, it is passed to the application
(VTun for example). Application encrypts, compresses and sends it to
the other side over TCP or UDP. Application on other side decompress
and decrypts them and write packet to the TAP device, kernel handles
the packet like it came from real physical device.
6. What is the difference between TUN driver and TAP driver?
TUN works with IP frames. TAP works with Ethernet frames.
7. What is the difference between BPF and TUN/TAP driver?
BFP is a advanced packet filter. It can be attached to existing
network interface. It does not provide virtual network interface.
TUN/TAP driver does provide virtual network interface and it is possible
to attach BPF to this interface.
8. Does TAP driver support kernel Ethernet bridging?
Yes. Linux and FreeBSD drivers support Ethernet bridging.


|
Documentation for C++/SDL 2.0 Tile Engine
Making a simple tile based engine
|
A base class for GameObjects to inherit from. More...
#include <gameobject.h>
Inherited by Button, Npc, Player, and TileBar.
Public Member Functions | |
| virtual void | Update ()=0 |
| Update the game object. | |
| virtual void | Move (float deltaT)=0 |
| virtual void | Draw (Camera *cam=nullptr)=0 |
| virtual void | OnMouseDown () |
| On mouse down events. | |
| virtual void | OnMouseUp () |
| On mouse up event. | |
| virtual void | OnMouseEnter () |
| On mouse enter. | |
| virtual void | OnMouseExit () |
| On mouse exit. | |
| virtual void | CheckMouseOver (const Vector2f &pos) |
| bool | GetMouseOver () |
| Return T/F is the mouse is over the object. | |
| bool | HasTag (std::string tag) |
| virtual Json::Value | Save () |
| virtual void | Load (Json::Value val) |
| void | SetCollisionMap (CollisionMap map) |
| Rectf | Box () |
| Get the object's box. |
Protected Attributes | |
| Image | mImage |
| Physics | mPhysics |
| Handle's the objects physics. | |
| std::string | mTag |
| To store tags to identify the object. |
A base class for GameObjects to inherit from.
Base class for gameobjects, has methods for intialization, updating setting colliison maps, mouse interaction, etc.
|
virtual |
Check if mouse entered the object's box Updates mMouseOver accordingly
| pos | The mouse pos to check |
|
pure virtual |
| bool GameObject::HasTag | ( | std::string | tag | ) |
Check if the gameobject has the tag
| tag | The tag to check for |
|
virtual |
Load the gameobject from a Json::Value The GameObject instance of the function takes care of loading the base object members, physics, image and tags
| val | The Json::Value to load from |
Reimplemented in ObjectButton< T >, Button, TileBar, Npc, and Player.
|
pure virtual |
|
virtual |
Save the gameobject data to a json value and return it The GameObject instance of the function takes care of saving the base object members, physics, image and tags
Reimplemented in Button, ObjectButton< T >, TileBar, Npc, and Player.
|
inline |
Set a collision map for the physics member to check against
| map | The collision map |


|
| | Locator () |
| | Default constructor for locator class. This is for demo purposes. The non-default constructor should be used to set camera parameters in cv::Mat format. More...
|
| |
| | Locator (cv::Mat rotationM, cv::Mat translationVec, cv::Mat intrinsicM) |
| | Constructor to set camera parameters. All parameters should be in matrix form (cv::Mat). More...
|
| |
| void | setPixelData (cv::Rect &pixelData) |
| | Receives pixel data as type cv::Rect, and sets it to the private attribute pixelPoint. It later uses the private method pixelVector() to extract important information of data given, and creates a vector of type cv::Mat. More...
|
| |
| cv::Rect | getPixelData () |
| | Gets pixelData. More...
|
| |
| void | worldPos () |
| | Calculations to obtain Real World Coordinates. Highly important to detect distance of object. More...
|
| |
| void | printPositions () |
| | Prints the Real World Coordinates. More...
|
| |
| cv::Mat | getRotationMatrix () |
| | Getter method to return rotation matrix. Mostly used for unit testing. More...
|
| |
| cv::Mat | getTranslationVector () |
| | Getter method to return translation vector. Mostly used for unit testing. More...
|
| |
| cv::Mat | getInstrinsicMatrix () |
| | Getter method to return intrinsic matrix. Mostly used for unit testing. More...
|
| |
|
|
cv::Mat | worldCoord |
| | World Coordinates in cv::Mat datatype.
|
| |
Default constructor for locator class. This is for demo purposes. The non-default constructor should be used to set camera parameters in cv::Mat format.
- Parameters
-
- Returns
- none
rotation matrix is conformed of [r1 r2 translation]. r3 isn't necessary because it is a redundant cross product of the first 2 columns
| Locator::Locator |
( |
cv::Mat |
rotationM, |
|
|
cv::Mat |
translationVec, |
|
|
cv::Mat |
intrinsicM |
|
) |
| |
Constructor to set camera parameters. All parameters should be in matrix form (cv::Mat).
- Parameters
-
| rotationM,translationVec,intrinsicM | These are the parameters in which to get accurate 3D position. |
- Returns
- none
Check size of matrix
| cv::Mat Locator::getInstrinsicMatrix |
( |
| ) |
|
Getter method to return intrinsic matrix. Mostly used for unit testing.
- Parameters
-
- Returns
- _intrinsicM Intrinsic Matrix as cv::Mat
| cv::Rect Locator::getPixelData |
( |
| ) |
|
Gets pixelData.
- Parameters
-
- Returns
- none
| cv::Mat Locator::getRotationMatrix |
( |
| ) |
|
Getter method to return rotation matrix. Mostly used for unit testing.
- Parameters
-
- Returns
- _rotationM Rotation matrix as cv::Mat
| cv::Mat Locator::getTranslationVector |
( |
| ) |
|
Getter method to return translation vector. Mostly used for unit testing.
- Parameters
-
- Returns
- _transVec Trasnlation vector as cv::Mat
| void Locator::printPositions |
( |
| ) |
|
Prints the Real World Coordinates.
- Parameters
-
- Returns
- none
Prints position of object detected (human in this case).
| void Locator::setPixelData |
( |
cv::Rect & |
pixelData | ) |
|
Receives pixel data as type cv::Rect, and sets it to the private attribute pixelPoint. It later uses the private method pixelVector() to extract important information of data given, and creates a vector of type cv::Mat.
- Parameters
-
| pixelData | pixel data which is given as bounding box information |
- Returns
- none
Sets pixelData to attribute pixelPoint
| void Locator::worldPos |
( |
| ) |
|
Calculations to obtain Real World Coordinates. Highly important to detect distance of object.
- Parameters
-
- Returns
- none
Calculates real world coordinate with intrinsic and extrinsic camera parameters.
worldCoord = (((pixelCoord * _intrinsicM.inv()) - _transVec ) * _rotationM.inv()) / 1000;
The documentation for this class was generated from the following files: