Hi, I’m Øyvind. I’m a freelance developer and IT consultant based in Oslo, Norway.
I am currently fully booked. See Availability in 2023 for the details.
Are you working on building something new? Or maybe improving your existing back-end system? Is it slow? Or simply more costly than it needs to be?
Do you lose customers and revenue because don’t have enough programmers?
My specialty is back-end, server-side technology and architecture. I help build scalable and fast cloud-based systems.
Please don’t hesitate to contact me if you are unsure of what kind of developer you need for your project. If I can’t help you myself I can at least steer you in the right direction. I’ve also gotten to know may other freelancers, independent consultants and designers. Just give me a call or fill out this form.
For examples of what I’ve done my clients in the past, see past clients and projects.
I strongly prefer simplicity and strive for it whenever possible.
My current language of choice is Go (golang) and I build systems on the Google Cloud Platform.
To be honest, I do not think choosing the "right" technology is very important. Usually, there are many that will do the trick and there are many ways to get the job done. There are, of course, exceptions. But for most projects choosing one technology over another does not give any great advantages.
It is much more important to know your tools and their strengths and weaknesses. That’s what I’m achieving by sticking with a few selected technologies. So while it’s fun to learn new things and tempting to jump on the latest fashions, it can be harmful to productivity and the goals of the business [1]. I try to counteract this by trying new things on my own time.
Other, important are things, are:
Finding the right balance between simplicity and sophistication in you architectures
Understanding the larger picture. What are we making and why?
Understanding the priorities of the business. Is 99.99% uptime critical? Time-to-market? Or maybe giving yourselves many chances of succeeding by saving money and taking sane shortcuts.
Having said that, there are reasons I choose to work with Go and the Google Cloud Platform. I like Go, both the simplicity of the language and the culture of pragmatism. It’s a language very well suited for building back-end servers. Google Cloud Platform also has its strengths. I’ve always been a fan of their first platform-as-a-service, App Engine. They also seem to have a even stronger focus on pay-for-what-you-use than other cloud providers.
I have experience with many different technologies and programming languages. Especially on the back-end. And, of course, I also know "adjacent" tools used by modern cloud-native deployments, such as: Docker, Kubernetes, Git and CI/CD systems. I’ve worked with several databases and datastores, mainly the Google Cloud native ones: Datastore / Firestore, Storage and Cloud SQL. Outside of GCP I’ve used MySQL / MariaDB extensively, PostgreSQL, Redis and SQLite. Lately I’ve taken an interest in graph databases, especially Dgraph.
Other past experience includes: several cloud providers and languages such as Python (w/ Django), Perl 5 (w/ Mojolicious), PHP and Ruby (w/ Rails), as well as databases etc.
After finishing my MSc in Informatics in 2010 I worked as a back-end developer, and "devops" guy for almost 4 years before I started my own company in 2014. Since then I’ve taken contract work and worked on 10 projects for 7 different clients. Some of these have been multi-year, full time contracts while others have been advisory roles or short-time projects.
For examples of what I’ve done my clients in the past, see past clients and projects.
I’m curently starting a new project with Mimiro.
April 2023: |
Fully booked |
May 2023: |
Fully booked |
June 2023: |
Fully booked |
July 2023: |
Fully booked |
August 2023: |
Fully booked |
September 2023: |
Fully booked |
October 2023: |
No commitments yet |
(last updated: April 3rd 2023)
If you think I can help you, or you have any questions, please reach out.
You can email me at<EMAIL_ADDRESS>or use https://oyvindsk.com/contact


Text
Apply
Text Controls
Font Name
Size
Resize with Shape
Horizontal Align
Left
Center
Right
Vertical Align
Top
Middle
Bottom
Direction
Left to Right
Right to Left
Manual Offset
X
Y
Spacing (pt)
Spread
Fill Color
Fill Opacity
Stroke width
Stroke Color
Shape
Reverse
Flip X
Flip Y
Show Shape
Fill Color
Fill Opacity
Stroke width
Stroke Color
Animation
▶ Play
🁢🁢 Pause
Type
SMIL
Javascript
Direction
Forward
Backward
Alternate
Duration (ms)
Repeat (-1 for ∞)
Seamless
.


Global Consumer Union
Cataloguing pathways to the future
Post issues, submit updates on the
Github repository
Introduction
A radically different world is right around the corner, but in unexpected directions.
Index
Cell cultures free us from the constraint of the field
Clean water anywhere, and for everybody


QMAKE(1) QMAKE(1) NAME qmake - cross-platform makefile generator for Qt SYNOPSIS qmake [mode] [options] [files] DESCRIPTION QMake has two modes, one mode for generating project files based on some heuristics, and the other for generating makefiles. Normally you shouldn't need to specify a mode, as makefile generation is the default mode for qmake, but you may use this to test qmake on an existing project. MODE -project Put qmake into project file generation mode. In this mode qmake interprets files as files to be built, defaults to *.c; *.ui; *.y; *.l; *.ts; *.xlf; *.qrc; *.h; *.hpp; *.hh; *.hxx; *.H; *.cpp; *.cc; *.cxx; *.C. -makefile Put qmake into makefile generation mode (default). In this mode qmake interprets files as project files to be processed, if skipped qmake will try to find a project file in your current working directory. WARNINGS OPTIONS -Wnone Turn off all warnings -Wall Turn on all warnings -Wparser Turn on parser warnings -Wlogic Turn on logic warnings OPTIONS -ofile Write output to file -unix Run in unix mode -win32 Run in win32 mode -macx Run in Mac OS X mode -d Increase debug level -ttempl Overrides TEMPLATE as templ -tpprefix Overrides TEMPLATE so that prefix is prefixed into the value -help Displays a help text -v Version information -after All variable assignments after this will be parsed after [files] -norecursive Do not do a recursive search -recursive Do a recursive search -set <prop> <value> Set persistent property -query <prop> Query persistent property. Show all if <prop> is empty. -cache file Use file as cache [makefile mode only] -spec spec Use spec as QMAKESPEC [makefile mode only] -nocache Do not use a cache file [makefile mode only] -nodepend Do not generate dependencies [makefile mode only] -nomoc Do not generate moc targets [makefile mode only] -nopwd Do not look for files in pwd [project mode only] SEE ALSO /usr/share/qt4/doc/html/qmake-manual.html, assistant(1) AUTHOR This manual page was written by Brian Nelson<EMAIL_ADDRESS>based on the output of qmake -help . Frederik Schwarzer<EMAIL_ADDRESS>updated it for Qt 4.5.2. Nokia Corporation and/or its subsid2005-07-23 QMAKE(1)


I sort of “went dark” this week. I was in Los Angeles for a few exhibits we worked on for the LA Auto Show. We flew out Monday and returned Friday. At some point on Tuesday, I was definitely caught up in NetNewsWire for iPhone. By Friday morning it had been at least a couple of days.
Today, I started with over 3,700 items to read.
Here are my options on how to deal with this:
- Spend an unspecified number of days doing nothing but reading “news”. 1
- RSS Bankruptcy. While we’ve all heard of the email variety, I figured someone, somewhere had already filed under Chapter RSS — I was right.
- Unsubscribed from a lot of feeds, combined with #1 or #2.
You could certainly argue that gathering that many items in a few days clearly indicates #3 be applied immediately,2 I’m starting out with #1 interleaved with the rest of my life because its the least destructive. More to come.


|
Exotic Nasal Spray 100% Natural
The Exotic Nasal Spray formula is made up of only natural ingredients. This means that you can use Exotic Nasal Spray with out the worry of the unwanted side effects and health risks of male sexual enhancement medications. Exotic Nasal Spray is safer.
Exotic Nasal Spray uses a tried and tested unique blend of 9 herbal ingredients, which work together to help combat erectile dysfunction (Impotence) and premature ejaculation. Take a look at our unique list of herbal ingredients to see how each helps to treat erectile dysfunction(Impotence) , premature ejaculation and enhance sexual performance.
Epimedium
Contains an ingredient known as Icariin, which acts as an aphrodisiac. Icariin helps to inhibit PDE-5 in the body. Also known as "Horny Goat Weed", Epimedium has been used for thousands of years as a libido enhancer.
Our medical research team has discovered that Epimedium increases blood flow to the male organs. It does this by allowing the nitric oxide levels to increase, relaxing smooth muscles. It also acts as a mild PDE-5 inhibitor.
After centuries of use in the Far East, medical doctors now report that Epimedium can be used to boost libido, improve erectile function, restore sexual power and increase sensation. Scientifically, Epimedium works by freeing up testosterone, which naturally increases sex drive and endurance.
Maca Extract (Lepidium meyenii)
Known as Peruvian Ginseng, which supports the glandular system.
A double-blind study by the Department of Urology, University of Ulsan College of Medicine attempted to study the "efficacy of red ginseng for erectile dysfunction." Their conclusion was, "Our data shows that red ginseng can be an effective alternative for treating male erectile dysfunction".
 Russian scientists have reported that Ginseng stimulates both physical and mental activity, enhances athletic performance and has a positive effect on the sex glands.
Used to combat impotence and premature ejaculation, Ginseng helps normalize blood pressure while rejuvenating and revitalizing the body.
Long Jack Eurycoma longifolia
Using the Leutinizing Hormone pathway, Long Jack increases the rate at which endogenous testosterone is created, while decreasing other unused testosterone that is lingering in the body. This helps to increase the sex drive, and eliminate erectile dysfunction.

Rehmannia Glutinosa
Restores vitality, sharpens nerve receptors, and increases blood circulation. Rehmannia Glutinosa was discovered in Asia in the mid 18th century.
Lycium Chinensis
Help to increases semen and blood circulation to the sexual organs, and acts as a sensation booster.
Polygonum Multiflorum
Rejuvenates the whole body and restores vitality to male organs. Polygonum Multiform also enhances the body's scent release, which has a wondrous impact on your partner's arousal level.
Cnidium Monnieri
Enhances blood flow and erections, making them last longer, and enhances sensation.
Ginsenosides (from Panax Ginseng root)
Acts as a general stimulant and helps improve one's over-all feelings of wellness.
|


When you truly and deeply want something, all of the universe conspires in helping you achieve it. - The Alchemist by Paulo Coelho
“It’s always good to work with people who make you feel insecure about yourself. That way, you will constantly keep pushing your limits.” - Sundar Pichai, CEO, Google
To be yourself in a world that is constantly trying to make you something else is the greatest accomplishment. - Ralph Waldo Emerson
“The only thing standing between you and your goal is the story you keep telling yourself as to why you can’t achieve it.” - Jordan Belfort
“Most people quit because they look how far they have to go, not how far they have come.”
“Silence the angry man with love.  - Sundar Pichai
“Everything around you that you call life was made up by people, and you can change it.” - Steve Jobs
Most people settle for what they think they are capable of. But if you don’t overestimate yourself, you will never uncover what you are really capable of. - Harish V
If you don’t go after what you want, you’ll never have it. If you don’t ask, the answer is always no. If you don’t step forward, you’re always in the same place.
“Sometimes it is the people who no one imagines anything of who do the things that no one can imagine.”- Alan Turing
“Happiness can be found even in the darkest of times, if one only remembers to turn on the light” - Albus Dumbledore
Sometimes there are battles that we have to keep fighting alone. - Harry Potter
“It is our choices, Harry, that show what we truly are, far more than our abilities.” - Dumbledore to Harry
“If you want to know what a man’s like, take a good look at how he treats his inferiors, not his equals.” - Harry Potter
“Working hard is important, but there’s something that matters even more. Believing in yourself.” - Harry Potter
“Time is the only real currency”
“In the jargon of the computer programmer, a hacker is someone who strives to solve problems in elegant and ingenious ways.” - NUS Hackers
“Time you enjoy wasting, was not wasted” - John Lennon
SUCCESS = LUCK + (REAL VALUE * MARKETED VALUE)
“Harry, there is never a perfect answer in this messy, emotional world. Perfection is beyond the reach of humankind, beyond the reach of magic. In every shining moment of happiness is that drop of poison: the knowledge that pain will come again. Be honest to those you love, show your pain. To suffer is as human as to breathe.” - Excerpt From: Rowling, J.K. “Harry Potter and the Cursed Child.”
“Impossible is just a big word thrown around by small men who find it easier to live in the world they’ve been given than to explore the power they have to change it.” - Muhammad Ali
‘I do not fear for I am treading on the path laid by my Lord’ - Harish V
“If you can’t fly, then run. If you can’t run, then walk. If you can’t walk, then crawl, but whatever you do you have to keep moving forward.” - Dr. Martin Luther King, Jr.
“What is important is seldom urgent and what is urgent is seldom important.” - Dwight Eisenhower
“You have to figure out what your own aptitudes are. If you play games where other people have the aptitudes and you don’t, you’re going to lose. And that’s as close to certain as any prediction that you can make. You have to figure out where you’ve got an edge.  - Warren Buffett
On the street I saw a naked child, hungry and shivering in the cold. I became angry and said to God, “Why do you permit this? Why don’t you do something?” For a while God said nothing. That night he replied, quite suddenly, “I certainly did something. I made you.”
“Victory is sweetest when you’ve known defeat.” - Malcom Forbes
I will be keeping this list updated. Stay tuned!


THE BIG ONE
Reviewed by Harvey Karten, Ph.D. Miramax Films/Dog-Eat-Dog Films Director: Michael More Writer: Michael Moore Cast: Michael Moore, Garrison Keillor, Studs Terkel, Rick Nelson, Phil Knight
What would Michael Moore say about the New York Times article of 2/10/98, which questions the usual (liberal) view of downsizing? Says America's most prestigious daily newspaper, "Month after month the Labor Department reports the creation of hundreds of thousands of new jobs. 358,000 were added in January....well-paid middle managers and other upper-level office workers are being hired in big numbers....The study challenges views about the work force. One is that corporate downsizing has decimated middle-level management...but hiring has outpaced the layoffs...Corporate America is starved for people highly skilled in technology."
No problem for Moore. The workers with whom he sympathizes and emphathizes do not have the options of the mroe mobile and educated unemployed. One of the few filmmakers who can make a hilarious documentary about a serious subject, Moore is firmly on the side of Middle Americans who have lived all their lives in their towns, areas like Flint, Cincinnati, and Centralia. They take pride in their generally routine jobs, and have been despondent since receiving pink slips through no fault of their own. These are the real Americans, those with firm roots in their abodes, who are not the sorts who can simply pick up and travel halfway around the country to where the jobs are. Why have they been fired or, as the current expression would have it, downsized? Simply because their companies wanted to make more profit by locating their plants in underdeveloped countries like Mexico and Indonesia. What's wrong with trying to maximize profit in this way?  Plenty if you're Michael Moore, who believes that if a company is MAKING HUGE PROFITS, it has a RESPONSIBILITY to share some of this wealth with its American employees.
Michael Moore is well known among movie buffs as the writer-director of one of the most celebrated documentaries, "Roger and Me," a droll tale of his crusade to meet with Roger Smith, Chairman of General Motors, to discuss with him the decision to close the GM factories in Moore's home town of Flint, Michigan. As shown by that film and his current one, Moore's talent extends beyond his ability to write a whimsical script and even his talent at the helm of his films. Most important he is a stand-up comic of the first order, one who wears his heart on his sleeve and whose sincerity is obvious to any sensitive person watching him at work in his favorite role of gadfly to the Establishment.
The title of his current movie, "The Big One" refers not to President Clinton (or any aspect of the chief executive) but to the country as a whole. Among his many opinions is that the name "The United States of America" is a dull one, certainly when compared to, say, "The United Kingdom" or "Great Britain," and that our nation should more accurately be called "The Big One." His focus is the downsizing trend which has become stylish in corporate America, and, in fact he even wrote the number one best-seller "Downsize This!" He puts across his views in the most entertaining way imaginable, traveling about the mid-west interviewing workers and executive alike, performing stand-up comedy to appreciative crowds everywhere, and throwing in asides when the mood strikes. The result is a kaleidoscopic look at a national affliction: the dismissal of hundreds of thousands of loyal employees simply because the big bosses can get the jobs done outside the country at one-tenth the labor costs.
Among the asides which can disarm even the grouchiest of audiences, he describes to an appreciative crowd of college youngsters that during the presidential campaign of '96 he conducted an experiment to test the greed of the candidates. He set up some dummy corporations which issued small checks to the aspirants, in one case mailing $100 to Pat Buchanan's campaign from "Abortionists for Buchanan." The right-wing journalist cashed the check. When Moore's book "Downsize This!" came out, Random House, his publisher, sent him on a marketing tour which the documentary filmmaker turned into this splendid, heartfelt and very funny documentary about the effects of the policy of downsizing.
Thrown out by security guards and publicists for some major corporations for entering their buildings with his small army of camera people, he is enthusiastically received by downsized workers everywhere. At a Payday factory in Centralia Illinois, he commiserates with packers who have spent five, ten, twenty years with the company and are now tossed out because they were too productive! The plants relocated to Mexico. Once, whenever a company spokesperson cited for the umpteenth time the need to maximize profits, Moore retorts, "Then why doesn't General Motors sell crack?" Moore explores one situation in which prison labor is used by TWA to book reservations, because the incarcerated could be paid just two dollars an hour. His most intriguing interview is with Phil Knight, the hip-looking CEO of Nike corporation, which makes America's most popular and profited athletic shoes. The trouble is that none of these shoes (save one) are made in the U.S. The assemblers are workers as young as fourteen in Indonesia, whose laborers cannot even afford shoes for themselves and where they are paid twenty cents an hour. (Michael Jordan receives $20 million annually from the corporation, more than the entire 30,000 strong labor force in Indonesia.) Remarkably, Knight wants Moore to believe that "Americans do not want to make shoes." When Moore proves the chief executive wrong by showing him documentary footage, the latter retorts that the unemployed are desperate and will say anything--but cannot be trusted to stick to the job for long.
Technically, the movie is messy, which is understandable given the need to transport cameras to various locations in a flash and, in some cases to hide them from the people being filmed. It's difficult to leave this work without feeling a strong support for unions, for labor in general. Moore certainly realizes that to put across points most efficiently, you've got to keep the audience laughing. "The Big One" should be required viewing for members of the working class who blithely cross picket lines, lines of people who, like them, are struggling on $5, $6 or $8 an hour. The movie is an education in class-consciousness which can be enjoyed even by those without a political thought in their heads. Not rated. Running time: 96 minutes. (C) Harvey Karten 1998
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


We trade the Futures Market, to do so you will need a few tools.
The FIRST and most important one is a platform where you can practice doing some Technical Analysis, to do so we are using Tradingview. Tradingview is a really powerfull tool to allow us to predict where the market is going.
The SECOND tool we will need is an affordable broker, that allow us to trade Future Symbols. To do so we will be using TopStepTrader. Topsteptrader is a trading combine that allow us to 'borrow' money to trade in the real market


|
PX4 Firmware
PX4 Autopilot Software http://px4.io
|
#include <gps_helper.h>
Public Types | |
| enum | OutputMode { OutputMode::GPS = 0, OutputMode::RTCM } |
| enum | Interface { Interface::UART = 0, Interface::SPI } |
Public Member Functions | |
| GPSHelper (GPSCallbackPtr callback, void *callback_user) | |
| virtual | ~GPSHelper ()=default |
| virtual int | configure (unsigned &baud, OutputMode output_mode)=0 |
| configure the device More... | |
| virtual int | receive (unsigned timeout)=0 |
| receive & handle new data from the device More... | |
| float | getPositionUpdateRate () |
| float | getVelocityUpdateRate () |
| void | resetUpdateRates () |
| void | storeUpdateRates () |
| virtual void | setSurveyInSpecs (uint32_t survey_in_acc_limit, uint32_t survey_in_min_dur) |
| set survey-in specs for RTK base station setup (for finding an accurate base station position by averaging the position measurements over time). More... | |
Protected Member Functions | |
| int | read (uint8_t *buf, int buf_length, int timeout) |
| read from device More... | |
| int | write (const void *buf, int buf_length) |
| write to the device More... | |
| int | setBaudrate (int baudrate) |
| set the Baudrate More... | |
| void | surveyInStatus (SurveyInStatus &status) |
| void | gotRTCMMessage (uint8_t *buf, int buf_length) |
| got an RTCM message from the device More... | |
| void | setClock (timespec &t) |
Protected Attributes | |
| GPSCallbackPtr | _callback {nullptr} |
| void * | _callback_user {} |
| uint8_t | _rate_count_lat_lon {} |
| uint8_t | _rate_count_vel {} |
| float | _rate_lat_lon {0.0f} |
| float | _rate_vel {0.0f} |
| uint64_t | _interval_rate_start {0} |
Definition at line 118 of file gps_helper.h.
|
strong |
| Enumerator | |
|---|---|
| UART | |
| SPI |
Definition at line 126 of file gps_helper.h.
|
strong |
| Enumerator | |
|---|---|
| GPS |
normal GPS output |
| RTCM |
request RTCM output. This is used for (fixed position) base stations |
Definition at line 121 of file gps_helper.h.
| GPSHelper::GPSHelper | ( | GPSCallbackPtr | callback, |
| void * | callback_user | ||
| ) |
Definition at line 43 of file gps_helper.cpp.
|
virtualdefault |
|
pure virtual |
configure the device
| baud | Input and output parameter: if set to 0, the baudrate will be automatically detected and set to the detected baudrate. If not 0, a fixed baudrate is used. |
Implemented in GPSDriverMTK, and GPSDriverAshtech.
Referenced by GPS::run().
|
inline |
Definition at line 152 of file gps_helper.h.
Referenced by GPS::print_status().
|
inline |
Definition at line 153 of file gps_helper.h.
Referenced by GPS::print_status().
|
inlineprotected |
got an RTCM message from the device
Definition at line 213 of file gps_helper.h.
References gotRTCMMessage.
Referenced by GPSDriverAshtech::parseChar(), and GPSDriverUBX::parseChar().
|
inlineprotected |
read from device
| buf | pointer to read buffer |
| buf_length | size of read buffer |
| timeout | timeout in ms |
Definition at line 180 of file gps_helper.h.
References readDeviceData.
Referenced by GPSDriverAshtech::receive(), GPSDriverMTK::receive(), and GPSDriverUBX::receive().
|
pure virtual |
receive & handle new data from the device
| timeout | [ms] |
Implemented in GPSDriverUBX, GPSDriverMTK, and GPSDriverAshtech.
Referenced by GPS::run().
| void GPSHelper::resetUpdateRates | ( | ) |
Definition at line 49 of file gps_helper.cpp.
References _interval_rate_start, _rate_count_lat_lon, _rate_count_vel, and gps_absolute_time.
Referenced by GPS::run().
|
inlineprotected |
set the Baudrate
| baudrate |
Definition at line 202 of file gps_helper.h.
References setBaudrate.
Referenced by GPSDriverAshtech::configure(), GPSDriverMTK::configure(), and GPSDriverUBX::configure().
|
inlineprotected |
Definition at line 218 of file gps_helper.h.
References setClock.
Referenced by GPSDriverAshtech::handleMessage(), GPSDriverMTK::handleMessage(), and GPSDriverUBX::payloadRxDone().
|
inlinevirtual |
set survey-in specs for RTK base station setup (for finding an accurate base station position by averaging the position measurements over time).
| survey_in_acc_limit | minimum accuracy in 0.1mm |
| survey_in_min_dur | minimum duration in seconds |
Reimplemented in GPSDriverUBX, and GPSDriverAshtech.
Definition at line 163 of file gps_helper.h.
| void GPSHelper::storeUpdateRates | ( | ) |
Definition at line 57 of file gps_helper.cpp.
References _interval_rate_start, _rate_count_lat_lon, _rate_count_vel, _rate_lat_lon, _rate_vel, and gps_absolute_time.
Referenced by GPS::run().
|
inlineprotected |
Definition at line 207 of file gps_helper.h.
References surveyInStatus.
Referenced by GPSDriverAshtech::configure(), GPSDriverUBX::payloadRxDone(), and GPSDriverAshtech::sendSurveyInStatusUpdate().
|
inlineprotected |
write to the device
| buf | |
| buf_length |
Definition at line 192 of file gps_helper.h.
References writeDeviceData.
Referenced by GPSDriverAshtech::activateCorrectionOutput(), GPSDriverAshtech::configure(), GPSDriverMTK::configure(), GPSDriverUBX::sendMessage(), and GPSDriverAshtech::writeAckedCommand().
|
protected |
Definition at line 223 of file gps_helper.h.
|
protected |
Definition at line 224 of file gps_helper.h.
|
protected |
Definition at line 232 of file gps_helper.h.
Referenced by resetUpdateRates(), and storeUpdateRates().
|
protected |
Definition at line 226 of file gps_helper.h.
Referenced by GPSDriverAshtech::handleMessage(), GPSDriverMTK::handleMessage(), GPSDriverUBX::payloadRxDone(), resetUpdateRates(), and storeUpdateRates().
|
protected |
Definition at line 227 of file gps_helper.h.
Referenced by GPSDriverAshtech::handleMessage(), GPSDriverMTK::handleMessage(), GPSDriverUBX::payloadRxDone(), resetUpdateRates(), and storeUpdateRates().
|
protected |
Definition at line 229 of file gps_helper.h.
Referenced by storeUpdateRates().
|
protected |
Definition at line 230 of file gps_helper.h.
Referenced by storeUpdateRates().


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/quadratic.20reciprocity.html ---
@Mario Carneiro do you feel like quadratic_reciprocity.lean
has too many long theorems?
I wasn't too happy with that aspect of the proof, but it is quite difficult to avoid.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Welcome to our special event. Bootstrap Basic Template.
Bootstrap Basic Template.
Participants
Km
Children
What's your event organization? Please note that there are people who visit your site for the first time. Provide full and precise information.
Say some words about your event purpose. Explain why it is important.
Answer common questions in this section. It is very important to inform site visitors about your event organization. Provide more info about its timing and location.


Form Generator usage with Promise-based values
This example shows default scenario of the Form Generator usage with values received from Promise-like functions.
Form Generator usage with Observable-based values
This example shows default scenario of the Form Generator usage with values received from Observable objects.
Form generator usage with custom controls
If default set of controls is not enough to cover your needs, FormGeneratorService
allows to define
custom controls and render them for respective question types.
In order to make your component work properly, it should follow these requirements:
-
Component must include these
viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider]
,
which can be imported from @fundamental-ngx/platform
;
-
Component must inherit
BaseDynamicFormGeneratorControl
,
which can be imported from @fundamental-ngx/platform
;
- Inner form control should be wrapped with
<ng-container [formGroup]="form"></ng-control>
for appropriate binding to work.
Form Generator programmatic submit
If you want to trigger form submission outside form generator component, this example shows how to do it.
Custom errors in Form Generator
Form generator supports multiple ways of defining validation error hints:
- With validation function, which returns string if field is invalid;
- With predefined generic texts
If you want to change default validation error messages, you can use addValidationErrorHint
method
in FormGeneratorService
.
This will allow you to override default ones, and add new generic validation error messages.
Form Generator with form field column layout and inline layout
This example shows arrangement of form-field based on columnLayout
values and inLineLayout
values.


CimCoin
create transaction
miner
view chain
Cim Coin
Cim lab's cryptocurrency!
view chain
the chain length is: {{ length }} blocks
{% for i in range(length) %}
{% endfor %}
index: {{ chain[-1].index }}
timestamp: {{ chain[-1].timestamp | strftime }}
transactions:
sender
recipient
amount
{% for transaction in chain[-1].transactions %}
{{ transaction.sender }}
{{ transaction.recipient }}
{{ transaction.amount }}
{% endfor %}
proof: {{ chain[-1].proof }}
previous hash: {{ chain[-1].previous_hash }}
{% for block in chain[-2::-1] %}
index: {{ block.index }}
timestamp: {{ block.timestamp | strftime }}
transactions:
sender
recipient
amount
{% for transaction in block.transactions %}
{{ transaction.sender }}
{{ transaction.recipient }}
{{ transaction.amount }}
{% endfor %}
proof: {{ block.proof }}
previous hash: {{ block.previous_hash }}
{% endfor %}
Previous
Next


Dashboard Status
OPNFV testing community
results generation
result model
dashboard generation
selection layout(1)
selection layout(2)
display period select
duration display
tests/failures display
success_percentage display
# possible layouts
* project
* testcase
* pod
* installer
* scenario
* version
* period
# possible display domains
* duration
* tests/failures
* success_percentage
Thank you


In this project we are demonstrating a simple animation of a guy walking like in easy but added the ability to press the A button to make the guy jump.
We first develop the sprites we want to use by calling led_matrix.LEDSprite()
on
the already created .spr
files in the same folder. (This is similar to how we did
it in easy, but more efficent by using a for
loop.)
To animate the sprites, we quickly flash through different sprites together in succession just like
in easy. However, before we draw the sprite, we first need to
decide if the A button has been pressed by checking my_button.is_pressed()
with an if
statement, and then draw the sprite 2 pixels
higher (to simulate a jump) if the button is pressed.
.25
seconds on the line time.sleep(.25)


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.hivemind.servlet.HiveMindFilter
public class HiveMindFilter
Servlet filter that constructs the Registry at startup. It ensures that each request is properly
terminated with a call to
ThreadEventNotifier.fireThreadCleanup()
. It also makes the
Registry available during the request by storing it as a request attribute.
| Constructor Summary | |
|---|---|
HiveMindFilter()
|
| Method Summary | |
|---|---|
protected void |
addWebInfDescriptor(javax.servlet.ServletContext context,
ClassResolver resolver,
RegistryBuilder builder)
Invoked from constructRegistry(FilterConfig) to add WEB-INF/hivemodule.xml to
the registry, if it exists. |
protected Registry |
constructRegistry(javax.servlet.FilterConfig config)
Invoked from init(FilterConfig) to actually construct the Registry. |
void |
destroy()
Invokes Registry.shutdown() . |
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
Passes the request to the filter chain, but then invokes Registry.cleanupThread()
(from a finally block). |
protected ModuleDescriptorProvider |
getModuleDescriptorProvider(ClassResolver resolver)
Returns the ModuleDescriptorProvider to be used to construct the Registry. |
static Registry |
getRegistry(javax.servlet.http.HttpServletRequest request)
Returns the Registry that was stored as a request attribute inside method
doFilter(ServletRequest, ServletResponse, FilterChain) . |
protected java.util.Locale |
getRegistryLocale()
Returns the default Locale. |
void |
init(javax.servlet.FilterConfig config)
Constructs a Registry and stores it into the ServletContext . |
static void |
rebuildRegistry(javax.servlet.http.HttpServletRequest request)
Sets a flag in the request that will cause the current Registry to be shutdown and replaced with a new Registry (at the end of the current request). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public HiveMindFilter()
| Method Detail |
|---|
public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException
Registry
and stores it into the ServletContext
. Any
exception throws is logged.
init
in interface javax.servlet.Filter
javax.servlet.ServletException
protected Registry constructRegistry(javax.servlet.FilterConfig config)
init(FilterConfig)
to actually construct the Registry. Subclasses may
override if they have specific initialization needs, or have nonstandard rules for finding
HiveMind module deployment descriptors.
protected void addWebInfDescriptor(javax.servlet.ServletContext context, ClassResolver resolver, RegistryBuilder builder)
constructRegistry(FilterConfig)
to add WEB-INF/hivemodule.xml to
the registry, if it exists.
protected java.util.Locale getRegistryLocale()
protected ModuleDescriptorProvider getModuleDescriptorProvider(ClassResolver resolver)
ModuleDescriptorProvider
to be used to construct the Registry. This
implementation returns the default XmlModuleDescriptorProvider
. May be overridden by
subclasses.
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
Registry.cleanupThread()
(from a finally block).
doFilter
in interface javax.servlet.Filter
java.io.IOException
javax.servlet.ServletException
public void destroy()
Registry.shutdown()
.
destroy
in interface javax.servlet.Filter
public static Registry getRegistry(javax.servlet.http.HttpServletRequest request)
Registry
that was stored as a request attribute inside method
doFilter(ServletRequest, ServletResponse, FilterChain)
.
public static void rebuildRegistry(javax.servlet.http.HttpServletRequest request)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


I am a Responsive Designer & Developer who thrives on visual storytelling and the best user experience. When I'm not working, I can be found traveling, hiking and fishing!
I am a Responsive Designer & Developer who thrives on visual storytelling and the best user experience. When I'm not working, I can be found traveling, hiking and fishing!
I was born and raised in Ann Arbor, Michigan. My roots are PURE Michigan! I enjoy traveling because; when you travel, you learn, and learning is so much fun! Seeing new things, smelling new things, and tasting things, what better way to learn!
My passion: I LOVE music! Honestly, music is my therapy. Music is my motivation. Soon I hope to start making music! I love people, and the thought of people feeling good listening to a song I created seems pretty awesome!
Fun fact, as a true Michiganian, learning how to drive in the snow is a must. Yet every winter teaches me new techniques and skills to become a better and safer diver. The takeaway is that I am continuously learning.


findMe is a service that uses facial-recognition technology to compare missing person photos to
findMe is. etc. etc.
Feel free to contact us if you have additional information.


LyricAL
Lyric Artifical Learning. A really strange project for generating lyric-like artificial data from a learning model.
By Ethan and Jesse Jurman. Using CharRNN & ml5
Seed
This is placed at the beginning of the generated text.
Length
How long the generated text is (in characters)
Temperature
Used to adjust how the data model should treat words vs neighbors. Adjusting this higher may cause misspellings. Lower can cause less random results.
Model Select
Metal Lyrics
Sea Shanties
Generate Result
Clear Results


Vernon a lot safer
by Darren HandschuhIt was just two years ago when Vernon was named the ninth most dangerous city in all the nation.
According to a McLeans report, Vernon cracked the top 10 following a series of shootings and other crimes in 2016 that lead to the ranking in 2017.
But last year, Vernon was ranked at No. 25 in the nation and this year it is even better.
The McLeans crime severity index has Vernon at No. 44 for 2019.
According to McLeans, “The report ranks communities according to the Cime Severity Index (CSI), a Statistics Canada measure of all police-reported crime, which takes into consideration both the volume and seriousness of offences. The 2018 data, the most current available, was released July 23, 2019.”
The ranking takes a number of factors into consideration, but RCMP do not put much stock in the survey results.
RCMP Const. Jocelyn Noseworthy said police are happy to see the city now ranked at 44, but noted a single incident in the city can boost the ranking.
The rankings are based on crimes per 100,000 and a single incident can have a big impact on the end results.
“We are super happy we are further down on the list, but I am not sure how much stock we put into it either,” said Noseworthy. “But it's great to see that we are going down.”
Penticton was ranked No. 20, Kelowna 139 and Kamloops came in at 67.
The top three most dangerous communities in Canada according to McLeans is Thompson, Man. at No. 1, a single point ahead of North Battleford, Sask. at No 2 and Portage La Prairie, Man. at No. 3.


At home
Weather
UK
Warnings


|
cds
1.2.0
|
Recursive spin lock. More...
#include <cds/lock/spinlock.h>
Public Types | |
| typedef Integral | integral_type |
| The integral type. | |
| typedef Backoff | backoff_strategy |
| The backoff type. |
Public Member Functions | |
| ReentrantSpinT () | |
| Default constructor initializes spin to free (unlocked) state. | |
| ReentrantSpinT (const ReentrantSpinT< Integral, Backoff > &) | |
| Dummy copy constructor. | |
| ReentrantSpinT (bool bLocked) | |
| Construct object for specified state. | |
| bool | tryLock () |
Try to lock the spin-lock. If spin-lock is free the current thread owns it. Return true if lock is success. | |
| bool | tryLock (unsigned int nTryCount) |
| Try to lock the object. | |
| void | lock () |
| Lock the object waits if it is busy. | |
| bool | unlock () |
Unlock the spin-lock. Return true if the current thread is owner of spin-lock false otherwise. | |
| bool | changeOwner (OS::ThreadId newOwnerId) |
| Change the owner of locked spin-lock. May be called by thread that is owner of the spin-lock. |
Private Types | |
| typedef OS::ThreadId | thread_id |
| The type of thread id. |
Private Attributes | |
| std::atomic< integral_type > | m_spin |
| spin-lock atomic | |
| thread_id | m_OwnerId |
| Owner thread id. If spin-lock is not locked it usually equals to OS::nullThreadId() |
Recursive spin lock.
Allows recursive calls: the owner thread may recursive enter to critical section guarded by the spin-lock.
Template parameters:
Integral
one of integral atomic type: unsigned int
, int
, and othersBackoff
backoff strategy. Used when spin lock is locked
|
inline |
Dummy copy constructor.
In theory, spin-lock cannot be copied. However, it is not practical. Therefore, we provide dummy copy constructor that do no copy in fact. The ctor initializes the spin to free (unlocked) state like default ctor.
|
inline |
Try to lock the object.
If spin-lock is locked the method repeats attempts to own spin-lock up to nTryCount
times. Between attempts backoff()
is called. Return true
if current thread owns the lock false
otherwise


master 1st
master 2nd
first-branch 1st
first-branch 2nd
first-branch 3rd
master 3rd
second-branch 1st
second-inner-branch 1st
second-inner-branch 2nd
second-branch 2nd
master-3rd detail 1st
master-3rd detail 2nd
master-3rd detail 3rd
master 4th


We wont come for meeting - Rwanda delegation
by AdminThe meeting that was scheduled in Kampala on November 18 cannot go on since the Rwanda delegation has said they will not be able to come.
The Rwandan delegation has written to the Ministry of Foreign Affairs of Uganda, explaining that they will not be able to come to Kampala for a follow-up meeting regarding the Memorandum of Understanding signed by the presidents of Uganda and Rwanda recently.
According to the agreement signed by President Yoweri Museveni and his Rwandan counterpart Paul Kagame in Luanda, witnessed by the presidents of Angola and DR Congo, teams from the different countries were supposed to engage to follow up on the agreed issues.
However, the meeting that was scheduled in Kampala on November 18 cannot go on since the Rwanda delegation has said they will not be able to come.


Xandra Mentink
Home
About Me
Educations
Skills
Contact
Home
Go your own way, cause you never know where to you will wander


The major talking points ahead of Republic of Ireland’s showdown with Denmark
Mick McCarthy’s side are out for revenge after their defeat to the Danes in 2017.
The Republic of Ireland can clinch their place at Euro 2020 with victory over Denmark in Dublin on Monday evening.
Mick McCarthy’s men will run out knowing a win in their final Group D fixture will secure a top-two finish and mean they avoid a tricky play-off campaign.
Here, the PA news agency takes a look at some of the talking points surrounding a crucial game.
Heavy artillery
McCarthy took few risks for Thursday night’s 3-1 friendly win over New Zealand when he left most of his key men sitting on the sidelines with the Danes firmly in mind. Goalkeeper Darren Randolph, just one game into his comeback from a thigh injury, and striker David McGoldrick, who missed last month’s double-header in Georgia and Switzerland, are fit to return to a team which is missing only suspended skipper Seamus Coleman.
Surprise package?
Troy of the Rovers?
Seventeen-year-old Tottenham striker Troy Parrott was quietly impressive on his first senior appearance for his country against New Zealand having proved his potency at Under-21 level. While it would be a push to expect him to contribute in such a high-profile fixture, he has remained with the squad and it would be in keeping with his meteoric rise if he got a chance to prove his worth and did just that.


Define data types inspired by the InstantIO protocol
InstantIO.py - implementation of InstantIO types in Python
This module implements some of the InstantIO types [more info on these can be found at www.instantreality.org]
The types are defined in two flavors:
Single field types (SF) are implemented as classes, with accessors for the individual attributes
Multiple field types (MF) are implemented as functions that return lists of the respective SF objects
Accessing individual objects requires nothing more then ordinary list item access, hence no need to define a new class
The constructors of the classes (as well as the mf functions) take string input and pack the data as (in case of MF, lists of) objects. The opposite transformation is achieved by str for the objects. Lists need to be iterated over and printed if one doesn’t want the brackets in the produced string [ str(mylist)[1:-1] ]
Parse and return SFVec3f values from Instant Reality.
Create a new SFVec3f object.
Arguments: Can be called either with string inputs (space separated):
>>> print SFVec3f('3 5 9')
3.0 5.0 9.0
or with three float arguments:
>>> SFVec3f(1.2, 3.4, 1.3).v
[1.2, 3.4, 1.3]
if the input consists of a wrong number of arguments (neither 1 nor 3), or any of the arguments is not a float, the ‘error’ object (-1 -1 -1) is constructed:
>>> print(SFVec3f('a b'))
-1.0 -1.0 -1.0
the error object is also constructed if the number of arguments in the string does not equal 3:
>>> SFVec3f('hallo').v
[-1.0, -1.0, -1.0]
the single positions of the constructed object can be indexed:
>>> SFVec3f(1.2, 2.9, 2.4).x
1.2
>>> SFVec3f(1.2, 2.9, 2.4).y
2.9
>>> SFVec3f(1.2, 2.9, 2.4).z
2.4
list of weak references to the object (if defined)
v
x
y
z
Parse and return SFVec2f values from Instant Reality.
Create a new SFVec2f object.
Arguments: Can be called either with string inputs (space separated):
>>> SFVec2f('1 2').v
[1.0, 2.0]
or with two floats:
>>> print(SFVec2f(3.4, 5.6))
3.4 5.6
if the input consists of a wrong number of arguments (neither 1 nor 2), or any of the arguments is not a float, the ‘error’ object (-1 -1) is constructed:
>>> print(SFVec2f(1.3, 5.6, 1.5, 7.8))
-1.0 -1.0
>>> print(SFVec2f(1.3,'d', 2.4))
-1.0 -1.0
the single positions of the created object can be indexed:
>>> SFVec2f(1.3,'d', 2.4).x
-1.0
>>> SFVec2f('3.5 4.2').y
4.2
list of weak references to the object (if defined)
v
x
y
parse and return SFRotation values from Instant Reality
Convert Quaternion to Euler angles
Performs a transformation of the quaternion into Euler angles, by means of the atan2 function. Checks for singularties in order to avoid division by zero errors.
The function sets the attributtes __heading, __bank, and __attitude, without returning anything
The computed angles are in radians
create a new SFRotation object in quaternion notation
arguments: can be called with a space separated string (4 tokens)
>>> print SFRotation('2.5 -3 0 5')
2.5 -3.0 0.0 5.0
or four float arguments
>>> print SFRotation(2.5, -3, 0, 5)
2.5 -3.0 0.0 5.0
if the number of arguments is not 4 (in the string also) or any of the arguments is not a float, the ‘error’ object (-1 -1 -1 -1) is constructed
>>> print SFRotation('a', -0, 'b')
-1.0 -1.0 -1.0 -1.0
You can get elements of the quaternion (qx, qy, qz, qw)
>>> SFRotation('2.5 -3 0 5').qx
2.5
Or get Euler angles in radians (heading, bank, attitude)
>>> SFRotation('0 0 0 1').bank
0.0
Or the entire quaternion in ‘vector’ form
>>> SFRotation('0 0 0 1').v
[0.0, 0.0, 0.0, 1.0]
list of weak references to the object (if defined)
attitude
bank
heading
qw
qx
qy
qz
v
Parse and return MFVec3f values from Instant Reality.
Create a new MFVec3f object.
An MFVec3f object is an array (list) of SFVec3f objects. The MFVec3f class encapsulates the list allowing accessing of the elements, while checking that each element is of the correct type (SFVec3f)
arguments: Can be called with a string corresponding to the mfvec3f-type: Each comma separated sub-string has 3 space-separated floats, and becomes an SFVec3f object, which can be accessed by its index in the (MFVec3f) array:
>>> print MFVec3f("[2.0 4.0 6.0, 3.0 5.0 7.0]")[1]
3.0 5.0 7.0
A list of SFVec3f objects can also be used to construct an instance of MFVec3f:
>>> print MFVec3f([SFVec3f(x,x,x) for x in range(10)])[2]
2.0 2.0 2.0
A list of strings that represent SFVec3f objects can also be used:
>>> print MFVec3f(['1 0 0', '2 0 0', '-1 0 0'])[2]
-1.0 0.0 0.0
If any of the tokens using any of the three input methods is not an instance of or cannot be parsed into an SFVec3f (incorrect number/type of arguments, wrong object type), that token is parsed into the SFVec3f error object SFVec3f(‘-1.0 -1.0 -1.0’), e.g.:
>>> print MFVec3f("[2.0 4.0 6.0 4.0, 3.0 5.0]")[0]
-1.0 -1.0 -1.0
>>> print MFVec3f("[a 4.0 6.0, 3.0 b 5.0]")[0]
-1.0 -1.0 -1.0
As each item is a SFVec3f object, you can access its own elements as usual:
>>> print MFVec3f("[2.0 4.0 6.0, 3.0 5.0 7.0]")[0].z
6.0
The length of an MFVec3f object can be queried:
>>> len(MFVec3f("[2.0 4.0 6.0, 3.0 5.0 7.0]"))
2
The str function of an MFVec3f object yields an MFVec3f formatted string, rather than a list of object refs, e.g:
>>> print MFVec3f("[2.0 4.0 6.0, 3.0 5.0 7.0]").__str__()
'[2.0 4.0 6.0, 3.0 5.0 7.0]'
>>> print MFVec3f([SFVec3f(x,x,x) for x in range(3)])
[0.0 0.0 0.0, 1.0 1.0 1.0, 2.0 2.0 2.0]
list of weak references to the object (if defined)
Parse and return MFVec2f values from Instant Reality.
Create a new MFVec2f object.
An MFVec2f object is an array (list) of SFVec2f objects. The MFVec2f class encapsulates the list allowing accessing of the elements, while checking that each element is of the correct type (SFVec2f)
arguments: Can be called with a string corresponding to the mfvec2f-type: Each comma separated sub-string has 3 space-separated floats, and becomes an SFVec2f object, which can be accessed by its index in the (MFVec2f) array:
>>> print MFVec2f("[2.0 4.0, 3.0 5.0]")[1]
3.0 5.0
A list of SFVec2f objects can also be used to construct an instance of MFVec2f:
>>> print MFVec2f([SFVec2f(x,x) for x in range(10)])[2]
2.0 2.0
A list of strings that represent SFVec2f objects can also be used:
>>> print MFVec2f(['1 0', '2 0', '-1 0'])[2]
-1.0 0.0
If any of the tokens using any of the three input methods is not an instance of or cannot be parsed into an SFVec2f (incorrect number/type of arguments, wrong object type), that token is parsed into the SFVec2f error object SFVec2f(‘-1.0 -1.0’), e.g.:
>>> print MFVec2f("[2.0 4.0 6.0 4.0, 3.0 5.0]")[0]
-1.0 -1.0
>>> print MFVec2f("[a 4.0, 3.0 5.0]")[0]
-1.0 -1.0
As each item is a SFVec2f object, you can access its own elements as usual:
>>> print MFVec2f("[2.0 4.0, 3.0 5.0]")[0].y
4.0
The length of an MFVec2f object can be queried:
>>> len(MFVec2f("[2.0 4.0, 3.0 5.0]"))
2
The str function of an MFVec2f object yields an MFVec2f formatted string, rather than a list of object refs, e.g:
>>> print MFVec2f([SFVec2f(x, x) for x in range(3)])
[0.0 0.0, 1.0 1.0, 2.0 2.0]
list of weak references to the object (if defined)
Parse and return MFRotation values from Instant Reality.
Create a new MFRotation object.
An MFRotation object is an array (list) of SFRotation objects. The MFRotation class encapsulates the list allowing accessing of the elements, while checking that each element is of the correct type (SFRotation)
arguments: Can be called with a string corresponding to the mfrotation-type: Each comma separated sub-string has 3 space-separated floats, and becomes an SFRotation object, which can be accessed by its index in the (MFRotation) array:
>>> print MFRotation("[1.0 2.0 3.0 4.0, 5.0 6.0 7.0 8.0]")[0]
1.0 2.0 3.0 4.0
A list of SFRotation objects can also be used to construct an instance of MFRotation:
>>> print MFRotation([SFRotation(x, x, x, x) for x in range(10)])[2]
2.0 2.0 2.0 2.0
A list of strings that represent SFRotation objects can also be used:
>>> print MFRotation(['1 0 0 1', '2 0 0 1', '-1 0 0 1'])[2]
-1.0 0.0 0.0 1.0
If any of the tokens using any of the three input methods is not an instance of or cannot be parsed into an SFRotation (incorrect number/type of arguments, wrong object type), that token is parsed into the SFRotation error object SFRotation(‘-1.0 -1.0 -1.0 -1.0’), e.g.:
>>> print MFRotation("[2.0 4.0 6.0, 5.0 6.0 7.0 8.0]")[0]
-1.0 -1.0 -1.0 -1.0
>>> print MFRotation("[a 4.0, 5.0 6.0 7.0 8.0]")[0]
-1.0 -1.0 -1.0 -1.0
As each item is a SFRotation object, you can access its own elements as usual:
>>> print MFRotation("[1.0 2.0 3.0 4.0, 5.0 6.0 7.0 8.0]")[0].qy
2.0
The length of an MFRotation object can be queried:
>>> len(MFRotation("[1.0 2.0 3.0 4.0, 5.0 6.0 7.0 8.0]"))
2
The str function of an MFRotation object yields an MFRotation formatted string, rather than a list of object refs, e.g:
>>> print MFRotation([SFRotation(x, x, x, x) for x in range(2)])
[0.0 0.0 0.0 0.0, 1.0 1.0 1.0 1.0]
list of weak references to the object (if defined)
Parse an InstantIO mfstring.
Create an MFString object
arguments: A single string with items separated by comma-space, enclosed in square brackets, or
A list of objects, which will be cast into strings
The object holds the strings internally as a list
>>> list(MFString("[a, b, c]"))
['a', 'b', 'c']
The length of an MFString object can be queried:
>>> len(MFString("[a, b, c]"))
3
The string representaion of the object is the InstantIO style: >>> print MFString(“[a, b, c]”) ‘[a, b, c]’
list of weak references to the object (if defined)
Parse an InstantIO mfstring.
Create an MFFloat object
arguments: A single string with items separated by comma-space, enclosed in square brackets, or
A list of floats (or numbers that will be cast to floats)
The object holds the floats internally as a list:
>>> list(MFFloat("[0, 1.2, 2]"))
[0, 1.2, 2]
Items that cannot be cast to floats yield NaN:
>>> list(MFFloat('[a, 5, f]'))
[nan, 5.0, nan]
Element access, slicing and iteration are supported:
>>> MFFloat("[0, 1.2, 2]")[0]
0
>>> MFFloat("[0, 1.2, 2]")[:-1]
[0, 1.2]
>>> [x*x for x in MFFloat("[1, 2, 3]")]
[1, 4, 9]
The lenght of an MFFloat object can be queried:
>>> len(MFFloat("[0, 1.2, 2]"))
3
The string representaion of the object is the InstantIO style: >>> print MFFloat(“[0, 1.2, 2]) ‘[0, 1.2, 2]’
list of weak references to the object (if defined)


This is the northern most port in Mozambique and lies just 40nm from the border with Tanzania.
Position 11°21′S,40°20′E.
It is a Port of Entry and yachts can clear into Mozambique here.
However, see Noonsite/Mozambique/formalities page for the details.Last updated January 2016.


Marketing Ideas & Strategies
Shouldn’t ‘Marketing’ be called ‘Sales’?
Successful Steps and Simple Ideas to Maximise your Direct Marketing Return On Investment
Successful Steps to Maximise Donor Contributions
Centralised vs Decentralised Marketing
Marketing Mindfulness & the Power of its Origins
Big Data “Segmentation vs Profiles”
First task to growing an existing business
3 simple steps in a direct marketing campaign
Direct & digital marketing media allocation
What are the consequences of bad marketing?
Strategy: rethinking resource allocation


Page 1 of 1
Where did they go?
Posted:
Sun May 24, 2009 11:41 pm
by marzuku
Missing the players i lvled up with:
Superlongdoubledong
Fearon
Snuggles
Deathstalker
Bigdady(with one d yes)
Solomon(working alot)
Biohazard
if you are one of these respond?
Re: Where did they go?
Posted:
Sun May 24, 2009 11:44 pm
by Joe M.
hi! I'm going to try to be on at least for a little bit every day now, starting tomorrow. But probably not much: when I do have time for Evidyon I'm usually working on dev stuff for Karl behind the scenes. As for everybody else, I think a lot of folks got bored and wandered off until Beta.
Re: Where did they go?
Posted:
Mon May 25, 2009 12:03 am
by WACOO
to bad, want more high lvled to kill :[
Re: Where did they go?
Posted:
Mon May 25, 2009 12:07 am
by marzuku
WACOO wrote:to bad, want more high lvled to kill :[
lol your avatar ownz so bad! i lol every time i see it.
and yeah i want them to come back but they seem to have disappeared with the newer updates.
Re: Where did they go?
Posted:
Mon May 25, 2009 5:49 am
by Karl G.
I'm sure beta will draw more back
After all, we aren't actively seeing players at this point and content updates are still much wider spread than they will be.
Re: Where did they go?
Posted:
Mon May 25, 2009 11:28 am
by Fearon
I'm still here, mostly just read boards now. Just as karl said im more so waiting for beta unless something comes out that needs to be tested.
Re: Where did they go?
Posted:
Mon May 25, 2009 2:39 pm
by Rabit561
I myself am waiting till the next character wipe.. lol
Or till I know characters wont be deleted for a pretty long time..


We can start with the sketches. The image above shows the our first mockups for the design of our app, outlining the process of creating a playlist. We knew that there we parts of each app that we wanted to use, including the general homepage format that Spotify provides, and the playlist format that SoundCloud has. We took into consideration that the app was to be used on a mobile phone, where people would be on the go and doing other things. We wanted something that would give large, salient buttons and easy functionality while keeping to a minimalist and clean design.
The image above details one of the examples of redesign we used to simplify a basic function: deleting songs out of a playlist. On the left is our Soundify's option, and on the middle and right are Spotify. The series of steps to even get to the delete option is Spotify is longer and more convoluted than is necessary, and once the user has gotten there they are only able to delete one song at a time. We instead took inspiration from iMessage, and had the delete function on Soundify allow the user to delete multiple at a time with little hassel, prompting the user before the deletion is made to ensure they do not accidently get rid of songs.
The playlists are displayed in a grid format for easier visibility and tapping, two album covers to a row, a format we took from SoundCloud. For each individual playlist, in addition to just the image, playlist name, and creator, we also decided to show the number of tracks within the playlist (displayed in the corner of the album cover) and its privacy (indicated by a small lock next to the creator label). We tried to display these in the least intrusive way possible, as to reduce the amount of clutter on the page while still allowing quick access to the information it affords.


public abstract class PriorityQueueextends Object
NOTE
: This class pre-allocates a full array of
length
maxSize+1
, in
initialize(int)
.
| Constructor and Description |
|---|
PriorityQueue
()
|
| Modifier and Type | Method and Description |
|---|---|
T
|
add
(
T
element)
Adds an Object to a PriorityQueue in log(size) time.
|
void
|
clear
()
Removes all entries from the PriorityQueue.
|
protected
Object
[]
|
getHeapArray
()
This method returns the internal heap array as Object[].
|
protected
T
|
getSentinelObject
()
This method can be overridden by extending classes to return a sentinel
object which will be used by
initialize(int)
to fill the queue, so
that the code which uses that queue can always assume it's full and only
change the top without attempting to insert any new object.
Those sentinel values should always compare worse than any non-sentinel value (i.e.,
lessThan(T, T)
should always favor the
non-sentinel values).
By default, this method returns false, which means the queue will not be filled with sentinel values. |
protected void
|
initialize
(int maxSize)
Subclass constructors must call this.
|
T
|
insertWithOverflow
(
T
element)
Adds an Object to a PriorityQueue in log(size) time.
|
protected abstract boolean
|
lessThan
(
T
a,
T
b)
Determines the ordering of objects in this priority queue.
|
T
|
pop
()
Removes and returns the least element of the PriorityQueue in log(size)
time.
|
int
|
size
()
Returns the number of elements currently stored in the PriorityQueue.
|
T
|
top
()
Returns the least element of the PriorityQueue in constant time.
|
T
|
updateTop
()
Should be called when the Object at top changes values.
|
protected abstract boolean lessThan( T a, T b)
true
iff parameter
a
is less than parameter
b
.
protected T getSentinelObject()
initialize(int)
to fill the queue, so
that the code which uses that queue can always assume it's full and only
change the top without attempting to insert any new object.
lessThan(T, T)
should always favor the
non-sentinel values).
// extends getSentinelObject() to return a non-null value. PriorityQueueNOTE: if this method returns a non-null value, it will be called bypq = new MyQueue (numHits); // save the 'top' element, which is guaranteed to not be null. MyObject pqTop = pq.top(); <...> // now in order to add a new element, which is 'better' than top (after // you've verified it is better), it is as simple as: pqTop.change(). pqTop = pq.updateTop();
initialize(int)
size()
times, relying on a new object to
be returned and will not check if it's null again. Therefore you should
ensure any call to this method creates a new instance and behaves
consistently, e.g., it cannot return null if it previously returned
non-null.
protected final void initialize(int maxSize)
public final T add( T element)
ArrayIndexOutOfBoundsException
is thrown.
public T insertWithOverflow( T element)
public final T top()
public final T pop()
public final T updateTop()
pq.top().change(); pq.updateTop();instead of
o = pq.pop(); o.change(); pq.push(o);
public final int size()
public final void clear()
protected final Object [] getHeapArray()


06 March 1997
Disease Outbreak Reported
From November 1997 to 22 February 1997, 1659 cases of cerebrospinal meningitis with 281 deaths (CFR 17%) were reported, most of which (70%) occurred in February 1997. The outbreak started in East Mamprusi district and Bawku East and then spread to four other districts in Upper West Region. The population at greatest risk is estimated at around 1,7 million but the entire population at risk in the Upper East and Northern Regions is close to 3 million. Reports indicate that the number of cases is increasing rapidly in other districts of the Upper East, Northern, Upper West and Brong Ahafo Regions. The total population exposed in these Regions is near 5.5 million. The Ministry of Health has mobilized funds to purchase at least 3,395,000 doses of vaccines with needles and syringes.
Outbreaks have also been reported in Burkina Faso, Mali, Niger and Togo, continuing the epidemic cycle which started in West Africa in 1997. The presence of serogroup A Neisseria meningitidis has been confirmed.
The appeal launched by WHO, UNICEF, Médecins sans Frontières and the Federation of Red Cross and Red Crescent Societies on 7 February resulted in pledges exceeding US$ 3 million for the response to the threat of epidemic meningitis in Africa. The appeal is being relaunched on 7 March to reach the goal of US$ 6.3 million needed to secure the purchase and distribution of vaccine, drugs for treatment and injection material.


Session 3
A quick file path exercise
<!doctype html>

<link href="pointB.css" rel="stylesheet" />

The rel attribute stands for relationship, since it specifies the relationship between the current document (the HTML) and the linked document/resource (the CSS)
| File Path | What it means |
|---|---|
| <link href="pointB.css" rel="stylesheet" /> | pointB.css is located in the current folder |
| <link href="css/pointB.css" rel="stylesheet" /> | pointB.css is located in a folder called css. The css folder is located in the current folder. |
| <link href="css/other/pointB.css" rel="stylesheet" /> | pointB.css is located in a folder called other that is located in a folder called css that is located in the current folder. |
| <link href="../pointB.css" rel="stylesheet" /> | pointB.css is located in a folder one level up from the current folder |
| <link href="../../pointB.css" rel="stylesheet" /> | pointB.css is located in a folder two levels up from the current folder |
A folder is also called a directory
View design image »
Download PSD (optional; requires Photoshop) »
Go ahead and create your folders
Ignore the HTML and CSS files for now
Inline vs. Block
selector {
display: inline;
display: block;
}
Inline vs. Block
So far, we have mostly seen "block" elements
They appear on the next line, like paragraphs
There are also "inline" elements
They appear on the same line that they are written on
Inline vs. Block
See the Pen Inline vs. Block by Liz Shaw (@anythingcodes) on CodePen.
Block elements push sibling elements to another line. Inline elements allow sibling elements to sit to their right and left.
Click 'Edit on CodePen' to edit the above code.
(Don't worry, your changes can't overwrite anything!)
Inline vs. Block
| Inline | Block | |
|---|---|---|
| Can have a set width and height | ✗ | ✔ |
| Allow other elements to their left and right | ✔ | ✗ |
| Force sibling elements to move to a new line | ✗ | ✔ |
HTML elements have default display values that the browser uses
Example:
See the Pen Inline Element by Liz Shaw (@anythingcodes) on CodePen.
Example:

See the Pen Block Element by Liz Shaw (@anythingcodes) on CodePen.
Forcing a block-level div's 'display' property to 'inline' »
Block-level elements are used to divide or section content within an HTML page
Group other elements within dividing elements to format them differently with CSS
See the Pen Layouts & Sections by Liz Shaw (@anythingcodes) on CodePen.
Common Examples:
Let's create block-level elements to separate content into different sections on our page
View design image »
Download PSD (optional; requires Photoshop) »
Changing the format of a link when you hover over it is accomplished by using pseudoclasses
selector:pseudoclass {
property: value;
}
CSS pseudoclasses are used to add special effects to some selectors
a:hover {
color: #F0C042;
}
Let's add a default link color and hover color to your links. Let's also add a font-family style to the body.
A Practical Example
15 pixels on all sides:
selector {
padding: 15px;
}
25 pixels on top only:
selector {
padding-top: 25px;
}
Four values:
selector {
padding: top right bottom left;
}
Two values:
selector {
padding: topAndBottom leftAndRight;
}
One value:
selector {
padding: all;
}
A Mnemonic for Four Values
10px on top, 5px on right, 3px on bottom, 15px on left:
div {
padding: 10px 5px 3px 15px;
}
It's also clockwise!
See the Pen Padding by Liz Shaw (@anythingcodes) on CodePen.
Properties
You can specify each property separately:
selector {
border-width: 10px;
border-style: dashed;
border-color: grey;
}
Or with all three together:
selector {
border: 10px dashed grey;
}
A solid red border:
selector {
border: 1px solid red;
}
A thick dotted black top border:
selector {
border: 4px dotted black;
}
Two different border styles:
selector {
border-top: 1px solid green;
border-bottom: 4px dashed purple;
}
See the Pen Border by Liz Shaw (@anythingcodes) on CodePen.
15 pixels on all sides:
selector {
margin: 15px;
}
25 pixels on top only:
selector {
margin-top: 25px;
}
Four values:
selector {
margin: top right bottom left;
}
Two values:
selector {
margin: topAndBottom leftAndRight;
}
One value:
selector {
margin: all;
}
A Mnemonic for Four Values
The same mnemonic!
10px on top, 5px on right, 3px on bottom, 15px on left:
div {
margin: 10px 5px 3px 15px;
}
It's also clockwise!
See the Pen Margin by Liz Shaw (@anythingcodes) on CodePen.
Let's add some padding, margins, and a border to the
s in our project
If a margin is set to auto on a box that has width, the margins will take up as much space as possible
Centered
selector {
margin: auto;
width: 300px;
}
Sets the width of an element
Does not include padding or borders, since those add to the width
Remember: block elements respect width, while inline elements do not
Let's center our
s and
s
Sets the height of an element
Does not include padding or borders, since those add to the height
Remember: block elements respect height, while inline elements do not
Inline vs. Block
| Inline | Block | |
|---|---|---|
| Respect left and right margins | ✔ | ✔ |
| Respect top and bottom margins | ✗ | ✔ |
Inline elements respect top and bottom padding, but it is relative to the baseline.
CSS Positioning, Flow, & Other
Coding Goodness


{{define "body"}} {{template "topbar" .}}
You can use this key to allow desktop and mobile clients to access your OpenRadar account.
When writing HTTP requests, add this key to the Authorization header to authenticate your requests.
To keep your account secure, you are strongly encouraged to use https for all authenticated API requests.


This is an amazing page
Lorem ipsum will be smaller and will be less thick
the second para...
Number one
Number two
Number three
Number one
Number two
Number three


Classes | |
| struct | Alignment |
| The text alignment. More... | |
Public Types | |
| enum | EditBoxCallbacks { TextChanged = ClickableWidgetCallbacksCount * 1, ReturnKeyPressed = ClickableWidgetCallbacksCount * 2, AllEditBoxCallbacks = ClickableWidgetCallbacksCount * 4 - 1 } |
| Defines specific triggers to EditBox. More... | |
| Public Types inherited from tgui::ClickableWidget | |
| enum | ClickableWidgetCallbacks { LeftMousePressed = WidgetCallbacksCount * 1, LeftMouseReleased = WidgetCallbacksCount * 2, LeftMouseClicked = WidgetCallbacksCount * 4, AllClickableWidgetCallbacks = WidgetCallbacksCount * 8 - 1 } |
| Defines specific triggers to ClickableWidget. More... | |
| Public Types inherited from tgui::Widget | |
| enum | WidgetCallbacks { None = 0, Focused = 1, Unfocused = 2, MouseEntered = 4, MouseLeft = 8 } |
| Defines specific triggers to Widget. More... | |
Public Member Functions | |
| EditBox () | |
| Default constructor. More... | |
| EditBox (const EditBox ©) | |
| Copy constructor. More... | |
| virtual | ~EditBox () |
| Destructor. More... | |
| EditBox & | operator= (const EditBox &right) |
| Overload of assignment operator. More... | |
| bool | load (const std::string &configFileFilename) |
| Loads the widget. More... | |
| const std::string & | getLoadedConfigFile () const |
| Returns the filename of the config file that was used to load the widget. More... | |
| virtual void | setPosition (float x, float y) |
| Set the position of the widget. More... | |
| void | setSize (float width, float height) |
| Changes the size of the edit box. More... | |
| void | setText (const sf::String &text) |
| Changes the text of the editbox. More... | |
| sf::String | getText () const |
| Returns the text inside the edit box. This text is not affected by the password character. More... | |
| void | setTextSize (unsigned int textSize) |
| Changes the character size of the text. More... | |
| unsigned int | getTextSize () const |
| Returns the character size of the text. More... | |
| void | setTextFont (const sf::Font &font) |
| Changes the font of the text. More... | |
| const sf::Font * | getTextFont () const |
| Returns the font of the text. More... | |
| void | setPasswordCharacter (char passwordChar= '\0') |
| Sets a password character. More... | |
| char | getPasswordCharacter () const |
| Returns the password character. More... | |
| void | setMaximumCharacters (unsigned int maxChars=0) |
| Change the character limit. More... | |
| unsigned int | getMaximumCharacters () const |
| Returns the character limit. More... | |
| virtual void | setBorders (unsigned int leftBorder=0, unsigned int topBorder=0, unsigned int rightBorder=0, unsigned int bottomBorder=0) |
| Changes the border width and border height of the edit box. More... | |
| void | changeColors (const sf::Color &textColor=sf::Color(0, 0, 0), const sf::Color &selectedTextColor=sf::Color(255, 255, 255), const sf::Color &selectedTextBackgroundColor=sf::Color(10, 110, 255), const sf::Color &selectionPointColor=sf::Color(110, 110, 255)) |
| Changes the colors from the edit box. More... | |
| void | setTextColor (const sf::Color &textColor) |
| Set the text color that will be used inside the edit box. More... | |
| void | setSelectedTextColor (const sf::Color &selectedTextColor) |
| Set the text color of the selected text that will be used inside the edit box. More... | |
| void | setSelectedTextBackgroundColor (const sf::Color &selectedTextBackgroundColor) |
| Set the background color of the selected text that will be used inside the edit box. More... | |
| void | setSelectionPointColor (const sf::Color &selectionPointColor) |
| Set the color that will be used inside the edit box for the flickering selection point. More... | |
| const sf::Color & | getTextColor () const |
| Get the text color that is currently being used inside the edit box. More... | |
| const sf::Color & | getSelectedTextColor () const |
| Get the text color of the selected text that is currently being used inside the edit box. More... | |
| const sf::Color & | getSelectedTextBackgroundColor () const |
| Get the background color of the selected text that is currently being used inside the edit box. More... | |
| const sf::Color & | getSelectionPointColor () const |
| Get the color that is currently being used inside the edit box for the flickering selection point. More... | |
| void | limitTextWidth (bool limitWidth) |
| Should the text width be limited or should you be able to type even if the edit box is full? More... | |
| void | setSelectionPointPosition (unsigned int charactersBeforeSelectionPoint) |
| Sets the flickering selection point to after a specific character. More... | |
| void | setSelectionPointWidth (unsigned int width=2) |
| This will change the width of the selection point. More... | |
| unsigned int | getSelectionPointWidth () const |
| Returns the width of the selection point. More... | |
| void | setNumbersOnly (bool numbersOnly) |
| Changes whether the edit box accepts all characters or only numeric input. More... | |
| virtual void | setTransparency (unsigned char transparency) |
| Changes the transparency of the widget. More... | |
| Public Member Functions inherited from tgui::ClickableWidget | |
| ClickableWidget () | |
| Default constructor. More... | |
| ClickableWidget (const ClickableWidget ©) | |
| Copy constructor. More... | |
| virtual | ~ClickableWidget () |
| Destructor. More... | |
| ClickableWidget & | operator= (const ClickableWidget &right) |
| Overload of assignment operator. More... | |
| virtual sf::Vector2f | getSize () const |
| Returns the size of the widget. More... | |
| Public Member Functions inherited from tgui::Widget | |
| Widget () | |
| Default constructor. More... | |
| Widget (const Widget ©) | |
| Copy constructor. More... | |
| virtual | ~Widget () |
| Destructor. More... | |
| Widget & | operator= (const Widget &right) |
| Overload of assignment operator. More... | |
| virtual sf::Vector2f | getAbsolutePosition () const |
| Get the absolute position of the widget on the screen. More... | |
| virtual void | show () |
| Shows the widget. More... | |
| virtual void | hide () |
| Hides the widget. More... | |
| bool | isVisible () const |
| Returns true when the widget is visible. More... | |
| virtual void | enable () |
| Enables the widget. More... | |
| virtual void | disable () |
| Disables the widget. More... | |
| bool | isEnabled () const |
| Returns true when the widget is enabled. More... | |
| bool | isDisabled () const |
| Returns true when the widget is disabled. More... | |
| bool | isLoaded () const |
| Returns true when the widget is loaded successfully. More... | |
| virtual void | focus () |
| Focus the widget. More... | |
| virtual void | unfocus () |
| Unfocus the widget. More... | |
| bool | isFocused () const |
| Returns true when the widget is focused and false otherwise. More... | |
| WidgetTypes | getWidgetType () const |
| Returns the type of the widget. More... | |
| Container * | getParent () const |
| Returns a pointer to the parent widget. More... | |
| unsigned char | getTransparency () const |
| Returns the transparency of the widget. More... | |
| virtual void | moveToFront () |
| Places the widget before all other widgets. More... | |
| virtual void | moveToBack () |
| Places the widget behind all other widgets. More... | |
| void | setCallbackId (unsigned int callbackId) |
| Changes the callback id of the widget. More... | |
| unsigned int | getCallbackId () |
| Returns the callback id of the widget. More... | |
| Public Member Functions inherited from tgui::Transformable | |
| Transformable () | |
| Default constructor. More... | |
| virtual | ~Transformable () |
| Destructor. More... | |
| void | setPosition (const sf::Vector2f &position) |
| set the position of the widget More... | |
| const sf::Vector2f & | getPosition () const |
| get the position of the widget More... | |
| void | move (float offsetX, float offsetY) |
| Move the widget by a given offset. More... | |
| void | move (const sf::Vector2f &offset) |
| Move the widget by a given offset. More... | |
| virtual sf::Vector2f | getFullSize () const |
| Returns the entire size that the widget is using. More... | |
| void | scale (float factorX, float factorY) |
| Scale the widget. More... | |
| void | scale (const sf::Vector2f &factors) |
| Scale the widget. More... | |
| Public Member Functions inherited from tgui::CallbackManager | |
| void | bindCallback (std::function< void()> func, unsigned int trigger) |
| Bind a function to one or more specific callback trigger(s). More... | |
| template<typename T > | |
| void | bindCallback (void(T::*func)(), T *const classPtr, unsigned int trigger) |
| Bind a function to one or more specific callback trigger(s). More... | |
| void | bindCallbackEx (std::function< void(const Callback &)> func, unsigned int trigger) |
| Bind a function to one or more specific callback trigger(s). More... | |
| template<typename T > | |
| void | bindCallbackEx (void(T::*func)(const Callback &), T *const classPtr, unsigned int trigger) |
| Bind a function to one or more specific callback trigger(s). More... | |
| void | bindCallback (unsigned int trigger) |
| Bind one or more specific callback trigger(s) to the parent widget. More... | |
| void | unbindCallback (unsigned int trigger) |
| Unbind all callback function bound to the given trigger. More... | |
| void | unbindAllCallback () |
| Unbind all callback functions bound to any callback. More... | |
| Public Member Functions inherited from tgui::WidgetBorders | |
| WidgetBorders () | |
| Default constructor. More... | |
| virtual | ~WidgetBorders () |
| Destructor. More... | |
| virtual Borders | getBorders () const |
| Returns the size of the borders as a tgui::Borders. More... | |
| tgui::EditBox::EditBox | ( | ) |
Default constructor.
| tgui::EditBox::EditBox | ( | const EditBox & | copy | ) |
Copy constructor.
| copy | Instance to copy |
|
virtual |
Destructor.
| void tgui::EditBox::changeColors | ( | const sf::Color & | textColor = sf::Color(0, 0, 0) , |
| const sf::Color & | selectedTextColor = sf::Color(255, 255, 255) , |
||
| const sf::Color & | selectedTextBackgroundColor = sf::Color(10, 110, 255) , |
||
| const sf::Color & | selectionPointColor = sf::Color(110, 110, 255) |
||
| ) |
Changes the colors from the edit box.
| textColor | The color of the text |
| selectedTextColor | The color of the text when it is selected |
| selectedTextBackgroundColor | The color of the background of the text that is selected |
| selectionPointColor | The color of the flickering selection point |
| const std::string& tgui::EditBox::getLoadedConfigFile | ( | ) | const |
Returns the filename of the config file that was used to load the widget.
| unsigned int tgui::EditBox::getMaximumCharacters | ( | ) | const |
Returns the character limit.
There is no character limit by default.
| char tgui::EditBox::getPasswordCharacter | ( | ) | const |
Returns the password character.
| const sf::Color& tgui::EditBox::getSelectedTextBackgroundColor | ( | ) | const |
Get the background color of the selected text that is currently being used inside the edit box.
| const sf::Color& tgui::EditBox::getSelectedTextColor | ( | ) | const |
Get the text color of the selected text that is currently being used inside the edit box.
| const sf::Color& tgui::EditBox::getSelectionPointColor | ( | ) | const |
Get the color that is currently being used inside the edit box for the flickering selection point.
| unsigned int tgui::EditBox::getSelectionPointWidth | ( | ) | const |
Returns the width of the selection point.
| sf::String tgui::EditBox::getText | ( | ) | const |
Returns the text inside the edit box. This text is not affected by the password character.
| const sf::Color& tgui::EditBox::getTextColor | ( | ) | const |
Get the text color that is currently being used inside the edit box.
| const sf::Font* tgui::EditBox::getTextFont | ( | ) | const |
Returns the font of the text.
| unsigned int tgui::EditBox::getTextSize | ( | ) | const |
Returns the character size of the text.
| void tgui::EditBox::limitTextWidth | ( | bool | limitWidth | ) |
Should the text width be limited or should you be able to type even if the edit box is full?
| limitWidth | Should there be a text width limit or not. |
When set to true, you will no longer be able to add text when the edit box is full. The default value is false.
| bool tgui::EditBox::load | ( | const std::string & | configFileFilename | ) |
Loads the widget.
| configFileFilename | Filename of the config file. |
The config file must contain a EditBox section with the needed information.
Overload of assignment operator.
| right | Instance to assign |
|
virtual |
Changes the border width and border height of the edit box.
When the text is auto-scaled then it will be drawn within these borders. The borders themselves are invisible. The borders are also used to define the clipping area. Note that these borders are scaled together with the image!
| leftBorder | The width of the left border |
| topBorder | The height of the top border |
| rightBorder | The width of the right border |
| bottomBorder | The height of the bottom border |
Implements tgui::WidgetBorders.
| void tgui::EditBox::setMaximumCharacters | ( | unsigned int | maxChars = 0 | ) |
Change the character limit.
| maxChars | The new character limit. Set it to 0 to disable the limit. |
This character limit is disabled by default.
| void tgui::EditBox::setNumbersOnly | ( | bool | numbersOnly | ) |
Changes whether the edit box accepts all characters or only numeric input.
| numbersOnly | Should the edit box only accept numbers? |
By default the edit box accepts all text characters.
| void tgui::EditBox::setPasswordCharacter | ( | char | passwordChar = '\0' | ) |
Sets a password character.
| passwordChar | The new password character. If set to 0 then there is no password character. |
When the text width is limited then this function might remove the last characters in the text if they no longer fit in the EditBox. You can avoid this by setting LimitTextWidth to false (which is the default).
|
virtual |
Set the position of the widget.
This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable widget is (0, 0).
| x | X coordinate of the new position |
| y | Y coordinate of the new position |
Reimplemented from tgui::Transformable.
| void tgui::EditBox::setSelectedTextBackgroundColor | ( | const sf::Color & | selectedTextBackgroundColor | ) |
Set the background color of the selected text that will be used inside the edit box.
| selectedTextBackgroundColor | The new background color. |
| void tgui::EditBox::setSelectedTextColor | ( | const sf::Color & | selectedTextColor | ) |
Set the text color of the selected text that will be used inside the edit box.
| selectedTextColor | The new text color. |
| void tgui::EditBox::setSelectionPointColor | ( | const sf::Color & | selectionPointColor | ) |
Set the color that will be used inside the edit box for the flickering selection point.
| selectionPointColor | The color of the flickering selection point |
| void tgui::EditBox::setSelectionPointPosition | ( | unsigned int | charactersBeforeSelectionPoint | ) |
Sets the flickering selection point to after a specific character.
| charactersBeforeSelectionPoint | The new position. |
Normally you will not need this function.
| void tgui::EditBox::setSelectionPointWidth | ( | unsigned int | width = 2 | ) |
This will change the width of the selection point.
| width | New width of the selection point |
|
virtual |
Changes the size of the edit box.
| width | The new width of the edit box |
| height | The new height of the edit box |
Reimplemented from tgui::ClickableWidget.
| void tgui::EditBox::setText | ( | const sf::String & | text | ) |
Changes the text of the editbox.
| text | The new text. |
The last characters of the text might be removed in the following situations:
| void tgui::EditBox::setTextColor | ( | const sf::Color & | textColor | ) |
Set the text color that will be used inside the edit box.
| textColor | The new text color. |
| void tgui::EditBox::setTextFont | ( | const sf::Font & | font | ) |
Changes the font of the text.
When you don't call this function then the global font will be use. This global font can be changed with the setGlobalFont function from the parent.
| font | The new font. |
| void tgui::EditBox::setTextSize | ( | unsigned int | textSize | ) |
Changes the character size of the text.
| textSize | The new size of the text. If the size is 0 (default) then the text will be scaled to fit in the edit box. |
|
virtual |
Changes the transparency of the widget.
| transparency | The transparency of the widget. 0 is completely transparent, while 255 (default) means fully opaque. |
Note that this will only change the transparency of the images. The parts of the widgets that use a color will not be changed. You must change them yourself by setting the alpha channel of the color.
Reimplemented from tgui::Widget.


| Kib 1 | 26 June 18 | 10 | miles | |
| Name | Position | Road bike | Actual Time | Avg. mph |
| Jordan Peacock | 1 | 1 | 00:20:46 | 28.89 |
| Timothy Smith | 2 | 00:21:29 | 27.93 | |
| Carl Dyson | 3 | 00:21:30 | 27.91 | |
| Hans van Nierop | 4 | 00:22:17 | 26.93 | |
| Matt Plews | 5 | 00:22:19 | 26.89 | |
| Phil Rayner | 6 | 2 | 00:23:02 | 26.05 |
| Julian Hackett | 7 | 00:23:14 | 25.82 | |
| Peter Bentley | 7 | 00:23:14 | 25.82 | |
| Michael Burke | 9 | 3 | 00:23:17 | 25.77 |
| John Ellis | 10 | 4 | 00:23:22 | 25.68 |
| Austin Smith | 11 | 00:23:24 | 25.64 | |
| Lawrence Cox | 12 | 00:23:25 | 25.62 | |
| Chris Dainty | 13 | 00:23:51 | 25.16 | |
| Roger Kockelbergh | 14 | 00:24:11 | 24.81 | |
| Alistair Watson | 15 | 00:24:21 | 24.64 | |
| Wayne Henderson | 16 | 00:24:28 | 24.52 | |
| Jos Kertzman | 17 | 00:24:39 | 24.34 | |
| Linda Hubbard | 18 | 00:24:41 | 24.31 | |
| Bill Barrie | 19 | 00:25:04 | 23.94 | |
| Lucy Sturgess | 20 | 00:25:15 | 23.76 | |
| Dan High | 20 | 00:25:15 | 23.76 | |
| Mitchell James | 22 | 00:25:26 | 23.59 | |
| Simon Ward | 23 | 00:25:33 | 23.48 | |
| Matthew Vallins | 24 | 5 | 00:26:00 | 23.08 |
| Ray Taylor | 25 | 00:26:06 | 22.99 | |
| David Reay | 26 | 00:26:12 | 22.90 | |
| Michael Church | 27 | 00:26:16 | 22.84 | |
| David Bayliss | 28 | 00:26:29 | 22.66 | |
| David Bowrey | 29 | 6 | 00:26:31 | 22.63 |
| John Welsford | 30 | 00:26:45 | 22.43 | |
| Jennifer Clegg | 31 | 00:26:54 | 22.30 | |
| Harrison Fay | 32 | 00:26:57 | 22.26 | |
| Louise Perry | 33 | 00:27:09 | 22.10 | |
| Vic Barnett | 34 | 00:27:11 | 22.07 | |
| Stewart Holland | 35 | 7 | 00:27:18 | 21.98 |
| Tom Evans | 36 | 00:27:19 | 21.96 | |
| Dominic Switzer | 37 | 00:27:26 | 21.87 | |
| Paul Percival | 38 | 00:27:46 | 21.61 | |
| Eugene and Sally Ker | 39 | 00:28:27 | 21.09 | |
| Charlie Simpson | 39 | 8 | 00:28:27 | 21.09 |
| Paula Moore | 41 | 00:28:55 | 20.75 | |
| John Jameson | 42 | 00:29:34 | 20.29 | |
| Zach Parsons | 43 | 00:29:56 | 20.04 | |
| Andrew Weatherby | 44 | 9 | 00:30:11 | 19.88 |
| Lorna Marlow | 45 | 10 | 00:31:03 | 19.32 |
| Debbie Ward | 46 | 11 | 00:35:30 | 16.90 |


@import play.api.{Environment, Mode} @import backend.utils.analytics.Analytics @(title: String)(content: Html)(implicit environment: Environment, analytics: Analytics)


HW4 Part 3 - Retail Sales
Enter Product Number (1 through 5)
Enter number of items sold
Product #
Qty
Price
Amount
1
2.98
2
4.50
3
9.98
4
4.49
5
6.87
Total Amount Sold:


The greatest threat to our planet is the belief that someone else will save it. ~Robert Swan
Environmental pollution is an incurable disease. It can only be prevented.~Barry Commoner
Try to leave the Earth a better place than when you arrived.~Sidney Sheldon
Food Tracker
Your daily Food Carbon Footprint
News
Carbon emission and food production
What determines our carbon footprint is not only made by how we travel or heat up our houses but also by what we eat and its production methods. Read more...
Chemical Farming Vs Organic Farming
Recent studies have shown that differences between chemical farming and organic farming lie from the methods used to cultivate food.Read more...
Eat less meat: CO2 emission of our food
The carbon dioxide emissions (carbon footprint) caused by our personal behaviour is driven to a large extent by the type and quality of our food. Read more...
Food production and its water wastage
As much as 50% of all food produced in the world ends up as waste every year according to figures from the Institution of Mechanical Engineers. Read more...
Talking about us
"All my blood tests are good, and my vital signs are good, Food tracker helped me, believe it or not."
B.Clinton
"The human cost of factory farming is staggering. Food tracker is part of the solution."
N.Portman
"After meeting two people, a doctor and a nutritionist, they inspired me to use Food tracker."
C.Lewis
"I use Food tracker because I saw the reality and I just couldn’t ignore it anymore."
E.DeGeneres
Ethical Eaters Mission
What is Ethical Eating?
Ethical Eaters is all about empowering you with the knowledge to reduce your Carbon and Water Footprints by making informed decisions about the food you eat. Use our Food Tracker to see how much carbon is emitted.
What is Carbon Footprint?
Reduce my Carbon Footprint?
What is a Water Footprint?
Where does Ethical Eaters get their information?
Reduce water Footprint?
Low Carbon Footprint Food?
Shop
Environmental friendly products
Bananas 1kg Spain 3.99$
Coffee 0.5kg Lesotho 12.99$
Flour 2kf Armenia 2.99$
Mango 1piece Portugal 1.99$
Pasta 1kg Sicily 3.99$
Leaf plates x 20 Germany 10.99$
Cannabis shoes France 39.99$
Tofu 1kg Bangalore 3.99$
Videos
About us
We use our technical expertise and practical understanding to protect nature and defend the rights of communities to a healthy environment. We act as advisers to the environment movement and we work with community based environment groups, regional and state environmental organisations. We seek out new and innovative ways to tackle environmental problems.
Our mission
Expose global environmental problems and to promote solutions that are essential to a green and peaceful future. Everything on this planet is symbiotically connected-plants, animals, humans and the Earth itself. As individuals we care about many different causes, but in our concern for the fate of our children and our Earth, we are united. We share one home-Earth. It’s our mission to save it.