Privacy and cookies
Privacy of your information
NHS England (or the NHS Commissioning Board, which is our legal name) uses personal and confidential information for a number of purposes. Our Privacy Notice provides a summary of how we use your information.
Website privacy
Information on this page explains our website privacy policy and how we will use and protect any information about you that you give us when you visit this website.
This privacy statement only covers the NHS England website (www.england.nhs.uk). It does not cover all sites that can be linked to from this site, so you should always be aware when you are moving to another site and read the privacy statement on that site.
What information do we collect?
From time to time, you will be asked to submit personal information about yourself (e.g. name and email address) in order to receive or use services on our website. Such services include bulletins, email updates and website feedback.
By entering your details in the fields requested, you enable NHS England and its service providers to provide you with the services you select. Any information you provide to NHS England will only be used by us, our agents and service providers and will not be disclosed unless we are obliged or permitted to by law to do so.
If you post or send offensive, inappropriate or objectionable content anywhere on www.england.nhs.uk or otherwise engage in any disruptive behaviour on www.england.nhs.uk, we may use whatever information is available to us, about you, to stop such behaviour. We will hold your personal information on our systems for as long as you use the service you have requested, and remove it in the event that the purpose has been met or when you no longer wish to continue your subscription.
The Data Protection Act
Under the Data Protection Act, we have a legal duty to protect any information we collect from you. We use leading technologies and encryption software to safeguard your data and keep strict security standards to prevent any unauthorised access to it.
We do not pass on your details to any third party or other government department.
Changes to our policy
If our privacy policy changes in any way, we will place an updated version on this page. Regularly reviewing the page ensures you are always aware of what information we collect, how we use it and under what circumstances, if any, we will share it with other parties.
Security
This site has security measures in place to protect the loss and alteration of information under our control.
Use of cookies
When we provide services, we want to make them easy, useful and reliable. Where services are delivered on the internet, this sometimes involves placing small amounts of information on your device, for example, computer or mobile phone. These include small files known as cookies. They cannot be used to identify you personally.
These pieces of information are used to improve services for you through, for example:
- Enabling a service to recognise your device so you don’t have to give the same information several times during one task
- Recognising that you may already have given a username and password so you don’t need to do it for every web page requested
- Measuring how many people are using services, so they can be made easier to use and there’s enough capacity to ensure they are fast.
You can manage these small files yourself through your browser setting.
Please note that the cookie providers listed below may distribute the gathered cookie information with other third party websites for the purpose of activity tracking. You can find out more about the policy of each cookie provider on their respective privacy pages.
Current cookies
Please by aware that the providers listed below may change their cookie names without notice.
As an example, we use the following cookies on our website:
Cookie: Google Analytics
Example name: _utma, _utmb, _utmc, _utmz, GAPS, LSID, LSOSID, OTZ
Purpose: These cookies are used to collect information about how visitors use our site, which we use to help improve it. The cookies collect information in an anonymous form, including the number of visitors to the site, where visitors have come to the site from and the pages they visited. These cookies may also be identified as originating from england.nhs.uk More information about Google cookies.
Cookie: www.google.com (Google embedded search)
Example name: __utmx, __utmxx, APISID, HSID, NID, PREF, SAPISID, SID, SSID
Purpose: These cookies are used to collect information about how visitors use our site, which we use to help improve it. The cookies collect information in an anonymous form, including the number of visitors to the site, where visitors have come to the site from and the pages they visited and what they have searched for. More information about Google cookies.
Cookie: www.events.england.nhs.uk
Example name: PHPSESSID
Purpose: To track visitor information and for security authentication.
Embedded content
We want to provide interesting and engaging content on our website. On a number of pages we use ‘plug ins’ or embedded media. For example, we embed YouTube videos in many pages. We also provide links to share content with popular social media sites such as LinkedIn, Facebook and Twitter.
The suppliers of these services may also set cookies on your device when you visit the pages where we have used this type of content. These are known as ‘third-party’ cookies. Third party cookies are delivered on behalf of their respective organisations and as such they may change their name and purpose from the cookies identified below, this is beyond the control of NHS England.
Cookie: Ustream
Example name: ab_test_1, ab_test_2, locale, optimizelyBuckets, optimizelyEndUserId, optimizelySegments, uTrack, ul, ustream-guest, _qca, PHPSESSID
Purpose: Used to enable certain features of the services, to better understand how you interact with the services in-order to deliver a better service. Also used to monitor aggregate usage by users and monitor web traffic on the service. More information about Ustream cookies.
Cookie: scorecardresearch.com
Example name: UID, UIDR
Purpose: Used by Ustream video streaming (as described above), to better understand how you interact with their services in-order to deliver a better service. Also used to monitor aggregate usage by users and monitor web traffic on the service. More information about scoreandsearch.com cookies.
Cookie: YouTube
Example name: PREF, VISITOR_INFO1_LIVE, use_hitbox
Purpose: To track visitor views, and to remember user preferences when viewing YouTube videos embedded in our website web pages. More information about YouTube cookies.
Cookie: Twitter
Example name: guest_id, remember_checked, remember_checked_on, secure_sessions, twll
Purpose: To track visitor information and for security authentication. More information about Twitter cookies.
Cookie: LinkedIn
Example name: csrftoken, L1e, visit, PHPSESSID
Purpose: To track visitor information and for security authentication. More information about LinkedIn cookies.
How to control and delete cookies
We will not use cookies to collect personally identifiable information about you.
However, if you wish to restrict or block the cookies which are set by our websites, or indeed any other website, you can do this through your browser settings. The ‘Help’ function within your browser should tell you how.
Alternatively, you may wish to visit www.aboutcookies.org which contains comprehensive information on how to do this on a wide variety of browsers. You will also find details on how to delete cookies from your machine as well as more general information about cookies.
Please be aware that restricting cookies may impact on the functionality of our website.
If you wish to view your cookie code, just click on a cookie to open it. You’ll see a short string of text and numbers. The numbers are your identification card, which can only be seen by the server that gave you the cookie.
For information on how to do this on the browser of your mobile phone you will need to refer to your handset manual.
To opt-out of third-parties collecting any data regarding your interaction on our website, please refer to their websites for further information.
Contact us
If you have any questions about these terms and conditions or the practices of this website, please email us at england.contactus@nhs.net


The following assumes that Microsoft Visual Studio Express 2012 for Web
is installed. To open the solution file mxgraph-dotnet.sln
in
Microsoft Visual Studio Express 2012 for Web go to the File menu and click
Open File...
To run the ASP.NET examples in IIS, a virtual directory must be created
that maps /mxgraph
to the top-level directory of this distribution.
The examples project demonstrates various aspects of the API, such as creating images, using input/output or placing a graph image in a form. Go to Debug, Start without Debugging (Ctrl-F5) to run the examples in this project.
The aspnet project demonstrates various scenarios using mxGraph, ASP.NET and IIS. Go to Build, Publish to deploy these examples and point your browser to http://localhost/ for all examples in this project. (You may have to use the application name you specified in the Deploy dialog in the URL.)
Note that the Server examples require a virtual directory to be created in
IIS. The directory must map /mxgraph
to the top-level directory
of the distribution.
In order to publish the example to IIS, you must run Microsoft Visual Studio Express 2012 for Web in the context of an administrator account.
To change the application pool to ASP.NET v4.0 in IIS use Internet Information Services (IIS) Manager, expand Default Web Site under Connections, click on View Applications under Actions, then click Set Application Defaults... and choose ASP.NET v4.0 under Application Pool in the dialog or read this.


DFrost, the annual design and cultural festival hosted by the National Institute of Design R&D Campus, Bangalore is back with a pixel perfect show. This melting pot of immense learning, unbound creativity, and endless fun aims to create a platform where multiple disciplines engage and collaborate. This year, we explore the very basic units that come together to deliver a fascinating experience. We explore how a million little ideas build up to something that changes the world. For, as we know, the journey of a thousand colours begins with a single pixel.
Join us, as we build our beautiful design world, pixel by pixel!
National Institute of Design is India’s premier design institution, established in 1961. It is internationally acclaimed as one of the finest educational and research institutions for Industrial, Communication, Textile and IT Integrated (Experiential) Design. The Business Week, USA has listed NID as one of the top 25 European & Asian programmes in the world. It is an autonomous institution under the aegis of the Ministry of Commerce and Industry, Government of India. NID has been declared ‘Institution of National Importance’ by the Act of Parliament, by virtue of the National Institute of Design Act 2014.
NID's Research & Development Campus, Bangalore addresses the immediate need for an exclusive Design Research centre in the country, by fostering the creative design spirit and sighting new opportunities and frontiers through NID's design acumen nurtured over the four decades of intense teaching-learning process.
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!


- game(int) - Method in class GUI.GamePanel
-
determines which player is taking their turn Game is structured as a
series of fired functions
- GamePanel - Class in GUI
-
Contains the buttons and board used to play the game
- GamePanel(Account[], SendChangeSignal) - Constructor for class GUI.GamePanel
-
Creates new form GamePanel
- GetAccountHashMap() - Static method in class Files.FileManipFunctions
-
converts the XML file into an HashMap
- GetAccountList() - Static method in class Files.FileManipFunctions
-
converts the XML file into an account list
- getBoard() - Method in class Play.Board
-
returns the board
- getBoardValue(int, int) - Method in class Play.Board
-
returns a value in the board
- getComboBox(int) - Method in class GUI.AccountSetPanel
-
returns a comboBox "address"
- getLosses() - Method in class Files.Account
-
returns the losses
- getMove(Board, int, int) - Method in class Play.Computer
-
calculates the best move the computer can make
- getName() - Method in class Files.Account
-
returns the name
- getSizeX() - Method in class Play.Board
-
gets the size of x direction
- getSizeY() - Method in class Play.Board
-
gets the size of y direction
- getTies() - Method in class Files.Account
-
returns the ties
- getWins() - Method in class Files.Account
-
returns the wins
- GUI - package GUI
-


This screen will load once you pick your feeds and the cache is updated.
{{article.pubDate | amDateFormat:'LL'}}


WETA’s third 400-passenger Hydrus Class vessel, Argo, entered service.
WETA opened its second Operations and Maintenance Facility in Alameda.
Successful passage of Regional Measure 3 (RM3) allocated $300 million in bridge tolls to support ferry expansion on the Bay. However, the fate of funding from RM3 is still pending.
Construction of the new Richmond Ferry terminal at Ford Point was completed and service was launched.
WETA’s fourth and final 400-passenger Hydrus Class vessel, Carina, entered service.
WETA’s first two 445-passenger Pyxis Class vessels, Pyxis and Vela, entered service.
In 2019, San Francisco Bay Ferry served a record-breaking three million passengers.


This well-known threshold scheme was discovered in 1979 by Adi Shamir. It's a form of secret sharing that is based on polynomials over finite fields.
Threshold t is the number of shares needed to successfully reconstruct the secret. n is the number of participants an p is a prime that has to be bigger than the number of participants and the secret K to be shared among them.
To set up a Shamir scheme, the dealer has to go through the following steps:
To reconstruct the secret, at least t participants have to cooperate. First, these participants have to transfer their shares to the combiner.  As a result, he is able to compute the secret by using a simplified version of LaGrange formula for interpolating polynomials:


Climbing down carefully, you enter the fissure in the rock. Following the sound of voices, you creep down what appears to be a lava vent. Entering a cavernous chamber, you duck behind an outcropping to observe.
"There's talk of the blade's return to the village," a cloaked soldier reports to a man who appears to his leader.
"And the chosen one?" he asks.
"No one knows for sure."
The leader of the Crimson Hood walks toward a bubbling pool of lava. A figure made of magma and fire emerges. A fire elemental! You'd heard they existed, but never seen one. Their loyalty was said to be as mercurial as their form, and their allegiances could shift in an instant. A legion of brimstone soldiers emerge from the magma behind them.


Jon Whittle, John Hutchinson, Mark Rouncefield, Håkan Burden and Rogardt Heldal
Emailed by Jon Whittle following our chat.
"This paper discusses the impact of tools on MDE adoption and places tooling within a broader organizational context."
"[some are] interested in how individuals use tools and, in particular, how to design tools that are intuitive and seamless to use. This reflects a Heideggerian difference between tools that are ‘ready to hand’ (they fade into the background) and ‘present at hand’ (focus is on the tool to the detriment of the ‘real’ issue). "
"current tools are a barrier to success rather than an enabler"
"Our interviewees emphasized tool immaturity, complexity and lack of usability as major barriers....tools are often very powerful, but it is too difficult for users to access that power; or, in some cases, they do not really need that power and require something much simpler."
"These examples hint at a more fundamental problem, which appears to be true of textual modeling tools as well: a lack of consideration for how people work and think: “basically it’s still the mindset that the human adapts to the computer, not vice-versa.”"
"current tools have focused on automating solutions once a problem has been solved. In contrast, scant attention has been paid to supporting the problem solving process itself"
"It is ironic that MDE was introduced to help deal with the essential complexity of systems, but in many cases, adds accidental complexity." [referencing Brooks]
"one company used MDE where the user interface was not so critical: “cases which are internal applications. . . where the user interface is not such an issue . . . that’s where you get the maximum productivity from a tool like ours.”"
"Our interviews show that the tool market is focused only on supporting models at an abstraction level very close to code, where the mapping to code is straightforward. This is clearly somewhat removed from the MDE vision. Unfortunately, there is also a clear gap in the way that vendors market their tools and their real capabilities in terms of this low-level approach."
"roughly speaking, software architects tend to embrace MDE tools because they can encode their architectural rules and easily mandate that others follow them. Code ‘gurus’, or those highly expert programmers in a project, tend to avoid MDE tools as they can take away some of their control. Similarly, ‘hobbyist programmers’, those nine-to-fivers who nevertheless like to go home and read about new programming techniques, also tend to avoid MDE because it risks taking away their creativity."
"At Volvo, the automotive standard AUTOSAR 3 has made the choice of development tool a non-issue; Simulink is the standard tool: “. . . a language which makes it possible to communicate across the disciplinary borders. That the system architect, the engineer and the tester actually understand what they see.”"
"the domain experts trust the tools to deliver: “I do like it. In quite a lot of ways. Especially for the kind of software we are developing. It’s not like rocket science, really. It’s like systems where you have a few signals in, you should make a few decisions, make some kind of output. It is not that difficult applications. There are no complex algorithms. . . And for that I think Simulink is very sufficient. . . I like it.”"
"when searching for tool-specific help on UML, “you basically come up empty-handed.”"
"Match tools to people, not the other way around. Most MDE tools are developed by those with a technical background but without in-depth experience of human-computer interaction or business issues."


A container for child elements giving detailed information about a member variable.
The <cxxVariableDetail> element is defined within <cxxVariable>. In <cxxVariableDetail> the <example> and <section> elements are provided to provide further information about member variable.
apiDesc, apiImpl, cxxVariableDefinition example, section,
(cxxVariableDefinition then apiDesc, then (example, or section, or apiImpl, (any number) ))


MY NAME IF FEMI OLATUNDE MICHAEL, I AM FROM LAGOS STATE, I'M A 300 LEVEL COMPUTER SCIENCE STUDENT AT UNIVERSITY OF JOS.


Order some pizza, yo.
Toppings
Green Peppers
Mushrooms
Onions
Olives
Size
Small
Medium
Large
Submit
Total


Co-initiated ACM Student Chapter as the first departmental computer science society for students at IIT Roorkee.
Worked to promote the knowledge of computer science by providing students with a platform to interact with distinguished academicians and professionals.


Which banks sell FASTags and how to recharge? All you need to know
by BusinessToday.InFASTag users will be provided with a 2.5 per cent cashback for 2019-2020 to incentivise more people to embrace the new system
The Ministry of Road Transport and Highways has made FASTag mandatory from December 1. Non-FASTag users will be charged double the toll fee if they pass through FASTag-only lanes after December 1, 2019, as per the National Highway Fee (Determination of Rates and Collection) Rules, 2008. Also, the inadequate amount in your tag will get your vehicle blacklisted at the toll plaza and again, you may end up paying double charges. The move comes under the National Electronic Toll Collection Programme which aims to achieve fast movement of vehicles, reduction in congestion and cashless toll collection.
What is FASTag and how does it work?
FASTag is a vehicle tag that is equipped with radio-frequency identification (RFID) chip. The vehicles, in which the FASTag stickers are placed on the windshields, can pass through toll plazas as the vehicle's tag will automatically get scanned to collect toll digitally.
FASTag users will be provided with a 2.5 per cent cashback for 2019-2020 to incentivise more people to embrace the new system. Most of the toll plazas across the nation have been upgraded to enable cashless toll collection.
How to buy FASTag?
Vehicles manufactured and sold after December 1, 2017, already comes pre-fitted with FASTag. However, the owners of older vehicles must get the FASTag with a linked payment method to it. There are two different types of FASTags, NHAI tags and bank-specific tags.
Bank-specific FASTags are provided by 22 banks at designated branches, toll plazas operated by the assigned banks and at common service centres.
Vehicle-owners must submit the documents mentioned below for the purchase of FASTags:
- A copy of the vehicle's Registration Certificate
- Two photographs (passport size)
- KYC documents such as ID and address proof -- Driver's License, PAN card, Voter ID, Passport or Aadhaar
These FASTags are linked to a prepaid wallet by the issuer banks.
On the other hand, NHAI-FASTags are bank-neutral and are not linked to any bank. These FASTags have to be activated after the purchase. One can locate the nearest point of sale counter by visiting the official website of Indian Highways Management Company Limited (IHMCL).
FASTag can also be purchased online through e-commerce website Amazon and on Paytm. However, users must submit a copy of the vehicle's Registration Certificate at the time of activating FASTag. KYC documents are not necessary for bank-neutral FASTags as they will be linked to an existing bank account.
Validity and charges
All FASTags come with unlimited validity. But, if the FASTag is unreadable due to any wear-tear, users can obtain a fresh FASTag from the issuer. Loss of FASTag must be immediately reported to the issuer. Also, if a person owns more than one vehicle, then each vehicle must have a separate FASTag.
A refundable security deposit, depending on vehicle type, will be charged and will be refunded on the closure of FASTag account.
One-time charge of Rs 100 deducted is imposed for FASTag account activation. A convenience fee is charged for online recharges depending on the bank and payment method.
(Edited by Vivek Dubey)
Also Read: DHFL shares fall 5% as RBI takes over company board to initiate insolvency process
Also Read: 'Centre engineered crisis': Modi govt delays payment of GST dues to 5 non-BJP states
Also Read: How to make money on TikTok


Please give me a hint!
I need a different type of hint!


LOTS OF GAMES COMING SOON! 1st.) HORSE! 2nd.) The Adventures of Thoth, Combo based sidescroller, with magic 3rd.) Pokemon Stadium style minigames for lyft


Brilliant de Minaur seals Australia victory over Belgium
by Ian McCulloughAlex de Minaur has reinforced his reputation as one of the most exciting young players in world tennis, seeing off Belgium’s David Goffin to book Australia’s spot in the Davis Cup quarter-finals.
The 20-year-old Sydneysider beat the world No.11, 6-0 7-6 (8-6) to seal Australia’s first victory over Belgium since 1991 and finish top of Group D, setting up a clash with a talented Canada side on Friday (0400 AEDT).
De Minaur won the first set in 26 minutes as Goffin struggled to find an answer to the red-hot Australian’s powerful return game.
The Belgian No.1 finally got on the board in the opening game of the second set, but de Minaur continued to have success from the back of the court.
The world No.18 broke again at 3-1 but Goffin, with his back firmly against the wall, broke for the first time at 5-3 when de Minaur was serving for the match.
De Minaur then saved a set point and forced the tiebreaker which he closed out to seal his 40th victory of the season.
It continues his brilliant 2019 in which he has won three ATP titles to rocket up the rankings.
Earlier, Nick Kyrgios put Australia 1-0 up, beating the gutsy Steve Darcis 6-2 7-6 (10-8).
Kyrgios largely kept his emotions in check to see off the wily 35-year-old who has been Australia’s nemesis in two previous Davis Cup encounters in a match delayed by more than two hours.
He powered through the opening set in 24 minutes and then held his nerve against a much-improved Darcis in a high-quality second set in front of a noisy crowd dominated by Belgian fans.
Once again Kyrgios held his serve throughout, hurling down 22 aces – including an incredible nine in 10 points in the latter stages of the second set.
But Darcis refused to lie down and saved two match points – one from a 21-shot rally and the second from a 31-shot extravaganza.
Kyrgios did well to hold firm when it mattered and saved two set points to close out the win.
The final doubles rubber will see John Peers and Jordan Thompson meet Sander Gille and Joran Vliegen.
Great Britain’s marathon 2-1 win against the Netherlands earlier on Court Three, which saw all three rubbers go the distance, kept Australia and Belgium waiting.
-AAP


Welcome! This page is a brief introduction to the ones who decided this world needed another disgruntled IT worker, my parents.
My father was born in Kansas City in November of 1956. He would spend his childhood years moving from town to town until his parents settled down in Ralston, NE. After high school, Kim would join the Army. His Army days took him all around the world.
My mother was born in Omaha in May of 1962. From there, Cathy would grow up to be a rambunctious scamp that terrorized the neighborhood from her 65 Schwinn Speedster. Cathy would go on to graduate from the University of Nebraska at Lincoln with a bachelors in Elementary Education.
The happy couple met in 1980 and would soon begin dating. A few Van Halen concerts later, the two would find themselves ready to begin a committed and legally binding relationship. Kim and Cathy wasted no time in starting their family. They welcomed their first son into the world in June of 1985. And the rest is history.... on the other pages!


HOME
ABOUT US
BRANDS
BLOG
EVENTS
SHOP
CONTACT US
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text
Text


The Psychic Game
Press a keyboard letter to start game!
Press [SHIFT] to reset game!
You've guessed:
Number of Guesses Left: 10
Win: 0
Lost: 0


I have had a pretty rough heroin habit for a couple years now.  That stuff is golden. I was going through $150/day of dope but an $11 90mg daily dose of methadone would hold me well over 24 hours.
Eventually $330/month just seemed rediculous. I did a 30 day detox and was off methadone as of four days ago. Unfortunately, on the way down, my heroin use went up to compensate. So by the end of my detox I was back to square one with a decent dope habit. They say the long half-life of methadone contributes to the extended withdrawal. It must, because two days after my detox you could say a 80% heroin withdrawal set in. No sleep, intestinal pain. no appetite, irritability, etc, etc. I had to do something to keep from reverting back to heroin full time.
I found a doctor who does bupronorphine withdrawal and immediately got a script for Subutex (Bup brand name). They are 2mg sublingual tabs. He instructed me not to take them until 24 hours after my last opiate so that the Bup wouldn't throw me into hardcore withdrawal. I waited, but only made it 12 hours. I figured it couldn't get much worse. I took 2 2mg tabs followed three hours later by two more followed five hours later by two more. That puts me at 12mg (3 times the dose my doc prescribed) and I have felt 0 relief. For people who have infrequently used opiates, Bup will get you high (and likely very ill), but to the junky it's BS.
Its 11am and I haven't slept in 48 hours. I have a bitchin headache, a bottle of worthless medication and a $700 doctor bill. The moral of the story is, methadone is great as long as you stick to it and nothing else. Bupronorphine may be good for some but it has just wasted my time and money.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


A smart city uses information and communication technology (ICT) to improve places which need improving share information with the public and provide a better quality of government service and citizen welfare. ... Confident and progressive city plans. People able to live and work within the city, using its resources.
Digital technology, both ICT and IT, is crucial to meet these challenges and fuel sustainable development. Smart city solutions are based on digital technology and seen as enablers to reach the goal of sustainable growth and increased liveability. Danish cities, both large and small, work with national and international businesses to develop and implement smart city solutions within mobility, water, lighting, waste, environment and energy.


Lost password?
Login
Enter your e-mail address below and we will send you instructions how to recover a password.
« Back to login
Reecover


Created by hmchung / @tma.com.vn
Default -
Sky -
Beige -
Simple -
Serif -
Night
Moon -
Solarized
Cube - Page - Concave - Zoom - Linear - Fade - None - Default
Use this directive to auto-bootstrap an application.Only one ng-app directive can be used per HTML document
Angular's HTML compiler allows the developer to teach the browser new HTML syntax. The compiler allows you to attach behavior to any HTML element or attribute and even create new HTML elements or attributes with custom behavior. Angular calls these behavior extensions directives.
{{greeting}}
{{ expression }}
.
Total in dollar: {{ quantity * cost }}
{{callNotify()}}
Scope is an object that refers to the application model. It is an execution context for expressions. Scopes are arranged in hierarchical structure which mimic the DOM structure of theapplication.
Each Angular application has exactly one root scope, but may have several child scopes.
Is used for deep-linking URLs to controllers and views (HTML partials). It watches $location.url()
andtries to map the path to an existing route definition.
angular.module('myApp', [])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.when('/newcomer',{
templateUrl: 'views/newcomer/newcomer.html',
controller: 'newcomerCtrl'
})
.when('/newcomer/:id',{
templateUrl: 'views/report-table/report-table.html',
controller: 'reportCtrl'
})
.otherwise({
redirectTo: '/'
});
}])
Controls (input, select, textarea) are ways for a user to enter data. A Form is a collection of controls for the purpose of grouping related controls together.
Dependency Injection (DI) is a software design pattern that deals with how code gets holdof its dependencies.
{{ firstName + " " + lastName }}
AngularJS filters can be used to transform data:
| Filter | Description |
|---|---|
| currency | Format a number to a currency format. |
| filter | Select a subset of items from an array. |
| lowercase | Format a string to lower case. |
| orderBy | Orders an array by an expression. |
| uppercase | Format a string to upper case. |
-
{{ (x.name | uppercase) + ', ' + x.country }}


apache_beam.transforms package¶
Submodules¶
apache_beam.transforms.combiners module¶
A library of basic combiner PTransform subclasses.
-
class
apache_beam.transforms.combiners.
Count
[source]¶ Bases:
object
Combiners for counting elements.
-
class
Globally
(label=None)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
combiners.Count.Globally counts the total number of elements.
-
class
PerElement
(label=None)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
combiners.Count.PerElement counts how many times each element occurs.
-
class
PerKey
(label=None)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
combiners.Count.PerKey counts how many elements each unique key has.
-
class
-
class
apache_beam.transforms.combiners.
Mean
[source]¶ Bases:
object
Combiners for computing arithmetic means of elements.
-
class
Globally
(label=None)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
combiners.Mean.Globally computes the arithmetic mean of the elements.
-
class
PerKey
(label=None)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
combiners.Mean.PerKey finds the means of the values for each key.
-
class
-
class
apache_beam.transforms.combiners.
Sample
[source]¶ Bases:
object
Combiners for sampling n elements without replacement.
-
FixedSizeGlobally
= <CallablePTransform(PTransform) label=[FixedSizeGlobally]>¶
-
FixedSizePerKey
= <CallablePTransform(PTransform) label=[FixedSizePerKey]>¶
-
-
class
apache_beam.transforms.combiners.
Top
[source]¶ Bases:
object
Combiners for obtaining extremal elements.
-
Largest
= <CallablePTransform(PTransform) label=[Largest]>¶
-
LargestPerKey
= <CallablePTransform(PTransform) label=[LargestPerKey]>¶
-
Of
= <CallablePTransform(PTransform) label=[Of]>¶
-
PerKey
= <CallablePTransform(PTransform) label=[PerKey]>¶
-
Smallest
= <CallablePTransform(PTransform) label=[Smallest]>¶
-
SmallestPerKey
= <CallablePTransform(PTransform) label=[SmallestPerKey]>¶
-
-
class
apache_beam.transforms.combiners.
ToDict
(label='ToDict')[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
A global CombineFn that condenses a PCollection into a single dict.
PCollections should consist of 2-tuples, notionally (key, value) pairs. If multiple values are associated with the same key, only one of the values will be present in the resulting dict.
-
class
apache_beam.transforms.combiners.
ToList
(label='ToList')[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
A global CombineFn that condenses a PCollection into a single list.
apache_beam.transforms.core module¶
Core PTransform subclasses, such as FlatMap, GroupByKey, and Map.
-
class
apache_beam.transforms.core.
DoFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.typehints.decorators.WithTypeHints
,apache_beam.transforms.display.HasDisplayData
A function object used by a transform with custom processing.
The ParDo transform is such a transform. The ParDo.apply method will take an object of type DoFn and apply it to all elements of a PCollection object.
In order to have concrete DoFn objects one has to subclass from DoFn and define the desired behavior (start_bundle/finish_bundle and process) or wrap a callable object using the CallableWrapperDoFn class.
-
DoFnParams
= ['ElementParam', 'SideInputParam', 'TimestampParam', 'WindowParam']¶
-
ElementParam
= 'ElementParam'¶
-
SideInputParam
= 'SideInputParam'¶
-
TimestampParam
= 'TimestampParam'¶
-
WindowParam
= 'WindowParam'¶
-
get_function_arguments
(func)[source]¶ Return the function arguments based on the name provided. If they have a _inspect_function attached to the class then use that otherwise default to the python inspect library.
-
-
class
apache_beam.transforms.core.
CombineFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.typehints.decorators.WithTypeHints
,apache_beam.transforms.display.HasDisplayData
A function object used by a Combine transform with custom processing.
A CombineFn specifies how multiple values in all or part of a PCollection can be merged into a single value—essentially providing the same kind of information as the arguments to the Python “reduce” builtin (except for the input argument, which is an instance of CombineFnProcessContext). The combining process proceeds as follows:
- Input values are partitioned into one or more batches.
- For each batch, the create_accumulator method is invoked to create a fresh initial “accumulator” value representing the combination of zero values.
- For each input value in the batch, the add_input method is invoked to combine more values with the accumulator for that batch.
- The merge_accumulators method is invoked to combine accumulators from separate batches into a single combined output accumulator value, once all of the accumulators have had all the input value in their batches added to them. This operation is invoked repeatedly, until there is only one accumulator value left.
- The extract_output operation is invoked on the final accumulator to get the output value.
-
add_input
(accumulator, element, *args, **kwargs)[source]¶ Return result of folding element into accumulator.
CombineFn implementors must override add_input.
Parameters: - accumulator – the current accumulator
- element – the element to add
- *args – Additional arguments and side inputs.
- **kwargs – Additional arguments and side inputs.
-
add_inputs
(accumulator, elements, *args, **kwargs)[source]¶ Returns the result of folding each element in elements into accumulator.
This is provided in case the implementation affords more efficient bulk addition of elements. The default implementation simply loops over the inputs invoking add_input for each one.
Parameters: - accumulator – the current accumulator
- elements – the elements to add
- *args – Additional arguments and side inputs.
- **kwargs – Additional arguments and side inputs.
-
apply
(elements, *args, **kwargs)[source]¶ Returns result of applying this CombineFn to the input values.
Parameters: - elements – the set of values to combine.
- *args – Additional arguments and side inputs.
- **kwargs – Additional arguments and side inputs.
-
create_accumulator
(*args, **kwargs)[source]¶ Return a fresh, empty accumulator for the combine operation.
Parameters: - *args – Additional arguments and side inputs.
- **kwargs – Additional arguments and side inputs.
-
extract_output
(accumulator, *args, **kwargs)[source]¶ Return result of converting accumulator into the output value.
Parameters: - accumulator – the final accumulator value computed by this CombineFn for the entire input key or PCollection.
- *args – Additional arguments and side inputs.
- **kwargs – Additional arguments and side inputs.
-
class
apache_beam.transforms.core.
PartitionFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.typehints.decorators.WithTypeHints
A function object used by a Partition transform.
A PartitionFn specifies how individual values in a PCollection will be placed into separate partitions, indexed by an integer.
-
partition_for
(element, num_partitions, *args, **kwargs)[source]¶ Specify which partition will receive this element.
Parameters: - element – An element of the input PCollection.
- num_partitions – Number of partitions, i.e., output PCollections.
- *args – optional parameters and side inputs.
- **kwargs – optional parameters and side inputs.
Returns: An integer in [0, num_partitions).
-
-
class
apache_beam.transforms.core.
ParDo
(fn, *args, **kwargs)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransformWithSideInputs
A ParDo transform.
Processes an input PCollection by applying a DoFn to each element and returning the accumulated results into an output PCollection. The type of the elements is not fixed as long as the DoFn can deal with it. In reality the type is restrained to some extent because the elements sometimes must be persisted to external storage. See the expand() method comments for a detailed description of all possible arguments.
Note that the DoFn must return an iterable for each element of the input PCollection. An easy way to do this is to use the yield keyword in the process method.
Parameters: - pcoll – a PCollection to be processed.
- fn – a DoFn object to be applied to each element of pcoll argument.
- *args – positional arguments passed to the dofn object.
- **kwargs – keyword arguments passed to the dofn object.
Note that the positional and keyword arguments will be processed in order to detect PCollections that will be computed as side inputs to the transform. During pipeline execution whenever the DoFn object gets executed (its apply() method gets called) the PCollection arguments will be replaced by values from the PCollection in the exact positions where they appear in the argument lists.
-
with_outputs
(*tags, **main_kw)[source]¶ Returns a tagged tuple allowing access to the outputs of a ParDo.
The resulting object supports access to the PCollection associated with a tag (e.g., o.tag, o[tag]) and iterating over the available tags (e.g., for tag in o: ...).
Parameters: - *tags – if non-empty, list of valid tags. If a list of valid tags is given, it will be an error to use an undeclared tag later in the pipeline.
- **main_kw – dictionary empty or with one key ‘main’ defining the tag to be used for the main output (which will not have a tag associated with it).
Returns: An object of type DoOutputsTuple that bundles together all the outputs of a ParDo transform and allows accessing the individual PCollections for each output using an object.tag syntax.
Raises: TypeError
– if the self object is not a PCollection that is the result of a ParDo transform.ValueError
– if main_kw contains any key other than ‘main’.
-
apache_beam.transforms.core.
FlatMap
(fn, *args, **kwargs)[source]¶ FlatMap is like ParDo except it takes a callable to specify the transformation.
The callable must return an iterable for each element of the input PCollection. The elements of these iterables will be flattened into the output PCollection.
Parameters: - fn – a callable object.
- *args – positional arguments passed to the transform callable.
- **kwargs – keyword arguments passed to the transform callable.
Returns: A PCollection containing the Map outputs.
Raises: TypeError
– If the fn passed as argument is not a callable. Typical error is to pass a DoFn instance which is supported only for ParDo.
-
apache_beam.transforms.core.
Map
(fn, *args, **kwargs)[source]¶ Map is like FlatMap except its callable returns only a single element.
Parameters: - fn – a callable object.
- *args – positional arguments passed to the transform callable.
- **kwargs – keyword arguments passed to the transform callable.
Returns: A PCollection containing the Map outputs.
Raises: TypeError
– If the fn passed as argument is not a callable. Typical error is to pass a DoFn instance which is supported only for ParDo.
-
apache_beam.transforms.core.
Filter
(fn, *args, **kwargs)[source]¶ Filter is a FlatMap with its callable filtering out elements.
Parameters: - fn – a callable object.
- *args – positional arguments passed to the transform callable.
- **kwargs – keyword arguments passed to the transform callable.
Returns: A PCollection containing the Filter outputs.
Raises: TypeError
– If the fn passed as argument is not a callable. Typical error is to pass a DoFn instance which is supported only for FlatMap.
-
class
apache_beam.transforms.core.
CombineGlobally
(fn, *args, **kwargs)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
A CombineGlobally transform.
Reduces a PCollection to a single value by progressively applying a CombineFn to portions of the PCollection (and to intermediate values created thereby). See documentation in CombineFn for details on the specifics on how CombineFns are applied.
Parameters: - pcoll – a PCollection to be reduced into a single value.
- fn – a CombineFn object that will be called to progressively reduce the PCollection into single values, or a callable suitable for wrapping by CallableWrapperCombineFn.
- *args – positional arguments passed to the CombineFn object.
- **kwargs – keyword arguments passed to the CombineFn object.
Raises: TypeError
– If the output type of the input PCollection is not compatible with Iterable[A].Returns: A single-element PCollection containing the main output of the Combine transform.
Note that the positional and keyword arguments will be processed in order to detect PObjects that will be computed as side inputs to the transform. During pipeline execution whenever the CombineFn object gets executed (i.e., any of the CombineFn methods get called), the PObject arguments will be replaced by their actual value in the exact position where they appear in the argument lists.
-
as_view
= False¶
-
has_defaults
= True¶
-
class
apache_beam.transforms.core.
CombinePerKey
(fn, *args, **kwargs)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransformWithSideInputs
A per-key Combine transform.
Identifies sets of values associated with the same key in the input PCollection, then applies a CombineFn to condense those sets to single values. See documentation in CombineFn for details on the specifics on how CombineFns are applied.
Parameters: - pcoll – input pcollection.
- fn – instance of CombineFn to apply to all values under the same key in
pcoll, or a callable whose signature is
f(iterable, *args, **kwargs)
(e.g., sum, max). - *args – arguments and side inputs, passed directly to the CombineFn.
- **kwargs – arguments and side inputs, passed directly to the CombineFn.
Returns: A PObject holding the result of the combine operation.
-
class
apache_beam.transforms.core.
CombineValues
(fn, *args, **kwargs)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransformWithSideInputs
-
class
apache_beam.transforms.core.
GroupByKey
(label=None)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
A group by key transform.
Processes an input PCollection consisting of key/value pairs represented as a tuple pair. The result is a PCollection where values having a common key are grouped together. For example (a, 1), (b, 2), (a, 3) will result into (a, [1, 3]), (b, [2]).
The implementation here is used only when run on the local direct runner.
-
class
apache_beam.transforms.core.
Partition
(fn, *args, **kwargs)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransformWithSideInputs
Split a PCollection into several partitions.
Uses the specified PartitionFn to separate an input PCollection into the specified number of sub-PCollections.
When apply()d, a Partition() PTransform requires the following:
Parameters: - partitionfn – a PartitionFn, or a callable with the signature described in CallableWrapperPartitionFn.
- n – number of output partitions.
The result of this PTransform is a simple list of the output PCollections representing each of n partitions, in order.
-
class
ApplyPartitionFnFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.core.DoFn
A DoFn that applies a PartitionFn.
-
class
apache_beam.transforms.core.
Windowing
(windowfn, triggerfn=None, accumulation_mode=None, timestamp_combiner=None)[source]¶ Bases:
object
-
class
apache_beam.transforms.core.
WindowInto
(windowfn, **kwargs)[source]¶ Bases:
apache_beam.transforms.core.ParDo
A window transform assigning windows to each element of a PCollection.
Transforms an input PCollection by applying a windowing function to each element. Each transformed element in the result will be a WindowedValue element with the same input value and timestamp, with its new set of windows determined by the windowing function.
-
class
WindowIntoFn
(windowing)[source]¶ Bases:
apache_beam.transforms.core.DoFn
A DoFn that applies a WindowInto operation.
-
class
-
class
apache_beam.transforms.core.
Flatten
(**kwargs)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
Merges several PCollections into a single PCollection.
Copies all elements in 0 or more PCollections into a single output PCollection. If there are no input PCollections, the resulting PCollection will be empty (but see also kwargs below).
Parameters: **kwargs – Accepts a single named argument “pipeline”, which specifies the pipeline that “owns” this PTransform. Ordinarily Flatten can obtain this information from one of the input PCollections, but if there are none (or if there’s a chance there may be none), this argument is the only way to provide pipeline information and should be considered mandatory.
apache_beam.transforms.cy_combiners module¶
A library of basic cythonized CombineFn subclasses.
For internal use only; no backwards-compatibility guarantees.
-
class
apache_beam.transforms.cy_combiners.
AccumulatorCombineFn
(*unused_args, **unused_kwargs)[source]¶
-
class
apache_beam.transforms.cy_combiners.
AllCombineFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
-
class
apache_beam.transforms.cy_combiners.
AnyCombineFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
-
class
apache_beam.transforms.cy_combiners.
CountCombineFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
-
class
apache_beam.transforms.cy_combiners.
MaxFloatFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
-
class
apache_beam.transforms.cy_combiners.
MaxInt64Fn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
-
class
apache_beam.transforms.cy_combiners.
MeanFloatFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
-
class
apache_beam.transforms.cy_combiners.
MeanInt64Fn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
-
class
apache_beam.transforms.cy_combiners.
MinFloatFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
-
class
apache_beam.transforms.cy_combiners.
MinInt64Fn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
-
class
apache_beam.transforms.cy_combiners.
SumFloatFn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
-
class
apache_beam.transforms.cy_combiners.
SumInt64Fn
(*unused_args, **unused_kwargs)[source]¶ Bases:
apache_beam.transforms.cy_combiners.AccumulatorCombineFn
apache_beam.transforms.display module¶
DisplayData, its classes, interfaces and methods.
The classes in this module allow users and transform developers to define static display data to be displayed when a pipeline runs. PTransforms, DoFns and other pipeline components are subclasses of the HasDisplayData mixin. To add static display data to a component, you can override the display_data method of the HasDisplayData class.
Available classes:
- HasDisplayData - Components that inherit from this class can have static
- display data shown in the UI.
- DisplayDataItem - This class represents static display data elements.
- DisplayData - Internal class that is used to create display data and
- communicate it to the API.
-
class
apache_beam.transforms.display.
HasDisplayData
[source]¶ Bases:
object
Basic mixin for elements that contain display data.
It implements only the display_data method and a _namespace method.
-
display_data
()[source]¶ Returns the display data associated to a pipeline component.
It should be reimplemented in pipeline components that wish to have static display data.
Returns: value pairs. The value might be an integer, float or string value; a DisplayDataItem for values that have more data (e.g. short value, label, url); or a HasDisplayData instance that has more display data that should be picked up. For example: - { ‘key1’: ‘string_value’,
- ‘key2’: 1234, ‘key3’: 3.14159265, ‘key4’: DisplayDataItem(‘apache.org’, url=’http://apache.org‘), ‘key5’: subComponent }
Return type: A dictionary containing key
-
-
class
apache_beam.transforms.display.
DisplayDataItem
(value, url=None, label=None, namespace=None, key=None, shortValue=None)[source]¶ Bases:
object
A DisplayDataItem represents a unit of static display data.
Each item is identified by a key and the namespace of the component the display item belongs to.
-
drop_if_default
(default)[source]¶ The item should be dropped if its value is equal to its default.
Returns: Returns self.
-
get_dict
()[source]¶ Returns the internal-API dictionary representing the DisplayDataItem.
Returns: A dictionary. The internal-API dictionary representing the DisplayDataItem Raises: ValueError
– if the item is not valid.
-
is_valid
()[source]¶ Checks that all the necessary fields of the DisplayDataItem are filled in. It checks that neither key, namespace, value or type are None.
Raises: ValueError
– If the item does not have a key, namespace, value or type.
-
should_drop
()[source]¶ Return True if the item should be dropped, or False if it should not be dropped. This depends on the drop_if_none, and drop_if_default calls.
Returns: True or False; depending on whether the item should be dropped or kept.
-
typeDict
= {<type 'datetime.datetime'>: 'TIMESTAMP', <type 'bool'>: 'BOOLEAN', <type 'str'>: 'STRING', <type 'datetime.timedelta'>: 'DURATION', <type 'unicode'>: 'STRING', <type 'int'>: 'INTEGER', <type 'float'>: 'FLOAT'}¶
-
-
class
apache_beam.transforms.display.
DisplayData
(namespace, display_data_dict)[source]¶ Bases:
object
Static display data associated with a pipeline component.
-
classmethod
create_from
(has_display_data)[source]¶ Creates DisplayData from a HasDisplayData instance.
Returns: A DisplayData instance with populated items. Raises: ValueError
– If the has_display_data argument is not an instance of HasDisplayData.
-
classmethod
create_from_options
(pipeline_options)[source]¶ Creates DisplayData from a PipelineOptions instance.
When creating DisplayData, this method will convert the value of any item of a non-supported type to its string representation. The normal DisplayData.create_from method rejects those items.
Returns: A DisplayData instance with populated items. Raises: ValueError
– If the has_display_data argument is not an instance of HasDisplayData.
-
classmethod
apache_beam.transforms.ptransform module¶
PTransform and descendants.
A PTransform is an object describing (not executing) a computation. The actual execution semantics for a transform is captured by a runner object. A transform object always belongs to a pipeline object.
A PTransform derived class needs to define the expand() method that describes how one or more PValues are created by the transform.
The module defines a few standard transforms: FlatMap (parallel do), GroupByKey (group by key), etc. Note that the expand() methods for these classes contain code that will add nodes to the processing graph associated with a pipeline.
As support for the FlatMap transform, the module also defines a DoFn class and wrapper class that allows lambda functions to be used as FlatMap processing functions.
-
class
apache_beam.transforms.ptransform.
PTransform
(label=None)[source]¶ Bases:
apache_beam.typehints.decorators.WithTypeHints
,apache_beam.transforms.display.HasDisplayData
A transform object used to modify one or more PCollections.
Subclasses must define an expand() method that will be used when the transform is applied to some arguments. Typical usage pattern will be:
input | CustomTransform(...)The expand() method of the CustomTransform object passed in will be called with input as an argument.
-
get_windowing
(inputs)[source]¶ Returns the window function to be associated with transform’s output.
By default most transforms just return the windowing function associated with the input PCollection (or the first input if several).
-
label
¶
-
pipeline
= None¶
-
side_inputs
= ()¶
-
with_input_types
(input_type_hint)[source]¶ Annotates the input type of a PTransform with a type-hint.
Parameters: input_type_hint – An instance of an allowed built-in type, a custom class, or an instance of a typehints.TypeConstraint. Raises: TypeError
– If ‘type_hint’ is not a valid type-hint. See typehints.validate_composite_type_param for further details.Returns: A reference to the instance of this particular PTransform object. This allows chaining type-hinting related methods.
-
with_output_types
(type_hint)[source]¶ Annotates the output type of a PTransform with a type-hint.
Parameters: type_hint – An instance of an allowed built-in type, a custom class, or a typehints.TypeConstraint. Raises: TypeError
– If ‘type_hint’ is not a valid type-hint. See typehints.validate_composite_type_param for further details.Returns: A reference to the instance of this particular PTransform object. This allows chaining type-hinting related methods.
-
-
apache_beam.transforms.ptransform.
ptransform_fn
(fn)[source]¶ A decorator for a function-based PTransform.
Experimental; no backwards-compatibility guarantees.
Parameters: fn – A function implementing a custom PTransform. Returns: A CallablePTransform instance wrapping the function-based PTransform. This wrapper provides an alternative, simpler way to define a PTransform. The standard method is to subclass from PTransform and override the expand() method. An equivalent effect can be obtained by defining a function that an input PCollection and additional optional arguments and returns a resulting PCollection. For example:
@ptransform_fn def CustomMapper(pcoll, mapfn): return pcoll | ParDo(mapfn)
The equivalent approach using PTransform subclassing:
class CustomMapper(PTransform): def __init__(self, mapfn): super(CustomMapper, self).__init__() self.mapfn = mapfn def expand(self, pcoll): return pcoll | ParDo(self.mapfn)
With either method the custom PTransform can be used in pipelines as if it were one of the “native” PTransforms:
result_pcoll = input_pcoll | 'Label' >> CustomMapper(somefn)
Note that for both solutions the underlying implementation of the pipe operator (i.e., |) will inject the pcoll argument in its proper place (first argument if no label was specified and second argument otherwise).
apache_beam.transforms.sideinputs module¶
Internal side input transforms and implementations.
For internal use only; no backwards-compatibility guarantees.
Important: this module is an implementation detail and should not be used directly by pipeline writers. Instead, users should use the helper methods AsSingleton, AsIter, AsList and AsDict in apache_beam.pvalue.
apache_beam.transforms.timeutil module¶
Timestamp utilities.
apache_beam.transforms.trigger module¶
Support for Dataflow triggers.
Triggers control when in processing time windows get emitted.
-
class
apache_beam.transforms.trigger.
AccumulationMode
[source]¶ Bases:
object
Controls what to do with data when a trigger fires multiple times.
-
ACCUMULATING
= 1¶
-
DISCARDING
= 0¶
-
-
class
apache_beam.transforms.trigger.
TriggerFn
[source]¶ Bases:
object
A TriggerFn determines when window (panes) are emitted.
See https://beam.apache.org/documentation/programming-guide/#triggers
-
on_element
(element, window, context)[source]¶ Called when a new element arrives in a window.
Parameters: - element – the element being added
- window – the window to which the element is being added
- context – a context (e.g. a TriggerContext instance) for managing state and setting timers
-
on_fire
(watermark, window, context)[source]¶ Called when a trigger actually fires.
Parameters: - watermark – (a lower bound on) the watermark of the system
- window – the window whose trigger is being fired
- context – a context (e.g. a TriggerContext instance) for managing state and setting timers
Returns: whether this trigger is finished
-
on_merge
(to_be_merged, merge_result, context)[source]¶ Called when multiple windows are merged.
Parameters: - to_be_merged – the set of windows to be merged
- merge_result – the window into which the windows are being merged
- context – a context (e.g. a TriggerContext instance) for managing state and setting timers
-
should_fire
(watermark, window, context)[source]¶ Whether this trigger should cause the window to fire.
Parameters: - watermark – (a lower bound on) the watermark of the system
- window – the window whose trigger is being considered
- context – a context (e.g. a TriggerContext instance) for managing state and setting timers
Returns: whether this trigger should cause a firing
-
-
class
apache_beam.transforms.trigger.
DefaultTrigger
[source]¶ Bases:
apache_beam.transforms.trigger.TriggerFn
Semantically Repeatedly(AfterWatermark()), but more optimized.
-
class
apache_beam.transforms.trigger.
AfterWatermark
(early=None, late=None)[source]¶ Bases:
apache_beam.transforms.trigger.TriggerFn
Fire exactly once when the watermark passes the end of the window.
Parameters: - early – if not None, a speculative trigger to repeatedly evaluate before the watermark passes the end of the window
- late – if not None, a speculative trigger to repeatedly evaluate after the watermark passes the end of the window
-
LATE_TAG
= CombiningValueStateTag(is_late, CallableWrapperCombineFn(<built-in function any>))¶
-
class
apache_beam.transforms.trigger.
AfterCount
(count)[source]¶ Bases:
apache_beam.transforms.trigger.TriggerFn
Fire when there are at least count elements in this window pane.
AfterCount is experimental. No backwards compatibility guarantees.
-
COUNT_TAG
= CombiningValueStateTag(count, <apache_beam.transforms.combiners.CountCombineFn object>)¶
-
-
class
apache_beam.transforms.trigger.
Repeatedly
(underlying)[source]¶ Bases:
apache_beam.transforms.trigger.TriggerFn
Repeatedly invoke the given trigger, never finishing.
-
class
apache_beam.transforms.trigger.
AfterAny
(*triggers)[source]¶ Bases:
apache_beam.transforms.trigger._ParallelTriggerFn
Fires when any subtrigger fires.
Also finishes when any subtrigger finishes.
-
combine_op
()¶ any(iterable) -> bool
Return True if bool(x) is True for any x in the iterable. If the iterable is empty, return False.
-
-
class
apache_beam.transforms.trigger.
AfterAll
(*triggers)[source]¶ Bases:
apache_beam.transforms.trigger._ParallelTriggerFn
Fires when all subtriggers have fired.
Also finishes when all subtriggers have finished.
-
combine_op
()¶ all(iterable) -> bool
Return True if bool(x) is True for all values x in the iterable. If the iterable is empty, return True.
-
-
class
apache_beam.transforms.trigger.
AfterEach
(*triggers)[source]¶ Bases:
apache_beam.transforms.trigger.TriggerFn
-
INDEX_TAG
= CombiningValueStateTag(index, CallableWrapperCombineFn(<function <lambda>>))¶
-
apache_beam.transforms.util module¶
Simple utility PTransforms.
-
class
apache_beam.transforms.util.
CoGroupByKey
(**kwargs)[source]¶ Bases:
apache_beam.transforms.ptransform.PTransform
Groups results across several PCollections by key.
Given an input dict mapping serializable keys (called “tags”) to 0 or more PCollections of (key, value) tuples, e.g.:
{'pc1': pcoll1, 'pc2': pcoll2, 33333: pcoll3}
creates a single output PCollection of (key, value) tuples whose keys are the unique input keys from all inputs, and whose values are dicts mapping each tag to an iterable of whatever values were under the key in the corresponding PCollection:
('some key', {'pc1': ['value 1 under "some key" in pcoll1', 'value 2 under "some key" in pcoll1'], 'pc2': [], 33333: ['only value under "some key" in pcoll3']})
Note that pcoll2 had no values associated with “some key”.
CoGroupByKey also works for tuples, lists, or other flat iterables of PCollections, in which case the values of the resulting PCollections will be tuples whose nth value is the list of values from the nth PCollection—conceptually, the “tags” are the indices into the input. Thus, for this input:
(pcoll1, pcoll2, pcoll3)
the output PCollection’s value for “some key” is:
('some key', (['value 1 under "some key" in pcoll1', 'value 2 under "some key" in pcoll1'], [], ['only value under "some key" in pcoll3']))
Parameters: - label – name of this transform instance. Useful while monitoring and debugging a pipeline execution.
- **kwargs – Accepts a single named argument “pipeline”, which specifies the pipeline that “owns” this PTransform. Ordinarily CoGroupByKey can obtain this information from one of the input PCollections, but if there are none (or if there’s a chance there may be none), this argument is the only way to provide pipeline information, and should be considered mandatory.
-
apache_beam.transforms.util.
Keys
(label='Keys')[source]¶ Produces a PCollection of first elements of 2-tuples in a PCollection.
apache_beam.transforms.window module¶
Windowing concepts.
A WindowInto transform logically divides up or groups the elements of a PCollection into finite windows according to a windowing function (derived from WindowFn).
The output of WindowInto contains the same elements as input, but they have been logically assigned to windows. The next GroupByKey(s) transforms, including one within a composite transform, will group by the combination of keys and windows.
Windowing a PCollection allows chunks of it to be processed individually, before the entire PCollection is available. This is especially important for PCollection(s) with unbounded size, since the full PCollection is never available at once, since more data is continually arriving. For PCollection(s) with a bounded size (aka. conventional batch mode), by default, all data is implicitly in a single window (see GlobalWindows), unless WindowInto is applied.
For example, a simple form of windowing divides up the data into fixed-width time intervals, using FixedWindows.
Seconds are used as the time unit for the built-in windowing primitives here. Integer or floating point seconds can be passed to these primitives.
Internally, seconds, with microsecond granularity, are stored as timeutil.Timestamp and timeutil.Duration objects. This is done to avoid precision errors that would occur with floating point representations.

TimestampCombiner
[source]¶ Bases:
object
Determines how output timestamps of grouping operations are assigned.
-
OUTPUT_AT_EARLIEST
= 2¶
-
OUTPUT_AT_EARLIEST_TRANSFORMED
= 'OUTPUT_AT_EARLIEST_TRANSFORMED'¶
-
OUTPUT_AT_EOW
= 0¶
-
OUTPUT_AT_LATEST
= 1¶
-
-
class
apache_beam.transforms.window.
WindowFn
[source]¶ Bases:
apache_beam.utils.urns.RunnerApiFn
An abstract windowing function defining a basic assign and merge.
-
class
AssignContext
(timestamp, element=None)[source]¶ Bases:
object
Context passed to WindowFn.assign().
-
class
MergeContext
(windows)[source]¶ Bases:
object
Context passed to WindowFn.merge() to perform merging, if any.
-
get_transformed_output_time
(window, input_timestamp)[source]¶ Given input time and output window, returns output time for window.
If TimestampCombiner.OUTPUT_AT_EARLIEST_TRANSFORMED is used in the Windowing, the output timestamp for the given window will be the earliest of the timestamps returned by get_transformed_output_time() for elements of the window.
Parameters: - window – Output window of element.
- input_timestamp – Input timestamp of element as a timeutil.Timestamp object.
Returns: Transformed timestamp.
-
to_runner_api_parameter
(context)¶
-
class
-
class
apache_beam.transforms.window.
BoundedWindow
(end)[source]¶ Bases:
object
A window for timestamps in range (-infinity, end).
-
end
¶ End of window.
-
-
class
apache_beam.transforms.window.
IntervalWindow
(start, end)[source]¶ Bases:
apache_beam.transforms.window.BoundedWindow
A window for timestamps in range [start, end).
-
start
¶ Start of window as seconds since Unix epoch.
-
end
¶ End of window as seconds since Unix epoch.
-
-
class
apache_beam.transforms.window.
TimestampedValue
(value, timestamp)[source]¶ Bases:
object
A timestamped value having a value and a timestamp.
-
value
¶ The underlying value.
-
timestamp
¶ Timestamp associated with the value as seconds since Unix epoch.
-
-
class
apache_beam.transforms.window.
GlobalWindow
[source]¶ Bases:
apache_beam.transforms.window.BoundedWindow
The default window into which all data is placed (via GlobalWindows).
-
class
apache_beam.transforms.window.
GlobalWindows
[source]¶ Bases:
apache_beam.transforms.window.NonMergingWindowFn
A windowing function that assigns everything to one global window.
-
class
apache_beam.transforms.window.
FixedWindows
(size, offset=0)[source]¶ Bases:
apache_beam.transforms.window.NonMergingWindowFn
A windowing function that assigns each element to one time interval.
The attributes size and offset determine in what time interval a timestamp will be slotted. The time intervals have the following formula: [N * size + offset, (N + 1) * size + offset)
-
size
¶ Size of the window as seconds.
-
offset
¶ Offset of this window as seconds since Unix epoch. Windows start at t=N * size + offset where t=0 is the epoch. The offset must be a value in range [0, size). If it is not it will be normalized to this range.
-
-
class
apache_beam.transforms.window.
SlidingWindows
(size, period, offset=0)[source]¶ Bases:
apache_beam.transforms.window.NonMergingWindowFn
A windowing function that assigns each element to a set of sliding windows.
The attributes size and offset determine in what time interval a timestamp will be slotted. The time intervals have the following formula: [N * period + offset, N * period + offset + size)
-
size
¶ Size of the window as seconds.
-
period
¶ Period of the windows as seconds.
-
offset
¶ Offset of this window as seconds since Unix epoch. Windows start at t=N * period + offset where t=0 is the epoch. The offset must be a value in range [0, period). If it is not it will be normalized to this range.
-
-
class
apache_beam.transforms.window.
Sessions
(gap_size)[source]¶ Bases:
apache_beam.transforms.window.WindowFn
A windowing function that groups elements into sessions.
A session is defined as a series of consecutive events separated by a specified gap size.
-
gap_size
¶ Size of the gap between windows as floating-point seconds.
-
Module contents¶
PTransform and descendants.


If loading variables during debugging takes a long time, you might see the Loading timed out warning messages.
Click the Switch to loading on demand link in the Variables window to switch to the mode when variables are loaded on user's request.


Overview
Sensors
Add
Actors
Add
Induction Cooker
Edit
Modify Actor
×
Name
MQTT Topic
PIN
Inverted GPIO
Modify Sensor
×
Address
Name
MQTT Topic
Modify Induction
×
Enable Induction
MQTT Topic
PIN White (Relais)
PIN Yellow (Command Channel)
PIN Blue (Backchannel)
Delay after Power off


About Sri Balaji Enterprises
We are an independent business unit supplying welding electrodes to lots of companies in and around Peenya, Bengaluru. Located close to Jalahalli Cross, we provide business to various companies like ABB, Nikitha BuildTech etc.
Contact Us
Address:
Sri Balaji Enterprises,
#160, High School Road,
Model Officers' Colony,
Jalahalli West, Bengaluru - 5600xx


This is test page 2
This is a two column layout from service2
This is some random content for the left side of this column layout. Isn't it great to be here?


Results {{page_obj.start_index}}-{{page_obj.end_index}} of {{paginator.count}} for {{form.auto_query|default:"*"}} {% for field_query in form.field_queries %} {% if field_query.0 %} {{field_query.0}}:{{field_query.1}} {% else %} {{field_query.1|default:""}} {% endif %} {% endfor %}
No documents found for your query. Try removing some filters or search terms.
| Material | Authors | Date | Type |
|---|


Hello Steemians I am going to introduce the best paying faucet sites here.
Freebitcoin is a famous faucet and online gambling site which has survived through all these years while other faucet sites have mostly closed down.
Besides free Bitcoins, there are free lottery tickets and rewards points for each free roll, giving you chances to win up to about 3 Bitcoins.
You can win up to $200 USD worth of Bitcoin each time, and this is my best one.
You can multiply your Bitcoin by playing a provably fair Hi-Lo game, and you can also get a bonus to start on. Also, you can earn interest when you put your Bitcoins there with an interest rate of 4.08% which compounded daily! I trust this site so much that I put some of my Bitcoin here to earn interest.
You can use the following link to sign up:
https://freebitco.in/?r=4804353
Freedoge is like his cousin, but with fewer payouts and less things to play with. Only free draws and multiply Dogecoin are available.
You can use the following link to sign up:
http://freedoge.co.in/?r=876735
Of course, you can also refer your friends to earn more. Thank you for reading this.
This page is synchronized from the post: ‘Newbies come and get free Bitcoins and Dogecoins every hour’


How to set the config.yml file
The config.yml file in the Freshman21 theme includes five parts.
First part is the site info.
title: Freshman21 # blog title
tagline: Another Jekyll theme, Freshman twenty-first # blog sub-titile
author: Lijia YU # author name
email<EMAIL_ADDRESS># author email
description: "Freshman21 is a Jekyll blog theme." # You can edit this line in _config.yml. It will appear in your document head meta and in
your feed.xml site description
keywords: "Jekyll, theme, Freshman21" # html meta keywords
baseurl: "/freshman21" # the subpath of your site, e.g. /blog
url: "http://yulijia.net/freshman21" # the base hostname & protocol for your site
Part 2, Personal info and site tools info, twitter, github, aboutme and aboutme_photo only appears on the sidebar aboutme-box, you can Hide
in two ways [1]:
twitter_username: #your twitter handle
github_username: #your github account
disqus_shortname: #disqus shortname
favicon: "images/favicon.ico"
aboutme: Hi, this is Lijia Yu. I made the Freshman21 theme. Please enjoy it. # these are shown on aboutme-box(sidebar).
aboutme_photo: https://i.imgur.com/15BT1.jpg # your personal photo.
Part3, Site setting:
ShowContactInfo: "True" # Personal Info (twitter,github,email) can be seen on aboutme-sidebar, those info only shown where ShowContactInfo == True
default_column: "two" # blog style: two columns, if default_column != "two", you will see a one column blog.
default_locale: "en" # blog sidebar language set, only include: English(en) and Chinese (cn)
Part4, Blogroll info, only name tags can shown on the page.
Blogroll:
- name: Freshman
href: http://yulijia.net/freshman
title: Another Jekyll blog theme
- name: author's website
href: http://yulijia.net/
title: Lijia Yu's website
Part5, Build settings
markdown: kramdown
highlighter: pygments # highlight
paginate: 5 # how many post can seen in the main page
=====
- [1], you can set those info at Part3 or just delete the
aboutme.html
atsidebar.html
in_include
folder.
<div class="col-sm-2">
<!--{ % include Aboutme.html % }-->
{ % include Copyright_Notice.html % }
{ % include Recent_Posts.html % }
{ % include Categories.html % }
{ % include Tags.html % }
{ % include Blogroll.html % }
{ % include Archives.html % }
</div>


Meghan McCain Faces Twitter Backlash For Telling Roger Stone to “Rot in Hell”
“I thought he was going to prison, not vacationing with your father.”
by Paul Joseph WatsonMeghan McCain was hit with a Twitter backlash after she appeared to celebrate the potential prison death of Roger Stone by tweeting, “rot in hell.”
Stone was convicted on 7 counts in his federal trial yesterday and faces a jail sentence of up to 50 years.
“Rot in hell, Roger Stone,” tweeted McCain in response.
McCain’s tweet is particularly vile and hypocritical given that she has constantly complained about people celebrating her father’s death.
Respondents to the tweet didn’t hold back
“I thought he was going to prison, not vacationing with your father,” wrote one.
“We all know your dad had a VIP spot in Hell,” tweeted Rhoda Ross-Williams.
“Didn’t you complain when people said the same about your Dad?” asked lawyer Robert Barnes.
“Any last ounce of respect I had for you (and it wasn’t much!) is officially gone now!” remarked Courtney Holland.
And finally, McCain blocked yours truly merely for suggesting that it wasn’t classy to celebrate anyone’s death.
Self-awareness check.
SUBSCRIBE on YouTube:


Our Solution. Yours. Or the Best of Both
Our multi-tenant cloud platform enables fully customized B2B eCommerce solutions. The OrderCloud Dev Center features a secure and extendable data model, REST API, and rapid development tools.
 Develop for mobile and tablet users. Build off of our Core components to get to your custom solution that improves your customers' buying experiences.
Work with your channel partners seamlessly through integration strategies that extend the use of the platform and help streamline workflows.
Comprehensive tools and features allow for end-to-end integration with your systems. Receive order data and send back shipment data, manage catalog/user data, and build custom handling of the checkout process.
Learn more about the four51 integration process.Whether it is Single Sign On Integration, a PunchOut Integration with your procurement system, or an integration with any other back office system, Four51 can work with your existing business infrastructure.
Learn more about the four51 integration process.


void |
Worksheet.addCellRange(List<Object> values,
Address startAddress,
Address endAddress) |
Adds a list of object values to a defined cell range.
|
void |
Worksheet.addCellRange(List<Object> values,
Address startAddress,
Address endAddress,
Style style) |
Adds a list of object values to a defined cell range.
|
static Range |
Range.buildRange(Address startAddress,
Address endAddress) |
Method to build a range object from two addresses.
|
static Cell |
BasicFormulas.Ceil(Address address,
int decimals) |
Returns a cell with a ceil formula
|
static Cell |
BasicFormulas.Ceil(Worksheet target,
Address address,
int decimals) |
Returns a cell with a ceil formula
|
int |
Address.compareTo(Address other) |
Compares two addresses and returns whether the passed one is bigger or not.
|
static Cell |
BasicFormulas.Floor(Address address,
int decimals) |
Returns a cell with a floor formula
|
static Cell |
BasicFormulas.Floor(Worksheet target,
Address address,
int decimals) |
Returns a cell with a floor formula
|
Cell |
Worksheet.getCell(Address address) |
Gets the cell of the specified address
|
static List<Address> |
Cell.getCellRange(Address startAddress,
Address endAddress) |
Get a list of cell addresses from a cell range
|
boolean |
Worksheet.hasCell(Address address) |
Gets whether the specified address exists in the worksheet.
|
String |
Worksheet.mergeCells(Address startAddress,
Address endAddress) |
Merges the defined cell range
|
static Cell |
BasicFormulas.Round(Address address,
int decimals) |
Returns a cell with a round formula
|
static Cell |
BasicFormulas.Round(Worksheet target,
Address address,
int decimals) |
Returns a cell with a round formula
|
void |
Cell.setCellAddress2(Address address) |
Sets the combined cell address as class
|
void |
Worksheet.setSelectedCells(Address startAddress,
Address endAddress) |
Sets the selected cells on this worksheet
|
static Cell |
BasicFormulas.VLookup(Address address,
Range range,
int columnIndex,
boolean exactMatch) |
Function to generate a Vlookup as Excel function
|
static Cell |
BasicFormulas.VLookup(Worksheet queryTarget,
Address address,
Worksheet rangeTarget,
Range range,
int columnIndex,
boolean exactMatch) |
Function to generate a Vlookup as Excel function
|


{% extends "base.html" %} {% block title %} Thank you for adding an event {{block.super}} {% endblock %} {% block css-override %} {% endblock %} {% block content %}
Your update on a reserved judgment has been added
Thank you for providing us this information.
We will check what you have provided and then update our system. This can take up to three business days.


An 'RStudio' addin for teaching and learning making plot using the 'ggplot2' package. You can learn each steps of making plot by clicking your mouse without coding. You can get resultant code for the plot.
| Version: | 0.1.3 |
| Depends: | R (≥ 2.10) |
| Imports: | shiny (≥ 0.13), miniUI (≥ 0.1.1), rstudioapi (≥ 0.5), shinyWidgets, shinyAce, stringr, tidyverse, ggplot2, dplyr, magrittr, tibble, scales, ggthemes, gcookbook, moonBook, editData |
| Suggests: | knitr, rmarkdown, markdown |
| Published: | 2017-11-12 |
| Author: | Keon-Woong Moon [aut, cre] |
| Maintainer: | Keon-Woong Moon <cardiomoon at gmail.com> |
| BugReports: | https://github.com/cardiomoon/ggplotAssist/issues |
| License: | GPL-3 |
| URL: | https://github.com/cardiomoon/ggplotAssist |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | ggplotAssist results |
| Reference manual: | ggplotAssist.pdf |
| Vignettes: |
ggplotAssist |
| Package source: | ggplotAssist_0.1.3.tar.gz |
| Windows binaries: | r-devel: ggplotAssist_0.1.3.zip, r-release: ggplotAssist_0.1.3.zip, r-oldrel: ggplotAssist_0.1.3.zip |
| OS X binaries: | r-release: ggplotAssist_0.1.3.tgz, r-oldrel: ggplotAssist_0.1.3.tgz |
| Old sources: | ggplotAssist archive |
Please use the canonical form https://CRAN.R-project.org/package=ggplotAssist to link to this page.


This is a modal box.
Another line.
This is a modal box.
Another line.
This is a modal box.
Another line.
This is a modal box.
Another line.
This is an example of a paragraph.
Another line.


Rizraell:
Thank you. I am much indebted to you even during the short time our fates were bound by Contract. May Eva's blessing be with you.


A quick note on budgeting ...
In “The Oregon Experiment”, the authors consider the following budgeting scenario.
Suppose you’re in the following situation: You have ~$2,500,000 that you’d like to allocate to construction projects in your community.
There are many ways you can allocate this money to projects of varying sizes. Consider the following options:
Option 1 - All projects considered equally
| category | number of projects | rough total cost based on averages |
|---|---|---|
| A < $1000 | 1 | $500 |
| B $1000-$10,000 | 1 | $5,000 |
| C $10,000-$100,000 | 1 | $50,000 |
| D $100,000-$1,000,000 | 1 | $500,000 |
| E > $1,000,000 | 1 | $2,000,000 |
| totals | 5 | ~$2,600,000 |
Option 2 - Projects considered unequally
| category | number of projects | rough total cost based on averages |
|---|---|---|
| A < $1000 | 1000 | $500,000 |
| B $1000-$10,000 | 100 | $500,000 |
| C $10,000-$100,000 | 10 | $500,000 |
| D $100,000-$1,000,000 | 1 | $500,000 |
| E > $1,000,000 | ⅒ th of a project | $500,000 |
| totals | ~1100 | $2,500,000 |
Option 3 - A middle ground
| category | number of projects | rough total cost based on averages |
|---|---|---|
| A < $1000 | 500 | $250,000 |
| B $1000-$10,000 | 50 | $250,000 |
| C $10,000-$100,000 | 10 | $500,000 |
| D $100,000-$1,000,000 | 1 | $500,000 |
| E > $1,000,000 | 1 | $1,000,000 |
| totals | ~550 | $2,500,000 |
The main conclusion is that, for the same amount of money, we can chose to either support lots of small projects, or few total projects.
One of the main premises of the book, is that good change is made locally, by locals. In this way, schemes 2 and 3 are a significant improvement over Option 1.
One of the best initiatives that Victoria is doing along these lines is the “Pick My Project” program.
However, I think it’s also interesting to think about this in relation to other areas:
- Health: Should you make one big change? Or many small ones?
- Programming: Should you write one big program? Or many little ones?
- Management: Should you set big goals from the top? Or should you empower the people below you to set their own goals?


Worked with React and Coffeescript to help develop a modular web application.
The internship was incredibly agile, using the latest tech stack for web and working extensively with cross-functional teams. Each ticket that I completed was put up for code review and held to the highest of standards in both code quality and design aspects.
Ensured the code quality of both the iOS and web platforms.
I developed a sizeable amount of the web platform's front end, ensuring a positive user interface and user experience. Additionally I worked to ensure on-time delivery of core product features and analyzed code for difficulty and completion.
Ran everything from HR to job scheduling.
Throughout the past four years I've strived to increase profit, revenue, and customer satisfaction. I've also created new advertising materials and handled all accounts payable and receivable.
Go ahead and send me a request on LinkedIn and Github. I would love to connect and get to know you!
Request access to private code repositories.
Feel free to email me to provide some feedback on the website, to inquire more about me, or just to chat!


CodeFellowShip
Welcome, [[${username}]]
Profile
Other Users
My Feed
Sign Up
Log In
Sign Out
Create New Post


\' single quotation mark \" double quotation mark \\ reverse solidus \/ solidus \n newline \t horizontal tab \u???? 4 hex digits to represent a unicode char. \b *backspace \f *formfeed \r *carriage return * Those characters are not displayed in the screen.
Actually it uses JSON's string format with additional "\'". You must follow its syntax or get an error. For more information you can visit http://json.org/
+ : Plus (+) - : Minus (−) * : Times (×) / : Divide (÷) % : Module
** : Power // : Integer Divide */ : N-Power's Root: a */ b == a ** (1/b)
~ : Bitwise NOT & : Bitwise AND | : Bitwise OR ^ : Bitwise XOR
! : Logical NOT && : Logical AND || : Logical OR
== : Equal != : Not equal > : Greater than < : Less than >= : Greater than or Equal to <= : Less than or Equal to
condition ? true value : false value for exp. 1 >= 2 ? 10 : 20 => 20 1 ? 2 ? 3 : 4 : 5 ? 6 : 7 = 1 ? (2 ? 3 : 4) : (5 ? 6 : 7)
(
and )
to promote orders.
1 ** */ 2 * / % // 3 + - 4 ~ & | ^ 5 ! && || 6 == != > < >= <= 7 ? :
= a = ... a = b = 3 => a = (b = 3) a = 1 + (b = 2) => a = 3, b = 2 [*] A variable could be assigned to a function.
E: 2.7182818... PI: 3.1415926...
abs: absolute value ln: log based on E lg lg10 log10: log based on 10 lg2 log2: log based on 2 log: log(number, base) sin, cos, tan/tg, ctan/ctg: Triangle functions ord/chr: convert between char and code. signed/unsigned: convert interger to signed/unsigned.
#{IN: 1+2} #{IN: 9*8-7/6}
#{RPN: 1 2 +} #{RPN: 9 8 * 7 6 / -}
#{RPN: 1 #{IN: 2+3} +} #{IN: 2+#{RPN: 9 8 * 7 6 / -}}
Unary: ~ #{RPN: 1 ~} ! #{RPN: 0 !} Not supported for conflict reason: + - ( Should use 0 and binary operators like #{RPN: 0 1 -} ) Binary: All supported. e.g. #{IN: 6*7+8/(9-5)} equals to #{RPN: 6 7 * 8 9 5 - / +} Trinary: #{IN: a ? b : c} equals to #{RPN: a b c ?} . No colon(:)
Whitespaces are not necessary while no conflict. For ins., #{RPN: 6 7 * 8 9 5 - / +} could be #{RPN:6 7*8 9 5-/+} Comma(,)s are ignored in RPN mode. So you can use them instead of whitespaces. For exp., #{RPN:6 7*8 9 5-/+} could be #{RPN:6,7*,8,9 5,-,/,,+}
fn(args...) equals to (args... fn), but no comma(,)s joined into the arguments. e.g. #{IN: log(n, b) } equals to #{RPN: ( n b log ) } #{IN: ord(c)} equals to #{RPN: (c ord) } #{IN: log(8**4, 6-2)} equals to #{RPN:(8 4**,6 2-,log)}
eGust
<EMAIL_ADDRESS>http://egust.altervista.org/


Use this page to specify the version control settings that will be applied to the directories of your project that are under Git control.


The following is an attempt at recording the history of Avalon, both its technology and its community. The Avalon Framework traditionally had a notorious learning curve and the community has seen a number of changes. Hopefully by understanding where Avalon has been, users can gain a better understanding of where Avalon is now and where we are headed. subsection
Let's start off with some basic history. Avalon emerged from the Java Apache Server Framework before the days of Apache Jakarta. During development of the JServ project (which laid the foundation for Tomcat), many of the developers realized that the ideas being used at the time could be abstracted into a general application framework. This framework eventually became the Avalon framework we have today. The framework focused a small number of core concepts (design patterns) called Separation of Concerns and Inversion of subsectionControl which are described elsewhere.
So in the beginning there was the Avalon Framework. It basically described the contracts or interfaces between various components (such as lifecycle methods) and provided some general utilities for using these interfaces. One could easily create an application which simply just used the framework. However, in order to provide some more advanced components and utilties (which were not essential to the framework, but still useful) Excalibur was born.
Excalibur held a set of basic components and utilities which made working with the Framework much easier. One of these components was the Excalibur Component Manager or ECM which did all the work of getting all your component and configuration data sorted out and started. It was the first container of sorts and grew out of work from the Cocoon project. ECM didn't have a lot of "advanced" features, but it was simple to work with and could be used in any number of environments.
Of course, with time, new expectations and requested features meant that other Avalon containers were under development. ECM would have to share the spotlight with Phoenix.
Phoenix was the first really complete full fledged standalone container for Avalon. Phoenix was not only a container, but a microkernel. While it could be used for other sorts of applications, most Phoenix development revolved around server applications such as web servers, FTP servers, telnet servers, etc. Phoenix applications would take a number of components and bundle them together in what was called a block. A block generally referred to a complete application, such as a database or FTP server, although you could have inter-block dependencies. Blocks would be packaged up with configuration and assembly files into a .sar archive, similar to the .ear files for J2EE applications. Phoenix would then launch all the SAR blocks contained within a particular startup directory.
Thus Phoenix was a full application server of sorts. Applications running within Phoenix used the Avalon Framework just as ECM components would. In fact, if you were careful to only depend on the framework for development, with a little work you could get applications written for ECM to run in Phoenix and visa versa.
Cornerstone became a repository of Phoenix blocks: larger components which could be dropped into Avalon Phoenix and provide services and resources to user developed components and applications. There was some overlap between components developed in Cornerstone and Excalibur, but in general, Cornerstone components were targeted for server side applications running in Phoenix.
Phoenix's growth brought changes to the developer community as well. A separate CVS repository and specific mailing list were created to facility the Phoenix community. This was the beginning of a sort of schism within Avalon, both technologically and socially, as the new containers created with them their own communities, standards, and goals. There was a a tug of war, so to speak, between keeping the different containers compatible while also allowing each developer community to explore and enhance their software in their own repective ways. One of those enhancements was the change from components to services.
In the beginning there were only components. The components had a role defined by a java interface and an implementation defined by a concrete java class. In ECM roles and components could be described in a set of XML configuration files, generally one for the roles and one for the implementations. In Phoenix, roles were still roles and components were still components, but they were defined in xinfo files scattered across the various jar archives that would make up an application. This was done to allow developers to deploy a jar file that contained not only the interfaces and implementations, but also the basic meta-data. The xinfo files and the conf files had the same purpose (to hold meta-data and meta-info) but were used by different containers. Thus, from the beginning there was no common meta format or API.
Also at this time, all components were children of the one org.apache.framework.component.Component interface. A brave developer scaled Mt. Doom and tossed the Component interface and all the other marker interfaces into the fiery pit, thus freeing all components from bondage of the one Component.
Upon return from this quest, the developer said, "All Components shall now be dubbed Services" and a new set of Service Managers and Service Selectors appeared that could converse with any Object, not just Components. These Service utilities performed the exact same functions as their deprecated Component counterparts, but didn't require everything be a Component. That is:
Component componentManager.lookup(String role);
became
Object serviceManager.lookup(String role);
So in this sense, Components ARE Services. But now the Avalon community had two names for the same thing and this is generally were confusion arises. Since that time, a service generally refers to only the service interface while a component refers to the entire interface and implementation together.
Stephen McConnell, primary developer of Merlin, chimed in with this clarification: "A 'component' is an implementation artifact that exposes 0..n services. A 'service' is computation contract exposed by a component. A component may include many other features that are not exposed through the services that is publishes. "
"A 'service' is typically represented by a Java interface and possibly supporting meta-info (such as a version, attributes, etc.)."
"A 'component' is an example of a 'service-delivery-strategy'."
Effort was made in Phoenix to support the new Service semantics, but instead of rewritting ECM, the decision was made to create a new ECM-like container which could use Components and Services alike. Thus was born Fortress.
Fortress supports legacy ECM components but provides a number of features like basic meta-data configuration (instead of a "roles" file), dynamic service activation, lifecycle extensions, instrumentation support and so on. Fortress is also "embeddable" in that you can easily start up a Fortress container in your own application be it a Java Swing client or a Servlet. Fortress provides no default standalone client (i.e.- there's no "main" method class in Fortress) and doesn't do much classloader magic, making embedding a little more predictable. Fortress was released in the summer of 2003 and replaced ECM as Avalon's light weight container of choice.
While Fortress grew from ECM, Merlin grew from Phoenix, though it quickly developed beyond its roots. Merlin focused on a strict seperation between container concerns and component concerns. As such, all Merlin applications are never dependent on any actual Merlin code (at least in order to compile). A new meta data model was developed, hierarchical block support added, and Merlin provided support for standalone or embedded environments.
For the sake of completeness, we should also mention Tweety which was a very basic container developed for the sole purpose as a teaching tool. Tweety never really made it out of the sandbox much, but it is not forgotten by some ...
If you're keeping up with our story you'll have realized by now that we have four containers: ECM, Phoenix, Fortress, Merlin. At its height, Avalon also contained its own logging framework (LogKit), unit testing framework, two component libraries (Excalibur and Cornerstone), and a host of Avalon-based server applications including a web server and FTP server. It was a lot to handle.
Moreover, while all of these software projects and components were based on the same Avalon framework, they were often mutually incompatible. The framework was intentionally designed to be rather silent on the issues of meta-info and meta-data (information about how to wire components together inside a container) amongst other things. This meant that each container implementation had its own "standards" and made writing container neutral components rather difficult.
When Avalon moved out of Apache Jakarta in late 2002 and on to its own top level project, the developers decided to try to organize the situation; however, they faced a bit of an identity crisis: What was Avalon about? Containers? Frameworks? Components? All of the above? Was Avalon to be an umbrella project with many containers based on a single framework or a single project with a single reference implementation?
To make a long story short, the pendulum swung back and forth on that issue for the better part of two years. Several projects where spun off or depricated and some developers left to persue other adventures. In the spring of 2004 there was another push to consolidate Avalon's software projects into a single platform:
One container to rule them all One container to find them One container to bring them all And in the model bind them
After a few months of proposals and counter proposals, Avalon emerged as a project focused on a single container platform: Merlin. The Fortress and Excalibur codebases were then transferred to the new Apache Excalibur project. Meanwhile, Phoenix was retired in light of its fork, Loom, which was developed at Codehaus by some early Avalon developers.
At its inception, Avalon was a rather novel software project and pioneered many ideas in container development. Since that time, the concepts of Separation of Concerns and Inversion of Control have become buzzwords and a whole slew of IoC frameworks and containers have emerged. Avalon continues to push the bounds of these technologies and remains focused on developing a complete solution for component and container applications. The Avalon team invites you to download our software and join our community mailing lists and become involved in Avalon's future.