Detailed course offerings (Time Schedule) are available for
PHG 200 Implications of Public Health Genomics for the Modern World (3-5) I&S/NW P. KUSZLER
Introduces the field of public health genomics through examples of genetic, ethical, political, and social issues emerging in the wake of the Human Genome Project. Students develop the skills to analyze and critique public health, clinical, personal, and social implications resulting from emerging genomic technologies. Offered: A.
View course details in MyPlan: PHG 200
PHG 301 Introduction to Genetic Epidemiology (3) I&S/NW
Explores basic approaches that are used to identify genetic and environmental factors in health and disease, and how application of this information can be used to improve population health. Discusses the relevant ethical, legal, and social implications that occur in research and translation to practice. Offered: W.
View course details in MyPlan: PHG 301
PHG 302 Forensic Genetics (3) I&S/NW, QSR B. WEIR
Introduces the field of forensic genetics through discussion of genetic and statistical issues emerging since the introduction of DNA profiling. Students develop the skills to interpret the evidence of matching genetic profiles; to perform calculations relevant for parentage determination; the identification of remains; and to consider the implications of familial searching of DNA databases. Prerequisite: either BIOST 310, STAT 220, STAT 221/CS&SS 221/SOC 221, STAT 311, Q SCI 381, or Q METH 201. Offered: jointly with BIOST 302; W.
View course details in MyPlan: PHG 302
PHG 511 Genetic Epidemiology (3)
Research methods for evaluating genetic influences on disease and risk factors and genetic-environmental interactions. Study designs and statistical methods include twin studies, family studies, population-based association studies, segregation analysis, and linkage analysis. Prerequisite: EPI 511, BIOST 511, and GENOME 371, or equivalent. Offered: jointly with EPI 517; Sp.
View course details in MyPlan: PHG 511
PHG 512 Legal, Ethical, and Social Issues in Public Health Genetics (3)
Equips the student to anticipate and assess potential legal, ethical, and social barriers complicating the incursion of new genetic advances, information, and technologies into public and private healthcare delivery efforts. Prerequisite: GENOME 361, GENOME 371, or equivalent. Offered: jointly with B H 514/LAW H 504; A.
View course details in MyPlan: PHG 512
PHG 513 Basic Concepts in Pharmacogenetics and Toxicogenomics (3)
Addresses current technologies for DNA sequencing, genotyping, RNA and epigenetic analysis and basic concepts of pharmacogenetics and toxicogenomics. Emphasis placed on applications of genomic technologies to the understanding of "gene-environment interactions" that cause variability in drug treatment responses, as well as diseases of public health importance, including cancer, chronic neurological diseases, and adverse drug reactions. Offered: jointly with ENV H 513/PCEUT 513; W.
View course details in MyPlan: PHG 513
PHG 519 Statistical Methods in Genetic Epidemiology (3)
Theory and application of statistical techniques used in genetic epidemiology. Includes discussion of association studies, linkages and segregation analyses. Examples stressed with reference to assumptions and limitations. Prerequisite: either BIOST 513 or BIOST 518; PHG 511/EPI 517; or permission of instructor. Offered: jointly with BIOST 516/EPI 516.
View course details in MyPlan: PHG 519
PHG 521 Culture, Society, and Genomics (3) B. MCGRATH
Examines social and cultural issues of human genome sequencing and control of genetic expression. Attitudes and behaviors toward health, illness, and disability are studied using historical, contemporary, and cross-cultural case study material. Offered: jointly with ANTH 574/NURS 582; Sp.
View course details in MyPlan: PHG 521
PHG 523 Genetics and the Law (3)
Explores and analyzes legal issues arising from genetic technologies and information. Statutes, regulations, and cases demonstrate the constitutional, contract, tort, criminal, and family law use of genetic science to determine rights, disputes, and controversies. Prerequisite: LAW H 504/B H 514/PHG 512 or permission of instructor. Offered: jointly with LAW H 520; Sp.
View course details in MyPlan: PHG 523
PHG 536 Bioinformatics and Gene Sequence Analysis (3) T. ROSE
Nature and relevance of molecular sequence information, computer-based protein, and DNA sequence analysis, molecular sequence and genomic databases, and methods for database accession and interrogation. Prerequisite: background in molecular biology and permission of instructor. Offered: jointly with BIME 536/PABIO 536; Sp.
View course details in MyPlan: PHG 536
PHG 542 Genetic Discovery in Medicine and Public Health (3) Burke
Addresses the implications of genetic science for clinical and public health practice, with an emphasis on health policy and ethics. Offered: jointly with B H 530; W.
View course details in MyPlan: PHG 542
PHG 551 Human Genomics: Science, Ethics, and Society (3) Fullerton
Explores the ethical and social implications of human molecular genetics and genomics investigation. Recent research is critically evaluated for its potential impact on scientific practice, research participation, and societal understandings. Prerequisite: LAW H 504/B H 514/ PHG 512 or permission of instructor. Offered: jointly with B H 551/GENOME 573; A.
View course details in MyPlan: PHG 551
PHG 580 Interactive Seminar (1, max. 30) Lin
Seminar series on topics related to public health genetics, including current bioethical, legal, medical, biotechnology, and public policy issues. Credit/no-credit only. Offered: jointly with LAW H 579; AWSp.
View course details in MyPlan: PHG 580
PHG 590 Selected Topics in Public Health Genetics (1-6, max. 6)
Tutorials are arranged for a small number of students for in-depth examination of an area of public health genetics, usually of a current nature.
View course details in MyPlan: PHG 590
PHG 595 Master's Practicum (1-12, max. 12)
Supervised practice experience providing students an opportunity to learn how genetics is applied in a public health setting and in the formulation and application of public health policy. Prerequisite: practicum agreement.
View course details in MyPlan: PHG 595
PHG 600 Independent Study or Research (*-)
Credit/no-credit only.
View course details in MyPlan: PHG 600
PHG 700 Master's Thesis (*-)
Credit/no-credit only.
View course details in MyPlan: PHG 700
PHG 800 Doctoral Dissertation (*-)
Credit/no-credit only.
View course details in MyPlan: PHG 800


Post
by Santa Maria, Steven * August 28, 2015
In light of the recent scandal facing Ashley Madison, we can log yet another episode of hacking on a massive scale. It seems to me that there's been one of these hacking stories at least once every several months. However, it's not just the "big guys" who are vulnerable--it's also smaller websites that are at risk.
One common hacking tool I'd like to highlight is SQL Injection. As the name implies, it relies on a hacker to use SQL statements to query and even change the databases that support web apps.
For example, let's say we had login form for a web app. Behind most forms are SQL statements kind of like this:
SELECT * FROM users WHERE username = "Some-Name"
If we were somebody with malicious intent, we could add an extra quotation mark and put additional commands into the username field of the form:
Chris""; DELETE * FROM table_name;
This results in the true SQL statement below:
SELECT * FROM users WHERE username = "Chris""; DELETE * FROM table_name;
Essentially what we're doing here is deleting all records from a table.
How do we counter this? We can use escapes like putting a \ before quotations before the command is sent to the database. We can also use "prepared statements."
SQL injections are devastatingly simple in their execution and represent a major vulnerability in how database querying is performed. As developers and as we launch a web app, it'll be imperative to check for these weaknesses else risk our careers.


Weather Dashboard
Select Your City:
Previous Cities
Today in...
Temperature:
Humidity:
Wind Speed:
UV Index:
5 Day Forecast:


Cookbook/InterfacingWithCSharp
Contents |
Interfacing with Kdb+ from C#
Introduction
The C# interface to Kdb+ is implemented in the c class available from here. The c class implements the protocol to interact with a Kdb+ server. The interface is similar, but not exactly the same as that for interfacing Kdb+ with Java.
Instances may be constructed with one of the following constructors:
| Signature | Notes |
| public c(string host, int port, string usernameAndPassword) | Throws Exception("access") if access is denied by the Kdb+ server. The username and password should be of the format "username:password" |
| public c(string host, int port) | Throws Exception("access") if access is denied by the Kdb+ server. Uses Environment.!UserName as the login name and password |
It is important to explicitly close the c object, via the Close method, when we are finished with the connection to a Kdb+ server.
The class provides a number of other features explored in the following sections.
Utility class for Kdb+ types
Within the c class there are a number of utility classes provided which match the available types in Kdb+ which do not map directly to standard classes such as Integer. In general these classes have all their fields declared with public access, and several provide custom toString() methods to decode the data payload.
| Class | Members | Methods | Notes |
| Dict | object x; object y | int find(string[] x, string y) | - |
| Flip | string[] x, object[] y | public object at(string s) | - |
| Month | int i | string ToString() | Provides ToString() to decode the i field |
| Minute | int i | string ToString() | Provides ToString() to decode the i field |
| Second | int i | string ToString() | Provides ToString() to decode the i field |
| Date | int i | string ToString() | Provides ToString() to decode the i field. Provides constructors which decode from int, long and DateTime |
Creating null values
For each type character, we can get a reference to a null Kdb+ value by indexing into the NU Object array using the NULL utility method. Note that the kdb+ null values are not the same as C#'s null.
An example of creating an object array containing two null Kdb+ integers:
#!text/x-c++src object[] twoNullIntegers = {NULL('i'), NULL('i')};
The Kdb+ null values are mapped to C# values according to the following table:
| Kdb+ type | Kdb+ null accessor | C# null |
| Boolean | NULL('b') | false |
| Byte | NULL('x') | (byte)0 |
| Short | NULL('h') | Int16.MinValue |
| Integer | NULL('i') | Int32.MinValue |
| Long | NULL('j') | Int64.MinValue |
| Float | NULL('e') | (Single)Double.NaN |
| Double | NULL('f') | Double.NaN |
| Character | NULL('c') | ' ' |
| String | NULL('s') | "" |
| Timestamp | NULL('p') | DateTime(0) |
| Month | NULL('m') | Month(Int32.!MinValue) |
| Date | NULL('d') | Date(Int32.!MinValue) |
| DateTime | NULL('z') | DateTime(0) |
| TimeSpan | NULL('n') | TimeSpan(Int32.!MinValue) |
| Minute | NULL('u') | Minute(Int32.!MinValue) |
| Second | NULL('v') | Second(Int32.!MinValue) |
| Time | NULL('t') | TimeSpan(Int64.!MinValue) |
We can check whether a given Object x is a Kdb+ null using the c utility method:
#!text/x-c++src public static bool qn(object x);
Kdb+ types of C# objects
For reference, internally, types are mapped as follows for scalars:
| C# Object Type | Kdb+ type number |
| bool | -1 |
| byte | -4 |
| short | -5 |
| int | -6 |
| long | -7 |
| float | -8 |
| double | -9 |
| char | -10 |
| string | -11 |
| *DateTime | -12 |
| Month | -13 |
| Date | -14 |
| *DateTime | -15 |
| *TimeSpan | -16 |
| Minute | -17 |
| Second | -18 |
| *TimeSpan | -19 |
and the following for complex data:
| C# Object Type | Kdb+ type number |
| bool[] | 1 |
| byte[] | 4 |
| short[] | 5 |
| int[] | 6 |
| long[] | 7 |
| float[] | 8 |
| double[] | 9 |
| char[] | 10 |
| String[] | 11 |
| *DateTime[] | 12 |
| Month[] | 13 |
| Date[] | 14 |
| *DateTime[] | 15 |
| *TimeSpan[] | 16 |
| Minute[] | 17 |
| Second[] | 18 |
| *TimeSpan[] | 19 |
| Flip | 98 |
| Dict | 99 |
DateTime/Timespan - with the introduction of the new time types (timespan, timestamp) the C# driver evolved to remap these, hence it can no longer write kdb+ datetime/time - it writes timestamp and timespan. However, this can be handled by e.g. casting the resulting timestamp to a datetime on the server side if such compatibility is required.
The default return value for all other objects is 0.
Interacting with Kdb+ via an open c instance
Interacting with the Kdb+ server is very simple. You must make a basic choice between sending a message to the server where you expect no answer, or will check later for an answer.
In the first case, where we will not wait for a response, use the ks method on a c instance:
| Method |
| public void ks(String s) |
| public void ks(String s,Object x) |
| public void ks(String s,Object x,Object y) |
Alternatively, should we expect an immediate response use the k method:
| public object k(object x) |
| public object k(string s) |
| public object k(string s,object x) |
| public object k(string s,object x,object y) |
| public object k(string s,object x,object y,object z) |
The parameters to methods k and ks, and its result are arbitrarily nested arrays (Integer, Double, int[], DateTime, etc). If you need to pass more than 3 arguments, you should put them in list(s).
As a special case of the k method, we may receive a message from the server without sending any message as an argument:
| Method |
| public object k() |
Accessing elements of arrays
We can access elements using the "at" method:
| public static object at(object x,int i) | Returns the object at x[i] or null |
and set them with "set":
| public static void set(object x,int i,object y) | Set x[i] to y, or the appropriate Kdb+ null value if y is null |
Bulk transfers
A kdb+tick feed handler can send one record at a time, like this
#!text/x-c++src Object[] row = {"ibm", new Double(93.5), new Integer(300)}; c.ks(".u.upd", "trade", row);
or send many record at a time:
#!text/x-c++src int n = 100; Object[] rows = {new String[n], new double[n], new int[n]}; for(int i=0; i<n ; i++) { rows[0][i] = ...; ... } c.ks(".u.upd", "trade", rows);
This example assumes rows with three fields, symbol, price and size.
Exceptions
The c class throws exceptions of C# class Exceptions both for typical socket read/write reasons and in higher level cases. That is, errors at the Kdb+ level rather than the Socket level.


I’ve been slowly developing a raytracer which has been a lot of fun and a great learning experience both from a technical standpoint and the theoretical side of physically-based rendering.
I’m at a point now where I am importing meshes of a larger nature, and I was not content with my BVH implementation. As much as I would like to read the state of the art papers on BVH construction and traversal and implement them myself, I’ve decided to opt to use embree instead. I would rather focus on the light transport part and focus on getting prettier images and getting them to converge quicker from an algorithmic standpoint. As a friend of mine said, I have to pick my battles, and embree is going to do a lot of heavy lifting for me so that I can focus more on what I’d like to write.
Setting up embree with CMake is quite easy I’ve got the full source code of this post available here , and I won’t go into details into how to set it up - the CMakeLists.txt is quite self explanatory and I’ve added as much comments as I can.
As great and as fleshed out the samples are, there is a lot of boilerplate code, written in different header files. This put me off initially but with a bit of digging, and building the samples with a powerful IDE went long way in help way in helping me zip around the API and the headers.
I thought it would be interesting to write the simplest thing I can think of with embree, a hello world ray tracing example if you will, I’ll explain below what we’ll do.


I am a paragraph I should be blue, Helvetica, size 16px.
I am a paragraph I should be blue, Helvetica, size 16px.
something about learning. There are three types:
kin is all about movement. You might learn in ways such as:
vis is all about looking at stuff. You might learn in ways such as:
aud is all about listening. You might learn in ways such as:


Graph3D uses the HTML Canvas element. This element is supported by all major browsers. The Canvas element is also supported in Internet Explorer 9 and newer. However, for Internet Exporer it is necessary to specify the doctype of the html page:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!-- ... -->
</head>
<body>
<!-- ... -->
</body>
</html>


Spoilers: Tori goes into labour in Home and Away
Ever since Robbo’s (Jake Ryan) life became endangered, placing those around him in danger too, we haven’t heard much from a heavily pregnant Tori (Penny McNamee) as she has been placed under AFP protection in a remote safe house.
With Jasmine (Sam Frost) now returned to the house due to Robbo being missing, Tori has more company than an AFP officer. However, her worries for Robbo have risen along with Jasmine’s.
Jasmine stresses out over Robbo not having returned her calls all week, and worries that something bad has happened. Although Scott (Trent Baines) and Tori try to reassure her otherwise, Jasmine struggles to believe that a week of no contact is simply Robbo tying up loose ends.
However, her worries are suddenly swept to one side when Tori’s water breaks and she goes into labour. Tori becomes panicked, as due to her remote location and her suture, she could easily have complications.
Scott goes to call Robbo and a doctor, and it isn’t long before medical assistance arrives to remove the suture and help with the delivery.
Advertisement Advertisement
Jasmine asks Scott if he got through to Robbo, but he simply says he left a message for Lance (Angus McLaren), causing Jasmine to become even more convinced that something has happened to her husband.
Tori’s labour quickly develops, and the doctor tells her that it will soon be time to push. Tori worries that she can’t do it without Robbo, and Jasmine has to put her fears for Robbo aside again to focus on reassuring Tori.
Scott then manages to slip away and call Robbo, telling him that Tori is about to give birth – and he needs to get there ASAP…


--- title: Theory of Misorientations sidebar: documentation_sidebar permalink: MisorientationTheory.html folder: documentation toc: false ---
Misorientation describe the relative orientation of two crystal with respect to each other. Those crystal may be of the same phase or of different phases. Misorientation are used to describe
Misorientation describes the relative orientation of two grains with respect to each other. Important concepts are twinnings and CSL (coincidence site lattice) misorientations. To illustrate this concept at a practical example let us first import some Magnesium EBSD data.
{% highlight matlab %} mtexdata twins silent % use only proper symmetry operations ebsd('M').CS = ebsd('M').CS.properGroup; % compute grains grains = calcGrains(ebsd('indexed'),'threshold',5*degree); CS = grains.CS; % extract crystal symmetry {% endhighlight %}Next we plot the grains together with their mean orientation and highlight grain 74 and grain 85
{% highlight matlab %} plot(grains,grains.meanOrientation,'micronbar','off') hold on plot(grains([74,85]).boundary,'edgecolor','w','linewidth',2) hold off text(grains([74,85]),{'1','2'}) {% endhighlight %}After extracting the mean orientation of grain 74 and 85
{% highlight matlab %} ori1 = grains(74).meanOrientation; ori2 = grains(85).meanOrientation; {% endhighlight %}we may compute the misorientation angle between both orientations by
{% highlight matlab %} angle(ori1, ori2) ./ degree {% endhighlight %} {% highlight plaintext %} ans = 85.6996 {% endhighlight %}Note that the misorientation angle is computed by default modulo crystal symmetry, i.e., the angle is always the smallest angles between all possible pairs of symmetrically equivalent orientations. In our example this means that symmetrisation of one orientation has no impact on the angle
{% highlight matlab %} angle(ori1, ori2.symmetrise) ./ degree {% endhighlight %} {% highlight plaintext %} ans = 85.6996 85.6996 85.6996 85.6996 85.6996 85.6996 85.6996 85.6996 85.6996 85.6996 85.6996 85.6996 {% endhighlight %}The misorientation angle neglecting crystal symmetry can be computed by
{% highlight matlab %} angle(ori1, ori2.symmetrise,'noSymmetry')./ degree {% endhighlight %} {% highlight plaintext %} ans = 107.9490 100.9100 94.3022 136.6144 107.7191 179.5950 140.0710 137.3683 179.8142 101.4342 140.4132 85.6996 {% endhighlight %}We see that the smallest angle indeed coincides with the angle computed before.
Remember that both orientations ori1 and ori2 map crystal coordinates onto specimen coordinates. Hence, the product of an inverse orientation with another orientation transfers crystal coordinates from one crystal reference frame into crystal coordinates with respect to another crystal reference frame. This transformation is called misorientation
{% highlight matlab %} mori = inv(ori1) * ori2 {% endhighlight %} {% highlight plaintext %} mori = misorientation (Magnesium → Magnesium) Bunge Euler angles in degree phi1 Phi phi2 149.587 94.3019 150.14 {% endhighlight %}In the present case the misorientation describes the coordinate transform from the reference frame of grain 85 into the reference frame of crystal 74. Take as an example the plane {11-20} with respect to the grain 85. Then the plane in grain 74 which alignes parallel to this plane can be computed by
{% highlight matlab %} round(mori * Miller(1,1,-2,0,CS)) {% endhighlight %} {% highlight plaintext %} ans = Miller (Magnesium) h k i l 2 -1 -1 0 {% endhighlight %}Conversely, the inverse of mori is the coordinate transform from crystal 74 to grain 85.
{% highlight matlab %} round(inv(mori) * Miller(2,-1,-1,0,CS)) {% endhighlight %} {% highlight plaintext %} ans = Miller (Magnesium) h k i l 1 1 -2 0 {% endhighlight %}The coincidence between major lattice planes may suggest that the misorientation is a twinning misorientation. Lets analyse whether there are some more alignments between major lattice planes.
{% highlight matlab %} %m = Miller({1,-1,0,0},{1,1,-2,0},{1,-1,0,1},{0,0,0,1},CS); m = Miller({1,-1,0,0},{1,1,-2,0},{-1,0,1,1},{0,0,0,1},CS); % cycle through all major lattice planes close all for im = 1:length(m) % plot the lattice planes of grains 85 with respect to the % reference frame of grain 74 plot(mori * m(im).symmetrise,'MarkerSize',10,... 'DisplayName',char(m(im)),'figSize','large','noLabel','upper') hold all end hold off % mark the corresponding lattice planes in the twin mm = round(unique(mori*m.symmetrise,'noSymmetry'),'maxHKL',6); annotate(mm,'labeled','MarkerSize',5,'figSize','large','textAboveMarker') % show legend legend({},'location','SouthEast','FontSize',13); {% endhighlight %}we observe an almost perfect match for the lattice planes {11-20} to {-2110} and {1-101} to {-1101} and good coincidences for the lattice plane {1-100} to {0001} and {0001} to {0-661}. Lets compute the angles explicitly
{% highlight matlab %} angle(mori * Miller(1,1,-2,0,CS),Miller(2,-1,-1,0,CS)) / degree angle(mori * Miller(1,0,-1,-1,CS),Miller(1,-1,0,1,CS)) / degree angle(mori * Miller(0,0,0,1,CS) ,Miller(1,0,-1,0,CS),'noSymmetry') / degree angle(mori * Miller(1,1,-2,2,CS),Miller(1,0,-1,0,CS)) / degree angle(mori * Miller(1,0,-1,0,CS),Miller(1,1,-2,2,CS)) / degree {% endhighlight %} {% highlight plaintext %} ans = 0.4456 ans = 0.2015 ans = 59.6819 ans = 2.6310 ans = 2.5651 {% endhighlight %}Lets define a misorientation that makes a perfect fit between the {11-20} lattice planes and between the {10-11} lattice planes
{% highlight matlab %} mori = orientation.map(Miller(1,1,-2,0,CS),Miller(2,-1,-1,0,CS),... Miller(-1,0,1,1,CS),Miller(-1,1,0,1,CS)) % the rotational axis round(mori.axis) % the rotational angle mori.angle / degree {% endhighlight %} {% highlight plaintext %} mori = misorientation (Magnesium → Magnesium) (01-10) || (10-10) [0001] || [0001] ans = Miller (Magnesium) h k i l 1 0 -1 0 ans = 0 {% endhighlight %}and plot the same figure as before with the exact twinning misorientation.
{% highlight matlab %} % cycle through all major lattice planes close all for im = 1:length(m) % plot the lattice planes of grains 85 with respect to the % reference frame of grain 74 plot(mori * m(im).symmetrise,'MarkerSize',10,... 'DisplayName',char(m(im)),'figSize','large','noLabel','upper') hold all end hold off % mark the corresponding lattice planes in the twin mm = round(unique(mori*m.symmetrise,'noSymmetry'),'maxHKL',6); annotate(mm,'labeled','MarkerSize',5,'figSize','large') % show legend legend({},'location','NorthWest','FontSize',13); {% endhighlight %}It turns out that in the previous EBSD map many grain boundaries have a misorientation close to the twinning misorientation we just defined. Lets Lets highlight those twinning boundaries
{% highlight matlab %} % consider only Magnesium to Magnesium grain boundaries gB = grains.boundary('Mag','Mag'); % check for small deviation from the twinning misorientation isTwinning = angle(gB.misorientation,mori) < 5*degree; % plot the grains and highlight the twinning boundaries plot(grains,grains.meanOrientation,'micronbar','off') hold on plot(gB(isTwinning),'edgecolor','w','linewidth',2) hold off {% endhighlight %}From this picture we see that large fraction of grain boudaries are twinning boundaries. To make this observation more evident we may plot the boundary misorientation angle distribution function. This is simply the angle distribution of all boundary misorientations and can be displayed with
{% highlight matlab %} close all plotAngleDistribution(gB.misorientation) {% endhighlight %}From this we observe that we have about 50 percent twinning boundaries. Analogously we may also plot the axis distribution
{% highlight matlab %} plotAxisDistribution(gB.misorientation,'contour') {% endhighlight %}which emphasises a strong portion of rotations about the (-12-10) axis.
Misorientations may not only be defined between crystal frames of the same phase. Lets consider the phases Magnetite and Hematite.
{% highlight matlab %} CS_Mag = loadCIF('Magnetite') CS_Hem = loadCIF('Hematite') {% endhighlight %} {% highlight plaintext %} CS_Mag = crystalSymmetry mineral : Magnetite symmetry: m-3m elements: 48 a, b, c : 8.4, 8.4, 8.4 CS_Hem = crystalSymmetry mineral : Hematite symmetry : -3m1 elements : 12 a, b, c : 5, 5, 14 reference frame: X||a*, Y||b, Z||c* {% endhighlight %}The phase transition from Magnetite to Hematite is described in literature by {111}_m parallel {0001}_h and {-101}_m parallel {10-10}_h The corresponding misorientation is defined in MTEX by
{% highlight matlab %} Mag2Hem = orientation.map(... Miller(1,1,1,CS_Mag),Miller(0,0,0,1,CS_Hem),... Miller(-1,0,1,CS_Mag),Miller(1,0,-1,0,CS_Hem)) {% endhighlight %} {% highlight plaintext %} Mag2Hem = misorientation (Magnetite → Hematite) (01-1) || (0-110) [111] || [0001] {% endhighlight %}Assume a Magnetite grain with orientation
{% highlight matlab %} ori_Mag = orientation.byEuler(0,0,0,CS_Mag) {% endhighlight %} {% highlight plaintext %} ori_Mag = orientation (Magnetite → xyz) Bunge Euler angles in degree phi1 Phi phi2 0 0 0 {% endhighlight %}Then we can compute all variants of the phase transition by
{% highlight matlab %} symmetrise(ori_Mag) * inv(Mag2Hem) {% endhighlight %} {% highlight plaintext %} ans = orientation (Hematite → xyz) size: 48 x 1 {% endhighlight %}and the corresponding pole figures by
{% highlight matlab %} plotPDF(symmetrise(ori_Mag) * inv(Mag2Hem),... Miller({1,0,-1,0},{1,1,-2,0},{0,0,0,1},CS_Hem)) {% endhighlight %}


public class Dongle extends java.lang.Object implements IMiddleware, org.eclipse.paho.client.mqttv3.MqttCallback
The application can either be a dongle loaded with multiple medical devices or a client app to collect data from medical devices.
Available options for initialization: - "broker": full address to the main broker (e.g., ssl://hostname:port) - "brokers": fail-over addresses, separated with comma - "connection_timeout": timeout for connecting to broker - "retry_interval": retry interval if lost connection - "alive_interval": alive interval for MQTT connection - "qos": MQTT QoS settings (0,1,2) - "project_name": project name will be used as a base topic separation (default to DEFAULT) - "report_interval": interval for which the dongle send report message to MapManager - "username": username to login broker - "password": password to login broker - "report_interval": interval for which the dongle send report message to MapManager - "ca_cert_file": absolute path to CA certification for TLS connection - "client_cert_file": absolute path to client certification for TLS connection (if broker requires client cert) - "client_key_file": absolute path to client private key for TLS connection - "key_password": password to unlock client private key if needed - "aes_key": AES secret key to encrypt/decrypt the message before publish to MQTT broker (default to disable)
| Constructor and Description |
|---|
Dongle(java.lang.String dongleId)
Dongle constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
addDevice(DeviceInfo info)
Add information about device connected to the dongle
|
void |
close()
Close and release all associated resource
|
void |
connect(java.lang.String address,
java.lang.String name,
java.util.HashMap<java.lang.String,java.lang.Object> options)
Initiate a connection to server (for centralized distribution) or peer
(for decentralized distribution).
|
void |
connectionLost(java.lang.Throwable cause)
This method is called when the connection to the server is lost
|
void |
deliveryComplete(org.eclipse.paho.client.mqttv3.IMqttDeliveryToken token)
Called when delivery for a message has been completed, and all acknowledgments
have been received.
|
void |
disconnect()
Disconnect from server or network
|
void |
init(java.util.HashMap<java.lang.String,java.lang.Object> options)
Perform some initializing tasks if needed
|
boolean |
isConnected()
Determine if the middleware is currently connect to server or peers
|
void |
messageArrived(java.lang.String topic,
org.eclipse.paho.client.mqttv3.MqttMessage message)
This method is called when a message arrives from the server
|
void |
publish(java.lang.String topic,
byte[] message,
java.util.HashMap<java.lang.String,java.lang.Object> options)
Publish a message to a topicHandler on the server
|
void |
publish(java.lang.String topic,
java.lang.String message,
java.util.HashMap<java.lang.String,java.lang.Object> options)
Publish a message to a topicHandler on the server
|
void |
publishId(java.lang.String deviceId,
byte[] message,
java.util.HashMap<java.lang.String,java.lang.Object> options)
Publish a device message to the server
|
void |
publishId(java.lang.String deviceId,
java.lang.String message,
java.util.HashMap<java.lang.String,java.lang.Object> options)
Publish a device message to the server
|
void |
removeDevice(java.lang.String deviceId)
Remove device from dongle
|
void |
setCallback(IMiddlewareCallback callback)
Set the callback listener to use for events that happen asynchronously
|
void |
subscribe(java.lang.String topic,
java.util.HashMap<java.lang.String,java.lang.Object> options,
IMiddlewareCallback callback)
Subscribe to a topicHandler, which may include addition options (such as QoS)
|
void |
unsubscribe(java.lang.String topic)
Unsubscribe to a topicHandler, which may include addition options
|
void |
waitConnected()
Blocking call to wait until middleware is connected to server or peers
|
public Dongle(java.lang.String dongleId)
dongleId
- dongle ID (UUID)public void init(java.util.HashMap<java.lang.String,java.lang.Object> options)
init
in interface IMiddleware
options
- initializing optionspublic void connect(java.lang.String address, java.lang.String name, java.util.HashMap<java.lang.String,java.lang.Object> options)
Dongle never exits and keeps retrying until connected.
This implementation will always ignore name and options (configuration should be set during init).
connect
in interface IMiddleware
address
- centralized server's address or peer's addressname
- identified client name (must be unique within the system)options
- additional connecting optionspublic void disconnect()
disconnect
in interface IGracefulShutdown
public void close()
close
in interface IGracefulShutdown
public boolean isConnected()
isConnected
in interface IMiddleware
public void waitConnected()
waitConnected
in interface IMiddleware
public void subscribe(java.lang.String topic, java.util.HashMap<java.lang.String,java.lang.Object> options, IMiddlewareCallback callback)
subscribe
in interface IMiddleware
topic
- the topicHandler to subscribe tooptions
- additional subscribe optionscallback
- the class to callback for related eventspublic void unsubscribe(java.lang.String topic)
unsubscribe
in interface IMiddleware
topic
- the topicHandler to unsubscribe frompublic void publish(java.lang.String topic, byte[] message, java.util.HashMap<java.lang.String,java.lang.Object> options)
publish
in interface IMiddleware
topic
- the topicHandler to deliver the message tomessage
- the byte array to use as the messageoptions
- additional publishing optionspublic void publish(java.lang.String topic, java.lang.String message, java.util.HashMap<java.lang.String,java.lang.Object> options)
publish
in interface IMiddleware
topic
- the topicHandler to deliver the message tomessage
- the string to use as the messageoptions
- additional publishing optionspublic void publishId(java.lang.String deviceId, byte[] message, java.util.HashMap<java.lang.String,java.lang.Object> options)
publishId
in interface IMiddleware
deviceId
- the device ID generates the messagemessage
- the byte array to use as the messageoptions
- additional publishing optionspublic void publishId(java.lang.String deviceId, java.lang.String message, java.util.HashMap<java.lang.String,java.lang.Object> options)
publishId
in interface IMiddleware
deviceId
- the device ID generates the messagemessage
- the string to use as the messageoptions
- additional publishing optionspublic void setCallback(IMiddlewareCallback callback)
setCallback
in interface IMiddleware
callback
- the class to callback for related eventspublic void connectionLost(java.lang.Throwable cause)
connectionLost
in interface org.eclipse.paho.client.mqttv3.MqttCallback
cause
- the reason behind the loss of connectionpublic void messageArrived(java.lang.String topic, org.eclipse.paho.client.mqttv3.MqttMessage message) throws java.lang.Exception
This method is invoked synchronously by the MQTT client. An acknowledgment is not sent back to the server until this method returns cleanly.
If an implementation of this method throws an Exception, then the client will be shut down. When the client is next re-connected, any QoS 1 or 2 messages will be redelivered by the server.
Any additional messages which arrive while an implementation of this method is running, will build up in memory, and will then back up on the network.
If an application needs to persist data, then it should ensure the data is persisted prior to returning from this method, as after returning from this method, the message is considered to have been delivered, and will not be reproducible.
It is possible to send a new message within an implementation of this callback (for example, a response to this message), but the implementation must not disconnect the client, as it will be impossible to send an acknowledgment for the message being processed, and a deadlock will occur.
messageArrived
in interface org.eclipse.paho.client.mqttv3.MqttCallback
topic
- name of the topicHandler on the message was published tomessage
- the actual messagejava.lang.Exception
- if a terminal error has occurred, and the client should
be shut downpublic void deliveryComplete(org.eclipse.paho.client.mqttv3.IMqttDeliveryToken token)
deliveryComplete
in interface org.eclipse.paho.client.mqttv3.MqttCallback
token
- the delivery token associated with the messagepublic void addDevice(DeviceInfo info)
addDevice
in interface IMiddleware
info
- device informationpublic void removeDevice(java.lang.String deviceId)
removeDevice
in interface IMiddleware
deviceId
- device ID as a string


Ice Mass Loss is the term for an overall reduction in the amount of ice in an ice sheet. A major tool for measuring ice mass is a set of twin satellites from NASA's GRACE project. The satellites work together using gravitational attraction to track how water moves between different storage areas on Earth (ice, liquid water, atmosphere). The ice sheets are a major storage of water and any change in ice mass reduces the attraction between the ice sheet and the satellites, affecting their pattern of rotation as they circulate the Earth. The Antarctic ice sheet is overall losing ice, mainly on the West Antarctic coast including Thwaites glacier, and along the peninsula. Loss of ice from the Antarctic ice sheet results in global sea level rise.
A permanent layer of land ice at least 50,000 sq. km. (20,000 sq. miles).
Why do we measure ice mass? Antarctica and Greenland are both covered in thick deep ice. Antarctic ice covers almost 97% of its land surface, extending almost 14 million square kilometers (5.4 million square miles) and is ~4 kms thick near the center of Antarctica (see the map called Thickness of Antarctic ice). Greenland’s ice covers over 82% of its land surface and extends about 1.7 million square kilometers (656,000 square miles) and is ~ 2 kms thick at its summit (highest point). The two countries have vast expanses of ice stacked up like mountains on the land. These large ice masses provide a significant gravitational attraction that is detected by satellites orbiting overhead. Changes in ice mass are directly linked to changes in global sea level. Large ice loss from Antarctica will result in sea level rise around the globe.
How do we measure it? NASA's launched twin satellites as part of the GRACE (Gravity Recovery and Climate Experiment) mission in 2002 to monitor the storage of water on Earth. Any change in the amount of water collected in the ice sheets, oceans, rivers, and even groundwater is able to be measured by a shift in the gravitational attraction pulling on the satellites. As the satellites orbit they accelerate as they approach a large feature on Earth, and they slow as they move away. Although water and ice have less mass (matter) than the Earth's interior, but they also change more rapidly than Earth's interior making them trackable by the satellites. Orbiting at a set distance of 220 kilometers apart (137 miles), the two GRACE satellites move closer together or further apart with the slight changes in mass from a loss of ice. The change in distance between the satellites is not large, just a fraction the diameter of a human hair! This very small shift in their relationship is sensed by the time of arrival of a stream of microwave pulses that are beamed between the satellites.
What can we learn from the app? Collecting data on something the size of an ice sheet is challenging. Their enormous size, the remoteness of their location and the extreme polar climates combine to make these areas extremely difficult to measure. Prior to 2002 when the GRACE satellites were put into orbit, data on the loss of ice mass was collected through a combination of different techniques including loss of ice elevation (see the map called Thickness of Antarctic ice) With the GRACE measurements our accuracy has improved, pointing out that we had previously underestimated ice loss from the ice sheets, and that ice loss is accelerating. Click through the map layers to see the changes in ice mass loss from 2004-2013. The video on this page expands the dates to include data from 2002-2016. The continent of Antarctica has been losing about 118 gigatonnes of ice per year, mostly from West Antarctica and the sensitive area of Pine Island and Thwaites Glaciers. This loss equates to about one quarter of a millimeter of annual sea level rise from the overall 3 mm global average. Data from NASA's GRACE satellites has identified mass loss in both ice sheets since the satellites were first put into orbit in March 2002. The video below by NASA steps through the loss of ice in Antarctica.
an overall reduction in the amount of ice in an ice sheet
for scale 360 gigatonnes of ice loss annually = 1 mm of global sea level rise
Antarctica holds enough ice to raise sea level around the world by 60 meters (200 feet) were it all to melt. We have not had an ice free Antarctica for millions of years, but if even a fraction of this ice were to melt into the oceans many major coastal cities around the world would be flooded. Click on any layer of the map to explore the areas of change in the ice sheet. Dark regions in the image are experiencing accelerated ice loss while blue areas are seeing ice gain. Ice loss vastly overruns ice gain. Most of the ice loss has occurred on West Antarctica in the area bordering the Amundsen Sea where Thwaites and Pine Island glacier empty. This region of the ice sheet has been called the 'weak underbelly' of Antarctica due to its connection far back into the ice sheet, which may allow ice melt to have a 'runaway effect' meaning that once it starts it will continue at high rates. What year do you think that the Thwaites glacier area suddenly started to show major changes? Do you think that the area of mass loss is getting larger as you click through the years in the app? Zoom out in the map to see how ice loss is affecting all of Antarctica. Is the ice loss even? Where is the area of most noticeable change?
Data Source
Additional information


Comments
-
Greg Hurrell
If you check out the list of design goals you'll see that one of the goals was to be "informative: when provided invalid markup the translator should fail gracefully and emit HTML that provides useful visual feedback about where the errors are in the input".
So that's why it behaves the way it does; if you've got a stray space in your markup then you almost certainly inserted it by mistake, so the presentation of it as a

span brings your attention to an error that you otherwise would've overlooked.Having said that, this strict behavior is probably appealing to me because I'm a programmer; I can see why this might be puzzling for non-technical users, so I'll have a think about changing it.
P.S. Your bug report isn't "lame".
-
anonymous
All fair points. In defense of the bug, design goal five of easy to use identifies the importance of being "as close as possible" to mediawiki.
To the point of being informative: it's not exactly a question of invalid markup and/or graceful failure, because it's valid in the mediawiki reference implementation. The only question is whether it's a valid "pre" tag or a valid
 tag, right?
One other thing that occurred to me: it will fail silently if the page's css doesn't have visible formatting for a "pre" element (ie - no border, no background, etc), so you're basing your putative benefits on assumed page behavior.
Having said that, It's an easy change for me to make as a work around downstream, too. It just comes at the cost of my preferred "pre" formatting when it's deliberate :)
-
Greg Hurrell
Yep, you're right that one of the other goals is being "as close as possible" to MediaWiki syntax. But like all things it has to be balanced ie. it is not "as close as possible to MediaWiki, at any cost".
I remember when I first implemented the parser (back in 2007) I minutely studyied the output of the MediaWiki parser using dozens of permutations of inupt, and copyied its behavior where it made sense to do so. I explicitly avoided replicating things which I considered to be buggy or inconsistent behavior in MediaWiki (and there are lots of strange edge cases in the MediaWiki parser which are products of its implementation details rather than intentional design).
So what I'm saying here is that the different design goals are not always going to point you in the same direction, and you sometimes have to make trade-offs. Being close to MediaWiki syntax is one goal, but these things are also goals:
- providing visible feedback in the face of mangled input
- simplicity and consistency of rules (ie. once you understand the basic rules of the translator you should be able to predict what it is going to emit for any given output; you should not have to be aware of exceptions or have to think about things like "if X then Y, but if Z then X" and so on... an example of a simple rule here is "a line beginning with a space is a

span) - feasibility and simplicity of implementation (ie. simple, consistent rules are the easiest ones to implement, so any place where things are complicated — things like nested lists, for example — are going to add to the complexity of the translator and bring with them the risk of bugs; this means that whenever you talk about adding complexity or exceptions to the translator you have to ask yourself if it is worth the cost)
At this point, given that the base syntax of the Wikitext extension is "close enough" to MediaWiki syntax to (generally) be non-surprising to people who use it, when it comes to edge cases like this one (a non-empty line containing only whitespace) merely because MediaWiki does something in that particular edge case is not very compelling (ie. I am more interested in being faithful to the general behavior of MediaWiki rather than copying mere edge cases).
I am more swayed by the simple argument that it should be "easy to use" or "non-surprising" for non-technical users (not because of the comparison with MediaWiki, but simply because a stray space can certainly creep in easily enough as you point out, like when copying-and-pasting).
The only things which concerns me are:
- What kind of behavior do you expect when we start seeing multiple non-empty lines filled only with whitespace? or whitespace-only non-empty lines which are adjacent to "real"

spans eg:
normal para <--- whitespace <--- more whitespace <--- more whitespace line 1 line 2 line 3 another normal para
So here what are you expecting to be done with those leading "blank" lines? Currently, they would appear as part of the

span. Should they be deemed a mistake and silently eaten? Should they be converted to

tags? It's fairly obvious that theline 1
,line 2
,line 3
part of the input is supposed to be a

span — and if it's not supposed to be that then the user should get some visible feedback about the problem in their markup — but it's not clear whether those leading lines are intentional or mistaken.I'm inclined to think that:
- such lines are most likely to be a mistake, so should be left in the output so that the user can see the mistake
- even if they're not a mistake, then they should be left in the output; there is nothing more infuriating than some dumb program trying "correct" my "mistakes" when they are actually intentional, and even more so when there is no way of escaping the input in some way to force it to do what I want (although in this case I suppose I could use explicit

tags instead of using the leading-space syntax)
I am not much of a copy-and-paster myself when it comes to writing using wikitext markup, but I do occasionally make a mistake like this:
para 1 blah blah blah <-- typing fast, so accidentally insert a space here too para 2
It's fairly obvious that this is not intentional, and could be automatically corrected for the user. My doubt is about where to draw the line. If there are multiple such lines, should they be corrected? Or translated to

tags? If there is lots of whitespace on the line should it be corrected?From the implementation perspective this is a little complicated, although not impossible, because it requires the translator to buffer the input tokens as it scans multiple lines, waiting to see if anything meaningful eventually gets scanned, and only at the end can it decide whether to emit all the buffered markup as a

tag or something else. Things are definitely simpler when the translator can mark things up a line at a time (or better still, a token at a time).Anyway, sorry for the lengthy response. It's just that this is a much more complicated issue than it might seem at first (compare that with ticket #1690 which you opened, which is actually a much clearer case).
Add a comment
Comments are now closed for this issue.


| Day |
Time |
Unit of Wind speed |
Block Number |
Station Number |
Ind. or omission of precipation |
Type of station/present or past weather |
Height of lowest cloud |
Horizontal visibility |
Total cloud cover |
Wind direction |
Wind speed |
Group Indicator |
Sign of the data |
Air Temperature |
Group Indicator |
Sign of the data |
Dew point temperature |
Group Indicator |
Pressure at station level |
Group Indicator |
Standard isobaric surface |
Geopotential of standard isobaric surface |
Group Indicator |
Amount of precipitation |
Duration period of precipitation |
Group Indicator |
Present weather |
Past weather |
Group Indicator |
Amount of clouds |
Clouds of the general Sc. St. Cu, Cb |
Clouds of the general Ac, As, Ns |
Clouds of the general C, Cc, Cs |
Station Indicator |
Group Indicator |
Grass Minimum Temperature |
Character & Intensity of precipitation |
Beginning or end of precipation |
Group Indicator |
Sign of the data |
Maximum temperature |
Group Indicator |
Sign of the data |
Minimum temperature |
Group Indicator |
Amount of evapouration |
Indicator of type of instrumentation |
Group Indicator |
Duration of sunshine |
Group Indicator |
Sign of pressure change |
Pressure of change in 24 hrs |
Group Indicator |
Amount of precipitation |
Duration of period of precipation |
Group Indicator |
Amount of individual cloud layer |
Genus of cloud |
Height of base cloud layer or mass |
Group Indicator |
Amount of Individual cloud layer |
Genus of cloud |
Height of base cloud layer or mass |
Group Indicator |
Amount of Individual cloud layer |
Genus of cloud |
Height of base cloud layer or mass |
Group Indicator |
Amount of Individual cloud layer |
Genus of cloud |
Height of base cloud layer or mass |
Group Indicator |
Supplementary Information |
Section Indicator |
Group Indicator |
Sign of data |
Wet bulb temperature |
RELATIVE HUMIDITY |
VAPOUR PRESSURE |


# extends 'base.html' # import 'macro/forms.html' as forms # block content
Powered By The Movie DB
Because this uses an external API results may not be up to date.


‘Forensic science holds promise for crime fighting’ - The Nation Newspaper
By Omotayo Omitola
Forensic science has come of age and will soon become an indispensable apparatus to the crime investigation and detective intelligence gathering, Prof. Kalu Ogbureke of the University of Texas Health Science Centre, has said.
He spoke at the first forensic conference last Wednesday at the Julius Berger Hall, University of Lagos (UNILAG).
The conference was organised by the Society for Forensic and Analytical Scientists Nigeria(SFASN) and Nabraska Institute of Forensic Science, Lincoln USA in conjunction with the department of Cell Biology and Genetics, Faculty of Science of the University.
Ogbureke highlighted that forensic science covers various fields such as Criminality, Forensic anthropology, Pathology, Biology Toxicology among others which security agents can use in curbing criminal activities.
He added that forensic science will set the pace for a new, emerging society and national progress, praising President Muhammadu Buhari for signing Forensic Evidence Bill into law.
Associate Professor, Idowu Taiwo said criminals were taking advantage of the fact that forensic analysis had not been implemented in crime investigations.
Read Also: Buhari orders forensic audit of NDDC activities
“Forensic analytical investigations have come a long way in proffering solutions to problems encountered in various categories of events from the past till now with a view that forensic analysis had created fora for crime and investigations.”
Taiwo said forensic science analysis would help investigators unravel crimes, adding that forensic genetics was crucial in crime detection.
Dr. Matthias Okoye of Nebraska Institute of Forensic Sciences, Lincoln, USA also proffered solutions on crime scene investigations and how documentations should be done, as well as types of samples to be collected and critical issues of DNA samplings.
Dr. Azeezat Alaafia, spoke about Forensic Entomology as an enabling property for the identification of victims and unrecognisable casualties in crucial matters.
The Vice Chancellor, Prof. Oluwatoyin Ogundipe, praised the Department of Cell Biology and Genetics of the university for making the epoch-making occasion a reality.


Total Fails: 0
Start fails: 0
OutOfCanvas: 0
Discontinuities: 0
Off-By-20: 0
Reverses: 0
RESET
MOUSE


Louis Cantillo
Call Us: 1(714)536-7537
Home
|
Contact Us
|
Press Room
Cefalu by the Meditteranean
Bridges of Prague
Low Arch and Pot With Steps
Gone Fishing
English Cottage
Santorini Sunset
711 Pacific Coast Hwy #305, Huntington Beach, CA 92648


Copyright (c)2010 koubei.com All rights reserved.
The "timing-function" is powered by matthewlein.
timing-function


'Protect Alfredo Morelos at all costs': Fans react as table-topping Rangers secure vital Europa League point against Feyenoord
by James CopleyAn Alfredo Morelos brace earned Steven Gerrard's Rangers a vital point in Group G last night.
The result leaves Rangers top of their Europe League group with a game to play and will and will qualify for the last 32 if they can avoid defeat Young Boys visit Glasgow in their final clash at Ibrox in two weeks time.
Rangers fans were quick on social media to praise the point and the position the club finds itself in under Steven Gerrard, whilst many reserved special praise for the two-goal talismanic striker Morelos.
Scroll down to see how Rangers fans reacted to the result.
@1872Curtis: "Great result away from home considering how well Feyenoord played."
@LiamWATP: "Protect Morelos at all costs."
@CameronnTaylorr: "That wasn't good for my heart come on boys... top of the group."
@weeDec1997: "What a game... disappointed with the equaliser from them but one last push."
@SuperScottyA: "Could be a crucial point away from home not gonna complain."
@Kingpindazza: "Good point away from home. Defence has to be sorted was poor. We go again on Sunday! #ElBuffalo is King!"
@CF3Loyal: "Much improved second half but still very sloppy defensively and in possession at times. Brilliant from Morelos, should have got a pen too. Unfortunate that Porto got the result against Young Boys in the end. What a game it’s going to be in 2 weeks at Ibrox."
@CurtisEadie: "Solid point."
@discodave19: "There's only one buffalo."
@RJackflash69: "If he can smash a couple against Celtic and win a medal, he'll be a legend."
@GlenAnderson_: "Be gutted when he’s snapped up. What a player."


Tangible Fame: Fans Flock in Droves to PewDiePie Meet-And-Greet in Canada
The event, which was held in Toronto, was apparently a success as a large number of people was filmed lining up, waiting for a chance to see PewDiePie in the flesh.
Popular Internet personality and the first YouTuber to reach the 100 million subscribers milestone, Felix Kjellberg a.k.a. PewDiePie, has recently managed to, perhaps inadvertently, demonstrate how famous he is when he and his wife Marzia took a trip to Canada.
'Hardcore Torontans'
During their stay in Toronto on the second day of their visit to the country, Felix and Marzia held a "Tsuki Pop Up" shop, which, as Dexerto explains, is a "clothing and home products range" designed by the couple.
The event seems to have become a huge success, as the video recorded by Pewds shows a large number of people lining outside, waiting for their chance to meet the celebrity.
"We have people waiting outside, apparently since 5am. But then we came and they were just like 'hey'. So polite", PewDiePie remarked.
He also noted that as they didn’t tweet about the event, it was the "hardcore 'Torontans'" who arrived at the venue to see him.


In the beginning, there was nothing... Then an idea came.
1. First steps
The project started as a necessary requierment for the final grade of the Web Technologies course around the fourth week and has since developt into something unique. At first, the team (meaning Goanță Matei, Vlad Theodor and Petercă Adrian) were given a list of themes to work around, each one of them being described briefly, but with no exact specifications or limitations. Because of the interest it presented, the SuH (SuperHero Web Game) theme was chosen and so began a journey with many twists and turns, but with a final destination filled with knowledge and accomplishment.
1.1. Tehnical details
Regarding the tehnical details, the team used an Apache environment, because of its ease of installation and usability, alongside the bountiful information available online.
For the storage part (this includes user credentials, heroes information, leaderboard statistics etc.) a MariaDB was used at first (because it came with the XAMPP installation) but was quickly changed to a PostgreSQL cloud-deployed-database instead. The motive was quite simple: because of the frequent changes requiered to the database (insertions, deletions) for testing purposes, it was better to be available deployed on the cloud rather than stored locally and updated every time someone makes a change.
The team shared their code using GitHub, but for the moment the repository is marked as private. The commits were made using a standard protocol (meaning that every commit had to be in English and the summary had to be precise) for ease of use and development in the future.
1.2. Use case diagram
2. The first complete view of the webpage
Up until week 8, the project had to have at least the front-end part complete, with all the subpages, stylesheets and other details available on GitHub. The team worked tirelessly and had the following scheme to guide themselves:
- Decide what pages the app will have: the login interface, the register interface, the main page, pages for every hero etc.
- This step did took some time and careful planning, because little mistakes and errors here meant that the project may fail in the future. With that in mind, the team settled for the following set of pages: the login/register interface, the main page, the leaderboard page, the battle mode / practice mode interface, the wiki page alongside a page dedicated to every hero, the requierments page and a more administrative-orientated page, the admin interface.
- Write the HTML and CSS following a simple theme, with simple colors and fonts.
- Each page was requiered to follow the coding standards and, besides those, the team also set up a temporarily UI/UX theme to work with.
- After most of the pages were done, integrate them only on the front-end level.
- A bit of JavaScript was requiered here to make simple, hardcoded buttons behave nicely and give the user a feeling of an overall fully developt website.
- After the pages were intergrated and tested, apply the same UI/UX theme for the whole website.
- The final step was synchronizing all pages to have the same theme and to appeal to a standard user. The buttons had animation added, the images were made to fit different screens, the text received a new font, etc.
3. The back-end part
After the eighth week, the team had up until the evaluation period (which was about eight weeks) to build the back-end part of the system, integrate it, test it and make it look really nice. And it did!
The first step was to design and implement the database. Up until this point, there was a general idea of what tables it should have, but no strict definition were given to them (because there was no need to). A user should have a username, a password and some other information, but what else? So, finally, five tables were created: users, admins, heroes, leaderboard and users_heroes_list. Later on, two more will be added: sessions and sessions_admin for authentication purposes and session validation.
After the database was created and deployed on cloud, a REST API was created to send HTTP requests from the client. The API is written in PHP, while the client is mostly written in JavaScript.
For the user validation part, cookies were used. This meant that, when a user successfully logs in, a token of 128 characters gets created on the server, which will have to be sent (alongside the user's id) with each request from the client. The client will receive this token and store it in a cookie, up until the user logs out.
As for the website functionality, the leaderboard was made available in a RSS feed, the battle mode and practice mode were implemented and integrated fully using a dynamic content generation approach, meaning that for each user different content (which is the necessary approach for a contest) will be generated.
For the administrative part, a special admin account was created. With it, the following functionalities are available:
- setting the ban status of a user
- adding a new question into the database
- adding a new hero into the database
- registering a new admin user
4. Useful links & other relevant information
HeLP - Heroes: eLearning Protocol on GitHub
Team members: Goanță Matei, Vlad Theodor and Petercă Adrian
Superheroes dataset, from where relevant information was gathered.


Plan your next road trip with the help of RoadTripity. To begin, simply enter the address of the beginning of your journey and the address for your final destination.
How far? How long? How much? How cold?… All your road trip answers with one click!
| Traveler | Starting Point | Destination | Arrival Date | Duration | Total Travelers | Remove Adventure |
|---|


This was one of my first app prototypes circa winter 2015. VirtualWorks is a search aggregate company that specialized in taking machine learning and predictive technology to make search technology more intuitive. They proposed creating a standalone, consumer level app which would take inventory of a user's accounts and services with multiple APIs such as searching for any relevent emails, downloads, online document services, or cloud services. This way if you knew you'd seen something on a particular subject somewhere but couldn't remember where you'd stashed it you could use ViaWorks to track it down.
The proposal included versions for both iOS and Android, and each version had to have native design cues so that it wouldn't feel like an Apple app on an Android device or vice versa. See the iOS version below:
See the Android version below:
Our second project for VirualWorks was to design a pitch they would then take to the NY Times to sell them on using their search intelligence API to improve the user experience on the NY Times mobile app. They would also use this proposal to pitch their services to other brands.
This was a proposal for a web service that would work as a patient portal for helping to locate a specialist who is available when a patient needs them. They can setup filters for distance, specific availability, or just general timeframe and then break down their search by speciality, then see their co pay (including managing their insurance provider and network filtering) and schedule and confirm appointment and details.
PL Supplements was a local pharmaceutical company who wanted to setup a whitelabel service where health shops and dispensaries could create their own branded versions of popular supplements by uploading their own custom labels and then order stock for their own shops. This way a health food store, for example, could carry their own product line of common items and still benefit from a large supplier's quality control and FDA-certified lot tracking and validation process.
This project started as a customization of their BigCommerce-hosted eCommerce website, but eventually we became aware that BigCommerce wasn't going to give them the workflow that they needed as far as letting clients upload custom logos, see a 3D rendering of the new bottle with their branding, and track the FDA-required quality control measures and certificates. So, an in-house, custom eCommerce solution was built instead. Though screenshots of this aren't available, our custom suite for them also included a custom iPad application that their warehouse staff would use to manage inventory as it went through various stages to stock the storefront, go through inspection and certification, and shipping and delivery.
The OK Gazette's website features a widget where visitors can search, favorite, and track upcoming events and venues. They sought out the app design services of my office, and we set out to make a prototype for a native mobile app that would pleasingly offer users the same functionality while also eventually giving the OK Gazette another option for future ad revenue generation.
A user would begin by logging in with an existing social media account. At first this would just be so that a local user profile could be created to allow easy access to sharing of events with others as well as having an easy way to store favorite events and venues, but eventual planned enhancements would be to curate user-centric searches and suggestions based upon profile information.
Huntr was a startup information security company that offered a multi-component set of solutions to help systems administrators analyze and protect their network as well as respond to threats and vulnerabilities. In addition to designing their logo, branding, and trade show swag I was also asked to help build their marketing website to help deliver their products to the public.
Their solutions were offered in multiple optional components that can either be purchased all at once as a full suite or individually to complement an existing infrastructure so that the admin could keep their favorite tools and just use the available APIs to get everything working together. This meant that a visitor would need to know which components are right for them by determining where they fit among the philosophies of what it means to do a "guided hunt" for security problems. So, in addition to typical web content explaining the different levels, it was also decided that an online survey would be used to help a visitor determine what solutions are right for them and approximately how much it would cost (in addition to giving the site some lead capture functionality).
As this was my first Angular project I worked mostly on the frontend assets and styles and then coordinated with a team who were building out the service layers that would be used to collect the responses to the survey to make product suggestions and tally cost estimations. I'd construct dummy pages and provide naked and labeled mockups to instruct the back end developers which classes to use or which elements to target with their Angular modules for certain functionality.
S. Powell & Co. is an upscale clothing boutique located in the trendy Uptown portion of OKC. Their styles range from tasteful and chic to pop art sensibilities with brignt colors. While they were under construction of their physical storefront they wanted an attractive landing page to connect to their social media accounts so they could begin to earn followers and buzz leading up to the grand opening. This temporary site would eventually be replaced with a full Shopify suite to integrate with their registers and inventory.
The first suggested mockup would include landing pages for each of their featured brands as well as a blogging functionality powered by Jekyl where their staff would post fashion advice or product reviews. These mockups were done before brand colors had been established. It was also determined that they did not plan to blog or create any article based content.
The second prototype brings in their newly decided brand colors and also an emphasis on this being a single-page website and hub for their social media experience. All navigation is replaced with social media links and all page content aside from the feature carousel has been setup as social media plugins to show the latest posts. The footer's links have also been updated to include the brand's story since there is no longer an "about" page.
The final mockup has only a few differences from the last, as all the main features had been agreed upon and settled into the previous draft. The only major change was the inclusion of a slider near the bottom which would include logos for each of their major brands. You can view a fully functional local copy of this placeholder page below as it has now been replaced with their Shopify website.
Interior Gilt is a luxury furniture store that specializes in high-end product lines, custom-made items, antiques, and interior design services. They use a software suite to manage their registers and warehouse inventory but it did not come with an eCommerce solution. Our developers had already built a custom in- house eCommerce platform when we worked with PL Supplements which was based upon .NET Framework, so we decided to use some of that same backbone to create a set of plugins for their existing software to allow online shopping.
The first proposed design was dark and leveraged some of the black and gold themed print materials with the subtle damask texture that they were running at the time.
They decided they wanted something different for their web presence and didn't necessarily want to coordinate with their print media. The entire reason black and dark schemes were used in print was for the contrast, but that didn't translate as well on the web where sites vary wildly. Instead, a cleaner overall look was desired and for the next mockup I decided to begin fleshing out the rest of the site's components.
The intention with this design would be that as you scroll down the navbar would dock at the top of the window and remain fixed. The featured header would keep the high contrast from the first draft, but would emphasize their Uptown OKC vibe with classic mural-style fonts over a brick backdrop. Scrolling down you can begin to see how products would appear as well as parallax calls to action, blog articles, and finally the footer.
Some of these design cues would continue through future drafts, but for the next few mockups you'll see where suggestions were implemented in a few different places in order to discuss other options and how certain themes could be carried into interior pages.
DirectDots was an internal pet project of Innov8tive which would allow a business owner to deploy small proprietary beacons at key places on site and use our web or mobile interface to upload floor plans to work with those placed beacons to create a network that could direct a visitor to key landmarks within the building or campus. Ideal implementations would be situations such as finding an office in a complex for an appointment or being directed to a specific exhibit in a museum, park, or zoo.
After uploading a floor plan map and having physically placed small beacon devices around the area shown (these were pocket-sized RFID beacons that included an ethernet port used to draw power) you could then mark on the floor plan where you had placed your beacons and assign them IDs. This could be done on the web or when using the mobile app to detect which beacon is closest and confirming its placement on the uploaded floor plan.
The next step would be assigning beacons to paths so that directions could be chained together. These could be entire paths from A to B or simply fragments that would be used in a series for later directions such as how to find the nearest elevator or stairwell.
When using the app as a visitor to the building it would detect the nearest beacon and mark that as the starting point to direct you to your chosen destination. It would then look for paths that were already defined to that location or any fragments that were laid down that could be chained together to first get the visitor to the appropriate building or floor and then to the appropriate final destination. A live overlay of the floor plan would be shown to the visitor as they travel so that they could be aware of their current location. This could also be used as a "guided tour" if a museum or other such facility wanted to setup pre-planned paths that would take a visitor through a series of specifically curated exhibits along a path of beacons and include messages at each stop.
BuzzHubb was a proposed startup app intended to use location services along with partnerships with local hot spots to make it easier for patrons to connect with each other socially as well as decide where to go for an outing based on how "buzzing" a place is at the moment.
A user begins by connecting one or more of their social media accounts which would then be used to determine if any friends are also already using BuzzHubb to form connections. Once in the app local businesses would have "hives" setup that BuzzHubb users could browse to gauge what is happening at each location and whether or not they wanted to visit that business for an outing. Searching for places to go would be done by area or category, and area searching would include a temperature gauging system where popular hives would appear more prominently on the map.
Official business channels could offer special incentives to use the app such as offering app-exclusive discounts or specials or make use of app features like trivia games. If a business was aggregated into BuzzHubb through an unofficial manner (Yelp, Google Places, etc.) and not yet claimed by the business it would exist as a chat-only temporary room until the business came along and claimed the room as an admin.
Another feature that was deemed priority was match making and dating. When signing into BuzzHubb a user could choose to identify their gender if they wanted to participate in using it for match making purposes. This was used to create an icon for each business on its hive listing which would show the concentration of each gender at that location so that users looking to mingle could determine where they'd like to go based upon the likelihood of finding a match at a particular location.
Further into the app you can track your friends and what they are up to including suggesting an outing at a hive. When chatting at a hive the brand's information stays prominent when in an official channel. You must be within a defined proximity before you can check into a hive and you do so by posting a message. Official messages such as announcements or specials always take a unique color to stand out. Chat logs are tied to the location, and you can review an archive of any logs in which you participated if you need to reference any previous discussions or send ice breakers to someone with whom you conversed recently.
1CareAssist started as a project for Integris's Informatics department. Internally they used a system called ServiceNow to track help tickets, system outages, and important notices. They wanted an easy to use app that would be used by nearly all Integris staff and would include many features aside from system-related notices such as directory based caller ID and facility disaster alerts.
You can see in the first few mockups how you login using your active directory credentials and are taken to a screen with many options involving support tickets and ways to get help or find people. When entering a support ticket it uses the same large icon schema to gather basic information about what is broken and who it is effecting so that priority can be automatically assumed at the time of entry. The large icon style was proposed so that it would be easy to do while in a rush and while wearing gloves as much of their medical staff would be at the time.
A view of tickets in which you are currently involved will sort by priority including easy glance of when it was last updated and by whom. Ticket details would show a chronology of those updates and allow quick ways to ping the assigned handler for an update or close the ticket as resolved (with confirmation prompt).
Another feature is an internal approvals system which would be used by staff in charge of systems pushes or department policy screenings. If resolving a ticket would require approval of a change in a particular way an approval request could be managed similar to how tickets work but would be assigned to the staff authorized to approve the requested change.
Finally, the app included a system status feature that would provide quick at a glance notices of overall infrastructure health including how many services are up, down, or had reported issues. Categorized drilldowns and priority issues would also be shown below the overall system summary. In the event of major outages or situations that involved disaster recovery or other emergencies a push alerts system could be utilized and the staff roles defined in the active directory system would be available to help employees to know who they should contact for their department.
A local construction company kept getting phone calls from potential clients who wanted to see photos of their work before deciding to move forward. Though they had professional photos taken and added to their social media accounts it wasn't as clear to categorize or navigate these or to communicate to older callers how to find them online. They wanted a single website that would be as clear and easy to follow as possible with featured galleries for some of their favorite projects and an easy to use contact form.
Though the live website is no longer operational you can view a fully functional local backup of it via the button below.
Lincoln Terrace is a historic neighborhood located adjascent to the state capitol complex in Oklahoma City. Their previous website was built using one of WordPress's default themes (I believe 2011 or another such free layout) but they had setup numerous custom apps within it to handle their roster of HOA members, photo galleries, blog posts, and document library. They also had several pages that were hosted on another sub-site which were just static HTML pages containing an archive of old historic photos broken down by each street and house along each street.
They had three main goals going into the project. First, they wanted to stick with WordPress and all of their custom apps but wanted a "fresh start" because they had too many admin users and couldn't recall all of the permissions they had handed out over the years. So, I'd migrate them to a second WordPress account which would also serve as our sandbox during the development phase so that their current site wouldn't be replaced until they were happy with their new one.
Their next goal was to modernize their website so that it worked great on mobile devices and included a simpler and easier to read interface. I tackled this by doing mockups on the designs until they liked how it was put together and then I created a custom WordPress theme setup just for them.
Their final goal was to migrate everything - including those old static HTML pages that were hosted elsewhere - under one roof so it could be managed in one place and kept up to date. Since many of those old pages were built using rigid HTML tables I setup Cherry Editor for them and made sure all pages were recreated using this same editor to lay out responsive grids with media break points that were easily seen in the editor. They could click on a column to edit that column's contents without fear of messing up those break points.
After using several WordPress migration plugins to make sure all image galleries, HOA member contacts, document uploads, blog posts (and any images and links within them), and static pages had all been moved over correctly and nothing errored as broken links they reviewed the new site and when approved we pointed their domain name at it and let the old WordPress account get deleted. It made for a smooth transition.
This was a quick and simple project for the same client who owned the Mason & Co. construction company. They owned a vacation rental property in South Florida and, though they'd already been listing it in places such as Air B&B, they wanted a landing page so that they could feature some of its highlights in ways that other classified websites made difficult.
This wasn't going to be a paid client but rather a favor for an existing client, so I just took the same framework we had used on the Mason & Co. website and customized it to feature a different set of contents. It was the sort of quick development job that could be done in a single work day and deployed relatively quickly to maximize getting it in front of potential renters ASAP.
I also threw together a quick custom logo for the property. Though the website is no longer live, you can view a fully functional local backup of it via the button below.


Implements a semi-parametric GEE estimator accounting for missing data with Inverse-probability weighting (IPW) and for imbalance in covariates with augmentation (AUG). The estimator IPW-AUG-GEE is Doubly robust (DR).
| Version: | 2.0 |
| Depends: | Matrix, MASS, ggplot2, grDevices, graphics, stats, methods |
| Published: | 2017-07-09 |
| Author: | Melanie Prague [aut, cre], Paul Gilbert [ctb] (Author of R package numDeriv, which has been acknowledged in numDeriv.R), Ravi Varadhan [ctb] (Author of R package numDeriv, which has been acknowledged in numDeriv.R), Ming Wang [ctb] (Author of R package geesmv, which has been acknowledged in getFay.R), Lee McDaniel [ctb] (Author of R package geeM, which has been modfied and references in multiple R files), Nick Henderson [ctb] (Author of R package geeM, which has been modfied and references in multiple R files) |
| Maintainer: | Melanie Prague <mprague at hsph.harvard.edu> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | no |
| In views: | MissingData |
| CRAN checks: | CRTgeeDR results |
| Reference manual: | CRTgeeDR.pdf |
| Package source: | CRTgeeDR_2.0.tar.gz |
| Windows binaries: | r-devel: CRTgeeDR_2.0.zip, r-release: CRTgeeDR_2.0.zip, r-oldrel: CRTgeeDR_2.0.zip |
| OS X binaries: | r-release: CRTgeeDR_2.0.tgz, r-oldrel: CRTgeeDR_2.0.tgz |
| Old sources: | CRTgeeDR archive |
| Reverse imports: | wgeesel |
Please use the canonical form https://CRAN.R-project.org/package=CRTgeeDR to link to this page.


×
Brand:
Model:
Processor:
Rear Camera:
Front Camera:
Storage Capacity:
RAM:
Display:
Price:
Home
About us
Products
Contact us


CamView
rotate_left
rotate_right
call_made
arrow_upward
call_made
arrow_back
cancel
arrow_forward
call_received
arrow_downward
call_made


Software developer with a strong attention to detail, adept problem solving abilities, and a desire to make a difference. Experienced with research on modeling human behavior, and currently working as a Software Engineer at Google developing custom audience targeting models at scale.
Overall GPA: 3.81 (Out of 4.00)
Cum Laude with Highest Distinction
Activities: Golden Key International Honour Society, Human Computer Interaction Lab (ROC-HCI), Computer Science Undergraduate Council (CSUG), Intramural Soccer and Ultimate Frisbee
Modeling and development of custom audience solutions for unified cross-platform (YouTube, Google Search, Google Display Network, etc.) audience targeting. Based in the global headquarters in Mountain View, California.
Apply machine learning techniques to perform automated lie detection from audio and video at the University of Rochester HCI Lab (ROC-HCI). Use hidden Markov models and clustering algorithms to recognize patterns in human conversation. Deploy code on BlueHive supercomputing cluster to train and test models on massive dataset.
Assist graduate students and professors in troubleshooting technical problems and configuring devices. Automated printer configuration process for students by developing a one-click application in AppleScript.
Mentor project teams in designing and building products to meet a specific consumer need. Grade assignments and hold weekly office hours for Human Computer Interaction course.
Python
C++
Java
HTML & CSS
JavaScript
SQL
Leverages the Spotify Web API and scikit-learn to analyze users’ top 100 tracks to identify their music taste. Analyzes multiple users’ playlists to create a shared playlist suited for a group activity, such as studying. Uses machine learning to generate a playlist of songs tailored to an individual user’s music preferences. Read more about it here or check out the code on GitHub here.
Finds shortest paths in a graph from a source node using a parallelized delta-stepping algorithm in Java. Achieved nearly three-hundred percent speedup compared to the sequential version of the algorithm.
Website and iOS app to track university shuttles in real time and find optimal routes using a graph algorithm. Developed a custom API with Node.js utilizing Google Maps API and Transloc API for shuttle information. Worked with one peer on engineering side, while other teammates focused on user research and evaluation. Check out the code for the web app on GitHub here.
Compares inference algorithms on probabilistic graph models in Java for Artificial Intelligence course. Individually created an exact calculator and several approximation algorithms to comply with larger datasets.
T. Sen, K. Hasan, M. Tran, M. Levin, Y. Yang, and M. E. Hoque, Say CHEESE: Common Human Emotional Expression Set Encoder and its Application to Analyze Deceptive Communication, IEEE International Conference on Automatic Face and Gesture Recognition, Xi'an, China, May 2018.
More in the works, check back soon!
Academically, I am primarily interested in machine learning and artificial intelligence. I love working with big data to find an interesting pattern, and figuring out how to apply these insights to a real world problem, ideally to improve the lives of those around me.
Outside of computer science, I am an avid guitarist and bassist, and have spent many summers working as a music instructor teaching guitar, bass, and drums, as well as various aspects of musicianship such as songwriting and stage presence.
I'm also a soccer fan and enjoy playing ultimate frisbee in my spare time. I have a passion for coffee and am a loyal dog-person (my apologies to cat-people).


Toggle navigation
Dropdown
Action
Another action
Something else here
Dropdown
Action
Another action
Something else here
Dropdown
Action
Another action
Something else here
100 %


We are there for you :)Health is a state of complete harmony of the body, mind and spirit.
 Nullam dui mi, vulputate ac metus at, semper varius orci.It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less
normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now
normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now
normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now
normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now
normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now
normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now
normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now
normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now


{% extends "global/Page.html" %}
{% load staticfiles otree_tags %}
{% block title %}
Thank You!
{% endblock %}
{% block content %}
Thank you for taking part to this experiment. Click the Next Button to see your total payoff.
{% next_button %}
{% endblock %}


|
Contiki 2.5
|
The basic uIP TCP implementation only allows each TCP connection to have a single TCP segment in flight at any given time. More...
Files | |
| file | uip-split.h |
Module for splitting outbound TCP segments in two to avoid the delayed ACK throughput degradation. | |
Functions | |
| void | uip_split_output (void) |
| Handle outgoing packets. |
The basic uIP TCP implementation only allows each TCP connection to have a single TCP segment in flight at any given time.
Because of the delayed ACK algorithm employed by most TCP receivers, uIP's limit on the amount of in-flight TCP segments seriously reduces the maximum achievable throughput for sending data from uIP.
The uip-split module is a hack which tries to remedy this situation. By splitting maximum sized outgoing TCP segments into two, the delayed ACK algorithm is not invoked at TCP receivers. This improves the throughput when sending data from uIP by orders of magnitude.
The uip-split module uses the uip-fw module (uIP IP packet forwarding) for sending packets. Therefore, the uip-fw module must be set up with the appropriate network interfaces for this module to work.
| void uip_split_output | ( | void | ) |
Handle outgoing packets.
This function inspects an outgoing packet in the uip_buf buffer and sends it out using the uip_fw_output() function. If the packet is a full-sized TCP segment it will be split into two segments and transmitted separately. This function should be called instead of the actual device driver output function, or the uip_fw_output() function.
The headers of the outgoing packet is assumed to be in the uip_buf buffer and the payload is assumed to be wherever uip_appdata points. The length of the outgoing packet is assumed to be in the uip_len variable.
Definition at line 49 of file uip-split.c.
References tcpip_output(), uip_acc32, uip_add32(), uip_appdata, uip_ipchksum(), uip_len, UIP_TCP_MSS, and uip_tcpchksum().


WITNESS LIST
Higher Education
May 22, 2018 9:00 AM
Funding Models
ON:
Arenaz, Pablo President (also providing written testimony) (Texas A&M International
University), Laredo, TX
Boelscher, Scott Senior associate (also providing written testimony) (HCM Strategists),
Washington dc, DC
Gibson, Shonda Associate Provost (Texas A&M University Commerce), Commerce, TX
Keck, Ray President (also providing written testimony) (Texas A&M University
Commerce), Commerce, TX
Lane, Austin President (also providing written testimony) (Texas Southern University),
Houston, TX
Maynard, Christopher Associate Vice Provost (also providing written testimony) (Sam
Houston State University), Huntsville, TX
Overmyer, Andrew (also providing written testimony) (Legislative budget board), Austin,
TX
Paredes, Raymund Commissioner (also providing written testimony) (Texas Higher
Education Coordinating Board), Austin, TX
Peebles, Rex Assistant Commissioner (also providing written testimony) (Texas Higher
Education Coordinating Board), Austin, TX
Schmidt, Emily (also providing written testimony) (LBB), Austin, TX
Sheldon, Tyler (Texas state employees union), Austin, TX
Registering, but not testifying:
ON:
Castillo, Juan Vice President for Finance and Administration (Texas A&M International
University), Laredo, TX
Ramirez, Dr. Minita Vice President for Student Success (Texas A&M International
University), Laredo, TX
Providing written testimony:
ON:
Geary, Michael (Texas Conservative Coalition Research Institute (TCCRI)), Austin, TX
Hernandez, Demetrio (Legislative Budget Board), Austin, TX
Reyes, George Past President TACHE (Self; Texas Assn of Chicanos in Higher Education),
Manchaca, TX


Harmony 2
Introduction
Harmony gives you an elegant and high level way to alter functionality in applications written in C#. It does this at runtime by monkey patching methods unlike other solutions that change the content of dll files.
It supports Mono and .NET environments on Windows, Unix and macOS except when Unity uses the stripped down NetStandard profile (.NET 4.x profile works fine). Harmony is used in mainstream Unity games and many other applications.
Designed to be used by multiple users (usually called Mods) that would otherwise override each others hooks, it was originally created for the game RimWorld and its large modding community by Andreas Pardeike.
Enjoy!
/Andreas Pardeike
Getting Started
Installation is usually done by copying and referencing 0Harmony.dll from your project or by using the Lib.Harmony nuget package.
Documentation
You can learn more about Harmony by using the top menu links. The main section [Harmony] brings you to the full documentation that explains everything about Harmony and gives you lots of high level examples. In the second section [API Documentation] you can browse the public API and all its methods and classes.
If you find a factual error or if you have feedback about the documentation you are welcome to
- fork the repository and create a pull request
- file a documentation Issue on the repo
- or write about it on the official discord
New to modding and C#? Beside the basic language features you need at least a good overview of Reflection in C#. Read this short and useful introduction.
Community
If you feel stuck or have questions that this site does not answer, feel free to join the official Discord Server or file a GitHub Issue.
Help by promoting this library so other developers can find it. One way is to upvote this stackoverflow answer. Or spread the word in your developer communities. Thank you!
Contact
Andreas Pardeike
<EMAIL_ADDRESS>twitter: @pardeike
Donations
Donations keep me going:
https://www.patreon.com/pardeike


<substep>
A <substep> element has the same structure as a <step>, except that it does not allow lists of choices or sub-steps within it, in order to prevent unlimited nesting of steps.
<step>
Category: Task elements


Hot-keys on this page
n s m x c change column sorting
| Module | statements | missing | excluded | coverage |
|---|---|---|---|---|
| Total | 348 | 20 | 0 | 94% |
| authentication\__init__.py | 0 | 0 | 0 | 100% |
| authentication\admin.py | 1 | 0 | 0 | 100% |
| authentication\migrations\0001_initial.py | 7 | 0 | 0 | 100% |
| authentication\migrations\__init__.py | 0 | 0 | 0 | 100% |
| authentication\models.py | 21 | 0 | 0 | 100% |
| authentication\tests.py | 1 | 0 | 0 | 100% |
| authentication\tests\test_auth_urls.py | 26 | 0 | 0 | 100% |
| authentication\tests\test_auth_views.py | 78 | 15 | 0 | 81% |
| authentication\urls.py | 7 | 0 | 0 | 100% |
| authentication\views.py | 72 | 4 | 0 | 94% |
| profiles\__init__.py | 0 | 0 | 0 | 100% |
| profiles\admin.py | 1 | 0 | 0 | 100% |
| profiles\migrations\__init__.py | 0 | 0 | 0 | 100% |
| profiles\models.py | 1 | 0 | 0 | 100% |
| profiles\tests.py | 0 | 0 | 0 | 100% |
| profiles\tests\test_profiles_urls.py | 12 | 0 | 0 | 100% |
| profiles\tests\test_profiles_views.py | 20 | 0 | 0 | 100% |
| profiles\urls.py | 3 | 0 | 0 | 100% |
| profiles\views.py | 77 | 1 | 0 | 99% |
| scraping\__init__.py | 0 | 0 | 0 | 100% |
| scraping\settings.py | 18 | 0 | 0 | 100% |
| scraping\urls.py | 3 | 0 | 0 | 100% |
No items found using the specified filter.


Four day event
Four levels, one each day
We appreciate righteousness
Colleagues qualifying to the next rounds will be notified by email
Register now
Contact us
TESCO, Main campus
+918050820770
TescoTechnologyDay.2016@in.tesco.com


Welcome to the Location Stalker Client. Please enter below the target url (e.g. localhost:1337). After that is done, generate or create a session.


This is the caption font.
This is the icon font.
This is the menu font.
This is the message-box font.
This is the small-caption font.
This is the status-bar font.


The from function creates a shallow copy of the Java datastructure (Array, List) as a JavaScript array.
In many cases, this is not necessary, you can typically use the Java datastructure directly
from JavaScript.
Parameters
value: any
Returns any
isJavaObject: function
isJavaObject(obj: any): boolean
The isJavaObject method returns whether obj is an object of the Java language.
It returns false for native JavaScript objects, as well as for objects of other polyglot languages.
Parameters
obj: any
Returns boolean
isType: function
isType(obj: any): boolean
The isType method returns whether obj is an object of the Java language,
representing a Java Class instance. It returns false for all other arguments.
Parameters
obj: any
Returns boolean
to: function
to(jsValue: any, javaType: any): any
The to function converts the argument to a Java dataype.
When no toType is provided, Object[] is assumed.
Parameters
jsValue: any
javaType: any
Returns any
type: function
type(className: string): any
The type function loads the specified Java class and provides it as an object.
Fields of this object can be read directly from it, and new instances can be created with the
JavaScript new keyword.
Parameters
className: string
Returns any
typeName: function
typeName(obj: any): string | undefined
The typeName method returns the Java Class name of obj. obj is expected to represent
a Java Class instance, i.e., isType(obj) should return true; otherwise, undefined is returned.
The from function creates a shallow copy of the Java datastructure (Array, List) as a JavaScript array.
In many cases, this is not necessary, you can typically use the Java datastructure directly from JavaScript.


Triangle Type
Enter side lengths to see what type of triangle it is!
side one:
side two:
side three:
Find out!
Your triangle is


Wookmark Image Preloader Example
The tiles are initialized after all images have loaded and their size determined.
Back to overview