| RFC 5841 | TCP Option to Denote Packet Mood | April 2021 |
| Hay & Turkal | Informational | [Page] |
This document proposes a new TCP option to denote packet mood.¶
This document is not an Internet Standards Track specification; it is published for informational purposes.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are candidates for any level of Internet Standard; see Section 2 of RFC 7841.¶
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc5841.¶
Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.¶
In an attempt to anthropomorphize the bit streams on countless physical layer networks throughout the world, we propose a TCP option to express packet mood [DSM-IV].¶
Packets cannot feel. They are created for the purpose of moving data from one system to another. However, it is clear that in specific situations some measure of emotion can be inferred or added. For instance, a packet that is retransmitted to resend data for a packet for which no ACK was received could be described as an 'angry' packet, or a 'frustrated' packet (if it is not the first retransmission for instance). So how can these kinds of feelings be conveyed in the packets themselves. This can be addressed by adding TCP Options [RFC0793] to the TCP header, using ASCII characters that encode commonly used "emoticons" to convey packet mood.¶
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are to be interpreted as described in [RFC2119].¶
A TCP Option has a 1-byte kind field, followed by a 1-byte length field [RFC0793]. It is proposed that option 25 (released 2000-12-18) be used to define packet mood. This option would have a length value of 4 or 5 bytes. All the simple emotions described as expressible via this mechanism can be displayed with two or three 7-bit, ASCII- encoded characters. Multiple mood options may appear in a TCP header, so as to express more complex moods than those defined here (for instance if a packet were happy and surprised).¶
Kind Length Meaning ---- -------- ------- 25 Variable Packet Mood¶
Figure: TCP Header Format¶
In more detail:¶
+--------+--------+--------+--------+ |00011001|00000100|00111010|00101001| +--------+--------+--------+--------+ Kind=25 Length=4 ASCII : ASCII ) +--------+--------+--------+--------+--------+ |00011001|00000101|00111110|00111010|01000000| +--------+--------+--------+--------+--------+ Kind=25 Length=5 ASCII > ACSII : ASCII @¶
It is proposed that common emoticons be used to denote packet mood. Packets do not "feel" per se. The emotions they could be tagged with are a reflection of the user mood expressed through packets.¶
So the humanity expressed in a packet would be entirely sourced from humans.¶
To this end, it is proposed that simple emotions be used convey mood as follows.¶
ASCII Mood ===== ==== :) Happy :( Sad :D Amused %( Confused :o Bored :O Surprised :P Silly :@ Frustrated >:@ Angry :| Apathetic ;) Sneaky >:) Evil¶
Proposed ASCII character encoding¶
Binary Dec Hex Character ======== === === ========= 010 0101 37 25 % 010 1000 40 28 ( 010 1001 41 29 ) 011 1010 58 3A : 011 1011 59 3B ; 011 1110 62 3E > 100 0000 64 40 @ 100 0100 68 44 D 100 1111 79 4F O 101 0000 80 50 P 110 1111 111 6F o 111 1100 124 7C |¶
For the purposes of this RFC, 7-bit ASCII encoding is sufficient for representing emoticons. The ASCII characters will be sent in 8-bit bytes with the leading bit always set to 0.¶
There are two ways to denote packet mood. One is to infer the mood based on an event in the TCP session. The other is to derive mood from a higher-order action at a higher layer (subject matter of payload for instance).¶
For packets where the 'mood' is inferred from activity within the TCP session, the 'mood' MUST be set by the host that is watching for the trigger event. If a client sends a frame and receives no ACK, then the retransmitted frame MAY contain the TCP OPTION header with a mood set.¶
Any packet that exhibits behavior that allows for mood to be inferred SHOULD add the TCP OPTION to the packets with the implied mood.¶
Applications can take advantage of the defined moods by expressing them in the packets. This can be done in the SYN packet sent from the client. All packets in the session can be then tagged with the mood set in the SYN packet, but this would have a per-packet performance cost (see Section 5 "Performance Considerations").¶
Each application MUST define the preconditions for marking packets as happy, sad, bored, confused, angry, apathetic, and so on. This is a framework for defining how such moods can be expressed, but it is up to the developers to determine when to apply these encoded labels.¶
Healthy packets are happy packets you could say. If the ACK packets return within <10 ms end-to-end from a sender's stack to a receiver's stack and back again, this would reflect high-speed bidirectional capability, and if no retransmits are required and all ACKs are received, all subsequent packets in that session SHOULD be marked as 'happy'.¶
No loss, low-latency packets also makes for happy users. So the packet would be reflecting the end-user experience.¶
If retransmission rates achieve greater than 20% of all packets sent in a session, it is fair to say the session can be in mourning for all of the good packets lost in the senseless wasteland of the wild Internet.¶
This should not be confused with retransmitted packets marked as 'angry' since this tag would apply to all frames in the session numbed by the staggering loss of packet life.¶
Any packet that is carrying a text joke SHOULD be marked as 'amused'.¶
Example:¶
1: Knock Knock 2: Who's there? 1: Impatient chicken 2: Impatient chi... 1: BAWK!!!!¶
If such a joke is in the packet payload then, honestly, how can you not be amused by one of the only knock-knock jokes that survives the 3rd grade?¶
When is a packet confused? There are network elements that perform per-packet load balancing, and if there are asymmetries in the latencies between end-to-end paths, out-of-order packet delivery can occur.¶
When a receiver host gets out-of-order packets, it SHOULD mark TCP ACK packets sent back to the sender as confused.¶
The same can be said for packets that are sent to incorrect VLAN segments or are misdirected. The receivers might be aware that the packet is confused, but there is no way to know at ingress if that will be the fate of the frame.¶
That being said, application developers SHOULD mark packets as confused if the payload contains complex philosophical questions that make one ponder the meaning of life and one's place in the universe.¶
Packets carrying accounting data with debits, credits, and so on MUST be marked as 'bored'.¶
It could be said that many people consider RFCs boring. Packets containing RFC text MAY be marked as 'bored'.¶
Packets with phone book listings MUST be marked 'bored'.¶
Packets containing legal disclaimers and anything in Latin SHOULD be marked 'bored'.¶
Who doesn't love when the out-of-order packets in your session surprise you while waiting in a congested queue for 20 ms?¶
Packets do not have birthdays, so packets can be marked as surprised when they encounter unexpected error conditions.¶
So when ICMP destination unreachable messages are received (perhaps due to a routing loop or congestion discards), all subsequent packets in that session SHOULD be marked as surprised.¶
Not all packets are sent as part of a session. Random keepalives during a TCP session MAY be set up as a repartee between systems connected as client and server. Such random and even playful interchanges SHOULD be marked as silly.¶
Packets that are retransmitted more than once SHOULD be marked as frustrated.¶
Packets that are retransmitted SHOULD be marked as angry.¶
When sending a RST packet to a connected system, the packet should be marked as apathetic so that the receiver knows that your system does not care what happens after that.¶
When a packet is used in a particularly clever way, it SHOULD be marked as sneaky. What is "clever" is rather subjective, so it would be prudent to get a few opinions about a particular use to make sure that it is clever.¶
It is hard for a TCP packet to discern higher moral quandaries like the meaning of life or what exactly defines 'evil' and from whose perspective such a characterization is being made. However, developers of TCP-based applications MAY choose to see some activities as evil when viewed through their particular lens of the world. At that point, they SHOULD mark packets as evil.¶
Some organizations are prohibited from using this mood by mission statement. This would also prohibit using the security flag in the IP header described in [RFC3514] for the same reasons.¶
Adding extensions to the TCP header has a cost. Using TCP extensions with the ASCII-encoded mood of the packet would detract from the available MSS usable for data payload. If the TCP header is more than 20 bytes, then the extra bytes would be unavailable for use in the payload of the frame.¶
This added per-packet overhead should be considered when using packet mood extensions.¶
The TCP checksum, as a 16-bit value, could be mistaken if ASCII characters with the same number of
zeros and ones were substituted out. A happy :)
could be replaced with a frown by a malicious
attacker, by using a winking eye ;(
. This could misrepresent the intended mood of the sender to
the receiver.¶
If this work is standardized, IANA is requested to officially assign value 25 as described in Section 3. Additional moods and emoticon representations would require IESG approval or standards action [RFC5226].¶


/* # Increment and Decrement Operators
Increment and Decrement operators are used as shortcut to increase or decrease the value of any integer or floating-point numbers by 1. These operators return the value after modifying it, if used as a prefix operator. If used as a postfix operator, they return and then modify the value. If you are not using the return value, the prefix operator is recomended by Apple.


Tater tot casserole ready for the potluck (casserole themed). Now to see if I can get some writing done while Cora's happy in the jumper.
11/2/2008, 4:34:38 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
Tater tot casserole ready for the potluck (casserole themed). Now to see if I can get some writing done while Cora's happy in the jumper.
11/2/2008, 4:34:38 PM
Favs: 0
Retweets: 0
link


VOCOMFEST
Login to Vocomfest
Leader email
:
Password
:
Remember me
Forgot Password?
Click here
!
Don't have any account?
Register
! or back to
home
?


--- title: Exoplanet Hunt layout: page css: [ "public/css/game.css" ] js: [ "public/js/PxLoader.js", "public/js/PxLoaderImage.js", "public/js/game/consts.js", "public/js/game/button.js", "public/js/game/star.js", "public/js/game/game.js" ] ---
You selected the right star to explore.
What you are probing is the acoustic oscillations in stars, which is their speed of sound. The acoustic oscillations can tell us about the density and size of an object. As stars get older, they get less dense and bigger. The oscillations in the older stars are deeper (lower frequency). Take for example a cello. It has a low sound because its oscillation cavity is bigger and it is more hollow. The stellar oscillation frequencies can therefore tell us the age of stars. Older stars are less active, so planet signals are easier to detect. Selecting the oldest star would allow for the best potential research. As a result, you must select the oldest star, which is the star with the deepest oscillations in order to win.
You selected the wrong star to explore.
What you are probing is the acoustic oscillations in stars, which is their speed of sound. The acoustic oscillations can tell us about the density and size of an object. As stars get older, they get less dense and bigger. The oscillations in the older stars are deeper (lower frequency). Take for example a cello. It has a low sound because its oscillation cavity is bigger and it is more hollow. The stellar oscillation frequencies can therefore tell us the age of stars. Older stars are less active, so planet signals are easier to detect. Selecting the oldest star would allow for the best potential research. As a result, you must select the oldest star, which is the star with the deepest oscillations in order to win.
You must select a star to continue


I am a full stack web developer with a hard work ethic and ability to adapt. Working to receive a certificate in web development from the University of Minnesota, equipped with an arsenal of skills in HTML, Javascript, CSS, and responsive design. I have a simple goal with everything I design: make it react intuitively to users and function accessible across all platforms. In a recent project I utilized server-side APIs along with localstorage and aforementioned programming languages to create a weather finding application. I look forward to utilizing my skill set for developing and maintaining websites.
I grew up in Minnesota, spending most of my childhood in New Hope. Growing up with two older brothers(and now two older step-brothers to add in the mix) made me competitive, always trying my best to do as well as they did in school and sports. Growing up I played every sport from soccer, to football, to hockey. These days I spend the winter months still playing ice hockey when I can, while the summer is spent on disc golf, and I try to hike and stay active year round.
image above: Carter Venne and Ryan Venne 2018 Peru trip
After graduating from Cooper High School, I spent a year at North Hennepin Community College trying to navigate my way through life's ups and downs. Working retail for several years and several companies I started to realize that profession was not where my passions lie. Experiencing the volatile and uncertain work world with the Covid virus I decided it was time for a change. Since a young age I've had an affinity for technology, spending countless hours on the family desktop researching and playing video games. So naturally after experimenting with coding in high school and looking into various bootcamps I decided to move into the web development field. Utilizing the skills I learn in this bootcamp I look forward to the next building block of my future success.


The Netsoc Minecraft Server has launched.
Featuring creative & survival, shops, factions and more!
Join us now at
minecraft.netsoc.co!
The Netsoc Minecraft Server has launched.
Featuring creative & survival, shops, factions and more!
Join us now at
minecraft.netsoc.co!


This tutorial series aims to provide you with an introduction to container and container orchestration technology using Docker, Kubernetes, and Red Hat OpenShift Container Platform.
This tutorial is Part 2 of my series on Red Hat Openshift. Check out the other articles:
- Fundamentals of Containers, Kubernetes, and Red Hat OpenShift : Tutorial introduction
- Setting Up the Lab Environment
- Overview of the Docker Architecture
- Managing the Life Cycle of Containers
- Building Custom Container Images with Dockerfile
- Creating Kubernetes Resources
- Creating Applications with Source-to-Image facility of Red Hat OpenShift
What is Docker
I’ll just copy the definition from opensource.com
Docker is a tool that is designed to benefit both developers and system administrators, making it a part of many DevOps (developers + operations) toolchains. For developers, it means that they can focus on writing code without worrying about the system that it will ultimately be running on. It also allows them to get a head start by using one of thousands of programs already designed to run in a Docker container as a part of their application. For operations staff, Docker gives flexibility and potentially reduces the number of systems needed because of its small footprint and lower overhead.
Now let’s fire up our lab and use the command-line to try out basic Docker commands with and begin to understand how it works.
There is a beginners guide to Docker that introduces you to some basic commands and container terminology.
Start the cluster and ssh to the server.
$ minishift start
Starting local OpenShift cluster using 'virtualbox' hypervisor...
Registering machine using subscription-manager
-- Checking OpenShift client ... OK
-- Checking Docker client ... OK
... ommitted ...
-- Server Information ...
OpenShift server started.
The server is accessible via web console at:
https://<IP_ADDRESS>:8443
You are logged in as:
User: developer
Password: developer
To login as administrator:
oc login -u system:admin
$ minishift ssh
[docker@minishift ~]$
Finding an Image
Many container images are available for download from the DockerHub website.
It is a large repository where developers and administrators can get a number of container images developed by the community and some companies.
Anyone can publish images to Docker Hub after they register.
By default, Docker downloads image layers from the Docker Hub image registry however, there are many other registries like Quay, Amazon’s EC2, Google’s Container Registry or even self-hosted private registries.
The Docker Hub search engine is a simple search engine. It looks for a project name from the Docker Hub registry.
The search results page lists the string used to pull the image files. For example, for the following screen output, the first column is the name of the container image.
Clicking an image name to display the container image details page. The details page is not guaranteed to display any particular information. Different authors provide different levels of information about the images they create.
The docker command can also be used to search for container images:
docker search mysql
The search uses the Docker Hub registry and also any other registry configured in the local Docker daemon.
Fetching an Image
To download an image from the Docker Hub container image registry, look for the first column name from the Docker Hub search results page, or the second column from the docker search command and use docker pull command:
sudo docker pull hello-world
Many versions of the same image can be provided. Each one receives a different tag name. If no tag name is provided, then docker pull assumes the tag called latest by default.
To download a specific tag, append the tag name to the image name separated by a colon (:) in the docker pull command:
sudo docker pull hello-world:latest
Listing the Images Available in the Local
To list all images that were already downloaded by the local Docker daemon, use the docker images command:
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
docker.io/hello-world latest a5ad9eb2ff48 4 weeks ago 974 B
Creating a Container from an image
To create and start a process within a new container, use the docker run command. The container is created from the container image name passed as argument.
$ sudo docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
Guided Exercise: Creating a MySQL Database Instance
In this exercise, you will start a MySQL server inside a container, and then create and populate a database.
-
Create a MySQL server container instance:
1.1. Open a shell inside the Minishift VM. All Docker commands will be run inside the VM:
$ minishift start $ minishift ssh [docker@minishift ~] $
1.2. Start a container from the Docker Hub MySQL image:
[docker@minishift ~]$ docker run --name mysql-basic -e MYSQL_USER=user1 -e MYSQL_PASSWORD=pass1 -e MYSQL_DATABASE=items -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6
Notice that we passed the -d to the docker run command to start a container image as a background process.
Also many container images require parameters to be started, such as the MySQL official image (read Environment Variables in the Docker hub image description).
They should be provided using the -e option from the docker command.This command downloads (pulls) the mysql container image with the 5.6 tag, and starts a container named mysql-basic based on it. The container runs in the background.
The mysql container image uses the environment variables passed to the docker run command to initialize a database named items, owned by a user named user1, with pass1 as the password. The database administrator password is set to root.1.3. Check that the container started without errors.
$ sudo docker ps | grep mysql CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<PHONE_NUMBER>2d mysql:5.6 "docker-entrypoint.sh" 6 seconds ago Up 4 seconds 3306/tcp mysql-basic
-
Access the container sandbox by running the following command:
$ docker exec -it mysql-basic bash root@13568029202d:/#
This will starts a Bash shell, running as root, inside the MySQL container.
-
Add data to the database:
Log in to MySQL as the database administrator user (root) using the password we passed to docker run command
mysql -proot
The mysql command opens the MySQL database interactive prompt. Run the following command to check the items database availability:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | items | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.00 sec)
Cool our mysql database is up and running , it took just 2 minutes to install an instance, configure and create the database.
-
Undo the changes made by the lab when you are finished
4.1. Stop the running container by running the following command:
[docker@minishift ~]$ docker stop mysql-basic
4.2. Remove the data from the stopped container by running the following command:
[docker@minishift ~]$ docker rm mysql-basic
4.3. Remove the container image by running the following command:
[docker@minishift ~]$ docker rmi mysql:5.6
4.4. Leave the Minishift VM:
[docker@minishift ~]$ exit logout $ minishift stop
To recap
The base command for the Docker CLI discussed in this article:
docker search # Search the Docker Hub for images
docker pull # Pull an image or a repository from a registry
docker images # List images
docker run # Run a command in a new container
docker ps # List containers
docker exec # Run a command in a running container
docker stop # Stop one or more running containers
docker rm # Remove one or more containers
docker rmi # Remove one or more images
See also the full Docker command line reference
Now that you’re able to run a container from an existing image, let’s learn more about the life Cycle of containers.


Tab 1
Tab 2
Tab 3
Tab 4
Tab 5
Tab 6
Tab 7
Tab 8
Tab 9
Tab 10
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
10th


Software Projects
C++, Python, VB, Web Dev
A collection of non-NDA projects in aerospace, software
and more, that I will continuiously expand.
Some source code coming soon to github
C++, Python, VB, Web Dev
Creo/ProE, Solidworks, Matlab, Simulations, Data Analysis, and Misc
Work in Progress
This website itself is built by me with the help of some open-source code to speedup the process. I have minor experience with web development, so this practice has been greatly progressing my HTML5, CSS3 and JS knowledge.
Snapshot from pycharm IDE
Fortuna Mining LLC servers need services which monitor various transducers, such as temperature, outlet current, cpu utilization, etc. The services attempt to troubleshoot and recover errors autonomously, to ensure optimal uptime. Written primarily in python.
Originally for GIMP, converting to standalone
Older image files (especially jpg from old digital cameras) are overcompressed and saved in underwhelming resolution. I attempt to interpolate past the compression with a program that checks adjacent pixel's characteristics to add smoothing blurs. Then it uses the DCCI algorithm to scale.
Eclipse Screenshot
Demo Video
Familiarizing myself with OpenCV before a contract. Simple test where I process batch images or video.
Peak at the results generated from an algo backtest
The last few years, I've collaborated on a full algorithmic/AI trading suite, written primarily in python. Includes backtest, analysis, and live trade execution.
Private Alpha Example
A lightweight application written in VB and C++ to utilize data from crypto currency exchanges. The program collects api data and uses it to set alerts that popup on the windows desktop as well as an email push. The user sets what criteria and exchange they they wish to monitor.
Example plot from imported data in matlab
Screenshot of some of the C++ code
Reformatting source code, coming soon! This calculator program computes significant values in any specified 2D point inside the flow. Written in C++, and results compiled with Matlab.
Only showing small snapshots due to being part of a SBIR
Snapshot of some Octave/Matlab
6U size example results
For a SBIR proposal, a simulator was required for different long-polymyer-chain PET deorbit dragsails. Using NASA's atmospheric model NRLMSISE-90 and kinematics in matlab, the required data was calculated.
Screenshot of Matlab code
One of the comparison plots
This calculator program computes tables for adiabatic turbofan engines, for an efficiency study. Part of an a study to match bypass ratios for specific performance.
Preliminary sketches
Assembly prototype
Teammate operating low speed wind tunnel
A common job for an aeronautical engineer is match airfoils to specific applications. There are drawbacks to traditional wings, where mechanical devices add complexity. One possible modification to airfoil performance is a dempterature differential. I worked with a small team to design, build and test an airfoil with a temperature differential between the upper and lower surfaces. Utilizing Peltier-Devices, the airfoil could create a differential using electricity. The results of the change in coefficient of lift and drag are explained in the report.
Front of two of the custom made racks attached to the cold air box
Maintenance in the cold air box
I operate a small cloud computing company where I build and program the GPU clusters. A thermodynamic study to cool the warehouse was performed. Also used for blockchain calculations or mining.
Hardware research from purchasing decision making
Data for tuning GPU voltages
The two node racks for 16GPUs, test bench in background
Before Fortuna Mining LLC, we had a small group of nodes managed by a host remote computer. Primarily used to mine PoW cryptocurrencies from 2013 to 2014.
Click the image to interact!
A caster used to minimize roll friction of industrial carts.
Click the image to interact!
Example piston with connecting rod attached.


Sensex, Nifty End Higher; PSU Banks Shine
Mumbai: Major Indian equity indices ended higher on Friday led by index heavyweights. The Sensex closed 70.21 points higher at 40,356.69, while the Nifty ended 23.20 points higher at 11,895.30.
Beaten down telecom stocks – Bharti Airtel and Vodafone Idea – recovered sharply on Friday on reports that a committee has sought recommendations from the Department of Telecom (DoT) on setting a minimum charge for all tariffs for telecom players.
Both Vodafone Idea and Airtel took hits on their balance sheet, as well as in the bourses after the Supreme Court upheld the government’s definition of adjusted gross revenue (ADR) on which it calculates levies on telecom operators, resulting in dues of over Rs 92,000 crore payable by the industry.
“Signals on further progress on US-China trade deal improved sentiment across global markets but weakening macros and a muted end to Q2 results induced investors to book profits at higher levels,” said Vinod Nair, Head of Research, Geojit Financial Services.
Reports of the government planning to set minimum price for mobile calls and data to revive the telecom sector boosted telecom stocks. Besides, public sector (PSU) banks gained some ground on account of a likely reduction in non-performing assets (NPAs or bad loans) post the favourable verdict from the Supreme Court.
State-run enders of bankrupt Essar Steel like SBI, PNB, and IDBI Bank, as well private banks like ICICI Bank closed higher after the Supreme Court order has opened the doors for recoveries from borrowers under the insolvency resolution process. (IANS)
Also Read: Sensex ends higher; Vodafone crashes, SpiceJet down
Also Watch: 1st Bodoland International Paragliding concludes, Indonesia wins gold both man’s & women’s category


Here are more details about me:
Educational background:
My hobbies and interests include:
Reasons for doing programming:
I started programming to gain more skills in my degree course to help me in the future. Programming will help me in acquiring more job opportunities. Programming will also help me in learning new languages which will help me accomplish different computer skills.
Here are links to some of my active pages.
Check out my first webpage.This website was written by Vivian Gichuki with the help of moringa school. It contains an image of an elephant and various computer languages.
Check out a branching sample.This sample was used to test the different font colors and background colors of the stylesheet css.
Check out my favorite things.This website contains details about Vivian Gichuki. It uses different font styles and sizes.
Check out my pet.This website is about Mr.Smitten, my dog. It contains basic HTML format.
Check out a resort.This link contains a website of a resort. It contains basic HTML format.


United States School Districts
Search School District:
Select Year:
2016
2015
2014
2013
2012
2011
2010
2009
2018
2017
2008
2007
2006
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
Select Indicator to Display:
Cluster
Number of Schools
Math Midpoint Score
English Midpoint Score
Total Revenue
Total Enrollment
Total Teacher FTE
Enter # of Districts to Display:


{% extends "header.html" %} {% block body %}
Welcome to the introduction to Kivy tutorial. First off, what is Kivy? Kivy is a multi-platform application development kit, using Python.
This means Kivy runs on iOS, Android, MacOS, Windows, and Linux! That's quite a bit! What's more is, not only does it run across the board like this, but you can also take advantage of multi-touch, which is common on mobile devices.
With Kivy, you can also access mobile APIs, like the Android API to manipulate things like the camera on a phone, the gyro sensor, GPS, vibrator, and so on.
I assume you already have Python. If you're new to Python, you should probably learn the basics of Python first.
Convinced? Great, let's get Kivy!
In order to use Kivy, you're going to also need PyGame, and likely Cython down the road, though we'll leave that out for now.
Since PyGame is a dependency of Kivy, we'll grab that first. PyGame is one of the original packages for creating games in Python. There is a PyGame tutorial seriers here on this website as well, if you are particularly interested in Game development.
In order to get PyGame, and then Kivy, we're going to use pip. So long as you have a recent version of either Python 2 or Python 3, you already have pip on your system. This tutorial is done with Python 3, though you should be able to follow along with Python 2.
Open bash or cmd.exe, and do:
pip install pygame
pip install kivy
That should be it. Are you having trouble with pip? I have a more in-depth tutorial on how to use pip and how to handle various things like 64 bit requirements and if pip is not in your path:
If you need help with pip, check out the pip tutorial.
Once you have Kivy installed successfully, you're ready to begin your first basic program!
Kivy handles a lot of the back-end requirements for you. For things like where the mouse is, how a button should react when clicked, or, even how to manage multiple screens, Kivy has your back!
from kivy.app import App kivy.require("1.8.0") from kivy.uix.label import Label
Kivy App import, followed by a requirement for a Kivy version. This isn't required, but necessary if you're using new features of Kivy. Finally, we pull Label from Kivy's UIX packages.
class SimpleKivy(App): def build(self): return Label(text="Hello World!")
Now we create our main application, called SimpleKivy. We're inheriting from Kivy's App class. Our build method is an expected method for Kivy. Within our build, we're just returning a simple Label, which is just displaying "Hello World."
Confused by "class" or Object Oriented Programming? OOP makes the most sense in most cases when creating things like interactive GUIs (graphical user interfaces) or Games. OOP can be a bit confusing, though it doesn't have to be! If you're confused about OOP, check out the Object Oriented Programming Crash Course.
if __name__ == "__main__": SimpleKivy().run()
Now we run the code. What does this if __name__ == "__main__" mean?
That's all there is to it. You should get the following when you run the application:
One of the things that makes Kivy a superb module is the documentation. Kivy offers documentation on their website which is very well done, but Kivy also has extensive commenting within the actual Python module itself. It might be the most documentation that I've ever seen. If you want to know, for example, what you can do with this "Label," why not check it out in the module? To do this, do you know where to look?
Third-party modules are *usually* stored in the /Lib/site-packages/ directory of your Python installation. If you're having trouble finding it, however, you can usually get by doing something like:
import kivy print(kivy.__file__)
That will give you the location of a module, which, for me, is:
C:\Python34\lib\site-packages\kivy\__init__.py
That's at least where the __init__.py is, but we're mostly interested in looking in the Kivy directory. Let's head there!
We see that we imported the "Label" from kivy.uix.label, so we can assume we'll find Label within kivy/uix/label.py.
Sure enough, there it is. Open it up to edit it, and just look at all those options...and all that commenting! Far more commenting than code. So, if you're interested in learning more about Kivy and the aspects of it, just browse your installation, or poke about their documentation!
For us, we're now ready to move on!


{{ post.title }}
{% with author=post.author.get_full_name %}by
{% endwith %} — {{ post.published|date:"Y F d" }}{% extends "site_base.html" %} {% load i18n %} {% load cache %} {% load compress %} {% load sponsorship_tags %} {% load thumbnail %} {% load boxes_tags %} {% load biblion_tags %} {% block head_title_base %}{{ SITE_NAME }} in Portland, OR | May 28th – June 5th{% endblock %} {% block body_class %} {{ block.super }} home {% endblock %} {% block banner %}
PyCon is proud to once again offer a stellar array of tutorials prior to PyCon's main conference days! These are multi-hour tutorial taught by experienced Pythonistas and instructors.
PyCon is the largest annual gathering for the community using and developing the open-source Python programming language.
Development sprints are a key part of PyCon, and a chance for the contributors to open-source projects to get together face-to-face for up to four days of intensive learning, development and camaraderie.
by
{% endwith %} — {{ post.published|date:"Y F d" }}{% trans "Announcements coming soon." %}


The table D3-Blood-Lead houses data on the following columns:
| Columns | Description |
|---|---|
| CntTested | Number of individuals who were tested |
| EBLL | Number of individuals tested with an elevated blood lead level, defined as > 4.5 micrograms per deciliter |
| Under6CntTested | Number of individuals, under 6 years of age, who were tested |
| Under6EBLL | Number of individuals tested, under 6 years of age, with an elevated blood lead level, defined as > 4.5 micrograms per deciliter |
| Under18CntTested | Number of individuals, under 18 years of age, who were tested |
| Under18EBLL | Number of individuals tested, under 18 years of age, with an elevated blood lead level, defined as > 4.5 micrograms per deciliter |


List of User: UserID Email First Name Last Name Operation Details Delete User Homepage Hotels List Page


Before Change
state.loss = {self.loss_key: loss}
def _compute_loss(self, state: RunnerState, criterion):
loss = criterion(
state.output[self.output_key], state.input[self.input_key]
)
return loss
def on_stage_start(self, state: RunnerState):
assert state.criterion is not None
After Change
def _compute_loss(self, state: RunnerState, criterion):
output = self._get(state.output, self.output_key)
input = self._get(state.input, self.input_key)
loss = criterion(output, input)
return loss
def on_stage_start(self, state: RunnerState):
assert state.criterion is not None


==== WiFi Attacks ====
Regardless of protocol, there are a number of attacks available for WEP, WPA, WPA2, EAP-FAST, EAP-LEAP, and other avenues. The attacker should be familiar with the various encryption protocols and standards and be able to effectively test the implementation around the controls put in place.


UK's Javid says opposition Labour would trigger economic crisis: BBC
LONDON (Reuters) - British finance minister Sajid Javid said the opposition Labour Party’s spending plans would trigger an economic crisis within months, citing a contested dossier published by his Conservative Party and refusing to give costs for his own fiscal strategy.
“These are eye-watering levels of spending - 1.2 trillion (pounds) - it will be absolutely reckless and will leave this country with an economic crisis within months,” Javid told the BBC on Sunday.
The Labour Party have dismissed the Conservative analysis of their spending plans, and have yet to publish their full manifesto.


CPack Archive Generator¶
Archive CPack generator that supports packaging of sources and binaries in different formats:
- 7Z - 7zip - (.7z)
- TBZ2 (.tar.bz2)
- TGZ (.tar.gz)
- TXZ (.tar.xz)
- TZ (.tar.Z)
- ZIP (.zip)
Variables specific to CPack Archive generator¶
-
CPACK_ARCHIVE_FILE_NAME
¶ -
CPACK_ARCHIVE_<component>_FILE_NAME
¶ Package file name without extension which is added automatically depending on the archive format.
Mandatory : YES
- Default :
<CPACK_PACKAGE_FILE_NAME>[-<component>].<extension>
with spaces replaced by ‘-‘
- Default :
-
CPACK_ARCHIVE_COMPONENT_INSTALL
¶ Enable component packaging for CPackArchive
- Mandatory : NO
- Default : OFF
If enabled (ON) multiple packages are generated. By default a single package containing files of all components is generated.


A web interface for creating Drush Rebuild config files in YAML format.
Use this option if you are pulling data from a remote environment into your local development environment.
Options for the drush site-install command. Use this option if you are rebuilding from an install profile.
drush site-install
Use this option if you plan to use pre process and post process scripts for rebuilding your environment.
pre process
post process


Colors
Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages.
Theme colors
Primary theme colors are used for elements that must reflect Purpose’s brand. Each color has a darker and a lighter shade. These can be customized to represent your brand identity using Sass and our build tools.
Gradient
We love gradients. That is why we created these variations that are built dynamically based on the theme’s colors described above. By changing a theme color the gradient will adapt.
Translucent
If you want add a little transparency to your backgrounds you can use the .bg-translucent-*
modifier class. The opacity level can be modified from the variables file.
Text colors
.text-primary
.text-secondary
.text-success
.text-danger
.text-warning
.text-info
.text-light
.text-dark
.text-body
.text-muted
.text-white
.text-black-50
.text-white-50
Gray colors
Grey colors are used for text, backgrounds, lines and borders. The grays from 100 to 300 are used for backgrounds, while the ones from 400 to 600 are used for icons.
Brand colors
Reversible grays
The grey colors are reversible. Each light grey color has a complementary dark grey color. This helps keeping the colors well balanced and also makes it easier to implement light/dark themes. Good example of this is the Marvel editor, which is implemented in the dark theme.
Light theme
This subtle paragraph text color works equally well on a light or dark background.
Dark theme
This subtle paragraph text color works equally well on a light or dark background.


On Thursday 1st April we published an anonymously-sent photograph of a man and a child, one of whom was purportedly Dobson. I suggested this was probably an April Fool's Day prank. Now, reader Peter C Ross writes:
Sir : Having known Dobson for more years than I care to mention I am certain that the photograph you have received is of Dobson as a child and that the figure behind is his father (also known as Dobson). The identification is further confirmed by the corner of a Crittal window visible in the background. It is a well known fact that Dobson spent his formative years behind such a window.
This is clearly nonsense. In his breathtaking—if indigestible—List Of Every Single Person Dobson Met In His Life, Jasper Poxhaven never mentions anyone named Ross, let alone Peter of that ilk, with or without a C. Our correspondent is either the shadowy figure who sent the photograph, or a maniac, or possibly both. There is a third possibility, but it is so terrifying in its implications that I will have to go and bathe my head in Dr Fleming's Brain Soothing Infusion & Nerve Tonic (for external use only) before addressing it…


Refugees at Cape Town church planning 'mass exodus'
by Jenni EvansA banner hanging outside Cape Town's Central Methodist Church on Monday said the hundreds of foreign nationals taking refuge there were planning a "mass exodus" from South Africa.
"Refugees have decided to go on mass exodus out of South Africa," read the hand-painted banner waving in the wind.
This was after some of the people in the church rounded on a delegation of interfaith leaders and NGOs on Friday, who were pushed and shoved in a scuffle in the church. Others held the attackers back to protect the group.
The SA Human Rights Commission's (SAHRC) Reverend Chris Nissen and Anglican Archbishop Thabo Makgoba were injured when bottles and objects were thrown.
The leaders of the group were engaged in a meeting on Monday morning.
About 600 people, including more than 100 children, have been living in the church on Greenmarket Square since October 30, after they were forcibly removed from a sit-in protest at the nearby Waldorf Arcade.
They had been holding a sit-in to get the attention of the United Nations High Commissioner for Refugees (UNHCR).
They want the UNHCR to evacuate them from South Africa because they say they have been targeted for being foreign nationals and have experienced constant problems over their paperwork with the Department of Home Affairs.
They do not want to return to their countries of origin, but to another host country.
The UNHCR has said this is not possible and Home Affairs said it could not force people on another country.
On Friday, police detained a group with the same demands when they moved on to the UNHCR's premises in Pretoria.
They were taken to the Lindela holding facility in Gauteng for their status as refugees or asylum seekers to be verified.
In the meantime, a seemingly never-ending game of draughts continued under a tree outside the church in Cape Town. The clattering of the dice mingled with the sound of children playing and the murmured conversation of the adults, all in limbo.
In his Sunday sermon, the church's Reverend Alan Storey said he found Friday's incident disgraceful.
He understood that their circumstances could make refugees lose control, but he said it could also harden attitudes to their plight.
He has asked them to start making arrangements to leave, due to the fire and health risks of living in such close quarters, in between the pews and on the floors. He has not given them a deadline.


{% trans %}When you are modifying root templates (ex: base.html), you may inadvertently break the dashboard and become unable to access this page to upload a fix.{% endtrans %}
{% trans profile_url=urls.profile_redirect %}You can reset to the default theme, but you will need an API key to trigger the API end point from the command line.{% endtrans %}
curl -i -u *api_key*: -X DELETE {{request|site_url}}/api/themes
{% trans %}Read more about theme customization ...{% endtrans %} »
{% endblock %}


Just looked at my graph and I have a big drop from 100W to few W then down to negative.
Can someone explain why this happend?
Archived Forum |
|
Negative values for power!Submitted by SimonK on Sun, 26/07/2015 - 09:08Just looked at my graph and I have a big drop from 100W to few W then down to negative. Can someone explain why this happend?
» |
Re: Negative values for power!
Noise? That is the most likely explanation. Without knowing what your maximum full-scale power is, 5.7 W is probably way below the value at which you can expect reliable and accurate measurements.
Re: Negative values for power!
I know it was way below for accurate or reliable measurements but how the hell did it get so low ?
Had it running now for 3 day and over night it never went under 100W.
All network devices are always on (moder, router, switch, UPS...) it can't go so low.
Re: Negative values for power!
What is your residual load? Is it possible you had a half-hour outage and your UPS carried it through?
Re: Negative values for power!
Residual load? Have 0 ideas what residual load is :)
Re: Negative values for power!
Just had a look at what my arduino in reporting.
Irms = 0.46A
Vrms = 230,16V
RealPower = 10.3W
This does not look ok :) The value is directly displayed on my LCD (arduino) and the same value is send to emoncms.
And in setup
Re: Negative values for power!
It appears to me that your monitor correctly recorded zero power for two periods, one of thirty minutes and one of about 8 minutes. I'm reasonably confident that the monitor itself worked throughout the period because what you graph shows is consistent with what I've described. You are going to have to do a bit of detective work before anyone can help you further.
Re: Negative values for power!
Detective work on what ?
I have no idea what to look at or what to test :)
Re: Negative values for power!
Let it run a while and see if a pattern occurs. If it does then try to find out what's unique about those occurrences.
Paul
Re: Negative values for power!
It's there on every night when the usage dropped below 80-100W. When no other devices were running only my network stuff. And goes away even if you switch lights on in any room ie. usages goes up and over 100w.
Re: Negative values for power!
Which sketch are you using? can you provide a link
Re: Negative values for power!
The one from the provided example in the library for arduino for current and voltage.
Sketch from here http://openenergymonitor.org/emon/buildingblocks/how-to-build-an-arduino...
Re: Negative values for power!
Which sketch are you using? can you provide a link
Re: Negative values for power!
http://openenergymonitor.org/emon/buildingblocks/how-to-build-an-arduino...
This one at the bottom.
Edit - deleted duplicate posts - BT
Re: Negative values for power!
That's a well established software version and checking 'git issues' nobody else is reporting similar problems with it.
I suppose a logical approach would be, if it's occurring every night, is to establish if it's actually recording what is occurring, or is producing false readings.
I presume that as a electrical engineer you will have the knowledge and tools to identify which it is - as Robert Wall has said - detective work!
Paul
Re: Negative values for power!
Current and voltage are almost spot on when messured with my multimeter.
So Vrms and Irms are OK.
Re: Negative values for power!
Current and voltage are almost spot on when messured with my multimeter.
'almost spot on' infers that you are comparing 2 values. Are you comparing the multimeter reading and emoncms - if so, then there's no issue with emoncms - it's recording accurately.
If you are comparing your multimeter reading with something else, please tell us what, and why the readings are 'almost spot on'?
Paul
Re: Negative values for power!
Almost spot on is few % off (231V emoncms / 230V multimeter).
Will try to log the values from my multimeter and add voltage and current to feed to compare both.
Re: Negative values for power!
My last post in this thread.....
Paul
Re: Negative values for power!
Where in the world are you? Knowing that might give us a clue.
As I wrote above, the very low and wildly fluctuating values below about 8 W look consistent with the sort of noise that is generally reported from Arduino builds. So I'm reasonably confident that the Arduino and the recording chain right up to that graph is accurately recording the power from the point where, as separate voltage and current, it meets the inputs to your Arduino.
It's not likely that your ac adapter jumped out of the wall and back again, or your CT dropped off the cable and magically reattached itself, a few minutes later, so given that you listed a UPS as part of your normal residual load (and you as an electrical engineer have never heard that term? ! ! !), based on what little you've told us of your set-up I think the likeliest explanation is the supply really did go off where the graph shows the wildly fluctuating very low - and a few negative - values.
If you have an analogue electric clock of the sort that has a synchronous motor inside, by running that off the suspect supply and checking whether it loses time and by how much, you'd be able to see how that correlates with your emoncms records.
Re: Negative values for power!
When I have the lowest power recorded (negative) the voltages is at 230V on the LCD and the current at 0.46A. So the only wrong value is the calculated power.
Re: Negative values for power!
Irms = 0.46A, Vrms = 230,16V, RealPower = 10.3W
That's not necessarily wrong, but it does imply a pretty poor power factor. At the time of the low power readings, what do porabaP and faktorP contain? You say the sketch you're running is from an example in the building blocks, but I can't find any sketch there with variables with those names.
Why not attach your sketch, as an actual .ino file that we can download and look at?
Is most of your expected 100W background load plugged into the UPS?  Does your UPS log when it's decided to switch to battery power? Is it possible your grid power quality is poor enough that the UPS has decided to kick in because frequency or voltage is out spec?
Are you saying that when it's in low-power mode, you only need to turn a light on somewhere to fix it?
Re: Negative values for power!
Will look at what porabaP and faktorP values are at when I'm home. And they are just local variables for Apperent power (porabaP) and Power factor (faktorP) nothing else!
And I will post the *.ino file! when I'm back home.
No even when I disconnect my UPS I still get the same when the power (realpower) dropps under aprox. 90W.
Even mesured current draw and voltage on my electricity meter! Voltage is the same even on the decimal point and It did not dropp below 229V and above 242V over night. Current went down to 0.5A and when it goes under 0.5A it's all wrong I get from 100W to 10W to -1W and so on...
Yes, when I switch something on that will draw enough power to get the realpower over 90W all is fine again!
Edit - attached sketch directly to post vice third party site - BT
Re: Negative values for power!
Current went down to 0.5A and when it goes under 0.5A it's all wrong I get from 100W to 10W to -1W and so on...
I'm not entirely sure I'm following the exact sequence of events, but what you've described above sounds like an uncorrected phase error in your CT. Check the report in the building block section but you'll see as current goes very low, phase error can get very high and potentially even push you into the next quadrant, which would explain the negative power.
Re: Negative values for power!
I see!
But can I fix this?
Re: Negative values for power!
It's very difficult to deal with varying phase error... even fairly high-end energy ICs (at least the ones I've played with) only support a constant phase error adjustment.
Did you calibrate the PHASECAL setting in your sketch as per the calibration instructions? What current did you calibrate it at?
You could throw money at the problem, in the form of more expensive CTs, but they are often of the 333mV form, which are not well suited to the OEM design.
Re: Negative values for power!
Can't find anything on PHASECAL setting in calibration instructions or I'm looking at the wrong page!
Re: Negative values for power!
My bad, I think I misnamed it. It's steps 4 and 5 here:
http://openenergymonitor.org/emon/buildingblocks/calibration
Re: Negative values for power!
Aha OK. I left it at 1.7
So I need to calibrate it.
Adjusted the value as per calibration instructions.
Real power and Apparent power are now very close!
Power factor is at 0.99 or 1.00 depending on power draw.
Will test it over night to see if anything changed.


| Using the Functions Copy the Function To use any of the functions, just copy and paste them to the end of your batch file. To prevent the function(s) from being executed after your main batch file code has run, add goto :EOF after your main batch file code but before the function(s). For example:-
[The documentation for each function includes an example that demonstrates how the function should be called. In these examples the actual function itself has been omitted to avoid unnecessarily duplicating code. When using any of the examples, remember to append the function to the end of your batch file.] Calling the Function The documentation for each function describes the number of required and optional parameters, the type of data each parameter should contain and whether the parameter must be passed 'by value' or 'by reference'. Both terms are used very loosely here and the reason is covered in great detail in the next section. Suffice to say that to pass a variable by value, call the function with a constant or expanded variable. And to pass by reference, call the function with the name of a variable. By Value To pass a parameter 'by value', either call the function with a constant or an expanded variable that contains the value. As an example, the Sleep function expects one parameter (a number of seconds) to be passed by value. Here are three ways to call the Sleep function with the value 9:-
Notes: In example 2b, practically any variable name could have been used. Example 2c assumes the value of 9 was passed to the batch file as a commandline parameter. By Reference To pass a value 'by reference' simply use the name of a variable. As an example, the GetDate function expects three parameters, all passed by reference. Here's how to call the GetDate function and use the 'returned' values:-
Note that although example 3a used the variable names yy, mm and dd, practically any variable names could have been used. For instance, example 3b is functionally equivalent to example 3a (but not so easy to understand).
|


Beginning with Zend Framework 2.1, forms elements can be registered using a designated plugin manager of Zend\ServiceManager. This is similar to how view helpers, controller plugins, and filters are registered. This new feature has a number of benefits, especially when you need to handle complex dependencies in forms/fieldsets. This section describes all the benefits of this new architecture in ZF 2.1.
The first advantage of pulling form elements from the service manager is that now you can use short names to create new elements through the factory. Therefore, this code:
1 2 3 4 | $form->add(array(
'type' => 'Zend\Form\Element\Email',
'name' => 'email'
));
|
can now be replaced by:
1 2 3 4 | $form->add(array(
'type' => 'Email',
'name' => 'email'
));
|
Each element provided out-of-the-box by Zend Framework 2 support this natively, so you can now make your initialization code more compact.
Zend\Form also supports custom form elements.
To create a custom form element, make it extend the Zend\Form\Element class, or if you need a more specific one, extend one of the Zend\Form\Element classes.
In the following we will show how to create a custom Phone element for entering phone numbers. It will extend Zend\Form\Element class and provide some default input rules.
Our custom phone element could look something like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | namespace Application\Form\Element;
use Zend\Form\Element;
use Zend\Form\Element;
use Zend\InputFilter\InputProviderInterface;
use Zend\Validator\Regex as RegexValidator;
class Phone extends Element implements InputProviderInterface
{
/**
* @var ValidatorInterface
*/
protected $validator;
/**
* Get a validator if none has been set.
*
* @return ValidatorInterface
*/
public function getValidator()
{
if (null === $this->validator) {
$validator = new RegexValidator('/^\+?\d{11,12}$/');
$validator->setMessage('Please enter 11 or 12 digits only!',
RegexValidator::NOT_MATCH);
$this->validator = $validator;
}
return $this->validator;
}
/**
* Sets the validator to use for this element
*
* @param ValidatorInterface $validator
* @return Application\Form\Element\Phone
*/
public function setValidator(ValidatorInterface $validator)
{
$this->validator = $validator;
return $this;
}
/**
* Provide default input rules for this element
*
* Attaches a phone number validator.
*
* @return array
*/
public function getInputSpecification()
{
return array(
'name' => $this->getName(),
'required' => true,
'filters' => array(
array('name' => 'Zend\Filter\StringTrim'),
),
'validators' => array(
$this->getValidator(),
),
);
}
}
|
By implementing the Zend\InputFilter\InputProviderInterface interface, we are hinting to our form object that this element provides some default input rules for filtering and/or validating values. In this example the default input specification provides a Zend\Filter\StringTrim filter and a Zend\Validator\Regex validator that validates that the value optionally has a + sign at the beginning and is followed by 11 or 12 digits.
The easiest way of start using your new custom element in your forms is to use the custom element’s FQCN:
1 2 3 4 5 | $form = new Zend\Form\Form();
$form->add(array(
'name' => 'phone',
'type' => 'Application\Form\Element\Phone',
));
|
Or, if you are extending Zend\Form\Form:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | namespace Application\Form;
use Zend\Form\Form;
class MyForm extends Form
{
public function __construct($name = null)
{
parent::__construct($name);
$this->add(array(
'name' => 'phone',
'type' => 'Application\Form\Element\Phone',
))
}
}
|
If you don’t want to use the custom element’s FQCN, but rather a short name, as of Zend Framework 2.1 you can do so by adding them to the Zend\Form\FormElementManager plugin manager by utilising the getFormElementConfig function.
Warning
To use custom elements with the FormElementManager needs a bit more work and most likely a change in how you write and use your forms.
First, add the custom element to the plugin manager, in your Module.php class:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | namespace Application;
use Zend\ModuleManager\Feature\FormElementProviderInterface;
class Module implements FormElementProviderInterface
{
public function getFormElementConfig()
{
return array(
'invokables' => array(
'phone' => 'Application\Form\Element\Phone'
)
);
}
}
|
Or, you can do the same in your module.config.php file:
1 2 3 4 5 6 7 | return array(
'form_elements' => array(
'invokables' => array(
'phone' => 'Application\Form\Element\Phone'
)
)
);
|
You can use a factory instead of an invokable in order to handle dependencies in your elements/fieldsets/forms.
And now comes the first catch.
If you are creating your form class by extending Zend\Form\Form, you must not add the custom element in the __construct-or (as we have done in the previous example where we used the custom element’s FQCN), but rather in the init() method:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | namespace Application\Form;
use Zend\Form\Form;
class MyForm extends Form
{
public function init()
{
$this->add(array(
'name' => 'phone',
'type' => 'Phone',
));
}
}
|
The second catch is that you must not directly instantiate your form class, but rather get an instance of it through the Zend\Form\FormElementManager:
1 2 3 4 5 6 7 8 9 10 11 12 13 | namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
class IndexController extends AbstractActionController
{
public function indexAction()
{
$sl = $this->getServiceLocator();
$form = $sl->get('FormElementManager')->get('\Application\Form\MyForm');
return array('form' => $form);
}
}
|
The biggest gain of this is that you can easily override any built-in Zend Framework form elements if they do not fit your needs. For instance, if you want to create your own Email element instead of the standard one, you can simply create your element and add it to the form element config with the same key as the element you want to replace:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | namespace Application;
use Zend\ModuleManager\Feature\FormElementProviderInterface;
class Module implements FormElementProviderInterface
{
public function getFormElementConfig()
{
return array(
'invokables' => array(
'Email' => 'Application\Form\Element\MyEmail'
)
);
}
}
|
Now, whenever you’ll create an element whose type is ‘Email’, it will create the custom Email element instead of the built-in one.
Note
if you want to be able to use both the built-in one and your own one, you can still provide the FQCN of the element, i.e. Zend\Form\Element\Email.
As you can see here, we first get the form manager (that we modified in our Module.php class), and create the form by specifying the fully qualified class name of the form. Please note that you don’t need to add Application\Form\MyForm to the invokables array. If it is not specified, the form manager will just instantiate it directly.
In short, to create your own form elements (or even reusable fieldsets !) and be able to use them in your form using the short-name notation, you need to:
One of the most complex issues in Zend\Form 2.0 was dependency management. For instance, a very frequent use case is a form that creates a fieldset, that itself need access to the database to populate a Select element. Previously in such a situation, you would either rely on the Registry using the Singleton pattern, or either you would “transfer” the dependency from controller to form, and from form to fieldset (and even from fieldset to another fieldset if you have a complex form). This was ugly and not easy to use. Hopefully, Zend\ServiceManager solves this use case in an elegant manner.
For instance, let’s say that a form create a fieldset called AlbumFieldset:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | namespace Application\Form;
use Zend\Form\Form;
class CreateAlbum extends Form
{
public function init()
{
$this->add(array(
'name' => 'album',
'type' => 'AlbumFieldset'
));
}
}
|
Let’s now create the AlbumFieldset that depends on an AlbumTable object that allows you to fetch albums from the database.
1 2 3 4 5 6 7 8 9 10 11 12 13 | namespace Application\Form;
use Album\Model\AlbumTable;
use Zend\Form\Fieldset;
class AlbumFieldset extends Fieldset
{
public function __construct(AlbumTable $albumTable)
{
// Add any elements that need to fetch data from database
// using the album table !
}
}
|
For this to work, you need to add a line to the form element manager by adding an element to your Module.php class:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | namespace Application;
use Application\Form\AlbumFieldset;
use Zend\ModuleManager\Feature\FormElementProviderInterface;
class Module implements FormElementProviderInterface
{
public function getFormElementConfig()
{
return array(
'factories' => array(
'AlbumFieldset' => function($sm) {
// I assume here that the Album\Model\AlbumTable
// dependency have been defined too
$serviceLocator = $sm->getServiceLocator();
$albumTable = $serviceLocator->get('Album\Model\AlbumTable');
$fieldset = new AlbumFieldset($albumTable);
return $fieldset;
}
)
);
}
}
|
Create your form using the form element manager instead of directly instantiating it:
1 2 3 4 5 | public function testAction()
{
$formManager = $this->serviceLocator->get('FormElementManager');
$form = $formManager->get('Application\Form\CreateAlbum');
}
|
Finally, to use your fieldset in a view you need to use the formCollection function.
1 2 3 | echo $this->form()->openTag($form);
echo $this->formCollection($form->get('album'));
echo $this->form()->closeTag();
|
Et voilà! The dependency will be automatically handled by the form element manager, and you don’t need to create the AlbumTable in your controller, transfer it to the form, which itself passes it over to the fieldset.
In the previous example, we explicitly defined the dependency in the constructor of the AlbumFieldset class. However, in some cases, you may want to use an initializer (like Zend\ServiceManager\ServiceLocatorAwareInterface) to inject a specific object to all your forms/fieldsets/elements.
The problem with initializers is that they are injected AFTER the construction of the object, which means that if you need this dependency when you create elements, it won’t be available yet. For instance, this example won’t work:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | namespace Application\Form;
use Album\Model;
use Zend\Form\Fieldset;
use Zend\ServiceManager\ServiceLocatorAwareInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
class AlbumFieldset extends Fieldset implements ServiceLocatorAwareInterface
{
protected $serviceLocator;
public function __construct()
{
// Here, $this->serviceLocator is null because it has not been
// injected yet, as initializers are run after __construct
}
public function setServiceLocator(ServiceLocatorInterface $sl)
{
$this->serviceLocator = $sl;
}
public function getServiceLocator()
{
return $this->serviceLocator;
}
}
|
Thankfully, there is an easy workaround: every form element now implements the new interface Zend\Stdlib\InitializableInterface, that defines a single init() function. In the context of form elements, this init() function is automatically called once all the dependencies (including all initializers) are resolved. Therefore, the previous example can be rewritten as such:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | namespace Application\Form;
use Album\Model;
use Zend\Form\Fieldset;
use Zend\ServiceManager\ServiceLocatorAwareInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
class AlbumFieldset extends Fieldset implements ServiceLocatorAwareInterface
{
protected $serviceLocator;
public function init()
{
// Here, we have $this->serviceLocator !!
}
public function setServiceLocator(ServiceLocatorInterface $sl)
{
$this->serviceLocator = $sl;
}
public function getServiceLocator()
{
return $this->serviceLocator;
}
}
|
The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.


September 10, 2014 Internet of Things September 05, 2014 Foursquare & Swarm September 02, 2014 How To Get Valuable Advice August 30, 2014 The Coolest Cooler August 23, 2014 Jekyll Related Posts August 18, 2014 Minimum Viable Product August 15, 2014 Invest In People, Not Ideas August 13, 2014 Mobile First in the Enterprise August 10, 2014 Asana August 04, 2014 Why Anonymity Still Sucks ‹ Newer Older ›


Aramaean
ARAM, ARAMAEANS (Hebrew Aram, Greek Syroi, Syri. AV 'Syrians' and 'Syria').
ó In Gn lO:22-23 Aram is the son of Shem, and father of Uz, Hul, Gether, and Mash,
the last of which is Arabia Petraea, the Mas of the cuneiform inscriptions
(cf. Gn 25:14). In Gn 22^' Aram is the son of Kemuel, the son of Nahor, the two
elder brothers of Kemuel being Uz (AV Huz) and Buz (Bazu in the Assyr. texts).
More »


new TypedArrayHelper(TypedArrayConstructor, size, componentSize, indexOffset)
A helper class for TypedArrays.
Allows for easy resizing, assignment of various component-based
types (Vector2s, Vector3s, Vector4s, Mat3s, Mat4s),
as well as Colors (where components are `r`, `g`, `b`),
Numbers, and setting from other TypedArrays.
Parameters:
| Name | Type | Description |
|---|---|---|
TypedArrayConstructor |
function | The constructor to use (Float32Array, Uint8Array, etc.) |
size |
Number | The size of the array to create |
componentSize |
Number | The number of components per-value (ie. 3 for a vec3, 9 for a Mat3, etc.) |
indexOffset |
Number | The index in the array from which to start assigning values. Default `0` if none provided |
- Source:
Methods
getComponentValueAtIndex(index) → {TypedArray}
Returns the component value of the array at the given index, taking into account
the `indexOffset` property of this class.
If the componentSize is set to 3, then it will return a new TypedArray
of length 3.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index in the array to fetch. |
- Source:
Returns:
The component value at the given index.
- Type
- TypedArray
getValueAtIndex(index) → {Number}
Returns the value of the array at the given index, taking into account
the `indexOffset` property of this class.
Note that this function ignores the component size and will just return a
single value.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index in the array to fetch. |
- Source:
Returns:
The value at the given index.
- Type
- Number
grow(size) → {SPE.TypedArrayHelper}
Grows the internal array.
Parameters:
| Name | Type | Description |
|---|---|---|
size |
Number | The new size of the typed array. Must be larger than `this.array.length`. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setColor(index, color) → {SPE.TypedArrayHelper}
Set a Color value at `index`.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index at which to set the vec3 values from. |
color |
Color | Any object that has `r`, `g`, and `b` properties. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setFromArray(index, array) → {SPE.TypedArrayHelper}
Copies from the given TypedArray into this one, using the index argument
as the start position. Alias for `TypedArray.set`. Will automatically resize
if the given source array is of a larger size than the internal array.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The start position from which to copy into this array. |
array |
TypedArray | The array from which to copy; the source array. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setMat3(index, mat3) → {SPE.TypedArrayHelper}
Set a Matrix3 value at `index`.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index at which to set the matrix values from. |
mat3 |
Matrix3 | The 3x3 matrix to set from. Must have a TypedArray property named `elements` to copy from. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setMat4(index, mat3) → {SPE.TypedArrayHelper}
Set a Matrix4 value at `index`.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index at which to set the matrix values from. |
mat3 |
Matrix4 | The 4x4 matrix to set from. Must have a TypedArray property named `elements` to copy from. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setNumber(index, numericValue) → {SPE.TypedArrayHelper}
Set a Number value at `index`.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index at which to set the vec3 values from. |
numericValue |
Number | The number to assign to this index in the array. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setSize(size)
Sets the size of the internal array.
Delegates to `this.shrink` or `this.grow` depending on size
argument's relation to the current size of the internal array.
Note that if the array is to be shrunk, data will be lost.
Parameters:
| Name | Type | Description |
|---|---|---|
size |
Number | The new size of the array. |
- Source:
setVec2(index, vec2) → {SPE.TypedArrayHelper}
Set a Vector2 value at `index`.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index at which to set the vec2 values from. |
vec2 |
Vector2 | Any object that has `x` and `y` properties. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setVec2Components(index, x, y) → {SPE.TypedArrayHelper}
Set a Vector2 value using raw components.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index at which to set the vec2 values from. |
x |
Number | The Vec2's `x` component. |
y |
Number | The Vec2's `y` component. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setVec3(index, vec2) → {SPE.TypedArrayHelper}
Set a Vector3 value at `index`.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index at which to set the vec3 values from. |
vec2 |
Vector3 | Any object that has `x`, `y`, and `z` properties. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setVec3Components(index, x, y, z) → {SPE.TypedArrayHelper}
Set a Vector3 value using raw components.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index at which to set the vec3 values from. |
x |
Number | The Vec3's `x` component. |
y |
Number | The Vec3's `y` component. |
z |
Number | The Vec3's `z` component. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setVec4(index, vec2) → {SPE.TypedArrayHelper}
Set a Vector4 value at `index`.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index at which to set the vec4 values from. |
vec2 |
Vector4 | Any object that has `x`, `y`, `z`, and `w` properties. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
setVec4Components(index, x, y, z, w) → {SPE.TypedArrayHelper}
Set a Vector4 value using raw components.
Parameters:
| Name | Type | Description |
|---|---|---|
index |
Number | The index at which to set the vec4 values from. |
x |
Number | The Vec4's `x` component. |
y |
Number | The Vec4's `y` component. |
z |
Number | The Vec4's `z` component. |
w |
Number | The Vec4's `w` component. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
shrink(size) → {SPE.TypedArrayHelper}
Shrinks the internal array.
Parameters:
| Name | Type | Description |
|---|---|---|
size |
Number | The new size of the typed array. Must be smaller than `this.array.length`. |
- Source:
Returns:
Instance of this class.
- Type
- SPE.TypedArrayHelper
splice(start, end) → {Object}
Perform a splice operation on this array's buffer.
Parameters:
| Name | Type | Description |
|---|---|---|
start |
Number | The start index of the splice. Will be multiplied by the number of components for this attribute. |
end |
Number | The end index of the splice. Will be multiplied by the number of components for this attribute. |
- Source:
Returns:
The SPE.TypedArrayHelper instance.
- Type
- Object


She likes to click a lot of pictures, whenever possible :-)
typical girl habit :P
[ Also, her big sis is pro at photography, don't tell her =_=]
I wanted to attach an image, but her hair is too long ^_^
I wonder if she writes a book for giving tips to fellow youngsters, Hair Tips 101 by Ansushruti Shresth.
Yeah, she likes it, one can tell from the hardwork of her videos :laugh .
She isn't very friendly to initiate a conversation or keep it going, offline or online ( just personal experience and observation - or i am just unlucky ^_^ ) .
Listen carefully while she speaks.... wont repeat :P
Let's not make her more salty now :p
[ ^_^ sorry for the lame jokes ^_^ ]


{% extends 'templates/nhs_transaction_layout.html' %}
{% import 'includes/form_macros.html' as form_macros %}
{% block afterHeader %}
{% include "includes/service-headers/health-costs-checker.html" %}
{% endblock %}
{% block content %}
{% endblock %}


Class DominantColorsAnnotation (v2.2.2)
Set of dominant colors and their corresponding scores.
Generated from protobuf message google.cloud.vision.v1.DominantColorsAnnotation
Methods
__construct
Constructor.
| Name | Description |
| data |
array
Optional. Data for populating the Message object. |
| ↳ colors |
array<Google\Cloud\Vision\V1\ColorInfo>
RGB color values with their score and pixel fraction. |
getColors
RGB color values with their score and pixel fraction.
Generated from protobuf field repeated .google.cloud.vision.v1.ColorInfo colors = 1;
| Type | Description |
| Google\Protobuf\Internal\RepeatedField |
setColors
RGB color values with their score and pixel fraction.
Generated from protobuf field repeated .google.cloud.vision.v1.ColorInfo colors = 1;
| Name | Description |
| var |
array<Google\Cloud\Vision\V1\ColorInfo>
|
| Type | Description |
| $this |


Router View ViewModel (RVVM) The First Step in Migrating from MVVM to VIPER © 2019 . All rights reserved. (Last updated: 2019-09-24) Generated by jazzy ♪♫ v0.11.1, a Realm project.


-
benchmark_experiments.py --
benchmark_experiments.py - runs experiments on all files in a given directory;
configurations to be used and fields to put in the output
are specified in config files;
raw output is put in a directory specified by the user
this is a utility called from run_configs.sh and run_cplex.sh
-
run_configs.sh --
for running standard benchmark experiments using the Akiba-Iwata solver;
uses benchmark_experiments.py, which must be in the same directory.
-
run_cplex.sh --
for running standard benchmark experiments using CPLEX;
requires that benchmark_experiments.py be present in the same directory.


Initially I parsed the Tweets in the BirdWatch application into instances of a Tweet case class upon ingestion and then used that case class representation throughout, including for database persistence. Then I realized that that was actually not a good idea. Using a case class for passing around information in the application is very convenient and useful. But for the persistence, I argue that we cannot afford to be opinionated about what to keep and what to throw away. I fixed this together with the planned migration to ReactiveMongo version 0.9 in the latest commits, storing each observable fact coming from the Twitter Streaming API in its entirety.
Any data model will almost invariably be wrong in the future as we cannot predict what we will want to analyze later. We can always change the data model at a later point and from then on store a different interpretation of the observable fact, but then we would not have complete historic information when we want to test our hypotheses on retrospective data. The solution for this is to store the Tweets in their complete JSON representation. MongoDB is a great choice for this as it allows indexing our data while leaving the JSON structure intact. We get the best of two worlds. With this lossless persistence we can always reconstruct the observable fact from the database while at the same time being able to quickly search through a potentially large dataset.
I also wanted to upgrade ReactiveMongo in order to fix a previous problem with Killcursors. Version 0.9 entails some changes in the API, so it was a good idea to tackle the upgrade and the Tweet persistence layer together. Let’s go through some of the changes:
1 2 3 4 5 |
|
1 2 3 4 5 6 |
|
ReactiveMongo now uses an instance of the MongoDriver class and its connection method. The MongoConnection class still exists, but I couldn’t get it to work for some reason.
I have moved the Tweet collection and basic query and insert methods into a Tweet companion object, with the intention of turning this into a lightweight DAO (Data Access Object) for Tweets:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Storing the JSON from Twitter not only prevents us from throwing away data we might need in the future, it is also much simpler than having to deal with implicit BSONReader and BSONWriter objects as was previously the case:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
Instead we just parse a JSON string from Twitter and insert the parsed JsValue into the JSONCollection:
1 2 3 4 |
|
This is really all there is to storing JSON into MongoDB now. I don’t have to worry about additional fields or other changes in the Twitter Streaming API. If it is valid JSON, it will find its way into the database. Major changes to the API might break parsing into Tweets, but they would not break database persistence.
Error and status messages from Twitter also come as JSON, so they are stored as well:
1 2 3 |
|
Querying is more concise than before, making use of Json.obj instead of BSONDocuments:
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 |
|
This looks much neater and is also close to the syntax in the MongoDB JavaScript shell:
1 2 |
|
Curly braces get replaced by Json.obj() and the colon gets replaced by “->”. Other than that, the syntax is very close. Note the “$exists” part. This limits the results to only Tweets (and potentially error and status messages that have a “text” field, but I have not encountered those).
The usage above with generating a List from the cursor works fine for small n, but for larger results sets (say hundreds of thousands of items) it would be a bad idea to build the list in memory first. Luckily ReactiveMongo allows us to stream the results. That itself is not new, but since version 0.9 we can limit the number of results, making this much more useful for a latestN scenario:
1 2 3 4 5 6 7 8 9 10 |
|
With this we create an Enumerator of JsObjects that streams the results into an Iteratee. The usage of this is simple once we understand what this pattern means. Check out my previous Iteratee article, hope it helps a little bit.
This allows us to stream results into an Iteratee that will do whatever we need, in this case just doing a simple foreach:
1 2 3 4 5 6 7 8 |
|
I currently do not enumerate the results into an Iteratee because the Tweets would appear in the wrong order in the UI and I cannot easily reverse the direction in which the Tweets are enumerated without an auto-incrementing counter in MongoDB to determine from where to start enumerating in ascending order (from position [collectionsize - n]). But this is more a problem of the UI, the next versions will certainly make use of this pattern.
The only thing I was still missing is an easy way to get the size of a collection. In the shell we would write:
1
|
|
Turns out that in ReactiveMongo, we can use the Count command for this, which returns a Future[Int] with the result (see Tweet.scala above). This allows us to do something upon return of the collection size in a non-blocking way:
1
|
|
Great stuff, I really like ReactiveMongo. The documentation has also gotten a lot better in 0.9, compared to previous versions. Nonetheless it takes some source code reading to find some of the good stuff. I’d be more than to happy help out here and contribute to the project documentation.
-Matthias


The report builders are classes that coordinate report productions
Bases: object
Base class for common report builder features.
Most prominently, the distill-method needs to be implemented in subclasses to make much sence in most use cases.
| Parameters: | outputRoot: str, optional
outputNamePrefix: str, optional
*reports: objects, optional
|
|---|
Attributes
| outputRoot | The base for saving out reports: str |
| outputNamePrefix | Partial file name to prepend the individual reports: str |
| DEFAULT_REPORTS |
Adds any number of reports given that the reports exposes a distill method.
| Parameters: | *reports: objects, optional |
|---|---|
| Returns: | fseq.ReportBuilderBase
|
| Raises: | ValueError
|
The base distiller will not process any data passed to it, it will send all arguments and keyword arguments to the individual reports.
If either outputRoot or outputNamePrefix are passed as kwargs, the corresponding values preset in the system will be added to the kwargs sent to the subreports.
| Returns: | fseq.ReportBuilderBase
|
|---|
Bases: fseq.reporting.report_builder.ReportBuilderBase
Samples part of data set and performs FFT-based analysis on it.
| Parameters: | outputRoot: str, optional
outputNamePrefix: str, optional
sampleSize: int, optional
distanceMetric: str, optional
*reports: objects, optional
|
|---|
See also
Attributes
| distanceMetric | The ReportBuilderFFT.METRIC used: str |
| sampleSize | Size of data subsample to analyze: int |
Make reports from data.
Produces two analyses:
| Parameters: | data: numpy.ndarray
distanceMetric: str, optional
clusterOnAbsOnly: bool, optional
|
|---|
Bases: fseq.reporting.report_builder.ReportBuilderBase
Per position analysis builder.
| Parameters: | outputRoot: str, optional
outputNamePrefix: str, optional
undecidedValue: int, optional
*reports: objects, optional
|
|---|
See also
Attributes
| undecidedValue |
The distiller will create reports for several position-type informations.
| Parameters: | data: numpy.ndarray
undecidedValue: float, optional
*args:
**kwargs:
|
|---|---|
| Returns: | fseq.ReportBuilderPositionAverage
|
Module for holding the various implemented reporting classes
Bases: fseq.reporting.reports.ReportBase
Makes heatmaps from data
| Parameters: | name: str, optional
saveArgs: tuple or list, optional
saveKwargs: dict, optional
|
|---|
Creates the actual heatmap.
| Parameters: | data: numpy.ndarray
name: str, optional
outputRoot: str, optional
outputNamePrefix: str, optional
title: str, optional
text: str, optional
ylabel: str, optional
xlabel: str, optional
saveArgs: tuple or list, optional
saveKwargs: dict, optional
vmin: number, optional
vmax: number, optional
aspect: str, optional
axisOff: bool, optional
cmap: matplotlib.cmap, optional
|
|---|
Bases: fseq.reporting.reports.ReportBase
Makes lines from data
| Parameters: | name: str, optional
saveArgs: tuple or list, optional
saveKwargs: dict, optional
|
|---|
Creates the actual heatmap.
| Parameters: | data: numpy.ndarray
name: str, optional
outputRoot: str, optional
outputNamePrefix: str, optional
title: str, optional
text: str, optional
ylabel: str, optional
xlabel: str, optional
saveArgs: tuple or list, optional
saveKwargs: dict, optional
logX: bool, optional
logY: bool, optional
basex: number, optional
basey: number, optional
labels: str, optional
|
|---|
Bases: object
Base class for simple report creations.
Main purpose is to make a common interface for figure saving using matplotlib figures.
| Parameters: | name: str, optional
saveArgs: tuple or list, optional
saveKwargs: dict, optional
|
|---|
Attributes
| name | Name of the plot, used to name the file: str |
| saveArgs | Save args passed to matplotlib.pyplot.figure.savefig: tuple |
| saveKwargs | Save keyword args passed to matplotlib.pyplot.figure.savefig: |
Placeholder distill interface not to be used.
| Raises: | NotImplementedError
|
|---|
Saves a figure and creates directories if needed.
| Parameters: | fig: matplotlib.figure
outputRoot: str
outputNamePrefix: str
name: str, optional
*args:
**kwargs:
|
|---|---|
| Returns: | ReportBase
|
| Raises: | ValueError
|
Reporting-related modules of fseq.
The sub-package contains report_builder which post-processes data and sends it off to make various reports.
The builders contains no graphics information, but simply prepares data. A new builder should be written if a new type of analysis is needed based on an abstraction of the data that is not already present in any of the previous builders.
A report makes an image from data sent to it from the builder. Purpose of breaking this out is to allow for changing library that produces the reports and to allow for quick reuse with similar graphics for identical types of graphs for several report-builders.


There are several sections and classes pending to be added to the course that have been included in the original design of the course. Take a look of the exciting classes that are comming.
- [Published] Restricting OAuth2 clients using scopes
- [Published] What are scopes on OAuth2?
- [Published] Registering some required scopes for the API
- [Published] Registering the middleware to check scopes
- [Published] Restricting the action that needs the “purchase-product” scope
- [Published] Restricting the actions that need the “manage-products” scope
- [Published] Restricting the actions that need the “manage-account” scope
- [Published] Restricting the actions that need the “read-general” scope
- [Published] Implementing the Final Security Layer Using Policies and Gates (Access Restrictions)
- [Published] What are Policies and Gates on Laravel
- [Published] Implementing the restrictions over Buyer
- [Published] Implementing the restrictions over Seller
- [Published] Implementing the restrictions over User
- [Published] Implementing the restrictions over Transaction
- [Published] Implementing the restrictions over Product
- [Published] The restrictions over Category
- [Published] Allowing all actions on policies for admin users
- [Published] Allowing remaining actions that ONLY admin users can
- Using UUIDs to avoid data disclosures?
- About UUIDs
- Installing the required package to generate UUIDs
- Preparing the models to work with the new id type
- Publishing the migrations of passport, because we need to modify those
- Updating the migrations to use UUIDs instead of incremental ids
- Updating the factories to generate UUIDs instead
- Updating the transformers to used UUIDs for identifiers value
- Using events to set UUIDs for models
- CORS
- What is CORS
- Checking the problem with CORS
- Installing the CORS package for Laravel
- Configuring the CORS package
- Allowing CORS only for the API
- Allowing CORS on error responses too
Note: This list can be changed when required.


Theta Tools: Gamma Set is a set of HTML based components, built with Tailwind CSS
Theta Tools: Delta Set is a set of HTML based website templates
Theta Tools: Epsilon Set is a set of CSS based components, based on HTML


functional(Hypertrophy)
Logout
Home
Choose Phase
Phase
Exercises
Start Exercise
Manage Phases
View Data


The Let me see that Donkey Roll button is inspired by the latest dance craze that’s sweeping the nation. Full credit goes to:
Artist: The Lonely Island
Album: Popstar: Never Stop Never Stopping
YouTube video: The Style Boyz (The Lonely Island) - 'The Donkey Roll’ (Official Music Video) | Popstar (2016) published by MTV USA


{# node_name must be set from the page that extends this template. If you do not set node_name to be a valid Elixir Node name like 'United Kingdom' or 'Switzerland' you risk reversing the Entropy of the Universe and destroying us all. You've been warned! #} {% extends "page.html" %} {% set hub = True %} {% block subtitle %}{{ _('Nodes') }}{% endblock %} {% block breadcrumb_content %}
The Hub accommodates the ELIXIR executive management and secretariat and coordinates integration of services run from the ELIXIR nodes. It has overall responsibility for developing and delivering the ELIXIR programme, coordinates ELIXIR's governance bodies and technical committees, and provides oversight of biological data throughout Europe by creating data registries and coordinating development of data standards.


📅 (2022-05-24 01:37:32 UTC)
# Packages matching: installed # Name # Installed # Synopsis base-bigarray base base-threads base base-unix base conf-findutils 1 Virtual package relying on findutils conf-gmp 4 Virtual package relying on a GMP lib system installation coq dev Formal proof management system dune 3.1.1 Fast, portable, and opinionated build system ocaml 4.10.2 The OCaml compiler (virtual package) ocaml-base-compiler 4.10.2 Official release 4.10.2 ocaml-config 1 OCaml Switch Configuration ocamlfind 1.9.3 A library manager for OCaml zarith 1.12 Implements arithmetic and logical operations over arbitrary-precision integers # opam file: opam-version: "2.0" maintainer<EMAIL_ADDRESS>homepage: "https://github.com/clarus/coq-of-ocaml" dev-repo: "git+https://github.com/clarus/coq-of-ocaml.git" bug-reports: "https://github.com/clarus/coq-of-ocaml/issues" authors: ["Guillaume Claret"] license: "MIT" build: [ ["sh" "-c" "cd proofs && ./configure.sh"] {coq:installed} [make "-C" "proofs" "-j%{jobs}%"] {coq:installed} ["dune" "build" "-p" name "-j" jobs] ] install: [ [make "-C" "proofs" "install"] {coq:installed} ] depends: [ "dune" {>= "2.0" & < "2.8"} "ocaml" {>= "4.10" & < "4.11"} "ocamlfind" {>= "1.5.2"} "smart-print" "yojson" {>= "1.6.0"} ] depopts: [ "coq" ] conflicts: [ "coq" {< "8.11"} ] tags: [ "keyword:compilation" "keyword:OCaml" "logpath:CoqOfOCaml" ] synopsis: "Compile a subset of OCaml to Coq" url { src: "git+https://github.com/clarus/coq-of-ocaml.git#master" }
true
Dry install with the current Coq version:
opam install -y --show-action coq-of-ocaml.dev coq.dev
Dry install without Coq/switch base, to test if the problem was incompatibility with the current Coq/OCaml version:
true
opam list; echo; ulimit -Sv 4000000; timeout 4h opam install -y --deps-only coq-of-ocaml.dev coq.dev
opam list; echo; ulimit -Sv 16000000; timeout 4h opam install -y coq-of-ocaml.dev coq.dev
# Packages matching: installed # Name # Installed # Synopsis base-bigarray base base-threads base base-unix base biniou 1.2.1 Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve conf-findutils 1 Virtual package relying on findutils conf-gmp 4 Virtual package relying on a GMP lib system installation coq dev Formal proof management system cppo 1.6.8 Code preprocessor like cpp for OCaml dune 2.7.1 Fast, portable, and opinionated build system easy-format 1.3.2 High-level and functional interface to the Format module of the OCaml standard library ocaml 4.10.2 The OCaml compiler (virtual package) ocaml-base-compiler 4.10.2 Official release 4.10.2 ocaml-config 1 OCaml Switch Configuration ocamlfind 1.9.3 A library manager for OCaml smart-print 0.3.0 A pretty-printing library in OCaml yojson 1.7.0 Yojson is an optimized parsing and printing library for the JSON format zarith 1.12 Implements arithmetic and logical operations over arbitrary-precision integers [NOTE] Package coq is already installed (current version is dev). The following actions will be performed: - install coq-of-ocaml dev <><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><> [coq-of-ocaml.dev] synchronised from git+https://github.com/clarus/coq-of-ocaml.git#master <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> [ERROR] The compilation of coq-of-ocaml failed at "/home/bench/.opam/opam-init/hooks/sandbox.sh build dune build -p coq-of-ocaml -j 4". #=== ERROR while compiling coq-of-ocaml.dev ===================================# # context 2.0.6 | linux/x86_64 | ocaml-base-compiler.4.10.2 | file:///home/bench/run/opam-coq-archive/extra-dev # path ~/.opam/ocaml-base-compiler.4.10.2/.opam-switch/build/coq-of-ocaml.dev # command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p coq-of-ocaml -j 4 # exit-code 1 # env-file ~/.opam/log/coq-of-ocaml-16962-2dea01.env # output-file ~/.opam/log/coq-of-ocaml-16962-2dea01.out ### output ### # File "vendor/merlin/src/dot-merlin/dot-protocol/dune", line 5, characters 25-30: # 5 | (libraries merlin_utils csexp result)) # ^^^^^ # Error: Library "csexp" not found. # Hint: try: # dune external-lib-deps --missing -p coq-of-ocaml -j 4 @install <><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> +- The following actions failed | - build coq-of-ocaml dev +- - No changes have been performed # Run eval $(opam env) to update the current shell environment
No files were installed.
true


.e {font-family: Arial}
Yes, Ellie! You can count on me! [ https://org.salsalabs.com/o/1400/p/salsa/donation/common/public/?donate_page_KEY=9622 ]Dear Dry,
Today, the U.S. Supreme Court heard arguments on whether state and local governments can create safety buffer zones around reproductive health clinics to protect patients, doctors and healthcare workers from harassment, intimidation and violence.
Buffer zones currently protect more than 35 percent of clinics in the nation. Three states and dozens of municipalities protect their clinics with buffer zones. It’s an outrage that such critical protection may be taken away from besieged clinics. And if the Massachusetts buffer zone law is struck down, it will surely embolden violent, anti-abortion extremists.
Dry, this is a pivotal moment for clinics across the nation. We can’t just sit back and wait for the Court’s decision. We must act today. Donate to Feminist Majority Foundation’s National Clinic Access Project. [ https://org.salsalabs.com/o/1400/p/salsa/donation/common/public/?donate_page_KEY=9622 ]
Many clinics are still not protected by buffer zones and regularly experience harassment, threats and intimidation. For over 20 years, FMF has provided security equipment and assessments, community support and legal services to besieged clinics.
We brought the first lawsuit in the nation on buffer zones to the U.S. Supreme Court in 1994. That case, Madsen v. Women’s Health Center, established the constitutionality of an injunction creating a clinic safety buffer zone for a Florida clinic. Today, we’re fighting to ensure the Court upholds statewide buffer zones