|
NASA World Wind | ||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use gov.nasa.worldwind.util | |
|---|---|
| gov.nasa.worldwind | |
| gov.nasa.worldwind.animation | |
| gov.nasa.worldwind.applications.glider | |
| gov.nasa.worldwind.applications.sar | |
| gov.nasa.worldwind.awt | |
| gov.nasa.worldwind.cache | |
| gov.nasa.worldwind.data | |
| gov.nasa.worldwind.examples | |
| gov.nasa.worldwind.examples.analytics | |
| gov.nasa.worldwind.layers | |
| gov.nasa.worldwind.render | |
| gov.nasa.worldwind.render.airspaces | |
| gov.nasa.worldwind.terrain | |
| gov.nasa.worldwind.util | |
| gov.nasa.worldwind.util.measure | |
| gov.nasa.worldwind.view |
The view package contains implementations, and support for implementations of the
View interface. |
| gov.nasa.worldwind.view.orbit | |
| gov.nasa.worldwind.wms |
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind | |
|---|---|
| LevelSet.SectorResolution
|
|
| NetworkStatus
|
|
| PerformanceStatistic
|
|
| TaskService
|
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.animation | |
|---|---|
| PropertyAccessor.AngleAccessor
|
|
| PropertyAccessor.DoubleAccessor
|
|
| PropertyAccessor.PositionAccessor
|
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.applications.glider | |
|---|---|
| ImageUtil.AlignedImage
|
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.applications.sar | |
|---|---|
| OGLStackHandler
|
|
| RestorableSupport
RestorableSupport provides convenient read and write access to restorable state located in a simple XML document format. |
|
| RestorableSupport.StateObject
An interface to the stateObject elements in an XML state document, as defined by RestorableSupport . |
|
| StatusBar
|
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.awt | |
|---|---|
| PerformanceStatistic
|
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.cache | |
|---|---|
| BoundedHashMap
BoundedHashMap is a map with a fixed capacity. |
|
| PerformanceStatistic
|
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.data | |
|---|---|
| BufferWrapper
BufferWrapper provides an interface for reading and writing primitive data to and from data buffers, without having to know the underlying data type. |
|
| Level
|
|
| LevelSet
|
|
| RestorableSupport
RestorableSupport provides convenient read and write access to restorable state located in a simple XML document format. |
|
| RestorableSupport.StateObject
An interface to the stateObject elements in an XML state document, as defined by RestorableSupport . |
|
| Tile
Large images and most imagery and elevation-data sets are subdivided in order to display visible portions quickly and without excessive memory usage. |
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.examples | |
|---|---|
| BasicDragger
|
|
| RasterControlPointList
|
|
| StatisticsPanel
|
|
| StatusBar
|
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.examples.analytics | |
|---|---|
| BufferFactory
BufferFactory provides a general factory interface for creating instances of BufferWrapper , without having to know the underlying data type. |
|
| BufferWrapper
BufferWrapper provides an interface for reading and writing primitive data to and from data buffers, without having to know the underlying data type. |
|
| OGLStackHandler
|
|
| TupleBufferFactory
TupleBufferFactory provides a general factory interface for creating instances of VecBuffer , without having
to know the underlying data type or the number of coordinates per tuple. |
|
| VecBuffer
VecBuffer provides an logical interface on BufferWrapper to interpret its contents as a series of vector
tuples (rather than individual primitive types). |
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.layers | |
|---|---|
| ImageTiler
Subdivides an image into tiles and computes the corresponding sectors. |
|
| Level
|
|
| LevelSet
|
|
| RestorableSupport
RestorableSupport provides convenient read and write access to restorable state located in a simple XML document format. |
|
| RestorableSupport.StateObject
An interface to the stateObject elements in an XML state document, as defined by RestorableSupport . |
|
| Tile
Large images and most imagery and elevation-data sets are subdivided in order to display visible portions quickly and without excessive memory usage. |
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.render | |
|---|---|
| BoundedHashMap
BoundedHashMap is a map with a fixed capacity. |
|
| CompoundVecBuffer
An implementation of CompoundBuffer which manages a collection of VecBuffer buffers in a single
VecBuffer . |
|
| Level
|
|
| LevelSet
|
|
| OGLRenderToTextureSupport
OGLRenderToTextureSupport encapsulates the pattern of rendering GL commands to a destination texture. |
|
| OGLStackHandler
|
|
| OGLStateSupport
|
|
| PerformanceStatistic
|
|
| PickPointFrustumList
|
|
| RestorableSupport
RestorableSupport provides convenient read and write access to restorable state located in a simple XML document format. |
|
| RestorableSupport.StateObject
An interface to the stateObject elements in an XML state document, as defined by RestorableSupport . |
|
| Tile
Large images and most imagery and elevation-data sets are subdivided in order to display visible portions quickly and without excessive memory usage. |
|
| TileKey
|
|
| VecBuffer
VecBuffer provides an logical interface on BufferWrapper to interpret its contents as a series of vector
tuples (rather than individual primitive types). |
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.render.airspaces | |
|---|---|
| GeometryBuilder
|
|
| RestorableSupport
RestorableSupport provides convenient read and write access to restorable state located in a simple XML document format. |
|
| RestorableSupport.StateObject
An interface to the stateObject elements in an XML state document, as defined by RestorableSupport . |
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.terrain | |
|---|---|
| BufferWrapper
BufferWrapper provides an interface for reading and writing primitive data to and from data buffers, without having to know the underlying data type. |
|
| Level
|
|
| LevelSet
|
|
| RestorableSupport
RestorableSupport provides convenient read and write access to restorable state located in a simple XML document format. |
|
| RestorableSupport.StateObject
An interface to the stateObject elements in an XML state document, as defined by RestorableSupport . |
|
| Tile
Large images and most imagery and elevation-data sets are subdivided in order to display visible portions quickly and without excessive memory usage. |
|
| TileKey
|
|
| TileUrlBuilder
|
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.util | |
|---|---|
| AbsentResourceList
|
|
| BasicNetworkStatus.HostInfo
|
|
| BufferFactory
BufferFactory provides a general factory interface for creating instances of BufferWrapper , without having to know the underlying data type. |
|
| BufferStateHandler
BufferStateHandler is a utility class which encapsulates the common pattern of saving and restoring the essential mutable properties of a Buffer : its position and limit. |
|
| BufferStateHandler.BufferState
|
|
| BufferWrapper
BufferWrapper provides an interface for reading and writing primitive data to and from data buffers, without having to know the underlying data type. |
|
| BufferWrapper.AbstractBufferWrapper
|
|
| CompoundBuffer
CompoundBuffer provides a mechanism for constructing a single buffer from a collection of buffers with potentially different length, then indexing that 'compound' buffer to reference the individual buffer content within. |
|
| CompoundVecBuffer
An implementation of CompoundBuffer which manages a collection of VecBuffer buffers in a single
VecBuffer . |
|
| CompoundVecBuffer.SubBufferIterable
|
|
| DecisionTree.Controller
|
|
| GeometryBuilder.IndexedTriangleArray
|
|
| ImageInterpolator.ContainingCell
|
|
| ImageTiler.ImageTilerListener
|
|
| ImageUtil.AlignedImage
|
|
| Level
|
|
| LevelSet
|
|
| LevelSet.SectorResolution
|
|
| NetworkStatus
|
|
| OGLStackHandler
|
|
| PerformanceStatistic
|
|
| PickPointFrustumList
|
|
| RasterControlPointList.ControlPoint
|
|
| RestorableSupport
RestorableSupport provides convenient read and write access to restorable state located in a simple XML document format. |
|
| RestorableSupport.StateObject
An interface to the stateObject elements in an XML state document, as defined by RestorableSupport . |
|
| SectorTree
|
|
| ServiceRegistry.ProviderRegistry
|
|
| StatusBar
|
|
| TaskService
|
|
| Tile
Large images and most imagery and elevation-data sets are subdivided in order to display visible portions quickly and without excessive memory usage. |
|
| TileKey
|
|
| TupleBufferFactory
TupleBufferFactory provides a general factory interface for creating instances of VecBuffer , without having
to know the underlying data type or the number of coordinates per tuple. |
|
| TupleBufferFactory.BasicTupleBufferFactory
Implementation of TupleBufferFactory which constructs instances of VecBuffer
according to a specified tuple size and BufferFactory . |
|
| VecBuffer
VecBuffer provides an logical interface on BufferWrapper to interpret its contents as a series of vector
tuples (rather than individual primitive types). |
|
| VecBuffer.ElementAccessor
|
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.util.measure | |
|---|---|
| BasicDragger
|
|
| UnitsFormat
Consolidates the conversion, display and formatting of geographic units such as lengths in miles and areas in hectares. |
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.view | |
|---|---|
| PropertyAccessor.AngleAccessor
|
|
| PropertyAccessor.DoubleAccessor
|
|
| PropertyAccessor.PositionAccessor
|
|
| RestorableSupport
RestorableSupport provides convenient read and write access to restorable state located in a simple XML document format. |
|
| RestorableSupport.StateObject
An interface to the stateObject elements in an XML state document, as defined by RestorableSupport . |
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.view.orbit | |
|---|---|
| PropertyAccessor.AngleAccessor
|
|
| PropertyAccessor.DoubleAccessor
|
|
| PropertyAccessor.PositionAccessor
|
|
| RestorableSupport
RestorableSupport provides convenient read and write access to restorable state located in a simple XML document format. |
|
| RestorableSupport.StateObject
An interface to the stateObject elements in an XML state document, as defined by RestorableSupport . |
| Classes in gov.nasa.worldwind.util used by gov.nasa.worldwind.wms | |
|---|---|
| RestorableSupport
RestorableSupport provides convenient read and write access to restorable state located in a simple XML document format. |
|
| RestorableSupport.StateObject
An interface to the stateObject elements in an XML state document, as defined by RestorableSupport . |
|
| Tile
Large images and most imagery and elevation-data sets are subdivided in order to display visible portions quickly and without excessive memory usage. |
|
| TileUrlBuilder
|
|
NASA World Wind | ||||||||
| PREV NEXT | FRAMES NO FRAMES |


#include <portal.h>
Inheritance diagram for Room:
Public Member Functions | |
| void | Draw () |
| Sends objects, which are linked to this room to the draw queue. | |
| void | SetName (const Char *name_) |
| Sets room's name. | |
| const string & | GetName () |
| Returns name of room. | |
| void | SetNodeID (Int node_id_) |
| Sets node ID for the room. | |
| Int | GetNodeID () |
| Returns room's node ID. | |
| void | SetChecked (const Bool &checked_) |
| Sets room's checked flag. | |
| Bool | IsChecked () |
| Checks, if room is already checked. | |
| Render3D * | GetRender () |
| Returns pointer to Render3D object. | |
Static Public Member Functions | |
| static ObjRef< Room > | New (Render3D *render_, const Char *name_) |
| Creates new Room. | |
Public Attributes | |
| vector< ObjRef< VertexBuffer > > | grounds |
| List of room's grounds. | |
| vector< ObjRef< Portal > > | portals |
| List of room's portals. | |
| vector< ObjRef< Basic3D > > | b3d_list |
| List of room's objects. | |
Protected Member Functions | |
| Room (Render3D *render_, const Char *name_) | |
| Constructor with given render pointer value and room's name. | |
| ~Room () | |
| Destructor. | |
Related Functions | |
| (Note that these are not member functions.) | |
| void | CheckNearRooms (ObjRef< Room > room, ObjRef< Portal > clip_portal, vector< ObjRef< Room > > &vis_rooms) |
| Checks visibility of rooms from given room. | |
| void | DrawFromRoom (ObjRef< Room > start_room, vector< ObjRef< Room > >rooms) |
| Draws all visible rooms in given list of rooms. | |
| void | DrawPortal (ObjRef< Portal > portal, vector< ObjRef< Room > >rooms) |
| Draws all visible rooms in given list of rooms. | |
| ObjRef< Room > | FindStartRoom (Vector3fx pos, vector< ObjRef< Room > > &rooms) |
| Finds room in given list of rooms, that contains given point. | |
| ObjRef< Room > | FindRoomAround (Vector3fx pos, ObjRef< Room > room) |
| Finds room from list of rooms linked to given start room, that contains given point. | |
| ObjRef< Portal > | FindCrossPortal (ObjRef< Room > room, const Vector3fx &pos, const Fixed &radius) |
| Finds portal, that is in given radius from given point in given room. |
Objects of this class are used in room-portal system. These objects can not be drew, they are used only for computing, but room contain list of 3D objects, which belong to this room and can be drew.
|
|
Constructor with given render pointer value and room's name.
|
|
|
Returns name of room.
|
|
|
Returns room's node ID.
|
|
|
Returns pointer to Render3D object.
|
|
|
Checks, if room is already checked. This flag is used by recurring search.
|
|
|
Creates new Room. Call this function instead constructor calling.
|
|
|
Sets room's checked flag. This flag is used by recurring search.
|
|
|
Sets room's name.
|
|
|
Sets node ID for the room.
|
|
|
Checks visibility of rooms from given room. All visible rooms will add to the list of visible rooms and will check their "checked" flag.
|
|
|
Draws all visible rooms in given list of rooms. Searching start from given start room.
|
|
|
Draws all visible rooms in given list of rooms. Searching start from rooms linked to the given start portal.
|
|
|
Finds portal, that is in given radius from given point in given room.
|
|
|
Finds room from list of rooms linked to given start room, that contains given point.
|
|
|
Finds room in given list of rooms, that contains given point.
|


Table of Contents
[ref: http://andrsn.stanford.edu/FreeBSD/newuser.html]
[ref: What to do AFTER you have BSD installed by Chris Coleman<EMAIL_ADDRESS>[ref: adduser(8), group(8), rmuser(8)]
[Config info: user-name, account-type]
From the man pages adduser(8):
|
DESCRIPTION |
The first thing that a fresh install of OpenBSD warns of when you login is, do not login as root but use su. This is saying that you should create a user who can use su (the Substitute User program) to change to the "root" user when you want to perform administration tasks.
The following instructions guide you through the creation of a new user with SuperUser access privileges.
OpenBSD supplies the adduser script to simplify adding new users. All you have to know to create a new user is the name of the person, and what you want the login account name to be.
The adduser script is started at the command prompt.
| # adduser |
When first started, adduser will query you to set or change the default settings. Once the standard configuration has been set, it will continue by prompting for adding new users.
adduser supports two flags -silent or -verbose. You don't really need to know these at the beginning, but you can check the details in the man pages. Read through the example below and then start adduser to create your new account.
|
# adduser |
|
Enter username [a-z0-9_-]: bricker |
The shell is your command line interpreter. It reads in the commands you type and tries to decipher them. There are several different shells to choose from. If bash does not show on the screen, then review adding packages in the 1st Time Config introduction. You can change your settings at a later time so do not worry if some settings are not as you want them right now. The documentation that comes with OpenBSD says that 'most people' use bash.
|
Enter home directory (full path) [/home/bricker]:
<hit ENTER> |
The uid is the User ID number that the system uses to keep track of people. These should be unique on the system. Use the default values offered by the program unless you have good knowledge of previously granted ID numbers.
|
Enter login class: default []: <hit ENTER> |
The login class allows you to set up resource limits for groups of users.
|
Login group bricker [bricker]: <hit ENTER> |
Login groups are used to divide security privileges by account groups. For most users you can use the default setting (NO) and just hit Enter to continue.
If the account you are creating will be your Administrator account, then you must make sure that you have specified the group 'wheel' in the above response. Don't worry if you make a mistake, we can fix it later.
|
Enter password []: |
You will be asked for the user's password twice and it will not be displayed. Afterwards, it will display all of the user's information and ask if it is correct.
|
Name: bricker |
If you make a mistake, you can start over, or its possible to correct most of this information using the 'chpass' command (discussed below).
[ref: chpass(1), vipw(8)]
Once you've configured the base system for working, we can look at basic configuration of users. Note, for those with some previous Unix experience, Do not just edit /etc/passwd or /etc/Master.passwd
Use the chpass utility when adding or changing user information. If you try to modify the user shell selection manually (by changing /etc/passwd) it wont work, trust me I've made this mistake for weeks before I found out my errorneous ways.
Entered at the command line without a parameter (ie. typed by itself,) chpass will edit your personal information. As root, you can use it to modify any user account on the system. You can find more details on chpass in the man pages, but let's go through an example review of the account we created above.
|
# chpass bricker |
This will bring up information about the user 'bricker' in the 'vi' editor. The password line is encrypted, so don't change it. If you want to disable the user, one method would be to add a # at the beginning of the password string, so you can easily remove it later when you want to reactivate the user. There are methods of disabling user that may be better though.
|
Login: bricker |
Remember your vi commands ? :q (colon+q) quit, :w (colon+w) write, :q! (colon+q+exlamation-mark) quit without saving. If you're still having problems, remember the tutorial http://www.freebsd.org/tutorials/new-users
Alternative tools, useful for batch processing include: usermod
[ref: What to do AFTER you have BSD installed by Chris<EMAIL_ADDRESS>[ref rmuser(8), user(8), useradd(8), userdel(8), userinfo(8), usermod(8)]
From the man page userdel(8)
| The userdel utility removes a user from the system, optionally removing that user's home diretory and any subdirectories. |
The main options are used during account deletion.
|
userdel [-prv] user The following command line options are recognised: -p preserve the user information in the password file, but do not allow the user to login, by switching the password to an ``impossible'' one, and by setting the user's shell to the false(1) program. This option can be helpful in preserving a user's files for later use by members of that person's group after the user has moved on. This value can also be set in the /etc/usermgmt.conf file, using the `preserve' field. If the field has any of the values `true', `yes', or a non-zero number, then user information preservation will take place. -r remove the user's home directory, any subdirectories, and any files and other entries in them. -v perform any actions in a verbose manner. |
[ref group(8), groupadd(8), groupdel(8), groupinfo(8), groupmod(8)]
Groups are important categorisations for users that allow administrators to specify privileges, restrictions to a range of users depending on their group allocation.
OpenBSD 2.7 included a set of group management tools, including the wrapper program 'group' which can be used as the interface into the separate tools. /usr/sbin/group merely takes the parameters given it on the command line and passes it to the appropriate program.
[ref: group(8), groupadd(8)]
To add new groups 'computerstaff' and 'class501' to the system, we can enter the commands.
| # group info computerstaff |
| group: can't find group `computerstaff' |
| # group add computerstaff |
| # group info computerstaff |
| name computerstaff passwd * gid 1002 members |
Note that gid (Group ID) is sequential to the last group I have on my system, and there are no members yet for computerstaff.
| # group info class501 |
| group: can't find group `class501' |
| # group add class501 |
| # group info class501 |
| name class501 passwd * gid 1003 members |
We have successfully created two new groups, and verified their creation.
[ref user(8), userinfo(8), usermod(8), group(8), groupinfo(8)]
Now that we have created our groups, we can go through and allocate users to the separate groups. The simplest method is to use the given utilities user or usermod.
In our small scenario, we only have one user (bricker) but since bricker is going to be part of the 'computerstaff' we're putting that account into the group.
1st we can check what group 'bricker' is in, and we can review membership in 'computerstaff' again.
| # userinfo bricker | grep "^groups" |
| groups bricker |
| # group info computerstaff | grep "^members" |
| members |
We can simply add bricker using usermod -G (or user mod -G).
| # user mod -G computerstaff bricker |
| # group info computerstaff | grep "^members" |
| members bricker |
A common problem for novice Unix Administrators is not knowing how to setup a 'root' account or managing accounts with access to the 'root' account.
The Super Administrator 'root' is any account configured with UserID as '0' and GroupID as '0'. This user has near fatal authority on your machine and you must be very careful in selecting any accounts with 0:0 privileges.
You can quickly view the above by checking your /etc/passwd file, or by using a script similar that shown here.
| $ /usr/bin/grep :0:0: /etc/passwd |
| root:*:0:0:Charlie &,,,:/root:/usr/local/bin/bash |
Your administrator account should be a member of the group wheel. Regular users of your host should not be members of the wheel group.
You can specify the group in three ways:
(a) at the creation of the account (as above) or
(b) using usermod -G or
(c) by manually editing the file /etc/group.
During account creation (using adduser) you are given the option to set the group an account belongs to, and any additional groups to include the user into.
|
Login group bricker [bricker]: <hit ENTER> |
During the user creation, you can specify that you want the userid to be invited, or included into the 'wheel' group.
From the man page usermod(8)
| -G secondary-group[,group,...] are the secondary groups the user will be a member of in the /etc/group file. |
First we check to make sure that 'wheel' is the superuser group.
| # /usr/bin/grep ':0:' /etc/group |
| wheel:*:0:root |
In this scenario, bricker has not been added to the group 'wheel' which is the superuser group.
To add the group wheel to the groups allocated for bricker you use the following usermod command.
| # usermod -G wheel bricker |
| # user info bricker | /usr/bin/grep "^groups" |
| groups bricker computerstaff wheel |
Our user information tells us bricker is now part of three groups: bricker, computerstaff, and wheel.
We can verify the contents of the /etc/group file, specific to the group wheel by using group info or just grep:
| # /usr/bin/grep ':0:' /etc/group |
| wheel:*:0:root,bricker |
| # group info wheel | grep "^members" |
| members root bricker |
The third method for adding a new user to the group 'wheel' is to edit the entry.
The format of the file is a line for each record, of the form
'GroupName:*:GroupIDNumber:UserIDA[[,UserIDn]...] |
and no spaces are allowed(?)
For example file: /etc/group
| wheel:*:0:root,bricker daemon:*:1:daemon kmem:*:2:root sys:*:3:root tty:*:4:root operator:*:5:root bin:*:7: news:*:8: wsrc:*:9: users:*:10: |
As indicated in the above example, edit the file and add your userid 'bricker' to the line 'wheel'. Remember that the special group is the group that corresponds to GroupID '0'.
With your administrator account in the 'wheel' group you can substitute/switch user from bricker to root using the 'su' command.
For example, while logged in as bricker, you can use 'su' to switch to root and perform the necessary tasks as 'root' before returning to your 'bricker' account.
| $ whoami |
| bricker |
| $ su - |
| Password: |
| # |
| # whoami |
| root |
| # |
From the man page su(1):
| If group 0 (normally ``wheel'') has users
listed then only those users can su to ``root''. It is not sufficient to change a user's /etc/passwd entry to add them to the ``wheel'' group; they must explicitly be listed in /etc/group. If no one is in the ``wheel'' group, it is ignored, and anyone who knows the root password is permitted to su to ``root''. |
For a more granular control of what applications you allow users to perform,
take a look at the sudo command.
Red Hat Linux Administrator's Handbook 2nd Edition. Mohammed J. Kabir, (M&T Books, Foster City, 2001)
Essential System Administration 2nd Edition. AEleen Frisch (O'Reilly & Associates, Inc., Sebastopol, 1995)
Copyright (c) 2000/1/2 Samiuela LV Taufa. All Rights Reserved.
I reserve the right to be totally incorrect even at the best advice of betters.
You are permitted and encouraged to use this guide for fun or for profit as you see fit. If you republish this work in what-ever form, it would be nice (though not enforceable) to be credited.
|
User Administration - for newbies like me |
Copyright © 2000/1/2 NoMoa.COM All rights reserved.


| Overview | Namespace | Class | Index | Help |
| PUBLIC MEMBERS: | CLASSES | STRUCTS | UNIONS | ENUMS | TYPEDEFS | METHODS | STATIC METHODS | DATA | STATIC DATA |
| virtual | abstract | interface | template |
| NO | NO | NO | NO |
Methods |
|
| OString( ) throw( ); |
New string containing no characters. |
| OString( const OString & str ) throw( ); |
New string from OString. |
| OString( rtl_String * str ) throw( ); |
New string from OString data. |
| explicit OString( sal_Char value ) throw( ); |
New string from a single character. |
| OString( const sal_Char * value ) throw( ); |
New string from a character buffer array. |
| OString( const sal_Char * value, sal_Int32 length ) throw( ); |
New string from a character buffer array. |
| OString( const sal_Unicode * value, sal_Int32 length, rtl_TextEncoding encoding, sal_uInt32 convertFlags = OUSTRING_TO_OSTRING_CVTFLAGS ); |
New string from a Unicode character buffer array. |
| ~OString( ) throw( ); |
Release the string data. |
| OString & operator=( const OString & str ) throw( ); |
Assign a new string. |
| OString & operator+=( const OString & str ) throw( ); |
Append a string to this string. |
| sal_Int32 getLength( ) const throw( ); |
Returns the length of this string. |
| operator const sal_Char *( ) const throw( ); |
Returns a pointer to the characters of this string. |
| const sal_Char * getStr( ) const throw( ); |
Returns a pointer to the characters of this string. |
| sal_Int32 compareTo( const OString & str ) const throw( ); |
Compares two strings. |
| sal_Int32 compareTo( const OString & rObj, sal_Int32 maxLength ) const throw( ); |
Compares two strings with an maximum count of characters. |
| sal_Int32 reverseCompareTo( const OString & str ) const throw( ); |
Compares two strings in reverse order. |
| sal_Bool equals( const OString & str ) const throw( ); |
Perform a comparison of two strings. |
| sal_Bool equalsIgnoreAsciiCase( const OString & str ) const throw( ); |
Perform a ASCII lowercase comparison of two strings. |
| sal_Bool match( const OString & str, sal_Int32 fromIndex = 0 ) const throw( ); |
Match against a substring appearing in this string. |
| sal_Bool matchIgnoreAsciiCase( const OString & str, sal_Int32 fromIndex = 0 ) const throw( ); |
Match against a substring appearing in this string, ignoring the case of ASCII letters. |
| sal_Int32 hashCode( ) const throw( ); |
Returns a hashcode for this string. |
| sal_Int32 indexOf( sal_Char ch, sal_Int32 fromIndex = 0 ) const throw( ); |
Returns the index within this string of the first occurrence of the specified character, starting the search at the specified index. |
| sal_Int32 lastIndexOf( sal_Char ch ) const throw( ); |
Returns the index within this string of the last occurrence of the specified character, searching backward starting at the end. |
| sal_Int32 lastIndexOf( sal_Char ch, sal_Int32 fromIndex ) const throw( ); |
|
| sal_Int32 indexOf( const OString & str, sal_Int32 fromIndex = 0 ) const throw( ); |
Returns the index within this string of the first occurrence of the specified substring, starting at the specified index. |
| sal_Int32 lastIndexOf( const OString & str ) const throw( ); |
Returns the index within this string of the last occurrence of the specified substring, searching backward starting at the end. |
| sal_Int32 lastIndexOf( const OString & str, sal_Int32 fromIndex ) const throw( ); |
|
| OString copy( sal_Int32 beginIndex ) const throw( ); |
Returns a new string that is a substring of this string. |
| OString copy( sal_Int32 beginIndex, sal_Int32 count ) const throw( ); |
Returns a new string that is a substring of this string. |
| OString concat( const OString & str ) const throw( ); |
Concatenates the specified string to the end of this string. |
| OString replaceAt( sal_Int32 index, sal_Int32 count, const OString & newStr ) const throw( ); |
Returns a new string resulting from replacing n = count characters from position index in this string with newStr. |
| OString replace( sal_Char oldChar, sal_Char newChar ) const throw( ); |
Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar. |
| OString toAsciiLowerCase( ) const throw( ); |
Converts from this string all ASCII uppercase characters (65-90) to ASCII lowercase characters (97-122). |
| OString toAsciiUpperCase( ) const throw( ); |
Converts from this string all ASCII lowercase characters (97-122) to ASCII uppercase characters (65-90). |
| OString trim( ) const throw( ); |
Returns a new string resulting from removing white space from both ends of the string. |
| OString getToken( sal_Int32 token, sal_Char cTok, sal_Int32 & index ) const throw( ); |
Returns a token in the string. |
| sal_Bool toBoolean( ) const throw( ); |
Returns the Boolean value from this string. |
| sal_Char toChar( ) const throw( ); |
Returns the first character from this string. |
| sal_Int32 toInt32( sal_Int16 radix = 10 ) const throw( ); |
Returns the int32 value from this string. |
| sal_Int64 toInt64( sal_Int16 radix = 10 ) const throw( ); |
Returns the int64 value from this string. |
| float toFloat( ) const throw( ); |
Returns the float value from this string. |
| double toDouble( ) const throw( ); |
Returns the double value from this string. |
Static Methods |
|
| static OString valueOf( sal_Bool b ) throw( ); |
Returns the string representation of the sal_Bool argument. |
| static OString valueOf( sal_Char c ) throw( ); |
Returns the string representation of the char argument. |
| static OString valueOf( sal_Int32 i, sal_Int16 radix = 10 ) throw( ); |
Returns the string representation of the int argument. |
| static OString valueOf( sal_Int64 ll, sal_Int16 radix = 10 ) throw( ); |
Returns the string representation of the long argument. |
| static OString valueOf( float f ) throw( ); |
Returns the string representation of the float argument. |
| static OString valueOf( double d ) throw( ); |
Returns the string representation of the double argument. |
Copyright © 2012, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


--- layout: post title: "Predictions Data" date: 2017-06-17 11:05:00 +0000 tags: image: https://s3.amazonaws.com/contrafabulists/2017-02-14-owl.jpg imagecredits: http://bryanmmathers.com ---
Each week since we’ve launched this project chronicling technology predictions, Audrey has typed up a list of the predictions she’s seen – something that typically happens as she scours news and analysis for updates about robots or education technology.
Kin, on the other hand, is taking a more programmatic approach to this project. He’s been scraping various technology publications and looking for phrases that articles contain some sort of prediction: “by the year…” or “within the next [number] years…”
You can see the data he’s collected – warning, it hasn’t really been cleaned up yet – in this GitHub repository: Contrafabulists/tech-predictions. A sample of predictions from the tech blog Techcrunch, for example, can be found here.


Devshop Lead
With restful springiness in the seat; prevents static sitting and provides enhanced seating comfort. Padded seat and back for enhanced seating comfort. Soft, hardwearing and easy care leather, which ages gracefully.
Business Dev Manager
For increased stability, re-tighten the screws about two weeks after assembly. Seat and back with restful flexibility; prevents a static sitting posture and enhances comfort.
Software Developer
Frame made of layer-glued bent birch; a very strong and durable material. High back provides great support for your neck. Sheepskin has natural insulating properties, which make it feel warm and cosy to sit on.
Software Developer
Easy to keep clean; removable, machine washable cover. Seat cushion with a top layer of memory foam; moulds to the precise contours of your body and regains its shape when you get up.


The man who made us laugh and cry
Robin McLaurin Williams - American comedian and actor was born on 21st, 1951, in Chicago. Robin studied political science before enrolling at Juilliard School to study theatre. He made his feature starring debut playing the title role in Popeye (1980), directed by Robert Altman. Williams, receive Academy Award nominations for Best Actor in a Leading Role in Good Morning, Vietnam (1987), Dead Poets Society (1989), and Fisher King (1991), before he won an Academy Award for his role in Good Will Hunting (1997). In 2014 Williams committed suicide.
Timeline
He arrived in our lives as an alien – but he ended up touching every element of the human spirit.


| Home | Libraries | People | FAQ | More |
Central to the library is the parser. The parser does the actual work of recognizing a linear input stream of data read sequentially from start to end by the supplied iterators. The parser attempts to match the input following a well-defined set of specifications known as grammar rules. The parser returns a bool to report the success or failure. When successful, the parser calls a client-supplied semantic action, if there is one. The semantic action extracts structural information depending on the data passed by the parser and the hierarchical context of the parser it is attached to.
Parsers come in different flavors. The Spirit library comes bundled with an extensive set of pre-defined parsers that perform various parsing tasks from the trivial to the complex. The parser, as a concept, has a public conceptual interface contract. Following the contract, anyone can write a conforming parser that will play along well with the library's predefined components. We shall provide a blueprint detailing the conceptual interface of the parser later.
Clients of the library generally do not need to write their own hand-coded parsers at all. Spirit has an immense repertoire of pre-defined parsers covering all aspects of syntax and semantic analysis. We shall examine this repertoire of parsers in the following sections. In the rare case where a specific functionality is not available, it is extremely easy to write a user-defined parser. The ease in writing a parser entity is the main reason for Spirit's extensibility.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/sets.20from.20quotients.html ---
Sets from quotients. Is there a function in lean which basically gives me this {a : α // setoid.r (quot.out x) a}
. Also is there any tutorial anywhere on how things like heq, eq.dcases_on, eq.rec_on etc work?
you need to fire up your Coq installation and read http://adam.chlipala.net/cpdt/html/Equality.html :|
Once you've learned about them, feel free to write a Lean documentation for them
What I've discovered is typing induction h
where h is the proof that the types are equal, help to solve heq goals very easily
Yes, you're in the right mindset now! You can go and write some doc
This can also be expressed as {a // ⟦a⟧ = x}
I just realised that. Probably more sensible.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


@alenaksu/json-viewer
Copy the generated link to share this view
{ "sample": "json" }
Expand All
Collapse All


Sphinx-4 Frequently Asked Questions |
General
Sphinx-4 was created via a joint collaboration between the Sphinx group at Carnegie Mellon University, Sun Microsystems Laboratories, Mitsubishi Electric Research Labs (MERL), and Hewlett Packard (HP), with contributions from the University of California at Santa Cruz (UCSC) and the Massachusetts Institute of Technology (MIT).I have a question about Sphinx-4. How can I get it answered?
First, check this FAQ, many questions are answered here. If your question is not in the FAQ, you can post it to the Sphinx4 Open Discussion Forum on SourceForge. Many of the Sphinx-4 developers monitor this forum and answer technical questions.How can I contact the Sphinx-4 team?
You can contact the Sphinx-4 team by sending email to cmusphinx-contacts at sourceforge dot net.How well does Sphinx-4 perform compared to other speech recognizers?
Comparing speech recognizers is often difficult. Speed and accuracy data for commercial recognizers is not typically available. We have compared Sphinx-4 with the Sphinx 3.3 recognizer. Results of this comparison are here: Sphinx-4 Performance ComparisonIsn't the Java Platform too slow to be used for speech recognition?
No, rumors of the poor performance of the Java platform are unfounded. Sphinx-4 runs faster than Sphinx 3.3 (CMUs fast recognizer) for many tests. For a good discussion of Java platform performance in speech engines look at FreeTTS - A Performance Case Study a technical paper that compares the performance of speech synthesis engine written in the Java programming language to its native-C counterpart.Which Sphinx-4 distribution should I use?
Download the binary distribution if:Does Sphinx-4 support the Java Speech API (JSAPI)?Download the source distribution if you want to do everything above, plus:
- You just want to check out Sphinx-4 by running the demos.
- You want to build applications using Sphinx-4, but you don't want to touch the source code of Sphinx-4.
- You want to get all the source code of Sphinx-4, so that you can understand how Sphinx-4 works, and do your experimentation with Sphinx-4.
- You want to build Sphinx-4 from the ground up.
- You want to run the unit tests.
- You want to run the regression tests.
It does not.Where can I learn more about the Java Speech Grammar Format (JSGF)?
A complete description of the JSGF can be found in the JSGF Grammar Format SpecificationCan I use Sphinx-4 in a J2ME device such as a phone or a PDA?
Probably not. Sphinx-4 requires version 1.4 of the Java platform. This is typically not avaiable on smaller devices. Also, Sphinx-4 requires more memory than is typically available on a J2ME device. Even simple digits recognition will require a 16Mb heap. Sphinx-4 uses extensive floating point math. Most J2ME devices do not have adequate floating point performance for Sphinx-4.Why can't I use Java versions prior to 1.4?
Sphinx-4 uses many language and API features of version 1.4 of the Java platform including the logging API, the regular expressions API, XML parsing APIs and the assert facility.I am having microphone troubles under linux. What can I do?
There seems to be a significant difference in how different versions of the JDK determine which audio resources are available on Linux. This difference seems to affect different machines in different ways. We are working with the Java Sound folks to get to the root cause of the problem. In the mean time, if you are having trouble getting the demos to work on your Linux box try the following:How do I select a different microphone (e.g., a USB headset) on my machine?
- Try a native sound recording application (such as gnome-sound-recorder) to ensure that you can actually capture audio on your system.
- Try the AudioTool demo to see if you can record audio from a Java application.
- Check to see if any sound daemons like esd, gstreamer or artsd are running. These daemons may have exclusive access to the sound device. If any of these are running, kill them and try running again.
- Try switching to another version of the JDK. If JDK 1.4 doesn't work, try 1.5 and vice versa.
Where can I find a speech synthesizer for the Java platform?By default, Sphinx-4 will use the getLine method of the Java Sound AudioSystem class to obtain a TargetDataLine (i.e., the object used to interface to your microphone). This method grabs a line from any of the available Mixers known to the AudioSystem. As such, when using the AudioSystem to obtain the TargetDataLine, you have little control over which line is chosen if more than one line matches the requirements of the front end. For example, if you plug in a USB headset into a Macintosh PowerBook, the getLine method of the AudioSystem class will typcially never select a line from the USB device.
This behavior can be frustrating, especially when you have a nice USB microphone you'd like to use.
To override the default behavior, you can set the selectMixer property of the Microphone class. In Java Sound, a Mixer is an audio device with one or more lines. In practice, a Mixer tends to be mapped to a particular system audio device. For example, on the Mac, there's a Mixer associated with the built-in audio hardware. Furthermore, when you plug in a USB headset, a new Mixer will appear for that headset. The selectMixer property allows you to specify which specific Mixer Sphinx-4 will use to select the TargetDataLine.
The value of the selectMixer property can be "default," which means let the AudioSystem decide which line to use from all the available Mixers, "last," which means select the last Mixer supported by the AudioSystem (USB headsets tend to be associated with the last Mixer), or an integer value that represents the index of the Mixer.Info that is returned by AudioSystem.getMixerInfo().
To get the list of Mixer.Info objects available on your system, along with their integer index values, run the AudioTool application with a command line argument of "-dumpMixers".
To set the selectMixer property of the Microphone, you need to have a component in your config file that defines the microphone. In the examples in Sphinx-4, this component is aptly named "microphone." In the configuration for the microphone component, you can the set the selectMixer property in the config file for the application. For example:
<property name="selectMixer" value="last"/>You can also set the selectMixer property from the command line. For example:
java -Dmicrophone[selectMixer]=last -jar bin/AudioTool.jarIn both of these examples, the last Mixer discovered by the Java Sound AudioSystem class will be used to select the TargetDataLine for the microphone.
The Speech Integration group of Sun Labs has released FreeTTS, a speech synthesis system written in the Java programming language.I want to add speech recognition to my application. Where do I start?
First, look at the sourcecode for Sphinx-4 demos to get a feel for how to write a Sphinx-4 application. After that, read the Sphinx-4 Application Programmer's Guide for description of how to write a Sphinx-4 application.How can I decode/transcribe .wav files?
Take a look at the Hello Wave Demo program a command line application that transcribes audio in a '.wav' file. Additionally, the Transcriber Demo demonstrates how Sphinx-4 can be used to transcribe a continuous audio file with multiple utterances.How can I get the recognizer to return partial results while a recognition is in process?
How can I get the N-Best list?It is possible to configure Sphinx-4 to generate partial results, that is, to inform you periodically as to what it thinks is the best possible hypothesis so far, even before the user has stopped speaking.
To get this information, add a result listener to the recognizer. Your listener will receive a result (which may or not be a final result). The hypothesis text can be extracted from the text.
There is a good example of this in sphinx4/tests/live/Live.java
You can control how often the result listener is fired by setting the configuration variable 'featureBlockSize' in the decoder. The default setting of 50 indicates that the listener will be called after every 50 frames. Since each frame represents 10MS of speech, the listener is called every 500ms.
How can I detect and ignore out-of-grammar utterances?The method 'Results.getResultTokens()' returns a list of all the tokens associated with paths that have reached the end of sentence state.
This list is not a traditional N-best list of results. Some good results are not represented in this list. We also support full word lattices that can provide full N-Best lists. We currently do not have any user documentation for this, however, we will be providing some shortly.
See also: How can I obtain confidence scores for the recognition result?
How can I change my language models or grammars at runtime?An out-of-grammar utterance occurs when a speaker says something that is not represented by the speech grammar. Usually, the recognizer will try to force a match between what was said and the grammar. Many applications need to detect when the user has spoken something unexpected. This is called out-of-grammar detection.
The FlatLinguist and the DynamicFlatLinguist can be configured to detect out-of-grammar utterances. To do so, set the following properties of either linguists:
- addOutOfGrammarBranch property to true
- outOfGrammarProbability to a small value (e.g. 1E-20), a smaller probability makes it less likely to be recognized as out-of-grammar
- phoneInsertionProbability to a small value (e.g. 1E-10)
- phoneLoopAcousticModel to the acoustic model you are using, typically the Wall Street Journal (WSJ) model. WSJ has a wide enough range of phones to ensure that rejection works well
When configured this way, the search will look for out-of-grammar utterances. If an out of grammar utterance is detected, Sphinx-4 will return a result that contains a single <unk> word. Moreover, if you want to know the exact sequence of phones that the unknown word is comprised of, you can call the method:
Result.getBestToken().getWordUnitPath()
The JSGFGrammar class provides methods that allow for swapping in a new JSGF grammar or modifying the currently active RuleGrammar grammar used by a given Recognizer. The JSGFDemo gives an example of how to do this.How can I perform word-spotting?To handle more complex problems, such as switching between n-Gram grammars, you can configure more than one Recognizer (one grammar per Recognizer) and switch between those Recognizers. The Dialog Demo provides an example of how to do this.
There is no support for word-spotting right now.Can I use Sphinx-4 to recognize telephone audio?
Where can I get the audio data used in the regression tests?The issue with telephone audio is that it has limited range of frequences. Unlike usual microphone recording that includes frequences from 1 Hz to 8000 kHz, telephone audio is passed through frequency filters. As a result telephone audio contains frequences from 200 Hz to 3500 Hz. That makes it impossible to recognize telephone audio with usual microphone acoustic model. You need to use specialized models to recognize it.
There are few common telephone models distributed which you can use. Most notably, Communicator models, WSJ_8k model from sphinx4 and Voxforge English model.
To configure sphinx4 with 8kHz model change two things mel filter parameters and model itself:
<component name="melFilterBank" type="edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank"> <property name="numberFilters" value="31"/> <property name="minimumFrequency" value="200"/> <property name="maximumFrequency" value="3500"/> </component> <component name="sphinx3Loader" type="edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader"> <property name="logMath" value="logMath"/> <property name="unitManager" value="unitManager"/> <property name="location" value="the path to the model folder"/> </component> <component name="wsjLoader" type="edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader"> <property name="logMath" value="logMath"/> <property name="unitManager" value="unitManager"/> <property name="location" value="resource:/WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz"/> <property name="modelDefinition" value="etc/WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.4000.mdef"/> <property name="dataLocation" value="cd_continuous_8gau/"/> </component>
Much of the data audio data used in the regression tests is obtained from the Linguistic Data Consortium.How do I use the Result object?
Does Sphinx-4 support speaker identification?A search result typically consists of a number of hypothesis. Each hypothesis is represented by a path through the search space. Each path is represented by a single token. The token corresponds to the end point of the path. Using the token.getPredecessor() method it is possible for an application to trace back through the entire path to the beginning of the utterance.
Each token along the path contains numerous interesting data that can be used by the application including:
The method getScore() returns the path score for the path represented by a particular token This is the total score (which includes the language, acoustic and insertion components). The getAcousticScore returns the acoustic score for a token. This score represents how well the associated search state matches the input feature for the frame associated with the token. This is typically only for 'emitting' states. The getLanguageScore() returns the language component of the score The getInsertionProbability() returns the insertion component of the score. So the method getScore returns (all values are in the log domain):
- the total path score up to this point (retrieved by getScore())
- A frame number indicating which input frame this token is associated with
- A pointer to a state in the search graph corresponding to this token (A token may correspond to a word, unit, HMM, HMM state or other things). This pointer allows the application to retrieve the word, unit, or hmm information associated with the token.
entryScore + getAcousticScore() + getLanguageScore() + getInsertionProbability()(where entryScore is token.getPredecessor().getScore() )
How can I obtain confidence scores for the recognition result?Sphinx-4 currently does not support speaker identification, which is the process of identifying who is speaking. However, the architecture of Sphinx-4 is flexible enough for someone to add such capabilities. To learn more about speaker identification: http://www.speech.cs.cmu.edu/comp.speech/Section6/Q6.6.html
For those interested to implement it it makes sense to investigate the software specifically targetted to do speaker identification first like MISTRAL
Some experimental work has been done to support confidence scores. As this work is still experimental, please use it with precaution. Please refer to the Confidence Score Demo for example code of how to do this. Note that currently this only works for configurations using the LexTreeLinguist and the WordPruningBreadthFirstSearchManager .How to decode without predefined vocabulary?
How can I train my own acoustic models?To have efficient error rate, decoder still should have some form of vocabulary. To decode arbitrary words, subword-based decoding is used. It might be phone-based vocabulary which is easy to construct or vocabulary built from automatically-selected subwords of large size (typically, sequences of 4-6 phones). In both cases, it's required to build a subword dictionary and subword language model. With phone-based decoding phone error rate will be significant like (40-60%), so it's only usable for research purposes. Subword-based decoding with large subword units is often used in practice. For more details on this see the articles like:
Kenney Ng, Victor W. Zue. Subword-based Approaches for Spoken Document Retrieval (1999).
Sphinx-4 loads Sphinx-3 acoustic models. These can be trained with the Sphinx-3 Trainer called SphinxTrain.How do I use models trained by SphinxTrain in Sphinx-4?
Please refer to the document Using SphinxTrain Models in Sphinx-4.Does the Sphinx-4 front end generate the same features as the SphinxTrain wave2feat program?
The features that SphinxTrain generate are called cepstrum. Cepstrum are usually 13-dimensional. The features that Sphinx-4 generates are more than cepstrum. It is 39-dimensional, and consists of the cepstrum, the delta of the cepstrum, and the double delta of the cepstrum (thus 3X the size). To make Sphinx-4 generate the same cepstrum as SphinxTrain wave2feat, you should remove the last two steps in the front end, so that it looks like:How can I create my own language models?<component name="mfcFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd"> <propertylist name="pipeline"> <item>streamDataSource</item> <item>premphasizer</item> <item>windower</item> <item>fft</item> <item>melFilterBank</item> <item>dct</item> </propertylist> </component>
N-Gram language models can be created with the CMU Statistical Language Modeling (SLM) Toolkit. For more information see this Example of building a Language Model.How can I create my own dictionary?
Sphinx-4 currently supports dictionaries in the CMU dictionary format. The CMU dictionary format is described in the FullDictionary javadocs.I've created by own language model. How do I create the binary (DMP) form?Each line of the dictionary specifies the word, followed by spaces or tab, followed by the pronuncation (by way of the list of phones) of the word. Each word can have more than one pronunciations.
Some more details on the format of the dictionary can be found at the CMU Pronouncing Dictionary page.
Note that the phones used to define the pronunciation for a word can be arbitrary strings. It is important however, that they match the units in the acoustic model. If you unpack an acoustic model you will find among the many files a file with the suffix ".mdef". This file contains a mapping of units to senones (tied gaussian mixtures). The first column in this file represent the unit names (phone) used by the acoustic model.
Your dictionary should use these units to define the pronunciation for a word.
How to get support on recognition rate problems?Use
sphinx_lm_convert
tool from sphinxbase package. This tool allows you to convert from ARPA language model format to DMP format and back. Please note that some LM tools create non-standard language model that require additional preprocessing. For example usesphinx_lm_sort
tool from sphinxbase to convert SRILM model to proper ARPA model that is handled by CMUSphinx tools and libraries.Note that the format of the output from the CMU/CU SLM Toolkit program
idngram2lm
(using the-binary
option) is different from the DMP format, and therefore cannot be read by Sphinx-4.
CMUSphinx team is always willing to help you with your problems using CMUSphinx. But please understand that without detailed descriptoin it's hard to help you since there are too many unknowns. Like you might have done minor mistake somewhere and that minor type can break the whole system.
If you are going to ask on forum about accuracy issues, especially with your own trained model please understand that we can't guess what you have done. You need to provide detailed description of your work, provide the data you are using and describe your expectations.
The easiest way to provide the data is to pack everything into archive and upload it to public hosting like RapidShare, Mediafire or some other resource. Then just give a link on forum on the data archive. Pack into the archive everything you are using, without single file support becomes way more complicated. If you are training acoustic database, pack whole training folder. If you are running modified sphinx4 demo, pack into archive demo jar, sphinx4 jar, demo source code with your modifications, audio recordings.
The more information you'll provide the bigger chance you'll get the helpful response.


--- class: slide title: Mission Statement permalink: /#mission-statement section: '#mission-statement' description: Refinition Advisors builds and curates audiences for your and your competitors physical locations with the accuracy and immediacy previously known only to online content or e-tailers. ---
Refinition Advisors builds and curates audiences for your and your competitors physical locations with the accuracy and immediacy previously known only to online content or e-tailers. The creation of data-rich custom digital audiences based on actual visitors to physical locations unlocks an incredibly valuable opportunity for marketers to better learn about their audiences and their competitors, to spend their marketing dollars far more wisely, achieve better results, and to sustainably build their businesses without costly marketing guesswork.


Enter a URL!
(We'll grab the item and deliver you an animated gif)
- Drop in a URL for any multi-page item or sub-container of a collection in NYPL's Digital Collections -- generally looks like this: "http://digitalcollections.nypl.org/items/bc8d10b0-f034-0132-6e2a-58d385a7b928" or "http://digitalcollections.nypl.org/collections/classic-illustrated-zoologies-and-related-works-1550-1900#/?tab=navigation&roots=1:f589aa60-c625-012f-1687-58d385a7bc34" for example
- This tool will only grab the first 150 pages of an item or a container -- otherwise these gifs could get very, very large!
- Good gifs take time -- it can take a while to deliver the given file, depending on the number of pages and the size. But hang in there, it'll show up!
The last few created gifs:


Air Peace signs deal with Brazillian aerospace company
by Chidinma NwagbaraAir Peace has signed a deal with Embraer, a Brazilian aerospace conglomerate, the third-largest producer of aircraft in the world.
According to Punch, the deal entails Embraer confirming the purchase rights of three E195-E2 aircraft which will be added to the previous orders of Air Peace from the original contract signed by the two companies earlier this year.
This makes Air Peace order of E195-E2 aircraft 13 in number with 17 purchase rights for the same model. Delivery has been scheduled for May 2020.
The new E195-E2s with a value of $212.6 million, based on Embraer’s current list prices, would be included in Embraer’s 2019 fourth-quarter backlog. The new aircraft would have dual configurations with 12-seater business class and 102-seater economy class.
Speaking about the aircraft deal, Air Peace’s Chief of Finance and Administration, Mrs Ejiroghene Eghagha said the company was positive that the E195-E2 was the perfect aircraft to expand the carrier’s domestic and regional operations.
[READ MORE: DEAL: Visa to acquire 20% stake in Interswitch, valuing it at $1 billion]
Eghagha, who signed the new deal on behalf of the airline at the Dubai Airshow, said the new order would gradually replace the airline’s existing fleet, which would make it the airline with the youngest fleet in the world.
“The new deliveries will ease our subsidiary fleet in the Air Peace Hopper to actualise our ‘no-city-left-behind initiative which we shall continue to execute.
“We are receiving impressive data about the aircraft’s economics when in revenue service, and this was a driver to place this new firm order with Embraer. We look forward to receiving our first aircraft, which will enhance connectivity in Nigeria and the African region,” she said.
Also speaking on the deal is Raul Villaron, Vice President Sales, Africa and Middle East, Embraer Commercial Aviation, who said that Air Peace would love the aircraft’s efficiency and the passengers would also experience an unparalleled level of comfort, especially in First Class.
Air Peace is set to be the first E2 operator in Africa when deliveries start in second-quarter of 2020.


Welcome,
Joe Business
Welcome!
Analytics Demos
Thank you for stopping by my dashboards demo page!
This is the general layout of dashboards I can help design and build for you and your business. Navigate through different pages via the navbar on the left.
In the "Business Analytics" section you'll find example analytics pages that can be considered standards for retail and f&b industries.
In the "Other Analytics" section you will find real-time running advanced analytics demos.


Beta This is a test version of the layout of this page. Take the survey to help us improve it
Guidance
Information about academy admissions and the role of EFA.
Admission authorities must have determined their admissions arrangements for entry in September 2018 by 28 February 2017. They must publish them on their website and have sent a copy to their local authority before 15 March 2017.
Academies are their own admissions authority and must meet all the mandatory provisions of the School Admissions Code (the Code) that came into force on 19 December 2014 except where variations have been written into their funding agreement to support fair access.
The checklist below reflects common subjects of challenge and complaint in relation to admissions by all types of school.
| Paragraph of the code | Checklist |
| 1.3 | As their own admission authority, academies and free schools are not required to consult on their Published Admission Number ( PAN ) where they propose either to increase or keep the same PAN |
| 1.42 and 1.43 | Admission authorities must consult when admission arrangements are changed or if they have not been consulted on within the last 7 years. For entry in 2017 and each subsequent academic year thereafter, admission authorities must consult for a minimum period of 6 weeks and should take place between 1 October and 31 January |
| 1.47 | Once admission authorities have determined their admission arrangements, they must notify the appropriate bodies and must publish a copy of the determined arrangements on their website displaying them for the whole offer year (the academic year in which offers for places are made) |
| 1.47 | Admission authorities for faith schools must also send a copy of their arrangements to the body or person representing their religion or religious denomination |
| 1.48 | Where an admission authority has determined a PAN that is higher than in previous years, they must notify the local authority that they have done so, and make specific reference to the change on their website |
| Paragraph of the code | Checklist |
| 1.32c | Admission authorities must take all reasonable steps to inform parents of the outcome of selection tests before the closing date for secondary applications on 31 October so as to allow parents time to make an informed choice of school - while making clear that this does not equate to a guarantee of a selective place |
| 1.6 | The admission authority for the school must set out in its arrangements the criteria against which places will be allocated at the school when there are more applications than places and the order in which the criteria will be applied. All children whose statement of special educational needs ( SEN ) names the school must be admitted |
| 1.7 | All schools must have over-subscription criteria for each relevant age group and the highest priority must be given, unless otherwise provided in the code , to looked after children and previously looked after children. Relevant age group means the age group at which pupils are or will normally be admitted to the school, for example reception, year 7 or year 12 |
| 1.8 | Admission arrangements must include an effective, clear and fair tie-breaker to decide between two applications that cannot otherwise be separated |
| 1.11 | Admission authorities must state clearly in their arrangements what they mean by ‘sibling’ (for example whether this includes step siblings, foster siblings, adopted siblings and other children living permanently at the same address or siblings who are former pupils of the school) |
| 1.14 | Catchment areas must be designed so that they’re reasonable and clearly defined |
| 1.16 | If admission authorities decide to use social and medical need as an over-subscription criterion, they must set out in their arrangements how they will define this need and give clear details about what supporting evidence will be required (for example a letter from a doctor or social worker) and then make consistent decisions based on the evidence provided |
| 2.8 | If the school is not oversubscribed, all applicants must be offered a place, with the exception of designated grammar schools |
| Each relevant age group must have admission arrangements, including an admission number and over-subscription criteria. Some schools (for example schools with sixth forms which admit children into the sixth form) may have more than one relevant age group |
Since September 2013, academies and free schools are able to accept in-year admission applications directly from parents.
An in-year admission application is one that is made outside of the normal time of transfer between schools, for example when a family moves house part way through a school year.
Local authorities are still required to co-ordinate admission applications in the normal admissions round.
Your academy should say on its website that it is receiving and deciding in-year applications.
Your academy should say on its website that it is receiving and deciding in-year applications from 1 September 2013, if it plans to do so. Your academy can also continue to use the local authority to co-ordinate in-year admission if this suits local circumstances better.
Your academy must also:
You can read more about fair access protocols and the Secretary of State’s powers to direct an academy to admit a child following an application from a local authority on GOV.UK.
Any applicant refused a place at a maintained school or an academy has a right of appeal to an independent appeal panel established by the admission authority for that school. Admission authorities must publish their appeals timetable on their website by 28 February 2017.
Information about admission appeals can be found on GOV.UK.
Education Funding Agency ( EFA ) receives any complaint made by an applicant about the way admissions appeals are carried out at academies, free schools, university technical colleges and studio schools.
EFA has reviewed the complaints it received in 2014 about independent appeal panels (IAPs) and has set out the review findings and some suggestions to help you make sure that future appeals comply with the School Admission Appeals Code.
Many of the findings are easily addressed and will reduce the risk of future complaints. Examples include making sure clerks’ records of appeal hearings are full and legible and providing plain English decision letters that clearly explain why the appeal was unsuccessful.
In order to avoid these and other common pitfalls during future rounds of appeals, EFA strongly advises you to read the review findings and discuss these with your clerking service.
We have also produced a factsheet to help parents understand the types of admission appeals complaints the EFA can investigate. We ask that clerks include a copy of the factsheet (or a link) with the panel’s decision letter.
Published: 11 March 2014
Updated: 8 February 2017
From: Education Funding Agency


Create Markers
Motivation
Before tracking markers with your camera, you need to create, print and place them in the environment. You can use four type of ArUco objects: markers, grid boards, charuco boards and diamond markers.
From left to right: a marker, a diamond marker, a grid board, a charuco board.
CreateMarkers
scene
Open the Assets/ArucoUnity/Scenes/CreateMarkers.unity
scene to visualize the ArUco objects. Play this scene to create them. You can find the created images in Assets/ArucoUnity/Images/
.
Manual creation
Marker
Manual creation and configuration of a marker.
- Create an empty object.
- Add a
ArucoMarker
script. Configure it:- Select a dictionary of markers. It determines the marker size (for example 4x4 bits) and had a size (for example 50 markers). A lower dictionary size is better to avoid detection errors. For more details, see "Markers and Dictionaries" and "Selection a dictionary" sections of this tutorial.
- Set
MarkerSideLength
in pixels. It controls the image size. - Set
MarkerBorderBits
with a minimum of 1. It controls the width of the black border of the marker, helping its detection. - Set
MarkerId
, from 0 to the dictionary size.
- Add a
ArucoObjectCreator
script. Configure it:- Add the
ArucoMarker
script to theArucoObject
field. - Check
DisplayInPlayMode
if you want to display the marker in play mode. - Check
SaveImage
to save the marker in an image file in play mode. - Set the
OutputFolder
path to save the image, relative to the persistentDataPath in builds or to the "Assets" folder of your project in the editor. - Check
AutomaticFilename
for an automatic image filename based on theArucoObject
property values. - Set the image filename in
OptionalImageFilename
ifAutomaticFilename
is not checked.
- Add the
- Play the scene. The marker is automatically created on a child plane of our object and saved on the project folder.
Grid board
Example of a grid board with the corresponding configuration.
The process is the same as in the marker subsection.
The additional configurable parameters are:
MarkersNumberX
: The number of markers on the board X axis.MarkersNumberY
: The number of markers on the board Y axis.MarkerSeparation
: The margin between markers in pixels.
Charuco board
Example of a charuco board with the corresponding configuration.
The process is the same as in the marker subsection.
The additional configurable parameters are:
MarginLength
: The markers margin on the white squares.SquaresNumberX
: The number of squares on the board X axis.SquaresNumberY
: The number of squares on the board Y axis.SquareSideLength
: The width in pixels of each square.
Diamond marker
Example of a diamond marker with the corresponding configuration.
The process is the same as in the marker subsection.
The additional configurable parameters are:
SquareSideLength
: The width in pixels of each square.MarkersXId
: The ids of the four markers.


--- layout: post title: How to setup large file downloads with PHP w/o hogging your servers memory permalink: how-to-setup-large-file-downloads-with-php-wo-hogging-your-servers-memory/ date: 2014-04-09 17:45:11.000000000 +08:00 categories: - howto - php - security tags: - mod_xsendfile - php file download tutorial - secured downloads in php - send file in php status: publish type: post published: true meta: _edit_last: '2' _thumbnail_id: '1215' _wpas_mess: How to setup large file downloads with PHP w/o hogging your servers memory _wpas_skip_1611607: '1' _wpas_done_all: '1' dsq_thread_id: '2965182182' cleaned: true ---
Whether you are trying to secure a set of files so that it can be only accessed when a certain condition are met, or it was just a plain "download counter" feature in your site, PHP developers often resorts to this type of code:
Well for basic stuffs like small images, that works.
But let's say you have a download link for a 10 Gigabyte 1080p video file... uhm
Yes, you will certainly hit the maximum PHP limit. Even if you have that large memory in your server, imagine 10 thousand users hitting the download link simultaneously.
More often, confused website owners resorts to Amazon S3 or other pricey CDN for solution to this, but you know what, before you dump lot of money to those solutions, try this one first, which doesn't cost anything except your time.
There must be better ways of processing downloads in PHP than this.
Fortunately, there is, and I will going to tell you how.
The secret ingredient lies in this little gem : mod_xsendfile
This is an Apache module that you need to install in your web server.
( see https://tn123.org/mod_xsendfile/ how to install it )
Once installed, the only thing you will change in your PHP code is just set a special HTTP header
header('X-Sendfile: /path/to/your/file);
The main advantage of this are:
Going back to our example, here is the modified code with the mod_xsendfile header enabled
That's it. You now have a secure file download script by just adding a single line of code!


WITNESS LIST Pensions & Investments Committee April 27, 2006-9:00A HB 73 For: Floyd, Beaman (Texas Association of School Boards, Texas Association of School Administrators) Floyd, Beaman (continued) (Texas Community College Teachers' Association) Gustafson, Lindsay (Texas Classroom Teachers Assoc) Kelly, Jack (Texas State Teachers Association) Lee, Tim (Texas Retired Teachers Association) Melina Raab, Ted (Texas Federation of Teachers) Quinzi, Patty (Association of Texas Professional Educators) On: Jung, Ronnie (Teacher Retirement System) Interim Charge 7 On: Cochran, Mike (TCG Consulting LP) Eitelberg, Cathie (The Segal Company) Fuelberg, Ann (Employees Retirement System) Jung, Ronnie (Teacher Retirement System)


Examples of Forms components
I am form label
This field must be filled
Textarea
I am first option
I am second option
I am first option
I am second option
I am third option
I am the button!
Link


30 Nov 2017 • 0 Comments
In ArubaOS 8 we have several methods of upgrading the wireless infrastructure. Alle these methods have one thing in commmon; they need a repository for the new image to be downloaded. Historically this has been done using TFTP, FTP, FTPS or SCP from a dedicated server or the engineers own laptop.
Starting from AOS 8.2 the Mobility Master or a Mobility Controller can be configured as a SCP server. Facilitating a central respository for image upgrades.
(Read more...)
12 Dec 2016 • 0 Comments
My blog has been dead for some time now. Mostly due to having two hyper-active kids and everything that follows with having a family.
But I recently got the chance to start as a Systems Engineer at Aruba Networks here in Denmark. So I have decided to start blogging again about my new employment and the things that come with working for a vendor.</p>
More to come :-)
(Read more...)
22 Jul 2014 • 0 Comments
It took a while but HP´s response to Cisco´s Meraki has hit the market. Say welcome to HP Cloud Network Manager!
So far it looks like a joint-venture with Aruba who already has a cloud solution on the market, just with a HP twist to it.
(Read more...)
20 May 2014 • 0 Comments
Good news! Prime Infrastructure 2.1 is out and available. But instead of getting a upgrade path from 1.4 we only get a 2.0 -> 2.1 upgrade. It seems that all that was promised in the 2.1 upgrade the last 6 months are postponed to 2.2. So no new LMS features, and were still waiting on the 7.6x wlc features.
I´ll be honest that i´m not the biggest fan of Prime. Too many bugs, slow feature turnaround. I´m personally prone to lean towards Solarwinds and HP´s IMC for many tasks, but Cisco´s getting there.  But that´s many if´s...
New Features
- Support for the new Catalyst 3650.
- Support for all the new 802.11ac AP´s (3700, 2700 etc...).
- AVC gets some UI improvements.
Read the release notes here...
I just wish that they would do something about the 15+ min. boot time and service restart. It´s a killer !
(Read more...)
13 May 2014 • 0 Comments
Yesterday while installing IMC for an POC (proof of concept) I stumbled on a problem with configuring radius on the UAM module. I had everything lined up and configured, but nothing was working!
(Read more...)
09 May 2014 • 0 Comments
IMC administrator / operators can be externally authenticated via LDAP or Radius. Combine LDAP authentication and a Active Directory and you get and easy way to authenticate your IMC administrators.
LDAP is relatively easy to setup if you´re using the basic configuration without encryption (SSL). While an easy and quick setup is nice now and then I will also go through the setup of LDAP over SSL authentication. In my opinion using encryption is crucial because passwords and usernames in cleartext over the wire isn´t exactly best practice.
(Read more...)
06 May 2014 • 0 Comments
Since my change to HP networking, I´ve been working steadily on gaining experience on every aspect of HP networking products. One product in particular is HP´s IMC which is their solution to network management. In the past I have solely worked on Solarwinds and hold a SCP. But i´m pretty impressed with IMC and the roadmap that HP is showing. So far they have been able to stick to a 6 month update turnaround, which have shown good progress. Now with the latest version E0202 they have bumped IMC upwards with some enhancements and lots of bugfixes.
(Read more...)
05 Mar 2014 • 0 Comments
So it´s official... i´ll try and start blogging about everything networking and perhaps a little personal note once in a while :-D
First and foremost this blog will be about my life as a network specialist. I have worked with Cisco for 10 years now and have recently acquired a new job which entails a shift to HP networking products. Should be exciting.
(Read more...)


If you’d like to make this page better or notice something off, feel free to open an issue on GitHub.
Any help is greatly appreciated. 😊