| TEP: | 123 |
|---|---|
| Group: | Network Working Group |
| Type: | Documentary |
| Status: | Final |
| TinyOS-Version: | > 2.1 |
| Author: | Rodrigo Fonseca, Omprakash Gnawali, Kyle Jamieson, Sukun Kim, Philip Levis, and Alec Woo |
| Draft-Created: | 3-Aug-2006 |
| Draft-Version: | 1.15 |
| Draft-Modified: | 2009-01-16 |
| Draft-Discuss: | TinyOS Developer List <tinyos-devel at mail.millennium.berkeley.edu> |
Note
This memo documents a part of TinyOS for the TinyOS Community, and requests discussion and suggestions for improvements. Distribution of this memo is unlimited. This memo is in full compliance with TEP 1.
This memo documents the Collection Tree Protocol (CTP), which provides best-effort anycast datagram communication to one of the collection roots in a network.
 Collection is a fundamental component of most sensor network applications. The Collection Tree Protocol (CTP) is a reference Collection protocol in TinyOS 2.x. The users use Collection interfaces described in TEP 119 [3] to use CTP in their applications.
In this TEP, after a brief discussion of Collection and CTP, we specify the CTP routing and data frames. CTP uses routing frames to update and build collection tree in the network. CTP uses data frames to deliver application payload to the sink and to probe topology inconsistencies.
All fields in this specification are in network byte order.
CTP is a tree-based collection protocol. Some number of nodes in a network advertise themselves as tree roots. Nodes form a set of routing trees to these roots. CTP is address-free in that a node does not send a packet to a particular root; instead, it implicitly chooses a root by choosing a next hop. Nodes generate routes to roots using a routing gradient.
The CTP protocol assumes that the data link layer provides four things:
- Provides an efficient local broadcast address.
- Provides synchronous acknowledgments for unicast packets.
- Provides a protocol dispatch field to support multiple higher-level protocols.
- Has single-hop 16-bit source and destination fields.
CTP assumes that it has link quality estimates of some number of nearby neighbors. These provide an estimate of the number of transmissions it takes for the node to send a unicast packet whose acknowledgment is successfully received.
CTP has several mechanisms in order to achieve high delivery reliability, but it does not promise 100% reliable delivery. It is a best effort protocol.
CTP is designed for relatively low traffic rates such that there is enough space in the channel to transmit and receive routing frames even when the network is forwarding collection data frames. Bandwidth-limited systems or high data rate applications might benefit from a different protocol, which can, for example, pack multiple small frames into a single data-link packet or employ rate control mechanisms.
CTP uses expected transmissions (ETX) as its routing gradient. A root has an ETX of 0. The ETX of a node is the ETX of its parent plus the ETX of its link to its parent. This additive measure assumes that nodes use link-level retransmissions. Given a choice of valid routes, CTP SHOULD choose the one with the lowest ETX value. CTP represents ETX values as 16-bit decimal fixed-point real numbers with a precision of tenths. An ETX value of 45, for example, represents an ETX of 4.5, while an ETX value of 10 represents an ETX of 1.
Routing loops are a problem that can emerge in a CTP network. Routing loops generally occur when a node choose a new route that has a significantly higher ETX than its old one, perhaps in response to losing connectivity with a candidate parent. If the new route includes a node which was a descendant, then a loop occurs.
CTP addresses loops through two mechanisms. First, every CTP packet contains a node's current gradient value. If CTP receives a data frame with a gradient value lower than its own, then this indicates that there is an inconsistency in the tree. CTP tries to resolve the inconsistency by broadcasting a beacon frame, with the hope that the node which sent the data frame will hear it and adjust its routes accordingly. If a collection of nodes is separated from the rest of the network, then they will form a loop whose ETX increases forever. CTP's second mechanism is to not consider routes with an ETX higher than a reasonable constant. The value of this constant is implementation dependent.
Packet duplication is an additional problem that can occur in CTP. Packet duplication occurs when a node receives a data frame successfully and transmits an ACK, but the ACK is not received. The sender retransmits the packet, and the receiver receives it a second time. This can have disasterous effects over multiple hops, as the duplication is exponential. For example, if each hop on average produces one duplicate, then on the first hop there will be two packets, on the second there will be four, on the third there will be eight, etc. CTP keeps a small cache of packet signature for the packets it has seen to detect packet duplicates. When a new packet arrives, if its signature results in cache hit, CTP drops the packet because it is a duplicate.
Routing loops complicate duplicate suppression, as a routing loop may cause a node to legitimately receive a packet more than once. Therefore, if a node suppresses duplicates based solely on originating address and sequence number, packets in routing loops may be dropped. CTP data frames therefore have an additional time has lived (THL) field, which the routing layer increments on each hop. A link-level retransmission has the same THL value, while a looped version of the packet is unlikely to do so.
The CTP data frame format is as follows:
1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P|C| reserved | THL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ETX | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | origin | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | seqno | collect_id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | data ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Field definitions are as follows:
- P: Routing pull. The P bit allows nodes to request routing information from other nodes. If the unicast destination of the data frame with a valid route hears a packet with the P bit set, it SHOULD transmit a routing frame in the near future. Nodes other than the link-layer destination of the data frame MAY respond to the P bit in the data frame.
- C: Congestion notification. If a node drops a CTP data frame, it MUST set the C field on the next data frame it transmits.
- THL: Time Has Lived. When a node generates a CTP data frame, it MUST set THL to 0. When a node receives a CTP data frame, it MUST increment the THL. If a node receives a THL of 255, it increments it to 0.
- ETX: The ETX routing metric of the single-hop sender. When a node transmits a CTP data frame, it MUST put the ETX value of its route through the single-hop destination in the ETX field. If a node receives a packet with a lower gradient than its own, then it MUST schedule a routing frame in the near future.
- origin: The originating address of the packet. A node forwarding a data frame MUST NOT modify the origin field.
- seqno: Origin sequence number. The originating node sets this field, and a node forwarding a data frame MUST NOT modify it.
- collect_id: Higher-level protocol identifier. The origin sets this field, and a node forwarding a data frame MUST NOT modify it.
- data: the data payload, of zero or more bytes. A node forwarding a data frame MUST NOT modify the data payload. The length of the data field is computed by subtracting the size of the CTP header from the size of the link layer payload provided by the link layer.
Together, the origin, seqno and collect_id fields denote a unique *origin packet.* Together, the origin, seqno, collect_id, and THL denote a unique *packet instance* within the network. The distinction is important for duplicate suppression in the presence of routing loops. If a node suppresses origin packets, then if asked to forward the same packet twice due to a routing loop, it will drop the packet. However, if it suppresses packet instances, then it will route successfully in the presence of transient loops unless the THL happens to wrap around to a forwarded packet instance.
A node MUST send CTP data frames as unicast messages with link-layer acknowledgments enabled.
The CTP routing frame format is as follows:
1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P|C| reserved | parent | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | parent | ETX | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ETX | +-+-+-+-+-+-+-+-+
The fields are as follows:
- P: Same as data frame with one difference: Routing frames are broadcast so multiple nodes respond to the P bit in the routing frame.
- C: Congestion notification. If a node drops a CTP data frame, it MUST set the C field on the next routing frame it transmits.
- parent: The node's current parent.
- metric: The node's current routing metric value.
When a node hears a routing frame, it MUST update its routing table to reflect the address' new metric. If a node's ETX value changes significantly, then CTP SHOULD transmit a broadcast frame soon thereafter to notify other nodes, which might change their routes. The parent field acts as a surrogate for the single-hop destination field of a data packet: a parent can detect when a child's ETX is significantly below its own. When a parent hears a child advertise an ETX below its own, it MUST schedule a routing frame for transmission in the near future.
A node MUST send CTP routing frames as broadcast messages.
An implementation of CTP can be found in the tos/lib/net/ctp directory of TinyOS 2.0. This section describes the structure of that implementation and is not in any way part of the specification of CTP.
This implementation has three major subcomponents:
1) A link estimator, which is responsible for estimating the single-hop ETX of communication with single-hop neighbors.
2) A routing engine, which uses link estimates as well as network-level information to decide which neighbor is the next routing hop.
3) A forwarding engine, which maintains a queue of packets to send. It decides when and if to send them. The name is a little misleading: the forwarding engine is responsible for forwarded traffic as well as traffic generated on the node.
The implementation uses two mechanisms to estimate the quality of a link: periodic LEEP [1] packets and data packets. The implementation sends routing beacons as LEEP packets. These packets seed the neighbor table with bidirectional ETX values. The implementation adapts its beaconing rate based on network dynamics using an algorithm similar to the trickle dissemination protocol [2]. Beacons are sent on an exponentially increasing randomized timer. The implementation resets the timer to a small value when one or more of the following conditions are met:
- The routing table is empty (this also sets the P bit)
- The node's routing ETX increases by >= 1 transmission
- The node hears a packet with the P bit set
The implementation augments the LEEP link estimates with data transmissions. This is a direct measure of ETX. Whenever the data path transmits a packet, it tells the link estimator the destination and whether it was successfully acknowledged. The estimator produces an ETX estimate every 5 such transmissions, where 0 successes has an ETX of 6.
The estimator combines the beacon and data estimates by incorporating them into an exponentially weighted moving average. Beacon-based estimates seed the neighbor table. The expectation is that the low beacon rate in a stable network means that for a selected route, data estimates will outweigh beacon estimates. Additionally, as the rate at which CTP collects data estimates is proportional to the transmission rate, then it can quickly detect a broken link and switch to another candidate neighbor.
The component tos/lib/net/4bitle/LinkEstimatorP implements the link estimator. It couples LEEP-based and data-based estimates as described in [4].
The implementation's routing engine is responsible for picking the next hop for a data transmission. It keeps track of the path ETX values of a subset of the nodes maintained by the link estimation table. The minimum cost route has the smallest sum the path ETX from that node and the link ETX of that node. The path ETX is therefore the sum of link ETX values along the entire route. The component tos/lib/net/ctp/CtpRoutingEngineP implements the routing engine.
The component tos/lib/net/ctp/CtpForwardingEngineP implements the forwarding engine. It has five responsibilities:
- Transmitting packets to the next hop, retransmitting when necessary, and passing acknowledgment based information to the link estimator
- Deciding when to transmit packets to the next hop
- Detecting routing inconsistencies and informing the routing engine
- Maintaining a queue of packets to transmit, which are a mix of locally generated and forwarded packets
- Detecting single-hop transmission duplicates caused by lost acknowledgments
The four key functions of the forwading engine are packet reception (SubReceive.receive()), packet forwarding (forward()), packet transmission (sendTask()) and deciding what to do after a packet transmission (SubSend.sendDone()).
The receive function decides whether or not the node should forward a packet. It checks for duplicates using a small cache of recently received packets. If it decides a packet is not a duplicate, it calls the forwading function.
The forwarding function formats the packet for forwarding. It checks the received packet to see if there is possibly a loop in the network. It checks if there is space in the transmission queue. If there is no space, it drops the packet and sets the C bit. If the transmission queue was empty, then it posts the send task.
The send task examines the packet at the head of the transmission queue, formats it for the next hop (requests the route from the routing layer, etc.), and submits it to the AM layer.
When the send completes, sendDone examines the packet to see the result. If the packet was acknowledged, it pulls the packet off the transmission queue. If the packet was locally generated, it signals sendDone() to the client above. If it was forwarded, it returns the packet to the forwarding message pool. If there are packets remaining in the queue (e.g., the packet was not acknowledged), it starts a randomized timer that reposts this task. This timer essentially rate limits CTP so that it does not stream packets as quickly as possible, in order to prevent self-collisions along the path.
| [1] | TEP 124: Link Estimation Extension Protocol |
| [2] | Philip Levis, Neil Patel, David Culler and Scott Shenker. "A Self-Regulating Algorithm for Code Maintenance and Propagation in Wireless Sensor Networks." In Proceedings of the First USENIX Conference on Networked Systems Design and Implementation (NSDI), 2004. |
| [3] | TEP 119: Collection. |
| [4] | Rodrigo Fonseca, Omprakash Gnawali, Kyle Jamieson, and Philip Levis. "Four Bit Wireless Link Estimation." In Proceedings of the Sixth Workshop on Hot Topics in Networks (HotNets VI), November 2007. |


Check out these latest deals from our store!
{{#cart_items}}
{{name}}
{{price}}
{{/cart_items}} {{^cart_items}} There are no featured products available. Please check back again later. {{/cart_items}}


Homepage
Homepage
This is a link to Github!
Art Gallery
Contect us
This is a change to the index.html file. I hope I did it right. Thank you!


Review: Fear and Loathing in Las Vegas (1998)
Hunter S. Thompson claims he finished some of his ground-breaking gonzo work by ripping pages out of his notebook and feeding them directly into a fax machine, or whatever similar device they had back in the 70's. Unfortunately it seems like Terry Gilliam followed this model in writing the screenplay for his movie adaptation; ripping whole pages out of a beat-up paperback edition and labeling them "narration". I've read the book at least a dozen times but as much as I enjoyed hearing Johnny Depp recite paragraph after paragraph of tales about lizards roaming the halls of Las Vegas hotel or of Thompson's early, freaked-out drug experiences, I could have gotten more or less the same thrill by soaking my pillow with ether (those fruitflys can meet their maker tomorrow) and popping the audio book, narrated by Sonny Bono with some amyls shoved up his nose, into the Walkman. If those Kentucky gentleman want to vomit on their shoes, it's fine with me; they can stagger out onto the track and get run down by sixteen pickup truck-size thoroughbreds ridden by what look like eight-year-old kids with arms like tennis pros and I'd be happy to just rip up my losing tickets and try it again next race. It's probably wishful thinking, but I'd to think Alex Cox had better ideas. Shoot, he already filmed the highway patrol scene for Repo Man, with alien corpses instead of the hundred bars of translucent soap from the Tropicana gift shop. Walker had the buzz of Thompson, too, except with a South American country instead of Las Vegas.
You didn't see Irvine Welsh get all snitty when John Hodge took some characters, about five lines and a couple of vague scene ideas from Trainspotting and pretty much ran with it. The point is, Hodge and Danny Boyle stayed faithful to the book without regurgitating it more or less whole. I may be stating the obvious (but hey, this is the internet) but a book is not a movie. If some filmmakers wants to be considered artists they need to convince us, at least occasionally, that they made a better film than some Spielberg-worshipping drone could have. In some cases the creative thing to do is recognize your limitations as a screenwriter and hire somebody else to do the job. Gilliam made some good choices, bringing his twisted Python/Brazil/Munchausen visual skills to bear, getting some right-feeling performances out of Johnny Depp (Thompson) and Benicio Del Toro (his bloated Samoan attorney) and not sanitizing the violence and occasional pointlessness of the tale. But if I remember correctly from an interview, Gilliam said that the book was pretty cinematic so he kept faithful to it. I don't know if Thompson fed him that line over pitcher-sized rum drinks up in Woody Creek or if he made it up himself but either way it sounds like laziness. Or Fear. I'm just sorry it caused him to shy away from wrestling a good screenplay, and ultimately a good movie, out of this book.
It occurred to me when this movie first came out that if Fear and Loathing in Las Vegas was an early summer blockbuster then Gilliam/Depp/Thompson could become a Broccoli/Connery/Bond kind of franchise. As with Ian Fleming's works, the full-length ones (Hell's Angels, Fear And Loathing on the Campaign Trail) would get used up first, followed by the shorter pieces (Great Shark Hunt, Kentucky Derby), and finally new works barely inspired by newspaper columns or notes jotted on crumpled hotel stationery. Eventually, Depp gets too old to be convincing as a speed-crazed young journalist and gets replaced by Dennis Hopper's grandson Victor who looks the part but can't act, lasts for one movie and gets replaced by some relation of River Phoenix who took a few acting lessons. Gilliam continues to attach his name to each movie even after he's dead, his daughter taking over the directing duties. Thompson defies all odds and lives longer than any of them, hanging around the set, muttering about rabid hyenas in his dressing room, asking where Steadman is so he can find someone to listen to him. Alex Cox will eventually release his own version with a British actor who does a good American accent (Tim Roth II, Gary Oldham, Jr., that sort of thing) and the goddamn thing will sink without a trace, an unrecognized classic that will play a few cult theaters and resurface on college campuses occasionally, only to be truly appreciated when distant relation of mine writes his 100th film review for the New Yorker and names it one of the 10 best movies of the 21st century. So far.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


:: com :: sun :: star :: awt ::
|
| enum WindowClass |
- Description
- specifies the class of a window.
|
| Values |
| TOP |
specifies a top level window on the desktop. It is also a container.
|
| MODALTOP |
is a modal top level window on the desktop. It is also a container.
|
| CONTAINER |
is a container that may contain other components.
It is not a top window.
|
| SIMPLE |
is the simplest window. It can be a container.
|
| Values' Details |
TOP
TOP,
- Description
- specifies a top level window on the desktop. It is also a container.
|
|
MODALTOP
MODALTOP,
- Description
- is a modal top level window on the desktop. It is also a container.
|
|
CONTAINER
CONTAINER,
- Description
- is a container that may contain other components.
It is not a top window.
|
|
SIMPLE
SIMPLE,
- Description
- is the simplest window. It can be a container.
|
|
Top of Page
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


Plugin Information |
|---|
View InternetMeme on the plugin site for more information. |
Displays a random "internet meme" with a build related message on each build page.
Inspired by the Chuck Norris plugin.
Download & Installation
You can download it directly from the Plugins Update Center.
Usage
- Go to the job configuration page and check the "Activate Internet Meme" checkbox in the "Post Build Actions" dropdown
- Post build run, a random meme image is displayed on the build page.
Screenshots
|
|


Chat Example
CONNECT
DISCONNECT
USERNAME:
REGISTER
FRIENDS:
MESSAGES:
SEND A MESSAGE:
TO:
Message:
SEND MESSAGE


Editing a Shipping Rate
How to edit one or more shipping rates on the Store module.
- Go to the Store Admin module.
- If the Store Info page isn't displayed, click the Store Info link.
- Maximize the Shipping Provider Settings section.
- Edit one or more field as required.
- Click the Update Shipping Settings link.
Editing Shipping Rates


WITNESS LIST Business & Commerce Committee April 24, 2003 - 9:00A HB 802 ON: Atkins, Richard (Tarrant County 9-1-1 District), Fort Worth, TX HB 804 FOR: Jackson, Richie (Texas Restaurant Association), Austin, TX HB 850 FOR: Anderson, Tommy (Tow Expo Productions), Parker, TX Cernosek, Larry (Texas Towing and Storage Association), Pasadena, TX SB 113 Registering, but not testifying: On: Byckovski, J'ne (Texas Department of Insurance), Austin, TX SB 1176 FOR: Floyd, Jim (Self), Austin, TX AGAINST: Bigger, Tom (Home Town), Pflugerville, TX Conner, Jon (J-Conn Roofing), Austin, TX Gildner, Tex G.W. (Del-Tex Roofing), Manor, TX Gulley, J.D. (Gulley's Roofing), Austin, TX Hardison, Larry (Self), Austin, TX Moran, Patrick (Austin Roof Contractors Association), Austin, TX Pearson, Stacy (Self), Cedar Park, TX Redunski, Joe (Roof Doctor), Cedar Park, TX Simon, Daniel (Accent Roofing), Cedar Creek, TX Thoman, Tom (Self), Austin, TX Uribe, Hector (Hispanic Contractors Association and Texas Independent Roofing Contractors), Austin, TX Registering, but not testifying: For: Bryant, Vera (Self), Pflugerville, TX Easterling, Al (AZ Tec Roofing and Siding), Austin, TX Freeman, Harold (Texas Construction Association), Austin, TX McCauley, Jennifer (Port Enterprises, Commercial Roofer, and RCAT), Manchaca, TX McGlothlin, Mark (Self), Pflugerville, TX Morin, Cindi (Roofing Contractors Association of Texas), Pflugerville, TX Peterson, Harold (Roofing Contractors Association of Texas), Elgin, TX Warndof, Donna (Adams and Zottarelli), Austin, TX Against: Goldstein, Alvin (Self), Singer Island, FL Pearson, Samantha (Self), Cedar Park, TX On: Kuntz, William (Texas Department of Licensing and Regulation), Austin, TX SB 1257 FOR: Chatelaine, John (Explore Information Services), Eagan, MN AGAINST: Miglicco, Gary (Bearing Point - Texas Online), Austin, TX ON: Elder, Frank (Tx DPS), Austin, TX SB 1326 FOR: Anderson, Jody (Texas Manufactured Housing Association), Austin, TX Registering, but not testifying: For: Casto, Larry (City of Dallas), Dallas, TX Igo, Shanna (Texas Municipal League), Austin, TX On: Kuntz, William (Texas Department of Licensing and Regulation), Austin, TX


{% extends "basic_layout.html" %} {% from "macros.html" import render_field %} {% block title %} Review {% endblock %} {% block content %} {{ super() }} {% block styles %} {{ super() }} {% endblock %}
You can only submit a review once! Are you sure you want to submit a review?


I have a fully built emonTX v2.2 that doesn't use an RF but simply outputs its CT readings to the serial port that are logged to emoncms.
My real purpose behind starting off with the emontx was to get the pv diversion working.
Having invested in the emontx v2.2 I want to be able to use this for pv diversion but also don't want to loose the emoncms logging.
My emontx is already fully built for 3 x CTs, 1 x temp and 1 x Pulse.
Firstly do I need to modify the hardware to get the MK2 trigger working out of the Pulse socket?
Secondly what's the best starting point software to use in my case, today I am logging Grid CT and Solar CT and Temperature.
I guess I'd want to keep those logged, but also log the Diverted power via the 3rd CT.
Is this all possible, or am I trying to do too much.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
Have you looked at "Choosing an energy diverter?" You should find most of the answers in there.
It's possible that you will be trying to do too much, the only way will be to start with Robin's Mk2i rev6a and then add the third CT and temperature, and see if the workload check complains each time.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
Two questions :
Do I need to remove the 10K resistor R8 sitting on the pulse reading socket, or can that be left there?
The rev6a seems to have everything I need except for Phasecal, do I need that? Or shall I not worry about the absence of Phasecal on the rev6a.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
The Mk2 code that I posted recently for the emonTx V3.2 should do virtually everything that's needed. To get this to run on the V2, only the IO port allocations would need to be changed.
That code doesn't support pulse counting but it should be possible to either:
- use the polling mechanism that was in many of my early Mk2 sketches;
- transfer the interrupt-based mechanism from the sketch you're using already.
With its revised structure, the main processor is only lightly loaded, probably around 55%. Meanwhile the ADC is running flat out. All of the Mk2's measurement and control activities takes place within the ISR, so there should be no likelihood of overloading the processor by adding extra tasks within the loop().
When measuring real power, phase-shift has very little effect. I posted a video a while back which showed that a good degree of balance was maintained even with phaseCal set to 5.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
I don't actually need the pulse counting, just trying to reuse a full populated emontx board to work as monitor and pv router.
Hence I am trying to reuse the Pulse 3.5mm socket that is already mounted on the board as my Trigger output. But this has the 10K R8 across it, which I presume I need to remove so that I can use it as a 3.3v trigger.
rev6a seems to use outputForTrigger = 9 so I guess I will need to use outputForTrigger = 5 if I want to use the Pulse port as the Trigger output. Question is, I can use the interrupt output as the Digital output?
P.S. : emonTxV3_as_Mk2Router_serial_direct seems like a good starting point for me, because I don't need/want the RF and I need to see the data on the serial port directly. Only issue is the fellow who kindly posted this hadn't tested it. Plus I have to adapt it for V2.2
First things first, I think there is no option but to get my immersion wired properly directly to the MCU, currently some bright electrician had the boiler, pump, valves, softner, timer etc all hanging off the same 2.5mm T&E! That's OK, when I'm meant to be using either immersion or boiler, but not when I'm diverting PV.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
Just had a go at altering the pin declaration from the 3.2 code base to suit the 2.2. Would this be correct?
Tried to keep the variable declarations the same otherwise I will land up having to make a lot of code modifications.
Also wanted to keep this consistent with the Solar monitoring example where Solar CT is in 1, Grid CT is in 2. So am using CT3 for diverted power. There is no CT4 on the emon 2.2 (it's called currentSensor_CT2 in the code!)
/* --------------------------
* allocation of digital pins for use with a emonTx 2.2)
*
*/
const byte triggerControl = 3; // Using the Pulse plug on the V2.2 as the trigger. Remove R8 (10K) and maybe remove the SJ1 too so that you don't supply any power to the Pulse plug.
const byte tempSensorPin = 4; // <-- data input from the DS18B20 sensor
const byte LEDpin = 9; // <-- used as an output for the on-board LED
/* ---------------------------
* allocation of analogue pins for use with a emonTx 2.2)
*/
const byte voltageSensor = 16; // A2 is for the voltage sensor
const byte currentSensor_CT1 = 17; // A3 is CT1 on the emonTx V2 (PV Gen)
const byte currentSensor_CT2 = 18; // set to A4 as not used on the emonTx V2
const byte currentSensor_grid = 14; // A0 is CT2 on the emonTx V2 (Grid)
const byte currentSensor_diverted = 15; // A1 is CT3 on the emonTx V2 (PV diverter)
const byte powerForDallasSensor = 19; // set to A5 as not used on the emonTx V2
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
Looking at
// powerCal is the RECIPR0CAL of the power conversion rate. A good value
// to start with is therefore 1/20 = 0.05 (Watts per ADC-step squared)
//
const float powerCal_grid = 0.045; // for grid power at CT4 (burden = 120R)
const float powerCal_diverted = 0.25; // for diverted power at CT3 (burden = 22R)
const float powerCal_CT2 = 0.25; // for real power at CT2 (burden = 22R)
const float powerCal_CT1 = 0.25; // for real power at CT1 (burden = 22R)
How is this calculated if the burden resistor is 18R (emontx default) or 24R (my build)
What should the powerCal for 24R and the shop sold CTs sensors.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
To work out powerCal, you'll need to go through the whole of the comments in the rev 6a sketch, and work out the ADC steps per volt and the ADC steps per amp, then multiply them for the value of powerCal.
So the starting value (component tolerances neglected) for voltage is:
240 V input gives 11.6 V output (Ideal adapter) divided down by (10 / (10 + 100) = 1.054 V at the ADC.
1024 ADC steps is nominally 3.3 V at the ADC.
Therefore voltage is 1.363 steps/V.
For Current:
100 A gives 50 mA, which gives 1.2 V across 24 Ω
Therefore current is 3.72 steps/A.
So I make your powerCal to be 0.197 W/step2 for the input with the 24 Ω burden.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
Thanks a lot for this. I would have never worked that out.
Are my pin numbers right for the emontx 2.2
I started getting a pin confused when emonlib refers to the ct inputs as 3, 0, 1 and voltage input as 2, when all these have diffirent Arduino pin numbers. (not helped by the fact that they don't match with the physical pin numbers of the chip!
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
If you look in the Wiki, there's an annotated photo of the V2 with pretty much everything you would want to know in the way of I/O designations.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
Thanks for that. Port Map is what I should have been looking for. But that looks OK. Just note sure I should be assigning the unused stuff to the pins that have the special functions like SDA and SCL but we'll soon find out.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
So after I learnt that the analogue Arduino numbers depend on how you read them.My analogue pin assignments above were all wrong! (but I'm sure you guys knew that and were allowing me to learn - so thank you).
I know my emontx 2.2 using the oem sketch is reading voltage and current correctly after calibration.
My Mk2 router on a emontx 2.2 using Robin's emontx 3.2 sketch modified is reading the Vrms about 47Volts higher.
So what do I start calibrating?
Update : So I adjusted the voltageCal = 0.725 and Vrms now matches what my energy meter is saying.Also adjusted the powerCal values to match the power readings. So it's looking better. Need to work out how to get the power to display decimals.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
Why is it better to drive the load with an Active Low, rather than an Active High? Is it a timing issue i.e. its faster to get from High to Low, than from Low to High?
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
It's a matter of the available voltage swing and component tolerances, and being able to meet the worst-case conditions.
If you stop to think about it, timing doesn't matter, because all you're doing is pre-arming the trigger IC. As long as it's armed (or disarmed) somewhere in the half cycle after the voltage has risen sufficiently but before the zero crossing, it will take care of triggering the triac, which will happen after the zero crossing and as soon as there's enough gate current.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
When I first came up with the Mk2 design, there were a lot of details to sort out. Robert checked the drive capability of the Atmega processor and informed me that the best way to control the MOC3041 trigger device was to use an active-low signal via a 180 Ohm series resistor. As so it has always been.
The 180R value is for use with a 5V Arduino. With a 3.3V emonTx, the series resistor needs to be less than this. I have always used 120 Ohms, but this is not guaranteed to work according to the datasheets. If anyone has found that this value has failed to give reliable performance with a 3.3V system, but a lower valued resistor has worked correctly, I would be most interested to hear about this.
Re: Starting today to build a Robin Mk2 with an emontx 2.2 - what software version does reporting and divertion
The MOC3041 only needs 15mA to latch. So your 120R @ 3.3V is supplying it with plenty of current I would have thought. Why did you think it wouldn't work?


JS9 supports the actions that get executed in response to (case-sensitive) keypress events. The following actions are defined in the JS9.globalOpts.keyboardActions array:
It is possible to add new actions. To do this, first add an entry to the JS9.Keyboard.Actions object. The property name for the new entry should be descriptive text, like that which is found in JS9.globalOpts.keyboardActions. The property value will be a function having the calling sequence:
function(im, ipos, evt)where:
JS9.Keyboard.Actions["export image as a PNG file"] = function(im, ipos, evt){ .... action implementation goes here ... };Once this new action property has been defined, you can map it to a keypress event in JS9.globalOpts.keyboardActions:
JS9.globalOpts.keyboardActions["x"] = "export image as a PNG file";The new action will be shown in the Keyboard plugin display, and will be executed any time the "x" key is pressed.


Defines the status attribute for a given phase.
int jmpSetPhaseStatus (char *phaseName, int statusFlag);
phaseName [input]
Pointer to a null-terminated sequence of characters that specifies the phase whose status attribute you wish to change.
statusFlag [input]
Integer that specifies the status attribute to set. This parameter can take one of the following values:
JMP_PHASE_STATUS_ACTIVE |
To treat the phase normally, without any special checks being performed. |
JMP_PHASE_STATUS_DORMANT |
To neglect the phase in a Solver equilibrium calculation, but compute its formation driving force and output the results to file dg.out . More information on this file can be found in jmpRunSolverCalculation(). |
JMP_PHASE_STATUS_STOP_WHEN_ABSENT |
To perform the Solver calculation only if the phase is present at the starting point, and subsequently abort it as soon as the phase disappears. The latter requires running a stepping calculation with phase boundaries search. |
JMP_PHASE_STATUS_STOP_WHEN_PRESENT |
To perform the Solver calculation only if the phase is not present at the starting point, and subsequently abort it as soon as the phase appears. The latter requires running a stepping calculation with phase boundaries search. |
JMP_STATUS_OK |
Request has been successfully completed. |
JMP_STATUS_ERROR |
An error has occurred. |
(FE,NI)AL
of stainless steels, which is flagged as dormant unless both aluminium and nickel are present in the alloy, or when running concentration stepping or multiple points calculations.| Headers | jmpcore.h jmpsolver.h |
| Library | jmpsolver.lib /jmpsolver_x64.lib |
| DLL | jmpsolver.dll /jmpsolver_x64.dll |


We're sorry but blockgag.co doesn't work properly without JavaScript enabled. Please enable it to continue.


Best results when car is facing in z direction (towards you).
New wheels will get the current suspension settings, you can edit single wheels via the SceneExplorer (update VehicleControl if wheels dont show up) or apply settings created with the settings generator to wheel groups.
Press the "test vehicle" button to drive the vehicle, use WASD to control, Enter to reset.
Don't save while testing the vehicle, you will save the location and acceleration info in the j3o.
Code Example to load vehicle:
//load vehicle and access VehicleControl Spatial car=assetManager.loadModel("Models/MyCar.j3o"); VehicleControl control=car.getControl(VehicleControl.class); rootNode.attachChild(car); physicsSpace.add(control); //then use the control to control the vehicle: control.setPhysicsLocation(new Vector3f(10,2,10)); control.accelerate(100);


| 1234 |
Contains |
| <=1234 |
Less than or equal to |
| >=1234 |
Greater than or equal to |
| <1234 |
Less than |
| >1234 |
Greater than |
| <> |
Not equal to |
| !=1234 |
Not equal to |
| =1234 |
Exactly equal to (case insensitive) |
| 12* |
Starts with |
| !=12* |
Does not start with |
| *34 |
Ends with |
| [ODD] |
Ends with an odd number |
| [EVEN] |
Ends with an even number |
| [0-4] |
Ends with a number in the given range |
| [00-49] |
Ends with a numbers in the given range |
| [MM/dd/YYYYTOMM/dd/YYYY] |
Dates between the given date range |
| [MM/dd/YYYYTO*] |
Dates after given date |
| ? |
Remove blank cells in column |
| / |
Show only blank cells in column |


Contents
Mr Key's Prefatory Remarks
- On Potatoes
- On Naming Your Child After Your Favourite Reservoir
- On The Falsely Negative Portrayal Of U-Boat Sailors
- On Gulls’ Eggs
- On Skippy The Bush Kangaroo
- On Feral Goblins
- On Tin Foil
- On Control Of The Fiscal Levers
- On Babinsky's Idiot Half-Brother
- On True Grit
- On Barking Up The Wrong Tree
- On Government-Controlled Origami
- On The Devil In The Detail
- On Speed
- On Truculent Peasantry
- On The Love Song Of Ah-Fang Van Der Houygendorp
- On Scree
- On The Collapse Of Civilisations
- On Groovy Bongos
- On Replacement Bus Services
- On “The Scottish Play”
- On Groaning Minions
- On Having The Prize Within One's Grasp
- On Nitwits
- On The Lambing-Hall Boogie
- On The One-Eyed Crossing-Sweeper Of Sawdust Bridge
- On Sand Robots
- On Birds
- On My Own Zona
- On The Wellspring Of Debauchery
- On Jelly
- On Marshy Punting
- On A Darkling Plain
- On Silent Monkey
- On Counting Corks
- On The Screaming Abdabs
- On The Air
- On A Spook's Briefcase
- On Etiquette
- On And On And On
- On Dreams Of Pointy Town
- On Mods And Rockers And Widows And Orphans
- On The Plains Of Gath
- On Pickles And Pluck And Gumption
- On Fate
- On Reggae For Swans
- On A Couple Of Art Exhibitions
- On Soviet Hen Coops
- On Certain Ants
- On Captain Nitty
- On The Bad Vicarage
- On Sudden Darting Movements In The Insect World
- On The Pecking Order
- On My Transformation
- On Bringing The Good News From Ghent To Aix
- On The Naming Of Nuts
- On Razzle Dazzle, And Its Avoidance
- On The Balletomane Nan Kew
- On King Jasper's Castle, Its Electrical Wiring System, Its Janitor, And Its Chatelaine
- On King Jasper's Bones
- On Eggheads
- On Fools
- On The Brink
- On The Livers Of Polar Bears
- On Horst Gack
- On Failing To Persuade Maud To Come Into The Garden
- On What Maud Did Next
- On Maud, Again
- On The Kitchen Devil
- On The Inner Life
- On The Report Of Dr Slop
- On Wings Of Song
- On The Sea, For Those In Peril
- On Radical Puppetry
- On Ancient Egypt
- On The Vilification Of A Totnes Undertaker's Mute
- On Flocks Of Birds
- On Cocking A Snook
- On Hiking Pickles
- On Wod & Pym, The Choc Ice Men
- On The Picnic Fly
- On The Clopping Of Hooves
- On Poptones
- On Sailing Ships
- On Brains
- On The Correct Placement Of The Apostrophe In The Title Of Reader's Digest Magazine
- On The Underpants Bomber, The U-Boat, And Ted And Sylvia
- On Aphinar
- On Limping Bellringers
- On Life Without Ducks
- On Duff
- On Tarleton And The Mysterious Affair Of The Buff Envelope
- On Tarleton And Pelf
- On Natty Dread
- On Lothar Preen
- On A Plague Of Boils
- On The Daily Strangling Of Serpents
- On Bohemia
- On The Nougat Nozzles Of Neptune
- On The Suet Siphons Of Saturn
- On The Vinegar Valves Of Venus
- On A Stonechat
- On A Knock-Knee'd Ingrate
- On Knowing Your Shovellers
- On Huz And Buz
- On Beggar's Farm
- On The Antipipsqueak
- On The World-Famous Food-Splattered Jesuit
- On The Rare Golden Enigmatic Tatterdemalion Corncrake
- On A Prang
- On Scroonhoonpooge Marshes


{{ partial "header.html" . }}
During my engagement with companies that I do consulting service for, I realized a need of hosted service for small and medium business/company. I extract these out and use YeoSpace as directory hub for these services. All of these pieces are 100% open source as well and I do consulting service to run these on your infrastructure or hosted by YeoSpace.
I'm doing DevOps and Development consultant services. I have a wide range of experience design and manage infrastructure on AWS or on-premise system. I'm also pretty good at programming, you can check my github or resume. I can work and pick up new technologies pretty quick. I also write about technolgoy.
I can ideally help on any kind of computer-related activity as long as it's interesting. From creating website, building infrastrucutre that scale, bring up ideas into an mobile app(I only do iOS). I can design and develop your next project, big or small, end to end, from setting up infrastructure, monitor/logging system to code. Just drop me a line and we can talk about thing together.
I also maintain a personal site and a SaaS for uptime monitoring.


Options
Definitions
Down
Up
Create new definition
Edit
Remove
View
Name
In use
Show in menu
Cancel
Save
Save and Choose


| Id | {{instance.id}} |
| Applied Skip Logic | {{instance.applied_skip_logic_id}} |
| Free Form Response | {{instance.free_form_response}} |
| Nextquestion | {{instance.nextquestion}} |
| Previousquestion | {{instance.previousquestion}} |
| Question Code | {{instance.question_code_id}} |
| Question Group | {{instance.question_group}} |
| Question Order | {{instance.question_order}} |
| Skipped | {{instance.skipped}} |
| Survey Answer | {{instance.survey_answer_id}} |
| Survey Question | {{instance.survey_question_id}} |
| User Survey | {{instance.user_survey_id}} |


Meg & Dia - Monster (Barren Gates Remix) $ Trap [Trap Madness Promotion]
Eternal Cloud - ZERO $ TRAP [Trap Madness Promotion]
Apex Legends - Theme Song & Menu Music Soundtrack (Zulufox Trap Remix)$TRAP [Trap Madness Promotion]
Zeds Dead & Jauz - Lights Go Down (Oscar N Remix) $ TRAP [Trap Madness Promotion]
Please note that all these tracks have copyright laws attached to it. If you have any questions or concerns, please contact the maker of the tracks: Owner of the tracks


RAISe is a unique Internet of Things open middleware for managing devices, services and data. With full context-awareness support, it also includes social relationships, system visualization console, data confiability, clustering, and more.
It's scalable, big-data ready and open source.
DeviceOS is a modularizable, hackable, micro Linux Kernel ready for Internet of Things. Campable of working with 80% of the existing microcontrollers, it also supports ZigBee, Wi-Fi, Bluetooth, Ethernet, MQTT and more.
It's lightweight and open source.
UIMS represents the ultimate management system for Internet of Things networks, focused in user experience. It provides network node visualization, data insights,system overview, data visualization, network management and network confiability.
It's UX focused and open source.
The Internet of Things ready router operational system that aims data distribution, confiability and fast deliver of multiple complexed data to numerous networks or clients.
It's scalable, distributed and open source.
Leading the science and academics industry with advanced papers, resumés and academic content that aims for solving the biggest, relevant Internet of Things problems.
It's for everyone.
An "orange box" of algorithms, that delivers most advanced machine learning, data mining and business intelligence algorithms for managing Internet of Things networks.
It's intelligent, capable and open source.
UIoT uses multiple connectivity technologies in many softwares, like Bluetooth, Zigbee, Wireless, MQTT, 433Mhz, Ethernet and more.
We're open source and community focused. We think that by delivering things focused in the community, we can create a smarter world.
We deliver software and hardware aiming on the maximum set of devices, hardware specs, microcontrollers and operational systems possible.
We create use cases that are directed to solve from the simplest to the most complex daily problem, creating a big database of solutions.
UIoT, means Universal Internet of Things.
It means being an open source project, focused on creating the very first Internet of Things middleware, platform and architecture capable of delivering software and hardware that serves as many set of devices as possible, and the maximum set of different technologies too.
We have been identifying enormous sets of complex problems that resides in our
everyday life
and
therefore, that we need to solve. We're in constant progress, going as far as possible in a
daily
basis.
Providing intelligent systems and aims to make devices and clients
real smart objects is hard
A real Universal Internet of Things platform is far from existence, but academically speaking, we're the nearest point out here. We're advancing with math, physics, software and electronic engineering. We know it's not going to be an easy-ride, but we strongly believe that someday the IoT will be universal.


Nursery Rhymes and Traditional Poems
by FCIT
Robin Hood and Allin A Dale
by Traditional
Additional Information
- Year Published: 0
- Language: English
- Country of Origin: United States of America
- Source: Francis James Child, The English and Scottish Popular Ballads (New York: 1888)
-
Readability:
- Flesch–Kincaid Level: 7.9
- Word Count: 817
- Genre: Nursery Rhyme
- ✎ Cite This
Downloads
Come listen to me, you gallants so free,
All you that loves mirth for to hear,
And I will tell you of a bold outlaw,
That lived in Nottinghamshire.
As Robin Hood in the forest stood,
All under the greenwood tree,
There was he ware of a brave young man,
As fine as fine might be.
The youngster was clothed in scarlet red,
In scarlet fine and gay;
And he did frisk it over the plain,
And chanted a roundelay.
As Robin Hood next morning stood,
Amongst the leaves so gay,
There did he espy the same young man
Come drooping along the way.
The scarlet he wore the day before,
It was clean cast away;
And at every step he fetcht a sigh,
“Alack and a well a day!”
Then stepped forth brave Little John,
And Nick the miller’s son,
Which made the young man bend his bow,
When as he see them come.
“Stand off, stand off,” the young man said,
“What is your will with me?”
“You must come before our master straight,
Under yon greenwood tree.”
And when he came bold Robin before,
Robin askt him courteously,
“O hast thou any money to spare
For my merry men and me?”
“I have no money,” the young man said,
“But five shillings and a ring;
And that I have kept this seven long years,
To have it at my wedding.
“Yesterday I should have married a maid,
But she is now from me tane,
And chosen to be an old knight’s delight,
Whereby my poor heart is slain.”
“What is thy name?” then said Robin Hood,
“Come tell me, without any fail”:
“By the faith of my body,” then said the young man,
“My name it is Allin a Dale.”
“What wilt thou give me,” said Robin Hood,
“In ready gold or fee,
To help thee to thy true-love again,
And deliver her unto thee?”
“I have no money,” then quoth the young man,
“No ready gold nor fee,
But I will swear upon a book
Thy true servant for to be.”
“How many miles is it to thy true-love?
Come tell me without any guile”:
“By the faith of my body,” then said the young man,
“It is but five little mile.”
Then Robin he hasted over the plain,
He did neither stint nor lin,
Until he came unto the church,
Where Allin should keep his wedding.
“What dost thou do here?” the bishop he said,
“I prithee now tell to me”:
“I am a bold harper,” quoth Robin Hood,
“And the best in the north countrey.”
“O welcome, O welcome,” the bishop he said,
“That musick best pleaseth me”:
“You shall have no musick,” quoth Robin Hood,
“Till the bride and the bridegroom I see.”
With that came in a wealthy knight,
Which was both grave and old,
And after him a finikin lass
Did shine like glistering gold.
“This is no fit match,” quoth bold Robin Hood,
“That you do seem to make here;
For since we are come unto the church,
The bride she shall chuse her own dear.”
Then Robin Hood put his horn to his mouth,
And blew blasts two or three;
When four and twenty bowmen bold
Came leaping over the lee.
And when they came into the church-yard,
Marching all on a row,
The first man was Allin a Dale,
To give bold Robin his bow.
“This is thy true-love,” Robin he said,
“Young Allin, as I hear say:
And you shall be married at this same time,
Before we depart away.”
“That shall not be,” the bishop he said,
“For thy word shall not stand;
They shall be three times askt in the church,
As the law is of our land.”
Robin Hood pulld off the bishop’s coat,
And put it upon Little John;
“By the faith of my body,” then Robin said,
“This cloath doth make thee a man.”
When Little John went into the quire,
The people began for to laugh;
He askt them seven times in the church,
Lest three times should not be enough.
“Who gives me this maid?” then said Little John;
Quoth Robin, “That do I,
And he that doth take her from Allin a Dale
Full dearly he shall her buy.”
And thus having ended this merry wedding,
The bride lookt as fresh as a queen,
And so they returned to the merry greenwood,
Amongst the leaves so green.


{{Infobox prepared food | name = Pan bati | image = | caption = | alternate_name = | country = Netherlands Antilles | region = | creator = | course = Side dish | type = Pancake | served = | main_ingredient = Sorghum flour, wheat flour and milk | variations = | calories = | other = }} {{Refimprove|date=June 2011}}
Pan bati is a pancake that is made in the Netherlands Antilles. The literal translation is "smashed bread" because it is so flat. It contains sorghum flour, wheat flour and milk.
In the Netherlands Antilles it is sometimes eaten as a side dish, but also as a pancake with sugar on it or with other fillings.
The creation of pan bati has been influenced by different cultures such as that of the Spanish conquerors and that of the natives, the Indians. But the biggest influence came from the Creole culture.
{{portal|left=yes|Food}}{{-}}


Two bulk carriers including Panamax aground in Parana river UPDATES
by Mikhail VoytenkoBulk carrier CL RIZHAO
Bulk carrier CL RIZHAO ran aground at 342 kilometer mark, Parana river below San Nicolas, Argentina, at 0215 UTC Nov 9, while sailing downstream partially loaded with 43615 tons of soy beans. Channel reported to be completely blocked. The ship’s next call is in Brazil to complete shipment, bound for Vietnam.
Nov 10: Was refloated at around 0045 UTC Nov 10, taken downstream to Ramallo, anchored for inspection.
Bulk carrier CL RIZHAO, IMO 9693771, dwt 81600, built 2015, flag HK, manager CDB FINANCIAL LEASING CO LTD.
Bulk carrier THOMAS C
Bulk carrier THOMAS C ran aground in Parana river at 160 kilometer mark at 2020 UTC Nov 8, while proceeding upstream from Ponta Ubu Brazil to San Nicolas Argentina, so she’s probably partially loaded. As of 1200 UTC Nov 9 was still aground, tug at her side.
Nov 10 0600 UTC: Still aground, tug at her side.
Bulk carrier THOMAS C, IMO 9450820, dwt 34372, built 2011, flag Marshall Islands, manager APEX BULK CARRIERS LLC.


Javascript
Gotchas
Function Constructor
Function constructor can be invoked without using ()
instanceof Does not Work On Primitive Values
The typeof Operator Is Limited and Buggy
Boolean Object Wrappers Are Always true
Boolean can be called as a function to cast a value to a Boolean
Calling Primitive Wrapper Constructors Without new Returns Primitive Values
Object() Can Produce Primitive Object Wrappers
Accessing Properties On Primitive Values Fails
delete Won't Delete Inherited Properties
Array.length Can Be Set, And Has Side Effects
Credits
Many of the examples taken from:
http://bcreativeweb.blogspot.com
Rouben Meschian
rmeschian@gmail.com


First set a starting and ending number. Game will choose a random number between the numbers you set. Then try to guess it. You will have score out of 100 depending on how many times you try! For each failed try you will lose 10 points.
Lets play!


---
layout: blog_list
---
List of Blogs
-
| Could Do Better |
| Wednesday 5th July 2017 |
-
| Legibility |
| Wednesday 28th June 2017 |
-
| Finally, Tables! |
y
| Wednesday 21st June 2017 |
-
| Back To Square Ugly |
| Wednesday 14th June 2017 |
-
| Rebooting... |
| Wednesday 7th June 2017 |
-
| Loops and Calculators |
| Friday 3rd February 2017 |
-
| Revisiting Python |
| Friday 27th January 2017 |
-
| ASCII |
| Friday 20th January 2017 |
-
| Back To BASEic Maths |
| Friday 13th January 2017 |
-
| New Year, New Topic |
| Friday 6th January 2017 |
-
| Chest Infection Means Day Off |
| Friday 9th December 2016 |
-
| Incorrect! Please try Again |
| Friday 2nd December 2016 |
-
| An Introduction To Cyphers |
| Friday 25th November 2016 |
-
| Problems At GitHub! |
| Friday 18th November 2016 |
-
| Ready For Assessment |
| Friday 11th November 2016 |
-
| Holy Slideshow Batman! |
| Friday 21st October 2016 |
-
| Bug Report |
| Friday 14th October 2016 |
-
| Youtube Videos? No Problem! |
| Friday 7th October 2016 |
-
| Spreadsheets, Spreadsheets Everywhere! |
| Friday 30th September 2016 |
-
| My Blog Sure Looks a Lot Nicer Now |
| Friday 23rd September 2016 |
-
| Ok, I Think I'm Getting the Hang of it |
| Friday 16th September 2016 |
-
| Testing, testing...is this thing on? |
| Friday 9th September 2016 |


Played with the best orchestras of Russia and the CIS countries and performed numerous concerts around the world.
Find Out MoreGulchekhra Inoyatova was raised in the best traditions of the Russian piano school. She is a creative, pianist and acquired fame as a gifted interpreter of the music of contemporary composers. Having received an excellent musical education, she graduated from the Central Music School (CMS), the Moscow Tchaikovsky State Conservatory with DMA in Piano Performance and Pedagogy, where her supervisor was a world famous musician, Tatiana Nikolaeva. Inoyatova’s extensive repertoire includes both contemporary music and works of classical composers. Her playing is characterized by deep musicality, wonderful sense of form, bright colorful expression and rich range of sound.
Gulchekhra Inoyatova played with the best orchestras of Russia, Latvia and the CIS countries and performed numerous concerts in Germany, Latvia, Moldova, Czech Republic, China, Hungary and other countries in Asia and Europe.
Ms. Inoyatova was often the first performer and interpreter of the brightest and most important works of Tajik composers, written for piano during the period of 1980 to the 2000s. Her ability to appreciate the author’s idea, very deep understanding of the individual style of each piece, clarity of articulation, total mastery of the keyboard are often an integral component of the success of the composition.
For her artistic achievements, creative and teaching services to the development of Tajik art and education of creative youth, she was honored with a title of Honored Artist of Republic of Tajikistan in 1996.
Gulchekhra Inoyatova is a successful educator with over 30 years experience in higher educational institutions of music in Russia, China and Tajikistan. She headed the piano departments in both the universities of Tajikistan and Russia. During the past 11 years, she has been a foreign expert in Xi'an Conservatoty of Music and South China Normal University, China. More than a hundred students and young teachers have had a chance to improve their skills in her class. Almost all of them are winners and laureates of piano competitions at various levels, including international ones, and now successfully continue their musical activities and work in Europe and Asia.
Ms. Inoyatova regularly holds master classes and gets invited to work as the jury member of various piano competitions in China, America, Russia, Hong Kong and Central Asian countries.
Download CV"Her erudition and outstanding memory, including the information in various fields of art, are used during her teaching work, and the intensity and persistence of her character infect students with desire to achieve success in the acquisition of skills."
"A talented, bright pianist, and has successfully performed many concerts. Her playing is distinguished by fine musicianship, virtuosity and emotional content. Inoyatova Gulchekhra repeatedly demonstrated her pedagogical skills in the master classes and courses of higher art of pianistic skill in Russia, Hungary, Czech Republic, Kyrgyzstan and Tajikistan. Her experience can be used for the successful development of the piano performing arts in any country.
"Inoyatova Gulchekhra is a talented pianist, very purposeful and effective in working in her country and abroad. Her performance is characterized a big emotional musicality and good taste."
You are welcome to contact me for additional information!


Optional filters
Optional filters is the mechanic to simplify query structure when some filters are not set. For example, we can map data structure to some class and to allow filter objects over some property of dictionary linked to main data structure. When filter applied this link to dictionary table is used, but when not we ineffectively rise query complexity.
To avoid unplanned query complexity XData has optional filter feature. Some filters marked as primary - when this filter has value, query has full form. When filter value has cleared or set to null, data source of filtered field (table or view) will be skipped when SQL query composed. When data source has been skipped then links between already skipped and other data sources are analyzed. And when found link marked as primary linked data source will also skipped. When base table of subquery has been skipped - all subquery will be skipped and subquery links analysis for primary links will be provided over outer query. Until no primary filters found.
This allows to compose complex query relations over multiple tables and subqueries that reflect on real query only when it really necessary.
Let's explain that on example...
public partial class TestOptional: IDataObject
{
private static Expression<CustomMapping<TestOptional>> _mapping = (
() => XDataMapping.CustomMapping<TestOptional>()
.DataTable("T_TEST", "T",
x => x.SubqueryFilter(string.Empty, "A")
.SetOperation(FilterOperation.Exists)
.Subquery("A", XDataMapping.GetStructure("H")
.DataTable("T_TEST_OPT", "H")
.DataTable("T_OPT", "P",
// Link between H and P table marked as Primary filter
x => x.Link("H", "opt_id").AsPrimary(),
// ConstFilter "OptCode" marked as Primary filter
x => x.ConstFilter("OptCode", "code", null).AsPrimary())
.Select(x => new {
TestId = x.Field<long>("H", string.Empty)
}), "TestId", DataGrouping.None, x => x.SubqueryLink("DocId"))
.Column("TestId", x => x.Field<long>("T", string.Empty))
.Map(x => new TestOptional {
Name = x.Field<decimal>("T", string.Empty)
}).SetBaseTable("T"));
}
When repository accessed like that...
dataScope.GetReposytory<TestOptional>().ToArray();
XData generate a simple SQL...
select T.test_id as T_test_id, T.name as T_name from T_TEST T
Because...
- ConstFilter "OptCode" has null value and marked as primary => T_OPT table skipped
- T_OPT table skipped and Link to T_TEST_OPT marked as primary => T_TEST_OPT table skipped
- T_TEST_OPT table skipped and marked as base table => subquery is skipped and SubqueryFilter skipped as well, but because it not marked as primary => table T_TEST is not skipped
And when filter is filled...
dataScope.GetReposytory<TestOptional>()
.SetFilterValue(new FilterName("OptCode"), "TEST").ToArray();
Now XData generate SQL with optional parts...
select T.test_id as T_test_id, T.name as T_name from T_TEST T
where exists(select 1
from T_TEST_OPT H join T_OPT P on H.opt_id = P.opt_id
where P.code = "TEST")


Yusuke Shinoko (死野子 遊助)
Concept Artist, Storyteller, & Game Designer
Who am I?
A Chinese American male who is interested in drawing and storytelling. My main medium for telling stories would be traditional manga and physical and digital video games. My main art style is traditional art with pencil, paper, pen, and eraser in manga style.
I know a bit of coding involving Python, HTML, and C++, but I am one hundred percent solely interested in creating manga and stories, not websites or coding.
Stories to Tell
My inspirations for my stories can originate from a multitude of things, from the common and mundane objects to the extraordinary. I hope that through my stories that other people could be inspired and learn certain philosophical lessons from them.
My favorite stories come from manga, comics, movies, and novels and my preferred genres are Fantasy and Science Fiction.
My Team Role
Outside of art, I have had experience in teaching, cooperation, and team leading. In high school, I volunteered as a tutor there which helped me with interacting with a variety of people.
Later, I would begin my own Manga Drawing Club near the end of my high school years and learned the difficulty of managing a team larger than the amount of people in my class projects.
In my early college years, I attempted to recruit students into my game design team and began on a project that didn't get very far. I learned the difficult way about communication and tailoring the skill set and experience of my members after we fell out.


class: center, middle, inverse, title-slide # ETC3250: Resampling ## Semester 1, 2019 ###
Professor Di Cook
Econometrics and Business Statistics
Monash University ### Week 3 (b) --- class: split-30 layout: false .column[.pad10px[ ## Outline - .green[Validating models] - validation set ]] .column[.top50px[    A set of `\(n\)` observations are randomly split into a training set (blue, containing observations 7, 22, 13, ...) and a validation set (yellow, all other observations not in training set). Drawback: Only one split of data made, may not adequately estimate test error. .font_tiny[(Chapter5/5.1.pdf)] ]] --- class: split-30 .column[.pad10px[ ## Outline - .green[Validating models] - validation set ]] .column[.top50px[ Want to choose best degree of polynomial, for `\(mpg=\beta_0+\beta_1f(horsepower)+\varepsilon\)` ``` ## [1] 1 3 5 7 9 10 12 13 15 19 20 21 22 23 26 ```  ]] --- class: split-30 count: false .column[.pad10px[ ## Outline - .green[Validating models] - validation set ]] .column[.top50px[ Want to choose best degree of polynomial, for `\(mpg=\beta_0+\beta_1f(horsepower)+\varepsilon\)` ``` ## [1] 2 5 6 8 10 11 12 13 15 18 20 23 25 27 28 ```  ]] --- class: split-30 count: false .column[.pad10px[ ## Outline - .green[Validating models] - validation set ]] .column[.top50px[ Want to choose best degree of polynomial, for `\(mpg=\beta_0+\beta_1f(horsepower)+\varepsilon\)` ``` ## [1] 4 5 7 9 10 11 13 14 16 17 18 21 22 24 25 ```  ]] --- class: split-30 .column[.pad10px[ ## Outline - .green[Validating models] - validation set ]] .column[.top50px[ Want to choose best degree of polynomial, for `\(mpg=\beta_0+\beta_1f(horsepower)+\varepsilon\)` ``` ## [1] 1 2 4 5 8 10 16 17 19 22 24 26 27 29 30 ```  ]] --- class: middle

The .orange[variability] between different draws of test sets can be .orange[large]. This can provide poor choice of model, or misleading estimate of error. --- class: split-30 .column[.pad10px[ ## Outline - .green[Validating models] - validation set - LOOCV ]] .column[.top50px[ Leave-one-out (LOOCV) cross-validation: `\(n\)` validation sets, each with .orange[ONE] observation left out.    ]] --- class: split-30 .column[.pad10px[ ## Outline - .green[Validating models] - validation set - LOOCV ]] .column[.top50px[ Leave-one-out (LOOCV) cross-validation: `\(n\)` validation sets, each with .orange[ONE] observation left out. For each set, `\(i=1, ..., n\)`, compute the `\(MSE_{i}\)`. The LOOCV estimate for the test MSE is the average of these `\(n\)` test error estimates: `$$CV_{(n)} = \frac{1}{n}\sum_{i=1}^n MSE_{i}$$` ]] --- class: split-30 .column[.pad10px[ ## Outline - .green[Validating models] - validation set - LOOCV ]] .column[.top50px[ There is a computational shortcut, for linear or polynomial models, where not all `\(n\)` models need to be fitted. `$$CV_{(n)} = \frac{1}{n}\sum_{i=1}^n \frac{(y_i-\hat{y})^2}{1-h_i}$$` where `\(h_i=\frac{1}{n}+\frac{(x_i-\bar{x})^2}{\sum_{i'}^n(x_{i'}-\bar{x})^2}\)` (known as *leverage* from regression diagnostics). ]] --- class: split-30 .column[.pad10px[ ## Outline - .green[Validating models] - validation set - LOOCV - k-fold cross-validation ]] .column[.top50px[ 1. Divide the data set into k different parts. 2. Remove one part, fit the model on the remaining `\(k − 1\)` parts, and compute the MSE on the omitted part. 3. Repeat `\(k\)` times taking out a different part each time    ]] --- class: split-30 .column[.pad10px[ ## Outline - .green[Validating models] - validation set - LOOCV - k-fold cross-validation ]] .column[.top50px[ 1. Divide the data set into k different parts. 2. Remove one part, fit the model on the remaining `\(k − 1\)` parts, and compute the MSE on the omitted part. 3. Repeat `\(k\)` times taking out a different part each time `$$CV_{(k)} = \frac{1}{k}\sum_{i=1}^n \frac{(y_i-\hat{y})^2}{1-h_i}$$` - LOOCV is a special case of `\(k\)`-fold cross-validation. - Bias-variance trade-off: - one vaidation set overestimates test error, LOOCV approximately unbiased estimates, `\(k\)`-fold CV intermediate - LOOCV has higher variance than does `\(k\)`-fold CV - choice of `\(k=5\)` or `\(10\)` is a compromise ]] --- class: split-30 .column[.pad10px[ ## Outline - .green[Validating models] - validation set - LOOCV - k-fold cross-validation - classification ]] .column[.top50px[    ]] --- class: split-30 .column[.pad10px[ ## Outline - .green[Validating models] - validation set - LOOCV - k-fold cross-validation - classification ]] .column[.top50px[    Black line is .black[10-fold CV]; .blue[training] and TRUE .orange[test] error for different choices of polynomial (left) and KNN classifier (right). ]] --- class: split-30 .column[.pad10px[ ## Outline - Validating models - .green[Bootstrap] ]] .column[.top50px[  ]] --- layout: true class: shuriken-full white .blade1.bg-green[.content.center.vmiddle[ We obtain distinct data sets (with the same size as our original dataset) by .yellow[repeatedly sampling] observations from the original data set with replacement (nonparametric) or from an estimated model (parametric). ]] .blade2.bg-deep-purple[.content.center[  ]] .blade3.bg-deep-orange[.content.center[  ]] .blade4.bg-pink[.content.center[    ]] --- class: hide-blade2 hide-blade3 hide-blade4 hide-hole --- class: hide-blade3 hide-blade4 hide-hole count: false --- class: hide-blade4 hide-hole count: false --- class: hide-hole count: false --- count: false --- layout: false class: split-30 .column[.pad10px[ ## Outline - Validating models - .green[Bootstrap] - procedure ]] .column[.top50px[ - Draw `\(B\)` independent bootstrap samples `\(X^{*(1)}, \dots, X^{*(B)}\)` from `\(\hat P\)`: `$$X_1^{*(b)}, \dots, X_n^{*(b)} \sim \hat P \quad b = 1, \dots, B.$$` - Evaluate the bootstrap replications: `$$\hat \theta^{*(b)} = s(X^{*(b)}) \quad b = 1, \dots, B.$$` - Estimate the quantity of interest from the distribution of the `\(\hat \theta^{*(b)}\)` ]] --- layout: false class: split-30 .column[.pad10px[ ## Outline - Validating models - .green[Bootstrap] - procedure - example ]] .column[.top50px[ - Fit the model on a set of bootstrap samples, and then keep track of how well it predicts the original dataset `$$\text{Err}_{\text{boot}} = \frac1B \frac1N \sum_{b = 1}^B \sum_{i = 1}^N L(y_i, \hat f^{*b}(x_i))$$` - Each of these bootstrap data sets is created by sampling with replacement, and is the same size as our original dataset. As a result .orange[some observations may appear more than once in a given bootstrap data set and some not at all]. ]] --- layout: false class: split-30 .column[.pad10px[ ## Outline - Validating models - .green[Bootstrap] - procedure - example - out-of-bag ]] .column[.top50px[ For estimating error, only .orange[use predictions from bootstrap samples not containing that observation]. The leave-one-out bootstrap estimate of prediction error can be defined as `$$\text{Err}_{\text{loo-boot}} = \frac1N \sum_{i = 1}^N \frac{1}{|C^{-i}|}\sum_{b \in C^{-i}} \ L(y_i, \hat f^{*b}(x_i))$$` where `\(C^{-i}\)` is the set of indices of the bootstrap samples `\(b\)` that do not contain observation `\(i\)`. ]] --- layout: false class: split-30 .column[.pad10px[ ## Outline - Validating models - .green[Bootstrap] - procedure - example - out-of-bag - uses and variations ]] .column[.top50px[ - Common uses: - Computing standard errors for complex statistics - Prediction error estimation - Bagging (Bootstrap aggregating) ML models - Types of bootstrap based on different assumptions: - block bootstrap - sieve bootstrap - smooth bootstrap - residual bootstrap - wild bootstrap ]] --- layout: false # 👩💻 Made by a human with a computer ### Slides at [https://monba.dicook.org](https://monba.dicook.org). ### Code and data at [https://github.com/dicook/Business_Analytics](https://github.com/dicook/Business_Analytics).
 ### Created using [R Markdown](https://rmarkdown.rstudio.com) with flair by [**xaringan**](https://github.com/yihui/xaringan), and [**kunoichi** (female ninja) style](https://github.com/emitanaka/ninja-theme).

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.


[§328J‑2] Prohibition in facilities owned by the State or the counties. Smoking shall be prohibited in all enclosed or partially enclosed areas, including buildings and vehicles owned, leased, or operated by the State or any county. [L 2006, c 295, pt of §2]


Loan Details
Borrower's Name MALABAI LAXMAN MUJMULE Resident of DIGRAS, MAHARASHTRA Field Partner SAMAGRA GRAM VIKAS SANSTHA Loan Amount RS. 5,000 Loan Purpose GROCERY STORE Status REPAYING Evaluated 85 DAYS AGO Evaluated 25 DAYS AGO
Hospitals, ill health, medical emergencies and physical disability are words that we all dread. But to Malabai Laxman Mujmule, these arenít just words. Her reality has always revolved around them.
She was a young girl of 23 when we first met her, sitting and helping out in the grocery shop that her father ran. Her father - her role model, her friend, her teacher and ardent supporter. In the three years of our association with Malabai, we have learnt more about the special bond between this father-daughter duo.
In rural India, giving birth to a girl child is considered inauspicious. A daughter paralysed from her waist down is looked down upon even more. Malabai was born a girl child and she was disabled. But not only did her father stand by her, he got her a wooden board with wheels to help her move around, and in a way, to stand on her own two feet.
A few months ago, these roles were reversed when her father suffered a spinal cord injury. Despite a dearth of money, restriction in movement and lack of support, Malabai courageously took responsibility of ensuring her fatherís treatment. She spent their savings as well as the loan funds, on her fatherís healthcare. This dedication and love ultimately gave her father an extra month to live.
In the absence of her father, times of need continue and Malabai is grateful to have found a mentor in Sagras - Rang De's field partner in Digras, Maharashtra. Sagras has mentored her from the start, making sure that she makes improvements to her shop, attends meetings of the self-help group etc.
Due to her disability and the lack of proper communication facilities, Malabai would often miss out on group meetings. Her disability also posed a challenge in procuring goods for her shop, which required that she travel to wholesalers located nearly 10 kms away. Sagras recommended that she purchase a mobile phone, an easy solution that could help solve both these issues.
With the contact numbers of all the dealers available on her phone, all Malabai had to do now was to make a call to replenish the stock. It also enabled group members to notify her ahead of the regular meetings.
Slowly but steadily, Malabai has been able to improve the financial condition of her family. Her monthly income is now around Rs 7,000, of which she is able to save half. She lives with her mother, brother and sister-in-law in a small house near the grocery shop. The mud road is filled with potholes and a gutter runs next to it. Malabai wants to save enough so that she can shift to a better and cleaner place. She also plans to expand her business and sell a wider range of items.
At the group, Malabai is looked up to as a source of inspiration to all, something she says her father would have been very happy to see. Her hard work and perseverance have helped her develop herself and her business, though she tells us that she still has a long way to go.
Malabaiís is a story, that we at Rang De are very proud of. We believe that it is only a matter of time until she becomes self-reliant, her physical disability being more driving than disabling.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/nested.20inductive.20type.html ---
Is it possible to define a nested inductive type on a vector-like structure instead of lists?
inductive expression : Type | a {dim : ℕ} (idx : vector (expression) dim) /- omitted constraints on dim -/ : expression | b : expression
I get the following error: nested occurrence [...] contains variables that are not parameters.
I think this is an inductive recursive type, since it depends on the length
function for lists. I don't think this is possible.
This isn't an inductive recursive, but it's not a supported nested inductive. The easiest solution is to use fin dim -> expression
instead of vector expression dim
That works. Thanks!
Follow up question:
If I want to define a recursive function over expressions like so:
def f : expression -> N | (a idx) := 1 + ((vector.of_fn idx).map f).sum | b ... using_well_founded {rel_tac := λ_ _, `[exact ⟨_, measure_wf (λ e, expression_size e)⟩] }
I have to proof that the function application is decreasing for some arbitrary expression e, i.e. expression_size e < expression_size (a idx)
. However I don't have a proof that e comes from idx, ergo I cannot proof it.
The only way around that I can think of is to use the recursor directly. Is there a more convenient way?
(I left out some details, expression is actually indexed over types)
This is probably easier to define using expression.rec_on
def f (e : expression) : ℕ := expression.rec_on e (λ n idx f, (vector.of_fn f).1.sum + 1) _
Last updated: Apr 24 2020 at 19:02 UTC


Read Only
Clear Readonly
Disable
Enable
Reset All
Show
Hide
Show Tag
Show Overlay
date:
datetime:
date range:
-
date with blocked weekends:
time:
time w/o minutes:
combo:
list:
enum:
file:
regular select:
value 1
value 2
text:
color:
textarea:
int:
float:
percent:
money:
hex:
alpha-numeric:


Statistics
ID
URL
Clicked
IP
Referer
User agent
Country
ID
URL
Clicked
IP
Referer
User agent
Country


We are a small but active music community on Discord! We've already put out a mix and we're constantly looking for artists to join our ensemble.
Discord server managed by: .Nagaoka#0666
Website made by: mara#8977


Click Here for Sample URL 1
Click Here to email
click here for javscript
Click Here for SSL link to URL 1
looped link
>


Greg Sarafian
Projects
-
Hack River Dell: Co-founder & Leading Organizer
(Jun. '16 - Present)
Hack River Dell is one of the premiere high school hackathons on the east coast. I am co-founder and a leading organizer of the event. My contributions include gathering sponsors, handling miscellaneous logistics, formulating design and branding for the website, social media, and apparel.
-
Smartphone Security Awareness for Teens: Research project that aims to determine whether teen's online security practices accurately reflect their percieved level of online security.
(Sep. '15 - Present)
-
River Dell STEMposium: River Dell High School's Fifth Annual Symposium
(Sep. '15 - Present)
I am a part of the develpment team for River Dell's 4th (2016) and 5th (2017) Annual STEMposium. My contributions include advertising the event, contributing to the website, and formulating design and branding that is present on the website, posters, and all other event identifiables.
-
Notis: Stay safe when traveling to different countries.
(Apr. 2016)
Hackathon app that won "Intel's Best Beginner Web App Hack" at hackBCA III.
-
Green Harvest: Expense planning and tracking for young entrepeneurs.
(Jun. 2016)
Hackathon app concept that won 1st place at Get Schooled and Viacom's "Mogul in the Making" hackathon.
-
HelpBit: Connecting those in need of specialized support.
(Apr. 2017)
Hackathon web app hack that won "Best use of Twilio API" at LIHacks2.
Extracurriculars
-
Assistant IT Technician: River Dell Technology Department
(Summers: Jul. '15 - Aug. '17)
During the summer, I work as an intern at River Dell High School's IT department. My contributions include: imaging Windows laptops, sustaining the network by connecting access points and running network cabling throughout the building, and assembling monitors, projectors, printers, and other Windows accessories.
-
Basketball Player: #13, Power Forward
(Sep. '14: Freshman - Present)
Varsity Letter: Junior Year
Rebounding machine, hypeman, 1st-Team all Bergen County Hydration Squad.
-
RD Cyber Security Club: Co-Founder & Co-Officer
(Dec. '15 - Present)
I co-founded and am currently an officer of River Dell's Cyber Security Club. My contributions include organizing meetings, maintaining the website, and competing in online cyber security competitions with the team.
-
Student Liason: River Dell Board of Education
(Jun. '17 - Present)
I act as a student liason for the River Dell Board of Education. At every board meeting I and my two other fellow student liasons present the latest accomplishments of the students. As a representative for the student body, I give my own insight prior to decisions being made by the board. I was inducted as a student liason on June 5, 2017 and will serve until graduation.
-
Peer Leader: River Dell Peer Educator
(Sep. '16 - Present)
I am a peer educator and work to educate other students on teen issues including HIV/AIDS, sexually transmitted infections, teen pregnancy, sexual harassment, homophobia, dating violence and date rape. The aim of peer education is to educate teens on sexual health and reduce risk behaviors.
Education
Relevant Electives: AP Computer Science A, Introduction to Computer Programming with Python, Computer Systems & Networking, SUPA Cyber Security, SUPA Forensic Science, SUPA Personal Finance
Academic Accolades: National Honor Society (Delesage Chapter), National English Honor Society
River Dell Regional High School
2014 - 2018 (expected)
Press
-
NorthJersey.com: Students show they can 'hack' it at River Dell event
December 3, 2016
-
SANS Institute: Volume XVIII - Issue #66
August 19, 2016
-
Viacom Blog: 50 Youths Plus Two Business Apps Equals Moguls in the Making
June 28, 2016
-
► Get Schooled: Mogul in the Making Hackathon
August 4, 2016


Privacy
Data Ownership
You own your data and make the decisions about what to share.
Be Aware
While playing Clue Ride, your sensitive data are:
- Your location information.
- Your email address.
Clue Ride does not collect payment information and does not process payments.
Location information is shared with your team, but is otherwise private. More detail is found here:
< link to the privacy page >


早餐
On the way back to the apartment, I notice that among all the new stores in the neighborhood there is an Under Armour store. I actually like this, as I own quite a few of their items. They are like the testosterone-loaded version of lululemon. A store like this makes sense for 台北. In the hot, wet climate it is advantageous to have lightweight clothing that dries quickly.
Our early morning snack is almost a breakfast in itself: slices of orange, pieces of dried fruit (芭樂乾，櫻桃乾，藍莓乾，草莓乾) and flaky, sesame-crusted biscuits filled with green onion. But all that is just an appetizer.
Today we will be having 米粉湯, 孝萱最喜歡的早餐. On all of our five trips to 臺灣, I think this has been our first breakfast. However, this is the first time we are taking 安得. She's finally old enough to experience it for herself.
It is a short walk to the 東門 traditional market. The market occupies a web of indoor and outdoor alleys spanning several blocks on the other side of the 東門 MRT station from the apartment. Just off 信義路, right inside one of the market's entrances is 黃媽媽米粉湯.  Hot bowls of 米粉湯 are served with side dishes that may include any part of a pig that you can think of – and maybe a few you can’t.
The first time I ate any of this it was extremely foreign.  All together it’s not anything I ever thought I would be eating for breakfast just 10 years ago, but now it is part of our ritual. It’s nice that 安得 can finally join us. As always, she is willing to try everything, but she is not a fan of the tougher and chewy texture of the lung, heart, and intestine. At least she tried them and she didn’t say anything bad about them. She simply and politely said no to additional servings.
After our meal and before we leave, 孝萱 and 岳母 encourage me to say hello to the 老闆, 黃媽媽 herself, and let her know in my limited Chinese that I enjoyed the meal. As with many older Taiwanese people I have met, she is amused by this and takes time out to chat with 孝萱 about me and 安得. With my limited understanding of spoken Chinese I recognize the obligatory comments about how pretty 安得 is and why is it we only have one child.
We return to the apartment by way of the market. It is always fun for me to browse here and think of how different it is from any market back in the USA. The closest analog to anything back home would be a huge, everyday, year-round greenmarket. All the produce is fresh and spotlessly clean. Meat is cut and laid out on large boards. Seafood is spread out on crushed ice. I feel very close to everything as we go through the alleys. The only stalls in which any of the food is covered, wrapped or in some way shielded is where a vendor is selling a prepared food.
孝萱 and 岳母 buy quite a few things for later today and this week: two different kinds of greens, unnaturally red strawberries from Japan, 皮蛋, and 釋迦 – known in English as a sugar apple or custard apple.
Back at the apartment, it is time to rest. Even though it is only 9am, we are exhausted.


|
Extensible Audio Library
This library provides a unified interface for handling audio.
|
Defines when buffers should be created and how they should be handled. More...
#include <AudioManager.h>
Public Member Functions | |
| BufferMode (chstr name) | |
| BufferMode (chstr name, unsigned int value) | |
| BufferMode | next () const |
| BufferMode | previous () const |
| bool | operator< (const BufferMode &other) const |
| bool | operator> (const BufferMode &other) const |
| bool | operator<= (const BufferMode &other) const |
| bool | operator>= (const BufferMode &other) const |
| bool | operator== (const BufferMode &other) const |
| bool | operator!= (const BufferMode &other) const |
Static Public Member Functions | |
| static int | getCount () |
| static hltypes::Array< BufferMode > | getValues () |
| static hstr | getEnumName () |
| static hltypes::Map< unsigned int, hstr > | getAsMap () |
| static BufferMode | fromInt (int value) |
| static BufferMode | fromUint (unsigned int value) |
| static BufferMode | fromName (chstr name) |
| static bool | hasValue (chstr name) |
| static bool | hasValueFor (int value) |
| static bool | hasValueFor (unsigned int value) |
Static Public Attributes | |
| static const BufferMode | Full |
| Buffers data upon player creation, keeps results in memory. | |
| static const BufferMode | Async |
| Buffers data upon player creation asynchronously, keeps results in memory. | |
| static const BufferMode | Lazy |
| Buffers when first need arises, keeps results in memory. | |
| static const BufferMode | Managed |
| Buffers when first need arises, clears memory after a timeout. | |
| static const BufferMode | OnDemand |
| Buffers when first need arises, clears memory after usage. | |
| static const BufferMode | Streamed |
| Buffers in streamed mode. | |
Protected Member Functions | |
| BufferMode (unsigned int value) | |
| hltypes::Map< unsigned int, hstr > & | _getInstances () const |
Defines when buffers should be created and how they should be handled.


Home
Add Property
Go to User-side
Settings
Disabled
It's gonna take a while. Relax! Grab your favourite drink
and take your time.
Property name
Looks good!
Property age (in years)
Please provide a number.
City
(currently serving in 7 cities)
Choose...
New York
Miami
San Francisco
San Jose
Houston
Itanagar
Please provide a valid city.
State
Choose...
New York
Florida
California
Texas
Arunachal Pradesh
Please select a valid state.
Country
Choose...
USA
India
Please select a valid state.
Zip/Pin code
Please provide a valid zip.
Locality/street
Please provide a valid locality.
Landmark
Please provide a landmark.
Neighbourhood
Urban
Suburb
You must select one item.
Upload facade image
(1 image) :
Please upload one image
Upload interior images
(4 images) :
Please upload exactly 4 images
House No.
Please provide a house number
Upload a day-time audio
(with windows open | mp3 or wav file) :
Please upload one audio
Upload a day-time audio
(with closed windows | mp3 or wav file) :
Please upload one audio
Upload a night-time audio
(mp3 or wav file) :
Please upload one audio
Types included
*required field -
1 BHK
2 BHK
3 BHK
4 BHK
4+ BHK
Select atleast one item.
Homify Categories
(Select options your property satisfies):
Homify Standard
(family apartments)
Homify Go
(apartments for students)
Homify Towers
(more than 10 floors)
Homify Stay
(include homestay)
Homify Prime
(homify's luxury homes)
Homify Cloud
(homes in skycrappers)
Homify Suburb
(homes in outskirt)
Homify Classic
(traditional style homes)
What's nearby?
(under 1 KM radius) -
Malls:
Yes
No
Hospitals:
Yes
No
Parks:
Yes
No
Schools:
Yes
No
Colleges:
Yes
No
Universities:
Yes
No
Pharmacies:
Yes
No
Vegetable shops:
Yes
No
Public Transportaions:
Yes
No
Please check all of the options in yes or no.
Features -
Parking:
Yes
No
Balcony:
Yes
No
Geyser:
Yes
No
Refrigerator:
Yes
No
Sofas:
Yes
No
Security Guard:
Yes
No
Security Cameras:
Yes
No
Basic furnitures:
Yes
No
Attached bathrooms:
Yes
No
General bathroom:
Yes
No
Please check all of the options in yes or no.
Agree to terms and conditions
You must agree before submitting.
Submit form


PODEBCONF-DISPLAY-PO(1) po-debconf PODEBCONF-DISPLAY-PO(1) NAME podebconf-display-po - display content of a PO file in a debconf interface SYNOPSIS podebconf-display-po [-h] [-f FRONTEND] file.po DESCRIPTION As with any other localization work, translators should test their translations by running the program they are working on. But this is a very hard job with complicated configuration scripts because there is no automatic way to have all messages displayed. The podebconf-display-po program could be called the Poor Man Localization Checker for debconf. It parses a PO file, tries to guess what the original templates file did look like, and displays messages in a debconf interface. Of course being root is not mandatory, and there is no interaction between podebconf-display-po and system-wide debconf settings. OPTIONS -h, --help Display a usage summary and exit. -f, --frontend=FRONTEND Select an alternate debconf frontend. CAVEATS · As podebconf-display-po relies on "debconf" to display questions, your environment must be setup to display localized questions in the language of the PO file. If you want to check a translation in another language, you need to temporarily change your settings, e.g. $ LANGUAGE=de podebconf-display-po de.po If the PO file cannot be converted into your current encoding, English strings are displayed instead of the localized ones. You then have to switch to a UTF-8 environment to prevent encoding mismatch. · Prior to 0.8.3, "po-debconf" did only insert the field name in PO files. But some discussions on mailing-lists showed that text format does depend on template type, e.g. string and boolean types are different because the former is an open question and user has to enter some text input, whereas the latter is basically a Yes/No question. Authors have to think about it when writing their templates files, but translators also have to be aware. This is achieved when PO files are generated by po-debconf >= 0.8.3, template type is inserted in PO files. With older versions, podebconf-display-po has a trivial algorithm to determine original template type, and may sometimes be wrong. · The "dialog" frontend, when based upon "whiptail", traps system signals and thus podebconf-display-po cannot be interrupted by "Ctrl-C" when using this frontend. SEE ALSO debconf(1) AUTHOR Denis Barbier<EMAIL_ADDRESS>2011-12-29 PODEBCONF-DISPLAY-PO(1)


--- layout: compress ---
David Duan
University of Toronto 2026 Computer Science Mathematics & Statistics


How to prevent a List from scrolling when a child of a custom item renderer is touched
Sometimes, when you interact with the child of a custom item renderer, you want to ensure that the list won't start scrolling at the same time. For instance, if the child is a slider or another component that requires dragging, you don't want that drag to simultaneously scroll the list.
How you implement this depends on the sub-component's type. Some components may dispatch useful events that indicate that the user has started dragging or scrolling something. For instance, some components, like sliders, will dispatch FeathersEventType.BEGIN_INTERACTION
to indicate when the users begins interacting with them in a meaningful way. Others, like lists or scroll containers may dispatch FeathersEventType.SCROLL_START
.
For most display objects, you can usually simply listen for TouchEvent.TOUCH
on the child:
child.addEventListener( TouchEvent.TOUCH, child_touchHandler );
In the listener, we'll track the ID of the touch and then wait to see if the list starts scrolling:
protected function child_touchHandler( event:TouchEvent ):void
{
if(!this._isEnabled)
{
this.childTouchID = -1;
return;
}
var child:DisplayObject = DisplayObject( event.currentTarget );
if(this.childTouchID >= 0)
{
var touch:Touch = event.getTouch(child, TouchPhase.ENDED, this.childTouchID);
if(!touch)
{
return;
}
this._owner.removeEventListener( FeathersEventType.SCROLL_START, owner_scrollStartHandler );
this.childTouchID = -1;
}
else
{
touch = event.getTouch(child, TouchPhase.BEGAN);
if(!touch)
{
return;
}
this.childTouchID = touch.id;
this._owner.addEventListener( FeathersEventType.SCROLL_START, owner_scrollStartHandler );
}
}
If the list attempts to start scrolling, it will dispatch FeathersEventType.SCROLL_START
. If we call stopScrolling()
right away, this will tell the list that it should not scroll right now because we're busy with the touch:
protected function owner_scrollStartHandler( event:Event ):void
{
if(this.childTouchID < 0)
{
return;
}
// no need to listen anymore. the list won't try to scroll again with this touch.
this._owner.removeEventListener( FeathersEventType.SCROLL_START, owner_scrollStartHandler );
// no scrolling right now, please!
this._owner.stopScrolling();
}
Scrolling will be stopped only when touches originate on the child. If touches originate elsewhere in the item renderer, the list will still be able to detect those touches and scroll by dragging, like mobile users expect.


Class ConsoleDriver
ConsoleDriver is an abstract class that defines the requirements for a console driver. One implementation if the CursesDriver, and another one uses the .NET Console one.
Inheritance
Namespace: Terminal
Assembly: Terminal.dll
Syntax
public abstract class ConsoleDriver
Constructors
ConsoleDriver()
Declaration
protected ConsoleDriver ();
Properties
Clip
Controls the current clipping region that AddCh/AddStr is subject to.
Declaration
public Terminal.Rect Clip { get; set; }
Property Value
| Type | Description |
|---|---|
| Rect | The clip. |
Cols
The current number of columns in the terminal.
Declaration
public abstract int Cols { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 | To be added. |
Rows
The current number of rows in the terminal.
Declaration
public abstract int Rows { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 | To be added. |
Methods
AddCh(Int32)
Adds the specified rune to the display at the current cursor position
Declaration
public abstract void AddCh (int rune);
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | ch | To be added. |
AddSpecial(SpecialChar)
Declaration
public abstract void AddSpecial (Terminal.SpecialChar ch);
Parameters
| Type | Name | Description |
|---|---|---|
| SpecialChar | ch | To be added. |
AddStr(String)
Adds the specified
Declaration
public abstract void AddStr (string str);
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | str | String. |
DrawFrame(Rect, Boolean)
Declaration
public abstract void DrawFrame (Terminal.Rect region, bool fill);
Parameters
| Type | Name | Description |
|---|---|---|
| Rect | region | To be added. |
| System.Boolean | fill | To be added. |
End()
Ends the execution of the console driver.
Declaration
public abstract void End ();
Init(Action)
Initializes the driver
Declaration
public abstract void Init (Action terminalResized);
Parameters
| Type | Name | Description |
|---|---|---|
| System.Action | terminalResized | Method to invoke when the terminal is resized. |
Move(Int32, Int32)
Moves the cursor to the specified column and row.
Declaration
public abstract void Move (int col, int row);
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | col | Column to move the cursor to. |
| System.Int32 | row | Row to move the cursor to. |
PrepareToRun(MainLoop, Action<KeyEvent>, Action<MouseEvent>)
Declaration
public abstract void PrepareToRun (Mono.Terminal.MainLoop mainLoop, Action<Terminal.KeyEvent> target, Action<Terminal.MouseEvent> mouse);
Parameters
| Type | Name | Description |
|---|---|---|
| MainLoop | mainLoop | To be added. |
| System.Action<KeyEvent> | target | To be added. |
| System.Action<MouseEvent> | mouse | To be added. |
RedrawTop()
Declaration
public abstract void RedrawTop ();
Refresh()
Updates the screen to reflect all the changes that have been done to the display buffer
Declaration
public abstract void Refresh ();
SetAttribute(Attribute)
Declaration
public abstract void SetAttribute (Terminal.Attribute c);
Parameters
| Type | Name | Description |
|---|---|---|
| Attribute | c | To be added. |
SetColors(ConsoleColor, ConsoleColor)
Declaration
public abstract void SetColors (ConsoleColor foreground, ConsoleColor background);
Parameters
| Type | Name | Description |
|---|---|---|
| System.ConsoleColor | foreground | To be added. |
| System.ConsoleColor | background | To be added. |
SetColors(Int16, Int16)
Declaration
public abstract void SetColors (short foreColorId, short backgroundColorId);
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int16 | foreColorId | To be added. |
| System.Int16 | backgroundColorId | To be added. |
StartReportingMouseMoves()
Declaration
public abstract void StartReportingMouseMoves ();
StopReportingMouseMoves()
Declaration
public abstract void StopReportingMouseMoves ();
Suspend()
Suspend the application, typically needs to save the state, suspend the app and upon return, reset the console driver.
Declaration
public abstract void Suspend ();