To choose which objects to manipulate, D3 provides the select("mySelector") method, which returns the first element in your document to match the selector, and the selectAll("mySelector") method that returns all elements matching the selector. You can select elements by various criteria, the most important ones being by tag, by class, and by id.
Now we have this SVG here and we want to select some of the elements:
In the code you can find these selections:
And now look what happens, when we click the Button. We have selected the different elements and changed their attributes. And we have learned something new: rounded corners!
We have already used this method and works as expected. This method can be called on the return value of the select() or selectAll() and simply adds new elements as children to the selected nodes.
The parameter we pass to the append() method is a string defining the type of element we want to add. E.g.: div, p, svg, a, h1,... Some elements might be addressed via their namespace-prefix, e.g.: svg:circle. This method works not only for SVG elements, but for all HTML-tags.
Here is an example: We select this gray DIV down here and append text, and with text we define the text. If you can click the button you can see what happens, you can do it even multiple times.
As we have already seen, JavaScript allows us to call functions in a very compact way, via method chaining. This enables us to call multiple functions (on the same object) consecutively:
d3.select("body").append("div").text("Hello World!");
Method calls are connected with periods and the output of each method is used as the input for the next one.
Each element you select can be modified with certain attributes like class, id, etc., and CSS styles, like color, stroke, opacity, etc. To set these values D3 offers the .attr(name, value) and the .style(name, value): For example we can give all our divs the same class and change their text color:
d3.selectAll("div").attr("class","myDivClass"); d3.selectAll(".myDivClass").style("color","orange");
Example: As an example look at the SVG on top of this page.


Bon Iver Drops First Official Music Video in Seven Years for "Naeem"
A cut off their Grammy-nominated album ‘i,i.’
by Sophie CaraanBon Iver has shared a visual for “Naeem,” the midpoint of their latest album i,i and the band’s first official, non-lyric music video since “Beth/Rest” in 2012. Helmed by Barcelona-born and Los Angeles-based director AG Rojas (Earl Sweatshirt, Kamasi Washington, Florence + The Machine, Run The Jewels), the music video is a reflection of the unspoken trauma being carried over generation after generation.
“Naeem is concerned with the potential for intergenerational healing, and how we choose to engage with that potential,” Rojas said. “All my admiration and love to Cynthia Rodriguez and her child Azul who brought this idea to life, and to Bon Iver for amplifying it.”
i,i was recently nominated for four Grammys including Album of the Year, Record of the Year for “Hey, Ma,” Best Alternative Music Album and Best Recording Package. This totals Bon Iver’s Grammy nominations to seven, winning two in 2012 for Best New Artist and Best Alternative Music Album.
Watch the visual for “Naeem” above.
In other music news, Maggie Rogers has released a new single.


Media For Mr. Lu Xuefu Memorial Service
All media files for the 6/9/2018 Memorial Service
Please bookmark this link. I will update this page whenever new content is available.
Photos
Edited photos on Flickr,
- Edited photos: https://www.flickr.com/gp/zz_photo/f597j7
- Flowers: https://www.flickr.com/gp/zz_photo/01n3D8
Meipian articles,
- 100 selected photos: https://www.meipian.cn/1ebashrp
- Flowers: https://www.meipian.cn/1dmpe73g
Raw photos on Flickr,
- 08:40-09:30: https://www.flickr.com/gp/zz_photo/916020
- 09:30-10:00: https://www.flickr.com/gp/zz_photo/5362R0
- 10:00-10:30: https://www.flickr.com/gp/zz_photo/mL200X
- 10:30-10:45: https://www.flickr.com/gp/zz_photo/p0pNCv
- 10:45-11:00: https://www.flickr.com/gp/zz_photo/90z3s6
- 11:00-12:00: https://www.flickr.com/gp/zz_photo/6qz8JQ
- 12:00-15:00: https://www.flickr.com/gp/zz_photo/f836Av
Videos
YouTube (unlisted):
- Arrival and Viewing: https://youtu.be/MyZGZg-rGVg
- Memorial serivce: https://youtu.be/w_izPZf8lFg
- Burial: https://youtu.be/gkbERGikl3A
- Reception: https://youtu.be/Mk1KeCiMEDA
Youku:
- Arrival and Viewing: https://m.youku.com/video/id_XMzY1NzczNTg5Ng==.html?ishttps=1
- Burial: https://m.youku.com/video/id_XMzY1NzczNjc0MA==.html?ishttps=1
Timelapse
YouTube
- Memorial Service: https://youtu.be/-AJ64eejq-w
- Reception: https://youtu.be/XoOgEkwAUFw
Youku
- Memorial Service: http://v.youku.com/v_show/id_XMzY2MTYyNjQ4MA==.html
- Reception: http://v.youku.com/v_show/id_XMzY2MTY2Mzg2NA==.html
Photos for Timelapse (Took every 10 seconds)
- Memorial Service: https://www.flickr.com/gp/zz_photo/15U0do
- Reception: https://www.flickr.com/gp/zz_photo/1Eq801
Files
All the source files including those downloaded from cameras are on my NAS.
The most reliable way to get those is to use rsync
,
rsync -av admin@zzcloud.myqnapcloud.com:/share/homes/admin/photos/folder .
The following folders are available,
180609a-funeral-zhang1
180609b-funeral-zhang2
180609c-funeral-qian
180609d-funeral-video
180609e-funeral-zhang3
180609f-timelapse-memorial
180609g-timelapse-reception
180609h-processed-videos
180609x-funeral-edited
180609y-funeral-flowers
The NAS UI may work for downloading indiviual files,
From D600 used by Zhihong:
- http://zzcloud.myqnapcloud.com:8080/share.cgi?ssid=0qbe0V0
- http://zzcloud.myqnapcloud.com:8080/share.cgi?ssid=0yWuLd7
- http://zzcloud.myqnapcloud.com:8080/share.cgi?ssid=0Pxz6Mq
From D800 used by Aaron:
From D610 used by Brandon (mostly videos)


Poem Header
Verse
Add verse
Header
You will loose any unsaved changes!
Are you sure you want to proceed?
Yes
No


Firebase is a platform developed by Google for creating mobile and web applications.
Firebase is a Backend-as-a-Service (Baas). It provides developers with a variety of tools and services to help them develop quality apps, grow their user base, and earn profit.
Firebase's Key Features
The Firebase Firestore Database lets you build rich, collaborative applications by allowing secure access to the database directly from client-side code. Data is persisted locally, and even while offline, realtime events continue to fire, giving the end user a responsive experience.
Modules are small units of independent, reusable code that is desired to be used as the building blocks in creating a non-trivial Javascript application.
import app from "./index.js";
import { getFirestore } from "https://www.gstatic.com/firebasejs/9.1.2/firebase-firestore.js";
const db = getFirestore(app);
import {collection, addDoc} from "https://www.gstatic.com/firebasejs/9.1.2/firebase-firestore.js"
const saveTask = (title, description) =>
addDoc(collection(db, "tasks"), {
title,
description,
});
import {getDocs, onSnapshot} from "https://www.gstatic.com/firebasejs/9.1.2/firebase-firestore.js"
const getTasks = () => getDocs(collection(db, "tasks"));
const onGetTasks = (callback) => onSnapshot(collection(db, "tasks"), callback);
});
import {getDoc, doc, updateDoc} from "https://www.gstatic.com/firebasejs/9.1.2/firebase-firestore.js"
const getTask = (id) => getDoc(doc(db, "tasks", id));
const updateTask = (id, updateTask) => updateDoc(doc(db, "tasks", id), updateTask);
});
import {deleteDoc} from "https://www.gstatic.com/firebasejs/9.1.2/firebase-firestore.js"
const deleteTask = (id) => deleteDoc(doc(db, "tasks", id));
});
CRUD is an acronym that comes from the world of computer programming and refers to the four functions that are considered necessary to implement a persistent storage application: create, read, update and delete.
The create function allows users to create a new record in the database. In the SQL relational database application, the Create function is called INSERT.
The read function is similar to a search function. It allows users to search and retrieve specific records in the table and read their values.
The update function is used to modify existing records that exist in the database. To fully change a record, users may have to modify information in multiple fields.
The delete function allows users to remove records from a database that is no longer needed. Both SQL and Oracle HCM Cloud have a delete function that allows users to delete one or more records from the database.


Enum TitlePrefix
- java.lang.Object
-
- java.lang.Enum<TitlePrefix>
-
- TitlePrefix
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<TitlePrefix>
public enum TitlePrefix extends java.lang.Enum<TitlePrefix>
All the title prefix in order derived from book title.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static TitlePrefix
getTitlePrefix(java.lang.String value)
Parse the title to relevant TitlePrefix object by fetching its first character.static TitlePrefix
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static TitlePrefix[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
A
public static final TitlePrefix A
-
B
public static final TitlePrefix B
-
C
public static final TitlePrefix C
-
D
public static final TitlePrefix D
-
E
public static final TitlePrefix E
-
F
public static final TitlePrefix F
-
G
public static final TitlePrefix G
-
H
public static final TitlePrefix H
-
I
public static final TitlePrefix I
-
J
public static final TitlePrefix J
-
K
public static final TitlePrefix K
-
L
public static final TitlePrefix L
-
M
public static final TitlePrefix M
-
N
public static final TitlePrefix N
-
O
public static final TitlePrefix O
-
P
public static final TitlePrefix P
-
Q
public static final TitlePrefix Q
-
R
public static final TitlePrefix R
-
S
public static final TitlePrefix S
-
T
public static final TitlePrefix T
-
U
public static final TitlePrefix U
-
V
public static final TitlePrefix V
-
W
public static final TitlePrefix W
-
X
public static final TitlePrefix X
-
Y
public static final TitlePrefix Y
-
Z
public static final TitlePrefix Z
-
DIGIT
public static final TitlePrefix DIGIT
It represents the digits (0-9)
-
-
Method Detail
-
values
public static TitlePrefix[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (TitlePrefix c : TitlePrefix.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static TitlePrefix valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
getTitlePrefix
public static TitlePrefix getTitlePrefix(java.lang.String value)
Parse the title to relevant TitlePrefix object by fetching its first character. If invalid title is passed, null is returned.- Parameters:
value
- Book title- Returns:
- corresponding TitlePrefix object if title is in valid form, null otherwise
-
-


WDMD
Section: Maintenance Commands (8)Updated: 2011-08-01
Index Return to Main Contents
NAME
wdmd - watchdog multiplexing daemonSYNOPSIS
wdmd [OPTIONS]DESCRIPTION
This daemon opens /dev/watchdog and allows multiple independent sources to detmermine whether each KEEPALIVE is done. Every test interval (10 seconds), the daemon tests each source. If any test fails, the KEEPALIVE is not done. In a standard configuration, the watchdog timer will reset the system if no KEEPALIVE is done for 60 seconds ("fire timeout"). This means that if single test fails 5-6 times in row, the watchdog will fire and reset the system. With multiple test sources, fewer separate failures back to back can also cause a reset, e.g.
T seconds, P pass, F fail
T00: test1 P, test2 P, test3 P: KEEPALIVE done
T10: test1 F, test2 F, test3 P: KEEPALIVE skipped
T20: test1 F, test2 P, test3 P: KEEPALIVE skipped
T30: test1 P, test2 F, test3 P: KEEPALIVE skipped
T40: test1 P, test2 P, test3 F: KEEPALIVE skipped
T50: test1 F, test2 F, test3 P: KEEPALIVE skipped
T60: test1 P, test2 F, test3 P: KEEPALIVE skipped
T60: watchdog fires, system resets
(Depending on timings, the system may be reset sometime shortly before T60, and the tests at T60 would not be run.)
A crucial aspect to the design and function of wdmd is that if any single source does not pass tests for the fire timeout, the watchdog is guaranteed to fire, regardless of whether other sources on the system have passed or failed. A spurious reset due to the combined effects of multiple failing tests as shown above, is an accepted side effect.
wdmd will exit if a watchdog driver is not loaded.
wdmd cannot be used on the system with any other program that needs to open /dev/watchdog, e.g. watchdog(8).
Test Source: clients
Using libwdmd, programs connect to wdmd via a unix socket, and send regular messages to wdmd to update an expiry time for their connection. Every test interval, wdmd will check if the expiry time for a connection has been reached. If so, the test for that client fails.
(Other test sources such as scripts executed each test interval may be added in the future.)
OPTIONS
- -D
-
Enable debugging to stderr and don't fork.
- -H num
-
Enable (1) or disable (0) high priority features such as realtime
scheduling priority and mlockall.
Default 1.
Index
This document was created by man2html, using the manual pages.
Time: 05:34:31 GMT, December 24, 2015


Scribe
Bold
Italic
Underline
Strike Through
Remove Formatting
Link
Unlink
Ordered List
Unordered List
Indent
Outdent
Blockquote
Code
H2
Undo
Redo
Output


This package was downloaded from
http://xorg.freedesktop.org/releases/individual/lib/
Copyright (C) 1989-95 GROUPE BULL
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 IN NO EVENT SHALL
GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of GROUPE BULL shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from GROUPE BULL.
Copyright (C) 1998 Arnaud LE HORS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 IN NO EVENT SHALL
Arnaud LE HORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of Arnaud LE HORS shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from Arnaud LE HORS.
Copyright (C) 19896 Lorens Younes
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 IN NO EVENT SHALL
Lorens Younes BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of Lorens Younes shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from Lorens Younes.


We are unable to post a query.
Finance Contact
<EMAIL_ADDRESS>Queries
If you have a query with the finances, use this section to raise your query with the finance contact. You must confirm any finance changes with the contact before you approve.


Pingpong is a game of numbers.
Nota Bene:
Acceptable input* is a positive integer.
Multiples of 3, 5, and 15 are SPECIAL.
Entries with decimal places will be truncated to the nearest lower integer.
Negative numbers will be converted to positive numbers.
* "Acceptable input" might mean different things if you are testing software. See what you can get away with...
SERVE SOME PINGPONG REALNESS


A simple client package for the Amazon Web Services ('AWS') Simple Notification Service ('SNS') 'API' <https://aws.amazon.com/sns/>.
| Version: | 0.1.7 |
| Imports: | stats, httr, xml2, jsonlite, aws.signature (≥ 0.3.4) |
| Published: | 2017-07-04 |
| Author: | Thomas J. Leeper [aut, cre] |
| Maintainer: | Thomas J. Leeper <thosjleeper at gmail.com> |
| BugReports: | https://github.com/cloudyr/aws.sns/issues |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | https://github.com/cloudyr/aws.sns |
| NeedsCompilation: | no |
| Citation: | aws.sns citation info |
| Materials: | README NEWS |
| In views: | WebTechnologies |
| CRAN checks: | aws.sns results |
| Reference manual: | aws.sns.pdf |
| Package source: | aws.sns_0.1.7.tar.gz |
| Windows binaries: | r-devel: aws.sns_0.1.7.zip, r-release: aws.sns_0.1.7.zip, r-oldrel: aws.sns_0.1.7.zip |
| OS X binaries: | r-release: aws.sns_0.1.7.tgz, r-oldrel: aws.sns_0.1.7.tgz |
| Old sources: | aws.sns archive |
| Reverse imports: | awspack |
| Reverse suggests: | aws.cloudtrail, aws.ses |
Please use the canonical form https://CRAN.R-project.org/package=aws.sns to link to this page.


Contains the enhancements from Kalin Wilson
This class uses the LookupValue id property in place of the code property to simplify the lookup model
and solidify the database foreign key constraints between LookupValues and where they are used in other classes.


Lighten-3
Lighten-2
Lighten-1
Primary
Darken-1
Darken-2
Darken-3
If you need to buy papers or custom essays, you have arrived at the ideal place! We offer guarantees that any essay work provided by our professional writing services will be entirely free of plagiarism and 100% freshly written. At BestEssayService.net, we make sure our customers are fully satisfied every time they use our custom term paper writing service. Our essay and research paper writing services are provided by a large team of editing, writing and research specialists who can help you with all types of coursework, whether you have essays, term papers, research papers, theses or dissertations to complete. Our essay writers are able to help you with all subject matters for all education levels, no matter if you are a high school student or studying for a PhD or Master's degree.


DfE enquiries
Central newsdesk 020 7783 8300
General enquiries 0370 000 2288
Press release
Plans for a new independent college of teaching and improved professional development unveiled.
Plans to support the set-up of a new, independent, professional body to represent and champion high standards in the teaching profession have been announced today (9 December 2014) by Education Secretary Nicky Morgan and Schools Minister David Laws.
This country already has world-class teachers, who are driving up standards in our schools and helping prepare every child - regardless of their background - for life in modern Britain. But the coalition government is committed to helping teachers improve even further.
A strong teaching profession that takes increasing responsibility for its own development and improvement is at the heart of the government’s plan for education. The creation of a new professional body, led and owned by teachers themselves without interference from the government, will help to achieve that vision and ensure teachers continue to be recognised as valued professionals, bolster the professional status of teaching, and support the profession to grow and learn.
The package of measures published today for consultation aims to put the teaching profession in England on a par with the best in the world by:
Education Secretary Nicky Morgan said:
We all know the difference a great teacher can make to the life of a child, and we’re fortunate to have the most highly qualified teaching profession ever, with more graduates from top universities choosing teaching than ever before.
Now we want to do more to recognise and reward them by supporting the profession as whole, through a new college of teaching and the kind of high-quality professional development opportunities that teachers and school leaders have long argued for.
We want to work with the profession to raise standards even further because there can be no more important job than being a teacher. They are a crucial part of our plan for education and vital to the success of our long-term economic plan, as they prepare the next generation of pupils for life in modern Britain.
Schools Minister David Laws said:
Ensuring we have excellent teachers in every classroom inspiring pupils to achieve their full potential is key to building a stronger economy and a fairer society.
Teachers are the single most important resource in our schools. Teaching should and must be on an equal footing with other high-status professions like law and medicine.
We already have world-class teachers doing amazing work up and down the country. But we want to support them further. We will raise the status of teaching by supporting a new college of teaching and ensuring teachers have access to high-quality development programmes throughout their careers, backed up by rigorous evidence and evaluation.
The government is proposing a number of ways in which it might play a role in supporting the initial set-up of a college of teaching while guaranteeing its long-term independence. This could include providing start-up funding as well as non-financial support while the new organisation beds in.
Over time it is expected that the new body might take on greater responsibility for areas such as professional standards and continuous professional development, moving stewardship of the profession out of the hands of the government and to the profession. As part of the consultation process the government is inviting expressions of interest from organisations interested in establishing the college.
The plans outlined today will build on work the government has already undertaken to support the teaching profession, including:
Central newsdesk 020 7783 8300
General enquiries 0370 000 2288
Published: 9 December 2014


{{ message|safe }} {% if 'data-stick' not in message.tags.split %}{% endif %}
{% endfor %}
{% if projects_to_approve|length > 0 %}
Projects waiting for approval:
{% for project in projects_to_approve %}
{{ project.name }}
{% if not forloop.last %}, {% endif %}
{% endfor %}
{% endif %}
{% if global_preferences.witness__asking_for_votes %}
If you voted for @noisy.witness, a team which created this service, please update your witness vote. @noisy.witness has merged with Engrave to form @wise-team. Learn more about us and our projects from our announcement. Vote for @wise-team witness if you want to support us or any of our projects!


This is a short text
Testing this is a long test.
Testing this is a long test.
Testing this is a long test.
Testing this is a long test.
Testing this is a long test.
Testing this is a long test.
Testing this is a long test.
Testing this is a long test.
Testing this is a long test.
Testing this is a long test.


Isaiah Thomas’ Tweet About Bronny James, Zaire Wade Going Viral
by Chris RosvoglouThe next generation of basketball is already getting quality exposure as ESPN will air 15 of Sierra Canyon’s games. Fans will have the chance to watch Bronny James and Zaire Wade very soon.
As always, there are going to be people upset with this decision by ESPN. However, the overwhelming majority of the basketball community would like to see just how good the sons of two future Hall of Famers are.
LeBron James and Dwyane Wade had an incredible bond on the hardwood, and it’s possible that their sons can create a little magic of their own.
While it’s no surprise that ESPN’s decision to broadcast 15 games for Sierra Canyon certainly went viral, so did Isaiah Thomas’ reaction to the news.
Thomas tweeted “Lol they got more than us.”
He’s referring to the Washington Wizards’ schedule this season, which features only four nationally-televised games.
This reaction seemed to be more of a joke than anything else. Besides, Thomas has respect for James since they played together in Cleveland.
ESPN’s first broadcast for Sierra Canyon will take place on Nov. 21, per Eric Sondheimer of the Los Angeles Times.
Bronny James and Zaire Wade only have one year in high school together, since the latter is graduating after this year.


Stepping into the role of President, not only did I want to be the leader who oversees the events and logistics that happen ‘behind the scenes’; I wanted to act as a key support network for not only the executive members on the team but also those in the society as well- ensuring that the goals and voices of the co-op community were being heard and considered. Outside of the society, my interests primarily include volunteering, cooking and creating banger spotify playlists.
President
I decided to run for Vice President in order to channel my inner Nigel: the fun-loving guy who can bring a room together and give warm welcomes to everyone coming into Co-op Society. Seeing the first-years enjoy camp so much and create long-lasting memories and friendships honestly filled me with joy; it was definitely one of my biggest goals stepping into this position. It’s quite sad that we’ve been kept at home this term, but I’m looking forward to seeing you all in person again, and continuing to facilitate a friendly and fun environment Some of my hobbies include playing guitar, decorating my apartment, and going out with friends/family.
Vice President
“You can run the office without a boss, but you can't run an office without secretaries”
I honestly believe that organisation is a staple to running any society. I applied to be secretary so that I could help be the backbone of the society. Along the way I’ve helped develop the teams’ communication abilities further, whilst simultaneously increasing my ability to work in and lead a team. My goal is to have everyone working together as a tightly oiled machine, and so far it’s been pretty good!!
Secretary
Over the year as treasurer I have sought to consistently reduce costs associated with events whilst continuing to improve engagement and attendance. Coming from a shaky financial position previously, gaining a reasonable buffer fund for the society has been my main priority for the past term. My goal is to make a total accrual profit for the year of $1000.
Outside of the society, my interests lie in general macroeconomics, football, piano, and a variety of games.
Treasurer
Coming into the Arc Delegate position, I knew I wanted to do more than becoming a communicator and a signature collector. I wanted to be able to give incoming co-ops the welcoming family experience I received from the society last year. I stepped forward to help organise the buddy program to make sure that new scholars would make a strong connection right off the bat with people in the year above them.
My interests outside the society include basketball, netflix, finding new songs on Spotify and cooking. I do a little bit of coding too.
Arc Delegate
Social director and all-round LIFO. The aim for this year was to help y'all work hard, play hard. With COVID-19 in our systems, I’ve tried to help Co-op play hard, whether it be games over zoom, getting inebriated over zoom or finding love over zoom, I wanted to replicate that feeling of in person connection. Once COVID-19 is over, my goal is to throw a term you’ll never forget.
Outside of Co-op I spend most of my time filming/editing, climbing/running and looking for the next best road trip/adventure.
Events
As a Charity co-director I wanted to highlight the philanthropic side of Co-op Soc that our members tend to forget. Given that we’re a privileged bunch, it’s important we give back to the community, and these acts of kindness don’t have to be boring! We’ve already fundraised through the World’s Greatest Shave and started a new case comp initiative to help small charities. Later on we hope to run in the City2Surf and hold our much-anticipated Poker Night.
Some of my hobbies include yakult soju, blueberry soju, strawberry soju, green grape soju, peach soju, pineapple soju and watermelon soju.
Charity
Coming into the Charity Director role, my goal was to organise fun events that allow Co-ops to volunteer first-hand and give back to the community - to do good and feel good. We’ve had the opportunity to hold some great events, such as our upcoming online Case Comp partnering with a real charity to help them tackle a very real issue in our society. Looking forward to launching some of our planned events when in-person activities resume!
Outside of Co-op Soc my interests include reading, catching up on some Netflix and most importantly, creating Spotify playlists for pretty much every occasion.
Charity
Being a marketing director has allowed me to be more creative in the way the society presents itself. I think that having a strong presence in how we promote ourselves can help us establish us as a better society and engage more Co-ops with events.
Things I like to do outside University include most sports, Videography, going to church and concerts.
Marketing
As the publications director, my vision is to develop the society’s online presence through the introduction of published articles on our new platform that is the Co-op Soc website. I hope that by establishing a friendly blog environment, these features can inform, amuse and provoke thought in the wider community.
Society role aside, I enjoy baking, playing badminton, reading autobiographies and sketching in my spare time.
Publications
I came into this role because I wanted to express my creativity and create a website that people would be willing and keen to use. I hope to make something that future Co-op Society members as well as alumni will continue to visit and find out more about how Co-ops are doing and what changes take place from year to year.
Outside of the society, I enjoy watching the NBA, binge watching shows and taking/editing photos.
IT
As one of two First Year Representatives, I’ve had the opportunity to represent the Co-op Soc 2020 cohort, and function as a channel of communication between us and the Executive Body. My goals stepping into this role were to contribute effectively to the smooth running of the society and actively engage with my cohort, and throughout the year I’ve had the privilege to work on the 2020 Co-op Soc merchandise line, as well as learn from the current executive body.
Outside the society, I enjoy baking for friends and watching (trashy) TV.
As one of this year’s First Year Representatives, my role has been to bridge the gap between the 2020 Co-op Soc First Year cohort and the Co-op Soc Executive team. I’ve strived to play an active role in the society by engaging with my cohort and working to design and distribute the 2020 Co-op Soc merchandise. After seeing how tightly-knit the second year cohort were, my main goal has been to foster a similar environment and make Co-op Soc a second family for my year.
In my free time, my interests lie in playing cricket, watching movies and TV shows and dabbling in the saxophone.
The marketing portfolio focuses on creating continued engagement with our Co-op Soc Facebook platform. Via the creation of digital marketing content, all students are encouraged to participate in fulfilling social events.
The team is responsible for organising our social calendar, including planning, developing and executing a core suite of events. They ensure all members are given the opportunity to be a part of this vibrant community, through the creation and maintenance of social groups.
This portfolio seeks to create awareness, raise funds and drive social change for charities. The Charity subcommittee also compliments the Social portfolio in hosting fun events for a great cause.


Put down roots at the Village Oaks. Our community brings you tranquil living at an affordable price. The apartment homes have quality options to make you feel at home. Tucked away in Alamo Heights, you are able to live just a short distance from downtown, the Pearl historic district, the Quarry and San Antonio International airport. Built in the 1960's, this 2-story complex has been revamped with modern design, charming fixtures, and recent upgrades. The Village Oaks is a fresh and fun living space. Contact us today and make this Alamo Heights hideaway the perfect place for you.
Alamo Heights is the city's hottest neighborhood, quiet and peaceful yet well-connected. The Village Oaks apartment homes are located in the "09". With easy access to Loop 410 and Hwy. 281, getting around is easy. It takes only minutes to reach any part of the great city of San Antonio.


404
Oops, the page you're looking for does not exist.
You may want to head back to the homepage.
If you think something is broken, report a problem.
Go to homepage
Report a problem


@(step: scrupal.controllers.ConfigWizard.Step.Kind, lastError: Option[Throwable])( implicit context : scrupal.controllers.Context) @import scrupal.views.html @html.configPage("Successful Configuration", step, lastError) {
Congratulations! Your site is now configured properly. You can see the page you created by visiting the index.
}


Setup will need to be restarted if this window is closed.
Be sure the xServer you are setting up is online during this process.
Testing Required Ports
Test Failed.
Collateral
= 1">
Not started.
Locking collateral.
{{ confirmations }} of 6 confirmations
0">
Collateral successfully locked!
Verify and sign setup request
= 2">
Not started.
Signing the setup request.
1">
Signing request sucess!
Finalize
= 3">
Not started.
Broadcasting the setup request.
2">
Broadcast sucess!
Success!
Failed - {{errorMessage}}


Tip calculator
Insert the amount:
euro
Excellent
(30% tip)
Very good
(20% tip)
Good
(15% tip)
Ok
(10% tip)
Bad
(5% tip)
Very bad
(0% tip)
Split bill?
Number of persons:


Student Assistants 2018
Students who are on duty in i-Hub facility
| # | Name | Matric | Mobile | Working Schedule |
|---|---|---|---|---|
| 1 | Dakota Rice | U1675389J | 97378172 | Monday, 8 - 11 AM |
| 2 | Minerva Hopper | U1875126J | 81238172 | Monday, 1 - 5 PM |
| 3 | Sage Rodriguez | U1726351J | 81268372 | Tuesday, 8 - 11 AM |
| 4 | Philip Chaney | U1623187J | 98271362 | Tuesday, 1 - 5 PM |
| 5 | Doris Greene | U1872512J | 81726145 | Wednesday, 8 - 11 AM |
| 6 | Mason Porter | U1587253J | 98716253 | Wednesday, 1 - 5 PM |


Kirby is happy to see you :)
Error <%=code%>
<%=message%>
Alternatively, you can go back to the
index
<%=webserver_version%>


A USB request. More...
#include <request.h>
Data Fields | |
| struct slist | buf_list |
| List of buffers associated with this request. | |
| struct slist_node | node |
| List node on the controller queue. | |
| uint8_t | flags |
| A bitwise combination of the bits defined by enum usb_request_flag. | |
| void(* | req_done )(struct udc *udc, struct usb_request *req) |
| Function to be called when this request is completed. | |
| void * | context |
| Arbitrary data pointer associated with this request, for use by the submitter. | |
| enum status_code | status |
| Status code set by the UDC driver upon completion of this request. | |
| size_t | bytes_xfered |
| The number of bytes actually transfered. |
A USB request.
This structure keeps track of the data associated with a USB request for use in asynchronous transfers.
Definition at line 78 of file request.h.
| struct slist usb_request::buf_list |
List of buffers associated with this request.
Definition at line 80 of file request.h.
Referenced by at90usb_ep0_tx_complete(), at90usb_udc_ep0_worker(), at90usb_udc_ep_flush(), at90usb_udc_submit_in_queue(), at90usb_udc_submit_out_queue(), msc_submit_write_data_req(), udc_fifo_read_data(), udc_fifo_write_data(), usb_req_add_buffer(), usb_req_get_first_buffer(), and usb_req_init().
| size_t usb_request::bytes_xfered |
The number of bytes actually transfered.
May be less than len if an error occurred, or if the UDC received a short packet.
Definition at line 110 of file request.h.
Referenced by at90usb_ep0_tx_complete(), at90usb_udc_ep0_worker(), at90usb_udc_submit_in_queue(), at90usb_udc_submit_out_queue(), and usb_req_init().
| void* usb_request::context |
Arbitrary data pointer associated with this request, for use by the submitter.
Definition at line 98 of file request.h.
Referenced by msc_submit_write_data_req().
A bitwise combination of the bits defined by enum usb_request_flag.
Definition at line 87 of file request.h.
Referenced by at90usb_udc_ep0_worker(), udc_fifo_write_data(), and usb_req_init().
| struct slist_node usb_request::node |
List node on the controller queue.
Definition at line 82 of file request.h.
Referenced by at90usb_ep0_tx_flush(), at90usb_udc_ep_flush(), at90usb_udc_submit_in_queue(), and at90usb_udc_submit_out_queue().
| void(* usb_request::req_done)(struct udc *udc, struct usb_request *req) |
Function to be called when this request is completed.
| udc | The USB Device Controller that did the request | |
| req | The request that was completed. |
Definition at line 93 of file request.h.
Referenced by at90usb_udc_req_done(), and msc_submit_write_data_req().
Status code set by the UDC driver upon completion of this request.
Definition at line 103 of file request.h.
Referenced by at90usb_udc_req_done(), and udc_lib_standard_request().


| | |
- atan2(...)
- atan2(y, x)
Return the arc tangent (measured in radians) of y/x.
Unlike atan(y/x), the signs of both x and y are considered.
- cos(...)
- cos(x)
Return the cosine of x (measured in radians).
- ecc2mean(E_rad, e)
- Converts an eccentric anomaly into mean (constant time-rate projection).
- ecc2true(E_rad, e)
- Converts an eccentric anomaly into true (angle from perigee in cartesian
space).
- mean2ecc(M_rad, e)
- Converts a mean (constant time-rate projection) anomaly into eccentric.
This is the only non-procedural conversion (i.e., it is computed by
numerical iteration), necessary to solve the transcendental Kepler's
equation for eccentric anomaly (M = E + e * sin(E)).
- mean2true(M_rad, e)
- Converts a mean (constant time-rate projection) into true (angle from
perigee in cartesian space) by chaining *true2ecc* and *ecc2mean*.
- sin(...)
- sin(x)
Return the sine of x (measured in radians).
- tan(...)
- tan(x)
Return the tangent of x (measured in radians).
- true2ecc(tht_rad, e)
- Converts a true (angle from perigee in cartesian space) into eccentric.
- true2mean(tht_rad, e)
- Converts a true (angle from perigee in cartesian space) into mean
(constant time-rate projection) by chaining *true2ecc* and *ecc2mean*.
|


{% if error %}
Error:
{{ error }}{% endif %}
TodoList Login.
Fill in your credentials.
To Do made by
Petter Bomban
and
Rostislav Melkumyan


--- layout: post title: Do you dislike the Confluence like button? date: 2014-01-10 12:47:33.000000000 +00:00 type: post published: true status: publish categories: [] tags: - atlassian - confluence meta: tmac_last_id: '618797325884878849' _edit_last: '1' author: David Simpson excerpt_separator: ---
I'm happy with it thanks, but some people don't want it there. Just like any other small Confluence feature, the likelyhood is that it's a plugin an add-on, so can be disabled in the admin section. It can.


Hello, i have more than a month trying to make my raspberry pi b+ work with emonhub service.
i have uploaded default firmware in my emontx and i can see from serial Monitor that Emontx is working as it should. i have also installed emonhub service in my raspberry pi but it does not send data to emoncms interface.
So as far as im using default firmware for emontx V3 can somebody upload a working configuration file (emonhub.conf) please? 433mhz,network210, nod 10. I assume that the problem is in my configuration please someone upload or write the configuration content.
this is my log file
2014-10-30 10:29:21,499 INFO EmonHub Pre-Release Development Version (rc1.0)
2014-10-30 10:29:21,514 INFO Opening hub...
2014-10-30 10:29:21,517 INFO Logging level set to DEBUG
2014-10-30 10:29:21,520 INFO Creating EmonHubEmoncmsReporter 'emonCMS'
2014-10-30 10:29:21,536 INFO Set up reporter 'emonCMS' (buffer: memory | size: 1000)
2014-10-30 10:29:21,545 INFO Creating EmonHubJeeInterfacer 'RFM2Pi'
2014-10-30 10:29:21,548 DEBUG Opening serial port: /dev/ttyAMA0
2014-10-30 10:29:21,552 INFO Opened serial port: /dev/ttyAMA0 9600 bits/s
2014-10-30 10:29:21,562 DEBUG Setting RFM2Pi frequency: 433 (4b)
2014-10-30 10:29:22,571 DEBUG Setting RFM2Pi group: 210 (210g)
2014-10-30 10:29:23,667 DEBUG Setting RFM2Pi baseid: 10 (10i)
Thank you
Re: emonhub.conf how to configure to work with emonTX discrete sampling firmware
The log you've posted looks ok. there are no errors and the RFM2Pi configuration looks correct, however there's no response to the commands and no data received. Is the serial UART available to the RFM2Pi?
The last line in /etc/inittab should read (in particular the # should of been added)
# T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
And the single line in /boot/cmdline.txt should read
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
If both are correct, is there any LED activity on the RFM2Pi board ?
The RFM2Pi's led should flash each time a packet is received, so if there's no flash when the emonTx transmits try moving it closer to eliminate a possible range issue. Can you be sure the emonTx is transmitting? do you have a usb programmer you can check the emonTX operation with?
Paul
Re: emonhub.conf how to configure to work with emonTX discrete sampling firmware
Hi ariol22,
Did you resolve this?
There are a couple of things you need to ensure:
To check the rfm2pi is receiving messages you can use minicom:
minicom -b 9600 -o -D /dev/ttyAMA0
If you press 'h' it will give you the configuration commands, and it should say something like:
You can change those settings directly in minicom (press 'h' to find out how), or in the /boot/emonhub.conf file. If you do the latter, make sure you restart emonHub to see the changes – within minicom you'll see it being set up with the band, group and node ID.
If no messages are appearing in minicom you need to look at the emonTx and verify the settings there, otherwise your issue is with the emonHub config.
My nodes section in /boot/emonHub.conf is set up for an emonTx and emonTH. You need to comment out the default [[99]] entry and add the appropriate node IDs as follows:
Hope that helps, or at least serves as a reference if anyone else has problems getting set up.
Re: emonhub.conf how to configure to work with emonTX discrete sampling firmware
Hi Ryan
Just for clarity your points are mostly correct although emonhub doesn't have to be restarted to pick up the conf changes, any " [[[runtimesettings]]] " will be changed during normal running and any [[[init_settings]]] will be made by emonhub deleting and recreating the interfacer or reporter so a restart shouldn't be needed.
And the interfacers each have a default datacode (usually h) so just omitting [[10]] and [[19]] from the nodes section should have the same outcome, this was done so that emonhub would automatically function with standard "int-only" sketches without any setting modifications.
Paul


Louth GAA
Three nominated for Louth County Board chairman as big names emerge for other posts
Louth GAA
by Caoimhín ReillyPeter Fitzpatrick, Fra Kieran and Declan Byrne will contest the chairman’s election at next month’s Louth GAA Convention.
Clan na Gael clubmen Fitzpatrick and Kieran had signalled their intention to run some time ago, while it's believed Byrne only made a final decision in the lead-up to yesterday's (Monday) deadline.
There will also be a clash for the vice-chairman’s role, with Hunterstown Rovers’ Seán McClean to oppose the incumbent Paddy McMahon (Sean O’Mahony’s).
St. Kevins’ Bob Doheny, who previously served five years as PRO, has been nominated for secretary, the void Kieran has filled for the maximum term. It’s understood, though, that he will be challenged for the post by outgoing chairman Des Halpenny (John Mitchel’s), who was County Board secretary between 2010 and 2014.
Halpenny, The Democrat has learned, has been nominated for several other positions, including the Central Council post which Pat Toner is bidding to hold on to.
Sitting PRO Frieda Halpenny (John Mitchel’s), who was elected earlier this year, was not nominated by the time of our deadline (Monday), but a submission was anticipated. There will be competition for her job, though, with Mark Byrne (Naomh Máirtín) having been put forward.
The sitting treasurer and vice-treasurer, Aidan Berrill (Naomh Máirtín) and Aidan Halpin (Mattock Rangers), are set to be returned without rivalry.
St. Patricks’ Pádraig O’Connor and the aforementioned O’Connell’s member, Byrne, are hopeful of being re-elected to Leinster Council, although Des Halpenny is mooted to be contending here too.
Paul Aspell (Dreadnots), Coaching & Games Officer, is set to have a clear pathway to ratification to continue in the role, while the positions of Clodagh McClean (Hunterstown) and Dermot Clarke (Sean McDermott’s), the respective Irish Langauge and Children’s Officers, were unknown, albeit they will likely be returned should they run.


|
Adbase
Adinf C++ base library V2
|
日期工具类 More...
#include <Date.hpp>
Classes | |
| struct | YearMonthDay |
Public Member Functions | |
| Date () | |
| Constucts an invalid Date. More... | |
| Date (int year, int month, int day) | |
| Constucts a yyyy-mm-dd Date. More... | |
| Date (int julianDayNum) | |
| Constucts a Date from Julian Day Number. More... | |
| Date (const struct tm &) | |
| Constucts a Date from struct tm. More... | |
| void | swap (Date &that) |
| default copy/assignment/dtor are Okay More... | |
| bool | valid () const |
| Date is valid. More... | |
| ::std::string | toIsoString () const |
| struct YearMonthDay | yearMonthDay () const |
| int | year () const |
| int | month () const |
| int | day () const |
| int | weekDay () const |
| [0, 1, ..., 6] => [Sunday, Monday, ..., Saturday ] More... | |
| int | julianDayNumber () const |
Static Public Attributes | |
| static const int | kDaysPerWeek = 7 |
| static const int | kJulianDayOf1970_01_01 = detail::getJulianDayNumber(1970, 1, 1) |
Friends | |
| bool | operator< (Date x, Date y) |
| bool | operator> (Date x, Date y) |
| bool | operator== (Date x, Date y) |
|
inline |
Constucts an invalid Date.
Definition at line 32 of file Date.hpp.
References adbase::Date::YearMonthDay::day, adbase::Date::YearMonthDay::month, and adbase::Date::YearMonthDay::year.
Referenced by Date().
| adbase::Date::Date | ( | int | year, |
| int | month, | ||
| int | day | ||
| ) |
|
inlineexplicit |
|
explicit |
|
inline |
Definition at line 65 of file Date.hpp.
References adbase::Date::YearMonthDay::day, and yearMonthDay().
|
inline |
Definition at line 74 of file Date.hpp.
References operator<, operator==, and operator>.
Referenced by adbase::TimeZone::fromUtcTime(), and adbase::TimeZone::toUtcTime().
|
inline |
Definition at line 61 of file Date.hpp.
References adbase::Date::YearMonthDay::month, and yearMonthDay().
|
inline |
| std::string adbase::Date::toIsoString | ( | ) | const |
Definition at line 58 of file Date.cpp.
References adbase::Date::YearMonthDay::day, adbase::Date::YearMonthDay::month, adbase::Date::YearMonthDay::year, and yearMonthDay().
Referenced by valid().
|
inline |
|
inline |
[0, 1, ..., 6] => [Sunday, Monday, ..., Saturday ]
Definition at line 70 of file Date.hpp.
References kDaysPerWeek.
Referenced by adbase::TimeZone::toUtcTime().
|
inline |
Definition at line 57 of file Date.hpp.
References adbase::Date::YearMonthDay::year, and yearMonthDay().
| Date::YearMonthDay adbase::Date::yearMonthDay | ( | ) | const |
Definition at line 68 of file Date.cpp.
References adbase::detail::getYearMonthDay().
Referenced by day(), month(), toIsoString(), adbase::TimeZone::toUtcTime(), and year().
Definition at line 86 of file Date.hpp.
Referenced by julianDayNumber().
Definition at line 94 of file Date.hpp.
Referenced by julianDayNumber().
Definition at line 90 of file Date.hpp.
Referenced by julianDayNumber().
|
static |
|
static |
Definition at line 29 of file Date.hpp.
Referenced by adbase::TimeZone::fromUtcTime(), adbase::detail::getYearMonthDay(), and adbase::TimeZone::toUtcTime().


NettyFinder 🚀
Check a +234 telephone number and detect which network it belongs to.
Enter number e.g<PHONE_NUMBER>8 or +2348105337108
Enter telephone number:
Check Network


Arrays a kind of data structure that can store a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.
Instead of declaring individual variables, such as number0, number1, ..., and number99, you declare one array variable such as numbers and use numbers[0], numbers[1], and ..., numbers[99] to represent individual variables. A specific element in an array is accessed by an index.
All arrays consist of contiguous memory locations. The lowest address corresponds to the first element and the highest address to the last element.
To declare an array in C, a programmer specifies the type of the elements and the number of elements required by an array as follows −
type arrayName [ arraySize ];
This is called a single-dimensional array. The arraySize must be an integer constant greater than zero and type can be any valid C data type. For example, to declare a 10-element array called balance of type double, use this statement −
double balance[10];
Here balance is a variable array which is sufficient to hold up to 10 double numbers.
You can initialize an array in C either one by one or using a single statement as follows −
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
The number of values between braces { } cannot be larger than the number of elements that we declare for the array between square brackets [ ].
If you omit the size of the array, an array just big enough to hold the initialization is created. Therefore, if you write −
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
You will create exactly the same array as you did in the previous example. Following is an example to assign a single element of the array −
balance[4] = 50.0;
The above statement assigns the 5th element in the array with a value of 50.0. All arrays have 0 as the index of their first element which is also called the base index and the last index of an array will be total size of the array minus 1. Shown below is the pictorial representation of the array we discussed above −
An element is accessed by indexing the array name. This is done by placing the index of the element within square brackets after the name of the array. For example −
double salary = balance[9];
The above statement will take the 10th element from the array and assign the value to salary variable. The following example Shows how to use all the three above mentioned concepts viz. declaration, assignment, and accessing arrays −
#include <stdio.h> int main () { int n[ 10 ]; /* n is an array of 10 integers */ int i,j; /* initialize elements of array n to 0 */ for ( i = 0; i < 10; i++ ) { n[ i ] = i + 100; /* set element at location i to i + 100 */ } /* output each array element's value */ for (j = 0; j < 10; j++ ) { printf("Element[%d] = %d\n", j, n[j] ); } return 0; }
When the above code is compiled and executed, it produces the following result −
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
Arrays are important to C and should need a lot more attention. The following important concepts related to array should be clear to a C programmer −
| S.N. | Concept & Description |
|---|---|
| 1 | Multi-dimensional arrays
C supports multidimensional arrays. The simplest form of the multidimensional array is the two-dimensional array. |
| 2 | Passing arrays to functions
You can pass to the function a pointer to an array by specifying the array's name without an index. |
| 3 | Return array from a function
C allows a function to return an array. |
| 4 | Pointer to an array
You can generate a pointer to the first element of an array by simply specifying the array name, without any index. |


Test Blog
Code
Communications
Licence Copyright
Topography
links
Pelican
Python.org
Jinja2
You can modify those links in your config file
social
You can add links in your config file
Another social link


Statistics for shown tasks:
| Total cpu time (CPUh) | {{ query_stat.cpu_h | float2 }} |
| Total jobs | {{ query_stat.count }} |
| COMPLETED | {{ query_stat.COMPLETED }} |
| CANCELLED | {{ query_stat.CANCELLED }} |
| TIMEOUT | {{ query_stat.TIMEOUT }} |
| FAILED | {{ query_stat.FAILED }} |
| NODE_FAIL | {{ query_stat.NODE_FAIL }} |


class Ballplayer attr_accessor :action attr_reader :position
def initialize(position, action) @position = position @action = action @salary = salary @total_team += 1 end
def position=(position) @position = position end
def action=(action) @action = action end
def get_action @action end
def salary=(salary) @salary = salary p "This player makes #{@salary} a year." end end
puts Ballplayer.total_team.inspect
ballplayer1 = Ballplayer.new
ballplayer1.position = "pitcher"
puts ballplayer1.position
ballplayer1.action = "throws"
puts ballplayer1.action
ballplayer1.salary = "$7 million"
puts "This player makes #{@salary} a year."
ballplayer2 = Ballplayer.new
ballplayer2 .position = "catcher"
puts ballplayer2 .position
ballplayer2 .action = "catches"
puts ballplayer2 .action
ballplayer2 .salary = "$14 million"
puts "This player makes #{@salary} a year."


Hey guys, I'm almost done with my assignment but it seems as though it's only running the If statement in the function, what can I do to fix this, and are there any other pointers for this program you can give me.
Also, you want to change the order of that if-else tree. The general case (if gender is M or F) should be the last, not the first. The more specific each if statement, the closer to the top it should be. So for it to work, the order should be (by line number of if statements):
Since you started a new thread and thus we do not have the original problems statement, it is hard to tell.
This should probably be solved using if ... else if ... else (may be several else if) and possibly imbedded additional if statements. However, it does not look like you are taking advantage of the chain of the ifs. So for example:
1 2 3 4 5 6 7 8
if (conditionA) {
/* do something assuming conditionA is true (not zero) */
} else
/* Now I know that !conditionA and I do not need to retest it. */
if (conditionB)
/* Now do something assuming !conditionA && condition B */
/* and so on */


Nodes
Applications
Processes
Sup Tree
DB
modules
Traces
Recon
Recon
Existing nodes
Inject Recon
Recon


# File lib/node_layout.rb, line 566 def add_db_role db_type, is_master if is_master add_role :db_master add_role :zookeeper else add_role :db_slave end end
# File lib/node_layout.rb, line 575 def add_rabbitmq_role is_master if is_master add_role :rabbitmq_master else add_role :rabbitmq_slave end end
# File lib/node_layout.rb, line 583 def add_role role @roles << role.to_sym expand_roles end
# File lib/node_layout.rb, line 599 def errors @roles.map { |r| "Invalid role: #{r}" if !VALID_ROLES.include?(r) }.compact end
# File lib/node_layout.rb, line 603 def expand_roles error_msg = "Expand roles should never be called on a node type." + " All nodes should be either a SimpleNode or AdvancedNode" raise RuntimeError error_msg end
# File lib/node_layout.rb, line 595 def valid? self.errors.empty? end
# File lib/node_layout.rb, line 556 def initialize id, cloud, roles=[] # For Xen/KVM id is the public ip address # For clouds, id is node-X since the ip is not known @id = id @cloud = cloud @roles = roles.map { |r| r.to_sym } expand_roles end


Open source
File issues
Documentation
Contact
Query
Select Options
Clear Query
Run
Query Language:
SQL++
Output Format:
JSON
JSON (formatted)
ADM
CSV (no header)
CSV (with header)
JSON (lossless)
Plan Format:
JSON
JSON (formatted)
String
Wrap results in outer array
Print parsed expressions
Print rewritten expressions
Print logical plan
Print optimized logical plan
Print Hyracks job
Execute query
Output


Piano Lesson
Fly through piano lessons with confidence. We’ve made it easy. With us, you can pick up songs and music theory in a heartbeat. Register now and get started.
The Jungle
Join us for a spectacular trek across the jungle. View stunning scenery off the trail and feel a true sense of achievement on completing our most challenging expedition.
Open Mic Nights
Then you're in luck, because our Open Mic Nights are back ! Do you have what it takes to be in the centre stage? It's Time For You To Shine !
Jalinan Kasih
Reach out and help others. If you have the power to make someone happy, do it. Join us in our quest to spread love and kindness to the orphans.
Poetry Out Loud
Recognize a poetry lover in your life with a tribute gift. Importantly, we hope you might join in our work to advocate for poets and poetry.
Malacca Woodworking
Join us and explore the truly Malacca and grab the opportunity to explore their woodworking with Pak Hasan. You will enjoy this moment !
RoboFair
Want to know more about Robotex Malaysia? Sit back and join us to explore emerging robotics technology can apply them in various industries.
Neon Fun Run
Provide a platform for an exciting and a different kind of fun run which will spark the interest and curiosity of the people to join in the night fun run.
Daisy Free Market
Give away things that people have bought but don’t need. The event is build around the notion of “bring something, take something”.
 We reach out and help others. Join us in our quest to spread love and kindness to everyone.
Monochrome Night
We are always looking for young and energetic people who are capable to join us. If you are passionate, wear black and white and start to sing.
Take A Stand
Time is ticking; we need to act before the wild vanishes and these campaign. What are you waiting for ? Join us now !
SUPERugby
We welcome all newcomers, even those completely new to the game of rugby. New players are always invited to our training sessions
Carni-Day
Join us and filled with fun-packed activities, games and more, showcased by our students. Be a part of fun learning activities throughout the day !
Green Day Out
Green Day Out is an action to help raise awareness of environmental issues and to promote more sustainable lifestyles. Join our outdoor pleasure trip.

International Day
It's that time of year again ! A time to celebrate our international students but of course, local students can join too !
Dunk It
Get on fire in this hot, epic and bouncy basketball game! Score as many point as you can before the time runs out! Dunk it !


The main PGraph class that is intended for user usage.
| category | PGraph |
|---|---|
| package | PGraph |
| author | Vilius Zaikauskas |
| copyright | 2013 Vilius Zaikauskas |
| license | MIT |
| version | Release: @package_version@ |
| link | http://pear.php.net/package/PGraph |
| since | Class available since Release 1.0 |
__construct(boolean $directed)
boolean
TRUE if we want to the graph to be directed. FALSE if we want it to be undirected. (Default: TRUE)
addEdge(mixed $srcIndex, mixed $dstIndex, float $weight) : void
mixed
The index of the first vertex. If the graph is undirected, the edge GOES FROM this vertex.
mixed
The index of the second vertex. If the graph is directed, the edge GOES INTO this vertex.
float
The weight of the edge (Default: 0).
\NoVertexException |
|
|---|---|
\EdgeExistsException |
addVertex(mixed $index, mixed $value) : void
mixed
The index of the next vertex
mixed
The value that the vertex will contain.
\VertexExistsException |
|---|
breadthFirstSearch(mixed $index) : array
mixed
The index of the starting vertex.
\NoVertexException |
|---|
array
All the vertices traversed.count() : int
int
The number of vertices.current() : mixed
mixed
The value that is in the
currently pointed vertex.depthFirstSearch(mixed $index) : array
mixed
The index of the starting vertex.
\NoVertexException |
|---|
array
All the vertices traversed.getNeighbors(mixed $index) : array
mixed
An index of the vertex.
array
All the neighbors of the given vertex.getVertex(mixed $index) : mixed
mixed
The index of the vertex.
\NoVertexException |
|---|
mixed
The value of the vertex.getWeight(mixed $srcIndex, mixed $dstIndex) : float
mixed
The vertex connected via an edge.
mixed
The vertex connected via an edge.
\NoVertexException |
|
|---|---|
\NoEdgeException |
float
The weight of the edge.
FALSE if the edge doesn't exist.key() : mixed
mixed
The index of the currently pointed
vertex.next() : void
offsetExists(mixed $index) : boolean
mixed
The index of the vertex.
boolean
TRUE if the vertex with a given index
exists. FALSE, otherwise.offsetGet(mixed $index) : mixed
mixed
The index we are accessing.
\NoVertexException |
|---|
mixed
The data value. NULL, if the there is no value
basedon the given index.offsetSet(mixed $index, mixed $value) : void
mixed
The index of the vertex.
mixed
The data contained in the vertex.
offsetUnset(mixed $index) : void
mixed
the index of an element to unset.
\NoVertexException |
|---|
removeEdge(mixed $srcIndex, mixed $dstIndex) : void
mixed
The index from which the edge GOES FROM.
mixed
The index to which the edge GOES TO.
removeVertex(mixed $index) : void
mixed
The index of the vertex we want to remove.
\NoVertexException |
|---|
rewind() : void
setVertex(mixed $index, mixed $newValue) : void
mixed
The index of the vertex.
mixed
The new value that the vertex should contain.
\NoVertexException |
|---|
setWeight(mixed $srcIndex, mixed $dstIndex, float $newWeight) : void
mixed
The index of a vertex from which the edge GOES FROM.
mixed
The index of a vertex to which the edge GOES TO.
float
The new weight of the edge.
\NoVertexException |
|
|---|---|
\NoEdgeException |
shortestPath(mixed $srcIndex, mixed $dstIndex) : array
mixed
The start vertex.
mixed
The destination vertex.
\NoVertexException |
|
|---|---|
\NoPathException |
|
\NegativeCycleException |
array
The path between the source and the
destination. FALSE if there is no path
or there is a negative-weight cycle.valid() : boolean
boolean
TRUE if the current pointer is
pointing the valid slot.
FALSE, otherwise._addToList(mixed $index, \SplDoublyLinkedList $list) : void
mixed
The index of a vertex.
_bellmanFord(mixed $srcIndex, mixed $dstIndex) : array
mixed
The starting vertex.
mixed
The destination vertex.
\NoPathException |
|
|---|---|
\NegativeCycleException |
array
The path between two vertices.
FALSE if there is no path or
a negative cycle has been
detected._dijkstra(mixed $srcIndex, mixed $dstIndex) : array
SOURCE: wikipedia.org
mixed
The starting vertex.
mixed
The destination vertex.
\NoPathException |
|---|
array
The path between two vertices._edgeExists(mixed $srcIndex, mixed $dstIndex) : boolean
mixed
The vertex from which the edge GOES FROM.
mixed
The vertex to which the edge GOES TO.
boolean
TRUE if the edge exists.
FALSE otherwise._removeFromList(\SplDoublyLinkedList $list) : mixed
mixed
The index of a vertex that we removed from the list.
NULL, if the type of the list is not recognized._traverseGraph(mixed $index, \SplDoublyLinkedList $list) : array
mixed
The index of the starting vertex.
\SplDoublyLinkedList
Considering the usage of this function, it'll be either a Stack or Queue, depending on whether it's a Depth First Search or Breadth First Search.
array
The list of vertices traversed. FALSE, if the vertex
doesn't exist._vertexExists(mixed $index) : boolean
mixed
The index of the vertex.
boolean
TRUE if the vertex exists.
FALSE otherwise.$_directed : boolean
$_negativeWeights : int
$_vertices : array
QUEUE
STACK


By default the dropdown position is set to auto and will be shown above if there is not space placing it at the bottom.
You can force position to top, right, bottom, or left by setting dropdownPosition.


Slick is a Functional Relational Mapping (FRM) library for Scala where you work with relational data in a type-safe and functional way. Here is an example:
coffees.filter(_.price < 10.0).map(_.name)
This will produce a query equivalent to the following SQL:
select COF_NAME from COFFEES where PRICE < 10.0
Developers benefit from the type-safety and composability of FRM as well as being able to reuse the typical Scala collection APIs like filter
, map
, foreach
, etc.
This template will get you started learning Slick using a working application. Continue the tutorial to learn about how to run the application, run the tests, and explore the basics of Slick.
This template includes a simple Scala application, HelloSlick.scala, that does basic FRM operations with Slick. This application automatically runs when Activator is started and then re-runs after every successful compile. You can see the output in Run. Note: The example code in this app has intentionally verbose type information. In normal applications type inference is used more extensively but to assist with learning the type information was included.
The TablesSuite.scala file contains ScalaTest tests which do some basic integration tests. Check out the test results in Test.
Slick is a library that is easy to include in any project. This project uses the sbt build tool so the dependency for Slick is specified in the build.sbt file. To make things simple this project uses the H2 database in-memory. Learn more about connecting to other databases in the Slick docs.
The Tables.scala file contains the mappings for a Suppliers
and a Coffees
table. These Table
create a mapping between a database table and a class. The table's columns are also mapped to functions. This mapping is called Lifted Embedding since the types of a column mappings are not the actual column value's type, but a wrapper type. For a column that contains a Double
value the type of mapping will be Column[Double]
. This enables type-safe queries to be built around meta-data and then executed against the database.
Using a table mapping object requires creating a TableQuery
instance for the Table
classes. In HelloSlick.scala the suppliers
is the TableQuery
instance for the Suppliers class.
Learn more about mapping tables and columns in the Slick docs.
Every query that runs against the database needs a database session to run with. The HelloSlick.scala file sets up a database connection and gets a session:
val db = Database.forURL("jdbc:h2:mem:hello", driver = "org.h2.Driver")
db.withSession { implicit session => ... }
Note: the session
can be implicit to avoid specifying it explicitly with every query.session
can now be used in the scope of the provided function to make queries to the database. The session is automatically closed after the function completes.
It is also possible to create a session and manually close it. The TablesSuite.scala tests do this in the before
and after
functions.
Learn more about session and connnection handling in the Slick docs.
Once a session is available you can use it to perform operations on the database. To create corresponding tables from a mapping you can get the DDL via its TableQuery
and then call the create
method, like:
suppliers.ddl.create
Multiple DDLs can also be combined together and created, like in HelloSlick.scala:
(suppliers.ddl ++ coffees.ddl).create
This will create all database entities and links (like foreign key references) in the correct order, even in the presence of cyclic dependencies between tables.
Creates / Inserts are as simple as appending the values to a TableQuery
instance using either the +=
operator for a single row, or ++=
for multiple rows. In HelloSlick.scala both of these ways of doing inserts are used.
Basic reads / queries can be done through the TableQuery
instance using Invoker functions. A simple example of invoking a query is to just call list
on the Query
, like:
suppliers.list
That would produce a List[(Int, String, String, String, String, String)]
that corresponds to the columns defined in the Table
mapping. Other methods like foreach
, first
, foldLeft
also perform queries. Filtering, sorting, and joining will be covered in the next few sections of the tutorial. In HelloSlick.scala you can see how a foreach
is used to do a select *
query and then print each row.
Filtering / adding where
statements to a query is done using functions like filter
and take
on a TableQuery
to construct a new query. For example, to create a new query on the Coffees
table that selects only rows where the price is higher than 9.0, just do:
coffees.filter(_.price > 9.0)
This produces a SQL statement equivalent to:
select * from COFFEES where PRICE > 9.0
Updates are done through the TableQuery
instance by calling the update
function. To update the sales
column on all rows of the Suppliers
table, create a new query for just that column:
val updateQuery: Query[Column[Int], Int] = coffees.map(_.sales)
Then call the update
with the new value:
updateQuery.update(1)
Deletes are done by just running delete
on a query. So to delete coffees with a price less than 8.0, just do:
coffees.filter(_.price < 8.0).delete
This will produce SQL equivalent to:
delete from COFFEES where PRICE < 8.0
The default query we've been using uses the *
function on the Table
mapping class. For instance, the suppliers
TableQuery
uses the *
function defined in Tables.scala and returns all of the columns when executed because the *
combines all of the columns. Often we just want to select a subset of the columns. To do this use the map
function on a query, like:
suppliers.map(_.name)
This will create a new query that when executed just returns the name
column. The generated SQL will be something like:
select SUP_NAME from SUPPLIERS
Sorting / adding order by
statements is done using functions like sortBy
on a TableQuery
to create a new query. For example in the HelloSlick.scala you can see an example sorting of coffees by price:
coffees.sortBy(_.price)
This would produce SQL equivalent to:
select * from COFFEES order by PRICE
The examples so far have taken a base query and used a function to produce a new, more specific query. Due to the functional nature of the query API, this can be done repeatedly to produce more specific queries. For example, to create a query on the Coffees
table that sorts them by name, takes the first three rows, filters those with a prices greater than 9.0, and finally just returns the names, simply do:
coffees.sortBy(_.name).take(3).filter(_.price > 9.0).map(_.name)
That results in a new query that has a fairly complex implementation in SQL.
The Coffees
table mapping in the Tables.scala file includes a foreign key mapping to the Suppliers
table:
foreignKey("SUP_FK", supID, TableQuery[Suppliers])(_.id)
To use this foreign key in a joined query it is easiest to use a for
comprehension, like:
for {
c <- coffees if c.price > 9.0
s <- c.supplier
} yield (c.name, s.name)
This creates a new query that gets the coffees
with a price greater than 9.0 and then joins them with their suppliers
and returns their names.
Computed values like minimum, maximum, summation, and average can be done in the database using the query functions min
, max
, sum
and avg
like:
coffees.map(_.price).max
This creates a new Column
where you can run the query by calling run
to get back the value. Check out the example in HelloSlick.scala.
Sometimes writing manual SQL is the easiest and best way to go but we don't want to lose SQL injection protection that Slick includes. SQL String Interpolation provides a nice API for doing this. Start by importing the interpolation API:
import scala.slick.jdbc.StaticQuery.interpolation
Then use the sql
String Interpolator:
val state = "CA"
val plainQuery = sql"select SUP_NAME from SUPPLIERS where STATE = $state".as[String]
This produces a query that can be run using the normal functions like list
.
You can learn more about Slick's Plain SQL queries in the Slick Plain SQL Queries template for Activator.
The CaseClassMapping.scala file provides an example which uses a case class instead of tupled values. Run this example by selecting CaseClassMapping
in Run. To use case classes instead of tuples setup a def *
projection which transforms the tuple values to and from the case class. For example:
def * = (id.?, name) <> (User.tupled, User.unapply)
This uses the User
's tupled
function to convert a (Option[Int], String)
to a User
and the unapply
function to do the opposite. Now all of the queries can work with a User
instead of the tuples.
The Users
table mapping in CaseClassMapping.scala defines an id column which uses an auto-incrementing primary key:
def id = column[Int]("ID", O.PrimaryKey, O.AutoInc)
So far you have seen the Invoker
methods .list
and .foreach
being used to run a collection-valued query. There are several other useful methods which are shown in InvokerMethods.scala. They are equally applicable to Lifted Embedding and Plain SQL queries.
Note the use of Compiled
in this app. It is used to define a pre-compiled query that can be executed with different parameters without having to recompile the SQL statement each time. This is the prefered way of defining queries in real-world applications. It prevents the (possibly expensive) compilation each time and leads to the same SQL statement (or a small, fixed set of SQL statements) so that the database system can also reuse a previously computed execution plan. As a side-effect, all parameters are automatically turned into bind variables:
val upTo = Compiled { k: Column[Int] =>
ts.filter(_.k <= k).sortBy(_.k)
}
Check out the full Slick manual and API docs.
You can also find more Slick templates, contributed by both, the Slick team and the community, here in Activator.