Watch 24 hour timelapse video from the skies above Brecon Beacons.
This is a Starlight Xpress Oculus camera I installed at the Brecon Beacons National Park Visitor Centre for their use in promoting dark skies and their Dark Sky Reserve status.
For more information about the installation and why I wanted to do it, please have a look at my blog post on Dark Matter Sheep. You can find more information about me ,Edward Gomez, on my profile website.
Funding to purchase the camera was provided by the Cardiff University Public Engagement small grants scheme.
All of the camera software is written in Python and stored on Git Hub, so Fork Me!.
© 2016 Dark Matter Sheep


Demonstrates the basic functionality of the autocomplete input, using a static string array initializer. As such, the returned value will be the free input value of the user.
The snippets below demonstrate the simplest way of using the autocomplete component. The component works
by providing it a model
which is a fancy term for the data source that will be queried based on
the user input. There are various models available, all of them demonstrated on this page. This example demonstrates
the simplest model, the StaticAutocompleteModel<string>


A thing in here
This is class-node 1
This is class-node 2
This is class-node 3
This is class-node 4
This is one
This is two
This is three


|
Bug-reproducer Assistant Python kernel
1.0
Código Python de kernel del Bug-reproducer Assistant
|
Public Member Functions | |
| def | __init__ |
| def | parseLine_ |
| def | getDefaultAdditionalDependencies |
| def | getAdditionalDependenciesTag |
| def | getPreprocessorDefinitionsTag |
| def | getAdditionalLibraryDirectoriesTag |
| def | getAdditionalIncludeDirectoriesTag |
| def | addFeaturesToLine |
| def | getFeatureLine |
Public Attributes | |
| currentConfiguration_ | |
| isAdditionalDependencies_ | |
| exitAdditionalDependenciesParent_ | |
| exitAdditionalLibraryDirectoriesParent_ | |
| isPreprocessorDefinitions_ | |
| exitPreprocessorDefinitionsParent_ | |
| exitAdditionalIncludeDirectoriesParent_ | |
| isAdditionalLibraryDirectories_ | |
| isAdditionalIncludeDirectories_ | |
Static Public Attributes | |
| string | ADDITIONAL_DEPENDENCIES_TAG = 'AdditionalDependencies' |
| string | ADDITIONAL_DEPENDENCIES_SEARCH = '<' |
| string | PREPOCESSOR_DEFINITIONS_TAG = 'PreprocessorDefinitions' |
| string | PREPOCESSOR_DEFINITIONS_SEARCH = '<' |
| string | ADDITIONAL_LIBRARY_DIRECTORIES_TAG = 'AdditionalLibraryDirectories' |
| string | ADDITIONAL_LIBRARY_DIRECTORIES_SEARCH = '<' |
| string | ADDITIONAL_INCLUDE_DIRECTORIES_TAG = 'AdditionalIncludeDirectories' |
| string | ADDITIONAL_INCLUDE_DIRECTORIES_SEARCH = '<' |
| string | DEFAULT_ADDITIONAL_DEPENDENCIES = 'kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)' |
ProjectTokenizer implementation for Visual Studio 10 project files (.vcxproj extension).
| def gui::parse_project::VcxprojTokenizer::__init__ | ( | self | ) |
| self | The VcxprojTokenizer instance. Constructor. |
Reimplemented from gui::parse_project::ProjectTokenizer.
| def gui::parse_project::VcxprojTokenizer::addFeaturesToLine | ( | self, | |
| line, | |||
| nextLine, | |||
| featureTag, | |||
| features | |||
| ) |
| self | The VcxprojTokenizer instance. |
| line | A project line. |
| nextLine | The following line. |
| featureTag | Feature name in the project file (for example: "PreprocessorDefinitions"). |
| features | The new features list to add. |
Add features to a line. See getFeatureLine() for more details.
Reimplemented from gui::parse_project::ProjectTokenizer.
| def gui::parse_project::VcxprojTokenizer::getAdditionalDependenciesTag | ( | self | ) |
| self | The VcxprojTokenizer instance. Get Additional Dependencies tag. |
Reimplemented from gui::parse_project::ProjectTokenizer.
| def gui::parse_project::VcxprojTokenizer::getAdditionalIncludeDirectoriesTag | ( | self | ) |
| self | The VcxprojTokenizer instance. Get additional include directories tag. |
Reimplemented from gui::parse_project::ProjectTokenizer.
| def gui::parse_project::VcxprojTokenizer::getAdditionalLibraryDirectoriesTag | ( | self | ) |
| self | The VcxprojTokenizer instance. Get additional library directories tag. |
Reimplemented from gui::parse_project::ProjectTokenizer.
| def gui::parse_project::VcxprojTokenizer::getDefaultAdditionalDependencies | ( | self | ) |
| self | The VcxprojTokenizer instance. Get default additional dependencies. |
Reimplemented from gui::parse_project::ProjectTokenizer.
| def gui::parse_project::VcxprojTokenizer::getFeatureLine | ( | self, | |
| features, | |||
| featureTag, | |||
defaultFeaturesStr = '' |
|||
| ) |
| self | The VcxprojTokenizer instance. |
| features | The features list to insert. |
| featureTag | Feature name in the project file (for example: "PreprocessorDefinitions"). |
| defaultFeaturesStr | Default features to insert. |
Implementation for "Get feature line". It returns the line with the tags and the feature information. For instance, for the feature "Preprocessor definitions in "Debug" configuration, it returns: "<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);BUG_REPRODUCER_ASSISTANT_ENABLED</PreprocessorDefinitions>". NOTE: The default features Take "Additional Dependencies" as an example. When Visual Studio creates a project, it does not store in the vcxproj file a line with the additional dependencies. However, if you use the IDE to add a new dependency (like bug_reproducer_assistant.lib), you will see a default list: "kernel32.lib;user32.lib...". That list is not stored until you add a new dependency at the end of it. Then ALL the list is stored. To mimic the Visual Studio IDE behavior, this method stores the default features (they are hardcoded) the first time.
Reimplemented from gui::parse_project::ProjectTokenizer.
| def gui::parse_project::VcxprojTokenizer::getPreprocessorDefinitionsTag | ( | self | ) |
| self | The VcxprojTokenizer instance. Get preprocessor definitions tag. |
Reimplemented from gui::parse_project::ProjectTokenizer.
| def gui::parse_project::VcxprojTokenizer::parseLine_ | ( | self, | |
| line | |||
| ) |
| self | The VcxprojTokenizer instance. |
| line | A C++ project line. Parse the line, discovering the flags for regions. |
Reimplemented from gui::parse_project::ProjectTokenizer.


Holiday Calendar
Home
Calendars
About
Contact Us
Holiday Calendar
{% for (company,location,link) in j_companies %}
{{company}}
{{location}}
{% endfor %}


Triangle is a polygon with three edges and three vertices.
It is one of the basic shapes in geometry.
A triangle with vertices A, B, and C is denoted.
In Euclidean geometry any three points, when non-collinear,
determine a unique triangle and simultaneously, a unique plane
Type of Triangle
- All triangles have 3 sides and 3 angles which always add up to 180°.
The Triangle Inequality Theorem states that:
The longest side of any triangle must be
less than the sum of the other 2 sides.
Triangles are classified in 2 ways-
1) By the number of equal sides they have:
• scalene - all 3 sides have different lengths
• isosceles - 2 sides have equal lengths
• equilateral - all 3 sides are equal
2) By the types of angles they have:
• acute triangle - all 3 angles are acute (less than 90°)
• right triangle - has one right angle (a right angle = 90°)
• obtuse triangle - has one obtuse angle (an obtuse angle is greater than 90° and less than 180°).


To those who care for babies at birth
Helping Babies Breathe teaches birth attendants how to care for newborns at birth.
- All babies need to be kept clean, warm, and helped to breastfeed
- Babies who do not breathe need extra help in the first minute after birth
Helping Babies Breathe focuses on The Golden Minute when stimulation to breathe and ventilation with bag and mask can save a life. At least one person skilled in helping a baby breathe should be present at every birth.
Helping Babies Breathe is designed to be part of a program for essential newborn care, which covers important actions in the first days after birth. However, training is only a first step toward the goal of better health for newborns.
Use this Provider Guide before, during, and after a training course.
Before
- Read the Provider Guide
- Answer the Check yourself questions
During
- Practice the Action Plan and the skills of bag and mask ventilation
- Share your experiences and ask questions
- Participate actively in Group discussion
- Help others learn
After
- Commit to providing the best care at birth
- Continue to practice the Action Plan and the skills of bag and mask ventilation
- Work with others to improve care in your facility
Planning for birth begins in the family and the community. The provider helps the pregnant woman and her family prepare a birth plan and emergency plan during antenatal care. Health workers, community leaders, and families support women to have a skilled attendant at birth. Health facilities maintain enough skilled people and equipment and the providers work as a team to give the best care.
With planning and work to put into practice the skills of Helping Babies Breathe, you can make sure every baby has a chance to breathe at birth.


Created an application which took consecutive photos with real time image analysis to determine image blur. Also, the application created custom EXIF data for the aforementioned series of photos to include additional metadata such as geocoordinates.
Check it outWorked in a small team to develop a itinerary website in which users can create and share vacation itineraries with one another. Used MongoDB to hold users and established a backend to deal with user authorization.


@{layout('~mails/layout')}
@{model.firstname}, @(your Siberian herbs are coming.)
@(They were collected by hand in wild fields by a local, in the heat of a Siberian's summer day. Their preparation process was overseen by a tea and herb technologist with at least 8 years of experience.)
@(They made the long journey to Moscow to get packaged safely and beautifully for you. We kept it safe in our care in Amsterdam, waiting until you were ready for them.)
@(Soon you will have a small portion of the pristine Siberian wilderness brewing in your cup. Take the time to enjoy the taste (and benefits) that took so long to get to you.)


User Functions¶
In this section, we will cover the following functions in-depth listed below:
uadmin.CookieTimeout¶
CookieTimeout is the timeout of a login cookie in seconds.
Type:
int
Let’s apply this function in the main.go.
func main() {
// Some codes
uadmin.CookieTimeout = 10 // <-- place it here
}
Warning
Use it at your own risk. Once the cookie expires, your account will be permanently deactivated. In this case, you must have an extra admin account in the User database.
Login your account, wait for 10 seconds and see what happens.
It will redirect you to the login form because your cookie has already been expired.
Quiz:
uadmin.GetUserFromRequest¶
GetUserFromRequest returns a user from a request.
Function:
func(r *http.Request) *uadmin.User
Parameter:
r *http.Request: Is a data structure that represents the client HTTP request
Before we proceed to the example, read Tutorial Part 7 - Introduction to API to familiarize how API works in uAdmin.
Suppose that the admin account has logined.
Create a file named info.go inside the api folder with the following codes below:
// InfoHandler !
func InfoHandler(w http.ResponseWriter, r *http.Request) {
r.URL.Path = strings.TrimPrefix(r.URL.Path, "/info")
// Place it here
uadmin.Trail(uadmin.INFO, "GetUserFromRequest: %s", uadmin.GetUserFromRequest(r))
}
Establish a connection in the main.go to the API by using http.HandleFunc. It should be placed after the uadmin.Register and before the StartServer.
func main() {
// Some codes
// InfoHandler
http.HandleFunc("/info/", api.InfoHandler) // <-- place it here
}
api is the folder name while InfoHandler is the name of the function inside info.go.
Run your application and see what happens.
Check your terminal for the result.
[ INFO ] GetUserFromRequest: System Admin
The result is coming from the user in the dashboard.
There is another way of using this function:
// InfoHandler !
func InfoHandler(w http.ResponseWriter, r *http.Request) {
r.URL.Path = strings.TrimPrefix(r.URL.Path, "/info")
getuser := uadmin.GetUserFromRequest(r)
getuser.XXXX
}
XXXX contains user fields and functions that you can use. See uadmin.User for the list and examples.
Go to the info.go in API folder containing the following codes below:
// InfoHandler !
func InfoHandler(w http.ResponseWriter, r *http.Request) {
r.URL.Path = strings.TrimPrefix(r.URL.Path, "/info")
// Get the User that returns the first and last name
getuser := uadmin.GetUserFromRequest(r)
// Print the result using Golang fmt
fmt.Println("GetActiveSession() is", getuser.GetActiveSession())
fmt.Println("GetDashboardMenu() is", getuser.GetDashboardMenu())
// Print the result using Trail
uadmin.Trail(uadmin.INFO, "GetOTP() is %s.", getuser.GetOTP())
uadmin.Trail(uadmin.INFO, "String() is %s.", getuser.String())
}
Run your application and see what happens.
Check your terminal for the result.
GetActiveSession() is Pfr7edaO7bBjv9zL9j1Yi01I
GetDashboardMenu() is [Dashboard Menus Users User Groups Sessions User Permissions Group Permissions Languages Logs Todos Categorys Friends Items]
[ INFO ] GetOTP() is 363669.
[ INFO ] String() is System Admin.
Quiz:
uadmin.IsAuthenticated¶
IsAuthenticated returns the session of the user.
Function:
func(r *http.Request) *uadmin.Session
Parameter:
r *http.Request: Is a data structure that represents the client HTTP request
See uadmin.Session for the list of fields and functions that you can use in IsAuthenticated.
Before we proceed to the example, read Tutorial Part 7 - Introduction to API to familiarize how API works in uAdmin.
Suppose that the admin account has logined.
Create a file named custom_todo.go inside the api folder with the following codes below:
// CustomTodoHandler !
func CustomTodoHandler(w http.ResponseWriter, r *http.Request) {
r.URL.Path = strings.TrimPrefix(r.URL.Path, "/custom_todo")
// Get the session key
session := uadmin.IsAuthenticated(r)
// If there is no value in the session, it will return the
// LoginHandler.
if session == nil {
LoginHandler(w, r)
return
}
// Fetch the values from a User model using session IsAuthenticated
user := session.User
userid := session.UserID
username := session.User.Username
active := session.User.Active
// Print the result
uadmin.Trail(uadmin.INFO, "Session / Key: %s", session)
uadmin.Trail(uadmin.INFO, "User: %s", user)
uadmin.Trail(uadmin.INFO, "UserID: %d", userid)
uadmin.Trail(uadmin.INFO, "Username: %s", username)
uadmin.Trail(uadmin.INFO, "Active: %v", active)
// Deactivates a session
session.Logout()
}
Establish a connection in the main.go to the API by using http.HandleFunc. It should be placed after the uadmin.Register and before the StartServer.
func main() {
// Some codes
// CustomTodoHandler
http.HandleFunc("/custom_todo/", api.CustomTodoHandler) // <-- place it here
}
api is the folder name while CustomTodoHandler is the name of the function inside custom_todo.go.
Run your application and see what happens.
Check your terminal for the result.
[ INFO ] Session / Key: Pfr7edaO7bBjv9zL9j1Yi01I
[ INFO ] Username: System Admin
[ INFO ] UserID: 1
[ INFO ] Username: admin
[ INFO ] Active: true
The result is coming from the session in the dashboard.
And the values in the User model by calling the User, UserID, Username, and Active fields.
And if you go back to the home page, your account has been logged out automatically that redirects you to the login page.
Quiz:
uadmin.Login¶
Login returns the pointer of User and a bool for Is OTP Required.
Function:
func(r *http.Request, username string, password string) (*uadmin.User, bool)
Parameters:
r *http.Request: Is a data structure that represents the client HTTP request
username string: Is the account username
password string: Is the password of the user account
Used in the tutorial:
Before we proceed to the example, read Tutorial Part 7 - Introduction to API to familiarize how API works in uAdmin.
Create a file named info.go inside the api folder with the following codes below:
// InfoHandler !
func InfoHandler(w http.ResponseWriter, r *http.Request) {
r.URL.Path = strings.TrimPrefix(r.URL.Path, "/info")
fmt.Println(uadmin.Login(r, "admin", "admin")) // <-- place it here
}
Establish a connection in the main.go to the API by using http.HandleFunc. It should be placed after the uadmin.Register and before the StartServer.
func main() {
// Some codes
// InfoHandler
http.HandleFunc("/info/", api.InfoHandler) // <-- place it here
}
api is the folder name while InfoHandler is the name of the function inside info.go.
Run your application and see what happens.
Check your terminal for the result.
System Admin false
The result is coming from the user in the dashboard.
Visit Login System Tutorials for more examples.
Page:
Quiz:
uadmin.Login2FA¶
Login2FA returns the pointer of User with a two-factor authentication.
Function:
func(r *http.Request, username string, password string, otpPass string) *uadmin.User
Parameters:
r *http.Request: Is a data structure that represents the client HTTP request
username string: Is the account username
password string: Is the password of the user account
otpPass string: Is the OTP code assigned by your terminal
Used in the tutorial:
Before we proceed to the example, read Tutorial Part 7 - Introduction to API to familiarize how API works in uAdmin.
First of all, activate the OTP Required in your System Admin account.
Afterwards, logout your account then login again to get the OTP verification code in your terminal.
[ INFO ] User: admin OTP: 445215
Now create a file named info.go inside the api folder with the following codes below:
package api
import (
"fmt"
"net/http"
"strings"
"github.com/uadmin/uadmin"
)
// InfoHandler !
func InfoHandler(w http.ResponseWriter, r *http.Request) {
r.URL.Path = strings.TrimPrefix(r.URL.Path, "/info")
// Place it here
fmt.Println(uadmin.Login2FA(r, "admin", "admin", "445215"))
}
Establish a connection in the main.go to the API by using http.HandleFunc. It should be placed after the uadmin.Register and before the StartServer.
func main() {
// Some codes
// InfoHandler
http.HandleFunc("/info/", api.InfoHandler) // <-- place it here
}
api is the folder name while InfoHandler is the name of the function inside info.go.
Run your application and see what happens.
Check your terminal for the result.
System Admin
Visit Login System Tutorials for more examples.
Page:
Quiz:
uadmin.Logout¶
Logout deactivates the session.
Function:
func(r *http.Request)
Parameter:
r *http.Request: Is a data structure that represents the client HTTP request
Used in the tutorial:
Suppose that the admin account has logined.
Create a file named logout.go inside the api folder with the following codes below:
// LogoutHandler !
func LogoutHandler(w http.ResponseWriter, r *http.Request) {
r.URL.Path = strings.TrimPrefix(r.URL.Path, "/logout")
uadmin.Logout(r) // <-- place it here
}
Establish a connection in the main.go to the API by using http.HandleFunc. It should be placed after the uadmin.Register and before the StartServer.
func main() {
// Some codes
// LogoutHandler
http.HandleFunc("/logout/", api.LogoutHandler)) // <-- place it here
}
api is the folder name while LogoutHandler is the name of the function inside logout.go.
Run your application and see what happens.
Refresh your browser and see what happens.
Your account has been logged out automatically that redirects you to the login page.
Visit Login System Tutorials for more examples.
Page:
Quiz:
uadmin.Session¶
Session is an activity that a user with a unique IP address spends on a Web site during a specified period of time. 1
Structure:
type Session struct {
Model
Key string
User User `gorm:"ForeignKey:UserID" uadmin:"filter"`
UserID uint `fk:"true" displayName:"User"`
LoginTime time.Time
LastLogin time.Time
Active bool `uadmin:"filter"`
IP string `uadmin:"filter"`
PendingOTP bool `uadmin:"filter"`
ExpiresOn *time.Time
}
There are 5 functions that you can use in Session:
GenerateKey() - Automatically generates a random string of characters for you
HideInDashboard() - Return true and auto hide this from dashboard
Logout() - Deactivates a session
Save() - Saves the object in the database
String() - Returns the value of the Key
There are 2 ways you can do for initialization process using this function: one-by-one and by group.
One-by-one initialization:
func main(){
// Some codes
session := uadmin.Session{}
session.Key = "Key"
session.UserID = 1
}
By group initialization:
func main(){
// Some codes
session := uadmin.Session{
Key: "Key",
UserID: 1,
}
}
In this example, we will use "by group” initialization process.
Go to the main.go and apply the following codes below after the RegisterInlines section.
func main(){
// Some codes
now := time.Now()
then := now.AddDate(0, 0, 1)
session := uadmin.Session{
// Generates a random string dynamically
Key: uadmin.GenerateBase64(20),
// UserID of System Admin account
UserID: 1,
LoginTime: now,
LastLogin: now,
Active: true,
IP: "",
PendingOTP: false,
ExpiresOn: &then,
}
// This will create a new session based on the information assigned in
// the session variable.
session.Save()
// Returns the value of the key
uadmin.Trail(uadmin.INFO, "String() returns %s", session.String())
}
Now run your application and see what happens.
Terminal
[ INFO ] String() returns 0G81O_LecZLru3CTm_Qz
The other way around is you can use GenerateKey() function instead of initializing the Key field inside the uadmin.Session. Omit the session.Save() as well because session.Logout() has the ability to save it.
func main(){
now := time.Now()
then := now.AddDate(0, 0, 1)
session := uadmin.Session{
// ------------ KEY FIELD REMOVED ------------
// UserID of System Admin account
UserID: 1,
LoginTime: now,
LastLogin: now,
Active: true,
IP: "",
PendingOTP: false,
ExpiresOn: &then,
}
// Automatically generates a random string of characters for you
session.GenerateKey()
// Deactivates a session
session.Logout()
// ------------ SESSION.SAVE() REMOVED ------------
// Returns the value of the key
uadmin.Trail(uadmin.INFO, "String() returns %s", session.String())
}
Now run your application and see what happens.
Terminal
[ INFO ] String() returns 8dDjMOvX8onCVuRUJstZ1Jrl
Suppose that "SESSIONS” model is visible in the dashboard.
In order to hide it, you can use HideInDashboard() built-in function from uadmin.Session. Go to the main.go and apply the following codes below:
func main(){
// Initialize the session and dashboardmenu
session := uadmin.Session{}
dashboardmenu := uadmin.DashboardMenu{}
// Checks the url from the dashboardmenu. If it matches, it will
// update the value of the Hidden field.
uadmin.Update(&dashboardmenu, "Hidden", session.HideInDashboard(), "url = ?", "session")
}
Now run your application, go to "DASHBOARD MENUS” and you will notice that Sessions is now hidden.
Quiz:
uadmin.User¶
User is a system in uAdmin that is used to add, modify and delete the elements of the user.
Structure:
type User struct {
Model
Username string `uadmin:"required;filter"`
FirstName string `uadmin:"filter"`
LastName string `uadmin:"filter"`
Password string `uadmin:"required;password;help:To reset password, clear the field and type a new password.;list_exclude"`
Email string `uadmin:"email"`
Active bool `uadmin:"filter"`
Admin bool `uadmin:"filter"`
RemoteAccess bool `uadmin:"filter"`
UserGroup UserGroup `uadmin:"filter"`
UserGroupID uint
Photo string `uadmin:"image"`
LastLogin *time.Time `uadmin:"read_only"`
ExpiresOn *time.Time
OTPRequired bool
OTPSeed string `uadmin:"list_exclude;hidden;read_only"`
}
Here are the following fields and their definitions:
Username - The username that you can use in login process and CreatedBy which is a reserved word in uAdmin
FirstName - The given name of the user
LastName - The surname of the user
Password - A secret word or phrase that must be used to gain admission to something. This field is automatically hashed for security protection.
Email - A method of exchanging messages between people using electronic devices.
Active - Checks whether the user is logged in
Admin - Checks whether the user is authorized to access all features in the system
RemoteAccess - Checks whether the user has access to remote devices
UserGroup - Returns the GroupName
UserGroupID - An ID to access the UserGroup
Photo - Profile picture of the user
LastLogin - The date when the user last logged in his account
ExpiresOn - The date when the user account expires
OTPRequired - Checks whether the OTP is Active
OTPSeed - Private field for OTP
There are 10 functions that you can use in User:
GetAccess - Returns the user’s permission to a dashboard menu based on their admin status, group and user permissions
GetActiveSession() - Returns an active session key
GetDashboardMenu() - Returns the list of models in the dashboard menu
GetOTP() - Returns a string of OTP code
HasAccess - Searches for the url in the modelName. Uses this format as shown below:
func(modelName string) UserPermission
Login - Returns the pointer of User and a bool for Is OTP Required. It uses this format as shown below:
func(pass string, otp string) *uadmin.Session
Save() - Saves the object in the database
String() - Returns the first name and the last name
Validate() - Validate user when saving from uadmin. It returns (ret map[string]string).
VerifyOTP - Verifies the OTP of the user. It uses this format as shown below:
func(pass string) bool
Used in the tutorial:
There are 2 ways you can do for initialization process using this function: one-by-one and by group.
One-by-one initialization:
func main(){
// Some codes
user := uadmin.User{}
user.Username = "Username"
user.FirstName = "First Name"
user.LastName = "Last Name"
}
By group initialization:
func main(){
// Some codes
user := uadmin.User{
Username: "Username",
FirstName: "First Name",
LastName: "Last Name",
}
}
In this example, we will use "by group” initialization process.
Go to the main.go and apply the following codes below after the RegisterInlines section.
func main(){
// Some codes
now := time.Now()
user := uadmin.User{
Username: "even",
FirstName: "Even",
LastName: "Demata",
Password: "123456",
Email<EMAIL_ADDRESS>Active: true,
Admin: false,
RemoteAccess: false,
UserGroupID: 1, // Front Desk
Photo: "/media/images/users.png",
LastLogin: &now,
OTPRequired: false,
}
// This will create a new user based on the information assigned in
// the user variable.
user.Save()
// Returns the first name and the last name
uadmin.Trail(uadmin.INFO, "String() returns %s.", user.String())
}
Now run your application and see what happens.
Terminal
[ INFO ] String() returns Even Demata.
Select "Even Demata” account in the list.
Go to the User Permission tab. Afterwards, click Add New User Permission button at the right side.
Set the Dashboard Menu to "Todos” model, User linked to "Even Demata”, and activate the "Read” only. It means Even Demata user account has restricted access to adding, editing and deleting a record in the Todos model.
Result
Log out your System Admin account. This time login your username and password using the user account that has user permission. Afterwards, you will see that only the Todos model is shown in the dashboard because your user account is not an admin and has no remote access to it.
Now go back to the main.go and apply the following codes below:
func main(){
// Initialize the User function
user := uadmin.User{}
// Fetch the username record as "even" from the user
uadmin.Get(&user, "username = ?", "even")
// Print the results
fmt.Println("GetAccess is", user.GetAccess("todo"))
fmt.Println("GetActiveSession() is", user.GetActiveSession())
fmt.Println("GetDashboardMenu() is", user.GetDashboardMenu())
fmt.Println("GetOTP() is", user.GetOTP())
fmt.Println("HasAccess is", user.HasAccess("todo"))
}
Run your application and check your terminal to see the results.
GetAccess is 1
GetActiveSession() is GOzo21lIBCIaj3YkXJsCZXnj
GetDashboardMenu() is [Todos]
GetOTP() is 251553
HasAccess is 1
Take note the value of the GetOTP(). Go to the main.go again and apply the following codes below:
func main(){
user := uadmin.User{}
uadmin.Get(&user, "username = ?", "even")
// First parameter is password and second parameter is the value from
// GetOTP()
fmt.Println("Login is", user.Login("123456", "251553"))
// The parameter is the value from GetOTP()
fmt.Println("VerifyOTP is", user.VerifyOTP("251553"))
}
Run your application and check your terminal to see the results.
Login is GOzo21lIBCIaj3YkXJsCZXnj
VerifyOTP is true
If your Login does not return anything and VerifyOTP is false, it means your OTP is no longer valid. You need to use GetOTP() again to get a new one. OTP usually takes 5 minutes of validity by default.
Validate() function allows you to search if the user already exists. For instance, the username is "even” and all of the contents about him are there which was already included in the User model. Go to the main.go and apply the following codes below:
func main(){
// Some codes
now := time.Now()
user := uadmin.User{
Username: "even",
FirstName: "Even",
LastName: "Demata",
Password: "123456",
Email<EMAIL_ADDRESS>Active: true,
Admin: false,
RemoteAccess: false,
UserGroupID: 1, // Front Desk
Photo: "/media/images/users.png",
LastLogin: &now,
OTPRequired: false,
}
fmt.Println("Validate is", user.Validate())
}
Run your application and check your terminal to see the results.
Validate is map[Username:Username is already Taken.]
Congrats, now you know how to configure the User fields, fetching the username record and applying the functions of the User.
Visit Login System Tutorials for more examples.
Page:
Quiz:
uadmin.UserGroup¶
UserGroup is a system in uAdmin used to add, modify, and delete the group name.
Structure:
type UserGroup struct {
Model
GroupName string `uadmin:"filter"`
}
There are 2 functions that you can use in UserGroup:
HasAccess() - Returns the Group Permission ID. It uses this format as shown below:
func(modelName string) uadmin.GroupPermission
String() - Returns the GroupName
There are 2 ways you can do for initialization process using this function: one-by-one and by group.
One-by-one initialization:
func main(){
// Some codes
usergroup := uadmin.UserGroup{}
user.GroupName = "Group Name"
}
By group initialization:
func main(){
// Some codes
usergroup := uadmin.UserGroup{
GroupName: "Group Name",
}
}
In this example, we will use "by group” initialization process.
Go to the main.go and apply the following codes below after the RegisterInlines section.
func main(){
// Some codes
usergroup := uadmin.UserGroup{
GroupName: "Front Desk",
}
// This will create a new user group based on the information assigned
// in the usergroup variable.
uadmin.Save(&usergroup)
// Returns the GroupName
uadmin.Trail(uadmin.INFO, "String() returns %s.", usergroup.String())
}
Now run your application and see what happens.
Terminal
[ INFO ] String() returns Front Desk.
Link your created user group to any of your existing accounts (example below is Even Demata).
Afterwards, click the Front Desk highlighted below.
Go to the Group Permission tab. Afterwards, click Add New Group Permission button at the right side.
Set the Dashboard Menu to "Todos” model, User linked to "Even Demata”, and activate the "Read” only. It means Front Desk User Group has restricted access to adding, editing and deleting a record in the Todos model.
Result
Log out your System Admin account. This time login your username and password using the user account that has group permission.
Now go back to the main.go and apply the following codes below:
func main(){
// Initializes the UserGroup function
usergroup := uadmin.UserGroup{}
// Fetches the Group Permission ID from the user
uadmin.Get(&usergroup, "id = ?", 1)
// Prints the HasAccess result
fmt.Println("HasAccess is", usergroup.HasAccess("todo"))
}
Run your application and check your terminal to see the result.
HasAccess is 1
Congrats, now you know how to add the UserGroup from code, fetching the record from ID and applying the functions of the UserGroup.
Quiz:
Reference¶
- 1
QuinStreet Inc. (2018). User Session. Retrieved from https://www.webopedia.com/TERM/U/user_session.html


Give Server Command
The /give server command can be used to give a player an item with a custom name
This code will give the player a stick with the custom name: Inviso
Use your imagination to create a new name. Change the word Inviso to the your name.
Press the download button and replace test.js.


Alex's Maze Generator
Generate a Maze
Suggested
Custom
3 x 3
6 x 6
9 x 9
12 x 12
24 x 24
48 x 48
info_outline
Sizes bigger than 100 x 100 can take a very long time to calculate, and may crash your web browser, use this feature at your own risk
Height
Width
Directions:
The goal is to get as few points as possible, but completing the maze with the least errors
Generate
Alex's Maze Generator
Points:
New
New Size


|
< Earlier Kibitzing · PAGE 4 OF 4 ·
Later Kibitzing> |
| Apr-24-08 | | chessmoron: <williscreek> It's not a short draw. It's forfeit win. |
|
| Apr-24-08 | | williscreek: Yes I know that chessmoron... |
|
May-20-08
| | whiteshark: I think he's out of the woods now. |
|
| Aug-25-08 | | Judah: It's a pathetic rule to begin with. Shaking hands with one's opponent should not be a requirement of the game. |
|
| Dec-13-08 | | WhiteRook48: Cheparinov's game fell Short.
(White ♖ is my name, capturing d8-Queens is my game :) |
|
| Jan-09-09 | | WhiteRook48: oh this is definitely one of my favorite 2008 games. |
|
| Feb-22-09 | | WeakSquare: Sicilian is bad for Black anyway... |
|
| Feb-22-09 | | WhiteRook48: stupid Short game |
|
| Feb-28-09 | | WhiteRook48: I play the Sicilian with Black all the time! |
|
| Apr-20-09 | | WhiteRook48: and it's not really bad |
|
| May-21-09 | | WhiteRook48: this game should be deleted from the database! |
|
May-21-09
| | tamar: What, and delete the only extant version of Sicilian Defense: Handshake Declined? |
|
| May-26-09 | | testguy: Sicillian: Davailov system, Handshake Declined Toilet Variation |
|
Aug-20-09
| | whiteshark: Keep it short & simple. |
|
| Dec-09-09 | | Landman: <WhiteRook48> I disagree, the "game" should be retained as it documents the handshake incident. |
|
| Jan-25-10 | | znsprdx: Jan-25-10
delete znsprdx:
<WhiteRook48:the handshake game should be deleted from the database> Well not exactly - but <CG> certainly has it the WRONG way around - the forfeit & commentary should be the first post BTW
72...Kxe7 73 Ke5 Kf7 74 Kd6
OR ...Kf8 75 Ke6 Kg8 76 Kf6 Kh7
77 Kf7 Kh8 78 Kxg6 Kg8
79 Kf6 Kf8 80 g6 Kg8 81g7 |
|
| Jan-25-10 | | znsprdx: <MichAdams:> super hilarious anecdote and quip - better than the cheap win... this should have been a draw...had it been Black to move,,, |
|
| Jul-06-10 | | I Like Fish: cut it ...
short ... |
|
| May-18-11 | | ragtag: It was a short fight: http://lolsnaps.com/news/4668/0/ |
|
| Jun-27-11 | | ragtag: I have short hair and <a shorter attention span>. |
|
| Aug-05-11 | | IRONCASTLEVINAY: yes the opening was : sicilian defense, handshake declined |
|
| Aug-05-11 | | IRONCASTLEVINAY: actually short declared mate in 38 moves. and Ivan realized that he could not defend in any way, so he resigned. |
|
| Aug-30-11 | | Robert Hill: Black has a hire wining % in this opening too, but if they had played on it would have fallen under a different Sicilian opening line. |
|
Jul-15-12
| | perfidious: <testguy: Sicillian: Davailov system, Handshake Declined Toilet Variation> Isn't the Toilet Variation already taken? Wasn't there a line in the Tal treatment of the 2.f4 anti-Sicilian that was so named (possibly 1.e4 c5 2.f4 d5 3.Nc3), supposedly because its originator thought it up while in that part of the house? |
|
Apr-23-13
| | whiteshark: Final comment on <Life's a game> from my side: http://www.l0rdshrek.info/bilderhos... |
|
|
|
|
< Earlier Kibitzing · PAGE 4 OF 4 ·
Later Kibitzing> |


Extending but not replacing the core class
These are the easiest and will work like any other class you create; just make them extend the core class in the global namespace:
class MyConfig extends Config {}
Be sure to know what you are doing, extended core methods under the same name will be used by the core as well as by your application and this may result in unexpected behavior.
These are the easiest and will work like any other class you create; just make them extend the core class in the global namespace:
class MyConfig extends Config {}
If you want your core extension to be used by the core as well as by your own application you need to extend it under the same name but take it from the "Fuel\Core" namespace. Below is an example for the Lang class which you create in "fuel/app/classes/lang.php":
class Lang extends Fuel\Core\Lang {}
But classes that have the same name as core classes are ignored by default. To make the Autoloader recognize your replacement you need to register it in the application bootstrap file. Search for the lines below:
Autoloader::add_classes(array(
// Add classes you want to override here
// Example: 'View' => APPPATH.'classes/view.php',
));
As is explained in the comments you need to add the new Lang class as follows:
Autoloader::add_classes(array(
// Add classes you want to override here
// Example: 'View' => APPPATH.'classes/view.php',
'Lang' => APPPATH.'classes/lang.php',
));
After this the core class will have been replaced by your extension.
The core class will still be available when used with full namespace prefixed. With the above example of extending "Lang" you can still use the original by calling "Fuel\Core\Lang".
By adding your package as a core namespace the autoloader will attempt to load any class from your package before it attempts it from the core. You must register these classes with the Autoloader though in order for them to be detected (filesystem autoloader doesn't support aliasing to global). Below is an example for extending the View class.
Autoloader::add_core_namespace('Example');
Autoloader::add_classes(array(
'Example\\View' => __DIR__.'/classes/view.php',
));
All classes can be extended from app. Most classes can be extended from packages but there are a few exceptions:
If you have activated the profiler in your configuration, you can not extend these classes from packages too:
You can work around some of these limitations by manually load your package in the app/bootstrap.php file, by adding Package::load('mypackagename'); just before the Fuel::init() call. If you do, your package can only not extend:
The Autoloader class is a special case, you can only extend it once as Autoloader
and
have it used. After extending it you have to require it manually in the app/bootstrap.php
file after the original Fuel\Core\Autoloader
, don't forget to remove the line that
aliases the core class to global.


DWP
Page 2
Some benchwork is getting done! This is both the beginning and the end of the layout.
There is only about 2000 feet of track to lay between these two loops. Duluth is
on the lower deck and Ft. Francis, Ontario will occupy the upper deck. All of the
track is Atlas flex track. It is code 148 on brown plastic ties. We are laying the
track on Midwest cork roadbed that is glued to 3/4” plywood sub-
An update: like many pikes this one has evolved and these loops are no longer as seen. The upper loop has been eliminated and a new reverse loop is now located in the upper North West corner of the building.
(Left) This photo is looking along the lower level as it enters the loop. Some of
our construction methods are seen here. The L-
(Right) Looking down at the upper level; some of the Atlas switches can be seen.
The majority of the switches will be thrown by hand using Caboose Industries switch
stands. The Atlas switches are not designed for this set up. There are no long headblocks
so we are cutting out the plastic ties on either side of the throwbar and gluing
wooden switch ties to the roadbed to support the switch stands. This can be seen
clearly in the photo. The RS-
(Right) Our first trip to the installation site with the initial benchwork. We filled a 26’ Penske truck with modules. We assembled what amounts to 250’ of benchwork in 4 days. We also decided that we would do further standardization/simplification of the benchwork for the remainder of the project. The photo above gives a fair idea of the number of pieces brought out. As our Denver shop is much smaller than the layout building, we have to build a portion than bring it to the location to make room for us to build the next segment. The wall on the right of the photo is 98’ long.
(Above) Looking from the East end of the building towards the entrance. Some conception of the length one must walk to follow a train is given here. Staging yards are to the left side on the lower deck and the Duluth depot and tracks to West Duluth are to the right. With the new plan the upper level to the left has been lowered 6” and greatly simplified.
(Left) From the reverse loops looking East. We have yet to mount the upper deck beyond the loops. The beams that support the roof are rather low at the wall which dictates some of the layout planning. This aisle is a very generous width, but we are planning to narrow it a bit with additional sidings and a newly configured upper level.
(Right) The first change made on the second trip was to remove the upper reverse loop. This opened up the lower loop area enough to add some locomotive storage tracks that stand in for the prototype Rice’s Point yard.
(Left) West Duluth yard was installed. The open foreground area is for the turntable and roundhouse. Note the upper deck has been installed along the wall to the far right.
(Right) Here’s the back side of the roundhouse which is six stalls. The roundhouse
is made from 2 modified Atlas roundhouse kits. The brick color on the prototype
was tan. The roundhouse is not a perfect replica of the prototype, but it is close
enough and saves many hours of scratch-
These two photos show the base on which the West Duluth trestle will be built. The prototype trestle was about ½ mile long and passed over residential as well as business sections of West Duluth. Jeff McDonald, an accomplished O scale modeler and friend of the client is putting the trestle together to be installed on a later trip.


DelayedImage Demo - jQuery
Automatic Display
Configured Display
(2-second delay)
Always Hidden
(displayed so you can see the image isn't loaded)


Open Collective is undergoing maintenance right now, please check back later.
Here are some helpful links:


Menu
Join Us
About
Achievements
Media
Sponsors
Involvement
Outreach
Our Sponsors
OUR WONDERFUL SUPPORTERS
SPONSORS
Premier Diamond Title Sponsor
Gold
Silver
Bronze


Potato Guns Are Awesome!
How to make your own
Sean did this thing here! I LOVE POTATOES
But I can't have any garlic in them :(


I'm a passionate programmer and product developer and have been programming professionally since 2013, I bring expertise in both front-end and back-end development.
{rob}
Web Developer - Graphic Artist - User Experience Designer
If you interested to hire me or if you have any ideas would like to implement with me. Feel free to contact me. Fill this form and submit, I will catch you soon.


|
image = variable image pointer previously designated
x = the 'x' location of the screen to display the graphic y = the 'y' location of the screen to display the graphic frame = the frame number of the AnimImage to display (optional: default is 0) |
|
This command draws a previously loaded image. This command draws both single image graphics (loaded with the LoadImage command) as well as animated images (loaded with the LoadAnimImage command).
You specify where on the screen you wish the image to appear. You can actually 'draw' off the screen as well by using negative values or positive values that are not visible 'on the screen'. Finally, if you are using an animated image (loaded with the LoadAnimImage), you can specify which frame of the imagestrip is displayed with the DrawImage command. One of the most common problems new Blitz programmers face when using drawing commands is that even though they draw the graphic to the screen, they never see it! Remember, Blitz Basic is fast ... too fast for the human eye. You will have to either continuously draw the image over and over again (like the way a cartoon or TV works), clearing the screen each time a change is made (this is called double buffering); or you will need to delay Blitz's execution long enough in 'human time' to let you SEE the picture. We will do the double buffering approach. See also: DrawBlock |
|
; LoadImage and DrawImage example
; Declare a variable to hold the graphic file handle Global gfxPlayer ; Set a graphics mode Graphics 640,480,16 ; Set drawing operations for double buffering SetBuffer BackBuffer() ; Load the image and assign its file handle to the variable ; - This assumes you have a graphic called player.bmp in the ; same folder as this source code gfxPlayer=LoadImage("player.bmp") ; Let's do a loop where the graphic is drawn wherever the ; mouse is pointing. ESC will exit. While Not KeyHit(1) Cls ; clear the screen DrawImage gfxPlayer,MouseX(),MouseY() ; Draw the image! Flip ; flip the image into view and clear the back buffer Wend |


The history of Porsche goes back to 1875 - the birth year of Ferdinand Porsche. It is he who laid the foundations for a unique company with strong ideals.
1930s
Type 64 Racing Coupé:
Built for long-distance ‘Berlin–Rom-Wagen’ endurance
competition. Considered the forefathers of all later Porsche sports cars.
356 Speedster:
Porsche's first production automobile started in Gmünd
in Austria, where only 49 of these aluminum Porsches were built.
356 Carrera Cabriolet:
Shortly before Porsche celebrated 10th anniversary
of 356 model, 356 had developed into one of the world’s most respected sports cars.
901:
Successor of Porsche 356. Between 14 September and 16 November 1964,
82 cars were built. Due to Peugeot was renamed to 911.
911 Turbo:
At the Paris Auto Show Porsche presents the 911 Turbo – the world’s first
production sports car with exhaust turbocharger and pressure regulator.
911 Carrera Speedster:
In 1984 the 911 celebrated it's 20th birthday. It had a lower and
flatter windscreen and a simpler manual top that folded beneath a fiberglass cover.
911:
It’s got classic lines, albeit updated with plastic bumpers,
with modern technology such as 4x4 ABS and electronic heating.
356 Carrera Cabriolet:
Shortly before Porsche celebrated 10th anniversary
of 356 model, 356 had developed into one of the world’s most respected sports cars.
911 Carrera 4S Coupe:
The iconic Porsche 911 sports car celebrates its 50th birthday in 2013. Today's 911 still has many stories to tell. Of heroic race victories, iconic deisgn, childhood dreams. And of a timeless idea.


I run a blog since 2005, spreading knowledge and experience for almost 20 years! :)
If you want to support my work, you can buy me a coffee.
Thank you for your support! ❤


Exam Answer Sheet
1
2
3
MCQ QUESTION
02:00
What programming language do you prefer ?
Ruby
Python
Javascript
Java
1/3
Next
DESCRIPTIVE QUESTION
02:00
What programming language do you prefer ?
2/3
Previous
Next
FILL IN THE GAPS
02:00
What (A)_____ language do you (B)_____ ?
A.
B.
3/3
Previous
Submit


I'm trying to enhance the jOOX
API in a way that it can also operate on JDom
documents, not only org.w3c.dom.Document
. Instead of
duplicating everything, I was wondering if there is any library that
implements the interfaces of org.w3c.dom
, while at the same
time wrapping JDom?
Note, I'm not not looking for org.jdom.output.DOMOutputter
,
which transforms the JDom document into a DOM document. I suspect that
frequent transformations would be very slow. I'm looking for a wrapper,
which implements w3c dom with JDom classes.
org.w3c.dom
implementation and a JDom implementation. – Eli Acherkan Apr 18 '12 at 13:28org.w3c.dom
. So maybe someone already created a wrapper to make JDom adhere to the standard – Lukas Eder Apr 18 '12 at 13:29


--- layout: front title: A little living style guide ---
This little living style guide is the answer to everything. From which colors to use over what font to choose through the different button styles at your disposal.


Dear {{room.cust_name}}
Roommate booking is confirmed -
Booking ID:
{{room.booking_id}}
Remember, safe travel is everyone’s
responsibility.
Hostel information:-
{{room.hostel_name}}
{{room.category}}
Please contact
the property directly on
8530392350 for other information.
Amount Paid- 999 ( Security Deposit )
Amount Due-
{{amount_due}}
Your payment of Rs.999 has been recieved. Wait for the confirmation from the Owner
Important:
If you need help with anything
else, please visit the support section
on Roommate website.
Regards,
techmihirnaik group.
Thanks,
techmihirnaik Group
|


MarkdownComposition
public struct MarkdownComposition
This is the composition form for the markdown.
The available attributes are listed as variables in this section.
Note: The default font devices will be either
San Francisco
orHelvetica
depending on the operating system version. For more information about the default iOS font visit: See official Apple typography documentation
The default color is the same as in the FontComposition
struct.
Highlighted default color is: #0061D6
Defaults values are:
- Headers:
Header #1
Header #2
Header #3
Header #4
Header #5
Header #6
- Body:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
- Bold:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
- Italic:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
- Link:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-
Header style
#
.
Header #1Declaration
Swift
public var header1: FontComposition
-
Header style
##
.
ex. Header #2Declaration
Swift
public var header2: FontComposition
-
Header style
###
.
ex. Header #3Declaration
Swift
public var header3: FontComposition
-
Header style
####
.
ex. Header #4Declaration
Swift
public var header4: FontComposition
-
Header style
#####
.
ex. Header #5Declaration
Swift
public var header5: FontComposition
-
Header style
######
.
ex. Header #6Declaration
Swift
public var header6: FontComposition
-
This is the text body style. Whenever there is no markdown tags the will show as
body
.
ex. Lorem ipsum dolor sit amet, consectetur adipiscing elit.Declaration
Swift
public var body: FontComposition
-
This denotes the bold style.
Note: This style requires an explicit bold font request through
FontComposition
. It will not be picked from font family.ex. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Declaration
Swift
public var bold: FontComposition
-
This denotes the Italic style.
Note: This style requires an explicit Italic font request through
FontComposition
.
Declaration
Swift
public var link: FontComposition
-
The default composition for
MarkdownComposition
Check the variables declaration to receive the default values for every parameter.Declaration
Swift
public static let defaultComposition: MarkdownComposition


In previous examples we showed the ability to pass in annotated parameters on {@link oajr.annotation.RestOp}-annotated methods
to parse standard HTTP parts:
| @RestGet("/example1/{a1}/*")
| public String doGetExample1(
| @Path("a1") String a1,
| @Query("p1") int p1,
| @HasQuery("p2") boolean hasP3,
| @Path("/*") String remainder,
| @Header("Accept-Language") String lang
| ) {
| // Do something with all of those
| }
Annotations are provided for both request and response HTTP parts.
The annotations used for defining the schema for request HTTP parts are:
- HTTP request parts:
- {@link oaj.http.annotation.Request}
- {@link oaj.http.annotation.Content}
- {@link oaj.http.annotation.Header}
- {@link oaj.http.annotation.FormData}
- {@link oaj.http.annotation.Query}
- {@link oaj.http.annotation.Path}
- {@link oaj.http.annotation.HasFormData}
- {@link oaj.http.annotation.HasQuery}
- HTTP response parts:
- {@link oaj.http.annotation.Response}
- {@link oaj.http.annotation.Content}
- {@link oaj.http.annotation.Header}
- {@link oaj.http.annotation.StatusCode}
These annotation can be used on method parameters or on the parameter types themselves, or a combination
of both.
- When defined on types, annotations are aggregated from parent to child with child values
taking precedence. When defined on both, annotations are aggregated with values on parameters
taking precedence.


summaryPlotTs.Rd
TS overview plot
summaryPlotTs( TS, sort.var = "archiveType", age.range = NA, age.var = "age", step = NA, ... )
| TS | LiPD timeseries object See http://nickmckay.github.io/LiPD-utilities/r/index.html#what-is-a-time-series |
|---|---|
| sort.var | What variable in the TS should the map and histogram be organized by? (default = "archiveType) |
| age.range | a two element vector that includes the range over which you want to count (default = NA, which calculates the full range in the TS) |
| age.var | What age variable should be used (default = "age) |
| step | What step size should be used along the age axis? (default = NA, which will calculate 0.5% of the age.range) |
a gridExtra ggplot output


| Ethnic group | Females | Males | Sex gap (years) |
|---|---|---|---|
| Asian other | 86.9 | 84.5 | 2.4 |
| Bangladeshi | 87.3 | 81.1 | 6.2 |
| Black African | 88.9 | 83.8 | 5.1 |
| Black Caribbean | 84.6 | 80.7 | 3.9 |
| Black other | 86.8 | 82.0 | 4.8 |
| Indian | 85.4 | 82.3 | 3.1 |
| Mixed | 83.1 | 79.3 | 3.8 |
| Other | 86.9 | 84.0 | 2.9 |
| Pakistani | 84.8 | 82.3 | 2.5 |
| White | 83.1 | 79.7 | 3.4 |
| Ethnic group gap (years) | 5.8 | 5.2 |


VikingGem
Get Version
0.0.3What
Spam in your inbox and spam on your blog. The only place spam isn’t is on your dinner plate (I hope).
Luckily there are two great services available to help keep spam at bay on your blog: Akismet™, and Defensio™. Both services can be integrated into your application to help fend off spam.
Based on the excellent Ruby on Rails™ plugin of the same name, VikingGem brings you easy access to the Akismet™, and Defensio™ spam protection services, but without the need for you to use Rails™. VikingGem is Ruby web framework agnostic.
VikingGem also provides a few extra tweaks, and a slightly cleaner code base to make it easier for you to dive in and grok its inner-workings.
Installing
sudo gem install vikinggem
The basics
Coming soon!
Documentation
The RDocs are extensive and available for you to peruse. Patches for documentation are always welcome and encouraged (see “How to submit patches”).
Demonstration of usage
Coming soon!
Forum
Need help? Want to chat about things you’d like to see different in VikingGem? A Google Group is available for you to use.
How to submit patches
Read the 8 steps for fixing other people’s code and for section 8b: Submit patch to Google Groups, use the Google Group above.
You can fetch the source from either:
- rubyforge (stable): http://rubyforge.org/scm/?group_id=6110
git clone git://rubyforge.org/vikinggem.git
- github (edge): http://github.com/jherdman/viking/tree/master
git clone git://github.com/jherdman/viking.git
Build and test instructions
cd vikinggem rake spec rake install_gem
License
This code is free to use under the terms of the MIT license.
Contact
Comments are welcome. Send an email to James Herdman, Jed Hurt, Technoweenie via the forum
James Herdman, Jed Hurt, Technoweenie, 25th April 2008
Theme extended from Paul Battley


UVa-107-The Cat in the Hat
Background
(An homage to Theodore Seuss Geisel)
The Cat in the Hat is a nasty creature,
But the striped hat he is wearing has a rather nifty feature.

Do you know what’s inside that Cat’s hat?
A bunch of small cats, each with its own striped hat.
Each little cat does the same as line three,
All except the littlest ones, who just say “Why me?”
Because the littlest cats have to clean all the grime,
And they’re tired of doing it time after time!
The Problem
A clever cat walks into a messy room which he needs to clean. Instead of doing the work alone, it decides to have its helper cats do the work. It keeps its (smaller) helper cats inside its hat. Each helper cat also has helper cats in its own hat, and so on. Eventually, the cats reach a smallest size. These smallest cats have no additional cats in their hats. These unfortunate smallest cats have to do the cleaning.
The number of cats inside each (non-smallest) cat’s hat is a constant, N. The height of these cats-in-a-hat is 1 / (N + 1) times the height of the cat whose hat they are in.
- The smallest cats are of height one;
- these are the cats that get the work done.
All heights are positive integers.
Given the height of the initial cat and the number of worker cats (of height one), find the number of cats that are not doing any work (cats of height greater than one) and also determine the sum of all the cats’ heights (the height of a stack of all cats standing one on top of another).
The Input
The input consists of a sequence of cat-in-hat specifications. Each specification is a single line consisting of two positive integers, separated by white space. The first integer is the height of the initial cat, and the second integer is the number of worker cats.
A pair of 0′s on a line indicates the end of input.
The Output
For each input line (cat-in-hat specification), print the number of cats that are not working, followed by a space, followed by the height of the stack of cats. There should be one output line for each input line other than the “0 0″ that terminates input.
Sample Input
216 125
5764801 1679616
0 0
Sample Output
31 671
335923 30275911
Analysis
算法并不复杂，主要在于浮点数精度问题的处理上。用log取对数再取整时，要注意4舍5入。从干活的猫的数量入手，因为必然是平方数，遍例所有可能的因子就能找到N的值。通过实验发现，OJ给的数据中，第一只猫的高度必然是一个等比数列之和（包括1），因此如果能够根据等比数列公式直接解出公比，即N + 1，那就非常好办了。但目前我还没有找到比较好的解法，只能先按老办法算。
Solution
#include <iostream> #include <math.h> using namespace std; int main(void) { int nFirstHeight, nWorking; while (cin >> nFirstHeight >> nWorking) { if (nFirstHeight == 0) { break; } int nCatCnt = 0, nTotalHeight = 0; if (nWorking == 1) { for (int k = nFirstHeight; k >= 1; k /= 2, ++nCatCnt) { nTotalHeight += k; } cout << nCatCnt - 1<< ' ' << nTotalHeight << endl; continue; } float fLog = log((float)nWorking), fLevel; int nSqrt = (int)(sqrt((float)nWorking) + 0.5); int nLevel = 0, nHeight = nFirstHeight, nBranch = 2; for (; nBranch <= nSqrt; ++nBranch) { fLevel = fLog / log((float)nBranch); int nTempLevel = (int)(fLevel + 0.5); if (fabs((fLevel - nTempLevel)) < 1e-4f) { nLevel = nTempLevel + 1; if ((int)(pow((float)(nBranch + 1), nTempLevel) + 0.5) == nFirstHeight) { break; } } } if (nLevel == 0) { nLevel = 2; nBranch = nWorking; } for (int k = 0, nCats = 1; k < nLevel - 1; ++k) { nCatCnt += nCats; nTotalHeight += nCats * nHeight; nCats *= nBranch; nHeight /= (nBranch + 1); } cout << nCatCnt << ' ' << nTotalHeight + nWorking << endl; } return 0; }
我有软件已经更新到207章了要的叫我QQ3326220353
#!/usr/bin/env python def cou(n): arr = [1]
换句话说，A[k/2-1]不可能大于两数组合并之后的第k小值，所以我们可以将其抛弃。
应该是，不可能小于合并后的第K小值吧
我还有个问题想请教一下，就是感觉对于新手来说，递归理解起来有些困难，不知有没有什么好的方法或者什么好的建议？
妈呀！这个Dijkstra模板好长OwQ！
顺利测试通过了，多谢
有的，已更新
很棒的网站，加油！⛽
有一点问题。。后面动态规划的程序中
int dp[n+1][W+1];
会报错 提示表达式必须含有常量值。该怎么修改呢。。
赞！！~~大赞！！~
分析的很专业！
较好的写法是 start+(end-start)/2
不错，再多来的CF上面的题
没错的，再乘以m的就多余了
刚开始学习，为啥会报错了


Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
BEFORE THE MADURAI BENCH OF MADRAS HIGH COURT DATED: 12/01/2011 CORAM THE HONOURABLE MR.JUSTICE N.PAUL VASANTHAKUMAR AND THE HONOURABLE MR.JUSTICE R.SUBBIAH W.P.(MD).No.13273 of 2010 W.P.(MD).No.13274 of 2010 W.P.(MD).No.13275 of 2010 and M.P.Nos.1,1 and 1 of 2010 The Proprietor, M/s.Sulaimaniya Bone Mill, No.1B/2, Uchimahaliamman Koil First Street, Tenkasi Taluk, Tirunelveli District. ... Petitioner in W.P.(MD).No.13273 of 2010 The Proprietor, M/s.Regina Package Industries, 6D/5, Swarnapuram Street, Tenkasi Taluk, Tirunelveli District. ... Petitioner in W.P.(MD).No.13274 of 2010 The Proprietor, M/s.Palayathar Bone Mill, No.1B Paraiyadi Street, Swarnapuram, Tenkasi Taluk, Tirunelveli District. ... Petitioner in W.P.(MD).No.13275 of 2010 Vs. 1.Tamil Nadu Pollution Control Board, Represented by its Member Secretary, No.76, Mount Salai, Guindy, Chennai 600 032. 2.The District Environmental Engineer, Tamil Nadu Pollution Control Board, Tirunelveli. 3.N.M.Nagoor Meeran, S/o.Mohammed Maideen, 152, Sowarnapuram Mettu Street, Tenkasi, Tirunelveli District. 4.The Appellate Authority Tamil Nadu Pollution Control Rep by its Assistant Manager, NCB-1, Greenways Road, Chennai 600 028. ... Respondents in All Writ Petitions PRAYER Writ Petitions are filed under Article 226 of the Constitution of India praying to issue a Writ of Certiorarified Mandamus to call for the records of the fourth respondent's Appellate Authority order passed on 08.09.2010 in Appeal Nos.78, 77 and 79 of 2010 and to quash the same passed in connection with the first respondent's vide Proc.No.T16/TNPCB /F24261/TNV/Orange/2009/A-2, dated 28.04.2010 and further direct the first respondent to issue the renewal of consent order for the period of 2010 - 2011. !For Petitioners ... Mr.A.Nister Hakeem ^For Respondents1,2 and 4 ... Mr.R.Ramanlal Standing Counsel For Respondent 3 ... Mr.Haja Mohideen :COMMON ORDER ********************
N.PAUL VASANTHAKUMAR, J Since common issues are involved in all these Writ Petitions, they were heard together and are disposed of by means of this Common Order by consent of all the learned counsels.
2. These Writ Petitions are filed by the Proprietors, M/s.Sulaimaniya Bone Mill, M/s.Regina Package Industries and M/s.Palayathar Bone Mill respectively challenging the order of the Appellate Authority, Tamil Nadu Pollution Control Board, dated 08.09.2010 made in Appeal Nos.78, 77 and 79 of 2010, confirming the order dated 28.04.2010 passed by the first respondent and for a consequential direction to the first respondent to issue renewal of consent order for the year 2010 - 2011.
3. The short facts necessary for the disposal of the Writ Petitions are as follows:-
(i).The petitioners bone Crushing Unit are functioning from 01.11.1986, 01.05.1998 and 14.12.1957 respectively in their respective premises. The petitioner in W.P.(MD).No.13273 of 2010 is producing crushed bone 25 tonne per month from raw bones. Likewise, the petitioner in W.P.(MD).No.13274 of 2010 is producing crushed bone 20 tonne per month, boiled hooked meal 10 tonne per month, boiled horns meal 15 tonne per month and mutton tallow 5 tonne per month from raw bones. Similarly, the petitioner in W.P.(MD).No.13275 of 2010 is producing bone meal 12 tonne per month from raw crushed bones.
(ii). The Pollution Control Board had issued consent order to the petitioners unit under Water (P&CP) Act, 1974 and under Air (P&CP) Act, 1981, by its proceedings dated 23.03.1990, 24.09.1999 and 10.05.1991 respectively subject to certain conditions and the said consent was renewed to the petitioners unit in W.P.(MD).Nos.13273 and 13275 of 2010 up to 30.09.1998. Insofar as the petitioner in W.P.(MD).No.13273 of 2010 is concerned, the consent was not subsequently renewed. According to the petitioners, they have submitted renewal applications by paying prescribed fee. However, the Pollution Control Board has not chosen to pass any order either granting or rejecting the request of renewal of consent and the said renewal applications are pending with the first respondent - Pollution Control Board. The petitioners are operating the units during the pendency of the applications seeking renewal of consent.
(iii). According to the petitioners, due to some civil litigation with other industries, various complaints regarding functioning of the petitioners unit relates to pollution were made and some of residents formed an association under the name and style of "Sornapuram Mettu Theru Nala Sangam" and started agitating for ratifying their unauthorized constructions and also for providing basic amenities like roads, pathway etc. The association also tried to interfere with the operation of the petitioners unit and one of the parties in the Civil Suit instituted a Public Interest Litigation in W.P.(MD).No.3982 of 2010 before a Division Bench of this Court.
(iv). In the said Writ Petition, on 25.03.2010 notice was ordered. During the pendency of the said Writ Petition, the first respondent passed an order on 28.04.2010 under Section 31(A) of the Air (Prevention and Control of Pollution), Act, 1981, after issuing show cause notice on 22.02.2010. It is stated in the said order that on 07.04.2010, the second respondent inspected the industrial premises and at that time, the submission of renewal application was stated, which was failed to be taken note of by the first respondent while passing the orders of closure.
(v). Challenging the said orders, the petitioners preferred W.P.(MD).Nos.6726, 6725 and 6945 of 2010. A Division Bench of this Court, by order dated 13.05.2010, disposed of the said Writ Petitions granting liberty to the petitioners to approach the Appellate Authority and file appeal and work out their remedies. The operation of the order dated 28.04.2010 passed by the first respondent was ordered to be kept in abeyance for a period of four weeks from 13.05.2010 enabling the petitioners to file appeal.
(vi). The third respondent herein filed Review Application Nos.44 and 43 of 2010 and prayed for reviewing the order dated 13.05.2010 made in W.P.(MD).Nos.6726 and 6725 of 2010. The said Review Applications were also dismissed by a Division Bench of this Court by order dated 09.06.2010. Thereafter, the petitioners filed Appeal Nos.78, 77 and 79 of 2010 respectively before the fourth respondent - Appellate Authority, Tamil Nadu Pollution Control Board. The fourth respondent rejected the said appeals on 08.09.2010 and confirmed the order of the first respondent dated 28.04.2010.
4. The said individual orders dated 08.09.2010 passed by the fourth respondent confirming the order of the first respondent dated 28.04.2010 are challenged in these Writ Petitions.
5. The contentions of the learned counsel for the petitioners are that the petitioners having applied for renewal by remitting renewal fee, the first respondent is not justified in ordering closure of the units without passing any order on the renewal applications and pendency of renewal applications shall be treated as a renewal of consent. The petitioners unit are functioning for the past several years and by the closure order passed, the employees working in the said units are put to serious prejudice.
6. The learned counsel also submitted that on 06.05.2008, certain documents were sought for by the first respondent to proceess the renewal of consent application and the same were also furnished by the petitioners and still the first respondent is keeping the renewal of consent application pending.
7. The learned Standing Counsel appearing for the Tamil Nadu Pollution Control Board, on the other hand, submitted that the said consent was renewed to the petitioners unit in W.P.(MD).Nos.13273 and 13275 of 2010 up to 30.09.1998. Insofar as the petitioner in W.P.(MD).No.13274 of 2010 is concerned, the consent was not renewed after 1999 and though the petitioners paid renewal fee, no application in the prescribed format was submitted by the petitioners, and therefore, on the basis of the inspection made, the units were issued with show cause notices by the District Environmental Engineer, Tirunelveli on 03.02.2004, 09.07.2004, 24.07.2006, 27.01.2006 and 22.02.2010 to the petitioner in W.P.(MD).No.13273 of 2010; 10.07.2004, 22.04.2009 and 22.02.2010 to the petitioner in W.P.(MD).No.13274 of 2010; and 03.02.2004, 31.01.2005, 24.07.2006, 20.12.2007, 27.01.2009 and 22.02.2010 to the petitioner in W.P.(MD).No.13275 of 2010. In the said notices, violations made by the petitioners unit were pointed out and the same were not yet to be rectified.
8. The learned Standing Counsel also submitted that in spite of receipt of the said show cause notices, the petitioners unit failed to take action to control odour nuisance due to their running of their unit. On 07.04.2010, the petitioners unit were inspected while they were in operation. The units are surrounded by residential buildings. Frequent complaints were received against the petitioners bone mill unit regarding odour nuisance. Therefore, the District Environmental Engineer recommended the Tamil Nadu Pollution Control Board to issue directions under Section 31(A) of the Air and Pollution Act, 1981, to disconnect power supply, and thereafter, the closure order was issued and disconnection of power supply under the provisions of Section 31(A) of the Air and Pollution Act, 1981 was ordered and the power supply was also disconnected by the Tamil Nadu Electricity Board through its proceedings dated 28.04.2010.
9. Pursuant to the directions issued by the Division Bench of this Court in W.P.(MD).Nos.6726, 6725 and 6945 of 2010, dated 13.05.2010, the petitioners preferred appeals before the Appellate Authority and the said appeals were also dismissed on merits. Even after the order of the Appellate Authority, the petitioners unit have not applied for renewal of consent. Since the consent was not renewed, the petitioners have to apply for fresh consent and without any application, the units have paid consent fee alone. There is no provision to claim the deemed consent under the Air and Pollution Act and Section 25(7) of the Water Act alone provides for deemed consent. Hence, the petitioners have to comply with the request made by the Tamil Nadu Pollution Control Board by submitting various documents, and thereafter only, the Pollution Control Board can process the same and pass appropriate orders.
10. The third respondent, in these Writ Petitions, have also filed their separate counter affidavits and supported the stand taken by the Pollution Control Board.
11. The learned counsel for the petitioners as well as the learned counsel for the respective respondents submitted that with effect from 16.06.2010, the petitioners unit are not functioning due to closure order and disconnection of power supply.
12. We have considered the rival submissions made by the learned counsel appearing for the petitioners and the learned counsel appearing for the respective respondents and perused the documents.
13. The point for consideration is whether the petitioners are justified in praying to quash the order of closure passed by the first respondent dated 28.04.2010 and the order passed by the Appellate Authority, viz., the fourth respondent dated 08.09.2010 and are justified in seeking a direction to the first respondent to issue renewal of consent order for the year 2010 - 2011.
14. It is an admitted fact that the units are bound to get consent order as required under Section 21 of the Air (Prevention and Control of Pollutio) Act, 1981. Admittedly, consent order was granted by the Tamil Nadu Pollution Control Board to run their bone crushing unit and the said consent was renewed to the petitioners unit in W.P.(MD).Nos.13273 and 13275 of 2010 up to 30.09.1998. Insofar as the petitioner in W.P.(MD).No.13274 of 2010 is concerned, the consent was not at all renewed. Even though the petitioners have remitted fee for renewal of consent, which was received by the first respondent, till date, no order either granting consent or rejecting the same is passed by the first respondent, who is the Competent Authority.
15. It is the case of the first respondent that on 07.04.2010, the petitioners unit were inspected and during inspection, it was found that odour was felt in the surrounding area of the petitioners unit and there are residential buildings surrounding the units. It is also the case of the first respondent that certain particulars were called for to consider the renewal of consent from the petitioners. According to the petitioners, some documents were furnished by the petitioners and the same were disputed by respondents 1 and 2. In the absence of a valid consent to run the units, the petitioners are not entitiled to run the units, particularly, when there is air pollution in the surrounding area of the petitioners unit, which were found during inspection made on 07.04.2010. The closure order was passed after issuing show cause notices to the petitioners. Section 21(1) of the Air (Prevention and Control of Pollution) Act, 1981 states that no person shall, without the previous consent of the State Board, establish or operate any industrial plant in an air pollution control area. Deeming provision, as contended by the learned counsel for the petitioners, will not apply to the Air (Prevention and Control of Pollution) Act, 1981. It is not the case of the petitioners that there was no air pollution due to functioning of their unit. Even if there is consent given, the Pollution Control Board Authorities are empowered to inspect the units and find out whether the conditions contained in the consent order are complied with and is there any pollution. On inspection made on 07.04.2010, it was found that there was odour in the surrounding emanetes from the petitioners unit in the nearby residential area. Hence, on public interest, the impugned order dated 28.04.2010 was passed by the first respondent, which was confirmed by the order of the fourth respondent dated 08.09.2010 by stating valid reasons.
16. The payment of Demand Draft towards renewal fee is noted by the fourth respondent. It is not the case of the first respondent that the fee paid for renewal of consent has been returned to the petitioners. Hence, the first respondent is not justified in contending that no application in the prescribed format was submitted by the petitioners. If that is the requirement under the Act, the first respondent ought to have returned the Demand Draft submitted by the petitioners towards renewal fee and having retained the said amount, any other details, which are required under the Act and Rules, can very well be demanded by the first respondent from the petitioners. In the communication, above referred to, the petitioners were directed to submit certain particulars and according to the petitioners, some of them were furnished.
17. Having regard to the said fact and the admitted postion that the units are not operating from 16.06.2010, as no stay of closure order was passed pending appeals or duing the pendency of these Writ Petitions, we are of the considered view that interest of justice would be met by directing the first respondent to demand whatever is required under the Act for considering the request of the petitioners for renewal of consent and pass necessary orders within a stipulated time.
18. Accordingly, we are not inclined to set aside the impugned orders and the Writ Petitions are disposed of in the following terms:- The first respondent is directed to demand whatever is required under the Air (Prevention and Control of Pollutio) Act, 1981, for considering the request of the petitioners seeking renewal of consent within a period of two weeks from the date of receipt of a copy of this order.
The petitioners are directed to submit those details to the first respondent within a period of two weeks thereafter.
The first respondent is directed to consider all the documents, which the petitioners are going to submit and pass necessary orders after hearing the petitioners as well as the third respondent in these Writ Petitions before deciding the said issue and the first respondent shall pass final orders on merits and in accordance with law regarding renewal of consent within a period of four weeks from the date of receipt of documents from the petitioners. It is made clear that we are not inclined to grant permission to the petitioners unit to operate pending consideration of renewal of consent taking note of the fact that the units are not in operation right from 16.06.2010. No costs. Consequently, connected Miscellaneous Petitions are closed.
NB To
1.Tamil Nadu Pollution Control Board, Represented by its Member Secretary, No.76, Mount Salai, Guindy, Chennai 600 032.
2.The District Environmental Engineer, Tamil Nadu Pollution Control Board, Tirunelveli.
3.The Appellate Authority Tamil Nadu Pollution Control Rep by its Assistant Manager, NCB-1, Greenways Road, Chennai 600 028.


Viewer3D Help
Index
Viewer3D (Intro)
This viewer can be used to interactively view any kind of 3D image volumes like CT and MRI.
It includes:
Maximum intensity projections (MIP)
|
Volume Rendering (VR)
|
Colored Volume Rendering
|
Phong shaded Volume rendering.
|
Voxel opacity and color tables can be changed on the fly allowing also iso surface kind of renders.
Shear-Warp
The fast render algorithm which used is based on a c-code implementation of the Shear-Warp transform.
Instead of rotating the viewer rays the volume slices are sheared, and the rays go parallel through
the volume allowing 2D interpolation instead of 3D, and efficient caching of data
The intermediate image after rendering through the sheared slices must be warped to
get the correct final image.
Starting Viewer3D
Viewer3D can be called from the command window with the following inputs:
VIEWER3D(V, RENDERTYPE, SCALES);
inputs,
V : 3D Input image volume, of type double, single, uint8, uint16 or uint32
(the render process uses only double calculations)
RENDERTYPE: 'MIP' Maximum Intensity Render (default)
'VR' Volume Rendering
'VRC' Volume Rendering Color
'VRS' Volume Rendering with Shading
SCALES: The sizes(height, width, depth) of one voxel. (default [1 1 1])
When Viewer3D is called without inputs you can load a previous saved view.
The Matlab render functions are also available as MEX / c-code in mex_c-code.zip
File
- Load View : Load a previous saved render
- Save View : Save render data to a matlab file
- Save Picture : Save a "Screenshot" to an image file (.png or .jpg)
Render
- MIP : Maximum intensity projection rendering
- Greyscale : Greyscale volume rendering
- Color : Colored volume rendering
- Shaded : Phong shaded volume rendering
- Image 400x400 : Rendered viewer image size 400x400
- Image 800x800 : Rendered viewer image size 800x800
Config
- Change AlphaColor : Will display the AlphaColor Window, used to change opacity and color of voxels
- Shading Shiny, change Phong shading to make object look shiny
- Shading Dull, change Phong shading to make object look dull
- Shading Metal, change Phong shading to make object look metal
Info
- Help : Display this help document
- About : Display version an author information
Main Render Window
- Zoom: Right mouse button
- Pan : Center mouse button
- Rotate around Z: Left mouse button at boundary of renderimage
- Rotate around XY: Left mouse button in center of renderimage
Change Alphacolors Window
The graph is showing the histogram of the data, with on the x-axis the intensity values.
The curve shown is a mapping from intensity to alpha and color, with on the y-axis
the opacity of the voxel form zero (transparent) to one (solid)
- drag a point with the left mouse button in y direction down to make a voxel of a certain intensity more transparent.
- click with the left mouse button on the line between the poinst to create a new (control) point
- click on a control point with the right mouse button to remove it.
- click on a control point with the center mouse button to change its color


Please activate JavaScript in your browser to access this page!
Google Play Games
Hi Player
Welcome to Free Fire events
Click Next to continue to continue
A Google Account for All Apps
Google
Copyright © 2021 Google Inc.


org.apache.openmeetings.core.remote
Interfaces
ISlaveHTTPConnectionManager
Classes
ConferenceLibrary
ErrorService
LanguageService
LanguageService.Language
MainService
MobileService
RecordingService
UserService
WhiteboardService


Users registered:
{{statsAllTime.usersRegistered}}
Keys uploaded:
{{statsAllTime.keysUploaded}}
Keys verified offline:
{{statsAllTime.keysVerifiedOffline}}
Keys verified online:
{{statsAllTime.keysVerifiedOnline}}
Keys Verified Online by Country
Total countries:
{{countriesCounter}}


?6
7
8
9
10
~
xT
v
The
New
York
copyright
reserved
botanical
Garden
THE
NEW
YORK
BOTANICAL
GARDEN
Plants:
of
Hispaniola
Dominican
Republic
No.
XT'710
Orj^za
sativa
L,
det,
A,
H„
Liogier*
1970,
Herbaceous,
errct,
about
60
cm
high;
glumes
ps
le
green;
in
swampy
area,
near
San
Cristobal
Alt,
50
m.
Bro,
Alain
H.
Liogier
•
2U,
1970«
Support*!
by
funds
iron
th-
National
Sciea«
Fonnd.tioi
sew
or
BOTANICAL
den
R
1604500
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


| <script> ::= | {S? <cmds>}? S? |
Description
This is the top level non-terminal for the @x:Act syntax. Each @x:Act script lives in a separate file.
Parsing
When a script is parsed the sequence of commands are placed within the body of a single top-level xdom:element tree node with tag @x:block.
The Character Set used for scripts is "UTF-8".


#include <linux/aio_abi.h> /* Defines needed types */ #include <linux/time.h> /* Defines 'struct timespec' */ int io_getevents(aio_context_t ctx_id, long min_nr, long nr, struct io_event *events, struct timespec *timeout);
Note: There is no glibc wrapper for this system call; see NOTES.
The io_getevents() system call attempts to read at least min_nr events and up to nr events from the completion queue of the AIO context specified by ctx_id. The timeout argument specifies the amount of time to wait for events, where a NULL timeout waits until at least min_nr events have been seen. Note that timeout is relative.
The asynchronous I/O system calls first appeared in Linux 2.5.
io_getevents() is Linux-specific and should not be used in programs that are intended to be portable.
Note that the libaio wrapper function uses a different type (io_context_t) for the ctx_id argument. Note also that the libaio wrapper does not follow the usual C library conventions for indicating errors: on error it returns a negated error number (the negative of one of the values listed in ERRORS). If the system call is invoked via syscall(2), then the return value follows the usual conventions for indicating an error: -1, with errno set to a (positive) value that indicates the error.
io_cancel(2), io_destroy(2), io_setup(2), io_submit(2), aio(7), time(7)


NahamCon is a free virtual offensive security conference and the CTF was a 48-hour competition that lasted between June 15th, 12:00 PM PDT - June 17th, 12:00 PM PDT. This post only covers the 5 Mobile category challenges in the CTF.
Fortune Teller
Upon installing the application, I encountered a user interface featuring an input field and a "GUESS" button. Nothing much to see.
I decompiled the application package. I stumbled upon a function named decrypt() and an encrypted file located within the application's resources. This finding hinted at the presence of an encryption mechanism employed by the application. The decrypt() function utilized the user's input as the key in the AES decryption process.
Further, my attention was directed to to a string resource named correct_guess in the MainActivity file.
I referred to the strings.xml file and used the value as the input in the application.
It was indeed the way to get the flag.
JNInjaspeak
Firstly, the uppercase letters JNI in the challenge name seemed to be suggest the use of Java Native Interface in the application. The application has not much to do in the user interface.
I decompiled the application and noticed the following line of code in MainActivity. The application was loading a .so binary.
The binary was available in the lib folder of the decompiled application. I ran strings command on the library file and the flag was right there.
Nahamstagram
The application opened a "Sign-In" page when executed. However, no credentials were provided so there was nothing to test.
So, I jumped into the code and looked at the activities available for the application. There were a couple of exported activities on the application among which "SignUpActivity" felt like the right way to go. So, I opened the activity using ADB.
The UI was not working properly and the sign-up request was not being sent to the server so, I looked further into the SignUpActivity and extracted the necessary parameters for sign-up request.
The application was using Google Identity Toolkit API so I asked ChatGPT for the sign-up endpoint and signed up an account.
Then, I signed in to the application and the user feed looked as follows.
There was a feature to save drafts as well. My CTF experience tells me that the flag is surely on some user’s draft.
As the application was using WebSocket to fetch posts and drafts, I looked through the WebSocket traffic and found a request that was fetching my drafts.
The first part of the request is the user ID, and this was available for other users too when their posts were being fetched for the user feed.
I grabbed the user ID from one of the requests and send a request to fetch the user’s drafts hoping that it does not have proper authorization checks in place. And, sure enough it did not and the flag was retrieved.
Red Light Green Light
The description of the challenge said to press the button when the light is green but it would not turn green at all.
As always, I decompiled the application and found this piece of code. The value of the variable red is set to true and there is a decrypt() function that runs only if the value of the red variable is not true.
Next, I wrote a simple frida script to change the value of red to false from true during runtime.
I hooked the script to the application and pressed the MOVE! button and the flag was retrieved.
Where's Waldo
Upon installing and starting the application, it asked for location permission and when granted would display a message as follows.
The network request looked as follows for the application. It was sending the latitude and longitude based on the device location and respond how far Waldo is.
ChatGPT had something to say about it.
This, however, did not work but was helpful in some way. After some trials and errors, the flag was retrieved.
All in all, the CTF challenges were incredibly enjoyable and provided a great experience. I'm eagerly looking forward to NahamCon 2024, anticipating an even more exciting and enriching experience.


{% load static %}
WELCOME TO 4 YEAR PLANNER!
For assistance, contact the Technology Support Center
Acceptable Use Policy


Here are your options:
| source of doom: | |
| date: | |
| optional options... | |
| target: | |
| units: | |
| show notes: |
Add notes to the popup:
Basic markdown styling supported.
Preview:
Here are your options:
| source of doom: | |
| date: | |
| optional options... | |
| target: | |
| units: | |
| show notes: |
Add notes to the popup:
Basic markdown styling supported.
Preview:


Responsive Show/Hide
Note: Resize the browser window to understand how it works:
ggf-hide-small will be hidden on small screens (phones)
ggf-hide-medium will be hidden on medium screens (tablets)
ggf-hide-large will be hidden on large screens (laptops/desktop)


Shrewsbury woman, 21, charged over Co-op robbery
by Dominic RobertsonA 21-year-old Shrewsbury woman has been charged with robbing a Co-op store and possessing a fake gun.
Adina McLean, was charged by police in connection with an incident at around 7.30pm on Saturday, November 30, at the Co-op store in Shrewsbury Road, Bomere Heath.
A spokesman for West Mercia Police said McLean, 21, of Crowmere Green, Shrewsbury, had been charged with robbery and possession of an imitation firearm.
McLean appeared at Kidderminster Magistrates Court today.
She was remanded in custody and will be produced to crown court in the next two days.


Class: Aws::Lex::Types::PostContentRequest
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
Struct
|
|
|
Instance Chain:
self,
::Aws::Structure ,
Struct
|
|
| Inherits: |
Struct
|
| Defined in: | gems/aws-sdk-lex/lib/aws-sdk-lex/types.rb |
Overview
Constant Summary
Instance Attribute Summary
-
#accept ⇒ String
rw
You pass this value as the
Accept
HTTP header. -
#active_contexts ⇒ String
rw
A list of contexts active for the request.
-
#bot_alias ⇒ String
rw
Alias of the Amazon Lex bot.
-
#bot_name ⇒ String
rw
Name of the Amazon Lex bot.
-
#content_type ⇒ String
rw
You pass this value as the
Content-Type
HTTP header. -
#input_stream ⇒ IO
rw
User input in PCM or Opus audio format or text format as described in the
Content-Type
HTTP header. -
#request_attributes ⇒ String
rw
You pass this value as the
x-amz-lex-request-attributes
HTTP header. -
#session_attributes ⇒ String
rw
You pass this value as the
x-amz-lex-session-attributes
HTTP header. -
#user_id ⇒ String
rw
The ID of the client application user.
Instance Method Summary
::Aws::Structure
- Included
| #to_hash | Alias for Structure#to_h. |
Instance Attribute Details
#accept ⇒ String
(rw)
You pass this value as the Accept
HTTP header.
The message Amazon Lex returns in the response can be either text or
speech based on the Accept
HTTP header value in the request.
If the value is
text/plain; charset=utf-8
, Amazon Lex returns text in the response.If the value begins with
audio/
, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in theAccept
header). For example, if you specifyaudio/mpeg
as the value, Amazon Lex returns speech in the MPEG format.If the value is
audio/pcm
, the speech returned isaudio/pcm
in 16-bit, little endian format.The following are the accepted values:
- audio/mpeg
- audio/ogg
- audio/pcm
- text/plain; charset=utf-8
- audio/* (defaults to mpeg)
# File 'gems/aws-sdk-lex/lib/aws-sdk-lex/types.rb', line 735
class PostContentRequest < Struct.new( :bot_name, :bot_alias, :user_id, :session_attributes, :request_attributes, :content_type, :accept, :input_stream, :active_contexts) SENSITIVE = [:session_attributes, :request_attributes, :active_contexts] include Aws::Structure end
#active_contexts ⇒ String
(rw)
A list of contexts active for the request. A context can be activated when a previous intent is fulfilled, or by including the context in the request,
If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for the session. If you specify an empty list, all contexts for the session are cleared.

Indicates the audio format or text. The header value must start with one of the following prefixes:
PCM format, audio data must be in little-endian byte order.
- audio/l16; rate=16000; channels=1
- audio/x-l16; sample-rate=16000; channel-count=1
- audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false
Opus format
- audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; frame-size-milliseconds=4
^
Text format
- text/plain; charset=utf-8
^
# File 'gems/aws-sdk-lex/lib/aws-sdk-lex/types.rb', line 735
class PostContentRequest < Struct.new( :bot_name, :bot_alias, :user_id, :session_attributes, :request_attributes, :content_type, :accept, :input_stream, :active_contexts) SENSITIVE = [:session_attributes, :request_attributes, :active_contexts] include Aws::Structure end
#input_stream ⇒ IO
(rw)
User input in PCM or Opus audio format or text format as described
in the Content-Type
HTTP header.
You can stream audio data to Amazon Lex or you can create a local buffer that captures all of the audio data before sending. In general, you get better performance if you stream audio data rather than buffering the data locally.
# File 'gems/aws-sdk-lex/lib/aws-sdk-lex/types.rb', line 735
class PostContentRequest < Struct.new( :bot_name, :bot_alias, :user_id, :session_attributes, :request_attributes, :content_type, :accept, :input_stream, :active_contexts) SENSITIVE = [:session_attributes, :request_attributes, :active_contexts] include Aws::Structure end
#request_attributes ⇒ String
(rw)
You pass this value as the x-amz-lex-request-attributes
HTTP
header.
Request-specific information passed between Amazon Lex and a client
application. The value must be a JSON serialized and base64 encoded
map with string keys and values. The total size of the
requestAttributes
and sessionAttributes
headers is limited to 12
KB.
The namespace x-amz-lex:
is reserved for special attributes.
Don't create any request attributes with the prefix x-amz-lex:
.
For more information, see Setting Request Attributes.
# File 'gems/aws-sdk-lex/lib/aws-sdk-lex/types.rb', line 735
class PostContentRequest < Struct.new( :bot_name, :bot_alias, :user_id, :session_attributes, :request_attributes, :content_type, :accept, :input_stream, :active_contexts) SENSITIVE = [:session_attributes, :request_attributes, :active_contexts] include Aws::Structure end
#session_attributes ⇒ String
(rw)
You pass this value as the x-amz-lex-session-attributes
HTTP
header.
Application-specific information passed between Amazon Lex and a
client application. The value must be a JSON serialized and base64
encoded map with string keys and values. The total size of the
sessionAttributes
and requestAttributes
headers is limited to 12
KB.
For more information, see Setting Session Attributes.
# File 'gems/aws-sdk-lex/lib/aws-sdk-lex/types.rb', line 735
class PostContentRequest < Struct.new( :bot_name, :bot_alias, :user_id, :session_attributes, :request_attributes, :content_type, :accept, :input_stream, :active_contexts) SENSITIVE = [:session_attributes, :request_attributes, :active_contexts] include Aws::Structure end
#user_id ⇒ String
(rw)
The ID of the client application user. Amazon Lex uses this to
identify a user's conversation with your bot. At runtime, each
request must contain the userID
field.
To decide the user ID to use for your application, consider the following factors.
The
userID
field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.
If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.
A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.
# File 'gems/aws-sdk-lex/lib/aws-sdk-lex/types.rb', line 735
class PostContentRequest < Struct.new( :bot_name, :bot_alias, :user_id, :session_attributes, :request_attributes, :content_type, :accept, :input_stream, :active_contexts) SENSITIVE = [:session_attributes, :request_attributes, :active_contexts] include Aws::Structure end


I think an easy way to describe the differences is that HTML is like the foundations of a building you need to start at the base and build from the ground up before your able to add your styling, an easy way to describe CSS is that it would be all the extras you add like tinted windows and all the fancy designs you're going to add into your lobby.
Doing cleaning around the house is something that everyone does on a day to day basis, the loop would be does this part of my house need cleaning and if the answer is yes you would clean it then you would start the loop again and ask the same question but move on to another room if it was no this room doesn't need cleaning you would still start the loop again but move on to the next room, etc.
The easiest way I could think of to describe the DOM is that it's like a family tree showing you how everything is connected together and how and in which order things belong just like a normal family tree it starts off at the beginning.
Arrays are something your able to use to store multiple values within one single variable for example you could say that I love pizza and beer but you could also add things like like only certain types of beer or only certain types of toppings on your pizza.
Functions are used to enable a list of tasks into one command, so for example your playing a video game and you want to save and quit you would go into the menu or save point and the game would then run the function that would look at where you are progress wise and be ok ill make a note of that and save your game at that point then it would quit.


---
layout: slides
title: "On reinforcement learning"
category: hidden
type: course
semester: Fall 2020
college: Stevens Institute of Technology
permalink: /thought-and-behavior/reinforcement-learning/
---
# On reinforcement learning.
???
---
# Teaching pigeons
---
# Teaching AI algorithms
---
# IBM's Deep Blue
---
# AlphaGo (and AlphaZero)
---
# Building off the multiarmed bandit problem
- Delayed reward
- Multiple states
- Larger action sets
---
# Gridworlds
---
# The Markov Decision Process
Five elements:
- Action set
- State space
- Transition function
- Reward function
- Discount factor
---
# The Partially Observable Markov Decision Process
MDP plus two additional element:
- Observation model
- Observations
---
# Solutions
- A "policy"
---
# How to learn a policy?