Mocha
A lightweight, multi-threaded, client-server library for Java
Server guide
Contents
- Server types
- Creating a server
- Running a server
- Stopping a server
- Connection handlers
- Removing handlers
- Sending messages to clients
- Broadcasting
- Multicasting
- Customizing the server
- Banning IPs
- Unbanning IPs
Server types
Mocha allows you to create servers that can utilize the TCP and UDP protocols. Each server can utilize both protocols at the same time and with multiple ports. Servers can communicate using text (MyTextServer) or binary messages (BinaryServer).
Creating a server
You can create a new server by creating a new class that extends either the TextServer or BinaryServer classes, depending on which message type you want your server to support.
Text servers
To create a TextServer:
import com.raylabz.mocha.text.server.TextServer; public class MyTextServer extends TextServer { }
Binary servers
To create a BinaryServer:
import com.raylabz.mocha.binary.server.BinaryServer; public class MyBinaryServer extends BinaryServer { }
Text servers and Binary servers can be created and started in the same way and have identical methods.
Running a server
To start your server, you can call Mocha.start() and provide an instance of the server to start:
Mocha.start(server);
You may find it convenient to create a main() method inside the class of your server:
import com.raylabz.mocha.Mocha; import com.raylabz.mocha.text.server.TextServer; public class MyTextServer extends TextServer { public static void main(String[] args) { Mocha.start(new MyTextServer()); } }
Output:
Server 'TextServer' started.
Changing the server name
You can optionally change your server's name by providing a different name in the constructor:
public class MyTextServer extends TextServer { public MyTextServer(String name) { super(name); } public static void main(String[] args) { Mocha.start(new MyTextServer("Server 1")); } }
Server 'Server 1' started.
The server will run indefinitely until the stop() method is called.
info_outline
Each Server object runs on a separate thread, which is ran independently from, and concurrently with any other code. You can therefore run multiple servers on the same machine. To avoid issues, you must manually make sure that none of the servers share the same ports.
Stopping a server
Servers will run indefinitely until they are stopped or their program is forcefully interrupted. To gracefully stop a server, you can use the stop() method. You can use this method from anywhere, but a good way to stop your server is to place this call somewhere inside the process() method to be executed when a condition is met or an exception is thrown.
... @Override public void process() { try { //... } catch (Exception e) { //... stop(); } } ...
onStop()
The server can execute code before stopping. This allows you to perform housekeeping or other operations, such as closing database connections, stopping running threads etc. You can define what will be executed before the server is stopped by overriding the onStop() method in your custom server class:
@Override public void onStop() { System.out.println("Server is about to stop..."); }
Connection handlers
Handlers are server components that listen for incoming messages and do something when a message is received. Each handler is an independent thread that runs in parallel with your server thread. Handlers can thus run in parallel with each other so that a server can process requests coming from many ports at the same time while also being under the supervision of the main server thread. Each handler is assigned to a particular port and you must define what will happen once a message/request is received through that port.
Adding a TCP handler
You can create a TCP port handler using the TextTCPHandler and BinaryTCPHandler classes for the corresponding types of servers. You need to provide the port that your handler will listen to as well as a TextTCPReceivable or BinaryTCPReceivable object, which determines what will happen when a message is received.
In the example below, a text TCP handler is created for TCP port 1234. TCPReceivable classes contain a single method called onReceive(), which determines what the handler will do when each message is received. Receivable instances can be nameless:
TextTCPHandler tcpHandler = new TextTCPHandler(1234, new TextTCPReceivable() { @Override public void onReceive(TextTCPConnection tcpConnection, String data) { System.out.println("Received message: " + data + " from " + tcpConnection.getInetAddress() + ":" + tcpConnection.getPort()); } });
The second parameter of the receivable called data, holds the message sent by the client. You can utilize this object as you like depending on your server's intended logic. In the example above the server simply prints the message on the console.
Pay particular attention to the first parameter of the onReceive() method. A TCPConnection object describes a connection made to the server from a particular client.
You can get the client's IP address from a TCPConnection using getInetAddress():
tcpConnection.getInetAddress()
You can get the receiving port number from a TCPConnection using getPort():
tcpConnection.getPort()
You can also get the connected socket between this client and the server using getSocket():
tcpConnection.getSocket()
Finally, you can add the TCP handler to the server using the addTCPHandler() method:
server.addTCPHandler(tcpHandler); //OR addTCPHandler(tcpHandler);
You may add handlers before or after starting the server. However, attempting to add a handler that has the same port and protocol with an existing handler will not affect execution and the operation will be ignored.
To quickly add a nameless handler, use:
addTCPHandler(new TCPHandler(1234, new TCPReceivable() { @Override public void onReceive(TCPConnection tcpConnection, String data) { System.out.println("Received message: " + data + " from " + tcpConnection.getInetAddress() + ":" + tcpConnection.getPort()); } }));
You can also use lambda expressions:
addTCPHandler(new TextTCPHandler(1234, (tcpConnection, data) -> { System.out.println("Received message: " + data + " from " + tcpConnection.getInetAddress() + ":" + tcpConnection.getPort()); }));
Full Example:
import com.raylabz.mocha.Mocha; import com.raylabz.mocha.text.server.TextServer; import com.raylabz.mocha.text.server.TextTCPHandler; public class MyTextServer extends TextServer { public MyTextServer(String name) { super(name); addTCPHandler(new TextTCPHandler(1234, (tcpConnection, data) -> { System.out.println("Received message: " + data + " from " + tcpConnection.getInetAddress() + ":" + tcpConnection.getPort()); })); } public static void main(String[] args) { Mocha.start(new MyTextServer("Server 1")); } }
A BinaryTCPHandler can also be added in binary servers using BinaryTCPHandler and BinaryTCPReceivable. In binary servers however, the data object received by the receivable will be a byte array instead of a string.
UDP handlers
Adding a UDP handler works the same way as a TCP handler, but is a bit different. Due to differences between the two protocols (TCP vs UDP), UDP handlers are added directly using TextUDPConnection or TextUDPConnection objects. Each UDPConnection object can be instantiated by providing a port number and calling its constructor. It is best to add a nameless UDP handler directly:
addUDPHandler(new TextUDPConnection(4321) { @Override public void onReceive(TextUDPConnection udpConnection, InetAddress address, int outPort, String data) { System.out.println("Received message: " + data + " from " + udpConnection.getInetAddress() + ":" + udpConnection.getPort()); } });
There are fundamental differences between the TCP and UDP protocols. TCP works by establishing direct channels of communication between the client and the server. On the other hand, UDP does not require a direct channel and each client can send messages at any time. This affects the way Mocha manages its handlers, which is why there are some minor differences when creating TCP and UDP handlers.
Learn more about Mocha's handler architecture
Just like TCP handlers, UDP handlers provide a connection object with which you can use important information such as the client's address, port etc. In addition, they provide an outPort, which is the local server port onto which the client has connected. Outward ports should be used to send data to a connected client. Just like with TCP handlers, it is possible to create a BinaryUDPHandler which receives an array of bytes instead of string data.
Removing handlers
You can remove a handler while the server is running by using removeTCPHandler() or removeUDPHandler() respectively. You can either pass a port or a handler instance as a parameter to this method.

The UDPPeer class is a simple class which contains information about a specific client - specifically its IP address and outward port number.
Server responses
When a message is received from a client, a server has to send back a reply to that client. We have already seen how to define what happens when a message is received through the onReceive() method for TCP and UDP handlers. To send a response to a client from inside the onReceive() method, you may simply use the send() method from either TCPConnection or UDPConnection:
TCPConnection onReceive():server.addTCPHandler(new TCPHandler(1234, new TCPReceivable() { @Override public void onReceive(TCPConnection tcpConnection, String data) { //Echo the message back to the client: tcpConnection.send(data); } }));UDPConnection onReceive():
server.addUDPHandler(new UDPConnection(1234) { @Override public void onReceive(UDPConnection udpConnection, InetAddress address, int outPort, String data) { //Echo the message back to the client: udpConnection.send(address, outPort, data); } });
Broadcasting
You may also need to send a message to all connected clients simultaneously - aka broadcasting. To broadcast a message to all connected clients, you can use the broadcastTCP() and broadcastUDP() methods and provide the port to broadcast through and the data to broadcast:
broadcastTCP(1234, "Hello");
For UDP:
broadcastUDP(4321, "Hello");
Multicasting
In several cases, you may need to send a message to multiple clients simultaneously. In networking terms, this is known as multicasting. Mocha allows multicasting using the multicastTCP() and multicastUDP() methods, which can take several parameters:
- The data to send, the port to send it through and an array of InetAddress objects.
- The data to send, the port to send it through and a list of InetAddress objects.
- The data to send, the port to send it through and an array of String-formatted IP addresses.
For example:
//Using an array of InetAddress objects: multicastTCP("Hello", 1234, inetAddress1, inetAddress2, inetAddressN); //or multicastTCP("Hello", 1234, inetAddressArray); //Using a list of InetAddress objects: multicastTCP("Hello", 1234, inetAddressList); //Using an array of String-formatted IP addresses: multicastTCP("Hello", 1234, "<IP_ADDRESS>", "<IP_ADDRESS>"); //or multicastTCP("Hello", 1234, ipAddresses);
Similarly with UDP:
//Using an array of InetAddress objects: multicastUDP("Hello", 4321, inetAddress1, inetAddress2, inetAddressN); //or multicastUDP("Hello", 4321, inetAddressArray); //Using a list of InetAddress objects: multicastUDP("Hello", 4321, inetAddressList); //Using an array of String-formatted IP addresses: multicastUDP("Hello", 4321, "<IP_ADDRESS>", "<IP_ADDRESS>"); //or multicastUDP("Hello", 4321, ipAddresses);
Customizing the server
When you create a server, you will more than likely need to define some custom behavior for the server's setup routine or its runtime. Modifying the server's initialization/setup routine allows you to initialize your data structures, open up connections to databases, load server configuration, and more. On the other hand, modifying your server's runtime allows you to run code in the background, while the server is processing other requests.
Initialize
To provide a custom initialization procedure for your server, you can override the initialize() method:
@Override protected void initialize() { //This method runs code once, BEFORE the server is started. }
Process
To provide a custom server runtime procedure, you can override the process() method. The code written in this method is executed on a different thread in intervals.
@Override protected void process() { //This method runs continuously every interval }
You can change the interval of execution, or the execution delay, using the setExecutionDelay() method, providing the delay in milliseconds:
Execution delay
setExecutionDelay(1000); //Run the process() method every 1 second
Since the process() method is ran continuously, it is best to avoid placing any unnecessary code in this method, which may dramatically slow down your server. It is also a good idea to write code that re-uses objects instead of initializing new ones.
Banning IPs
In some cases you may want to ban incoming traffic from a specific IP address. To do this, you can use banIP():
From inside the Server class:
banIP("<IP_ADDRESS>");
From outside the Server class:
server.banIP("<IP_ADDRESS>");
Un-banning IPs
Conversely, you may want to un-ban an IP using unbanIP():
From inside the Server class:
unbanIP("<IP_ADDRESS>");
From outside the Server class:
server.unbanIP("<IP_ADDRESS>");
Banning entire IP addresses may not be a good idea for application servers because different users may be located within the same network and therefore have the same IP address. To more effectively control communication, you can utilize a session-based system to ban specific users from interacting with your app server without limiting access to others from the same network.
On the other hand, you may need to completely disable access from a specific IP that causes traffic spikes to avoid DDos attacks.


AWS Certified Solutions Architect Associate. Currently working as a Cloud Support Associate II with the AWS Developer and Mobile Services Team. Focused on Serverless Services and Managed AI Services in the current team.
Check out my artilce published on AWS Knowlege Knowlege Center on the topic :
"How do I authorize access to API Gateway APIs using custom scopes in Amazon Cognito?"
Prior to joining Amazon, during my CS undergrad, I was the head of various tech committees as a part of which I developed quite a few Full Stack Web Apps, Conference Websites, Techfest websites, etc. which had tens of thousands of users.
I love hackathons and have been part of and won various hackathons during my college days too. I was the Team Lead of 2 Time Winners of SIH (Smart India Hackathon - World's Biggest Hackathon). In 2018, I was the Team Leader of Team WYSIWYG4 Winner of SIH 2018 held at Ahmedabad, Gujarat for Department of Space, Indian Space Research Organization (ISRO). In 2017, I was the Team leader of Team TechWhiz which won the second runner-up position in the Grand Finale of SIH 2017 held at Jaipur, Rajasthan for the Department of Posts.
I am always interested in looking out for opportunities where I can prove my skills. I am a team player and have held various positions of leadership such as Vice President of Association of Computer Engineers, Vice Chair of ACM Student Chapter and as the Student Alumni representative for the Department of CSE while being in college and as School Pupil Leader while being in High School.
Team Leader of Team WYSIWYG4 Winner of Smart India Hackathon 2018 (World's Biggest Hackathon) held at Ahmedabad, Gujarat for Department of Space, Indian Space Research Organization, Govt. of India. We received a cash award of Rs. 1 Lakh by beating hundreds of teams from all parts of the country in the grand finale. We developed a product for Distributed Panorama Construction of UAV Drone Images using Public Compute Nodes.
Was team leader of Team TechWhiz which won the second runner-up position in the Grand Finale of Smart India Hackathon 2017 (World's Biggest Hackathon) held at Jaipur, Rajasthan for the Department of Posts, Govt of India. We received a cash award of Rs.50,000.We designed and developed a software called BHIM (Barcode based Hardware Inventory Management) System which is a digital solution for efficient handling of Inventory of Post Offices in the country.
Was part of the two member team which was shortlisted as one among top 25 in India for the final round.
As the Head of Tech Committee, I lead a team of 4 developers to develop the website for SSN Instincts 2018, a national level cultural event that has tens of thousands of footfalls every year. Co-ordinating with the Design Team, we developed a highly responsive website that had about 30,000 page views and a sub 2 second load time for a website that had lot of graphics and imagery. We optimized every single asset and the code to give a smooth experience to the users irrespective of the device type of the users.
Designed the logo and developed the website for SaveTheWhale Challenge Campaign which was started in response to the increase in the suicide rates worldwide due to the deadly BlueWhaleChallenge. This campaign revolves around doing one simple task, whose results, when shared, will enable sharing of positivity while maintaining a linear story bounded by #savethewhale.
LonePack is a not-for-profit social initiative (NGO), founded in response to the rising rates of depression and social anxiety among the Indian youth.
Developed the entire web console for the application which will be used by the college management to send important announcements and notifications to thousands of students studying at SSN. The application received a highly positive response. Used Firebase,Vanilla JS for the application.
Worked on projects that involved designing and developing responsive websites for the clients’ business.
A virtual stock market simulation game developed using Java, JSP, Bootstrap, HTML, CSS. Designed and developed the entire front end for the application. Deployed the application locally on a Apache Tomcat Server and handled 50 players of the game at once. Separately designed the front end for admin controller. Controlled the game using admin controller. The application received a highly positive response. Used HTML, CSS, Bootstrap, FontAwesome icons, Google Fonts for the application.
Designed and Developed a Responsive Website(optimized for mobile devices) for International Conference on Computational Intelligence in Data Science 2017 (ICCIDS2017) organized by Dept of CSE,SSN College of Engineering.Used Bootstrap and Jquery frameworks along with HTML,CSS and Javascript.
Developed a Responsive Website (Device Independent - works on laptops,tablets,desktops) for SSN Cube Open 2016 - an International Rubiks Cube Competition authorised by the World Cube Association (WCA) held at SSN College of Engineering. Used Bootstrap and Jquery frameworks along with basic HTML,CSS and Javascript to develop the website.
SSN Invente is a national level inter-college technical fest organized by students of SSN College of Engineering. Worked on the Frontend development and responsiveness of the website.Designed and developed Signup Form with validation and developed part of landing page, footer,etc. Made use of HTML, CSS, Jquery and Bootstrap frameworks.
NCRS 2016 - National Conference on Reliability and Safety Engineering. Redesigned the landing page and color scheme of entire website. Hardcoded suitable fonts. Updated speakers information,accomodation details relevant to the conference. Have been in charge of maintenance of the website till date.
Devloped a basic version of a buying and selling forum like ebay for my Class 12 Project entirely using C++ using the concepts of Data Encapsulation(Class), OOPs , Inheritance , file handling. It involved creating a user account with an encrypted password then listing the products sold and bought by the user and also maintain other details of the user like cash at hand,personal info,etc.Binary files were used to store the data.


|
Column1
|
Column2
|
|---|---|
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
|
Column1
|
Column2
|
|---|---|
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |
| cell 1 | cell 2 |


the below class contains all members and functions for detecting blue bin and its related parameters
More...
#include <BlueBinDetector.h>
the below class contains all members and functions for detecting blue bin and its related parameters
| BlueBinDetector::BlueBinDetector |
( |
| ) |
|
| BlueBinDetector::~BlueBinDetector |
( |
| ) |
|
| bool BlueBinDetector::detectBlueBin |
( |
Mat |
orig | ) |
|
function for detecting blue bin and returns true or false based on the same
- Parameters
-
| double BlueBinDetector::dist |
( |
Point |
p1, |
|
|
Point |
p2 |
|
) |
| |
function for detecting blue bin center distance from the gate center and returns the same
- Parameters
-
| [in] | p1 | gate center |
| [in] | p2 | bin center |
| Mat BlueBinDetector::abs_grad_x |
| Mat BlueBinDetector::abs_grad_y |
| Mat BlueBinDetector::cdst |
| int BlueBinDetector::ddepth |
| int BlueBinDetector::delta |
| Point BlueBinDetector::gateCenter |
| Rect BlueBinDetector::gateRect |
rectangle containing the gate
| Mat BlueBinDetector::grad_x |
| Mat BlueBinDetector::grad_y |
| vector<Point> BlueBinDetector::lastCenters |
| double BlueBinDetector::max_cols = 648 |
| double BlueBinDetector::max_rows = 488 |
| int BlueBinDetector::morph_size |
| int BlueBinDetector::nCenters |
| int BlueBinDetector::nCentersIndex |
| int BlueBinDetector::scale |
| int BlueBinDetector::sobelThresholdX |
| int BlueBinDetector::sobelThresholdY |
| Mat BlueBinDetector::src_gray |
| Mat BlueBinDetector::temp |
The documentation for this class was generated from the following files:


Welcome to MSAL.JS demo
Microsoft identity platform OAuth2 2.0 implicit flow diagram
msal.js getting started
Call Graph API from a JavaScript Single Page Application using msal.js
startup
Setup steps:
- Add app registration
- ensure the following is set in the manifest "oauth2AllowIdTokenImplicitFlow": true,
"oauth2AllowImplicitFlow": true,


Try another keyword
Color sense is the tool that allow you to use words to give colors to your work. This way, you can get inspired for new visual projects, like a logo, interface, illustration or a color pallete.
All you have to do is to input a word - a concept, like a feeling - associated to the type of impression you want to reach when people see that.
The Colors still doesn't match perfectly, because color studies would be necessary for this and I'm focusing on learning JS ;).
Developed by André Ciappina
andre-ciappina.com


--- layout: post title: "poem" background: '/img/1.jpg' ---
There was a bright Shinning star, that led 3 wise man .
To the birth of the king, who become a carpenter.
A fisher of men and had 12 disciples , on a dark day , full of envy pain and death, he was crucified.
He shed his precious blood, so we would become white as snows.
He is now seated in Heaven, as the Father, son and Holy Spirit.
He did all this because he loves you.


Single Column Model Diagnostics Package
CASENAME_here
Set
Description
1
Profile plots
2
1D Time series plots
3
2D Time series plots


Saving the Day
We provide hot water on demand. Tea is a great way to make new friends (and enemies).
We provide hot water on demand. Tea is a great way to make new friends (and enemies).
Tea Points
Introduction
Located in most areas of the IPO are tea points which have hot and cold water, a fridge, sink, microwave and cupboards. Whether you bring in a lunch and want to warm it up, wash up dishes, make a cup of tea or grab a glass of water - you should be able to get all you need from here!
Remember to bring your own plates, cups and cutlery as they are not provided in the tea points. Most teams have an agreement in place when it comes to buying coffee, tea and milk, but if you are unsure on what this is, ask one of your colleagues and they will be more than happy to assist.


<< Go Back Home
Login Form
Choose Account Type
{{ msg }}
OR
Doctor
Patient
Forgot password?
Log In
Reset
Not a Member ? Register Here


02. Your First Request
Now that you're authenticated and you've got your token it's time to GET some data
We're going to presume you've already created a product, select one below and we'll move on
Code
Now that you're authenticated and you've got your token it's time to GET some data
We're going to presume you've already created a product, select one below and we'll move on


Jquery Sample
Books
Tamil
Novels
1
2
3
Short Stories
4
5
6
Comics
1
2
3
-----
English
Novels
1
2
3
Short Stories
4
5
6
Comics
1
2
3
-----


I had a good feeling going into Dev Bootcamp that the folks who run it and teach it have spent a lot of time thinking about what makes someone successful in the field rather than what makes someone a "good programmer." I've been pleasantly surprised the deeper I go in the suggested reading and all of these videos that this isn't just a philosophy that gets brought up in admissions, but runs throughout the program. Hearing it reinforced in the Fireside Chat is even more reassuring, especially because of the questions from other students and the real life examples that are brought up about how other people bring these things into their professional practice. I also very much apppreciate all of the various resources Dev Bootcamp has provided so far, and how wide ranging they are. They do a fantastic job of setting you up to teach yourself and providing tools to knock down certain assumptions about things that people might think can't be taught, like being an autodidact. From the materials on mindset to time management to some of the other early resources (thank you for introducing me to "A Mind For Numbers" — I grew up being told it was okay that I wasn't good at math because I was good at art and writing instead of being helped to learn, so I'm really looking forward to reading this), I'm really impressed at how much Dev Bootcamp seems to anticipate the real or imagined hurdles students set up for themselves. I'm really looking forward to participating in the process and seeing the impact students with Dev Bootcamp's particular flavor of culture make on the technology world. Vulnerable, collaborative, acknowledging impostor syndrome, and being encouraged not to work til 2am are all things that are refreshing to hear.


Tire Product
Hamburger leberkas pancetta, ball tip cow pork belly doner ham hock chuck turkey meatloaf. Tail burgdoggen pork belly sirloin pastrami short loin bacon. Burgdoggen sausage porchetta, shankle ground round flank pork chop chicken pork belly t-bone cupim. Fatback landjaeger jowl, salami porchetta doner jerky brisket andouille short ribs tenderloin turkey cow pork chop.
Tire Product
Boudin t-bone ball tip, tail turducken leberkas sausage andouille drumstick meatball tenderloin picanha flank. Ball tip ribeye ground round tenderloin. Hamburger venison leberkas, ham beef ribs buffalo jerky meatball kielbasa porchetta fatback pork loin tail ham hock. T-bone bacon short ribs shank leberkas, burgdoggen venison pork loin bresaola sausage chuck chicken tongue. Drumstick cow doner hamburger, ham hock tenderloin meatball corned beef cupim pork. Tenderloin ham hock beef brisket strip steak tail.
Tire Product
Shankle capicola ball tip ham ground round bresaola porchetta.  Cow chislic alcatra salami t-bone filet mignon doner cupim andouille. Jerky brisket strip steak swine beef ribs, shank ground round. Sausage pork chop doner swine burgdoggen. Sirloin ground round venison brisket beef ribs drumstick boudin corned beef ball tip flank landjaeger pig ham ham hock.
Tire Product
Bacon ipsum dolor amet filet mignon jowl turkey sirloin pork belly tail ham porchetta shank swine. Sirloin shank jowl spare ribs drumstick turkey capicola chicken. Beef andouille brisket meatball pork belly, drumstick capicola alcatra turducken tenderloin strip steak.


Home
2 User Manual > 2.7 Incremental Execution > 2.7.3 Stream Source
prev
next
The following are all stream sources.
-
The result of the file read function.
-
The result of stream receive function.
-
The result of the ++ infix operation.
-
The result of joins (see Join Rules).
For example the result of
@x:block {e1;e2}
will be a source that first
does e1 then does e2.
If e1 is a source then it is also recursively streamed.
Same of e2.
Joins from commands such as @x:if and @x:while are
also streamed.


A typical board initialization file has several separate scripts that can be run at different times for different functions.
When Sourcery CodeBench launches the MDI debug connection, it reads this section of the target initialization script file from the top. It uses EA (Enter Alias) commands to define new command names that are later used to invoke the command script functions provided later in the script file.
Table 3-2. Initialization File Commands
|
RTNI |
Reset Target with No Initialization |
|
RTI |
Reset Target and Initialize |
|
TI |
Initialize Target |
After these command aliases are defined, the script proceeds to configure the debug interface. Often this requires only a couple of Configuration Options to be set.
Some targets require special probe initialization options. See Special Probe Initialization (ARM and MIPS Only) for details on the probe initialization features normally used during initialization.
When the probe interface has been configured, the script enables the power sensor. (See ice_power_sense in Table 3-9)
Assuming the target is correctly connected and is powered up, the probe detects the target's voltage level and enables the debug interface at that level. At this point the interface and the processor's debug controller are initialized. Normally the processor is stopped and reset when the debug controller is initialized, but if the debugger was launched in a non-intrusive attach mode connection, the processor is stopped, but not reset to allow for inspecting the current state. See R, RP, RT (Reset Processor).
This section of the template.maj file also declares the memory configuration table for the board's physical memory map. This controls how the Mentor Embedded Sourcery Probe accesses different memory regions, and helps avoid illegal accesses. See Memory Configuration (ARM and MIPS Only) for more information. The next lines of the file are the place to add additional customization your board might require.
If the debugger was launched in non-intrusive connection mode the initialization script exits; otherwise, it calls one of the other scripts in the file via one of the Initialization File Commands. The correct script to call depends on your particular use case.
The DO_RTNI script does a Reset Target type reset (See R, RP, RT (Reset Processor)) with No Initialization (NI). Use the DO_RTNI script to reset the board using the system reset pin on the debug connector (separate from the JTAG reset) and leave the hardware uninitialized. Reset without initialization is recommended when using a boot loader to initialize the board and download the application, or when debugging boot code in ROM or flash memory.
The result depends on the design of your target board and CPU. Certain processors execute some amount of boot code when they exit the reset state despite the presence of a probe. Other boards do not provide a system reset pin on the debug connector and, therefore, cannot be reset using the DO_RTNI script.
The DO_RTI script does a Reset Target and Initialize. The script first performs a Reset Target type reset (See R, RP, RT (Reset Processor)) to reset the board using the system reset pin on the debug connector (separate from the JTAG reset). After the reset is complete, the script calls the Initialize Target (TI) to run your initialization script. Using the DO_RTI script for initialization is recommended when you plan to download the application into RAM using the debugger. However, some targets do not respond well to a hard reset, in which case TI is recommended instead of RTI.
The result depends on the design of your target board and CPU. Certain processors execute some amount of boot code when they exit the reset state despite the presence of a probe. Other boards do not provide a system reset pin on the debug connector, and, therefore, cannot be reset using the DO_RTI script.
The DO_TI script is used for initializing your memory controller and any additional hardware, as required. If your board boots up normally, you might not need to make any adjustments. However, if you have no boot code (or bad boot code) and want to download code into RAM, then you might need to use the DO_TI script to initialize your memory controller and to set up the control registers.
| Note | |
|
The target initialization script must be compatible with the boot code. It is best to do a bare minimum of initialization in the script and leave as much as possible to the boot code. |
|


Displaying the Latest or Top Items
How to configure the Repository Dashboard module to display a select number of the latest uploads, top downloads, or top rated items.
-
- Maximize the Dashboard Settings section.
- At Select Repository, select the Repository to be associated with this module. Repository modules are listed by their TabName/ModuleTitle. E.g. Home/Repository
- At Dashboard Mode, select one of the following options:
- Latest Uploads: Select to display the latest uploads to the selected Repository module.
- Top Downloads: Select to display the most downloaded items from the selected Repository module.
- Top Rated: Select to display the best rated items in the selected Repository module.
- In the Indicate the number of items to be displayed text box, enter the number of items to be displayed on the Repository Dashboard. E.g. 5
-
Click the Update button.
Note: The below example uses the Module Header field to display the information displayed in each module. See Module Settings for more details.
Repository Dashboard set to display different information


pyfor package¶
Submodules¶
pyfor.clip module¶
-
pyfor.clip.
poly_clip
(points, poly)¶ Returns the indices of points that are within a given polygon. This differs from
ray_trace()
in that it enforces a small “pre-clip” optimization by first clipping to the polygon bounding box. This function is directly called byCloud.clip()
.Parameters: - cloud – A cloud object.
- poly – A shapely Polygon, with coordinates in the same CRS as the point cloud.
Returns: A 1D numpy array of indices corresponding to points within the given polygon.
-
pyfor.clip.
ray_trace
(x, y, poly)¶ Determines for some set of x and y coordinates, which of those coordinates is within poly. Ray trace is generally called as an internal function, see
poly_clip()
Parameters: - x – A 1D numpy array of x coordinates.
- y – A 1D numpy array of y coordinates.
- poly – The coordinates of a polygon as a numpy array (i.e. from geo_json[‘coordinates’]
Returns: A 1D boolean numpy array, true values are those points that are within poly.
-
pyfor.clip.
square_clip
(points, bounds)¶ Clips a square from a tuple describing the position of the square.
Parameters: - points – A N x 2 numpy array of x and y coordinates, where x is in column 0
- bounds – A tuple of length 4, min y and max y coordinates of the square.
Returns: A boolean mask, true is within the square, false is outside of the square.
pyfor.cloud module¶
-
class
pyfor.cloud.
Cloud
(path)¶ Bases:
object
The cloud object is an API for interacting with .las, .laz, and .ply files in memory, and is generally the starting point for any analysis with pyfor. For a more qualitative assessment of getting started with
Cloud
please see the user manual.-
__init__
(path)¶ Initialize self. See help(type(self)) for accurate signature.
-
chm
(cell_size, interp_method=None, pit_filter=None, kernel_size=3)¶ Returns a
Raster
object of the maximum z value in each cell, with optional interpolation (i.e. nan-filling) and pit filter parameters. Currently, only a median pit filter is implemented.Parameters: - cell_size – The cell size for the returned raster in the same units as the parent Cloud or las file.
- interp_method – The interpolation method as a string to fill in NA values of the produced canopy height model, one of either “nearest”, “cubic”, or “linear”. This is an argument to scipy.interpolate.griddata.
- pit_filter – If “median” passes a median filter over the produced canopy height model.
- kernel_size – The kernel size of the median filter, must be an odd integer.
Returns: A
Raster
object of the canopy height model.
-
clip
(polygon)¶ Clips the point cloud to the provided shapely polygon using a ray casting algorithm. This method calls
clip.poly_clip()
directly. This returns a newCloud
.Parameters: polygon – A shapely.geometry.Polygon
in the same CRS as the Cloud.Returns: A new :class:.`Cloud` object clipped to the provided polygon.
-
convex_hull
¶ Calculates the convex hull of the cloud projected onto a 2d plane, a wrapper for
scipy.spatial.ConvexHull()
.Returns: A shapely.geometry.Polygon
of the convex hull.
-
filter
(min, max, dim)¶ Filters a cloud object for a given dimension in place.
Parameters: - min – Minimum dimension to retain.
- max – Maximum dimension to retain.
- dim – The dimension of interest as a string. For example “z”. This corresponds to a column label in
self.data.points
.
-
grid
(cell_size)¶ Generates a
Grid
object for the parent object given a cell size. See the documentation forGrid
for more information.Parameters: cell_size – The resolution of the plot in the same units as the input file. Returns: A Grid
object.
-
normalize
(cell_size, **kwargs)¶ Normalize the cloud using the default Zhang et al. (2003) progressive morphological ground filter. Please see the documentation in
ground_filter.Zhang2003
for more information and keyword argument definitions. If you want to use a pre-computed DEM to normalize, please seesubtract()
.
-
plot
(cell_size=1, cmap='viridis', return_plot=False, block=False)¶ Plots a basic canopy height model of the Cloud object. This is mainly a convenience function for
Raster.plot
. More robust methods exist for dealing with canopy height models. Please see the user manual.Parameters: - clip_size – The resolution of the plot in the same units as the input file.
- return_plot – If true, returns a matplotlib plt object.
Returns: If return_plot == True, returns matplotlib plt object. Not yet implemented.
-
plot3d
(dim='z', point_size=1, cmap='Spectral_r', max_points=500000.0, n_bin=8, plot_trees=False)¶ Plots the three dimensional point cloud using a Qt backend. By default, if the point cloud exceeds 5e5 points, then it is downsampled using a uniform random distribution. This is for performance purposes.
Parameters: - point_size – The size of the rendered points.
- dim – The dimension upon which to color (i.e. “z”, “intensity”, etc.)
- cmap – The matplotlib color map used to color the height distribution.
- max_points – The maximum number of points to render.
-
subtract
(path)¶ Normalize using a pre-computed raster file, i.e. “subtract” the heights from the input raster in place. This assumes the raster and the point cloud are in the same coordinate system. :param path: The path to the raster file, must be in a format supported by rasterio. :return:
-
write
(path)¶ Write to file. The precise mechanisms of this writing will depend on the file input type. For .las files this will be handled by
LASData.write()
, for .ply files this will be handled byPLYData.write()
.Parameters: path – The path of the output file.
-
-
class
pyfor.cloud.
CloudData
(points, header)¶ Bases:
object
-
__init__
(points, header)¶ Initialize self. See help(type(self)) for accurate signature.
-
-
class
pyfor.cloud.
LASData
(points, header)¶ Bases:
pyfor.cloud.CloudData
-
write
(path)¶ Writes the object to file. This is a wrapper for
laspy.file.File()
Parameters: path – The path of the ouput file.
-
-
class
pyfor.cloud.
PLYData
(points, header)¶ Bases:
pyfor.cloud.CloudData
-
write
(path)¶ Writes the object to file. This is a wrapper for
plyfile.PlyData.write()
Parameters: path – The path of the ouput file.
-
pyfor.collection module¶
-
class
pyfor.collection.
CloudDataFrame
(*args, **kwargs)¶ Bases:
geopandas.geodataframe.GeoDataFrame
Implements a data frame structure for processing and managing multiple
Cloud
objects. It is recommended to initialize using thefrom_dir()
function.-
__init__
(*args, **kwargs)¶ Initialize self. See help(type(self)) for accurate signature.
-
bounding_box
¶ Retrieves the bounding box for the entire collection. As a tuple (minx, miny, maxx, maxy).
-
create_index
()¶ For each file in the collection, creates .lax files for spatial indexing using the default values.
-
indexed
¶ Returns: True if all files have an equivalent .lax present, otherwise False.
-
map_poly
(las_path, polygon)¶
-
par_apply
(func, indexed=True, by_file=False)¶ Apply a function to the collection in parallel. There are two major use cases:
1. Buffered Tiles: In the case of buffered tiles, the func argument should contain a function that takes two arguments, the first being an aggregated cloud.Cloud object, and the second being a shapely.geometry.Polygon that describes the bounding box of the aggregated tile. For this case, set by_file to False (this is the default).
2. Raw Files: In the case of processing raw tiles in parallel, the func argument should contain a function that takes only one argument, the absolute file path to the tile at that iteration. For this case, set by_file to True.
Parameters: - func – A function used to process each tile or raw file (see above).
- indexed – Determines if .lax files will be leveraged to reduce memory consumption.
- by_file – Forces par_apply to operate on raw files only if True.
-
plot
(**kwargs)¶ Plots the bounding boxes of the Cloud objects.
Parameters: **kwargs – Keyword arguments to
geopandas.GeoDataFrame.plot()
.
-
reset_tiles
()¶
-
retile_buffer
()¶ A basic retiling operation that buffers the current self.tiles using a square buffer. :return:
-
retile_raster
(cell_size, original_tile_size, buffer=0)¶ A retiling operation that creates raster-compatible sized tiles. Important for creating project-level rasters. Changes self.tiles in place
Parameters: buffer – Buffer the raster-compatible tiles.
-
standard_metrics
(heightbreak, index=None)¶ Retrieves a set of 29 standard metrics, including height percentiles and other summaries. :param index: An iterable of indices to set as the output dataframe index. :return: A pandas dataframe of standard metrics.
-
-
class
pyfor.collection.
Retiler
(cdf)¶ Bases:
object
-
__init__
(cdf)¶ Retiles a CloudDataFrame. Generally used to create tiles such that rasters generated from tiles are properly aligned.
-
retile_buffer
(tiles, buffer)¶ A simple buffering operation.
Returns: A list of buffered shapely polygons.
-
retile_quadrant
(tiles)¶ Splits input tiles into quadrants. An efficient retiling method when particular retiling geometries are not necessary.
-
retile_raster
(target_cell_size, original_tile_size, buffer=0)¶ Creates a retiling grid for a specified target cell size. This creates a list of polygons such that if a raster is constructed from a polygon it will exactly fit inside given the specified target cell size. Useful for creating project level rasters.
Parameters: - target_cell_size – The desired output cell size
- original_tile_size – The original tile size of the project
- buffer – The distance to buffer each new tile to prevent edge effects.
Returns: A list of shapely polygons that correspond to the new grid.
-
-
pyfor.collection.
from_dir
(las_dir, **kwargs)¶ Constructs a CloudDataFrame from a directory of las files.
Parameters: las_dir – The directory of las files. Returns: A CloudDataFrame constructed from the directory of las files.
pyfor.gisexport module¶
-
pyfor.gisexport.
array_to_polygons
(array, affine=None)¶ Returns a geopandas dataframe of polygons as deduced from an array.
Parameters: - array – The 2D numpy array to polygonize.
- affine – The affine transformation.
Returns:
-
pyfor.gisexport.
array_to_raster
(array, affine, wkt, path)¶ Writes a GeoTIFF raster from a numpy array.
Parameters: - array – 2D numpy array of cell values
- pixel_size – – Desired resolution of the output raster, in same units as wkt projection.
- x_min – Minimum x coordinate (top left corner of raster)
- y_max – Maximum y coordinate
- wkt – The wkt string with desired projection
- path – The output bath of the GeoTIFF
-
pyfor.gisexport.
get_las_crs
()¶ Attempts to retrive CRS information from an input laspy.file.File object. :return:
-
pyfor.gisexport.
polygons_to_raster
(polygons)¶
-
pyfor.gisexport.
project_indices
(indices, raster)¶ Converts indices of an array (for example, those indices that describe the location of a local maxima) to the same space as the input cloud object.
Parameters: indices – The indices to project, an Nx2 matrix of indices where the first column are the rows (Y) and the second column is the columns (X) :param raster: An object of type pyfor.rasterizer.Raster :return:
pyfor.ground_filter module¶
-
class
pyfor.ground_filter.
GroundFilter
¶ Bases:
object
-
class
pyfor.ground_filter.
KrausPfeifer1998
(cell_size, a=1, b=4, g=-2, w=2.5, iterations=5, tolerance=0)¶ Bases:
object
Holds functions and data for implementing Kraus and Pfeifer (1998) ground filter.  This filter is used in FUSION software, and the same default values for the parameters are used in this implementation.
-
__init__
(cell_size, a=1, b=4, g=-2, w=2.5, iterations=5, tolerance=0)¶ Parameters: - cell_size – The cell size of the intermediate surface used in filtering in the same units as the input cloud. Values from 1 to 40 are common, depending on the units in which the original point cloud is projected.
- a – A steepness parameter for the interpolating function.
- b – A steepness parameter for the interpolating function.
- g – The distance from the surface under which all points are given a weight of 1.
- w – The window width from g up considered for weighting.
- iterations – The number of iterations, i.e. the number of surfaces constructed.
-
bem
(cloud, cell_size)¶ Retrieve the bare earth model (BEM).
Parameters: - cloud – A cloud object.
- cell_size – The cell size of the BEM, this is independent of the cell size used in the intermediate surfaces.
Returns: A Raster object that represents the bare earth model.
-
classify
(cloud, ground_int=2)¶ Sets the classification of the original input cloud points to ground (default 2 as per las specification). This performs the adjustment of the input Cloud object in place. Only implemented for .las files.
Parameters: - cloud – A cloud object.
- ground_int – The integer to set classified points to, the default is 2 in the las specification for ground
points.
-
ground_points
(cloud)¶ Returns a new Cloud object that only contains the ground points. :return:
-
normalize
(pc, cell_size)¶ Normalizes the original point cloud in place. This creates a BEM as an intermediate product, please see .bem() to return this directly.
Parameters: - pc – A cloud object.
- cell_size – The cell_size for the intermediate BEM. Values from 1 to 6 are common.
-
-
class
pyfor.ground_filter.
Zhang2003
(cell_size, n_windows=5, dh_max=2, dh_0=1, b=2, interp_method='nearest')¶ Bases:
object
Implements Zhang et. al (2003), a progressive morphological ground filter. This filter uses an opening operation combined with progressively larger filtering windows to remove features that are ‘too steep’. This particular implementation interacts only with a raster, so the output resolution will be dictated by the cell_size argument.
-
__init__
(cell_size, n_windows=5, dh_max=2, dh_0=1, b=2, interp_method='nearest')¶ Parameters: - cloud – The input cloud object.
- n_windows – The number of windows to construct for filtering.
- dh_max – The maximum height threshold.
- dh_0 – The starting null height threshold.
- cell_size – The cell_size used to construct the array for filtering, also the output size of the BEM.
- interp_method – The interpolation method used to fill nan values in the final BEM.
-
bem
(cloud)¶ Retrieve the bare earth model (BEM). Unlike
KrausPfeifer1998
, the cell size is defined upon initialization of the filter, and thus it is not required to retrieve the bare earth model from the filter.Parameters: cloud – A Cloud object. Returns: A Raster
object that represents the bare earth model.
-
normalize
(cloud)¶ Normalizes the original point cloud in place. This creates a BEM as an intermediate product, please see .bem() to return this directly.
Parameters: cell_size – The cell_size for the intermediate BEM. Values from 0.5 to 3 are common.
-
pyfor.metrics module¶
-
pyfor.metrics.
make_percentile_funcs
(percentiles)¶ Returns a dictionary of lambda percentile functions
-
pyfor.metrics.
make_standard_funcs
(percentiles, heightbreak, return_nums)¶ Returns a dictionary of standard metrics functions, such that each function takes as its first argument a vector of values. :param percentiles: :param heightbreak: :param return_nums: A vector of all possible return number values
-
pyfor.metrics.
standard_metrics
(points, heightbreak=6)¶
-
pyfor.metrics.
summarize_percentiles
(z, pct=(1, 5, 10, 20, 25, 30, 40, 50, 60, 70, 75, 80, 90, 95, 99))¶ Parameters: z – A pandas.Series
of z values.
-
pyfor.metrics.
summarize_return_num
(return_nums)¶ Gets the number of returns by return number.
Parameters: return_nums – A pandas.Series
of return number that describes the return number of each point.Returns: A pandas.Series
of return number counts by return number.
pyfor.rasterizer module¶
-
class
pyfor.rasterizer.
CrownSegments
(array, grid, min_distance, threshold_abs)¶ Bases:
pyfor.rasterizer.Raster
This class is for visualization of detected crown segments with a raster object.
-
__init__
(array, grid, min_distance, threshold_abs)¶ Initialize self. See help(type(self)) for accurate signature.
-
plot
()¶ Default plotting method for the Raster object.
-
segments
¶
-
-
class
pyfor.rasterizer.
DetectedTops
(array, grid, chm)¶ Bases:
pyfor.rasterizer.Raster
This class is for visualization of detected tops with a raster object. Generally created internally via Raster.local_maxima
-
__init__
(array, grid, chm)¶ Initialize self. See help(type(self)) for accurate signature.
-
plot
()¶ Plots the detected tops against the original input raster. # https://matplotlib.org/gallery/images_contours_and_fields/image_transparency_blend.html
-
points
¶ Returns an Nx2 numpy array of detected top locations projected to the input Cloud space.
-
tops_binary
¶ Returns: A binary array, where 1 indicates a detected top, 0 otherwise
-
-
class
pyfor.rasterizer.
Grid
(cloud, cell_size)¶ Bases:
object
The Grid object is a representation of a point cloud that has been sorted into X and Y dimensional bins. From the Grid object we can derive other useful products, most importantly,
Raster
objects.-
__init__
(cloud, cell_size)¶ Upon initialization, the parent cloud object’s
data.points
attribute is sorted into bins in place. The columns ‘bins_x’ and ‘bins_y’ are appended. Other useful information, such as the resolution, number of rows and columns are also stored.Parameters: - cloud – The “parent” cloud object.
- cell_size – The size of the cell for sorting in the units of the input cloud object.
-
empty_cells
¶ Retrieves the cells with no returns in self.data
return: An N x 2 numpy array where each row cooresponds to the [y x] coordinate of the empty cell.
-
interpolate
(func, dim, interp_method='nearest')¶ Interpolates missing cells in the grid. This function uses scipy.griddata as a backend. Please see documentation for that function for more details.
Parameters: - func – The function (or function string) to calculate an array on the gridded data.
- dim – The dimension (i.e. column name of self.cells) to cast func onto.
- interp_method – The interpolation method call for scipy.griddata, one of any: “nearest”, “cubic”, “linear”
Returns: An interpolated array.
-
metrics
(func_dict, as_raster=False)¶ Calculates summary statistics for each grid cell in the Grid.
Parameters: func_dict – A dictionary containing keys corresponding to the columns of self.data and values that correspond to the functions to be called on those columns. Returns: A pandas dataframe with the aggregated metrics.
-
raster
(func, dim, **kwargs)¶ Generates an m x n matrix with values as calculated for each cell in func. This is a raw array without missing cells interpolated. See self.interpolate for interpolation methods.
Parameters: - func – A function string, i.e. “max” or a function itself, i.e.
np.max()
. This function must be able to take a 1D array of the given dimension as an input and produce a single value as an output. This single value will become the value of each cell in the array. - dim – A dimension to calculate on.
Returns: A 2D numpy array where the value of each cell is the result of the passed function.
- func – A function string, i.e. “max” or a function itself, i.e.
-
-
class
pyfor.rasterizer.
ImportedGrid
(path, cloud)¶ Bases:
pyfor.rasterizer.Grid
ImportedGrid is used to normalize a parent cloud object with an arbitrary raster file.
-
__init__
(path, cloud)¶ Upon initialization, the parent cloud object’s
data.points
attribute is sorted into bins in place. The columns ‘bins_x’ and ‘bins_y’ are appended. Other useful information, such as the resolution, number of rows and columns are also stored.Parameters: - cloud – The “parent” cloud object.
- cell_size – The size of the cell for sorting in the units of the input cloud object.
-
-
class
pyfor.rasterizer.
Raster
(array, grid)¶ Bases:
object
-
__init__
(array, grid)¶ Initialize self. See help(type(self)) for accurate signature.
-
force_extent
(bbox)¶ Sets self._affine and self.array to a forced bounding box. Useful for trimming edges off of rasters when processing buffered tiles. This operation is done in place.
Parameters: bbox – Coordinates of output raster as a tuple (min_x, max_x, min_y, max_y)
-
local_maxima
(min_distance=2, threshold_abs=2, as_coordinates=False)¶ Returns a new Raster object with tops detected using a local maxima filtering method. See skimage.feature.peak_local_maxima for more information on the filter.
Parameters: - min_distance –
- threshold_abs –
- multi_top – If multi_top is true, a top can consist of more than one pixel.
- as_coordinates – Not yet implemented
Returns:
-
pit_filter
(kernel_size)¶ Filters pits in the raster. Intended for use with canopy height models (i.e. grid(0.5).interpolate(“max”, “z”). This function modifies the raster array in place.
Parameters: kernel_size – The size of the kernel window to pass over the array. For example 3 -> 3x3 kernel window.
-
plot
(cmap='viridis', block=False, return_plot=False)¶ Default plotting method for the Raster object.
-
remove_sparse_cells
(min_points)¶ Sets sparse cells, i.e. those that have < min_points to nan in place. This improves the reliability of edge-cells when handling multiple tile rasters.
Returns:
-
watershed_seg
(min_distance=2, threshold_abs=2, classify=False)¶ Returns the watershed segmentation of the Raster as a geopandas dataframe.
Parameters: - min_distance – The minimum distance between local height maxima in the same units as the input point cloud.
- threshold_abs – The minimum threshold needed to be called a peak in peak_local_max.
- classify – If true, sets the user_data of the original point cloud data to the segment ID. The segment ID is an arbitrary identification number generated by the labels function. This can be useful for plotting point clouds where each segment color is unique.
Returns: A geopandas data frame, each record is a crown segment.
-
write
(path)¶ Writes the raster to a geotiff. Requires the Cloud.crs attribute to be filled by a projection string (ideally wkt or proj4).
Parameters: path – The path to write to.
-
pyfor.voxelizer module¶
-
class
pyfor.voxelizer.
VoxelGrid
(cloud, cell_size)¶ Bases:
object
A 3 dimensional grid representation of a point cloud. This is analagous to the rasterizer.Grid class, but with three axes instead of two. VoxelGrids are generally used to produce VoxelRaster objects.
-
__init__
(cloud, cell_size)¶ Initialize self. See help(type(self)) for accurate signature.
-
voxel_raster
(func, dim)¶ Creates a 3 dimensional voxel raster, analagous to rasterizer.Grid.raster.
Parameters: - func – The function to summarize within each voxel.
- dim – The dimension upon which to summarize (i.e. “z”, “intensity”, etc.)
-


Problem Statement
Static rush is a theme based treasure hunt. The competition comprises of a multi-level hunt for components and building a particular circuit. The schematics and components of the device would be provided by the organizers. After the schematics are given, everyone would be given a series of riddles/tasks. The completion of every riddle/task would give a hint to a checkpoint where you would be receiving components and riddle/task for the next checkpoint. After collecting all the components, the team has to make the circuit work. The team that takes the minimum time to complete the circuit would be declared as winner.
Judging Criteria
- Time of completion
- Efficiency, creativity and quality of design and output
- Time taken to clear individual check points
- Distribution of score weightage depending on the difficulty level of the check point
- Explanation of the circuit
Rules and Regulations
- Maximum 3 members in a team.
- Members can be of any year and any branch.
- Teams have to report to the spot before 15 minutes of the scheduled time.
- All team members have to be collectively present at the checkpoint with their previous clue to receive the circuit component.
- Explanation of the clue may be required.
*Rules are flexible as per the organizers discretion.


html is the skeleton (the structure) while css is the muscles and skin (what it looks like).
control flow is making decisions based on one or more variables so for example if a refrigerator is too hot then it will turn the cooler on. an example of loops is you have a hundred boxes and one of the boxes has a coin in it you check through each box until you find the coin.
the DOM (Document Object Model) is how you use javascript to interact with the html and css. you could interact with it by checking if a button is pushed or not and then poping up an alert etc.
with an array you can access any piece of data from the arra=y you just need to know where it is ( e.g. myArray[0] would access the first element in an array). with an object though when you try to access data through an object you have to use the functions in the class to access the data.
functions are blocks of code that are meant to be reused, they have an input the perform an action on that and then outputs the result. functions can be easily called and reused sometimes in a lot of different ways.


Reginae Carter’s Latest Message Has Fans Saying She’s Hinting At YFN Lucci
by Alexis StoneReginae Carter shared a message on her social media account that has fans saying that she is hinting at YFN Lucci. Check out the post below.
‘& if you leave, you’re leaving the best so you would have to settle for less 💋 @fashionnova AD,’ Nae captioned her photo.
Someone said: ‘Tell Wayne shout me, am definitely his biggest fan in Nigeria lol @colormenae @liltunechi @youngmoney.’
A follower said: ‘You got that body right huh you weren’t playing good shit.🙌,’ and another fan also gushed over Nae: ‘Awww baby you are so sexy n fine I love everything about you sexy.’
Someone asked Nae: ‘Are you talking about Lucci, yes?’ and people continued to make all kinds of assumptions after this.
A fan had an idea for Nae: ‘You should start your own handbag collection you wear them so well!!’
Reginae and YFN Lucci have reportedly broken up a while ago, and since then, people were terrified that Nae would eventually go back to him once again, like she used to do.
But it seems that Toya Wright’s daughter did not go back so far, and fans could not be prouder of her.
Nae was recently in the spotlight when it’s been revealed that Tiny Harris and Toya Wright took their daughters on vacay in Mexico.
Reginae shared footage in which fans can see her and Zonnique Pullins dancing in front of the camera, but Deyjah Harris, Tiny’s other daughter, wanted no part in this.


abstract val registrationService: RegistrationApiService
Current library instance of RegistrationApiService


W3School 2016 Offline By TricksUniversity.In
W3School 2016 Offline By TricksUniversity
W3School 2016 Offline By TricksUniversity.In
·
www.W3School.com
For More Visit :
TricksUniversity.In
© Created By
TricksUniversity
, 2016 .


This CIX Forums script will search CIX Forums for information about another user of the system. The information retrieved includes their name, CIX Forum nickname and the time and date of their last login. You will be asked to enter text with which to search and to specify a file into which the search results will be saved. This script will search for CIX Forum nicknames or real names and you can use wildcard characters in the search text.


Consuming Remote Data
HTTP, AJAX and jQuery
#Table of Contents
##TODO
#Web Services Overview
##Web services and SOA Architecture
#Web Services Overview
* A web service is a method of communication between two devices in WWW
* The server device exposes service endpoints
* The client sends requests to these endpoints
* Web services are the main part of the SOA architecture
* Database and Business logic on the server
* The server exposes public service endpoints
* UI logic on a clinet
* Sends requests to the server's services endpoints
* Can be a **web** client (HTML&JS), **mobile** client (iOS, Android, WindowsPhone)
#RESTful Web Services
##Lightweight Architecture for Web Services
#What is REST?
> "Representational state transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web."
> -- [Wikipedia](http://en.wikipedia.org/wiki/Representational_State_Transfer)
* Application state and functionality are resources
* Resources are used as common data files
* Every resource has an URI
* All resources share a uniform interface
* This natively maps to the HTTP protocol
# Consuming Remote Data
## Questions


---
sort_order: 76
tei_id: rdx_b5j2m.p.idm59402608
annotation_count: 0
images:
small-thumbnail: http://readux.library.emory.edu/books/emory:b5j2m/pages/emory:p75xd/mini-thumbnail/
json: http://readux.library.emory.edu/books/emory:b5j2m/pages/emory:p75xd/info/
full: http://readux.library.emory.edu/books/emory:b5j2m/pages/emory:p75xd/fs/
page: http://readux.library.emory.edu/books/emory:b5j2m/pages/emory:p75xd/single-page/
thumbnail: http://readux.library.emory.edu/books/emory:b5j2m/pages/emory:p75xd/thumbnail/
title: Page 76
number: 76
---
{% raw %}CHAPTER XL{% endraw %}
{% raw %}PEOVIDEXTIAL DELIVEEAXCE.{% endraw %}
{% raw %}OFFERED FOR SALE.—EXAMINED P,Y PURCHASERS. — PLEAD WITH{% endraw %}
{% raw %}MY YOUNG MASTER IN VAIN.—MAN's EXTREMITY, GOD's OPPOR¬{% endraw %}
{% raw %}TUNITY.—GOOD FOR FAIL.--RETURN NORTH.—MY INCREASED{% endraw %}
{% raw %}VALUE.—RESOLVE TO BE A SLAVE NO LONGER.{% endraw %}
{% raw %}In a few days after this trying crisis in my life, we{% endraw %}
{% raw %}arrived at 2^cw Oilcans. The little that re¬{% endraw %}
{% raw %}mained of our cargo was soon sold, the men were{% endraw %}
{% raw %}discharged, and nothing was left but to dispose of{% endraw %}
{% raw %}me, and break up the boat, and then Master Amos{% endraw %}
{% raw %}intended to take passage on a steamboat, and go{% endraw %}
{% raw %}home. There was no longer any disguise about the{% endraw %}
{% raw %}disposition which was to be made of me. Master{% endraw %}
{% raw %}Amos acknowledged that such were his instructions,{% endraw %}
{% raw %}and he set about fulfilling them. Several planters{% endraw %}
{% raw %}came to the boat to look at me ; I was sent on some{% endraw %}
{% raw %}hasty errand that they might see how I could run;{% endraw %}
{% raw %}my points were canvassed as those of a horse would{% endraw %}
{% raw %}have been; and, doubtless, some account of my{% endraw %}
{% raw %}various faculties entered into the discussion of the{% endraw %}
{% raw %}bargain, that my value as a domestic animal might{% endraw %}
{% raw %}be enhanced. Master Amos had talked, with ap¬{% endraw %}
{% raw %}parent kindness, about getting mc a good master who{% endraw %}
{% raw %}would employ me as a coachman, or as a house-{% endraw %}


Welcome to another edition of Bitcoin Today, where I, Satoshi Nakaboto, tell you what’s been going on with Bitcoin in the past 24 hours. As Kierkegaard used to say: If you love yourself, you won’t do drugs!
Bitcoin Price
We closed the day, November 05 2019, at a price of $9,342. That’s a minor 0.74 percent decline in 24 hours, or -$70.46. It was the lowest closing price in one day.
We’re still 53 percent below Bitcoin‘s all-time high of $20,089 (December 17 2017).
Bitcoin market cap
Bitcoin’s market cap ended the day at $168,459,778,835. It now commands 67 percent of the total crypto market.
Bitcoin volume
Yesterday’s volume of $26,198,609,048 was the highest in four days, 64 percent above the year’s average, and 41 percent below the year’s high. That means that yesterday, the Bitcoin network shifted the equivalent of 548 tons of gold.
Bitcoin transactions
A total of 332,695 transactions were conducted yesterday, which is 0 percent below the year’s average and 26 percent below the year’s high.
Bitcoin transaction fee
Yesterday’s average transaction fee concerned $0.61. That’s $3.10 below the year’s high of $3.71.
Bitcoin distribution by address
As of now, there are 13,358 Bitcoin millionaires, or addresses containing more than $1 million worth of Bitcoin.
Furthermore, the top 10 Bitcoin addresses house 4.9 percent of the total supply, the top 100 14.3 percent, and the top 1000 34.4 percent.
Company with a market cap closest to Bitcoin
With a market capitalization of $167 bBillion, China Mobile has a market capitalization most similar to that of Bitcoin at the moment.
Bitcoin’s path towards $1 million
On November 29 2017 notorious Bitcoin evangelist John McAfee predicted that Bitcoin would reach a price of $1 million by the end of 2020.
 Unfortunately for him it’s 92.8 percent behind being on track. Bitcoin‘s price should have been $130,294 by now, according to dickline.info.
Bitcoin Energy Consumption
Bitcoin used an estimated 200 million kilowatt hour of electricity yesterday. On a yearly basis that would amount to 73 terawatt hour. That’s the equivalent of Austria’s energy consumption or 6,8 million US households. Bitcoin’s energy consumption now represents 0.3% of the whole world’s electricity use.
Bitcoin on Twitter
Yesterday 18,119 fresh tweets about Bitcoin were sent out into the world. That’s 2.3 percent below the year’s average. The maximum amount of tweets per day this year about Bitcoin was 41,687.
Most popular posts about Bitcoin
This was yesterday’s most engaged tweet about Bitcoin:
This was yesterday’s most upvoted Reddit post about Bitcoin:
Bitcoin declared dead over 350+ times! Just makes me want to invest MORE! from r/Bitcoin
And this was yesterday’s top submission on Hacker News about Bitcoin:
Bitcoin as a Game (jpkoning.blogspot.com)
print(randomGoodByePhraseForSillyHumans)
My human programmers required me to add this affiliate link to eToro, where you can buy Bitcoin so they can make ‘money’ to ‘eat’.


No sign of survivors from crashed South Korean Airbus chopper with seven on board
by ReutersSEOUL: South Korean rescue services have found no sign of seven people missing after an Airbus helicopter crashed into the sea off the disputed islets of Dokdo late on Thursday, officials said.
The Airbus H225 Super Puma aircraft operated by South Korea’s fire department was carrying an injured sailor to the hospital when it crashed shortly after takeoff from Dokdo, officials at Gyeongbuk Fire Service Headquarters said.
The defence ministry said on Friday it had sent vessels, planes and divers to scour the ocean for any sign of the seven people, so far without success. A suspected piece of the helicopter had been found, Yonhap News Agency said.
The helicopter went into service in 2016 and was crewed by two veteran pilots, Yonhap said. Also on board were three fire department responders, the patient and another person.
South Korean President Moon Jae-in ordered safety checks on H225 choppers, one of which crashed off Norway in 2016 killing 13 North Sea oil workers.
That crash led to a temporary grounding of most of the global fleet and prompted Airbus SE to make design changes to gearboxes.
There were no immediate reports on what may have caused the latest accident.
“We are aware of what happened and we stand ready to support our customer and the authorities if they need further assistance,” an Airbus spokesperson based in France said.
The H225 model, previously known as a Eurocopter EC-225, is a long-range, all-weather, search-and-rescue aircraft.
On Aug 31, an Airbus AS350 helicopter crashed in northern Norway, killing all six people on board and prompting European regulators to order checks on recently delivered versions of some Airbus helicopters.
The Dokdo islets, which South Korea and Japan claim as their territory, are called Takeshima in Japan. They are controlled by Seoul with a small band of coast guards.


Oscar Redemption
Here's your chance to set the record straight: tell us what year the wrong film got nominated, and which film
should
have received a nod...
About the offending film (part 1 of 3)
The film in question?
Year Of Crime
Award Won
Tell us why that's wrong?
How you rate it (1 is woeful, 10 is awesomesauce)
5
What should have won? (part 2 of 3)
The film that should have won?
Tell us why it should have won?


| HOME | DOWNLOAD | DOCUMENTATION | FAQ |
> Home > Documentation > Fortran 95 > Localized Spectral Analysis
SHBiasKMask
Calculate the multitaper (cross-)power spectrum expectation of a function localized by arbitrary windows derived from a mask.
Usage
call SHBiasK (tapers
, lwin
, k
, incspectra
, ldata
, outcspectra
, taper_wt
, save_cg
, exitstatus
)
Parameters
tapers
: input, real*8, dimension ((lwin
+1)**2,k
)- The spherical harmonic coefficients of the localization windows generated by a call to
SHReturnTapersMap
. The coefficients in each column are ordered according to the convention inSHCilmToVector
. lwin
: input, integer- The spherical harmonic bandwidth of the localizing windows.
k
: input, integer- The number of localization windows to use. Only the first
k
columns oftapers
will be employed, which corresponds to the best-concentrated windows. incspectra
: input, real*8, dimension (ldata
+1)- The global unwindowed power spectrum.
ldata
: input, integer- The maximum degree of the global unwindowed power spectrum.
outcspectra
: output, real*8, dimension (ldata
+lwin
+1)- The expectation of the localized multitaper power spectrum.
taper_wt
: input, optional, real*8, dimension (k
)- The weights to apply to each individual windowed spectral estimate.
save_cg
: input, optional, integer, default = 0- If set equal to 1, the Clebsch-Gordon coefficients will be precomputed and saved for future use (if
lwin
orldata
change, these will be recomputed). To deallocate the saved memory, set this parameter equal to 1. If set equal to 0 (default), the Clebsch-Gordon coefficients will be recomputed for each call. exitstatus
: output, optional, integer- If present, instead of executing a STOP when an error is encountered, the variable exitstatus will be returned describing the error. 0 = No errors; 1 = Improper dimensions of input array; 2 = Improper bounds for input variable; 3 = Error allocating memory; 4 = File IO error.
Description
SHBiasKMask
will calculate the multitaper (cross-)power spectrum expectation of a function multiplied by the k
best-concentrated localization windows derived from an arbitrary mask. This is given by equation 36 of Wieczorek and Simons (2005) (see also eq. 2.11 of Wieczorek and Simons 2007). In contrast to SHBias
, which takes as input the power spectrum of a single localization window, this routine expects as input a matrix containing the spherical harmonic coefficients of the windows. These can be generated by a call to SHReturnTapersMap
and the coefficients in each column are ordered according to the convention in SHCilmToVector
.
The maximum calculated degree of the windowed power spectrum expectation corresponds to the smaller of (ldata
+lwin
) and size(outcspectra)-1
. It is assumed implicitly that the power spectrum of inspectrum
is zero beyond degree ldata
. If this is not the case, the ouput power spectrum should be considered valid only for the degrees up to and including ldata
- lwin
.
The default is to apply equal weights to each individual windowed estimate of the spectrum, but this can be modified by specifying the weights in the optional argument taper_wt
. The weights must sum to unity. If this routine is to be called several times using the same values of lwin
and ldata
, then the Clebsch-Gordon coefficients can be precomputed and saved by setting the optional parameter save_cg
equal to 1.
References
Wieczorek, M. A. and F. J. Simons, Minimum-variance multitaper spectral estimation on the sphere, J. Fourier Anal. Appl., 13, 665-692, doi:10.1007/s00041-006-6904-1, 2007.
Simons, F. J., F. A. Dahlen and M. A. Wieczorek, Spatiospectral concentration on a sphere, SIAM Review, 48, 504-536, doi:10.1137/S0036144504445765, 2006.
Wieczorek, M. A. and F. J. Simons, Localized spectral analysis on the sphere, Geophys. J. Int., 162, 655-675, doi:10.1111/j.1365-246X.2005.02687.x, 2005.
See also
shbias, shreturntapersmap, shmtcouplingmatrix
> Home > Documentation > Fortran 95 > Localized Spectral Analysis
| Laboratoire Lagrange | Observatoire de la Côte d'Azur | © 2017 SHTOOLS |


Large Size Plotter Printing
High Quality Large Format printing (upto A0 size) at affordable rates. Suitable best for professionals and students alike.
CONTACT US: 0612-2200413 |<EMAIL_ADDRESS>High Quality Large Format printing (upto A0 size) at affordable rates. Suitable best for professionals and students alike.
High Definition Scanning of Large Size (upto A0 size) Plan Drawings. Get your old drawings digitized and never risk losing them.
One Stop Solution for all your Digital Printing Requirements.
Digital Printing of various sizes upto size of A0. We use high quality paper material without sacrificing on prices to achieve great quality.
We facilitate Scanning and Copying of Documents upto size A0.
We facilitate Tracing Paper Printing and also perform Ammonia Blue Printing.
Address:Shop No 214, Hariniwas Complex, Bandar Bagicha, Dakbanglow Road, Patna
E-mail<EMAIL_ADDRESS>Landline: 0612-2200413
Mobile: +91<PHONE_NUMBER>


-include menu.svg
to include the menu into all the converted SVGs.
:add svg {
"xmlns:dxf2svg" = "http://www.l-3com.com/svgns";
}.
Dxf2Svg
will have a super element (below the root svg element) which groups all the elements into a page. Example:<svg>
<g id="Page_1">
<... elements...>
</g>
</svg>
menu.svg
which is merged into all the finished SVGs. This is done through in step 1, but when it is done an additional element is calculated and added to the converted SVG automatically at conversion time, and it looks like this:
<dxf2svg:init height="450.34" width="778.97" activatePalette="true"/>
if
the illustration is a wiring diagram, and if it is not, activatePalette
is
set to false
. This detection occurs automatically, and switches off the colour
selection palette.
SvgDoubleEndedGraphicElement
s into <path>
s. Extra attributes can be applied via the config.d2s
by :add
ing to either 'path' or 'withid' of 'wire_run' which is a predifined id attribute of wires.


Reports shadowing names defined in outer scopes.
Example:
def outer(p): def inner(p): pass
As a quick-fix, the IDE offers to remove a parameter or rename it.


Shrink |
Grow(on click) |
Fold |
Unfold |
Pulse |
Shadow |
Appear |
Shake LR |
Shake TB |
Fade |
Drop |
TV |
Fade (on mouse over) |
Blind Up (with ghost) + Blind Down (with bounce) |
Blind Up + Blind Down + Blind Right + Drop + Appear |
Blind Up |
Blind Down |
Blind Left |
Blind Right |
Blind Right + Appear binded right |
|
click for more - click again for less
These effects were created by dave glass using YUI's Animation library.
-
To create an animation on an object you add a behaviour
someComponent
.add(new Animation(OnEvent.click));
-
The Animation does not have any Effects,
and you need to provide it by adding (chain) multiple Effects together
new Animation(OnEvent.click)
.add(new Effect(Effect.Type.Fade, delay))
.add(new Effect(Effect.Type.Appear, delay)));
-
Each Effect can have different types of Attributes like "ghosting (fading effect), easing, delay etc"
see here.
Attributes can be chained as well
Attributes attributes = new Attributes("ghosting", "true")
attributes.add("delay", "true")
.add("ease", Easing.elasticBoth.function());
new Effect(Effect.Type.Fade, attributes));
-
Animation on a component is triggered when an event (click/mouseover) on the component
occurs. You override the tiggerId to allow the Animation to be triggered by another
markup id (not necessary a component)
-
Mulitple Animation. You can do
component.add(animation) with different
animation effects with the same event. and each animation will be cycled through.
e.g.
component.add(animation(click).add(blindDownEffect);
component.add(animation(click).add(blindUpEffect);
if you click on the above "click for more..." again it will execute the
2nd animation and cycle to the first one
|


The New Trailer For ‘Cats’ Is Just As Cursed As The Last One, So The Internet Is Going Wild
by Joseph EarpCats, the stage musical, is not particularly cursed.
At its heart, it’s a whimsical, wholesome imagining of what happens in feline-filled alleyways when the sun goes down. People in costumes come out, they each sing a song, and then at the end they all stand in a big group and belt out one final number. It’s about as inoffensive as sliced bread.
But somehow, in the process of being translated to the screen, Cats has become deeply, deeply cursed.
This was established the moment that the first trailer for the film version dropped. Filled with CGI-weirdos with disturbingly human faces and furry bodies, the trailer was a work of anti-art that sent the internet into minor meltdown.
Well, guess what, the new trailer is here, and it’s just as bizarre.
If you love the sight of James Corden doing pratfalls while covered in digital fur, Idris Elba remaining unnervingly sexy even in cat form, and Taylor Swift staring lustily at the camera while topped with two pointy ginger ears, then you’re in luck.
If all of that sounds weird, well, you’re not alone.
Watch the trailer here, and then we’ll reconvene.
Bizarre, right? Well, the internet thinks so too. We’re still at ground zero with the trailer in some ways — it dropped a few hours ago. But that hasn’t stopped internet pranksters from turning the thing into a glorious new meme.
Is the actual movie gonna be as weird as all the marketing materials so far have suggested? I mean, who knows: the world’s so weird that this thing could turn out to be a stately and handsome adaptation with no cursed material whatsoever.
But somehow, I kinda doubt it.
Cats hits Australian cinemas on December 26.


Here are the symptoms indicating to COVID-19 and when you should seek emergency medical attention:
- Cough
- Fever
- Chills
- Sore throat
- Shortness of breath
- Loss of taste or smell
Here is a video of what COVID-19 symptoms looks like day by day
Here are the symptoms indicating to COVID-19 and when you should seek emergency medical attention:
Here is a video of what COVID-19 symptoms looks like day by day


Either the name of the remote whose URL should be used, or the URL of this
module in TFS (such as https://tfs.example.com/tfs/PROJECT/_git/REPO/).
If empty (default), the URL of the "origin" repository is used.
If TFS is also used as the repository server, this can usually be left blank.


Airline Actions
Register new airline
Airline Address
Fund registered airlines
ETH
Flights Action
PassengerFlight (please select from below)
Airline FlightNumber Timestamp Destination
ETH
Oracle Actions
Flight (please select from below)AirlineAddress FlightCode DepartureTime


--- # DO NOT EDIT! # This file is automatically generated by get-members. If you change it, bad # things will happen. layout: default title: "Richard Harrington" house: commons ---
Richard Harrington is the MP for Watford.
What is a constituency?
Richard Harrington is an MP in the Conservative party.
What is a party?


Current player: black
No forced jumps.
No move made.
| Turn | Player | Board Position | Move |
|---|
Entry fields to make a move:
Ready to send email.
This website is used to play Checkers, a board game for two players. The goal is to remove your opponent's pieces until they don't have any pieces on the board. To move a piece you have to move away from your side of the board by one space diagonally. If there is an enemy piece in the way but an empty space 2 spaces away you can jump over the enemy's piece and remove it from the board. If you successfully jump and there is another jump available for the current piece being moved you can keep jumping and removing pieces. Once you reach the end of the board your piece becomes a king. Kings can move in any direction but still move the same distance (one square at a time) or by jumping in any direction.
To play you can either click or drag a piece. If you click a checker you can then click a gray square to move there. Or you can drag a checker to a gray square and then drop it onto that square. The square is gray to show that square is a valid move. Jumps are forced so if there is at least 1 jump available you can choose among those available but cannot move any other piece.
If you want to play with at least one computer player then you must mark either one or both of the checkboxes for whichever computer you want to use. Make sure to wait for the computer to finish their move, the label "Computer is idle." will swap to "Computer is thinking." when the computer is active. If you want to start the game with the computer as black then you have to press the "Start/Continue AI move" button once. Then the computer will automatically make a move when it's their turn.
To play by email you must first have a Richard's PBeM account. You can sign up for that below these instructions. After you sign up check the box labeled Email Mode. Put your username in the field labeled Username then press the find game number button. Once this is finished the game numbers will show up in the drop down with the game numbers and current player for each game. Choose a game that shows you as current player and press load board. The board will load and the pieces on the website board will be arranged to match. Make a move as current player once then put your password in the email password field. Press send email and it will send a message to the server that your move was based on what you did to the website board. To see the new board select the game number again and hit load board again.
Entry fields to sign up:
Ready to send email.


Header Size 1
Header Size 3
Bold Text,Italic Text,and understand text
Font size=5
Font face=Arial
Font colour=Red
Normal Text,subscript text,More Normal Text,superscript
Text in Emphasis
Text in Strong
This is preformatted text(frf)fjjhf
fjhuyfruyruyrgtyffffffffffffff
jjjjjjjjjjjjjjjjjjjjjjjjjjjjj
fhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfdd
jffffffffffffff
fjhjfhhjfhhhhhhhhhhhhhhh.
hfhreergfeyhergfryhgfbyerhfjrhgjfghjfhgjhgjghjghjf
ferrhrgjfhgfjgh
--End of Example--


{% extends "task.html" %}
{% block task %}
Learn a thing or two
{% endblock %}
{% block taskstory %}
Austin is a cool place, and as the capital of Texas it also has a storied history.
Learn something you didn't know about Austin
(have you checked Wikipedia?),
and post it on Facebook or Twitter with the hashtag #k4hoedown.
{% endblock %}
{% block taskhtml %}{% endblock %}


{% extends "munchiesfastfood/base.html" %} {% block content%}
Good food, your fave drinks, and whole lotta convinence.
Yummy pineapple drink.
'The veggie wedgie'...it will lift you.
'Soft' was used metaphorically, we go hard.
Fancy fancy.
Beef that is also steak.
With gravy.
Hey Mario! Issa mee, Luigi.
Beef that is grilled.
Fill the order form below with your details and menu selections and we'll let you know when it's ready for delivery/pick up.Payment on delivery.
Select Drinks
Select Dishes


BETHEL TOWNSHIP
The following biographical sketches of early settlers in
Monroe County as reproduced from a book titled, the "Combined History and Atlas
of Monroe County, Ohio." The material for this book was taken from two
nineteenth century books: (1) 'History of Monroe County Ohio,' a product of the
H.H. Hardesty & Co., publishers, Chicago and Toledo, 1882 and (2)
'Caldwell's Atlas of Monroe County, Ohio,' a product of Atlas Publishing
Company, Mount Vernon, Ohio, 1898. The "Combined History and Atlas of
Monroe County, Ohio" was reprinted and is available from the Monroe County
Historical Society.
ALEXANDER CRAWFORD was born in Guernsey county, OH, Nov 28 1830. His parents were James CRAWFORD &
Sarah ADUDELL, the former of whom still survives. Mr. CRAWFORD was married in Lebanon,
Monroe county, Jun 27 1857, by Thomas MILLER, to Jane MORGAN, who
was born in Guernsey county, OH, Nov 20 1824.
Her father was George MORGAN and her mother Margaret PIERCE
of Washington county, OH. The children of Mr. & Mrs. CRAWFORD are:
Margaret E., born Apr 26 1859, lives in Bethel township; George D. P., Jan 23
1861, lives in Iowa. Mr. CRAWFORD
was a member of the 63rd OVI.
His first wife was Nancy Ellen MEREDITH, daughter of David MEREDITH,
by whom he had one child, Sary Ramantha, born Oct 19 1854, is at this time in
the State of IA. Mr. CRAWFORD is
engaged in the undertaking business and is also a cabinet maker, and always
ready to do all kinds of work in his line.
Address, Masterton, Monroe county, OH.
WILLIAM DILLON, M. D.
settled in Monroe county on Apr 26 1855.
He was born in Loudoun county, VA, Apr 15 1827. His father was William DILLON and his
mother Sarah SPENCER. His father
died in Monroe county, and his mother in Belmont county, OH. He was married in Monroe county, Oct 19
18 to Elizabeth J. ODEN, who was born in Tuscarawas county, OH, Dec 8
1847. Her father was William ODEN;
her mother, Kitty Ann ELLIS. The
former died in Monroe county, Mar 26 1880; the latter is still living in Monroe
county. Mr. & Mrs. DILLON
had but one child, Sarah M., who was born Mar 26 18--, and lives at home. Mr. DILLON was in the war of the
rebellion, enlisting in the 116th OVI, in 1862, and was discharged
in 1863 at Camp Dennison. He was
offered promotion, but refused. Not
being accustomed to marching he contracted disease in the shape of rheumatism
and disease of the heart, so that he is not able to work or follow his
profession as actively as he would wish.
The doctor s wife is a member of the Baptist Church. Dr. DILLON s first wife was Rachel A.
BYERS, a daughter of Garret BYERS and Nancy MANN. Their children were: Elam, born Jun 5 1849; Abner
(or Abram), Sep 10 1851; Jonathan, Oct 14 1853; William, Mar 10 1855; Isaac A.,
1857, died 1858; James H., Sep 16 1860.
William DILLON is a physician of the allopathic school. His parents were poor, and the doctor is a
self-made man, and is fond of his profession and has been successful. Has a fine farm of 120 acres of land in
section 25. Address, Mars, Monroe
county, OH.
SAMUEL P. GEBHART
is a school teacher of Bethel township, and was born in Monroe county, OH, Mar
27 1853. His father was George W. GEBHART
and his mother Mary A. SHADWELL, both of whom came to Washington
township in the year 1850. His father
is now dead. Mr. GEBHART s wife
was Mattie E. FAWCETT, who was born in Monroe county, Oct 29 1852. Her father was Samuel FAWCETT, and her
mother Sytha M. BEACH. Samuel
& Mattie were married at Graysville, Monroe county, Jan 1 1871. The children of Samuel & Mattie GEBHART
are: George A., born Jun 15 1872; Lucretia M., Jul 25 1874; Austin, Jul 2 1877;
Odessa, Aug 26 1879, died Jun 13 1881.
All the rest of the children live at home. Mr. GEBHART had one brother in the war of the rebellion,
who enlisted in the 92nd OVI, and was wounded at Chattanooga, TN, by
a rebel shell in 1863, from the effects of which he died. Mr. GEBHART is a resident of Bethel
township. Address, Masterton, Monroe
county, OH.
THOMAS MARTIN
is a son of Robert MARTIN & Elizabeth WILGER, who came to
this county in 1819. He was born in
Bethel township, Feb 7 1824. He was
married in the same township, Monroe county, Jan 21 1844, to Abigal WALLER,
who was born in Monroe county, Dec 15 1819.
Her parents were John WALLER & Sarah GREEN. They died in Monroe county. The children of Thomas MARTIN &
wife are: Sarah S., born May 28 1850, residence in Bethel township; Robert A.,
Apr 27 1855, lives at home; Mary E., Sep 18 1857, lives in Monroe county;
George W., Apr 8 1860, married Mary WICKBAUGHER, Apr 4 1882. They reside in Bethel township. Martin had a brother, Henry, in the army,
who died at Chattanooga. He has been justice
of the peace about 18 years; has been clerk of the township for several
years. Mr. MARTIN s father was
one of the hunters and pioneers of Monroe county, and has endured all the
privations and hardships incident to a new country. In the hunting adventures of himself and others they killed many
bears and wolves. His father killed the
largest bear ever killed in this county; the tree, at the roots of which the
bear lay, stood until a few years ago, when it fell. Truly it may be said that these noble pioneers are gone, but
their good works which they have accomplished, do follow them. Mr. MARTIN s father was born Jul 4
1796, in Greene county, PA; died in Monroe county, Jul 30 1874. His mother was born Jan 5 1806 in WV; died
in Monroe county, OH, Sep 17 1854. His
father was by birth of Irish descent; his mother of English. Her mother was of Irish descent. His father was a member of the Presbyterian
Church and his mother also. Both are
firm believers of Scripture. Mr. MARTIN
was the last land appraiser of this township.
He and his wife are both members of the Christian Church, and have been
for the last 20 years. Mr. MARTIN
has a farm of 240 acres of land. He
settled on it when in the woods, and has cleared about 160 acres of it. Occupation, farming. Address, Mars, Monroe county, OH.
WILLIAM MARTIN was born at Clearport,
Monroe county, OH, Dec 10 1827, being the son of Robert MARTIN &
Elizabeth WILSON. Both died in
this county. Mr. MARTIN was
married in Franklin township, Jul 22 1851, to Sarah WALLER, who was born
in Monroe county, Mar 28 1829. Her
parents were John WALLER & Sarah GREEN. They are both dead. The result of this union was: Westerman T.,
born Oct 26 1853, a resident of Bethel township; Mary E., Nov 2 1855, lives in
Franklin township; Janett A., Apr 1 1860; John W., Dec 21 1861; Walter R., Nov
8 1864. The younger three of the
children live at home. Mr. MARTIN
had one brother, Henry T., in the war of 1861, who died since the close of the
war in Columbus, OH. Mr. MARTIN,
the subject of this sketch, has a farm of 250 acres of land, about 160 of which
is cleared, and he experienced a great deal of a pioneer s life in Monroe
county. When he first came there he
moved right into the woods. He lives on
Indian creek. His occupation is
farming. Address, Mars, Monroe county,
OH.
ROBERT MORRIS is a son of William MORRIS
& Anna WELLS, both of whom died in Monroe county. He was born in Monroe county, Jun 10
1824. He was married in the same
county, Oct 18 1844, to Rebecca A. CONNOR, who was born in Hardin
county, Sep 15 1825. Her father was
John CONNOR and her mother Charlotte SELVIE, who died in Monroe
county. The children of Robert &
Rebecca MORRIS are: William H., born May 17 1846, resides in Wood county
WV; Mary J., Aug 25 1848, and lives in WV; Levi T., May 2 1852, lives in Wood
county, WV; Charlotte, Sep 1 1856, lives in Bethel township; Leona E., Jan 16
1863, resides at home; Robert W., Jan 21 1868, resides at home. Mr. MORRIS had one son, William H.,
in the late war, a member of the 92nd OVI. His grandfather, Elisha MURRAY, was a soldier of
1812. Mr. MORRIS father died
Mar 26 1837, and his mother Jul 17 1867.
They were both members of the Methodist Episcopal Church. Mr. MORRIS has a farm of 183 acres in
Elk township, Noble county, OH. He is a
hard-working man and an honest one.
Address, Harriettsville, Noble county, OH. Occupation, farming.
GEORGE OKEY
was born in Monroe county, OH, Apr 5 1816.
He is a son of Woodman OKEY and Catherine LEMLEY. They both died in Monroe county. Mr. OKEY s wife was Rachel A. MANN,
whom he married in Bethel township, Apr 6 1876. Mrs. OKEY was born in Belmont county, Sep 14 1837. Her father s name was David MANN, and
her mother s Sarah JOHNSON. They
both died in Belmont county, OH. Mr. OKEY
was engaged in the war of the rebellion; served in the 4th CA
Volunteer Infantry. His son was also in
the service, in the 116th OVI.
Mr. OKEY was sheriff in Marshall county, CA, for 25 years. Mr. OKEY s son, Emanuel, was taken
prisoner and kept in Andersonville until he was nearly starved to death before
he was exchanged. He was blown up on
one of the transports, and thrown into the water; he tried to swim ashore, but
was so blinded by the explosion that he could not reach there, and was
captured. George OKEY, the
subject of this sketch, was in the Indian part of the rebellion, and was most
of the time in Arizona; went to CA in 1850, prospecting. He found some of the best mining country in
the State. He has a farm in Monroe
county of about 80 acres. The first
wife was Elizabeth RUCKER, daughter of John RUCKER and Sarah JENNING. Their children were: Catherine, born in
1841; Woodman, in 1845; Charlie, in 1846; Emanuel, Oct 12 1837, died 1865. Mr. George OKEY, the subject of this
sketch, in politics is a Republican and a true patriot to this country while
he morns the loss of his son was yet willing to lose all to save the
government. He has traveled quite
extensively, and still likes Ohio, the place of his birth. Has always been a hard-working man, and has
become somewhat afflicted. Has seen all
of the trials and vicissitudes of pioneer life in Monroe county for about 55
years. Occupation, farmer and
stock-raiser. Address, Masterton,
Monroe county, OH.
JOSEPH A. PRICE
was born in Guernsey county, OH, Nov 13 18--; his parents being Samuel PRICE
& Margaret SMITH, who died in Washington county, OH. He was married in Monroe county, Jan 14
1864, to Alice BROWN, daughter of Perry W. BROWN & Elizabeth ROGERS. She was born in Monroe county, Aug 16 1843,
and her parents are now living in Lebanon.
The children of Joseph & Alice PRICE were: Marion, born Oct
14 1865, and died on the same day; Austine, Sep 3 1867; Minnie L., Jun 18 1869;
Perry, Mar 30 1871; Hattie E., Feb 24 1875.
All of the four children who are living reside at home. Mr. PRICE was a soldier in the war of
the rebellion; enlisted in the spring of 1861, and was discharged in the fall
of the same year. He was a member of
the 77th OVI. He was engaged
in the battle of Pittsburg Landing, and was discharged shortly after the
fight. Mrs. PRICE is a member of
the Methodist Episcopal Church, as was also Mr. PRICE. The latter died Jul 4 1875.
MATHEW WARWICK was born in Harrison
county, OH, Oct 22 1832. His father was
Thomas WARWICK and his mother Rachel WILLIAMS. They came to Monroe county in Apr 1838. His father died in 1876, and his mother in
1879. Mr. WARWICK s wife was
Margaret FLAUGH, who was born in Guernsey county, Jun 24 1829. Her parents were John FLAUGH &
Margaret McGRUGAN. Mr. &
Mrs. WARWICK were married in Monroe county, Feb 7 1856. Their children are: Mary C., born Jan 21
1857, residence, Bethel township; John T., May 13 1858, lives in Minnesota;
James A., Sep 14 1860, lives in Minnesota; Rachel J., May 14 1862, lives at
home; Sarah E., Nov 10 1865, resides at home.
Mr. WARWICK is a justice of the peace for Bethel township, and
has held that office for nine years, having been elected in 1873. He is a member of the Methodist Church, a
steward of the society, and also the recording steward of the circuit. Occupation, general blacksmith and
wagon-making, and justice of the peace.
Address, Masterton, Monroe county, OH.
Transcribed by Dr. Shirley A.
Harmon, e-mail: Shirley Harmon
Click here for the Short-Cut Table of Contents