2 years at the Broad Institute
The last year was tough. Much tougher for some than others. Here I want to speak about the 2nd year at the Broad and what life was like during this pandemic. 😷
CCLE part
The Broad continued functioning as fast as ever despite this pandemic. My work was still divided into two groups and research focus. Let’s look at the CCLE, also called depmap-omics.
Making CCLE into a real pipeline
This past year, I managed to convince most of the team to put a lot of effort into making CCLE into a real pipeline. This is something that appeared to me like a very important issue since I was working on the pipeline (see previous CCLE articles: one-year-at-the-broad,depmap-omics-howto)
This effort involved doing 4 separate tasks:
- Finding all our data (bam files) across broad servers and Terra buckets. This allowed us to realize we were missing a lot of input data for our output data.
- Creating an MVP database with all available metadata. This allowed us to realize many missannotation.
- Rewriting things into a coherent one command pipeline. This allowed us to find errors in the code and to remove useless blocks.
- Run the entire pipeline at every release (using call caching when possible).As, before the code was only run on new samples and the output appended to the full dataset (itself likely processed with different versions of the code). This was truly key in uncovering big mistakes in the code that were not caught before. ➿
2 more were also key in figuring out issues
- making cross dataset QCs, spearheaded by James McFarland. ⛔
- making SNP fingerprinting QCs on our input data, spearheaded by William
Issues in the pipeline
Some of the issues we discovered in our data and our code were found at the worst of time, during releases. With multiple ongoing projects, a very long pipeline, the only time I had to work on the pipeline was within releases. Because of that, it was very difficult to neatly separate my work into dev/prod branches. I basically only had the time to do 2 out of 3 key things: 1.improve the prod, 2.test it and 3.run it. ⏲
In the end, after a year of asking for more involvement in this pipeline, it is finally thanks to a couple big “in release” issues that management woke up to this need. We then quickly got the manpower to work on some of the key improvements needed for this pipeline.
What is next for productionalization of depmap omics
We now have a couple more things in our list of improvements:
- making a true DB: a work spearheaded by Phil Montgommery to create an SQL database that would interface with multiple google sheets, python, google cloud and run a set of tests.
- improving our data onboarding process: Getting data from the sequencing facility and matching it with what we have and the metadata from other groups is still a complex process that needs to be improved. This work is also spearheaded by Phil and could come as part of the DB. 🗳
- moving away from the CGA mutation calling pipeline
- improving QCs: we generate many QC files as part of our analysis pipeline. Parsing and aggregating this into coherent metrics would be very useful.
- increasing the documentation: for the folder structure, for the functions used and how to use the depmapomics github project.
- simplifying code tests, using pytests and continuous development tools and good practices.
Knowing that a new goal: “sequencing 10x more data/ cell lines in the coming years” has been set, they will become necessary.
Figuring out new features to extract
Working on depmap-omics was not only about making the things we already had better. But also creating new tools to extract more features from our sequencing.
We created with Javad an up-to-date list of features to extract that we will want to be extracted from our sequencing in the coming years.
I think that this can be used as an extensive list of what can be done with WG/WE/RNA -seq data.
I was able to start working on some of them in the last year:
- getting WGS CN
- getting Y chromosome WGS
- making SV calls on WES and WGS
- making “germline” mutation calling (SNP, indels) on our cell line for WGS and WES
Some of them were used and QCed by multiple groups at the Broad, often leading to new research. (e.g. Misek et. al.)
Changing manager
It feels like since I arrived, CCLE was always in a transition period. The manager had just left and his associate too. An interim from another manager was held while we looked for a more permanent manager.
We also changed ops team twice, which meant that twice in two years we reviewed, changed, and made errors because of team onboarding.
I think that this was a true issue as responsibilities were not held and there was no maintained vision for what would be the future of depmap and depmap-omics.
In the end, this vision was maintained by the people that were there since the beginning, even though they are not directly participating in the project. During this second year at the Broad I have spent more than a semester being the main responsible and objective tracking person for the depmap omics pipeline. The data, code, future objectives, management and responsibilities were on me while we waited for the new ops team, new associates and new manager to arrive and get onboarded. :adhesive_bandage:
In the end I think I liked this part. It allowed me to manage this project on my own and learn project management skills that I might not have otherwise.
Unfortunately my role was not meant for it. And I was not able (as described above) to express the needs of the project or be heard in potential issues. Every decision was done reactively once something went way too bad and not proactively following my recommandation. This was my main source of frustration during the last year on CCLE. 🤯
Celligner
It has now been 2 months that my focus has changed from CCLE to a new project called Celligner. This project was initiated by Allie Warren. 💯
I decided to stay for a third year at the Broad to work on improving Celligner.
The axes of improvements are:
- Usability (interactive platform, open sourcing, documentation…)
- Aggregation of more data types (other sample type, other sequencing,…)
- Algorithm improvement (using VAEs, decreasing memory load…)
A lot of work then, many papers to read and even more ideas. Let’s see what we get out of this. 💭
AMLproject part
As part of my second year in the AMLproject, I have done many more analyses but also had to wrap up what I had done.
Slam-seq with spike-in
One of the endeavours I had to work on was analysing a data type that had not been produced before. A slam-seq experiment, which is RNA-sequencing where the nascent RNAs are labelled such that all their T nucleotides are transformed into C nucleotides. This forced mutation can be used to differentiate gene expression into transcript being produced currently and transcript produced before. ⏲ This is to answer the question: are there more transcripts being produced now because of some condition we put the cell in (and differentiate it from secondary effects of co-regulation). 📶 🛑
This was already done before Muhar et. al.. However we had added spike-in to the mix. This allows us to differentiate absolute amounts of DNA in sample X vs sample Y.
Part of my work was figuring out how to analyse and use Slam-seq data with spike-ins.
chipMerger
I won’t go in the details of the cobinding matrix (which is already explained in the previous documents (predicting-dependencies-from-enhancers,one-year-at-the-broad). We quickly realized that we had to do better with our input ChIP-seq data in order to gain better results 💹. We devised an idea, with Max, to take ChIPseq bed and bigwig files and merge them together, then try to find new peaks under the replicate bigwigs where those peaks were not initially found, using a lower detection threshold than what MACS2 was using. This led to the CREME algorithm.
wrapping up AMLproject
In research, wrapping up a project means,
- setting up enough documentation for other people to take on your work and publishing your code.
- writing a paper.
- selecting, improving and commenting figures for your paper. 📈
- writing the method’s section of the paper.
- publishing and documenting your output data.
- setting up server (SRA, google cloud, spreadsheets..) to publish your input data, QC and processing
This is what I also spent the last year doing. I also quickly set up a resource website for showing off some interactive plot and easy access to our data. In the meantime I also helped another Associate, Monika, to take on my pipelines and codes in order to continue the research endeavour of Maxim Pimkin and Stew Orkin.
the pandemic
Being away from my family, friends and girlfriend (all living in France), this pandemic was very stressful. After a month of being remote and witnessing border shut downs, 👮♂ I decided to take one of the last planes between the US and europe in order to come to a lock downed Paris to stay with my girlfriend. At that time the Broad was already fully remote and every computational work was maintaining its speed. However, everything else was unknown. How long? How bad? What’s next? This situation continued for 4 month. At that time, I had realized the US had shut its border to any non citizen, even valid visa holders, that had been in the EU less than 14 days prior. 🤦
I thought I would wait for this policy to end. But by July, with the first wave of the pandemic being over and almost no cases in the EU, direct entry was still banned for me and everyone I knew. Then started a tiring, stressful, expansive but awesome journey through Yucatan’s and its wonders while still working remotely.
Being a European expat 🇪🇺 in the US during this pandemic was extremely tough. The Broad had a no tolerance policy that required me to either lie to everyone in my company whenever I went to see my family or take 2 weeks of unpaid leave for each trip to the EU. In a competitive environment like the Broad, where 4 weeks a year of vacation is a luxury, better say that there was no real choice. In the last year and a half of the pandemic I went back to France 3 times. Always waiting until it became unbearable, then staying long in France still working and then taking 2 weeks (still working) in Istanbul or Cancun before finally making it to the US. Working from France is also tough as my work day was from 1pm to midnight.
Many people around me told me to quit. Many insulted the US, my company, my boss, the pandemic, for what it put me through. What it put us through. I still feel I can’t complain too much in the midst of what Covid did to so many others.
Awards
I was happy to note that thanks to (and also despite) all of this, I received a Broad Spotlight award 🤴 and was promoted to ACB II ✨ (which is at least twice as good a position as ACB I 😂).


[gecode-users] Restarting search with a new constrain()
Francesco Santini
francesco.santini at dmi.unipg.it
Sat Mar 14 13:00:27 CET 2015
Dear all,
my problem has several partially-ordered best solutions, which I would like to exhaustively find (all of them).
They are partially ordered because they are sets with some properties, but each of these sets is not included into another.
Elements can be taken or not in such sets: hence, I use boolean variables (1 yes I include this element in my solution, 0 no I do not include it).
I was thinking to use an array of boolean variables, and post constraints to satisfy the properties that I request on them (e.g., "I cant take this if I take that").
Then, to channel such variables to sets.
Then define the constrain() function in such a way that each successive solution has to be a -superset- of the previous one.
In this way, I rapidly climb up to one of my best solutions.
However, restarting with the same space does not help me because all the successive best solutions are not strictly included into the first one: search stops after the first best solution. But, again, I would like to have all of them.
I was thinking to -copy- the first clean space, where constrain() has not been invoked yet adding all the superset constraints. Calling "virtual Space * copy (bool share)".
And then to do a new search over such first space, by posting a new constraint with the purpose to avoid to consider (all subsets of) the first best solution. And so on for all the successive steps, considering all the previous best solutions found.
Is it the right/fastest way to do it?
So, a “while until s.next()=NULL”, each time using the first clean space s, but also removing from s all (the subsets of) previous best solutions.
Thanks for your help,
Francesco
==================================
Dr. Francesco Santini
Institute of Informatics and Telematics - CNR
Security group: http://security.iit.cnr.it
Via Moruzzi, 1
56124 Pisa, Italy
http://sites.google.com/site/santinifrancesco/
==================================
More information about the users
mailing list


5/8 memo to JJ Chairs
MEMORANDUM
Date: May 8, 2020
To: Chairs and Program Directors
From: Provost Yi Li
RE: Notice of non-reappointment of all one-semester adjuncts
I regret to share bad budgetary news that affects how we will comply with our contractual obligations to one-semester (as opposed to contractual one-year or three-year) adjuncts. On April 25 New York State announced that as a result of the COVID-19 pandemic and budget shortfalls, it will reduce spending by $10.1 billion from the Executive Budget. Though CUNY is not yet certain of the exact amount its allocation will be reduced, they have asked all college presidents to prepare for a reduction of 10% to college budget allocations. John Jay has modeled our best and worst-case budget scenarios for next year based on this reduced allocation as well as variables such as drops in student enrollment and collection-rate. We are anticipating, at best a $21 million budget shortfall, and in the worst-case scenario a $55 million deficit. I have faith we will not experience this worst case, but we must do all we can now to act responsibly.
In compliance with the contract, and to be prepared for a worst-case scenario, the college will be issuing non-reappointment letters to all one-semester adjuncts by May 15, 2020, our contractual deadline. This will allow those people not reappointed to collect unemployment and/or seek other employment if necessary. Should a department need to hire any of those adjuncts for the fall, because they are needed for courses determined to run, they may, eventually, do so. I caution you not to make promises to non-reappointed adjuncts, however, as these decisions will be made collectively, with the efficiency of the schedule and cost-savings in mind.
In the meantime, I have asked Kathy Killoran and Roblin Meeks to work with chairs and program directors to find courses that are not necessary, or that can be combined, as we try to increase seat efficiency in all programs. Chairs and Program Directors should look at schedules and prioritize those courses that students will need to make progress in their degree programs to graduate. Elective courses that are not necessary to progress in degrees should not be scheduled.
This is a challenging time for all of us, and I want you to know I recognize how difficult it will be for you to manage your personnel with these constraints. Thank you in advance for your partnership in securing the budgetary health of John Jay.


{#- This file was automatically generated - do not edit -#} {% extends "overrides/main.html" %} {% block content %} {{ super() }}


Autocomplete
Combobox
Dropdown
Multiselect
Dropdown...


There are many ways to start learning Lean, depending on your background and taste. They are all fun and rewarding, but also difficult and occasionally frustrating. Proof assistants are still difficult to use, and you cannot expect to become proficient after one afternoon of learning.
Whatever your background, if you want to dive right away, you can play the Natural Number Game by Kevin Buzzard and Mohammad Pedramfar. This is a online interactive tutorial to Lean focused on proving properties of the elementary operations on natural numbers.
For a faster paced and broader dive, you can get the tutorials project. (You already have it if you installed an autonomous bundle or followed the instructions on this page.) This tutorial is specifically geared towards mathematics rather than computer science. The last files of this project are easier if you have already encountered the definition of limits of sequences of real numbers.
A brand new resource that is still under construction is Mathematics in Lean. It can be read online, or downloaded as a pdf, but it is really meant to be used in VSCode, doing exercises on the fly (see the instructions). It currently covers roughly the same ground as the tutorials prooject.
Once you know the basics, you can also learn by solving Lean puzzles on Codewars.
Whatever resource you choose to use from the above list, it could be useful to have a copy of our tactic cheat sheet at hand, for reference.
If you prefer reading a book (with exercises), the standard reference is Theorem Proving in Lean. You almost certainly want to read it at some point anyway, since it explains foundational things much better than any hands-on tutorial could do.
If you are very new to the concept of logic and proofs, you can read Logic and Proof, a textbook that is a first rigorous proving course that teaches Lean at the same time.
If you have a computer science background, and are primarily interested in software verification, then you can read The Hitchhiker's Guide to Logical Verification (pdf), course notes for an MSc-level course at VU Amsterdam.
If you want a systematic exposition of syntax and commands, then you can read the reference manual.
In addition to the above sources, we have a number of small documents covering specific topics:
After using Lean for a while, you may want to learn how to write your own tactics. This is less documented than proof writing, but you can still have a look at the following resources.
If you are interested in foundations of Lean, you can first read a very rough sketch here. If you want a bit more detail, you can read the first chapter of the HoTT book, ignoring anything where univalence is mentioned.
Another potentially useful resource is this page from Coq's documentation. The foundations of Coq are very very close to those of Lean. The most relevant differences to keep in mind are:
Prop
is proof-irrelevant, so it is closer to SProp
from the
page above.If you can read the above Coq documentation then you are ready for this paper by Mario Carneiro which precisely describes the type theory of Lean.
Note that understanding type theoretic foundations is not at all necessary to use Lean.
A number of meetings have helped welcome newcomers to the Lean community. The following have links to online talks and other material that may be of interest:


benchbuild.utils.schema module¶
# Database schema for benchbuild
The schema should initialize itself on an empty database. For now, we do not support automatic upgrades on schema changes. You might encounter some roadbumps when using an older version of benchbuild.
Furthermore, for now, we are restricted to postgresql databases, although we already support arbitrary connection strings via config.
If you want to use reports that use one of our SQL functions, you need to initialize the functions first using the following command:
After that you (normally) do not need to do this agains, unless we supply a new version that you are interested in. As soon as we have alembic running, we can provide automatic up/downgrade paths for you.
-
class
benchbuild.utils.schema.
Config
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Store customized information about a run.
You can store arbitrary configuration information about a run here. Use it for extended filtering against the run table.
-
name
¶
-
run_id
¶
-
value
¶
-
-
class
benchbuild.utils.schema.
Experiment
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Store metadata about experiments.
-
begin
¶
-
description
¶
-
end
¶
-
id
¶
-
name
¶
-
run_groups
¶
-
runs
¶
-
-
class
benchbuild.utils.schema.
GUID
(*args, as_uuid=False, **kwargs)[source]¶ Bases:
sqlalchemy.sql.type_api.TypeDecorator
Platform-independent GUID type.
Uses Postgresql’s UUID type, otherwise uses CHAR(32), storing as stringified hex values.
-
as_uuid
= False¶
-
impl
¶ alias of
sqlalchemy.sql.sqltypes.CHAR
-
load_dialect_impl
(dialect)[source]¶ Return a
TypeEngine
object corresponding to a dialect.This is an end-user override hook that can be used to provide differing types depending on the given dialect. It is used by the
TypeDecorator
implementation oftype_engine()
to help determine what type should ultimately be returned for a givenTypeDecorator
.By default returns
self.impl
.
-
process_bind_param
(value, dialect)[source]¶ Receive a bound parameter value to be converted.
Subclasses override this method to return the value that should be passed along to the underlying
TypeEngine
object, and from there to the DBAPIexecute()
method.The operation could be anything desired to perform custom behavior, such as transforming or serializing data. This could also be used as a hook for validating logic.
This operation should be designed with the reverse operation in mind, which would be the process_result_value method of this class.
Parameters: - value – Data to operate upon, of any type expected by
this method in the subclass. Can be
None
. - dialect – the
Dialect
in use.
- value – Data to operate upon, of any type expected by
this method in the subclass. Can be
-
process_result_value
(value, dialect)[source]¶ Receive a result-row column value to be converted.
Subclasses should implement this method to operate on data fetched from the database.
Subclasses override this method to return the value that should be passed back to the application, given a value that is already processed by the underlying
TypeEngine
object, originally from the DBAPI cursor methodfetchone()
or similar.The operation could be anything desired to perform custom behavior, such as transforming or serializing data. This could also be used as a hook for validating logic.
Parameters: - value – Data to operate upon, of any type expected by
this method in the subclass. Can be
None
. - dialect – the
Dialect
in use.
This operation should be designed to be reversible by the “process_bind_param” method of this class.
- value – Data to operate upon, of any type expected by
this method in the subclass. Can be
-
-
class
benchbuild.utils.schema.
Metadata
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Store metadata information for every run.
If you happen to have some free-form data that belongs to the database, this is the place for it.
-
name
¶
-
run_id
¶
-
value
¶
-
-
class
benchbuild.utils.schema.
Metric
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Store default metrics, simple name value store.
-
name
¶
-
run_id
¶
-
value
¶
-
-
class
benchbuild.utils.schema.
Project
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Store project metadata.
-
description
¶
-
domain
¶
-
group_name
¶
-
name
¶
-
runs
¶
-
src_url
¶
-
version
¶
-
-
class
benchbuild.utils.schema.
Run
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Store a run for each executed test binary.
-
begin
¶
-
command
¶
-
configurations
¶
-
end
¶
-
experiment_group
¶
-
experiment_name
¶
-
id
¶
-
logs
¶
-
metrics
¶
-
project_group
¶
-
project_name
¶
-
run_group
¶
-
status
¶
-
stored_data
¶
-
-
class
benchbuild.utils.schema.
RunGroup
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Store information about a run group.
-
begin
¶
-
end
¶
-
experiment
¶
-
id
¶
-
status
¶
-
-
class
benchbuild.utils.schema.
RunLog
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Store log information for every run.
Properties like, start time, finish time, exit code, stderr, stdout are stored here.
-
begin
¶
-
config
¶
-
end
¶
-
run_id
¶
-
status
¶
-
stderr
¶
-
stdout
¶
-
-
benchbuild.utils.schema.
Session
()¶
-
class
benchbuild.utils.schema.
SessionManager
[source]¶ Bases:
object
-
configure_engine
()[source]¶ Configure the databse connection.
Sets appropriate transaction isolation levels and handle errors.
Returns: True, if we did not encounter any unrecoverable errors, else False.
-
-
benchbuild.utils.schema.
exceptions
(error_is_fatal=True, error_messages=None)[source]¶ Handle SQLAlchemy exceptions in a sane way.
Parameters: - func – An arbitrary function to wrap.
- error_is_fatal – Should we exit the program on exception?
- reraise – Should we reraise the exception, after logging? Only makes sense if error_is_fatal is False.
- error_messages – A dictionary that assigns an exception class to a customized error message.


SweetFreeStuff.com
///////////////////////////////////////////
Free Humanity Asset PC Game Download
Posted: 23 Aug 2015 11:27 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Enter your e-mail to get a Steam key for a Free Humanity Asset PC Game
Download.
The post Free Humanity Asset PC Game Download appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free No7 Protect & Perfect Intense Advanced Serum Sample
Posted: 22 Aug 2015 05:44 PM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Free No7 Protect Perfect Intense Advanced Serum Sample
The post Free No7 Protect Perfect Intense Advanced Serum Sample appeared
first on SweetFreeStuff.com.


Most residents in Switzerland still can’t afford to own a home, study reveals
by The LocalThe majority of Swiss residents are not able to buy a house, a new study shows.
Conducted by the Swiss Home Owners Association (HEV), the findings of the annual survey are based on a poll of more than 200 real estate experts.
They forecast rising house prices, due partly to the limited availability of single-family dwellings.
The survey shows that while 13,000 new homes were planned in 2000, only 7000 had been built by 2016.
House prices in Switzerland increased by six percent last year.
The forecast is also dire for apartment ownership.
The HEV survey confirms the findings of another study, carried out earlier this month by the Raiffeisen Bank, showing that apartment prices rose by two percent in 2018
However, there is good news in the rental property market.
Because a large number of rental apartments are empty — in the last few years, their number has doubled, the study says — prospective tenants have a good selection to choose from and at reasonable prices.
Currently, 42.5 percent of Swiss residents own a home.
One possible explanation for low ownership rate may be that Swiss laws are more favourable for tenants, as they pay significantly less income tax than homeowners.


- onActivityResult(int, int, Intent) - Method in class ca.ualberta.moodroid.MainActivity
-
- onActivityResult(int, int, Intent) - Method in class ca.ualberta.moodroid.ui.AddLocation
-
check if device has location enabled
if its enabled then get device location
- onActivityResult(int, int, Intent) - Method in class ca.ualberta.moodroid.ui.AddMoodDetail
-
After choosing a photo from the library, this displays the image in the photoView field,
and saves the path to the photo in the filePath variable.
- onActivityResult(int, int, Intent) - Method in class ca.ualberta.moodroid.ui.MoodHistory
-
continue with the app
- onAttach(Context) - Method in class ca.ualberta.moodroid.ui.EditDeleteFragment
-
- onBackPressed() - Method in class ca.ualberta.moodroid.ui.AddMoodDetail
-
When the user presses the phone's back button before saving the moodEvent, delete the photo from Firestore.
- onBackPressed() - Method in class ca.ualberta.moodroid.ui.EditMoodDetail
-
Overrides onBackPressed to prevent it from calling AddMoodDetail's onBackPressed which would
delete the current photo if the user presses the back button.
- onBindViewHolder(FollowListAdapter.ViewHolder, int) - Method in class ca.ualberta.moodroid.ui.FollowListAdapter
-
When a new list item is added, set the view parameters (color, text, buttons, ect) also setup the button actions individually for each list item
- onBindViewHolder(MoodListAdapter.ViewHolder, int) - Method in class ca.ualberta.moodroid.ui.MoodListAdapter
-
- onClick(View) - Method in class ca.ualberta.moodroid.ui.MoodListAdapter.ViewHolder
-
- onCreate() - Method in class ca.ualberta.moodroid.ContextGrabber
-
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.MainActivity
-
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.AddFriend
-
the code below builds the UI, and implements all of the logic that comes with it.
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.AddLocation
-
on create it will setup the map and setup the users location on the map
and center the map on the users location
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.AddMood
-
Set a listener for each button, and on click but the drawable in the center.
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.AddMoodDetail
-
The initial UI is built here, using data from the last activity to dynamically display the
mood colour, emoji, and title (this method may change).
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.BaseUIActivity
-
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.EditMoodDetail
-
The initial UI is built here, using data from the last activity to dynamically display the
mood colour, emoji, and title (this method may change).
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.FriendMap
-
when the user clicks on the
map icon it will create
all the buttons
and any text views
that need to be changed
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.FriendsMoods
-
Get all the users you follow, and get a list of each users moods - then sort and display the moods
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.Map
-
when the user clicks on the
map icon it will create
all the buttons
and any text views
that need to be changed
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.MoodHistory
-
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.MoodMap
-
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.Notifications
-
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.Profile
-
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.SignUp
-
- onCreate(Bundle) - Method in class ca.ualberta.moodroid.ui.ViewMoodDetail
-
- onCreateDialog(Bundle) - Method in class ca.ualberta.moodroid.ui.EditDeleteFragment
-
Create and display the dialog for mood event actions
- onCreateView(LayoutInflater, ViewGroup, Bundle) - Method in class ca.ualberta.moodroid.ui.MoodFrag
-
- onCreateView(LayoutInflater, ViewGroup, Bundle) - Method in class ca.ualberta.moodroid.ui.MoodHistoryAddFragment
-
- onCreateView(LayoutInflater, ViewGroup, Bundle) - Method in class ca.ualberta.moodroid.ui.MoodHistoryFragment
-
- onCreateViewHolder(ViewGroup, int) - Method in class ca.ualberta.moodroid.ui.FollowListAdapter
-
- onCreateViewHolder(ViewGroup, int) - Method in class ca.ualberta.moodroid.ui.MoodListAdapter
-
- one() - Method in class ca.ualberta.moodroid.repository.BaseRepository
-
Get a single result from your query
- one() - Method in interface ca.ualberta.moodroid.repository.RepositoryInterface
-
One task.
- onInputListener - Variable in class ca.ualberta.moodroid.ui.EditDeleteFragment
-
The On input listener.
- onListClick(int) - Method in interface ca.ualberta.moodroid.ui.FollowListAdapter.OnListListener
-
On list click.
- onListClick(int) - Method in class ca.ualberta.moodroid.ui.MoodHistory
-
checking when the user clicks on the list
takes the certain postion
and opens up that edit delete diaglog
- onListClick(int) - Method in interface ca.ualberta.moodroid.ui.MoodListAdapter.OnListListener
-
On list click.
- onListClick(int) - Method in class ca.ualberta.moodroid.ui.Notifications
-
- onListListener - Variable in class ca.ualberta.moodroid.ui.FollowListAdapter.ViewHolder
-
The On list listener.
- onListListener - Variable in class ca.ualberta.moodroid.ui.MoodListAdapter.ViewHolder
-
Same as an onClickListener but for items in a custom array display.
- onLongClick(View) - Method in class ca.ualberta.moodroid.ui.FollowListAdapter.ViewHolder
-
- onLongClick(View) - Method in class ca.ualberta.moodroid.ui.MoodListAdapter.ViewHolder
-
- onMapReady(GoogleMap) - Method in class ca.ualberta.moodroid.ui.AddLocation
-
on map ready
it creates the map with the style
and checks if location has been granted
- onMapReady(GoogleMap) - Method in class ca.ualberta.moodroid.ui.Map
-
Manipulates the map once available.
- onMapReady(GoogleMap) - Method in class ca.ualberta.moodroid.ui.MoodMap
-
Manipulates the map once available.
- onRequestPermissionsResult(int, String[], int[]) - Method in class ca.ualberta.moodroid.ui.MoodHistory
-
the result
- onResume() - Method in class ca.ualberta.moodroid.ui.FriendsMoods
-
- onResume() - Method in class ca.ualberta.moodroid.ui.MoodHistory
-
on resume get moods
- onResume() - Method in class ca.ualberta.moodroid.ui.Notifications
-
- onResume() - Method in class ca.ualberta.moodroid.ui.Profile
-
- onShortClick(int) - Method in class ca.ualberta.moodroid.ui.FriendsMoods
-
- onShortClick(int) - Method in class ca.ualberta.moodroid.ui.MoodHistory
-
- onShortClick(int) - Method in interface ca.ualberta.moodroid.ui.MoodListAdapter.OnListListener
-
On short click.
- onUserInteraction() - Method in class ca.ualberta.moodroid.ui.MoodHistory
-
This indicates whether the user has interacted with the dropdown menu.
- openEditDeleteDialog() - Method in class ca.ualberta.moodroid.ui.FollowListAdapter
-
Open edit delete dialog.
- openEditDeleteDialog(int) - Method in class ca.ualberta.moodroid.ui.MoodHistory
-
this is to start the new edit deletefragment
where the user can decide on what they want to do with
the list item that has been clicked
- openEditDeleteDialog() - Method in class ca.ualberta.moodroid.ui.MoodListAdapter
-
Open edit delete dialog.


Piece
New
Id
Name
Brand
Buying Price
Sell Price
PieceType
Quantity
id
name
brand
buyingPrice
sellPrice
PieceType
Quantity
Delete


Tusk set to lead EPP
by EUobserverCroatian prime minister Andrej Plenković said on Wednesday that the outgoing president of the EU Council Donald Tusk "will do a great job [as president of EPP] due to his national and European experience". Tusk will be elected the president of the European People's Party [EPP] during the political party's congress in Zagreb, since he is the only candidate for this position. He will replace French former MEP Joseph Daul.


--- layout: post title: "Becoming Better Levelling" description: "Oversharing" date: 2022-08-23 00:23:45 -0700 background: '/img/003.jpg' categories: jekyll update ---
I would regard myself as being in some sort of “flop era” ever since I graduated high school. The quarantine period was one of the most productive phases of my life, but that is very far behind me now. There were numerous attempts on my end to rekindle my good habits, such as writing, reading, and doing my podcast, but I felt like I am in a creative gutter where I am no longer motivated to create more.
I never felt like I had to impress anyone. Well, maybe when I was doing college applications, but I don’t think that stemmed from any of my insecurities. My intention with starting all of these side projects was just to prove a point, a point that probably does not matter to me anymore. Does anyone care if I am multifaceted? The only person I have left to impress is myself, and as Lorde said, she is so hard to please (but she is a forest fire indeed).
I haven’t felt at ease since 2020. With meeting new people in college, identifying with my own accomplishments, and being comfortable with where I am at in general, there is always some sort of cognitive dissonance between how I feel versus how I think I should feel. I know myself enough to know my potentials and capabilities, but I don’t know if just “knowing” is enough.
We all have different sides of ourselves to show to different people. We camouflage and adapt to different environments, and it is a coping mechanism so we wouldn’t get hurt. Friends, family, lovers, and yourself. And I believe that there is not a single form that defines us as a person, it is always a combination of all these sides. One of the common themes in my writing is about being ambiguous and leaving much room for imagination, and I think the way I write can truly display how I think as I mature. If you know me personally, you might have yet to meet my other sides: the literary giant, the STEMinist, the misandrist, the comedian, and the immature version of me.
But sometimes, I feel an invisible, strong force that compells me to abandon all these ordained versions and craft a new personality. I guess this has something to do with the American myth, of how reinvention brings us new experiences.  Everything is futile.
Counterpoint: I guess the new and updated point I need to prove is that I am enough. I should stop beating myself up for how I stopped blogging, reading, or doing my podcast. Instead, I should just get started with becoming better myself. I will start writing more (very therapeutic), reading self-help books, start flossing, and sleeping earlier. I want to feel better about the person I am today.
Whatever happened to the girl I knew?In the wasteland, come up short and end up on the news?
Father John Misty, Buddy’s Rendevous


Support
For assistance with this product, You can send an email to
<EMAIL_ADDRESS>.
We are always looking for ways to improve this product. Your questions and feedback are welcome.


id |
string
|
|
The identifier to be used for this route. |
linkLabel |
string
|
<optional>
|
What text to use when creating a menu item for this route. A menu item will not be created if a linkLabel is not provided. |
linkTagClass |
string
|
<optional>
|
What css classnames to give to the menu item container for this route. |
linkLabelClass |
string
|
<optional>
|
What css classnames to give to the actual link inside the menu item container for this route. |
pageClass |
string
|
<optional>
|
What css classnames to give to the page for this route. |
innerHTML |
string
|
<optional>
|
The content of the page. If not provided, will default to config.loadingHTML. Can be set or overwritten later using hafcaf.updateRoute(). |
onRender |
function
|
<optional>
|
A function which will be called each time this route is rendered (made active). Can include multiple functions within itself, if desired. When composing your onRender, keep in mind to take advantage of the hafcaf.listeners collection, which can be used to hold removeEventListener calls and other functions you would like to run when hafcaf switches away from this route. |


Keep Calm and go to Code Camp!
Code Camp is a fun coding camp of 2, 3 and 4 days where children learn to code. They get a hands-on experience of what coding is.
Now some pictures!
The classes are divided into 4 groups:
Little League
This group is for kids aged between 5 - 6 or who are in grades K - 1 and who have no idea of what coding is. Each Little League camp comes equipped with iPads for the whole class to enjoy. The kids build awesome mini-games and learn about coding in the process. This group is a combination of online and offline activities. For more info, check here: Little-league.
Spark
This group is for kids aged between 7 - 12 or who are in grades 2 - 6 with beginner’s knowledge and are ready to hop on to intermediate stage. This is the most popular group. They make their own mobile phone game playable via the Code Camp App (which can be downloaded on Apple and Android phones). The kids get a taste of real world coding by doing ‘Drag and Drop’ coding using the proprietory software ‘Code Camp World’. This is even accessible after the camp ends, so they can practice and have fun at home too, taking help from the video tutorials! For more info, check here: spark.
Ignite
This group is for kids aged between 7 - 12 or who are in grades 2 - 6 with intermediate knowledge and are ready to hop on to advanced stage. They make their own mobile phone game playable via the Code Camp App (which can be downloaded on Apple and Android phones). The kids get a taste of real world coding by doing advanced ‘Drag and Drop’ coding and line coding using Javascript on the last day of the camp using the proprietory software ‘Code Camp World’. This is even accessible after the camp ends, so they can practice and have fun at home too, taking help from the video tutorials! For more info, check here: ignite.
Blast
This group is for kids aged between 8 - 13 or who are in grades 3 - 7 and have completed the Spark and Ignite. This is for advanced students only as they learn coding in pure Javascript. They make their own mobile phone game playable via the Code Camp App (which can be downloaded on Apple and Android phones), using line coding in pure Javascript. For more info, check here: blast.
</br>
Each class has a staff of atleast three people, including head teacher and teaching assistants. Each camp has atleast two camp managers and a first aid practitioner.
I was a teaching assistant for the Ignite group in the camp conducted at University of Melbourne during the spring holidays 2017. There was a Code Camp meet and greet two weeks before the camp to prepare the staff for their respective roles. There was a party as well, so that the staff can know each other well. I didn’t go, so I can’t elaborate on how it was :P
It was a three day camp, and I had a lot of fun. I love kids, I love teaching and I love coding (obviously, being a software programmer myself!). It is a very fulfilling role, where you know you are building the foundation for technologists of the future. I saw the amazed look on people’s face due to the response they got for the question ‘what the camp is for’, keeping in mind that all kids were of age group 5 - 13, with average age being 9.
The timings for the camp were 9 am - 3.30 pm.
On the first day, all the kids were provided with a Code Camp t-shirt and a hat. As far as learning is concerned, they learnt Drag and Drop coding in the Code Camp World software, where they could keep practicing at home as well. There were two breaks in between, a recess and a lunch break so that the kids can have some outdoor time and get refreshed. The day ended with a cheerful note, with all the kids being happy about the exciting things they learnt during the day.
On the second day, the kids were taught about some advanced concepts in Drag and Drop coding like logic, UI, Math functions etc. They made many mini games inside the main game using these concepts.
On the third and the last day, they finished their mini games using Drag and Drop and made another mini game using line coding only, i.e. using Javascript. An unexpected observation was that the kids found line coding more fun and easier than the Drag and Drop coding (i.e. Block Coding)! During the lunch break, there was a silent disco party where all the teachers and kids were provided with headphones playing some great classic party tracks ;) All the games were published by 3 pm on the Code Camp portal and the students showcased their games and even challenged their friends to complete various levels in their games. The games can be accessed from the Code Camp app. Each kid gets a code and using that code, one can find his/her game in the app. Here is an example screenshot for the same:
At the end of the day, everyone had mixed feelings, as it was an exciting experience but saying goodbyes is always the hardest part.
Here are some screenshots of the games made by the kids during the camp:
I hope you enjoyed reading the post. Thanks! Tada! :)


2 Kings 21:4
And he built altars in the house of the LORD, of which the LORD said, In Jerusalem will I put my name.


Location / resources autorization
Edit (pull request)Location
Every new location is private, you need to authorize some entities to use it. This entities can be one of the following :
- user
- group
- application
- application environment
- application environment type
The choice of these entities allows a security policy for location adapted to all situations.
Authorize user or group
Each location have a security panel. In this view you can manage authorizations for all entities. The view is splitted into tabs, each tab reffering to one entity type.
Click on the button to grant users or on this one to revoke authorizations of an user.
This is exactly the same logic to manage authorizations on groups.
Authorize application environment, application environment type or application
The third tab is for application, application environment and application environment type. An application can have many environments, so if you authorize an application for a location, this authorization is valid for all of this nested resources (this include application environment and application environment type).
You can however specifically choose to authorize only a set of environments of one application. In this case, the authorized environments are displayed by a badge.
Finally, you can choose to authorize a set of environment types of one application. All existing and futur environments with the the authorize environment type will be able to use the ressource. Manage ressource by environment type avoids the admin from always having to set new authorizations for new environments. Authorized environment types are displayed by a badge.
Click on this icon to update rigths on an authorized application or on this one to revoke all authorizations for this application (this inclued nested resources).
Location resources
As for the location, all location resources are private. The mechanism to change the authorizations on a location resource is the same as for location. Grant an authorization on a location resource for an entity without authorization on location will automatically grant the entity for the location.
To manage the authorizations on a specific resource or display this current authorizations, click on your resource (like to edit this properties) and go to the security panel.
Edit (pull request)


| Drag a column header and drop it here to group by that column | |||||
|---|---|---|---|---|---|
| Product ID | Product Name | Unit Price | Quantity per unit | Units in stock | Discontinued |
|
335104 items in 33511 pages
|
|||||
| 1 | Chai | $18.00 | 10 boxes x 20 bags | 39 | |
| 2 | Chang | $19.00 | 24 - 12 oz bottles | 17 | |
| 3 | Aniseed Syrup | $10.00 | 12 - 550 ml bottles | 13 | |
| 4 | Chef Anton's Cajun Seasoning | $22.00 | 48 - 6 oz jars | 53 | |
| 5 | Chef Anton's Gumbo Mix | $21.35 | 38 boxes | 0 | |
| 6 | Grandma's Boysenberry Spread | $25.00 | 12 - 8 oz jars | 120 | |
| 7 | Uncle Bob's Organic Dried Pears | $30.00 | 12 - 1 lb pkgs | 15 | |
| 8 | Northwoods Cranberry Sauce | $40.00 | 12 - 12 oz jars | 6 | |
| 9 | Mishi Kobe Niku | $97.00 | 18 - 500 g pkgs. | 29 | |
| 10 | Ikura | $31.00 | 12 - 200 ml jars | 31 |


{% extends 'mcolor/base.html' %} {% block header_text %}munverter{% endblock %} {% block extra_css %} {% endblock %} {% block info %}
What does this do?
Given all or part of a Munsell Color, Munverter will return the corresponding name, RGB and hexadecimal values. Munverter contains mostly soil colors at this point, making it particularly useful to Archaeologists, Soil Scientists, etc. The eventual goal is to create a complete reference system, but we aren't there yet. If you find a bug or think of something else you'd like it to do, you can contact us.
How do I use it?
All you have to do is type your munsell color in the box up top, then click on one of the match buttons. Here are a couple of entry examples. Although if you click the Exact Match button only the first two will return anything. More on that later.
What's the difference between Fuzzy and Exact Matches?
The Fuzzy Match button will return every munsell color that contains whatever you've entered in the search box. The Exact Match button is far pickier and will only return perfect matches. Try it out and it'll make sense.
Why didn't it work?
If you're sure you've entered a valid munsell color (and not the word 'hamster' or something) but no results were returned, we probably haven't added that color yet. If you want us to add your color, simply send us the Munsell Color (5YR 5/4) and it's offical name ('Reddish Brown') and we'll take care of the rest!


This Bible contradiction is from the Skeptic's Annotated Bible.
Verses
Twenty years.
1 Samuel 7:1-2 View context
And the men of Kirjath-jearim came, and fetched up the ark of the LORD, and brought it into the house of Abinadab in the hill, and sanctified Eleazar his son to keep the ark of the LORD.
And it came to pass, while the ark abode in Kirjath-jearim, that the time was long; for it was twenty years: and all the house of Israel lamented after the LORD.
1 Samuel 10:24 View context
And Samuel said to all the people, See ye him whom the LORD hath chosen, that [there is] none like him among all the people? And all the people shouted, and said, God save the king.
More than forty years.
2 Samuel 6:2-3 View context
And David arose, and went with all the people that [were] with him from Baale of Judah, to bring up from thence the ark of God, whose name is called by the name of the LORD of hosts that dwelleth [between] the cherubims.
And they set the ark of God upon a new cart, and brought it out of the house of Abinadab that [was] in Gibeah: and Uzzah and Ahio, the sons of Abinadab, drave the new cart.
Acts.13:21 View context
And afterward they desired a king: and God gave unto them Saul the son of Cis, a man of the tribe of Benjamin, by the space of forty years.


Tutorial 00: jupyter basics Posted on Wed 06 December 2017 in python basics • Tagged with larcv-tutorial Continue reading


#include <SFML/Graphics/Export.h>
#include <SFML/Graphics/Rect.h>
#include <SFML/Graphics/Types.h>
#include <SFML/System/Vector2.h>
Go to the source code of this file.
Functions | |
| CSFML_GRAPHICS_API sfView * | sfView_create (void) |
| Create a default view. More... | |
| CSFML_GRAPHICS_API sfView * | sfView_createFromRect (sfFloatRect rectangle) |
| Construct a view from a rectangle. More... | |
| CSFML_GRAPHICS_API sfView * | sfView_copy (const sfView *view) |
| Copy an existing view. More... | |
| CSFML_GRAPHICS_API void | sfView_destroy (sfView *view) |
| Destroy an existing view. More... | |
| CSFML_GRAPHICS_API void | sfView_setCenter (sfView *view, sfVector2f center) |
| Set the center of a view. More... | |
| CSFML_GRAPHICS_API void | sfView_setSize (sfView *view, sfVector2f size) |
| Set the size of a view. More... | |
| CSFML_GRAPHICS_API void | sfView_setRotation (sfView *view, float angle) |
| Set the orientation of a view. More... | |
| CSFML_GRAPHICS_API void | sfView_setViewport (sfView *view, sfFloatRect viewport) |
| Set the target viewport of a view. More... | |
| CSFML_GRAPHICS_API void | sfView_reset (sfView *view, sfFloatRect rectangle) |
| Reset a view to the given rectangle.  More... | |
| CSFML_GRAPHICS_API void | sfView_rotate (sfView *view, float angle) |
| Rotate a view relatively to its current orientation. More... | |
| CSFML_GRAPHICS_API void | sfView_zoom (sfView *view, float factor) |
| Resize a view rectangle relatively to its current size. More... | |
| CSFML_GRAPHICS_API sfView* sfView_copy | ( | const sfView * | view | ) |
Copy an existing view.
| view | View to copy |
| CSFML_GRAPHICS_API sfView* sfView_create | ( | void | ) |
Create a default view.
This function creates a default view of (0, 0, 1000, 1000)
| CSFML_GRAPHICS_API sfView* sfView_createFromRect | ( | sfFloatRect | rectangle | ) |
Construct a view from a rectangle.
| rectangle | Rectangle defining the zone to display |
| CSFML_GRAPHICS_API void sfView_destroy | ( | sfView * | view | ) |
Destroy an existing view.
| view | View to destroy |
| CSFML_GRAPHICS_API sfVector2f sfView_getCenter | ( | const sfView * | view | ) |
Get the center of a view.
| view | View object |
| CSFML_GRAPHICS_API float sfView_getRotation | ( | const sfView * | view | ) |
Get the current orientation of a view.
| view | View object |
| CSFML_GRAPHICS_API sfVector2f sfView_getSize | ( | const sfView * | view | ) |
Get the size of a view.
| view | View object |
| CSFML_GRAPHICS_API sfFloatRect sfView_getViewport | ( | const sfView * | view | ) |
Get the target viewport rectangle of a view.
| view | View object |
| CSFML_GRAPHICS_API void sfView_move | ( | sfView * | view, |
| sfVector2f | offset | ||
| ) |
Move a view relatively to its current position.
| view | View object |
| offset | Offset |
| CSFML_GRAPHICS_API void sfView_reset | ( | sfView * | view, |
| sfFloatRect | rectangle | ||
| ) |
Reset a view to the given rectangle.
Note that this function resets the rotation angle to 0.
| view | View object |
| rectangle | Rectangle defining the zone to display |
| CSFML_GRAPHICS_API void sfView_rotate | ( | sfView * | view, |
| float | angle | ||
| ) |
Rotate a view relatively to its current orientation.
| view | View object |
| angle | Angle to rotate, in degrees |
| CSFML_GRAPHICS_API void sfView_setCenter | ( | sfView * | view, |
| sfVector2f | center | ||
| ) |
Set the center of a view.
| view | View object |
| center | New center |
| CSFML_GRAPHICS_API void sfView_setRotation | ( | sfView * | view, |
| float | angle | ||
| ) |
Set the orientation of a view.
The default rotation of a view is 0 degree.
| view | View object |
| angle | New angle, in degrees |
| CSFML_GRAPHICS_API void sfView_setSize | ( | sfView * | view, |
| sfVector2f | size | ||
| ) |
Set the size of a view.
| view | View object |
| size | New size of the view |
| CSFML_GRAPHICS_API void sfView_setViewport | ( | sfView * | view, |
| sfFloatRect | viewport | ||
| ) |
Set the target viewport of a view.
The viewport is the rectangle into which the contents of the view are displayed, expressed as a factor (between 0 and 1) of the size of the render target to which the view is applied. For example, a view which takes the left side of the target would be defined by a rect of (0, 0, 0.5, 1). By default, a view has a viewport which covers the entire target.
| view | View object |
| viewport | New viewport rectangle |
| CSFML_GRAPHICS_API void sfView_zoom | ( | sfView * | view, |
| float | factor | ||
| ) |
Resize a view rectangle relatively to its current size.
Resizing the view simulates a zoom, as the zone displayed on screen grows or shrinks. factor is a multiplier:
| view | View object |
| factor | Zoom factor to apply |


Home
Home-1 Form
Home-2 Blog
Home-3 Media
Click Me
Your are here now
×
You can not leave now!
Previous
Next


Before Change
t, c, k = tck
// fitpack interpolates along the last axis
sh = tuple(range(c.ndim))
c = c.transpose(sh[1:] + (0,)) // roll the first axis
res = _impl.splev(x, (t, c, k), der, ext)
return res
else:
After Change
if isinstance(tck, BSpline):
if tck.c.ndim > 1:
mesg = ("Calling splev() with BSpline objects with c.ndim > 1 is "
"not recommended. Use BSpline.__call__(x) instead.")
warnings.warn(mesg, DeprecationWarning)
// remap the out-of-bounds behavior
try:
extrapolate = {0: True, }[ext]
except KeyError:
raise ValueError("Extrapolation mode %s is not supported "


Fruit Ninja Extreme
问题描述 :
Cut or not to cut, it is a question.
In Fruit Ninja, comprising three or more fruit in one cut gains extra bonuses. This kind of cuts are called bonus cuts.
Also, performing the bonus cuts in a short time are considered continual, iff. when all the bonus cuts are sorted, the time difference between every adjacent cuts is no more than a given period length of W.
As a fruit master, you have predicted the times of potential bonus cuts though the whole game. Now, your task is to determine how to cut the fruits in order to gain the most bonuses, namely, the largest number of continual bonus cuts.
Obviously, each fruit is allowed to cut at most once. i.e. After previous cut, a fruit will be regarded as invisible and won’t be cut any more.
In addition, you must cut all the fruit altogether in one potential cut. i.e. If your potential cut contains 6 fruits, 2 of which have been cut previously, the 4 left fruits have to be cut altogether.
In Fruit Ninja, comprising three or more fruit in one cut gains extra bonuses. This kind of cuts are called bonus cuts.
Also, performing the bonus cuts in a short time are considered continual, iff. when all the bonus cuts are sorted, the time difference between every adjacent cuts is no more than a given period length of W.
As a fruit master, you have predicted the times of potential bonus cuts though the whole game. Now, your task is to determine how to cut the fruits in order to gain the most bonuses, namely, the largest number of continual bonus cuts.
Obviously, each fruit is allowed to cut at most once. i.e. After previous cut, a fruit will be regarded as invisible and won’t be cut any more.
In addition, you must cut all the fruit altogether in one potential cut. i.e. If your potential cut contains 6 fruits, 2 of which have been cut previously, the 4 left fruits have to be cut altogether.
输入:
There are multiple test cases.
The first line contains an integer, the number of test cases.
In each test case, there are three integer in the first line: N(N<=30), the number of predicted cuts, M(M<=200), the number of fruits, W(W<=100), the time window.
N lines follows.
In each line, the first integer Ci(Ci<=10) indicates the number of fruits in the i-th cuts.
The second integer Ti(Ti<=2000) indicate the time of this cut. It is guaranteed that every time is unique among all the cuts.
Then follow Ci numbers, ranging from 0 to M-1, representing the identifier of each fruit. If two identifiers in different cuts are the same, it means they represent the same fruit.
The first line contains an integer, the number of test cases.
In each test case, there are three integer in the first line: N(N<=30), the number of predicted cuts, M(M<=200), the number of fruits, W(W<=100), the time window.
N lines follows.
In each line, the first integer Ci(Ci<=10) indicates the number of fruits in the i-th cuts.
The second integer Ti(Ti<=2000) indicate the time of this cut. It is guaranteed that every time is unique among all the cuts.
Then follow Ci numbers, ranging from 0 to M-1, representing the identifier of each fruit. If two identifiers in different cuts are the same, it means they represent the same fruit.
输出:
There are multiple test cases.
The first line contains an integer, the number of test cases.
In each test case, there are three integer in the first line: N(N<=30), the number of predicted cuts, M(M<=200), the number of fruits, W(W<=100), the time window.
N lines follows.
In each line, the first integer Ci(Ci<=10) indicates the number of fruits in the i-th cuts.
The second integer Ti(Ti<=2000) indicate the time of this cut. It is guaranteed that every time is unique among all the cuts.
Then follow Ci numbers, ranging from 0 to M-1, representing the identifier of each fruit. If two identifiers in different cuts are the same, it means they represent the same fruit.
The first line contains an integer, the number of test cases.
In each test case, there are three integer in the first line: N(N<=30), the number of predicted cuts, M(M<=200), the number of fruits, W(W<=100), the time window.
N lines follows.
In each line, the first integer Ci(Ci<=10) indicates the number of fruits in the i-th cuts.
The second integer Ti(Ti<=2000) indicate the time of this cut. It is guaranteed that every time is unique among all the cuts.
Then follow Ci numbers, ranging from 0 to M-1, representing the identifier of each fruit. If two identifiers in different cuts are the same, it means they represent the same fruit.
样例输入:
1 4 10 4 3 1 1 2 3 4 3 3 4 6 5 3 7 7 8 9 3 5 9 5 4
样例输出:
3 1 2 3
看到水果忍者一激动，这么长题目一气呵成。。结果后来才知道好多地方理解错了意思。
题意：
首先，一刀切三个或三个以上，连续（两刀之间时间差<=w）这样切，得分最高。
要求算最多可以连续切三个或三个以上多少刀。
给的是：n,m,w 一共多少刀，一共多少水果，两刀时间差的最大值
然后每行 c,t,c1,c2,c3……表示t时刻切了一刀，这一刀切了c个水果，分别编号是c1,c2,c3…..
题目其实是说，给的刀中，可以选择这一刀切还是不切，只要能满足那两个要求的最大值就行了
解法：
先把所有刀按出现的时间排序，
然后开始dfs，记录每一条路咯
要注意的几点：
1、在标记出现过的水果时，很麻烦，如果只用0和1表示是否出现过的话，回溯时不好还原，
那么就把这一刀所有水果的vis++，这样都是非0，后面都不影响，回溯时再–，就可以还原
2、判断是否符合连续&&三个或者三个以上时，还要加上，此时存的长度变量tmpl为0时也符合，表示是第一个，所以可以
3、输出时，按照输入的顺序编号输出
4、要加剪枝啦
#include <iostream> #include <cstring> #include <string> #include <cstdio> #include <algorithm> #include <vector> #include <cmath> using namespace std; struct node { int t,p[15],c,id; }cut[35]; bool cmp(node x,node y) { return x.t<y.t; } int T,longe,ans[35],tmpa[35],tmpl,n,w,m,vis[205],num; void dfs(int pos,int lastt) { if(n-pos+tmpl<=longe) return;//后面每一刀都切 还比最长的短 int num,i,j,tmp; for(i=pos+1;i<=n;i++) { for(j=1,num=0;j<=cut[i].c;j++)//统计没出现过的个数 { tmp=cut[i].p[j]; if(vis[tmp]==0) num++; vis[tmp]++;//便于还原 } if((cut[i].t-lastt<=w||!tmpl)&&num>=3) { tmpl++; tmpa[tmpl]=cut[i].id; dfs(i,cut[i].t); tmpl--; } for(j=1;j<=cut[i].c;j++) { tmp=cut[i].p[j]; vis[tmp]--; } } if(longe<tmpl) { longe=tmpl; for(j=0;j<longe;j++) ans[j]=tmpa[j+1]; } } int main() { int i,j; scanf("%d",&T); while(T--) { scanf("%d%d%d",&n,&m,&w); for(i=1;i<=n;i++) { scanf("%d%d",&cut[i].c,&cut[i].t); for(j=1;j<=cut[i].c;j++) scanf("%d",&cut[i].p[j]); cut[i].id=i; } sort(cut+1,cut+n+1,cmp); memset(vis,0,sizeof vis); longe=0;tmpl=0; dfs(0,cut[1].t); sort(ans,ans+longe); printf("%d\n",longe); for(i=0;i<longe-1;i++) printf("%d ",ans[i]); printf("%d\n",ans[longe-1]); } return 0; }
版权声明：本文为博主原创文章，未经博主允许不得转载。
参考：http://blog.csdn.net/u011032846/article/details/10361677
(adsbygoogle = window.adsbygoogle || []).push({});
基友你好!
基友你好!
基友你好!
基友你好!
基友你好!
基友你好!
基友你好!
基友你好!
大大加油更～~(≧▽≦)/~
大大加油更～~(≧▽≦)/~
大大加油更～~(≧▽≦)/~
大大加油更～~(≧▽≦)/~
大大加油更～~(≧▽≦)/~
大大加油更～~(≧▽≦)/~
大大加油更～~(≧▽≦)/~
大大加油更～~(≧▽≦)/~
ꋋ原单批发 Dolce & Gabbana(杜嘉班纳)小酷熊Balenciaga(巴黎世家)Kimfoosh(金福祥)Belle(百丽)Goodyear-Welted(固特异)FENDI(芬迪)yuandan.ga
男士连身丝袜黑丝袜短裙美腿壁纸鲁豫丝袜高跟凉鞋美女丝袜女教师丝袜游戏518mei.com
艳门照 吉吉影音先锋av资源人体艺术写真图片写真性感淑女www.mm88.gq


Paul was born in Cambridge, England, while his father was there for graduate work. Unfortunately, he does not have dual citizenship. Most of his childhood was spent in Fargo, North Dakota – which really is that cold. Then his family moved to Hershey, Pennsylvania, and not even that managed to rid him of his preference for European chocolate.
Paul went to the University of Pittsburgh for undergrad, and studied computer science. He quickly fell in love with the campus and the city, despite it having the most potholes per capita nationwide (according to him). It was through his time with RUF that Paul gained a deeper appreciation for the value of relationships and the importance of investing in others.
Paul enjoys traveling, reading, concerts, watching movies, playing games (both video and board), and spending time in conversation.
Paul loves getting to know students at UW and exploring all that Seattle has to offer.
REFORMED
Simply put, “Reformed,” describes the biblical convictions of historic Christianity. The movement of the church which sought to renew these convictions afresh ministered the Christian gospel under the banners of “Faith Alone,” “Grace Alone,” “Scripture Alone,” "Christ Alone," and “To God Alone Be The Glory.” In calling ourselves “Reformed” we claim the same banners for our work.
UNIVERSITY
More than just a ministry on the university campus, RUF seeks to be a ministry for the university. We strive to serve in this unique stage of a student’s life in the world they live in, exploring together how the Lordship of Christ informs every area of life.
FELLOWSHIP
All human problems originate from our alienation from God, and those problems show up vividly in broken relationships with one another. God’s answer to human alienation is the sacrifice of Jesus on the cross, and His answer to disintegrated relationships is the church of Jesus. RUF is the arm of this restorative people reaching out to the college campus.


Help
×
Ramesh
My Orders
My Account
Knowledge
User Happiness
Contact Us
FAQ
Login
Items : Sand
12 SAR
Date : 20/06/2020
Status : Delivered
Report issue with this order?
Issue with previous order?


|
Home >
Enterprise >
Participants >
VMware Carbon Black >
Defense Evasion (TA0005)
|
|
Carbanak+FIN7 |
||||||||||
| Step | ATT&CK Pattern |
|
||||||||
|
1.A.4
|
Technique Obfuscated Files or Information (T1027) |
|
||||||||
|
1.A.5
|
|
|||||||||
|
1.A.6
|
|
|||||||||
|
3.A.2
|
Technique Modify Registry (T1112) |
|
||||||||
|
3.A.3
|
Technique Obfuscated Files or Information (T1027) |
|
||||||||
|
3.B.5
|
|
|||||||||
|
4.B.4
|
Technique Modify Registry (T1112) |
|
||||||||
|
5.C.6
|
|
|||||||||
|
7.A.4
|
|
|||||||||
|
9.A.3
|
Technique Process Injection (T1055) |
|
||||||||
|
9.B.3
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: File Deletion (T1070.004) |
|
||||||||
|
10.A.3
|
Technique Impair Defenses (T1562) Subtechnique Impair Defenses: Disable or Modify System Firewall (T1562.004) |
|
||||||||
|
10.A.5
|
Technique Modify Registry (T1112) |
|
||||||||
|
10.A.6
|
Technique Modify Registry (T1112) |
|
||||||||
|
11.A.2
|
Technique Obfuscated Files or Information (T1027) |
|
||||||||
|
11.A.5
|
|
|||||||||
|
11.A.6
|
|
|||||||||
|
13.A.4
|
Technique Virtualization/Sandbox Evasion (T1497) Subtechnique Virtualization/Sandbox Evasion: System Checks (T1497.001) |
|
||||||||
|
14.A.3
|
|
|||||||||
|
14.A.5
|
|
|||||||||
|
16.A.7
|
|
|||||||||
|
17.A.2
|
Technique Masquerading (T1036) Subtechnique Masquerading: Match Legitimate Name or Location (T1036.005) |
|
||||||||
|
18.A.1
|
Technique Process Injection (T1055) |
|
||||||||
|
18.A.3
|
Technique Process Injection (T1055) |
|
||||||||
|
19.B.2
|
Technique Obfuscated Files or Information (T1027) |
|
||||||||
|
20.A.2
|
Technique Process Injection (T1055) |
|
APT29 |
||||||||||||
| Step | ATT&CK Pattern |
|
||||||||||
|
1.A.2
|
|
|||||||||||
|
3.A.2
|
|
|||||||||||
|
3.C.1
|
Technique Modify Registry (T1112) |
|
||||||||||
|
4.A.3
|
|
|||||||||||
|
4.B.2
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: File Deletion (T1070.004) |
|
||||||||||
|
4.B.3
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: File Deletion (T1070.004) |
|
||||||||||
|
4.B.4
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: File Deletion (T1070.004) |
|
||||||||||
|
6.A.3
|
Technique Masquerading (T1036) Subtechnique Masquerading: Match Legitimate Name or Location (T1036.005) |
|
||||||||||
|
8.B.2
|
|
|||||||||||
|
8.C.1
|
|
|||||||||||
|
9.C.1
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: File Deletion (T1070.004) |
|
||||||||||
|
9.C.2
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: File Deletion (T1070.004) |
|
||||||||||
|
9.C.3
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: File Deletion (T1070.004) |
|
||||||||||
|
9.C.4
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: File Deletion (T1070.004) |
|
||||||||||
|
10.B.3
|
|
|||||||||||
|
11.A.2
|
|
|||||||||||
|
11.A.3
|
Technique Virtualization/Sandbox Evasion (T1497) Subtechnique Virtualization/Sandbox Evasion: System Checks (T1497.001) |
|
||||||||||
|
11.A.10
|
|
|||||||||||
|
12.A.2
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: Timestomp (T1070.006) |
|
||||||||||
|
14.A.3
|
Technique Modify Registry (T1112) |
|
||||||||||
|
14.B.5
|
Technique Obfuscated Files or Information (T1027) |
|
||||||||||
|
14.B.6
|
|
|||||||||||
|
17.C.2
|
Technique Obfuscated Files or Information (T1027) |
|
Procedure
python.exe payload was packed with UPX
Criteria
Evidence that the file python.exe is packed
Procedure
Manipulated the token of the PowerShell payload via the CreateProcessWithToken API
Criteria
hostui.exe manipulating the token of powershell.exe via the CreateProcessWithToken API OR powershell.exe executing with the stolen token of explorer.exe
APT3 |
||||||
| Step | ATT&CK Pattern |
|
||||
|
3.A.1
|
|
|||||
|
5.B.1
|
|
|||||
|
16.C.1
|
|
|||||
|
16.I.1
|
|
|||||
|
17.B.1
|
|
|||||
|
17.B.2
|
|
|||||
|
19.A.1
|
Technique Masquerading (T1036) |
|
||||
|
19.B.1
|
Technique Masquerading (T1036) |
|
||||
|
19.D.1
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: File Deletion (T1070.004) |
|
||||
|
19.D.2
|
Technique Indicator Removal on Host (T1070) Subtechnique Indicator Removal on Host: File Deletion (T1070.004) |
|


Undersea shipping
How deep do you want to go?
Weight
Distance
Depth
Priority
Seaman
Petty Officer
Lieutenant
Captain
Fleet Admiral
Anchor away!
Your estimated shipping costs are: $


| |
|   |
| {% include 'pagination.html' %} |
|
|
|
| Updates: |
If you have any suggestions, please let us know. Keep adding videos and voting!
Also, don't forget to check out the all time most voted videos on the popular page.
|
| |
|
|
Write Your Thoughts |
A Note On: Hope
Growing up in Alabama, I have always been a Republican. In the last election, I was so distraught by the choices that I didn't even vote. I expected this election year to be no different from 2004, nevertheless I settled into my research on candidates and their political records and backgrounds.
Researching Obama, I just kept digging for something, anything because he seems too good to be true. I found nothing but hope. A new, unexpected sense of hope that I have for the United States that my children will inherit. For the first time since before I was old enought to vote, I can say that if we give this man the opportunity, he will help us change not just our country, but the world for the better!
Thanks,
Heather
A Note On: Italy + Pets
Italy picked up my video, "Pets for Obama," and according to the "links" info, they've viewed it hundreds of times. There is worldwide interest in his campaign, and I believe that Barack would engender a universal respect that the US government has been lacking for some time.
Lynn Holoway
Cape Ann, MA
A Note On: Alliance
As a Britain who has lived through Blair’s disastrous alliance with Bush, I have a deep commitment to Obama’s candidacy. I believe he will steer US foreign policy onto a more fair-minded track, even if this will not bring the Chomskyan shift that I would like.
Kaleem Ashraf, UK
A Note On: France
I am from France. I do not like Americans, at least not american politicians. They think they are above everything, better than the rest of the planet, I don't like their politics.
And then comes Obama.
He makes me like Americans, he makes me like their country. For him, for his message, for his vision and projects in which I believe, I would like to become an American just for an instant, so that I could bring him my vote and my support.
Even from far, I join your movement and I also say: YES WE CAN.
Jacob, France
A Note On: A New Beginning
08 represents a new beginning and that is what Barack Obama wants to do - change how our country is governed and what we are used to coming from a president. Obama has inspired me to vote this year. I really never payed any antention to politics until now with this election. Barack Obama has a quality like none other - he is what I call a true visionary. That is what we need from our next president: someone with vision and passion for the american people.
Jonquil
|
|


{%extends "registration/base.html"%} {% load bootstrap4 %} {% load crispy_forms_tags %} {% block content %}
Sign up to see photos and videos from your friends.
By signing up, you agree to our Data Policy and Cookies Policy.
Have an account? Log in
Get the app


|
C-ATTL3
0.1
|
#include <Preprocessor.h>
Public Member Functions | |
| PCAPreprocessor (bool standardize=false, bool whiten=false, Scalar min_rel_var_to_retain=1, Scalar epsilon=Utils< Scalar >::EPSILON2) | |
| void | fit (const Tensor< Scalar, 4 > &data) |
| void | transform (Tensor< Scalar, 4 > &data) const |
| Public Member Functions inherited from cattle::NormalizationPreprocessor< Scalar, Rank > | |
| NormalizationPreprocessor (bool standardize=false, Scalar epsilon=Utils< Scalar >::EPSILON2) | |
| virtual | ~NormalizationPreprocessor ()=default |
| virtual void | fit (const Tensor< Scalar, Rank+1 > &data) |
| virtual void | transform (Tensor< Scalar, Rank+1 > &data) const |
| Public Member Functions inherited from cattle::Preprocessor< Scalar, Rank, false > | |
| virtual | ~Preprocessor ()=default |
| virtual void | fit (const Tensor< Scalar, Rank+Sequential+1 > &data)=0 |
| virtual void | transform (Tensor< Scalar, Rank+Sequential+1 > &data) const=0 |
Private Types | |
| typedef PCAPreprocessorBase< Scalar, 3 > | Base |
| typedef Base::Base | Root |
Additional Inherited Members | |
| Protected Types inherited from cattle::PCAPreprocessorBase< Scalar, 3 > | |
| typedef NormalizationPreprocessor< Scalar, Rank > | Base |
| Protected Member Functions inherited from cattle::PCAPreprocessorBase< Scalar, 3 > | |
| PCAPreprocessorBase (bool standardize, bool whiten, Scalar min_rel_var_to_retain, Scalar epsilon) | |
| void | _fit (Tensor< Scalar, Rank+1 > data, int i) |
| Tensor< Scalar, Rank+1 > | _transform (Tensor< Scalar, Rank+1 > data, int i) const |
| Protected Attributes inherited from cattle::PCAPreprocessorBase< Scalar, 3 > | |
| bool | whiten |
| Scalar | min_rel_var_to_retain |
| bool | reduce_dims |
| std::vector< EigenDecomposition > | ed_vec |
| Protected Attributes inherited from cattle::NormalizationPreprocessor< Scalar, Rank > | |
| const bool | standardize |
| const Scalar | epsilon |
| Dimensions< std::size_t, Rank > | dims |
| RowVector< Scalar > | means |
| RowVector< Scalar > | sd |
Partial template specialization of the PCA preprocessor for rank-3 tensors.
|
private |
|
private |
|
inline |
| standardize | Whether the data should be standardized as well. |
| whiten | Whether the data should be whitened as well. |
| min_rel_var_to_retain | The minimum relative variance in the data to retain. It is expected to be within the range (0,1]. If it is 1, the dimensionality of the preprocessed data is guaranteed not to be reduced. If it is less than 1, the data cannot be a multi-channel tensor. |
| epsilon | A small consant used to maintain numerical stability. |
|
inline |
|
inline |


Entrenando duro
Next steps
Integrate WebPack, auto deploy for development and
Purgecss
.
March 26 2020:
Tailwind integrated
March 25 2020:
CloudFront invalidation when deployed
March 22 2020:
First commit


{% extends '../../layout-email.html' %} {% block pageTitle %} Prior notification email {% endblock %} {% block content %}
Patients that are not reviewed or actioned will be removed after 8 weeks and their next test due date will be reset.
View patients who have not responded
If you currently receive notifications but need to stop them you can manage emails


[%settitle HL7 v3 Namespaces%]
[%file newheader%] [%file newnavbar%]| [%wgt fhir%] Work Group | Maturity Level: N/A | Standards Status:External |
These namespaces are defined for use in FHIR. Code Systems are used when representing codes that were defined as part of the HL7 v3 code systems. So if you are representing the code "M" from the code system AdministrativeGender in a FHIR instance, then you would use the system "http://terminology.hl7.org/CodeSystem/v3-AdministrativeGender" (note that the namespace is case sensitive).
Value Set namespaces are used as part of the specification itself, or in Profiles or other Value Sets where HL7 v3 code systems are used.
All of these namespaces are subject to further change.
CodeSystems
See below for value sets.
<%v3Index-cs%>Value Sets
<%v3Index-vs%>


adb install
Android Debug Bridge Install: Push packages to an Android emulator instance or connected Android devices.
More information: home page
- Push an Android application to an emulator/device:
adb install path/to/file.apk
- Push an Android application to a specific emulator/device (overrides `$ANDROID_SERIAL`):
adb -s serial_number install path/to/file.apk
- Reinstall an existing app, keeping its data:
adb install -r path/to/file.apk
- Push an Android application allowing version code downgrade (debuggable packages only):
adb install -d path/to/file.apk
- Grant all permissions listed in the app manifest:
adb install -g path/to/file.apk
- Quickly update an installed package by only updating the parts of the APK that changed:
adb install --fastdeploy path/to/file.apk


First, try optimizing your connection by moving closer to your Wi-Fi access point, using a corded LAN-connection or switching from mobile data to Wi-Fi. Reconnecting to your Wi-Fi network and then reloading the heiconf page can also improve the stability.
If this doesn't help, you can disable webcam streams on your device:
Open the heiconf settings: Then disable webcams in the data saver tab:


404: User not found";
}
else{
$row = $item['profile'];
$name = $row['first'] . " " . $row['last'];
echo "
" . $title . "
"; echo "" . $time . "
"; echo "
"; } } ?>
" . $name . "'s Blog
"; $cursor = array_slice(array_reverse($item['blog']),0,5); if (sizeof($cursor) == 0){ echo "There doesn't seem to be anything here."; } foreach($cursor as $doc){ $title = $doc['title']; $time = $doc['timestamp']; $body = $doc['body']; echo "" . $title . "
"; echo "" . $time . "
"; echo "
" . $body . "
"; } } ?>
Contents
-
find(array('profile'=>array('$exists'=>true)))->sort(array('login.username'=>1));
foreach ($cursor as $doc){
$uname = $doc['login']['username'];
echo "
- " . $uname . " "; } ?>


Basic example
Explanation (see example_route.dart
)
We have a list of containers (the "cards") that we would like the user to swipe. This beahviour is commonly seen in card games or dating apps.
// CardExample is a custom container with a nice border and rounded corners
final List<CardExample> cards = [
CardExample(color: Colors.red, text: "First card"),
CardExample(color: Colors.blue, text: "Second card"),
CardExample(color: Colors.orange),
CardExample(color: Colors.indigo),
CardExample(color: Colors.green, text: "The next card is the last"),
CardExample(color: Colors.purple, text: "This is the last card"),
];
The user should first see the card "First card", which is red, so the currentCardIndex
is initialized to 0
.
In the Scaffold
, we see an Align
widget with the following children:
if (currentCardIndex < cards.length)
SwipeableWidget(
cardController: _cardController,
animationDuration: 500,
horizontalThreshold: 0.85,
// (1)
child: cards[currentCardIndex],
nextCards: <Widget>[
// show next card
// if there are no next cards, show nothing
if (!(currentCardIndex + 1 >= cards.length))
// (2)
Align(
alignment: Alignment.center,
child: cards[currentCardIndex + 1],
),
],
onLeftSwipe: () => swipeLeft(),
onRightSwipe: () => swipeRight(),
)
else
// if the deck is complete, add a button to reset deck
Center(
child: FlatButton(
child: Text("Reset deck"),
onPressed: () => setState(() => currentCardIndex = 0),
),
),
What's going on here?
See the comments in the code for the labels (1)
and (2)
.
-
This is the card on top which the user sees. It is a
SwipeableWidget
, so users can interact with it and swipe it away. It's child is thecards[currentCardIndex]
, so it is the 1st card initially. -
This is the card behind the current card. The user cannot interact with it. It is
cards[currentCardIndex + 1]
, so it's the 2nd card initially. You may put as many widgets as you want innextCards
. They will be stacked over each other.
As the value of currentCardIndex
, increases, the card the user sees (1) and card behind that (2) are both increased appropriately.
So when the front card (1) is swiped, currentCardIndex++
is called. This gives an appearance that the card has moved away. What's actually happened is that the SwipeableWidget
is putting itself back (with the next card) in the center right after it's animated out.
What seems to be happening?
This is what the users see:
- The card is discarded (gone)
- Next card comes into focus
What actually happens? This is what's going on under the hood.
- The card is animated out of the screen
- After a delay, the card is moved back to the center without any animaton.
- Using state management (
setState
in this case) to show the next card.
In short, the card in the nextCards
list. Try removing it to see what happens!
Note: It is your job to handle showing the user the next card. In this simple example, to show the next card, all that needs to be done is add 1
to currentCardIndex
. This is done by the onLeftSwipe
and onRightSwipe
functions:
void swipeLeft() {
print("card swiped to the left");
// going to next card
setState(() {
currentCardIndex++;
});
}
void swipeRight() {
print("card swiped to the left");
// going to next card
setState(() {
currentCardIndex++;
});
}
What about the if
statements?
They're just there to prevent the app from erroring when the user has reached the end of the deck. When the user is on the last purple card, they won't see a card behind it. And once this last card is swiped, a button will be shown which resets the deck on press.
By resetting the deck, it just sets currentCardIndex
to 0
. If you're making a game, you may want to get a new list of cards or randomize the the order of the cards first.
Using the SwipeableWidgetController
This allows you to swipe the cards without having the user touch or pan them.
Pass the SwipeableWidgetController
like so:
SwipeableWidgetController _cardController = SwipeableWidgetController();
...
SwipeableWidget(
cardController: _cardController,
...
)
Now you can call the following functions:
- _cardController.triggerSwipeLeft()
- _cardController.triggerSwipeRight()
Check out the cardControllerRow
widget:
Widget cardController(SwipeableWidgetController cardController) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
FlatButton(
child: Text("Left"),
onPressed: () => cardController.triggerSwipeLeft(),
),
FlatButton(
child: Text("Right"),
onPressed: () => cardController.triggerSwipeRight(),
),
],
);
}
Tapping on the buttons swipes the cards to the left and right respectively.
Improvements you can make
1. Make cards look more natural
To do this, you can use the Tranform
widgets to rotate the cards by a randomly generated angle, or even change the offset.
2. Disable users from swiping cards
If you do need to disable a card, wrap SwipeableWidget
with IgnorePointer
. Check out this video for more information.


A technical leader with expertise full-stack development and deployments technologies. Skilled in collaborating with all members of the organization to achieve business and financial objectives. Instruments in streamlining and improving processes, enhance productivity and implementing technology solutions. Technical Proficiency in Node.JS / Python / REST APIs / React / Angular / ECMAScript, Verity of databases, back-end, data. I've contributed to Android and iOS in the past, helped design the patterns for scalable applications
When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows, I am an aspiring photographer, and I spend a large amount of my free time exploring the latest technology advancements in the back-end and front-end development world.


Same-origin:
Sandboxed:
someFunction.%someClosureVar
should access a variable bound to
someFunction through a closure..%
should be like that of .
.someObject.%someClosureVar
should to a first approximation do
the same thing; making some intelligent guesses about relevant functions to
steal closures off..%
.


In the body and in p element
This could be some code But it isn't it's just another p tag with a code element


A vibration command for the thumper. A pulse for a specific time in seconds.
More...
A vibration command for the thumper. A pulse for a specific time in seconds.
◆ TimedThumpCmd() [1/3]
| SGCore.Haptics.TimedThumpCmd.TimedThumpCmd |
( |
| ) |
|
|
protected |
Internal, empty, for extended classes.
◆ TimedThumpCmd() [2/3]
| SGCore.Haptics.TimedThumpCmd.TimedThumpCmd |
( |
int |
amplitude, |
|
|
float |
duration_seconds, |
|
|
float |
startTime_seconds = 0 |
|
) |
| |
Create a new Timed Thumper Command.
- Parameters
-
| amplitude | Value between 0 .. 1 representing the magnitude of the system. |
| duration_seconds | |
| startTime_seconds | |
◆ TimedThumpCmd() [3/3]
| SGCore.Haptics.TimedThumpCmd.TimedThumpCmd |
( |
ThumperCmd |
baseCmd, |
|
|
float |
duration_seconds, |
|
|
float |
startTime_seconds = 0 |
|
) |
| |
Create a new Timed Thumper Command.
- Parameters
-
| baseCmd | |
| duration_seconds | |
| startTime_seconds | |
◆ Copy()
| virtual TimedThumpCmd SGCore.Haptics.TimedThumpCmd.Copy |
( |
bool |
copyElapsed = true | ) |
|
|
virtual |
Copy the parameters of this ThumperCommand into another instance.
- Returns
◆ Equals()
| virtual bool SGCore.Haptics.TimedThumpCmd.Equals |
( |
ThumperCmd |
baseCmd | ) |
|
|
virtual |
◆ TimeElapsed()
| virtual bool SGCore.Haptics.TimedThumpCmd.TimeElapsed |
( |
| ) |
|
|
virtual |
Returns true if the timed command has elapsed.
◆ ToString()
| override string SGCore.Haptics.TimedThumpCmd.ToString |
( |
| ) |
|
◆ Update()
| virtual void SGCore.Haptics.TimedThumpCmd.Update |
( |
float |
dT_seconds | ) |
|
|
virtual |
Update the timing on this Thumper Command
- Parameters
-
◆ duration
| float SGCore.Haptics.TimedThumpCmd.duration |
◆ elapsedTime
| float SGCore.Haptics.TimedThumpCmd.elapsedTime |
◆ magnitude
| int SGCore.Haptics.TimedThumpCmd.magnitude |
The documentation for this class was generated from the following file:
- C:/Gitlab-Runner/builds/yDcLA2Qt/0/senseglove/senseglove-backend/sgcorecs/src/SGCoreCs/TimedThumpCmd.cs


This is a Awesome-O. Feel free to speak to him. He only understands numbers though.
Beep!Boop!Boop!Beep!(Hi What is Your Name?)
Talk to Awesome-O
Speak
Awesome-O's Reply


last modified: 2017-02-19
Clément Levallois
We take a normal network, where nodes have attributes which can serve as time indication (a date, a number…)
We convert this network into a dynamic network: nodes will appear and disappear according to their attributes.
download this zip file and unzip it on your computer.
or use this direct link: https://tinyurl.com/gephi-tuto-4
You should find the file miserables-with-dates.gexf
in the zip file. Save it in a folder you will remember (or create a folder specially for this small project).
This file contains a network representing "who appears next to whom" in the 19th century novel Les Misérables by Victor Hugo[1].
A link between characters A and B means they appeared on the same page or paragraph in the novel.
The file name ends with ".gexf", which just means this is a text file where the network information is stored (name of the characters, their relations, etc.), following some conventions.
This file has been modified to add some dates to each character in the novel:
a "start date", which is a day (example: 22/09/1835). This is the date when the character enters the action in the novel
an "end date", also a day (example: 22/09/1840). This is the date when the character leaves the action in the novel
a "peak moment". This is a number (example: 14263). This is an instant when the character is at the center of the plot. This number has no historical meaning, this is just a chronological moment in time.
Values for start date, end date and peak moment have no real significance in the novel. They are made up for this exercise.
open Gephi. On the Welcome screen that appears, click on Open Graph File
find miserables-with-dates.gexf
on your computer and open it
A report window will open, giving you basic info on the network you opened:
This tells you that the network comprises 74 characters, connected by 248 links.
Links are undirected, meaning that if A is connected to B, then it is the same as B connected to A.
The report also tells us the graph is not dynamic: it means there is no evolution or chronology, it won’t "move in time".
Click on OK
to see the graph in Gephi.
We can switch to the data laboratory to see the underlying data:
The nodes (characters) of the network have attributes (start date, end date, peak moment) which can make this graph dynamic - but it is not yet.
A couple of steps are needed to enable the dynamic features, and here a choice must be made:
Do we prefer to have…
… nodes appearing on screen at their start date, and staying on screen for ever after?
… nodes appearing on screen at their start date, and leaving the screen at their end date?
… nodes being representedsimply by their "peak moment" (a number), without reference to chronological dates?
We will present these 3 possibilities.
Let’s switch back to the Overview to see the graph and how it evolves in time.
We are going to use the timeline to play the animation. The timeline has many features which are explained in a specific tutorial.
Visit the Gephi group on Facebook to get help,
or visit the website for more tutorials


Survey Questions
Name (Required)
Photo (Required)
1 Your mind is always buzzing with unexplored ideas and plans.
Choose your options
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
2 Generally speaking, you rely more on your experience than your imagination.
Choose your options
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
3 You find it easy to stay relaxed and focused even when there is some pressure.

Choose your options
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
5 People can rarely upset you.
Choose your options
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
6 It is often difficult for you to relate to other people’s feelings.
Choose your options
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
7 In a discussion, truth should be more important than people’s sensitivities.
Choose your options
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
8 You rarely get carried away by fantasies and ideas.
Choose your options
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
9 You think that everyone’s views should be respected regardless of whether they are supported by facts or not.
Choose your options
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
10 You feel more energetic after spending time with a group of people.
Choose your options
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Send
API Friends List
|
GitHub Repo
Compatible Friend Result
×


Open this page in two browser windows - when you add a note, both will update. Refresh the page, and all notes will be rendered without an Ajax call.
Initial page load and Ajax row updates are both served from the same list function. You can also add a live updating list to a static _attachments page - View example here.
Clone this app to view the source:
couchapp clone http://gbues.iriscouch.com/mustache-couch-example/_design/example mustache-couch-example


Identifiers are used for constant names, variable names, array names, function names and custom type names.
Identifiers must start with an alphabetic character, and may be following be any number of alphanumeric characters, or the underscore ('_') character.
These are all valid identifiers:
|
Indentifiers are not case sensitive.
For example, 'Test', 'TEST' and 'test' are all the same identifiers.
However, it is allowed for identifiers to be reused for functions and custom types names.
For example, you can have a variable called 'test', a function called 'test' and custom type name called 'test'. Blitz will be able to tell which one you are refering to by the context in which it is used.