There are three components that are involved with performing storage and retrieval with Hash Tables:
An example helps to illustrate the basic concept. Let's suppose that our hash table is of size 10, and that we are hashing strings. We'll talk about hash functions later, but let's suppose that we have four strings that we want to store in our hash table: "Luther," "Rosalita", "Binky" and "Dontonio." Let's also suppose that we have a hash function that converts these strings into the following values:
Similarly, "Rosalita" goes into index 4, and "Binky" into index 2. If we insert them into the hash table, the table looks as follows:
To find a string in the hash table, we calculate its hash value modulo ten, and we look at that index in the hash table. For example, if we want to see if "Luther" is in the hash table, we look in index 1.
Now, suppose we want to look for "Dontonio" in the hash table. Since its hash value is<PHONE_NUMBER>, we look in index 1. It's not there. Now suppose we wanted to insert "Dontonio." Well, that's a problem, because "Luther" is already at index one. That is a collision.
I'm not going to fix this problem until later in these lecture notes when we discuss collision resolution strategies. However, it demonstrates why collisions are problems.
(Number of data elements in the hash table) / (Size of the hash table)
That's a pretty intuitively named property. In the hash table pictured above, the load factor is 0.3, because there are three strings in the hash table, and the table size is ten. We can typically quantify how well a hash table is functioning by its load factor.
The selection of a hash function is very important. You want your hash function to have two important properties:
We start with the most obvious hash function for strings -- add up the ASCII values of the characters. I'm going to call this hash function "BAD". I have this programmed in badhash.cpp:
#include <iostream> using namespace std; unsigned int bad_hash(string &s) { int i; unsigned int h; h = 0; for (i = 0; i < s.size(); i++) { h += s[i]; } return h; } main() { string s; unsigned int h; while (getline(cin, s)) { h = bad_hash(s); cout << h << endl; } } |
Why the unsigned int? The reason is that I want to allow my hash values to go into any 32-bit integer, and I don't want negative numbers. To do that, I specify that the integer be unsigned. Knowing that the ASCII value of 'A' is 65 and that the ASCII value of 'a' is 97, we can verify that the hash function works as advertised:
UNIX> badhash A 65 a 97 Aa 162 <CNTL-D> UNIX>The program in djbhash.cpp programs the "DJB" hash function from the York University page:
unsigned int djb_hash(string &s) { int i; unsigned int h; h = 5381; for (i = 0; i < s.size(); i++) { h = (h << 5) + h + s[i]; } return h; } |
Although the web page says that this is equivalent to:
| hi = 33hi-1 ^ s[i] |
where the carat operator is bitwise exclusive-or, that is not what is implemented. Instead, we take hi-1 and "bit-shift" it, five places to the left. That is equivalent to multiplying by 32, which is 25. However if any of the leftmost 5 bits of the number are set, they are "shifted away" -- they go away. We then add hi-1 -- that is how the author performs multiplication by 33. Finally, we add s[i] rather than performing the bitwise exclusive-or. I don't know why -- I'm just copying code from the web page.
We can double-check ourselves though:
UNIX> djbhash a<PHONE_NUMBER> * 33 + 97 = 177670 aA 5863175 177670 * 33 + 65 = 5863175 aAA 193484840 5863175 * 33 + 65 = 193484840 aAAA<PHONE_NUMBER> <CNTL-D> UNIX>
That last number takes a little work to verify. First, let's look at 193484840 in hexadecimal (you can do this in C++, but the scripting language awk supports printf, so it's easier):
UNIX> echo 193484840 | awk '{ printf "0x%08x\n", $1 }' 0x0b885828 UNIX>As mentioned in previous lectures, hexadecimal allows you to look at bytes -- every two hex digits is a byte: 0b, 88, 58, 28. Breaking this down further, each hexadecimal digit represents four bits, so the number is:
0000 1011 1000 1000 0101 1000 0010 1000 |
Performing the left bit-shift by 5 turns this number into:
0111 0001 0000 1011 0000 0101 0000 0000 |
I've tried to use the blue color to help you -- those are the original bits that remain after the bit-shift. This is 0x710b0500 in hex, which is<PHONE_NUMBER> in decimal (see your lab for how to do that conversion). And finally,<PHONE_NUMBER> + 193484840 + 65 =<PHONE_NUMBER>. We've verified that the function works!!
One last hash function comes from [Pearson10]. We'll call it ACM. It uses a permutation table to calculate the hashes: acmhash.cpp:
static unsigned char perm_table[256] = { 1, 87, 49, 12, 176, 178, 102, 166, 121, 193, 6, 84, 249, 230, 44, 163, 14, 197, 213, 181, 161, 85, 218, 80, 64, 239, 24, 226, 236, 142, 38, 200, 110, 177, 104, 103, 141, 253, 255, 50, 77, 101, 81, 18, 45, 96, 31, 222, 25, 107, 190, 70, 86, 237, 240, 34, 72, 242, 20, 214, 244, 227, 149, 235, 97, 234, 57, 22, 60, 250, 82, 175, 208, 5, 127, 199, 111, 62, 135, 248, 174, 169, 211, 58, 66, 154, 106, 195, 245, 171, 17, 187, 182, 179, 0, 243, 132, 56, 148, 75, 128, 133, 158, 100, 130, 126, 91, 13, 153, 246, 216, 219, 119, 68, 223, 78, 83, 88, 201, 99, 122, 11, 92, 32, 136, 114, 52, 10, 138, 30, 48, 183, 156, 35, 61, 26, 143, 74, 251, 94, 129, 162, 63, 152, 170, 7, 115, 167, 241, 206, 3, 150, 55, 59, 151, 220, 90, 53, 23, 131, 125, 173, 15, 238, 79, 95, 89, 16, 105, 137, 225, 224, 217, 160, 37, 123, 118, 73, 2, 157, 46, 116, 9, 145, 134, 228, 207, 212, 202, 215, 69, 229, 27, 188, 67, 124, 168, 252, 42, 4, 29, 108, 21, 247, 19, 205, 39, 203, 233, 40, 186, 147, 198, 192, 155, 33, 164, 191, 98, 204, 165, 180, 117, 76, 140, 36, 210, 172, 41, 54, 159, 8, 185, 232, 113, 196, 231, 47, 146, 120, 51, 65, 28, 144, 254, 221, 93, 189, 194, 139, 112, 43, 71, 109, 184, 209}; unsigned int acm_hash(string &s) { int i, j; unsigned int h; unsigned char byte_hash[4]; for (j = 0; j < 4; j++) byte_hash[j] = 0; j = 0; for (i = 0; i < s.size(); i++) { byte_hash[j] = perm_table[byte_hash[j]] ^ s[i]; j++; if (j == 4) j = 0; } h = 0; for (j = 0; j < 4; j++) h = (h << 8) | byte_hash[j]; return h; } |
Now, I know this is a little confusing, but such is life. The permutation table contains a permutation of the numbers between 0 and 255. We then calculate the hashes as follows:
Otherwise: hi =
perm_table[hi-4] ^ s[i]
Again, the carat is the bitwise exclusive-or operator. After calculating all the hi, we only consider the last four. These are held in the array byte_hash. Specifically, byte_hash[0] holds whichever of the last four hi has (i%4) = 0. byte_hash[0] holds whichever of the last four hi has (i%4) = 1, and so on. We then construct h so that byte_hash[0] is the first byte, byte_hash[1] is the second byte, and so on.
Let's walk through some examples:
UNIX> acmhash a<PHONE_NUMBER> aaaa<PHONE_NUMBER> aaaaa<PHONE_NUMBER> <CNTL-D> UNIX>In the first example, we have:
| h0 | = | perm_table[h-4] ^ 97 |
| = | perm_table[0] ^ 97 | |
| = | 1 ^ 97 | |
| = | 96 |
96 is 0x60 in hexadecimal. Therefore, h is equal to 0x60000000. Check it out:
UNIX> echo<PHONE_NUMBER> | awk '{ printf "0x%08x\n", $1 }' 0x60000000 UNIX>When we try "aaaa", h0 = h1 = h2 = h3 = 96. Therefore h is equal to 0x60606060:
UNIX> echo<PHONE_NUMBER> | awk '{ printf "0x%08x\n", $1 }' 0x60606060 UNIX>And finally, when we do "aaaaa", we have
| h4 | = | perm_table[h0] ^ 97 |
| = | perm_table[96] ^ 97 | |
| = | 132 ^ 97 | |
| = | 0x84 ^ 0x61 | |
| = | (1000 0100) ^ (0110 0001) | |
| = | (1110 0101) | |
| = | 0xe5 |
Thus, h is equal to 0xe5606060:
UNIX> echo<PHONE_NUMBER> | awk '{ printf "0x%08x\n", $1 }' 0xe5606060 UNIX>Yay!!
I know that was detailed and probably very difficult. I'll make sure we go over it in class.
 Thus, we'll make the table size 200,000. We can see the hash values generated by piping badhash, djbhash and acmhash to awk, which will print the hash value mod 200,000:
UNIX> head names_100000.txt | badhash | awk '{ print $1%200000 }' 1341 1230 1928 1190 1180 1392 1711 1255 1572 1471 UNIX> head names_100000.txt | djbhash | awk '{ print $1%200000 }'<PHONE_NUMBER>5 49837 65483 86881 97205<PHONE_NUMBER>4<PHONE_NUMBER>2 UNIX> head names_100000.txt | acmhash | awk '{ print $1%200000 }' 10430<PHONE_NUMBER>9<PHONE_NUMBER>3 21690 76893 59060<PHONE_NUMBER>16 UNIX>You should see a red flag with BAD. All of those numbers are between 1000 and 2000. That's because the ASCII values of characters are between 67 and 127 (roughly), and if a name has 15 characters, that will give you hash values between 67*15 and 127*15. In other words, roughly between 1000 and 2000. That's not very good. The others look more random.
To evaluate even more, let's calculate all 100,000 hash values, pipe it through awk to print the numbers mod 200,000 and then pipe that through sort -un. This sorts the values numerically, stripping out duplicates. If we pipe that to wc, we can see how many distinct values are produced. The higher that number, the fewer collisions there are:
UNIX> cat names_100000.txt | badhash | awk '{ print $1%200000 }' | sort -un | wc 2305 2305 11106 UNIX> cat names_100000.txt | djbhash | awk '{ print $1%200000 }' | sort -un | wc 78605 78605 506578 UNIX> cat names_100000.txt | acmhash | awk '{ print $1%200000 }' | sort -un | wc 78610 78610 506934 UNIX>You can see how BAD produces just 2305 distinct hash values, while the others produce roughly 78600. They do a much better job of reducing collisions: only 25% of the hash values collide.
The nice thing about separate chaining is that it does not place limitations on the load factor. It should be pretty clear that if the load factor of a hash table with separate chaining is x, then the average size of each vector is x. That means that to find a piece of data in a hash table, the performance is going to linearly dependent on x. We'll demonstrate that below.
The code in cc_hacker.cpp programs up a simple hash table with separate chaining. It stores names and credit card numbers in the hash table. As command line arguments, it accepts a hash table size and a file of credit card numbers/names as in cc_names_10.txt:
5034036940778753 Samantha Bustle<PHONE_NUMBER>933149 Sydney Macaque<PHONE_NUMBER>288547 Eli Boone<PHONE_NUMBER>049815 Lillian Handiwork<PHONE_NUMBER>919633 Carson Shipmen<PHONE_NUMBER>455040 Joshua Lucid IV<PHONE_NUMBER>725811 Aaron Flaunt<PHONE_NUMBER>721062 Brooklyn Samantha Hoofmark<PHONE_NUMBER>318340 Avery Parsifal<PHONE_NUMBER>933479 Alyssa Kissing |
For each line, it creates a Person instance, calculates a hash of the name using DJB and then inserts the name into the hash table. Since we're using separate chaining, the hash table is a table of Person vectors. To insert a Person, we calculate the hash of the name, take it modulo the table size and call push_back() on the vector that is there.
After reading the table, we read names on standard input, and look them up in the table.
 Table entry 3 Enter a name> <CNTL-C> UNIX>Both "Eli Boone" and "Sydney Macaque" have hash values that equal 4 modulo 10. Therefore, they are in the same "chain". "Samantha Bustle" and "Jim Plank" both have hash values of 3 -- "Samantha Bustle" is in the hash table, and "Jim Plank" is not.
As mentioned above, the average number of entries in each "chain" is equal to the load factor. Therefore, the performance of lookup will be proportional to the load factor.
To demonstrate this, the file cc_names_100K.txt has 100,000 random names/credit cards, and cc_just_names_100K.txt has just the names, in a different order.
As we increase the table size, the program runs faster: (Redirecting standard output to /dev/null simply says to not print standard output).
UNIX> time cc_hacker 10 cc_names_100K.txt < cc_just_names_100K.txt > /dev/null 18.283u 0.234s 0:18.51 100.0% 0+0k 0+0io 0pf+0w UNIX> time cc_hacker 100 cc_names_100K.txt < cc_just_names_100K.txt > /dev/null 2.294u 0.098s 0:02.39 99.5% 0+0k 0+0io 0pf+0w UNIX> time cc_hacker 1000 cc_names_100K.txt < cc_just_names_100K.txt > /dev/null 0.545u 0.072s 0:00.61 100.0% 0+0k 0+1io 0pf+0w UNIX> time cc_hacker 10000 cc_names_100K.txt < cc_just_names_100K.txt > /dev/null 0.385u 0.070s 0:00.45 100.0% 0+0k 0+0io 0pf+0w UNIX>If we instead try to look up 100,000 names that are not in the table, will it run faster or slower? You tell me.
 However, suppose you have to work in constrained environments (e.g. embedded processors) with much tighter memory requirements. Then, being able to preallocate your hash table might be very important.
The remainder of these lecture notes are without computer code, because I want to give you the joy of programming these collision resolution strategies yourself!
With open addressing, you will generate a sequence of hash values for a given key until you find a value that corresponds to a free slot in the hash table. To be precise, you will generate a sequence of hash values, h0, h1, h2, ..., and you look at each in the hash table until you find the value (when you are doing look up), or until you find an empty hash table entry (when you are inserting, or when you are looking up a value that is not there). The various hi are defined as:
H() is the hash function, and F() is a function that defines how to resolve collisions. It is usually convenient to make sure that F(0, key) equals zero, and it is necessary for F(i, key) not to equal zero when i doesn't equal zero.
UNIX> djbhash Luther<PHONE_NUMBER> Rosalita<PHONE_NUMBER> Binky 216319842 Dontonio<PHONE_NUMBER> Frenchy 561643892 <CNTL-D> UNIX>These are the same hash values as in the beginning of these notes, so when we insert "Luther", "Rosalita" and "Binky", they will hash to indices 1, 4 and 2 respectively, so there are no collisions. Here's the hash table:
Dontonio hashes to 1, so we have a collision. Formally:
| h0 | = |<PHONE_NUMBER> + 0) % 10 = 1 |
| h1 | = |<PHONE_NUMBER> + 1) % 10 = 2 |
| h2 | = |<PHONE_NUMBER> + 2) % 10 = 3 |
Therefore, we insert "Dontonio" into index 3:
Similarly, "Frenchy" hashes to 2, so it collides and ends up in index 5:
If we try to find the key "Baby-Daisy", we first find its hash value using djbhash:<PHONE_NUMBER>. We'll have to check indices 2, 3, 4 and 5 before we find that index 6 is empty and we can conclude that "Baby-Daisy" is not in the table.
We'll use the same example -- "Luther", "Rosalita" and "Binky" are in the hash table and we want to insert "Dontonio".
Since there is a collision, we test values of hi until we find one that's not in the table:
| h0 | = |<PHONE_NUMBER> + 02) % 10 = 1 |
| h1 | = |<PHONE_NUMBER> + 12) % 10 = 2 |
| h2 | = |<PHONE_NUMBER> + 22) % 10 = 5 |
Thus, "Dontonio" goes into index 5:
Now when we insert "Frenchy", it collides at h0 = 2, but not at h1 = 3:
If we try to find "Baby-Daisy", we'll check indices 2, 3 and 6 to determine that she is not in the table.
Quadratic Probing can have an issue that all hash table entries are not checked by the various hi. For example, suppose we've inserted "Luther"<PHONE_NUMBER>), "Rosalita"<PHONE_NUMBER>), "Princess"<PHONE_NUMBER>), "Thor"<PHONE_NUMBER>), Waluigi (385020695) and "Dave"<PHONE_NUMBER>) into the table:
Suppose we want to now insert "Peach", which has has a hash value of 232764550. We go through the following sequences of hi:
| h0 | = | (232764550 + 02) % 10 = 0 |
| h1 | = | (232764550 + 12) % 10 = 1 |
| h2 | = | (232764550 + 22) % 10 = 4 |
| h3 | = | (232764550 + 32) % 10 = 9 |
| h4 | = | (232764550 + 42) % 10 = 6 |
| h5 | = | (232764550 + 52) % 10 = 5 |
| h6 | = | (232764550 + 62) % 10 = 6 |
| h7 | = | (232764550 + 72) % 10 = 9 |
| h8 | = | (232764550 + 82) % 10 = 4 |
| h9 | = | (232764550 + 92) % 10 = 1 |
| h10 | = | (232764550 + 102) % 10 = 0 |
| h11 | = | (232764550 + 112) % 10 = 1 |
| ... | ||
That's a problem, as we can't put "Peach" into the table. You need to do a little math to help ensure that hi covers all possible values. Having the table size be prime helps, as would different settings of c1 and c2 in the more general version of quadratic probing.
Let's try an example -- let's have H2 be equal to acmhash modulo the table size, and if that value is equal to 0, then set it to one. We'll start with "Luther", "Rosalita" and "Binky" in the table:
Again, we want to insert "Dontonio", whose hash value is<PHONE_NUMBER>. Since that collides, we need to calculate H2("Dontonio"), which equals<PHONE_NUMBER>%10 = 9. Thus h1 =<PHONE_NUMBER>+9)%10 = 0, and we can put "Dontonio" into index zero:
Next comes "Frenchy", whose hash value is 561643892. That collides, so we calculate H2("Frenchy"), which equals<PHONE_NUMBER>%10 = 7. Thus h1 = (561643892+7)%10 = 9, and we can put "Frenchy" into index nine:
Suppose we want to find "Baby-Daisy". Her hash value is<PHONE_NUMBER>, which collides with "Binky". H2("Baby-Daisy") is equal to<PHONE_NUMBER>%10=9. Therefore, we'll check hash locations 1, 0, 9 and 8 before seeing that she is not in the hash table.
Finally, as with quadratic probing, you need to be careful with double hashing. Suppose I try to insert "Ryan" into the hash table. The DJB hash value is<PHONE_NUMBER> and the ACM hash value is<PHONE_NUMBER>. Do you see why that's problematic:
| h0 | = |<PHONE_NUMBER> + 0*5) % 10 = 9 |
| h1 | = |<PHONE_NUMBER> + 1*5) % 10 = 4 |
| h2 | = |<PHONE_NUMBER> + 2*5) % 10 = 9 |
| h3 | = |<PHONE_NUMBER> + 3*5) % 10 = 4 |
| ... | ||
You can fix the problem in a few ways. The easiest, as with quadratic probing, is to make sure that the table size is a prime number. There are other fixes, but I won't go into them (maybe in class).


n2okpride
BOT
11-Jun-18 05:43 PM
ns408 do you need my aws account details?
I've got a call with our partner manager setup for 3pm PST today. @blackjok3r patchkez ns408 can you guys give me a range in funding we need to ask for please?
for the big test it depends on how many chains they want
#of chains * 2 cores * 1 hour
I think I can fit more chains than 1 on 2 cores, but this is something I need to test.
8196 chains gets us to 1.2Million TX/s
and that is what I have generated configs for.
Quick calculation comes out at about $50,000 per hour at 2 core per chain. and I am not sure you can even start 16392 containers and run the test withing a single hour
so enough for 20,000 core hours should be enough to achieve the million tx/s
Its hard to say without actaully testing on AWS itself.
yes, that is why we need the credits, so we can verify things
mining can be limited to 1/4 core on VULTR without issue. If we can do this on AWS, it will save a lot of money.
can you provide a document i can present later today so i'm prepared to make the right funding request?
i know there needs to be some initial testing to get the sizing correct, so let's split that project cost from the wider stress test requirements
partner manager also indicated we'd need to identify which AWS products will be in use
On our call last week they did mention the use of spot instances. let's try and factor that as an option in the proposal if it makes sense and meets our req
I tried to use spot for my tests on EC2, but that is not what will be used for full scale test.
for initial testing, I think we are good with 3 x c5.2xlarge instances which is 3 x 0.34$ per hour. we need to deploy these instances in one of these regions:
US West (Oregon) (us-west-2) or US East (N. Virginia) (us-east-1) where EKS service is available.
So it is like 1$ per hour for 3 instances, maybe we need to test 7 days (not full 24 hours per day, once we are done with testing for the day we can stop instance in order to not be charged). So it is like 84$ for instances.
We will use Amazon EKS (managed Kubernetes Service), Amazon Elastic Block store.
It is hard to predict exact cost because they charge you almost for everything e.g. network traffic.


Store Locations
Seattle
- Address: Pike Place Market
- Hours: 6AM-8PM
- Contact: 555-Fish-Cookies
- Best-Selling Cookie: Chinook Snickerdoodle
Tokyo
- Address: Studio Ghibli
- Hours:6AM-8PM
- Contact: 555-Fish-Biscuits
- Best-Selling Cookie: Matcha Sugar Cookie
Dubai
- Address: Burj Khalifa
- Hours:6AM-8PM
- Contact: 555-Fish-Treats
- Best-Selling Cookie: Tuna Fig Thumbprint Cookie
Paris
- Address: Eiffel Tower
- Hours: 6AM-8PM
- Contact: 555-Le-Fish
- Best-Selling Cookie: Mackerel Madelines
Lima
- Address: Pachacamac
- Hours:6AM-8PM
- Contact: 555-Pez-Galletas
- Best-Selling Cookie: Swordfish Chocolate Chip
Bring your family to get some delicious salmon cookies!
Check out our awesome merchandise!
Salmon Cookie Cutters: $5
Salmon Cookie
T-shirts: $25


Good Newwz Trailer Results In Meme Fest On Twitter, Here Are The Most Hilarious Ones
Ever since the trailer has hit the web world, the fans of the four stars are going gaga over it.
by Koimoi.com TeamGood Newwz Trailer hit the internet today and is leaving everyone entertained with its refreshing comedy. Akshay Kumar, Kareena Kapoor, Diljit Dosanjh and Kiara Advani have come together to make the people laugh out hard before wrapping up the year and looking at the trailer, we can say they’ll be successful in their motive.
Ever since the trailer has hit the web world, the fans of the four stars are going gaga over it. But apart from the appreciative tweets, there are also memes floating around which will make you even more excited for the film. Have a look-
Good Newwz is based on a major sperm goof-up between two couples with the same last name “Batra”. As the sperms of our lead male characters played by Akshay Kumar & Diljit Dosanjh get replaced, the comedy of errors builds up.
Earlier, Akshay Kumar and the Good Newwz team released the posters of the film. Sharing one of the posters, Akshay took to social media and wrote a hilarious caption: “Squeezing in some #GoodNewwz for you this #Christmas season.
Akshay also shared that “goof-ups are bound to multiply” with the movie.
Directed by Raj Mehta, the film is expected to continue the winning strike of Akshay Kumar.


This what Classing{js}
is all about , classes. Creating a class is very simple task , just call the function classing.Class
The defintion of the class
the created class
The easiest way to start is by writing the pattern in the follwing code and then continue with writing the defintion of your class:
var ClassName = classing.Class({ //Your defintion goes here });
before writing your class' components , you need to define the access level of these components. Assigning an access level to some components is done by placing them into one of the three access modifier objects : private , protected , or public
The access modifers of Classing{js}
follows the convetion of C++, which is that all the components of a certain access level are clustered together in a block specified by the access modifier (Unlike Java or C# in which every component is preceeded by the access modifier).
In Classing{js}
a block specifying an access level is writtenn as an object named with the related access modifier. For better understanding , take a look at this code :
var Test = classing.Class({ private : { //Your private compnents go here }, protected : { //Your protected components go here }, public : { //Your public components go here } });
You can ,of course, write one , two or all the three access modifers in your class (or you could write nothing if you want your class empty)
Now, you can start filling in your components , each inside its desired access level , in the same way you write proprties in a regular javascript object (again, don't forget the commas)
Here's an example of a full class :
var Person = classing.Class({ private : { counter:Static(0), name : null, }, public : { getCount : Static(function(){return Person.counter;}), Construct : function(){ Person.counter++; }, Name : { get : function() { return this.name; }, set : function(value) { this.name = value; } } } });
Now, we'll spend some time going through what you can put as a component for your class.
an attribute is a component which is not a method or a property (a property is a component that has a getter and a setter, as we'll know shortly). An attribute is simply written as :
attributeName : attributeValue
If you want to make this attribute static , just wrap the attributeValue
with the function classing.Static
(you could also use the global shortcut Static
)
attributeName : Static(attributeValue)
Here is an exmaple of a class with two attributes , a protecetd static attribute called ClassName, and a public non-static attribute called Id.
var AllAttributes = classing.Class({ protected : { ClassName : Static("AllAttributes") }, public : { Id : null } })
The attribute could be intialized to any value of any type but there's a little limitation on non-static attributes. A non-static attributes cannot be intialized to an object, doing so will throw an error.
var Matrix = classing.Class({ private : { internalArray : new Array() //Error } });
This limitation can be overcame by intially setting the attribute to null , then resetting it to the desired object inside the constructor of the class, like in the following example:
var Matrix = classing.Class({ private : { internalArray : null }, Construct : function() { this.internalArray = new Array(); } });
Methods are simply functions. They are defined in the same way used in regular javascript objects. They can be regular function or Classing{js}
overloaded functions, and like attributes if a method is desired to be static it's just wraped with the Static
function.
var Employee = classing.Class({ private : { counter : Static(0), hoursWorked : 0, hourlyRate : 10 }, public : { Construct : function() { Employee.counter++; }, getEmployeesCount : Static(function(){return Employee.counter}), calculatePayment : function() { return this.hoursWorked * this.hourlyRate; }, incraseHoursWorked : function () { this.hoursWorked++;}, changeHourlyRate : Function.create(xTyped , [ types(Number), function(newVal) { if(newVal > 0) { this.hourlyRate = newVal; } } ]) } });
As it appears in the above example. accessing any non-static component of the class inside one of its methods is done through this.componentName
, while accessing static components is done through className.componentName
The constructor function is a special method of the class, identified with the name Construct
. the constructor function gets called upon the creation of the object and cannot be invoked again. If you didn't write a constructor function for your class , a default (0-arguments) constructor will be automatically generated for the class. On the other hand , if you did define a constructor function , the default constructor will not be automatically generated and you must write it yourself. Like any other method , the constructor could be a regular function or Classing{js}
overloaded functions and follows the same rules in accessing the class' components.
A constructor can be in any access level. A class with a private constructor cannot be instantiated or extended. A class with a protected constructor cannot be instantiated but can be extended.
To create a copy constructor ,use the typed overloading mode of Function.create
and add an instance with an associated type of classing.xSelf
(or the global shortcut xSelf
) which points the class being created (Do Not use the class name in the copy constructor, doing so will throw an error)
Here's an example of a class with a default , a 1-argument and a copy constructors
var Human = classing.Class({ private: { age : 0 }, public: { Construct : Function.create(xTyped , [ types(), //Default function(){}, types(Number), //1-argument function(a) { if(a >= 0) { this.age = a; } }, types(xSelf), //Copy function(other) { this.age = other.age; } ]) } });
A property is a component that is defined with a getter and a setter. It's used to manipulate the attributes of the class (specially those with restricted access levels). It's defined as a regular javascript object with two functions named get and set
propertyName : { get : function(){...}, //the getter function set : function(value){...} , //the setter function }
Like attributes and methods , if a property is desired to be static it's just wrapped with the Static
function. Here is an example of a class that contains three proprties, one of them is static.
var PhoneBookRecord = classing.Class({ private : { count : Static(0), phoneNum : null, name : null }, public : { Construct : Function.create(xTyped , [ types(String , String), function(name , number) { PhoneBookRecord.count++; var NumPattern = new RegExp(/^\d{3}-\d{7}$/); var NamePattern = new RegExp(/^[A-Z][a-z]* [A-Z][a-z]*$/); if(NumPattern.test(number) && NamePattern.test(name)) { this.name = name; this.phoneNum = number; } } ]), NumberOfRecords : Static({ get : function() { return PhoneBookRecord.count; }, set : function(value){} }), PhoneNumber : { get : function() { return this.phoneNum; }, set : function(value) { var pattern = new RegExp(/^\d{3}-\d{7}$/); if(pattern.test(value)) { this.phoneNum = value; } } }, Name : { get : function(){ return this.name; }, set : function(value) { var pattern = new RegExp(/^[A-Z][a-z]* [A-Z][a-z]*$/); if(pattern.test(value)) { this.name = value; } } } } });
the NumberOfRecords
property is a static property that returns the value of the static attribute count
, which represents the number of records created so far, and because the setter of NumberOfRecords does nothing, assigning a new value to NumberOfRecords will change nothing.
The Name
property is used to get or set the attribute name
asocciated with the record. the setter function of Name performs a test before assigning a new value to the attribute name. the test checks if the new value is string of capital intials first and last name seperated by a whitespace. If the new value passes the test, it's assigned to name. If not , the value of name remains the same. A similar proccess happens with the Number
property that manipulates the phoneNum
attribute.
You can't call a non-static component from a static context, e.g. you can't access a non-static attribute from a static method. On the other hand, you can access static components from non-static context.
Instantiating an object of class you created through Classing{js} Class
is done in the same way any object in any language is instantiated , using the new
keyword.
To create a new PhoneBookRecord
we write:
var record1 = new PhoneBookRecord("John Doe" , "102-3456789");


UK Firefighters Say 25 Fire Engines on Site of Large Fire in Greater Manchester
MOSCOW (Sputnik) - Twenty-five fire engines and two aerial appliances have been dispatched to the site of a massive blaze in the British city of Bolton, located in the Greater Manchester area, the regional fire, and rescue service said early on Saturday.
According to local media reports, a fire has gripped a large student building.
"At 20.29 [20:29 GMT] on 15 November 2019, Greater Manchester Fire and Rescue Service were called to a fire at a 6-storey building on Bradshawgate, Bolton. There are 25 fire engines and two aerial appliances currently at the scene and firefighters are tackling the blaze using multiple jets", the Greater Manchester Fire and Rescue Service said in a statement.
The service advised local residents to shut their windows and doors and avoid the area.
Meanwhile, Transport for Greater Manchester said several roads in the area had been closed due to the fire.
There have been no reports about casualties due to the blaze.
One student has shared a video of the fire on her Twitter page.


Home
(current)
Resume
Portfolio
Websites | ITN
America
Microservices | Employee Timesheet
Microservices | Documents Library
Microservices | Comments Wall with Email
Microservices | Weekly Shift Scheduler
Microservices | Wordpress Blog Thumbnail Generator
Contact


« Previous Demo:
Responsive 3D Timeline
Back to the Codrops Article
Adaptive Thumbnail Pile Effect
with automatic grouping | Demo 2: delays
Demo 1
Demo 2
Demo 3
Sorry, only modern browsers.
←
Dribbble's Talent
Flu & You
Test Your Flu IQ
Unexpected Fatherly Faces and Feelings
On to Easter
Love Birds
Here Fishy fishy
Briefcase
Clipboard
Sweet pack
Growth in 2012 (Holiday Card)
Grady Wilson
More Cowbell


Handbuilt coffee table from our farmhouse collection.
Handbuilt coffee table from our farmhouse collection paired with a handbuilt end table.
Handbuilt bench from our farmhouse collection.
Sturdy and beautiful entertainment console. This product really ties a room together.
Handbuilt rolling cart to fulfill all of your entertainment needs!
Handbuilt wine rack from our farmhouse collection.


Code for generating Figures 3, 4, 5, & 7 of the following paper: Osinski & Kay (2016), Granule cell excitability regulates gamma and beta oscillations in a model of the olfactory bulb dendrodendritic microcircuit, J Neurophysiol. doi: 10.1152/jn.00988.2015 Code is designed to run in MATLAB R2015b Implementation is by Boleslaw Osinski , to whom questions should be addressed<EMAIL_ADDRESS>--------------------------------------------------------------------- The zipped folder includes the following .m files: InitNetwork_GCE.m - This function initializes network parameters OB_network_GCE.m - This is the numerical simulation of the Mitral-Granule network ILFP_GCE .m - This is a wrapper function for OB_netwrok_GCE.m. All simulation products as well as the simulated LFP are generated by this function ParamSweep_GCE.m - This is a wrapper function around ILFP_GCE.m. It evaluates the model for every combination of the two parameter inputs Rasterplot.m - Generates raster plot --------------------------------------------------------------------- Usage: 1. Unzip GCE_ModelDB.zip 2. Open MATLAB. Set MATLAB path to unzipped folder's directory. This can be done with MATLAB prompt commands like (where additional folders in the cd command may be necessary to find the new GCE_ModelDB folder) cd GCE_ModelDB addpath(pwd) 3. Open Fig3, Fig4, Fig5, or Fig7 directory and run the associated script (i.e. Fig3script.m) for producing the figures. Each folder includes it's own parameter file (i.e. OB_params_GCE_Fig3.txt) Notes: - Fig3script.m runs quickly and produces figures like those in the paper. I remade the figures for the Methods section (including Figure 3) at the very beginning of the revision process, and there were subsequent minor changes to the final model (such as adjusting changing the proportionality between Ca concentration and N-type current and [Ca] threshold for GABA release). The slightly different trajectories in Figure 3 resulting from these changes do not change the network behavior of the model.: Fig 3 A Fig 3 B Fig 3 C Fig 3 D - Fig4script.m runs for ~ 4min Fig4script.m uses the tightfig function which can be found at the MATLAB file exchange at http://www.mathworks.com/matlabcentral/fileexchange/34055-tightfig Fig 4 A.i - Fig5script.m runs for ~ 3.5hr - Fig5script.m uses the shadedErrorBar function which can be found at the MATLAB file exchange at http://www.mathworks.com/matlabcentral/fileexchange/26311-shadederrorbar and the coherencycpt function from the Chronux toolbox (Version 2.11) which can be downloaded at http://chronux.org - Fig7script.m runs for ~ 1.5hr


This was originally posted on Jeremy's blog way back in 2005. A few things have changed, specifically the possibility of using mocking tools that can mock concrete classes and mock without using Dependency Injection (DI) -- but Jeremy still thinks it's much cleaner to use DI ;-)
Dependency Injection is a specific usage of the larger Inversion of Control concept. In a nutshell, dependency injection just means that a given class or system is no longer responsible for instantiating their own dependencies. In this case “Inversion of Control” refers to moving the responsibility for locating and attaching dependency objects to another class or a DI tool. That might not sound that terribly profound, but it opens the door for a lot of interesting scenarios.
While there’s a fair amount of unnecessary buzz and hype about the concept, I’ve found Dependency Injection to be very advantageous for doing Test Driven Development without pulling your hair out. If you’ve seen articles or blog posts about Dependency Injection but don’t quite internalize the value of DI yet, here are the facts as I see them:
The PicoContainer team even has silly tee shirts printed up that say “I expected a paradigm shift, but all I got was a lousy constructor function.” DI is certainly a case where a minimum of effort supplies quite a bit of benefit. Don’t blow it off just because it seems trivial.
There are tools out there that do Dependency Injection in .Net. I use my own tool called StructureMap in my development, but I’m going to focus on only the concept of DI in this post.
My first experience with conscious usage of DI was a WinForms client communicating with the backend via web services that was built with the Model View Presenter (“Humble Dialog Box”) architecture for easier unit testing. Most screens in the client end up with something like this set of classes:
The presenter class without Dependency Injection might look like this.
public class
Presenter
{
private View _view;
private Model _model;
public Presenter(){}
public
object CreateView(Model model)
{
_model = model;
_view = new View();
_view.DisplayModel(model);
return _view;
}
public void
Close()
{
bool canClose =
true;
if (_view.IsDirty())
{
canClose = _view.CanCloseDirtyScreen();
}
if (canClose)
{
_view.Close();
}
}
public void
Save()
{
Service service = new Service();
service.Persist(_model);
}
}
This code cannot be unit tested in isolation because it has a tight coupling to a concrete implementation of both the WinForms UserControl (View) and the proxy class to a web service (Service). This code as is cannot function without both the User Interface and a web server running the backend. The point of using the MVP is to isolate most of the user interface logic away from the WinForms and web service mechanics to enable effective unit testing, so we’re missing something here. To unit test the presenter logic we’d like to replace the user interface and web service dependencies with a Mock object inside our test fixture classes. In order to mock the view and service, we first need to use the Dependency Inversion Principle to make the Presenter class depend on an abstracted IView and IService interface instead of the concrete UserControl and WebProxy classes. The next thing to do is to alter the Presenter class so that we can substitute at run time the mock objects instead of the concrete classes within the unit tests. This is where Dependency Injection comes into play.
There are a couple of different flavors of Dependency Injection (via Martin Fowler + the Pico guys)
My preference is to use the “Constructor Injection” flavor of DI. The mechanism here is pretty simple; just push the dependencies in through the constructor function.
public class
Presenter
{
private IView _view;
private Model _model;
private IService _service;
public Presenter(IView view, IService
service)
{
_view = view;
_service = service;
}
public
object CreateView(Model model){…}
public void
Close(){…}
public void
Save(){…}
}
[TestFixture]
public class
PresenterTestFixture
{
private IMock _serviceMock;
private IMock _viewMock;
private Presenter _presenter;
[SetUp]
public void
SetUp()
{
// Create the dynamic mock classes for
IService and IView
_serviceMock = new DynamicMock(typeof(IService));
_viewMock = new DynamicMock(typeof(IView));
// Create an instance of the Presenter class
using the mock objects
_presenter = new Presenter(
(IView) _viewMock.MockInstance,
(IService) _serviceMock.MockInstance);
}
}
One of the benefits of using Constructor Injection is that the constructor function now explicitly declares the dependencies of a class. I also thing Constructor Injection makes it easier for other developers to use your class because it expresses a contract. Give the class what it needs in its constructor function and it should be ready to function. It’s usually a best practice to create a valid object in as few steps as possible for ease of use. Using Constructor Injection also allows you to maintain more encapsulation by eliminating the need to expose getter and setter properties for dependencies like the IService interface that are immutable.
Exposing the dependencies in a constructor function is arguably a violation of encapsulation because now a client of Presenter would have to create instances of IView and IService first before calling the constructor function. To get around this issue I usually suggest a compromise. Create a second no argument constructor that builds the default instances for clients of Presenter to use. The “full” constructor is usually commented as a testing constructor. Some people think this pattern is evil redundancy, but it gets the job done.
// Testing constructor
public Presenter(IView view, IService
service)
{
_view = view;
_service = service;
}
// Default constructor
public Presenter() : this(new View(), new Service()){}
Setter injection is just creating a setter property to replace a dependency on a previously instantiated object. I don’t like Setter Injection because it requires extra, hidden steps to prepare an object to execute. I’ve been burned a couple times in the last year when I’ve inherited some code that depended on setters to set up dependencies. That being said, Setter Injection does work and is often necessary when you’re dealing with existing code. Michael Feathers recommends using Setter Injection as a dependency breaking technique for legacy code when a dependency is too difficult to expose through a constructor.
Here’s the Presenter class using Setter Injection.
public class
Presenter
{
private IView _view;
private Model _model;
private IService _service;
public Presenter()
{
_view = new View();
_service = new Service();
}
public IView View
{
get { return
_view; }
set { _view =
value; }
}
public IService Service
{
get { return
_service; }
set { _service =
value; }
}
public
object CreateView(Model model){…}
public void
Close(){…}
public void
Save(){…}
}
[TestFixture]
public class
PresenterTestFixture
{
private IMock _serviceMock;
private IMock _viewMock;
private Presenter _presenter;
[SetUp]
public void
SetUp()
{
// Create the dynamic mock classes for
IService and IView
_serviceMock = new DynamicMock(typeof(IService));
_viewMock = new DynamicMock(typeof(IView));
// Create an instance of the Presenter class
_presenter = new Presenter();
// Attach the Mock objects
_presenter.View = (IView) _viewMock.MockInstance;
_presenter.Service = (IService) _serviceMock.MockInstance;
}
}
Here’s a variation on Setter Injection I’ve seen other teams use. In the getter of the property, just create the default instance of the dependency if it hasn’t been created. I don’t like this approach because it hides the dependencies of a class. I think this is creating “Mystery Meat” dependencies and brittle code. In practice I thought that this made it difficult to retrofit unit tests into existing code. Of course, retrofitting unit tests onto existing code is always hard so maybe that’s really not a drawback.
// Always access the _view field through the Property
public IView View
{
get
{
if (_view ==
null)
{
_view = new View();
}
return _view;
}
set { _view =
value; }
}
An alternative to using Dependency Injection is to use a Service Locator to fetch the dependency objects. Using a Service Locator creates a level of indirection between a class and its dependencies. Here’s a version of the Presenter class that gets its IView and IService dependencies by asking StructureMap’s ObjectFactory class for the default type and configuration of IView and IService. While it is generally possible to use the Service Locator to return mock or stub objects inside test fixtures, I would still prefer to leave a testing constructor so the unit tests can be simpler. I find that using a Service Locator within a unit test can be confusing because it’s not clear where the mock object is used.
public class
Presenter
{
private IView _view;
private Model _model;
private IService _service;
public Presenter()
{
// Call to StructureMap to fetch the default
configurations of IView and IService
_view = (IView) StructureMap.ObjectFactory.GetInstance(typeof(IView));
_service = (IService) StructureMap.ObjectFactory.GetInstance(typeof(IService));
}
public
object CreateView(Model model){…}
public void
Close(){…}
public void
Save(){…}
}
I’ve seen several teams go their own way to create custom Service Locator’s, usually with a Singleton like this.
public class
ServiceFactory
{
private
static IService _instance = new
Service();
private ServiceFactory(){}
public
static IService GetInstance()
{
return _instance;
}
// Used to register mock or stub instances in
place of
// the concrete Service class
public
static void RegisterInstance(IService
instance)
{
_instance = instance;
}
}
I detest this pattern and I’ve been eliminating this from my team’s primary product. There are just too many opportunities to screw up your tests by not having isolated unit tests. It’s also unnecessary because there are existing tools specifically for this.
I’ve focused almost entirely on the value of Dependency Injection for unit testing and I’ve even bitterly referred to using DI as “Mock Driven Design.” That’s not the whole story though. One of original usages for Dependency Injection was to provide smoother migration paths away from legacy code. One evolutionary approach to replacing legacy code is the “Strangler” approach. Making sure that any new code that depends on undesirable legacy code uses Dependency Injection leaves an easier migration path to eliminate the legacy code later with all new code.
public
interface IDataService{}
// Now
public class
ProxyToNastyLegacyDataService : IDataService{}
// Later
public class
CleanNewCodeDataService : IDataService{}
public class
StranglerApplication
{
public
StranglerApplication(IDataService dataService){}
}
Another benefit of Dependency Injection is increasing the potential for reuse later. Going back to the MVP architecture, what if you need to replace the heavy WinForms client with an ASP.NET system? The View is obviously useless, and I think it’s probably silly to use a Web Service when a local class will do for the IService implementation. We can potentially reuse the Presenter class; just inject a different implementation for both IView and IService.
public class
ASPNetView : System.Web.UI.UserControl, IView
{
…
}
public class
LocalService : IService
{
…
}
public class
WebClientMasterController
{
public void
CreateView(Page page)
{
ASPNetView view = (ASPNetView) page.Controls[0];
Model model = this.GetModel();
IService service = new LocalService();
// Presenter can work with a different
concrete implementation of
// IView and IService
Presenter presenter = new
Presenter(view, service);
presenter.CreateView(model);
}
public Model GetModel(){return new
Model();}
}
Using Dependency Injection potentially adds some overhead to using the classes that don’t create their own dependencies. This is where one of the Dependency Injection tools can pay large dividends by handling this mechanical work and creating some indirection between clients and dependencies.
Links


Global Header
Functions
Datatables Support
CoatRack Administration - Service API Usage Reports
Dashboard Page Javascript


--- layout: default title: Shop permalink: /shop/ ---
Show your support and love of kittens with our Kitten Cause decal.
Available in 4" and 6" sizes and your choice of black, white, gold, or blue.
Send us a picture of your decal on our Facebook page and we'll feature it here!
We are preparing Kitten Cause shirts for sale. To find out when they are available, follow us on Facebook.


Quick search for Bootstrap
Simple library for searching any collection of elements. Useful for prototyping, when you don't have backend funcionality implemented, or for production, when you require ultra simple searching solution.
Code
Data attributes
You can use Quick Search purely through the markup API without writing a single line of JavaScript. This is based on Twitter Bootstrap’s conventions and should be your first consideration when using a plugin.
Add data-input="quick-search"
attribute to a text input element, which initiates Quick Search via data API.
Then you must specify a target collection. Use data-search-target
attribute and make sure it is pointing to a collection of elements, f.e. table rows, list items etc. The plugin searches for the text value within elements of the specified collection.
<input data-input="quick-search" data-search-target="#searchable-table tbody > tr" name="quick-search">
JavaScript
You don’t have to use data attributes, Quick Search can be also instantiated by JavaScript, just like ordinary jQuery plugin:
This plugin offers a few options, so it can be used without Twitter Bootstrap framework.
Example
Table
The more data you want to show, the more you need some way of filtering. This plugin features:
| Name | Occupation | Nationality | Age |
|---|---|---|---|
| Martin Freeman | Actor | United Kingdom | 32 |
| Dave Lister | Technician | United Kingdom | 26 |
| Martin Staněk | Webdesigner | Czech Republic | 29 |
| Nikola Tesla | Genius | Austrian Empire | 87 |
| James Bond | Ornithologist | American | 89 |
| Richard Feynman | Theoretical physics | American | 69 |
| Name | Occupation | Nationality | Age |
|---|---|---|---|
| ... | ... | ... | ... |

<input data-input="quick-search" data-search-target="#searchable-table tbody > tr" name="quick-search">

Name
Occupation
Nationality
Age

...
...
...
...


Please tell me about what you have lost - and about who you are (so we can find you if someone finds your something.)
Of course, everything you enter here is completely optional. The more data you give us, the more likely we will be
able to find you again, but really do not feel pressured to enter anything you are not comfortable with!
(The data you enter here might be put online after the event to search for the lost items; if so, the descriptions
and pictures will be put online, but your contact information will not be. For the duration of the event though
even the contact information is very much open!)
What have you lost?
What category does the lost item belong to?
When have you lost it?
Where do you think you might have lost it?
What is your name?
How can you be contacted at Nowhere?
How can you be contacted after Nowhere?
(Assuming that your item is found and we would like to tell you about it.)


Govt is working on an integrated gold policy, says FinMin official
The policy is aimed at promoting growth of the yellow metal industry and exports of jewellery
by Press Trust of IndiaThe government is working on an integrated gold policy, which is expected to be released soon, a senior finance ministry official said on Friday.
The policy is aimed at promoting growth of the yellow metal industry and exports of jewellery.
Niti Aayog has submitted a detailed report on gold policy and it is being examined, Joint Secretary in the Department of Economic Affairs Surinder Pal Singh said at an event here.
"Government is definitely looking into it. Definitely there will be a gold policy," he said.
The domestic industry has demanded a cut in import duty on gold to 4 per cent from the current 12.5 per cent.
Currently, there is no gold policy despite the fact that India is the largest consumer and importer of the precious metal.
The then finance minister Arun Jaitley had announced formulation of a comprehensive gold policy to develop the yellow metal as an asset class.


Christine Milne's panel show appearances
Christine Milne (born 1953-05-14[ref]) has appeared in 11 episodes between 2008-2017. Christine Milne on Wikipedia.
- 2017-11-14 / The Drum
- 2013-03-04 / Q&A
- 2012-06-04 / Q&A
- 2012-02-27 / Q&A
- 2011-07-25 / Q&A
- 2011-03-21 / Q&A
- 2010-09-06 / Q&A
- 2010-07-26 / Q&A
- 2010-05-03 / Q&A
- 2009-02-19 / Q&A
- 2008-07-10 / Q&A


We bring coding tasks first in the screening process allowing candidates and recruiters to save time.
If you are a job seeker check out all available jobs or if you are a recruiter, register now to post new jobs for free!
{{ job.location }}
View DetailsWe have helped {{ 'over'. people_hired if people_hired }} people find their dream jobs.


{% extends "core/base_guest.html" %} {% load i18n %} {% block title %}{{ title }}{% endblock %} {% block body_class %}register-box{% endblock body_class %} {% block content %}
{% trans "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." %}
{% trans "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." %}


Lucene Indexer Purpose This tool calls the methods to index the .html files and then create the graph structure.
How do I use this Page? If the user is using this without using Web Spider first, then the user must make sure the .html files are in the source_docs directory. Then the source_docs directory must be place in the jmapss directory in webapps. This tool will first index the .html files and create the .cfs files to be read into the graph structure. After the index is done then the graph structure is created. To view the nodes created use Graph Viewer to display them.
If user uses Web Spider first then reference the Web Spider User Guide.
If not using Web Spider.
Make sure a directory named source_docs is located in webapps/jmapss in tomcat. The source_docs directory should contain the .html files to be indexed.
The contents of the source_docs directory can contain directoryies or .html files.
User Interaction.
There is no user interaction with Lucene Indexer after the link on the home page is clicked. When this page is brought up the code is indexing the .html files and then creating the graph structure.
To see the nodes created reference the Graph Viewer User Guide.


Click in the open space to add a node, drag from
one node to another to add an edge
Ctrl-drag a
node to move the graph layout. Dragging will pin the
node to the location.
Press U to Un-pin the selected node.
Delete
removes the selected node or edge when mouse is within the editor.


And since then, I've been chilling. I mostly work on data science and other tech stuff. But I have a lot of interests and passions outside of that, and this projects sub blog is where you'll end up finding a lot of that. I like to always work on different side stuff. Alot of it involves travel, photography, and my friends. Occasionally though, you'll see a neat programming project or some neato css magic like this page (which is really just a copy of this.) Anyways, I hope you like what you see. Below are some pics from the time I backpacked Costa Rica and decided not to come back. I recomend you go there and do the same.


I Chews You
by: Kasey Kane and Sarah Breslin
>
What is ..
Hi, and welcome to I Chews You! This app helps you meet your four-legged best friend. To operate the app, the user must answer a series of questions that will later match them with a dog that best suits their wants and lifestyle.
List of desied features
- bio of each dog
- displays top match
- compatibility with different breeds
Non-prioritzed list of desired features
- implement a location where you can get the dog
- dog breed personality description
Languages and Platforms
Features We Have Learned
- Hosting on Azure
- Demonstrating different statements/calculations, functions
Beyond Knowledge Features
- sending message notifications and detailed emails, and going beyond what we did in MatchMaker.
Last updated entry- sprint-05, November 8, 2020


Growing up in Florida, my first professional career started in 2008 working in the hospitality industry (obviously... I mean Florida right?). I started at a major hotel company and worked my way through the ranks of the front office. Starting as a Night Auditor, then on days as a Guest Services Agent, then to Supervisor, and finally Manager.
I found myself working in Revenue Analysis in 2015. That's when I knew it was time for a career change. After teaching myself advanced excel functionality, I realized how much I enjoyed creating things that made life easier. Efficiency has always been my strength. Finding better ways to do things, especially when I would ask why we do things a certain way and was inevitably told, "Because we always have..."
It took three years to take the plunge, but I did it. After graduating General Assembly's Web Development Immersive, I never looked back. My new career was being forged with every class I attended, and I loved every second of it.
Here I am, a fresh graduate of General Assembly's Web Development Immersive. After 13 weeks of non-stop learning, I am still learning. But, the foundation that has been put together is strong, and the sky is the limit when it comes to building my skills!
Chief Snuggle Officer
Web Developer
Chief Foot Warming Officer
With a team like this, I can accomplish anything!


Conor Diggin
Home
About Me
Media
Photography
Design
Contact Me
Media
Video Work
Heads Or Tails
Skate Time
Skate Time 2
Home
About Me
Media
Photography
Design
Contact Me


Bacon Ipsum
Bacon ipsum dolor sit amet pancetta salami beef ribs ribeye ham. Ribeye strip steak boudin t-bone chuck tri-tip kielbasa sirloin frankfurter shankle ball tip ham short loin hamburger pork chop. Doner jowl tail, shoulder chicken beef ribs ribeye leberkas. Tongue corned beef fatback turkey pork chop bacon. Pork meatloaf andouille doner. Swine biltong ham pork chop tongue, shankle shank sausage jowl landjaeger bresaola boudin pork. Porchetta shank beef tongue cow, pork flank shankle rump pig.
Ground round shankle tongue chicken kevin fatback pancetta boudin strip steak doner shank drumstick pork loin ball tip short ribs. Kevin rump chicken ribeye salami tail andouille. Tenderloin shoulder drumstick biltong jowl short ribs capicola. Ham hock pastrami spare ribs tail doner frankfurter.
Pancetta ground round hamburger, tenderloin tail porchetta filet mignon prosciutto bacon. Prosciutto rump spare ribs boudin meatloaf doner flank chuck.  Tri-tip rump doner andouille tail, bacon ham jerky. Rump shank pastrami, sausage brisket chicken ribeye frankfurter andouille pork chop pork pancetta. Jowl tongue filet mignon jerky, prosciutto strip steak pastrami rump.
 Corned beef swine hamburger, porchetta prosciutto chicken ball tip pork loin. Ham ground round meatloaf bresaola swine, shoulder filet mignon porchetta drumstick beef pork. Cow kielbasa pork chop kevin landjaeger meatball jowl, frankfurter biltong shoulder tail.
Meatloaf landjaeger ground round brisket t-bone cow biltong pork belly andouille pancetta capicola sirloin. Kielbasa short loin meatloaf pig, ham flank strip steak pancetta bacon beef. Corned beef brisket rump t-bone pork. Ribeye leberkas sirloin kevin jowl.  Bresaola fatback pancetta ball tip brisket jerky pastrami sirloin drumstick kevin t-bone.
Tongue hamburger pork loin, rump kielbasa salami capicola spare ribs pork chop landjaeger t-bone porchetta. Beef ribs jerky ribeye bacon t-bone hamburger meatloaf shankle frankfurter pork belly. Meatball sausage beef, pork loin hamburger andouille meatloaf flank chicken venison pastrami porchetta ribeye. Cow rump tail, filet mignon sausage leberkas venison shankle short loin shoulder flank swine shank biltong.


Acceptable Use Policy
Use of the Services is subject to this Acceptable Use Policy. Capitalized terms have the meaning stated in the applicable agreement between User and Inventit.
User agrees not to, and not to allow third parties (including End Users) to use the Services:
- to violate, or encourage the violation of, the legal rights of others (for example, this may include allowing End Users to infringe or misappropriate the intellectual property rights of others in violation of the Digital Millennium Copyright Act);
- to engage in, promote or encourage illegal activity;
- for any unlawful, invasive, infringing, defamatory or fraudulent purpose (for example, this may include phishing, creating a pyramid scheme or mirroring a website);
- to intentionally distribute viruses, worms, Trojan horses, corrupted files, hoaxes, or other items of a destructive or deceptive nature;
- to interfere with the use of the Services, or the equipment used to provide the Services, by customers, authorized resellers, or other authorized users;
- to disable, interfere with or circumvent any aspect of the Services;
- to generate, distribute, publish or facilitate unsolicited mass email, promotions, advertisings or other solicitations ("spam");
IIDN Services Quota (BETA)
Your applications cannot exceed the following quota.
Models
Up to 5 Model types are allowed to be defined per account.
The maximum number of fields per model type is 20 (uid
and rev
fields are not included).
The total length of field values must be within 300.
Applications
You can create 1 application with up to 5 packages.
The size of each server application package (MOAT js and package.json) must be within 30,000
bytes in zip archive format.
You can upload up to 10 client application packages (MOAT Java/C and/or package.json).
Server Side Scripts (MOAT js)
The runtime environment terminates your script when it runs over 2 minutes by the next command committing, orthe memory is low
Devices
Up to 10 devices can be registered per account.
Requests
10 requests per second per account (The server may reject when it is busy even if the frequency is lower than that).
This document is an adaptation of the Heroku Terms of Service and the Google App Engine Terms of Service. The original works have been modified. Heroku, Inc. and Google, Inc. are not connected with and do not sponsor or endorse Inventit or its use of the works.


✎
AC
C
±
÷
7
8
9
×
4
5
6
-
1
2
3
+
0
.
=
Calculator
Open in Mobile Safari on your iPhone or iPad
Tap the 'Share' button
Choose 'Add to Home Screen'
×
Select a theme
Apple
TI
Dark
Light
BMB
Bubblegum
Pink Pastel
Unicorn


Above the fold image (
src
+
srcset
)
Scroll down...
Add New Markup
Lazy loading

using
src
Lazy loading

using
srcset
Lazy loading
<picture>
An image that doesn't exist
Oh no, the image didn't load :(
Lazy loading
<video>
(
autoplay
/GIF-like behavior)
The video autoplayed.


---
layout: main
---
{% include main/header.html %}
{% include main/whoarewe.html %}
{% include main/memories.html %}
{% include main/schedule.html %}
{% include main/speakers.html %}
{% include main/sponsors.html %}
{% include main/register.html %}
{% include main/travel.html %}
{{!-- include main/call4papers.html --}}
{{!-- include main/testimonials.html --}}
{% include main/subscriber.html %}
{% include main/footer.html %}


What started out as a cruel joke on our grandmother who was a well known baker in the Seattle Area eventually became a point of pride for our family and the city of Seattle. We are Salmon Cookies.
We are a family owned and operated local business and proud member of the greater NorthWest community. All our product is wild and sustainably line-caught salmon. We are currently featuring our Chinook Salmon Cookies and will be featuring them at our kiosk in the upcoming Ballard SeafoodFest!
Our kiosk will have a cookie making workshop for the kids, merchandise, and arts an arts and crafts station featuring salmon-based paints that will have your art smelling like a real-life fishing vessel for years to come!


The little girl gracefully cartwheeled around the garden with her fish creel dangling from her arm, hoping to catch an elusive eel for supper. [G|D]
She stepped lightly on her heels, smiling with genteel grace as she spun the great flywheel, her delicate hands guiding it with ease. [G|D]
He knelt down and peeled away the layers of the boat's keel, revealing a fresh coat of paint underneath and restoring the vessel to its original glory. [G|D]
She twirled around, her pinwheel spinning delightfully in the air as the music from the old steelreel blared, filling the room with a melody of joy. [G|D]


Create Property
View Property
Add User
Property Id
Property Value/Price
Property Owner Address
Create Property


Software Engineer/Architect/Team Leader: accomplished in all phases of the SDLC and project leadership; Hands-On Experience in database systems, Web service development, testing, distributed systems, and MVC architectures; Proven Team Leader and team builder of small engineering teams: Agile Proponent/End-User Focused.
Demonstrated skills in developing and maintaining Extract/Transform/Load (ETL) and analytical tools in distributed Big Data Environments. Working experience in developing RESTful Web Services (Flask/Spring Boot). Evaluated, selected, Database Implementations (Oracle/PostgreSQL/MySQL/MongoDB) and deployed a Big Data cluster for data analysis. Working experience in deploying applications to a cloud environment.
Accustomed to working with domain experts to optimize analytical algorithms for processing billions of data points in TB scaled data sets. Proven experience in solving complicated problems specific to the National Security domain.
Currently conducting independent study of Domain Driven Design, AWS, Web and API development (HTML/CSS/JS/Spring Boot), Airflow, Kubernetes, Ansible, and CI/CD.


Numbers 32:20
And Moses said unto them, If ye will do this thing, if ye will go armed before the LORD to war,


Module: Befog::Commands::Mixins::Selectable
Class Method Summary (collapse)
Instance Method Summary (collapse)
Class Method Details
+ (Object) included(target)
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/befog/commands/mixins/selectable.rb', line 5 def self.included(target) target.module_eval do option :provider, :short => :q, :description => "Select servers from this provider" option :region, :short => :r, :description => "Select servers from this region" option :image, :short => :i, :description => "Select servers using this image" option :keypair, :short => :x, :description => "Select servers using this keypair" option :group, :short => :g, :description => "Select servers using this security group" option :type, :short => :t, :description => "Select servers of this type (flavor)" option :id, :short => :z, :description => "Select server with the given ID" end end |
Instance Method Details
- (Object) run_for_selected(&block)
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/befog/commands/mixins/selectable.rb', line 39 def run_for_selected(&block) if bank? servers.each(&block) else banks.keys.each do |name| [:bank] = name if [:id] block.call([:id]) if servers.include?([:id]) else servers.each(&block) if ((not provider? or (bank["provider"] == provider_name)) and (not region? or (bank["region"] == region)) and (not image? or (bank["image"] == image)) and (not security_group? or (bank["group"] == security_group)) and (not flavor? or (bank["type"] == flavor))) end end end end |


From the video lecture, I have learned the definition of malware is a malicious software that is used to carry out unwanted behavior to a computer system. When we further analyze it, we can find out there the motives that drives these malware creations can be either destruction, spy, political gain or financial gains.
Through the research of malwares, they can be classified into Viruses, Trojans, and Potentially Unwanted Programs.
In order for anyone to protect themselves against any malicious software, we would need to understand how the malwares work. The easiest way to understand how the malwares work is by tracing back to how the system get infected in the first place and understand what vectors are used to infect the system. Common vectors are file types that users are familiar with so they will drop their guard and open up the file like the office files, PDF and emails. Other vector can be from unofficial downloads of apps and programs that user try to get for free and the apps and program can be altered without our knowledge. Another vector can be the use of USB sticks that does not belong to you and maybe tempered with. Common vector is internet, where user goes to unsecure or unsafe websites that are compromised. By understanding how these malwares are spread now gives us a fighting chance to protecting ourselves thanks to the antivirus research.
Thanks to top researchers and antivirus companies out there that are working around the clock studying and developing ways to crack the malwares and help keeping our system clean. They are like the doctors who prescribe medicines when we are sick and give us vaccination shots to prevent us from getting sick if the virus is seen again.
Malware researchers obtain the infected files and call them samples and keep them contained in an ‘inactive’ state so they are safe to be transported to other systems for studying. To study the samples, they would either study the code (static analysis) or have very strict environment of systems that are under their control and watch how the malware works(dynamic analysis>. Understanding what its purpose is a key to defeating it. Researchers will have to use multiple analytic tools to help them dissect the malware and find out where it is going, what it is hiding and what did it do. Some of these tools are provided to us to use in our labs like process explorer, process monitor, flypaper, and antispy…etc.
In addition, the malware threats are classified into three major categories.
In this week, we have a lab that get us a taste of how malware researchers study and analyze the malware (dynamic analysis). First we are given access to virtual machines that are isolated and before we start anything, always take a snapshot of the system because this is where you can always go back to when you lose control of the malware or you need to exam the action of the malware again from the beginning. The before mentioned tools are provided to us and we must run them first before running the malware sample. We used FlyPaper to stop program from exiting and block network. FakeNet, as the name suggests, set up a fake network protocol that will capture network requests. ProcessMonitor that shows us a log of timestamped program execution steps in the system. This is very useful to trace the program to see what it has done. ProcessExplorer is very similar to task manager that will show us the process that are executed on the system. AntiSpy provided many great features for us to investigate system files, system registry and properties. FileInsight is a hex editor that is great to look at the binary code of the malware that can help use decrypt the file. Another great tool to use is to calculate the MD5 hash or the SHA1 hash of the target file and to make sure a file is official or has it been tempered with by checking it against virustotal's file bank.
In conclusion, I feel like first week was presented with many new insights into how our systems are compromised and more importantly, learning more about malwares and having VM to allow us hands on lab and work on samples. Learning to use all the new tools and understanding what evil.exe is doing. Collaborating with classmates in piazza forum allows us to help each other troubleshoot, answer questions and share findings. An interesting blog that is shared by classmate is the Analysis of chinese attack against korean banks. It describes exact steps and functions of the same process we have seen in our lab 1 sample. Overall, I am very excited to see what else I will be learning regarding malwares and how to protect myself against them.


Interactive server-side Python shell for Google App Engine. (source)
{% if user %} {{ user.nickname }} (log out) {% else %} log in {% endif %} | Ctrl-Up/Down for history | Enter Ctrl-Enter submits


Typical Header
Remove 'lemongrid--fluid' classes for a fixed-width layout.
gutterless
1_1
1_3
1_6
1_6
1_3
1_2
1_3
nested
nested
nested
1_3
double-gutters (also double-gutters--left double-gutters--right)
(default 1_2 section)
gutterless (also gutterless--left gutterless--right)


Verify service unavailable
The Verify service is currently unavailable.
We won’t be able to verify your identity or allow you to sign your mortgage deed online until it’s working again.
Please try again later.
The Verify service is currently unavailable.
We won’t be able to verify your identity or allow you to sign your mortgage deed online until it’s working again.
Please try again later.


Extremely intelligents, crows are capable of solving logical problems with more than 3 puzzles assembled together. Due to it's incredible memory and logical thinking, crows have a great adaptative behavior, learning how to use the environment in it's own favour.


Step4: Banking project-Use Arrays to Represent Associations
Objective
In this lab you will use arrays to implement the multiplicity on the
association between a bank and its customers.
Directions
To the banking package, you will add the Bank class as
modeled by the UML diagram above. A bank object simply keeps track of an
association between itself and its customers. We will implement this
aggregate association with an array of Customer objects. We will
also need to keep a integer attribute that keeps track of how many customers
currently exist in the bank.
- Create the banking directory. Copy the previous Banking project
files in this package directory.
- Add two attributes to the Bank class: customers
(an array of Customer objects) and numberOfCustomers
(an integer that keeps track of the next customers array index).
- Add a public constructor that initializes the customers array
with some appropriate maximum size (at least bigger than 5).
- Add the addCustomer method. This method must construct a new
Customer object from the parameters (first name, last name)
and place it on the customers array. It
must also increment the numberOfCustomers attribute.
- Add the getNumOfCustomers accessor method, which returns
the numberOfCustomers attribute.
- Add the getCustomer method. This method returns the customer
associated with the given index parameter.
Testing
Compile and run the TestBanking program.
You shoud see the following output:
Customer [1] is Simms, Jane
Customer [2] is Bryant, Owen
Customer [3] is Soley, Tim
Customer [4] is Soley, Maria


--- layout: default ---
I will be on the 2023-2024 academic job market.
Sangmin Simon Oh
PhD Candidate, Joint Program in Financial Economics
The University of Chicago, Booth School of Business and Kenneth C. Griffin Department of Economics
I run a daily listserv called plausibly exogenous. You can sign up here and view past emails here.
June 2021: I was recently awarded the Yiran Fan Memorial Prize, generously established by Lars Hansen and Grace Tsiang in memory of Yiran Fan and his contributions to the Chicago Booth community. Please take a moment to commemorate Yiran's kind and generous spirit and his devotion to bringing fellow students, young researchers, and faculty as companions in learning.


When the platform is installed and operated in OIDC authentication mode, users are managed and authenticated by means of OpenID Connect in an external provider system such as Microsoft Azure Active Directory. Web-browser single sign-on (SSO) is supported; this means that a user once logged in and verified at the OIDC provider does not need to log in again to use different applications working with that same provider until he closes the browser session and/or logs out.
A tenant on the platform represents a configuration with all the settings and parameters required to connect to a specific tenant at the OIDC provider, for example, a specific domain and directory in Microsoft Azure Active Directory. The first and default tenant is created when the platform is installed.
Each organization and marketplace is assigned to a specific tenant when it is created. The initial operator organization is associated with the default tenant. Users trying to log in to a marketplace are authenticated by the OIDC provider of the tenant assigned to the marketplace. For access to the administration portal, the tenant to be used for authentication must be specified in the URL unless it is the default tenant.
On the Manage tenants page, you can create and manage tenants.
To create a tenant:
You as the platform operator are responsible for the correct configuration of tenants!
If you create a tenant with an invalid configuration, the tenant will still be available for selection when an organization or marketplace is created. In this case, no user will be able to log in.
To update a tenant:
In order to change the tenant configuration, you need to edit the corresponding file on the Docker host where the platform is deployed:
<docker>/config/oscm-identity/tenants/tenant-<id>.properties
To delete a tenant:


For JavaScript running in a web browser, timing is everything. The key to a great user experience is to have all HTML5, JavaScript and CSS code load quickly and seamlessly. The trick is to do it in such a way that the user isn't aware of all the time consuming loading and executing processes taking place. With that in mind, MobileSiteOS™ offers probably the most controlled script and page execution environment available.
This distinction is intentional and due to our base requirement that all software modules be loadable asynchronously. As explained under the "Modular Code" section of our "Development" pages, when all modules can load independently, there is no need for concern about module dependencies and whether or not all scripting is ready. Through very precise timing, the proper code is always ready in the proper order. This even works for most typical jQuery, Bootstrap and AngularJS code as well.
The drawback to this scheme is some added complexity. Thus much of our work on MobileSiteOS™ has been directed towards making it as developer friendly as possible.
The basic execution timing goes as follows:
/msos/base.min.js
and the application specific config.js
files are called in the document head of each page, using standard script
tags, and load synchronously.
config.js
file loads all JavaScript library dependencies and
non-modular MobileSiteOS™ code by injecting non-blocking "deferred"
(where available) script tags into the document head. For multi-page applications, this
includes a page specific external .js
file for each page. No JavaScript
module function calls are allowed directly in the page, for obvious reasons.
jQuery(document).ready()
method fires and calls our msos.check_deferred_scripts()
function. It checks to see whether all deferred scripts have loaded, or loops as needed
until they do.
msos.run_onload()
function. This is the main execution
control subroutine which evaluates the readiness of called modules and
also makes sure all browser environment, display size and cookie information
is ready too. Called modules may or may not be still loading at this point.
The msos.run_onload()
function loops over
itself until each level of programmed execution readiness is achieved.
msos.run_onload()
before all scripting components are allowed to execute. Localization modules
and the corresponding culture specific files they use are a good example of the
most taxing to this process. They each take presidence over the other in order to
make them fully available to the original calling module. Note also that, even though
a given loop through msos.run_onload()
may get to a certain
evaluation level, a new dependency might be added such that the evaluation process backs
up a step or two.
Simple right? We did mention that this was complex. Over time, our development efforts have shifted code loading and execution around to best address what works most efficiently in state of the art browsers. Thus, timing the calling and loading of code to best match a browser's ability to process it, is the key. The good news is that for the most part, all you need to know is this:
msos.require()
method, with the
module name entered as a "dot" separated string.
msos.provide()
method, with the
module name again entered as a string.
msos.require()
,
with that name entered as a string.
msos.onload_func_start
,
msos.onload_functions
and msos.onload_func_done
.
Simply "push" each function onto the appropriate array.
msos.onload_functions
array, but as
mentioned earlier, some process types like i18n
require further
layered code execution. Your more complex modules may too.


Yea! Cool page
This page is really cool. Please don't change anything!
This is some example text
This is some example text
This is some example text
This page is really cool. Please don't change anything!
This is some example text
This is some example text
This is some example text
No really, trust me dude!


10:15PM
A friend of mine gave me a 0.5mg tablet of Xanax (alprazolam) tonight, which I crushed up and put into a gelcap (for faster absorbtion than a solid pill would probably provide). I just gulped it down. It's been a few years since I've had Xanax.
10:25PM
I think that crushing the pill did indeed make a difference. I'm already beginning to feel some effect. Makes sense... a powder is much easier to digest and absorb than a solid tablet.
10:45PM
I'm feeling the effects now. They're rather mild, but nice. Similar to a low dose of GHB, but not nearly as euphoric. Just a calm, relaxed, sedate - yet clear-headed feeling. 0.5mg is a rather small dose, being the average adult anxiolytic dose, so of course I won't be feeling incredibly high. But this feels good. I know that I will sleep incredibly well tonight! Perhaps some cannabis to enhance the effects...
11:15PM
Well, it seems that Xanax takes about an hour to fully kick in. I figured what I felt at the 30 minute point was it - it didnt seem to be increasing any - but in the last 5 minutes the effects have intensified alot. I'm sure the fact that I smoked some cannabis with a few flakes of hash over it at 11 probably didn't hurt... Its much like GHB or (of course) other benzodiazepines. Its a little less euphoric than Valium, but I seem to have more physical effects. Much more feeling of muscle relaxation.
12:10AM
I feel at about the same place, maybe a hair stronger of a high. Its very much like Valium. I'd have a hard time telling them apart. It seems a little more clear headed and less euphoric, but not by much - and this is probably dosage related. I feel very relaxed and peaceful, listening to music is nice, I feel no urge to do much but sit and relax. Walking, I notice my coordination is a little impaired. I'm a little tired but not sleepy. The addition of cannabis to the mix is nice. I wouldn't go out of my way to look for this substance, but I'd certainly do it again if it crossed my path.
1:50AM
I don't feel a significant drop in effects. Maybe a slight one. Listening to music, and just relaxing. Nice.
2:30AM
The effects have noticably decreased, though they are still definately there. I'm beginning to feel the call of sleep. I think its safe to say this report can be wrapped up by saying that I'm going to go and get a nice, long nights sleep.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Poll: Majority of Voters Predict Trump Will Win Re-election
A poll released Wednesday shows a majority of registered voters expect President Donald Trump will be re-elected in 2020.
by Joshua CaplanThe Politico/Morning Consult survey shows 56 percent of respondents predict President Trump will win re-election. The poll shows 35 percent of Democrats, 85 percent of Republicans, and 51 percent of independents believe the president will beat his Democrat rival to serve a second term.
“President Trump’s reelection prospects seem to be energizing voter enthusiasm across the political spectrum,” Morning Consult vice president Tyler Sinclair told Politico. “Our data points show that Republicans and Democrats are equally inclined to say they are motivated and likely to vote in next year’s election.”
Nearly 40 percent of respondents, particularly 68 percent of Republicans, stated they will think about President Trump “a lot” at the voting booth.
The survey, which possesses 1,983 registered voters, was conducted between November 1 and 3, and has a margin of error for of two percentage points.


Pattiya Hemkat ( LID ) -----> Faculty of Technology and Environment -----> Prince of Songkla University Phuket Campus ----> Lid's 26th Birthday ----> Friday, May 26th at 7:00 pm
WELCOME TO
Portfolio
Pattiya Hemkat ( LID )
insert_chart
Portfolio


Severity: {{item.severity}}
Problem Type: {{item.problemType}}
Source: {{inst.source}} Base Score: {{inst.baseScore}} Base Severity: {{inst.baseSeverity}}
Vector: {{inst.vectorString}}
Exploitability: {{inst.exploitabilityScore}} Impact: {{inst.impactScore}}
Attack Vector: {{inst.attackVector}} Attack Complexity: {{inst.attackComplexity}}


Food regulator slaps notice on McDonald's for 'irresponsible advertising'
A full page advertisement by McDonald's in newspapers had said, "Stuck with Ghiya-Tori Again? Make the 1+1 Combo you love".
by Press Trust of IndiaFood regulator FSSAI has slapped a showcause notice on McDonald's for disparaging freshly cooked food and vegetables in its advertisements to promote fast food.
FSSAI slapped a showcause notice on Hard Castle and Connaught Plaza Restaurant Ltd - the franchise that operates McDonald's fastfood chain in India, seeking response on why action should not be initiated against them, a statement by the regulator said.
McDonald's had over the last weekend carried advertisements in newspapers seeking to get traffic at its outlets by allegedly disparaging home cooked food and healthy vegetables.
A full page advertisement by McDonald's in newspapers had said, "Stuck with Ghiya-Tori Again? Make the 1+1 Combo you love".
"FSSAI has noted with concern incidence of irresponsible advertising by some food companies to promote sales of their own foods often considered unhealthy as substitute for healthy foods," Food Safety and Standards Authority of India (FSSAI) said.


20 Jan 2015
There are 3 types of tests:
- Unit
- Functional
- Integration
Ranking according to:
Coverage:
Unit > Functional > Integration
Speed:
Unit > Functional > Integration
Realistic:
Integration > Functional > Unit
1) Unit Tests
- testing a component in isolation, focusing on 1 thing and making sure all cases are covered
- isolated components tested: routes, models, views, helpers
- allow you to thoroughly test all components.. as it is the closest to the code.
- is the fastest and gives you the best coverage
2) Functional Tests
- testing components in collaboration, making sure not only they work but that they play nicely with each other
- components tested: controllers (where everything interacts), typically once request/response cycle
3) Integration Tests
Builds upon functional tests in the sense that not only must play nicely together but they must achieve a desired business objective.
- Components tested: Goal is to emulate the user, typically occurs in browser and follows the entire business process and
that the business objective is achieved
There are multiple styles of testing.. it has become very much like an "art" as devs often times develop a taste of styles for what to test, when, etc. In this course, we will primarily write unit and functional tests leaving integration tests for important business workflows.
17 Jan 2015
A typically response to testing is "I don't have time, I have to meet my deadline"
As your project size increases, you technical debt increases to the nth degree as time passes.
The problem is that devs don't remember the code the wrote 3 months ago, so they have to do a "context switch"
and recall why they wrote the code they did. This often times can have a cascading effect of issues.
Rescue Projects:
That is why projects in this case are called rescue projects, bc they have to call in outside help to
fix their project. One of the first steps an outside company does to save rescue projects is create a test suite.
This is the pay off for the technical debt.
15 Jan 2015
Why Do we test our software?
Here, we are referring to automated testing:
What would be our alternatives:
Option 1. No tests at all:
this doesn't exist. This means that customers will do the testing for you. All software has bugs, so bugs encountered by your customers will make them aggravated and then you will lose them as customers, support costs will sky rocket
Option 2. Rely on QA Team - When we have a clear division b/w development
Typically for larger companies. Code is thrown over the wall to the QA team according feature scope or some other arbitrary milestone, for example.
* The QA Team writes design test cases according to code base and file bugs with the dev team.
* The code is authorized for release once everything is fixed.
This could create:
1. Organizational Trust Problems
communication b/w the teams typically is not very good. Including finger pointing, etc.
2. QA Team
- nobody likes them and they get blamed for everything. When everything works, devs take the credit
and when they don't work, the QA Team is blamed because their purpose is to catch things like that.
- Also, when deadlines, ship dates are missed, the dev team will often blame the QA Team for all the bugs or requirements
they have to work through. They complain that they don't have time to work on features bc of this.
- No one really aspires to be good "testers", typically its junior devs and there is a high-turnover bc no one typically wants to
stay there... therefore knowledge is lost.
- Release Cycles - typically both teams are competing for the same time bc each wants to a good job. This pushes back the deadlines.
Impact of having not automated tests
- Code quality - QA Team, developers, stakeholders, customers don't care as much
- Isolated Knowledge - only the developer can maintain that code, sometimes a form of job security
- How do you know the implemented feature works
- How do you know that things did not break as a result of this new feature - called regression problems
25 Dec 2014
This is a quick reivew of how to list all a catgories videos:
- @category.videos.each |video| do
link_to video, do
%img(src="#{video.small_cover_url}")
- @category.videos.each |video| do
link_to video_path(video), do
%img(src="#{video.small_cover_url}")
- @category.videos.each |video| do
link_to image_tag(video.small_cover_url), video_path(video)
- @category.videos.each |video| do
link_to image_tag(video.small_cover_url), video
20 Dec 2014
Writing Basic Haml
1. No closing tags
2. Nesting controlled via strict white-spacing and indenting
3. Nesting tags must be indented on a new line
4. Use spaces or tabs to nest tags within other tags
5. Tabs must be consistent
Examples:
Haml:
Links:
Haml:
%a{href: '/courses', title: 'Courses'} Courses
or
%a(href="/courses" title="Courses") Courses
HTML:
Courses
Divs:
Haml:
%section#content.container
%div.stats.container
HTML:

Haml will insert a div if no HTML tag is explicitly defined:
Haml:
Note: stats.container is the same as %div.stats.container
HTML

Adding Ruby:
- Lines to evaluated begin with a hyphen (-) instead of erb (<% %>)
- Lines to be output begin with an equals sign (=) instead of erb (<%= %>)
Haml:
- title = 'Rails for Zombies'
%h1= title
Erb:
<% title = 'Rails for Zombies' %>

<%= title%>

HTML output:

 Rails for Zombies

Loops:
Haml:
- zombies = %w{Ash Bob Jim}
%section#zombies
%ul
- zombies.each do |zombie|
%li= zombie
HTML:

Ash

Bob

Jim

You can use the same view helpers as before:
Haml:
=link_to "Check us out on twitter", "http://twitter.com/codeschool"
HTML:
<Check us out on twitter
Interpolation:
You can also use #{} interpolation to insert Ruby expressions
Haml:
%p Hi, My name is<EMAIL_ADDRESS>HTML:

 Hi, My name is Casey


<button id="increment-count">I have been
clicked 0 times</button>
, write JavaScript
that increases the value of the content of span#clicked-count by 1 every time
button#increment-count
is clicked.
<input type="checkbox" id="on-off">
Now you see
me

, write JavaScript that sets the display of div#now-you-see-me to
"none" when input#on-off is checked and to "block" when input#on-off is not
checked.
<input id="stopper" type="text" placeholder="Quick! Type STOP">
,
write
JavaScript that will change the background color of the page to cyan five
seconds after a page loads unless the field input#stopper contains only the
text "STOP".
<input type=”text” id=”fancypants”>
,
write JavaScript that changes the background color of the textbox to #E8F5E9
when the caret is in the textbox and turns it back to its normal color when
focus is elsewhere.When an event happens on an element, it first runs the listeners on it, then on its parent, then all the way up on other ancestors, until it reaches the document element.


Data Loading Spinner can be used to indicate the data fetch operation and once the data is successfully fetched spinner will get disappear from the grid.
Loading spinner is very useful, when Server Side Basic or Server Side Web Socket Data Binding operations are being executed. By default loading spinner is enabled and the Ornamentum will keep indicating the end user that the data retrieval process in progress.
showLoadingSpinner: boolean
Default Value: true
Target Component: <ng-data-table>
By default the Loading Spinner is enabled. Loading spinner can be displayed by setting true value to
showLoadingSpinner
property in table level in the data table configuration.
Following example depicts how to disable the Data Loading Spinner.
User can bind a custom template into the data loading scenario as desired. For additional Data Loading templates please refer Data Loading Template section.


#import <GUILogin.h>
Public Member Functions | |
| (IBAction) | - logIn: |
| (id) | - initWithParent: |
Protected Attributes | |
| IBOutlet NSTextField * | username |
| IBOutlet NSSecureTextField * | password |
| IBOutlet NSButton * | remember |
| id | owner |
The small login dialog that is displayed when a members user details are not stored. Fergus Morrow<EMAIL_ADDRESS>Definition at line 23 of file GUILogin.h.
| - (void) initWithParent: | (id) | parent |
This instantiates the object, opens the nib file and sets it's "owner" object.
Definition at line 19 of file GUILogin.m.
| - (IBAction) logIn: | (id) | sender |
Is called when a user clicks the "login button" - throws the users details back to the "owner" object.
Definition at line 26 of file GUILogin.m.
- (id) owner [protected] |
An instance of the class (InvisiView) which called this object
Definition at line 29 of file GUILogin.h.
- (IBOutlet NSSecureTextField*) password [protected] |
NSSecureTextField storing the password
Definition at line 26 of file GUILogin.h.
- (IBOutlet NSButton*) remember [protected] |
NSButton which is actually a Check Box, asking if the user wants their details remembered.
Definition at line 27 of file GUILogin.h.
- (IBOutlet NSTextField*) username [protected] |
NSTextField storing the username
Definition at line 25 of file GUILogin.h.


Wallet ID: {{newWallet.walletID}}
Timestamp: {{newWallet.timestamp}}
Public key: {{newWallet.publicKey}}
Private key: {{newWallet.privateKey}}
NOTICE: Once you navigate away from this page the private key is lost. Make sure you have manually saved it in a safe location.


shoot'Em
Don't let them get to you!
Enemy limit:
0
/
Mission!!!
Current kills:
0
/
Start
HOME
Congratulation! Mission Complete!
We all love some BACON!!!
GAME OVER! Mission Failed!
Start Again?
Instructions
Up and Down arrow keys: To move your shooter
Space bar: To shoot


Realme 5s display size and resolution confirmed
by SagarThe Realme 5s is arriving on November 20 and it will be sold through Flipkart. The e-commerce giant has already revealed a few specs of the Realme 5s like a 48MP quad camera and a 5,000 mAh battery, аnd now it has updated the landing page of the device on its site to tell us more about the display.
The Realme 5s, which looks similar to the vanilla 5, will sport a 6.51" screen. It was expected to come with a 1080p resolution, but that won't be the case since it will retain the 720p resolution of the Realme 5.
This will likely disappoint those who were expecting an upgrade to a Full HD display and at this point, we wonder what upgrades the Realme 5s will have over vanilla 5, other than the 48MP main camera.
That said, the image included on the landing page confirms the Realme 5s will arrive in Purple color along with Blue and Red.
There are five days until the announcement and hopefully we'll hear more about the device as time progresses.


Personal Website
A Personal Website.
Curriculum Vitae
A Portfolio Website.
Glassmorphism
A Glassmorphic Website.
Neumorphism
A Neumorphic Website.


soft_pretzel(5) - [RECIPES] soft pretzels (LICENSE:PD)
Description
Ingredients
Directions
Altons Homemade Soft Pretzels
Alton adapts an old bagel recipe and voila: homemade soft pretzels!
o 1 1/2 cups warm (110 to 115 degrees F) water o 1 tablespoon sugar o 2 teaspoons kosher salt o 1 package active dry yeast o 22 ounces all-purpose flour, approximately 4 1/2 cups o 2 ounces unsalted butter, melted o Vegetable oil, for pan o 10 cups water o 2/3 cup baking soda o 1 large egg yolk beaten with 1 tablespoon water o Pretzel salt
Combine the water, sugar and kosher salt in the bowl of a stand mixer and sprinkle the yeast on top. Allow to sit for 5 minutes or until the mixture begins to foam. Add the flour and butter and, using the dough hook attachment, mix on low speed until well combined. Change to medium speed and knead until the dough is smooth and pulls away from the side of the bowl, approximately 4 to 5 minutes. Remove the dough from the bowl, clean the bowl and then oil it well with vegetable oil. Return the dough to the bowl, cover with plastic wrap and sit in a warm place for approximately 50 to 55 minutes or until the dough has doubled in size.
Preheat the oven to 450 degrees F. Line 2 half-sheet pans with parchment paper and lightly brush with the vegetable oil. Set aside.
Bring the 10 cups of water and the baking soda to a rolling boil in an 8-quart saucepan or roasting pan.
In the meantime, turn the dough out onto a slightly oiled work surface and divide into 8 equal pieces. Roll out each piece of dough into a 24-inch rope. Make a U-shape with the rope, holding the ends of the rope, cross them over each other and press onto the bottom of the U in order to form the shape of a pretzel. Place onto the parchment-lined half sheet pan.
Place the pretzels into the boiling water, 1 by 1, for 30 seconds. Remove them from the water using a large flat spatula. Return to the half sheet pan, brush the top of each pretzel with the beaten egg yolk and water mixture and sprinkle with the pretzel salt. Bake until dark golden brown in color, approximately 12 to 14 minutes. Transfer to a cooling rack for at least 5 minutes before serving.
Recipe courtesy of Alton Brown, 2007
| Nemo Release 3.1 | soft_pretzel (7) | July 22, 2023 |


You don't believe in the Force, do you? Dantooine. They're on Dantooine. What!? Leave that to me. Send a distress signal, and inform the Senate that all on board were killed. Hokey religions and ancient weapons are no match for a good blaster at your side, kid.