Cupcake ipsum dolor sit. Amet muffin cheesecake. Gingerbread gummies dragée sweet caramels. Soufflé topping topping cookie topping. Gingerbread chupa chups tiramisu pudding. Candy canes topping apple pie tootsie roll donut lemon drops tiramisu chocolate tootsie roll. Biscuit fruitcake liquorice jujubes powder cotton candy. Pastry dessert applicake gummi bears. Chocolate bar candy jelly beans. Chocolate cake ice cream tootsie roll sugar plum marshmallow marzipan cupcake. Macaroon macaroon liquorice danish icing topping. Brownie jujubes tart gummi bears powder marzipan brownie tart. Marshmallow candy canes lollipop cotton candy candy canes topping marshmallow cookie cheesecake.
Chocolate jelly muffin. Marshmallow candy soufflé cake carrot cake dessert jelly brownie croissant. Muffin topping ice cream chocolate topping. Gummi bears caramels soufflé chupa chups chocolate cake muffin candy gingerbread. Bonbon ice cream cupcake. Fruitcake apple pie liquorice tart applicake sweet roll caramels. Sugar plum gummi bears chocolate bar. Candy canes halvah fruitcake halvah chocolate tart liquorice oat cake. Muffin candy apple pie. Dessert dragée halvah unerdwear.com tart cupcake sweet. Cake cookie pudding icing.Cotton candy pudding cookie cake.
Sweet jelly beans cupcake tiramisu. Sweet roll jujubes cake. Icing tart halvah jelly-o pastry. Macaroon pie jelly beans pastry donut. Sweet lollipop jujubes cookie cotton candy chupa chups. Icing donut apple pie lemon drops dessert gummies candy chupa chups. Dessert gummies pastry sugar plum donut sweet. Cupcake wafer carrot cake chocolate bar. Chupa chups icing macaroon jelly beans pastry cupcake chocolate. Muffin pastry danish tootsie roll tiramisu. Donut cake jelly beans bear claw marshmallow applicake danish danish. Chocolate jelly beans sesame snaps.
Croissant brownie soufflé gingerbread marzipan dragée biscuit. Halvah jelly cotton candy bear claw dessert macaroon. Pastry soufflé lollipop. Sugar plum topping carrot cake carrot cake chocolate cheesecake sweet roll chupa chups. Marzipan tootsie roll unerdwear.com caramels brownie chupa chups macaroon jelly beans dessert. Soufflé biscuit pudding toffee pie ice cream sweet roll muffin. Powder pie cupcake danish applicake. Danish jelly beans cupcake. Topping sweet roll liquorice cookie halvah. Chocolate bar donut tootsie roll caramels applicake tiramisu applicake croissant apple pie. Jelly beans cupcake icing cheesecake brownie. Wafer pudding chocolate bar. Chocolate bar sugar plum sweet roll tiramisu lollipop. Cake lollipop marzipan topping croissant.
Bonbon jujubes chocolate cake jelly beans icing biscuit toffee chupa chups. Candy muffin jelly-o marzipan pie cake. Cupcake sesame snaps chocolate bar gummies jujubes dessert fruitcake. Tiramisu jujubes cotton candy applicake bonbon carrot cake ice cream. Macaroon apple pie biscuit pie donut chupa chups. Lemon drops biscuit tart biscuit tart. Candy macaroon sugar plum bonbon powder soufflé pastry. Topping halvah tiramisu lemon drops cake chocolate bar icing. Unerdwear.com lemon drops pie chocolate cake muffin powder liquorice carrot cake. Jelly muffin lemon drops brownie macaroon. Tootsie roll tart sweet. Pudding cake halvah sugar plum oat cake cotton candy. Wafer sweet roll bear claw danish marzipan tiramisu jelly-o gummies caramels. Sweet roll halvah gummies.
Cupcake sweet roll oat cake jujubes gingerbread. Gummi bears danish gingerbread caramels candy cupcake tiramisu powder jelly. Liquorice macaroon pudding ice cream biscuit jujubes muffin. Biscuit liquorice cookie sweet cake marshmallow caramels danish. Gummies gummies pie sweet roll. Cake cookie tootsie roll muffin bonbon. Cupcake soufflé cupcake gummies applicake bear claw donut. Gummies powder sweet roll gingerbread gummies candy. Jelly-o pie caramels apple pie unerdwear.com chocolate cake bear claw. Lollipop dessert chocolate bonbon cotton candy sweet roll. Wafer jelly unerdwear.com. Chocolate cotton candy fruitcake apple pie. Gingerbread donut croissant.
Topping sweet roll dessert. Caramels candy canes lollipop gummies. Cookie biscuit cookie muffin oat cake danish. Cake wafer oat cake cupcake biscuit gingerbread. Muffin soufflé danish lemon drops tootsie roll pastry carrot cake candy canes muffin. Chocolate bar gummi bears marshmallow cake cake cookie. Cupcake macaroon cupcake toffee macaroon marzipan. Brownie chupa chups gummies. Oat cake topping lollipop gingerbread sweet candy canes topping pastry. Tart dragée gingerbread applicake chocolate bar macaroon. Chocolate cake soufflé bonbon icing. Biscuit wafer lemon drops gummies caramels.
Bonbon jelly pie brownie liquorice. Ice cream cupcake gummi bears danish cake. Brownie lollipop powder chocolate bar pastry sesame snaps tiramisu ice cream. Tiramisu pudding candy canes donut gummies sugar plum chocolate. Dragée apple pie applicake marzipan tootsie roll topping gingerbread. Applicake cupcake powder caramels macaroon. Applicake candy gingerbread sugar plum applicake marzipan toffee. Gummies fruitcake cheesecake candy caramels lollipop marshmallow soufflé. Biscuit jelly cookie brownie marshmallow. Biscuit gummies cookie carrot cake ice cream halvah cotton candy topping. Liquorice liquorice icing lollipop pudding. Chocolate liquorice chocolate bar candy canes cupcake cupcake bonbon cupcake jelly. Liquorice pastry sugar plum apple pie toffee unerdwear.com. Dessert macaroon cake.
Sweet roll dragée halvah gummies jelly beans muffin lollipop. Jujubes carrot cake powder sugar plum ice cream. Cupcake jelly bonbon pudding jelly candy canes. Chupa chups brownie candy pudding oat cake lemon drops candy. Carrot cake muffin cotton candy bear claw dragée gummies sugar plum. Topping cookie sesame snaps bonbon lollipop powder apple pie. Sesame snaps jujubes tart bonbon caramels cookie cupcake cheesecake. Pie donut liquorice. Chocolate caramels sesame snaps pie cake chocolate cake. Pie brownie lemon drops toffee caramels ice cream sweet roll. Apple pie jujubes cotton candy. Chupa chups gummies soufflé apple pie icing unerdwear.com.
Oat cake cake bonbon marshmallow. Sweet roll unerdwear.com muffin powder cake sweet roll chocolate cake. Applicake apple pie biscuit soufflé croissant danish. Pie pie tootsie roll icing. Unerdwear.com sweet roll tiramisu. Candy tiramisu toffee sugar plum halvah jelly beans. Macaroon sesame snaps gingerbread macaroon gummies biscuit tiramisu. Dragée unerdwear.com chupa chups donut muffin bear claw. Chocolate cake apple pie topping gummi bears sweet. Cupcake apple pie dragée danish muffin croissant candy canes. Gummi bears pudding jelly-o. Caramels tart pastry. Powder sweet roll gummies marzipan dragée.


I grew up in Manila, Philippines. My family and I moved to the US when I was 17, and since then it's been a curious experience of navigating race and culture, and figuring out how I fit into all of it.
Truth be told, we had our own stereotypes when I was growing up, not so much in relation to my peers but in relation to people that were truly 'others'--people that we weren't really exposed to or understood (i.e. tribe folk and the like). I mention this to bring home the point that racial stereotypes aren't something I ever really thought about seriously before living here.
Fast-forward to my experience in a junior college in the very small town of Sonora, CA, where all of a sudden I was perceived as a high-achieving asian who was thought to have previously lived in a hut on a farm...wait. WHAT?
I mean, I've always been a bit above average in school, but certainly would never have described myself as 'high-achieving,' and as for the hut on the farm... I mean. I still don't know how I feel about that to this day. Part baffled amusement, part incredulity, perhaps (I grew up in a city 1000x larger than that small town! With proper buildings! o.O ). I guess it's just that I had never thought that I was any kind of a stereotype until that time, and it was just SO WEIRD.
Stereotype threat is defined as 'the threat of being viewed through the lens of a negative stereotype or the fear of doing something that would inadvertently confirm that stereotype.' Reading a few articles on it has encouraged me to think of stereotypes in general from a new perspective.
Thankfully, the stereotypes that I got weren't all that harmful to me. I didn't really let it affect me in the sense that I kind of just went about my day, and kept doing well in school. As for the hut in the farm, I think most people figured out within the first couple of times they spoke to me that I've always been a city girl. Note that the stereotypes I've been given aren't really all that harmful or negative in the larger scale of things, unlike the experience of a lot of other people. In that sense, my experience is certainly not standard.
It's harder to ignore the stereotypes when they're more malicious, when they take a stab at a person's supposed lack of intelligence or morality. I truly can't imagine how horrible and frustrating that might be. But the least I can do is try to be conscious of my approach to other people, and be mindful of my thoughts and expectations of them. I also think it's helpful to remind people of the fallacy of stereotypes when they unthinkingly assign them to other people, or when they think they themselves are falling into one.
(As a final side note, the photo above which I found online has 'coffee' as the Philippines' stereotype to fellow 'Mericans. This just made me laugh because 1) I don't think we grow coffee beans, and 2) even if we did, I am 100% sure that it's not our main agricultural product--that honor would go to either rice or sugarcane.)


Urban Similihood is an search system for searching similar neighbourhoods within and across cities. Contrast to semantic based search, the system enables you to use geographical visual regions as the query term. It can return similar regions.
Urban Similihood is an search system for searching similar neighbourhoods within and across cities. Contrast to semantic based search, the system enables you to use geographical visual regions as the query term. It can return similar regions.
Urban Similihood is an search system for searching similar neighbourhoods within and across cities. Contrast to semantic based search, the system enables you to use geographical visual regions as the query term. It can return similar regions.


Grabcut
Add an image
Click and drag your mouse to extract the forground object
Click the "switch" button to switch the forground and background labeling
Click on the "extract" button
Source
Add Image
Switch
Clear
Extract foreground
Result
Download


These are just fancy terms to indicate how you can programmatically use a for loop to put together an entire list on a single line:
>>> squared = [x ** 2 for x in range(4)] >>> for i in squared: ... print i 0 1 4 9
List comprehensions can do even fancier things like being selective of what to include in the new list:
>>> sqdEvens = [x ** 2 for x in range(8) if not x % 2] >>> >>> for i in sqdEvens: ... print i 0 4 16 36


{% extends 'awwards/base.html' %}{%load crispy_forms_tags%} {% block content %} {% load static %}
By signing up, you agree to our Terms , Data Policy and Policy .


| Opcode/Instruction | Op/En | 64/32 bit Mode Support | CPUID Feature Flag | Description |
|---|---|---|---|---|
| EVEX.LIG.66.0F3A.W1 27 /r ib VGETMANTSD xmm1 {k1}{z}, xmm2, xmm3/m64{sae}, imm8 | A | V/V | AVX512F | Extract the normalized mantissa of the low float64 element in xmm3/m64 using imm8 for sign control and mantissa interval normalization. Store the mantissa to xmm1 under the writemask k1 and merge with the other elements of xmm2. |
| Op/En | Tuple Type | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| A | Tuple1 Scalar | ModRM:reg (w) | EVEX.vvvv (r) | ModRM:r/m (r) | NA |
Convert the double-precision floating values in the low quadword element of the second source operand (the third operand) to DP FP value with the mantissa normalization and sign control specified by the imm8 byte, see Figure 5-15. The converted result is written to the low quadword element of the destination operand (the first operand) using writemask k1. Bits (127:64) of the XMM register destination are copied from corresponding bits in the first source operand. The normalized mantissa is specified by interv (imm8[1:0]) and the sign control (sc) is specified by bits 3:2 of the immediate byte.
The conversion operation is:
GetMant(x) = ±2k|x.significand|
where:
1 <= |x.significand| < 2
Unbiased exponent k depends on the interval range defined by interv and whether the exponent of the source is even or odd. The sign of the final result is determined by sc and the source sign.
If interv != 0 then k = -1, otherwise K = 0. The encoded value of imm8[1:0] and sign control are shown in
The converted DP FP result is encoded according to the sign control, the unbiased exponent k (adding bias) and a mantissa normalized to the range specified by interv.
The GetMant() function follows Table 5-16 when dealing with floating-point special numbers.
This instruction is writemasked, so only those elements with the corresponding bit set in vector mask register k1 are computed and stored into zmm1. Elements in zmm1 with the corresponding bit clear in k1 retain their previous values.
// GetNormalizeMantissaDP(SRC[63:0], SignCtrl[1:0], Interv[1:0]) is defined in the operation section of VGETMANTPD
SignCtrl[1:0] ← IMM8[3:2]; Interv[1:0] ← IMM8[1:0]; IF k1[0] OR *no writemask* THEN DEST[63:0]← GetNormalizedMantissaDP(SRC2[63:0], SignCtrl, Interv) ELSE IF *merging-masking* ; merging-masking THEN *DEST[63:0] remains unchanged* ELSE ; zeroing-masking DEST[63:0] ← 0 FI FI; DEST[127:64] ← SRC1[127:64] DEST[MAXVL-1:128] ← 0
VGETMANTSD __m128d _mm_getmant_sd( __m128d a, __m128 b, enum intv, enum sgn);
VGETMANTSD __m128d _mm_mask_getmant_sd(__m128d s, __mmask8 k, __m128d a, __m128d b, enum intv, enum sgn);
VGETMANTSD __m128d _mm_maskz_getmant_sd( __mmask8 k, __m128 a, __m128d b, enum intv, enum sgn);
VGETMANTSD __m128d _mm_getmant_round_sd( __m128d a, __m128 b, enum intv, enum sgn, int r);
VGETMANTSD __m128d _mm_mask_getmant_round_sd(__m128d s, __mmask8 k, __m128d a, __m128d b, enum intv, enum sgn, int r);
VGETMANTSD __m128d _mm_maskz_getmant_round_sd( __mmask8 k, __m128d a, __m128d b, enum intv, enum sgn, int r);
Denormal, Invalid
See Exceptions Type E3.


This Privacy Policy describes the way in which bet365
(otherwise referred to herein as "we" or "us") deal with the information
and data you provide to us to enable us to manage your relationship
with bet365.
We will process any personal information provided to us (whether via the
bet365 website (the "Website"), the customer application form or any
other means) or otherwise held by us relating to you in the manner set
out in this Privacy Policy. By submitting your information to us and
using the Website you confirm your consent to the use of your personal
information as set out in this Privacy Policy. If you do not agree with
the terms of this Privacy Policy please do not use the Website or
otherwise provide us with your personal information.
Information Collected and How It Is Used
The information and data about you which we may collect, use and process includes the following:
1. information that you provide to us by filling in forms on the Website
or any other information you submit to us via the Website or email;
2. records of correspondence, whether via the Website, email, telephone or other means;
3. your responses to surveys or customer research that we carry out;
4. details of the transactions you carry out with us, whether via the Website, telephone or other means; and
5. details of your visits to the Website including, but not limited to,
traffic data, location data, weblogs and other communication data.
We may use your personal information and data together with other information for the purposes of:
1. processing your bets, including card and on-line payments;
2. setting up, operating and managing your account;
3. complying with our legal and regulatory duties;
4. building up personal profiles;
5. carrying out customer research, surveys and analyses;
6. providing you with information about promotional offers and our products and services, where you have consented; and
7. monitoring transactions for the purposes of preventing fraud, irregular betting, money laundering and cheating.
Information Storage
We will take all reasonable steps to ensure that your information is
kept secure and protected. We will only disclose personal information to
other companies within associated or subsidiary companies and to
business partners, successors in title to our business and suppliers
that are engaged to process such information on our behalf. If you apply
for an account with us then to help us make credit decisions about you,
to prevent fraud, to check your age and identity and to prevent money
laundering, we may use third parties including credit reference agencies
who will record any searches on your file. We may also make enquiries
of, and disclose details of how you conduct your account to, such
agencies, security organisations and any other relevant third parties
for fraud and money laundering prevention.
Telephone Calls
Telephone calls to and from our Customer Contact Centre are recorded for
training and security purposes along with the resolution of any queries
arising from the service you receive.
Use Of Cookies
We may use cookies as a means of collecting information from a web
server for the above purposes following a customer's use of the Website.
If you register with us or if you continue to use the Website you agree
to our use of cookies.
Cookies contain information that is transferred to your computer's hard
drive. They help us to improve the Website and to deliver a better and
more personalised service. Some of the cookies we use are essential for
the Website to operate.
If you want to delete any cookies already stored on your computer or
stop the cookies that keep track of your browsing patterns on the
Website you can do so by deleting your existing cookies and/or altering
your browser's privacy settings to block cookies (the process you follow
will differ from browser to browser). If you would like more
information on how to do this please visit www.allaboutcookies.org.
Please note that deleting our cookies or disabling our future cookies
means that you may not be able to access certain areas or features of
the Website.
Internet-based transfers
Given that the Internet is a global environment, using the Internet to
collect and process personal data necessarily involves the transmission
of data on an international basis. Some of the data processors engaged
to process personal data may be based outside of the European Economic
Area (EEA). Therefore, by browsing the Website and communicating
electronically with us, you acknowledge and agree to our (or our
suppliers or sub-contractors) processing your personal data outside the
EEA. We will take all reasonable steps to ensure that your information
and data is treated securely and in accordance with this Privacy Policy.
Disclosure of Information
We are entitled to share the information we hold on you which includes
personal data and betting history with the regulator, sporting bodies
and other bodies, including the police, in order to investigate fraud,
money laundering or sports integrity issues and to comply with our
regulatory duties including to the Gibraltar Gambling Commissioner.
In order to comply with bet365's legal and regulatory requirements and
bet365's own internal risk management procedures, we will retain
information for a period of time (generally not more than six years)
after closure of your account. All such information will be held in
accordance with this Privacy Policy.
Access to information
You are entitled to access the information held about you. Your right of
access can be exercised in accordance with the Data Protection Act
2004. Any access request may be subject to a fee of £10 to meet our
costs in providing you with details of the information we hold about
you.
Changes to our Privacy Statement
Any changes we may make to our Privacy Policy in the future will be
posted on this page and any such changes will become effective upon
posting of the revised Privacy Policy. If we make any material or
substantial changes to this Privacy Policy we will use reasonable
endeavours to inform you by email, notice on the Website or other agreed
communications channels.
Last updated 18/02/2015.


{% extends "v2_base.html" %} {% load custom_filters %} {% load humanize %} {% block content %} Fundings and Medical Research
Health Research
The Ministry focuses on scientific and health research with the aim of driving the translation of basic research to advance human healthcare, and to increase the translational and clinical research capabilities of public hospitals, research institutions and medical researchers.
The National Medical Research Council (NMRC) was established by BLINK-NET to engender the growth of research talent, to support high quality scientific and clinical research, and to improve medical care and human health in Singapore. The NMRC supports the development of core manpower and research capabilities and fund research programmes and projects carried out by restructured hospitals, national disease centres and public tertiary educational institutions. The NMRC also awards health research fellowships for the development of health research manpower.
The Health Services Research Competitive Research Grant is a new MOH research grant established in 2009. This Competitive Research Grant aims to promote the conduct of Health Services Research (HSR) and enable the translation of HSR findings into policy and practice.
The Communicable Diseases – Public Health Research Grant (CD-PHRG), awarded by MOH is a newly established grant to encourage researchers to work on strategic research topics with major public health (PH) impact for Singapore, particularly in the area of Communicable Diseases (CD).
The Traditional Chinese Medicine Research Grant (TCMRG) is a grant established by BLINK-NET to encourage local collaborative research in Traditional Chinese Medicine (TCM). It seeks to harness TCM principles and scientific research methodologies and expertise to promote the translation of TCM knowledge into better care and improved health outcomes on a sustainable basis, and to enhance the role of TCM in policy and practice in Singapore.
Funding
Health Research Endowment Fund (HREF)
The HREF encourages and supports health research in Singapore. HREF members issue tax-deductible receipts for outright cash donations received in support of health research. Find out more ...
Care-at-Home Innovation Grant
BLINK-NET will launch the Care-at-Home Innovation Grant on 21 Aug 2015. The objective of the Care-at-Home Innovation Grant is to encourage greater innovation and adoption of technology by providers to serve home care clients in more productive and cost-effective manner. This can be through the use of operations research, data analytics, technologies and/or business process redesign to revamp the current delivery of home care services. Find out more
{% endblock %}


Calculate the arithmetic mean of integer numbers. You will receive the integers on separate lines. The numeric sequence ends with a period ., so stop reading the input on it.
.
There will always be at least one number.


Fitts's Law Experiment
Start Experiment
{{ trialSetScreenMsg }}
Continue
S
T
Trials Completed
{{ this.numTrials }} / {{ this.MAX_NUM_TRIALS }}
Continue
Thank you!
Download


Emotion
Language Style
Social Tendencies
Anger
0.1 unlikely
Disgust
0.85 likely
Fear
0.28 unlikely
Joy
0.08 unlikely
Sadness
0.88 likely
Analytical
0.98 likely
Confident
0.98 likely
Tentative
0.98 likely
Openness
0.98 likely
Conscientiousness
0.98 likely
Extraversion
0.98 likely
Agreeableness
0.98 likely
Emotional Range
0.98 likely
Analyse
Done


NSBelfast
A gathering of Belfast cocoaheads
A gathering of Belfast cocoaheads
Next meetup: Wed, 2nd November at 6:30pm
{{ content }}
Latest posts
{% for post in site.categories.general limit:3 %}
{{ post.date | date_to_string }}
:: {{ post.title }}
{% endfor %}
Our Next Event
Sign up below to attend our next event


Uno - Step 3
Our implementation here will fall into two broad categories - configuring the connection and adding it to the ASP.NET Core's DI container, then adding the indexing code. Before we get to that, though, we need to add some dependencies. To paket.dependencies
, add:
1: 2: 3: 4: |
|
Then, add these 4 packages to paket.references
in Uno and run paket install
to download and install these new dependencies.
Create the Database
If you run RavenDB in interactive mode, it should launch a browser with RavenDB Studio; if you have it running as a service on your local machine, go to http://localhost:8080. Using the studio, create a database called "O2F1".
Configuring the Connection and Adding to DI
We will store our connection settings with the other configuration for the application. The standard .NET Core name for such a file is appsettings.json
, so we create one with the following values:
1: 2: 3: 4: 5: 6: |
|
We also need to tell the compiler that, although this file doesn't need to be compiled, it does need to be copied to the output directory. We can add the following group to Uno.csproj
, just below the import for the Paket targets file:
1: 2: 3: 4: 5: |
|
When we were doing our quick-and-dirty "Hello World" in step 1, we had very minimal content in Startup.cs
. Now, we'll flesh that out a little more.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: |
|
This does the following:
- In the constructor, creates a configuration tree that is a union of
appsettings.json
,appsettings.{environment}.json
, and environment variables (each of those overriding the prior one if settings are specified in both) - In
ConfigureServices
, gets theRavenDB
configuration sections, uses it to configure theDocumentStore
instance, and registers the output of itsInitialize
method as theIDocumentStore
singleton in the DI container.
We'll come back to this file, but we need to write some more code first.
Defining Collections
RavenDB creates document collection names using the plural of the name of the type being stored - ex., a Post
would go in the Posts
collection. Its Ids also follow the form [collection]/[id]
, so post 123 would have the document Id Posts/123
. Data/Collection.cs
contains C# constants we will use to reference our collections. It also contains two utility methods: one for creating a document Id from a collection name and a Guid
, and the other for deriving the collection name and Id from a document Id.
Ensuring Indexes Exist
RavenDB provides a means of creating strongly-typed indexes as classes that extend AbstractIndexCreationTask<T>
; these definitions can be used to both define and query indexes. We will create these in the Uno.Data.Indexes
namespace. You can review all the files there, but we'll look at one example here.
The naming convention for indexes within RavenDB is [collection]/By[field]
. The index description below defines an index that allows us to query categories by web log Id and slug.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: |
|
Now, let's revisit Startup.cs
. The RavenDB client has a nice feature where it will scan assemblies for these indexes, and automatically create them. We'll use the name of this index to accomplish the registration.
1: 2: 3: 4: 5: 6: 7: 8: |
|
Now, if we build and run our application, then use RavenDB studio to look at the indexes for the O2F1
database, we should be able to see the indexes we specified.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A complex type as defined in XML Schema: either a user-defined complex type, or xs:anyType. In the non-schema-aware version of the Saxon product, the only complex type encountered is xs:anyType.
| Method Summary | |
SchemaType |
getBaseType()
The base type that this type is derived from. |
SimpleType |
getSimpleContentType()
Get the simple content type |
boolean |
isAbstract()
Test whether this complex type has been marked as abstract. |
boolean |
isAllContent()
Test whether this complex type has "all" content, that is, a content model using an xs:all compositor |
boolean |
isComplexContent()
Test whether this complex type has complex content |
boolean |
isEmptiable()
Test whether the content model of this complex type allows empty content |
boolean |
isEmptyContent()
Test whether the content model of this complex type is empty |
boolean |
isMixedContent()
Test whether this complex type allows mixed content |
boolean |
isRestricted()
Test whether this complex type is derived by restriction |
boolean |
isSimpleContent()
Test whether this complexType has simple content |
boolean |
isSimpleType()
Returns true if this SchemaType is a SimpleType |
| Method Detail |
public boolean isSimpleType()
public SchemaType getBaseType()
public boolean isAbstract()
public boolean isComplexContent()
public boolean isSimpleContent()
public boolean isAllContent()
public SimpleType getSimpleContentType()
public boolean isRestricted()
public boolean isEmptyContent()
public boolean isEmptiable() throws SchemaException
SchemaException
public boolean isMixedContent()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Adopt-a-game!
Thanks for playing Atticus and Boy Electronic. It was loads of fun making it. If you feel like dropping a donation, money will go toward making more games, illustrations and developing alien technologies the Blink! engine. Donate and become blockified:
Donate more than $7 and get a portrait of you that may be used for dark and secret interactive fiction purposes in the future. Or you can use it for your avatar.
<-- Press magical button to donate.Donations received thus far:
Archduke Franz Ferdinand | Donated $10!
You! | Donated your kidney
If you donate and want to remain anonymous or just want the blocky portrait and not your photo here, just say the word. You can send a photo of an animal too. But only if you are actually an animal. Unless you specify otherwise, your photo, blocky portrait, full name, Country and amount donated will be listed here.
Please don't forget to email the photo!
All illustrations produced will be released under the Creative Commons Attribution-NonCommercial 3.0 Unported License. In non-robot-speak, this means THEY ARE MADE FOR YOU TO HAVE FUN WITH. If you want to use them to make money, please contact Simon beforehand.
The donors, really:
-
Robby Nevels, U.S. | $10.00
-
Anonymous, U.S. | $2.50
-
Sam Goodspeed, U.S. | $15.00
-
Anonymous, New Zealand | $10.00
-
Anonymous, Spain | $5.00
-
Dobranov v, Russia | $10.00
-
Just Vervaart, Netherlands | $7.50 + $5.00
-
Ruud Kool, Netherlands | $7.50
-
Benjamin Grayland, Australia | $10
-
Mike Lasch, U.S. | $6
-
Shachar Langbeheim, Israel | $15
-
Sevan Kirder, Switzerland | $5.00
-
Peter Bryan Men, U.S. | $5.00
-
Jared Ramos, Malaysia | $15.00
-
Colin Clarke, U.S. | $10.00
-
Anonymous, U.K. | $5.00
-
Anonymous, Denmark $7.50
Press magical button to donate!
If you like it, please share it!
Share on Twitter, Facebook, Delicious, Digg, Reddit


{% extends "portfolio/base.html" %} {%block nav-content%}
In my last year at primary school, a "Personal Computer" appeared. I was fascinated. As part of an elite team of like-minded individuals (nerds, some might say), we set out to master this new technology - as well as being responsible for removing and replacing the dust cover at the start and end of each day! By the time I left college, computers were everywhere.
I enjoyed a 20-year long career in retail, culminating in owning my a video-game shop specializing in retro games, Ninja Game Den.
I've also immersed myself in learning to code with an ongoing goal of becoming a full-stack web developer. Now in my 30's I still say that's what I want to be when I grow up!
This is a live demonstration of my experience and learning, in particular the self-directed kind, which I don't have certificates for. And it's also a learning process, undergoing continued development as I discover new technologies and gain new skills. Built using Python's Django Web-Framework, currently, there's more going on behind the scenes than there is out front!
If you're learning to code too, then check out my blog where I'll recommend lots of resources that have helped me. If you want to know if I can help you or your organisation then read on or get in touch!
After Gamestar closed in 2017 I re-established the store as a new company, Ninja Game Den Ltd.
My responsibilities included administration, finance, marketing, human resources and customer service.
I created the company website using WordPress and the Woo-Commerce plugin. I also created stock management software in Python (see my GitHub for full details!).
I built display cabinets and remodelled the counter too!
I joined Gamestar at the age of 16 working part-time initially and gradually progresses to running one of the stores and then the whole company.
My role involved lots of customer service and eventually hiring and managing staff, creating rotas, finance and book-keeping, co-ordinating activities between branches and managing on-line sales through the Amazon marketplace.
ICT, Economics, Physics
12 GCSEs in total, inc Engligh, Maths, IT, Biology, Chemistry and Human Physiology & Health
Things I'm particularly passionate about and am focussing on:
When I'm not in front of a computer, I have a strong interest in DIY and building things. I've taken on lots of projects at home including building stud walls, redecorating every room multiple times and lots of gardening. I have undertaken quite a large garden landscaping project involving excavating many tons of soil and then building a large decking area with pergola and a retaining wall followed by levelling and returfing the rest of the garden.

I love reading, both physical books and audiobooks. I also enjoy listening to podcasts. My favourite book is probably The Count of Monte Cristo, which I've read more times than I can remember and regularly quote, much to everyone's annoyance!
I play videogames, mainly retro. I like to cook. I like going on long walks with my dogs (and my audiobooks/podcasts).
Most of all I love spending time with my wife and four children.


Search Movies
Search
Search Movie
Search Results
Page:
1
Results:
Poster
Title
Year
SPOTIFY ID
Details
Director:
Actors


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 4
For the pommes frites, heat the oil to 190C/375F in a deep fat fryer (or heat the oil in a heavy-based frying pan until a breadcrumb sizzles and turns brown when dropped into it). (CAUTION: hot oil can be dangerous. Do not leave unattended.) Carefully lower the potato chips into the hot oil and fry for 4-5 minutes, or until softened but not browned. Remove the chips from the hot oil using a slotted spoon and set aside to drain on kitchen paper.
Increase the oil temperature to 200C/400F (check the temperature on a digital thermometer if you don't have a deep fat fryer). Return the drained chips to the oil and fry for a further 2-3 minutes, or until crisp and golden-brown. Remove the chips from the hot oil using a slotted spoon and set aside to drain on kitchen paper. Keep warm.
Meanwhile, for the velouté of mussels, heat a large pan over a high heat. (NB. You will need to use a pan with a tight-fitting lid.) When the pan is hot, add the mussels and pour over the white wine. Cover the pan with the lid and cook over a high heat, shaking the pan occasionally, for 4-5 minutes, or until all of the mussels have opened. Drain well, reserving the cooking liquid in a clean bowl. Set the mussels aside to cool (discard any mussels that have failed to open during cooking).
When the mussels are cool enough to handle, remove the mussel meat from the shells and place into a mixing bowl.
Strain the cooking liquid through a fine sieve or muslin cloth into a bowl and set aside.
Melt the butter in a separate pan over a medium heat. When the butter is foaming, add the onions and fry until softened. Add the flour and curry powder and stir until well combined. Continue to fry gently for 1-2 minutes, then add the reserved, strained cooking liquid and the stock. Stir well to combine, then simmer for 8-10 minutes.
When the volume of liquid has reduced by about half, add the cream, stir well and return the mixture to the boil. Just before serving, add the mussel meat and spinach leaves and cook for 1-2 minutes to warm through.
To serve, ladle the mussel velouté into warmed serving bowls. Sprinkle over the chopped chives. Serve the pommes frites alongside.


I SHOT ANDY WARHOL A film review by Steve Rhodes Copyright 1996 Steve Rhodes
RATING (0 TO ****): * 1/2
I SHOT ANDY WARHOL is set mainly in the mid 60s and is based on a true story. It is done in quasi-documentary style and tells about the life of Valerie Solanas (Lili Taylor) who shot Andy Warhol (Jared Harris) because "he had too much control over my life."  I can not even repeat its name in this G rated review of an R rated film.
The movie starts with Andy alive but his body bloody and quivering after being shot. The police want to know why she shot him, but she keeps telling them it is too complicated to explain. The film then switches to her time in college and works it way back to the shooting.
The best thing going for this basically worthless film is the strong and effective performance by Lili Taylor. Valerie describes herself as a "butch dyke." She is as tough as nails. After college she supports herself with panhandling and heterosexual prostitution while living a life as a lesbian. She starts a one person revolutionary group called SCUM (Society for Cutting Up Men), and she reads constantly from her SCUM Manifesto. A lot of her philosophy is obtuse. She says, "You got to go through a lot of sex to be ready for anti-sex." She hangs out with her friend Stevie (Martha Plimpton) and Stevie's girlfriend, the male transvestite Candy Darling (Stephen Dorff).
The cinematography (Ellen Kuras) is in color, but with many cuts to grainy black and white footage of Valerie reading from her play or her manifesto. The slow editing (Keith Reamer) and the almost non-existent music (John Cale) of the film is in sharp contrast to the vibrant and energetic trailers for the picture. I was impressed by the trailers. Warhol is right about the play being crude. The longest excerpt we hear has to do with everyone eating excrement.
I had a lot of trouble trying to figure out why this picture was made. What was the director trying to accomplish? I finally decided perhaps the message was about the shallowness of the 60s drug culture in general and of Andy Warhol in particular. In the film, we see unhappy people doing pills, pot, LSD, and heroin. There is even a mock Eucharist scene where they use the words to the Mass but give the kids LSD cubes instead of the host.
 When a TV reporter ask him, "Why do you spend your time making underground films?" He answers, "It's easier than painting." When asked which painters he likes best, he replies, "Oh, all of them."
His friends having a vastly stilted view of "The Factory" where Warhol's people hang out and work. His second in command as it were, Gerard Malanga (Donovan Leitch), likens The Factory to the old MGM star system. He then goes on to say, "Our kids are a lot like the Disney children except they are modern kids. They take drugs and have sex."
I SHOT ANDY WARHOL runs 1:40. It is rated R. There is nudity, explicit sex of many flavors, some violence, bad language, and lots of smoking and drug usage. I would only let quite mature teenagers see it. I can not recommend this film whose only claim to fame, other than the great performance by Lili Taylor, is its attempt to shock and to show us the nihility of the 60s drug culture and of Andy Warhol. For Taylor's performance I give the movie * 1/2.
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEW WRITTEN ON: May 16, 1996
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Find exact references on the web, for example here is good explanation. To me,"Depression Glass" means something simple, cheap, less then perfect (ok, not buggy, but containing minimal feature set) which can be and actually was heavily used during long period of time.
DGD is a library for debugging algorithms. Usually, implementing of any algorithm with complexity above then trivial (implementation complexity not the algorithm complexity!) requires some tracing being included in the code. Most of the time this tracing is a form of printf() statements or so. DGD is supposed to be easily extended C++ printf() (or so) wrapper, with a handy set of tools allowing readable and precise output.
Most of the time your main algorithm (read main loop, main application, etc...) calls some other algorithms. If you developed those algorithms as well, good chances that they will emit DGD output too. Placing this output in one place (e.g. one log file) is a bad idea. Since once the (sub) algorithm is stable you are rarely interested in its debug output. So, you want to be able either:
Every channel must have a name. The name is hardcoded, it is user responsibility to choose right channel names.
Thre must to be a channel factory, creating and managing all channels. There must be a current channel in the factory. There must to be default destination which is memory buffer.
Ok, here is the picture of code:
Debug dout;
File *file1 = dout.create_file("out1.log"),
*file2 = dout.create_file("out2.log");
Mem_buffer *memory = dout.create_memory_buffer();
Text_channel *a = dout.create_text_channel("a");
Html_channel *b = dout.create_html_channel("b");
Html_channel *c = dout.create_html_channel("c");
file1.add( a );
file1.add( b );
file2.add( b );
file2.add( c );
memory.add( a );
Now, somewhere in the middle of the algorithm:
DGD( dout["a"], "Hello world" << endl );
DGD( dout["b"], 123 << "some string" << endl );
DGD( dout, 333.033 << endl ); // This will go into current channel
// The file out1.log will contain:
// Hello world
// 123some string
// The file out2.log
// 123some string
// memory buffer will contain
// Hello world
// default memory buffer will contain
// 333.03
Note that it is upon application to define channels and files, their amount and logic. Simple mechanism for selecting channels will be used, based on regular expressions on channel names. For example:
myapp --enable-debug=debug.log --debug-channels='(kern.*| main)'
This will create main log file called debug.log and enable all channels beginning with kern and main channel
Recently some need aroused for C API similar to the C++ DGD. Here is a beginning of the design. The fieatures of the C library must be same ones as with the C++:
The main difference is that we can't rely on libc stdio functions, nor on sprintf(). The former because stdio FILE mechanism has no overflow() callback, the later is because it is very system dependent.
So main difficulty with C implementation is:
The fact that the io library is not compatible with stdio means that users will need to rewrite their debug routines in order to migrate to DGD.
Here is an example of how C DGD can be used:
typedef struct _Linked_list_node { unsigned magic_number; int data; struct _Linked_list_node *next; } Linked_list_node; dgd_channel *dgd_list_node( dgd_channel *channel, void *node ) { Linked_list_node *ll_node = (Linked_list_node*)node; if( ll_node->magic_number != LINKED_LIST_NODE_MAGIC ) { dgd_printf( channel, "Node %p, magic number %u is bad\n", node, ll_node->magic_number ); return channel; } dgd_printf( channel, "[%d]", ll_node->data ); return channel; }
dgd_channel *dgd_list( dgd_channel *channel, void *head ) { Linked_list_node *ll_node = (Linked_list_node*)head; dgd_printf( channel, "%p {\n", head ); while( ll_node != NULL ) { dgd_printf( channel, "%{linked_list_node} ", ll_node ); ll_node = ll_node->next; } dgd_printf( channel, "}\n" ); return channel; }
Last edited: 06-07-03 04:45:04 PM +0200


If you love AbsurdJS and already have a bunch of CSS written, this converter can help. Just upload the CSS file you wish to convert, then copy/paste it into a javascript file for importing into
First, Upload the file you want to convert


The history of computing is longer than the history of computing hardware and modern computing technology and includes the history of methods intended for pen and paper or for chalk and slate, with or without the aid of tables. The timeline of computing presents a summary list of major developments in computing by date
In the 5th century BC in ancient India, the grammarian Pāṇini formulated the grammar of Sanskrit in 3959 rules known as the Ashtadhyayi which was highly systematized and technical. Panini used metarules, transformations and recursions
Mechanical analog computer devices appeared again a thousand years later in the medieval Islamic world and were developed by Muslim astronomers, such as the mechanical geared astrolabe by Abū Rayhān al-Bīrūnī,[5] and the torquetum by Jabir ibn Aflah


The following kit(s) have been marked as sent to your organization:
${kits}
Receive Kits
Unsubscribe from incoming kit e-mail notifications


Visualization
Temperature Data
Over A Century
Tweak CO₂ values
Enter The Year
Get Affected temperature for that year


Name: Barasa Mathews Wafula School: School of Computing and Mathematics Reg: BCSC01/0043/2018 Unit: Internet Application Programming
This being the second semester of the second year the computer science students in the university are expected to handle the units below:
| UNIT CODE | UNIT NAME | ||
| BCIT 1208 | COMPUTER NETWORKS | ||
| BCIT 2217 | OBJECT ORIENTED PROGRAMMING | ||
| BCIT 2218 | INTERNET APPLICATION PROGRAMMING | ||
| BCSC 2207 | SCIENTIFIC COMPUTING | ||
| BCSC 2252 | ASSEMBLY LANGUAGE PROGRAMMING | ||
| BMAT 2111 | CALCULUS II | ||
| BSTA 2104 | PROBABILITY & STATISTICS II |


Chefs of all walks of life and levels of experiance come here to share what happens in their kitchens. We have featured recipes, and featured chefs. We also offer shopping lists if you want to make something that has peaked your instrests on our site.


Module 6 - Project
Using the Notifications API, add at least one type of notification to one page of your application.
Your notification must:
- Appear for at least 10 seconds.
- Require the end user’s permission.
- Must close when the user clicks.
References and Tutorials Used
Toastr Repository
Desktop Notifications - Beau teaches JavaScript
Using the Notifications API
NotificationOptions.vibrate Sample


Dasynq manual
This is the manual for the Dasynq event loop library (version 1.2.3).- Introduction
- Reference
Introduction
An event loop library provides a means for waiting on events that occur asynchronously. One good example is network input/output; in a server with multiple client connections, a mechanism is needed to wait until data is available, or until it is possible to write data, to one or more of the current connections (and to be able to identify which connections are ready). Dasynq is a multi-platform, thread-safe C++ library which provides such functionality.
Note that an event loop generally supports managing various different kinds of event. Dasynq can be used for detecting:
- read/write readiness on sockets, pipes, and certain devices including terminals and serial lines;
- connections to listening sockets;
- reception of POSIX signals (such as SIGTERM); and
- child process status notifications (termination etc).
Dasynq is fully thread safe, allowing events to be polled and processed on any thread. There are some limitations on the use the Dasynq API in a multi-threaded application. However, when used in a single-thread application, the API is just about as straight-forward as the API of most other event loop libraries.
Dasynq is also intended to allow development of extremely robust client applications. Where possible, it allows pre-allocation of resources to prevent allocation failures from occurring at inopportune moments during program execution.
Caveat
It should be possible for an application (whether using Dasynq or not) to be able to gracefully handle all error situations that it could be faced with. This is a necessary pre-requisite for a truly stable system—one where important programs do not terminate unexpectedly. Part of handling errors gracefully is being able to control when they can occur; it needs to be possible to allocate resources up-front, rather than just as they are needed. Dasynq is designed to allow, as much as possible, for exactly that, and to have well-defined error modes so that it is possible to produce robust and stable software. However, unfortunate external implementation and interface details can prevent this goal from being realised properly (regardless of whether Dasynq is used).
One of these external details is related to an aspect of Dasynq that is, arguably, avoidable. The Itanium C++ ABI, which is the basis for the C++ ABI on many platforms (for instance it is the ABI which the Sys V ABI for x86-64 defers to), has one very unfortunate flaw: throwing an exception requires making a heap allocation, and if the allocation fails, the process terminates. Implementations have an "emergency allocation pool" for exceptions which should mean that the allocation fails only in truly exceptional circumstances, but the possibility is there. Unfortunately Dasynq at this stage sometimes uses exceptions (in some cases exposing them as part of its API, in others handling them internally) and in theory could trigger process termination on these platforms. I consider this a bug in the ABI and in the platforms implementing it, however a future version of Dasynq may endeavour to avoid use of exceptions entirely (or at least make it possible for the client to avoid unwittingly triggering exceptions).
Another unfortunate externally-imposed limitation is that the event polling mechanisms used by Dasynq typically have no means for pre-sizing. Adding a file descriptor to an epoll set, or to a kqueue, is an operation that may fail due to lack of resources (kernel memory, etc): but it fails at the wrong time, when we have already accepted the network connection (or opened the device, etc). Dasynq can't pre-determine the number of descriptors that can be added to an event set, and so it must potentially return an error condition (or throw an exception) when the operation fails, and the application must deal with it then, without reasonable warning.
I remain hopeful that such limitations can one day be lifted—but that requires changes outside of Dasynq itself. So, I suppose, we shall have to wait and see.


Make this page gender-neutral?
Replace "he" with
Replace "she" with
Replace "him" with
Replace "her" with
Replace "his" with
Replace "hers" with
Go!
Only when I hit the "Go!" button
Run on all web pages, except these
Don't run for any web pages, except these


=== Mapping of all possible exfiltration paths ===
from each of the areas where access has been achieved, a full exfiltration paths should be created. This includes secondary and tertiary means of getting to the outside world (through different accessible subnetc, etc).
Once the mapping is provided, the actual exfiltration testing should be commenced.


The Libnet Reference Manual
v.02 / 10.27.99Mike D. Schiffman<EMAIL_ADDRESS>This manual covers libnet up through version 1.0.0 (the "stable" release). It does not cover the development release 1.1.x.
Chapter 1 Introduction
Chapter 2 Broad Overview
2.1 Ports
2.2 Getting Started
Chapter 3 Design Decisions
3.1 Modularity (interfaces and implementations)
3.2 Nomenclature
3.3 Error Handling and Reporting
3.4 Assertions and Exit Points
3.5 IPv4 vs. IPv6
3.6 The Configure Script
Chapter 4 A Means to an Ends
4.1 The Order of Operations
4.1.1 Memory Allocation and Initialization
4.1.2 Network Initialization
4.1.3 Packet Construction
4.1.4 Packet Checksums
4.1.5 Packet Injection
4.2 Using the Configure Script
4.3 IP-layer vs. Link Layer
4.4 Spoofing Ethernet Addresses
4.5 Raw Sockets Limitations
Chapter 5 Internals
5.1 Memory Management Functions
5.2 Address Resolution Functions
5.3 Packet Injection Support Functions
5.4 Packet Construction Functions
5.5 Support Functions
5.6 Symbolic Constants
5.7 Macros
5.8 Structures (planned)
Chapter 6 Sample Applications
6.1 Example 1
6.2 Example 2
6.3 Example 3
6.4 Example 4
Chapter 7 References
7.1 URLS


State forest in Ohio to open new all-purpose vehicle trails
by EndPlayCOLUMBUS, Ohio (AP) - Enthusiasts are getting a new area in Ohio where they can use all-terrain vehicles, mini dirt bikes, four-wheelers and other all-purpose vehicles.
The Ohio Department of Natural Resources' forestry division says it has purchased 1,405 acres it plans to add to Pike State Forest, in southern Ohio's Pike and Highland counties. Division Chief Dan Balser says the acquisition will double the size of the forest's current APV area.
The state is using State Recreational Vehicle funds to purchase the first 1,005 acres now and the remaining 400 acres next fiscal year. The funds come from APV registration fees.
After construction, riders will have an additional 40 miles for riding. A shelter house, APV camping area and four miles of new trails were opened at the forest in August.


Chris & Tom
Get married
Here early? Join us for dinner and drinks!
September 28th, 2018, starting at 7pm
Randolph Beer DUMBO
RSVP by email or phone
<EMAIL_ADDRESS>(609)-617-4365
Ceremony & Reception
September 29th, 2018
Cocktail hour starts at 5pm
Ceremony at 5:30pm
Full-on revelry to follow
Dress code? Comfortable/casual
Where
Greenwood Park
Brooklyn, NY
Hang out while hungover! Join us for brunch the next morning!
September 30th, 2018, from 10am - 12pm
New York Marriott at the Brooklyn Bridge
Accomodations & Transportation
{% for place in accomodations %}
{{place.address}}
{% endfor %}
{{place.name}}
{% if loop.index == 1 %} Reserve with wedding block {% endif %}
{{place.address}}
{{place.city}}
{{place.phone}}
Check back soon for transportation info! We plan on having a Lyft code so that we can pay for your cab rides to/from the venue!


My Account | My Wishlist | My Cart | Checkout | Log In
Shopping Cart: 3 items ( Show Cart )
Proceed to checkout
Continue shopping


scikit-sound - Documentation¶
scikit-sound is a library for working with sound files.
It is hosted under https://github.com/thomas-haslwanter/scikit-sound, and
contains two modules:
sounds
: utuilies for working with sound data
misc
: utilities for file- and directory selection, and for user-interaction
The module sounds
has two classes:
sounds.Sound
… reading in, and working with sounds.
sounds.FFMPEG_info
… handling the FFMPEG installation required for working with MP3-files etc.
The class Sounds lets you
sounds.Sound.read_sound()
read in sounds from sound-files (WAV, etc).
sounds.Sound.generate_sound()
generate sounds from numpy arrays.
sounds.Sound.play()
play sounds
sounds.Sound.get_info()
show the corresponding information (sample rate, number of channels, etc.)
sounds.Sound.write_wav()
write out sounds.
The class FFMPEG_info handles the detection of FFMPEG, and the config-information for Python:
The Python standard libraries and scipy provide good support for working with WAV files. If you also want to work with other file formats (MP3, AAC, etc), the easiest way is to install the open-source software FFMPEG on your computer. You can obtain FFMPEG for free from http://ffmpeg.org
For more information, please check the help on the method Sounds.sound()
Installation¶
The simplest way to install sksound is
>>> pip install scikit-sound
For upgrading to the latest version of sksound, you have to type
>>> pip install scikit-sound -U
However, you can also install from the source files. To do this, just go to the root directory of the package, and type
>>> python setup.py install
Note: After sksound is installed, I typically import it in Python with:
>>> import sksound
Dependencies¶
numpy, scipy, easygui, appdirs, pygame
Testing¶
The easiest way to test the package is with unittest. Open a terminal, and type (on the command-line!):
>>> cd [_your_installation_dir_]\sksound\tests
>>> python -m unittest
Indices and tables¶
Note


Memory consumption¶
Memory mapping¶
When training data is stored in-memory in the parent process, training a ensemble in parallel entails sending the array from the parent process to the subprocess through serialization of the data. Even for moderately sized datasets, this is a time consuming task. Moreover, it creates replicas of the same dataset to be stored in-memory, and so the effective size of the data kept in memory scales with the number of processes used in parallel. For large datasets, this can be catastrophic.
ML-Ensemble overcomes this issue by using memmapping, which allows sub-processes to share memory of the underlying data. Hence, input data need not be serialized and sent to the subprocesses, and as long as no copying takes place in the sub-process, memory consumption remains constant as the number of sub-processes grows. Hence, ML-Ensemble can remain memory neutral as the number of CPU’s in use increase. This last point relies critically on avoiding copying, which may not be possible, see Gotcha’s for further information.
We can easily illustrate this issue by running a dummy function in parallel
that merely holds whatever data it receives from a few seconds before closing.
Here, we make use of the CMLog
monitor that
logs the memory (and cpu) usage of the process that instantiated it.
>>> import numpy as np
>>> from joblib import Parallel, delayed
>>> from time import sleep, perf_counter
>>> from mlens.utils.utils import CMLog
>>> def hold(arr, s):
... """Hold an array ``arr`` in memory for ``s`` seconds."""
... sleep(s)
>>> # Monitor memory usage
>>> cm = CMLog()
>>> cm.monitor()
>>> sleep(3)
>>> # Load an approx. 800MB array into memory
>>> t1 = int(np.floor(perf_counter() - cm._t0) * 10)
>>> array = np.arange(int(1e8)).reshape(int(1e5), int(1e3))
>>> sleep(3)
>>> # Launch 4 sub-process, each holding a copy of the array in memory.
>>> t2 = int(np.floor(perf_counter() - cm._t0) * 10)
>>> Parallel(n_jobs=-1, verbose=100, max_nbytes=None)(
... delayed(hold)(array, 3)
... for _ in range(4))
>>> t3 = int(np.floor(perf_counter() - cm._t0) * 10)
>>> # Job done
>>> sleep(3)
>>> cm.collect()
Pickling array (shape=(100000, 1000), dtype=int64).
Pickling array (shape=(100000, 1000), dtype=int64).
[Parallel(n_jobs=-1)]: Done 1 tasks | elapsed: 17.1s
Pickling array (shape=(100000, 1000), dtype=int64).
[Parallel(n_jobs=-1)]: Done 5 out of 4 | elapsed: 26.3s remaining: -5.3s
Pickling array (shape=(100000, 1000), dtype=int64).
[Parallel(n_jobs=-1)]: Done 5 out of 4 | elapsed: 36.4s remaining: -7.3s
[Parallel(n_jobs=-1)]: Done 5 out of 4 | elapsed: 43.8s remaining: -8.8s
[Parallel(n_jobs=-1)]: Done 4 out of 4 | elapsed: 43.8s finished
Notice that the parallel job seems to be doing an awful lot of data
serialization. The memory log of the cm
reveals that peak memory usage is
over some three times larger than the original array when 4 cpu’s are in use.
With such a memory profile, an ensemble would not be very scalable.
Memmapping allows us to overcome these issues for two reaons. First, it entirely overcomes serialization of the input data as processes share memory and hence the subprocesses can access the input arrays directly from the parent process. Second, insofar no copying of the input data takes place, memmapping avoids scaling the data size requirement by the number of processes running. To see this first hand, we can modify the above example to convert the toy array to a memmap and again monitor memory usage.
>>> import os
>>> import tempfile
>>> from joblib import load, dump
>>> with tempfile.TemporaryDirectory() as tmpdir:
>>> f = os.path.join(tmpdir, 'arr.mmap')
>>> if os.path.exists(f): os.unlink(f)
>>> cm = CMLog(True)
>>> cm.monitor()
>>> sleep(3)
>>> array = np.arange(int(1e8)).reshape(int(1e5), int(1e3))
>>> t1 = int(np.floor(perf_counter() - cm._t0) * 10)
>>> # Now, we dump the array into a memmap in the temporary directory
>>> dump(array, f)
>>> array = load(f, mmap_mode='r+')
>>> t1_d = int(np.floor(perf_counter() - cm._t0) * 10)
>>> sleep(3)
>>> t2 = int(np.floor(perf_counter() - cm._t0) * 10)
>>> Parallel(n_jobs=-1, verbose=100, max_nbytes=None)(
... delayed(hold)(array, 3)
... for _ in range(4))
>>> t3 = int(np.floor(perf_counter() - cm._t0) * 10)
>>> sleep(3)
>>> cm.collect()
[Parallel(n_jobs=-1)]: Done 1 tasks | elapsed: 3.0s
[Parallel(n_jobs=-1)]: Done 5 out of 4 | elapsed: 3.0s remaining: -0.6s
[Parallel(n_jobs=-1)]: Done 5 out of 4 | elapsed: 3.0s remaining: -0.6s
[Parallel(n_jobs=-1)]: Done 5 out of 4 | elapsed: 3.0s remaining: -0.6s
[Parallel(n_jobs=-1)]: Done 4 out of 4 | elapsed: 3.0s finished
Notice first that no pickling is reported in the parallel job; second, the time
to completion is no more than the 3 seconds we asked the hold
function to
sleep. In other words, memmaping causes no process time overhead. This stands
in stark contrast to the previous example, which needed over 40 seconds to
complete - an order of magnitude slower. Moreover, inspecting the memory
profile, note that memmapping is completely memory neutral. In fact, if we
replace the original array with the memmap (as in this example),
the memory required to hold the original file can be released and so there
is no copy of the array kept in the process memory.
For further details on memmapping in parallel processing, see the joblib package’s documentation.
ML-Ensemble memory profiling¶
By leveraging memmapping, ML-Ensemble estimators are able to achieve memory neutral parallel processing. In the following example, an ensemble of three linear regression estimators with different preprocessing pipelines are fitted on data comprising 6 million observations and ten features. The following profiling can be run from the package root with the below command:
>>> python benchmarks/memory_cpu_profile.py
Note that the ensemble leveraged the full capacity of the CPU to fit the ensemble.
And while doing so, memory consumption remained neutral. Note here that becase the input data was first loaded into memory, then passed to the ensemble, the original data stays in memory (the ensemble instance cannot delete objects outside it’s scope). To make the ensemble even more memory efficient, a user can specify a path to a csv file or stored numpy array or numpy memmap, in which case no memory will be committed to keeping the original data in memory. See the Passing file paths as data input tutorial for more information.
Memory performance benchmark¶
Finally, we consider how a SuperLearner
compares in terms of memory
consumption against a set of Scikit-learn estimators. This benchmark
relies on the mprof package, which can be installed with pip
. The
benchmark compares the sklearn.linear_model.Lasso
,
sklearn.linear_model.ElasticNet
and the
sklearn.neighbors.KNeighborsRegressor
against an ensemble that
uses the former two as the first layer and the latter as a final meta
estimator.
>>> mprof run friedman_memory.py
>>> mprof plot friedman_memory.py -t "Memory Consumption Benchmark"
mprof: Sampling memory every 0.1s
running as a Python program...
ML-ENSEMBLE
Benchmark of ML-ENSEMBLE memory profile against Scikit-learn estimators.
Data shape: (1000000, 50)
Data size: 400 MB
Fitting LAS... Done | 00:00:01
Fitting KNN... Done | 00:00:08
Fitting ENS... Done | 00:00:21
Fitting ELN... Done | 00:00:01
Profiling complete. | 00:01:13
Using last profile data.
Gotcha’s¶
The above analysis holds under two conditions: (1) no copying of the input data is triggered during slicing the K-folds and (2) the base estimators do not copy the data internally. However memmapping always avoids array serialization between sub-processes which can be significant burden on time consumption.
(1) Because of the structure of numpy’s memory model, slicing an array returns a view only if the slice contiguous. In particular, this means that we cannot slice a numpy array to retrieve two partitions separated by one or more partitions. Technically, this limitation arises since it breaks the stride patterns numpy arrays relies on to know where find a row. ML-Ensemble can therefore only avoid copying training data when the number of folds is 2, in which case the first half is used for training and the latter for predictions. For 3 of more folds, the training set is no longer contiguous and hence slicing the original array triggers advanced indexing, in turn causing a copy of the underlying data to be returned. Being a limitation within numpy, this issue is beyond the control of ML-Ensemble.
Also note that if the data is preprocessed within ML-Ensemble, transformers
automatically return copies of the input data (i.e. breaks the link with the
memory buffer) and will therefore always trigger a copying. In fact, if
it does not, transforming the memmapped original data will raise an OSError
since the memory map of the original data is read-only to avoid corrupting the
input.
(2) The user must take not what input requirements are necessary for a Scikit-learn estimator to not copy the data, and ensuring the input array is in the given format. Note that prediction arrays are always dense C-ordered float64 arrays. For instance, several Scikit-learn linear models defaults to copying the input data, Scikit-learn random forests estimators copy the data if it is not Fortran contiguous. Similarly, Scikit-learn SVM models copy data that does not satisfy its particular requirements.


Grow templates are stored in a pod's /views/
directory. Templates are processed using the Jinja2 template language. Grow extends Jinja2 with a few variables and functions that make building content-rich web sites more convenient.
Variables have no prefix and are part of the global template scope. Functions are prefixed into the g
namespace, for example: g.<function name>
.
Variables
There are several built-in global variables available to templates. Because these variables are not namespaced, take caution not to overwrite their values.
doc
The current content document associated with the current page that's being rendered. See the full documentation for the document API.
{{doc.category}} # Document's category {{doc.title}} # Document's canonical title. {{doc.titles('nav')}} # Document's "nav" title. {{doc.html|safe}} # Document's rendered Markdown body. {{doc.foo}} # Value of the "foo" custom field from the YAML front matter.
env
The rendering environment that exists when the page is being built or served.
{{env.host}} {{env.name}} {{env.port}} {{env.scheme}} {{env.fingerprint}}
podspec
Refers to the podspec.yaml
configuration file and allows you to access pod-wide settings in templates.
{{podspec.title}} # Pod's title. {{podspec.project_id}} # Pod's project ID.
Functions
_
_(<string>)
The _
tag is a special function used to tag strings in templates for both translation and message extraction.
# Simple translation. {{_('Hello')}} # A translation with a placeholder. {{_('Hello, %(name)s', name='Alice')}}
g.categories
g.categories(<collection>)
Lists content documents within a collection and groups them by their $category. Useful for generating navigation and categorized lists of documents.
{% for category, docs in g.categories('pages') %}
{{category}}

 {% for doc in docs %}
{{doc.title()}} {% endfor %}
 {% endfor %}
g.collection
g.collection(<collection>)
Returns a Collection
object, given a collection path.
g.collections
g.collections(<optional list of collections>)
Returns a list of all Collection
objects in the pod, or lists Collection
objects given a list of collection paths.
{{g.collections()}} {{g.collections(['pages'])}}
g.csv
g.csv(<path to csv>, locale=<identifier>)
Parses a CSV file and returns a list of dictionaries mapping header rows to values for each row. Optionally use keyword arguments to filter results. This can be particularly useful for using a spreadsheet for localization (where rows represent values for different locales).
{% set people = g.csv('/data/people.csv') %} {% for person in people %}
{{person.name}} {% endfor %}
g.date
g.date(<DateTime|string>, from=<string>)
Parses a string into a Date object. Uses Python date formatting directives.
# Returns a DateTime given a string and a format. {{g.date('12/31/2000', from='%m/%d/%Y')}}
g.doc
g.doc(<document path>, locale=<locale>)
Gets a single content document, given its pod path.
{% set foo = g.doc('/content/pages/index.html') %} {{foo}} # Returns the fr version of a document. {{g.doc('/content/pages/index.html', locale='fr')}}
g.docs
g.docs(<collection>, order_by=<field name>, locale=<locale>)
Searches content documents within a collection.

 {% for doc in g.docs('pages') %}
{{doc.title}} {% endfor %}

The documents can also be sorted by multiple fields.

 {% for doc in g.docs('pages', order_by=('dates.published', 'title')) %}
{{doc.title}} {% endfor %}

g.json
g.json(<path to json file>)
Returns a loaded JSON object, given a JSON file's pod path.
g.locales
g.locales(<list of locale identifier>)
Returns a list of Locale class
given a list of locale identifiers.
g.nav
Returns an object which can be used to create navigation.
g.static
g.static(<file path>)
Returns a StaticFile
object corresponding to a static file contained within the pod. <file path>
is the full pod path of the static file. You can access the path
property of StaticFile.url
to retrieve an absolute link to the file's serving path.
It is a best practice to always refer to static files using the g.static
tag rather than referring to their URLs directly. This has the benefit of making URL changes easy and Grow will catch broken links to static files at build time.
Prior to using g.static
, routes must be configured in the static_dirs
property of podspec.yaml
.

g.static
supports static file localization by way of the localization
option of the static_dirs
setting in podspec.yaml
. If a localized static file exists, it will return the object corresponding to the localized static file. If it doesn't, it will return the object corresponding to the base static file.
# Uses the current document's locale. {{g.static('/static/example.png', locale=doc.locale)}} # Uses a hardcoded locale. {{g.static('/static/example.png', locale='de')}}
g.statics
g.statics(<pod path>)
Returns a list of StaticFile objects from in a directory within your pod.
{% for static_file in g.statics('/source/images/') %}  {% endfor %}
g.url
g.url(<document path>)
Returns the URL object for a document, given a document's pod path. Access the path
property of the URL object to retrieve an absolute link to the document.
Home
g.yaml
g.yaml(<path to yaml>)
Returns a parsed yaml object, given a yaml file's pod path. Respects translation tagging.
Filters
currency
Formats currency in a localized format. Use's Babel's format_currency.
{{12345|currency('USD')}}
date
Formats localized and non-localized dates. Use's Babel's format_date.
{{date_object|date(format='short')}} {{date_object|date(format='short', locale='ja_JP')}} {{date_object|date(format="yyyy.MM.dd G 'at' HH:mm:ss zzz")}}
datetime
Formats localized and non-localized datetimes. Use's Babel's format_datetime.
decimal
Formats decimal in a localized format. Use's Babel's format_decimal.
{{123.45|decimal()}}
deeptrans
Recursively applies the gettext translation function to strings within a dictionary.
{% set content = { 'key': 'String', 'item_list': [ 'String 1', 'String 2' ] } %} {{content|deeptrans}}
jsonify
Converts a dictionary into JSON.
{{dict_object|jsonify}}
markdown
Renders Markdown content into HTML. Use in conjunction with the safe
filter to render HTML to a page.
{{markdown_content|markdown}} {{markdown_content|markdown|safe}}
number
Formats numbers in a localized format. Use's Babel's format_number.
{{1234.567|number}}
percent
Formats percentages in a localized format. Use's Babel's format_percent.
{{0.123|percent}}
relative
Generates a relative URL (from the perspective of the current document context) from an absolute URL path.
{{g.doc('/content/pages/home.yaml').url|relative}}
shuffle
Randomizes the order of items in a list.
{{[1,2,3,4,5]|shuffle}}
slug
Creates a slug from text.
{{'Hello World'|slug}}
time
Formats localized and non-localized times. Use's Babel's format_time.


Welcome to the ATLAS Open Data Hackathon
This is a documentation to run the resources to-be-released at the ATLAS Open Data project!
Data and MonteCarlo samples at 13 TeV centre-of-mass energy
- 8 TeV Run 1 samples
-
http://opendata.atlas.cern/extendedanalysis/datasets.php
- You can get/read one by one, using the URL, from a Jupyter notebook, for example.
- Or download the ZIP file with all in there.
- References
- Online book
- ATL-OREACH-PUB-2016-001
-
13 TeV Run 2 samples
/eos/project/a/atlas-outreach/projects/open-data/OpenDataTuples/
- Please, avoid any modification, you can simply read directly using LXPLUS (use it as read-only area).
- You need to subscribe to the e-group “atlas-outreach-data-and-tools" to get access.
- Click here to subscribe
- Reference
- ATL-COM-OREACH-2019-002
Notes
We develop the 13 TeV TTree
to be compatible with the 8 TeV TTree
.
This means that in case something is developed using the 8 TeV samples, can be easily modified to fit the 13 TeV TTree
.
What are they?
- They are several collections of samples.
- The collections are defined by the filters that were applied.
- Those filters are:
- 1lep
- MC (55G)
- Data (54G)
- 2lep
- MC (32G)
- Data (2.5G)
- GamGam
- MC (635M)
- Data (1.4G)
- 1lep1tau
- MC (886M)
- Data (204M)
- 1tau
- Data (191M)
- MC (107M)
- 2tau
- MC (36M)
- Data (55M)
-
1fatjet1lep
- Data (11M)
- MC (6.0G)
-
More details about the samples, production status can be seen here.
Analysis Examples frameworks
Explore several of the collections using the Analysis frameworks:
Notes
DOI and CERN Open Data access
Datasets have/will have DOI's that allow their citation.


Welcome to my portfolio.
 My passion for artificial intelligence helps me design data-driven solutions and products in a myriad of different industries, that can help clients make better business decisions, gain insights, research, and solve complex problems utilizing large datasets.
Start scrolling to learn more about me.
Designed and Built Data Pipelines and Data Warehouses for AI Use Cases. Selected, Trained and Tuned Machine Learning/Deep Learning Algorithms. Deployed Machine Learning Applications in line with industry best practices.
Worked with the Quantitative Strategies Group and exposed to algorithm trading. Developed system to analyse variances in P&L between actual and quantitative model across 200+ contracts traded. Built software algorithm in Python that is still used to analyse and output daily reports.
GPA: 2.91
GPA: 3.73
Proficient: in Python, Deep Learning, Machine Learning, NLP, Keras, TensorFlow, C, C++, Java, Git, Excel
Familiar with: PyTorch, GCP, Azure, AWS, Linux, HTML/CSS, Javascript, SQL, PHP
Apart from being an AI enthusiast, I enjoy spending time being active and outdoors. I am fond of biking, hiking, weight-lifting and playing football.
When forced indoors, I watch a number of sci-fi and fantasy genre movies and television shows, am an avid reader, and spend a large amount of my free time exploring the latest technological advancements.


{% extends "fragments/default.html" %} {% block navbar %}
{% endblock %} {% block head %} {% endblock %} {% block content %}Sideloader is a build and release management system for people with better things to do than SSH into servers every time
In order for Sideloader to build a package it needs to know a few things about how to assemble it. This is defined in a .deploy.yaml file in the root of the git repository.
A simple deploy file is structured as follows
name: sideloader buildscript: scripts/deploy_sideloader postinstall: scripts/postinstall.sh pip: - gunicorn - django dependencies: - nginx - postgresql-server-dev-9.1 - libpq-devIn this example Sideloader will retrieve the repository, construct a Python virtualenv, and execute scripts/deploy_sideloader from the workspace directory which will contain a build directory, and the repository checkout directory. This script must perform any necessary build functions such as installing additional libraries via pip, and place the relevant files for the package in a subfolder of the build directory. The simplest possible form of this is just cp -a myrepo ./build/
The postinstall script will be executed when the package is installed. The structure of this script is different as it is wrapped inside a BASH script (so the script itself must be BASH) containing various environment variables and an active virtualenv.
In the case of a simple Django application you can do the following
manage="${VENV}/bin/python ${INSTALLDIR}/mypackagename/manage.py" $manage syncdb --noinput --no-initial-data --migrate $manage collectstatic --noinput
In the above deploy file example several Ubuntu package dependencies are also added to install additional requirements when the package is installed
As discussed in the Getting started section the YAML deploy file contains instructions on building your package. It defines scripts to run for building and installing the package, dependencies for building and running the application and can also manage configurations for nginx and supervisor. This section gives a more detailed overview of these options.
| $VENV | Path to virtualenv |
| $PIP | Path to pip binary in virtualenv |
| $WORKSPACE | Path to workspace for this build |
| $BUILDDIR | Path to build directory |
| $INSTALLDIR | Path to where the build directory will be deployed |
| $REPO | The base repo name |
| $NAME | The package name in configuration |
| $BRANCH | The branch name for this build |
| $VENV | Path to virtualenv |
| $PIP | Path to pip binary in virtualenv |
| $INSTALLDIR | Path to where the build directory has been placed |
| $NAME | The package name in configuration |
| $BRANCH | The branch name for this build |
nginx: - foo-site/nginx/foo-site.conf
supervisor: - foo-site/supervisor/foo-celery.conf
virtualenv_prefix: my-project
allow_broken_build: true # I'm happy to deploy nonfunctional packages.
The Sideloader web interface provides a workflow for managing who can execute builds, an API for remotely triggering builds on git commit, and release streams to target specific platforms for the installation of the package (handled by Puppet), and targeted releases deployed to servers immediately via the Specter agent.
class packages { if $server_packages { create_resources(package, $server_packages) } }A corresponding module provides a JSON structure as:
{ "PACKAGE_NAME": {"ensure":"present|absent"} }This template will be presented to the user adding a module to a release workflow and they will need to replace the relevant fields as follows


00001 /* 00002 Copyright (c) 2003 Pawel Niewiadomski 00003 All rights reserved. 00004 00005 Redistribution and use in source and binary forms, with or without 00006 modification, are permitted provided that the following conditions 00007 are met: 00008 1. Redistributions of source code must retain the above copyright 00009 notice, this list of conditions and the following disclaimer. 00010 2. Redistributions in binary form must reproduce the above copyright 00011 notice, this list of conditions and the following disclaimer in the 00012 documentation and/or other materials provided with the distribution. 00013 3. All advertising materials mentioning features or use of this software 00014 must display the following acknowledgement: 00015 This product includes software developed by the Pawel Niewiadomski, 00016 and other contributors. 00017 4. Neither the name of Pawel Niewiadomski nor the names of other contributors 00018 may be used to endorse or promote products derived from this software 00019 without specific prior written permission. 00020 00021 THIS SOFTWARE IS PROVIDED BY PAWEL NIEWIADOMSKI AND CONTRIBUTORS ``AS IS'' AND 00022 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00023 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00024 ARE DISCLAIMED. IN NO EVENT SHALL PAWEL NIEWIADOMSKI OR CONTRIBUTORS BE LIABLE 00025 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00026 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 00027 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 00028 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00029 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 00030 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00031 SUCH DAMAGE. 00032 */ 00033 00034 #ifndef __CLOGHISTMOD_H 00035 #define __CLOGHISTMOD_H 00036 00037 #include "cmod.h" 00038 #include <clogger.h> 00039 00044 00048 class cloghistmod : public cmod { 00049 protected: 00050 static const char _id[]; 00051 static const char _menu[]; 00052 00053 void act( clogger * ); 00054 00056 void range_get( clogger::size_type &, clogger::size_type & ); 00057 00059 void navi_dump(clogger::size_type, clogger::size_type, 00060 clogger::size_type ); 00061 00062 public: 00063 cloghistmod(cenvironment &e) : cmod(e) { modinfo=mi_menu; } 00064 const char *id() { return _id; } 00065 const char *name() { return ""; } 00066 const char *menu() { return _menu; } 00067 const char *conf() { return ""; } 00068 char run(); 00069 }; 00071 #endif


--- layout: default isFront: true image: sf_evening.jpg attribution: "Header image by Basil D Soufi (Own work) [CC-BY-SA-3.0](http://creativecommons.org/licenses/by-sa/3.0), via Wikimedia Commons" published: true ---
Welcome to the Housing Data Hub! This is your go-to resource for learning about policies and programs that affect housing affordability and are administered by local government agencies in San Francisco. We provide an overview of each of the major programs - what it is, its purpose, and related data.
Who is this for? This is for policy makers, decision makers and individuals interested in what San Francisco is doing about affordable housing. If you need affordable housing or want to access these programs, please visit the Mayor's Office of Housing and Community Development.


Current Project(s)
Label-Free Optical Imaging
As part of the Wallace group at King’s College London, I am investigating label-free optical imaging of single molecules, using Interferometric Scattering (iSCAT) microscopy. Using the fact that all particles can scatter light beams and that this scattered beam can interfere with a reference light beam, we are able to image on our microscope individual metal particles as small as 2nm and individual proteins and polymers as small as 100kg/mol at ultra high speeds (> 10kHz). Going beyond the limitations in space and time resolutions of other types of optical microscopes, we use this technique to visualize key events and reactions in cells and other standard biophysical systems.
Read More...Simulations of Lipid Phases
In collaboration with the Institut Charles Sadron (Strasbourg, FR), I am investigating the thermodynamic properties of lipid membranes generated by molecular dynamics (MD) simulations. My specific interest are the phase transitions and separations that can occur when the temperature of the system vary. Using Machine Learning to analyse the lipid configurations, we aim at describing complex lipid mixtures and phases using a two-state approach.
Read More...Collaborations
I am currently working in close collaboration with Drs. Celine Ruscher, Olivier Benzerara and Fabrice Thalmann from the Institut Charles Sadron (CNRS, Universite de Strasbourg, FR) for the study of lipid bilayers in Molecular Dynamics (MD) simulations using Machine Learning. We are often supported on this project by Drs. Carlos M. Marques and Adrien Gola, also from the Institut Charles Sadron, and by Dr. Tiago Espinosa de Oliveira (BR). For more information on this collaboration, please check the section Simulations of Lipid Phases above.
Through my project on iSCAT, I joined a collaboration between the King’s College London and the Prof. Rachel O’Reilly and Dr. Jeffrey Foster from the University of Birmingham (Birmingham, UK). Through this collaboration, we aim at imaging polymers with our iSCAT microscope and study their properties.
Publications
Peer-Reviewed Journals
-
A machine learning study of the two states model for lipid bilayer phase transitions
Walter et al. 2020 PCCP 22, 19147-54 -
Interaction of Giant Unilamellar Vesicles with the Surface Nanostructures on Dragonfly Wings
Cheeseman et al. 2019 Langmuir 35 (6), 2422-30 -
Cargo self-assembly rescues affinity of cell-penetrating peptides to lipid membranes
Weinberger et al. 2017 Sci Rep 7, 43963
Thesis
-
Lipid Membrane Interactions with Self-Assembling Cell-Penetrating Peptides
PhD Thesis 2017 -
Construction de multicouches de graphène, polyélectrolytes et nanoparticules d'oxydes métalliques pour la création de supercondensateurs
MSc Thesis 2014 -
Etude de la photo-oxydation de lipides par FRAP ET FRAPP
MSc Thesis 2012
Previous Work
Previous Collaborations
I have worked previously with Drs. Samuel Cheeseman and Vi Khanh Truong from Prof. Elena P. Ivanova group at the Swinburne University of Technology for the study of the interactions of Giant-Unilamellar Vesicles (GUVs) with Dragonfly wings. The results on this collaboration were published in Langmuir.
My PhD thesis was part of a collaboration with Prof. Ashutosh Chilkoti and Dr. Sarah MacEwan from Duke University, USA) to study how temperature could trigger the cellular uptake of cell-penetrating peptides (CPP) via self-assembly of elastin-like polypeptides (ELP) with the temperature. More details on the project can be found here.


This method is a multi-part specialised method. It may be deprecated in future releases of the iReport API, and thus is not recommended for use.
Given a Discord User ID user_id, a Discord Guild ID guild_id, and a reason, the method determines whether the given user has a current report, and that the reason is valid.
If the given guild is an iReport Guild, and the report is a valid iReport reason (see is-valid-reason), return the latest report if there is one. If there isn’t one, return a 200 response.
If the guild is not in iReport, the endpoint will return Status 403. If the reason is invalid, return Status 204.
This endpoint is useful for creating an automatic iReport Suggestion dialogue upon ban (ie, prompt a user to create an iReport if a ban created through the bot has a valid reason). Make use of the most recent report to inform the user if they have an existing report, and to not create a new report if the existing matches the current reason. You can also implement your own logic to do this.
It is recommended you use other methods for this type of functionality:
user_id
, guild_id
and reason
.{
user_id: 12345
guild_id: 12345
reason: Trolling
}
The headers must include a valid authorization token.
If reason is not a valid iReport reason:
Status: 204 No Content
{
error: "Not a valid report"
}
If the guild does not exist in iReport:
Status: 403 Forbidden
{
error: "Guild not iReport"
}
If the reason is valid and the given guild exists in iReport:
Status: 200 OK
{
latestReport: null
configuredChannel: null
}
For errors responses, see the response status codes documentation.


MyDays
important days are worth remembering
There are special days in our lives that we find significant enough to commemorate with anniversaries.
Every day is an anniversary of something for someone – a birthday, a wedding anniversary, a job or promotion anniversary, a graduation, a sobriety milestone. And then there are those anniversaries celebrated nationally as holidays: Christmas, New Years, Presidents Day, and Mother’s Day, to mention just a few.


Assembly instructions
Schematics
Eval boards
Some AD5764 eval boards have J21 unpopulated. If you encountered this, solder a 14-pin header to the AD5764 eval board so the Arduino can communicate with the AD5764 via SPI.
The AD5764 eval board has 14 jumpers that set various options on the board. Refer to the datasheet for a complete description. For the DAC-ADC, set the jumpers like as follows:
| Jumper # | State |
|---|---|
| LK1 | B |
| Lk2 | C |
| LK3 | Inserted |
| LK4 | B |
| LK5 | A and B |
| LK6 | Inserted |
| LK7 | A |
| LK8 | B |
| LK9 | B |
| LK10 | Removed |
| LK11 | A |
| LK12 | Inserted |
| LK13 | Inserted |
| LK14 | Inserted |
Similarly, the AD7734 eval board has 30 jumpers that set various options on the board. For the DAC-ADC, set the jumpers as follows
| Jumper # | State |
|---|---|
| LK1 | A and B |
| Lk2 | A |
| LK3 | A |
| LK4 | Inserted |
| LK6 | Inserted |
| LK8 | Inserted |
| LK11 | Inserted |
| LK12 | Inserted |
| LK13 | Inserted |
| LK14 | Inserted |
| LK15 | Inserted |
| LK16 | Inserted |
| LK17 | Inserted |
| LK18 | Inserted |
| LK19 | Inserted |
| LK20 | Inserted |
| LK25 | Inserted |
| LK26 | Inserted |
| LK29 | Inserted |
| Remaining | Removed |
Arduino shield
Now solder headers, screw terminals and the voltage regulator to the DAC-ADC Arduino shield. You can ensure a good fit to the Arduino if you solder the headers with the shield in place, just make sure not to overheat the Arduino (be quick and minimize soldering iron heat).
Enclosure assembly
Machine holes in the enclosure front panel for BNC feedthroughs and indicator LEDs, and in the back panel for the D-sub power and USB feedthroughs. Attach all the feedthroughs to the enclosure and attach the front and back panels. For machining simplicity, we used circular BNC feedthroughs. Use lock-washers for the BNCs and make the nuts nice and tight; alternatively, machine D-holes and get appropriate feedthroughs.
Connect the Arduino and USB feedthrough using the 6-inch USB A-B cables, and connect the SMB-BNC cables to the chassis and the eval boards. Then attach the three PCBs (AD5764 and AD7734 eval boards and Arduino) to the enclosure with mushroom-head fasteners.
Make power connections as shown below. Twisted pairs for power likely have no benefit, but they keep things tidy. You will have an easier time with the screw terminals if you use solid conductor hook-up wire. The SMB cables to the eval boards are shown connected below, but other wiring may be easier if you save those until the end.
Wire the power and communication indicator LEDs as shown below. For the power LED, solder two 910 ohm resistors at both ends. If the LED doesn’t light up when you plug in the power cable, try reversing the leads.
Make the connections for communication using two ribbon cables between the Arduino shield, and the J21 and J2 pins on the EVAL-AD5764 board and EVAL-AD7734, respectively.
Put the lid on your enclosure and the hardware is done! Plug in the power and the +/- 15 V; the indicator LEDs will turn on, but the communication LED will not turn on until the DAC-ADC firmware is uploaded to the Arduino.


archive
automatically archive articles from previous years. also automagically set tags for year and archive, eg "2010" and "archive"
Details
| Id: |
f010c5057b57c1e86b07af68f574f7b805175323 |
| Type: |
feature |
| Creation time: |
2011-09-23 17:14 GMT |
| Creator: |
nkoehring<EMAIL_ADDRESS>|
| Release: |
1.0
(unreleased)
|
| Component: |
swslog |
| Status: |
closed: fixed
|
Issue log
| 2011-09-24 02:36 GMT |
nkoehring<EMAIL_ADDRESS>|
closed with disposition fixed |
|
| 2011-09-23 17:19 GMT |
nkoehring<EMAIL_ADDRESS>|
edited description |
|
| 2011-09-23 17:14 GMT |
nkoehring<EMAIL_ADDRESS>|
created |
|


HOW TO DONATE MONEY TO HOOTING YARD
Readers with some disposable income may wish to donate to Hooting Yard to ensure that it continues to appear. Any money received will be spent on things like food, gas and electricity bills, telephone charges and so on. Seriously!
You can send money via PayPal. The account ID is, as you might expect, Hooting Yard and the email address is<EMAIL_ADDRESS>Mrs Gubbins has suggested that all donors ought to receive a little gift in return. I'm working on it...
Many thanks,
Lothar Preen
on behalf of Frank Key


In a world where we're surrounded by technology, and where so many of our interactions we have are with computers, learning to code helps us understand how these services work.
What's more, learning to code gives us a powerful way to explore our ideas and make things, both for work and play.
If you're part of a code club or group, and you're meeting during Code Week, tell us what you're doing and we'll add it to our map.
Not part of a group but want to take part? You can still run a Code Week event in your area. We've compiled a list of guides and resources which you might find useful. Community groups, companies and non-profits are all welcome to run a Code Week event.
We've also got Code Week Ambassadors on the ground in every country. Get in touch with yours if you'd like to volunteer, or if you'd like to sponsor a local event.
We're talking about Code Week on Twitter - there's regular updates at @CodeWeekEU. Follow along the conversation with #codeEU.
You can also subscribe to our email updates, where we're sending out occasional Code Week news.


In some scenarios on mobile devices (without jQuery), the click events should NOT be hijacked.
$mdGestureProvider
is used to configure the Gesture module to ignore or skip click hijacking on mobile
devices.
You can also change the max click distance, 6px
by default, if you have issues on some touch screens.
$mdGestureProvider.disableAll();
Disable all gesture detection. This can be beneficial to application performance and memory usage.
$mdGestureProvider.skipClickHijack();
Tell the AngularJS Material Gesture module to skip (or ignore) click hijacking on mobile devices.
$mdGestureProvider.setMaxClickDistance(clickDistance);
Set the max distance from the origin of the touch event to trigger touch handlers.
| Parameter | Type | Description |
|---|---|---|
* clickDistance
string
|
string |
Distance in pixels. I.e. |


strong
HTML5 has really good accessibility.

HTML5 has really good accessibility.

HTML5 strong element


menu
Feedback
UTSC Labs
Piazza
MarkUs
Weekly Labs
Assignments
Syllabus
Course Team
Home
CSCB20
Scroll up
Weekly Lab Exercises
Week 1
Concepts:
Review of Python
Basic loops, conditional statements, file IO etc.
Download Handout
Examples and Starter Code
file basics
lists
math and strings
nested lists
while loops
data set
Week 2
Concepts:
Review of Relational Algebra
Download Handout
Week 3
Concepts:
Setting up MySQL
Download Handout
Week 4
Concepts:
MySQL Exercises
Download Handout
Examples and Starter Code
University SQL Dump
Using the MathLab MySQL Server
Solutions
Week 5
Concepts:
Exercise about Joins
Download Handout
Week 6
Concepts:
HTML and CSS
Download Handout
Examples and Starter Code
Starter Code
Week 7
Concepts:
CSS is Awesome
Download Handout
Week 8
Concepts:
JavaScript
Download Handout
Examples and Starter Code
Guessing Game HTML
Guessing Game CSS
Guessing Game JS


blockmodeling: Generalized and Classical Blockmodeling of Valued Networks
This is primarily meant as an implementation of generalized blockmodeling for valued networks.
In addition, measures of similarity or dissimilarity based on structural equivalence and
regular equivalence (REGE algorithms) can be computed and partitioned matrices can be plotted:
Žiberna (2007)<doi:10.1016/j.socnet.2006.04.002>, Žiberna (2008)<doi:10.1080/00222500701790207>,
Žiberna (2014)<doi:10.1016/j.socnet.2014.04.002>.
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=blockmodeling
to link to this page.


- About
- Layout Details
- Encoding-Check
- Editor
- Export
- Source XML
- JSON
- Target XML
What is QuickEdit?
QuickEdit is an online, non-official property editor for TouchOSC layout files.
Its main purpose is allow modifying multiple controls, tabs and MIDI properties in a single step, including automated counters. This way, you can finalize the MIDI and OSC configuration of existing layouts in a snap. If you ever tried to setup MIDI notes for a 6x16 MultiToggle matrix or change the MIDI channel for all controls in your layout, then you know the problem ;-)
What is it NOT?
QuickEdit is not provided by or related to hexler.net. It is not meant to be a replacement for their official TouchOSC editor. QuickEdit is targeted at modifying attributes of existing controls and tabs, but won't add, move or delete any elements.
No guarantee - use with care!
Make sure you don't accidentally overwrite your original .touchosc files after editing. There is unfortunately no official documentation on the .touchosc layout file format, so the exported files might not be working as expected anymore.
How to use
Just open any *.touchosc file using the button at the top, then immediately start editing. Everything happens inside your browser. Nothing is uploaded to the server. When you're done, export your modified .touchosc file (i.e. save it to your local disk), and use the official editor to sync it to your touch device.
What's more
TouchOSC is a registered trademark of Hexler.net
This software is provided "as is", without warranties of any kind.
A big thank you to all authors of the JS libraries used in this project,
- KnockoutJS
- Knockout-Handybits
- Knockout-FastForEach
- X2JS
- zip.js
- RequireJS
- Underscore
- jQuery
- jQuery TouchPunch
- Grunt
- Jade (aka Pug)
- Less
- Express
- and all not named here.


You can limit how many messages are displayed in the chat by entering a number above. The message limit is currently {{messageLimit}}, and if you wish to view all the messages
in the chat you must enter a limit that is at least {{messages.length}}, which is the currently the total number of messages in this chat. If you enter a number that is larger
than the total, all of the messages are returned. If you enter a number "n" as the limit, the "n" most recent messages would be returned. The idea behind this feature is to take less time
displaying the desired messages in the chat.
{{#each msg in getMessages}}
{{> message msg}}
{{/each}}