By Nina Fedoroff, Steve Racunas, and Jeff Shrager
Experimental biologists today have access to an enormous body of information. Although much of it still resides in journals, primary data are increasingly available in electronic form. Knowledge bases, which represent facts and experimental observations using abstractions such as metabolic pathways and regulatory networks, are growing in sophistication, and organismal databases, varying in complexity from simple information repositories to constellations of highly integrated knowledge, are proliferating rapidly.
But the volume and complexity of available information far exceeds the synthetic and reasoning capacities of any individual. Unaided, we humans are poor at reasoning meaningfully about the complex dynamic systems that make up even the simplest organism. To augment our limited capabilities in a way that creates understanding, we need new tools for thought -- formal representational systems appropriate for biological modeling, and computational tools that can manipulate, check, and use these models to make predictions and to form explanations. We have recently begun to develop such a computational toolkit for checking the consistency of hypotheses with existing knowledge and data. Such tools will help experimentalists formulate, organize, think about, and modify their ideas about biological systems in the light of all available information. Moreover, they’ll aid in designing sensible experimental approaches in the rapidly evolving data and knowledge environment.
BEYOND THE BASES Biological databases and knowledge bases serve as excellent repositories, but they don’t provide the ability to analyze and manipulate models. Pathway knowledge bases are, in essence, sophisticated electronic textbooks, but they only capture the static state of what is known. They do not provide the means to use existing knowledge to build new knowledge. Even data analysis programs, such as Blast, cannot be called tools for thought. They are tools for manipulating data, just as a pipette or a PCR machine is a tool for manipulating DNA, but they cannot assist the experimentalist in formulating and thinking about models.
Engineers have used mathematical tools for thought since at least the 17th century. Electronic computers were designed in large part to support engineering analyses. Today’s engineering students learn how to create mathematical models and how to use computers to analyze them. Biologists, who are essentially engaged in the "reverse engineering" of biological systems, should similarly be able to create models and use software tools for simulating, manipulating, and analyzing their models.
Tools for thought provide two functions: simulation and analysis. Simulation allows scientists to make predictions from precisely expressed models of the system (usually using a computer). Analysis provides guidance and feedback about validity of the models through comparison, manipulation, and validation against available data and knowledge. Combined, these functions enable scientists to ask "what if" questions about a system, form explanations, and make and test predictions. The ability to run thought experiments would help experimental biologists to decide which models make the most sense and how best to test them experimentally. The main limiting factor, however, is formal representation -- the "mathematics" of biological models.
THE RIGHT REPRESENTATION There are many efforts to mathematically capture the essential features of biological systems, whether a MAP kinase phosphorylation cascade, the cell cycle, or a beating heart. A time will perhaps come when this will be possible for entire organisms. But for the moment, biologists are still engaged in discovering the qualitative workings of biological machines.
We have just discovered, for example, that organisms have RNA-based feedback systems that can finely adjust gene-expression levels -- a process that a few years ago we didn’t even know existed. Because we have not yet achieved a complete qualitative description of biological systems, quantitative equations are likely to have limited utility in experimental design in the near future. Instead, what experimental biologists need are ways to work with the available qualitative information: the knowledge of genes and their promoters and enhancers; of proteins, their structures, and how they interact with each other and other macromolecules; where things are in cells and how these locations change over time; how information is communicated within and between cells, and within the whole organism, and between the organism and its environment.
Moreover, experimental biologists need to know what other experimentalists have done. Rarely do they get such information from textbooks, whether printed between hard covers or contained in pathway diagrams in an electronic database. This is because the process of abstraction that underlies the representations usually excludes supporting and contradictory data and knowledge -- the "provenance" for the knowledge is gone. But it is precisely by exploring the underlying evidence for a conclusion, especially evidence that doesn’t fit the prevailing paradigm, that scientists formulate new ideas that lead to discoveries.
There are alternatives to differential equations that make it possible to write down and reason about complex systems in the way that biologists think about them. One such method is a branch of artificial intelligence called "qualitative processes theory."1 QP models are composed of qualitative assertions cast in a formal syntax. An example of such a statement is: "Increasing light increases the efficiency of carbon fixation to a point, after which the rate of reaction decreases." QP models are qualitative, not quantitative, and their terms can be uncertain, but this does not mean that they are informal. Qualitative values have a precise mathematics, and it is possible to run simulations on such models.2 Their uncertainties can be managed in ways similar to the way that uncertainty is managed in statistics.
Principles of qualitative modeling, together with a collection of qualitative biological model components and a qualitative simulator, provide the simulation part of a toolbox for thought. Analysis is harder. It requires integrating and comparing models with one another in the light of what is known and then enabling the scientist to manipulate the models to form new ones that might lead to discovery -- a previously unknown subsystem, a hidden relationship, a process or player that might revise and deepen our current understanding.
Let us consider, for a moment, the craft of modeling and model analysis. The simplest thinking tool at the experimentalist’s disposal is the hypothesis -- a statement that postulates the existence of certain relationships within the system. Each hypothesis is a simple model and a "system-level" model can be thought of as a collection of interrelated hypotheses. Expressed using formal QP-like representations, hypotheses can provide the foundation for computational biological modeling. We can then create tools for thought that perform the requisite simulation and analysis operations upon hypotheses.
Using a rules library that encodes biological requirements and prerequisites for biological events, it is possible to generate a "required background and history" for each hypothesis, together with the set of relationships that must hold true in the wake of each hypothesized event. This is the qualitative analog of simulation. The components of each hypothesis can be checked against literature and data residing in electronic databases, providing the experimentalist with links to the information that supports the hypothesis as well as information that contradicts it. If the interaction with this hypothesis-checking tool were sufficiently intuitive -- using diagrams to represent sets of hypotheses -- one could use this interface to craft increasingly complex system-level models comprising hypotheses that survive both validity checks and subsequent experimental testing. From there it is a small step to imagine that the model-checking tool could itself assist the experimentalist to identify, by structural homology between models of other biological systems, changes that might improve the model’s fitness. This, then, would constitute analysis.
HYBROW AND BIOBIKE We have begun a collaborative project to develop such a toolkit which we call the Hypothesis Space Browser or HyBrow.3 HyBrow considers hypotheses entered in either structured text or pictorial format, decomposes them into their atomic assertions, and tests these against stored knowledge and data, as well as for logical consistency. In addition to checking validity, HyBrow provides links to the data or knowledge that both supports and contradicts assertions (both explicit and implicit) in the model. The HyBrow vision is not only to enable the individual experimentalist to represent and check hypotheses and models, but also to collect the hypotheses that survive experimental testing in a new kind of knowledge base indexed by the constituent hypotheses themselves and containing links to all of the supporting and contradictory data and knowledge. This would enable a community of biologists to develop complex biological models that are firmly based in knowledge and experimentation, while retaining the flexibility to respond to changing concepts and new information.
The platform for this vision is Biobike,4 a persistent qualitative knowledge base and knowledge-based programming environment. Biobike enables users to write simple programs to compare, contrast, and update models, as well as to piece together models, extract knowledge from literature, and guide searches in the space of possible models -- the panoply of knowledge manipulation. The HyBrow-Biobike partnership is larger than the sum of its parts. Users will compose hypotheses and models in an intuitive text or diagram-based format, and the hypotheses will be stored and analyzed against the integrated knowledge base. The result will be both feedback to the individual about the consistency of the hypothesis (model) with what is already known and suggested modifications to improve the viability of the hypothesis. But the bigger whole is building a dynamic knowledge base of biological hypotheses and models, formed by the community and expressed in a common language.
Tools for thought use formal representation and computational methods to enable scientists to turn complex models over in their hands and heads. Engineers have refined their tools over centuries. Perhaps through projects such as these it will not take long for the biological community to become as comfortable with computational tools for thought as they are with pipettes and PCR.
References
Nina Fedoroff is the Willaman Professor of Life Sciences and an Evan Pugh Professor in the Department of Biology and the Huck Institutes of the Life Sciences at Penn State University. She is a member of the National Academey of Sciences and currently serves on the National Science Board. Steve Racunas is a post-doctoral fellow in the Huck Institutes of the Life Sciences at Penn State. Jeff Shrager is a research fellow at the Carnegie Institution of Washington’s Department of Plant Biology at Stanford University. The authors are collaborating to create a biological tool for thought that they call the Hypothesis Space Browser or HyBrow and which can be accessed at www.hybrow.org.


https://creativecommons.org/publicdomain/zero/1.0/
By clicking accept, I agree that all copyright in the Images belong to Photographer. This Release is given for good and valuable Consideration that I acknowledge I have received. I acknowledge that I have no right to any additional consideration or accounting, and agree that I will make no claim upon Photographer with respect to the Images for any reason. I agree that this Release is binding upon my heirs and upon anyone to whom I may assign any other rights that I may have.
By clicking accept, I agree that this Release is irrevocable, perpetual and worldwide. I represent and warrant that I am at least 18 years of age and have the full legal capacity to execute this Release.
DEFINITIONS:
“Model” or “I” means the person who participated in the Shoot described in this Release. If the Model is not at least 18 years of age or lacks legal capacity in the jurisdiction of the Model’s residence, “I” includes the parent and/or legal guardian of the Model.
“Photographer” means the photographer, videographer, filmmaker or any other person photographing or recording the Model during the Shoot, including an entity, as well as any person or entity to whom Photographer has assigned or licensed rights under this Release and any licensees of any such person or entity.
“Images” means all photographs, video, film, audio, sound or other recordings taken of the Model as part of the Shoot, including the Model’s appearance, likeness, form and/or voice.
“Shoot” means the photographic, filmic or other recording session identified in this Release.
“Media” means all media and formats including print, film, electronic, digital, broadcast television, Internet, podcast and any other media and formats known now or invented in the future.
“Consideration” means something of value received in exchange for this Release.


This page contains a list available GarageBoxes. The following functions are available:
- You can check the GarageBox availability.
- You can consult details of the GarageBox.
- You can have a look at the GarageBox location (image).
- You can reserve the GarageBox of your choice.
- You can hover over the different areas to get instructions about it's purpose and/or possible actions.


COVID in the news
I remember traveling from India to South Africa in early February 2020 and hearing whispers of some ultra-deadly mystery virus. A few weeks after I landed in Cape Town, the lockdowns started world over and the panic was pretty palpable. Back in India there was a similar sense of panic during the second wave in mid-2021, which was pretty deadly and overloaded healthcare systems to the point of breaking in many cases (even though the government seems to think otherwise).
I got curious about how the news tracked this perceived panic, and I started by
looking at newspaper headlines. The way I planned to do this was to scrape
every headline published by the newspaper since January 2020 and count the
number of times covid
or coronavirus
was mentioned. To this end, I picked
the Indian Express for no good reason other than
that I was able to find the URL for their archives first.
The analysis I described above, i.e., counting the number of occurences of
the two keywords, is fairly simplistic and will ignore a lot of actual news
stories about the virus. For example any geographical or numerical indicators
in the headline, like 200 new cases reported in Chennai
would have been
missed by this method. However devising a more complete and accurate heuristic
would have taken more time than I had to dedicate to this, so I left it as is.
I figured simply counting the number of times covid
or coronavirus
(case
insensitive) would serve as a good proxy for how intense the reporting was at
any point.
All the code, and the dataset of headlines with a timestamp, are stored in this GitHub repository (fair warning, the code is messy!).
Grabbing headlines
In order to grab the headlines that I needed, I had to (a) figure out the generic URL for Indian Express archived news stories and (b) figure out how to scrape the headlines from the webpage. Turns out, the first part wasn’t so hard. The website has a section for all regional stories about India that conveniently shows the headlines and summary of all the news articles published at a national level.
The second part required some code wrangling, but also ended up being fairly (and happily!) straightforward for the most part.
I used a combination of requests and BeautifulSoup to retrieve and parse the HTML contents of the webpage.
BeautifulSoup
is an incredible tool to parse HTML content because it builds a
tree from the HTML document and allows you to walk the tree in a very intuitive
way to find various elements you need. In this case, the headlines were all
encased in a

tag with a 'class':'title'
attribute. The dates were in a

tag immediately below the

tag, or in the langauage of
BeautifulSoup
, the

was the next sibling.
So once I had the page URL, it was easy to get the raw HTML and then turn it
into soup
.
Hunting for the headlines and the dates was also quite intuitive, however some amount of “cleaning” was necessary to strip out additional whitespaces etc.
I also grabbed the number of cases per week from the ECDC website as a comparison. Finding this data on their website was not as difficult as I’d imagined, although hunting for similar datasets from WHO or the Indian Government was substantially harder, which is why I went with ECDC.
Once I had the headlines, I just dumped them into a text file so I could read
it in with trust ol’ pandas
. Scraping all the headlines I needed took a
surprising (for me!) amount of time, but running it in the background while I
did other things got me what I needed in a few hours.
However one thing that I didn’t think through all that well was having a
whitespace delimited file containing headlines with whitespaces and a variable
number of words. This yielded effectively a variable number of columns that
pandas
had a fit over, so I had to write a simple parsing function to get the
dates and headlines out of the text file coherently. Once I had the headlines,
I constructed a saner looking DataFrame
.
I had to wrangle the ECDC data to give me a similar month-year
column, and
once that was done I simply used the ultra-useful groupby
function to figure
out how many headlines (and cases) we had per month.
The results
As you can see from the plot, the blue bars are the number of news articles about COVID per month, and the orange line is the number of cases per month. Both these quantities have been expressed as a fraction of the total, so for example the number of COVID cases peaked in May 2021 at 25%, meaning that around a quarter of all total COVID cases (since January 2020) occurred in May 2021.
There are a couple of things that stick out to me from this plot. The first is that the sense of panic I felt in early 2020 is borne out by the news cycle, with over 40% of all reports of COVID-19 occuring in March and April 2020. By the time the first real peak rolled around in India, the news seems to have largely settled down.
The second thing is that the reporting toward the tail end of the first wave (Nov - Dec 2020) and the peak of the second wave (Apr - May 2021) is also more or less the same, despite the fact that India was having an objectively worse time during the second wave, which was responsible for about 50% of all cases in just a two month period. The reason for the under-reporting is puzzling, I’d be interested to see what they were reporting on instead of COVID, but that’s for another post.
I’ll point out here the caveat that this little experiment was only conducted using the headlines of Indian Express, so it may or may not be representative of Indian print media at large. I am also keen on seeing differences (if any) in COVID reporting depending on the political leanings of the news outlets.


Thanks for signing up to receive this newsletter, our bimonthly digest of highlights from the world of Courier.


public abstract class TestPropertySourceUtils
extends java.lang.Object
@TestPropertySource
and adding test PropertySources
to the Environment
.
Primarily intended for use within the framework.
TestPropertySource
| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.String |
INLINED_PROPERTIES_PROPERTY_SOURCE_NAME
The name of the
MapPropertySource created from inlined properties. |
| 构造器和说明 |
|---|
TestPropertySourceUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
addInlinedPropertiesToEnvironment(ConfigurableApplicationContext context,
java.lang.String... inlinedProperties)
Add the given inlined properties to the
Environment of the
supplied context . |
static void |
addInlinedPropertiesToEnvironment(ConfigurableEnvironment environment,
java.lang.String... inlinedProperties)
Add the given inlined properties (in the form of key-value
pairs) to the supplied
environment . |
static void |
addPropertiesFilesToEnvironment(ConfigurableApplicationContext context,
java.lang.String... locations)
Add the
Properties files from the given resource locations
to the Environment of the supplied context . |
static void |
addPropertiesFilesToEnvironment(ConfigurableEnvironment environment,
ResourceLoader resourceLoader,
java.lang.String... locations)
|
static java.util.Map<java.lang.String,java.lang.Object> |
convertInlinedPropertiesToMap(java.lang.String... inlinedProperties)
Convert the supplied inlined properties (in the form of key-value
pairs) into a map keyed by property name, preserving the ordering of property names
in the returned map.
|
public static final java.lang.String INLINED_PROPERTIES_PROPERTY_SOURCE_NAME
MapPropertySource
created from inlined properties.public static void addPropertiesFilesToEnvironment(ConfigurableApplicationContext context, java.lang.String... locations)
Properties
files from the given resource locations
to the Environment
of the supplied context
.
This method simply delegates to
addPropertiesFilesToEnvironment(ConfigurableEnvironment, ResourceLoader, String...)
.
context
- the application context whose environment should be updated;
never null
locations
- the resource locations of Properties
files to add
to the environment; potentially empty but never null
java.lang.IllegalStateException
- if an error occurs while processing a properties fileResourcePropertySource
,
TestPropertySource.locations()
,
addPropertiesFilesToEnvironment(ConfigurableEnvironment, ResourceLoader, String...)
public static void addPropertiesFilesToEnvironment(ConfigurableEnvironment environment, ResourceLoader resourceLoader, java.lang.String... locations)
Properties
files from the given resource locations
to the supplied environment
.
Property placeholders in resource locations (i.e., ${...}
)
will be resolved
against the Environment
.
Each properties file will be converted to a ResourcePropertySource
that will be added to the PropertySources
of the environment with
highest precedence.
environment
- the environment to update; never null
resourceLoader
- the ResourceLoader
to use to load each resource;
never null
locations
- the resource locations of Properties
files to add
to the environment; potentially empty but never null
java.lang.IllegalStateException
- if an error occurs while processing a properties fileResourcePropertySource
,
TestPropertySource.locations()
,
addPropertiesFilesToEnvironment(ConfigurableApplicationContext, String...)
public static void addInlinedPropertiesToEnvironment(ConfigurableApplicationContext context, java.lang.String... inlinedProperties)
Environment
of the
supplied context
.
This method simply delegates to
addInlinedPropertiesToEnvironment(ConfigurableEnvironment, String[])
.
context
- the application context whose environment should be updated;
never null
inlinedProperties
- the inlined properties to add to the environment;
potentially empty but never null
TestPropertySource.properties()
,
addInlinedPropertiesToEnvironment(ConfigurableEnvironment, String[])
public static void addInlinedPropertiesToEnvironment(ConfigurableEnvironment environment, java.lang.String... inlinedProperties)
environment
.
All key-value pairs will be added to the Environment
as a
single MapPropertySource
with the highest precedence.
For details on the parsing of inlined properties, consult the
Javadoc for convertInlinedPropertiesToMap(java.lang.String...)
.
environment
- the environment to update; never null
inlinedProperties
- the inlined properties to add to the environment;
potentially empty but never null
MapPropertySource
,
INLINED_PROPERTIES_PROPERTY_SOURCE_NAME
,
TestPropertySource.properties()
,
convertInlinedPropertiesToMap(java.lang.String...)
public static java.util.Map<java.lang.String,java.lang.Object> convertInlinedPropertiesToMap(java.lang.String... inlinedProperties)
Parsing of the key-value pairs is achieved by converting all pairs
into virtual properties files in memory and delegating to
Properties.load(java.io.Reader)
to parse each virtual file.
For a full discussion of inlined properties, consult the Javadoc
for TestPropertySource.properties()
.
inlinedProperties
- the inlined properties to convert; potentially empty
but never null
java.lang.IllegalStateException
- if a given key-value pair cannot be parsed, or if
a given inlined property contains multiple key-value pairsaddInlinedPropertiesToEnvironment(ConfigurableEnvironment, String[])


Dude, what the hell?
What is wrong with you? Why would you ever say THIS?
click here to see the answer (this will ruin the surprise)


VG GOLO
Register
See All Category
Category
Most Rating
Most Selling
Genre
Sport
Action
Shooter
RPG
Fighting
Simulation
Racing
Mafia III
Watch Trailer
Rate it
ABOUT THIS GAME
ยอดขาย (ล้านชุด)
Global
NA
EU
JP
Other
10
8
6
4
2
0


Limitations and Common Issues
Unity SDK
Headless Mode
If you enable Headless mode, you will not be able to collect visual observations from your agents.
Rendering Speed and Synchronization
Currently the speed of the game physics can only be increased to 100x real-time. The Academy also moves in time with FixedUpdate() rather than Update(), so game behavior tied to frame updates may be out of sync.
Python API
Python version
As of version 0.3, we no longer support Python 2.
Environment Permission Error
If you directly import your Unity environment without building it in the editor, you might need to give it additional permissions to execute it.
If you receive such a permission error on macOS, run:
chmod -R 755 *.app
or on Linux:
chmod -R 755 *.x86_64
On Windows, you can find instructions here.
Environment Connection Timeout
If you are able to launch the environment from UnityEnvironment
but
then receive a timeout error, there may be a number of possible causes.
- Cause: There may be no Brains in your environment which are set
to
External
. In this case, the environment will not attempt to communicate with python. Solution: Set the Brains(s) you wish to externally control through the Python API toExternal
from the Unity Editor, and rebuild the environment. - Cause: On OSX, the firewall may be preventing communication with the environment. Solution: Add the built environment binary to the list of exceptions on the firewall by following instructions here.
- Cause: An error happened in the Unity Environment preventing communication. Solution: Look into the log files generated by the Unity Environment to figure what error happened.
Communication port {} still in use
If you receive an exception "Couldn't launch new environment because
communication port {} is still in use. "
, you can change the worker
number in the Python script when calling
UnityEnvironment(file_name=filename, worker_id=X)
Mean reward : nan
If you receive a message Mean reward : nan
when attempting to train a
model using PPO, this is due to the episodes of the learning environment
not terminating. In order to address this, set Max Steps
for either
the Academy or Agents within the Scene Inspector to a value greater
than 0. Alternatively, it is possible to manually set done
conditions
for episodes from within scripts for custom episode-terminating events.


Description
Following the first phase research we wanted to examine the semantic spheres related to sexism. In order to do that we used Wikipedia as a reliable source. In the visualization, produced by the results of the research, each dot stands for a Wikipedia page related to the query “sexism” while the distance value represents the degrees of separation from its page. By clicking on the categories button the dots divide into the five clusters making visible that the main subjects concerning sexism is “feminism”, followed by “gender studies”, “discrimination”, “women’s history” and “LGBT studies”. The amplitude of the area of feminism strictly links this theme to sexism, making it worthy to be explored more, designing a path to follow in the next phases.
Protocol
In order to understand the topics related to sexism we exploited the tool Seealsology to visualize the related pages connected to the “sexism” Wikipedia page. After that we clustered the results using the categories defined by Wikipedia itself. During the clustering phase, it emerged that many of the pages had more than one category, so it was decided to consider the most frequent one within the entire dataset in order to return as wide as possible categories. The pages not coherent with the wider categories were excluded from the visualization.


unlink, unlinkat - delete a name and possibly the file it refers to
#include <unistd.h>
int unlink(const char *pathname);
#include <fcntl.h> /* Definition of AT_* constants */
#include <unistd.h>
int unlinkat(int dirfd, const char *pathname, int flags);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
unlinkat():
- Since glibc 2.10:
- _POSIX_C_SOURCE >= 200809L
- Before glibc 2.10:
- _ATFILE_SOURCE
unlink() deletes a name from the filesystem. If that name was the last
link to a file and no processes have the file open, the file is deleted and
the space it was using is made available for reuse.
If the name was the last link to a file but any processes still
have the file open, the file will remain in existence until the last file
descriptor referring to it is closed.
If the name referred to a symbolic link, the link is removed.
If the name referred to a socket, FIFO, or device, the name for it
is removed but processes which have the object open may continue to use
it.
The unlinkat() system call operates in exactly the same way as either
unlink() or rmdir(2) (depending on whether or not flags
includes the AT_REMOVEDIR flag) except for the differences described
here.
If the pathname given in pathname is relative, then it is
interpreted relative to the directory referred to by the file descriptor
dirfd (rather than relative to the current working directory of the
calling process, as is done by unlink() and rmdir(2) for a
relative pathname).
If the pathname given in pathname is relative and
dirfd is the special value AT_FDCWD, then pathname is
interpreted relative to the current working directory of the calling process
(like unlink() and rmdir(2)).
If the pathname given in pathname is absolute, then
dirfd is ignored.
flags is a bit mask that can either be specified as 0, or
by ORing together flag values that control the operation of
unlinkat(). Currently, only one such flag is defined:
- AT_REMOVEDIR
- By default, unlinkat() performs the equivalent of unlink()
on pathname. If the AT_REMOVEDIR flag is specified, then
performs the equivalent of rmdir(2) on pathname.
See openat(2) for an explanation of the need for
unlinkat().
On success, zero is returned. On error, -1 is returned, and errno is set
appropriately.
- EACCES
- Write access to the directory containing pathname is not allowed
for the process's effective UID, or one of the directories in
pathname did not allow search permission. (See also
path_resolution(7).)
- EBUSY
- The file pathname cannot be unlinked because it is being used by
the system or another process; for example, it is a mount point or the NFS
client software created it to represent an active but otherwise nameless
inode ("NFS silly renamed").
- EFAULT
- pathname points outside your accessible address space.
- EIO
- An I/O error occurred.
- EISDIR
- pathname refers to a directory. (This is the non-POSIX value
returned by Linux since 2.1.132.)
- ELOOP
- Too many symbolic links were encountered in translating
pathname.
- ENAMETOOLONG
- pathname was too long.
- ENOENT
- A component in pathname does not exist or is a dangling symbolic
link, or pathname is empty.
- ENOMEM
- Insufficient kernel memory was available.
- ENOTDIR
- A component used as a directory in pathname is not, in fact, a
directory.
- EPERM
- The system does not allow unlinking of directories, or unlinking of
directories requires privileges that the calling process doesn't have.
(This is the POSIX prescribed error return; as noted above, Linux returns
EISDIR for this case.)
- EPERM (Linux only)
- The filesystem does not allow unlinking of files.
- EPERM or EACCES
- The directory containing pathname has the sticky bit
(S_ISVTX) set and the process's effective UID is neither the UID of
the file to be deleted nor that of the directory containing it, and the
process is not privileged (Linux: does not have the CAP_FOWNER
capability).
- EPERM
- The file to be unlinked is marked immutable or append-only. (See
ioctl_iflags(2).)
- EROFS
- pathname refers to a file on a read-only filesystem.
The same errors that occur for unlink() and rmdir(2)
can also occur for unlinkat(). The following additional errors can
occur for unlinkat():
- EBADF
- dirfd is not a valid file descriptor.
- EINVAL
- An invalid flag value was specified in flags.
- EISDIR
- pathname refers to a directory, and AT_REMOVEDIR was not
specified in flags.
- ENOTDIR
- pathname is relative and dirfd is a file descriptor
referring to a file other than a directory.
unlinkat() was added to Linux in kernel 2.6.16; library support was added
to glibc in version 2.4.
unlink(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
unlinkat(): POSIX.1-2008.
On older kernels where unlinkat() is unavailable, the glibc wrapper
function falls back to the use of unlink() or rmdir(2). When
pathname is a relative pathname, glibc constructs a pathname based on
the symbolic link in /proc/self/fd that corresponds to the dirfd
argument.
Infelicities in the protocol underlying NFS can cause the unexpected
disappearance of files which are still being used.
rm(1), unlink(1), chmod(2), link(2),
mknod(2), open(2), rename(2), rmdir(2),
mkfifo(3), remove(3), path_resolution(7),
symlink(7)
This page is part of release 5.05 of the Linux man-pages project. A
description of the project, information about reporting bugs, and the latest
version of this page, can be found at https://www.kernel.org/doc/man-pages/.


ESI Test Page
Homepage
Index
Find a good title
View this site through
Varnish
,
CloudFlare
, or
Varnish+CloudFlare


Classic
Sliding
Registration
Personal Information
First Name
First Name is required
Last Name
Last Name is required
Sex
Personal
Female
Male
Profession
Programmer
Front End Developer
jQuery Fan
Not Sure
Next »
Account Information
Email Address
Email is required
Email is invalid
Password
Password is required
« Previous
Finish »
Your Profile
Personal Information
First Name :
Last Name :
Sex :
Profession :
Account Information
Email :
Password :


A simple wrapper for window.confirm
, window.alert
and window.prompt
.
The goal is to integrate those functions in the normal Angular workflow. This simplify testing and enables server-side rendering. The service could also be overridden with, e.g. a custom modal without refactoring the whole codebase.


|
Papercut
(Linkin' Park) |
|
Why
does it feel like night today?
Something in here's not right today. Why am I so uptight today?


Next:
Real FFT Routines
, Previous:
FFT-Intro
, Up:
FFTs
5.2 FFTs on Complex Sequences
1D FFT
: One-dimensional Complex FFT
Multi-1D FFT
: Multiple One-dimensional Complex FFTs
2D FFT
: Two-dimensional Complex FFTs
3D FFT
: Three-dimensional Complex FFTs


Edit Company Info
edit account_box Edit Company Info
Some common reasons that user data may be accessed by your company include:
"Contractual Necessity"
Your company may process Personal Data as a matter of “contractual necessity”, meaning that you need to process the data to perform under your Terms of Service with your user, which enables you to provide your users with the Services. When your company processes data due to contractual necessity, failure to provide such Personal Data will result in your users' inability to use some or all portions of the Services that require such data.
"Legitimate Interest"What Is This? help
Your company may process Personal Data such as your users' name, email address, and mailing address when you believe it furthers the legitimate interest of your company or third parties.
"Consent"
In some cases, your company may process Personal Data based on the consent your users expressly grant to you at the time you collect such data. When you process Personal Data based on your users' consent, it will be expressly indicated to them at the point and time of collection.
"Other Processing Grounds"
From time to time your company may also need to process Personal Data to comply with a legal obligation, if it is necessary to protect the vital interests of your users or other data subjects, or if it is necessary for a task carried out in the public interest.
Are there any other reasons that you may need to access user data?
YesNo
Please list the additional reasons you will access user data
Press ENTER to add a new item to the list
close
● Operation and improvement of your business, products and services.
● Marketing of your products and services.
● Provision of customer support.
● Protection from fraud or security threats.
● Compliance with legal obligations.
● Completion of corporate transactions.


Before Change
enqueue_thread.start()
fetches = [train_op, self.loss.out_tensor]
for feed_dict in create_feed_dict():
try:
fetched_values = self.session.run(fetches, feed_dict=feed_dict)
loss = fetched_values[-1]
avg_loss += loss
n_batches += 1
self.global_step += 1
n_samples += 1
if self.tensorboard and n_samples % self.tensorboard_log_frequency == 0:
summary = self.session.run(
self._get_tf("summary_op"), feed_dict=feed_dict)
self._log_tensorboard(summary)
except OutOfRangeError:
break
if self.global_step % checkpoint_interval == checkpoint_interval - 1:
saver.save(self.session, self.save_file, global_step=self.global_step)
avg_loss = float(avg_loss) / n_batches
print("Ending global_step %d: Average loss %g" % (self.global_step,
After Change
self.restore()
avg_loss, n_batches = 0.0, 0.0
n_samples = 0
n_enqueued = [0]
final_sample = [None]
if self.use_queue:
enqueue_thread = threading.Thread(
target=_enqueue_batch,
args=(self, feed_dict_generator, self._get_tf("Graph"),
self.session, n_enqueued, final_sample))
enqueue_thread.start()
fetches = [train_op, self.loss.out_tensor]
for feed_dict in create_feed_dict():
if self.use_queue:
// Don"t let this thread get ahead of the enqueue thread, since if
// we try to read more batches than the total number that get queued,
// this thread will hang indefinitely.
while n_enqueued[0] <= n_samples:
if n_samples == final_sample[0]:
break
time.sleep(0)
if n_samples == final_sample[0]:
break
fetched_values = self.session.run(fetches, feed_dict=feed_dict)
loss = fetched_values[-1]


Hello there, awesome person! sans undertale
who's getting the best head
youtube
others
i like
youtube
!


LAUNCH: Africa’s first digital journalism training platform launches. Learn More
Sign up to be kept informed about updates and other news.
Twitter . Facebook . Medium


Default button
Primary button
Accent button
Small button
Small button
Small button
Large button
Large button
Large button
Disabled button
Disabled button
Disabled button
Zen Column Breakpoints
A column
Zen accordion
Header 1
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard
dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen
book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially
unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more
recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Header 2
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard
dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen
book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially
unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more
recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Header 3
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard
dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen
book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially
unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more
recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Zen Modal
Open Modal
Basic Header
A body
Primary
Accent
Close
Zen Drawer
Open Drawer
Basic Header
Some drawer body
Primary
Accent
Close


--- title: "Understanding undersampling" author: "Einar" date: 2017-04-09 #categories: ["R"] tags: ["undersampling", "classification", "prediction", "logistic_regression", "simulation"] math: true ---
I really like Frank Harrell’s blog. He writes all kinds of useful things, and as I am working in the classification/predition area I was particularly interested in his two posts about classification vs. prediction and improper scoring rules. After posting links to these in the lab Slack I got some questions that forced me to do some thinking. Why not undersample the majority class?
So the argument for balancing unbalanced classes seems to stem from the use of
classification accuracy (= fraction predictions where the predicted class was correct) to
evaluate classifiers:
if \(.01\) of my observations are True
s, I’d get a \(.99\) accuracy by always
classifying as False
. Since “everything is False
” isn’t a very sexy model,
why not make it seem as though there are more True
s in the hope that their signal
stands out more clearly against the overwhelming mass of False
s?
This tip that you could always try to balance your classes seems to be a piece of modeling folklore that everyone picks up. The way I pictured it you could just go ahead and balance your data by either oversampling the minority class or undersampling the majority class and that would be enough. After looking at it for this post I’m no longer sure that I trust the balancing of datasets. At the very least it looks as though you have to do some pos hoc correction for this balancing act, and it’s probably not always well-defined how to do that.
I’ll simulate some data from the following logistic model:
\[ \log \frac{p}{1-p} = \beta_0 + \beta_1x,\]
\[ X\sim N(0, \sigma),\]
with \(\beta_0=9, \beta_1=6,\) and \(\sigma=.4\). This can easily be
transformed into a probability of belonging to True
:
\[p = \frac{1}{1+e^{-(9+6x)}}.\] To generate class labels from probabilities,
draw a uniform number \(u\sim U(0,1)\) and assign to True
if \(u < p\). This model gives me about \(600 \times\) more False
s than True
s.
I will generate 100 thousand observations
from this model and fit a logistic regression to i) all the data, ii)
a data set where I have subsampled the False
s to get a fake 50-50 split.
set.seed(07042017)
b_0 <- -9
b_1 <- 6
# simulate data
x <- rnorm(100000, sd=.4)
log_odds <- b_0 + b_1*x
p_y <- 1/(1 + exp(-log_odds))
y <- factor(runif(length(p_y)) <= p_y, levels = c("FALSE", "TRUE"))
# class sizes
table(y)
## y
## FALSE TRUE
## 99825 175
table(y)[2]/sum(table(y))
## TRUE
## 0.00175
# logistic regression model on full data
glm_fit <- glm(y~x, family=binomial)
# undersample F to get a 50-50 split:
class1 <- which(y=="TRUE")
class2 <- sample(which(y=="FALSE"), size = length(class1))
pseudosample <- c(class1, class2)
newx <- x[pseudosample]
newy <- y[pseudosample]
# logistic regression on undersampled data
new_glm_fit <- glm(newy~newx, family=binomial)
# compare
lim <- 2
curve(1/(1+exp(-(b_0 + b_1*x))), from = -lim, to = lim, lwd=8, col="grey", ylab = "p(True)", ylim=c(0,1))
curve(1/(1+exp(-(coef(glm_fit)[1] + coef(glm_fit)[2]*x))), lwd=1.5, from = -lim, to = lim, add=T, col="black")
curve(1/(1+exp(-(coef(new_glm_fit)[1] + coef(new_glm_fit)[2]*x))), lwd=1.5, from = -lim, to = lim, add=T, col="red")
rug(x)
In the above figure, the thick, grey line is the true model. The black line is
the model estimated from all the data. It’s pretty good. And it’s certainly
not bad enough to make me balk at unbalanced data. The red line is from
undersampling the False
s to get an artificial 50-50 split. We see that we
overestimate the probability of True
a lot. It doesn’t look like a super
useful model. Clearly the proportion of True
s in the population matters
and we just threw it away.
If we wanted to do classification we’d choose some probability threshold
above which we’d assign everything to True
. The standard, theoretically best
threshold is \(p=.5\). If we use this threshold under the correct model we will
nearly always classify as False
. That’s not bad, that’s the correct
decision. If we use this threshold under the clearly wrong undersampled model we’d
get more predictions of True
. Most of them would be wrong.
Let’s do the above exercise again. This time I will do a nonparametric regression instead of logistic regression. Specifically I want to do Nadaraya–Watson kernel estimation (NWKE). This is helpful in this discussion because we won’t have to bend our minds around the whole logit space vs. probability space thing of logistic regression. The NWKE directly estimates \(r(x) = E[Y|X=x]\) by a weighted average of Y around x as follows: for observation pairs \((x_i, y_i), i\in\{1,2,\ldots, n\}\), let
\[ \hat r(x) = \sum_{i=1}^n w_i(x)y_i, \]
where the weight of observation \(i\), \(w_i\), is a function of \(x\). This is very easy to reason about, it’s an average of all our observations that’s weighted so that observations closer to \(x\) count more. Specifically, the weight is defined as
\[ w_i(x) = \frac{K(\frac{x-x_i}{h})}{\sum_{j=1}^n K(\frac{x-x_j}{h})}. \]
The function \(K\) is a kernel. For our discussion it’s a normal distribution centered on \(x\). The bandwidth \(h\) controls the amount of influence points far away from x should have. For our discussion it’s the standard deviation of our normal distribution. The weights clearly sum to 1 and they’re never negative.
plot(x, jitter(as.numeric(y)),ylim=c(0.5,4.5), xlim=c(-2, 2), col="grey", ylab="", yaxt="n")
points(newx, jitter(as.numeric(newy)+2), col="grey")
lines(ksmooth(x, as.numeric(y), "normal", bandwidth = .25), lwd=1.5)
lines(ksmooth(newx, as.numeric(newy)+2, "normal", bandwidth = .5), lwd=1.5) # less data, more smoothing
Above I have put the full data and the undersampled data in the
same figure along with their NWKE regressions. The \(y\) values are jittered,
they are really just zeros and ones. The top pair of clouds is the undersampled data and
the bottom pair is the full data. These regressions look a lot like our logistic
regressions from before. As before, the regression from the undersampled data greatly
overestimates the probability of True
. Considering the form of the NWKE it
shouldn’t be too surprising: the estimate at \(x\) is \(\sum w_i(x)y_i\), and if you remove a
bunch of the \(y_i=0\), naturally the estimate at \(x\) will be larger.
This is basically what’s happening with the logistic
regression as well: there will be too few \((\hat r(x) - 0)^2\) terms in the sum of
squares that’s optimized. This works both ways, you’re no better off
oversampling True
s, you will be introducing a bunch of \(1\)s to inflate the estimate.
In fact, in logistic regression you get the right odds ratio anyway:
you estimate the slope, \(\beta_1\), correctly in spite of having the wrong proportion of
True
s. You can see this in the figure, the estimated curve looks good but for
the fact that it’s shifted way to the left. It’s posible to correct the intercept
\(\beta_0\) post hoc. This correction is \(\hat \beta_0^* = \hat \beta_0 - \log(\frac{1-\tau}{\tau}\frac{\bar y}{1-\bar y})\), where \(\tau\) is the proportion of True
s in the population,
and \(\bar y\) is the proportion of True
s in your sample. I have this
from King and Zeng Logistic regression in rare events data. Below I apply this
correction to our bad model from earlier:
tau <- table(y)[2]/sum(table(y))
b_0_corrected <- coef(new_glm_fit)[1] - log((1-tau)/tau)
lim <- 2
curve(1/(1+exp(-(b_0 + b_1*x))), from = -lim, to = lim, lwd=8, col="grey", ylab = "p(True)", ylim=c(0,1))
curve(1/(1+exp(-(coef(glm_fit)[1] + coef(glm_fit)[2]*x))),lwd=1.5, from = -lim, to = lim, add=T, col="black")
curve(1/(1+exp(-(b_0_corrected + coef(new_glm_fit)[2]*x))), lwd=1.5, from = -lim, to = lim, add=T, col="red")
rug(x)
In spite of this clever correction the undersampled estimate is off. It still
overestimates p(True
). In fact, the correction is consistent and its derivation is
surprisingly simple. The estimate is worse because we threw away most of our
data to make it.
Sure, this is a kind of ridiculous example. I’m sure no one would throw away 99 thousand perfectly fine samples because they worry about imbalanced data, but class balancing is a thing that people do and it’s interesting to see what the implications are. As with the logistic regression I’m sure there is some sort of post hoc correction procedure for class balancing in many methods.
Maybe this stuff works if you’re doing something like the SVM where you
basically look at the shapes of the True
s and the False
s in euclidean space.
I don’t know. Looking at the NWKE figure above I wouldn’t be too optimistic; we
end up mussing a lot of False
s in the critical region around
\(x=.5\). Presumably the separating hyperplane would hence be (wrongy) pushed
toward the False
s. The SVM is a pure classification algorithm and as such
intrinsically linked to the classification accuracy scoring rule. If you want a
probability output you end up jury-rigging one by putting the distance to the
separating plane into some sort of function at which point why not just
estimate the probabilities directly to begin with and save yourself the grief?
Sure. In the case of logistic regression where the correction for undersampling is straight-forward and theoretically sound, it could be useful. But the reasons I can come up with aren’t because it’s inherently better with artificial Balanced Data.
I can come up with two interesting cases. First, if you can’t fit your data in main memory or something, and you’re comfortable with getting a less exact model, go right ahead.
Second, and perhaps more interesting, is an example from the world of epidemiology and other places where case–control studies happen. Diseases are as common as they are, they usually happen to a small fraction of all people and you can’t very well go out and create more cases. But! You can get as many healthy controls as you can afford. Hence you can use extra controls to bolster your estimates for the non-intercept coefficients and, if you know the prevalence of disease in the population, you can simply adjust the intercept. That’s pretty handy.
I don’t think I’d generally recommend people throw away their precious data, however. Though maybe you know something I don’t.


--- layout: post title: Peach of a party date: 2009-06-17 21:22:53.000000000 +05:30 categories: - Deadline - Print - The Sun News (Houston County) tags: - peach festival status: publish type: post published: true meta: _edit_last: '1' tmac_last_id: '229660862342897666' image: '' quote-author: Unknown quote-url: http:// quote-copy: Unknown audio: http:// link-url: http:// seo_follow: 'false' seo_noindex: 'false' pvc_views: '583' _jetpack_related_posts_cache: a:1:{s:32:"8f6677c9d6b0f903e98ad32ec61f8deb";a:2:{s:7:"expires";i:1434758597;s:7:"payload";a:3:{i:0;a:1:{s:2:"id";i:87;}i:1;a:1:{s:2:"id";i:308;}i:2;a:1:{s:2:"id";i:242;}}}} author: login: cvlewis email<EMAIL_ADDRESS>display_name: Carl V. Lewis first_name: Carl V. last_name: Lewis excerpt: !ruby/object:Hpricot::Doc options: {} ---
[box]
Opening event a big draw at Georgia Peach Festival
The Sun News
By Carl Lewis
<EMAIL_ADDRESS>Wednesday, Jun. 17, 2009
[/box]
Ask Andrew Mathis to name his favorite food and he’ll tell you in an instant.
“It’s peaches, no question,” he said.
Mathis, a 70-year-old from Fort Valley, worked at a peach farm earlier in life and hasn’t missed a single Georgia Peach Festival since the event was launched in 1986.
Saturday, he made it out once again to the festival’s annual kickoff celebration at the Peach Shops of Byron.
“I wouldn’t miss it for anything,” he said.
The celebration began at 5 p.m. and featured live music, arts and crafts vendors, a fireworks show and a foam party for the kids.
Festival director Rich Bennett said it was the biggest crowd he’s ever seen for the celebration.
Brandi Trivette, a vendor at the event who sells peach-scented candles she makes at her home in Warner Robins, said the crowd was good for business.
“The peach candle has been a real hit tonight. People here in Peach County sure do love their peaches,” Trivette said.
But for some people, such as Janet Wynne and her husband, David, this year’s Peach Festival isn’t just about the titular fruit.
“Peaches are great, but we’re more into motorcycles, which is why we’re here,” she said.
Wynne said she had never been to the Peach Festival before until she rode in the festival’s first Poker Run Saturday morning.
On the other hand, Wynne’s 3-year-old daughter, Erika, said she loved the foam party.
“It looks like snow,” she said.
J.B. Roberson, an author from Warner Robins, was at the celebration signing copies of her latest children’s book, “Cuddlee Bugs: Revenge o’ the Peach Potion.”
“It’s a book that’s actually a lot about the Peach Festival,” she said.
The bands 2 Finger Jester and The Skeeterz performed free shows during the celebration.
“I was a little worried Two Finger Jester might be too loud for the festival, but everybody seemed to love them,” Bennett said. Mathis, however, said he was holding out for The Skeeterz, a more traditional country band.
“I may be old, but I love to dance when they play my sort of music,” he said.
The festival concluded with a fireworks display shot off from behind the shopping center.
“The fireworks are always the best part,” Bennett said.
As the kickoff to the festival drew to a close, Bennett said he held high hopes for the rest of it.
“This is looking like it might be one of the best Peach festivals yet. We’ve already gotten more involvement than last year,” he said.
To contact writer Carl Lewis, call 744-4347.


States: ID, MT, WY
Description: Visit Yellowstone and experience the world's first national park. Marvel at a volcano’s hidden power rising up in colorful hot springs, mudpots, and geysers. Explore mountains, forests, and lakes to watch wildlife and witness the drama of the natural world unfold. Discover the history that led to the conservation of our national treasures “for the benefit and enjoyment of the people.
Weather Info: Yellowstone's weather can vary quite a bit, even in a single day. In the summer, daytime highs can exceed 70F (25C), only to drop 20 or more degrees when a thunderstorm rolls through. It can snow during any month of the year, and winter lows frequently drop below zero, especially at night. Bring a range of clothing options, including a warm jacket and rain gear, even in the summer.
Campgrounds: Mammoth Campground
Visitor Centers: West Thumb Information Station
Park Code: yell
Designation: National Park


Vampire App
Select Model Logic:
Random Guess
Threshold Based Method
Input Student Information
First Name
Last Name
Male
Female
Garlic
Shadow
Pale Complexion
Student Information Table
Name
Gender
Garlic
Shadow
Complexion pale
Vampire
Submit


{% trans "MPASS takes care of secure authentication using the accounts of other supported services. This is a safe way for you, as you do not need to tell MPASS any of the passwords to your existing services, but you can still use them for login." %}
{% trans "#mepin-auth-info-1" %}
{% trans "#mepin-auth-info-2" %}
{% trans 'Associating services' %}
{% trans "MPASS takes care of secure authentication using the accounts of other supported services. This is a safe way for you, as you do not need to tell MPASS any of the passwords to your existing services, but you can still use them for login." %}
{% trans "Press Continue and select a service of your choice. If you are not already logged in to the service, it requests you to log in. Then the service may confirm from you what you allow MPASS to do with your information. After this, you have associated the service, and can use it from now on for login!" %}


IOT Project
Disconnected
Monitoring
Settings
Publish
1st Floor : Shutter Up
1st Floor : Shutter Down
3rd Floor : Office
"
Speech Recognition
Connect
Disconnect
Publish


These configurations are provided solely for evaluation of the Procedure Center application. The Procedure Center authors do not offer any medical practice advice, there is no issuance of medical control, and these are not suitable for use in patient care.
Use this to auto-populate the URL field in the settings window


{% extends "main.html" %} {% block maincontent %}
Skeleton implementation for user account management with webapp2.
You will have to take care of the following items:
Try it out by registering here.
Find more information in the tutorial here.
{% endblock %}


Class Post
Post
public
integer
|
|
public
|
|
public
|
|
public
string
|
|
public
|
|
public
string
|
|
public
|
|
public
string
|
|
public
|
|
public
string
|
|
public
|
|
public
string
|
|
public
|
|
public
string
|
|
public
|
|
public
string
|
|
public
|
|
public
DateTime
|
|
public
|
|
public
integer
|
|
public
|
|
public
integer
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
DateTime
|


Class Dispatch
Class Dispatch
- LeadCommerce\Shopware\SDK\Entity\Base
- LeadCommerce\Shopware\SDK\Entity\Dispatch
Namespace: LeadCommerce\Shopware\SDK\Entity
Located at LeadCommerce/Shopware/SDK/Entity/Dispatch.php
Located at LeadCommerce/Shopware/SDK/Entity/Dispatch.php
public
integer
|
|
public
|
|
public
string
|
|
public
|
|
public
integer
|
|
public
|
|
public
string
|
|
public
|
|
public
string
|
|
public
|
|
public
boolean
|
|
public
|
|
public
integer
|
|
public
|
|
public
integer
|
|
public
|
|
public
integer
|
|
public
|
|
public
integer
|
|
public
|
|
public
float
|
|
public
|
|
public
integer
|
|
public
|
|
public
integer
|
|
public
|
|
public
integer
|
|
public
|
|
public
integer
|
|
public
|
getArrayCopy(),
setEntityAttributes()
|
protected
integer
|
$id
|
|
protected
string
|
$name
|
|
protected
integer
|
$type
|
|
protected
string
|
$description
|
|
protected
string
|
$comment
|
|
protected
boolean
|
$active
|
|
protected
integer
|
$position
|
|
protected
integer
|
$calculation
|
|
protected
integer
|
$surchargeCalculation
|
|
protected
integer
|
$taxCalculation
|
|
protected
float
|
$shippingFree
|
|
protected
integer
|
$multiShopId
|
|
protected
integer
|
$customerGroupId
|
|
protected
integer
|
$bindShippingFree
|
|
protected
integer
|
$bindTimeFrom
|
|
protected
integer
|
$bindTimeTo
|
|
protected
integer
|
$bindInStock
|
|
protected
integer
|
$bindWeekdayFrom
|
|
protected
integer
|
$bindPriceTo
|
|
protected
string
|
$bindSql
|
|
protected
string
|
$statusLink
|
|
protected
string
|
$calculationSql
|


SKILLS
CREATIONS
JORDAN
CONTACT
I don't like to talk about myself
Contact me please
Content goes here!
I got Skillz


This page requires JavaScript to work.
Please enable JavaScript and try again.
Sault Ste. Marie
Election Results
Previous Race
◀
Next
▶
Toggle Race Options
City Council
Mayor's Race by Ward
School Board Trustees
Polls Reporting
Voters Heard From
0
of
0
voters
City Council
Mayor's Race
School Board Trustees
Previous Race
Next Race


File Gui/ScrollView.lua
Functions
| ScrollView:computeScrollPos (up, num) | Compute new scroll position, given specified adjustment. |
| ScrollView:confineScrollPos (pos) | Compute new scroll position, if necessary, to assure position is in range. |
| ScrollView:dataIndices () | Iterator: delivers visible row indexes 1 - N, where N is between nil and number of rows on a page. |
| ScrollView:fillIndices () | Returns iterator that returns prop index only, to fill balance of a page with nil for when data is short of a page. |
| ScrollView:getBinding (t) | Get a pref binding as specified in parameter table. |
| ScrollView:getPrefIndex (propIndex) | Get pref index for specified prop index. |
| ScrollView:getScrollPos () | Get actual scroll position. |
| ScrollView:new (t) | Constructor for new instance. |
| ScrollView:newClass (t) | Constructor for extending class. |
| ScrollView:scroll (up, num) | Scroll or page the view. |
| ScrollView:setDataSize (nRows) | Set total number of rows to be scrolled or paged. |
| ScrollView:setPageSize (nRows) | Set number of rows in a page. |
| ScrollView:setScrollPos (pos) | Set scroll position to specified value. |
Functions
- ScrollView:computeScrollPos (up, num)
-
Compute new scroll position, given specified adjustment.
Parameters:
-
up
: (boolean, default nil) true => scroll upward, false => scroll one downward, nil => just update scroll position by confining. -
num
: (number, default one page) 1 => scroll one row. nil means scroll one page. Huge => all the way. Ignored if up is nil.
Usage:
call in response to scroll buttons.
-
- ScrollView:confineScrollPos (pos)
-
Compute new scroll position, if necessary, to assure position is in range.
Parameters:
-
pos
:
-
- ScrollView:dataIndices ()
-
Iterator: delivers visible row indexes 1 - N, where N is between nil and number of rows on a page. Its short when there isn't enough data to fill the page (based on item count). visible index is paired with data item index.
Usage:
call data-indexes followed by fill-indexes.
- ScrollView:fillIndices ()
- Returns iterator that returns prop index only, to fill balance of a page with nil for when data is short of a page.
- ScrollView:getBinding (t)
-
Get a pref binding as specified in parameter table.
Parameters:
-
t
: parameter table- keys (table of strings, required) array of all keys for this data item.
- index (number, required) row index this binding applies to.
-
- ScrollView:getPrefIndex (propIndex)
-
Get pref index for specified prop index.
Parameters:
-
propIndex
:
Usage:
This allows calling context to lookup the proper preference to set based on preference index when a scrollable property changes.
-
- ScrollView:getScrollPos ()
- Get actual scroll position.
- ScrollView:new (t)
-
Constructor for new instance.
Parameters:
-
t
: Parameter table:- global (boolean, required) governs whether global or local pref bindings are used.
- pageSize (number, default: nil) set in constructor, or further on down the road, but do set.
- dataSize (number, default: nil) set in constructor, or further on down the road, but do set.
Usage:
wraps a row view for scrolling or paging.
-
- ScrollView:newClass (t)
-
Constructor for extending class.
Parameters:
-
t
:
-
- ScrollView:scroll (up, num)
-
Scroll or page the view.
Parameters:
-
up
: (boolean, required) true => scroll one upward (pass true in response to up(1) button). -
num
: (number, default one page) 1 => scroll one row. nil means scroll one page. Huge => all the way.
Usage:
call in response to scroll buttons.
-
- ScrollView:setDataSize (nRows)
-
Set total number of rows to be scrolled or paged.
Parameters:
-
nRows
: (number, required) Number of items total.
Usage:
If set in constructor, this method is not necessary, otherwise it is.
Designed with rows in mind, but could just as easily be columns, or even sprinkled about.
-
- ScrollView:setPageSize (nRows)
-
Set number of rows in a page.
Parameters:
-
nRows
: (number, required) Number of items in a page.
Usage:
If set in constructor, this method is not necessary, otherwise it is.
Designed with rows in mind, but could just as easily be columns, or even sprinkled about.
-
- ScrollView:setScrollPos (pos)
-
Set scroll position to specified value.
Parameters:
-
pos
: (number, required) row number for page top - will be confined if necessary to valid range.
Return value:
- actualPos (number) actual scroll position, after possible adjustment.
-


|
Jetson Inference
DNN Vision Library
|
The videoOptions struct contains common settings that are used to configure and query videoSource and videoOutput streams. More...
#include <videoOptions.h>
Public Types | |
| enum | DeviceType { DEVICE_DEFAULT = 0, DEVICE_V4L2, DEVICE_CSI, DEVICE_IP, DEVICE_FILE, DEVICE_DISPLAY } |
| Device interface types. More... | |
| enum | IoType { INPUT = 0, OUTPUT } |
| Input/Output stream type. More... | |
| enum | FlipMethod { FLIP_NONE = 0, FLIP_COUNTERCLOCKWISE, FLIP_ROTATE_180, FLIP_CLOCKWISE, FLIP_HORIZONTAL, FLIP_UPPER_RIGHT_DIAGONAL, FLIP_VERTICAL, FLIP_UPPER_LEFT_DIAGONAL, FLIP_DEFAULT = FLIP_NONE } |
| Settings of the flip method used by MIPI CSI cameras and compressed video inputs. More... | |
| enum | Codec { CODEC_UNKNOWN = 0, CODEC_RAW, CODEC_H264, CODEC_H265, CODEC_VP8, CODEC_VP9, CODEC_MPEG2, CODEC_MPEG4, CODEC_MJPEG } |
| Video codec types. More... | |
Public Member Functions | |
| videoOptions () | |
| Constructor using default options. More... | |
| void | Print (const char *prefix=NULL) const |
| Log the video settings, with an optional prefix label. More... | |
| bool | Parse (const char *URI, const int argc, char **argv, IoType ioType) |
| bool | Parse (const char *URI, const commandLine &cmdLine, IoType ioType) |
| bool | Parse (const int argc, char **argv, IoType ioType, int ioPositionArg=-1) |
| bool | Parse (const commandLine &cmdLine, IoType ioType, int ioPositionArg=-1) |
Static Public Member Functions | |
| static const char * | IoTypeToStr (IoType type) |
| Convert an IoType enum to a string. More... | |
| static IoType | IoTypeFromStr (const char *str) |
| Parse an IoType enum from a string. More... | |
| static const char * | DeviceTypeToStr (DeviceType type) |
| Convert a DeviceType enum to a string. More... | |
| static DeviceType | DeviceTypeFromStr (const char *str) |
| Parse a DeviceType enum from a string. More... | |
| static const char * | FlipMethodToStr (FlipMethod flip) |
| Convert a FlipMethod enum to a string. More... | |
| static FlipMethod | FlipMethodFromStr (const char *str) |
| Parse a FlipMethod enum from a string. More... | |
| static const char * | CodecToStr (Codec codec) |
| Convert a Codec enum to a string. More... | |
| static Codec | CodecFromStr (const char *str) |
| Parse a Codec enum from a string. More... | |
Public Attributes | |
| URI | resource |
| The resource URI of the device, IP stream, or file/directory. More... | |
| uint32_t | width |
| The width of the stream (in pixels). More... | |
| uint32_t | height |
| The height of the stream (in pixels). More... | |
| float | frameRate |
| The framerate of the stream (the default is 30Hz). More... | |
| uint32_t | bitRate |
| The encoding bitrate for compressed streams (only applies to video codecs like H264/H265). More... | |
| uint32_t | numBuffers |
| The number of ring buffers used for threading. More... | |
| bool | zeroCopy |
| If true, indicates the buffers are allocated in zeroCopy memory that is mapped to both the CPU and GPU. More... | |
| int | loop |
| Control the number of loops for videoSource disk-based inputs (for example, the number of times that a video should loop). More... | |
| int | rtspLatency |
| Number of milliseconds of video to buffer for incoming RTSP streams (the default is 2000 ms). More... | |
| DeviceType | deviceType |
| Indicates the type of device interface used by this stream. More... | |
| IoType | ioType |
| Indicates if this stream is an input or an output. More... | |
| FlipMethod | flipMethod |
| The flip method controls if and how an input frame is flipped/rotated in pre-processing from a MIPI CSI camera or compressed video input. More... | |
| Codec | codec |
| Indicates the codec used by the stream. More... | |
The videoOptions struct contains common settings that are used to configure and query videoSource and videoOutput streams.
| enum videoOptions::Codec |
Device interface types.
Settings of the flip method used by MIPI CSI cameras and compressed video inputs.
| enum videoOptions::IoType |
| videoOptions::videoOptions | ( | ) |
Constructor using default options.
|
static |
Parse a Codec enum from a string.
|
static |
Convert a Codec enum to a string.
|
static |
Parse a DeviceType enum from a string.
|
static |
Convert a DeviceType enum to a string.
|
static |
Parse a FlipMethod enum from a string.
|
static |
Convert a FlipMethod enum to a string.
|
static |
Parse an IoType enum from a string.
|
static |
Convert an IoType enum to a string.
| bool videoOptions::Parse | ( | const char * | URI, |
| const int | argc, | ||
| char ** | argv, | ||
| IoType | ioType | ||
| ) |
| bool videoOptions::Parse | ( | const char * | URI, |
| const commandLine & | cmdLine, | ||
| IoType | ioType | ||
| ) |
| bool videoOptions::Parse | ( | const int | argc, |
| char ** | argv, | ||
| IoType | ioType, | ||
| int | ioPositionArg = -1 |
||
| ) |
| bool videoOptions::Parse | ( | const commandLine & | cmdLine, |
| IoType | ioType, | ||
| int | ioPositionArg = -1 |
||
| ) |
| void videoOptions::Print | ( | const char * | prefix = NULL | ) | const |
Log the video settings, with an optional prefix label.
| uint32_t videoOptions::bitRate |
The encoding bitrate for compressed streams (only applies to video codecs like H264/H265).
For videoOutput streams, this option can be set from the command line using --bitrate=N
.
| Codec videoOptions::codec |
Indicates the codec used by the stream.
This is only really applicable to compressed streams, otherwise it will be CODEC_RAW
.
videoSource input streams will attempt to discover the codec type (i.e. from video file), however RTP streams need this to be explitly set using the --input-codec=xyz
option (where xyz
is a string like h264
, h265
, vp8
, vp9
, mpeg2
, mpeg4
, or mjpeg
).
A compressed videoOutput stream will default to H.264 encoding, but can be set using the --output-codec=xyz
command line option (same values for xyz
as above).
| DeviceType videoOptions::deviceType |
Indicates the type of device interface used by this stream.
| FlipMethod videoOptions::flipMethod |
The flip method controls if and how an input frame is flipped/rotated in pre-processing from a MIPI CSI camera or compressed video input.
Other types of streams will ignore this.
This option can be set from the command line using --flip-method=xyz
, where xyz
is one of the strings below:
none
(Identity, no rotation)counterclockwise
(Rotate counter-clockwise 90 degrees)rotate-180
(Rotate 180 degrees)clockwise
(Rotate clockwise 90 degrees)horizontal-flip
(Flip horizontally)vertical-flip
(Flip vertically)upper-right-diagonal
(Flip across upper right/lower left diagonal)upper-left-diagonal
(Flip across upper left/lower right diagonal) | float videoOptions::frameRate |
The framerate of the stream (the default is 30Hz).
This option can be set from the command line using --input-rate=N
or --output-rate=N
for input and output streams, respectively. The --framerate=N
option sets it for both.
| uint32_t videoOptions::height |
The height of the stream (in pixels).
This option can be set from the command line using --input-height=N
for videoSource streams, or --output-height=N
for videoOutput streams.
| IoType videoOptions::ioType |
Indicates if this stream is an input or an output.
| int videoOptions::loop |
Control the number of loops for videoSource disk-based inputs (for example, the number of times that a video should loop).
Other types of streams will ignore it.
The following values are are valid:
-1 = loop forever 0 = don't loop >0 = set number of loops
This option can be set from the command line using --loop=N
.
0
). | uint32_t videoOptions::numBuffers |
The number of ring buffers used for threading.
This option can be set from the command line using --num-buffers=N
.
| URI videoOptions::resource |
| int videoOptions::rtspLatency |
Number of milliseconds of video to buffer for incoming RTSP streams (the default is 2000 ms).
This option can be set from the command line using --input-rtsp-latency=N
| uint32_t videoOptions::width |
The width of the stream (in pixels).
This option can be set from the command line using --input-width=N
for videoSource streams, or --output-width=N
for videoOutput streams.
| bool videoOptions::zeroCopy |
If true, indicates the buffers are allocated in zeroCopy memory that is mapped to both the CPU and GPU.
Otherwise, the buffers are only accessible from the GPU.


網站已經遭到查禁
(This Domain Has Been Seized)
已經違**華民國著作權法第九十一條及九十二條規範，全部或部分內容涉屬盜版，正進入司法偵查中。
The website is in violation of the Copyright Act of the Republic of China (Taiwan) for its unauthorized use of materials. Investigation is currently underway.
內政部警政署刑事警察局電偵大隊 敬啟
Criminal Investigation Bureau（Taiwan）


The purpose of this website will be to create a professional portfolio that I can provide prospective employers with to get a feel for my work.
The audience for this website will be for prospective employers/clients and potentially other developers.
My goal for this website is to produce a clean, well designed portfolio/landing page to act as a gallery to showcase my work, and exhibit a strong design sense. The primary end result from this project is to lead me towards full time work. A secondary goal is to produce something both I and my instructors are proud of and for it to be used as an example in future cohorts.


@Path
The @Path
annotation allows you to specify custom access URIs to your controller methods.
The basic usage of the annotation is to specify a fixed URI. The following example shows
how to customize the access URI for a method that accepts POST requests only. The URI
we want to specify is /client:
@Resource
public class ClientController {
@Path("/client")
@Post
public void add(Client client) {
}
}
Path with variable injection
Sometimes we want the uri to include, for example, the unique identifier of
my resource.
Suppose a client controller application where the client's unique identifier (primary key)
is a number. We can map our URIs as /client/{client.id}, so we can visualize each client.
That is, if we access the URI /client/2, the show method will be invoked
and the client.id parameter will be set to 2. If the URI /client/1717 is
accessed, the same method will be invoked with the 1717 value.
That way we can create unique URIs to identify different resources in our application.
See the mentioned example:
@Resource
public class ClientController {
@Get
@Path("/client/{client.id}")
public Cliente show(Client client) {
return ...
}
}
You can go further and set several parameters through the URI:
@Resource
public class ClientController {
@Get
@Path("/client/{client.id}/show/{section}")
public Client show(Client client, String section) {
return ...
}
}
Paths with wildcards
You can also use the * wildcard as a selection method for your URI. The following
example ignores anything that comes after the word photo/ :
@Resource
public class ClientController {
@Get
@Path("/client/{client.id}/photo/*")
public File photo(Client client) {
return ...
}
}
And now a similar code, but used to download a specific photo from a client:
@Resource
public class ClientController {
@Get
@Path("/client/{client.id}/photo/{photo.id}")
public File photo(Client client, Photo photo) {
return ...
}
}
Sometimes you want the parameter to include the / character. In that case,
you should use the pattern {...*}:
@Resource
public class ClientController {
@Get
@Path("/client/{client.id}/download/{path*}")
public File download(Client client, String path) {
return ...
}
}
Specifying priorities for your paths
It is possible for some URIs to be handled by more than one method in our class:
@Resource
public class PostController {
@Get
@Path("/post/{post.author}")
public void show(Post post) { ... }
@Get
@Path("/post/current")
public void current() { ... }
}
The URI /post/current
can be handled by both show
and current
methods.
But I don't want to invoke the show
method with that URI,
what I want is VRaptor to test the current
path first, avoiding the invocation of the show
method.
In order to do that, we can define priorities for @Path
s, so VRaptor will first
test paths with higher priority, in other words, paths with lower priority values.
@Resource
public class PostController {
@Get
@Path(priority = 2, value = "/post/{post.author}")
public void show(Post post) { ... }
@Get
@Path(priority = 1, value = "/post/current")
public void current() { ... }
}
This way, the "/post/current" path will be tested before "/post/{post.author}" by VRaptor,
solving our problem.


It’s not every day that one of the most important front-end libraries in web development gets a complete overhaul. Keep your skills relevant and up-to-date with this comprehensive introduction to Google’s popular community project.
Get startedLearn one way to build applications with Angu*lar and reuse your code and ab*ilities to build apps for any deployment target. For web, mobile web, native mobile and native desktop.
') }}Throughout these Angular courses for beginner*s you will learn core concepts*, common patterns using Angular and, finally, some of the best practices to build fully-functioning web applications using the Angular framework.
{{ courses.component(pager=false, control=true) }}Once you have the basics using the Angular framework, you will continue to build on your existing knowledge and, with these intermediate courses you will have a deeper understanding into features like services, routing and testing.
{{ courses.component( id="2", pager=false, control=true, items=[{ title: 'Angular Unit Testing', image: 'angular_testing', avatar: 'angular', position: 'left' }, { title: 'Angular Routing In-Depth', image: 'angular_routing', avatar: 'angular', position: 'left' }, { title: 'Angular Services', image: 'angular_services', avatar: 'angular', position: 'left' }, { title: 'Angular Patterns', image: 'angular_patterns', avatar: 'angular' }]) }}


With us, you will be tasked to take part in a fascinating survey about which items from the list of Images you would buy, in an hour long bus trip. So take a look!


{% extends "bs_base.html" %} {% block content %}
A historically far-fetched survey/game demo
See More Play Now
Browse and share your favorite recipes with this demo
Visit Post Recipes


I found the Pomodoro technique simple and straightforward to maintain focus on the task at hand.
Mindfulness, meditation and yoga have been a huge part of my life for eight years.
I find that my optimal flow comes when I have a regular yoga and meditation practice.
You're less caught up in the stories the mind tells us, particularly those that try and tell us we're not good enough or worthy.
I found Carol Dweck's concepts of the fixed vs. growth mindsets to be very insightful.
A fixed mindset is a bi-product of the conventional, old school pedagogy of our current education system.
Understanding that our talents and abilities can develop through effort rather than being inate/fixed is vital.
If you believe you can improve and put in the effort, then you will see results!
It probably sounds cheesy, but I tried out some new positivity mantras to counteract any negative thoughts.
I found these to be super effective when I caught my imposter syndrome symptoms creeping up.
I will be experimenting more with tiny habits. I used to be a terrible procrastinator, and although this has somewhat improved I think there are lots of efficiencies to be discovered in my work/study life through creating tiny habits.
Changing behaviour is no small feat, but the Fogg method is all about simplicity!


3 instantiations of LocalVariable
System.Management.Automation (3)
engine\runtime\MutableTuple.cs (3)
86
result = new
LocalVariable
(name, this, index);
114
return new
LocalVariable
(name, this, index);
135
result.Add(SpecialVariables.PSItem, new
LocalVariable
(SpecialVariables.PSItem, this, i));
3 references to LocalVariable
System.Management.Automation (3)
engine\SessionStateScope.cs (3)
445
if (variable is
LocalVariable
566
if (variable is
LocalVariable
)
638
if (variable is
LocalVariable
)


${s.locationName}, ${s.state}
${s.street1}
%if s.street2 != None: ${s.street2}
%endif ${s.city}, ${s.state} ${s.zipCode}
Phone | ${s.phone} Hours | Monday - Saturday 8a - 8p Manager | ${s.manager.user.first_name} ${s.manager.user.last_name}
%if s.street2 != None: ${s.street2}
%endif ${s.city}, ${s.state} ${s.zipCode}
Phone | ${s.phone} Hours | Monday - Saturday 8a - 8p Manager | ${s.manager.user.first_name} ${s.manager.user.last_name}


{% extends "base.html" %} {% block title %}
There are {{ count }} packets in {{ filename }}, showing {{ packets|length }} packets from {{ packets.start_index }} to {{ packets.end_index }}


Tracing constraint propagation
[Programming models]
Classes | |
| class | Gecode::TFE |
| Trace filter expressions. More... | |
| class | Gecode::TraceFilter |
| Trace filters. More... | |
| class | Gecode::ViewTraceRecorder< View > |
| Propagator for recording view trace information. More... | |
| class | Gecode::TraceRecorder |
| Propagator for recording trace information. More... | |
| class | Gecode::ViewTracer< View > |
| Tracer that process view trace information. More... | |
| class | Gecode::Tracer |
| Tracer. More... | |
| class | Gecode::StdTracer |
| Default tracer. More... | |
Modules | |
| Tracing for float variables | |
| Tracing for integer and Boolean variables | |
| Tracing for set variables | |
Enumerations | |
| enum | Gecode::TraceEvent { Gecode::TE_INIT = 1 << 0, Gecode::TE_PRUNE = 1 << 1, Gecode::TE_FIX = 1 << 2, Gecode::TE_FAIL = 1 << 3, Gecode::TE_DONE = 1 << 4, Gecode::TE_PROPAGATE = 1 << 5, Gecode::TE_COMMIT = 1 << 6, Gecode::TE_POST = 1 << 7 } |
Which events to trace. More... | |
Functions | |
| void | Gecode::trace (Home home, TraceFilter tf, int te=(TE_PROPAGATE|TE_COMMIT|TE_POST), Tracer &t=StdTracer::def) |
| Create tracer. | |
| void | Gecode::trace (Home home, int te=(TE_PROPAGATE|TE_COMMIT|TE_POST), Tracer &t=StdTracer::def) |
| Create tracer. |
Enumeration Type Documentation
| enum Gecode::TraceEvent |
Which events to trace.
- Enumerator:
Definition at line 40 of file recorder.hpp.
Function Documentation
| void Gecode::trace | ( | Home | home, | |
| TraceFilter | tf, | |||
| int | te, | |||
| Tracer & | t | |||
| ) |
Create tracer.
| void Gecode::trace | ( | Home | home, | |
| int | te, | |||
| Tracer & | t | |||
| ) | [inline] |
Create tracer.


{% extends 'page.html' %} {% block content %}
Thank you for testing this web app.
{% if digest %}
You uploaded the file {{env.files.file.filename}}
({{env.files.file.size}} Bytes)
with md5 hash {{digest}}
successfully.
No file was uploaded.
{% endif %}You may want to go back to the upload form.
{% endblock %}


Best Christmas gifts for babies and toddlers: top present ideas for little ones
by Precious AdesinaBuying Christmas gifts for little ones is one of the most exciting things about the festive period - unless you're buying for a child who already has everything. But trawling through the toy section of some of your favourite places to shop to find something for a newborn or toddler probably doesn't happen often, so it's great fun when you get a chance to.
And, watching them become obsessed with their new item, whether it's a rattle, clothing or a book, can be extremely rewarding too.
But what are the best Christmas gifts for babies and toddlers aged 6-12 months? Don't worry, here's our gender-neutral round-up so you can pick freely without the seas of pink and blue.
Babies
1. Best Years Small Diplodocus Soft Toy Rattle
Bright orange, adorable and machine washable, this knitted rattle combines soft toy comfort with noisy rattle fun.
2. JoJo Maman Bebe Soft Woodland Cubes
Cute woodland animal faces in the form of super soft cubes? So sweet. These charming toys will help develop motor skills and imagination but your children will be too busy stacking, tumbling and throwing them to notice.
3. Vild House Of Little Organic Cotton Collared Bodysuit
The organic cotton bodysuit is soft on the skin, ensuring your babies comfort while dressed in Vild House of Little's limited edition Vild Lab No.9 - Dog Family print.
4. Button & Blue Teething Mittens
These handy mittens keep your little one warm while providing them with a teether to sooth their gums.
5. Neu Oil Baby
Neu Oil's baby aromatherapy blends are made with natural ingredients and ethically sourced essential oils. Different blends have difference purposes, which include supporting your baby's healthy immune system.
Toddlers
For more inspiration, read our guide on the best Christmas stocking fillers for kids and Christmas Eve box ideas.
6. The Tiger Who Came to Tea Board Book
Even after fifty years, The Tiger That Came to Tea still manages to be a much loved book. You'll have so much fun reading this Judith Kerr classic.
7. LeapFrog Number Lovin’ Oven
Suitable for children over two, the LeapFrog Number Lovin' Oven will provide hours of entertainment. It sings, it talks, it has blinking lights and yes, it will probably get on your nerves but as it teaches counting, sharing and even basic fractions, it's a great buy. Plus, watching toddlers play at cooking is always delightful.
8. Happyland Lift Off Rocket
Children aged two to five can jet off to the outer limits of their imaginations with the Happyland Lift Off Rocket. Playing with them will help to develop their story telling and verbal skills while the easy to grip pieces will promote coordination skills. With two human characters, a dog, a moon buggy and a very friendly looking alien, we predict a whole universe of fun for your mini me.
9. Djeco Play Dough Activity Pack
With four tubs of brightly coloured play dough and 21 cutting and stamping tools, as well as the very satisfying play dough press, you'll want to join in as their creative juices start to flow.
10. My 1st Years Personalised Blue Trim Gingham Robe
My 1st Years became popular after Prince George wore a version of its bestselling robe when he met Barack Obama back in 2016.
View latest offers from JoJo Maman Bébé
For more Christmas inspiration, read our guides on the best Christmas gifts for kids and present ideas for teenagers. You can find more festive features here, too.
All the products mentioned in this article are selected independently by our journalists. The Telegraph makes money by adding affiliate links to some of the products.


Cookies are used to:
data.gov.uk cookies aren’t used to identify you personally.
You’ll normally see a message on the site before we store a cookie on your computer.
Find out more about how to manage cookies.
We use Google Analytics software to collect information about how you use data.gov.uk. We do this to help make sure the site is meeting the needs of its users and to help us make improvements, for example improving site search.
Google Analytics stores information about:
We don’t collect or store your personal information (for example your name or address) so this information can’t be used to identify who you are.
We don’t allow Google to use or share our analytics data.
Google Analytics sets the following cookies:
| Name | Purpose | Expires |
|---|---|---|
| _ga | This helps us count how many people visit data.gov.uk by tracking if you’ve visited before | 2 years |
| _gat | Used to manage the rate at which page view requests are made | 10 minutes |
| Name | Purpose | Expires |
|---|---|---|
| _utma | Like _ga, this lets us know if you’ve visited before, so we can count how many of our visitors are new to data.gov.uk or to a certain page | 2 years |
| _utmb | This works with _utmc to calculate the average length of time you spend on data.gov.uk | 30 minutes |
| _utmc | This works with _utmb to calculate when you close your browser | when you close your browser |
| _utmz | This tells us how you reached data.gov.uk (for example from another website or a search engine) | 6 months |
| Name | Purpose | Expires |
|---|---|---|
| analytics_next_page_call | This lets us know the next page you visit on data.gov.uk, so we can make journeys better | when you close your browser |
| govuk_contact_referrer | This lets us know the last page you visited before using the contact data.gov.uk form | 1 day |
You can opt out of Google Analytics cookies.
We measure how many people visiting data.gov.uk are using JavaScript. We’re re-running a test we first used in 2013.
| Name | Purpose | Expires |
|---|---|---|
| JS-Detection | This tells us if you are browsing data.gov.uk while running JavaScript | 1 year |
You may see a pop-up welcome message when you first visit data.gov.uk. We’ll store a cookie so that your computer knows you’ve seen it and knows not to show it again.
| Name | Purpose | Expires |
|---|---|---|
| seen_cookie_message | Saves a message to let us know that you’ve seen our cookie message | 1 month |
Your browser uses cookies to make secure connections to websites with a ‘https’ URL. There are different versions for different levels of security.
| Name | Purpose | Expires |
|---|---|---|
| TLSVersion | Tells us the highest version of TLS your browser uses so we can decide which versions to keep supporting | When you close your browser |
We log a cookie the first time you visit data.gov.uk to let us know you’ve visited once.
If you’re using an out-of-date browser the next time you visit, we’ll show you a message suggesting you upgrade.
We’ll also save a cookie that lets us know you don’t want to see the prompt if you dismiss it.
| Name | Purpose | Expires |
|---|---|---|
| govuk_not_first_visit | Stops us prompting you to upgrade an out-of-date browser until after your first visit | 28 days |
| govuk_browser_upgrade_dismissed | Saves a message to let us know you’ve seen and dismissed the browser upgrade prompt | 28 days |
We sometimes select some users to take part in a performance survey. If you take part, or dismiss the survey, we’ll save a cookie that lets us know you’ve seen the message so that we don’t show it to you again.
| Name | Purpose | Expires |
|---|---|---|
| govuk_takenUserSatisfactionSurvey | Saves a message to remember if you’ve taken the survey or dismissed it | 4 months |
We use SurveyMonkey to collect responses to the survey. If you take part, SurveyMonkey will save extra cookies to your computer to track your progress through it.
| Name | Purpose |
|---|---|
| mbox, SSOE, TS5159a2 and TSd0b041, ep201, ep202, utma, utmc and utmz | We use Survey Monkey for the performance survey on data.gov.uk. For more information, please see Survey Monkey privacy information |