Deploying QATrack+ with Windows, Apache & PostgreSQL¶
Note this guide is still in progress¶
This guide is going to walk you through installing QATrack+ on a Windows Desktop with the Apache Webserver and PostgreSQL database.
- Installing and configuring git
- Checkout the latest release of the QATrack+ source code from bitbucket.
- Setting up our Python environment (including virtualenv)
- Making sure everything is working up to this point
- Setting up a database with PostgreSQL & pgAdmin
- Configuring Apache & mod_wsgi
- Wrap up
1. Installing git¶
Go to http://git-scm.com and download the latest version of git (msysgit) for Windows (Git-<IP_ADDRESS>-preview20130201 at the time of writing). Run the installer. I just leave all the settings on their defaults but you are free to modify them if you like.
Step 1 done ;)
2. Checkout the latest release of QATrack+ source code from bitbucket¶
From the Start Menu look for the Git folder under All Programs and select Git Bash. This will open up a console window which we will be using fairly heavily for the rest of the process. (Note: this is a fairly full featured bash shell and is a lot more powerful than the default windows command prompt).
To create a home for QATrack+ and check out the source code, use the following commands:
#!bash
mkdir /c/deploy
cd /c/deploy
git clone https://bitbucket.org/tohccmedphys/qatrackplus.git
3. Setting up our Python environment¶
Note all Python packages should be 32 bit versions even on 64 bit machines
Go to http://www.python.org/download/ and download the 32 bit Python 2.7.X Windows Installer for Python (current version is 2.7.3 at the time of writing – QATrack+ does not currently support Python3). Go through the installer using the default options (Install for all users).
Next go to http://pypi.python.org/pypi/setuptools#files and download and run the MS Windows Installer (setuptools-0.6c11.win32-py2.7.exe at the time of writing)
We now need to download Scipy, matplotlib and pywin32. Go to http://sourceforge.net/projects/scipy/files/scipy/0.11.0/ and download the win32 superpack (eg scipy-0.11.0-win32-superpack-python27.exe. Save it in C::raw-latex:`\deploy` or somewhere else you can remember. Likewise, visit http://matplotlib.org/downloads.html and download the latest 32 bit version of matplotlib for Windows (matplotlib-1.2.0.win32-py2.7.exe at the time of writing). Visit http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/ and download pywin32-218.win32-py2.7.exe. Finally visit http://www.stickpeople.com/projects/python/win-psycopg and download psycopg2-2.5.2.win32-py2.7-pg9.2.6-release.exe.
You will also want to add Python to your PATH environment variable. The process is slightly different depending on if you are on XP or something newer but the gist of it is: * Right click on My Computer * Select Advanced (or Advanced System Settings) * Select Environment Variables * Select Path under the System variables section and then click edit * Append ;C::raw-latex:`\Python`27;C::raw-latex:`Python`27:raw-latex:`Scripts `to the end of the path. Don’t overwrite the existing value! * Click Ok/Ok/Ok
Close the git bash command prompt you had open before and then open a new one (this will give you access to the updated PATH variable).
In your new git bash window the command which python
should return
/c/Python27/python
. If it doesn’t then your PATH variable has not
been set correctly.
We’re now ready to install all the libraries QATrack+ depends on. To install them, run the following:
#!bash
cd /c/deploy
easy_install pip
pip install virtualenv==1.9
mkdir venvs
virtualenv venvs/qatrack
source venvs/qatrack/Scripts/activate
easy_install numpy==1.7
easy_install /c/deploy/scipy-0.11.0-win32-superpack-python2.7.exe
easy_install /c/deploy/matplotlib-1.2.0.win32-py2.7.exe
easy_install /c/deploy/pywin32-218.win32-py2.7.exe
easy_install /c/deploy/psycopg2-2.5.2.win32-py2.7-pg9.2.6-release.exe
cd qatrackplus
pip install -r requirements/base.txt
pip install -r requirements/optional.txt
pip install -r requirements/win.txt
4. Checking everything is functional so far¶
Getting everything installed was a pain, so lets take a minute and check everything is now functioning as it should: create a directory called ‘db’ in the main qatrackplus directory and then setup a temporary database for testing (answer ‘yes’ and create a super user when prompted).
#!bash
cd /c/deploy/qatrackplus
mkdir db
python manage.py syncdb
python manage.py migrate
python manage.py loaddata fixtures/defaults/*/*
python manage.py collectstatic
You should now be able to run the built in test server and access your QATrack+ site for the first time! At the command prompt type the following to start the server:
#!bash
python manage.py runserver
You should then be able to open a browser window and visit http://<IP_ADDRESS>:8000 where you will be redirected to a login page (you can login using the superuser you created earlier).
In the terminal hit Ctrl+C
to kill the server.
5. Creating a database with PostgresSQL¶
Visit the EDB download page and download the Postgres 9.x.x installer for your version of Windows (i.e. x86-32 or x86-64).
Run the installer, accepting the default options.
From the start menu find and open pgAdminIII (under the PostgreSQL folder).
In the Object Browser frame, right click the PostgreSQL 9.X server, click ‘Connect’, and enter the password you used when you set up PostgreSQL.
Right click on the Login Roles
item and select
New Login Role...
.
In the Properties tab enter qatrack
for the Role name and then click
the Definition tab and enter a password (e.g. qatrackpass
). On the
Role Privleges enable the Can create databases
option and then click
OK.
Next right click on the Databases item and select New Database...
.
Enter qatrackdb
as the Name and select qatrack
as the Owner then
click OK.
Configuring QATrack+ to use your new database¶
Create a file called local_settings.py in /c/deploy/qatrackplus/qatrack/ and add the following contents:
#!python
DEBUG = False
TEMPLATE_DEBUG = False
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'qatrackdb', # Or path to database file if using sqlite3.
'USER': 'qatrack', # Not used with sqlite3.
'PASSWORD': 'qatrackpass', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
Once again, we will configure our new PostgreSQL database from the command prompt (answer ‘yes’ and create a super user when prompted):
#!bash
python manage.py syncdb
python manage.py migrate
python manage.py loaddata fixtures/defaults/*/*
6. Configuring Apache to Serve QATrack+¶
Django’s built in web server that we used earlier is not meant to be used in production. Instead we will be using Apache2 & mod_wsgi to serve QATrack+. Visit an Apache download mirror site (e.g. http://apache.marz.ca//httpd/binaries/win32/) and download and run httpd-2.2.25-win32-x86-openssl-0.9.XX.msi.
Enter your computers network domain name (or computer name as shown in the screenshot below). and then complete the installer with the default values.
You should now be able to visit http://localhost/ or http://yourcomputername/ and see an “It works!” page.
Next we need to install mod_wsgi for Apache. Visit
http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi and download
mod_wsgi-3.4.ap22.win32-py2.7.zip. Unzip the file and copy
mod_wsgi.so
to the modules
directory of your Apache installation
(e.g. C::raw-latex:`\Program `Files (x86):raw-latex:`Apache Software
Foundation:raw-latex:Apache`2.2:raw-latex:modules `or
C::raw-latex:Program Files:raw-latex:Apache Software
Foundation:raw-latex:Apache`22:raw-latex:modules)[1].
In the folder Apache Software Foundation:raw-latex:Apache`2.2:raw-latex:conf `there is a file called httpd.conf. Open that file in a text editor and look for the section of LoadModule` statements and add the following line:
LoadModule wsgi_module modules/mod_wsgi.so
now go to the bottom of the file and enter the line
Include "c:/deploy/qatrackplus/apache/apache_django_wsgi.conf"
Now create a new folder called apache
in the
C:\deploy\qatrackplus\
folder. In that folder you will create the
following two files:
- Create a file called django.wsgi
(
C:\deploy\qatrackplus\apache\django.wsgi
) and put the following contents in it:
#!python
import os, sys
sys.path.append('c:/deploy/qatrackplus')
sys.path.append('c:/deploy/qatrackplus/qatrack')
os.environ['DJANGO_SETTINGS_MODULE'] = 'qatrack.settings'
# Activate your virtual env
activate_env="c:/deploy/venvs/qatrack/Scripts/activate_this.py"
execfile(activate_env, dict(__file__=activate_env))
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
- Create a file called apache_django_wsgi.conf
(
C:\deploy\qatrackplus\apache\apache_django_wsgi.conf
) with the following content:
Alias /static "C:/deploy/qatrackplus/qatrack/static"
<Directory C:/deploy/qatrackplus/qatrack/static>
Order allow,deny
Allow from all
</Directory>
Alias /media "C:/deploy/qatrackplus/qatrack/media"
<Directory C:/deploy/qatrackplus/qatrack/media>
Order allow,deny
Allow from all
</Directory>
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias /qatrack "c:/deploy/qatrackplus/apache/django.wsgi"
<Directory "c:/deploy/qatrackplus/apache">
Allow from all
</Directory>
<VirtualHost *:80>
DocumentRoot c:/deploy/qatrackplus
ServerName <IP_ADDRESS>
</VirtualHost>
Add the following three lines to the bottom of the local_settings.py
file you created earlier:
#!python
FORCE_SCRIPT_NAME="/qatrack"
LOGIN_REDIRECT_URL = "/qatrack/qa/unit/"
LOGIN_URL = "/qatrack/accounts/login/"
Now restart the Apache server (Start->All Programs->Apache HTTP Server->Control Apache Server->Restart)
You should now be able to visit http://yourcomputername/qatrack/ and login to QATrack+ using the superuser name and password you created earlier!
8. Wrap Up¶
This guide has shown you one method of deploying QATrack+ on Windows using free and/or open source.software! If you’re stuck with a Windows stack it will likely work for you! Hit me up on the QATrack+ Google Group if you want to discuss some other alternatives for deploying on Windows.
References:


 What am I?
Think you figured it out? Click
NEXT
to reveal the answer.


If you have many things that need the same styling, you should use a class. This way you can save yourself the time and trouble of applying the same rules to several selectors. How about this example: I am making a website. I want to have icons that link to my different social media sites. Facebook, Twitter, and LinkedIn. I want all three of my icons to be sized in the same way but for some reason, my Facebook icon is a little bigger that the other two.
So I think ID's are easier to understand, so I'm going to start there. You have a million images or div's and you want to call on a specific one in your CSS file. Giving one a special ID badge makes it easy to do that. So let's see how you would use ID's for the example I described above:
I have three different div's, each with their own ID. So the thing to remember is that IDs are unique. Any one element can only have one ID, and each page can have only one element that has that ID.
So this is what you would maybe see in your CSS file.
Okay, so how could do go abou this a different way using classes? Classes are not unique; they are general. You can use the same class on multiple elements on the same page and you can use multiple classes on the same element.
See the HTML below:
I replaced all of the unique ID's with a class ("social-media-icon"). This way I don't have to repeat the same properties for each icon. (Yay!) Do note that I left the ID for the Facebook icon, because I still want to adjust that image specifically without touching any other image.
If you can imagine having hundreds of different elements (rather than just three) you can see why it would be wise to use a class rather than many IDs.


@examples The following code performs a bitwise exclusive-or operation between two 64-bit integers.
Public Sub Main() Dim x As Int64 Dim y As Int64 Dim r As Int64 x = CInt64("0xffffffff") y = CInt64("0x000ff000") r = Int64.BitwiseXor(x, y) Debug.Print CorString.Format("0x{0:x8} XOR 0x{1:x8} = 0x{2:x8}", x, y, r) End Sub 'This code produces the following. ' 0xffffffff XOR 0x000ff000 = 0xfff00fff


CVCC Quote Registry
Add Quote
Author
Author
Quote
Created
Actions
{{ quote.author }}
{{ quote.quote }}
{{ quote.created | formatUnix }}
Edit
Delete
Add New Quote
Author
Quote
Create
Cancel
{{ quote.author }}
Quote:
{{ quote.quote }}
Created:
{{ quote.created }}
Back to quote list
Edit Quote
Author
Quote
Save
Cancel
Delete Quote from {{ quote.author }}
The action cannot be undone.
Delete
Cancel


This modules installs an action Tools:Generate Module Info which generates an html document with information about installed modules.
This module defines an Ant task, moduleinfotask
, which
(when run inside NetBeans) will generate an html document with
information about installed modules. Usage
<moduleinfotask htmlOutputFile="path/moduleinfo.html"/>
Helpful for crossreferencing module information and dependencies.


Infosys to Code Digital Applications to US-based Arlanxeo
In addition to IT support and projects for Arlanxeo's S/4 HANA digital ecosystem, Infosys will also be a preferred partner for overall application development.
Global software major Infosys would code software for digital applications for the US-based Arlanxeo, a market leader in synthetic elastomers.
Elastomers are rubber-like materials capable of returning to their original shape even after heavy stretching.
“As a strategic IT partner, we will develop digital applications for Arlanxeo with S/4 HANA software product as the core platform and leverage it across its organisation,” said the city-based company in a statement.
HANA is a business data platform from German enterprise resource planning powerhouse SAP.
In addition to IT support and projects for Arlanxeo’s S/4 HANA digital ecosystem, Infosys will also be a preferred partner for overall application development.
“This collaboration strengthens our footprint in the chemical industry in Europe and emphasizes our commitment to offer industry-specific solutions and services,” said Infosys Executive Vice President and global manufacturing head Jasmeet Singh.
Hermann Schuster, Arlanxeo’s chief digital officer and IT head, said the company is embarking on a journey of total digital transformation IT revamp.
For breaking news and live news updates, like us on Facebook or follow us on Twitter and Instagram. Read more on Business Latest News on India.com.
Story Timeline
- 04 Nov 2019 No Prima Facie Evidence, Not Obliged to Disclose Whistleblower Letter: Infosys
- 22 Oct 2019 Investors Lose Over Rs 53,000 Crore as Infosys Shares Tank Amid Complaint From Whistleblowers
Comments - Join the Discussion


Calculates host resources for combined backup server and physical proxy
For the capacity calculation please use the The Restore Point Simulator
Note that the IOPS is based on 100% writes with no 'full-stripe' write benefit or cache benefits accounted for. If it can be then you will likely be able to use the pre-RAID IOP figures.
Configuration is based on 30 VMs per job.


Lotus is an old friend, I have had many experiences with the flower of the Nile. I started with joints mixed with weed or alone, then the tea, both were very relaxing and some visuals with higher doses.
But every time I soak the lotus in wine for up to 2 days and consume, I get a stimulant effect. I could drink a glass or 2 of the lotus wine and continue to drink the rest of the night without getting too drunk and little hangover. I wanted to see how a larger dose felt so I soaked 10g lotus in 1/2 bottle resling wine (2 glasses), for five days. On the night of the fifth day I drank the two glasses with some of the plant matter. The mix was extreamly bitter compaired to the usual 2day soaking. It had a dry aftertaste that the wine alone dosn't have. The first effects were felt within ten minuets, the usual warm head (wine), and clearness of thought and a feeling of wanting to converse with everyone (lotus). I am normaly introverted and like to sit quietly.
Normaly it stops there and I have a great night. But I kept going higher and feeling more energized. It had only been a half hour since ingestion, and I was higher than I've ever been on lotus. It felt like I had taken a rail of coke. I had to walk around and couldn't stay in one place long.  My heart was pounding and my body felt like every cell was vibrating, strong CEVs and visuals 1 1/2 hours. Then I droped down to a normal feeling of lotus and wine. I canít stress how uncomfortable I was and I will not let it soak so long ever again.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Your web browser must have JavaScript enabled in order for this application to display correctly.
Card Games


CRIMSON TIDE A film review by Steve Rhodes Copyright 1995 Steve Rhodes
RATING (0 TO ****): ****
When I went into see CRIMSON TIDE, I knew it had a lot going for it. I had seen the trailers which were charged with excitement. I knew it had one of my absolute favorite stars in Denzel Washington and with another favorite in Gene Hackman. The story appeared to be a Tom Clancy style military thriller. All this notwithstanding, I was not adequately prepared for what was to unfold in front of me. This show was phenomenal!
Going into the movie, I was already prejudiced. I knew it was about some Russians threatening to launch nuclear missiles at the US. In the post-Cold War era, I felt it would be hard to worry about that anymore and so the axiom the movie was built upon would have questionable credibility. From the first CNN scenes in CRIMSON TIDE of Russia fighting a civil war in one of their breakaway republics and then Russian nationalists taking over part of the military, I realized how close this was to the real news reports from over there that we are all naively been ignoring. The rebel leader looked just like the real live Russian nationalist and demagogue Vladimir Zhirinovsky who has indeed threatened the West with nuclear weapons if he ever got into power.
In CRIMSON TIDE, the Russian rebels have taken over some of Russia's nuclear intercontinental ballistic missiles and some of their subs. The US navy dispatches our subs to the Pacific. This movie takes place almost totally aboard the USS Alabama skipper by seasoned Captain Frank Ramsey (Gene Hackman). Ramsey chooses Lt. Commander Ron Hunter (Denzel Washington) as his executive officer since his current XO has appendicitis.  He eats XOs for breakfast and has been through a half dozen in the past year his officers tell Hunter.
Well, as you have seen in the trailers, the rebels get the code to launch, some confusion sets in, and the top officers lock horns.  You will have to endure the suspense yourself. If you have a weak heart or suffer from hypertension, you should be require to get a release from your physician before being admitted.
There is so much excellent about this picture it is hard to know where to begin. The four best parts, and all were equally superb, were the acting of the two leads, the directing, and the intense cinematography.
Let me deal first with the acting. I would be happy to see both stars get Oscar nominations, but Washington was the best. His piercing stares when angry were almost lethal. His every scene was compelling. His part was tricky. It would be easy to overplay it whereas Washington plays it quiet reserved but with absolute authority. He is openly vulnerable and yet has tremendous courage and convictions. The audience becomes one with Hunter, and the identification with him becomes complete.
Hackman has the harder part, and he is match for it. Ramsey is an extremely demanding skipper who feels that he must push his men to the limit. Hackman plays Ramsey in a way that you never hate him even when he becomes the bad guy. Hackman makes you doubt who is right and who is wrong no matter the logic of the script. Two tour de force performances by both.
Although this was really a two person play, it was populated with many interesting minor characters (Lillo Brancato, Rocky Carroll, Matt Craven, James Gandolfini, Jaime Gomez, Michael Milhoan, Viggo Mortensen, Rick Schroder). My favorite was Cob (George Dzundza) who was shown as Ramsey's right hand man at the start of the movie. Dzundza made a minor part with few lines say a lot.
The directing by Tony Scott was to give us a movie that was at a fever pitch from start to finish. Scott has shown in previous movies (TOP GUN, DAYS OF THUNDER, and BEVERLY HILLS COP II) that he could do this but only in spurts in a show. Here this movie is about to explode it is so hot and this intensity stays from the very start until, but not including the epilogue.
The most surprising part is the character development by the director and somewhat by the screenwriter (Michael Schiffer). This is not merely an action thriller a la SPEED or TRUE LIES; this is a character study reminiscent of THE CAINE MUTINY. The life aboard a submarine was as realistic as DAS BOOT thanks to great set decoration by Michael White, but the lead characters here were much more alive and interesting. Actually, the movie that comes to mind immediately is THE HUNT FOR RED OCTOBER, but CRIMSON TIDE is much better. Scott had me griping the seat most of the film. Almost like the experience I had when I saw ALIENS for the first time.
The cinematography by Dariusz Wolski (who did THE CROW) has to win an Oscar. Watch the initial scenes in a torrential downpour as Ramsey addresses his crew football coach style. The luminescent steel gray rain covering up the sailors so they became almost eerie ghosts was one good example. The spray of the sub as it dove was another. The best however was the way the camera created and enhanced tension by extreme close-ups inside the sub. Watch the harsh light providing strong contrast to the shadows aboard ship. Words can not describe the overall effect he was able to create. Finally, the music, especially the religious piece song by a chorus at the start and the conclusion was very moving and effective.
For a show I loved so much, I do have exactly two criticisms. First, the epilogue was unnecessary, and if they felt the need to have one, this was not the one. It had the appearance of being added by someone in the marketing department who wanted to soften the picture to improve its box office take. Make like the epilogue was not there; I did. On a more minor note, the screenwriter looses control and gives one character some cliched racist lines to say in one scene that are not in character and are not of the same intelligent writing quality of the rest of the script.
Choose a theater with the biggest screen and the best sound system in your town, and go early and get a good seat. Don't wait for video. You want to see this show in all of its glory - upfront and personal. Be sure and go to the restroom in advance. You do not want to miss a minute of this show.
CRIMSON TIDE runs 1:53, and there is not a wasted minute in it. It is rated R for quite mild violence and a little bad language. It would be fine for anyone able to watch an intense thriller. I actually think kids 10 and over would love it. This is a **** picture in my book, and it is my first top ranked film in a half a year since I try to be very careful with my highest ratings. See this movie now before it migrates to the smaller screens. Don't miss it!
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEWED WRITTEN ON: May 12, 1995
Opinions expressed are mine and not meant to reflect my employer's.
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


Cycling Trip Seminars
Reviews
Seminars
About you (Optional)
I usually prefer to trips this time of year (select all that apply):
Winter
Spring
Summer
Fall
First Name
Last Name
Phone Number
Email Address
Trip Review
Nova Scotia cabot Trail
Alberta Rural
B.C Coast
Ontario Lake Superior
PEI
5 Days
7 Days
10 Days
14 Days
Your rating:
Comments
I would be interest in these trips:(checks all that apply)
Coast
Rural
Mountain
Other


{% extends 'base.html' %} {% block title %}Project Details{% endblock %} {% block content %} {% if messages %}
{% endif %}{{project.title.label}} {{project.title}}
{{project.description.label}} {{project.description|linebreaks}}
| Name | Username | Group | |
|---|---|---|---|
| {{user.get_full_name}} | {{user.username}} | {{user.email}} | {{user.groups.all.0.name}} |
There are currently no users assigned to this project.
| # | Title | Submitter | Assignee | Status | Date Created | |
|---|---|---|---|---|---|---|
| {{issue.num}} | {{issue.title}} | {{issue.submitter}} | {{issue.assignee}} | {{issue.get_status_display}} | {{issue.date_created}} |
|
There are currently no issues for this project.


|
|
Would you recommend us?
Your opinion is important to us! Please take a moment and let us know how likely are you to recommend us to a friend?
Just click on one of the buttons below. 0 being not likely and 10 being very likely. It's that simple!
|
|
|
Thank you for your time!
Awesome Co
|
|
|
|
|
|
|


Unity succeeds division and division follows unity. One is bound to be replaced by the other after a long span of time.
Read Chapter 2Unity succeeds division and division follows unity. One is bound to be replaced by the other after a long span of time.
Read Chapter 2


Anheuser-Busch is here for the times that matter. The moments where we celebrate, defy challenges, dream of the brighter future we are building today– and all the moments in between. We are a company that brings
people together for richer conversations, sweeter celebrations and stronger communities.
Best ingredients
Best Team
Full manufacture
Inspiration drawn from vintage mountaineering.
Perfect taste
Put modern take on classic pieces
Let's connect
The brand’s signature is undivided attention to detail.


| result: |
failed |
| totalTime: |
12 |
| numTestPasses: |
0 |
| numTestFailures: |
3 |
| numCommandPasses: |
3 |
| numCommandFailures: |
0 |
| numCommandErrors: |
3 |
Not supported in this browser
|
|
h.1 XForms en XHTML
|
| open |
../../W3C-XForms-1.1/Edition1/Appendix/H/h.1.html |
&nsp; |
Opens the form |
| pause |
3000 |
|
Waits for the form to load |
| verifyTitle |
XForms en XHTML |
|
Makes sure this is the right form |
| assertTitle |
testcase TBD |
Actual value 'XForms en XHTML' did not match 'testcase TBD' |
This test is not completed yet. | |
|
h.2 Editing Hierarchical Bookmarks In X-Smiles
|
| open |
../../W3C-XForms-1.1/Edition1/Appendix/H/h.2.html |
&nsp; |
Opens the form |
| pause |
3000 |
|
Waits for the form to load |
| verifyTitle |
Editing Hierarchical Bookmarks In X-Smiles |
|
Makes sure this is the right form |
| assertTitle |
testcase TBD |
Actual value 'Editing Hierarchical Bookmarks In X-Smiles' did not match 'testcase TBD' |
This test is not completed yet. | |
|
h.3 Espresso survey
|
| open |
../../W3C-XForms-1.1/Edition1/Appendix/H/h.3.html |
&nsp; |
Opens the form |
| pause |
3000 |
|
Waits for the form to load |
| verifyTitle |
Espresso survey |
|
Makes sure this is the right form |
| assertTitle |
testcase TBD |
Actual value 'Espresso survey' did not match 'testcase TBD' |
This test is not completed yet. | |
|


Please, Check your email inbox. Progressively engage diverse partnerships whereas flexible materials.


Monte-Carlo localisation algorithm demo.
Define the world (N x M), N:
M:
Probability of black squares:
- the robot believes it is in this position
- actual position
Robot's belief:


public HttpMessage HttpRequest::getRequestMessage ( void )
Get sent HTTP message. If redirects were allowed and several responses were received, the data references the last received response. Use HttpMessage::getParentMessage() to access the data of previously sent requests within this request cycle. Note: Note that the internal request message is immutable, that means that the request message received through HttpRequest::getRequestMessage() will always look the same for the same request, regardless of any changes you may have made to the returned object.
Returns an HttpMessage object representing the sent request.


November 23 2015
This is my First Article
Knausgaard cred 3 wolf moon, ennui etsy master cleanse keffiyeh tilde wolf gluten-free microdosing gochujang banh mi offal small batch. Church-key tote bag man braid 3 wolf moon, put a bird on it ramps skateboard vice cardigan. Keffiyeh seitan tumblr waistcoat tofu fingerstache 8-bit, farm-to-table umami cornhole authentic church-key everyday carry dreamcatcher tattooed. Trust fund knausgaard organic bushwick health goth. Literally hammock XOXO banjo. Small batch pork belly jean shorts synth fixie bushwick. Tilde shoreditch man braid, intelligentsia craft beer stumptown actually.
Narwhal flexitarian sartorial, ethical chambray hoodie photo booth roof party meditation. Health goth kickstarter synth, man bun blog cray williamsburg kinfolk trust fund semiotics 8-bit slow-carb. Echo park lumbersexual asymmetrical keytar selvage. Raw denim stumptown poutine, normcore 90's whatever single-origin coffee mumblecore blog listicle ethical disrupt squid. Cardigan disrupt chartreuse mumblecore migas you probably haven't heard of them. Shoreditch man braid cred artisan whatever microdosing, tousled hammock roof party 90's four dollar toast asymmetrical helvetica. Butcher 8-bit 90's, banjo bespoke gastropub listicle hashtag cold-pressed franzen street art meggings 3 wolf moon pickled salvia.
November 23 2015
This is my Another Article
Knausgaard cred 3 wolf moon, ennui etsy master cleanse keffiyeh tilde wolf gluten-free microdosing gochujang banh mi offal small batch. Church-key tote bag man braid 3 wolf moon, put a bird on it ramps skateboard vice cardigan. Keffiyeh seitan tumblr waistcoat tofu fingerstache 8-bit, farm-to-table umami cornhole authentic church-key everyday carry dreamcatcher tattooed. Trust fund knausgaard organic bushwick health goth. Literally hammock XOXO banjo. Small batch pork belly jean shorts synth fixie bushwick. Tilde shoreditch man braid, intelligentsia craft beer stumptown actually.
Narwhal flexitarian sartorial, ethical chambray hoodie photo booth roof party meditation. Health goth kickstarter synth, man bun blog cray williamsburg kinfolk trust fund semiotics 8-bit slow-carb. Echo park lumbersexual asymmetrical keytar selvage. Raw denim stumptown poutine, normcore 90's whatever single-origin coffee mumblecore blog listicle ethical disrupt squid. Cardigan disrupt chartreuse mumblecore migas you probably haven't heard of them. Shoreditch man braid cred artisan whatever microdosing, tousled hammock roof party 90's four dollar toast asymmetrical helvetica. Butcher 8-bit 90's, banjo bespoke gastropub listicle hashtag cold-pressed franzen street art meggings 3 wolf moon pickled salvia.


public interface ViewController
Most of time you should use ViewControllerActivity
, ViewControllerFragmentActivity
,
ViewControllerAppCompatActivity
, ViewControllerFragment
, or ViewControllerPlatformFragment
instead of using this interface directly.
The new lifecycle is:
onControllerCreate(Bundle extras)
onControllerRestoreInstanceState(Bundle savedInstanceState)
(optional)onControllerGetContentLayoutId()
onControllerContentViewCreated()
onControllerStart()
onControllerResume()
onControllerFocus()
onControllerBlur()
onControllerPause()
onControllerPersistUserData()
onControllerStop()
onControllerSaveInstanceState(Bundle outState)
(optional)Every lifecycle method is called exactly in this order.
| Modifier and Type | Method and Description |
|---|---|
<T extends android.view.View> |
findViewById(int id)
Finds a view that was identified by the
android:id XML attribute. |
android.view.View |
getView()
Returns the content view of this view controller, if non-zero layout id was returned from
onControllerGetContentLayoutId() , otherwise returns null . |
void |
onControllerBlur()
Called after
onControllerFocus() when the view controller lost window focus. |
void |
onControllerContentViewCreated()
Called immediately after
onControllerGetContentLayoutId() has returned a non-zero layout id
(if onControllerGetContentLayoutId() has returned zero, this method will not be called). |
void |
onControllerCreate(android.os.Bundle extras)
Called when the view controller is creating.
|
void |
onControllerFocus()
Called after
onControllerResume() when the view controller gains window focus. |
int |
onControllerGetContentLayoutId()
Called when the view controller wants to create UI.
|
void |
onControllerPause()
Called when the view controller is going into the background (but has not (yet) been stopped and killed).
|
void |
onControllerPersistUserData()
Called immediately after
onControllerPause() . |
void |
onControllerRestoreInstanceState(android.os.Bundle savedInstanceState)
This method mey be called after
onControllerCreate(Bundle extras)
(but before onControllerStart() ), when the view controller is being re-initialized
from a previously saved state, given here in savedInstanceState. |
void |
onControllerResume()
Called after
onControllerStart() and mean that the view controller is ready to interact
with user. |
void |
onControllerSaveInstanceState(android.os.Bundle outState)
This method may be called after
onControllerStop() to retrieve per-instance state
from this view controller. |
void |
onControllerStart()
Called after
onControllerGetContentLayoutId() (and after onControllerContentViewCreated() ,
if onControllerGetContentLayoutId() has returned a non-zero layout id). |
void |
onControllerStop()
Called when the view controller are no longer visible to the user.
|
void onControllerCreate(@Nullable android.os.Bundle extras)
extras
- Intent extras (in case of Activity) or construction arguments (in case of Fragment).void onControllerRestoreInstanceState(@NonNull android.os.Bundle savedInstanceState)
onControllerCreate(Bundle extras)
(but before onControllerStart()
), when the view controller is being re-initialized
from a previously saved state, given here in savedInstanceState.
Controller UI is not yet created, so you must not use findViewById(int id)
here or
modify UI in any other way (eg. showing dialogs or working with fragments).
It is better to save the necessary data in the class attributes.
If the view controller is started without previously saved state, this method will not be called.
savedInstanceState
- The data most recently supplied in onControllerSaveInstanceState(Bundle outState)
.int onControllerGetContentLayoutId()
onControllerCreate(Bundle extras)
and onControllerStart()
.
If this view controller based on Fragment, than in some cases this method can be called
after onControllerStop()
.
void onControllerContentViewCreated()
onControllerGetContentLayoutId()
has returned a non-zero layout id
(if onControllerGetContentLayoutId()
has returned zero, this method will not be called).
This gives subclasses a chance to initialize themselves once they know their view hierarchy
has been completely created.
Good place to use findViewById(int id)
(if you don't already use kotlin extensions
or data binding) and create adapters for ListView or RecyclerView.
But you shouldn't register any View
listeners (eg. click listeners)
here - use onControllerStart()
instead.
void onControllerStart()
onControllerGetContentLayoutId()
(and after onControllerContentViewCreated()
,
if onControllerGetContentLayoutId()
has returned a non-zero layout id). When this method is
called, it means that the view controller is ready for operation (but not necessary active
or even visible to user).
Also can be called after onControllerStop()
, if the view controller is restarted.
Good place to register View
listeners (eg. click listeners), subscribe
to observables or event bus, register broadcast receivers, and reflect last application state into UI.
NB. Internally this method is called directly from onStart() in Activity or Fragment, so due to nature of Android, calling this method does NOT mean that this view controller is shown to a user at first time (for example, Activity of Fragment can be destroyed and created again after screen rotation).
void onControllerResume()
onControllerStart()
and mean that the view controller is ready to interact
with user.
Keep in mind that this method doesn't mean that this view controller is actually visible
to user (a system window such as the keyguard may be in front).
Use Activity.onWindowFocusChanged(boolean hasFocus)
to know for certain that your
view controller is visible to the user (for example, to resume a game).
Also can be called after onControllerPause()
, if the view controller is resuming after pause.
Good place to begin animations and open exclusive-access devices (such as the camera).
void onControllerFocus()
onControllerResume()
when the view controller gains window focus.
This means that this view controller is active, visible to the user and not covered by any other window.
In most cases, you do not need to override this method.
void onControllerBlur()
onControllerFocus()
when the view controller lost window focus.
This means that this view controller is still active, but not visible (or partially visible) to the user.
In most cases, you do not need to override this method.
void onControllerPause()
onControllerResume()
.
Good place to stop animations and releasing exclusive-access devices (such as the camera).
void onControllerPersistUserData()
onControllerPause()
. This is last change to persist important user
data, because after this method an application may be killed by Android without calling onStop
and onDestroy in Activities and Fragments (in terms of view controller - without
calling onControllerStop()
and onControllerSaveInstanceState(Bundle outState)
).void onControllerStop()
onControllerStart()
(or onControllerGetContentLayoutId()
in case of Fragment),
onControllerSaveInstanceState(Bundle outState)
or nothing, depending on later user activity.
Good place to unregister View
listeners (eg. click listeners),
unsubscribe from observables or event bus, and unregister broadcast receivers.
Why you need to unregister listeners? See
https://stackoverflow.com/q/38368391.
Question answer suggests to disable button, but than you should re-enable it in
onControllerStart()
, because the view controller can be restarted. Unregistering listeners
seems more straightforward and consistent.
void onControllerSaveInstanceState(@NonNull android.os.Bundle outState)
onControllerStop()
to retrieve per-instance state
from this view controller. For more details see documentation
for Activity.onSaveInstanceState(Bundle outState)
.
onSaveInstanceState() in Activity or Fragment is not related to lifecycle, and can be called
at any time before onStop(), even before onPause() (or after onStop() in Android P). In contrast,
this method is always called after onControllerPause()
and onControllerStop()
.
outState
- Bundle in which to place your saved state.@Nullable android.view.View getView()
onControllerGetContentLayoutId()
, otherwise returns null
.null
.@Nullable <T extends android.view.View> T findViewById(@IdRes int id)
android:id
XML attribute.id
- The ID to search for.null
otherwise.


| W3C Validation Report
|
| src/main/resources/public/contact.html | Error Count : 7
|
| Error Number
|
Error Type
|
Line Number
|
Error Message
|
Error Source Code Reference
|
| 0 |
error
|
|
The character encoding was not declared. Proceeding using “windows-1252”. |
|
| 1 |
error
|
15 |
Element “ul” not allowed as child of element “ul” in this context. (Suppressing further errors from this subtree.) |
li>

|
| 2 |
error
|
19 |
End tag “div” seen, but there were open elements. |

<form action="" method="post">
<head |
| 5 |
error
|
26 |
Attribute “width” not allowed on element “input” at this point. |
e
<input name="name" placeholder="Name" type="text" width="100px;">
<labe |
| 6 |
error
|
36 |
Stray end tag “form”. |
>
</form>
</form>
</div |


Customise notification rules per room by clicking on "Notification settings" (just above).
Unsubscribe to stop receiving all unread message notifications from all conversations.
Gitter from GitLab


Get Info
In the Outline View the Get Info command can generate one of four different dialogs depending on what is selected. If a single thing is selected, and that thing is a point then the point infodialog is brought up, if it is a reference then the reference dialog is brought up, if it is a background image then the image dialog is brought up. If it is an anchor point then the anchor pointdialog is brought up.
Point Info
This shows information about the current point. The Base position is where the point itself is.
The Next CP shows both the location of the next control point, and the offset to that point from the base (and whether this setting is the default for that point, if this point is the last on an open contour then the [] Default button will be grey), underneath the offsets it shows the same information in a different format -- as a distance from the point itself, and the angle to it.
The Prev CP does the same for the previous control point.
You may change any of these and the change is reflected in the outline view. Your changes are constrained by the point type (for instance with tangent points, you may not change the angle fields as these are fixed).
FontForge also shows you the curvature of the two splines on either side of the point. In a perfect world these will be equal for curve points and the join will appear smooth. It also shows the difference between the two. The curvature is the reciprical of the radius of the circle tangent to the curve (a straight line has curvature 0 because it is a circle with infinite radius so its reciprical is 0). For most curves in letters this radius is fairly large when expressed in em-units (and its reciprical is correspondingly small). To make it easier to read, FontForge scales it by the em-size of the font -- this is equivalent to expressing it in units where 1 corresponds to an em (rather than 1000 or 2048).
You may also change whether a point is a curve, corner or tangent point (Caution: Changing from a corner point to a curve point and back to a corner point is NOT a no op. It may change the control points) You may move on to the next or previous point on the path, or the next/previous point of the current contour. If you cancel then all changes to all points are canceled.
The colors of the labels reflect the colors of the items they refer to. The point itself will be drawn in red, the previous control point will be drawn in magenta and the next control point will be drawn in dull cyan.
When editing truetype interpolated points it is more important to view the control points and let the base point continue to be interpolated. The <> Normal and <>Interpolated radio buttons control which view is active.
Pressing <> Interpolated may move the point to position it correctly for interpolation.
### Hint Mask
If you want to control what hints are active at a given point (and at all subsequent points until an new hintmask is given) you can use the hint mask pane. This provides you with a list of all hints in the current glyph, you should select the ones which you want active.
As you select hints, the glyph view will darken those hints so you can see what you've selected.
Points with circles drawn around them have hintmasks.
According to Adobe's documentation you should never have two hints which conflict active at the same time. FontForge will warn you if you do this. Unfortunately there are fonts (even fonts from Adobe) which do not follow this rule, so I have made this a warning rather than an error.
Remember to hold the control key down when making disjoint selections.
Sadly the direction in which hintmasks apply is backwards from what you would expect (the hintmask applies to this point an all previous points on the contour, rather than all subsequent ones).
Active Hints
This looks just like the hint mask, except you cannot change anything it in. It shows you what hints are currently selected at this point. If a point has a hint mask then the two will be identical.
Spiro Point Info
If you are editing in spiro (clothoid) mode rather than Bezier mode, then there are no control points and the get info dialog is much simpler. Just the location of the point and the point type.
Anchor Points Info -----------------------------------
This dialog shows the selected anchor point with the anchor class, location, type and (for ligatures) the ligature index. You may change any of these attributes (as long as your changes are reasonable). You may create new points or delete the current one. As with normal points above you may step through all the anchor points in your glyph.
In a truetype font you can force the anchor to track a contour point in the truetype glyph. This point can then be manipulated with truetype instructions to grid fit it properly with the current rasterization.
Anchor points may also be created with the Point->Add Anchor command.
Reference Info -------------------------------
This dialog shows the name of the selected reference, its encoding in the font and its postscript transformation matrix. You may alter the transformation matrix if you desire.
The transformation matrix maps points in the glyph being refered to into their location in the current glyph:
xcurrent = TM[1,1]*xref + TM[2,1]*yref + TM[3,1] ycurrent = TM[1,2]*yref + TM[2,2]*yref + TM[3,2]
The Use My Metrics checkbox is useful in truetype fonts where it forces the metrics (width) of a composite glyph (for exampe acute a) is the same as the metrics of one of its components (for example a). This is especially important in fonts containing instructions that might modify a glyph's width.
The Round To Grid checkbox is also used in truetype hints and indicates that the translation should be rounded to the rasterizer's grid before being applied to the points of the reference. This means that the grid-fitting done by the reference's instructions will still be useful in the composite.
In a truetype font a reference may be positioned by matching two points, one in the base character, and one in the reference itself. In the example at right, the reference to "acute" will be moved until point 12 in "acute" is at the same place as point 33 in the base glyph. The glory of this method is that the truetype instructions assocated with the glyphs can move these points around to an appropriate location for the current pixelsize.
Points in a composite glyph are numbered by counting the points of the first component, adding 4 (for the 4 phantom (metric) points), then counting the points in the second composite, adding 4, etc. The first composite is the one which is drawn first, not the one which is added first. The Base numbering scheme is from the full composite, while the reference point is numbered by the current reference. The current reference must be drawn after the base point. You may use Element->Order to reorder the references.
(You should probably not set Round To Grid when doing point matching)
The bounding box information is informative only and displays the current location and size of the reference.
The [Show] button will open a glyph outline view showing the glyph being referred to.
Image Info ----------
This dialog gives the offset to the lower left corner of the image and the scale factors applied to the image. Currently you may not alter anything here, it is purely informational.
See Also:


Quarkus, a lightweight Java for Serverless
Java has been around for more than 20 years and is still popular among developers today. However, with the digital landscape moving towards cloud, Java is often seems as an unfavourable option because of its heavy-duty performance.
However, fear not. Quarkus is here to bring Java into the cloud-native world. Quarkus is an open source, full stack, Kubernetes-native Java framework which optimizes Java for the cloud future. Quarkus promises:
- Fast startup (~0.055 Seconds for REST + CRUD)
- Low memory (~35 MB for REST + CRUD)
- Small footprint (higher density)
Hence it is very suitable for containers and serverless. For instance, when running a simple hello world Quarkus application, it starts in ~1s:
This simple hello world Quarkus application can found on my GitHub.
Overview
Quarkus works out-of-the-box with popular Java standards, frameworks, and libraries like Eclipse MicroProfile and Vert.x. Quarkus dependency injection is based on CDI hence Java developers are able to use JAX-RS, JPA and many others. Quarkus also includes an extension framework which allows developers to write extensions for integration and enhancement. A list of existing available extensions can be found here.
Run-time wise, Quarkus offers two run modes:
- JVM
- Native
JVM mode packages Quarkus applications as JAR files and run on vanilla OpenJDK HotSpot while native mode uses GraalVM to create a standalone executable that does not run in a Java VM. Both modes have its pros and cons, and it depends on use case to see which mode is the best fit. Considering an event-driven scenario where events trigger the function to spin up a service in real-time to react to the event. It will make sense to use native mode because JVM takes a while to start.
An interesting feature is the hot-reload capability (dev mode) where any changes made to any Java file, application config or static resources will be compiled automatically once the browser is refreshed. This is made possible with Quarkus augmentation phase where almost everything (metadata, config parsing, logics) is already configured in build-time, the whole reload takes less than a second when changes are made in run-time. This is enabled by default and to use it, just need to run:
mvn compile quarkus:dev
This improves developer’s experience especially when it comes to debugging.
Serverless Architecture
As Quarkus has extremely short startup time, it brings Java developers to the serverless world where workloads can be scaled or scaled to zero based on demand. Quarkus is a good fit for serverless applications and is event-driven in nature. Together with Kubernetes, the serverless pattern can be implemented easily where an event triggers the application and Kubernetes starts a container to handle that event. The application might produce some results from that compute or processing and once idle for enough time, that container will be scaled down to zero. This solves the under-provisioning and over-provisioning problems. I’ve written a demo using Quarkus and Knative to create a serverless application on OpenShift (Red Hat’s flavour of Kubernetes). OpenShift Serverless is based on Knative, an open source Kubernetes serverless project, which is generally available today.
Demo: https://github.com/jiajunngjj/knative-quarkus-openshift-demo
Conclusion
All in all, Quarkus aims to optimize Java development for distributed application architectures. Its container-first approach is aligned with microservices and event-driven architecture, and digital transformation strategies. Also, serverless computing model plays an important role in the cloud because it controls computing cost. Quarkus in Java ecosystem seems to be a game-changer, and moving forward, I’m excited to see how Quarkus can bring fast innovation and help enterprises to stay ahead of competitors.


Have a look at ConstantActuator and at PermeanceActuator for an explanation of both actuator models.
A voltage step at time t=0 is applied to both actuator models. In each model, the armature and an attached load mass perform a stroke between the two stoppers included in cActuator.armature and pmActuator.armature respectively. Simulate for 0.05 s and plot vs. time (same physical quantities together in a common diagram for comparison):
cActuator.p.i // input current to converter constant model pmActuator.p.i // input current to permeance model cActuator.armature.flange_a.f // actuator force of converter constant model pmActuator.armature.flange_a.f // actuator force of permeance model cActuator.x // armature position of converter constant model pmActuator.x // armature position of permeance model cActuator.L // inductance of converter constant model pmActuator.L // inductance of permeance model
The initial current rise in both actuator models is due to the inductance of the actuator coil. After acceleration of the armature and the load, the current decreases due to the motion-induced back-emf. Bouncing occurs when the armatures of both models arrive at the stopper at maximum armature position. The bouncing is rather intense due to the absence of any kind of external friction in this simple example (apart from the nonlinear damping in the stopper elements). After decay of the bouncing, both actuators operate under conditions valid for a blocked armature.
Whereas the steady state current is the same in both models, the steady state actuator force is not due to the neglect of the non-linear force component in the converter constant model. Differences in the current rise of both models are due to the neglect of the coil inductance variation in the converter constant model.


Product Delivery
Loading....


itch-db provides a special hacky pacman repository for those who don't want to use official itch app for some reason.
Advantages of using itchy-repo:
pacman
commands.
Disadvantages of using itchy-repo:
Get your itch.io API key, it's listed on your API keys page.
Add the following to your /etc/pacman/pacman.conf
file (replace ITCHIOAPIKEY
with your key):
[itch.io-paid] Server = https://itchy-db.io/repo/archlinux/paid/ITCHIOAPIKEY/$arch [itch.io-free] Server = https://itchy-db.io/repo/archlinux/free/$arch
Then run sudo pacman -Sy
as usual, and you're ready to install games! It's recommended to run sudo pkgfile --update
in order to update pkgfile
database and have proper bash completion support.
If you see a game at https://AUTHOR.itch.io/GAME
, in most cases you can install it immediately simply by typing:
sudo pacman -S itchio-AUTHOR-GAME
The package itchio-AUTHOR-GAME
is a virtual package. Actual content is always in packages corresponding to a specific itch.io upload, which name is itchio-AUTHOR-GAME-UPLOADID
where UPLOADID
is an internal numeric upload id. "Upload" package may "provide" following virtual packages:
itchio-AUTHOR-GAME
- normal full game build, paid if game is paid, free if game is free, but never demo.
itchio-AUTHOR-GAME-demo
- demo if game has one.
Package installs the following files:
/usr/local/games/itch.io/AUTHOR/GAME/UPLOADID/
.
/usr/local/share/applications/
under name itchio-AUTHOR-GAME-UPLOADID.desktop
.
System may try to detect usual dependencies such as libstdc++
or libgl
, and make package depend on them.


| 490 | (A) | that by resone to Rome the Rygalite fallis |
| 494 | (C) | That by reson to rome . þe ryalte longetħ |
| (D) | ---- no text ---- | |
| (E) | ---- no text ---- | |
| (Ex) | ---- no text ---- | |
| 507 | (L) | þat by resoun to rome þe regnance fallyþ |
| 470 | (P) | þat be Resonn to Rome þe realte falles |
| 488 | (U) | That be reson to Rome / the rialte falletħ |
| (V) | ---- no text ---- |


Erlduand CPA
Samll text alocation details
Closed now 7:00am - 9:00pm
O
C
Monday
7:00am - 9:00pm
Tuesday
7:00am - 9:00pm
Wednesday
7:00am - 9:00pm
Thursday
7:00am - 9:00pm
Friday
7:00am - 9:00pm
Saturday
7:00am - 9:00pm
Sunday
7:00am - 9:00pm
I


DevOpsNext Brief Introduction
With DevOpsNext, we provide you a framework to setup the DevOps toolchain easily. It would improve the customer experience as well as the developer experience with the benefits of standardization, plug-n-play and speed to market. CI/CD should be as ubiquitous and seamless as cloud computing or infrastructure-on-demand; empowering development teams to plug in DevOps as a service, on-demand using the framework provided.


HideWindow()
Syntax
HideWindow(#Window, State [, Flags])Description
Hides or shows the specified window.
Parameters
#Window The window to use. State It can be one of the following values: #True : the window is hidden. #False: the window is shown. The window is automatically activated (gets the focus), unless the #PB_Window_NoActivate flag is set.Flags It can be a combination of the following values: #PB_Window_NoActivate : the window will be shown but not activated (only valid when un-hiding the window). #PB_Window_ScreenCentered: the window will be screen centered (only valid when un-hiding the window). #PB_Window_WindowCentered: the window will be window centered (only valid when un-hiding the window).
Return value
None.
Example
If OpenWindow(0, 200, 200, 220, 100, "HideWindow()", #PB_Window_SystemMenu) ButtonGadget (1, 10, 60, 200, 30, "Hide the window") Repeat Event = WaitWindowEvent() Select Event Case #PB_Event_Gadget Select EventGadget() Case 1 HideWindow(0, #True) Debug "Window hidden." MessageRequester("Info", "Press OK to show the window") HideWindow(0, #False) Debug "Window is visible." EndSelect EndSelect Until Event = #PB_Event_CloseWindow EndIf
See Also
OpenWindow()
Supported OS
All


enter registration number, check in:
enter model of car:
enter faults:(lights, gears, oil, service, tyres)
enter registration to check out:
enter registration to get bill:
admin use:


Pull Requests gladly accepted Install & Configure SOGo – an Open-Source Alternative to Microsoft Exchange – on Ubuntu 12.04 =====
SOGo is a free and modern scalable groupware server. It offers shared calendars, address books, and emails through your favorite Web browser and by using a native client such as Mozilla Thunderbird and Lightning. In addition, SOGo offers native Microsoft Outlook compatibility using the OpenChange backend. This means that Microsoft Outlook 2003, 2007 and 2010 can talk directly to SOGo – just like if it was a Microsoft Exchange server; without the need for additional plugins required to make this work.
SOGo is standard-compliant. It supports CalDAV, CardDAV, GroupDAV, iMIP and iTIP and reuses existing IMAP, SMTP and database servers – making the solution easy to deploy and interoperable with many applications. Mobile devices supporting the SyncML standard use the Funambol middleware to synchronize information.
SOGo reuses many components in an infrastructure. Thus, it requires the following:
This guide assumes:
localhost
or <IP_ADDRESS>
); and
That you will be executing all of the commands that follow as the
root
user. You can switch from a local user to the
root
user (to switch to the root
user,
execute):
sudo su
Append the SOGo repository to your apt source list
, by
copying & pasting both lines, below, into the command line and
pressing Enter
:
echo -e "deb http://inverse.ca/ubuntu-nightly precise precise\n\
deb-src http://inverse.ca/ubuntu-nightly precise precise" > /etc/apt/sources.list.d/SOGo.list
Next, you must add SOGo’s GPG public key to Ubuntu’s
apt keyring
. To do so, execute the following commands:
apt-key adv --keyserver keys.gnupg.net --recv-key 0x810273C4
Then, update your lists of available software packages, by executing:
apt-get update
Install the Samba4 packages and
apt-get -y install acl attr samba4 winbind4 krb5-user
Next, add the options acl
and user_xattr
to your
mount point by executing:
vim /etc/fstab
Then, tap on the i
key and modify your settings so that it
resembles the following:
LABEL=DOROOT / ext4 acl,user_xattr,errors=remount-ro 0 1
Next, execute:
mount / remount
Given that some useful files are missing from the Samba4 package found in the repository, we’ll recompile it by executing the following commands (one-by-one):
mkdir ~/Samba4
cd ~/Samba4
apt-get install dpkg-dev
apt-get build-dep samba4
apt-get source samba4
cd samba4-4.0.1+dfsg1/
dpkg-buildpackage
make install
Next, delete the initial configuration generated by the Samba4 package:
rm /etc/samba/smb.conf
rm -R /var/lib/samba/private/*
rm -R /var/lib/samba/sysvol/*
The BIND
package was automatically installed when we
installed Samba4. However, it can be uninstalled because Samba’s internal
DNS server will be used, instead:
apt-get -y remove --purge bind9
Now, you are ready to provision Samba4 with your environment’s variables
(replace YOURDOMAIN
, yourdomain.tld
, and
SambaPWD
with values of your choice):
samba-tool domain provision --domain=YOURDOMAIN --adminpass=SambaPWD --dns-backend=SAMBA_INTERNAL --server-role=dc --function-level=2008_R2 --use-xattr=yes --use-rfc2307 --realm=yourdomain.tld
The script will generate your directory for Samba4. In the end, it will present a summary like this:
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: server
NetBIOS Domain: YOURDOMAIN
DNS Domain: yourdomain.tld
DOMAIN SID: S-1-5-21-1716394670-2609614925-1081274792
In order to have your domain and sharing, you have to manually change the configuration file with the command:
vim /etc/samba/smb.conf
then add the following lines in the [global]
section:
template shell = /usr/sbin/nologin
template homedir = /home/%ACCOUNTNAME%
Change your DNS in order to use Samba4 as main DNS server on your server, by executing:
vim /etc/resolv.conf
Then, tap on the i
key and modify your settings so that it
resembles the following:
domain yourdomain.tld
search yourdomain.tld
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
Now, restart Samba4:
service samba4 restart
To install OpenChange, execute:
apt-get -y install openchangeserver sogo-openchange openchangeproxy openchange-ocsmanager openchange-rpcproxy
Next, provision Samba4 with the OpenChange schema:
openchange_provision
Then, create an internal database for OpenChange:
openchange_provision --openchangedb
Now, enable the MAPI procotol in Samba4:
vim /etc/samba/smb.conf
Add the following lines somewhere in [global] section of the configuration file:
dcerpc endpoint servers = +epmapper, +mapiproxy
dcerpc_mapiproxy:server = true
dcerpc_mapiproxy:interfaces = exchange_emsmdb, exchange_nsp, exchange_ds_rfr
Sogo is the “backend“ of OpenChange. Install it with the following command:
apt-get -y install sogo
apt-get -y install postgresql sope4.9-gdl1-postgresql
Next, create the SOGo database in PostgreSQL:
su - postgres
createuser --no-superuser --no-createdb --no-createrole --encrypted --pwprompt sogo
createdb -O sogo sogo
exit
echo "host sogo sogo <IP_ADDRESS>/32 md5" >> /etc/postgresql/9.1/main/pg_hba.conf
Finally, restart PostgreSQL:
service postgresql restart
su - sogo -s /bin/bash
defaults write sogod SOGoTimeZone "America/Chicago"
defaults write sogod OCSFolderInfoURL "postgresql://sogo:PostgreSQL_pwd@localhost:5432/sogo/sogo_folder_info"
defaults write sogod SOGoProfileURL "postgresql://sogo:PostgreSQL_pwd@localhost:5432/sogo/sogo_user_profile"
defaults write sogod OCSSessionsFolderURL "postgresql://sogo:PostgreSQL_pwd@localhost:5432/sogo/sogo_sessions_folder"
defaults write sogod OCSEMailAlarmsFolderURL "postgresql://sogo:PostgreSQL_pwd@localhost:5432/sogo/sogo_alarm_folder"
defaults write sogod SOGoUserSources '({CNFieldName = displayName; IDFieldName = cn; UIDFieldName = sAMAccountName; IMAPHostFieldName =; baseDN = "cn=Users,dc=yourdomain,dc=tld"; bindDN = "cn=Administrator,cn=Users,dc=youdomain,dc=tld"; bindPassword = SambaPWD; canAuthenticate = YES; displayName = "Shared Addresses"; hostname = "localhost"; id = public; isAddressBook = YES; port = 389;})'
defaults write sogod WONoDetach YES
defaults write sogod WOLogFile -
defaults write sogod WOPidFile /tmp/sogo.pid
defaults write sogod SOGoDraftsFolderName "Drafts"
defaults write sogod SOGoSentFolderName "Sent"
defaults write sogod SOGoTrashFolderName "Trash"
defaults write sogod SOGoIMAPServer "localhost:144"
defaults write sogod SOGoSieveServer "sieve://<IP_ADDRESS>:4190"
defaults write sogod SOGoSieveScriptsEnabled "YES"
If you want to allow users to add their own IMAP account in SOGo, add the following command:
defaults write sogod SOGoMailAuxiliaryUserAccountsEnabled YES
Logout of the sogo
user & return to the
root
user
exit
Create a symbolic link to allow Samba4 to use the SOGo configuration file:
ln -s ~sogo/GNUstep ~root/GNUstep
There is a small bug in the init.d
of Sogo that holds up the
start-up process. You must edit the init
file:
vim /etc/init.d/sogo
and add the -b
argument at lines 70 and 88:
#Line 70
if ! start-stop-daemon -b -c $USER --quiet --start --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
# Line 88
start-stop-daemon -b -c $USER --quiet --start --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
service samba4 restart && nohup /etc/init.d/sogo restart &
The installation of Cyrus-Imap is done with the following command:
apt-get -y install cyrus-admin-2.4 cyrus-imapd-2.4 sasl2-bin
Cyrus needs to use Saslauth system in order to authenticate its users. All small setup of Sasl in order to use Samba4.
vim /etc/default/saslauthd
and change the following lines:
...
START=yes
...
MECHANISMS="ldap"
Create the following file with the command
vim /etc/saslauthd.conf
and paste the following content and by changing of course the Administrator password:
ldap_servers: ldapi://%2Fvar%2Flib%2Fsamba%2Fprivate%2Fldapi
ldap_search_base: dc=yourdomain,dc=tld
ldap_filter: (cn=%u)
ldap_version: 3
ldap_auth_method: bind
ldap_bind_dn<EMAIL_ADDRESS>ldap_bind_pw: pass1234
ldap_scope: sub
Restart the service:
service saslauthd restart
You can also check that you authentication works:
testsaslauthd -u administrator -p pass1234
vim /etc/cyrus.conf
Add the following line in SERVICES section:
imapnoauth cmd="imapd -U 30 -N" listen="<IP_ADDRESS>:144" prefork=0 maxchild=100
Pull Requests gladly accepted


- Member Alias::ProcessCommands (Player *mobile)
Limit alias length.
check for recursion of aliases.
allow for delays.
- Member BaseObject::Copy (BaseObject *obj) const
- move this to entity.
- Member CMDSuicide::Confirm (Socket *sock, bool choice)
- remove backup?
- Class Affect
Allow affects to store multiple attributes.
allow an ID or some pointer to be set so that affects and their timers can be destroyed when a living leaves the game.
add affect removal code on game leave.
- Class BanList
- Add a way to ban large networks by CIDR.
- Class CMDAddComponent
- remove the number parsing code.
- Class CMDAStats
- allow for area to be specified.
- Class CMDBan
- clean up command to allow for add/remove/etc.
- Class CMDCommands
- clean up the listing not to use so many stringstreams.
- Class CMDHist
- consider moving chan and hist to channel.cpp(?)
- Class CMDMList
allow for specification of a zone other than current.
allow for columnization of output.
- Class CMDMLoad
determine what to do with NPC after it's been created.
Remove number parsing code to a utility.
- Class CMDPdelete
- finish logic.
- Class CMDPrompt
- perhaps some input verification.
- Class CMDSockstats
- cverify logic.
- Class CMDUnsilence
- combine this with silence.
- Class CMDVList
allow for the specification of a zone other than current.
allow for the columnization of data.
- Class CMDWhois
- cleanup logic.
- Member Command::HasAlias (const std::string &name, bool partialMatch=false)
- could have better matching here.
- Member Command::Syntax (Player *mobile, int subcmd) const
- make this an abstract method, forcing all commands to use it.
- Member Component::Attach (BaseObject *obj)
- check for dependency circulation.
- Member Editor::Input (void *arg, const std::string &input)
- fix to behave more like ed.
- Member Event::AddScriptCallback (Entity *obj, int func)
fix this for scripting.
figure out what this is supposed to do.
- Member EventManager::AddScriptCallback (Entity *obj, const char *event, int func)
- figure out what this is doing and revamp with scripting. Adds a script event callback.
- Member Player::Backup ()
- update to make save take a backup param.


My homepage
Make A Booking
View Bookings
Profile
Contact Us
Log Out
Employees
Add Employee
Traveller ID
54321
Name
Gary Jones
Email
<EMAIL_ADDRESS>Phone Number
07709876543
Remaining Budget
£270
Edit
Traveller ID
54321
Name
Gary Jones
Email
<EMAIL_ADDRESS>Phone Number
07709876543
Remaining Budget
£270
Edit
Traveller ID
54321
Name
Gary Jones
Email
<EMAIL_ADDRESS>Phone Number
07709876543
Remaining Budget
£270
Edit
Traveller ID
54321
Name
Gary Jones
Email
<EMAIL_ADDRESS>Phone Number
07709876543
Remaining Budget
£270
Edit


| Module | ActionView::Helpers::DateHelper |
| In: |
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb
|
The Date Helper primarily creates select/option tags for different kinds of dates and date elements. All of the select-type methods share a number of common options that are as follows:
would give birthday[month] instead of date[month] if passed to the select_month method.
Returns a set of select tags (one for year, month, and day) pre-selected for accessing a specified date-based attribute (identified by method) on an object assigned to the template (identified by object).
If anything is passed in the html_options hash it will be applied to every select tag in the set.
NOTE: Discarded selects will default to 1. So if no month select is available, January will be assumed.
# Generates a date select that when POSTed is stored in the post variable, in the written_on attribute date_select("post", "written_on") # Generates a date select that when POSTed is stored in the post variable, in the written_on attribute, # with the year in the year drop down box starting at 1995. date_select("post", "written_on", :start_year => 1995) # Generates a date select that when POSTed is stored in the post variable, in the written_on attribute, # with the year in the year drop down box starting at 1995, numbers used for months instead of words, # and without a day select box. date_select("post", "written_on", :start_year => 1995, :use_month_numbers => true, :discard_day => true, :include_blank => true) # Generates a date select that when POSTed is stored in the post variable, in the written_on attribute # with the fields ordered as day, month, year rather than month, day, year. date_select("post", "written_on", :order => [:day, :month, :year]) # Generates a date select that when POSTed is stored in the user variable, in the birthday attribute # lacking a year field. date_select("user", "birthday", :order => [:month, :day]) # Generates a date select that when POSTed is stored in the user variable, in the birthday attribute # which is initially set to the date 3 days from the current date date_select("post", "written_on", :default => 3.days.from_now) # Generates a date select that when POSTed is stored in the credit_card variable, in the bill_due attribute # that will have a default day of 20. date_select("credit_card", "bill_due", :default => { :day => 20 }) # Generates a date select with custom prompts date_select("post", "written_on", :prompt => { :day => 'Select day', :month => 'Select month', :year => 'Select year' })
The selects are prepared for multi-parameter assignment to an Active Record object.
Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that all month choices are valid.
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 198 198: def date_select(object_name, method, options = {}, html_options = {}) 199: InstanceTag.new(object_name, method, self, options.delete(:object)).to_date_select_tag(options, html_options) 200: end
Returns a set of select tags (one for year, month, day, hour, and minute) pre-selected for accessing a specified datetime-based attribute (identified by method) on an object assigned to the template (identified by object).
If anything is passed in the html_options hash it will be applied to every select tag in the set.
# Generates a datetime select that, when POSTed, will be stored in the post variable in the written_on # attribute datetime_select("post", "written_on") # Generates a datetime select with a year select that starts at 1995 that, when POSTed, will be stored in the # post variable in the written_on attribute. datetime_select("post", "written_on", :start_year => 1995) # Generates a datetime select with a default value of 3 days from the current time that, when POSTed, will # be stored in the trip variable in the departing attribute. datetime_select("trip", "departing", :default => 3.days.from_now) # Generates a datetime select that discards the type that, when POSTed, will be stored in the post variable # as the written_on attribute. datetime_select("post", "written_on", :discard_type => true) # Generates a datetime select with a custom prompt. Use :prompt=>true for generic prompts. datetime_select("post", "written_on", :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'}) datetime_select("post", "written_on", :prompt => {:hour => true}) # generic prompt for hours datetime_select("post", "written_on", :prompt => true) # generic prompts for all
The selects are prepared for multi-parameter assignment to an Active Record object.
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 275 275: def datetime_select(object_name, method, options = {}, html_options = {}) 276: InstanceTag.new(object_name, method, self, options.delete(:object)).to_datetime_select_tag(options, html_options) 277: end
Reports the approximate distance in time between two Time or Date objects or integers as seconds. Set include_seconds to true if you want more detailed approximations when distance < 1 min, 29 secs Distances are reported based on the following table:
0 <-> 29 secs # => less than a minute 30 secs <-> 1 min, 29 secs # => 1 minute 1 min, 30 secs <-> 44 mins, 29 secs # => [2..44] minutes 44 mins, 30 secs <-> 89 mins, 29 secs # => about 1 hour 89 mins, 29 secs <-> 23 hrs, 59 mins, 29 secs # => about [2..24] hours 23 hrs, 59 mins, 29 secs <-> 47 hrs, 59 mins, 29 secs # => 1 day 47 hrs, 59 mins, 29 secs <-> 29 days, 23 hrs, 59 mins, 29 secs # => [2..29] days 29 days, 23 hrs, 59 mins, 30 secs <-> 59 days, 23 hrs, 59 mins, 29 secs # => about 1 month 59 days, 23 hrs, 59 mins, 30 secs <-> 1 yr minus 1 sec # => [2..12] months 1 yr <-> 1 yr, 3 months # => about 1 year 1 yr, 3 months <-> 1 yr, 9 months # => over 1 year 1 yr, 9 months <-> 2 yr minus 1 sec # => almost 2 years 2 yrs <-> max time or date # => (same rules as 1 yr)
With include_seconds = true and the difference < 1 minute 29 seconds:
0-4 secs # => less than 5 seconds 5-9 secs # => less than 10 seconds 10-19 secs # => less than 20 seconds 20-39 secs # => half a minute 40-59 secs # => less than a minute 60-89 secs # => 1 minute
from_time = Time.now distance_of_time_in_words(from_time, from_time + 50.minutes) # => about 1 hour distance_of_time_in_words(from_time, 50.minutes.from_now) # => about 1 hour distance_of_time_in_words(from_time, from_time + 15.seconds) # => less than a minute distance_of_time_in_words(from_time, from_time + 15.seconds, true) # => less than 20 seconds distance_of_time_in_words(from_time, 3.years.from_now) # => about 3 years distance_of_time_in_words(from_time, from_time + 60.hours) # => about 3 days distance_of_time_in_words(from_time, from_time + 45.seconds, true) # => less than a minute distance_of_time_in_words(from_time, from_time - 45.seconds, true) # => less than a minute distance_of_time_in_words(from_time, 76.seconds.from_now) # => 1 minute distance_of_time_in_words(from_time, from_time + 1.year + 3.days) # => about 1 year distance_of_time_in_words(from_time, from_time + 3.years + 6.months) # => over 3 years distance_of_time_in_words(from_time, from_time + 4.years + 9.days + 30.minutes + 5.seconds) # => about 4 years to_time = Time.now + 6.years + 19.days distance_of_time_in_words(from_time, to_time, true) # => about 6 years distance_of_time_in_words(to_time, from_time, true) # => about 6 years distance_of_time_in_words(Time.now, Time.now) # => less than a minute
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 63 63: def distance_of_time_in_words(from_time, to_time = 0, include_seconds = false, options = {}) 64: from_time = from_time.to_time if from_time.respond_to?(:to_time) 65: to_time = to_time.to_time if to_time.respond_to?(:to_time) 66: distance_in_minutes = (((to_time - from_time).abs)/60).round 67: distance_in_seconds = ((to_time - from_time).abs).round 68: 69: I18n.with_options :locale => options[:locale], :scope => 'datetime.distance_in_words''datetime.distance_in_words' do |locale| 70: case distance_in_minutes 71: when 0..1 72: return distance_in_minutes == 0 ? 73: locale.t(:less_than_x_minutes, :count => 1) : 74: locale.t(:x_minutes, :count => distance_in_minutes) unless include_seconds 75: 76: case distance_in_seconds 77: when 0..4 then locale.t :less_than_x_seconds, :count => 5 78: when 5..9 then locale.t :less_than_x_seconds, :count => 10 79: when 10..19 then locale.t :less_than_x_seconds, :count => 20 80: when 20..39 then locale.t :half_a_minute 81: when 40..59 then locale.t :less_than_x_minutes, :count => 1 82: else locale.t :x_minutes, :count => 1 83: end 84: 85: when 2..44 then locale.t :x_minutes, :count => distance_in_minutes 86: when 45..89 then locale.t :about_x_hours, :count => 1 87: when 90..1439 then locale.t :about_x_hours, :count => (distance_in_minutes.to_f / 60.0).round 88: when 1440..2529 then locale.t :x_days, :count => 1 89: when 2530..43199 then locale.t :x_days, :count => (distance_in_minutes.to_f / 1440.0).round 90: when 43200..86399 then locale.t :about_x_months, :count => 1 91: when 86400..525599 then locale.t :x_months, :count => (distance_in_minutes.to_f / 43200.0).round 92: else 93: distance_in_years = distance_in_minutes / 525600 94: minute_offset_for_leap_year = (distance_in_years / 4) * 1440 95: remainder = ((distance_in_minutes - minute_offset_for_leap_year) % 525600) 96: if remainder < 131400 97: locale.t(:about_x_years, :count => distance_in_years) 98: elsif remainder < 394200 99: locale.t(:over_x_years, :count => distance_in_years) 100: else 101: locale.t(:almost_x_years, :count => distance_in_years + 1) 102: end 103: end 104: end 105: end
Returns a set of html select-tags (one for year, month, and day) pre-selected with the date. It‘s possible to explicitly set the order of the tags using the :order option with an array of symbols :year, :month and :day in the desired order. If you do not supply a Symbol, it will be appended onto the :order passed in.
If anything is passed in the html_options hash it will be applied to every select tag in the set.
my_date = Time.today + 6.days # Generates a date select that defaults to the date in my_date (six days after today) select_date(my_date) # Generates a date select that defaults to today (no specified date) select_date() # Generates a date select that defaults to the date in my_date (six days after today) # with the fields ordered year, month, day rather than month, day, year. select_date(my_date, :order => [:year, :month, :day]) # Generates a date select that discards the type of the field and defaults to the date in # my_date (six days after today) select_date(my_date, :discard_type => true) # Generates a date select that defaults to the date in my_date, # which has fields separated by '/' select_date(my_date, :date_separator => '/') # Generates a date select that defaults to the datetime in my_date (six days after today) # prefixed with 'payday' rather than 'date' select_date(my_date, :prefix => 'payday') # Generates a date select with a custom prompt. Use :prompt=>true for generic prompts. select_date(my_date, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'}) select_date(my_date, :prompt => {:hour => true}) # generic prompt for hours select_date(my_date, :prompt => true) # generic prompts for all
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 364 364: def select_date(date = Date.current, options = {}, html_options = {}) 365: DateTimeSelector.new(date, options, html_options).select_date 366: end
Returns a set of html select-tags (one for year, month, day, hour, and minute) pre-selected with the datetime. It‘s also possible to explicitly set the order of the tags using the :order option with an array of symbols :year, :month and :day in the desired order. If you do not supply a Symbol, it will be appended onto the :order passed in. You can also add :date_separator, :datetime_separator and :time_separator keys to the options to control visual display of the elements.
If anything is passed in the html_options hash it will be applied to every select tag in the set.
my_date_time = Time.now + 4.days # Generates a datetime select that defaults to the datetime in my_date_time (four days after today) select_datetime(my_date_time) # Generates a datetime select that defaults to today (no specified datetime) select_datetime() # Generates a datetime select that defaults to the datetime in my_date_time (four days after today) # with the fields ordered year, month, day rather than month, day, year. select_datetime(my_date_time, :order => [:year, :month, :day]) # Generates a datetime select that defaults to the datetime in my_date_time (four days after today) # with a '/' between each date field. select_datetime(my_date_time, :date_separator => '/') # Generates a datetime select that defaults to the datetime in my_date_time (four days after today) # with a date fields separated by '/', time fields separated by '' and the date and time fields # separated by a comma (','). select_datetime(my_date_time, :date_separator => '/', :time_separator => '', :datetime_separator => ',') # Generates a datetime select that discards the type of the field and defaults to the datetime in # my_date_time (four days after today) select_datetime(my_date_time, :discard_type => true) # Generates a datetime select that defaults to the datetime in my_date_time (four days after today) # prefixed with 'payday' rather than 'date' select_datetime(my_date_time, :prefix => 'payday') # Generates a datetime select with a custom prompt. Use :prompt=>true for generic prompts. select_datetime(my_date_time, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'}) select_datetime(my_date_time, :prompt => {:hour => true}) # generic prompt for hours select_datetime(my_date_time, :prompt => true) # generic prompts for all
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 323 323: def select_datetime(datetime = Time.current, options = {}, html_options = {}) 324: DateTimeSelector.new(datetime, options, html_options).select_datetime 325: end
Returns a select tag with options for each of the days 1 through 31 with the current day selected. The date can also be substituted for a hour number. Override the field name using the :field_name option, ‘day’ by default.
my_date = Time.today + 2.days # Generates a select field for days that defaults to the day for the date in my_date select_day(my_time) # Generates a select field for days that defaults to the number given select_day(5) # Generates a select field for days that defaults to the day for the date in my_date # that is named 'due' rather than 'day' select_day(my_time, :field_name => 'due') # Generates a select field for days with a custom prompt. Use :prompt => true for a # generic prompt. select_day(5, :prompt => 'Choose day')
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 501 501: def select_day(date, options = {}, html_options = {}) 502: DateTimeSelector.new(date, options, html_options).select_day 503: end
Returns a select tag with options for each of the hours 0 through 23 with the current hour selected. The hour can also be substituted for a hour number. Override the field name using the :field_name option, ‘hour’ by default.
my_time = Time.now + 6.hours # Generates a select field for hours that defaults to the hour for the time in my_time select_hour(my_time) # Generates a select field for hours that defaults to the number given select_hour(13) # Generates a select field for hours that defaults to the minutes for the time in my_time # that is named 'stride' rather than 'second' select_hour(my_time, :field_name => 'stride') # Generates a select field for hours with a custom prompt. Use :prompt => true for a # generic prompt. select_hour(13, :prompt =>'Choose hour')
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 476 476: def select_hour(datetime, options = {}, html_options = {}) 477: DateTimeSelector.new(datetime, options, html_options).select_hour 478: end
Returns a select tag with options for each of the minutes 0 through 59 with the current minute selected. Also can return a select tag with options by minute_step from 0 through 59 with the 00 minute selected. The minute can also be substituted for a minute number. Override the field name using the :field_name option, ‘minute’ by default.
my_time = Time.now + 6.hours # Generates a select field for minutes that defaults to the minutes for the time in my_time select_minute(my_time) # Generates a select field for minutes that defaults to the number given select_minute(14) # Generates a select field for minutes that defaults to the minutes for the time in my_time # that is named 'stride' rather than 'second' select_minute(my_time, :field_name => 'stride') # Generates a select field for minutes with a custom prompt. Use :prompt=>true for a # generic prompt. select_minute(14, :prompt => 'Choose minutes')
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 451 451: def select_minute(datetime, options = {}, html_options = {}) 452: DateTimeSelector.new(datetime, options, html_options).select_minute 453: end
Returns a select tag with options for each of the months January through December with the current month selected. The month names are presented as keys (what‘s shown to the user) and the month numbers (1-12) are used as values (what‘s submitted to the server). It‘s also possible to use month numbers for the presentation instead of names — set the :use_month_numbers key in options to true for this to happen. If you want both numbers and names, set the :add_month_numbers key in options to true. If you would prefer to show month names as abbreviations, set the :use_short_month key in options to true. If you want to use your own month names, set the :use_month_names key in options to an array of 12 month names. Override the field name using the :field_name option, ‘month’ by default.
# Generates a select field for months that defaults to the current month that # will use keys like "January", "March". select_month(Date.today) # Generates a select field for months that defaults to the current month that # is named "start" rather than "month" select_month(Date.today, :field_name => 'start') # Generates a select field for months that defaults to the current month that # will use keys like "1", "3". select_month(Date.today, :use_month_numbers => true) # Generates a select field for months that defaults to the current month that # will use keys like "1 - January", "3 - March". select_month(Date.today, :add_month_numbers => true) # Generates a select field for months that defaults to the current month that # will use keys like "Jan", "Mar". select_month(Date.today, :use_short_month => true) # Generates a select field for months that defaults to the current month that # will use keys like "Januar", "Marts." select_month(Date.today, :use_month_names => %w(Januar Februar Marts ...)) # Generates a select field for months with a custom prompt. Use :prompt => true for a # generic prompt. select_month(14, :prompt => 'Choose month')
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 543 543: def select_month(date, options = {}, html_options = {}) 544: DateTimeSelector.new(date, options, html_options).select_month 545: end
Returns a select tag with options for each of the seconds 0 through 59 with the current second selected. The second can also be substituted for a second number. Override the field name using the :field_name option, ‘second’ by default.
my_time = Time.now + 16.minutes # Generates a select field for seconds that defaults to the seconds for the time in my_time select_second(my_time) # Generates a select field for seconds that defaults to the number given select_second(33) # Generates a select field for seconds that defaults to the seconds for the time in my_time # that is named 'interval' rather than 'second' select_second(my_time, :field_name => 'interval') # Generates a select field for seconds with a custom prompt. Use :prompt=>true for a # generic prompt. select_minute(14, :prompt => 'Choose seconds')
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 425 425: def select_second(datetime, options = {}, html_options = {}) 426: DateTimeSelector.new(datetime, options, html_options).select_second 427: end
Returns a set of html select-tags (one for hour and minute) You can set :time_separator key to format the output, and the :include_seconds option to include an input for seconds.
If anything is passed in the html_options hash it will be applied to every select tag in the set.
my_time = Time.now + 5.days + 7.hours + 3.minutes + 14.seconds # Generates a time select that defaults to the time in my_time select_time(my_time) # Generates a time select that defaults to the current time (no specified time) select_time() # Generates a time select that defaults to the time in my_time, # which has fields separated by ':' select_time(my_time, :time_separator => ':') # Generates a time select that defaults to the time in my_time, # that also includes an input for seconds select_time(my_time, :include_seconds => true) # Generates a time select that defaults to the time in my_time, that has fields # separated by ':' and includes an input for seconds select_time(my_time, :time_separator => ':', :include_seconds => true) # Generates a time select with a custom prompt. Use :prompt=>true for generic prompts. select_time(my_time, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'}) select_time(my_time, :prompt => {:hour => true}) # generic prompt for hours select_time(my_time, :prompt => true) # generic prompts for all
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 400 400: def select_time(datetime = Time.current, options = {}, html_options = {}) 401: DateTimeSelector.new(datetime, options, html_options).select_time 402: end
Returns a select tag with options for each of the five years on each side of the current, which is selected. The five year radius can be changed using the :start_year and :end_year keys in the options. Both ascending and descending year lists are supported by making :start_year less than or greater than :end_year. The date can also be substituted for a year given as a number. Override the field name using the :field_name option, ‘year’ by default.
# Generates a select field for years that defaults to the current year that # has ascending year values select_year(Date.today, :start_year => 1992, :end_year => 2007) # Generates a select field for years that defaults to the current year that # is named 'birth' rather than 'year' select_year(Date.today, :field_name => 'birth') # Generates a select field for years that defaults to the current year that # has descending year values select_year(Date.today, :start_year => 2005, :end_year => 1900) # Generates a select field for years that defaults to the year 2006 that # has ascending year values select_year(2006, :start_year => 2000, :end_year => 2010) # Generates a select field for years with a custom prompt. Use :prompt => true for a # generic prompt. select_year(14, :prompt => 'Choose year')
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 574 574: def select_year(date, options = {}, html_options = {}) 575: DateTimeSelector.new(date, options, html_options).select_year 576: end
Like distance_of_time_in_words, but where to_time is fixed to Time.now.
time_ago_in_words(3.minutes.from_now) # => 3 minutes time_ago_in_words(Time.now - 15.hours) # => 15 hours time_ago_in_words(Time.now) # => less than a minute from_time = Time.now - 3.days - 14.minutes - 25.seconds # => 3 days
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 115 115: def time_ago_in_words(from_time, include_seconds = false) 116: distance_of_time_in_words(from_time, Time.now, include_seconds) 117: end
Returns a set of select tags (one for hour, minute and optionally second) pre-selected for accessing a specified time-based attribute (identified by method) on an object assigned to the template (identified by object). You can include the seconds with :include_seconds.
This method will also generate 3 input hidden tags, for the actual year, month and day unless the option :ignore_date is set to true.
If anything is passed in the html_options hash it will be applied to every select tag in the set.
# Creates a time select tag that, when POSTed, will be stored in the post variable in the sunrise attribute time_select("post", "sunrise") # Creates a time select tag that, when POSTed, will be stored in the order variable in the submitted # attribute time_select("order", "submitted") # Creates a time select tag that, when POSTed, will be stored in the mail variable in the sent_at attribute time_select("mail", "sent_at") # Creates a time select tag with a seconds field that, when POSTed, will be stored in the post variables in # the sunrise attribute. time_select("post", "start_time", :include_seconds => true) # Creates a time select tag with a seconds field that, when POSTed, will be stored in the entry variables in # the submission_time attribute. time_select("entry", "submission_time", :include_seconds => true) # You can set the :minute_step to 15 which will give you: 00, 15, 30 and 45. time_select 'game', 'game_time', {:minute_step => 15} # Creates a time select tag with a custom prompt. Use :prompt => true for generic prompts. time_select("post", "written_on", :prompt => {:hour => 'Choose hour', :minute => 'Choose minute', :second => 'Choose seconds'}) time_select("post", "written_on", :prompt => {:hour => true}) # generic prompt for hours time_select("post", "written_on", :prompt => true) # generic prompts for all
The selects are prepared for multi-parameter assignment to an Active Record object.
Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that all month choices are valid.
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/date_helper.rb, line 242 242: def time_select(object_name, method, options = {}, html_options = {}) 243: InstanceTag.new(object_name, method, self, options.delete(:object)).to_time_select_tag(options, html_options) 244: end


--- title: Kevoree life ... layout: post published: true ---
Software engineering aims at building methods to ensure the robustness of software vis-à-vis its future developments ... If it is still difficult to imagine such problems when starting a new project, it is interesting to see what happens after a while ...
We have exported thanks to gource app a video that shows the evolution of our Git repository from a year ... You say refactoring ... ;-)
Kevoree 1.6 is in final stage . Stay tuned .


One thing that I always fear is having any of my information I enter online stolen by the millions of people searching(LURKING!!) around the internet. Although not a new problem, I think hackers continue to be a major concern as technology continues to grow and general consumers rely more and more on the internet to get through their daily lives.
I am not much into politics to be honest, but it will be interesting to see if cybersecurity can be controlled from a government level. I've always kind of thought about it as a double-edged sword. On one hand, I think everyone can agree the government needs to be aware of important cybersecurity breaches in hopes of finding way to make the internet more secure. But on the other hand, the public often complains about the government having access to too much information, especially when it comes to individual's personal information or conversations they may have over the internet. People want privacy from everyone, so should the government have the very access to information we want to keep away from hackers???
I think it's important to get a bill passed in congress to allow all kinds of information sharing to the government in hopes of staying one step ahead of hackers and building better, more secure systems. This may be an ongoing battle as technologies continue to grow, but I hope we see more and more action taken place in Washington to hopefully deter hackers and keep the public's personal information in safe hands.
Nick Siefken


In this section you can visualize an overview of tickets and its topics. It is divided in two main plots:
- Bar plot of last topics: In this plot you can observe the topics that the last tickets talk about.
You can have a snapshot of the main issues of your system at this moment.
- Pie Chart of topics history: This chart shows you all the topics of your system and how important they are
in your system. Place your mouse over each one and see how many words form it.
With both charts you can click a topic and you will see a cloud of words that will help you to describe the topic, see which words compose it
and how relevant they are. You can also change the default name of the topic in order to identify it better.


HOME
MAIN
RACE
ABOUT
Hakka Cuisine
Cantonese Cuisine
MENU
LUNCH
DINNER
GALLERY
Images
Video
FAQs
GITHUB DIY
PAGE DIY
CONTACT US
CONTACT US
FEEDBACK
Your browser does not support the video tag / type
Delicious Beef - Mongolian Style ->Courtesy: PMGK


Diane is working on a new career!
Hi, my name is Diane Aguilar and I am probably the senior citizen of the group.
I have three children, which are now young adults.
Now that my children are grown, I am wanting to expand my own skills by taking this Bootcamp.
Landscaping and home improvement projects are a couple of hobbies that I am interested in.
Looking at me, most people would not know I could cut and lay tile with the best of flooring experts!
Sincerely,


What is JavaScript?
Which is not a JavaScript Data Type?
Which company developed JavaScript?
What are all the looping structures in JavaScript?
Which is not a type of Pop up boxes available in JavaScript?