 I have a Pi running the latest oem_gateway (i.e. read only) with data being sent to emoncms.org. I have 8 inputs being sent to emoncms.org. I have a very slow internet connection (0.5MBit/s on a good day). How much data is being uploaded by the Pi to emoncms.org? Does the amount of data increase over time?
The reason I ask is for the last 24 hours my internet has stopped working for general use (slow and intermittent) which it normally does when downloading large files. So I switched off the Pi this morning so nothing gets sent to emoncms.org and within a few minutes my internet was back to normal so I am suspecting that eventually the data transferred to emoncms.org gets bigger as time goes by. Would this be correct?
Thanks.
Re: Data Sent to emoncms.org
That shouldnt be the case, but I did notice some strange behaviour on some of the accounts posting to emoncms this morning where very large bulk upload's where being sent. I havent had a chance yet to look into a solution, Im not sure if the latest version of the oem_gateway has bulk upload disabled. Jerome and I discussed disabling it until emoncms.org could better handle these kinds of uploads.
Re: Data Sent to emoncms.org
I reverted the changes introducing bulk send.
https://github.com/Jerome-github/oem_gateway/commits/master
Historically, the python gateway as introduced in the Rapsberry Pi module used bluk sending. When designing the standalone gateway, I moved to json to gain the possibility of having names inputs, thinking internet connections are reliable enough that bulk sending is not necessary. This assumption is probably wrong. I tried to reactivate bulk sending recently but had issues of another kind (I think the timestamp written in the database was wrong, perhaps not so hard to fix from emoncms side, but this wasn't the time for that).
I then stepped back to json mode.
The issue here, I assume, is that the data is stored in the buffer faster than it can be send. Therefore, quickly, you get a bottleneck, and data is sent 100% of the time. And at some point, you'll lose some data when the buffer is going to be full.
This is your bandwidth. The only option you have now, I'm afraid, is to lower the frequency of your measurements.
From a bandwidth point of view, bulk sending would be a solution, rather than a problem. Assuming it can be handled by emoncms. (Trystan raised the point of an emoncms.org downtime, after which all RPi would simultaneously bulk send the data they had stored.)
We can assume that users of the gateway either use version distributed in the ready-to-go SD card (without bulk), either do regular git updates and use the latest version (also without bulk). I doubt many people would be using bulk version, which was latest only between oct. 25th and nov. 13th.
Re: Data Sent to emoncms.org
Thanks Jerome for the clarification.
hendersoniain, do you know what your post rate is?
Re: Data Sent to emoncms.org
Hi,
Thanks for the info. I had set the emoncms.org post rate to 5 seconds (fastest possible). I will reduce this to say 30 seconds and try again. However, I am away from home for the next week and have left the Pi switched off whilst I'm away.
Iain.


B-town celebs and kids attend the birthday bash of Riteish Deshmukh and Genelia D'Souza's son Riaan
by Kajol MathurRiteish Deshmukh and Genelia D'Souza's son Riaan Deshmukh turned 8 yesterday and celebrating the special day, the two hosted a special bash at a popular venue in the city. Truly a star-studded affair, Riaan was joined by various B-town stars and their little ones for the celebrations.
Present for the birthday bash were Abhishek Bachchan and Aishwarya Rai Bachchan with their daughter Aaradhya Bachchan, Misha and Zain Kapoor with mamma Mira Kapoor, Vivek Oberoi with his kids, Esha Deol along with daughter Radhya Takhtani, Rani Mukerji with daughter Adira, Tusshar Kapoor with son Laksshya Kapoor, Arpita Khan Sharma with son Ahil Sharma, Akshay Kumar’s daughter Nitara and various others.
Check out their pictures below.
Pictures Courtesy: Yogen Shah


After studying Random Linear Network Coding for last few weeks, I've decided to make use of it for designing data syncing protocol in p2p network. Client-server model works pretty well, but I can make better use of bandwidth of all participants when each plays role of both client & server. Assuming a chunk of data, which is owned by only one peer, has suddenly become popular. Lots of peers who has interest in that chunk could directly ask the only owner for chunk --- resulting into heavy load on owner. But one thing to notice, as interested peers progressively keep owning some portion of chunk, they could also help others with what they have now. This way only owner doesn't end up feeding all interested parties, rather interested parties also feed other interested parties. This calls for decentralised coordination --- which is not so easy. In p2p networks, piece collection is an important problem, where each interested peer tries to collect all pieces of whole data chunk. Because if owner sends whole chunk as a single entity, coordination is harder to define & manage, rather data chunk is splitted into multiple smaller pieces. Now interested peers will attempt to collect all pieces from owner & partial owners. Duplicate pieces are not helpful, every peer is looking for not-yet-seen pieces. As syncing tends to reach end, peers start seeing more duplicates, which results into longer sync time. Some pieces are rare, some are very rare and lots of peers attempting to collect those rare pieces, resulting into chaos in network.
For solving scope of rarest piece collection problem --- rather than
treating each piece as unique, I can combine fragments of pieces together and form whole new pieces,
which are not easily distinctive. From high level, it looks all pieces are more or less equally important.
Now peers don't collect original pieces from actual owner/ partial owners, rather they collect these
new pieces ( consisting of fragments of other pieces too ) and decode back to original when they've
collected enough useful pieces. While sharing these coded pieces, peers also share how have they combined
original pieces for constructing coded ones. Actually original pieces are randomly assigned some
coefficients/ weights i.e. pieces are added together while multiplying by respective random weights & coded pieces are formed.
If there're N-many original pieces, at least N-many useful coded pieces are required for reconstructing back
whole chunk.
This is what RLNC does, abstractly.
I start with a byte slice i.e. [97, 110, 106, 97, 110] which is owned
by N-many parties in p2p network. I could have asked one party to share that slice with me & I've the slice
now --- total N+1 owners. But I can also ask M ( < N )-many parties to share certain portion of slice
with me, concurrently, expecting I get whole slice faster. The effects are clearly visible when slice size is larger.
So I ask each of M-many peers to share few pieces with me, but wireless networks are unreliable inherently.
As my goal is reliably getting pieces as fast as possible, while transferring least possible bytes of data,
I decide to use coded piece distribution scheme. Each of M-many owner peers code original pieces & share coded pieces
with me, when I've enough of them, I decode them back to original byte slice. I can use RLNC for that.
If byte slice size is large, then I've to buffer all those coded pieces & at end when enough of them are collected,
I attempt to decode by performing computionally expensive large matrix inversion, which costs ~ O(n^3). First issue, I can't
understand what I'm receiving as I receive it, rather after I receive all, I try to figure out what I've received. I want to
have a scheme where I can work on decoded data, as I keep receiving remaining, while still enjoying benefits of network coding.
Second, I don't want to perform inversion of a large matrix. For solving second issue, I decide to split whole
byte slice into generations & pieces of each generation are coded together i.e. there's no cross-generation
coding/ decoding dependency. As generations are lot smaller in size, performing small matrix's inverse is not tiresome.
Introducing idea of generations also decreases waiting time before decoding, to a great extent. But still for a single generation's
decoding, I've to wait for receiving all coded pieces of generation.
In following design, I'm going to consider byte slice [97, 110, 106, 97, 110] as single generation, with 5 pieces i.e. each piece consists of only single symbol.
 The more
coordination, the more network traffic, the more bandwidth wastage. In plain & simple generational RLNC, randomly
coding coefficients are drawn from some agreed upon finite field. As coefficients are random, they need to be
accompanied with coded pieces for successful decoding.
As I've 5 pieces, I randomly choose 5 coefficients from Galois Field (2**8), which has
256 elements & perform coding. Coded piece & coding vector, both are carried over wire to peer.
One way to avoid sending coding vector, which is an overhead, is pair of peers
agreeing upon seed, used for generating random coding coefficients.
At beginning of session seed is shared & for rest of session it's used on receiver's
side for populating coding vectors --- now only {"coded_piece": 122} sent over wire,
in every round of piece transfer.
One important goal is to avoid obtaining linearly dependent pieces ( read useless pieces ), which is sometimes result of
randomly drawn coding coefficients. For sake for avoiding it, I choose to use prime numbers as coding coeffients
in a specific way.
Assume I'm working on a range, where I've 6 primes which are [2, 3, 5, 7, 11, 13] & my original pieces are [97, 110, 106, 97, 110]. I want to code & generate 5 pieces, while using primes as coding coefficients in ordered fashion, but I want to keep coordination as little as possible. I choose to use one sliding window technique, where each piece's coeffients are chosen from one prime ring buffer based on selected index, which I call coding index. For coding index i, start with filling coding vector's index i with prime number at index i ( primes are ascending ordered in ring buffer ), then following indices are filled with consequtive elements from ring buffer. If coding index > 0, first few remaining positions are filled in circular way with consequtive primes, continuing after point where left off while populating in forward direction.
| Original Piece | Coding Index | Coding Vector | Coded Piece | Over the Wire | |
|---|---|---|---|---|---|
| Coding Index | Coded Piece | ||||
| [97, 110, 106, 97, 110] | 0 | [2, 3, 5, 7, 11] | 112 | 0 | 112 |
| 1 | [13, 3, 5, 7, 11] | 101 | 1 | 101 | |
| 2 | [13, 2, 5, 7, 11] | 11 | 2 | 11 | |
| 3 | [13, 2, 3, 7, 11] | 106 | 3 | 106 | |
| 4 | [13, 2, 3, 5, 11] | 168 | 4 | 168 |
Actually I work on GF(2**8), having 256 elements i.e. from 0 to 255, which has 54 primes in range. I keep these primes in ascending sorted form in a ring buffer. I use these primes in ordered fashion for drawing coefficients. But it's not only sufficient, I introduce concept of various kinds of coded pieces based on how coding is being performed/ how coding coefficients are chosen from the prime ring buffer I just defined.
Base Coded Piece : A base coded piece is constructed by taking coding vector with all elements set to 1. As I work with original pieces [97, 110, 106, 97, 110], I choose my base coding vector [1, 1, 1, 1, 1], resulting into coded piece 106.
Decodable Coded Piece : A decodable piece is same as base coded piece, except only one element of coding vector
is > 1. As I'm only interested in prime numbers as coding coefficients, I choose
!= 1 coefficients from prime ring buffer. This piece is called decodable for a reason,
because it's very easily decodable when recipient party has one base coded piece too.
Though it's possible to fill any one position of coding vector with prime number, but
later I show how specifying/ communicating which certain index to fill with prime is helpful in designing
my protocol, while keeping bandwidth cost low.
Assuming I've two pieces, one base coded piece i.e. [1, 1, 1, 1, 1, 106] & other one decodable coded piece with coding index 0 i.e. [2, 1, 1, 1, 1, 201], I can instantly figure out respective original piece i.e. at index 0, because coding index is 0, for which coding coefficient was chosen > 1.
Rich Coded Piece : A rich coded piece, is indeed rich with coding coefficients i.e. coding vector has all elements
set as > 1, where these elements are selected from prime ring buffer. Randomly choosing primes
from ring buffer & preparing coding vector works pretty well, but little structured
operational mode brings in lots of benefits. Coding index can be specified here too, so that
where to start filling coding vector with primes can be easily defined. Here I choose coding index 0
for rich coding, which is why I start filling coding vector at index 0 with prime at index 0 of ring buffer i.e.
2. For remaining places, I start rolling over while plucking consequtive primes from ring buffer. And consequtive
elements are 3, 5, 7, 11.
If I've to work with coding index 1 & generate coding vector for rich coding, I'll
fill index 1 of coding vector with prime at index 1 i.e. 3. And next places rightwards
are filled with 5, 7, 11. Only one place remaining i.e. index 0 of coding vector, which I fill
with next element of prime ring buffer i.e. 13. So, I finally prepare coding vector [13, 3, 5, 7, 11]
while just knowing coding index 1.
Question is, how to use these piece construction techniques, so that I can decrease chance of getting duplicate coded pieces. I propose one way how peers can share pieces with recipient party which reduces scope of encountering duplicate pieces, even when multiple peers are acting as sender while maintaining little to no coordination among them.
As usual, I start with an example. Say, I want to have byte slice [97, 110, 106, 97, 110]
from 2 peers, who're having whole slice. Whole slice transfer is performed in single
generation.
I ask Peer_1 to start sending pieces from coding index 0, while using skip factor 2. I'm setting
skip factor 2, because I plan to connect to 2 peers & download pieces concurrently from both of them.
So Peer_1, shares 3 pieces with coding index [0, 2, 4].
Peer_1 starts with sharing base coded piece, where all elements of coding vector are set to 1.
Resulting into construction of coded piece 106.
After that peer enters loop, where it prepares decodable piece, with coding index set as 0.
Using this coding vector, it generate one decodable coded piece 201.
One thing to notice, during first decodable coded piece sharing, Peer_1 hasn't shared
any rich piece. But in next round, it'll.
In this round, coding index is 2, so coding vector is constructed by filling index 2
of coding vector with prime number at index 2 i.e. 5 & other elements set to 1. This coding
vector is used for decodable piece. Constructed coded piece is 223. But this is the round when
rich piece also needs to be shared, which is prepared by constructing respective coding vector
i.e. starting at index 2, filling up with prime at index 2 i.e. 5 & circularly filling other places
by drawing next primes from ring buffer. This results into rich piece 23.
This round, peer works with coding index 4, so it prepares decodable piece by putting 11 i.e. prime
at index 4 from prime ring buffer, at index 4 of coding vector, while filling up other places with 1.
Finally it results into decodable coded piece 225.
| Original Pieces | Coding Vector | Piece Type | Over-the-Wire | |
|---|---|---|---|---|
| Coding Index | Coded Piece | |||
| [97, 110, 106, 97, 110] | [1, 1, 1, 1, 1] | Base | NaN | 106 |
| [2, 1, 1, 1, 1] | Decodable | 0 | 201 | |
| [1, 1, 5, 1, 1] | Decodable | 2 | 223 | |
| [13, 17, 5, 7, 11] | Rich | 2 | 23 | |
| [1, 1, 1, 1, 11] | Decodable | 4 | 225 |
On the other hand, I ask Peer_2 to start at coding index 1, while using skip factor 2, due to
presence of two concurrent peers. It shares 2 pieces with coding indices [1, 3].
Peer_2 starts by sharing base coded piece, which is exactly same as what Peer_1 has also
shared.
Now it starts looping, with coding index 1, prepares coding vector by putting
1st prime number i.e. 3 of ring buffer, at index 1 of coding vector & all other places
filled with 1. Constructed decodable coded piece is 182.
This is the round, when rich piece to be also shared, along with decodable piece. With coding index 3,
because skip factor set to 2, first prepares coding vector for decodable piece, which results into
piece 49. For coding vector of rich piece, starts with filling up vector at index 3, with
3rd prime number 7, while putting next primes from ring buffer in circular fashion into
remaining places. As a result of it, constructed piece is 152.
| Original Pieces | Coding Vector | Piece Type | Over-the-Wire | |
|---|---|---|---|---|
| Coding Index | Coded Piece | |||
| [97, 110, 106, 97, 110] | [1, 1, 1, 1, 1] | Base | NaN | 106 |
| [1, 3, 1, 1, 1] | Decodable | 1 | 182 | |
| [1, 1, 1, 7, 1] | Decodable | 3 | 49 | |
| [13, 17, 19, 7, 11] | Rich | 3 | 152 |
I propose one modification in protocol, where receiver can specify whether it wants peer to send base coded piece or not. Because if it receives same base coded piece from two peers, which doesn't help anyhow. Rank of decoding matrix doesn't increase i.e. useless piece, no doubt. Receiver sets intension of receiving base coded piece from Peer_1 only.
It's a good time to run protocol & see what happens from receiver's perspective.
For receiver goal is to progressively keep decoding pieces & supplying to application
layer with least possible delay, while keeping computional cost as low as possible.
Receiver sees coded pieces in form ( coding-index, {base,decodable}-coded-piece, rich-coded-piece ).
When coding-index is empty, it's base coded piece at index 1 of received tuple. It should be received
only once from only one peer. If coding-index
is non-empty, tuple[1] is decodable coded piece. For non-empty coding-index cases, last element of tuple
may be non-empty sometimes, which denotes rich coded piece. One thing to note, when rich coded
piece is shared, decodable one is also shared, as both of them having same coding index, it's
sent over-wire only once --- some saving !
From Peer_1, first piece received is base coded piece. A base coded piece is base coded
because it's coding vector is simply [1, 1, 1, 1, 1].
So I've only [1, 1, 1, 1, 1, 106] in my decoding matrix.
Not enough for solving any equation. Then, Peer_2 shares one decodable piece with coding vector 1.
It denotes, it's possible to figure what's at index 1 of original piece slice, by row-reducing
decoding matrix. I update decoding matrix by appending [1, 3, 1, 1, 1, 182].
Coding vector recreation just from coding index is very easy on receiver's end, as it was
on sender's end.
Row reduction correctly reveals one element of original slice i.e. at index 1.
Again Peer_1 shares decodable piece with coding index 0. As coding index is 0, coding
vector can be formed easily i.e. [2, 1, 1, 1, 1].
Updating decoding matrix by appending [2, 1, 1, 1, 1, 201]
& attempting to row reduce reveals another piece i.e. at index 0 of original byte slice.
Till now, receiver has received 3 linearly independent pieces from 2 peers. So it's
decoding matrix has rank of 3.
It needs at least 2 more useful pieces for completely figuring out what's whole byte slice.
Fortunately, Peer_2 shares both decodable & rich coded pieces with coding index 3. Reconstructing
coding vector for decodable piece with coding index 3 is easy i.e. [1, 1, 1, 7, 1].
And for rich coded piece respective coding vector is [13, 17, 19, 7, 11].
Appending both of these pieces into coding matrix, reveals all pieces.
Though receiver makes use of other pieces received later, it doesn't make any change
in already decoded pieces. So receiver can ask Peer_1, which shares last two pieces, to
not send any more pieces.
Receiving party successfully decodes pieces in progressive mode, while collaborating
with two peers for syncing with least possible messaging overhead & also putting very
less computational burden on self.
This demonstration only shows how protocol should be working with single generation,
but in reality for syncing large chunks of data, it needs to work with multiple generations.
As data chunk is first splitted into generations & it's not a cross-generation scheme,
it syncs pieces of same generation from multiple peers, while also working on other generations
concurrently in a different session with few peers. For avoiding reception of duplicate pieces,
skip factor should be set optimistically. Say, when working with 3 peers for syncing data of
certain generation, skip factor set to 3. Now Peer_1 shares pieces with coding indices [0, 3, 6, ...],
when it was asked to start with coding index 0. Similarly other two peers share non-overlapping sets of pieces,
while only arguments shared over wire are starting coding index & skip factor. If noticed carefully,
I need to have (P+1)-many primes for working with P-many original pieces in a generation, while
not producing duplicate coded pieces. As I've 54 primes in 0 - 255 range, I can work with
53 pieces in a generation. So, splitting should be done while respecting this constraint.
It's still possible to receive few duplicate coded pieces, if some peer connection fails in mid of transfer,
so other peer comes into picture. Session initiation with new peer begins with same ( as used for failed peer )
starting coding index & skip factor, which might result into some duplicate pieces. But it can be avoided
by setting starting coding index of session, to where failed peer left off.
Though skip factor needs to be properly set to avoid scope of receiving duplicate pieces. It stays
quite negligible, but still can be improved.
I've written one simulator demonstrating protocol flow, which I keep here for future reference. I plan to write real implementation to get clear picture of protocol's benefits & limitations, so that I can revise it further. I'd love to learn about your suggestion.
Have a great time !


This game has mature content that is not suitable for children.

I confirm that I am an adult and wish to play the game.


WITNESS LIST County Affairs Committee March 28, 2001-7:30A HB 1091 For: Price, John Wiley (Dallas County) HB 1892 For: Combs, Robert (Self and City of Fort Worth City Council) HB 1950 For: Katz, Howard (Galveston City ESD 1; Association of Fire Districts & Emergency Services District) HB 1990 For: Miller, Kenneth K. (Greater Inwood Partnership) Sullaway, III, Guy B. (Self and International Paint) HB 2295 For: Breeding, John R. (Harris County Improvement District # 1) HB 2318 For: Kirkland, Pam (Texas Purchasing Management Association; City of Richardson) McCown, Jack R. (Self and Texas County Purchasing Association) Van GheLuwe, Denny (Harris County Purchasing Office; Texas County Purchasing Association) Against: Morin, Milt (Self) Sprinkle, G.K. (Daily Court Review) HB 2743 For: Campbell, Ken (Self and Safe-D; Travis County ESD # 10, # 9 and # 3) Carlton, John J. (Texas State Association of Fire and Emergency Districts) Chessmore, Michael (Self and Northwest Hays County Rural Fire Prevention District # 4; North Hays County VFD) Regnier, Ted (Volunteer Firemen's Insurance Service) Wherry, Shawn (Self and Canyon Lake Fire/EMS) Windisch, Fred (Self) HB 2744 For: Campbell, Ken (Self and Safe-D; Travis County ESD # 10, # 9 and # 3) Carlton, John J. (Texas State Association of Fire and Emergency Districts) Chessmore, Michael (Self and Northwest Hays County Rural Fire Prevention District # 4; North Hays County VFD) Regnier, Ted (Volunteer Firemen's Insurance Service) Windisch, Fred (Self) HB 2745 For: Campbell, Ken (Self and Safe-D; Travis County ESD # 10, # 9 and # 3) Carlton, John J. (Texas State Association of Fire and Emergency Districts) Chessmore, Michael (Self and Northwest Hays County Rural Fire Prevention District # 4; North Hays County VFD) Windisch, Fred (Self) HB 2746 For: Campbell, Ken (Self and Safe-D; Travis County ESD # 10, # 9 and # 3) Carlton, John J. (Texas State Association of Fire and Emergency Districts) Chessmore, Michael (Self and Northwest Hays County Rural Fire Prevention District # 4; North Hays County VFD) Windisch, Fred (Self) HB 2937 For: Allison, Jim (County Judges & Commissioners Association of Texas) Gieselman, Joe (Travis County) HB 3055 For: Mansour, Dan (Travis County) HB 3191 For: Adkisson, Tommy (Bexar County) Dougherty, Jack (City of Converse) Guerrero, Debra (City of San Antonio) Mixon, Carl (Bexar County Commissioners Court) Wood, William (City of San Antonio) On: Carlton, John J. (Texas State Association of Fire and Emergency Districts) Katz, Howard (Galveston County ESD 1) HJR 87 For: Campbell, Ken (Self and Safe-D; Travis County ESD # 10, # 9 and # 3) Carlton, John J. (Texas State Association of Fire and Emergency Districts) Windisch, Fred (Self) SB 588 For: Rippy, Elizabeth (Self)


There are some plugins that I advice you to use with awsm.css.
Fotorama
It's simple and powerful jQuery gallery by Artem Polikarpov. Homepage of the plugin — fotorama.io. Demo:
Photos by Andrey Okonetchnikov.
highlight.js & prism.js
The best syntax highlight libraries. First of them has more themes, but sometimes second works better. Which one to use? Up to you.
Homepages: highlightjs.org & prismjs.com. Demo of prism.js you can see below.
/* Create a border-triangle
* params:
* $direction: [top, right, bottom, left]
* $size
* $color
* $type: `display` value
*/
@mixin triangle($direction, $size, $color, $mode: 'normal', $type: inline-block) {
display: $type;
$direction-map: (
'top': 'bottom',
'right': 'left',
'bottom': 'top',
'left': 'right'
);
$opposite-direction: map-get($direction-map, $direction);
@each $d in top right bottom left {
@if $d == $opposite-direction {
border-#{$d}: $size solid $color;
}
@else {
@if $d != $direction {
@if $mode == 'normal' {
border-#{$d}: $size solid transparent;
}
@if $mode == 'wide' {
border-#{$d}: $size * 1.5 solid transparent;
}
}
}
}
}


Configuration Version
Configuration versions are the mechanism by which Vagrant 1.1+ is able to remain backwards compatible with Vagrant 1.0.x Vagrantfiles, while introducing dramatically new features and configuration options.
If you run vagrant init
today, the Vagranfile will be in roughly the following format:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# ...
end
The "2"
in the first line above represents the version of the configuration object config
that will be used for configuration for that block (the section between the do
and the end
). This object can be very different from version to version.
Currently, there are only two supported versions: "1" and "2". Version 1 represents the configuration from Vagrant 1.0.x. "2" represents the configuration for 1.1+ leading up to 2.0.x.
When loading Vagrantfiles, Vagrant uses the proper configuration object for each version, and properly merges them, just like any other configuration.
The important thing to understand as a general user of Vagrant is that within a single configuration section, only a single version can be used. You can't use the new config.vm.provider
configurations in a version 1 configuration section. Likewise, config.vm.forwarded_port
won't work in a version 2 configuration section (it was renamed).
If you want, you can mix and match multiple configuration versions in the same Vagrantfile. This is useful if you found some useful configuration snippet or something that you want to use. Example:
Vagrant.configure("1") do |config|
# v1 configs...
end
Vagrant.configure("2") do |config|
# v2 configs...
end
What is Vagrant::Config.run
? You may see this in Vagrantfiles. This was actually how Vagrant 1.0.x did configuration. In Vagrant 1.1+, this is synonymous with Vagrant.configure("1")
.


SCRIPT SRC before </head>
ms
Press CTRL+SHIFT+R or CTRL+F5 to reload with an empty cache = first impression.
View source to see how scripts are provided.
Time is calculated when window.onload
fires.
Try with different browsers. The time difference varies a lot.
head.js() calls are always separate from the page rendering. Does not matter whether you load on HEAD or on bottom. You can also load programmatically on demand.


TFrameBrowser component
property OnGetPostRequest: TGetPostRequestEvent;
property OnGetPostRequestEx: TGetPostRequestExEvent;
These event handlers allows the program to respond with an HTML document in stream form whenever a new document is requested.
The OnGetPostRequest event is retained for backwards compatibility. Use the OnGetPostRequestEx event for new applications -- it has additional parameters.
See the TGetPostRequestEvent and TGetPostRequestExEvent type for usage information.
See Also


COVID-Updates
Select A Country To Get Latest Stats and News on Coronavirus!
Select Country
Argentina
Australia
Austria
Belgium
Brazil
Bulgaria
Canada
China
Colombia
Cuba
Czech Republic
Egypt
France
Germany
Greece
Hong Kong
Hungary
India
Indonesia
Ireland
Israel
Italy
Japan
Latvia
Lithuania
Malaysia
Mexico
Morocco
Netherlands
New Zealand
Nigeria
Norway
Philippines
Poland
Portugal
Romania
Russia
Saudi Arabia
Serbia
Singapore
Slovakia
Slovania
South Africa
South Korea
Sweden
Switzerland
Taiwan
Thailand
Turkey
UAE
Ukraine
UK
USA
Venuzuela


Use these as packaging labels or gift tags. Made with free fonts from various sources, royalty-free graphics from the Gutenberg-SVG project, and design love from the 25x52 initiative.


Couple's Cyprus wedding saved as local businesses raise £7,000 for free package after Thomas Cook collapse
Craig Williams and Kirsty Ward had saved up for two years for their luxury £10,000 ceremony, which was due to take place on October 23 in front of 25 guests
by James Rodger, https://www.facebook.com/jamesrodgerjournalistA couple whose dream wedding in Cyprus was cancelled after Thomas Cook collapsed have tied the knot - after local businesses rallied to give them a free £7,000 package.

But after the tour operator went bust and left their plans in tatters generous businesses offered their services for free.
The couple swapped their vows a week later than they had planned.
The pair who have been together for 15 years, had spent two years planning their special day at the luxury King Evelthon Beach Resort and Hotel on the sun-kissed island of Cyprus.
However, their dream wedding turned into a living nightmare just three weeks before they were due to fly when they heard the devastating news that Thomas Cook had ceased trading.
Despair turned to delight when the White Hart Hotel in Harrogate, North Yorks., offered them a free package worth over £3,000 including a three-course wedding breakfast and drinks, room hire, accommodation and a DJ.
Hotel owner Simon Cotton then rallied other firms and the couple were offered catering, hair and make-up, flowers and entertainment for their big day worth £7,000 - all free of charge.
Despite the ceremony taking place almost 3,000 miles away from the five star resort they had previously booked, the made-up newlyweds said their wedding was even "bigger and better" than their original plans .
Customer service adviser Kirsty, 41, said: “I felt sick when I heard the news about Thomas Cook. It was such a sinking feeling. We were just gutted.
“Simon contacted us the next day and offered to put the wedding on for us and I was taken aback.
“It has been completely manic, it has all happened so fast.
“It was an amazing day. It was probably a lot better than what we had planned."
While the couple will eventually be refunded for their flight and hotel, they are still out of pocket having lost deposits paid for hair, make up, catering and entertainment.
Kirsty added: “I’ve been completely overwhelmed by the kindness and generosity shown by so many people and we can’t thank the people of Harrogate enough for wanting to do this for us.
“We just didn’t expect anything like this at all!"
The couple met through a mutual friend 15 years ago and hit it off straight away.
They live in Sheffield, South Yorks., with their three children - Ruby, 12, Grace, eight, and Alexander, three.
Craig, a car valeter, popped the question in Whitby in May 2017 and they immediately set about planning their dream day in the sun.
They picked out the King Evelthon Beach Hotel and Resort in Cyprus and had booked hair and makeup packages and a bouncy castle for the children to play on after the service.
Kirsty said: “We wanted to get married abroad. As soon as I saw the King Evelthon hotel in the brochure I fell in love with it.
“We did a full two years' planning and had paid deposits to businesses for things like hair and make up.
“The package for the wedding was £5,500 but we paid at least £10,000 for everything."
The pair tied the knot at the Grade II listed hotel in the picturesque spa town on Wednesday, October 30, in front of 25 close friends and family.
Craig and Kirsty were welcomed by the Mayor and Mayoress of Harrogate, councillor Stuart Martin and his wife April, who presented the couple with a magnum of Champagne to help kick off their party in style.
Blushing bride Kirsty also had her hair and makeup done for free and arrived at the venue in a 1930's style vintage Beauford Tourer.
Kirsty added: “One minute we’re counting the cost of losing our wedding day and the next thing, we’re in the middle of organising something bigger and better than it was originally going to be.
“It’s just amazing and Craig and I can’t believe how lucky we are.
“We will be forever grateful to all the people who’ve been so thoughtful and kind-hearted.”
Craig, 36, said: “I guess sometimes things happen for a reason but we had no idea upon hearing the bad news that we’d end up a few weeks later with more than we had originally planned .”
Simon Cotton, managing director for HRH Group, which owns the White Hart, said: "I’m also in the middle of planning my own wedding for next year and I really felt for this couple who’d spent all this time planning and saving up to then have it all taken away at the last minute and I couldn’t help but think we must try to do something .
“What started as an offer to provide the wedding venue and wedding breakfast and drinks turned into a wedding far bigger and with so much more than the couple had originally planned or could afford.”


datasets.at is a mirror for SmartOS datasets/images located in Germany.
To be able to use datasets.at as a source for datasets you need to add http://datasets.at/
to the sources list of imgadm
and refresh the dataset list.
datasets.at syncs with the default dataset server provided by joyent so it is also possible to replace the default entry completely.
First you should determine which version of imgadm your SmartOS box is using by executing imgadm --version
You'll either see a version like: imgadm 2.0.2
which indicates you're on a more recent version of SmartOS or the default command listing (because the older imgadm does not know about the --version switch)
echo "http://datasets.at/datasets" > /var/db/imgadm/sources.list imgadm update
imgadm sources -a http://datasets.at/ imgadm sources -d https://images.joyent.com imgadm update
The source deletion of https://images.joyent.com
can be skipped - it will just ensure that you'll grab every image from this mirror
imgadm sources -e
.
echo "https://datasets.joyent.com/datasets" > /var/db/imgadm/sources.list imgadm update
imgadm sources -d http://datasets.at/ imgadm sources -a https://images.joyent.com imgadm update
The builder is a short (work-in-progress) formula to generate a JSON file for use with vmadm
on a SmartOS host.
The formular is able to dynamically add nics, disks (or filesystems) and metadata to the JSON file. It also tries to simplify adding metadata by providing a list of supported metadata keys for the selected dataset/image.


Preparation time
less than 30 mins
Cooking time
30 mins to 1 hour
Serves
Serves 8-10
Dietary
This is a simple but impressive birthday cake. The syrup keeps the cake really moist, so it can be made in advance.
Preheat the oven to 180C/350F/Gas 4. Grease and line two 20cm/8in sandwich tins.
Melt the chocolate in a bowl set over a pan of simmering water.
Meanwhile, cream the sugar and butter together in a bowl until light and fluffy. Add the orange zest and juice and the melted chocolate. Slowly beat in the eggs, one at a time, until well combined.
Sift the flour, baking powder and cocoa powder into the mixture and fold until well combined. Divide the cake batter between the two sandwich tins and bake for 25-30 minutes, or until cooked through.
While the cakes are cooking, make the sugar syrup. Heat the sugar and water in a pan over a medium heat until the sugar has dissolved and the volume of the liquid has reduced slightly. Stir in the orange liqueur.
Once cooked, remove the cakes from the oven and set aside to cool for 10 minutes. Use a skewer to poke holes all over the cake, then pour over the syrup, letting it completely soak in after each addition. Leave to cool completely. Run a round-bladed knife around the inside edge of the tins to loosen the cakes, then remove them from the tins.
For the ganache, warm the double cream in a saucepan then remove from the heat. Stir in the chocolate and set aside for a few minutes to melt. Stir the ganache until smooth then add the orange liqueur. Set aside to cool.
To ice the cake, sit one cake on a serving plate and use the chocolate ganache to sandwich the cakes. Ice the top and sides of the cakes with the remaining ganache (use kitchen paper to clean up any spills). Allow the icing to set slightly, then smooth with a palette knife.


Profile
Include a coulpe of sentences about who you are and what makes you special.
Internships
Position, CompanyLocation
Timeline
Employment
Position, CompanyLocation
Timeline
Education
Institution, DegreeLocation
Timeline
Courses
Course NameInstitution
Timeline
References
REFERENCE from COMPANY
EMAIL | PHONE


Nations on Earth
“We travel, some of us forever, to seek other states, other lives, other souls.”
Starts with...
Contains ...


--- layout: post title: "Auto-mocking Container" description: "A unit test pattern" date: 2013-03-11 07:37:00 UTC tags: [Unit Testing, Dependency Injection, Castle Windsor, Design Patterns] image: "/content/binary/auto-mocking-container-pattern-sequence-diagram.png" image_alt: "Auto-mocking container pattern sequence diagram." --- {% include JB/setup %}
{{ page.description }}
This article describes a unit test pattern called an Auto-mocking Container. It can be used as a solution to the problem:
How can unit tests be decoupled from Dependency Injection mechanics?
By using a heuristic composition engine to compose dynamic Test Doubles into the System Under Test
A major problem with unit tests is to make sure that they are robust in the face of a changing system. One of the most common problems programmers have with unit tests is the so-called Fragile Test smell. Every time you attempt to refactor your code, tests break.
There are various reasons why that happens and the Auto-mocking Container pattern does not help in all cases, but a common reason that tests break is when you change the constructor of your System Under Test (SUT). In such cases, the use of an Auto-mocking Container can help.
In order to decouple a unit test from the mechanics of creating an instance of the SUT, the test code can repurpose a Dependency Injection (DI) Container to compose it. The DI Container must be customizable to the extent that it can automatically compose dynamic Test Doubles (mocks/stubs) into the SUT.
It's important to notice that this technique is a pure unit testing concern. Even if you use an Auto-mocking Container in your unit test, you don't have to use a DI Container in your production code - or you can use a different DI Container than the one you've chosen to repurpose as an Auto-mocking Container.
When a test case wants to exercise the SUT, it needs an instance of the SUT. Instead of creating the SUT directly by invoking its constructor, the test case uses an Auto-mocking Container to create the SUT instance. The Auto-mocking Container automatically supplies dynamic mocks in place of all the SUT's dependencies, freeing the test writer from explicitly dealing with this concern.
This decouples each test case from the mechanics of how the SUT is created, making the test more robust. Even if the SUT's constructor is refactored, the test case remains unimpacted because the Auto-mocking Container dynamically deals with the changed constructor signature.
Use an Auto-mocking Container when you are unit testing classes which utilize DI (particularly Constructor Injection). In a fully loosely coupled system, constructors are implementation details, which means that you may decide to change constructor signatures as part of refactoring.
Particularly early in a code base's lifetime, the system and its internal design may be in flux. In order to enable refactoring, it's important to be able to change constructor signatures without worrying about breaking tests. In such cases, an Auto-mocking Container can be of great help.
In well-established code bases, introducing an Auto-mocking Container is unlikely to be of much benefit, as the code is assumed to be more stable.
Auto-mocking Containers are also less ideally suited for code-bases which rely more on a functional programming style with Value Objects and data flow algorithms, and less on DI.
Use an existing DI Container, but repurpose it as an Auto-mocking Container. Normal DI Containers don't serve dynamic mock objects by default, so you'll need to pick a DI Container which is sufficiently extensible to enable you to change its behavior as desired.
In order to extend the DI Container with the ability to serve dynamic mock objects, you must also pick a suitable dynamic mock library. The Auto-mocking Container is nothing more than a 'Glue Library' that connects the behavior of the DI Container with the behavior of the dynamic mock library.
Some open source projects exist that provide pre-packaged Glue Libraries as Auto-mocking Containers by combining two other libraries, but with good DI Containers and dynamic mock libraries, it's a trivial effort to produce the Auto-mocking Container as part of the unit test infrastructure.
In order to understand how unit tests can become tightly coupled to the construction mechanics of SUTs, imagine that you are developing a simple shopping basket web service using Test-Driven Development (TDD).
To keep the example simple, imagine that the shopping basket is going to be a CRUD service exposed over HTTP. The framework you've chosen to use is based on the concept of a Controller that handles incoming requests and serves responses. In order to get started, you write the first (ice breaker) unit test:
[Fact] public void SutIsController() { var sut = new BasketController(); Assert.IsAssignableFrom<IHttpController>(sut); }
This is a straight-forward unit test which prompts you to create the BasketController class.
The next thing you want to do is to enable clients to add new items to the basket. In order to do so, you write the next test:
[Fact] public void PostSendsCorrectEvent() { var channelMock = new Mock<ICommandChannel>(); var sut = new BasketController(channelMock.Object); var item = new BasketItemModel { ProductId = 1234, Quantity = 3 }; sut.Post(item); var expected = item.AddToBasket(); channelMock.Verify(c => c.Send(expected)); }
In order to make this test compile you need to add this constructor to the BasketController class:
private ICommandChannel channel; public BasketController(ICommandChannel channel) { this.channel = channel; }
However, this breaks the first unit test, and you have to go back and fix the first unit test in order to make the test suite compile:
[Fact] public void SutIsController() { var channelDummy = new Mock<ICommandChannel>(); var sut = new BasketController(channelDummy.Object); Assert.IsAssignableFrom<IHttpController>(sut); }
In this example only a single unit test broke, but it gets progressively worse as you go along.
Satisfied with your implementation so far, you now decide to implement a feature where the client of the service can read the basket. This is supported by the HTTP GET method, so you write this unit test to drive the feature into existence:
[Fact] public void GetReturnsCorrectResult() { // Arrange var readerStub = new Mock<IBasketReader>(); var expected = new BasketModel(); readerStub.Setup(r => r.GetBasket()).Returns(expected); var channelDummy = new Mock<ICommandChannel>().Object; var sut = new BasketController(channelDummy, readerStub.Object); // Act var response = sut.Get(); var actual = response.Content.ReadAsAsync<BasketModel>().Result; // Assert Assert.Equal(expected, actual); }
This test introduces yet another dependency into the SUT, forcing you to change the BasketController constructor to this:
private ICommandChannel channel; private IBasketReader reader; public BasketController(ICommandChannel channel, IBasketReader reader) { this.channel = channel; this.reader = reader; }
Alas, this breaks both previous unit tests and you have to revisit them and fix them before you can proceed.
In this simple example, fixing a couple of unit tests in order to introduce a new dependency doesn't sound like much, but if you already have hundreds of tests, the prospect of breaking dozens of tests each time you wish to refactor by moving dependencies around can seriously hamper your productivity.
The problem is that the tests are too tightly coupled to the mechanics of how the SUT is constructed. The irony is that although you somehow need to create instances of the SUT, you shouldn't really care about how it happens.
If you closely examine the tests in the motivating example, you will notice that the SUT is created in the Arrange phase of the test. This phase of the test is also called the Fixture Setup phase; it's where you put all the initialization code which is required before you can interact with the SUT. To be brutally honest, the code that goes into the Arrange phase is just a necessary evil. You should care only about the Act and Assert phases - after all, these tests don't test the constructors. In other words, what happens in the Arrange phase is mostly incidental, so it's unfortunate if that part of a test is holding you back from refactoring. You need a way to decouple the tests from the constructor signature, while still being able to manipulate the injected dynamic mock objects.
There are various ways to achieve that goal. A common approach is to declare the SUT and its dependencies as class fields and compose them all as part of a test class' Implicit Setup . This can be an easy way to address the issue, but carries with it all the disadvantages of the Implicit Setup pattern. Additionally, it can lead to an explosion of fields and low cohesion of the test class itself.
Another approach is to build the SUT with a helper method. However, if the SUT has more than one dependency, you may need to create a lot of overloads of such helper methods, in order to manipulate only the dynamic mocks you may care about in a given test case. This tends to lead towards the Object Mother (anti-)pattern.
A good alternative is an Auto-mocking Container to decouple the tests from the constructor signature of the SUT.
In this example you repurpose Castle Windsor as an Auto-mocking Container. Castle Windsor is one among many DI Containers for .NET with a pretty good extensibility model. This can be used to turn the standard WindsorContainer into an Auto-mocking Container. In this case you will combine it with Moq in order to automatically create dynamic mocks every time you need an instance of an interface.
It only takes two small classes to make this happen. The first class is a so-called SubDependencyResolver that translates requests for an interface into a request for a mock of that interface:
public class AutoMoqResolver : ISubDependencyResolver { private readonly IKernel kernel; public AutoMoqResolver(IKernel kernel) { this.kernel = kernel; } public bool CanResolve( CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency) { return dependency.TargetType.IsInterface; } public object Resolve( CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency) { var mockType = typeof(Mock<>).MakeGenericType(dependency.TargetType); return ((Mock)this.kernel.Resolve(mockType)).Object; } }
The ISubDependencyResolver interface is a Castle Windsor extensibility point. It follows the Tester-Doer pattern, which means that the WindsorContainer will first call the CanResolve method, and subsequently only call the Resolve method if the return value from CanResolve was true
.
In this implementation you return true
if and only if the requested dependency is an interface. When this is the case, you construct a generic type of Moq's Mock<T> class. For example, in the code above, if dependency.TargetType
is the interface ICommandChannel, the mockType
variable becomes the type Mock<ICommandChannel>.
The next line of code asks the kernel to resolve that type (e.g. Mock<ICommandChannel>). The resolved instance is cast to Mock in order to access and return the value of its Object property. If you ask the kernel for an instance of Mock<ICommandChannel>, it'll return an instance of that type, and its Object property will then be an instance of ICommandChannel. This is the dynamic mock object you need in order to compose a SUT with automatic Test Doubles.
The other class wires everything together:
public class ShopFixture : IWindsorInstaller { public void Install( IWindsorContainer container, IConfigurationStore store) { container.Kernel.Resolver.AddSubResolver( new AutoMoqResolver( container.Kernel)); container.Register(Component .For(typeof(Mock<>))); container.Register(Classes .FromAssemblyContaining<Shop.MvcApplication>() .Pick() .WithServiceSelf() .LifestyleTransient()); } }
This is an IWindsorInstaller, which is simply a way of packaging Castle Windsor configuration together in a class. In the first line you add the AutoMoqResolver. In the next line you register the open generic type Mock<>. This means that the WindsorContainer knows about any generic variation of Mock<T> you might want to create. Recall that AutoMockResolver asks the kernel to resolve an instance of Mock<T> (e.g. Mock<ICommandChannel>). This registration makes this possible.
Finally, the ShopFixture scans through all public types in the SUT assembly and registers their concrete types. This is all it takes to turn Castle Windsor into an Auto-mocking Container.
Once you've done that, you can start TDD'ing, and you should rarely (if ever) have to go back to the ShopFixture to tweak anything.
The first test you write is equivalent to the first test in the previous motivating example:
[Fact] public void SutIsController() { var container = new WindsorContainer().Install(new ShopFixture()); var sut = container.Resolve<BasketController>(); Assert.IsAssignableFrom<IHttpController>(sut); }
First you create the container and install the ShopFixture. This is going to be the first line of code in all of your tests.
Next, you ask the container to resolve an instance of BasketController. At this point there's only a default constructor, so Auto-mocking hasn't even kicked in yet, but you get an instance of the SUT against which you can make your assertion.
Now it's time to write the next test, equivalent to the second test in the motivating example:
[Fact] public void PostSendsCorrectEvent() { var container = new WindsorContainer().Install(new ShopFixture()); var sut = container.Resolve<BasketController>(); var item = new BasketItemModel { ProductId = 1234, Quantity = 3 }; sut.Post(item); var expected = item.AddToBasket(); container .Resolve<Mock<ICommandChannel>>() .Verify(c => c.Send(expected)); }
Here an interesting thing happens. Notice that the first two lines of code are the same as in the previous test. You don't need to define the mock object before creating the SUT. In fact, you can exercise the SUT without ever referencing the mock.
In the last part of the test you need to verify that the SUT interacted with the mock as expected. At that time you can ask the container to resolve the mock and verify against it. This can be done in a single method call chain, so you don't even have to declare a variable for the mock.
This is possible because the ShopFixture registers all Mock<T> instances with the so-called Singleton lifestyle. The Singleton lifestyle shouldn't be confused with the Singleton design pattern. It means that every time you ask a container instance for an instance of a type, you will get back the same instance. In Castle Windsor, this is the default lifestyle, so this code:
container.Register(Component .For(typeof(Mock<>)));
is equivalent to this:
container.Register(Component .For(typeof(Mock<>)) .LifestyleSingleton());
When you implement the Post method on BasketController by injecting ICommandChannel into its constructor, the test is going to pass. This is because when you ask the container to resolve an instance of BasketController, it will need to first resolve an instance of ICommandChannel.
This is done by the AutoMoqResolver, which in turn asks the kernel for an instance of Mock<ICommandChannel>. The Object property is the dynamically generated instance of ICommandChannel, which is injected into the BasketController instance ultimately returned by the container.
When the test case subsequently asks the container for an instance of Mock<ICommandChannel> the same instance is reused because it's configured with the Singleton lifestyle.
More importantly, while the second test prompted you to change the constructor signature of BasketController, this change didn't break the existing test.
You can now write the third test, equivalent to the third test in the motivating example:
[Fact] public void GetReturnsCorrectResult() { var container = new WindsorContainer().Install(new ShopFixture()); var sut = container.Resolve<BasketController>(); var expected = new BasketModel(); container.Resolve<Mock<IBasketReader>>() .Setup(r => r.GetBasket()) .Returns(expected); var response = sut.Get(); var actual = response.Content.ReadAsAsync<BasketModel>().Result; Assert.Equal(expected, actual); }
Once more you change the constructor of BasketController, this time to inject an IBasketReader into it, but none of the existing tests break.
This example demonstrated how to repurpose Castle Windsor as an Auto-mocking Container. It's important to realize that this is still a pure unit testing concern. It doesn't require you to use Castle Windsor in your production code.
Other DI Containers can be repurposed as Auto-mocking Containers as well. One option is Autofac, and while not strictly a DI Container, another option is AutoFixture.
This article first appeared in the Open Source Journal 2012 issue 4. It is reprinted here with kind permission.
Comments
First of all, thank you for a very informative article.
I'd like to call out another example of an Auto Mocking Container that I've picked up recently and enjoyed working with. It's built into Machine.Fakes, an MSpec extension library that abstracts the details of different mocking libraries behind an expressive API.
I rewrote the third test with MSpec and Machine.Fakes to demonstrate its usage:
There are a couple of interesting points to highlight here. The
WithSubject<T>
class hides the details of composing the SUT, which is then exposed through theSubject
property. It makes sure that any dependencies are automatically fulfilled with Test Doubles, created by delegating to a mocking library of choice. Those singleton instances can then be obtained from the test using the inheritedThe<T>()
to setup stubs or make assertions.What I like about Machine.Fakes is that it gives me the advantages of using an Auto Mocking Container, while keeping the details of how the SUT is composed out of the test, thus allowing it to stay focused on the behavior to verify.


--- layout: post authors: ["Greg Wilson"] title: "Journals as Repositories" date: 2015-10-17 time: "02:00:00" tags: ["Opinion"] ---
I had a really good conversation yesterday with Cath Brooksbank and Sarah Morgan, who do training at EMBL-EBI in Hinxton. During the conversation we touched on CourseSource, a peer-reviewed journal in which people can publish undergraduate biology lessons—not studies of the lesson's effectiveness, but the lessons themselves.
This is a brilliant idea, and thinking about it has made me realize why I've never been excited about online lesson repositories. We already have repositories for the things academics do: they're called journals.  What we don't have is people putting things into the system in the first place. Growing a separate parallel system to do those things for lessons hasn't worked: as far as I can tell, most of what's uploaded to lesson repositories just sits there.
Ever since we published our lessons I've been wondering why journals like CourseSource aren't the norm. Academics invest a lot of time in creating teaching materials, just as they do with data and code: why aren't they trying to get as much recognition for their work on lessons as they now are for their work on the latter? Whatever the reason, I think peer review (pre-pub or post-pub, anonymous or not) is the obvious next step for our lessons, and I'm going to push for us to do this with the next version of our material.


Linux Mint MATE's menu, you can access everything you need. With it you can search for installed programs, remove programs, add programs to favorites, and much more. It is very straightforward to use.
Open the menu by pressing the start key on your computer keyboard or by pressing the button marked "menu" on the bottom left-hand corner.


Are there Downloadable logos for Open Energy Monitor ?
It would be Nice to make a Nice sticker for my EMONTX & GLCD !
Archived Forum |
|
Open Energy Monitor Logo ?Submitted by S Bateman on Sat, 21/01/2012 - 08:39Are there Downloadable logos for Open Energy Monitor ? It would be Nice to make a Nice sticker for my EMONTX & GLCD ! » |
Re: Open Energy Monitor Logo ?
Just uploaded: http://www.openenergymonitor.org/emon/sites/default/files/OEM logos.zip
It would be cool to see some photos of your setup.
Re: Open Energy Monitor Logo ?
GREAT !
Thanks just need to have a go with the colur laser we have at work
I'll post pictures of the result
Re: Open Energy Monitor Logo ?
It's only printed on paper but looks pretty good !
Re: Open Energy Monitor Logo ?
Nice work!


Good. You looked at the URL bar and got here. If you stare at the next one long enough, you'll get it.


val point: XYPoint
the XYPoint where to place the stone
point - the XYPoint where to place the stone
point


Education
I graduated from Oakville High School in 2015, and am currently attending the Missouri University of Science and Technology in Rolla, MO. There, I am studying in order to obtain a B.S. in computer science. I am also currently in my 2nd year.


Looking back at 2018 it was a good year for AR, machine learning and data visualization. Even though the VR industry keeps growing with the release of several new headsets this year I haven't seen any worth sharing experiences. Don't get me wrong; there was good VR games (beat saber ❤) but no interesting interactive installations.
Let's dive in this top picks of 2018 with the augmented reality category.
Personally one of my favorite mobile app game I have seen. Combining AR and machine learning (in the browser) this app had everything to be a success.
WATCH VIDEOIt's sometimes hard to demonstrate how AR can "augment" the reality but this is a very clever way to use it.
WATCH VIDEOEvery year we are on the lookout for new technologies to use in our interactive projects, we saw this year two new products worth mentioning in this article.
The hologram technology remains a dream for many people. It is an interesting concept though still light years behind what we see and imagine in our beloved sci-fi movies.
WATCH VIDEOLightform is a compact yet powerful tool that you mount on top of any projector and it greatly facilitates the deployement of mapping projection installations.
WATCH VIDEOData visualization have been around for quite some times now but it's gaining popularity again since we gained access to bigger and more interesting dataset thanks to machine learning. The following contents requires no explanations, just enjoy the beauty of the visuals. A special mention to the hash2hash project that truly mix art and programmation.
Finally two projects that we couldn't assign to a specific category but that we found very clever and fun.
North Face always come up with fun digital campaign if you haven't seen their previous videos we strongly recommend you check them out !
WATCH VIDEOAnother group of researchers and programmers good to follow is the MIT, check out their media lab site for more.
WATCH VIDEO


Useful information at a glance, shortcuts to your favorite websites, and synced tabs from your mobile devices.
Kristian Muñiz Ⓒ 2018


XSET
Section: User Commands (1)Updated: xset 1.2.1
Index Return to Main Contents
NAME
xset - user preference utility for XSYNOPSIS
xset [-display display][-b] [b {on|off}] [b [volume [pitch [duration]]]]
[-bc] [bc]
[-c] [c {on|off}] [c [volume]]
[+dpms] [-dpms]
[dpms standby [ suspend [ off]]]
[dpms force {standby|suspend|off|on}]
[fp=pathlist] [-fp=pathlist] [+fp=pathlist] [fp-pathlist] [fp+pathlist]
[fp default] [fp rehash]
[-led [integer|named indicator]] [led [integer|named indicator]]
[led {on|off}]
[mouse [accel_mult[/accel_div] [threshold]]] [mouse default]
[p pixel color]
[-r [keycode]] [r [keycode]] [r {on|off}] [r rate delay [rate]]
[s [length [period]]] [s {blank|noblank}] [s {expose|noexpose}] [s {on|off}] [s default] [s activate] [s reset]
[q]
DESCRIPTION
This program is used to set various user preference options of the display.OPTIONS
- -display display
- This option specifies the server to use; see X(7).
- b
- The b option controls bell volume, pitch and duration. This option accepts up to three numerical parameters, a preceding dash(-), or a 'on/off' flag. If no parameters are given, or the 'on' flag is used, the system defaults will be used. If the dash or 'off' are given, the bell will be turned off. If only one numerical parameter is given, the bell volume will be set to that value, as a percentage of its maximum. Likewise, the second numerical parameter specifies the bell pitch, in hertz, and the third numerical parameter specifies the duration in milliseconds. Note that not all hardware can vary the bell characteristics. The X server will set the characteristics of the bell as closely as it can to the user's specifications.
- bc
- The bc option controls bug compatibility mode in the server, if possible; a preceding dash(-) disables the mode, otherwise the mode is enabled. Various pre-R4 clients pass illegal values in some protocol requests, and pre-R4 servers did not correctly generate errors in these cases. Such clients, when run against an R4 server, will terminate abnormally or otherwise fail to operate correctly. Bug compatibility mode explicitly reintroduces certain bugs into the X server, so that many such clients can still be run. This mode should be used with care; new application development should be done with this mode disabled. The server must support the MIT-SUNDRY-NONSTANDARD protocol extension in order for this option to work.
- c
- The c option controls key click. This option can take an optional value, a preceding dash(-), or an 'on/off' flag. If no parameter or the 'on' flag is given, the system defaults will be used. If the dash or 'off' flag is used, keyclick will be disabled. If a value from 0 to 100 is given, it is used to indicate volume, as a percentage of the maximum. The X server will set the volume to the nearest value that the hardware can support.
- -dpms
- The -dpms option disables DPMS (Energy Star) features.
- +dpms
- The +dpms option enables DPMS (Energy Star) features.
- dpms flags...
- The dpms option allows the DPMS (Energy Star) parameters to be set. The option can take up to three numerical values, or the `force' flag followed by a DPMS state. The `force' flags forces the server to immediately switch to the DPMS state specified. The DPMS state can be one of `standby', `suspend', `off', or `on'. When numerical values are given, they set the inactivity period (in units of seconds) before the three modes are activated. The first value given is for the `standby' mode, the second is for the `suspend' mode, and the third is for the `off' mode. Setting these values implicitly enables the DPMS features. A value of zero disables a particular mode.
- fp= path,...
- The fp= sets the font path to the entries given in the path argument. The entries are interpreted by the server, not by the client. Typically they are directory names or font server names, but the interpretation is server-dependent.
- fp default
- The default argument causes the font path to be reset to the server's default.
- fp rehash
- The rehash argument resets the font path to its current value, causing the server to reread the font databases in the current font path. This is generally only used when adding new fonts to a font directory (after running mkfontdir to recreate the font database).
- -fp or fp-
- The -fp and fp- options remove elements from the current font path. They must be followed by a comma-separated list of entries.
- +fp or fp+
- This +fp and fp+ options prepend and append elements to the current font path, respectively. They must be followed by a comma-separated list of entries.
- led
- The led option controls the keyboard LEDs. This controls the turning on or off of one or all of the LEDs. It accepts an optional integer, a preceding dash(-) or an 'on/off' flag. If no parameter or the 'on' flag is given, all LEDs are turned on. If a preceding dash or the flag 'off' is given, all LEDs are turned off. If a value between 1 and 32 is given, that LED will be turned on or off depending on the existence of a preceding dash. ``xset led 3'' would turn led #3 on. ``xset -led 3'' would turn it off. The particular LED values may refer to different LEDs on different hardware. If the X server supports the XKEYBOARD (XKB) extension, leds may be referenced by the XKB indicator name by specifying the `named' keyword and the indicator name. For example, to turn on the Scroll Lock LED:
- xset led named "Scroll Lock"
- mouse
- The m option controls the mouse parameters; it may be abbreviated to 'm'. Of course, it applies to most pointing devices, not just mice. The parameters for the pointing device are `acceleration' and `threshold'. The acceleration can be specified as an integer, or as a simple fraction. Threshold is just an integer. The setting is applied to all connected pointing devices. xinput(1) should be used if you need device-specific settings.
By default the pointer (the on-screen representation of the pointing device) will go `acceleration' times as fast when the device travels more than `threshold' mickeys (i.e. would-be pixels) in 10 ms, including a small transition range. This way, the pointing device can be used for precise alignment when it is moved slowly, yet it can be set to travel across the screen in a flick of the wrist when desired. One or both parameters for the m option can be omitted, but if only one is given, it will be interpreted as the acceleration. If no parameters or the flag 'default' is used, the system defaults will be set.
If the `threshold' parameter is provided and 0, the `acceleration' parameter will be used in the exponent of a more natural and continuous formula, giving precise control for slow motion but big reach for fast motion, and a progressive transition for motions in between. Recommended `acceleration' value in this case is 3/2 to 3, but not limited to that range.
In the X.org X Server 1.6 and above, the behaviour described so far is linked to the default profile. There are other profiles (i.e. functions determining pointer acceleration from device velocity) and additional settings, so the above description may not apply to non-default cases. In the X.org Server 1.7, these are available as input device properties (see xinput).
- p
- The p option controls pixel color values. The parameters are the color map entry number in decimal, and a color specification. The root background colors may be changed on some servers by altering the entries for BlackPixel and WhitePixel. Although these are often 0 and 1, they need not be. Also, a server may choose to allocate those colors privately, in which case an error will be generated. The map entry must not be a read-only color, or an error will result.
- r
-
The r option controls the autorepeat.
Invoking with "-r", or "r off", will disable autorepeat, whereas
"r", or "r on" will enable autorepeat.
Following the "-r" or "r" option with an integer keycode between 0 and
255 will disable or enable autorepeat on that key respectively, but only
if it makes sense for the particular keycode. Keycodes below 8 are
not typically valid for this command. Example: "xset -r 10" will
disable autorepeat for the "1" key on the top row of an IBM PC keyboard.
If the server supports the XFree86-Misc extension, or the XKB extension, then a parameter of 'rate' is accepted and should be followed by zero, one or two numeric values. The first specifies the delay before autorepeat starts and the second specifies the repeat rate. In the case that the server supports the XKB extension, the delay is the number of milliseconds before autorepeat starts, and the rate is the number of repeats per second. If the rate or delay is not given, it will be set to the default value.
- s
- The s option lets you set the screen saver parameters. This option accepts up to two numerical parameters, a 'blank/noblank' flag, an 'expose/noexpose' flag, an 'on/off' flag, an 'activate/reset' flag, or the 'default' flag. If no parameters or the 'default' flag is used, the system will be set to its default screen saver characteristics. The 'on/off' flags simply turn the screen saver functions on or off. The 'activate' flag forces activation of screen saver even if the screen saver had been turned off. The 'reset' flag forces deactivation of screen saver if it is active. The 'blank' flag sets the preference to blank the video (if the hardware can do so) rather than display a background pattern, while 'noblank' sets the preference to display a pattern rather than blank the video. The 'expose' flag sets the preference to allow window exposures (the server can freely discard window contents), while 'noexpose' sets the preference to disable screen saver unless the server can regenerate the screens without causing exposure events. The length and period parameters for the screen saver function determines how long the server must be inactive for screen saving to activate, and the period to change the background pattern to avoid burn in. The arguments are specified in seconds. If only one numerical parameter is given, it will be used for the length.
- q
- The q option gives you information on the current settings.
These settings will be reset to default values when you log out.
Note that not all X implementations are guaranteed to honor all of these options.
SEE ALSO
X(7), Xserver(1), xmodmap(1), xrdb(1), xsetroot(1), xinput(1)AUTHOR
Bob Scheifler, MIT Laboratory for Computer ScienceDavid Krikorian, MIT Project Athena (X11 version)
XFree86-Misc support added by David Dawes and Joe Moss
Manpage updates added by Mike A. Harris<EMAIL_ADDRESS>Index
This document was created by man2html, using the manual pages.
Time: 05:29:12 GMT, December 24, 2015


LSE Law Review Blog
Home
About
About Us
Editorial Team
Sponsors
Partners
Authors
All Authors
Prize Winners
Article by Categories
Criminal Law
International Law
Private Law
Public Law
Submission Guidelines
Main Journal Site
{% include search-lunr.html %}


Best Method and Code: Inverse Model
Last Update: 2019-04-04
Paper: EMNLP 2018 Predicting Semantic Relations using Global Graph Properties
Best Method and Code: M3GM
Last Update: 2019-04-05
Paper: ICML 2018 Canonical Tensor Decomposition for Knowledge Base Completion
Best Method and Code: ComplEx-N3 (reciprocal)
Last Update: 2019-05-30
Paper: ICML 2018 Canonical Tensor Decomposition for Knowledge Base Completion
Best Method and Code: ComplEx-N3 (reciprocal)
Last Update: 2019-05-30
Best Method and Code: MTGAE
Last Update: 2019-02-14
Best Method and Code: MTGAE
Last Update: 2019-02-14
Best Method and Code: Variational graph auto-encoders
Last Update: 2019-02-06
Paper: ICML 2018 Canonical Tensor Decomposition for Knowledge Base Completion
Best Method and Code: ComplEx-N3 (reciprocal)
Last Update: 2019-05-30
Best Method and Code: BANE
Last Update: 2019-06-02


Test for http://crbug.com/153784. New hover effects should not be invoked during scroll if the mouse cursor is not visible.


@(request: RequestHeader) @views.html.admin.main("ADMIN Handler Not Found") {
For request<EMAIL_ADDRESS>@request.uri'


Peer to Peer connectivity made easy
Catalyst is a peer to peer file and a folder transfer application, which allows you to tansfer files to the devices in your local network at lightning speed. Click here for the usage guidelines


--- layout: component-layout title: How to add a Category? link-title: Category category: Knowledgebase url: /uvdemo/knowledgebase/category.html tags: [Category, Categories, Add Category, Create Category, Create Categories, Add Categories, Publish Category] ---
UVdesk - How to add a Category?
What is a Category?
Categories refer to the information for a specific topic and these categories will contain articles in it. A knowledge base normally contains folders which have a number of categories and articles in it.
With helpdesk, the owner can make sure that the customers always have a right insight by sharing knowledge with them.
The support agents if they have a privilege can add and organize solution articles as folders within the support portal so that your customers can quickly browse through them in their self-service portal.
Steps for creating a Category-


I'm an IIT Gandhinagar (B.Tech) alumnus majoring in Computer Science and Engineering. In general, I like to experiment and explore new stuff (my exploration vs exploitation curve is a little biased towards exploration --> new challenges = learning). I have experience working & exploring various sub-domains of Computer Science including AI and ML, Software Development, Cryptography, etc. As of today, I work as a Machine Learning Engineer at Enphase Energy. My primary research interest is in the area of adversarial learning and explainable/interpretable AI systems. I believe that explainable systems are better than black-box models, several failure of deep models have been reported due to lack of explainability. Therefore building systems with proper explainability is as important as building state-of-the-art models.
During my undergrad, I was fortunate to work on multiple sub-domains of machine learning: Computer Vision with Prof. Shanmuga, NLP with Prof. Mayank Singh, AI for social good with Prof. Udit Bhatiya.
Manager - [ML] Vidyasagar Nallapati & [SDE] Vinod Tigadi
SZone is a B2B Augmented Reality based platform for salon and beauty franchises.
Faculty Advisor - Dr. Nipun Batra (ML) and Dr. Mayank Singh (NLP)
I throughly enjoyed teaching students about machine learning algorithms. Most of work involved designing the course syllabus, delivering practical sessions on Deep learning, developing open‑source code for student assignments and reference notebooks, weekly project discussion sessions. I mentored a total of 8 student projects in both the courses. Topics ranging from Reinforcement learning, AI Safety, Program Synthesis etc.
Faculty Advisor - Dr. Abir Das
A lot of research has been done in the field of image inpainting, however most of the research work requires drawing the object that needs to be inpainted. My task was to inpaint the object using a corresponding natural language expression. The proposed method is a two-stage architecture where segmentation mask is generated using Text-Image Architecture and inpainting is done using Wasserstein GAN.
Majorly, In South Asian countries there is a skill gap between a job seeker (15-24 yr old) and an industrial employee. And a large amount of money is spent by the government and private sector for vocational training. My job was to find major factors that leads to this skill gap and hence reduce the total amount of money spend on vocational and industrial training.
I worked on Faster RCNN model object detection model for the detection of total number of medicine strip present in a picture.
Faculty Advisor - Dr. Mayank Singh
In the recent past, we witness massive progress on the development of code generation systems for domain-specific languages (DSLs) employing sequence-to-sequence deep learning techniques. In this project we specifically experiment with AlgoLisp DSL-based generative models and showcase their extreme dataset bias through the different classes of adversarial examples. We also present a simple transformer based encoder-decoder model that outperforms the all of Algo-Lisp DSL-based baselines. However, consistent with the previous baselines, the proposed model achieves poor performance under adversarial settings.
Faculty Advisor - Dr. Udit Bhatiya
Currently, people are using deterministic mathematical models to predict rainfall and for the other related task. Since machine learning have proven to given state-of-the-art results for many different task. My task is to tackle the predictability of monsoon through machine learning algorithms.
Grant of 1500 USD for overall academic excellence.
Grant of 2500 USD as pre‑seed funding for startup.
Won best research proposal award at Eastern European Machine Learning Summer School(EEML-2020).
Waived registration fees and selection process for EEML‑2021.
Implemented Satellite image segmentation model and came 3rd among all 23 participating IITs.
Build Custom Chatbot for the company website. The chatbot give the details about the company's services.
In this post we are going to take a step towards the explainability of BERT, explaining what BERT sees by analyzing the attention weights proposed in this recent paper “What does BERT look at? An Analysis of BERT’s Attention” (Clark et al., 2019).


- defineEnemyBody(float, float) - Method in class com.islandboys.game.model.Enemy
-
Abstract method to define the characteristics the enemy-s body
- defineEnemyBody(float, float) - Method in class com.islandboys.game.model.Flame
-
method to define the characteristics the flame
- defineEnemyBody(float, float) - Method in class com.islandboys.game.model.HellDog
-
method to define the characteristics the HellDog
- defineEnemyBody(float, float) - Method in class com.islandboys.game.model.Ogre
-
method to define the characteristics the Ogre
- defineEnemyBody(float, float) - Method in class com.islandboys.game.model.Orc
-
method to define the characteristics the Orc
- defineEnemyBody(float, float) - Method in class com.islandboys.game.model.Skeleton
-
method to define the characteristics the Skeleton
- defineEnemyBody(float, float) - Method in class com.islandboys.game.model.Undead
-
method to define the characteristics the Undead
- defineIslander() - Method in class com.islandboys.game.model.Islander
-
method to define the characteristics the islander
- DESTROED_BIT - Static variable in class com.islandboys.game.model.GameInfo
-
- destroy - Variable in class com.islandboys.game.model.Enemy
-
- directionRigh - Variable in class com.islandboys.game.model.Enemy
-
- dispose() - Method in class com.islandboys.game.MGame
-
- dispose() - Method in class com.islandboys.game.model.GameInfo
-
- dispose() - Method in class com.islandboys.game.view.GameOverScreen
-
- dispose() - Method in class com.islandboys.game.view.MenuScreen
-
- dispose() - Method in class com.islandboys.game.view.PlayScreen
-
- dispose() - Method in class com.islandboys.game.view.WinScreen
-
- Dor - Class in com.islandboys.game.model
-
Dor Class in game
- Dor(PlayScreen, Rectangle, Hud) - Constructor for class com.islandboys.game.model.Dor
-
Dor constructor
- DOR - Static variable in class com.islandboys.game.model.GameInfo
-
- DOR_BIT - Static variable in class com.islandboys.game.model.GameInfo
-
- draw() - Method in class com.islandboys.game.model.Controller
-
draw the controller in the game
- draw(Batch) - Method in class com.islandboys.game.model.HellDog
-
- draw() - Method in class com.islandboys.game.model.Hud
-
draw hud in game
- draw(Batch) - Method in class com.islandboys.game.model.Ogre
-
draw method
- draw(Batch) - Method in class com.islandboys.game.model.Orc
-
draw Orc in game
- draw(Batch) - Method in class com.islandboys.game.model.Skeleton
-
draw method
- draw(Batch) - Method in class com.islandboys.game.model.Undead
-
draw Undead in game
- drawEnemys() - Method in class com.islandboys.game.view.PlayScreen
-
Draw enemy-s in PlayScreen


| Timestamp | Food | Additional Information | Glycemic Index | Glycemic Load | Nutritional Information | |||
| {{ entry.DateTime }} | {{ entry.String_Value }} | {{ entry.Additional_Information }} | {{ entry.Nurtrition_Info__glycemicindex | safe }} | {{ entry.Nurtrition_Info__glycemicload | safe }} | {{ entry.Nurtrition_Info__info | safe }} |


YouTube is down: Video streaming site crashes for users across the UK
BREAKING: According to Down Detector the issues started at around 10:55 GMT and are affecting users in the UK, parts of Europe and Japan
by Shivali Best, https://www.facebook.com/shivalibestjournalist/It’s the go-to video streaming service for many people, but it seems that YouTube has crashed for users across the UK this morning.
According to Down Detector the issues started at around 10:55 GMT and are affecting users in the UK, parts of Europe and Japan.
While YouTube is yet to comment on the outage, of those who reported issues, 48% said they couldn’t watch video, 47% had problems with the website, and 3% couldn’t log-in.
Mirror Online has contacted YouTube for comment.
We'll be bringing you the very latest updates, pictures and video on this breaking news story.
For the latest news and breaking news visit mirror.co.uk/tech
Get all the big headlines, pictures, analysis, opinion and video on the stories that matter to you.
Follow us on Twitter @MirrorTech - the official Daily Mirror & Mirror Online Twitter account - for all the best Tech and Science stories in real time.
We're also on Facebook /dailymirror - your must-see news, features, videos and pictures throughout the day from the Daily Mirror, Sunday Mirror and Mirror Online.


MCMC toolbox » Examples » Normal distribution
MCMC toolbox example
In this example, we generate Gaussian target with known covariance matrix. The target distribution has a known form and could be calculated analytically, so this simulation is mainly for testing of the algorithms. We study the correctness of the chain by calculating points that lie inside 50% and 95% probability contours.
clear model data params options nsimu = 10000; % number of simulations npar = 100; % dimension of the unknown data.x0 = zeros(1,npar); % mean vector
We create the needed prameter structure in a loop
for i=1:npar % 'name' initial params{i} = {sprintf('\\theta_{%d}',i), data.x0(i)}; end
Create covariance and precision matrises. Function covcond creates a covariance matrix with given condition number and a direction of the first principal axis. It returns the covariance matrix and its inverse, the precision matrix.
[Sig,Lam] = covcond(100,ones(npar,1));
Store the precision matrix in data structure so we can use it in the ssfun.
data.Lam = Lam;
The function ssfun for mcmcrun is the quadratic form in the Gaussian distribution.
model.ssfun = @(x,data) (x-data.x0)*data.Lam*(x-data.x0)'; model.N = 1;
For mcmcrun we use scaled version of the known target covariance as the proposal covariance. This scaling is known to produce an optimal proposal.
options.nsimu = nsimu; options.qcov = 2.4^2/npar*Sig; options.method = 'ram'; % use the (default) DRAM method options.verbosity = 1;
Generate the MCMC chain.
[results,chain] = mcmcrun(model,data,params,options);
Setting nbatch to 1 Sampling these parameters: name start [min,max] N(mu,s^2) \theta_{1}: 0 [-Inf,Inf] N(0,Inf) \theta_{2}: 0 [-Inf,Inf] N(0,Inf) \theta_{3}: 0 [-Inf,Inf] N(0,Inf) \theta_{4}: 0 [-Inf,Inf] N(0,Inf) \theta_{5}: 0 [-Inf,Inf] N(0,Inf) \theta_{6}: 0 [-Inf,Inf] N(0,Inf) \theta_{7}: 0 [-Inf,Inf] N(0,Inf) \theta_{8}: 0 [-Inf,Inf] N(0,Inf) \theta_{9}: 0 [-Inf,Inf] N(0,Inf) \theta_{10}: 0 [-Inf,Inf] N(0,Inf) \theta_{11}: 0 [-Inf,Inf] N(0,Inf) \theta_{12}: 0 [-Inf,Inf] N(0,Inf) \theta_{13}: 0 [-Inf,Inf] N(0,Inf) \theta_{14}: 0 [-Inf,Inf] N(0,Inf) \theta_{15}: 0 [-Inf,Inf] N(0,Inf) \theta_{16}: 0 [-Inf,Inf] N(0,Inf) \theta_{17}: 0 [-Inf,Inf] N(0,Inf) \theta_{18}: 0 [-Inf,Inf] N(0,Inf) \theta_{19}: 0 [-Inf,Inf] N(0,Inf) \theta_{20}: 0 [-Inf,Inf] N(0,Inf) \theta_{21}: 0 [-Inf,Inf] N(0,Inf) \theta_{22}: 0 [-Inf,Inf] N(0,Inf) \theta_{23}: 0 [-Inf,Inf] N(0,Inf) \theta_{24}: 0 [-Inf,Inf] N(0,Inf) \theta_{25}: 0 [-Inf,Inf] N(0,Inf) \theta_{26}: 0 [-Inf,Inf] N(0,Inf) \theta_{27}: 0 [-Inf,Inf] N(0,Inf) \theta_{28}: 0 [-Inf,Inf] N(0,Inf) \theta_{29}: 0 [-Inf,Inf] N(0,Inf) \theta_{30}: 0 [-Inf,Inf] N(0,Inf) \theta_{31}: 0 [-Inf,Inf] N(0,Inf) \theta_{32}: 0 [-Inf,Inf] N(0,Inf) \theta_{33}: 0 [-Inf,Inf] N(0,Inf) \theta_{34}: 0 [-Inf,Inf] N(0,Inf) \theta_{35}: 0 [-Inf,Inf] N(0,Inf) \theta_{36}: 0 [-Inf,Inf] N(0,Inf) \theta_{37}: 0 [-Inf,Inf] N(0,Inf) \theta_{38}: 0 [-Inf,Inf] N(0,Inf) \theta_{39}: 0 [-Inf,Inf] N(0,Inf) \theta_{40}: 0 [-Inf,Inf] N(0,Inf) ...
figure(1); clf
mcmcplot(chain,[1:4],results.names,'chainpanel')
From the generated chain we calculate the relative distances of the chain points from the origin and count the points that are inside given probability limits. Then we plot the first two dimensions of the chain together with the correct probability contours.
The title of the 2d plot shows the rejection rate and the propotion of points inside the ellipsoids. Number tau*t in the title tells how many seconds it takes to generate 1000 independent samples according to the integrated autocorrelation time (iact) estimate.
d = mahalanobis(chain(:,1:npar),data.x0,Lam,1); c50 = chiqf(0.50,npar); c95 = chiqf(0.95,npar); cc50 = sum(d<c50)./nsimu; cc95 = sum(d<c95)./nsimu; figure(2); clf mcmcplot(chain,[1,2],results.names,'pairs',0) title(sprintf('Rejected = %.1f%%, c50 = %.1f%%, c95 = %.1f%%, \\tau*t=%.1f', ... results.rejected*100, cc50*100, cc95*100, ... results.simutime/results.nsimu*1000*mean(iact(chain)))) c50 = chiqf(0.50,2); c95 = chiqf(0.95,2); hold on ellipse(data.x0(1:2),c50*Sig(1:2,1:2),'r--','LineWidth',2); ellipse(data.x0(1:2),c95*Sig(1:2,1:2),'r-','LineWidth',2); axis equal hold off


--- layout: post title: Anton S. Kosinov tagline: " Keep clear" permalink: /cv.html categories: [info, about me] tags: [CV, Emacs, Python, Literate Programming] ---
Figure 1: Anton S. Kosinov
I'm an avid knowledge gatherer as long as I can remember myself. The acts speak much louder than words, thus, this is the very gist out of my professional skills: Leaning to Learn, Introduction to Data Science, Model Thinking, Ovivo, Pythonanywhere, 0–key, oDesk, FastFresh, Py-Org-Cookbook, Perceptron in OOP Python3, Python Design Patterns Catalogue, StackOverflow.
In 2017 I've begun to dissect an Artificial Intelligent approach for data classification, Elisp, NumPy, SciPy, GNU Octave and enrolled into Neural Networks for Machine Learning.
Synergy → the interaction or cooperation of two or more organizations, substances, or other agents to produce a combined effect greater than the sum of their separate effects:
\(\displaystyle\sum_{n=1}^{team}\sum_{k=1}^{skill}\Rightarrow\prod_{n=1}^{team}\sum_{k=1}^{skill}\)
is a pivotal tool to forge a team synergy.
A synergy among the team is not just only a sum of knowledge, our goal is to obtain its product literally:
\(\displaystyle\sum_{n=1}^{team}\sum_{k=1}^{skill}\to\prod_{n=1}^{team}\sum_{k=1}^{skill}\)
contrarian, a snap judgment about real power of machines, owing to my innate curiosity and perseverance, I've brooded about lack of skills that restrained, damp down the rush around these points, To avert the brain withering, to enshrine the versatile skills in one place, to choose an eligible approach to disclose the topic in a much attractive and explicit manner, austerely overview the customary of writing books about programming languages it might be sufficient to found its basement, suppose it is at whole a slightly primitive novel in English which thoroughly endeavor to shed the light on another language niceties.
Emerging unit testing in the early 2000 produced a sismic shift in software development, but still be totally ignored by the writers.
In these circumstances the inset test suites should serve a lucrative role in learning: they just vividly illustrate the core features in a functional dissection, sufficiently aleviate a headache and pain, facilitating fast and easy comprehension what is all this stuff purpose.
In any case the author is entangled among only two languages: the programming one and a straight English.
The core idea is to grant to the reader chance to swoop up the gist from the text.
Let's take an attempt to judge that approach to a nicetiy.


Preparation time
less than 30 mins
Cooking time
less than 10 mins
Serves
Serves 3-5
Dietary
Jaggery is an unrefined, dark, hard sugar sold in blocks. Supermarkets have started to stock it, but it's a softer, more watery version of the real thing. Either will work, but the darker one has a more molasses-like flavour.
Place the jaggery into a small pan and heat gently, stirring frequently, until melted and smooth.
Add the walnut halves and stir to coat.
Spread the walnut halves onto a sheet of baking paper or an oiled plate, working quickly before the jaggery starts to harden - if it does, return to the heat for a few seconds until melted again. Allow to cool completely, then break into pieces.
When cold, store in an airtight container until needed. Serve as a snack or sprinkled over desserts and yoghurts.


Twitter Wall by Francesco Guardiani for GSOC 2017
Search:
Update interval
Refresh configuration
Username
Date-time
Tweet


- Delivered comprehensive competitor analysis of Duer, Kik & Luka and helped product team build differentiated feature of product.
- For Cortana today view project, working with designers and product managers on usability test, found the key problems, and map out a clear direction of vNext design solution.
- For bot intelligent project, build up a clear guideline, and helped designers to build user friendly bot related products.
- Worked with designers on Hackathon project, and created a new concept of Cortana on mobile, which won the 3rd prize of Microsoft.


Class for operations that modify an existing image instead of producing a new image. More...
#include <ImageMod.h>
Public Member Functions | |
| virtual void | process (Image &dst) const |
| Run this modifier for an image. More... | |
| virtual void | traverseChannels (ImageTray< Channel > &dst) const |
| Run this modifier for a set of channels. More... | |
| virtual void | traverseChannel (Channel &dst) const |
| Run this modifier for an image frame. More... | |
| virtual void | traverseChannel (Channel &dst, Channel &dstAlpha) const |
| Run this modifier for an image frame. More... | |
| virtual void | help (std::ostream &ostr=std::cout) const |
| virtual void | traverseChannels (ImageFrame &dst) const |
| Converts dst to ImageTray<Channel> and calls traverseFrame(ImageTray<Channel> &) . | |
| Public Member Functions inherited from BeanLike | |
| virtual const std::string & | getName () const |
| Return the name of an instance. | |
| virtual const std::string & | getDescription () const |
| Return a brief description. | |
| virtual void | setParameters (const std::string &p, char assignmentSymbol='=', char separatorSymbol=0) |
| Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2". More... | |
| template<class T > | |
| void | setParameters (const std::map< std::string, T > &p) |
| Set parameters. | |
| template<class T > | |
| void | setParameters (const SmartMap< T > &p) |
| Set parameters. | |
| template<class F > | |
| void | setParameter (const std::string &p, const F &value) |
| Sets a single parameter. | |
| template<class F > | |
| F | getParameter (const std::string &p) const |
| Gets a single parameter. | |
| const ReferenceMap & | getParameters () const |
| ReferenceMap & | getParameters () |
| virtual void | toStream (std::ostream &ostr) const |
| Grants access to (if above hidden) | |
| std::string | toStr () const |
| BeanLike & | operator= (const BeanLike &b) |
Public Attributes | |
| bool | physicalScale |
Protected Member Functions | |
| ImageMod (const std::string &name=__FUNCTION__, const std::string &description="") | |
| ImageMod (const ImageMod &op) | |
| virtual void | processChannelsSeparately (ImageTray< Channel > &dst) const |
| Run this modifier by calling traverseChannel(Channel &) for each image. | |
| virtual void | initialize (Image &dst) const |
| Modifies the geometry and the type of dst such that traverseChannel(Channel &) can be called. | |
| virtual void | initializeAlpha (const Image &srcAlpha, Image &dstAlpha) const |
| Modifies the geometry and the type of dst such that traverseChannel(Channel &) can be called. | |
| Protected Member Functions inherited from BeanLike | |
| BeanLike (const std::string &name, const std::string &description="") | |
| BeanLike (const BeanLike &b) | |
| virtual void | updateBean () const |
| Called after setParameters() | |
Additional Inherited Members | |
| Protected Attributes inherited from BeanLike | |
| const std::string | name |
| const std::string | description |
| ReferenceMap | parameters |
Class for operations that modify an existing image instead of producing a new image.
|
inlineprotected |
| weight_supported | - not supported (0), flexibly supported (1) or required (2) |
| in_place | - 0 = separate dst required, 1 = separate dst encouraged, 2 = dst is allowed to be src |
|
virtual |
Run this modifier for an image.
The default implementation redirects to traverseChannel(Channel & dst) .
Reimplemented in ImageSampler.
|
inlinevirtual |
Run this modifier for an image frame.
The default implementation calls applyToEachChannel(Channel &) for each image.Run this modifier for an image frame. The default implementation calls traverseFrame(ChannelView & dst) for each image.
Reimplemented in ImageGeometry, ImageHistogram, ImageFill, ImageEncoding, ImageCoordPolicy, and ImageChannels.
Run this modifier for an image frame.
The default implementation calls traverseFrame(ChannelView & dst) for each image.


A
B
C
...........
...........
On the Origin of Species
A Brief History of Time
The Selfish Gene
...........
{{ favourites }}


Cook the onions in the oil over high heat until crisp. Remove the onions and mash them. Add the tomatoes, spices and water. Cook until thick. Add the chicken pieces, garlic, and the mashed onions. Simmer all until cooked through, about 20 minutes. Serve with rice.


Monthly Activity Report
Farmington Financial
07.18
7606
User minutes saved in July with GateKeeper
* Based on average password typing in time of 15s and number of times computers & web credentials were used
5450
total computer & web logins
500
total hours spent on computers
75000
keystrokes saved
5000
savings in productivity
Productivity Analysis
TOTAL DOLLARS SAVED
Them company saved an approximate $ 5000 in June. This is x % increase over May.
* Assuming an average of $30 / hr
TOTAL TIME SAVED
Users saved a total of 500 hrs in typing in passwords for their computers and websites. This is x % increase over May.
TOTAL KEYSTROKES SAVED
Users saved a total of 5000 keystrokes while accessing their computers and websites in June. This is x % increase over May.
* Assuming an average of $30 / hr
TOTAL LOGGED IN HOURS
Users spent in 58,720 hours on their comoputers in July, a 9% increase from June.
TOTAL USER SESSIONS
Users logged in their computers and web applications 5000 times in June. This is x % increase over May.
GateKeeper helps IT teams protect networks from internal breaches and confidential data exposure using proximity-based authentication solutions that include 2FA, centralized password management, and comprehensive auditing; reducing support time and costs, while enhancing security and compliance.


Lunae Nox Ultimus scaling issue.
Posted: Fri Oct 23, 2009 8:46 pm
After getting to level 33, Lunae Nox Ultimus still appears to be growing at the same rate as Lunae Nox Animus, thus doing the same amount of damage rendering the level 30 spell useless.
Also, Animus Divinus gives you 1 defense point.
Also, Animus Divinus gives you 1 defense point.