There are 211 free and open source glyphs included in Winstrap. Here are the available glyphs with their respective names. To display a glyph, add the glyph
base class and the individual glyph-*
class.

Glyphs can also be displayed using the glyph
Sass mixin:
.selector {
&::before {
@include glyph( [glyph-name] );
}
}
If you only need to get a glyph's unicode value, you can use the Sass function:
.selector {
font-family: "winjs-symbols";
&::before {
content: glyph( [glyph-name] );
}
}
chevron-up
chevron-down
checkmark
star
magnifier
semantic-zoom
arrow-left
arrow-right
chevron-left
chevron-right
chevron-up-2
chevron-down-2
checkmark-2
star-outline
chevron-right-2
chevron-left-2
previous
next
play
pause
edit
edit-mirrored
save
clear
delete
remove
add
cancel
accept
more
redo
undo
home
up
forward
back
favorite
camera
settings
video
sync
download
mail
magnifier-2
help
help-mirrored
upload
emoji
two-page
leave-chat
mail-forward
clock
send
crop
rotate-camera
people
close-pane
close-pane-mirrored
open-pane
open-pane-mirrored
world
flag
preview-link
globe
trim
attach-camera
zoom-in
bookmarks
bookmarks-mirrored
document
protected-document
page
multi-select
multi-select-mirrored
comment
mail-2
contact-info
contact-info-mirrored
hang-up
view-all
map-pin
phone
video-chat
switch
contact
rename
pin
music-info
go
go-mirrored
keyboard
dock-left
dock-left-mirrored
dock-right
dock-right-mirrored
dock-bottom
remote
refresh
rotate
shuffle
list
list-mirrored
shop
select-all
orientation
import
import-mirrored
import-all
import-all-mirrored
browse-photos
webcam
picture
save-local
caption
stop
show-results
show-results-mirrored
volume
repair
message
page-outline
calendar-day
calendar-week
calendar
calendar-mirrored
characters
mail-reply-all
mail-reply-all-mirrored
mail-read
link
accounts
show-bcc
hide-bcc
cut
attach
paste
filter
copy
emoji-2
important
mail-reply
mail-reply-mirrored
slideshow
sort
manage
all-apps
all-apps-mirrored
disconnect-drive
map-drive
new-window
open-with
open-with-mirrored
contact-presence
priority
upload-2
go-to-today
font
font-color
contact-2
folder
audio
placeholder
view
set-lockscreen
set-tile
cc
stop-slideshow
permissions
highlight
disable-updates
unfavorite
unpin
open-local
mute
italic
underline
bold
move-to-folder
like-dislike
dislike
like
align-right
align-center
align-left
magnifier-3
zoom-out
open-file
other-user
admin
street
map
clear-selection
clear-selection-mirrored
font-decrease
font-increase
font-size
cellphone
reshare
tag
repeat-once
repeat-all
star-outline-2
star-2
calculator
directions
location
library
phonebook
memo
microphone
post-update
back-to-window
fullscreen
new-folder
calendar-reply
unsync-folder
report-hacked
sync-folder
block-contact
switch-apps
add-friend
touch-pointer
go-to-start
zero-bar
one-bar
two-bars
three-bars
four-bars
scan
preview
hamburger
checkbox-composite
checkbox-indeterminate
warning
shopping-cart
flag-2
completed
music-album
info
devices
expand
collapse
radio-btn-off
radio-btn-on
radio-bullet
media-browse
miracast-small
miracast-large
playback-rate-1x
playback-rate-other
subscription-add
subscription-add-mirrored
subscriptions
subscriptions-mirrored


more_vert
Measure Distance Change Map Center map about a selected point Lasso Lasso - Options and filters Create cluster based on selected elements Highlight Open in a map Remove from cluster load selected points Add Textual Annotation Delete Textual Annotation Draw Silde Report {{clusterView}}
Length(in meters):


Parol overload
by Norman CruzThis man’s tricycle is filled to the brim with traditional star-shape Christmas lanterns from the Central Market in Manila as the holiday season approaches.
This man’s tricycle is filled to the brim with traditional star-shape Christmas lanterns from the Central Market in Manila as the holiday season approaches.


The prestigious Women’s Prize for Fiction celebrates the writing of women throughout the world. Why not reserve a title from the 2018 longlist today?
H(a)ppy, by Nicola Barker
“Imagine a perfect world where everything is known, where everything is open, where there can be no doubt, no hatred, no poverty, no greed. Imagine a system which both nurtures and protects. A community which nourishes and sustains. An infinite world. A world without sickness, without death. A world without God. A world without fear. Could you - might you be happy there?
“This novel is a post-post apocalyptic Alice in Wonderland, a story which tells itself and then consumes itself. It’s a place where language glows, where words buzz and sparkle and finally implode. It’s a novel which twists and writhes with all the terrifying precision of a tiny fish in an Escher lithograph - a book where the mere telling of a story is the end of certainty.”
The Idiot, by Elif Batuman
“Selin, a tall, highly strung Turkish-American from New Jersey turns up at Harvard and finds herself dangerously overwhelmed by the challenges and possibilities of adulthood. She studies linguistics and literature, teaches ESL and spends a lot of time thinking about what language - and languages - can and cannot do.
“Along the way she befriends Svetlana, a cosmopolitan Serb, and obsesses over Ivan, a mathematician from Hungary. The two conduct a hilarious relationship that culminates with Selin spending the summer teaching English in a Hungarian village and enduring a series of surprising excursions.
“Throughout her journeys, Selin ponders profound questions about how culture and language shape who we are, how difficult it is to be a failed writer, and how baffling love is.”
Three Things About Elsie, by Joanna Cannon
“There are three things you should know about Elsie. The first thing is that she’s my best friend.The second is that she always knows what to say to make me feel better. And the third thing - might take a little bit more explaining.
“84-year-old Florence has fallen in her flat at Cherry Tree Home for the Elderly. As she waits to be rescued, Florence wonders if a terrible secret from her past is about to come to light; and, if the charming new resident is who he claims to be, why does he look exactly a man who died 60 years ago?”
Read our Meet the Author interview with Joanna Cannon →
Miss Burma, by Charmaine Craig
“After attending school in Calcutta, Benny settles in Rangoon, then part of the British Empire, and falls in love with Khin, a woman who is part of a long-persecuted ethnic minority group, the Karen.
“World War II comes to Southeast Asia, and Benny and Khin must go into hiding in the eastern part of the country during the Japanese Occupation, beginning a journey that will lead them to change the country’s history.”
Manhattan Beach, by Jennifer Egan
“Anna Kerrigan, nearly 12 years old, accompanies her father to the house of a man who, she gleans, is crucial to the survival of her father and her family. Anna observes the uniformed servants, the lavishing of toys on the children, and a secret pact between her father and Dexter Styles.
“Years later, her father has disappeared and the country is at war. Anna works at the Brooklyn Navy Yard where she becomes the first female diver, the most dangerous and exclusive of occupations, repairing the ships that will help America win the war. She is the sole provider for her mother, a farm girl who had a brief and glamorous career as a Ziegfield folly, and her lovely, severely disabled sister.
“At a night club, she chances to meet Styles, the man she visited with her father before he vanished, and she begins to understand the complexity of her father’s life, the reasons he might have been murdered.”
Manhattan Beach has also been longlisted for the 2018 Walter Scott Prize.
The Mermaid and Mrs Hancock, by Imogen Hermes Gowar
“One September evening in 1785, the merchant Jonah Hancock hears urgent knocking on his front door. One of his captains is waiting eagerly on the step. He has sold Jonah’s ship for what appears to be a mermaid. As gossip spreads through the docks, coffee shops, parlours and brothels, everyone wants to see Mr Hancock’s marvel. Its arrival spins him out of his ordinary existence and through the doors of high society.
“At an opulent party, he makes the acquaintance of Angelica Neal, the most desirable woman he has ever laid eyes on - and a courtesan of great accomplishment. This meeting will steer both their lives onto a dangerous new course, on which they will learn that priceless things come at the greatest cost. What will be the cost of their ambitions? And will they be able to escape the destructive power mermaids are said to possess?”
Read our Meet the Author interview with Imogen Hermes Gowar →
Sight, by Jessie Greengrass
“In Sight a woman recounts her progress to motherhood, while remembering the death of her own mother, and the childhood summers she spent with her psychoanalyst grandmother.
“Woven among these personal recollections are significant events in medical history: Wilhelm Rontgen’s discovery of the X-ray and his production of an image of his wife’s hand; Sigmund Freud’s development of psychoanalysis and the work that he did with his daughter, Anna; John Hunter’s attempts to set surgery on a scientific footing and his work, as a collaborator with his brother William and the artist Jan van Rymsdyk, on the anatomy of pregnant bodies.
“What emerges is the realisation that while the search for understanding might not lead us to an absolute truth, it is an end in itself.”
Eleanor Oliphant is Completely Fine, by Gail Honeyman
“Eleanor Oliphant leads a simple life. She wears the same clothes to work every day, eats the same meal deal for lunch every day and buys the same two bottles of vodka to drink every weekend. Eleanor Oliphant is happy. Nothing is missing from her carefully timetabled life. Except, sometimes, everything.
“One simple act of kindness is about to shatter the walls Eleanor has built around herself. Now she must learn how to navigate the world that everyone else seems to take for granted - while searching for the courage to face the dark corners she’s avoided all her life.”
When I Hit You: or, a portrait of the writer as a young wife, by Meena Kandasamy
“Seduced by politics and poetry, the unnamed narrator falls in love with a university professor and agrees to be his wife, but what for her is a contract of love is for him a contract of ownership.
“As he sets about reducing her to his idealised version of a kept woman, bullying her out of her life as an academic and writer in the process, she attempts to push back - a resistance he resolves to break with violence and rape.”
When I Hit You has also been nominated for the 2018 Jhalak Prize.
Elmet, by Fiona Mozley
“Daniel is heading north. He is looking for someone. The simplicity of his early life with Daddy and Cathy has turned sour and fearful. They lived apart in the house that Daddy built for them with his bare hands. They foraged and hunted. When they were younger, Daniel and Cathy had gone to school.
“But they were not like the other children then, and they were even less like them now. Sometimes Daddy disappeared, and would return with a rage in his eyes. But when he was at home he was at peace. He told them that the little copse in Elmet was theirs alone. But that wasn’t true. Local men, greedy and watchful, began to circle like vultures. All the while, the terrible violence in Daddy grew.”
Elmet was also shortlisted for the 2017 Man Booker Prize.
The Ministry of Utmost Happiness, by Arundhati Roy
“The Ministry of Utmost Happiness takes us on a journey of many years, the story spooling outwards from the cramped neighbourhoods of Old Delhi into the burgeoning new metropolis and beyond, to the Valley of Kashmir and the forests of Central India, where war is peace and peace is war, and where, from time to time, ‘normalcy’ is declared.
“Anjum, who used to be Aftab, unrolls a threadbare carpet in a city graveyard that she calls home. A baby appears quite suddenly on a pavement, a little after midnight, in a crib of litter. The enigmatic S. Tilottama is as much of a presence as she is an absence in the lives of the three men who loved her.
“The Ministry of Utmost Happiness is at once an aching love story and a decisive remonstration. It is told in a whisper, in a shout, through tears and sometimes with a laugh. Its heroes are people who have been broken by the world they live in and then rescued, mended by love and by hope. For this reason, they are as steely as they are fragile, and they never surrender.”
The Ministry of Utmost Happiness was also longlisted for the 2017 Man Booker Prize.
See What I Have Done, by Sarah Schmidt
“When her father and step-mother are found brutally murdered on a summer morning in 1892, Lizzie Borden - 32-years-old and still living at home - immediately becomes a suspect. But after a notorious trial, she is found innocent, and no one is ever convicted of the crime.
“Meanwhile, others in the claustrophobic Borden household have their own motives and their own stories to tell: Lizzie’s unmarried older sister, a put-upon Irish housemaid, and a boy hired by Lizzie’s uncle to take care of a problem.”
A Boy in Winter, by Rachel Seiffert
“An early November morning in 1941, only weeks after the German invasion, a small Ukrainian town is overrun by the SS.
“Deft, spare and devastating, Rachel Seiffert’s new novel tells of the three days that follow and the lives that are overturned in the process.”
Home Fire, by Kamila Shamsie
“Isma is free. After years spent raising her twin siblings in the wake of their mother’s death, she is finally studying in America, resuming a dream long deferred. But she can’t stop worrying about Aneeka, her beautiful, headstrong sister back in London - or their brother, Parvaiz, who’s disappeared in pursuit of his own dream: to prove himself to the dark legacy of the jihadist father he never knew.
“Then Eamonn enters the sisters’ lives. Handsome and privileged, he inhabits a London worlds away from theirs. As the son of a powerful British Muslim politician, Eamonn has his own birthright to live up to - or defy. Is he to be a chance at love?”
Home Fire was also longlisted for the 2017 Man Booker Prize.
The Trick to Time, by Kit de Waal
“Birmingham, 1972. Mona is a young Irish girl in a big city, with the thrill of a new job and a room of her own in a busy boarding house. On her first night out in town, she meets William, a charming Irish boy with an easy smile and an open face. They embark upon a dizzying love affair, a whirlwind marriage, an unexpected pregnancy - before a sudden tragedy tears them apart.
“Decades later, Mona pieces together the memories of the years that separate them. But can she ever learn to love again?”
Sing, Unburied, Sing, by Jesmyn Ward
“An intimate portrait of a family and an epic tale of hope and struggle, Sing, Unburied, Sing examines the ugly truths at the heart of the American story and the power – and limitations – of family bonds.
“Jojo is thirteen years old and trying to understand what it means to be a man. His mother, Leonie, is in constant conflict with herself and those around her.  Embattled in ways that reflect the brutal reality of her circumstances, she wants to be a better mother, but can’t put her children above her own needs, especially her drug use.
“When the children’s father is released from prison, Leonie packs her kids and a friend into her car and drives north to the heart of Mississippi and Parchman Farm, the State Penitentiary. At Parchman, there is another boy, the ghost of a dead inmate who carries all of the ugly history of the South with him in his wandering. He too has something to teach Jojo about fathers and sons, about legacies, about violence, about love.”


Far right jumps to third place in hung Spanish parliament: late tally
MADRID (Reuters) - Neither the rightist nor the leftist political bloc was likely to win a clear majority in Spain’s repeat parliamentary election on Sunday, according to a tally of results released by the interior ministry with just shy of 95% of votes counted.
The far-right Vox emerged as the third most voted force, with an estimated 52 seats - more than double the 24 won in April’s inconclusive election.
The Socialists of acting Prime Minister Pedro Sanchez led with an estimated 120 seats in the 350-seat lower house, but further political stalemate appeared likely as votes scattered between mainstream and outlier parties. It was followed by the conservative People’s Party, with 88 seats.
Centre-right Ciudadanos were seen winning 10 seats while far-left Unidas Podemos fetched 26 seats.


Warehouse Keeper Dorankus:
Deposit! Deposit! Deposit everything! Deposit it with me, Dorankus! We will guard your items with our lives!
[npc_%objectId%_Chat 1|Private Warehouse]
[npc_%objectId%_Chat 2|Clan Warehouse]
[npc_%objectId%_Multisell 631|Buy an item using Cube Fragments.]
[npc_%objectId%_Quest|Quest]


Pi Garage Monitor via Internet (PiGMi)
PiGMi is a web based Garage door monitor/ controller. It allows the opening
and closing of garage door(s) remotely from a web browser on any device. It
has the ability to scale and rotate for mobile devices such as iPhones and
iPads.
Hardware Needed
Refer to the
PiGMi BOM and wiring
for a complete listing of parts needed and prices. Adjust the purchases for
the number of doors you want to control (from 1 to 3).
Hardware Setup
- First, assemble 1 Raspberry Pi, with power-supply, WiFi enabled.
- Verify or Load the required system software:
- Then for each door, wire up the relays, push buttons, and magnetic
switches in the following suggested numbering. (Please note: You don't
need to follow this exactly because you can assign the pins to doors from
the web software).
Credits
Author:
Dave Robinson
(
robboz4@gmail.com)


Psalm 113
1 Praise Yahweh.
Praise him, you servants of Yahweh;
praise the name of Yahweh.
2 Blessed be the name of Yahweh,
both now and forevermore.
3 From the rising of the sun to its setting,
Yahweh's name should be praised.
4 Yahweh is exalted above all nations,
and his glory reaches above the skies.
5 Who is like Yahweh our God,
who has his seat on high,
6 who looks down
at the sky and at the earth?
7 He raises up the poor out of the dirt
and lifts up the needy from the ash heap,
8 so that he may seat him with princes,
with the princes of his people.
9 He gives the barren woman in the house a seat
like a joyful mother of the children.
Praise Yahweh.


Systems as diverse as maritime vessels, aircraft, and computer networks share one important thing in common: they are all highly complex. A big part of the complexity is found in the volume and variety of information resources associated with them. In order for these systems to remain operational and affordable, organizations need a scalable and robust way to manage, exchange and publish system information.
For numerous global customers over the last twenty years, Gnostyx has designed, developed and deployed innovative solutions to the problem of managing complex system information. These projects demonstrated the merits of leveraging, integrating, and managing open content standards so that customers can continue to evolve their solution investments over very long periods of time and even amid dramatic changes in the technology landscape.
Organizations of every shape and size are challenged by the fact that finding useful information is hard and only seems to get harder as time advances. Heavy investments on expensive search technology and ponderous enterprise content management systems have not helped. If anything these investments, by pooling ever larger collections of information together, only seem to make things worse.
For customers in the commercial, non-profit, and government sectors, Gnostyx has built a variety of information discovery solutions that have managed to cut through the fog of information to help users quickly find what is relevant to specific business needs. These solutions rest on a novel use of open content standards as a way to collect and distill descriptive details about important information resources that can then be presented through a simple faceted navigation interface.
Although it is an activity that has occurred several times since the early days of the web, the meteoric rise of mobile devices and social media has forced many organizations to take a hard look at their online presence. In doing so, these organizations find that they have not only become out-of-step with prevailing design practices and accessibility standards but that their online presence is cluttered with mountains of unused and disjointed content.
For several large enterprises servicing diverse communities of users, Gnostyx has undertaken strategic reviews of their web presences and of the technology infrastructure supporting them in order to frame a practical renewal roadmap. A key part in each of these engagements has been the deployment of tactics for reintegrating data sources that had over time become disconnected. These engagements also reintroduced these organizations to the core content standards from which the web was originally constructed and that can be called upon again to reduce the cost of sustaining and continuously improving a compelling online presence.
Organizations in a range of industries fall under varying degrees of regulation. These organizations are subject to specific requirements largely around how they handle information and how they use it to conduct their operations. In more formal scenarios, these organizations undergo stringent filing and review processes and must operate in a way that conforms to strict compliance guidelines. Needless to say the cost of achieving and maintaining compliance can be high both financially and operationally.
Working in healthcare, defense, energy and aerospace sectors, Gnostyx has tackled these challenges on many occasions. Each time the real goal has been to improve the efficiency of all parties in the regulatory process so that savings can be realized, in terms of funds and time, by everyone. And in each case, the collaboration amongst the parties found ways to move beyond saving time and money to improve the overall level of compliance being achieved.
Large providers of educational services and information are confronted with a common problem. How do they create and manage a formal body of curricular material so that administrators, instructors, customers and learners can easily access the information they need? And how can these stakeholders actively participate in the ongoing evolution of the curriculum? The explosive growth of eLearning tools and techniques has made a solution to this challenge more daunting and more pressing.
For a major education ministry, Gnostyx implemented one of the most complete and advanced curriculum management solutions ever developed. This solution has since provided inspiration to subsequent Gnostyx projects where organizations of different sizes needed an effective solution to managing learning materials and in particular where those materials would be deployed to learners using mobile devices and blended learning techniques.
Software developers deploy a range of tools and techniques in order to manage the complexity of the software design and development process. This is always a challenge but for some software teams it is a challenge that blocks the path of their innovation plans. One example of this type of challenge is the need for a broad range of stakeholders to contribute to the design of software. Another is the need for software to adapt dynamically to different environments. To meet these challenges, radically new approaches to software design are often needed.
For one global leader in optical networking, Gnostyx was called upon to design a radically different approach to designing and generating software. The goal was to equip customers with the ability to completely reconfigure a network to meet their own requirements and to do so in near real-time. The networking company had pushed the state-of-the-art software design tools to the breaking point so Gnostyx implemented a solution whereby designers, including customers, authored extremely precise design specifications using open content standards. Software artifacts were then generated directly and dynamically from this software design knowledge base.
The Darwin Information Typing Architecture (DITA) has attracted a great deal of attention since its initial public release in early 2005. Organizations have been eager to jump on board with a standard that offers a great deal of capability out-of-the-box with its widely-used open toolkit. And many vendors of content technologies quickly refocused their marketing and product development investments towards supporting the DITA standard. The net result is that many organizations find themselves on the brink of, or in the middle of, DITA implementations only to realize that they do not really know how best to proceed.
Starting from the very beginning of 2005, Gnostyx has supported organizations efficiently and effectively adopt and leverage DITA. These have included specialized software companies and government institutions, as well as global enterprises looking to use DITA in ways that the originator of DITA, IBM, never imagined. In each case, Gnostyx has sought to provide a grounded approach to deploying DITA and DITA tools so that individual implementations were as successful, affordable, and supportable as possible.
Many organizations have been exploring how to apply the principles of library science to their information holdings with the view to making that information more findable. They quickly discover that this effort demands a great deal of investment. Approaching this challenge in a way that can be converted into business benefits by leveraging technology proves to be an even bigger challenge.
For a number of customers in the aerospace, manufacturing, healthcare and government sectors, Gnostyx has tackled this challenge with an innovative solution to taxonomy management. Essentially, these solutions revert to a basic notion that a taxonomy is first and foremost a document that clearly describes a perspective on a domain of knowledge. If a taxonomy is created and managed as high quality content, then it can be extended by linking to other taxonomies, it can be published into multiple forms that support intelligent discovery processes, and it can be leveraged to effectively inform and guide information classification processes.
The drive in many organizations is towards increasingly standardized work procedures. Sometimes this is undertaken to achieve specific types of quality certification. More often it is undertaken to achieve heightened targets for quality, efficiency and sustainability as have been set as part of an enterprise-wide implementation of lean manufacturing principles. And in today’s increasingly automated work environments, these procedures must be something that both people and machines can understand and act upon.
Gnostyx has played a lead role on a number of large enterprise initiatives to apply lean manufacturing principles to a broad range of business processes. In each case, Gnostyx has been responsible for designing the content structures that would be used for standardized work procedures and for developing an application suite that supports the authoring, publishing and even automatic interpretation of these instructions. One particularly large initiative, where Gnostyx helped a global aerospace firm better integrate its design and manufacturing processes, was recognized with two consecutive annual awards for global leadership in lean manufacturing.
 Accordingly, there are a great many case management tools on the market. What is less visible is the fact that the life cycle of any case will almost never occur within the confines of any one of these tools. More commonly, case files need to be shared with other organizations and sometimes with many other organizations. Also, the information collected around cases becomes a record that must be accessible for long periods of time and sometimes forever. Many of these requirements are simply not addressed by mainstream case management tools.
On a number of large projects, Gnostyx undertook to design and implement an approach to case management that ensured that organizations using different case management tools would be able to inter-operate and that case information would also be shareable with other applications including archival systems. This approach leveraged open content standards to provide a tool-independent representation of case holdings and to provide a relatively simple way to augment the functionality of different case management tools where their capability was found to be lacking.
The engineering design activity, undertaken in many sectors ranging from pharmaceuticals through to aerospace, is an even more complex and challenging task that it already appears. One factor often missed is how engineers interact with a large body of engineering standards that apply constraints to almost all design decisions. Improving how engineers access and use engineering standards, and participate in their ongoing evolution, is a highly sought after, but daunting, goal.
The solution to this challenge lies in modernizing how the engineering standards themselves are maintained and made available for use within design environments. If these standards can be converted from massive bookshelves of loose-leaf binders to being data resources that can be precisely searched and directly reused, the engineering effort can be given a dramatic boast in productivity. One major project undertaken by Gnostyx tackled this challenge head-on for one of the world’s leading manufacturers and delivered a solution that constituted a major competitive advantage.
Field engineers and equipment support technicians have the unenviable task of arriving at a customer’s site at a time when a problem with a critical system has disrupted, and sometimes halted, operations. Whether it is a large printer, an aircraft, or a mining tool, there will be people anxious to see the problem fixed and fixed quickly. How quickly these problems will be fixed will largely depend on how complete, up-to-date, and easy to use the maintenance information that these field engineers and technicians have at their fingertips. Improving this information is something that is always welcomed.
This is an area where Gnostyx has extensive experience, having designed, developed, and deployed intelligent maintenance aids over the last twenty years for customers in the defense, aerospace, energy, healthcare, and construction sectors. This experience has included working with various commercial products designed to address these requirements. And in this experience, it turns out that the most attractive solutions, and the ones that have proven the most adaptable to changing requirements, have been those that leverage web-based interfaces that are low-cost and mobile-friendly, and that facilitate the provision of a very wide range of support information to users working in many different environments.
Commercial publishers as well as large enterprises have come to see that what they need is a dynamic publishing capability. Such a capability will allow them to deliver content that is packaged for every user’s needs and prepared to perform optimally on whatever device that this user happens to be using at a given time. The explosion in eBook readers and mobile devices has thrown a spotlight on the fact that most publishers are limited by legacy publishing infrastructures that struggle to produce two different versions of their content let alone an unlimited array of renditions.
Equipping organizations, whether commercial publishers or large enterprises, with a dynamic publishing capability calls for two things. One is that their publishing infrastructures typically need end-to-end modernization. The other is that they ultimately need to get back to the basic question of how their content is prepared and managed so that it can actually fuel a dynamic publishing process. Gnostyx has worked with several of the world’s leading commercial publishers, and some of the world’s largest enterprises, to tackle both of these solution dimensions.
There is much talk about the innovation economy, and about how leading companies are repeatedly disrupting traditional industries with game-changing innovations that combine new technologies with new service models. These innovators themselves face the challenge of managing their innovation processes, and of managing the information resources that make it possible to acquire, share, combine, unbundle, license, and sell innovations. Market leaders planning to stay in front need to support their creative activities with information services that make those activities manageable and scalable.
For some of the world’s leading innovators, Gnostyx has contributed architectural guidance and technology reference implementations that help organizations to support teams in creating, sharing, managing, and leveraging the content that embodies their innovations and that constitutes what they actually retain once the teams disband. These solutions have continually sought to introduce measures of formality and discipline into the innovation process and to do so in a way that helps instead of hampers the dynamic flow of creativity.
All institutions buy goods and services. Large organizations can easily have annual procurement budgets that run into the billions. And the lion’s share of these procurement budgets (typically well over 80%) are directed to the acquisition of complex solutions that are customized to their unique needs. Whether buildings, ships, or software systems, the efficiency and effectiveness of the procurement process ultimately comes down to how completely and clearly the organization articulates its requirements and how usefully the supplier prepares the support information is that comes with the acquired solution.
Whereas many organizations have sought to save money purely by shaving small amounts from their high volume transactions (representing only 20% of their overall expenditures), leading organizations have looked more deeply at the procurement process to find much greater savings in how they acquire complex solutions. Gnostyx has a unique background in tackling the information challenges surrounding procurement reform and has overseen the design, development and deployment of solutions that have helped global organizations to save significant amounts of money while also improving the quality and sustainability of the solutions being acquired.
Many business activities depend upon information aggregated from many sources. Some of these activities are large-scale, such as seen with a commercial publisher aggregating sources into a reference portal or a prime contractor pulling together the contributions of thousands of suppliers. Some of these are very small but important nonetheless, such as when an individual accesses a government website looking for information on how to do something that will invariably cross a number of jurisdictional boundaries. Creating an integrated view of information from sources that were never designed to be consolidated is a challenging task to put it mildly.
On many occasions over the last twenty years, Gnostyx has worked closely with some of the largest information aggregators in the world. These projects tackled the underlying challenges of bringing content assets together, smoothing over the gaps and overlaps, so as to provide a single, coherent information experience. Customers in the automotive, finance, healthcare, government, academic, and publishing sectors have all found the ability to aggregate information from disparate sources to be increasingly indispensable.
Although it has been growing for over thirty years, there has been a lot of attention gathering recently around digital humanities, where computing technology is deployed to assist and advance traditional humanities scholarship practices. Initially confined to the academy, digital humanities projects have been recognized as being very close to the types of research activities that are essential in today’s interconnected world. What makes these projects interesting is the fact that they confront the complexities of text and media head-on and do so with some very challenging examples. These projects also must find ways to collect and manage collections of data resources that are notably large, rapidly-evolving, and at times unpredictable.
Gnostyx worked on a major digital humanities project at the University of Oxford and did so as a charitable undertaking. The rationale for making this contribution has been that the project exhibits, rather graphically, the pitfalls of applying overly rigid technology tactics to the protean data resources that collect around complex text collections. The Digital Miscellanies Index (DMI) provided insight to the publishing history and contents of poetry miscellanies from 18th century England. For the DMI, Gnostyx designed, developed, and deployed a solution for handling this data in a way that would permit it to evolve organically and to be accessed and reused by a global community of scholars.
For decades in the past, and probably for decades to come, organizations have sought cost-effective ways to convert legacy content from single-purpose formats to open, digital representations that can be used in many ways. This activity has proven difficult and expensive for a number of reasons. One is that legacy content formats can be stubbornly obscure. Another, and a more important one, is that in order to be fully useful in a new world the content will need to be enriched and improved at the same time as it is converted. And this effort relies on the insight of subject matter experts who understand the domain but whose time, and patience, is often limited.
Working in numerous industry sectors, Gnostyx has designed, developed, and deployed a variety of content conversion solutions. In these projects, a number of solution patterns have emerged. One is the use of interactive interfaces whereby subject matter experts provide input and feedback to conversion processes, effectively adapting conversion rules based on accumulating experience. Another pattern is the deployment of aggressive content analysis and validation processes that can be used to push data about the conversion to stakeholders who can, again, provide corrective feedback. In many domains, a key hurdle to be overcome is guaranteeing the parity of converted content with the original source, and here there is one pattern, affectionately called paranoid programming, that has proven particularly useful.
Although its history is longer than is often assumed, the practice of Content Strategy has gained a high level of visibility recently. More and more organizations have realized that they really do need to think about their content if they want to improve the online user experience they are providing. Content Strategy looks at what content an organization needs to acquire and at how that content will be used to materially improve business performance. As a practice and as an undertaking on individual projects, Content Strategy is a challenge due to its fundamentally interdisciplinary nature, bridging as it does different business areas, communication practices, and technology domains.
For customers all over the world, Gnostyx has pursued the practice of Content Strategy far longer than it has been a popular phrase. From these projects, several important lessons have been extracted. One is that a Content Strategy is a plan of action and as such it should be advanced in a way that pushes an organization to act – to make investments in improving how they acquire, manage, publish and evolve their content assets. Another lesson is that content cannot be productively considered separately from the technology domain within which it lives. Yet another is that when pursued in an active and integrated manner, Content Strategy can be a powerful catalyst for constructive change.
A common refrain, heard in many a meeting room, is that organizations need to understand and articulate their business requirements first and only after these requirements are nailed down should they look at the available, or possible, technologies. There is a serious problem with this edict in that technology has a habit of changing the business landscape and that as soon as a new technology is introduced the business requirements tend to change and sometimes radically. How can an organization explore the business impact of technology without committing itself to a particular technology investment?
In support of a long series of projects, Gnostyx has evolved a response to this challenge. It’s called Information Prototyping. Low-cost, open-source web technologies, coupled with open content standards, are deployed so that organizations can inexpensively explore new information experiences, and new ways of conducting their business. This way the organization can begin to encounter the business impacts of technology, and of new ways to engage customers, so that their understanding of the business requirements catches up with the possibilities provided by the new technologies.


Congo governor beaten up by his citizens for going on a shopping spree in France (video)
- A governor of a city in Congo has been humiliated by his people in France
- The governor identified as Gentiny Ngobila Mbaka reportedly went on a shopping spree in Paris
- Mbaka was reportedly cornered by Congolese citizen in France who threw objects at him
Congolese citizens based in France have humiliated one of their governors while he was on a visit to France. Governor Gentiny Ngobila Mbaka of Kinshasa city was attacked by some of the citizens based in the country.
It was alleged that the governor was attacked by the citizens of Congo after it was gathered that he went on a shopping spree in Paris.
In a video shot during the incident, the governor could be seen trying to escape from the citizens who mobbed him. The mob carried the flag of Congo as they attacked and threw items at the man.
PAY ATTENTION: Read best news on Nigeria's #1 news app
Kogi election: This is what I will do to Yahaya Bello - Dino Melaye
A Twitter user identified as @uche_ezeonye shared a video of the incident on his page. He stated that the man went on a shopping spree and he received a beating.
According to @uche_ezeonye, all politicians deserve such treatment especially Nigerian politicians.
PAY ATTENTION: Do you have news to share? Contact Legit.ng instantly
READ ALSO: NAIJ.com upgrades to Legit.ng: a letter from our Editor-in-Chief Bayo Olupohunda
Meanwhile, Legit.ng had earlier reported that an agent of the Social Democratic Party at the Kogi state governorship election was on Saturday, November 16, beaten up at a polling unit. The agent who was alleged to have been carrying some charms on his body was beaten up by some thugs at Obeiba/Ihima in Okehi local government area of the state.
NAIJ.com (naija.ng) -> Legit.ng We have upgraded to serve you better
Kogi election: Kogi deputy governor reacts to APC victory - on Legit TV


CONGRATULATIONS!
closing remarks from the author
congratulations. you made it through the puzzles (if you can even call them that). in doing so, you have shown your creativity and ability to, as my seventh-grade math teacher always said, "think outside of the triangle".
some might say that mezclo ramo is "weird", "stupid", or "nonsensical". i very much disagree. mezclo ramo is simply a playground in every sense of the word.
as young children, we often took for granted how incredibly vast our imaginations were. imaginary friends waltzed around the hallways, a dinosaur ate a spiderman action figure, robots could shoot lasers and take over the world.
all of this imagination culminated in that most lively gathering spot, the playground.
the purpose of mezclo ramo is to neither make sense nor refuse to make sense; rather, it is intended to bring the player back to the playground of old, where the rules were yours to make.
as it is, i hope you find your playground. i hope you are able to recreate the environment of your childhood.
take care!
p.s.: have you found these tricks built into mezclo ramo? here are some hints!
have you tried:
- clicking the bat in the night?
- choosing the wrong answer on the test?
- clicking words besides "fishy" on the fish page?
- dragging the words "what if" into the eyeball in my mind?
- turning on your volume?


Home
Trees
Indices
Help
CSB v1.2.5.d7fd331
[
frames
] |
no frames
]
[
Identifiers
|
Bugs
|
Deprecations
]
Identifier Index
[
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
_
]
D
d_approx_psi()
(in
csb.numeric
)
DELIMITER
(in
AbstractSequence
)
dotsize
(in
ClansParams
)
dampening
(in
ClansParams
)
delta
(in
GaussianMixture
)
dpi
(in
Chart
)
data
(in
Deconvolution
)
deltaH
(in
NonequilibriumTrajectory
)
draw()
(in
ContactMap
)
data
(in
Expression
)
density()
(in
csb.statistics
)
Ds
(in
ChemElements
)
data
(in
MaxentPosterior
)
DensityInfo
(in
csb.bio.io.mrc
)
DSN
(in
Connection
)
DATA
(in
Config
)
DensityMapFormatError
(in
csb.bio.io.mrc
)
dssp
(in
ProfileHMM
)
data
(in
Config
)
DensityMapReader
(in
csb.bio.io.mrc
)
dssp
(in
csb.bio.io
)
database
(in
CSfrag
)
DensityMapWriter
(in
csb.bio.io.mrc
)
dssp_solvent
(in
ProfileHMM
)
database
(in
HHfrag
)
deserialize()
(in
Target
)
DSSPParseError
(in
csb.bio.io.dssp
)
datapoint()
(in
AbstractStructureMixture
)
deserialize()
(in
ProfileHMM
)
DSSPParser
(in
csb.bio.io.dssp
)
datapoint()
(in
GaussianMixture
)
destroy()
(in
Backend
)
DummyStepStatistics
(in
csb.statistics.samplers.mc.neqsteppropagator
)
DataRow
(in
csb.io.tsv
)
DictionaryContainer
(in
csb.core
)
dump()
(in
RosettaFragmentMap
)
date
(in
HHpredHitList
)
dihedral_angle()
(in
csb.numeric
)
dump()
(in
AbstractSequence
)
DB
(in
SecondaryShiftReader
)
dimension
(in
GaussianMixture
)
dump()
(in
csb.io
)
db
(in
HHsearch
)
DimensionError
(in
csb.statistics.samplers
)
dump()
(in
DataRow
)
Db
(in
ChemElements
)
dimensions
(in
NOESpectrum
)
dump()
(in
Table
)
Deconvolution
(in
csb.apps.embd
)
direction
(in
RENSTrajInfo
)
DuplicateAtomIDError
(in
csb.bio.structure
)
DeconvolutionApp
(in
csb.apps.embd
)
Dirichlet
(in
csb.statistics.pdf
)
DuplicateChainIDError
(in
csb.bio.structure
)
deepcopy()
(in
csb.core
)
DirichletEstimator
(in
csb.statistics.pdf
)
DuplicateEntryError
(in
csb.bio.io.clans
)
deg()
(in
TorsionAngles
)
DisorderedAtom
(in
csb.bio.structure
)
DuplicateEntryNameError
(in
csb.bio.io.clans
)
deg()
(in
csb.bio.utils
)
dispose()
(in
Chart
)
DuplicateKeyError
(in
csb.core
)
DegenerateID
(in
csb.bio.io.wwpdb
)
distance()
(in
ClusterNode
)
DuplicateModelIDError
(in
csb.bio.structure
)
degree2radian()
(in
csb.numeric
)
distance()
(in
csb.bio.utils
)
DuplicateResidueIDError
(in
csb.bio.structure
)
Degrees
(in
AngleUnits
)
DISTANCE_CUTOFF
(in
ContactMap
)
DuplicateSequenceError
(in
csb.bio.sequence
)
del_cache()
(in
GaussianMixture
)
distance_matrix()
(in
csb.bio.utils
)
DURING
(in
SecStructureScoring
)
Deletion
(in
States
)
distance_sq()
(in
csb.bio.utils
)
DURING_PREDICTED
(in
SecStructureScoring
)
DELIMITER
(in
FastResidueMapper
)
DNA
(in
SequenceTypes
)
Dy
(in
ChemElements
)
Home
Trees
Indices
Help
CSB v1.2.5.d7fd331
Generated by Epydoc 3.0.1 on Tue Jul 4 20:19:03 2017
http://epydoc.sourceforge.net


It comes from the VIRT-EU project work and is just one in a series of different tools to try bring ethical reflection into the process of designing connected things. More context here.
As this is a pre-alpha prototype tool ;) we will welcome any feedback you may have from the experience (option to be interviewed about that at the end).
What does it mean to add smartness, connectivity and intelligence to the devices we design? And what does it mean to integrate those devices into communal living spaces? At this moment, when headlines around tech gone wrong flood our news daily, let’s reflect.
What is a good [IoT?] product, to you? Does good only mean functions well? Or does a good product align with your idea of what goodness means, in the first place? What if your idea of goodness is not the same as that of your intended users?
Let’s find some North stars, as understood through your values. We'll share some of your community's values (similar IoT start-ups) as uncovered in our research that you can use as inspiration throughout. This exercise is for you to define your North star as we think it’s important for any continued development of your product - hopefully it will be useful as you keep working on your idea.
This round is a solo activity. Keeping in mind what you have read, and what you learned or felt from that discussion, write down what is important to you. This is for you, as a person.
Try to re-write at least 2 new definitions per contested word, then discuss again. If you still can’t agree on one communal definition, here are some pointers for discussion:
Some pointers:
When you respond to the other, try saying things like “It sounds like you are concerned about ___”
Try to make sure you repeat the most important things others say to ensure people see that you understand what they are saying.
Remember this is your teammate and try to show that you recognize and respect each others’ opinions, distinct backgrounds, mutual admiration and goal of building something together
If you cannot come to a common definition, that’s fine, just keep your individual definitions and put an asterisk * on words you could not agree upon
This round is a solo activity again but now we are asking you to reflect on what you care about in relation to your product.
Try to re-write at least 2 new definitions per contested word, then discuss again. If you still can’t agree on one communal definition, here are some pointers for discussion:
Some pointers:
When you respond to the other, try saying things like “It sounds like you are concerned about ___”
Try to make sure you repeat the most important things others say to ensure people see that you understand what they are saying.
Remember this is your teammate and try to show that you recognize and respect each others’ opinions, distinct backgrounds, mutual admiration and goal of building something together
If you cannot come to a common definition, that’s fine, just keep your individual definitions and put an asterisk * on words you could not agree upon
Transparency
Providing access to information concerning personal data processing. Encouraging transparency about data operations, device usage and firmware and software upgrades.
Openness
Promoting open hardware and software with open source code.
Responsibility
Strengthening algorithmic accountability/liability.
Interoperability
Promoting interoperability as one of the key values to create a trusted IoT ecosystem. Facilitating data portability, both for taking data out and in.
Accountability
Effectively addressing security and safety issues, adopting adequate risk prevention strategies and measures.
Safety & security
Protecting users against any harm due to IoT devices (hardware and software security). Updatability of devices for security.
Sustainability
Issues concerning the potential impact on social and environmental justice.
Inclusion and equality
Considering diversity and inclusion both in IoT development and with regard to users’ experience.
Participation
Effectively engaging data subjects in data processing design. Promoting debate and dialogue (e.g. manifestos).
Autonomy
Safeguarding individual self-determination and freedom of expression.
Non-discrimination
Preventing any forms of discrimination.
Well-being
Increase individuals’ well-being and fostering “IoT for good”
Dignity
Avoiding any forms of surveillance or invasive control over individuals using IoT devices. IoT devices shall not be used to collect unauthorised private information or to publicly disclose private facts.
Data Protection
Providing users access to their collected data, giving them explanations about how personal information is used.Issues concerning the distinction between anonymous and personal data that could allow companies to avoid data protection but still have impacts on groups and individuals.Ensuring the rights to access, rectification, erasure (right to be forgotten) and to object with regard to personal data processed by means of IoT devices and facilitating data portability.
Privacy
Safeguarding intimacy, identity, and physical integrity.
 You can add as many as you want to the existing clusters on the table.
This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 732027.
Person to the right of the computer starts.
Transparency + security:
A company is making a tracking wearable to find people in a crowd during concerts and big events in case of disasters and emergencies.
The device’s data is shared with event organisers, public health services and local police. The company cares deeply about transparency as in, being open about why they are building the tracker, and security as in, keeping their users as safe as possible.
Pickpocketings have occurred during the concerts and police are using the tracking devices’ GPS data to pinpoint the thieves. Should the company tell the concert goers that their data can be shared to the police before the concert goers start using the wearable?
But then the concert goers might not use the wearable anymore, and will not have a safe experience if there is an emergency.
Openness + inclusion:
A company is developing an IoT radio and cares deeply about openness as in, open to all to contribute, and inclusion as in, all kinds of people can participate. Some people with extreme viewpoints participate as loudly as possible.
Can the company be “inclusive” if some users feel extremely uncomfortable and leave the platform? Should they stay “open and inclusive” as previously defined or do they need to redefine?
Responsibility + sustainability + inclusion:
There’s a new connected lightbulb that allows users to control the brightness with voice commands. The company cares deeply about sustainability as in, having as little electronic waste as possible, responsibility as in, being responsible about how they process and use data and the cloud, as well as inclusion as in, including diverse users.
They are releasing a software update with a new machine learning algorithm that will make it easier to process the voice commands. The update can only run on a new microcontroller with local machine learning.
The company is therefore releasing a complete new package. Is there a way to stay true to being “sustainable” while making sure to be “inclusive” to the many voices of their users, and still “responsible” in terms of how they implement their machine learning (locally rather than on the cloud)?
In order to uphold ,
which means in our product,
we will .
In order to uphold ,
which means in our product,
we will .
In order to uphold ,
which means in our product,
we will .
In order to uphold ,
which means in our product,
we will .
In order to uphold ,
which means in our product,
we will .


by Inncretech
In this post, we analyze event data about users’ journey to different app screens and finally, buying/checking out a product. The data was obtained from the events repository of a marketing analytics company which offers an sdk for app developers to generate events from iOS, Android and Web. Based on the time series of events for each user, we are able to identify the number of screens and most common paths that the users are taking before purchasing a product. We analyzed what the best selling products were, which screens lead to most users dropping off of the app, and present our findings and recommendations below.
We assumed a typical path a user would have to follow in order to place an order, and analyzed app interaction data for two days (from 10-01-2016 to 10-03-2016) to find the nodes where our users drop off the most. We can see that only 4.3% of the users who launched the app (40253) went on to look at the “Today’s Menu” (1746), and only 0.7% of the users who launched the app went on to successfully place an order.
“Screen Visited” seems to be the most frequently occurring event on our app, followed by the event “Menu Category Changed”. We can also observe that over the course of two days less than 15000 transactions have occurred (the event “Charged” has a frequency of 14,417).
Users often shift through food from different cuisines before making a final choice on what to purchase. Over here, we observe that Continental with a count of 5620, is the food category with the highest number of user views. Latin-American dishes were the least popular (with a view count of only 1).
Pan-Asian seems to be the most popular choice among people who’re interested in vegetarian food. And for non-veg eaters, the most popular is Continental.
Over here we drill down to the product level for two of the most popular categories, continental and pan-asian. We can observe that number of continental food items that are viewed far exceed the number of pan-asian food items.
We analyzed user sessions to identify the events/screens after which a user stops using the app (i.e. terminal event). The event “Menu Category Changed” seems to be the terminal event with the highest frequency (21899).
For the time period of two days (from 10-01-2016 to 10-03-2016), we noticed that the vast majority of unique users (53,196) accessed the app on Web. Of these users, 4940 users had placed orders and were charged. The second most popular platform is Android, with a unique active user count of 30,884, of which 4001 users were charged for their orders.
We see that several users close the app while making a decision as they switch between different menu categories. When a user is switching between categories more than once, they could be notified about a product which is the best seller, meal of the day, what similar users are ordering or a discount in order to help the user make an impulse decision, which could help increase the conversion rate.


Javascript Math
Math.floor(Math.random() * 5) returns a random integer between 0 and 9 (both included)


Welcome to participate in this experiment. The whole experiment consists of 4 sessions and each takes around 5min to finish. In each session, you are required to answer ALL questions. 欢迎参与我们的实验。整个实验一共有 4 个部分，每个部分大概需要5分钟的时间来完成。
Now assuming you have a challenging task -- teach four robots four kinds of skills, hand-shaking, boxing, playing piano, Washing a window. Suppose you recruit professional coaches to help teach and train robots remotely. Your task is to rate their performances during the learning process, and evaluate whether they are good learners. 在这个实验中你需要做的事情是————你有4个机器人，你需要教给它们4种不同的技能，有握手、弹钢琴、擦窗户和拳击。
Here are the 4 robots you need to teach. They look the same, but they may have different learning abilities. You need to teach each robot a different skill. The teaching order is random. And the robot will also be randomly assigned to you. 下面这4个机器人就是你今天的4个学生，他们长得几乎一样，但是可能会有不同的学习能力和上课专注度（就像人类学生那样）。你具体要教的技能，以及教学顺序都是随机的。
For each member (the robot), it needs to learn one skill in THREE steps.
你将通过3个步骤来教他们一项技能。
Step 1: A professional coach will demonstrate offline how to do that skill ( Check video below: Step 1 - Watching Coach's Demonstration ).
第一步是，观看一段视频，作为老师，你要率先掌握要教的技能
Step 2: You learn the skill and demonstrate to the robot (your skeleton will be extracted and your action will be recorded) ( Check video below: Step 2 - Showing Your Demonstration ).
第二步是，打开你的摄像头，在屏幕前把刚才的技能演示一遍（你的骨骼和动作会被算法提取出来并保存下来）
Step 3: After your demonstration, the robot will be trained by your virtual skeleton in an online simulated environment ( Check video below: Step 3 - Robot Learning from Demonstration ).
第三步是，你开始面对面的教你的机器人（在仿真平台中，你的骨骼代替你来教机器人）。
每一个技能，你需要教机器人5次，就像人类小孩一样，不同的机器人在学习过程中的专注程度可能不一样，在这5次学习过程中它们的专注程度也可能发生变化。
在每一轮的教学中，机器人的主要任务是观察你的教学动作，因此它不会立即告诉你它现在学的怎么样了。所以，需要你来通过观察它在学习过程中的反应，来预测一下它的学习进度。完成5轮教学之后，我们会要求你的机器人独立地表演一遍刚才你教给它的技能。
Good, you can start to watch the robot learning process right now. Please click next to start.
Click to watch the coach demonstration to see what the skill the robot needs to learn. 点击下面的按钮来看一下你要教给机器人什么技能吧
Click to show your demonstration. Your body movement will be recorded by the webcam of your devices. Please allow the webpage to get permission for the camera. 开始你的教学吧！浏览器会申请你的摄像头访问权限，请授予权限。你的身体骨骼和动作将被算法实时地提取出来。
一共需要教5轮，每一轮你都需要重新演示一遍刚才的技能，为了取得更好的教学效果，你可以选择点击第2步里的按钮，重新录制一遍你的动作，当然，如果你对自己的演示或者学生的表现比较满意，你也可以继续用之前录制的动作。
Now click to watch the robot learn the above skill in a simulator. Please pay attention to the robot behaviors. The learning process contains 5 iterations. 现在，到了你真的教你的机器人学生的时候了。请仔细的留意你的学生的行为。
Please rate the robot learning performances. You can re-watch the learning process. 请给你的学生打分，你可以重新看一遍刚才的教学过程视频。
Click to watch the coach demonstration to see what the skill the robot needs to learn. 点击下面的按钮来看一下你要教给机器人什么技能吧
Click to show your demonstration. Your body movement will be recorded by the webcam of your devices. Please allow the webpage to get permission for the camera. 开始你的教学吧！浏览器会申请你的摄像头访问权限，请授予权限。你的身体骨骼和动作将被算法实时地提取出来。
一共需要教5轮，每一轮你都需要重新演示一遍刚才的技能，为了取得更好的教学效果，你可以选择点击第2步里的按钮，重新录制一遍你的动作，当然，如果你对自己的演示或者学生的表现比较满意，你也可以继续用之前录制的动作。
Now click to watch the robot learn the above skill in a simulator. Please pay attention to the robot behaviors. The learning process contains 5 iterations. 现在，到了你真的教你的机器人学生的时候了。请仔细的留意你的学生的行为。
Please rate the robot learning performances. You can re-watch the learning process. 请给你的学生打分，你可以重新看一遍刚才的教学过程视频。
Click to watch the coach demonstration to see what the skill the robot needs to learn. 点击下面的按钮来看一下你要教给机器人什么技能吧
Click to show your demonstration. Your body movement will be recorded by the webcam of your devices. Please allow the webpage to get permission for the camera. 开始你的教学吧！浏览器会申请你的摄像头访问权限，请授予权限。你的身体骨骼和动作将被算法实时地提取出来。
一共需要教5轮，每一轮你都需要重新演示一遍刚才的技能，为了取得更好的教学效果，你可以选择点击第2步里的按钮，重新录制一遍你的动作，当然，如果你对自己的演示或者学生的表现比较满意，你也可以继续用之前录制的动作。
Now click to watch the robot learn the above skill in a simulator. Please pay attention to the robot behaviors. The learning process contains 5 iterations. 现在，到了你真的教你的机器人学生的时候了。请仔细的留意你的学生的行为。
Please rate the robot learning performances. You can re-watch the learning process. 请给你的学生打分，你可以重新看一遍刚才的教学过程视频。
Click to watch the coach demonstration to see what the skill the robot needs to learn. 点击下面的按钮来看一下你要教给机器人什么技能吧
Click to show your demonstration. Your body movement will be recorded by the webcam of your devices. Please allow the webpage to get permission for the camera. 开始你的教学吧！浏览器会申请你的摄像头访问权限，请授予权限。你的身体骨骼和动作将被算法实时地提取出来。
一共需要教5轮，每一轮你都需要重新演示一遍刚才的技能，为了取得更好的教学效果，你可以选择点击第2步里的按钮，重新录制一遍你的动作，当然，如果你对自己的演示或者学生的表现比较满意，你也可以继续用之前录制的动作。
Now click to watch the robot learn the above skill in a simulator. Please pay attention to the robot behaviors. The learning process contains 5 iterations. 现在，到了你真的教你的机器人学生的时候了。请仔细的留意你的学生的行为。
Please rate the robot learning performances. You can re-watch the learning process. 请给你的学生打分，你可以重新看一遍刚才的教学过程视频。
Click to watch the coach demonstration to see what the skill the robot needs to learn.
Now click to watch the robot learn the above skill in a simulator. Please pay attention to the robot behaviors.
Please rate the robot learning performances. You can re-watch the learning process.
Click to watch the coach demonstration to see what the sport the robot needs to learn.
Now click to watch the robot learn the above sports skill in a simulator. Please pay attention to the robot behaviors.
Please rate the robot learning performances. You can re-watch the teaching process.
Click to watch the coach demonstration to see what the sport the robot needs to learn.
Now click to watch the robot learn the above sports skill in a simulator. Please pay attention to the robot behaviors.
Please rate the robot learning performances. You can re-watch the teaching process.
Click to watch the coach demonstration to see what the sport the robot needs to learn.
Now click to watch the robot learn the above sports skill in a simulator. Please pay attention to the robot behaviors.
Please rate the robot learning performances. You can re-watch the teaching process.
Please copy the following code to finish the process in AMT.
Thanks for your time and efforts. You can close this window right now.
Thanks for your time and efforts. You can close this window right now.


Do you remember that class that you would love put an "if" before each method? Or, that in witch you would love to catch all exceptions in a unique stretch of code? Some way to change the application flow without any change in existing class? If you are thinking in aspects, you're wrong! There is a way to make the same thing without add any class, api, framework, special compiler or virtual machine. It's pure and basic Java. In this step I would like to present the Proxy class at Reflection API that comes together with Java since version 1.3.
The Proxy is a special class that allows intercept a set of methods identified by an interface. You can, for example, intercept all methods of a class to check if an attribute is not null or to catch possible exceptions in methods. E.g.: Let's say that the class below is present in our commercial systems:
publicclass Sum {
public Integer value1;
public Integer value2;
public Sum(Integer val1, Integer val2) {
value1 = val1;
value2 = val2;
}
public Integer sum() {
returnnew Integer(value1.intValue() + value2.intValue());
}
}
This class will run? It'll find the correct result? Well, being optimistical, yes, it will do. But, if a null value was passed as a parameter to the constructor, the method sum() will throw a pretty NullPointerException. Who is catching that? Anyone. Who will be using the class never will remember (and wouldn't have) that the method sum() can launch a exception. What we can do for solve? We can use reflection to help the user. Here we go.
First, we need an interface with the method to intercept. In our case, the sum().
publicinterface ISum {
public Integer sum();
}
After, we have to create a class that will handle the method call. This class will try to run the true method sum() in Sum class, if it fails, the NullPointerException must be catched and a zero value must return. The handle must implement the InvocationHandler interface and obviously implements the
public Object invoke(Object proxy, Method method, Object[] args)
method. This method will be called when the user invoke the method sum() in a Proxy class. The "try catch" will evict the NullPointerException. See above:
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
publicclass Handler implements InvocationHandler {
public Sum trueSum;
public Handler(Sum sum) {
this.trueSum = sum;
}
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
try {
return method.invoke(trueSum, args);
} catch ( Exception e ) {
returnnew Integer(0);
}
}
}
And now, to be beautiful, we must implement a Sum factory. An object that will create the true Sum and the proxy class. Anyone can create a Sum class without this factory class. You can block this action with a private or protected constructor.
import java.lang.reflect.Proxy;
publicclass SumFactory {
public ISum createSum(Integer val1, Integer val2) {
Sum sum = new Sum(val1, val2);
Handler handler = new Handler(sum);
Class[] interfacesArray = new Class[] {ISum.class};
return (ISum) Proxy.newProxyInstance(Sum.class.getClassLoader(), interfacesArray, handler);
}
}
As you can see, this class creates a Sum instance with the params to sum() and a handler to intercept the calls in a Proxy class. The var sum is passed into a Handler constructor to be the responsable to right result. The method newProxyInstance creates the Proxy class that will change the application flow, repassing responsibilities to handler. The var interfacesArray is an array of interfaces that have the methods to handler intercept.
To finish, it's necessary declare Sum class implementing the ISum interface. If you don't do this the Proxy class will throw an Exception like:
"Exception in thread "main" java.lang.IllegalArgumentException: object is not an instance of declaring class"
on constructor.
After, all this work, you can test with a simple class, like:
publicclass Test {
publicstaticvoid main(String[] args) {
ISum s = new SumFactory().createSum(null, new Integer(2));
System.out.println("Returns (null+2): "+s.sum());
s = new SumFactory().createSum(new Integer(3), new Integer(2));
System.out.println("Returns (3+2): "+s.sum());
}
}
Easy? Yes, the proxy class calls the handler that invokes que true sum() method and catch possible exceptions.
It is probably not a best example to illustrate Proxy. I mean, the InvocationHandler
public Object invoke(Object proxy, Method method, Object[] args)
the proxy argument will never be used. It is much easier for this case do not use Reflection at all.
publicclass SumProxy implements ISum {
public Sum trueSum;
public SumProxy(Sum sum) {
this.trueSum = sum;
}
public Integer sum() {
try {
return trueSum.sum();
} catch ( Exception e ) {
returnnew Integer(0);
}
}
}
I'm not sure i can offer the example to illustrate the Proxy advances.
Using java.lang.reflect.Proxy
At 11:47 PM on May 9, 2005, Vitor Fernando Pamplona wrote:
Fresh Jobs for Developers Post a job opportunity
The Proxy is a special class that allows intercept a set of methods identified by an interface. You can, for example, intercept all methods of a class to check if an attribute is not null or to catch possible exceptions in methods. E.g.: Let's say that the class below is present in our commercial systems:
This class will run? It'll find the correct result? Well, being optimistical, yes, it will do. But, if a null value was passed as a parameter to the constructor, the method sum() will throw a pretty NullPointerException. Who is catching that? Anyone. Who will be using the class never will remember (and wouldn't have) that the method sum() can launch a exception. What we can do for solve? We can use reflection to help the user. Here we go.
First, we need an interface with the method to intercept. In our case, the sum().
After, we have to create a class that will handle the method call. This class will try to run the true method sum() in Sum class, if it fails, the NullPointerException must be catched and a zero value must return. The handle must implement the InvocationHandler interface and obviously implements the public Object invoke(Object proxy, Method method, Object[] args) method. This method will be called when the user invoke the method sum() in a Proxy class. The "try catch" will evict the NullPointerException. See above:
And now, to be beautiful, we must implement a Sum factory. An object that will create the true Sum and the proxy class. Anyone can create a Sum class without this factory class. You can block this action with a private or protected constructor.
As you can see, this class creates a Sum instance with the params to sum() and a handler to intercept the calls in a Proxy class. The var sum is passed into a Handler constructor to be the responsable to right result. The method newProxyInstance creates the Proxy class that will change the application flow, repassing responsibilities to handler. The var interfacesArray is an array of interfaces that have the methods to handler intercept.
To finish, it's necessary declare Sum class implementing the ISum interface. If you don't do this the Proxy class will throw an Exception like: "Exception in thread "main" java.lang.IllegalArgumentException: object is not an instance of declaring class" on constructor.
After, all this work, you can test with a simple class, like:
Easy? Yes, the proxy class calls the handler that invokes que true sum() method and catch possible exceptions.
Until next time,
Vitor Fernando Pamplona
http://www.jroller.com/page/vfpamp
http://www.javafree.com.br
1 replies so far ( Post your own)
Re: Using java.lang.reflect.Proxy
It is probably not a best example to illustrate Proxy. I mean, the InvocationHandler public Object invoke(Object proxy, Method method, Object[] args) the proxy argument will never be used. It is much easier for this case do not use Reflection at all.I'm not sure i can offer the example to illustrate the Proxy advances.


Pick A Job Category to Start
Different fields have different expectations for job seekers. Their idea of perfect resume also varies accordingly. Start with any category you are interested in below and see how the professionals tailor their resumes to the fittest.


Full Name
Available
Setting
Logout
Dashboard
Menu
Patient Bio
Settings
Archive
Logout
Form Wizard
Patient Details
First Name
Middle Name
Surname
Gender
Click to choose
Male
Female
Age
Contact
Region
Ahafo Region
Ashanti Region
Bono East Region
Bono Region
Central Region
Eastern Region
Greater Accra Region
North East Region
Northern Region
Oti Region
Savannah Region
Upper East Region
Upper West Region
Volta Region
Western North Region
Western Region
Address
Next
Contact Person
Full Name
Relationship to Patient
Contact
Address
Go Back
Submit


|
|
FileZilla basic configuration
|
This page covers creating, deleting and modifying FileZilla Server user accounts although written specificity for Uniform Server the same principals apply equally to a standard installation of FileZilla.
Run FileZilla - Portable mode
To configure The FileZilla server always run the server in portable mode. If the server is currently running as a service stop and uninstall the FileZilla service as follows:
Stop and uninstall service
- Navigate to the folder \fz_server\fz_portable
- Locate file zilla_service_stop.bat
- Windows Vista, Windows 7, Windows 8 or Windows 10
- Require enhanced administration rights:
- Right click on file zilla_service_start.bat select zilla_service_stop.bat
- Displays "Service stopped and uninstalled" press any key, closes command window.
Start Portable FileZilla and administration Interface
- Run FZ Controller:
- Navigate to the folder \fz_server.
- Locate the file UniFzController.exe and double click.
- Opens UniServer FileZilla Controller shown on the right.
- A) Run FileZilla Server: Click Start FZ Server button runs server in background.
- B) Run FileZilla Interface: Click Sart Interface button. Opens the FileZilla administration Interface.
|
|
FileZilla Admin Interface Sections
The admin interface provides access to three server sections setting, users and groups. Two methods are available to select these, either via the drop down menu or the top row of icons.
- A) Settings: dropdown menu
- B) Users: dropdown menu
- C) Groups: dropdown menu
|
|
- A1) Settings: Top row icon
- B1) Users: Top row icon
- C1) Groups: Top row icon
|
|
Delete a User
|
If you wish you can delete the pre-configured user. The following shows how to delete any user.
- B) Select Users Edit > Users
- D) Select User to delete (ensure user is highlighted)
- E) Click Remove button. Deletes selected user.
Note: Although you can delete the pre-configured user it is recommended to leave it. Once the password has been changed it is save to use.
|
|
Add a User
|
To add a new user we first create a new user and set a password.
Create a user:
- B) Select Users Edit > Users
- F) Select menu item General note selected by default
- G) Click Add button. The Add user account pop-up displayed
- H) Enter a new user name.
- I) Click OK button, pop-up closes.
- J) Click Enable account check box - selected by default
- K) Click Password check box
- L) Enter a password for that user.
|
|
|
After creating a user you must assign a home folder (directory) to that user.
Assign a folder to user:
- M) Click Shared folders
- N) Ensure required user is selected
- O) Click Add button.
- In the pop-up window select a folder to share.
- P) The folder selected is displayed.
- To the left of this make sure “H” is displayed
- Q) If not clcik Set as home dir
- R) Select file privileges you wish to allow
- S) Select directory privileges you wish to allow
- T) Click OK button to finish.
|
|
Quick Test
Assuming you are running the server on your local machine you can quickly test the account.
Type the following into your browser:
- ftp://localhost/ a pop-up is displayed enter name fred and password you entered in step L) above.
- A page is displayed showing files and folders contained in your shared folder P).
Local network access
Anyone on your local network can access the ftp server by typing ftp://your_ip_address into their browser; they will be challenged for a user name and password.
To find your IP address use a command prompt:
- Open command prompt start > run > type in cmd > clik OK
- In the command window type ipconfig /all
- Look for your IP address. If you are using a wireless network the address will be similar to this <IP_ADDRESS>
- While in the command window look for Host Name (my PC name is mpg2) the name of your PC
(note sometimes this is not set-up)
A user can use either HostName or IP address to access your FTP server for example:
A user on your network would then type ftp://<IP_ADDRESS>/ Or ftp://mpg2/
Neither of the above is very easy on the eye an alternative is to get each user to add a memorable name to their hosts file.
For example under localhost add a line as shown below:
<IP_ADDRESS> localhost
<IP_ADDRESS> my_ftp_server
They must substitute <IP_ADDRESS> for your IP address and replace my_ftp_server with a memorable name.
Internet access
To access your FTP server from the Internet a user would type the following into a browser:
ftp://your_domain_name/ alternatively ftp://your_external_ip_address
On-line help:
Testing an FTP server for online access can be problematic however there are two useful online services that can help:
Ports:
If you have a direct Internet connection there should be no problems with access. However if you are using a router you need to forward ports 20 and 21 every router is different hence pay a visit to PortForwrd for detailed instructions.
Problems
You may be unlucky and have a service provider that blocks the common FTP ports. In this event try changing the ports. Do not allow your firewall to block Internet access otherwise you will need to manually enable access.
FTP Clients
Using a browser allows for quick testing however an FTP client offers more flexibility my personal favourite is FireFTP running on Firefox and
FileZilla Portable Client. It’s a personal taste hence choose one that suits your needs.
--oOo--
|


Equipment and preparation: You will need a box template, a 4cm/1½in cutter and a piping bag fitted with a rosette nozzle. Plus plus you will need to print off a
downloadable pdf template of the biscuit box design
.
For the biscuit box, put the flour, salt and pepper in a food processor and blend until ‘rubbed’ in.
In a bowl, beat the eggs with the tomato purée and oregano. Turn the processor onto a slow speed and pour in the egg mixture until combined to a dough.
Turn the mixture out and knead to bring together. Wrap in cling film and place in the fridge to chill for 20 minutes.
For the Parmesan crisp ‘sandwiches’, blend the flour, butter and cheese together in a food processor until it forms a soft ball. Wrap in cling film and leave to chill in the fridge for 20 minutes.
Preheat the oven to 200C/180C Fan/Gas 6.
Roll out the Parmesan mixture to 3mm thick and cut out 72 discs using a 4cm/1½in cutter.
Line enough trays to fit all the biscuits with baking parchment. Place the discs on the lined trays, brush 36 of the discs with paprika and bake for 8 minutes, or until just turning light golden-brown.
Remove from the oven. Leave for a few minutes and then transfer to a wire rack to cool. Leave the oven at the same temperature.
For the filling, beat the cream cheese with the pepper and chives in a bowl. Put the filling into a piping bag fitted with a rosette nozzle. Pipe the cream cheese onto the biscuits not dusted with paprika and top with a paprika-dusted biscuit.
To construct the biscuit box, using the template, cut out four sides and two 20cm/8in squares (for the base and lid). Place on a lined baking tray. Gently crimp all the edges of the shapes and brush with beaten egg.
On the lid of the box, cut a small circle in the centre before baking (about 4cm/1½in wide). Bake all the box pieces for 20-30 minutes, or until golden-brown and shiny. If the biscuit shapes start to puff up, put on a sheet of parchment paper in top, followed by another baking tray to weigh down the biscuits.
Remove the biscuits and cool slightly before putting on a wire rack to cool completely. Trim the slots using a sharp knife while the biscuits are still warm.
Fit the box parts together using the edible glue and stand the box on a base or serving plate.
Fill the box with the cheese sandwich biscuits - there should be 4 rows of 9 biscuits. Place the lid on the top and put a bunch of parsley and chives in the hole on the lid.


personal library
vocalists
pianists
guitarists
evaluate music performance
allowing expert musicians all over the world to take part in evaluating student performances.
videos
locations
countries
get song


3D Brain Visualizations¶
3D topographic brain map¶
The 3D topographic brain map provides a view of voltage measurements as a heatmap converted to estimated position on the brain. There are 2 plot options with different backends:
matplotlib (the version found on the UI)
pyVista (a better rendering but incompatible with the UI)
Both plots can be generated as an animation to view changes over time or as a standalone plot.
General Setup¶
Import required modules¶
from simpl_eeg import topomap_3d_brain, eeg_objects
import warnings
warnings.filterwarnings('ignore')
Note
Please include the line below in your IDE so that the changes would be simultaneously reflected when you make a change to the python scripts.
%load_ext autoreload
%autoreload 2
Create epoched data¶
For additional options see Creating EEG Objects section.
experiment_folder = "../../data/109"
epochs = eeg_objects.Epochs(experiment_folder)
frame_steps = 100
epoch = epochs.skip_n_steps(frame_steps)
Reading /Users/sasha/mds/simpl_eeg_capstone/data/109/fixica.fdt
Not setting metadata
Not setting metadata
33 matching events found
Setting baseline interval to [-0.2998046875, 0.0] sec
Applying baseline correction (mode: mean)
0 projection items activated
Loading data for 33 events and 2049 original time points ...
0 bad epochs dropped
Generate forward and inverse (optional)¶
Note
Before an animation or plot can be generated, a “forward” and “inverse” (abbreviated as “stc”) must first be generated. If they are not provided to either of the plotting animations they will be automatically generated, HOWEVER this will increase the time it takes to generate the figure.
The forward/inverse are used to retrieve a brain model to attach the EEG data and to do some of the mapping calculations. The forward downloads ‘fsaverage’ MRI data which represents a brain averaged out from dozens of different patients.
Generate Forward¶
fwd = topomap_3d_brain.create_fsaverage_forward(epoch)
0 files missing from root.txt in /Users/sasha/mne_data/MNE-fsaverage-data
0 files missing from bem.txt in /Users/sasha/mne_data/MNE-fsaverage-data/fsaverage
Source space : /Users/sasha/mne_data/MNE-fsaverage-data/fsaverage/bem/fsaverage-ico-5-src.fif
MRI -> head transform : /opt/miniconda3/lib/python3.8/site-packages/mne/data/fsaverage/fsaverage-trans.fif
Measurement data : instance of Info
Conductor model : /Users/sasha/mne_data/MNE-fsaverage-data/fsaverage/bem/fsaverage-5120-5120-5120-bem-sol.fif
Accurate field computations
Do computations in head coordinates
Free source orientations
Reading /Users/sasha/mne_data/MNE-fsaverage-data/fsaverage/bem/fsaverage-ico-5-src.fif...
Read 2 source spaces a total of 20484 active source locations
Coordinate transformation: MRI (surface RAS) -> head
0.999994 0.003552 0.000202 -1.76 mm
-0.003558 0.998389 0.056626 31.09 mm
-0.000001 -0.056626 0.998395 39.60 mm
0.000000 0.000000 0.000000 1.00
Read 19 EEG channels from info
Head coordinate coil definitions created.
Source spaces are now in head coordinates.
Setting up the BEM model using /Users/sasha/mne_data/MNE-fsaverage-data/fsaverage/bem/fsaverage-5120-5120-5120-bem-sol.fif...
Loading surfaces...
Loading the solution matrix...
Three-layer model surfaces loaded.
Loaded linear_collocation BEM solution from /Users/sasha/mne_data/MNE-fsaverage-data/fsaverage/bem/fsaverage-5120-5120-5120-bem-sol.fif
Employing the head->MRI coordinate transform with the BEM model.
BEM model fsaverage-5120-5120-5120-bem-sol.fif is now set up
Source spaces are in head coordinates.
Checking that the sources are inside the surface and at least 5.0 mm away (will take a few...)
Skipping interior check for 2433 sources that fit inside a sphere of radius 47.7 mm
Skipping solid angle check for 0 points using Qhull
Skipping interior check for 2241 sources that fit inside a sphere of radius 47.7 mm
Skipping solid angle check for 0 points using Qhull
Setting up for EEG...
Computing EEG at 20484 source locations (free orientations)...
Finished.
Generate Inverse¶
stc = topomap_3d_brain.create_inverse_solution(epoch, fwd)
Computing rank from data with rank=None
Using tolerance 1.4e-12 (2.2e-16 eps * 19 dim * 3.4e+02 max singular value)
Estimated rank (eeg): 19
EEG: rank 19 computed from 19 data channels with 0 projectors
Reducing data rank from 19 -> 19
Estimating covariance using EMPIRICAL
Done.
Estimating covariance using SHRUNK
Done.
Using cross-validation to select the best estimator.
Number of samples used : 21
log-likelihood on unseen data (descending order):
shrunk: -65.605
empirical: -257.367
selecting best estimator: shrunk
[done]
Converting forward solution to surface orientation
No patch info available. The standard source space normals will be employed in the rotation to the local surface coordinates....
Converting to surface-based source orientations...
[done]
Computing inverse operator with 19 channels.
19 out of 19 channels remain after picking
Selected 19 channels
Creating the depth weighting matrix...
19 EEG channels
limit = 20485/20484 = 9.583809
scale = 9.50316e+09 exp = 0.8
Applying loose dipole orientations to surface source spaces: 0.2
Whitening the forward solution.
Computing rank from covariance with rank=None
Using tolerance 2.4e-13 (2.2e-16 eps * 19 dim * 56 max singular value)
Estimated rank (eeg): 19
EEG: rank 19 computed from 19 data channels with 0 projectors
Setting small EEG eigenvalues to zero (without PCA)
Creating the source covariance matrix
Adjusting source covariance matrix.
Computing SVD of whitened and weighted lead field matrix.
largest singular value = 2.54939
scaling factor to adjust the trace = 6.64201e+24 (nchan = 19 nzero = 0)
Preparing the inverse operator for use...
Scaled noise and source covariance from nave = 1 to nave = 1
Created the regularized inverter
The projection vectors do not apply to these channels.
Created the whitener using a noise covariance matrix with rank 19 (0 small eigenvalues omitted)
Computing noise-normalization factors (dSPM)...
[done]
Picked 19 channels from the data
Computing inverse...
Eigenleads need to be weighted ...
Processing epoch : 1 / 1
[done]
Create a matplotlib 3D brain animation (recommended)¶
Define parameters¶
A detailed description of all parameters can be found in the topomap_3d_brain.animate_matplot_brain
docstring:
help(topomap_3d_brain.animate_matplot_brain)
Help on function animate_matplot_brain in module simpl_eeg.topomap_3d_brain:
animate_matplot_brain(epoch, stc='auto', views=['lat', 'dor', 'fro'], size=200, hemi='both', colormap='mne', colorbar=True, colormap_limit_type='lims', cmin=None, cmid=None, cmax=None, spacing='oct5', smoothing_steps=2, timestamp=True, frame_rate=12, **kwargs)
Creates an animated view of all timestamp observations an mne.epochs.Epochs data using a matplotlib backend.
If multiple views are used then speed becomes significantly slower. Colorbar placement may be inconsistent.
Parameters:
epoch: mne.epochs.Epochs or mne.evoked.EvokedArray
MNE epochs or evoked object containing portions of raw EEG data built around specified
timestamp(s) The inverse solution will be built based on the data in the specified epoch.
stc: mne.source_estimate.SourceEstimate | 'auto'
'inverse_solution' to generate the plot from. If set to "auto" (default) then an stc will be
automatically generated however, this will significantly increase running time.
views: str | list
Specifies the 'view' parameter in the mne.SourceEstimate.plot() function. For any backend
can be any combination of 'lat' (lateral), 'med' (medial), 'ros' (rostral), 'cau' (caudal),
'dor' (dorsal), 'ven'(ventral), 'fro'(frontal), 'par' (parietal). The following arguments
are also accepted but are NOT compatible with the matplotlib backend 'axi' (axial), 'sag'
(sagittal), and 'cor'(coronal). Defaults to ['lat', 'fro', 'dor'].
size: int
If using a non-matplotlib backend then specifies how many pixels tall EACH "view" of the brian will be.
If using matplotlib as a backend then the height will be divided by 100 and rounded the closest inch.
For example, entering 100 will result in 1 inch per view. If plotting multiple views overall size of
the multiplot is automatically calculated to fit all views. Defaults to 300.
hemi: str ('lh’ or ‘rh’ or ‘both’ or ‘split’)
Specifies the 'initial_time' parameter in the mne.SourceEstimate.plot() function. Can be
one of ‘lh’, ‘rh’, ‘both’, or ‘split’. Defaults to 'both'. Note that when using the matplotlib
backend that 'split' and 'both' will return a 'split' view since both is not avalible.
Defaults to 'both'
colormap: str | np.ndarray of float, shape(n_colors, 3 | 4)
Specifies the 'colormap' parameter in the mne.SourceEstimate.plot() function. Can use a
matplotlib colormap by name or take a custom look up table as input. Defaults to "mne"
colorbar: bool
Determines whether to include a colorbar on the plot not. Defaults to True.
colormap_limit_type: str
Can be either "lims" or "pos_lims". "lims" means that your cmin, cmid, and cmax values will specify the
"Lower, middle, and upper bounds for colormap". Using "pos_lims" will lead to cmin, cmid, and cmax representing
the "Lower, middle, and upper bound for colormap. Positive values will be mirrored directly across
zero during colormap construction to obtain negative control points." Defaults to "lims"
cmin: float
Specifies the lower value of the colormap limit. If no value is specified then
limits will be automatically calculated based on the mne.SourceEstimate.plot() function defaults OR
will be the negative value of cmax if only that is provided.
cmid: float
Specifies the middle value of the colormap limit. If no value is specified then
limits will be automatically calculated based on the mne.SourceEstimate.plot() function defaults OR
will be the value between cmin and cmax if one/both of them is provided.
cmax: float
Specifies the middle value of the colormap limit. If no value is specified then
limits will be automatically calculated based on the mne.SourceEstimate.plot() function defaults OR
will be the negative value of cmin if only that is provided.
spacing: str
Specifies the 'spacing' parameter in the mne.SourceEstimate.plot() function. "The spacing to use for the
source space. Can be 'ico#' for a recursively subdivided icosahedron, 'oct#' for a recursively subdivided
octahedron. In general, you can speed up the plotting by selecting a sparser source
space. Has no effect with mayavi backend. Defaults to ‘oct6’".
smoothing_steps: int
Specifies the 'smoothing_steps' parameter in the mne.SourceEstimate.plot() function. "The amount of smoothing".
3 by default.
timestamp: bool
Specifies whether or not to show the timestamp on the plot relative to the time in the epoch that
is being shown.
frame_rate: int or float
The frame rate to render the animation at. Defautls to 12.
Returns:
matplotlib.animation.FuncAnimation:
Animation containing frames from all of the avalible times in the passed in epoch.
colormap = "RdBu_r"
Generate animation with matplotlib backend (slow but recommended)¶
%%capture
matplotlib_animation = topomap_3d_brain.animate_matplot_brain(epoch, stc = stc, views = 'lat', hemi = 'lh')
from IPython.display import HTML
video = HTML(matplotlib_animation.to_jshtml())
video
Saving the animation¶
Save as gif¶
anim_brain = topomap_3d_brain.animate_matplot_brain(epoch, stc = stc, views = 'lat', hemi = 'lh')
gif_file_path = "examples/topomap_3d_brain.gif"
anim_brain.save(gif_file_path, fps=5, dpi=300)
Save as mp4¶
mp4_file_path = "examples/topo_2d.mp4"
anim_brain.save(mp4_file_path, fps=5, dpi=300)
Note
If FFMpegWriter
does not work on your computer you can save the file as a gif first and then convert it into mp4 file by running the code below.
import moviepy.editor as mp
clip = mp.VideoFileClip(gif_file_path)
clip.write_videofile(mp4_file_path)
Create a matplotlib 3D brain figure¶
Generating a matplotlib plot¶
%%capture
matplot_brain_fig = topomap_3d_brain.plot_topomap_3d_brain(epoch, stc=stc, backend='matplotlib')
Save the plot¶
You can change the file to different formats by changing the format argument in the function. It supports png
, pdf
, svg
.
file_path = "examples/topomap_3d_brain.svg"
matplot_brain_fig.savefig(file_path, format='svg')
Create a pyVista 3D brain animation¶
Generate figure with pyvista backend¶
pyvista_brain_fig = topomap_3d_brain.plot_topomap_3d_brain(epoch, stc = stc, backend = 'pyvista')
Save animation with pyvista backend¶
topomap_3d_brain.save_animated_topomap_3d_brain(pyvista_brain_fig, filename = "brain_animation.gif")


This page will refresh in {{remainingTime}}s
| Name: | {{person.name}} |
| Address: | {{person.address}} |
| Phone: | {{person.phone}} |
| Email: | {{person.email}} |
| Job Title: | {{person.job}} |
| Company: | {{person.company}} |
You can manually refresh the page to get a new profile.


Awesome Profile Cards
Front-End development
Technical summary:WebApp built in JavaScript to create your own business card. Web layout with HTML5 & CSS3 with customisable themes. Errors in required fields are not filled in. Local storage. Use of Twitter's API.
Usage:Customize your own business card by choosing colours, fonts and chosing your best profile picture. Include links to your Linkedin, Github, email. Once is ready, make sure you share it in your Twitter account!
Features: - Form fields to create your professional card - Local Storage to save information previously filled in - Three color options - Share directly to Twitter


enter your details in the form below
full name
First name:
Middle name:
Last name:
date of birth
gregorian date:
hebrew date:
adrress
city:
street:
number:
apartment:
zipcode:
contact details
Email:
secondary Email:
phone number:
secondary phone:


{% extends "layout.html" %} {% block body %}
This text area should have colour background
We can give the area a height beyond the few text, for better visibility
This is the {{title}} page
This text should have colour background
We can give the area a height beyond the few text, for better visibility too
This text area should have image background as well
We can choose to fix the image or scroll
We can give the area a height beyond the few text, for better visibility too
This text should have colour background
We can give the area a height beyond the few text, for better visibility too


Jump to: Leiden, ETHZ, Cornell, St Andrews
(Right-click ‘view image’ to see a larger image.)
First advertisement.
From the group of Andreas Wallraff.
From the group of Seamus JC Davis.
From the group of Felix Baumberger (now at University of Geneva).