Mormons In Space
Space is but Time congealed. An arrangement of Work/Life in integrated sequences. The Earth is another Matter however. So why this urge to get out of Earth? To simultaneously destroy it and transcend it?
George Caffentzis & Silvia FedericiIs this capital's nasty little secret: the destruction of the final recalcitrant Body? The in-itself of capitalist functionality, the residue of a billion years of noncapitalist formation . . . why should there be Mountains here, Rivers there and an Ocean exactly here after all?
Why indeed space shuttles, space colonies mixed with such a density of bombs, bombs and still more bombs . . . to destroy the Earth n-times over as if to assure not the least roach existence. Why the simultaneous attempt to re-code the chromosomes and the neural system?
Why if not to define a truly capitalist BEING, in a purely capitalist plasm and a final purely capitalist sequence of work events. Weightless, formless neuro systems unwebbed and ready for infinite rewebbing.
Why if not a search for a being unprogrammed by millenia shifting at the bottom of a ton of oxygen luging all this weight around, this gravity against work.
Space is ultimately the obstacle of Time . . . Bergson got it wrong . . . Luckacs too . . . capitalism is not the spatialization of Time but rather the temporalization of Space, the dissolving of distance, of the Just-Thereness of where we come from.
"Outer space" is not Space as we know it, but a final merging with the relations of time. It is lusted for not because of the minerals on Mars - no more than the gold and silver in the rivers of the Caribbean isles was - but what they can do to you on Mars when they get you there.
This is why the working class is so archaic, such a malfunctioning machine. The early Hobbesians were only partly right: Humans are not Machines but only poor copies of them. Their desires are too limited and then again too wide. They have a desperation for a housework built on a million years of non-capitalist pleasures and pains and a revulsion of their own archaicness that is too arbitrary.
The Lebensraum of Hitler was really an Arbeitsraum that required an immense destruction of "leben" to achieve and then finally failed. So too with porcelain tiles glued on, computers in a soap opera of "You don't understand me": the return of the space shuttle is heralded with a desperation that you wonder at this desire for a biologically pure realm, freed from the seasonal, diurnal and lunar cycles, airless, weightless and open to infinite reductions.
This has always been capital's fatal attraction: its indifference to Space. For the Here-Now disappears when your essential problem is not what I need, desire and want now but what another needs, desires or wants of what I need, desire or want. The Here vanishes in an abstracted There-Here-There.
You can see capital from its space stations looking down . . . "Those poor, slightly crazed machines! Their needs have been so thoughtlessly defined, their sexuality is inconsiderate, and their desires are fixed by biochemical cycles so local that they make you want to cry! When will we finally be able to rid ourselves of these Bodies?"
If one tried to define the Zeitgeist breathing through the New Right today one would be confronted with a seemingly undecipherable puzzle. On the one side these are the spokesmen for a scientific and technological revolution that a few years ago would have smacked of science fiction: gene-splicing, DNA computers, time-compression techniques, space colonies. At the same time the circles of the New Right have witnessed a revival of religious tendencies and moral conservatism that one would have thought was buried once and for all with "our" Puritan Founding Fathers. Falwell's Moral Majority is the most vocal of this return to the values of Calvin and Cotton Mather, but by far not the only one. Wherever you turn, Godfearing, Satan-minded groups, detemmined to reshape the country on the model of the Puritan colonies, are sprawling like mushrooms: Christian Voice, Pro-Family Forum, National Prayer Campaign, Eagle Forum, Right to Life Commission, Fund to Restore an Educated Electorate, Institute for Christian Economics. Seen in its general contours, then, the body of the New Right seems stretching in two opposite directions, attempting at once a bold leap into the past and an equally bold leap into the future.
The puzzle increases when we realize that these are not separate sects, but in more than one way they involve the same people and the same money. Despite a few petty squabbles and a few pathetic contortions to keep up the "pluralism" facade, the hand that sends the shuttle into orbit or recombines mice and rabbits is the same that is fretfully pushing for gays to be sent to the stake and is drawing a big cross not just through the 20th, but the l9th and 18th centuries, too.
To what extent the Moral Majority and Co. and the science futurologists are one soul, one mission, is best seen, if not in the lives of their individual spokesmen (though the image of the "electronic minister" and of a President who in the same breath blesses God and calls for stepped up nerve-gas production and the neutron bomb are good evidence of this marriage}, then in the harmony of intent they display when confronted with the "key issues" of the time. When it comes to economic and political matters, all shreds of difference drop off and both souls of the New Right pull money and resources towards their common goals. Free-Market, laissez-faire economics (for business, of course), the militarization of the country (what is called "building a strong military defense"), bolstering "intemal security," i.e., giving the FBI and CIA free rein to police our daily life, cutting all social spending except that devoted to building prisons and ensuring that thousands will fill them; in a word, asserting U.S. capital's ownership of the world and setting "America" to work at the minimum wage (or below) are goals for which all the New Right would swear on the Bible.
A clue to understanding the double soul of the New Right is to realise that its mixture of reactionary social policies and scientific boldness is not a novelty in the history of capitalism. If we look at the beginning of capital - the 16th and 17th century to which the Moral Majority would so happily return - we see a similar situation in the countries of the "take off." At the very time when Galileo was pointing his telescope to the moon, and Francis Bacon was laying the foundations of scientific rationality, women and gays by the thousands were burnt on the stake throughout Europe, with the universal blessing of the modernizing (sic) European intelligentsia.
A sudden craze? An inexplicable fall into barbarism? In reality, the witch hunt was part and parcel of that attempt at "human perfectibility" that is commonly acknowledged as the dream of the fathers of modem rationalism. For the thrust of the emerging capitalist class towards the domination and exploitation of nature would have remained a dead letter without the concomitant creation of a new type of individual whose behavior would be as regular, predictable and controllable as that of the newly discovered natural laws. To achieve this purpose one had to destroy that magical conception of the world that, e.g., make the Indians in the overseas colonies believe that it was a sacrilege to mine the earth, or in the heart of Europe assured the proletariat that people could fly, be in two places at the same time, divine the future and (most important) that on some "unlucky days" all enterprise had to be carefully avoided. The witch hunt, moreover, ensured the control over the main source of labor, the woman's body, by criminalizing abortion and all forms of contraception as a crime against the state. Finally, the witch hunt was functional to the reorganization of family life, i.e., the restructuring of reproduction that accompanied the reorganization of work on a capitalistic basis. On the stake died the adulteress, the woman of "ill repute," the lesbian, the woman who lived alone, or lacked "maternal spirit" or had illegitimate children. On the stake ended many beggars, who had impudently launched their curses against the refusal of some "ale and bread." For in the "transition" to capitalism it was primarily the woman, especially the woman in rebellion, (destined to depend on a man for her survival) who became pauperised. The fathers of modem rationalism approved; some even complained that the state did not go far enough. Notoriously, Bodin insisted that the witches should not be "mercifully" strangled before being given to the flames.
That today we find a similar situation prevailing in the USA is an indication of the depth of capital's crisis. Always - in its beginning as, we would hope, in its end - when uncertain of its foundations, capital goes down to basics. At present this means attempting a bold technological leap which on one side (at the developing pole of production) concentrates capital and automates work to an unprecedented degree and, on the other, consigns millions of workers to either wagelessness (unemployment) or to employment in intensive-labor types of jobs, paid at minimum rates, on the model of the much acclaimed "workforce." This involves, however, a reorganization of the process whereby labor is reproduced - a project in which women are expected to play a most crucial role.
The institutionalization of repression and self-discipline along the line of the Moral Majority and the New Christian right is today required for both ends of the working class spectrum: For those who are destined to temporary, part-time subsistence level of wages (accompanied by long hours of work or a perennial quest for jobs) as well as for those who are elected to a "meaningful wage" working with the most sophisticated equipment capital's technologists are now able to produce. That the holy trinity of God/Work/ Family is always crucial in times of repression is a well-tested truth capital has never forgotten. What could be more productive than a life of isolation, where the only relations we have with each other are relations of reciprocal discipline: Daddy controlling Mommy, Mommy teaching the children that life is hard and survival problematic, neighbors getting together to keep the neighborhood "clean," sociality shrinking to those occasions that help us find or keep a job? And if life is pain there is always God, in whose name you can even justify nuclear war against the infidels who, like the rebellious Sodomites, deserve to be wiped out from the face of the earth (even if a few of the righteous get wiped out too). And you can even justify a nuclear war that will wipe out yourself too: after all, what's the big deal about life if you have already accepted to bargain cancer for a wage, renounce all your desires and postpone your fulfillment to another world?
Let us not be mistaken. Weinberger needs Jerry Falwell, as does Reagan. From Wall Street to the Army, all capital's utopias are predicated on an infinitesimal micropolitics at the level of the body, curbing our animal spirits and redefining the meaning of that famous Pursuit of Happiness that (so far at least) has been the biggest of all constitutional lies. And Jerry Falwell is even more needed for the development of the high-tech (computer, information, energy, genetic) worker who - unlike those at the lower echelons of the working class - cannot be run by the stick (in case God failed); for the damage he can do (should he slip in his duty) is infinitely greater, because the machines he works with are infinitely more costly.
What the launching of high-tech industry needs mostly today is a technological leap in the human machine - a big evolutionary step creating a new type of worker to match capital's investment needs. What are the faculties required by the new being our futurologists advocate? A look at the debate on space colonies is revealing in this respect. All agree, first of all, that the main impediment today to the development of human colonies in space is bio-social rather than technological, i.e., you may be able to glue the space shuttle's tiles together but gluing the right space worker-technician is a project that even the present genetic breathroughs are far from having solved. An individual is needed who can:
- endure social isolation and sensory deprivation for long periods of time without breaking down,
- perform "perfectly" in an extremely hostile/alien and artificial environment and under enormous stress,
- achieve a superb control of his bodily functions (consider: it takes an hour to shit in space!) and psychological reactions (anger, hate, indecisiveness), our all-too-human frailties which can be disastrous in the fragile, vulnerable world of life in space,
- demonstrates total obedience, conformity and receptivity to commands, for there can be little tolerance for social deviations and disagreements when the most minute act of sabotage can have catastrophic consequences to the very costly, complex and powerful equipment entrusted in their hands.
Indeed, not only will the space technician have a quasi-religious relation to his machine but he himself must become more and more machine-like, achieving a perfect symbiosis with his computer which, in the long nights of space, is often his only and always his most reliable guide, his companion, his buddy, his friend.
The space worker, then, must be a highly ascetic type, pure in body and soul, perfect in his performance, obedient like a well-wound clock and extremely fetishistic in his mental modes. Where is this gem most likely bred? In a fundamentalist type religious sect. To put it in the words of biologist Garrett Harding:
What group would be most suitable to this most recent Brave New World (the space colony)? Probably a religious group. There must be unity of thought and the acceptance of discipline. But the colonists couldn't be a bunch of Unitarians or Quakers, for these people regard the individual conscience as the best guide to action. space colonies' existence would require something more like the Hutterites or the Mormons for its inhabitants . . . integration could not be risked on this delicate vessel, for fear of sabotage and terrorism. Only "purification" would do.
Not surprisingly, a few days after landing, the first space shuttle astronauts were greeted by Elder Neal Maxwell at the Mormon Tabernacle. 'We honor tonight men who have seen God in all his majesty and power,' he said and the 6000 member congregation responded, "Amen."
The fight between creationism and evolutionism is just an internal capitalist squabble as to what are the most adequate means of control. Until our social biologists and genetic engineers - the heros of today's scientific breakthrough - have found the means to create a perfect robot, the whip will do, particularly in an age still infected with the anarchic ideologies of the '60s, when a lot of bad germs have already been implanted in children and parents alike.
Moreover, the asceticism, self-control, the flight from the earth and the body which is the substance of puritan teaching is the best soil in which capital's scientific and economic plans can flourish. Indeed, today, more consciously than ever, in its attempt to relocate itself on safer shores, capital is embracing the dream of all religion: the overcoming of all physical boundaries, the reduction of the individual human being to an angel-like creature, all soul and will. In the creation of the electronic/space worker, the priest of scientific exploration-exploitation of the universe, capital is fighting once again its historic battle against matter, attempting to break at once both the boundaries of the earth and the boundaries of "human nature" which, in its present form, present irreducible limits that must be overcome.
The thrust to the organization of industries in space and the dematerialization of the body go together. For the former cannot be accomplished without the remolding of a whole nexus of needs, wishes, desires, that are the product of billions of years of material evolution on the planet and which up to now have been the material conditions of bio-social reproduction - the blues, the greens, the nipple, the balls, the hair of the anus, the texture of oranges, beef, carrots, the wind and sea smell, the day light, the need for physical contact, SEX!!!
The dangers of sexuality are emblematic of the obstacles capital encounters in the attempt to create a totally self-controlled being, capable of spending nights and nights alone, talking just to his computer, with his mind focused on nothing but the screen. Can you afford to be homy or lonely in space? Can you afford to be jealous or have a marital breakdown??
What's the right attitude in this respect is indicated by a report on the South Pole Station in Antarctica that ostensibly was set up to study meteorological, astronomical and geographical conditions at the pole, but in reality is a big center for human experimentation: the study of human beings in conditions approaching that of space (isolation for many months, lack of sensuous contact, etc.). This report states:
As for sexual relations . . . all candidates were warned of the "dangers" of sexual liaisons under the supercharged conditions here. Celibacy was the best course... men think of nothing but sex for the first few weeks, then it is submerged until nearly the end of the winter. One worker reported, "You just basically put it out of your mind. You are working all the time; there is no privacy."
Celibacy, AIDS, abstinence: it is the last step in a long process whereby increasingly capital has decreased the sensuous-sexual content of our lives and encounters with people, substituting the mental image for the physical touch. Centuries of capitalist discipline have gone a long way toward producing individuals who shrink from others for fear of touch. (See the way we live our social spaces: buses, trains, each passenger closed in its own space, its own body, keeping well-defined, though invisible boundaries; each person its own castle.) This physical as well as emotional isolation from each other is the essence of capitalist cooperation. But it - as well as the dematerialization of all forms of our life - finds culmination in the inhabitant of the future space colony whose success depends on his ability to become a pure, totally purified angel - who does not fuck, does not require the sensuous stimulations which are our daily nourishment on earth, but can live by solely feeding on its self-sufficient, self-centered will power.
Increasing the abstractness of the enemy body, reducing the person you destroy to a blip on a video machine: this is another essential element of death production which is likely to be the central product of space industrialization. Indeed, electronic war can become so abstract that unless your image is put into the video screen you're likely to forget that you can be destroyed yourself. The abstractness of the object of aggression is the essence of the lesson that is being taught to fundamentalist youth, who from an early age are told that all "deviants" are the same - perfectly interchangeable - as equal expressions of the abstract powers of evil.
Communism = Homosexuality = Drugs = Promiscuousness = Subversion = Terrorism = Lesbianism = . . . = Satan. From this point of view, all questions of "who," "what," "where" and "when" become irrelevant: a good practice for a politics of repression, and an excellent one for a policy of massive nuclear destruction, which requires building a type of being who can accept the destruction of millions of bodies as an unpleasant, perhaps, but nevertheless necessary goal to cleanse the earth from all social deviation and struggle - a pollution much worse in the eyes of the fundamentalist than strontium 90.
To achieve this, a strategy of systematic isolation is necessary: breaking all bonds between ourselves and others and distancing ourselves even from our own body. The electronic church completely dematerializes the healer, who becomes a cool image duplicated on thousands of screens or a "personal" comment in a letter written by a computer. One's main "feedback' with the preacher is the monetary one: you send your money and he begins to pray for you. If you fall back on the payments, the prayers begin to lose their fervor until they end with the "final notice."
With the electronic preacher, social relations become so abstract that they are virtually substituted by an image: the radio-TV sermon serves the same function as the home computer for the high tech family: reproducing for you, in a purified-disembodied form, the relations/experiences of which you have been deprived in day-to-day life. They substitute dangerous - because unpredictable - human encounters with a gadget produced sociality that can be turned off and shut down at will. It goes directly to the soul without passing through the body: clean, efficient, infinitely available at all hours of day and night. (In fact it can be recorded and replayed whenever you want - time, too, not only space, is won!!!)
Living with the machine, becoming like a machine: a desexualized angel, moving in the interstices of the engine, perfectly integrating work-space and life space as in the astronauts' pod, infinitely weightless because purified of the force of gravity, of all human desires/temptations - the ancient refusal of work finally negated. Capital's old dream of "human perfectibility" that loomed so prominent in the 16th and 17th century utopias, from Bacon to Descartes, seems ready at hand. Not only can we now answer the famous Puritan question, "What do the angels do in heaven?" but we even know how they feel. Here it's Wally Shirra talking:
Feeling weightless ... I don't know, it's so many things together. A feeling of pride, of healthy solitude, of dignified freedom from everything that's dirty, sticky. You feel exquisitely comfortable, that's the word for it, exquisitely . . .  And you work well, yes, you think well, you move well, without sweat, without difficulty, as if the biblical curse In the sweat of thy face and in sorrow no longer exists. As if you've been born again.
How petty life on earth seems from such heights . . . No wonder capital is so careless with our earthly home, so eager to destroy it - the big bang of nuclear explosion - destroying in one second millions of tons of matter - the perfect embodiment of the victory of the spirit over the earth-matter - as creative as the first act of God!  Faust in an angel/astronaut/spaceworker face, a superman who does not need any-body, neither his own nor another's, to have his will, not just on earth but in the universe as well.
A society of angels, ruled by God, and motivated by purely spiritual-religious-patriotic concerns. The adventure of space colonization will not be a "New America" in the sense of being the dumping ground of castaways, misfits and slaves. The need for total identification with the work-project, total obedience, total self-discipline and self-control, is so high that, according to NASA, even the old forms of reward should be immediately ruled out:
High monetary incentive should not be used for space colonization recruiting because it attracts the wrong people. Furthermore, it would be unhealthy for the community as well as for the individuals concerned to make efforts to retain 'misfits' in the extraterrestrial community. It would be healthier to return them to Earth, even though this might seem more expensive.
Work without a wage. It is the essential capitalist utopia where the work and repression becomes its own reward, and all the refusers are cast out into the cold stellar night. We have finally reached their limit.


| DOSE: |
1 g |
insufflated |
Ketamine |
(powder / crystals) |
Now, being a fairly logical person, I should perhaps have realized that submitting to a challenge and putting a rolled up banknote in a fairly large bag of ketamine and proceeding to take a huge deep breath in through my nose was not the best of ideas. However, not to be outdone by my friend and already on pills, I though hey, you only live once.. I never truly knew the meaning of that expression up to today.
So judging by the amounts left in the bag by the time I collapsed back onto the sofa and rolled into a ball, my friends calculated I had done well over a gram, just to be sure however moments before I lost my sanity I took another small whiff through the other nostril, at which point the back of my head started to throb.
What happened next would be imprinted on my brain for the rest of eternity. I saw my friend stood in front of me, holding one thumb up to see if I was OK, obviously realizing that verbal communication with me was going to be difficult for a short while. I was about to nod when the image in front of me split into four sections as if a cross was drawn in my line of vision dissecting my view into four quarters, these then proceeded to individually turn in a 90 degree motion and shatter, much like glass, behind them was complete blackness.
The blackness slowly became lighter and lighter and I felt as if I was going down a slide, a slide made from cloud, after sliding down this clowdy hell hole for a short while I came to an abrupt stop and to my left was my friends face attached to a puppet looking angel. His face is what scared me most, I could tell from his evil smile where I was going.. he waved as I felt myself jerking forward through a reddy brown vortex type thing.
Now try to bear in mind the relationship between what I was seeing and what I had just done, I was well aware that I had taken far too much K, and then suddenly Im in a very convincing heaven and hell scenario... was I dead?, this time id finally broken my limit, no going back now.
 All in all, it was an experience I guess, one which I wont hastily retry. The intense part of actually not knowing where I was lasted for about an hour and a half, or maybe two hours, to me it felt like a much shorter time I think.
The thing I found most interesting and highly amusing is the coming back to reality, its almost as if I was transgressing various different plains of fuckedness, with slowly each one making slightly more sense and having less wierd shizzle in it. Until at some point I ended up reaching the final plain.. us here now.
Cya
Ed.
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.


Jordan Yoshihara
About
Projects
Project Portfolio
Research Projects
- Fostering Improved Learning Outcomes in Math >
- Fostering Motivation in Math >
- Third-Grade ALEKS Pilot, McGill School of Success
- Elementary ALEKS Pilot, Pazzaz
- Precalculus ALEKS Pilot, UC San Diego
- All-American STEM Soap Box Derby Program, San Diego
Programming Projects
- Rider Relief Program Form
- Payroll Application for Windows
- Inventory Application for Windows
- Stress Management Mobile Application
- Mobile Menu Application
- Recipe-Sharing Mobile Application
- Club Membership Management Application
Other Projects
- Art Portfolio >
- Adventures in Engineering Learning Blog >


E
- the type of activities being groupedpublic class GroupGenerator<E>
extends java.lang.Object
activity
comparator
iteratively groups works that are below the threshold as
activity groups
.| Constructor | Description |
|---|---|
GroupGenerator(ActivityComparator<E> comparator) |
Creates a new activity group generator, provided a comparator that will
determine whether activities match.
|
| Modifier and Type | Method | Description |
|---|---|---|
java.util.List<ActivityGroup<E>> |
getGroups() |
The activity groups generated so far.
|
void |
group(E act) |
Adds an activity with the already existing groups.
|
public GroupGenerator(ActivityComparator<E> comparator)
comparator
- the activity comparatorpublic void group(E act)
act
- the activity to be added to the groupspublic java.util.List<ActivityGroup<E>> getGroups()


1,000followers
324following
A husband to one, father to two and visual designer to many across the globe.


A few words on the statutory deductions:
The Statutory Deductions section of the CWA Pay stub details the incometax, Canada Pension Plan (CPP) contributions, and Employment Insurance(EI) premiums your employer must deduct from your pay.
Do you work in the Province of Quebec? If so, you are also required topay the Quebec Parental Insurance Plan (PPIP), and the Quebec Pension Plan (QPP) will be withheld instead of CPP.
Finally, depending on your employment status, you may also be required to contribute to the Public Service Pension Plan.
| Type | Amount | Year to date |
|---|---|---|
| Federal Tax | $253.59 | $4,576.30 |
| Provincial Tax | $309.79 | $6,151.95 |
| Superannuation | $266.01 | $5,140.25 |
| CPP / QPP | $138.86 | $2,789.00 |
| Employment Insurance (EI) | $26.00 | $672.10 |
| PPIP | $14.83 | $287.19 |
Continue below to find a detailed breakdown of the main sections of the pay stub.
Year to Date amounts are the total amounts you have paid so far for the current tax year for each type of deduction, or received for each type of entitlement.
For all provinces besides Quebec, Federal and Provincial income tax is deducted as a single amount.
If you work in the Province of Quebec, Quebec Income Tax will be deducted on your pay.
Depending on your employment status, you might contribute to the Public Service Pension plan (PSSA).
If you work in the province of Quebec, you will contribute to the Quebec Pension Plan (QPP). If not, you will contribute to the Canada Pension Plan (CPP).
Employment Insurance premiums will be deducted on your pay.
If you work in the province of Quebec, Quebec Parental Insurance will be deducted on your pay.


Save up to 60% Off at Victoria’s Secret + Free Shipping
Find this deal and more at www.retailmenot.com
Copyright 2012 WhaleShark Media. 301 Congress Avenue, Suite 700, Austin, Texas 78701
To opt-out please reply to this email with UNSUBSCRIBE in the subject line.


--- layout: data_model title: WindowsEventLogObjectType this_version: 1.0.1 ---
The WindowsEventLogObjectType type is intended to characterize entries in the Windows event log.
| Field Name | Type | Description |
|---|---|---|
| @object_referenceoptional | QName |
The object_reference field specifies a unique ID reference to an Object defined elsewhere. This construct allows for the re-use of the defined Properties of one Object within another, without the need to embed the full Object in the location from which it is being referenced. Thus, this ID reference is intended to resolve to the Properties of the Object that it points to. |
| Custom_Properties0..1 | CustomPropertiesType |
The Custom_Properties construct is optional and enables the specification of a set of custom Object Properties that may not be defined in existing Properties schemas. |
| EID0..1 | LongObjectPropertyType |
The EID field specifies the ID of the event for which the event log entry was created. |
| Type0..1 | StringObjectPropertyType |
The event type associated with the entry in the event log, e.g., warning, information, error. |
| Log0..1 | StringObjectPropertyType |
The name of the log. |
| Message0..1 | StringObjectPropertyType |
The rendered message string for the event. |
| Category_Num0..1 | LongObjectPropertyType |
The event entry's category number, as defined by the source. |
| Category0..1 | StringObjectPropertyType |
The text associated with Category_Num. |
| Generation_Time0..1 | DateTimeObjectPropertyType |
The Generation_Time field specifies the date/time the event was generated. |
| Source0..1 | StringObjectPropertyType |
What logged the event, typically the name of an application or sub-component. |
| Machine0..1 | StringObjectPropertyType |
The name of the computer on which the event log entry was generated. |
| User0..1 | StringObjectPropertyType |
The name of the user (the security ID) responsible for the event. |
| Blob0..1 | Base64BinaryObjectPropertyType |
The event data as a binary blob. |
| Correlation_Activity_ID0..1 | StringObjectPropertyType |
A globally unique identifier that identifies the current activity. |
| Correlation_Related_Activity_ID0..1 | StringObjectPropertyType |
A globally unique identifier that identifies the activity to which control was transferred to. |
| Execution_Process_ID0..1 | StringObjectPropertyType |
The Execution_Process_ID field specifies the Process ID (PID) of the process which created the event. |
| Execution_Thread_ID0..1 | StringObjectPropertyType |
The Execution_Thread_ID field specifies the Thread ID (TID) of the thread which created the event. |
| Index0..1 | LongObjectPropertyType |
The index of the event entry in the log. |
| Reserved0..1 | LongObjectPropertyType |
A DWORD value that is always set to ELF_LOG_SIGNATURE (the value 0x654c664c), which is ASCII for eLfL. |
| Unformatted_Message_List0..1 | UnformattedMessageListType |
List of unformatted messages in the event log entry. |
| Write_Time0..1 | DateTimeObjectPropertyType |
The Write_Time field specifies the date/time that the entry was written into the event log. |


We just learned about five HTML elements. Now let's see how to use them together to start creating the Airbnb home page.
Let's start by adding a navigation menu to the page. This can be done by writing a ul element inside the body element. A ul element describes a bulleted list:

Item 1

Item 2

Item 3

Each item in the list is placed inside an li element. Each li is nested inside the
..

tags, as represented by 2 spaces.
Nice work! Next, let's add another ul element to the page with a few more menu options.

tag, add another ul element
..

tags, add an li element with the text "Sign Up"Cool! We just created a minimal navigation bar for the web page.
To stay organized, let's wrap the ul elements with two divs, like this:

Your Name

...

Sign Up

...

A div element groups other elements together into sections of the web page, such as a navigation bar, the main body, and the footer.
The outer
..

groups the elements into the navigation bar section of the web page. The inner
..

wraps the contents in a container. We'll use both classes in the next section to style the navigation bar.
Wrap the ul elements with two divs, like in the example above. Give the outer div a class="nav"
and the inner div a class="container"
.
Nice work! We've used ul elements to create a minimal navigation bar, and used divs to organize it into its own section.
Next let's add a large feature to the page with an h1 element, and a subtitle using a p element.

tag, add an h1 element that says "Find a place to stay."Here's an h1 element that says "Large feature."

Large feature

Here's an p element that says "Hello world."

Hello world

Nicely done! As before, let's group this large feature with two divs to stay organized, like this:

Find a place to stay.

Rent from people in over 34,000 cities and 192 countries.

The outer
..

groups the elements into the large feature section of the web page. The inner
..

element wraps the contents in a container. We'll use both classes in the next section to style the large feature.
Wrap the h1 and p elements with two divs, like in the example above. Give the outer div a class="jumbotron"
and the inner div a class="container"
.


There are two things we love at Brew Search: Programming and enjoying craft brew. We came up of the idea of a beer version of Tinder© called Binder. Our App would suggest beers you might like based on the ones that fit your taste profile. After some research, we tossed the idea because we found that beer apps today were lackluster, ancient, and hard to use. Thus, Brew Search is born. We decided to be the all inclusive beer app for anybody that loves craft beer.
Our mission is to help everybody find their favorite beer at a nice location, introduce new craft beers, and an app that's easy and fun to use. The success of Brew Search highly depends on our community in populating beers by location. Through crowdsource, we hope to become the biggest beer directory in the world!
We also do beer events such as beer festivals. If you wanted to know everything about the beer and brewery at the event, you would need a book with over 100 pages. With our app, you can plan ahead of time. At the event, easily find where the brewery booth is located using our interactive map and check the ones you like to enjoy after the event. Who's guilty of going to an event and not remembering the name of the beer the next day? I know I am.
One thing we take pride in our app is we're brewery friendly. Not only are we a beer app, we're a brewery app. We list all the breweries in your hometown with their list of beers on tap with a detailed description of the brewery. We encourage people to visit their local breweries, check-in with our app, and buy a couple of pints to support the small micro-breweries.
Please contact us if you have any questions, comments, or if you're an event organizer that wants us to help promote your beer event.
Cheers!
Brew Search Team


Some quick example text to build on the card title and make up the bulk of the card's content. I never thought I could pull this through... I almost gave up. I am so thankful now that I didn't.
Apply to adopt


No other city in Europe is as curious as Tbilisi right now. On the edge of Asia with a Soviet past, it’s a multi-layered hub with irresistible energy.
This historic capital city in the heart of Georgia has been built and rebuilt dozens of times—yet the cobblestone streets of its famed Old Town neighborhood have somehow remained untouched. Travelers can wander the back alleyways passed picture-perfect balconies, through winding streets the loop past ancient churches and tiny shops in what feels almost like a walk through time. Art lovers will enjoy Tiflis Avenue, where galleries line Old Town streets like King Erekle II. Exhibitions take place on a rolling basis in this part of the neighborhood that’s known for its large collection of contemporary Georgian art. Two of the city’s oldest churches, famed sulfur baths, and incredible views of Narikala Fortress and Mtsasminda are also a part of life in Old Town. Those looking for a bit of nightlife can tuck into a table at the hip Kala café and restaurant—an Old Town staple—for an evening of life jazz and a delicious, traditional Georgian meal.
This former Persian citadel it one of the most recognizable structures in the Old Town skyline and travelers who venture to this 4th century wonder are rewarded with some of the best views of Tbilisi in the city. Narikala is divided into two sections (thanks to walls erected by Arab emirs in the 8th century), with St. Nicholas Church, built in the 1990s, on the lower level. The Mother Georgia monument is also within walking distance. Travelers say that while there isn’t much to see in the fortress itself, the grounds do offer a bit of historical context and spectacular views make it worth a visit.
As any traveller to Georgia will tell you, the country’s unique cuisine, wine culture and the ritual of the supra (Georgian feast) are all highlights. While some of Russia’s gastronomic traits do carry over (read: lots of carbs, dairy and red meat), religious customs that call for meat-free dining at certain times of year means there are lots of options available for vegetarians. Inflected with aromatics and a surprisingly liberal use of chilli (thanks in part to its Persian and Turkish neighbours to the south), Georgian cooking also features loads of fresh herbs and some of the tastiest locally grown produce you’re likely to encounter anywhere in the world.
The towering Holy Trinity Cathedral is the tallest church in all of Tbilisi and recognized as a symbol of ”New Georgia”. Its golden dome rises out of the hillside of St. Ilya and is visible from almost any point in the city. The stunning structure is part of a massive complex that includes a monastery, theology school, hotel and nine chapels (including five that are underground). Long considered one of the highlights of any tour of Tbilisi, Holy Trinity Cathedral was built to coincide with the 2000th anniversary of Christianity and the 1,500th anniversary of the Georgian church’s independence. The cathedral’s interior proves as impressive as its exterior and travelers say it is worth visiting twice—once to see in the daylight, and once to see as the sun sets in the hills that surround it.


WTF?
Hey, your machine is running ! This means you're probably a developer.
You should follow davywtf on Twitter!
Hey, it looks like you're using !
Did you know that GitHub offers unlimited private storage for files under 100MB?
Hey, you're running !

Hey, I notice you use ! This means you care about privacy. Great!


Home
Tasks
Module
Profile
Proxy
Setting
Version 1.0.1
Profile Panel
FoxyDraft
Renewal
0123 4567 8910 1112
NAME
cardholder name
expiration
card number
01/23
VALID
THRU
123
security code
Name
Andrian Doe
···
1234
Viennea Doe
···
1234
Dean David
···
1234
Andrian Doe
···
1234
Viennea Doe
···
1234
Dean David
···
1234
Contact:
Billinginfo:
Country
Country
State
State
Same as Billing
Delivery:
Country
Country
State
State
Payment:
Reset
Save


Hedge fund Alden becomes Tribune’s largest shareholder
by TALI ARBELNEW YORK (AP) - Hedge fund Alden Global Capital is now the largest shareholder of Tribune Publishing, the company that owns the Chicago Tribune, Baltimore Sun and New York Daily News.
Tribune says Alden, a hedge fund known for layoffs and slashing costs at newspapers it acquires, purchased the 25% stake from former Tribune chairman Michael Ferro. Tribune says it’s talking with Alden about adding two board seats.
Ferro stepped down as chairman in 2018 amid sexual misconduct accusations. His time at Tribune was marked by a much-maligned company name change to “Tronc,” later reverted; the sale of the Los Angeles Times; and pushing off an unsolicited merger bid from rival Gannett.
Another newspaper chain, GateHouse, now owns Gannett. The newspaper industry is consolidating as it struggles with a digital transition.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


(Deprecated API)
(Deprecated API)
(Deprecated API)
Includes enterprise licensing and support
The original version of this article used the JavaScript Maps API v2. This new version uses the JavaScript Maps API v3.
This tutorial is intended for developers who are familiar with PHP/MySQL, and want to learn how to use Google Maps with a MySQL database. After completing this tutorial, you will have a Google Map based off a database of places. The map will differentiate between two types of places—restaurants and bars—by giving their markers distinguishing icons. An info window with name and address information will display above a marker when clicked.
The tutorial is broken up into the following steps:
When you create the MySQL table, you want to pay particular
attention to the lat
and lng
attributes.
With the current zoom capabilities of Google Maps, you should only
need 6 digits of precision after the decimal. To keep the storage
space required for your table at a minimum, you can specify that the
lat
and lng
attributes are floats of size
(10,6). That will let the fields store 6 digits after the decimal,
plus up to 4 digits before the decimal, e.g. -123.456789 degrees.
Your table should also have an id
attribute to serve as
the primary key, and a type
attribute to distinguish
between restaurants and bars.
Note: This tutorial uses location data that already have latitude and longitude information needed to plot corresponding markers. If you're trying to use your own data that don't yet have that information, use a batch geocoding service to convert the addresses into latitudes/longitudes. Some sites make the mistake of geocoding addresses each time a page loads, but doing so will result in slower page loads and unnecessary repeat geocodes. It's always better to hardcode the latitude/longitude information when possible. This link contains a good list of geocoders: http://groups.google.com/group/Google-Maps-API/web/resources-non-google-geocoders
If you prefer interacting with your database through the phpMyAdmin interface, here's a screenshot of the table creation.
If you don't have access to phpMyAdmin or prefer using SQL commands instead, here's the SQL statement that creates the table (phpsqlajax_createtable.sql):
CREATE TABLE `markers` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `name` VARCHAR( 60 ) NOT NULL , `address` VARCHAR( 80 ) NOT NULL , `lat` FLOAT( 10, 6 ) NOT NULL , `lng` FLOAT( 10, 6 ) NOT NULL , `type` VARCHAR( 30 ) NOT NULL ) ENGINE = MYISAM ;
After creating the table, it's time to populate it with data. Sample data for 10 Seattle places are provided below. In phpMyAdmin, you can use the IMPORT tab to import various file formats, including CSV (comma-separated values). Microsoft Excel and Google Spreadsheets both export to CSV format, so you can easily transfer data from spreadsheets to MySQL tables through exporting/importing CSV files.
Here's the sample data in CSV format (phpsqlajax_data.csv):
Pan Africa Market,"1521 1st Ave, Seattle, WA",47.608941,-122.340145,restaurant Buddha Thai & Bar,"2222 2nd Ave, Seattle, WA",47.613591,-122.344394,bar The Melting Pot,"14 Mercer St, Seattle, WA",47.624562,-122.356442,restaurant Ipanema Grill,"1225 1st Ave, Seattle, WA",47.606366,-122.337656,restaurant Sake House,"2230 1st Ave, Seattle, WA",47.612825,-122.34567,bar Crab Pot,"1301 Alaskan Way, Seattle, WA",47.605961,-122.34036,restaurant Mama's Mexican Kitchen,"2234 2nd Ave, Seattle, WA",47.613975,-122.345467,bar Wingdome,"1416 E Olive Way, Seattle, WA",47.617215,-122.326584,bar Piroshky Piroshky,"1908 Pike pl, Seattle, WA",47.610127,-122.342838,restaurant
Here's a screenshot of the import options used to transform this CSV into table data:
If you'd rather not use the phpMyAdmin interface, here are the SQL statements that accomplish the same results ( phpsqlajax_data.sql):
INSERT INTO `markers` (`name`, `address`, `lat`, `lng`, `type`) VALUES ('Pan Africa Market', '1521 1st Ave, Seattle, WA', '47.608941', '-122.340145', 'restaurant'); INSERT INTO `markers` (`name`, `address`, `lat`, `lng`, `type`) VALUES ('Buddha Thai & Bar', '2222 2nd Ave, Seattle, WA', '47.613591', '-122.344394', 'bar'); INSERT INTO `markers` (`name`, `address`, `lat`, `lng`, `type`) VALUES ('The Melting Pot', '14 Mercer St, Seattle, WA', '47.624562', '-122.356442', 'restaurant'); INSERT INTO `markers` (`name`, `address`, `lat`, `lng`, `type`) VALUES ('Ipanema Grill', '1225 1st Ave, Seattle, WA', '47.606366', '-122.337656', 'restaurant'); INSERT INTO `markers` (`name`, `address`, `lat`, `lng`, `type`) VALUES ('Sake House', '2230 1st Ave, Seattle, WA', '47.612825', '-122.34567', 'bar'); INSERT INTO `markers` (`name`, `address`, `lat`, `lng`, `type`) VALUES ('Crab Pot', '1301 Alaskan Way, Seattle, WA', '47.605961', '-122.34036', 'restaurant'); INSERT INTO `markers` (`name`, `address`, `lat`, `lng`, `type`) VALUES ('Mama\'s Mexican Kitchen', '2234 2nd Ave, Seattle, WA', '47.613975', '-122.345467', 'bar'); INSERT INTO `markers` (`name`, `address`, `lat`, `lng`, `type`) VALUES ('Wingdome', '1416 E Olive Way, Seattle, WA', '47.617215', '-122.326584', 'bar'); INSERT INTO `markers` (`name`, `address`, `lat`, `lng`, `type`) VALUES ('Piroshky Piroshky', '1908 Pike pl, Seattle, WA', '47.610127', '-122.342838', 'restaurant');
At this point, you should have a table named markers
filled with sample data. You now need to write some PHP statements to
export the table data into an XML format that your map can retrieve
through asynchronous JavaScript calls. If you've never written PHP to
connect to a MySQL database, you should visit php.net and read up
on mysql_connect
, mysql_select_db
, my_sql_query
, and mysql_error
.
Note: Some tutorials may suggest actually writing your map page as a PHP file and outputting JavaScript for each marker you want to create, but that technique can be problematic. By using an XML file as an intermediary between your database and your Google Map, it makes for a faster initial page load, a more flexible map application, and easier debugging. You can independently verify the XML output from the database and the JavaScript parsing of the XML. And at any point, you could even decide to eliminate your database entirely and just run the map based on static XML files.
First, you should put your database connection information in a separate file. This is generally a good idea whenever you're using PHP to access a database, as it keeps your confidential information in a file that you won't be tempted to share. In the Maps API forum, we've occasionally had people accidentally publish their database connection information when they were just trying to debug their XML-outputting code. The file should look like this, but with your own database information filled in (phpsqlajax_dbinfo.php):
<? $username="username"; $password="password"; $database="username-databaseName"; ?>
Check your configuration or try initializing a
domxml_new_doc()
to determine if your server's PHP has
dom_xml
functionality on. If you do have access to
dom_xml
functions, you can use them to create XML nodes,
append child nodes, and output an XML document to the screen. The
dom_xml
functions take care of subtleties such as
escaping special entities in the XML, and make it easy to create XML
with more complex structures.
In the PHP, first initialize a new XML document and create the
"markers" parent node. Then connect to the database, execute a
SELECT *
(select all) query on the markers table,
and iterate through the results. For each row in the table (each location), create a new XML node with the
row attributes as XML attributes, and append it to the parent node. Then dump the XML to the screen.
Note: If your database contains international characters or you otherwise need to force UTF-8 output, you can use utf8_encode
on the outputted data.
The PHP file that does all that is shown below (phpsqlajax_genxml.php):
<?php require("phpsqlajax_dbinfo.php"); // Start XML file, create parent node $doc = domxml_new_doc("1.0"); $node = $doc->create_element("markers"); $parnode = $doc->append_child($node); // Opens a connection to a MySQL server $connection=mysql_connect (localhost, $username, $password); if (!$connection) { die('Not connected : ' . mysql_error()); } // Set the active MySQL database $db_selected = mysql_select_db($database, $connection); if (!$db_selected) { die ('Can\'t use db : ' . mysql_error()); } // Select all the rows in the markers table $query = "SELECT * FROM markers WHERE 1"; $result = mysql_query($query); if (!$result) { die('Invalid query: ' . mysql_error()); } header("Content-type: text/xml"); // Iterate through the rows, adding XML nodes for each while ($row = @mysql_fetch_assoc($result)){ // ADD TO XML DOCUMENT NODE $node = $doc->create_element("marker"); $newnode = $parnode->append_child($node); $newnode->set_attribute("name", $row['name']); $newnode->set_attribute("address", $row['address']); $newnode->set_attribute("lat", $row['lat']); $newnode->set_attribute("lng", $row['lng']); $newnode->set_attribute("type", $row['type']); } $xmlfile = $doc->dump_mem(); echo $xmlfile; ?>
If you don't have access to PHP's dom_xml
functions,
then you can simply output the XML with the echo
function. When using just the echo
function, you'll need
to use a helper function (e.g. parseToXML
)
that will correctly encode a few special entities (<,>,",') to be XML friendly.
In the PHP, first connect to the database and execute the
SELECT *
(select all) query on the markers table. Then
echo out the parent markers
node, and iterate through the
query results. For each row in the table (each location), you need to
echo out the XML node for that marker, sending the name and address
fields through the parseToXML
function first in case
there are any special entities in them. Finish the script by echoing
out the closing markers
tag.
Note: If your database contains international characters or you otherwise need to force UTF-8 output, you can use utf8_encode
on the outputted data.
The PHP file that does all this is shown below (phpsqlajax_genxml2.php):
<?php require("phpsqlajax_dbinfo.php"); function parseToXML($htmlStr) { $xmlStr=str_replace('<','<',$htmlStr); $xmlStr=str_replace('>','>',$xmlStr); $xmlStr=str_replace('"','"',$xmlStr); $xmlStr=str_replace("'",''',$xmlStr); $xmlStr=str_replace("&",'&',$xmlStr); return $xmlStr; } // Opens a connection to a MySQL server $connection=mysql_connect (localhost, $username, $password); if (!$connection) { die('Not connected : ' . mysql_error()); } // Set the active MySQL database $db_selected = mysql_select_db($database, $connection); if (!$db_selected) { die ('Can\'t use db : ' . mysql_error()); } // Select all the rows in the markers table $query = "SELECT * FROM markers WHERE 1"; $result = mysql_query($query); if (!$result) { die('Invalid query: ' . mysql_error()); } header("Content-type: text/xml"); // Start XML file, echo parent node echo '<markers>'; // Iterate through the rows, printing XML nodes for each while ($row = @mysql_fetch_assoc($result)){ // ADD TO XML DOCUMENT NODE echo '<marker '; echo 'name="' . parseToXML($row['name']) . '" '; echo 'address="' . parseToXML($row['address']) . '" '; echo 'lat="' . $row['lat'] . '" '; echo 'lng="' . $row['lng'] . '" '; echo 'type="' . $row['type'] . '" '; echo '/>'; } // End XML file echo '</markers>'; ?>
First, check your configuration and make sure you are using PHP5. If you aren't, then use one of the previous techniques.
In PHP, first initialize a new XML document and create the "markers" parent node. Then connect to the database, execute a SELECT *
(select all) query on the markers table, and iterate through the results. For each row in the table (each location), create a new XML node with the row attributes as XML attributes, and append it to the parent node. Then dump the XML to the screen.
Note: If your database contains international characters or you otherwise need to force UTF-8 output, you can use utf8_encode
on the outputted data.
The PHP file that does all this is shown below (phpsqlajax_genxml3.php):
<?php require("phpsqlajax_dbinfo.php"); // Start XML file, create parent node $dom = new DOMDocument("1.0"); $node = $dom->createElement("markers"); $parnode = $dom->appendChild($node); // Opens a connection to a MySQL server $connection=mysql_connect (localhost, $username, $password); if (!$connection) { die('Not connected : ' . mysql_error());} // Set the active MySQL database $db_selected = mysql_select_db($database, $connection); if (!$db_selected) { die ('Can\'t use db : ' . mysql_error()); } // Select all the rows in the markers table $query = "SELECT * FROM markers WHERE 1"; $result = mysql_query($query); if (!$result) { die('Invalid query: ' . mysql_error()); } header("Content-type: text/xml"); // Iterate through the rows, adding XML nodes for each while ($row = @mysql_fetch_assoc($result)){ // ADD TO XML DOCUMENT NODE $node = $dom->createElement("marker"); $newnode = $parnode->appendChild($node); $newnode->setAttribute("name",$row['name']); $newnode->setAttribute("address", $row['address']); $newnode->setAttribute("lat", $row['lat']); $newnode->setAttribute("lng", $row['lng']); $newnode->setAttribute("type", $row['type']); } echo $dom->saveXML(); ?>
Call this PHP script from the browser to make sure it's producing
valid XML. If you suspect there's a problem with connecting to your
database, you may find it easier to debug if you remove the line in
the file that sets the header to the text/xml
content
type, as that usually causes your browser to try to parse XML and may
make it difficult to see your debugging messages.
If the script is working correctly, you should see XML output like this (phpsqlajax_expectedoutput.xml):
<markers> <marker name="Pan Africa Market" address="1521 1st Ave, Seattle, WA" lat="47.608940" lng="-122.340141" type="restaurant"/> <marker name="Buddha Thai & Bar" address="2222 2nd Ave, Seattle, WA" lat="47.613590" lng="-122.344391" type="bar"/> <marker name="The Melting Pot" address="14 Mercer St, Seattle, WA" lat="47.624561" lng="-122.356445" type="restaurant"/> <marker name="Ipanema Grill" address="1225 1st Ave, Seattle, WA" lat="47.606365" lng="-122.337654" type="restaurant"/> <marker name="Sake House" address="2230 1st Ave, Seattle, WA" lat="47.612823" lng="-122.345673" type="bar"/> <marker name="Crab Pot" address="1301 Alaskan Way, Seattle, WA" lat="47.605961" lng="-122.340363" type="restaurant"/> <marker name="Mama's Mexican Kitchen" address="2234 2nd Ave, Seattle, WA" lat="47.613976" lng="-122.345467" type="bar"/> <marker name="Wingdome" address="1416 E Olive Way, Seattle, WA" lat="47.617214" lng="-122.326584" type="bar"/> <marker name="Piroshky Piroshky" address="1908 Pike pl, Seattle, WA" lat="47.610126" lng="-122.342834" type="restaurant"/> </markers>
Once the XML is working in the browser, it's time to move on to actually creating the map with JavaScript. If you have never created a Google Map, please try some of the basic examples in the documentation to make sure you understand the basics of creating a Google Map.
To load the XML file into the page, you can take advantage of the browser-provided
XMLHttpRequest
object.
This object lets you retrieve a file
that resides on the same domain as the requesting webpage, and is the basis
of "AJAX" programming. The JS API v2 provided a built-in GDownloadUrl
function that wrapped this functionality, but as API v3 is designed to be
compact, it does not offer an equivalent wrapper function.
So, you can define your own function for loading the file, and call it
downloadUrl()
. The function takes two parameters:
url
specifies the path to either your XML file or to the PHP
script that generates the file, depending if you want the XML to be dynamically
updated when your database changes. It's usually easiest to have this reside
in the same directory as the HTML so that you can just refer to it by filename.
callback
indicates the function that's called when the XML is
returned to the JavaScript.
The function declaration is shown below:
function downloadUrl(url,callback) { var request = window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest; request.onreadystatechange = function() { if (request.readyState == 4) { request.onreadystatechange = doNothing; callback(request, request.status); } }; request.open('GET', url, true); request.send(null); }
Note: Since
XMLHttpRequest
is asynchronous, the callback function
won't be called as soon as you invoke downloadUrl
. The
bigger your XML file, the longer it may take. Don't put any code after
downloadUrl
that relies on the markers existing
already—put it inside the callback function instead.
Now that the function is defined, you can call it from your code, passing in the name of your PHP file and a callback function. In the callback function, you find all the "marker" elements in the XML, and iterate through them. For each marker element found, retrieve the name, address, type, and lat/lng attributes. Create a marker, adding it to the map, and bind an info window to display a description when the user clicks on your marker.
downloadUrl("phpsqlajax_genxml.php", function(data) { var xml = data.responseXML; var markers = xml.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute("name"); var address = markers[i].getAttribute("address"); var type = markers[i].getAttribute("type"); var point = new google.maps.LatLng( parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); var html = "" + name + "
" + address; var icon = customIcons[type] || {}; var marker = new google.maps.Marker({ map: map, position: point, icon: icon.icon, shadow: icon.shadow }); bindInfoWindow(marker, map, infoWindow, html); } });
You can specify custom icons and shadows for your markers.
Start by creating an associative array which associates your icons to your type strings: 'restaurant' or 'bar.' This makes the icons easy to reference later when you create markers from the XML.
var customIcons = { restaurant: { icon: 'http://labs.google.com/ridefinder/images/mm_20_blue.png', shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png' }, bar: { icon: 'http://labs.google.com/ridefinder/images/mm_20_red.png', shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png' } };
When you create your markers, you can retrieve the appropriate
icons by using the type as a key for the associate array
customIcons
that you defined above. Forward the
.icon
and .shadow
properties as
google.maps.Marker
constructor options. Then, construct
the HTML that you want to show up in the info window by concatenating
the name, address, and some  tags to bold the name.
Tip: Some tutorials instruct you to store HTML-formatted descriptions in your database, but doing so means you then have to deal with escaping HTML entities, and you'll be bound to that HTML output. By waiting until you've retrieved each attribute separately in the JavaScript, you are free to play around with the HTML on the client side and can quickly preview new formatting.
After constructing the HTML string, call bindInfoWindow
.
This adds an event listener to the marker so that when clicked, an
info window is displayed.
function bindInfoWindow(marker, map, infoWindow, html) { google.maps.event.addListener(marker, 'click', function() { infoWindow.setContent(html); infoWindow.open(map, marker); }); }
When the page loads, the load
function is called. This
function sets up the map and then calls
downloadUrl
. Make sure your downloadUrl
is
passing in the file that outputs the XML and that you can preview that
XML in the browser.
The full HTML code is shown below (phpsqlajax_map_v3.html).
<!DOCTYPE html >  <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <title>PHP/MySQL & Google Maps Example</title>

The map should look like this when loaded:


| weightsLumley {sandwich} | R Documentation |
A set of functions implementing weighted empirical adaptive variance estimation (WEAVE) as introduced by Lumley and Heagerty (1999). This is implemented as a special case of the general class of kernel-based heteroscedasticity and autocorrelation consistent (HAC) covariance matrix estimators as introduced by Andrews (1991), using a special choice of weights.
weave(x, order.by = NULL, prewhite = FALSE, C = NULL, method = c("truncate", "smooth"), acf = isoacf, adjust = FALSE, diagnostics = FALSE, sandwich = TRUE, tol = 1e-7, data = list(), ...) weightsLumley(x, order.by = NULL, C = NULL, method = c("truncate", "smooth"), acf = isoacf, tol = 1e-7, data = list(), ...)
x |
a fitted model object. |
order.by |
Either a vector |
prewhite |
logical or integer. Should the estimating functions
be prewhitened? If |
C |
numeric. The cutoff constant |
method |
a character specifying the method used, see details. |
acf |
a function that computes the autocorrelation function of
a vector, by default |
adjust |
logical. Should a finite sample adjustment be made? This amounts to multiplication with n/(n-k) where n is the number of observations and k the number of estimated parameters. |
diagnostics |
logical. Should additional model diagnostics be returned?
See |
sandwich |
logical. Should the sandwich estimator be computed?
If set to |
tol |
numeric. Weights that exceed |
data |
an optional data frame containing the variables in the |
... |
currently not used. |
weave
is a convenience interface to vcovHAC
using
weightsLumley
: first a weights function is defined and then vcovHAC
is called.
Both weighting methods are based on some estimate of the autocorrelation
function r (as computed by acf
) of the residuals of
the model x
. The weights for the "truncate"
method are
I{n * r ** 2 > C}
and the weights for the "smooth"
method are
min{1, C * n * r ** 2}
where n is the number of observations in the model an C is the truncation
constant C
.
Further details can be found in Lumley & Heagerty (1999).
weave
returns the same type of object as vcovHAC
which is typically just the covariance matrix.
weightsLumley
returns a vector of weights.
Lumley T & Heagerty P (1999). “Weighted Empirical Adaptive Variance Estimators for Correlated Data Regression.” Journal of the Royal Statistical Society B, 61, 459–477.
vcovHAC
, weightsAndrews
,
kernHAC
x <- sin(1:100) y <- 1 + x + rnorm(100) fm <- lm(y ~ x) weave(fm) vcov(fm)


Variables are one of the most important concepts in programming, and you will almost certainly be using them in every useful program you ever write. Using variables makes it easier to write your code, to change your code later and to help others understand your code (which is important when writing code in groups). Variables also are essential for keeping track of all the facts and figures you use throughout your code.
VARIABLES GET ASSIGNED A VALUE – VARIABLE ON LEFT, VALUE/EXPRESSION ON RIGHT
The information that a variable holds could be a number, a phrase, a calculation, a list of information or pretty much anything you want that variable to hold.
For example, in the previous project, we calculated the number of seconds in a day by multiplying the number of seconds in a minute by the number of minutes in an hour by the number of hours in a day. I we wanted, we could rewrite that calculation to use variables instead.
Let’s start by creating a variable called “sec_in_minute” that will hold the number of seconds in a minute (which is 60):
sec_in_minute = 60
Note: When naming variables, you can use any combination of uppercase letters, lowercase letters, numbers and underscore characters (_). The only rule is that the variable name must start with a letter. It’s good practice to use variable names that make your code easier to understand and read.
Now, let’s create two more variables:
min_in_hour = 60
hour_in_day = 24
It’s probably pretty obvious (that’s the goal!), but min_in_hour is the number of minutes there are in an hour and hour_in_day is the number of hours in a day.
We could now change the code we did to do our calculation of number of seconds in a day to the following:
print (sec_in_minute * min_in_hour * hour_in_day)
Here is what the program would look like if you were to enter it into the Code Window (feel free to try it):
And here is what the output would look like if you ran that code:
Remember I said above that variables can hold almost any type of data – that includes data from other variables. We can take our program one step further by creating a variable called sec_in_day and using it to hold our calculation for the number of seconds in a day:
sec_in_day = sec_in_minute * min_in_hour * hour_in_day
Now, if you want to output the number of seconds in a day, you can simply print the number being held by the sec_in_day variable:
print (sec_in_day)
This is what the code and output would look like:
You’re probably thinking to yourself that using variables took a lot more time and a lot more code – in fact, your program went from one line to five lines! But, if someone were to look at your original code:
print (60 * 60 * 24)
They’d have no idea what it meant or what you were calculating. But, if someone saw your final piece of code:
sec_in_minute = 60
min_in_hour = 60
hour_in_day = 24
sec_in_day = sec_in_minute * min_in_hour * hour_in_day
print (sec_in_day)
They would very likely know exactly what was going on in.
Also, while it seems like we’ve made our code longer and more complicated, we’ve now made it easier to use our calculations to do additional calculations if we wanted to. For example, let’s say we wanted to calculate the number of seconds in a month or a year?
Using the code we’ve already written, it would be easy to add these calculations. To determine the number of seconds in a month (assuming a 30 day month), we can just multiply the number of seconds in a day by 30 – and we can give the result its own variable:
sec_in_month = sec_in_day * 30
To determine the number of seconds in a year, we can multiply the number of seconds in a day by 365:
sec_in_year = sec_in_day * 365
As you can see, but using variables to hold our first calculations, we make it easier to do additional calculations. And, if we’re working on a team or in a group, the entire program is easier for others to follow and understand.
Let’s put this all together, and create a program that will calculate the number of seconds in a day, month and year, and print out the results:
The real benefit is that variables can change throughout a program…
The final benefit of using variables is that, if a variable needs to change, we can change it in one place as opposed to having to change it in lots of different places. For example, if scientists decided tomorrow that there should actually be 61 seconds in a minute, we could change our first line of code to:
sec_in_minute = 61
And all of our code would now continue to make accurate calculations. If we wouldn’t have used variables, we would have had to go through our code and change every instance of 60 to 61 where we were referring to the number of seconds in a minute.
Of course, we don’t expect the number of seconds in a minute to change, but there are plenty of things in this world that do change, and being able to update your programs quickly and easily when things change is a huge benefit to programmers.
In addition to holding numbers and calculations, variables can also hold strings. For example, we could have a variable that holds one of the output message we’re using above:
message = ‘Number of seconds in a day: ’
We could then print that message to the output, along with our calculation:
print (message, sec_in_day)
Here is what the code and output would look like using a variable for the text string:
Note that because message is now a variable, we don’t put quotation marks around it.
Another common use of variables is to hold lists of information. These can be lists of pretty much any type of information, though the two most common types of lists you’ll likely be using are lists of strings and lists of numbers.
An example of a list of strings would be a list containing the names of the months of the year. To keep things simple, let’s just create a list containing the first five months; we’ll use a variable called “months”:
months = [‘January’, ‘February’, ‘March’, ‘April’, ‘May’]
Notice how the entire list has brackets [ ] around it and how each of the items in the list are strings with quotation marks around them.
Now let’s look at some of the things we can do with that list…
We can reference the entire list. For example, let’s say we wanted to print the whole thing out:
print (months)
We can reference a single item in the list. For example, let’s say we wanted to print out the third item in the list (which is, “March”):
print (months[2])
Wait! I said we were going to print out the third item on the list, and then I had it print months[2] – that’s not a typo. Computers always start counting lists at 0, not 1. So, the first item on a list is [0], the second item on a list is [1] and so on. To get the third item on the item, we reference it as [2].
Here is how the computer sees our list:
|
ITEM # |
ITEM NAME |
|
0 |
January |
|
1 |
February |
|
2 |
March |
|
3 |
April |
|
4 |
May |
So, the third item on our list of months is months[2].
We can reference a range of items on the list. For example, let’s say we wanted to print out items 2 and 3 in the list (February, March):
print (months[1:3])
Notice that we referenced [1:3] to get items 1 and 2. When we reference a range, the second number is the item where we stop – that item is not included in the range.
We can change an item in the list. For example, let’s say we wanted to change “February” to “Feb” to make it shorter (and then print it out to verify that it has been changed):
months[1] = ‘Feb’
We can add an item to the list. For example, if we decide that we want to include June at the end of the list, we can do the following:
months.append(‘June’)
The .append() that we used above is called a function. We’ll discuss later how and why this works. For now, just be aware that there are bunch of ways you can act on a list (or any variable, for that matter) using what are known as functions.
Just like we added an item to the list above, we can also remove an item from the list. For example, if we decide that we don’t like April, we can get rid of it from the list:
months.remove(‘April’)
Here is what the code and output would look like from creating and running this code:
Here is how the computer now sees this list:
|
ITEM # |
ITEM NAME |
|
0 |
January |
|
1 |
Feb |
|
2 |
March |
|
3 |
May |
|
4 |
June |


Back
Configurator
Set component type
Sort the columns in the column menu by
Default
Ascending
Descending


Creative Solutions Start-Ups and Small Businesses
We are a young team of web designers, developers and graphic designers who are dedicated to building an online presence and visual identity for start ups and small businesses looking to improve their standing.
View More


@import views.html.common_components.form_components._ @(id: Long, keyy: String)(implicit messages: Messages) @landing_page.site_components.wrapper(16, Seq(), Seq("js/app/modalService.js"), Seq("modal","ui.bootstrap")){ Forgot your password? Change it here. The email address that you are changing the password for: {{value.email}} Loading error. Please request a new password request email. Please enter your new password. A safe password is at least 8 characters long and contains a special character (e.g. "@" or "*"). @wrapper_error("new.new1")(input("new.new1", Seq('type -> "password"))) @wrapper_error("new.new2")(input("new.new2", Seq('type -> "password"))) Change password These entries do not match. Password changed successfully. You can now login with your updated password. @common_components.js(routes.Assets.at("js/app/login/loginCtrl.js").url) }
{{value.email}}
Loading error. Please request a new password request email.


To build a web application, we need to... create a user, sign into that user, save private data, publish content, send private messages, and have group conversations. Phew! That is a lot.
The most important piece is first creating user accounts. Unfortunately, a username/password combo is not very secure. We need something better.
During the Cold War a new type of security was invented. It is similar to a username/password, but imagine instead having to memorize the first thousand digits of PI! Having a password that long would take a hacker one hundred years to break. This is why it is secure and it is called public/private key cryptography.
However, your users would probably get really confused with that. So how can we let them keep their own password... but still have real security? Well, we take their normal password and mix with other information. The end result is long and complicated, creating a secure account for our users to sign into.
We'll go into more details on how this works in our next video.


Welcome to dashboard application. This application guide will introduce you to things that you can do while staying here. All the secions mentioned below can be accessed from the navigation menu on the left side


About
Boston-based UX designer, developer, and motion designer seeking collaborators for short film and music video projects. I've worked seven years semi-professionally as a photographer, camera operator, editor, director and producer - with a professional career as a front-end web developer.
I have a passion for music, art, design and cinematography. I'm constantly interested in discussing new and exciting creative projects. If you think you might like to collaborate on a short film, music video, documentary or event, let's talk shop!
Contact


{% extends "base.html" %} {% block outside_block %}
Run everything from the web
No command-line needed
No data is ever stored
Anyone can contribute


Exercise 3: Using value converters (XAM270)
There isn't always a 1:1 mapping between our available data and the user interface that presents that data. Value Converters are the bridge which spans this difference. In this exercise, you'll use a Value Converter to data bind images to our resources.
To complete the exercise, you will need Visual Studio for Windows or macOS with the Xamarin development tools installed. You will also need either an emulator/simulator or a device to run the exercise on. Please see the setup page if you need help installing the Xamarin development environment.
Open the starter solution
This exercise is a continuation of the previous exercise. You can use your existing solution or begin from the prior Exercise 2 > Completed solution in your copy of the cloned or downloaded course materials.
Create value converter for the Image.ImageSource property
You'll create a value converter to translate the ImageUrl
property on the Flag
object into an ImageSource
that the Xamarin.Forms image control can display. Specifically, the value converter will load images from your embedded resources located in the FlagData assembly.
- Open the FlagExtensions.cs file in the Extensions folder. This is the code you are currently using to load the image from your resources.
- Create a new folder in the FunFlacts project called Converters to store our value converter.
- Add a new empty class file to the Converters folder named
EmbeddedImageConverter
. -
Implement the
IValueConverter
interface on the class.- The
Convert
method should turn the inboundvalue
into a string and assume it's the embedded resource ID - use the code located in theFlagExtensions.GetImageSource
method to load the resource. - The
ConvertBack
method is only used in two-way bindings; in this case our image URL will never be changed by the UI and so it can throw aNotSupportedException
to indicate that it is not available. - Since the image is in a different assembly, you need to tell the
ImageSource.FromResource
method where to find it. You can either hard-code this (like it is in theGetImageSource
implementation), or create a public property on the value converter and pass aType
in to load the image data. You'll use this latter approach since it's more flexible - you can load images from any assembly.
public class EmbeddedImageConverter : IValueConverter { /// Optional type located in the assembly you want to get the resource /// from - if not supplied, the API assumes the resource is located in /// this assembly. public Type ResolvingAssemblyType { get; set; } public object Convert(object value, Type targetType object parameter, CultureInfo culture) { var imageUrl = (value ?? "").ToString(); if (string.IsNullOrEmpty(imageUrl)) return null; return ImageSource.FromResource(imageUrl, ResolvingAssemblyType?.GetTypeInfo().Assembly); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotSupportedException( $"{nameof(EmbeddedImageConverter)} cannot be used on two-way bindings."); } }
- The
-
Open MainPage.xaml and assign a new
ResourceDictionary
to theContentPage.Resources
property. -
Add an instance of your
EmbeddedImageConverter
class to the resources so you can use it in your binding expression.- If you implemented the resolving type property on your converter, you can use
{x:Type data:Flag}
to pass in the proper type to locate the images. - You will need to define your XML namespaces to use the custom types in XAML - if you don't recall the syntax, check the code sample below.
- Make sure to give the resource a
x:Key
, such as "irConverter"
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:FunFlacts" xmlns:eff="clr-namespace:FunFlacts.Effects" xmlns:data="clr-namespace:FlagData;assembly=FlagData" xmlns:cvt="clr-namespace:FunFlacts.Converters" x:Class="FunFlacts.MainPage" Title="Fun with Flags"> <ContentPage.Resources> <ResourceDictionary> <cvt:EmbeddedImageConverter x:Key="irConverter" ResolvingAssemblyType="{x:Type data:Flag}" /> </ResourceDictionary> </ContentPage.Resources> ...
- If you implemented the resolving type property on your converter, you can use
-
Data-bind the
Image.Source
property to theImageSource
property on the flag with a binding. - Add your converter to the binding - assign it to the
Converter
property and use the{StaticResource}
markup extension to retrieve it from resources using your assigned key. - Remove the code behind which is currently setting the source property. You can also remove the
x:Name
on the image in XAML since you no longer need to reference it in code behind. -
Run the application and make sure the flag is properly displayed - make sure to try a few countries by clicking the up and down arrows in the tool bar.
<Image HeightRequest="200" Source="{Binding ImageUrl, Mode=OneWay, Converter={StaticResource irConverter}}" HorizontalOptions="Center" VerticalOptions="Center" Aspect="AspectFit" />
Bind the Picker items
You'll remove the last of the non-databound code-behind by data binding the list of countries to the Picker
control in XAML. To do this, you need to provide access to the list of countries loaded by the FlagsRepository
. You'll do this by supplying an aggregate object as the BindingContext
. This is a common technique used to supply data to your views - and there's a name for the codified pattern: Model-View-ViewModel.
- Open MainPage.xaml.cs and locate the
InitializeData
method. You can remove all the code from this method except theBindingContext
assignment. -
Next, change the
BindingContext
assignment to be an anonymous type that contains the countries and the selected flag:// Set the binding context to an anonymous type containing both the countries // and the current flag. Note: this could also be a real type (like a ViewModel). this.BindingContext = new { Countries = repository.Countries, CurrentFlag };
-
Now, you need to fix up our bindings in the XAML. Open the XAML page and fix all the property names for existing bindings - adding CurrentFlag into the property name:
Date="{Binding CurrentFlag.DateAdopted, Mode=TwoWay}"
-
Finally, you'll bind the countries. Locate the
Picker
and add a new binding for theItemsSource
property to bind it to theCountries
property you created on the anonymous object you assigned to theBindingContext
.<Picker ItemsSource="{Binding Countries}" SelectedItem="{Binding CurrentFlag.Country, Mode=TwoWay}" />
-
Check your XAML and make sure the
x:Name
is removed on all the controls - you should no longer have any references to any of these specific UI elements in your code. Instead, it's strictly dealing with theBindingContext
. - Run the application and make sure it's all still working properly.
Exercise summary
In this exercise, you used value converters to move incompatible property types into bindings - coercing values and loading resources for our UI. Compare the code behind you have left - it is now just behavior, with no UI coupling at all.
You can view the completed solution in the Exercise 3 > Completed folder of your copy of the cloned or downloaded course materials.


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.rattat.micro.game.frog.board.BoardModel
public class BoardModel
Holds everything needed to actually play the game. Instances of channels (roads, river lanes), the status screen, the frog moved by the user etc.
| Field Summary | |
|---|---|
static int |
CELL_SIZE
width / height of one cell in the game in pixels (board is approx 15 * 15 cells) |
static int |
FROG_DOWN
Frog moving down |
static int |
FROG_HORIZONTAL_INCREMENT
How far to move in the X direction for every tick that the frog is moving |
static int |
FROG_HORIZONTAL_TOTAL
How far to move the frog in total in the X direction |
static int |
FROG_LEFT
Frog moving left |
static int |
FROG_NULL
No frog movement |
static int |
FROG_RIGHT
Frog moving right |
static int |
FROG_UP
Frog moving up |
static int |
FROG_VERTICAL_INCREMENT
How far to move in the Y direction for every tick that the frog is moving |
static int |
FROG_VERTICAL_TOTAL
How far to move the frog in total in the Y direction |
static int |
USERINPUT_DOWN
User attempts to move down |
static int |
USERINPUT_LEFT
User attempts to move left |
static int |
USERINPUT_RIGHT
User attempts to move right |
static int |
USERINPUT_UP
User attempts to move up |
| Constructor Summary | |
|---|---|
BoardModel()
Creates a new instance of BoardModel |
| Method Summary | |
|---|---|
void |
addFrogMoveCounter(int add)
Add a value to the frog's movement This is used when moving the frog after the user has started the frog moving |
void |
addListener(BoardListener listener)
Add a listener. |
Home |
createHomeLayer()
Create the home layer - the layer that the player aims to get the frog into |
void |
frogDeath()
Handle loosing a life Hide the frog, repoisition him at the foot of the screen, deactivate him and mark the dead frog sprite as active |
TiledLayer[] |
getBorderLayers()
Get the border layers - the pavement parts of the board |
Channel |
getChannel(int channel)
Get a specific channel - road or river |
Channel[] |
getChannels()
Get the array containing all channels |
Sprite |
getDeadFrog()
Get the dead frog sprite |
Sprite |
getFrog()
Get the frog sprite - the one the user moves around the screen |
int |
getFrogMoveCounter()
Get how far the frog has moved in the current move |
int |
getFrogMovement()
Get the direction that the frog is moving |
int |
getHeight()
Get the height of this board in pixels |
int |
getHighScore()
Get the game's high score |
Home |
getHomeLayer()
Get the home layer - the layer that the player aims to get the frog into |
ScoreLayer |
getScoreLayer()
Get the score layer - the component used to display player score and high score |
StatusLayer |
getStatusLayer()
Get the status layer |
int |
getWidth()
Get the width of this board in pixels |
void |
homeEvent(int event,
Home home)
Called when a HomeEvent happens |
void |
initLevel(int level)
Setup the board for beginning a new level |
boolean |
isFrogMoving()
Check if the frog is moving |
void |
looseLife()
|
void |
moveFrog(int dx,
int dy)
Move the frog |
void |
newGame()
Iniatalise the board for a new game |
void |
removeListener(BoardListener listener)
Remove a listener. |
void |
rotateFrog(int rotation)
Rotate the frog - used when moving left or right to make the frog face the right direction |
void |
setFrogMoveCounter(int frogMoveCounter)
Set how far the frog has moved in the current move |
void |
setFrogMovement(int frogMovement)
Set the direction the frog is moving in USERINPUT_LEFT, USERINPUT_RIGHT, USERINPUT_UP, USERINPUT_DOWN |
void |
setHighScore(int highScore)
Set the game's high score |
void |
tick()
Update the board by one unit of time: Handle frog movement Update home layer, channels and status / score layers Check if the frog is dying Finish the game is the player is dead and the dead frog aninmation is complete |
void |
userInput(int inputType)
Process user input |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int USERINPUT_LEFT
public static final int USERINPUT_RIGHT
public static final int USERINPUT_UP
public static final int USERINPUT_DOWN
public static final int CELL_SIZE
public static final int FROG_NULL
public static final int FROG_UP
public static final int FROG_DOWN
public static final int FROG_LEFT
public static final int FROG_RIGHT
public static final int FROG_VERTICAL_INCREMENT
public static final int FROG_HORIZONTAL_INCREMENT
public static final int FROG_VERTICAL_TOTAL
public static final int FROG_HORIZONTAL_TOTAL
| Constructor Detail |
|---|
public BoardModel()
| Method Detail |
|---|
public int getWidth()
public int getHeight()
public Sprite getFrog()
public Sprite getDeadFrog()
public int getHighScore()
public void setHighScore(int highScore)
public StatusLayer getStatusLayer()
public ScoreLayer getScoreLayer()
public Home createHomeLayer()
public Home getHomeLayer()
public Channel getChannel(int channel) throws java.lang.Exception
java.lang.Exception
public Channel[] getChannels()
public TiledLayer[] getBorderLayers()
public void newGame()
public void initLevel(int level)
int
- levelpublic void tick()
public void frogDeath()
public void looseLife()
public void moveFrog(int dx, int dy)
int
- dxint
- dypublic void setFrogMovement(int frogMovement)
int
- frogMovementpublic int getFrogMovement()
public boolean isFrogMoving()
public void addFrogMoveCounter(int add)
int
- public int getFrogMoveCounter()
public void setFrogMoveCounter(int frogMoveCounter)
public void rotateFrog(int rotation)
int
- rotationpublic void homeEvent(int event, Home home)
HomeListener
homeEvent
in interface HomeListener
int
- eventHome
- homepublic void removeListener(BoardListener listener)
BoardListener
- listenerpublic void addListener(BoardListener listener)
BoardListener
- listenerpublic void userInput(int inputType)
int
- inputType
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Design Evolution was founded by Ellen Veith Elia in the fall of 2003, shortly after graduating from Parsons School of Design.
Ellen Veith Elia Owner: Design Evolution Phone:<PHONE_NUMBER>


My Team
Manager
☕ Manager
ID: 2
Email:
<EMAIL_ADDRESS>Office Number: 20
Engineer
🚀 Engineer
ID: 3
Email:
<EMAIL_ADDRESS>GitHub:
engineer
Intern
👨🎓 Intern
ID: 4
Email:
<EMAIL_ADDRESS>School: UMN
Jeff
👨🎓 Intern
ID: 50
Email:
<EMAIL_ADDRESS>School: UMN


Here's an exhaustive list of newsletters I read. (sorted by category -> alphabetically) / **'s indicate favorites


WITNESS LIST Pensions & Investments Committee (Subcommittee on Long Term Care) May 26, 1998-9:00A Long Term Care For: Graves, Tim (Tx. Health Care Assoc.) Rivera, Derly E. (TRTA) On: Beckett, Sheila (ERS) Couger, Patricia L. (TX A & M University) DiLorenzo, Frank (TRS)


Savic Electric Motorcycle Is Thor’s Hammer in the Hands of Mad Max
by Daniel PatrascuBecause there are so many startups now in the business of making – or at least planning to make – electric motorcycles, it’s impossible to know them all. Yet, from time to time, one stands out, like it’s the case with Melbourne-based Savic Motorcycles.
Led by a man who at some point in his career worked for Ford Australia, Dennis Savic, the company set out to create an electric bike even Mad Max would be proud of riding on Fury Road.
Designed as a c-series cafe racer, the bike is officially Australia's first locally-made electric two-wheeler that should offer decent performance levels for an incredibly affordable price.
Sometime in the near future, there will be three variants of the Savic bike available, namely Omega, Delta and Alpha, each with a differently-sized battery and increasing range: 120, 150 and 200 km, respectively (74, 93, 124 miles). Zero to 80 percent charging time ranges from 2 to four hours.
The electric motor fitted on it, of unspecified power, allows for 0 to 62 mph acceleration of between 3.5 and 5.5 seconds, depending on the version.
Built as all motorcycles in its class for speed and handling, the Savic does not look particularly comfortable, but it does look.. familiar.
The seat for the rider and the part that in conventional bikes is the fuel tank come together to become what looks like half of Thor’s hammer mounted on two wheels.
Just by looking at it, one could say this cafe racer will be prohibitively priced, but it truly isn’t. The Australians plan to sell the entry-level Omega for $12,990, while the top of the range Alpha would retail for $23,990.
There is no word yet on when production is expected to start, but Savic is already accepting submissions from those interested and promises test rides in early 2020. All you have to do is head over to the official website and fill in a few boxes. 🏁


About Me
Jonas Castro
Jonas Castro
I'm a Full-Stack developer, with an emphasis on single page apps, mobile devices, computers and the REST API. Currently studying information systems at the Federal University of Ceará.
Skills
PROGRAMMING LANGUAGES & TOOLS
OTHERS
Education
BACHELOR OF INFORMATION SYSTEMS
Federal University of Ceara
January 2018 - Present
COMPUTER TECHNICIAN
EEEP Manoel Mano
January 2011 - December 2013


This plugin enables integrations with browser extensions, like chromeIPass or PassIFox.
It's the same as KeePassHttp, but for KeeWeb.