password() vs md5()
| New Articles |
We are halfway through migrating the rad user manager from mysql to postgresql. In the last step you may have pointed your browser to your Rad User installation and attempted to login, only to find that it does not just work yet.
The reason that you are still unable to login is that the code still uses the password() function of mysql, a function that is not availble in postgresql. Indeed the use of password() was a poor choice since it is not even compatible with older version of mysql. It would have been better to have used md5() instead - a function that is avialable on both postgresql and mysql. If in the future we need to make the system compatible with different database that does not support the md5() function we can then make use of the corresponding function in PHP.
Since backward compatibility is another factor that we need to watch out for instead of blindly changing all occurances of password() to md5(), we will use another configuration setting to let the downloader have the option of using the old password() function with mysql databases. Here is how signup.php looks like when we make the relevent changes:
if($user_password_function == 1) { $query = "insert into users SET userName = '$username', userPassword = password('$password'), userStatus =$userStatus"; } else { $query = "insert into users SET userName = '$username', userPassword = md5('$password'), userStatus =$userStatus"; }
We have to make similar changes in all other files where calls to the password() function including the login.php script. Even after making all those changes you will still find yourself unable to login to the system. That is because in certain places we use the mysql_num_rows() method to determine if a valid result set has been returned. Let's try to change that and a few more things in the next step.
| Part 1: | Getting Started , The Schema , Queries |
| Part 2: | Passwords , Times Up , Errors , Download |


As a mature and turnkey Infrastructure-as-a-Service (IaaS) platform, Apache CloudStack has a comprehensive set of features. This is an extensive, but not exhaustive, set of features.
Have a feature request? We'd invite you to bring it up on the mailing list, and consider filing a feature request in our bug tracker.
Feature |
Description |
| Rich Management User Interface | CloudStack provides a feature-rich out-of-the-box user interface implemented on top of the CloudStack API to manage the cloud infrastructure. It is a fully AJAX based solution compatible with most of the latest internet browsers and can also be easily integrated with your existing portal. |
| Brand-able Self Service User Interface | Our out-of-the-box user interface was built using standard HTML and CSS with jQuery as our standard JavaScript library. It can be easily customized and branded to mirror your company’s existing look and feel. |
| Secure AJAX Console Access | A VNC AJAX client that allows users to access their virtual machine using any of the latest internet browsers without the need of any external add-on such as a JRE, ActiveX, or Flash. |
| Powerful API | Easily build, integrate, and use applications built on top of the CloudStack API. The CloudStack API is well-documented and extensible. CloudStack also includes support for the Amazon EC2 and S3 APIs. |
| Secure Single Sign On | Aggregate and integrate your existing applications with our management user interface via our secure single sign-on for a better user experience. |
| Multi-role Support | Three distinct account roles for user interface and API access are supported out-of-the-box:
|
| On Demand Virtual Data center Hosting | Provides users with virtually unlimited amount of computing resources – on demand, as required and billed by actual usage. |
| Dynamic Workload Management | Completely automates the distribution of compute, network, and storage resource across the physical infrastructure while adhering to defined policies on load balancing, data security, and compliance. |
| Broad network Virtualization Capabilities | Support for embedded software-based network management as well as VLAN. Our Direct Attached IP enables you to integrate with a virtual network architecture that best fits your needs. |
| MPLS Support in the Cloud | CloudStack allows you to dedicate an entire VLAN to a specific account for MPLS support between network nodes. |
| Secure Cloud Deployments | Ensures that all memory, CPU, network, and storage resources are both available and isolated from one user account to another within the cloud. |
| Hypervisor Agnostic | CloudStack provides you with the flexibility to allow you to integrate with the major hypervisors in the market today including VMware, KVM, Citrix XenServer, and Citrix Xen Cloud Platform. |
| Easy Template Creation Process | The CloudStack User Interface allows you to easily create pre-defined templates for efficient virtual machine deployments. Templates can be created by attaching a guest OS ISO to a blank VM or directly from existing VMs in the cloud. |
| Rich Template and ISO Management | Both users and administrators will be able to upload and manage their OS templates and ISO images from within the cloud. A few management features include the ability to allow others to use the templates/ISOs either on a global public level or on a per-account basis, and to allow the management of templates across multiple zones. CloudStack will ensure that templates are automatically copied to the appropriate storage servers. |
| Domains and Delegated Administration | The support for domains allows you to segregate your cloud resources and delegate the management of these domains to other administrators. |
| Snapshot Management | To help mitigate data loss and a way of disaster recovery, users are given the capability of either taking ad hoc snapshots of their disk volumes or setting up a comprehensive schedule for taking periodic snapshots of their data. Users can set limits to the number of snapshots taken to creating new data disk volumes from existing snapshots. |
| Comprehensive Service Management | Administrators can define, meter, deploy, and manage multiple service and disk offerings within the cloud. |
| VM Sync and High Availability | Our custom VM Sync technology constantly monitors and maintains the state of all virtual machines within the cloud from notifications of individual VM status to the ability to automatically ensure that the VM remains running. |
| Resource Over Provisioning and Limits | By leveraging existing hypervisor, storage, and network technologies, you can configure the cloud to allow over provisioning of physical resources to optimize the allocation of your virtual machines.
CloudStack also provides administrators the capability of limiting virtual resources (such as the number of VMs that an account can create to the number of public IP addresses an account can own). |
| Usage Metering | Be able to deliver real-time visibility, produce historical usage reports, and create billing invoices by integrating with metering data generated by the CloudStack Usage Engine. |
| Alerts and Notifications | With built-in cloud system monitoring processes, you will be able to receive up-to-the-minute alerts such as reaching a certain physical resource threshold or detecting machine failures through the CloudStack API and/or via email using SMTP. |
| Virtual Routers, Firewalls and Load Balancers | CloudStack supports integration with both software and hardware firewalls and load balancers to provide additional security and scalability to a user’s cloud environment. Including F5 and Netscaler |
| Multiple Storage Solutions | CloudStack supports many storage solutions with iSCSI and NFS being preferred, but anything that can have multiple nodes mount it simultaneously will work. Ceph RBD is also supported in combination with the KVM hypervisor. This gives you the ultimate freedom in deciding your storage servers from using commodity hardware to integrating with enterprise-grade solutions such as Dell EqualLogic or NetApp. |
| Storage Tiering | As part of the CloudStack’s ability to integrate with multiple storage solutions, you will also be able to target specific storage servers to be used for VM deployments. This can be extremely beneficial when you have storage servers built with commodity hardware to support non disk intensive applications and dedicate fast and robust hardware for disk intensive applications such as databases. |
| Block Storage Volumes | CloudStack supports the creation of block storage volumes of arbitrary size on both network attached storage (NAS) or local disk that can be attached and detached to and from your virtual machine. |
| Wide Range Guest VM OS Support | Depending on the configured hypervisor, CloudStack supports a wide range of guest operating system including Windows®, Linux®, and various versions of BSD®. |
| Event/Audit Logs | All user interactions via the CloudStack UI or API are recorded as events. Each event will indicate the type, severity level, description, owner of the resource, the user that initiated the action, and when the event occurred. |
| User Data Support | CloudStack supports the notion of allowing a user to submit any type of binary user data when deploying a new virtual machine. This gives you the flexibility of giving each virtual machine created from the same OS template its own identity in the cloud. |
| Guest OS Preferences | To take advantage of today’s hardware and OS licensing models, CloudStack allows administrators to identify physical hosts to “prefer” specific operating systems. For example this means that whenever possible, your Windows based operating systems will be instantiated on all hosts that have been identified as Windows “preferred.” |
| Host Maintenance with Live Migration | Upgrades and hardware maintenance can be achieved on the cloud with no downtime for guest VMs. CloudStack will live-migrate any VMs from hosts that have been targeted for maintenance to prevent any disruption of service. |
| Flexible Adapter Framework | The CloudStack was built from the ground up to support integration with a variety of hypervisors, storage, network, and authentication solutions. Due to this flexibility, we have created an Adapter Framework that will easily allow you to further customize the cloud to suit your business needs. |
| Random Password for Guest OS | You can further enhance your guest OS templates to include our custom random password feature that will automatically generate a unique password upon the creation of a VM. This will allow your customers to securely log in and change their password. Both Windows and Linux based OS platforms are currently supported. |
| OpenStack Swift Integration for Secondary Storage | Secondary storage (templates and VM snapshots) can be stored in OpenStack Swift as an alternative to NFS. |
| Projects | Allow users to collaborate and share resources within a defined group or "project". When a user creates an a project all usage under the project is attributed to the account who becomes the project owner. |
| Clustered LVM Support | CloudStack can utilize clustered Logical Volume Manager (LVM) storage configurations starting with version 3.0. |
| NetScaler Support | CloudStack supports MPX, VPX & SDX devices. Users can set up Layer-4 load balancing rules. Supported protocols: HTTP, TCP & UDP; Algorithms: least loaded and round robin; Persistent sessions: source IP based, cookie based. |
| Network As a Service |
Admin can compose network offerings with different network behaviors. For example, a basic network offering with CloudStack Virtual Router offering network services and a high-performance network offering with physical devices such as NetScaler and Juniper SRX. Users can select the network offering of choice while deploying a VM and also migrate VMs from one network offering to another. |
| LDAP Integration |
CloudStack supports LDAP authentication as a built-in optional AUTH adapter |
| Notification & Capacity Thresholds |
Admin can set notification threshold to receive an alert when resource pool crosses the notification threshold. Capacity threshold prevents CloudStack from allocating further resources to that pool. |


The dataset Go package is still rapidly evolving though it is now commonly used at Caltech Library. As a result we’ve developed an easy method for migration collections from an old version to a new version. There “usual” to upgrading your is to use use the “check” and “repair” features of the dataset command line tool.
dataset check mycollection.ds
# you'll get a verbose report to the console
dataset repair mycollection.ds
# dataset will not attempt to "repair" including upgrade,
# your collection


Cheryl Seals is an associate professor in computer science & software engineering at Auburn University with over 12 years of experience in CS teaching at the university level and have worked to provide active learning activities or problem based learning assignments in my User Interface Design & Game Design/Development classes.
Dr. Seals has over 18 years in computing training and work related to computing education and computing industry (i.e. as a Member of Technical Staff at Bellcore, Polaroid, and Application Integration & Test at IBM). She has worked since 1998 with retention and outreach scholarship programs and other initiatives to improve STEM education at all levels with over $2 million in funding in the area of scholarship and outreach scholarship to support areas of Broadening Participation in Computing (e.g. support the recruitment and retention of women and under-represented groups in computing. As an associate professor, she has developed over 50 research and/or outreach publications, and more than 50 presentations to support the recruitment and retention of students in computing and have supported over 2 dozen computing camps.
Dr. Seals has also worked with National Alliances for student support and service learning since 2006. One of these initiatives is the STARS Alliance (starscomputingcorps.org) a regional academic partnerships with over 50 institutions, industry, K-12 and the community to strengthen local broadening of computing by focusing on K-12 outreach, community service, student leadership and computing diversity research. She has worked with another national mentoring program the Institute of African Americans Mentoring in Computing Sciences(iAAMCS) iAAMCS.org, that powers the newly formed National Society of Blacks in Computing NSBC.org.
Something....
1,2,3,4,5,6,7,8,9
Hello!!
10,11,23,6556ng nfdjgkhsdkh fiuhobojfd
jfd bdj
hbreukh ykghgk h


This tool has ability to convert any integer to its corresponding string of words and
to convert string of words to number
-> Only numbers up to billion are converted to words!
-> Please enter valid number words, only correct ones are converted to number!


Dominic Rutto
A front-end Developer student at Moringa school
I have serious passion for UI
effects, animations, creating intuitive and dynamic UX.
Happy coding!
In nutshell this is what mean by building interactives, dynamic and intuitives websites
These are websites contain Web pages that are generated in real-time. These pages include Web
scripting code, such as Javascript.
When a dynamic page is accessed, the code within the page is
parsed on the Web server and the resulting HTML is sent to the client's Web browser.
is the illusion of movement created by showing a series of still pictures in rapid succession.
In
the world of computers, graphics software used to create this effect. A simple animation may be as
basic as an animated GIF
Programming languages that i am perfect with
PROJECTS
This is a simple website that users sign up and navigate through the pages to buy a car of the choice.
The user can check on the price and descriptions
Kindly click this button to access my git up account for
more details.T&M to be considered.
You can reach via the following contacts and social media plartform respectively


JavaScript Event Handlers
When your users visit your website, they do things like click on things, hover over things etc. These are examples of what JavaScript calls events. Using JavaScript, you can respond to an event using Event Handlers. You can attach an event handler to the HTML element for which you want to respond to when a specific event occurs. For example, you could attach the onMouseover
event handler to a button and specify some JavaScript to run whenever this event occurs against that button.
Event Handlers for All HTML Elements & document
& window
Objects
The following table lists the event handlers supported by all HTML elements, as both event handler content attributes and event handler IDL attributes; and supported by all Document
and Window
objects, as event handler IDL attributes.
| Attribute | Description |
|---|---|
onabort |
Invoked when an event has been aborted. For example, the browser stops fetching media data before it is completely downloaded. |
onauxclick |
auxclick event handler. |
oncancel |
cancel event handler. |
oncanplay |
Invoked when the browser/user agent can start playing media, but hasn't yet, due to buffering. In other words, if playback were to begin now, it wouldn't play right to the end (due to the current playback rate) - it would need to pause during playback in order to load the rest of the media. |
oncanplaythrough |
The browser/user agent estimates that if playback were to begin now, the media resource could be rendered at the current playback rate all the way to its end without having to stop for further buffering. |
onchange |
User has changed the object, then attempts to leave that field (i.e. clicks elsewhere). |
onclick |
Invoked when the user clicked on the object. |
onclose |
close event handler. |
oncontextmenu |
Invoked when a context menu has been triggered. |
oncuechange |
cuechange event handler. |
ondblclick |
Invoked when the user clicked twice on the object. |
ondrag |
Invoked when an element is being dragged. |
ondragend |
Invoked when an element has stopped being dragged. |
ondragenter |
Invoked when an element has been dragged to a drop target. |
ondragexit |
dragexit event handler. |
ondragleave |
Invoked when an element leaves a valid drop target. |
ondragover |
Invoked when an element is being dragged over a valid drop target. |
ondragstart |
Invoked when a drag operation has started. |
ondrop |
Invoked when an element is being dropped. |
ondurationchange |
Invoked when the length of the media is changed (i.e. the duration attribute has just been updated). |
onemptied |
Invoked when a media resource element suddenly becomes empty (for example, due to a network error). |
onended |
Invoked when the media has reached the end. |
onformdata |
formdata event handler. |
oninput |
input event handler. |
oninvalid |
invalid event handler. |
onkeydown |
Invoked when a key was pressed over an element. |
onkeypress |
Invoked when a key was pressed over an element then released. |
onkeyup |
Invoked when a key was released over an element. |
onloadeddata |
Invoked when the browser/user agent can render the media data at the current playback position for the first time. |
onloadedmetadata |
Invoked when the browser/user agent has just determined the duration and dimensions of the media resource. |
onloadstart |
Invoked when the browser/user agent has started loading the media resource. |
onmousedown |
The cursor moved over the object and mouse/pointing device was pressed down. |
onmouseenter |
mouseenter event handler. |
onmouseleave |
mouseleave event handler. |
onmousemove |
The cursor moved while hovering over an object. |
onmouseout |
The cursor moved off the object |
onmouseover |
The cursor moved over the object (i.e. user hovers the mouse over the object). |
onmouseup |
The mouse/pointing device was released after being pressed down. |
onpause |
Invoked when the media resource has been paused. |
onplay |
Invoked when the media resource starts playback. |
onplaying |
Playback has begun. |
onprogress |
The browser/user agent is fetching media data the. |
onratechange |
Invoked when the playback rate has changed (i.e. either the defaultPlaybackRate or the playbackRate has just been updated). |
onreset |
reset event handler. |
onsecuritypolicyviolation |
securitypolicyviolation event handler. |
onseeked |
Invoked when the seeking IDL attribute changed to false (i.e. the seeking attribute is no longer true) |
onseeking |
Invoked when the seeking IDL attribute changed to true and the seek operation is taking long enough that the user agent has time to fire the event. |
onselect |
Invoked when some or all of the contents of an object is selected. For example, the user selected some text within a text field. |
onslotchange |
slotchange event handler. |
onstalled |
Invoked when the browser/user agent is trying to fetch media data but the data has stalled (i.e. the data has stopped coming). |
onsubmit |
User submitted a form. |
onsuspend |
The browser/user agent is (intentionally) not currently fetching media data, but has not yet downloaded the entire media resource (i.e. it has suspended the download). |
ontimeupdate |
Invoked when the media's current playback position changed. |
ontoggle |
toggle event handler. |
onvolumechange |
Invoked when either the volume attribute or the muted attribute has changed. |
onwaiting |
The next frame of the media is not yet available (but the browser/user agent expects it to become available). |
onwebkitanimationend |
webkitanimationend event handler. |
onwebkitanimationiteration |
webkitAnimationIteration event handler. |
onwebkitanimationstart |
webkitAnimationStart event handler. |
onwebkittransitionend |
webkitTransitionEnd event handler. |
onwheel |
wheel event handler. |
The following table lists the event handlers (and their corresponding event handler event types) supported by all HTML elements other than body
and frameset
elements, as both event handler content attributes and event handler IDL attributes; supported by all Document
objects, as event handler IDL attributes; and supported by all Window
objects, as event handler IDL attributes on the Window
objects themselves, and with corresponding event handler content attributes and event handler IDL attributes exposed on all body
and frameset
elements that are owned by that Window
object's associated Document
.
| Attribute | Description |
|---|---|
onblur |
User has left the focus of the element. |
onerror |
Invoked when an error occurs while the Window object is being loaded. Also handler for script error notifications. |
onfocus |
Invoked when the focus is on the element. |
onload |
The element has loaded. |
onresize |
The viewport has been resized. |
onscroll |
scroll event handler. Invoked when the element's scrollbar is being scrolled. |
The following table lists the event handlers supported by Window
objects, as event handler IDL attributes on the Window
objects themselves, and with corresponding event handler content attributes and event handler IDL attributes exposed on all body
and frameset
elements that are owned by that Window
object's associated Document
.
| Attribute | Description |
|---|---|
onafterprint |
afterprint event handler |
onbeforeprint |
beforeprint event handler |
onbeforeunload |
beforeunload event handler |
onhashchange |
hashchange event handler. The hashchange event is fired when navigating to a session history entry whose URL differs from that of the previous one only in the fragment identifier. |
onlanguagechange |
languagechange event handler. |
onmessage |
message event handler. |
onmessageerror |
messageerror event handler. |
onoffline |
offline event handler. |
ononline |
online event handler. |
onpagehide |
pagehide event handler. The pagehide event is fired when traversing from a session history entry. |
onpageshow |
pageshow event handler. The pageshow event is fired when traversing to a session history entry. |
onpopstate |
popstate event handler. The popstate event is fired when navigating to a session history entry that represents a state object. |
onrejectionhandled |
rejectionhandled event handler. |
onstorage |
storage event handler. |
onunhandledrejection |
unhandledrejection event handler. |
onunload |
unload event handler. |
The following are the event handlers supported by all HTML elements, as both event handler content attributes and event handler IDL attributes; and supported by all Document
objects, as event handler IDL attributes:
| Attribute | Description |
|---|---|
oncut |
cut event handler. |
oncopy |
copy event handler. |
onpaste |
paste event handler. |
The following event handler is supported on Document
objects as an event handler IDL attribute.
| Attribute | Description |
|---|---|
onreadystatechange |
readystatechange event handler. |
Legacy Support
If you're using an application built with HTML 4, your options for event handlers is much more limited.
HTML 4 only supports the following 18 event handlers:
| Event Handler | Event that it handles |
|---|---|
| onBlur | User has left the focus of the object. For example, they clicked away from a text field that was previously selected. |
| onChange | User has changed the object, then attempts to leave that field (i.e. clicks elsewhere). |
| onClick | User clicked on the object. |
| onDblClick | User clicked twice on the object. |
| onFocus | User brought the focus to the object (i.e. clicked on it/tabbed to it) |
| onKeydown | A key was pressed over an element. |
| onKeyup | A key was released over an element. |
| onKeypress | A key was pressed over an element then released. |
| onLoad | The object has loaded. |
| onMousedown | The cursor moved over the object and mouse/pointing device was pressed down. |
| onMouseup | The mouse/pointing device was released after being pressed down. |
| onMouseover | The cursor moved over the object (i.e. user hovers the mouse over the object). |
| onMousemove | The cursor moved while hovering over an object. |
| onMouseout | The cursor moved off the object |
| onReset | User has reset a form. |
| onSelect | User selected some or all of the contents of the object. For example, the user selected some text within a text field. |
| onSubmit | User submitted a form. |
| onUnload | User left the window (i.e. user closes the browser window). |


public interface ExpCompiler
| Modifier and Type | Interface and Description |
|---|---|
static class |
ExpCompiler.Factory
The
ExpCompiler.Factory is used to access
ExpCompiler implementations. |
| Modifier and Type | Method and Description |
|---|---|
Calc |
compile(Exp exp)
Compiles an expression.
|
Calc |
compileAs(Exp exp,
Type resultType,
List<ResultStyle> preferredResultStyles)
Compiles an expression to a given result type.
|
BooleanCalc |
compileBoolean(Exp exp)
Compiles an expression which yields a
boolean result. |
DateTimeCalc |
compileDateTime(Exp exp)
Compiles an expression which yields a
Date result. |
DimensionCalc |
compileDimension(Exp exp)
Compiles an expression which yields a
Dimension result. |
DoubleCalc |
compileDouble(Exp exp)
Compiles an expression which yields a
double result. |
HierarchyCalc |
compileHierarchy(Exp exp)
Compiles an expression which yields a
Hierarchy result. |
IntegerCalc |
compileInteger(Exp exp)
Compiles an expression which yields an
int result. |
IterCalc |
compileIter(Exp exp)
Compiles an expression which yields an immutable
Iterable result. |
LevelCalc |
compileLevel(Exp exp)
Compiles an expression which yields a
Level result. |
ListCalc |
compileList(Exp exp)
Compiles an expression which yields an immutable
TupleList
result. |
ListCalc |
compileList(Exp exp,
boolean mutable)
Compiles an expression which yields
TupleList result. |
MemberCalc |
compileMember(Exp exp)
Compiles an expression which yields a
Member result. |
Calc |
compileScalar(Exp exp,
boolean specific)
Compiles an expression to yield a scalar result.
|
StringCalc |
compileString(Exp exp)
Compiles an expression which yields a
String result. |
TupleCalc |
compileTuple(Exp exp)
Compiles an expression which yields a tuple result.
|
List<ResultStyle> |
getAcceptableResultStyles()
Returns a list of the
ResultStyle s
acceptable to the caller. |
Evaluator |
getEvaluator()
Returns the evaluator to be used for evaluating expressions during the
compilation process.
|
Validator |
getValidator()
Returns the validator which was used to validate this expression.
|
ParameterSlot |
registerParameter(Parameter parameter)
Implements a parameter, returning a unique slot which will hold the
parameter's value.
|
Evaluator getEvaluator()
Validator getValidator()
Calc compile(Exp exp)
exp
- ExpressionCalc compileAs(Exp exp, Type resultType, List<ResultStyle> preferredResultStyles)
If resultType
is not null, casts the expression to that
type. Throws an exception if that conversion is not allowed by the
type system.
The preferredResultStyles
parameter specifies a list
of desired result styles. It must not be null, but may be empty.
exp
- ExpressionresultType
- Desired result type, or null to use expression's
current typepreferredResultStyles
- List of result types, in descending order
of preference. Never null.MemberCalc compileMember(Exp exp)
Member
result.DimensionCalc compileDimension(Exp exp)
Dimension
result.HierarchyCalc compileHierarchy(Exp exp)
Hierarchy
result.IntegerCalc compileInteger(Exp exp)
int
result.
The expression is implicitly converted into a scalar.StringCalc compileString(Exp exp)
String
result.
The expression is implicitly converted into a scalar.DateTimeCalc compileDateTime(Exp exp)
Date
result.
The expression is implicitly converted into a scalar.ListCalc compileList(Exp exp)
TupleList
result.
Always equivalent to
.compileList(mondrian.olap.Exp)
(exp, false)
ListCalc compileList(Exp exp, boolean mutable)
TupleList
result.
Such an expression is generally a list of Member
objects or a
list of tuples (each represented by a Member
array).
exp
- Expressionmutable
- Whether resulting list is mutableIterCalc compileIter(Exp exp)
Iterable
result.exp
- ExpressionBooleanCalc compileBoolean(Exp exp)
boolean
result.exp
- ExpressionDoubleCalc compileDouble(Exp exp)
double
result.exp
- ExpressionTupleCalc compileTuple(Exp exp)
exp
- ExpressionCalc compileScalar(Exp exp, boolean specific)
If the expression yields a member or tuple, the calculator will automatically apply that member or tuple to the current dimensional context and return the value of the current measure.
exp
- Expressionspecific
- Whether to try to use the specific compile method for
scalar types. For example, if specific
is true and
exp
is a string expression, calls
compileString(mondrian.olap.Exp)
ParameterSlot registerParameter(Parameter parameter)
parameter
- ParameterList<ResultStyle> getAcceptableResultStyles()
ResultStyle
s
acceptable to the caller.


layout: post title: “This is a test” —`
Ok, let’s give this a shot. This blog was created entirely for free (well, not counting the domain name) using Github Pages.


Labour Party hit by second cyber attack in a day as hackers try to force it offline
Hackers attempted to force the party's web services offline at around 1.20pm, just hours after details of a similar attack yesterday emerged
by Dave BurkeThe Labour Party has been hit by the second cyber attack in the space of 24 hours.
Hackers attempted to force the party's web services offline at around 1.20pm today, a source told Reuters.
It happened just hours after Labour revealed a first attack had happened yesterday afternoon.
Party sources have confirmed the latest incident.
The source said both attacks were "very unsophisticated" distributed denial-of-service (DDoS) attacks which try to take down target websites by flooding them with malicious traffic.
We'll be bringing you the very latest updates, pictures and video on this breaking news story.
Please check back regularly for updates on this developing story here at Mirror.co.uk .
For the latest news and breaking news visit Mirror.co.uk/news .
Get all the big headlines, pictures, analysis, opinion and video on the stories that matter to you.
Follow us on Twitter @DailyMirror - the official Daily Mirror & Mirror Online Twitter account - real news in real time.
We're also on Facebook /dailymirror - your must-see news, features, videos and pictures throughout the day from the Daily Mirror, Sunday Mirror and Mirror Online.


Israel attacks targets in Syria
by AAPIsrael has attacked Iranian and Syrian military targets in Syria in what it says is retaliation for rockets fired toward Israel the day before, military spokesman Lieutenant-Colonel Avichay Adraee says.
Syria’s air defences were able to destroy most of the missiles fired by Israeli jets over the capital Damascus before they reached their targets, Syria’s state news agency SANA said, quoting a military source.
Israel’s military said its missile defence system shot down four rockets fired from Syria toward Israel on Tuesday (local time).
“Warplanes raided dozens of military targets belonging to the Iranian Quds Force and the Syrian Army inside Syrian territory, including surface-to-air missiles, headquarters, weapons depots and military bases, in response to yesterday’s rocket fire from Syria towards Israel,” Lt-Col Adraee said on Twitter.
The elite Quds Force is the overseas arm of Iran’s Revolutionary Guards (IRGC).
SANA said three were injured as a result of the Israeli counter-attack.
Israel says it has carried out hundreds of strikes in Syria against Iranian targets trying to establish a permanent military presence there and against advanced weapon shipments to Tehran-backed Lebanese militia Hezbollah.
“Yesterday’s Iranian attack on Israeli territory by firing missiles … is the best proof of Iran’s real cause in Syria. The Iranian position poses a threat to Israel’s security, stability in the region, and the Syrian regime,” Adraee said.
-AAP


Imagine having a unique, personalised registration proudly displayed on your car. Private number plates look fantastic and ensure your vehicle stands out.
Simply Registrations is a member of the leading UK private number plate dealer organisation Mirad.
You can relax safe in the knowledge that everything is being expertly taken care of on your behalf as we transfer your new personalised registration to your car.
Welcome to the Simply Registrations website. Are you looking to add the finishing touch to your car? If the answer is yes, you have come to the right place. We are delighted to offer you a huge selection of private number plates for sale at competitive prices. You will soon discover why so many British motorists choose to buy from one of the most trusted and respected personalised number plate dealers in the UK.
Finding Your Way Around the Simply Registrations Website
There is lots of relevant and interesting information throughout the Simply Registrations website. The most popular content can be reached via the navigation tabs across the top of every page. Alternatively click through to the sitemap for the index of all pages.
Any Questions?
If you have any questions about the purchase or transfer of personalised registrations, we may have already provided the answers for you in the frequently asked questions section. If you can’t find the answers you are looking for then give us a call on 0113 288 7553 between 9am and 9pm any day of the week. If you prefer a reply by email please use the online contact form to get in touch with us.
Add the Finishing Touch to Your Car
Private number plates are the accessory of choice for many motorists when deciding how to add the finishing touch to their cars. Number plates have been in use on the roads of Great Britain for over a century. They became a compulsory requirement following the introduction of the Motor Car Act 1903. However, several decades after the introduction of the new law, some motorists were buying cars and motorbikes purely for their unique registrations. Rather than thinking of registrations as mandatory identification markers which had to be displayed on a vehicle, a small number of motorists were acquiring cars purely for their distinctive registrations which often had some personal relevance to the purchaser.
This shift in thinking meant that values started to be attributed to certain very desirable combinations; particularly registrations which contained the single number 1. The idea of buying and selling attractive vehicle registrations had caught the attention of a few shrewd individuals and in the 1970’s a small number of cherished number plate dealers had set up in business. The amounts being exchanged for these so-called personalised registrations were not astronomical. A set of three initials with the number 1 could be bought for just a few hundred pounds.
Fast forward four decades and demand for personalised registration plates is still incredibly strong. As long as human beings continue to own motor vehicles, the desire to stand out amongst the crowd will remain. Eye-catching registration plates can be spotted on the vehicles of accomplished and experienced drivers, right through to motorists who have just passed their driving test.
We have a fantastic selection of private number plates for sale. You can browse over 3,000 registrations and decide if there is a unique combination to add the finishing touch to your pride and joy.
To keep in touch you can follow us on Twitter, Facebook or Google+ or for a friendly, no-obligation chat, why not give us a call on 0113 288 7553.


Nim is played starting with rows of candies!
Players take turns taking any number of candies from one of the piles.
Whoever takes the last of the objects wins!
Chomp is played starting with chocolate bar!
Players take turns chomping a square out of the chocolate bar
along with any squares to the right and above.
Whoever takes the lower left square loses!
Take Away is played starting with coins!
Players take turns taking one, two or three silver coins at a time.
Whoever takes the last gold coin wins!


Preparation time
less than 30 mins
Cooking time
over 2 hours
Serves
Serves 4
This lamb dish combines two types of spiced lamb and is served with cumin potato cakes, aubergine and mint chutney.
Equipment and preparation: you will need a tandoor oven.
For the lamb shoulder, heat half of the oil in a large pan and brown the lamb shoulder with the cumin seeds until nicely coloured. Set aside in a large bowl.
Heat two tablespoons of oil in a large pan and fry the sliced onion with the ginger, garlic, chilli, and all the spices.
Add the lamb to the pan and enough stock to just cover the meat. Put a lid on the pan and cook for 2-2½ hours, or until tender.
For the barbecue rack of lamb, make a paste by blending the ginger and garlic in a food processor. Transfer to a bowl and stir in the oil, yoghurt, lime zest and lime juice. Season to taste with salt and freshly ground black pepper.
Cover the lamb racks with the paste and leave to marinate for an hour, or longer if time allows. Heat a tandoor oven.
Thread the lamb racks onto skewers and roast in the tandoor oven for 12-15 minutes. Carefully remove the meat from the oven and allow to rest before carving. Carve in half to serve.
For the cumin potato cakes, steam the potatoes for 25 minutes, or until softened. Once cool, grate half of the potatoes into a bowl and roughly crush the remaining half in a separate bowl. Combine both textures of potatoes.
Stir in the ground cumin powder, chilli, garlic and coriander. Season to taste with salt and freshly ground black pepper. Shape into four patties or cakes using your hands.
Heat the butter and oil in a pan and fry the cumin potato cakes until lightly browned.
For the aubergine, heat the oil in a large pan and roast the cumin seeds with the garlic, ginger, chilli and onion for a few minutes until softened.
Add the turmeric, salt to taste and stir in the aubergine and a squeeze of lemon juice. Heat for 2-3 minutes, reduce the heat and cook slowly for 15-20 minutes. Stir in chopped coriander when ready to serve.
For the lamb shoulder, remove the lamb from the pan and blend the sauce until smooth. Strain the sauce, re-heat and season to taste with salt and pepper. Put the lamb back into the sauce to warm through before serving.
For the mint chutney, blend the mint, coriander, chilli, garlic, lime zest and juice in a food processor until smooth. Add caster sugar to taste and a little oil, pulse again to combine. Season to taste with salt and freshly ground black pepper.
To serve, serve the aubergine, potato cakes, mint chutney, two bones from the rack and a piece of shoulder and some sauce on each plate.


Army cleans Minna - The Nation Newspaper
Justina Asishana, Minna
THE military is better known for the toughest of battles especially on behalf of the country that pays its bills. But what happened at the weekend in Minna, the Niger State capital, showed the other side of the armed forces.
The 31 Artillery Brigade of the Nigeria Army deployed its personnel to clean up the dirty streets of the state’s capital city.
The sanitation exercise was carried out at Mobil Roundabout and its vicinity in Minna.
It involved all the men and officers of the 31 Artillery Brigade Minna and Youth Corps members.
The Brigade Commander, Brigadier General Gideon Temitope said the sanitation exercise was part of the activities in the exercise Ayem Akpatuma II.
He said that ensuring a clean and hygienic environment is also part of security which involves keeping the people alive and safe.
“We are here to ensure that we have a healthy and hygienic environment which is also part of security. In ensuring security, there must be various lines of actions involved and having a clean and hygienic environment is part of it.”
Temitope further said that the sanitation exercise is part of the bid of the military to strengthen civil and military cooperation in the state.
Read Also: Police discover kidnappers hideout in Minna
The representative of the Emir of Minna, Alhaji Farouk Bahago said the gesture of the Army is appreciated by the Minna Emirate, adding that environmental sanitation is good for the wellbeing of the people.
He said that the gesture will go a long way in strengthening and encouraging army-civilian relationship in the state.
The officers and men of the 31 Artillery Brigade swept parks and roads, cleaned gutters by evacuating disused items and plastics.
All they required for this significant exercise were shovels, rakes and pans, not tanks, assault rifles or bombs.


Steps:
Draw a Gantt chart where maximum time on Gantt chart is the value of maximum deadline.
Put the job on Gantt chart as far as possible from 0 ensuring that the job gets completed before its deadline.


Hi! My name is Oyungerel and I'm a rising sophomore studying at New York University Abu Dhabi. I was born and raised in Ulaanbaatar, Mongolia and reside between Abu Dhabi and Ulaanbaatar. I like to think of myself as a generalist; my interests lie in science, politics, entertainment and literature among others.
I also love butterflies in the philosophical sense that their life cycle symbolizes the human existence. At this moment in my life, I'm still in my caterpillar stage, struggling on the search for my passion and purpose. I know that one day I will become a beautiful butterfly and fly through the sky, but until then I will keep striving.
Contact: oa853@nyu.edu


Race Registration!
First Name
Last Name
Select a Race:
Fun Run 5k
Half Marathon
Full Marathon
Email
Password
Select age group
18-30
30-50
50-60
Register!


‘I Tried to Make a Difference’
The Talk of the Town at The Jamaica Pegasus was an atmosphere of celebration recently as over 200 well-wishers – family, friends, business associates, and colleagues – of Dr the Hon R. Danny Williams came out in support of the launch of his biography, I Tried to Make a Difference. All proceeds from the sale of the book will be donated to the Jamaica College Foundation for the R. Danny Williams Scholarship Endowment Fund.


Doctor Lookup
Exceptional Care Close to You.
 Please try again.
There was an error handling your request.
Please try again.


--- layout: post status: publish published: true title: Miscellany author: display_name: Andy login: Andy email<EMAIL_ADDRESS>url: '' author_login: Andy author_email<EMAIL_ADDRESS>wordpress_id: 2699 wordpress_url: http://ivyenvy.com/?p=2699 date: '2010-05-26 05:16:22 +0000' date_gmt: '2010-05-26 11:16:22 +0000' categories: - Catchers - Defense - General Baseball - Infield - Offense - Outfield - Relief Pitching - Starting Pitching tags: - Derek Lee - Kosuke Fukudome - Lou Piniella - Reed Johnson - Ryan Dempster - Tom Gorzelanny - Marlon Byrd - James Loney - Xavier Nady - Clayton Kershaw - Rafael Furcal - Chad Billingsley - Edgar Tovar comments: [] ---
The Cubs came through last night with a 3-0 victory over the Dodgers. Kershaw is a tough pitcher and looked pretty sharp last night. Fortunately, Rafael Furcal's defense didn't. Kershaw only gave up one unearned run due to a Furcal error, and Lee's 2-run homer was off the bullpen. Dempster was his usual self last night--the only difference is he didn't make any mistakes late in the game that cost him. If his pitching performance had been any less dominant, the Cubs could have lost this game. Gorzelanny will have to have another stellar outing tonight if the Cubs hope to beat Billingsley, who currently is 5-2 with a 3.66 ERA.
-Fukudome has come in four out of the last six games as a defensive replacement late in the game. I know Piniella is trying to get players like Nady some playing time (and it seems to have helped Nady), but in doing so, there is a chance that Fukudome's bat could cool down. He is still hitting over .300. I'd like for that to continue. Oh, and part of the reason I bring this up is that tonight's starter was a righty, so you would expect Fukudome to start if we're so concerned about right-lefty matchups.
-Hey Joe, start Reed Johnson, you knuckleknob!
-How about that collision between Marlon Byrd and James Loney last night? I was surprised Loney's arm didn't snap off. Marlon Byrd is in my top 5 of players I would never want to have a collision with. Who is #1 you ask? Ted Lilly.
-How about Edgar Tovar's snag on a screaming foul ball near the bullpen? I'm guessing this Baseball-Reference link is the same Edgar Tovar. Do you ever wonder about the life of the bullpen catcher like I do? It seems like it would be a nice gig, especially after a baseball career that never took off. Check out the comments on this page. Ouch.
So anyway, if the Cubs can keep up the fire, we might see .500 soon! The upcoming schedule wants to dampen my enthusiasm, but I won't let it, damnit!


Phillip is a music teacher and he is in the process of preparing a musical with his students.  He must travel to his hometown urgently.
Upon his arrival he finds his mother already dead. This sad event plunges him into a depression that prevents his life developing as normal. His state of depression forces him to stop his work as a teacher and thus stop work on his musical play.
After a long walk, he feels the need to run and he does this until he falls exhausted to the ground. Running gives him a sense of relief that becomes an escape for his depression. He then begins to systematically do this day and night. During these routine runs he meets a woman named Athens and together they begin to establish a relationship that improve Phillip’s mood, motivates him to return to school to finish the musical and consider a new goal to run a marathon.
This project is supported by:
Director Sebastian Vidal


|
Apache log4cxx
Version 0.10.0
|
This class is designed to support insertion operations in the message argument to the LOG4CXX_INFO and similar macros and is not designed for general purpose use. More...
Public Types | |
| typedef std::basic_ostream < UniChar > | uostream |
Public Member Functions | |
| UniCharMessageBuffer () | |
| Creates a new instance. More... | |
| ~UniCharMessageBuffer () | |
| Destructor. More... | |
| UniCharMessageBuffer & | operator<< (const std::basic_string< UniChar > &msg) |
| Appends string to buffer. More... | |
| UniCharMessageBuffer & | operator<< (const UniChar *msg) |
| Appends string to buffer. More... | |
| UniCharMessageBuffer & | operator<< (UniChar *msg) |
| Appends string to buffer. More... | |
| UniCharMessageBuffer & | operator<< (const UniChar msg) |
| Appends character to buffer. More... | |
| UniCharMessageBuffer & | operator<< (const CFStringRef &msg) |
| Appends a string into the buffer and fixes the buffer to use char characters. More... | |
| uostream & | operator<< (ios_base_manip manip) |
| Insertion operator for STL manipulators such as std::fixed. More... | |
| uostream & | operator<< (bool val) |
| Insertion operator for built-in type. More... | |
| uostream & | operator<< (short val) |
| Insertion operator for built-in type. More... | |
| uostream & | operator<< (int val) |
| Insertion operator for built-in type. More... | |
| uostream & | operator<< (unsigned int val) |
| Insertion operator for built-in type. More... | |
| uostream & | operator<< (long val) |
| Insertion operator for built-in type. More... | |
| uostream & | operator<< (unsigned long val) |
| Insertion operator for built-in type. More... | |
| uostream & | operator<< (float val) |
| Insertion operator for built-in type. More... | |
| uostream & | operator<< (double val) |
| Insertion operator for built-in type. More... | |
| uostream & | operator<< (long double val) |
| Insertion operator for built-in type. More... | |
| uostream & | operator<< (void *val) |
| Insertion operator for built-in type. More... | |
| operator uostream & () | |
| Cast to ostream. More... | |
| const std::basic_string < UniChar > & | str (uostream &os) |
| Get content of buffer. More... | |
| const std::basic_string < UniChar > & | str (UniCharMessageBuffer &buf) |
| Get content of buffer. More... | |
| bool | hasStream () const |
| Returns true if buffer has an encapsulated STL stream. More... | |
This class is designed to support insertion operations in the message argument to the LOG4CXX_INFO and similar macros and is not designed for general purpose use.
Creates a new instance.
| ~UniCharMessageBuffer | ( | ) |
Destructor.
| bool hasStream | ( | ) | const |
Returns true if buffer has an encapsulated STL stream.
| operator uostream & | ( | ) |
Cast to ostream.
| UniCharMessageBuffer& operator<< | ( | const std::basic_string< UniChar > & | msg | ) |
Appends string to buffer.
| msg | string append. |
| UniCharMessageBuffer& operator<< | ( | const UniChar * | msg | ) |
Appends string to buffer.
| msg | string to append. |
| UniCharMessageBuffer& operator<< | ( | UniChar * | msg | ) |
Appends string to buffer.
| msg | string to append. |
| UniCharMessageBuffer& operator<< | ( | const UniChar | msg | ) |
Appends character to buffer.
| msg | character to append. |
| UniCharMessageBuffer& operator<< | ( | const CFStringRef & | msg | ) |
Appends a string into the buffer and fixes the buffer to use char characters.
| msg | message to append. |
| uostream& operator<< | ( | ios_base_manip | manip | ) |
Insertion operator for STL manipulators such as std::fixed.
| manip | manipulator. |
| uostream& operator<< | ( | bool | val | ) |
Insertion operator for built-in type.
| val | build in type. |
| uostream& operator<< | ( | short | val | ) |
Insertion operator for built-in type.
| val | build in type. |
| uostream& operator<< | ( | int | val | ) |
Insertion operator for built-in type.
| val | build in type. |
| uostream& operator<< | ( | unsigned int | val | ) |
Insertion operator for built-in type.
| val | build in type. |
| uostream& operator<< | ( | long | val | ) |
Insertion operator for built-in type.
| val | build in type. |
| uostream& operator<< | ( | unsigned long | val | ) |
Insertion operator for built-in type.
| val | build in type. |
| uostream& operator<< | ( | float | val | ) |
Insertion operator for built-in type.
| val | build in type. |
| uostream& operator<< | ( | double | val | ) |
Insertion operator for built-in type.
| val | build in type. |
| uostream& operator<< | ( | long double | val | ) |
Insertion operator for built-in type.
| val | build in type. |
| uostream& operator<< | ( | void * | val | ) |
Insertion operator for built-in type.
| val | build in type. |
Get content of buffer.
| os | used only to signal that the embedded stream was used. |
| const std::basic_string<UniChar>& str | ( | UniCharMessageBuffer & | buf | ) |
Get content of buffer.
| buf | used only to signal that the embedded stream was not used. |


When you contact us, please provide your detail requirements. That will help us give you a valid quotation.


Carbon footprints at home are brutal. Examples: wasting water, leaving lights on for too long, heating or using A/C when other solutions are available.
The term Footprint refers to the impact we are having on the Earth. If the whole world lived like Americans and Canadians, we would need seven Earth-size planets to sustain our way of living... yes, seven.
By combining Carbon Dioxide with the term Footprint, we have a Carbon Footprint. This is the amount of Carbon Dioxide we are creating. Americans and Canadians pollute more per capita than most countries in the world.


A Support System for Depression
Video source credits to TEd-Ed
Depression (major depressive disorder) is a common and serious medical illness that negatively affects how you feel, the way you think and how you act. Fortunately, it is also treatable. Depression causes feelings of sadness and/or a loss of interest in activities once enjoyed. It can lead to a variety of emotional and physical problems and can decrease a person’s ability to function at work and at home.
Depression symptoms can vary from mild to severe and can include:
Symptoms must last at least two weeks for a diagnosis of depression.
Also, medical conditions (e.g., thyroid problems, a brain tumor or vitamin deficiency) can mimic symptoms of depression so it is important to rule out general medical causes.
Depression affects an estimated one in 15 adults (6.7%) in any given year. And one in six people (16.6%) will experience depression at some time in their life. Depression can strike at any time, but on average, first appears during the late teens to mid-20s. Women are more likely than men to experience depression. Some studies show that one-third of women will experience a major depressive episode in their lifetime.
The death of a loved one, loss of a job or the ending of a relationship are difficult experiences for a person to endure. It is normal for feelings of sadness or grief to develop in response to such situations. Those experiencing loss often might describe themselves as being “depressed.”
But being sad is not the same as having depression. The grieving process is natural and unique to each individual and shares some of the same features of depression. Both grief and depression may involve intense sadness and withdrawal from usual activities. They are also different in important ways:
Depression can affect anyone—even a person who appears to live in relatively ideal circumstances.
Several factors can play a role in depression:
Depression is among the most treatable of mental disorders. Between 80 percent and 90 percent of people with depression eventually respond well to treatment. Almost all patients gain some relief from their symptoms.
Before a diagnosis or treatment, a health professional should conduct a thorough diagnostic evaluation, including an interview and possibly a physical examination. In some cases, a blood test might be done to make sure the depression is not due to a medical condition like a thyroid problem. The evaluation is to identify specific symptoms, medical and family history, cultural factors and environmental factors to arrive at a diagnosis and plan a course of action.
Medication: Brain chemistry may contribute to an individual’s depression and may factor into their treatment. For this reason, antidepressants might be prescribed to help modify one’s brain chemistry. These medications are not sedatives, “uppers” or tranquilizers. They are not habit-forming. Generally antidepressant medications have no stimulating effect on people not experiencing depression.
Antidepressants may produce some improvement within the first week or two of use. Full benefits may not be seen for two to three months. If a patient feels little or no improvement after several weeks, his or her psychiatrist can alter the dose of the medication or add or substitute another antidepressant. In some situations other psychotropic medications may be helpful. It is important to let your doctor know if a medication does not work or if you experience side effects.
Psychiatrists usually recommend that patients continue to take medication for six or more months after symptoms have improved. Longer-term maintenance treatment may be suggested to decrease the risk of future episodes for certain people at high risk.
Psychotherapy: Psychotherapy, or “talk therapy,” is sometimes used alone for treatment of mild depression; for moderate to severe depression, psychotherapy is often used in along with antidepressant medications. Cognitive behavioral therapy (CBT) has been found to be effective in treating depression. CBT is a form of therapy focused on the present and problem solving. CBT helps a person to recognize distorted thinking and then change behaviors and thinking.
Psychotherapy may involve only the individual, but it can include others. For example, family or couples therapy can help address issues within these close relationships. Group therapy involves people with similar illnesses.
Depending on the severity of the depression, treatment can take a few weeks or much longer. In many cases, significant improvement can be made in 10 to 15 sessions.
Electroconvulsive Therapy (ECT) is a medical treatment most commonly used for patients with severe major depression or bipolar disorder who have not responded to other treatments. It involves a brief electrical stimulation of the brain while the patient is under anesthesia. A patient typically receives ECT two to three times a week for a total of six to 12 treatments. ECT has been used since the 1940s, and many years of research have led to major improvements. It is usually managed by a team of trained medical professionals including a psychiatrist, an anesthesiologist and a nurse or physician assistant.
There are a number of things people can do to help reduce the symptoms of depression. For many people, regular exercise helps create positive feeling and improve mood. Getting enough quality sleep on a regular basis, eating a healthy diet and avoiding alcohol (a depressant) can also help reduce symptoms of depression.
Depression is a real illness and help is available. With proper diagnosis and treatment, the vast majority of people with depression will overcome it. If you are experiencing symptoms of depression, a first step is to see your family physician or psychiatrist. Talk about your concerns and request a thorough evaluation. This is a start to addressing mental health needs.


Karl, are you saying "eh" as in, "I don't understand", or "eh", as in "How about that Kujo thing?"
In the case of "I don't understand", it is a Solaris shell command to find a file. UNIX joke. Yeah, there are a hundred of them. Some are pretty good
But I didn't think you were a UNIX fan.
In the case of that Kujo thing, it isn't dead and is being actively developed as of 2007. We have a new bag of toys from our experiences, and are going to give it another shot. Joe, of all people, should know what is going on -- he was there when we decided that we should resume work. You heard nothing else because we said nothing else.
Yeah, we're a bit insane. You almost have to be to want to make an online game. Karl of all people should know just how much work programming an entire game (much more, an online one!) all by yourself is -- he probably got as far or further along in BTR than Kujo did (hate to admit it though!). Artists know how hard it is to build a game world from the ground up -- I have heard their frustrations.
"These things" do happen. I agree. Microsoft killed MDX2. Duke Nukem Forever is taking that long. I wanted to play BTR. I want to play Kujo.
I think given enough time and dedication, you can produce.
I am somewhat of a minimalist myself. I want Linux on a floppy. I want single textures and no shaders. If a software renderer couldn't do it in real time, then the game geometry is too complex. And so on.
There are times that I want to get engaged in a project that I think I can actually *complete* rather than endlessly work for what seems to be an unobtainable goal. I haven't played Xenimus, but the screenshots make the game itself look simple, like a feasible project. This isn't a bad thing at all. I want to clone a game made in 1990 because I absolutely love it. I have a feeling that this project is about imitating the feelings produced from a game before some designer screwed with the system so much that it became much less fun, not about impressing the world with novelty or graphics.
 Then the game developers listen to the community too much, and little by little, you aren't playing the same game. Trust me, I know the feeling. Asheron's Call was the same way for me. I still seek to clone it and work on it when I need a break from anything else I am doing. It is also a great testing ground for new ideas that I wouldn't want to implement in a project that requires mature, stable code.
Karl, when/if you finish this game, you should resume BTR. BTR was your dream and your baby. It will still be waiting for you when/if you finish this, or since PV is an online game, you feel that you can resume work (i.e. PV is in monthly-maintenance mode). Or help me with a project. Or vice versa. Or something started by both of us.  We're both more mature and experienced than when we last met.
Whatever you do, don't give up. Not again.
Patrick Baggett


chats
posts
newpost
statsu
new status
Tony Stark posted at 33:9pm
Having fun guys
like
comment
react
Tony Stark posted at 33:9pm
Having fun guys
like 0
comment 0
react 0
Tony Stark posted at 33:9pm
Having fun guys
like
comment
react


Installation and Configuration¶
This chapter describes how to install and configure GeoMesa on a Linux system. This includes installation of the Accumulo and Kafka data stores and installation and configuration of the GeoServer plugins.
Prerequisites and Platform¶
Warning
GeoMesa requires Accumulo 1.6 or 1.7, which in turn requires Hadoop 2.2 or better and ZooKeeper 3.4.5 or better. Installing and configuring Accumulo is beyond the scope of this manual.
Using the Kafka module requires Kafka 0.8, 0.9, or 0.10 and ZooKeeper 3.4.5 or better.
To install the binary distribution:
To build and install the source distribution:
- Java JDK 8,
- Apache Maven (http://maven.apache.org/) 3.2.2 or better
- A
git
client (http://git-scm.com/)
Versions and Downloads¶
Note
The current recommended version of GeoMesa to install is 1.3.0-m1.
Latest release: 1.3.0-m1
- Accumulo release tarball: https://repo.locationtech.org/content/repositories/geomesa-releases/org/locationtech/geomesa/geomesa-accumulo_2.11/1.3.0-m1/geomesa-accumulo_2.11-1.3.0-m1-bin.tar.gz
- Kafka 0.8.x release tarball: https://repo.locationtech.org/content/repositories/geomesa-releases/org/locationtech/geomesa/geomesa-kafka-08-dist_2.11/1.3.0-m1/geomesa-kafka-08-dist_2.11-1.3.0-m1-bin.tar.gz
- Kafka 0.9.x release tarball: https://repo.locationtech.org/content/repositories/geomesa-releases/org/locationtech/geomesa/geomesa-kafka-09-dist_2.11/1.3.0-m1/geomesa-kafka-09-dist_2.11-1.3.0-m1-bin.tar.gz
- Kafka 0.10.x release tarball: https://repo.locationtech.org/content/repositories/geomesa-releases/org/locationtech/geomesa/geomesa-kafka-10-dist_2.11/1.3.0-m1/geomesa-kafka-10-dist_2.11-1.3.0-m1-bin.tar.gz
- Source: https://github.com/locationtech/geomesa/archive/geomesa-1.3.0-m1.tar.gz
Development version (source only): 1.3.0-m2-SNAPSHOT
Latest release which has been fully reviewed by Eclipse Legal: 1.2.0
GeoMesa is part of the Locationtech working group at Eclipse. The Eclipse legal team fully reviews each major release for IP concerns.
Warning
Eclipse releases may not contain all the bug fixes and improvements from the latest release.
- Release distribution: http://download.locationtech.org/geomesa/1.2.0/geomesa-dist-1.2.0-bin.tar.gz
- Source: http://download.locationtech.org/geomesa/1.2.0/geomesa-source-1.2.0.tar.gz
1.1.x release: 1.1.0-rc.7
- Release tarball: https://repo.locationtech.org/content/repositories/geomesa-releases/org/locationtech/geomesa/geomesa-assemble/1.1.0-rc.7/geomesa-assemble-1.1.0-rc.7-bin.tar.gz
- Source: https://github.com/locationtech/geomesa/archive/geomesa-1.1.0-rc.7.tar.gz
GeoMesa artifacts can be downloaded from the LocationTech Maven repository: https://repo.locationtech.org/content/repositories/geomesa-releases/.
Snapshot artifacts are available in the LocationTech snapshots repository: https://repo.locationtech.org/content/repositories/geomesa-snapshots/.
Installing from the Binary Distribution¶
GeoMesa artifacts are available for download or can be built from source.
The easiest way to get started is to download the most recent binary version ($VERSION
= 1.3.0-m1)
and untar it somewhere convenient. For example, to download and prepare the geomesa-accumulo binary:
# download and unpackage the most recent distribution
$ wget http://repo.locationtech.org/content/repositories/geomesa-releases/org/locationtech/geomesa/geomesa-accumulo-dist/$VERSION/geomesa-accumulo-dist_2.11-$VERSION-bin.tar.gz
$ tar xvf geomesa-accumulo-dist_2.11-$VERSION-bin.tar.gz
$ cd geomesa-accumulo-dist_2.11-$VERSION
$ ls
bin/ conf/ dist/ docs/ emr4/ examples/ lib/ LICENSE.txt logs/
Building from Source¶
GeoMesa may also be built from source. For more information refer to Building from Source
in the Developer Manual, or to the README.md
file in the the
source distribution. The remainder of the instructions in this chapter assume
the use of the binary GeoMesa distribution. If you have built from source, the
distribution is created in the /target
directory of each respective module as a part of
the build process.
More information about developing with GeoMesa may be found in the Developer Manual.
Installing the Accumulo Distributed Runtime Library¶
The geomesa-accumulo-dist_2.11-$VERSION/dist/accumulo/
directory contains the distributed
runtime JARs that contains server-side code for Accumulo that must be made
available on each of the Accumulo tablet servers in the cluster. These JARs
contain GeoMesa code and the Accumulo iterator required for querying
GeoMesa data.
Warning
There are two runtime JARs available, with and without raster support. Only one is needed and including both will cause classpath issues.
The version of the distributed runtime JAR must match the version of the GeoMesa data store client JAR (usually installed in GeoServer; see below). If not, queries might not work correctly or at all.
Manual Install¶
The desired runtime JAR should be copied into the $ACCUMULO_HOME/lib/ext
folder on
each tablet server.
# something like this for each tablet server
$ scp geomesa-accumulo-dist_2.11-$VERSION/dist/accumulo/geomesa-accumulo-distributed-runtime_2.11-$VERSION.jar tserver1:$ACCUMULO_HOME/lib/ext
# or for raster support
$ scp geomesa-accumulo-dist_2.11-$VERSION/dist/accumulo/geomesa-accumulo-distributed-runtime-raster_2.11-$VERSION.jar tserver1:$ACCUMULO_HOME/lib/ext
Note
You do not need the JAR on the Accumulo master server, and including it there may cause classpath issues later.
Namespace Install¶
Copying the runtime JAR to each tablet server as above will work, but in Accumulo 1.6+, we can leverage namespaces to isolate the GeoMesa classpath from the rest of Accumulo.
To install the distributed runtime JAR, use the setup-namespace.sh
script in the geomesa-accumulo-dist_2.11-$VERSION/dist/accumulo
directory.
$ ./setup-namespace.sh -u myUser -n myNamespace
The command line arguments the script accepts are:
- -u <Accumulo username>
- -n <Accumulo namespace>
- -p <Accumulo password> (optional, will prompt if not supplied)
- -g <Path of GeoMesa distributed runtime JAR> (optional, will default to the distribution folder and without raster support)
- -h <HDFS URI e.g. hdfs://localhost:54310> (optional, will attempt to determine if not supplied)
Alternatively you can manually install the distributed runtime JAR with these commands:
$ accumulo shell -u root
> createnamespace myNamespace
> grant NameSpace.CREATE_TABLE -ns myNamespace -u myUser
> config -s general.vfs.context.classpath.myNamespace=hdfs://NAME_NODE_FDQN:54310/accumulo/classpath/myNamespace/[^.].*.jar
> config -ns myNamespace -s table.classpath.context=myNamespace
Then copy the distributed runtime JAR into HDFS under the path you specified.
The path above is just an example; you can included nested folders with project
names, version numbers, and other information in order to have different versions of GeoMesa on
the same Accumulo instance. You should remove any GeoMesa JARs under
$ACCUMULO_HOME/lib/ext
to prevent any classpath conflicts.
Note
When connecting to a data store using Accumulo namespaces, you must prefix
the tableName
parameter with the namespace. For example, refer to the
my_catalog
table as myNamespace.my_catalog
.
Setting up the Command Line Tools¶
Note
The command line tools currently support the Accumulo and Kafka data stores.
Accumulo Tools¶
Warning
To use the Accumulo data store with the command line tools, you need to install the distributed runtime first. See Installing the Accumulo Distributed Runtime Library.
GeoMesa comes with a set of command line tools for managing accumulo features located in geomesa-accumulo_2.11-$VERSION/bin/
of the binary distribution or geomesa-accumulo/geomesa-accumulo-dist/target/geomesa-accumulo_2.11-$VERSION/bin/
of the source distribution.
Note
You can configure environment variables and classpath settings in geomesa-accumulo_2.11-$VERSION/bin/geomesa-env.sh.
In the geomesa-accumulo_2.11-$VERSION
directory, run bin/geomesa configure
to set up the tools.
### in geomesa-accumulo_2.11-$VERSION/:
$ bin/geomesa configure
Warning: GEOMESA_HOME is not set, using /path/to/geomesa-accumulo_2.11-$VERSION
Using GEOMESA_HOME as set: /path/to/geomesa-accumulo_2.11-$VERSION
Is this intentional? Y\n y
Warning: GEOMESA_LIB already set, probably by a prior configuration.
Current value is /path/to/geomesa-accumulo_2.11-$VERSION/lib.
Is this intentional? Y\n y
To persist the configuration please update your bashrc file to include:
export GEOMESA_HOME=/path/to/geomesa-accumulo_2.11-$VERSION
export PATH=${GEOMESA_HOME}/bin:$PATH
Update and re-source your ~/.bashrc
file to include the $GEOMESA_HOME
and $PATH
updates.
Warning
Please note that the $GEOMESA_HOME
variable points to the location of the geomesa-accumulo_2.11-$VERSION
directory, not the main geomesa binary distribution directory!
Note
geomesa
will read the $ACCUMULO_HOME
and $HADOOP_HOME
environment variables to load the
appropriate JAR files for Hadoop, Accumulo, Zookeeper, and Thrift. If possible, we recommend
installing the tools on the Accumulo master server, as you may also need various configuration
files from Hadoop/Accumulo in order to run certain commands. In addition geomesa
will pull any
additional jars from the $GEOMESA_EXTRA_CLASSPATHS
environment variable into the class path.
Use the geomesa classpath
command in order to see what JARs are being used.
If you are running the tools on a system without
Accumulo installed and configured, the install-hadoop-accumulo.sh
script
in the bin
directory may be used to download the needed Hadoop/Accumulo JARs into
the lib/common
directory. You should edit this script to match the versions used by your
installation.
Due to licensing restrictions, dependencies for shape file support and raster ingest must be separately installed. Do this with the following commands:
$ bin/install-jai.sh
$ bin/install-jline.sh
Test the command that invokes the GeoMesa Tools:
$ geomesa
Using GEOMESA_HOME = /path/to/geomesa-accumulo-dist_2.11-$VERSION
Usage: geomesa [command] [command options]
Commands:
create Create a feature definition in a GeoMesa catalog
deletecatalog Delete a GeoMesa catalog completely (and all features in it)
deleteraster Delete a GeoMesa Raster Table
describe Describe the attributes of a given feature in GeoMesa
env Examine the current GeoMesa environment
explain Explain how a GeoMesa query will be executed
export Export a GeoMesa feature
getsft Get the SimpleFeatureType of a feature
help Show help
ingest Ingest a file of various formats into GeoMesa
ingestraster Ingest a raster file or raster files in a directory into GeoMesa
keywords Add/remove keywords on an existing schema
list List GeoMesa features for a given catalog
queryrasterstats Export queries and statistics about the last X number of queries to a CSV file.
removeschema Remove a schema and associated features from a GeoMesa catalog
stats-analyze Analyze statistics on a GeoMesa feature type
stats-bounds View bounds on attributes in a GeoMesa schema
stats-count View feature counts in a GeoMesa schema
stats-enumerate Enumerate attribute values in a GeoMesa feature type
stats-histogram View statistics on a GeoMesa feature type
tableconf Perform table configuration operations
version GeoMesa Version
Note
See SLF4J Configuration for information about configuring the SLF4J implementation.
Kafka Tools¶
Note
These instructions are identical for Kafka 0.8.x, 0.9.x, and 0.10.x. The value of $KAFKAVERSION
is
“08” for Kafka 0.8.x, “09” for Kafka 0.9.x, or “10” for Kafka 0.10.x.
GeoMesa comes with a set of command line tools for managing Kafka features. For each version of Kafka, a binary GeoMesa Kafka distribution is available (Versions and Downloads). In each distribution the Kafka tools are located in geomesa-kafka-$KAFKAVERSION-dist_2.11-$VERSION-bin.tar.gz/bin/
. If building from source (Building from Source) the Kafka tools for each Kafka version are located in geomesa-kafka/geomesa-kafka-dist/geomesa-kafka-$KAFKAVERSION-dist/target/geomesa-kafka-$KAFKAVERSION_2.11-$VERSION-bin.tar.gz
respectively.
$ cd geomesa-$VERSION/geomesa-kafka/geomesa-kafka-dist/geomesa-kafka-$KAFKAVERSION-dist/target/
$ tar -xzvf geomesa-kafka-$KAFKAVERSION_2.11-$VERSION-bin.tar.gz
$ cd geomesa-kafka-$KAFKAVERSION_2.11-$VERSION
$ ls
bin/ conf/ dist/ docs/ examples/ lib/ LICENSE.txt
The instructions below assume that the geomesa-kafka-$KAFKAVERSION_2.11-$VERSION
directory is kept in the
geomesa-kafka/geomesa-kafka-dist/geomesa-kafka-$KAFKAVERSION-dist/target/
directory, but the tools distribution may be moved elsewhere
as desired.
Note
You can configure environment variables and classpath settings in geomesa-kafka-$KAFKAVERSION_2.11-$VERSION/bin/geomesa-env.sh.
In the geomesa-kafka-$KAFKAVERSION_2.11-$VERSION
directory, run bin/geomesa configure
to set up the tools.
### in geomesa-kafka-$KAFKAVERSION_2.11-$VERSION:
$ bin/geomesa-kafka configure
Using GEOMESA_KAFKA_HOME as set: /path/to/geomesa-kafka-$KAFKAVERSION_2.11-$VERSION
Is this intentional? Y\n y
Warning: GEOMESA_LIB already set, probably by a prior configuration.
Current value is /path/to/geomesa-kafka-$KAFKAVERSION_2.11-$VERSION/lib.
Is this intentional? Y\n y
To persist the configuration please update your bashrc file to include:
export GEOMESA_KAFKA_HOME=/path/to/geomesa-kafka-$KAFKAVERSION_2.11-$VERSION
export PATH=${GEOMESA_KAFKA_HOME}/bin:$PATH
Update and re-source your ~/.bashrc
file to include the $GEOMESA_KAFKA_HOME
and $PATH
updates.
Warning
Please note that the $GEOMESA_KAFKA_HOME
variable points to the location of the geomesa-kafka-$KAFKAVERSION_2.11-$VERSION
directory, not the main geomesa binary distribution directory!
Note
geomesa-kafka
will read the $GEOMESA_EXTRA_CLASSPATHS
environment variable to load any
additional jars into the classpath. Use the geomesa classpath
command in order to see what
JARs are being used.
Due to licensing restrictions, dependencies for shape file support and raster ingest must be separately installed. Do this with the following commands:
$ bin/install-jai.sh
$ bin/install-jline.sh
Test the command that invokes the GeoMesa Tools:
$ geomesa-kafka
Using GEOMESA_KAFKA_HOME = /path/to/geomesa-kafka-$KAFKAVERSION_2.11-$VERSION
Usage: geomesa-kafka [command] [command options]
Commands:
create Create a feature definition in GeoMesa
describe Describe the attributes of a given feature in GeoMesa
help Show help
keywords Add/Remove/List keywords on an existing schema
list List GeoMesa features for a given zkPath
listen Listen to a GeoMesa Kafka topic
removeschema Remove a schema and associated features from GeoMesa
version Display the installed GeoMesa version
SLF4J Configuration¶
GeoMesa Tools comes bundled by default with an SLF4J implementation that is installed to the $GEOMESA_HOME/lib
or $GEOMESA_KAFKA_HOME/lib
directory named slf4j-log4j12-1.7.5.jar
. If you already have an SLF4J implementation
installed on your Java classpath you may see errors at runtime and will have to exclude one of the JARs. This can be
done by simply renaming the bundled slf4j-log4j12-1.7.5.jar
file to slf4j-log4j12-1.7.5.jar.exclude
.
Note that if no slf4j implementation is installed you will see this error:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
In this case you may download SLF4J from http://www.slf4j.org/download.html. Extract
slf4j-log4j12-1.7.7.jar
and place it in the lib/common
directory of the binary distribution.
If this conflicts with another SLF4J implementation, you may need to remove it from the lib/common
directory.
Installing the GeoMesa GeoServer Plugins¶
Warning
The GeoMesa GeoServer plugins require the use of GeoServer 2.9.1 and GeoTools 15.1.
As described in section GeoMesa and GeoServer, GeoMesa implements a GeoTools-compatible data store. This makes it possible to use GeoMesa as a data store in GeoServer. The documentation below describes how to configure GeoServer to connect to GeoMesa Accumulo and Kafka data stores. GeoServer’s web site includes installation instructions for GeoServer.
After GeoServer is running, you will also need to install the WPS plugin to your GeoServer instance. The GeoServer WPS Plugin must match the version of GeoServer instance. This is needed for both the Accumulo and Kafka variants of the plugin. The GeoServer website includes instructions for downloading and installing the WPS plugin.
Note
If using Tomcat as a web server, it will most likely be necessary to pass some custom options:
export CATALINA_OPTS="-Xmx8g -XX:MaxPermSize=512M -Duser.timezone=UTC -server -Djava.awt.headless=true"
The value of -Xmx
should be as large as your system will permit; this
is especially important for the Kafka plugin. You
should also consider passing -DGEOWEBCACHE_CACHE_DIR=/tmp/$USER-gwc
and -DEPSG-HSQL.directory=/tmp/$USER-hsql
as well. Be sure to restart Tomcat for changes to take place.
For Accumulo¶
To install GeoMesa’s GeoServer plugin we can utilize the script geoserver-plugins.sh
in bin
directory
of the GeoMesa Accumulo or GeoMesa Hadoop distributions. ($VERSION
= 1.3.0-m1)
Note
If $GEOSERVER_HOME is set, then the --lib-dir
parameter is not needed.
$ bin/geoserver-plugins.sh --lib-dir /path/to/geoserver/WEB-INF/lib/ --install
Collecting Installed Jars
Collecting geomesa-gs-plugin Jars
Please choose which modules to install
Multiple may be specified, eg: 1 4 10
Type 'a' to specify all
--------------------------------------
0 | geomesa-accumulo-gs-plugin_2.11-$VERSION
1 | geomesa-blobstore-gs-plugin_2.11-$VERSION
2 | geomesa-process_2.11-$VERSION
3 | geomesa-stream-gs-plugin_2.11-$VERSION
Module(s) to install: 0 1
0 | Installing geomesa-accumulo-gs-plugin_2.11-$VERSION-install.tar.gz
1 | Installing geomesa-blobstore-gs-plugin_2.11-$VERSION-install.tar.gz
Done
If you prefer to install the GeoMesa Accumulo GeoServer plugin manually, unpack the contents of the
geomesa-accumulo-gs-plugin_2.11-$VERSION-install.tar.gz
file in geomesa-accumulo_2.11-$VERSION/dist/geoserver/
in the binary distribution or geomesa-$VERSION/geomesa-accumulo/geomesa-accumulo-gs-plugin/target/
in the source distribution
into your GeoServer’s lib
directory ($VERSION
= 1.3.0-m1):
If you are using Tomcat:
$ tar -xzvf \
geomesa-accumulo_2.11-$VERSION/dist/geoserver/geomesa-accumulo-gs-plugin_2.11-$VERSION-install.tar.gz \
-C /path/to/tomcat/webapps/geoserver/WEB-INF/lib/
If you are using GeoServer’s built in Jetty web server:
$ tar -xzvf \
geomesa-accumulo_2.11-$VERSION/dist/geoserver/geomesa-accumulo-gs-plugin_2.11-$VERSION-install.tar.gz \
-C /path/to/geoserver/webapps/geoserver/WEB-INF/lib/
There are additional JARs for Accumulo, Zookeeper, Hadoop, and Thrift that will
be specific to your installation that you will also need to copy to GeoServer’s
WEB-INF/lib
directory. For example, GeoMesa only requires Hadoop
2.2 or better, but if you are using Hadoop 2.5.0 you should use the JARs
that match the version of Hadoop you are running.
There is a script in the geomesa-accumulo_2.11-$VERSION/bin
directory
($GEOMESA_HOME/bin/install-hadoop-accumulo.sh
) which will install these
dependencies to a target directory using wget
(requires an internet
connection).
Note
You may have to edit the install-hadoop-accumulo.sh
script to set the
versions of Accumulo, Zookeeper, Hadoop, and Thrift you are running.
$ $GEOMESA_HOME/bin/install-hadoop-accumulo.sh /path/to/tomcat/webapps/geoserver/WEB-INF/lib/
Install accumulo and hadoop dependencies to /path/to/tomcat/webapps/geoserver/WEB-INF/lib/?
Confirm? [Y/n]y
fetching https://search.maven.org/remotecontent?filepath=org/apache/accumulo/accumulo-core/1.6.5/accumulo-core-1.6.5.jar
--2015-09-29 15:06:48-- https://search.maven.org/remotecontent?filepath=org/apache/accumulo/accumulo-core/1.6.5/accumulo-core-1.6.5.jar
Resolving search.maven.org (search.maven.org)... <IP_ADDRESS>
Connecting to search.maven.org (search.maven.org)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4646545 (4.4M) [application/java-archive]
Saving to: ‘/path/to/tomcat/webapps/geoserver/WEB-INF/lib/accumulo-core-1.6.5.jar’
...
If you do no have an internet connection you can download the JARs manually via http://search.maven.org/. These may include the JARs below; the specific JARs needed for some common configurations are listed below:
Accumulo 1.5
- accumulo-core-1.5.4.jar
- accumulo-fate-1.5.4.jar
- accumulo-start-1.5.4.jar
- accumulo-trace-1.5.4.jar
- libthrift-0.9.0.jar
- zookeeper-3.3.6.jar
Accumulo 1.6
- accumulo-core-1.6.5.jar
- accumulo-fate-1.6.5.jar
- accumulo-server-base-1.6.5.jar
- accumulo-trace-1.6.5.jar
- accumulo-start-1.6.5.jar
- libthrift-0.9.1.jar
- zookeeper-3.4.6.jar
- commons-vfs2-2.0.jar
Accumulo 1.7+ (note the addition of htrace)
- accumulo-core-1.7.1.jar
- accumulo-fate-1.7.1.jar
- accumulo-server-base-1.7.1.jar
- accumulo-trace-1.7.1.jar
- accumulo-start-1.7.1.jar
- libthrift-0.9.1.jar
- zookeeper-3.4.6.jar
- htrace-core-3.1.0-incubating.jar
- commons-vfs2-2.1.jar
Hadoop 2.2
- commons-configuration-1.6.jar
- hadoop-auth-2.2.0.jar
- hadoop-client-2.2.0.jar
- hadoop-common-2.2.0.jar
- hadoop-hdfs-2.2.0.jar
Hadoop 2.4-2.7 (adjust versions as needed)
- commons-configuration-1.6.jar
- hadoop-auth-2.6.4.jar
- hadoop-client-2.6.4.jar
- hadoop-common-2.6.4.jar
- hadoop-hdfs-2.6.4.jar
Restart GeoServer after the JARs are installed.
A note about GeoMesa Process¶
Note
Some GeoMesa-specific WPS processes such as geomesa:Density
, which is used
in the generation of heat maps, also require geomesa-process-$VERSION.jar
.
This JAR is included in the geomesa-accumulo/geomesa-accumulo-dist/target/geomesa-accumulo_2.11-$VERSION/dist/geoserver
directory of the binary
distribution, or is built in the geomesa-process
module of the source
distribution.
For Kafka¶
Note
These instructions are identical for Kafka 0.8.x, 0.9.x, and 0.10.x. The value of $KAFKAVERSION
is
“08” for Kafka 0.8.x, “09” for Kafka 0.9.x, or “10” for Kafka 0.10.x.
To install GeoMesa’s GeoServer plugin we can use the script geoserver-plugins.sh
in bin
directory
of the appropriate GeoMesa Kafka binary distribution (see Versions and Downloads).
Note
If $GEOSERVER_HOME is set, then the --lib-dir
parameter is not needed.
$ bin/geoserver-plugins.sh --lib-dir /path/to/geoserver/WEB-INF/lib/ --install
Collecting Installed Jars
Collecting geomesa-gs-plugin Jars
Please choose which modules to install
Multiple may be specified, eg: 1 4 10
Type 'a' to specify all
--------------------------------------
0 | geomesa-kafka-$KAFKAVERSION-gs-plugin_2.11-$VERSION
Module(s) to install: 0
0 | Installing geomesa-kafka-$KAFKAVERSION-gs-plugin_2.11-$VERSION-install.tar.gz
Done
Alternatively, direct bundle download links and the source directory for each Kafka version are listed in
the table below (the source directories are subdirectories of geomesa-kafka/geomesa-kafka-gs-plugin
):
| Kafka version | Binary download link | Source directory |
|---|---|---|
| 0.8.2.x | geomesa-kafka-08-gs-plugin-2.11-1.3.0-m1.tar.gz | geomesa-kafka-08-gs-plugin |
| 0.9.x | geomesa-kafka-09-gs-plugin-2.11-1.3.0-m1.tar.gz | geomesa-kafka-09-gs-plugin |
| 0.10.x | geomesa-kafka-10-gs-plugin-2.11-1.3.0-m1.tar.gz | geomesa-kafka-10-gs-plugin |
The contents of the appropriate plugin archive should be unpacked in the GeoServer
WEB-INF/lib
directory. If you are using Tomcat:
$ tar -xzvf \
geomesa-kafka-$KAFKAVERSION-gs-plugin/dist/gs-plugins/geomesa-kafka-$KAFKAVERSION-gs-plugin_2.11-$VERSION-install.tar.gz \
-C /path/to/tomcat/webapps/geoserver/WEB-INF/lib/
If you are using GeoServer’s built in Jetty web server:
$ tar -xzvf \
geomesa-kafka-$KAFKAVERSION-gs-plugin/dist/gs-plugins/geomesa-kafka-$KAFKAVERSION-gs-plugin_2.11-$VERSION-install.tar.gz \
-C /path/to/geoserver/webapps/geoserver/WEB-INF/lib/
This will install the JARs for the Kafka GeoServer plugin and most of its dependencies.
However, you will also need additional JARs for Kafka and Zookeeper that will
be specific to your installation that you will also need to copy to GeoServer’s
WEB-INF/lib
directory. For example,you should use the JARs that match the version of
Kafka you are running.
Warning
GeoMesa 1.3.0-m1 depends on Scala 2.11, so you should make sure you use the
Kafka version built with Scala 2.11 as well (kafka_2.11_*
) to avoid
compatibility issues.
Copy these additional dependencies (or the equivalents for your Kafka installation) to
your GeoServer WEB-INF/lib
directory.
Kafka 0.8
- kafka-clients-<IP_ADDRESS>.jar
- kafka_2.11-<IP_ADDRESS>.jar
- metrics-core-2.2.0.jar
- zkclient-0.3.jar
- zookeeper-3.4.6.jar
Kafka 0.9
- kafka-clients-<IP_ADDRESS>.jar
- kafka_2.11-<IP_ADDRESS>.jar
- metrics-core-2.2.0.jar
- zkclient-0.7.jar
- zookeeper-3.4.6.jar
Kafka 0.10
- kafka-clients-<IP_ADDRESS>.jar
- kafka-2.11-<IP_ADDRESS>.jar
- metrics-core-2.2.0.jar
- zkclient-0.8.jar
- zookeeper-3.4.6.jar
There is a script in the geomesa-kafka-$KAFKAVERSION_2.11-$VERSION/bin
directory
($GEOMESA_KAFKA_HOME/bin/install-kafka.sh
) which will install these
dependencies to a target directory using wget
(requires an internet
connection).
Restart GeoServer after the JARs are installed.
For HBase¶
The HBase GeoServer plugin is not bundled by default in the GeoMesa binary distribution
and should be built from source. Download the source distribution (see
Building from Source), go to the geomesa-hbase/geomesa-hbase-gs-plugin
directory, and build the module using the hbase
Maven profile:
$ mvn clean install -Phbase
After building, extract target/geomesa-hbase-gs-plugin_2.11-$VERSION-install.tar.gz
into GeoServer’s
WEB-INF/lib
directory. Note that this plugin contains a shaded JAR with HBase 1.1.5
bundled. If you require a different version, modify the pom.xml
and rebuild following
the instructions above.
This distribution does not include the Hadoop or Zookeeper JARs; the following JARs
should be copied from the lib
directory of your HBase or Hadoop installations into
GeoServer’s WEB-INF/lib
directory:
- hadoop-annotations-2.5.1.jar
- hadoop-auth-2.5.1.jar
- hadoop-common-2.5.1.jar
- hadoop-mapreduce-client-core-2.5.1.jar
- hadoop-yarn-api-2.5.1.jar
- hadoop-yarn-common-2.5.1.jar
- zookeeper-3.4.6.jar
- commons-configuration-1.6.jar
(Note the versions may vary depending on your installation.)
The HBase data store requires the configuration file hbase-site.xml
to be on the classpath. This can
be accomplished by placing the file in geoserver/WEB-INF/classes
(you should make the directory if it
doesn’t exist).
Restart GeoServer after the JARs are installed.
For Cassandra¶
The Cassandra GeoServer plugin is not bundled by default in the GeoMesa binary distribution
and should be built from source. Download the source distribution (see
Building from Source), go to the geomesa-cassandra/geomesa-cassandra-gs-plugin
directory, and build the module:
$ mvn clean install
After building, extract target/geomesa-cassandra-gs-plugin_2.11-$VERSION-install.tar.gz
into GeoServer’s
WEB-INF/lib
directory.
Restart GeoServer after the JARs are installed.
Upgrading¶
To upgrade between minor releases of GeoMesa, the versions of all GeoMesa components
must match. This means that the version of the geomesa-distributed-runtime
JAR installed on Accumulo tablet servers must match the version of the
geomesa-plugin
JARs installed in the WEB-INF/lib
directory of GeoServer.
We strive to maintain backwards compatibility for data ingested with older releases of GeoMesa, and in general data ingested with older releases may be read with newer ones (note that the reverse does not apply). For example, data ingested into Accumulo with GeoMesa 1.2.2 may be read with 1.2.3.
It should be noted, however, that data ingested with older GeoMesa versions may not take full advantage of indexing improvements in newer releases. If it is not feasible to reingest old data, see Updating Existing Data to the Latest Index Format for more information on updating its index format.
Security Concerns¶
Apache Commons Collections¶
Version 3.2.1 and earlier of the Apache Commons Collections library have a CVSS 10.0 vulnerability. Read more here.
Note that Accumulo 1.6.5 is the first version of Accumulo which addresses this security concern. Fixes for the GeoServer project will be available in versions 2.8.3+ and 2.9.0+.


Man Mohan Adhikari(Magi) (Nepali: मन मोहन अधिकारी 9 June 1920 – 26 April 1999) was the 31st Prime Minister of Nepal from 1994 to 1995, representing the Communist Party of Nepal (Unified Marxist-Leninist). He was the first democratically elected Communist Party member to be Prime Minister in Nepal.
Born in Lazimpat, Kathmandu, Nepal, he spent his childhood in Biratnagar. His family was a landowner Brahmin family of Eastern Nepal. He was sent to Varanasi to study in 1938. While studying for his B.Sc. in 1942, Adhikari took part in Quit India movement and he was arrested by the British colonial authorities and jailed along with other politicians.
During his stay in India, Adhikari became involved in the communist movement, joining the Communist Party of India. He returned to Biratnagar and worked in chemical industry where, in March 1947, he took part in the Biratnagar jute mill strike and was arrested and taken to Kathmandu via land route along with Girija Prasad Koirala and Bishweshwar Prasad Koirala. He took part in the founding of the Communist Party of Nepal in 1949. During the Bangladesh Liberation War, Adhikari asserted that the war was an Indian aggression against Pakistan.In November 1994, elections were held following a dissolution of parliament. Despite Congress securing a higher popular vote than the UML, the latter secured 88 seats to the former's 83. Neither party was successful in forming a coalition to hold a majority of the 205 seats.
After failed coalitioAn negotiations, however, Adhikari became Prime Minister of a minority government, acquiring the support of the National Democratic Party and the Sadbhavana Party. In June 1995, the National Democratic Party and the Sadbhavana Party (who helped the UML form a minority government in November 1994) supported the Nepali Congress's call for a vote of no-confidence in Adhikari's government in a special session of the House of Representatives. Adhikari attempted to dissolve parliament and call elections in an attempt to replicate the circumstances under which he assumed office in 1994. But a Supreme Court challenge led by Congress saw this move deemed unconstitutional and the parliament was restored. The vote of no-confidence proceeded successfully. Elections in 1995 saw Adhikari's government voted out of office.[6] Adhikari was one of the few democratically elected communist party members in the world to serve as head of the government.
Adhikari suffered from asthma for four decades and went to China for four years to seek treatment after contracting tuberculosis. On 19 April, he suffered a heart attack during an election rally in the village of Gothatar and fell into a coma. He was declared brain dead on 22 April with no hope of recovery. He died four days later. He was survived by his wife and two children.


Output the rows of input_tensor
to a queue for an input pipeline. (deprecated)
tf.compat.v1.train.input_producer( input_tensor, element_shape=None, num_epochs=None, shuffle=True, seed=None, capacity=32, shared_name=None, summary_name=None, name=None, cancel_op=None )
Warning: THIS FUNCTION IS DEPRECATED. It will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by tf.data
. Use tf.data.Dataset.from_tensor_slices(input_tensor).shuffle(tf.shape(input_tensor, out_type=tf.int64)[0]).repeat(num_epochs)
. If shuffle=False
, omit the .shuffle(...)
.
Note: if num_epochs
is not None
, this function creates local counter
epochs
. Use local_variables_initializer()
to initialize local variables.
input_tensor
: A tensor with the rows to produce. Must be at least
one-dimensional. Must either have a fully-defined shape, or
element_shape
must be defined.element_shape
: (Optional.) A TensorShape
representing the shape of a
row of input_tensor
, if it cannot be inferred.num_epochs
: (Optional.) An integer. If specified input_producer
produces
each row of input_tensor
num_epochs
times before generating an
OutOfRange
error. If not specified, input_producer
can cycle through
the rows of input_tensor
an unlimited number of times.shuffle
: (Optional.) A boolean. If true, the rows are randomly shuffled
within each epoch.seed
: (Optional.) An integer. The seed to use if shuffle
is true.capacity
: (Optional.) The capacity of the queue to be used for buffering
the input.shared_name
: (Optional.) If set, this queue will be shared under the given
name across multiple sessions.summary_name
: (Optional.) If set, a scalar summary for the current queue
size will be generated, using this name as part of the tag.name
: (Optional.) A name for queue.cancel_op
: (Optional.) Cancel op for the queueA queue with the output rows. A QueueRunner
for the queue is
added to the current QUEUE_RUNNER
collection of the current
graph.
ValueError
: If the shape of the input cannot be inferred from the arguments.RuntimeError
: If called with eager execution enabled.Input pipelines based on Queues are not supported when eager execution is
enabled. Please use the tf.data
API to ingest data under eager execution.


The Good Travel
Place Name
Trip Place
HAWAII
LONDON
PARIS
ITALY
SLOVAKIA
MALAYSIA
Type of transport
Car
Airplane
Train


[1]
one before iphone again no movie preloaded on her two fingers to hear the G2 also.
[2]
one before iphone again no movie preloaded on her two fingers to understand especially coming from using a minute to hear the G2 also.


An object-oriented computer programming language commonly used to create interactive effects within web browsers.
A style sheet language used for describing the presentation of a document written in a markup language like HTML.
Hypertext Markup Language, a standardized system for tagging text files to achieve font, color, graphic, and hyperlink effects on World Wide Web pages.
An open-source JavaScript framework for building user interfaces. Integration into projects that use other JavaScript libraries is simplified with Vue because it is designed to be incrementally adoptable.
Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code server-side. Node.js lets developers use JavaScript for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser.
a web-based hosting service for version control using Git. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features.
C# is an object-oriented programming language used with XML-based Web services on the .NET platform and designed for improving productivity in the development of Web applications.
Is an open source relational database management system (RDBMS) based on Structured Query Language
A free and open-source front-end framework (library) for designing websites and web applications. It contains HTML- and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions.
A cloud-based development platform as a service (PaaS) provider. The Heroku platform supports development in Ruby on Rails, Java, Node.js, Python, Scala and Clojure.
A NoSQL database built on an architecture of collections and documents. Documents comprise sets of key-value pairs and are the basic unit of data in this application.
A collaboration tool that organizes your projects into boards. In one glance, Trello tells you what's being worked on, who's working on what, and where something is in a process.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt ut voluptatum eius sapiente, totam reiciendis temporibus qui quibusdam, recusandae sit vero unde, sed, incidunt et ea quo dolore laudantium consectetur!
BSU graduate majoring in health science with studies including genetics, biochemistry, organic chemistry, pathophysiology, and epidemiology.
Earned my certificate from Boise Code Works in Full Stack Development.


Before Change
elif model is ANM:
model = "anm"
elif isinstance(model, str):
model = model.lower().strip()
else:
raise TypeError("invalid type for model: {0}".format(type(model)))
if isinstance(trim, str):
trim = trim.lower().strip()
elif trim is reduceModel:
trim = "reduce"
elif trim is sliceModel:
trim = "slice"
elif trim is None:
trim = "trim"
else:
raise TypeError("invalid type for trim: {0}".format(type(model)))
if trim == "trim" and select is not None:
if isinstance(select, str):
After Change
elif model is ANM:
model = "anm"
else:
model = str(model).lower().strip()
if trim is reduceModel:
trim = "reduce"