THE RIGHT SOFTWARE AND SUPPORT TEAM FOR ENTERPRISE-SCALE APPLICATION DEVELOPMENT
The Grails® framework and core development team deliver the tools and support an enterprise company needs to overhaul its technology stack and enhance operations across the board.
THE OBJECTIVE
A leader in the global life reinsurance industry set out to upgrade its systems to support:
- Increased demands for speed-to-market
- Continuous innovation
- Scalability
- Reduced software licensing costs
The solution
The company identified the Grails framework as the ideal toolkit for the project. Systems were successfully upgraded using the Grails framework as the driver for their:
- Internal and external web services
- XML SOAP-based services
- REST services
- AngularJS applications
- Traditional web 1.0 applications
THE RIGHT TECHNOLOGY
Outstanding software engineering support and strong documentation, bolstered by a vibrant user community, make the Grails framework a terrific choice for any organization looking to quickly bring industrial-strength, scalable, and integrated solutions to market.
Because the Grails framework represents a combination of convention over configuration and sensible defaults, it has been described as “Java on steroids.”
Popular among shops that have invested in Java or JVM-based technologies, the Grails framework:
- Facilitates rapid application development
- Is welcomed by development teams, including those currently using Spring and Hibernate, due to its ability to accelerate developer productivity by 50-70%
- Is applauded by businesses as a tailored feature set, resulting in streamlined learning, development efficiency, and support responsiveness
- Supports exponential scaling
- Deploys well within existing, complex environments
- Provides necessary flexibility to develop plug-ins and to quickly resolve issues
Grails is not just for rapid prototyping; our situation is proof that Grails is built for enterprise-scale application development.
Development with Grails is significantly faster than with Java, or anything else we had worked with or explored.
OCI consultants deliver a level of consistency that we haven’t seen. And that consistency means reduced risk to our projects.
Client Testimonials
OBJECT COMPUTING GRAILS SUPPORT
Having successfully upgraded its systems with the Grails framework, the company reached out to us for assistance in augmenting and supporting its technical teams.
Because Object Computing is home to the Grails framework, our Grails team stands apart from other technology service providers with regard to our Grails expertise.
When it comes to maintaining and upgrading Grails applications, enhancing features and functionality, integration assistance, and more, our clients come to us for access to the architects and engineers who developed the framework and have spent their careers supporting and maturing it.
- Grails co-founders lead the Object Computing Grails team, along with subject matter experts from around the globe.
- Engaging the core Grails team enables faster project upgrades, improving overall speed-to-market.
- Training programs are delivered by Grails team members, who are uniquely positioned to share first-hand experience with the framework and to provide customized, targeted training.
- Engaging the Object Computing team affords access to our network of open source technologists, delivering quick and seamless support for all projects, even those not integrated with Grails applications.
Client Testimonials
"Grails is not just for rapid prototyping; our situation is proof that Grails is built for enterprise-scale application development."
"Development with Grails is significantly faster than with Java, or anything else we had worked with or explored."
"OCI consultants deliver a level of consistency that we haven’t seen. And that consistency means reduced risk to our projects."


{% extends "header.html" %} {% block title %}
Are you sure you want to save changes?
Are you sure you want to update your repositories? Your bookmarked repos will remain unchanged.
 You will lose all your changes.
Input the name of your desired category and it will be added to the page.


This tutorial will help you learn the major principles of CSS positioning so you can create flowing websites.
Why do I need this?
Learning CSS positioning traditionally requires hours of trial and error, and confusion when your entire design changes by just toggling the position attribute. This 15 min tutorial will hopefully prevent that.
What is the focus?
You will build an ice cream sundae using these position properties:
This image sets the direction for how we will build the sundae
Ice cream scoops v. glass
The number of ice cream scoops is limited by the glass height. We cannot keep stacking ice cream scoops forever. Eventually, the whole beautiful setup would topple over.
Cherries have separate rules
You can put the cherries wherever you darn please. Cherries do not obey the flow and stacking of the scoops. They are smaller, and can fit in nooks and crannies where you cannot fit an ice cream scoop. And, more cherries will not upset the order of the scoops.
Whipped cream on top
The whipped cream sits on top, no matter how many scoops there are. Have you ever seen an ice cream sundae with the whipped cream in the middle, and none on top? Neither have I.
Go to Step 3
Position: Static (3/15)
This is the default position attribute
The Entire Sundae
As shown in the previous image, our whole sundae can handle 5 scoops of ice cream. Let's assume that the sundae has a height of 500px. There is no need to state the position property explicitly, since "static" is default.
Give your fullSundae div a height of 500px, no need to specify position.
.fullSundae{
}
Back
Go to Step 4
Did you set height to 500px?
Position: Static (4/15)
This is the default position attribute
The Top Scoops
We are going to do this a little out of order. Let's add the top scoops since it is straightforward. Each scoop should have a height of 100px.
Give each iceCreamScoop at the top level a height of 100px.
.fullSundae > .iceCreamScoop{
}
Back
Go to Step 5
Did you set height to 100px?
Position: Relative (5/15)
Let's prepare the glass, a container div
The Glass
There are two components to the glass div: the glass itself, and the scoops inside. Each must have position relative. Let's do the glass first.
Since the glass contains three scoops, it is 60% of the height of the entire div. It also must have position relative to accomodate the cherries, which we will cover in the position:absolute section.
Give your glass div a height of 60% and position relative.
.fullSundae{
}
Back
Go to Step 6
Did you set position relative?
Position: Relative (6/15)
Let's add the ice cream scoops
The Scoops
There are three scoops within the glass. Since they fill the glass, they must each be 33.3% of the height, and position relative.
Relative is important so that we are able to adjust their position in relation to their parent container, the glass.
Give each scoop a height of 33.3% and position relative.
.fullSundae > .iceCreamScoop{
width: 80%;
}
Back
Go to Step 7
Did you set height to 33.3%?
Position: Relative (7/15)
Practicing position relative
Moving The Scoops
The top two scoops of the glass are not perfectly aligned. The top scoop leans left, and the middle scoop leans right. Let's make sure the code reflects that using position relative. There is a 20% gap on the right of the top scoop, and a 20% gap on the left of the middle scoop.
Position relative can be used to shift a div by a percentage in relation to the parent. Use the 'left' and 'right' attributes to shift each scoop by 20%.
You need to set a container for position:absolute elements (the cherries which we will do later)
You want to shift elements in one direction within the container (ice cream scoops that sit unevenly)
Back
Go to Step 9
Position: Fixed (9/15)
Let's add the whipped cream on top
The Whipped Cream
Whipped cream is always on top of the sundae. If you have a massive pile of whipped cream on top, you will still be able to fit 5 scoops without overflowing or toppling.
Similarly, position fixed elements always stay in the same position on the user's screen, no matter how long the body is.
Show Size Options
Back
Go to Step 10
Position: Fixed (10/15)
Let's add the whipped cream on top
The Whipped Cream
We want the whipped cream to always stay on top, no matter the height of the sundae. So let's added position fixed and set top to 0.
Add position fixed and top 0.
.whippedCream{
}
Back
Go to Step 11
Did you set top to 0?
Position: Absolute (11/15)
Let's add some cherries!
The Cherries
Position absolute allows us to place items in specific places, without disrupting the flow of other elements. But there is one major caveat- these items do not "stack" like the glass and ice cream scoops do.
This makes cherries a perfect example, since they can be crammed into different gaps of the glass without upsetting the scoops.
Back
Go to Step 12
Did you set top to 0?
Position: Absolute (12/15)
Let's add some cherries!
The Cherries
Let's put one cherry on top. Again, this does not interfere with the flow of the scoops. Put it 50% from the left and top 0.
Add left of 50% and top 0 to the topmost cherry.
.fullSundae > cherry{
position:absolute;
}
Back
Go to Step 13
Did you set left to 50%?
Position: Absolute (13/15)
Let's add some cherries!
The Cherries
Remember when we added position: relative to the glass way back when? Here is why: because when we place position absolute elements, they move relative to the nearest parent that is NOT position static.
So, if we want to add two cherries within the glass, the glass should have position relative. Again, the cherries will not upset the main flow of ice cream scoops.
Add one cherry 5px from the left, and 5px from the top. Add another cherry 15px from the bottom, and 2px from the left.
What position should the entertainment center have?
The Flow of Elements
Do the pieces of the entertainment center flow together? Does it make sense to stack them?
The TV has a width of 60%. The stand has a width of 100%.
.tv{
}
.stand{
}
Test Solution
Back
Continue
Does your answer contain a valid position value?
The Entertainment Center (5/8)
What position should the pieces of the entertainment center have?
Position:Static
The TV div stacks on top of the stand div. There is no unusual arrangement.
Back
Continue
Books (6/8)
What position should the books have?
The Flow of Elements
Within the stand, there are three sections where we can store books. In the far left section, we want our books to start 3% from the left side of the section. In the far right section, we want our books to start 20% from the left side of the div.
Make the books within the left section 3% from the left side, and the books in the right section 20% from the left edge. Do NOT use the margin property!
Since we are not using the margin property, the books must have position:relative so we can move them with the "left" property. When we set "left" to 3%, that means they are moving by 3% of the width of their parent container.


Press release
Kathleen Sandford from Stourport-on-Severn, Worcestershire, wins National Apprenticeship Award at an exclusive ceremony at London’s Grosvenor House.
Kathleen, aged 20, learning and development administrator with the Community Housing Group, fought off competition from hundreds of other apprentices around England to be awarded the top prize.
The awards, now in their twelfth year, are run by the National Apprenticeship Service and recognise excellence in two areas: businesses that grow their own talent with apprentices and apprentices who have made a significant contribution to their workplaces.
Skills Minister Nick Boles said:
Congratulations to Kathleen for your success at the National Apprenticeship Awards. Apprenticeships truly are set to be one of the great success stories of the decade, and Kathleen is a worthy ambassador.
We are committed to 3 million apprenticeships by 2020 so that even more young people can follow Kathleen’s lead and reap the benefits of apprenticeships.
Employment Minister Priti Patel said:
I would like to extend my warmest congratulations to Kathleen for her fantastic achievement in being named the McDonald’s Intermediate Apprentice of the Year at the National Apprenticeship Awards.
Apprenticeships offer a fantastic way for many young people of all backgrounds to earn as they learn while providing employers with the transferable skills needed to take their business from strength to strength. We currently have record-breaking levels of employment – and this is boosted by prospects like apprenticeships. I want to see this continue.
By working closely with businesses and taking steps like rolling out our ‘Jobcentre Plus Support for Schools’ programme to teach pupils about work experience, apprenticeships and traineeships, we are helping to create an even more flexible and resilient labour market for the future.
Kathleen was chosen as the winner in recognition of the outstanding contribution she has made to company since joining as an apprentice in 2013.
From day one it was clear that Kathleen was far more competent than expected for someone so young with little experience. She has become a valued colleague that people go to for help and support. What she truly brings to the team is immeasurable, constantly challenging colleagues to think in a different way and helping improve the service. She now runs all of the company’s social media sites.
On accepting the award, Kathleen said:
During Sixth Form, lacking motivation and any direction, I didn
t want to attend university and felt I was stuck for options. That
s when I discovered apprenticeships. I knew immediately this was the route for me.As my knowledge and skills have grown, I`ve been given more responsibility within the department. I am now in charge of all Care and Support training, designing marketing materials, photography and running social media accounts.
When I started my apprenticeship I was 17 and fresh out of sixth form. Over the past 2 years I have achieved more than I could have ever imagined. The stand out moment for me over the past two years is having photographs I
ve taken and adverts I
ve designed in the local press. The thing I am most proud of is the feeling of having made a difference within my team.I am proud of my journey to date. I believe and have seen the positive effect an apprenticeship can have on someone
s life. Just because you don
t go to university, it doesnt mean you won
t succeed. I will carry on spreading this important message to inspire and motivate others.
Nadhim Zahawi, the Prime Minister’s Apprenticeship Adviser, who presented the awards, said:
The Prime Minister is committed to 3 million apprenticeship starts by 2020 and I am excited to have a role in helping to deliver this goal, while pushing to revolutionise the skills of our workforce in Britain. Good quality apprenticeships create a fairer society by giving hard working young people the chance to aim for their dream job whilst playing their part in building a stronger economy for Britain.
There are many examples of excellent apprenticeship and apprentices in England and these winners are the best of the best. I congratulate Kathleen on her success. It’s an honour to have been part of these awards; to play a small part in recognising the effort of so many great businesses and to reward apprentices for their hard work and dedication. All this year’s winners should shout from the rooftops about what taking an apprenticeship has done for them or what hiring an apprentice has done for their business. I am determined that apprenticeships should be given the recognition they deserve, because they absolutely do deserve it.
Lesley Roberts, National Education Manager from McDonald’s, said:
We are delighted to be sponsoring the Intermediate Apprentice of the Year Award. The National Apprenticeship Awards showcase and recognise the many benefits apprenticeships bring to individuals and businesses and inspire others to follow, enabling them to lead successful lives and drive economic growth.
The McDonald’s Apprenticeship Programme helps our employees to develop new and relevant skills, gain knowledge about our industry and progress through our career path.
To view the full list of award winners and finalists or for more information about apprenticeships, search on GOV.UK.
The National Apprenticeship Service challenged the nation’s top apprenticeship employers and apprentices to come forward and show how apprenticeships have made a real difference to them. Now in their twelfth year, the National Apprenticeship Awards are an opportunity to highlight the many success stories and the benefits of Apprenticeships.
There are six employer categories ranging from Small to Macro, and two newcomer categories – large and SME. Categories are open to employers of all sectors.
For the fifth year running the very best employer category entries will have the additional bonus of featuring in the prestigious annual Top 100 Apprenticeship Employers list.
There are four apprentice categories, which are: intermediate, advanced and higher apprentice of the year, and the hotly contended apprenticeship champion of the year.
The National Apprenticeship Service supports the delivery of apprenticeships and traineeships in England. It offers free impartial advice and support to employers looking to recruit for the first time or expand their programme. This includes simplifying the process of recruiting an apprentice or trainee through the support of employer focused teams and Find an apprenticeship and Find a traineeship recruitment sites on GOV.UK where employers can advertise their vacancies and potential apprentices or trainees can apply.
Call 08000 150 600 or search for apprenticeships on GOV.UK to find out more.
Published: 29 January 2016
From: Skills Funding Agency
Part of: National Apprenticeship Awards 2015


So what exactly are semantics? Semantics within html is the practice of giving content on the page meaning and structure
by using the proper element. Semantic code describes the value of content on a page, regardless of the style or appearance
of that content. Several benefits of using semanticc elements include enabling computers, screen readers, search engines,
and other devices to adequately read and understand the content on a web page.
Division And Spans
A division is a block-level element that is commonly used to identify large groupings of content, and which helps to build
a wb page's layout and design. A
span, on the other hand, is an inline-level elements may be nested inside one another; however, they cannot wrap
block-level elements. We'll usually see inline-level elements with smaller pieces of a content, such as a few words.
Text-Based Elements
Many different forms of media and content exist online; however, text is predominant.
Accordingly, there are a number of different elemetns ofr displaying text on a web page.
For now we'll focus on the more popular elements, including headings, paragraphs, bold
to show importance, and italics for emphasis.
Headings
Headings are block-level elements, and they come in six different rankings, (h1) through (h6). Headings help to quickly
break up content and establish hierachy, and they are key identifiers for users reading a page. They also help search enines to
index and determine the content on a page.
Each heading level should be used where it is semantically valued, and should not be used to make text bold or big—there
are other, better ways to do that.
Paragraphs
Headings are often followed by supporting paragraphs. Paragraphs are defined using the (p) block-level element. Paragraphs can
appear one after the other, adding information to a page as desired.
Bold Text With Strong
The (strong) element is semantically used to give strong importance to text, and is thus the most popular option for
bolding text. The (b) element, on the other hand, semantically means to stylistically offset text, which isn’t
always the best choice for text deserving prominent attention. We have to gauge the significance of the text we wish to set
as bold and to choose an element accordingly.
Italicize Text with Emphasis
The (em) element is used semantically to place a stressed emphasis on text; it is thus the most popular option for italicizing
text. The other option, the (i) element, is used semantically to convey text in an alternative voice or tone, almost as if
it were placed in quotation marks. Again, we will need to gauge the significance of the text we want to italicize and choose
an element accordingly.
Building Structure
The <header> element, like it sounds, is used to identify the top of a page, article,
section, or other segment of a page. In general, the <header> element may include a
heading, introductory text, and even naviation.
<header> vs. <head> vs. <h1~6>
It is easy to confuse the (header) element with the (head) element or the heading elements, (h1) through (h6). They all have
different semantic meanings and should be used according to their meanings. For reference:
The (header) element is a structural element that outlines the heading of a
segment of a page. It falls within the (body) element.
The (head) element is not displayed on a page and is used to outline metadata,
including the document title, and links to external files. It falls
directly within the (html) element.
Navigation
The (nav) element identifies a section of major navigational links on a page. The (nav) element should be reserved for primary
navgation sections only, such as global navigation, a table of content, previous/next links, or other noteworthy of navigational
links.
Most commonly, links included wihtin the (nav) element will link to other pages within
the same website or to parts of the same web page. Miscelllaneous one-off links should
not be wrapped within the (nav) element; they should use the anchor element, (a), and
the anchor element alone.
Article
The (article) element is used to identify a section of independent, self-contained content that may be independently distributed
or reused. We’ll often use the (article) element to mark up blog posts, newspaper articles, user-submitted content, and the
like.
When deciding whether to use the (article) element, we must determine if the content within the element could be replicated elsewhere
without any confusion. If the content within the (article) element were removed from the context of the page and placed, for example,
within an email or printed work, that content should still make sense.
Section
The section element is used to indentify a thematic grouping of content, which gnerally, but not always, includes a heading. The grouping
grouping of content within the section element may be generic in nature, but it's useful to identify all of the content as related
The section element is commonly used to break up and provide hierachy to a page.
Aside
We may instinctively think of an (aside) element as an element that ppears off to the left or right
side of a page. However an (aside) elements actually appears on a new line just as every bock-level
does, so if we want to change the positioning of the element to side, we would need to position with
css style.
Creating Hyperlinks
Along with text, one of the core components of the Internet is the hyperlink, which provides the ability to link from one
web page or resource to another. Hyperlinks are established using the anchor, <a>, inline-level element. In order to
create a link from one page (or resource) to another, the href attribute, known as a hyperlink reference, is required. The
href attribute value identifies the destination of the link.
Wrapping Block-Level Elements with Anchors
By nature of the anchor element, (a), is an inline element, and according to web standards,
inline-level elements may not wrapt block-level elements. With the introduction of HTML5,
however, anchor elements specifically have permission to wrap either block, inline or any
tlevel elements. This is a break from the standard convention, but it's permissbible inorder
to enable entire blocks of content on a page to become links.
Relative & Absolute Paths
The two most common types of links are links to other pages of the same website and links to other websites. These links
are identified by their href attribute values, also known as their paths.
Links pointing to other pages of the same website
will have a relative path, which does not include the domain (.com, .org, .edu, etc.) in the href attribute value. Because
the link is pointing to another page on the same website, the href attribute value needs to include only the filename of
the page being linked to: about.html, for example.
Should the page being linked to reside within a different directory, or
folder, the href attribute value needs to reflect this as well. Say the about.html page resides within the
pages directory;
the relative path would then be pages/about.html.
Linking to other websites outside of the current one requires an absolute
path, where the href attribute value must include the full domain. A link to Google would need the href attribute value of
http://google.com, starting with http and including the domain, .com in this case. Linking to local files requires an absolute
path, where the href attribute contain the local url of the file.
Click to open notes.html
Linkding to an Email Address
Occasionally we may want to create a hyperlink to our email address—for example, hyperlink text that says “Email Me,” which
when clicked opens a user’s default email client and pre-populates part of an email. At a minimum the email address to which
the email is being sent is populated; other information such as a subject line and body text may also be included.
To create an email link, the href attribute value needs to start with mailto: followed by the
email address to which the
email should be sent. To create an email link to<EMAIL_ADDRESS>for example, the href attribute value would be mailto<EMAIL_ADDRESS>Additionally, subject, body text, and other information for the email may be populated. To add a subject line, we’ll include
the subject= parameter after the email address. The first parameter following the email address must begin with a question
mark, ?, to bind it to the hyperlink path. Multiple words within a subject line require that spaces be encoded using %20.
Adding body text works in the same way as adding the subject, this time using the body= parameter in the href attribute
value. Because we are binding one parameter to another we need to use the ampersand, &, to separate the two. As with the
subject, spaces must be encoded using %20, and line breaks must be encoded using %0A.
One feature availble with hyperlinks is the ability to deterine where a link opens
when clicked. Without any specification, links open in the same window from which they are clikced,
however, links may also be opened in new windows.
To trigger the action of opening a link in a new window, use the target attribute with a value of _blank.
The target attribute determines exactly where the link will be displayed, and the _blank value specifies a new window.
Cloudnest.org
Linking to parts of the same page
Periodically we'll see hyperlinks that link to part of the same page the link appears on. A common exaple
of these same-page links are "Back to top" links that return a user to the top of a page.
We can create an on-page link by first setting an id attribute on the element we wish to link to, then using the value of
that id attribute within an anchor element’s href attribute.
Using the “Back to top” link as an example, we can place an id attribute value on the taget element, and create
an anchor element with an href attribute value of #top, pound sign and all, to link to the target element.


Leap Cards could be replaced by contactless card payments
by James CoxA new plan has proposed that would see the Leap Card phased out.
The new technology will first be tested on urban bus routes, with contactless payments set to replace the travel cards.
The National Transport Authority will engage with service providers with the goal of integrating its new "next-generation ticketing" system by 2027.
The system will allow passengers to pay in a number of ways, including through mobile phones, bank cards and official identification cards.
The plans would also allow for anonymised payments through QR codes and electronic tokens.
The NTA said the new measures would eliminate the need for interaction between the passenger and driver, meaning payment deals are cut.
Processing of payments at bus stops is the second biggest source of delays, with 20% of passengers still paying in cash.
Meanwhile, when passengers are using Leap Cards they normally must discuss their destination with the driver, a cause of further delays.
An NTA spokesperson said: “Even with Leap Card, the complexity of stages means a large percentage of passengers have to interact with the driver with resultant delays at bus stops due to the fact that the NTA does not currently have a flat fare and operates a tag-on only system."


Methods
_down (evt)
private
myfs/docs/assets/js/documon/Draggable.js
268
The mouse "down" listener function
_initMove (evt)
private
myfs/docs/assets/js/documon/Draggable.js
285
A one-time setup to extablish the starting position and create the (mask)[#maks].
Parameters
|
evt
|
MouseEvent
Transfered from teh "move" listener.
|
_move (evt)
private
myfs/docs/assets/js/documon/Draggable.js
325
The mouse "move" listener function
_up (evt)
private
myfs/docs/assets/js/documon/Draggable.js
398
The mouse "up" listener function
callback (obj, pos, kind, didmove, arg)
protected
myfs/docs/assets/js/documon/Draggable.js
257
The function to ping when an operation occurs.
Parameters
|
obj
|
object
The internal object we use to manage the
|
|
pos
|
object
An object with the following properties: left, top
|
|
kind
|
string
The kind of operation that occured. Can be "start" | "end" | "move"
|
|
didmove
|
boolean
Indicates if the item was simply clicked, or if it was dragged. Only issued when event == "end"
|
|
arg
|
any
The argument that was defined during initialization.
|
destroy ()
myfs/docs/assets/js/documon/Draggable.js
442
Destroys and removes listeners.
init (params)
protected
myfs/docs/assets/js/documon/Draggable.js
229
Initialize
Parameters
|
params
|
object
See main class description for details.
|
parsePos (elem)
private
myfs/docs/assets/js/documon/Draggable.js
83
Gets the CSS position (releative) of a DOM Element.
setConstrain (val)
myfs/docs/assets/js/documon/Draggable.js
434
Causes the movement to be contrained along the X or Y axis.
Parameters
|
val
|
string
Use "x" or "y". Use "null" or no argument to clear contstraint.
|
setConstrainRect (val)
myfs/docs/assets/js/documon/Draggable.js
425
Sets the rectangle used to for the boundaries that the item can move within.
Parameters
|
val
|
Object
An object containing the following properties: x, y, width, height . Use "null" or no argument to clear contstraint.
|
setX (evt, val)
private
myfs/docs/assets/js/documon/Draggable.js
48
Shortcut to set the style position.
Parameters
|
evt
|
DOM Element
|
|
val
|
number
The x position in pixels.
|
setXY (evt, x, x)
private
myfs/docs/assets/js/documon/Draggable.js
71
Shortcut to set the style position.
Parameters
|
evt
|
DOM Element
|
|
x
|
number
The x position in pixels.
|
|
x
|
number
The y position in pixels.
|
setY (evt, val)
private
myfs/docs/assets/js/documon/Draggable.js
59
Shortcut to set the style position.
Parameters
|
evt
|
DOM Element
|
|
val
|
number
The y position in pixels.
|


For example, {t name="sagi"}my name is %1{/t} will replace %1 with sagi. The parameter name is ignored, unless it is one of the reserved names (see below). Only the parameters order matters. Example for using multiple parameters: {t 1='one' 2="two " 3=three}The 1st parameter is %1, the 2nd is %2 and the 3nd %3.{/t}


RiskInDroid
RiskInDroid
is a tool for quantitative risk analysis of Android applications based on machine learning techniques. The tool uses classification techniques in order to generate a numeric risk value between 0 and 100 for a given app.
Analyze application
adb
Experimental results
file_download
Drop an application here or click to choose one
(max. 100 MB)
Submit
Source code is available at:
https://github.com/ClaudiuGeorgiu/RiskInDroid


Change Tracking
Using the ChangeTrackingModelBase
and ChangeTrackingModelCollection
base classes enable the change tracking features in Tortuga Anchor.
To fully take advantage of these capabilities, the following rules must be followed:
- All tracked properties are managed (i.e. they use the
Get
/Set
helper methods). - All tracked model properties are subclasses of
ChangeTrackingModelBase
orEditableObjectModelBase
- All tracked collection properties are subclasses of
ChangeTrackingModelCollection
orEditableObjectModelCollection
- There are no circular graphs among tracked properties. This means that if A is the child of B, then B can't also be the child of A.
IChangeTracking
Tortuga Anchor implements IChangeTracking at the object graph level. This means that IsChanged
will return true if the object has changes or if any of its managed children have changes.
If you want to know if the current object is changed, without considering its children, use the IsChangedLocal
property.
Calling AcceptChanges()
will mark the current object as unchanged and call AcceptChanges()
and all of its managed children.  This is why circular graphs are problematic.
One way to avoid a circular graph is to use an unmanaged property to refer to a parent object.
public EmployeeCollection Employees => GetNew<EmployeeCollection>(); public Employee Manager {get; set; } //back-reference
The typical use of this interface is to track records that have unsaved changes.
IRevertibleChangeTracking
Like IChangeTracking, this works at the object graph level. Invoking RejectChanges()
will call RejectChanges()
.
IPropertyChangeTracking/IDetailedPropertyChangeTracking
These interfaces are specific to Tortuga Anchor.
The ChangedProperties()
method will return a readonly list of modified property names. To get the previous value of any property, use the GetPreviousValue(string propertyName)
method. Retrieving the current value can be done normally or via reflection.
These interfaces are meant to be used for logging changes to an object. They are also used by Tortuga Chain when generating SQL.
IEditableObject
The IEditableObject
is used in .NET to deal with short-term, revertible changes. If you imagine a dialog window with Ok and Cancel buttons, that would normally be implemented using IEditableObject
. Data grids in WinForms and WPF also use this interface.
In Tortuga Anchor, this interface is exposed by the EditableObjectModel
and EditableObjectModelCollection
base classes. As with ChangeTrackingModelBase
, the BeginEdit()
, EndEdit()
, and CancelEdit()
methods are implemented at the object graph level.
Since EditableObjectModel
and EditableObjectModelCollection
also implement IRevertibleChangeTracking
, you effective have two levels of undo possible.


Class UserClient
Inherited Members
Namespace: Picturepark.SDK.V1
Syntax
public class UserClient : ClientBase, IUserClient
Constructors
UserClient(IPictureparkClientSettings, Net.Http.HttpClient)
Declaration
public UserClient(IPictureparkClientSettings configuration, Net.Http.HttpClient httpClient)
Parameters
|
IPictureparkClientSettings
configuration
|
|
System.Net.Http.HttpClient
httpClient
|
Methods
Get(String)
Get by id
Declaration
public UserDetail Get(string userId)
Parameters
|
System.String
userId
The user id |
Returns
|
UserDetail
UserDetail |
Implements
Exceptions
|
ApiException
A server side error occurred. |
|
PictureparkException
Internal server error |
GetAsync(String, CancellationToken)
Get by id
Declaration
public Task<UserDetail> GetAsync(string userId, CancellationToken cancellationToken = null)
Parameters
|
System.String
userId
The user id |
|
System.Threading.CancellationToken
cancellationToken
A cancellation token that can be used by other objects or threads to receive notice of cancellation. |
Returns
|
System.Threading.Tasks.Task<UserDetail>
UserDetail |
Implements
Exceptions
|
ApiException
A server side error occurred. |
|
PictureparkException
Internal server error |
GetByOwnerToken(String)
Get by owner token
Declaration
public UserDetail GetByOwnerToken(string tokenId)
Parameters
|
System.String
tokenId
The token id |
Returns
|
UserDetail
UserDetail |
Implements
Exceptions
|
ApiException
A server side error occurred. |
|
PictureparkException
Internal server error |
GetByOwnerTokenAsync(String, CancellationToken)
Get by owner token
Declaration
public Task<UserDetail> GetByOwnerTokenAsync(string tokenId, CancellationToken cancellationToken = null)
Parameters
|
System.String
tokenId
The token id |
|
System.Threading.CancellationToken
cancellationToken
A cancellation token that can be used by other objects or threads to receive notice of cancellation. |
Returns
|
System.Threading.Tasks.Task<UserDetail>
UserDetail |
Implements
Exceptions
|
ApiException
A server side error occurred. |
|
PictureparkException
Internal server error |
GetChannels()
Get list of channels
Declaration
public List<Channel> GetChannels()
Returns
|
System.Collections.Generic.List<Channel>
|
Implements
Exceptions
|
ApiException
A server side error occurred. |
|
PictureparkException
Internal server error |
GetChannelsAsync(CancellationToken)
Get list of channels
Declaration
public Task<List<Channel>> GetChannelsAsync(CancellationToken cancellationToken = null)
Parameters
|
System.Threading.CancellationToken
cancellationToken
A cancellation token that can be used by other objects or threads to receive notice of cancellation. |
Returns
|
System.Threading.Tasks.Task<System.Collections.Generic.List<Channel>>
|
Implements
Exceptions
|
ApiException
A server side error occurred. |
|
PictureparkException
Internal server error |
Search(UserSearchRequest)
Search for users
Declaration
public UserSearchResult Search(UserSearchRequest searchRequest)
Parameters
|
UserSearchRequest
searchRequest
The user search request |
Returns
|
UserSearchResult
UserSearchResult |
Implements
Exceptions
|
ApiException
A server side error occurred. |
|
PictureparkException
Internal server error |
SearchAsync(UserSearchRequest, CancellationToken)
Search for users
Declaration
public Task<UserSearchResult> SearchAsync(UserSearchRequest searchRequest, CancellationToken cancellationToken = null)
Parameters
|
UserSearchRequest
searchRequest
The user search request |
|
System.Threading.CancellationToken
cancellationToken
A cancellation token that can be used by other objects or threads to receive notice of cancellation. |
Returns
|
System.Threading.Tasks.Task<UserSearchResult>
UserSearchResult |
Implements
Exceptions
|
ApiException
A server side error occurred. |
|
PictureparkException
Internal server error |


Search
how round is the Earth?
how solid am I?
proper date places?
how do I fix my pants?
is the world dying?
how is it people are so poor?
being good is bad?
look good and spend less?
feel optimum health
zoolander became famous with this trick
xavier lost his walking abilities
walking makes you lose weight
abs of steel
doing more for less
querying databases
missing out on all the best deals?


| PID | |
| Uptime | |
| Threads | |
| Total Connections | |
| Total Items | |
| Bytes Read | |
| Bytes Written | |
| Hash Power Level | |
| Hash Bytes |
| User Time | secs |
| System Time | secs |
| Reserved Fds |
| Eviction | |
| Reclaimed | |
| Evicted Unfetched | |
| Expired Unfetched |
| Max Bytes | |
| Max Connections | |
| TCP Backlog | |
| Chunk Size | |
| Chunk Growth Factor | |
| Item Size Max | |
| Request Per Event | |
| CAS | |
| SASL |


While not always necessary, sometimes you need to put your DOM in a box. For those situations, try the panel component.
By default, all the .gui-panel
does is apply some basic border and padding to contain some content.

 Basic panel example

Easily add a heading container to your panel with .gui-panel-heading
. You may also include any

-

with a .gui-panel-title
class to add a pre-styled heading.

Panel heading without title

 Panel content

Panel title

 Panel content

Wrap buttons or secondary text in .gui-panel-footer
. Note that panel footers do not
inherit colors and borders when using contextual variations as they are not meant to be in the foreground.

 Panel content

Panel footer

Like other components, easily make a panel more meaningful to a particular context by adding any of the contextual state classes.

...

...

...

...

...

Add any non-bordered .gui-table
within a panel for a seamless design. If there is a .gui-panel-body
,
we add an extra border to the top of the table for separation.
Some default panel content here. Nulla vitae elit libero, a pharetra augue. Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam id dolor id nibh ultricies vehicula ut id elit.
| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Mark | Otto | @mdo |
| 2 | Jacob | Thornton | @fat |
| 3 | Larry | the Bird |

Panel heading

...

 ...

If there is no panel body, the component moves from panel header to table without interruption.
| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Mark | Otto | @mdo |
| 2 | Jacob | Thornton | @fat |
| 3 | Larry | the Bird |


Mercedes-Benz Cars to slash 1 billion euros in costs by 2022
by ReutersFRANKFURT (Nov 14): Daimler shares fell sharply on Thursday after the German carmaker said tougher emissions rules will hit earnings in 2020 and 2021 forcing it to seek more than 1 billion euros in personnel cuts at Mercedes-Benz Cars by end of 2022.
The company said it expects to achieve a return on sales from operating activities at Mercedes-Benz Cars & Vans of at least 4% in the year 2020 and at least 6% in 2022.
Earlier this year, Daimler had said it hoped to achieve a return on sales of 3% to 5% at Mercedes-Benz Cars.


show_doc(Pruner.prune_model)
Pruner.prune_model
Pruner.prune_model (model)
When our network has filters containing zero values, there is an additional step that we may take. Indeed, those zero-filters can be physically removed from our network, allowing us to get a new, dense, architecture.
This can be done by reexpressing each layer, reducing the number of filter, to match the number of non-zero filters. However, when we remove a filter in a layer, this means that there will be a missing activation map, which should be used by all the filters in the next layer. So, not only should we physically remove the filter, but also its corresponding kernel in each of the filters in the next layer (see Fig. below)
::: {.cell 0=‘e’ 1=‘x’ 2=‘p’ 3=‘o’ 4=‘r’ 5=‘t’ execution_count=5}
/Users/nathan/opt/miniconda3/envs/nbdev/lib/python3.10/site-packages/tqdm/auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
from .autonotebook import tqdm as notebook_tqdm
:::
::: {.cell 0=‘e’ 1=‘x’ 2=‘p’ 3=‘o’ 4=‘r’ 5=‘t’ execution_count=6}
class Pruner():
"Remove zero filters from a model"
def __init__(self):
super().__init__()
def filters_to_keep(self, layer, nxt_layer):
ixs = self._get_nz_ixs(layer)
filters_keep = layer.weight.index_select(0, ixs[0]).data # keep only the non_zero filters
biases_keep = layer.bias.index_select(0, ixs[0]).data
nxt_filters_keep = nxt_layer.weight.index_select(1, ixs[0]).data if nxt_layer is not None else None
return filters_keep, biases_keep, nxt_filters_keep
def prune_conv(self, layer, nxt_layer):
assert layer.__class__.__name__ == 'Conv2d'
new_weights, new_biases, new_next_weights = self.filters_to_keep(layer, nxt_layer)
layer.out_channels = new_weights.shape[0]
layer.in_channels = new_weights.shape[1]
layer.weight = nn.Parameter(new_weights)
layer.bias = nn.Parameter(new_biases)
if new_next_weights is not None:
new_next_in_channels = new_next_weights.shape[1]
nxt_layer.weight = nn.Parameter(new_next_weights)
nxt_layer.in_channels = new_next_in_channels
return layer, nxt_layer
def prune_bn(self, layer, prev_conv):
ixs = self._get_nz_ixs(prev_conv)
weights_keep = layer.weight.data.index_select(0, ixs[0]).data
layer.num_features = weights_keep.shape[0]
layer.weight = nn.Parameter(weights_keep)
layer.bias = nn.Parameter(layer.bias.data.index_select(0, ixs[0]).data)
layer.running_mean = layer.running_mean.data.index_select(0, ixs[0]).data
layer.running_var = layer.running_var.data.index_select(0, ixs[0]).data
return layer
def delete_fc_weights(self, layer, last_conv, pool_shape):
ixs = self._get_nz_ixs(last_conv)
new_ixs = torch.cat([torch.arange(i*pool_shape**2,((i+1)*pool_shape**2)) for i in ixs[0]]) if pool_shape else ixs[0]
new_ixs = torch.LongTensor(new_ixs).cuda()
weights_keep = layer.weight.data.index_select(1, new_ixs).data
layer.in_features = weights_keep.shape[1]
layer.weight = nn.Parameter(weights_keep)
return layer
def _get_nz_ixs(self, layer):
filters = layer.weight
nz_filters = filters.data.sum(dim=(1,2,3)) # Flatten the filters to compare them
ixs = torch.nonzero(nz_filters).T
return ixs.cuda()
def _find_next_conv(self, model, conv_ix):
for k,m in enumerate(model.modules()):
if k > conv_ix and isinstance(m, nn.Conv2d):
next_conv_ix = k
break
else:
next_conv_ix = None
return next_conv_ix
def _find_previous_conv(self, model, layer_ix):
for k,m in reversed(list(enumerate(model.modules()))):
if k < layer_ix and isinstance(m, nn.Conv2d):
prev_conv_ix = k
break
else:
prev_conv_ix = None
return prev_conv_ix
def _get_last_conv_ix(self, model):
for k,m in enumerate(list(model.modules())):
if isinstance(m, nn.Conv2d):
last_conv_ix = k
return last_conv_ix
def _get_first_fc_ix(self, model):
for k,m in enumerate(list(model.modules())):
if isinstance(m, nn.Linear):
first_fc_ix = k
break
return first_fc_ix
def _find_pool_shape(self, model):
for k,m in enumerate(model.modules()):
if isinstance(m, nn.AdaptiveAvgPool2d):
output_shape = m.output_size
break
else: output_shape=None
return output_shape
def prune_model(self, model):
pruned_model = copy.deepcopy(model)
layer_names = list(dict(pruned_model.named_modules()).keys())
layers = dict(pruned_model.named_modules())
old_layers = dict(model.named_modules())
last_conv_ix = self._get_last_conv_ix(pruned_model)
first_fc_ix = self._get_first_fc_ix(pruned_model)
for k,m in enumerate(list(pruned_model.modules())):
if isinstance(m, nn.Conv2d):
next_conv_ix = self._find_next_conv(model, k)
if next_conv_ix is not None: # The conv layer is not the last one
new_m, new_next_m = self.prune_conv(m, layers[layer_names[next_conv_ix]]) # Prune the current conv layer
else:
new_m, _ = self.prune_conv(m, None) # Prune the current conv layer without changing the next one
if isinstance(m, nn.BatchNorm2d):
new_m = self.prune_bn(m, old_layers[layer_names[self._find_previous_conv(model, k)]])
if isinstance(m, nn.Linear) and k==first_fc_ix:
pool_shape = self._find_pool_shape(model)
new_m = self.delete_fc_weights(m, old_layers[layer_names[last_conv_ix]], pool_shape[0])
return pruned_model
:::


I’ve been kidnapped - The Nation Newspaper
Edozie Udeze
Kidnapping, that’s the latest in town
I heard it happened yesterday
when they stormed the home of
Childhood friend, Ikenna
Scaling the huge fence, whisking
him away.
They thundered at his family to
provide him or be all drowned
Where’s he, the business tycoon?
they shouted; from the toilet
he was taken away and in fear
we awaited his return.
Today it is my turn. Yes, my turn
They took me on my way to
work this morning.
They say I must pay N200 million naira
as ransom
They said I have stockpiled
too much wealth, waiting to
strike; unleashing mayhem on them
They accuse me of being a
mercenary and must be dealt with.

They tell me to disclose
my account number or lose
a finger; may be my manhood.
They say I know too much
to be left to my devices.
They abuse me and spit on my
face, saying – brave little man
free theyself.
But I am harangued.
I am in a dungeon, being fed
with akamu and akara.
I am waiting for my freedom.
Fear grips me; fear of the unknown
In the kidnappers’ den – it is
a dungeon – dangerous…
I’ve been kidnapped like many,
big and small before me and still more to come.


Doc block annotation class found, but its missing in use statement
You should import the class as
use
statement
Doctrine Annotations


| Keyboard Shortcut |
Function |
| {{cps.getStrRep(cps.vals.keyMappings.toggleSideBarLeft)}} |
open bundleList sidebar (left) |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} + {{cps.getStrRep(cps.vals.keyMappings.toggleSideBarLeft)}} |
open perspective sidebar (right) |
| {{cps.getStrRep(cps.vals.keyMappings.showHierarchy)}} |
open hierarchy View |
| {{cps.getStrRep(cps.vals.keyMappings.zoomIn)}} |
zoom in 1 |
| {{cps.getStrRep(cps.vals.keyMappings.zoomOut)}} |
zoom out 1 |
| {{cps.getStrRep(cps.vals.keyMappings.shiftViewPortLeft)}} |
move viewport left |
| {{cps.getStrRep(cps.vals.keyMappings.shiftViewPortRight)}} |
move viewport right |
| {{cps.getStrRep(cps.vals.keyMappings.zoomAll)}} |
view all |
| {{cps.getStrRep(cps.vals.keyMappings.zoomSel)}} |
zoom in to selected area |
| {{cps.getStrRep(cps.vals.keyMappings.selNextPrevItem)}} |
preselect next item |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} + {{cps.getStrRep(cps.vals.keyMappings.selNextPrevItem)}} |
preselect previous item |
| {{cps.getStrRep(cps.vals.keyMappings.selNextItem)}} |
preselect next item |
| {{cps.getStrRep(cps.vals.keyMappings.selPrevItem)}} |
preselect previous item |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} + {{cps.getStrRep(cps.vals.keyMappings.selNextItem)}} |
add next item to preselection |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} + {{cps.getStrRep(cps.vals.keyMappings.selPrevItem)}} |
add previous item to preselection |
| {{cps.getStrRep(cps.vals.keyMappings.selectItemsInSelection)}} |
select all items in marked area |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} + {{cps.getStrRep(cps.vals.keyMappings.saveBndl)}} |
save current bundle |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} + 1..9 |
switch to perspective 1..9 |
| Keyboard Shortcut |
Function |
| {{cps.getStrRep(cps.vals.keyMappings.undo)}} |
undo last action |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} + {{cps.getStrRep(cps.vals.keyMappings.undo)}} |
redo last action |
| {{cps.getStrRep(cps.vals.keyMappings.createNewItemAtSelection)}} |
add boundary / event marker at marked position |
| {{cps.getStrRep(cps.vals.keyMappings.createNewItemAtSelection)}} (when single item is preselected) |
change label of item |
| {{cps.getStrRep(cps.vals.keyMappings.deletePreselBoundary)}} |
delete preselected boundary / event marker |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} + {{cps.getStrRep(cps.vals.keyMappings.deletePreselBoundary)}} |
delete selected event(s) or segment(s) |
| {{cps.getStrRep(cps.vals.keyMappings.snapBoundaryToNearestTopBoundary)}} |
snap preselected boundary / event marker to nearest boundary / event marker in level above |
| {{cps.getStrRep(cps.vals.keyMappings.snapBoundaryToNearestBottomBoundary)}} |
snap preselected boundary / event marker to nearest boundary / event marker in level below |
| {{cps.getStrRep(cps.vals.keyMappings.snapBoundaryToNearestZeroCrossing)}} |
snap preselected boundary / event marker to nearest zero crossing |
| {{cps.getStrRep(cps.vals.keyMappings.expandSelSegmentsRight)}} |
add time to preselected items (expand to right) |
| {{cps.getStrRep(cps.vals.keyMappings.shrinkSelSegmentsRight)}} |
remove time from preselected items (shrink from right) |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} + {{cps.getStrRep(cps.vals.keyMappings.expandSelSegmentsLeft)}} |
add time to preselected items (expand to left) |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} + {{cps.getStrRep(cps.vals.keyMappings.shrinkSelSegmentsLeft)}} |
remove time from preselected items (shrink from left) |
| {{cps.getStrRep(cps.vals.keyMappings.levelUp)}} |
select level above |
| {{cps.getStrRep(cps.vals.keyMappings.levelDown)}} |
select level below |
| Keyboard Shortcut |
Function |
| {{cps.getStrRep(cps.vals.keyMappings.selectFirstContourCorrectionTool)}} |
choose correction tool for first contour |
| {{cps.getStrRep(cps.vals.keyMappings.selectSecondContourCorrectionTool)}} |
choose correction tool for second contour |
| {{cps.getStrRep(cps.vals.keyMappings.selectThirdContourCorrectionTool)}} |
choose correction tool for third contour |
| {{cps.getStrRep(cps.vals.keyMappings.selectFourthContourCorrectionTool)}} |
choose correction tool for fourth contour |
| {{cps.getStrRep(cps.vals.keyMappings.selectFifthContourCorrectionTool)}} |
choose correction tool for fifth contour |
| {{cps.getStrRep(cps.vals.keyMappings.selectNoContourCorrectionTool)}} |
disable correction tool |
| Keyboard Shortcut |
Function |
| {{cps.getStrRep(cps.vals.keyMappings.hierarchyRotate)}} |
rotate hierarchy by 90° |
| {{cps.getStrRep(cps.vals.keyMappings.hierarchyAddItemBefore)}} |
add item before the currently preselected one |
| {{cps.getStrRep(cps.vals.keyMappings.hierarchyAddItemAfter)}} |
add item after the currently preselected one |
| {{cps.getStrRep(cps.vals.keyMappings.shift)}} |
draw a new link (press and hold) |
| {{cps.getStrRep(cps.vals.keyMappings.hierarchyDeleteItem)}} |
delete the currently preselected item |
| {{cps.getStrRep(cps.vals.keyMappings.hierarchyDeleteLink)}} |
delete the currently preselected link |
| {{cps.getStrRep(cps.vals.keyMappings.hierarchyPlayback)}} |
play back the portion defined by the currently preselected item |
| {{cps.getStrRep(cps.vals.keyMappings.levelDown)}} |
select next hierarchy path |
| {{cps.getStrRep(cps.vals.keyMappings.levelUp)}} |
select previous hierarchy path |


[gecode-users] Restart search engine, adding a new constraint
Christian Schulte
cschulte at kth.se
Thu Jun 6 12:02:25 CEST 2013
Hi,
It is spelled Cutoff. Please read the section in MPG about the master() and
slave() functions.
Best
Christian
--
Christian Schulte, www.ict.kth.se/~cschulte/
> -----Original Message-----
> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On
> Behalf Of Amina Kemmar
> Sent: Thursday, June 06, 2013 10:01 AM
> To: users at gecode.org
> Subject: [gecode-users] Restart search engine, adding a new constraint
>
> On 06/01/2013 06:40 PM, Guido Tack wrote:
> > I guess the problem is that you only want to see x,y but you need to
search on
> z,k first? That's a bit more tricky.
> > You can use a restart search engine, which restarts after each solution.
Then
> for each solution you add the negation of the solution as a constraint in
the
> root, e.g. (not (x==1 and y==1)). I'm not sure how well this scales if you
have
> many solutions, but it could be worth a try.
> >
> > Cheers,
> > Guido
> >
> > On 31/05/2013, at 12:04, Christian Schulte <cschulte at kth.se> wrote:
> >
> >> Hi,
> >>
> >> I am not sure whether I understand your question correctly. But you
> >> can exchange the order of the search engine (that is, in my previous
> >> reply swap
> >> e1 and e2).
> >>
> >> Best
> >> Christian
> >>
> >> --
> >> Christian Schulte, Professor of Computer Science, KTH,
> >> www.ict.kth.se/~cschulte/
> >>
> >>
> >> -----Original Message-----
> >> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On
> >> Behalf Of Amina Kemmar
> >> Sent: Friday, May 31, 2013 10:00 AM
> >> To: users at gecode.org
> >> Subject: [gecode-users] Display the values of a set of variable
> >> without duplicates
> >>
> >> Hello,
> >>
> >> I already asked for the following problem:
> >>
> >> According to the variables defined in our model (x,y,z,k), I obtained
> >> the following solutions :
> >> 1,1,2,3
> >> 1,1,5,6
> >> 1,1,7,9
> >> 1.1,8,8
> >> I am interested to the values of the two variable x and y, so I want
> >> to avoid the enumeration of the three last solution in order to
> >> display just the first solution.
> >>
> >> I got the following response:
> >>
> >> One way to do it is as follows:
> >> - You create a space s that only has a brancher for x and y
> >> - You create a search engine e1 for s and find a solution, say s1
> >> - You post a brancher in s1 for z and k.
> >> - You create a search engine e2 for s and find just a single
solution!
> >> - You can then also get more solutions from e1 and repeat the
> >> previous two steps.
> >>
> >> Thank you for the solution, it works very well, but I have an other
> >> problem which is the enumeration order of the variables x, y, z and
> >> k. I must begin the branching from the variables z and k, then x, y
> >> (In this way, Gecode enumerates quickly the solutions but for the
> >> first order "x,y,z,k", it takes about 30 minutes to enumerate the first
> solution).
> >> Is there an other solution?
> >>
> >> Thank you.
> >> -----
> >> Amina
> >>
> >>
> >> _______________________________________________
> >> Gecode users mailing list
> >> users at gecode.org
> >> https://www.gecode.org/mailman/listinfo/gecode-users
> >>
> >>
> >> _______________________________________________
> >> Gecode users mailing list
> >> users at gecode.org
> >> https://www.gecode.org/mailman/listinfo/gecode-users
> Hi,
>
> Thank you Guido for the response, this is exactly what I want to do, but I
red the
> documentation (section 9.4) , and I added the following code to restart
the
> search:
>
> MyExample* s1 = new MyExample(opt);
> Search::Options o;
> Search::Cuttof* c = Search::Cuttof::constant(2); o.cuttof = c;
> RBS<DFS,MyExample> e3(s1, o);
>
> I get some errors : 'Cuttof' is not a member of 'Gecode::Search'
>
> My second question is how to add a new constraint, after the restart
search?
>
> Thank you for your help.
> cheers.
>
> I get
>
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users
More information about the users
mailing list


The autoencoder is a fantastic and vesatile tool to have in your Machine Learning toolkit. While the regular autoencoder is a relatively simple model, it teaches you some of the fundamental concepts of the last decade in deep learning, which gives you a foot in the door for more advanced models such as Latent variable models and generative adversarial networks, and hence making them more accessible.
Origins of the Autoencoder
Interestingly, when trying to trace back the origins of the autoencoder, it seems that there is no obvious consensus about it’s origin. A cursory google search does not immediately reveal to us a clear pointer towards a distinct source. However, we are met with a Stack Exchange thread that is also discussing the same issue. One of the answers points towards an article by Schmidhuber called “Deep learning in neural networks: an overview” which recounts a history of neural networks and states that: ‘Perhaps the first work to study potential benefits of UL-based pre-training was published in 1987. It proposed unsupervised AE hierarchies (Ballard, 1987), closely related to certain post-2000 feedforward Deep Learners based on UL’. The study that he is citing here is called ‘Modular learning in neural networks’ and does indeed describe an architecture that we know today as the autoencoder.
The paper by Ballard explains: ‘Activation from the input is propagated to the internal units and then back to the output, where it can be interpreted as a virtual copy. That is, it is the input as reconstructed from the internal representation. Since the input is known, this can be used to generate an error signal, just as in the feedforward case, that is then sent backwards around the network to the input weights. This architecture was first proposed by Hinton and Rumelhart’. Which leads us deeper down the rabbit hole.
Learning internal representations by Error Propagation
This idea of auto-association was introduced a year earlier (1986) by Hinton and Rumelhart in their paper ‘Learning internal representations by error propagation’, as stated. Which is in concordance with other sources that also state this as being the first paper to introduce the autoencoding concept (see Autoencoders: an overview). Hinton’s paper explores the effect of hidden units when one trains a model to copy the input the output via means of error propagation. In comparison to earlier models that attempted this without any hidden units and ran into a number of issues, such as the incapability of solving specific problems like the XOR problem. Which is one of the first points that the paper addresses, Minsky and Papert proved earlier that neural networks were incapable of solving linearly inseparable problems, however when adding a hidden unit, Hinton shows that they can indeed solve the XOR problem.
Dimensionality reduction
Exploring the usefulness of autoencoding structures for dimensionality reduction began with a paper called ‘Neural Networks and Principal Component Analysis: Learning from Examples Without Local Minima ‘ by Baldi and Hornik. They state that ‘Auto-association, which is also called auto-encoding or identity mapping (see Ackley, Hinton, & Sejnowski; 1985; Ellman & Zipser, 1988) is a simple trick intended to avoid the need for having a teacher, that is, for knowing the target values Yt, by setting Xt = Yt. In this mode, the network will tend to learn the identity map which in itself is not too exciting. However, if this is done using one narrow layer of hidden units, one expects the network to find efficient ways of compressing the information contained in the input patterns’ Fast forward a couple of years to 1993, the paper ‘Non-linear Dimensionality Reduction’ by DeMers and Cottrell discusses the usage of multi-layer encoder-decoder architectures for the sake of dimensionality reduction. The paper raises the point that an autoencoder with one hidden layer will essentially extract the principal components of the data, and proceed to show that adding an additional layer between the input, the hidden layer and the output allows the autoencoder to learn non-linear representations of the data. Both papers significantly contributed to our understanding of autoencoders today and how we actually use them today, mainly for dimensionality reduction. I wonder however why there’s a quite long gap of time between the two papers.
Towards modern applications of Autoencoders
Fast forward another decade, a noteworthy article is ‘Reducing the Dimensionality of Data with Neural Networks’ again by Hinton, which may be the first study to apply auto-encoders in the context of images.
Conclusion
There is something quite exciting about exploring older papers. Older papers feel a lot less standardized in comparision to current papers, and the writing style is less leaden. I recommend trying it yourself, picking some method that you are familiar with and trying to trace back it’s origins to see how it eveolved over the years with ideas from different people in different places.


YNCSDKOffboard
@interface YNCSDKOffboard : NSObject
This class provides methods to send velocity commands to the drone.
-
Starts the offboard (manual) control mode.
This requires that a velocity waypoint has already been set.
Declaration
Objective-C
+ (void)startWithCompletion:(YNCOffboardCompletion)completion;
Parameters
completion
the completion block returning the error status, if any
-
Stops the offboard (manual) control mode.
The drone will go back to pause mode and hold its position.
Declaration
Objective-C
+ (void)stopWithCompletion:(YNCOffboardCompletion)completion;
Parameters
completion
the completion block returning the error status, if any
-
Sets the drone velocity in ground coordinates. You should set a speed every 30ms to ensure smooth flight operation.
Declaration
Objective-C
+ (void)setVelocityNEDYawWithVelocityNorth:(float)velocityNorth withVelocityEast:(float)velocityEast withVelocityDown:(float)velocityDown withYaw:(float)yawDeg;
Parameters
velocityNorth
the north direction ground speed (m/s)
velocityEast
the east direction ground speed (m/s)
velocityDown
the down direction ground speed (m/s)
yawDeg
the yaw angle (in degrees - 0 is North, 90 East)
-
Sets the drone velocity in body coordinates. You should set a speed every 30ms to ensure smooth flight operation.
Declaration
Objective-C
+ (void)setVelocityBodyYawspeedWithVelocityForward:(float)velocityForward withVelocityRight:(float)velocityRight withVelocityDown:(float)velocityDown witchYawspeed:(float)yawspeed;
Parameters
velocityForward
the forward direction body speed (in m/s - negative for Backward)
velocityRight
the right direction body speed (in ms/s - negative for Left)
velocityDown
the down direction body speed (in ms/s - negative for Up)
yawspeed
the yaw speed (in deg/sec - positive for clockwise from top view)


Wind Output Energy Prediction
Wind Speed
Wind Direction
Theoretical Power
Predict
{{ prediction_text }}


Fake content
A demonstration application showcasing Spring Boot, Thymeleaf, AngularJS, Spring Repositories using MongoDB and PostgresSQL, Spring Security and OpenId, and Swagger API documentation for GREAT JUSTICE
Sign In


Eugene can be downloaded here. After having downloaded Eugene, there are no additional installations required.
To run Eugene, a Java Runtime Environment (JRE) is needed, which can be downloaded here


Endless Plains [ak70], plain, in Imperia, wilderness
Last updated Turn #97
Endless Plains [ak70], plain, in Imperia, wilderness
------------------------------------------------------------------------
9: Stefano [t8e], Imperial Empire, the High Priest of the Church of
9: Halon [157], with ten angels, 31 nazgul, arrived from the south,
9: accompanied by:
9: Lord Rodrigo Bane [c8b], Imperial Empire, Bishop of the Church of
9: Dol [153], with five angels, 40 hvy. xbowmen, five nazgul
9: Stack of nazgul [ec1m], nazgul, arrived from the north.
10: Stefano [t8e], Imperial Empire, the High Priest of the Church of
10: Halon [157], with ten angels, 31 nazgul, went north, accompanied by:
10: Lord Rodrigo Bane [c8b], Imperial Empire, Bishop of the Church of
10: Dol [153], with five angels, 40 hvy. xbowmen, five nazgul
11: Stack of nazgul [ec1m] attacks Stefano [t8e]!
11:
11: Stack of nazgul [ec1m], nazgul
11:
11: Stefano [t8e], Imperial Empire, the High Priest of the Church of
11: Halon [157], with ten angels, 31 nazgul, accompanied by:
11: Lord Rodrigo Bane [c8b], Imperial Empire, Bishop of the Church
11: of Dol [153], behind 3, with five angels, 40 hvy. xbowmen,
11: five nazgul
11:
11: Initial missile round for the defense (Stefano [t8e]):
11: Ten missiles hit!
11: Stack of nazgul [ec1m] suffers a hit!
11:
11:
11: Stefano [t8e] is victorious!
11:
11: Stack of nazgul [ec1m] was killed.
11:
14: Stack of nazgul [em8u], nazgul, number: 2, arrived from the east.
14: It has become quite windy.
16: Stack of nazgul [em8u], nazgul, number: 2, went west.
16: Wild men [fy4i], savages, number: 32, arrived from the west.
16: Stack of giant lizards [hf9w], giant lizards, number: 10, arrived from
16: the east.
18: Wild men [fy4i], savages, number: 32, went east.
19: Stack of nazgul [fw4a], nazgul, number: 2, arrived from the west.
20: Pack of wolves [ib1o], wolves, number: 6, arrived from the west.
21: Stack of nazgul [fw4a], nazgul, number: 2, went east.
22: Pack of wolves [ib1o], wolves, number: 6, went east.
24: Keith [h8q], refugee, arrived from the south.
26: Keith [h8q], refugee, went east.
28: Lucrezia Saldana [c2e], refugee, arrived from the east.
29: Stack of nazgul [bm4c], nazgul, number: 2, arrived from the east.
30: Faery hill [ex1f] disappears.
Routes leaving Endless Plains:
North, forest, to Old Forest [aj70], 8 days
East, plain, to Endless Plains [ak71], 7 days
South, plain, to Endless Plains [al70], 7 days
Garrison [gb0x], garrison, Imperial Empire, with seven peasants,
three skirmishers
West, plain, to Endless Plains [ak69], 7 days
It is windy.
Seen here:
Stack of ratspiders [jd2m], ratspiders, number: 9
Stack of ratspiders [dg2r], ratspiders, number: 9
Stack of ratspiders [je5j], ratspiders, number: 2
Stack of ratspiders [ck2k], ratspiders, number: 2
Keith [h8q], refugee
Lucrezia Saldana [c2e], refugee


Donald Trump Jr. greeted by fans, protesters at UCLA during book tour
WESTWOOD, LOS ANGELES (KABC) -- There were dueling demonstrations at UCLA as Donald Trump Jr. spoke on the campus Sunday to promote his new book.
Outside the venue, campus police kept both sides separated.
Inside the event, Trump and his girlfriend, political analyst Kimberly Guilfoyle, got into a loud exchange with a handful of vocal protesters.
The event was organized by a group called Turning Point USA.
Trump and Guilfoyle were also scheduled to visit the Ronald Reagan Presidential Library for a lecture and book signing.
Trump's book, "Triggered: How the Left Thrives on Hate and Wants to Silence Us," was recently released.


org.flixel.system.FlxQuadTree
- type
- class
- extends
- org.flixel.FlxRect
A fairly generic quad tree structure for rapid overlap checks.
FlxQuadTree is also configured for single or dual list operation.
You can add items either to its A list or its B list.
When you do an overlap check, you can compare the A list to itself,
or the A list against the B list. Handy for different things!
Constructor
- Parameters:
X
- The X-coordinate of the point in space.
Y
- The Y-coordinate of the point in space.
Width
- Desired width of this node.
Height
- Desired height of this node.
Parent
- The parent branch or node. Pass null to create a root.
- Parameters:
ObjectOrGroup
- FlxObjects are just added, FlxGroups are recursed and their applicable members added accordingly.
List
- A int
flag indicating the list to which you want to add the objects. Options are A_LIST
and B_LIST
.
- Parameters:
Rect
- Any FlxRect
.
- Returns:
- A reference to itself.
- Parameters:
FlashRect
- Any Rectangle
.
- Returns:
- A reference to itself.
- Parameters:
Point
- Any FlxRect
.
- Returns:
- A reference to the altered rectangle parameter.
- Parameters:
Point
- Any Rectangle
.
- Returns:
- A reference to the altered rectangle parameter.
- Returns:
- Whether or not any overlaps were found.
- Parameters:
ObjectOrGroup1
- Any object that is or extends FlxObject or FlxGroup.
ObjectOrGroup2
- Any object that is or extends FlxObject or FlxGroup. If null, the first parameter will be checked against itself.
NotifyCallback
- A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):void
that is called whenever two objects are found to overlap in world space, and either no ProcessCallback is specified, or the ProcessCallback returns true.
ProcessCallback
- A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):Boolean
that is called whenever two objects are found to overlap in world space. The NotifyCallback is only called if this function returns true. See FlxObject.separate().
- Parameters:
X
- The X-coordinate of the point in space.
Y
- The Y-coordinate of the point in space.
Width
- Desired width of the rectangle.
Height
- Desired height of the rectangle.
- Returns:
- A reference to itself.
- Returns:
- Whether or not any overlaps were found.
- Parameters:
Rect
- The rectangle being tested.
- Returns:
- Whether or not the two rectangles overlap.


Hi, I am Varun, a developer based in Toronto. I am constantly striving to improve my skills, always looking for opportunity to learn. I love to collaborate, and enjoy helping others.
Previously i was working as IT Administrator and Technology Associate for different real eastate companies. While working on Salesforce business system i realized the fun of coding and creating new & user friendly features on the web.
While not coding, you will find me watching football AKA soccer in North America.
View ResumeA single web page i created as for Chingu.io as pre-work project. I used HTML and CSS to create the page.
Chingu.io provides platform to be a part of collaborative and friendly developers from around the globe and create something new. Teaming up with a developer from somewhere in the world and working with them gave me a fantastic experience of team work.
JavaScript, jQuery and API was used to code this project. This is the second project i did as part of the JavaScrip course at HackerYou.
HackerYou College of Technology is a technology school based in Toronto.
JavaScript and jQuery was used to code this project. This is the first project i did as part of the JavaScrip course at HackerYou.
HackerYou College of Technology is a technology school based in Toronto.