| Class and Description |
|---|
| BarcodeFormat
Enumerates barcode formats known to this package.
|
| Binarizer
This class hierarchy provides a set of methods to convert luminance data to 1 bit data.
|
| BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data.
|
| ChecksumException
Thrown when a barcode was successfully detected and decoded, but
was not returned because its checksum feature failed.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| EncodeHintType
These are a set of hints that you may pass to Writers to specify their behavior.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| LuminanceSource
The purpose of this class hierarchy is to abstract different bitmap implementations across
platforms into a standard interface for requesting greyscale luminance values.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| ReaderException
The general exception class throw when something goes wrong during decoding of a barcode.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| ResultMetadataType
Represents some type of metadata about the result of the decoding that the decoder
wishes to communicate back to the caller.
|
| ResultPoint
Encapsulates a point of interest in an image containing a barcode.
|
| Writer
The base class for all objects which encode/generate a barcode image.
|
| WriterException
A base class which covers the range of exceptions which may occur when encoding a barcode using
the Writer framework.
|
| Class and Description |
|---|
| BarcodeFormat
Enumerates barcode formats known to this package.
|
| BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| EncodeHintType
These are a set of hints that you may pass to Writers to specify their behavior.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| ResultPoint
Encapsulates a point of interest in an image containing a barcode.
|
| Writer
The base class for all objects which encode/generate a barcode image.
|
| Class and Description |
|---|
| LuminanceSource
The purpose of this class hierarchy is to abstract different bitmap implementations across
platforms into a standard interface for requesting greyscale luminance values.
|
| Class and Description |
|---|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| Class and Description |
|---|
| Binarizer
This class hierarchy provides a set of methods to convert luminance data to 1 bit data.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| LuminanceSource
The purpose of this class hierarchy is to abstract different bitmap implementations across
platforms into a standard interface for requesting greyscale luminance values.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| ResultPoint
Encapsulates a point of interest in an image containing a barcode.
|
| Class and Description |
|---|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| ResultPoint
Encapsulates a point of interest in an image containing a barcode.
|
| Class and Description |
|---|
| BarcodeFormat
Enumerates barcode formats known to this package.
|
| BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data.
|
| ChecksumException
Thrown when a barcode was successfully detected and decoded, but
was not returned because its checksum feature failed.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| EncodeHintType
These are a set of hints that you may pass to Writers to specify their behavior.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| Writer
The base class for all objects which encode/generate a barcode image.
|
| Class and Description |
|---|
| ChecksumException
Thrown when a barcode was successfully detected and decoded, but
was not returned because its checksum feature failed.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| Class and Description |
|---|
| Dimension
Simply encapsulates a width and height.
|
| Class and Description |
|---|
| BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data.
|
| ChecksumException
Thrown when a barcode was successfully detected and decoded, but
was not returned because its checksum feature failed.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| Class and Description |
|---|
| BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data.
|
| ChecksumException
Thrown when a barcode was successfully detected and decoded, but
was not returned because its checksum feature failed.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| Class and Description |
|---|
| BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| Class and Description |
|---|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| ResultPointCallback
Callback which is invoked when a possible result point (significant
point in the barcode image such as a corner) is found.
|
| Class and Description |
|---|
| BarcodeFormat
Enumerates barcode formats known to this package.
|
| BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data.
|
| ChecksumException
Thrown when a barcode was successfully detected and decoded, but
was not returned because its checksum feature failed.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| EncodeHintType
These are a set of hints that you may pass to Writers to specify their behavior.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| Writer
The base class for all objects which encode/generate a barcode image.
|
| Class and Description |
|---|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| Class and Description |
|---|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| Class and Description |
|---|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Class and Description |
|---|
| BarcodeFormat
Enumerates barcode formats known to this package.
|
| BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data.
|
| ChecksumException
Thrown when a barcode was successfully detected and decoded, but
was not returned because its checksum feature failed.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| EncodeHintType
These are a set of hints that you may pass to Writers to specify their behavior.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| Writer
The base class for all objects which encode/generate a barcode image.
|
| WriterException
A base class which covers the range of exceptions which may occur when encoding a barcode using
the Writer framework.
|
| Class and Description |
|---|
| ChecksumException
Thrown when a barcode was successfully detected and decoded, but
was not returned because its checksum feature failed.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| ResultPoint
Encapsulates a point of interest in an image containing a barcode.
|
| Class and Description |
|---|
| ChecksumException
Thrown when a barcode was successfully detected and decoded, but
was not returned because its checksum feature failed.
|
| Class and Description |
|---|
| BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Class and Description |
|---|
| WriterException
A base class which covers the range of exceptions which may occur when encoding a barcode using
the Writer framework.
|
| Class and Description |
|---|
| BarcodeFormat
Enumerates barcode formats known to this package.
|
| BinaryBitmap
This class is the core bitmap class used by ZXing to represent 1 bit data.
|
| ChecksumException
Thrown when a barcode was successfully detected and decoded, but
was not returned because its checksum feature failed.
|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| EncodeHintType
These are a set of hints that you may pass to Writers to specify their behavior.
|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| NotFoundException
Thrown when a barcode was not found in the image.
|
| Reader
Implementations of this interface can decode an image of a barcode in some format into
the String it encodes.
|
| Result
Encapsulates the result of decoding a barcode within an image.
|
| Writer
The base class for all objects which encode/generate a barcode image.
|
| WriterException
A base class which covers the range of exceptions which may occur when encoding a barcode using
the Writer framework.
|
| Class and Description |
|---|
| DecodeHintType
Encapsulates a type of hint that a caller may pass to a barcode reader to help it
more quickly or accurately decode it.
|
| ResultPoint
Encapsulates a point of interest in an image containing a barcode.
|
| Class and Description |
|---|
| FormatException
Thrown when a barcode was successfully detected, but some aspect of
the content did not conform to the barcode's format rules.
|
| ResultPoint
Encapsulates a point of interest in an image containing a barcode.
|
| ResultPointCallback
Callback which is invoked when a possible result point (significant
point in the barcode image such as a corner) is found.
|
| Class and Description |
|---|
| EncodeHintType
These are a set of hints that you may pass to Writers to specify their behavior.
|
| WriterException
A base class which covers the range of exceptions which may occur when encoding a barcode using
the Writer framework.
|
Copyright © 2007–2020. All rights reserved.


| HBASE-12279 |
Generated thrift files were generated with the wrong parameters |
Major |
. |
Niels Basjes |
Niels Basjes |
| HBASE-12491 |
TableMapReduceUtil.findContainingJar() NPE |
Major |
mapreduce |
Solomon Duskis |
Solomon Duskis |
| HBASE-12635 |
Delete acl notify znode of table after the table is deleted |
Minor |
. |
Liu Shaohui |
Liu Shaohui |
| HBASE-12657 |
The Region is not being split and far exceeds the desired maximum size. |
Major |
Compaction |
Vladimir Rodionov |
Vladimir Rodionov |
| HBASE-12692 |
NPE from SnapshotManager#stop |
Minor |
snapshots |
Ashish Singhi |
Ashish Singhi |
| HBASE-12739 |
Avoid too large identifier of ZooKeeperWatcher |
Minor |
Zookeeper |
Liu Shaohui |
Liu Shaohui |


--- title: costs - Wrapping objective functions and data keywords: fastai sidebar: home_sidebar nb_path: "03_models.ipynb" ---
A collection of classes and functions to structuring models to be optimized.
The GradientDescent
optimizer expects the cost function to be stored within a class with an evaluate()
method, which takes a 1D numpy array of parameter values and returns a float. A generic class Model
is provided to organize user-defined cost functions and data so they can be easily passed to the optimizer.
Should this class prove insufficient in some circumstances, a description of the API expected by GradientDescent
along with an abstract base class is provided.
The base class ModelBase
is relatively simple, consisting of two methods and two attributes
The methods are
.evaluate
which must be defined in any particular cost function class written by the user.sample_rvs
which is automatically included in the base class, and draws a random variable if a random variable generator is stored in the RV attributeThe two attributes are
RV
which by default is None
, but may be used to store a function that can generate random variables that are used in the evaluation of the cost function (e.g. scipy.stats.norm.rvs
)update_rvs
is a flag that tells the SPSAGradient
class to update the random variable each time it evaluates the gradient. By default this is True
, though this will only have an effect if a random variable generator is included in the cost.Let's organized this data as a dictionary
Now we need a function that takes a vector of parameter values and data and uses these to returns a float. Note that it does not matter how the data is organized, so long as the function can interpret it internally.
In general, though, it shouldn't be necessary to use the base class, as most simple cost functions can be wrapped in an instance of the Model
class. The Model
class can be used to wrapped both a cost function and data
The only required argument is a user-defined cost function. If the model is to be fit to data, then the data--organized in a way that the cost function expects--should also passed to the class.
The cost
function should take three arguments:
theta
: A 1-d numpy array of model parametersdata
: (Optional) A variable storing the dataz
: (Optional) The outcome of a random variable used to compute the objective function.The data
may be organized however the cost
expects, for example as dictionary, a list, or a numpy array.
The two optional arguments taken by Model
relate to a random variable that may be passed to the cost function:
RV
may be a passed a object with a .rvs()
method that generates a random variable when called (e.g. a frozen scipy distribution such are scipy.stats.norm([0]*10,[1]*10)
which can be used to generate 10 samples from a unit normal distribution.update_rvs
stores a True/False value, telling the gradient approximation whether to regenerate the random variable after each gradient estimate.The current value the random variable drawn from RV
is stored as the attribute z
.
If these options are employed, the gradient approximation holds the random variable z
constant during the forward and backward perturbations used to approximate the gradient. In general, I think it may be best to not use these options--my intution is that noise in the gradient due a simulator employed in the objective function ought to be left inside in the gradient (but I could be wrong). However, there are cases where it absolutely make sense to eliminate sources of randomness from the gradient evaluation, for example the Monte Carlo integration often employed to compute the objective function used in variational inference.
Okay, let's try out an example, where we are interested in the mean-squared error of a simple linear regression.
Now let's generate 200 data points from a simple linear relationship, with a slope of 2 and an intercept of 5:
{% raw %} $$x \sim normal(0, 5)$$ {% endraw %}
{% raw %} $$\epsilon \sim normal(0,2)$$ {% endraw %}
{% raw %} $$y=2x+5+\epsilon$$ {% endraw %}
x=scipy.stats.norm.rvs(0, 5, size=200)
err=scipy.stats.norm.rvs(0, 2, size=200)
slope=2
intercept=5
y=x*slope+intercept +err
# pyplot.scatter(x,y)
Let's organized this data as a dictionary
data={'x':x,
'y':y}
Now we need a function that takes a vector of parameter values and data and uses these to returns a float. Note that it does not matter how the data is organized, so long as the function can interpret it internally.
def MSE(theta, data):
x,y=data['x'], data['y']
y_pred=theta[0]*x+theta[1]
return numpy.mean((y-y_pred)**2)
Okay, now we'll wrap the cost function and the data in the Model
class
mse_cost=Model(MSE, data)
Because we didn't pass any random variable generators, both update_rvs
and RV
remain at their default values:
print (f"mse_cost.RV = {mse_cost.RV}")
print (f"mse_cost.update_rvs = {mse_cost.update_rvs}")
We can evaluate the cost function on the data by passing a proposed parameter value to the .evaluate()
method:
mse_cost.evaluate([2,5])
We could further use this to visualize the landscape of the objective function a grid of different combinations of (slope, intercept) parameters (the parameter value used to generate the data is marked with a red X):
X,Y,Z=[],[],[]
for slope in numpy.arange(-10, 10,.2):
for intercept in numpy.arange(-10, 10,.2):
Y.append(intercept)
X.append(slope)
Z.append(mse_cost.evaluate([slope,intercept]))
sc=pyplot.scatter(X,Y, c=numpy.log(Z))
pyplot.scatter(2, 5, marker='x',s=100, c='r')
cbar=pyplot.colorbar(sc)
cbar.set_label('log (MSE)', size=14)
pyplot.ylabel('Intercept')
pyplot.xlabel('Slope')
pyplot.xlim(-10,10)
pyplot.ylim(-10,10)


ridestyler.ui is a lightweight, responsive and CSS framework built for RideStyler's branded tools and web applications.
ridestyler.ui provides basic styles for typography and elements, flexbox based responsive layout system, pure CSS components and utilities with best practice coding and consistent design language.


Projects
Dog On Demand
-
Like dogs? Like photos of them? This Chrome extension will serve up a random photo of a dog (breed can be specified) for your viewing pleasure.
Oculus Rift Data Visualization
A data visualization developed in Unity for the Oculus Rift. Completed during summer 2018 at Lawrence Berkeley National Lab as part of my term as a Computer Systems Engineer.
Elastic Stack Installation and Configuration -
A presentation on Elastic Stack, the log search and visualization software stack, including examples of its' useful log visualization features. Completed during my 2017 summer internship at Lawrence Livermore National Lab.
Punishment -
A visual essay on the novel "When She Woke" by Hillary Jordan. Written in Scratch to practice for my Scratch teaching job.


Pharmatricks Is India's First Website To Provide open MCQ for Free related to pharmacy concepts. Students in the field of pharmacy or other medical streams can practice all types of MCQ related to their topic. The website will cover up all types of MCQ including previous year question paper for competitive exams. Users can practice the test unlimited time to enrich their knowledge in the field of pharmacy.
Pharmatricks website receive more than 1000-1500 visitors everyday.Instead, It has a telegram channel with 9,500 subscribers which seems to be a great opportunity to promote your services. Students of all ages from pharmacy or other medical field comes to the website and telegram channel to attend daily MCQ. This create an opportunity for initial growing brands to contact us for promotion. The rate of advertisement are getting higher day by day and it's very difficult to target only pharmacy students. Thus, we are inviting Online teachers, YouTubers/telegram channels/Instagram pages etc. to advertise with us at affordable prices.
Subjects in pharmacy are very volatile as students have to remember a lot of stuff like the name of drugs, mechanism, anatomy and various new concepts in their initial stage. The unlimited free attempt test are created not only to judge their skill on the topic but also to develop the habit of revision. The only thing that matter in the disciplined study is consistency. Students don't have to remember any ID or Password everytime, they can just click on menu section and keep practicing the test of their choice.


This tutorial covers how to use the various components in horizon to build an example dashboard and a panel with a tab which has a table containing data from the back end.
As an example, we’ll create a new My Dashboard dashboard with a My Panel panel that has an Instances Tab tab. The tab has a table which contains the data pulled by the Nova instances API.
Note
This tutorial assumes you have either a devstack or openstack environment up and running. There are a variety of other resources which may be helpful to read first. For example, you may want to start with the Horizon quickstart guide or the Django tutorial.
Horizon provides a custom management command to create a typical base dashboard structure for you. Run the following commands at the same location where the run_tests.sh file resides. It generates most of the boilerplate code you need:
mkdir openstack_dashboard/dashboards/mydashboard
./run_tests.sh -m startdash mydashboard \
--target openstack_dashboard/dashboards/mydashboard
mkdir openstack_dashboard/dashboards/mydashboard/mypanel
./run_tests.sh -m startpanel mypanel \
--dashboard=openstack_dashboard.dashboards.mydashboard \
--target=openstack_dashboard/dashboards/mydashboard/mypanel
You will notice that the directory mydashboard gets automatically populated with the files related to a dashboard and the mypanel directory gets automatically populated with the files related to a panel.
If you use the tree mydashboard command to list the mydashboard directory in openstack_dashboard/dashboards , you will see a directory structure that looks like the following:
mydashboard
├── dashboard.py
├── dashboard.pyc
├── __init__.py
├── __init__.pyc
├── models.py
├── mypanel
│ ├── __init__.py
│ ├── models.py
│ ├── panel.py
│ ├── templates
│ │ └── mypanel
│ │ └── index.html
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── static
│ └── mydashboard
│ ├── css
│ │ └── mydashboard.css
│ └── js
│ └── mydashboard.js
└── templates
└── mydashboard
└── base.html
For this tutorial, we will not deal with the static directory, the models.py file and tests.py file. Leave them as they are.
With the rest of the files and directories in place, we can move on to add our own dashboard.
Open the dashboard.py file. You will notice the following code has been automatically generated:
from django.utils.translation import ugettext_lazy as _
import horizon
class Mydashboard(horizon.Dashboard):
name = _("Mydashboard")
slug = "mydashboard"
panels = () # Add your panels here.
default_panel = '' # Specify the slug of the dashboard's default panel.
horizon.register(Mydashboard)
If you want the dashboard name to be something else, you can change the name attribute in the dashboard.py file . For example, you can change it to be My Dashboard
name = _("My Dashboard")
A dashboard class will usually contain a name attribute (the display name of the dashboard), a slug attribute (the internal name that could be referenced by other components), a list of panels, default panel, etc. We will cover how to add a panel in the next section.
We’ll create a panel and call it My Panel.
As described above, the mypanel directory under openstack_dashboard/dashboards/mydashboard should look like the following:
mypanel
├── __init__.py
├── models.py
├── panel.py
├── templates
│ └── mypanel
│ └── index.html
├── tests.py
├── urls.py
└── views.py
The panel.py file referenced above has a special meaning. Within a dashboard, any module name listed in the panels attribute on the dashboard class will be auto-discovered by looking for the panel.py file in a corresponding directory (the details are a bit magical, but have been thoroughly vetted in Django’s admin codebase).
Open the panel.py file, you will have the following auto-generated code:
from django.utils.translation import ugettext_lazy as _
import horizon
from openstack_dashboard.dashboards.mydashboard import dashboard
class Mypanel(horizon.Panel):
name = _("Mypanel")
slug = "mypanel"
dashboard.Mydashboard.register(Mypanel)
If you want the panel name to be something else, you can change the name attribute in the panel.py file . For example, you can change it to be My Panel:
name = _("My Panel")
Open the dashboard.py file again, insert the following code above the Mydashboard class. This code defines the Mygroup class and adds a panel called mypanel:
class Mygroup(horizon.PanelGroup):
slug = "mygroup"
name = _("My Group")
panels = ('mypanel',)
Modify the Mydashboard class to include Mygroup and add mypanel as the default panel:
class Mydashboard(horizon.Dashboard):
name = _("My Dashboard")
slug = "mydashboard"
panels = (Mygroup,) # Add your panels here.
default_panel = 'mypanel' # Specify the slug of the default panel.
The completed dashboard.py file should look like the following:
from django.utils.translation import ugettext_lazy as _
import horizon
class Mygroup(horizon.PanelGroup):
slug = "mygroup"
name = _("My Group")
panels = ('mypanel',)
class Mydashboard(horizon.Dashboard):
name = _("My Dashboard")
slug = "mydashboard"
panels = (Mygroup,) # Add your panels here.
default_panel = 'mypanel' # Specify the slug of the default panel.
horizon.register(Mydashboard)
We’ll start with the table, combine that with the tabs, and then build our view from the pieces.
Horizon provides a SelfHandlingForm DataTable class which simplifies the vast majority of displaying data to an end-user. We’re just going to skim the surface here, but it has a tremendous number of capabilities.
Create a tables.py file under the mypanel directory and add the following code:
from django.utils.translation import ugettext_lazy as _
from horizon import tables
class InstancesTable(tables.DataTable):
name = tables.Column("name", verbose_name=_("Name"))
status = tables.Column("status", verbose_name=_("Status"))
zone = tables.Column('availability_zone',
verbose_name=_("Availability Zone"))
image_name = tables.Column('image_name', verbose_name=_("Image Name"))
class Meta:
name = "instances"
verbose_name = _("Instances")
There are several things going on here... we created a table subclass, and defined four columns that we want to retrieve data and display. Each of those columns defines what attribute it accesses on the instance object as the first argument, and since we like to make everything translatable, we give each column a verbose_name that’s marked for translation.
Lastly, we added a Meta class which indicates the meta object that describes the instances table.
Note
This is a slight simplification from the reality of how the instance object is actually structured. In reality, accessing other attributes requires an additional step.
Horizon provides three types of basic action classes which can be taken on a table’s data:
There are also additional actions which are extensions of the basic Action classes:
Now let’s create and add a filter action to the table. To do so, we will need to edit the tables.py file used above. To add a filter action which will only show rows which contain the string entered in the filter field, we must first define the action:
class MyFilterAction(tables.FilterAction):
name = "myfilter"
Note
The action specified above will default the filter_type to be "query". This means that the filter will use the client side table sorter.
Then, we add that action to the table actions for our table.:
class InstancesTable:
class Meta:
table_actions = (MyFilterAction,)
The completed tables.py file should look like the following:
from django.utils.translation import ugettext_lazy as _
from horizon import tables
class MyFilterAction(tables.FilterAction):
name = "myfilter"
class InstancesTable(tables.DataTable):
name = tables.Column('name', \
verbose_name=_("Name"))
status = tables.Column('status', \
verbose_name=_("Status"))
zone = tables.Column('availability_zone', \
verbose_name=_("Availability Zone"))
image_name = tables.Column('image_name', \
verbose_name=_("Image Name"))
class Meta:
name = "instances"
verbose_name = _("Instances")
table_actions = (MyFilterAction,)
So we have a table, ready to receive our data. We could go straight to a view from here, but in this case we’re also going to use horizon’s TabGroup class.
Create a tabs.py file under the mypanel directory. Let’s make a tab group which has one tab. The completed code should look like the following:
from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import tabs
from openstack_dashboard import api
from openstack_dashboard.dashboards.mydashboard.mypanel import tables
class InstanceTab(tabs.TableTab):
name = _("Instances Tab")
slug = "instances_tab"
table_classes = (tables.InstancesTable,)
template_name = ("horizon/common/_detail_table.html")
preload = False
def has_more_data(self, table):
return self._has_more
def get_instances_data(self):
try:
marker = self.request.GET.get(
tables.InstancesTable._meta.pagination_param, None)
instances, self._has_more = api.nova.server_list(
self.request,
search_opts={'marker': marker, 'paginate': True})
return instances
except Exception:
self._has_more = False
error_message = _('Unable to get instances')
exceptions.handle(self.request, error_message)
return []
class MypanelTabs(tabs.TabGroup):
slug = "mypanel_tabs"
tabs = (InstanceTab,)
sticky = True
This tab gets a little more complicated. The tab handles data tables (and all their associated features), and it also uses the preload attribute to specify that this tab shouldn’t be loaded by default. It will instead be loaded via AJAX when someone clicks on it, saving us on API calls in the vast majority of cases.
Additionally, the displaying of the table is handled by a reusable template, horizon/common/_detail_table.html. Some simple pagination code was added to handle large instance lists.
Lastly, this code introduces the concept of error handling in horizon. The horizon.exceptions.handle() function is a centralized error handling mechanism that takes all the guess-work and inconsistency out of dealing with exceptions from the API. Use it everywhere.
There are lots of pre-built class-based views in horizon. We try to provide the starting points for all the common combinations of components.
Open the views.py file, the auto-generated code is like the following:
from horizon import views
class IndexView(views.APIView):
# A very simple class-based view...
template_name = 'mydashboard/mypanel/index.html'
def get_data(self, request, context, *args, **kwargs):
# Add data to the context here...
return context
In this case we want a starting view type that works with both tabs and tables... that’d be the TabbedTableView class. It takes the best of the dynamic delayed-loading capabilities tab groups provide and mixes in the actions and AJAX-updating that tables are capable of with almost no work on the user’s end. Change views.APIView to be tabs.TabbedTableView and add MypanelTabs as the tab group class in the IndexView class:
class IndexView(tabs.TabbedTableView):
tab_group_class = mydashboard_tabs.MypanelTabs
After importing the proper package, the completed views.py file now looks like the following:
from horizon import tabs
from openstack_dashboard.dashboards.mydashboard.mypanel \
import tabs as mydashboard_tabs
class IndexView(tabs.TabbedTableView):
tab_group_class = mydashboard_tabs.MypanelTabs
template_name = 'mydashboard/mypanel/index.html'
def get_data(self, request, context, *args, **kwargs):
# Add data to the context here...
return context
The auto-generated urls.py file is like:
from django.conf.urls import patterns
from django.conf.urls import url
from openstack_dashboard.dashboards.mydashboard.mypanel.views \
import IndexView
urlpatterns = patterns(
'',
url(r'^$', IndexView.as_view(), name='index'),
)
Adjust the import of IndexView to make the code readable:
from openstack_dashboard.dashboards.mydashboard.mypanel import views
Replace the existing url pattern with the following line:
url(r'^$',
views.IndexView.as_view(), name='index'),
The completed urls.py file should look like the following:
from django.conf.urls import patterns
from django.conf.urls import url
from openstack_dashboard.dashboards.mydashboard.mypanel import views
urlpatterns = patterns('',
url(r'^$',
views.IndexView.as_view(), name='index'),
)
Open the index.html file in the mydashboard/mypanel/templates/mypanel directory, the auto-generated code is like the following:
{% extends 'base.html' %}
{% load i18n %}
{% block title %}{% trans "Mypanel" %}{% endblock %}
{% block page_header %}
{% include "horizon/common/_page_header.html" with title=_("Mypanel") %}
{% endblock page_header %}
{% block main %}
{% endblock %}
The main block must be modified to insert the following code:

{{ tab_group.render }}

If you want to change the title of the index.html file to be something else, you can change it. For example, change it to be My Panel in the block title section. If you want the title in the block page_header section to be something else, you can change it. For example, change it to be My Panel. The updated code could be like:
{% extends 'base.html' %}
{% load i18n %}
{% block title %}{% trans "My Panel" %}{% endblock %}
{% block page_header %}
{% include "horizon/common/_page_header.html" with title=_("My Panel") %}
{% endblock page_header %}
{% block main %}

{{ tab_group.render }}

{% endblock %}
This gives us a custom page title, a header, and renders our tab group provided by the view.
With all our code in place, the only thing left to do is to integrate it into our OpenStack Dashboard site.
Note
For more information about Django views, URLs and templates, please refer to the Django documentation.
In order to make My Dashboard show up along with the existing dashboards like Project or Admin on horizon, you need to create a file called _50_mydashboard.py under openstack_dashboard/enabled and add the following:
# The name of the dashboard to be added to HORIZON['dashboards']. Required.
DASHBOARD = 'mydashboard'
# If set to True, this dashboard will not be added to the settings.
DISABLED = False
# A list of applications to be added to INSTALLED_APPS.
ADD_INSTALLED_APPS = [
'openstack_dashboard.dashboards.mydashboard',
]
Everything is in place, now run Horizon on the different port:
./run_tests.sh --runserver <IP_ADDRESS>:8877
Go to http://<your server>:8877 using a browser. After login as an admin you should be able see My Dashboard shows up at the left side on horizon. Click it, My Group will expand with My Panel. Click on My Panel, the right side panel will display an Instances Tab which has an Instances table.
If you don’t see any instance data, you haven’t created any instances yet. Go to dashboard Project -> Images, select a small image, for example, crioos-0.3.1-x86_64-uec , click Launch and enter an Instance Name, click the button Launch. It should create an instance if the OpenStack or devstack is correctly set up. Once the creation of an instance is successful, go to My Dashboard again to check the data.
For a more detailed look into adding a table action, one that requires forms for gathering data, you can walk through Adding a complex action to a table tutorial.


DDOS Mitigation Service
With Strategically Located DDoS Cleansing Centers and 1Tbps+ IP Transit Backbone Capacity, RAKsmart DDoS Migration Solution Detects, Migrates and Cleanses Layer 3/4 Attacks As Well As Effectively Protects Against The Hard To Detect Layer 7 Attacks. Augmented By Intelligent DDoS Migration Algorithm, Our NoC/SoC Operates 24x7 To Ensure Your Applications Are Undisturbed By DDoS Attacks. Remote DDoS Protection Is Also Available For Clients Who Needs Mitigation Services Outside Of RAKsmart Data Centers
Protect Your Services From DDoS Now
Contact Our Experts Now To Start Protecting Yourself From DDoS Attacks
联系我们Global data center network expands global business
Our data centers are all over the world, with excellent geographical redundancy, ideal optimization of delay, and the largest optical fiber docking. The data centers are all operators' neutral data centers, which are provided by top providers
portland
San Jose
Los Angeles
Korea
Japan
Taiwan
India
Thailand
Vietnam
Cambodia
the Philippines
Singapore
London
Frankfurt
Amsterdam
Block any type of DDoS attack
- TCP SYN+ACK
- Slowloris
- TCP FIN
- Mixed SYN+UDP or ICMP+UDP Flood
- Spoofing
- DNS Flood
- TCP RESET
- ICMP
- NXDomain
- TCP ACK
- IGMP
- Ping of Death
- TCP ACK+PSH
- HTTP Flood
- Smurf
- TCP Fragment
- Brute Force
- UDP
- Connection Flood
- As well as other attacks


Represents a user defined framebuffer.
More...
#include <framebuffer.hpp>
Represents a user defined framebuffer.
◆ bind()
| static void hou::framebuffer::bind |
( |
const framebuffer & |
fb | ) |
|
|
static |
Binds a framebuffer as both target and source.
- Parameters
-
- Exceptions
-
◆ bind_draw_target()
| static void hou::framebuffer::bind_draw_target |
( |
const framebuffer & |
fb | ) |
|
|
static |
Binds a framebuffer as the target for drawing operations.
- Parameters
-
- Exceptions
-
◆ bind_read_target()
| static void hou::framebuffer::bind_read_target |
( |
const framebuffer & |
fb | ) |
|
|
static |
Binds a framebuffer as the source framebuffer.
- Parameters
-
- Exceptions
-
◆ get_color_attachment_point_count()
| static uint hou::framebuffer::get_color_attachment_point_count |
( |
| ) |
|
|
static |
Retrieves the number of available slots for color attachments in a framebuffer.
- Returns
- the number of available slots for color attachments.
◆ get_handle()
| const gl::framebuffer_handle& hou::framebuffer::get_handle |
( |
| ) |
const |
|
noexcept |
Retrieves a reference to the OpenGL framebuffer handle.
- Returns
- a reference to the OpenGL framebuffer handle.
◆ has_multisample_attachment()
| bool hou::framebuffer::has_multisample_attachment |
( |
| ) |
const |
Checks if this framebuffer has a multisample attachment.
- Returns
- the result of the check.
◆ is_bound_to_draw_target()
| bool hou::framebuffer::is_bound_to_draw_target |
( |
| ) |
const |
Checks if this framebuffer is currently bound as draw target.
- Returns
- the result of the check.
◆ is_bound_to_read_target()
| bool hou::framebuffer::is_bound_to_read_target |
( |
| ) |
const |
Checks if this framebuffer is currently bound as read target.
- Returns
- the result of the check.
◆ is_complete()
| bool hou::framebuffer::is_complete |
( |
| ) |
const |
Checks if this framebuffer is complete.
Only complete framebuffer objects can be bound or used as source or destination for blit destination. Using an incomplete framebuffer will cause an exception to be thrown.
- Returns
- the result of the check.
◆ set_color_attachment()
| void hou::framebuffer::set_color_attachment |
( |
uint |
attachment_point, |
|
|
const texture & |
tex, |
|
|
uint |
mipmap_level = 0u |
|
) |
| |
Sets a color attachment for this framebuffer.
- Parameters
-
| attachment_point | an index representing the desired attachment point. Its value must be lower than the maximum number of available attachment points. |
| tex | the texture to be attached. The format of the texture must be r, rg, rgb, or rgba. |
| mipmap_level | the mip map level to bind. It must be a valid mip map level of texture. |
- Exceptions
-
| hou::precondition_violation | if attachment_point is greater or equal than the number of allowed attachments, if mipmap_level is greater or equal then the number of mipmap levels of tex, or if the format of tex is not r, rg, rgb, or rgba. |
◆ set_depth_attachment()
| void hou::framebuffer::set_depth_attachment |
( |
const texture & |
tex, |
|
|
uint |
mipmap_level = 0u |
|
) |
| |
Sets the depth attachment for this framebuffer.
- Parameters
-
| tex | the texture to be attached. The format of the texture must be depth or depth_stencil. |
| mipmap_level | the mip map level to bind. It must be a valid mip map level of texture. |
- Exceptions
-
| hou::precondition_violation | if mipmap_level is greater or equal then the number of mipmap levels of tex, or if the format of tex is not depth or depth_stencil. |
◆ set_depth_stencil_attachment()
| void hou::framebuffer::set_depth_stencil_attachment |
( |
const texture & |
tex, |
|
|
uint |
mipmap_level = 0u |
|
) |
| |
Sets the depth and stencil attachment for this framebuffer.
- Parameters
-
| tex | the texture to be attached. The format of the texture must be depth_stencil. |
| mipmap_level | the mip map level to bind. It must be a valid mip map level of texture. |
- Exceptions
-
| hou::precondition_violation | if mipmap_level is greater or equal then the number of mipmap levels of tex, or if the format of tex is not depth_stencil. |
The documentation for this class was generated from the following file:


Counting constraints
[Using integer variables and constraints]
Functions | |
| void | Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
| Post propagator for . | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
| Post propagator for . | |
| void | Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
| Post propagator for . | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF) |
| Post propagator for . | |
| void | Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for . | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for . | |
| void | Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for . | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF) |
| Post propagator for . | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. | |
| void | Gecode::count (Home home, const IntVarArgs &x, const IntSet &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF) |
| Posts a global count (cardinality) constraint. |
Detailed Description
- Note:
- Domain consistency on the extended cardinality variables of the Global Cardinality Propagator is only obtained if they are bounds consistent, otherwise the problem of enforcing domain consistency on the cardinality variables is NP-complete as proved by Qumiper et. al. in ''Improved Algorithms for the Global Cardinality Constraint''.
Function Documentation
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| int | n, | |||
| IntRelType | irt, | |||
| int | m, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for .
Performs domain propagation but is not domain consistent.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const IntSet & | y, | |||
| IntRelType | irt, | |||
| int | m, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for .
Performs domain propagation but is not domain consistent.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| IntVar | y, | |||
| IntRelType | irt, | |||
| int | m, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for .
Performs domain propagation (ipl = IPL_DOM, default) and slightly less domain propagation (all other values for ipl), where y is not pruned. Note that in both cases propagation is not domain consistent.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const IntArgs & | y, | |||
| IntRelType | irt, | |||
| int | m, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for .
Performs domain propagation but is not domain consistent.
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| int | n, | |||
| IntRelType | irt, | |||
| IntVar | z, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for .
Performs domain propagation but is not domain consistent.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const IntSet & | y, | |||
| IntRelType | irt, | |||
| IntVar | z, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for .
Performs domain propagation but is not domain consistent.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| IntVar | y, | |||
| IntRelType | irt, | |||
| IntVar | z, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for .
Performs domain propagation (ipl = IPL_DOM, default) and slightly less domain propagation (all other values for ipl), where y is not pruned. Note that in both cases propagation is not domain consistent.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const IntArgs & | y, | |||
| IntRelType | irt, | |||
| IntVar | z, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Post propagator for .
Performs domain propagation but is not domain consistent.
Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const IntVarArgs & | c, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Posts a global count (cardinality) constraint.
Posts the constraint that and (no other value occurs).
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const IntSetArgs & | c, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Posts a global count (cardinality) constraint.
Posts the constraint that and (no other value occurs).
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const IntVarArgs & | c, | |||
| const IntArgs & | v, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Posts a global count (cardinality) constraint.
Posts the constraint that and (no other value occurs).
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
Throws an exception of type Int::ArgumentSizeMismatch, if c and v are of different size.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const IntSetArgs & | c, | |||
| const IntArgs & | v, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Posts a global count (cardinality) constraint.
Posts the constraint that and (no other value occurs).
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
Throws an exception of type Int::ArgumentSizeMismatch, if c and v are of different size.
| void Gecode::count | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| const IntSet & | c, | |||
| const IntArgs & | v, | |||
| IntPropLevel | ipl = IPL_DEF | |||
| ) |
Posts a global count (cardinality) constraint.
Posts the constraint that and (no other value occurs).
Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
Throws an exception of type Int::ArgumentSizeMismatch, if c and v are of different size.


As data becomes increasingly important in news reporting, this course, which mainly focuses on data visualisation while covering basic data analytics and data journalism workflow, helps students learn the fundamental principles, tools and working process of data news visualization.
At the end of this course, students are expected to build one web-based data visualisation news story and distribute the project via their own websites. Here're the the great stories that the students did in 2017.
"There are a lot of myths about secondary schools in Hong Kong. The best secondary schools (Band 1 schools) have the oldest history and are located in the richest districts. People also observe that schools with a particular
religious background are very prominent in Hong Kong. Are all these true? We collected data showing all secondary schools in Hong Kong and present to you a comprehensive analysis to solve your questions."
Members : Jam LEE Yee Man, John POON Tsz Fung, Alison LI Pui Ying
Mentor : Alex Koo
"Our project is about the craft beer market in Hong Kong. After analyzing and visualizing the data from a local craft beer vendor, Lop Leaf, we will provide you the local consumers' consumption pattern and the craft beer
market information from the experienced operators. We hope you will have a general understanding of this market and the craft beer brands/products through our project."
Members : Gloria SONG Ge, Julianna WU Qiyao, Mary MA Zhuoer
Mentor : Jeff Boda
"Across the globe, cities like New York, London and Taipei have developed bike-friendly policies and introduced bike-sharing systems to encourage the usage of cycling as an alternative eco-friendly mode of transportation.
In Hong Kong, cycling has been perceived as a weekend entertainment more than as a mean of transportation. This project discusses how far Hong Kong has gone to promote cycling, whether and how betterment could be achieved."
Members : Roy TANG Ruibin, Jessie PANG Yu Tung, Shanni CAI Shanni
Mentor : Qiu Yue
"As there has been a lot of suspicions that the rich and powerful in Hong Kong controlled the time that typhoons were hoisted to avoid loss in the stock market, despite the heavy rainstorms. This project is to discuss whether
there is an effect of Li’s field in Hong Kong and what prerequisites HKO they pick to determine the level of typhoon signal by using typhoon Prapiroon as a chief example."
Members : Crystal TAI Chung Yee, Emily CHEUNG Ho Ying, Daniel MA Chun Wai, Melissa KO Yuk Wai
Mentor : John Siu
"In Hong Kong, the air quality is not satisfactory, in which roadside air quality is even worse. Hong Kong roadside air quality levels is still twice that of WHO’s upper limitation. Public transportation has become a major
source of air pollution. This project shows roadside air quality and its determinants in Hong Kong."
Members : Jade LI Yujie, Eva LIU Yue, Jamie HUANG Jingxi
Mentor : Sammy Fung
"North Korea stay mysterious to the world. It is hard for tourist entering without joining escorted tour. Some people may think that travelling to North Korea is an indirect way to support the DPRK regime, thus refuse to
go there. The website is going to explain the misunderstanding of travelling to North Korea, and give you a brief idea of visiting DPRK."
Members : Chungyin CHUNG Yin, Amanda LEUNG Wing Tuen, Carmen CHAN Wing Sum
Mentor : Rubio Chan
Members : King Hei WONG King Hei, Ian MAK Sin Hang, Kim Wong WONG Kam Ki
Mentor : Prof. Ho Lok Sang and Germaine Lau
As data becomes increasingly important in news reporting, this course, which mainly focuses on data visualisation while covering basic data analytics and data journalism workflow, helps students learn the fundamental principles, tools and working process of data news visualization.
At the end of this course, students are expected to build one web-based data visualisation news story and distribute the project via their own websites. Here're the the great stories that the students did in 2017.
"There are a lot of myths about secondary schools in Hong Kong. The best secondary schools (Band 1 schools) have the oldest history and are located in the richest districts. People also observe that schools with a particular
religious background are very prominent in Hong Kong. Are all these true? We collected data showing all secondary schools in Hong Kong and present to you a comprehensive analysis to solve your questions."
Members : Jam LEE Yee Man, John POON Tsz Fung, Alison LI Pui Ying
Mentor : Alex Koo
"Our project is about the craft beer market in Hong Kong. After analyzing and visualizing the data from a local craft beer vendor, Lop Leaf, we will provide you the local consumers' consumption pattern and the craft beer
market information from the experienced operators. We hope you will have a general understanding of this market and the craft beer brands/products through our project."
Members : Gloria SONG Ge, Julianna WU Qiyao, Mary MA Zhuoer
Mentor : Jeff Boda
"Across the globe, cities like New York, London and Taipei have developed bike-friendly policies and introduced bike-sharing systems to encourage the usage of cycling as an alternative eco-friendly mode of transportation.
In Hong Kong, cycling has been perceived as a weekend entertainment more than as a mean of transportation. This project discusses how far Hong Kong has gone to promote cycling, whether and how betterment could be achieved."
Members : Roy TANG Ruibin, Jessie PANG Yu Tung, Shanni CAI Shanni
Mentor : Qiu Yue
"As there has been a lot of suspicions that the rich and powerful in Hong Kong controlled the time that typhoons were hoisted to avoid loss in the stock market, despite the heavy rainstorms. This project is to discuss whether
there is an effect of Li’s field in Hong Kong and what prerequisites HKO they pick to determine the level of typhoon signal by using typhoon Prapiroon as a chief example."
Members : Crystal TAI Chung Yee, Emily CHEUNG Ho Ying, Daniel MA Chun Wai, Melissa KO Yuk Wai
Mentor : John Siu
"In Hong Kong, the air quality is not satisfactory, in which roadside air quality is even worse. Hong Kong roadside air quality levels is still twice that of WHO’s upper limitation. Public transportation has become a major
source of air pollution. This project shows roadside air quality and its determinants in Hong Kong."
Members : Jade LI Yujie, Eva LIU Yue, Jamie HUANG Jingxi
Mentor : Sammy Fung
"North Korea stay mysterious to the world. It is hard for tourist entering without joining escorted tour. Some people may think that travelling to North Korea is an indirect way to support the DPRK regime, thus refuse to
go there. The website is going to explain the misunderstanding of travelling to North Korea, and give you a brief idea of visiting DPRK."
Members : Chungyin CHUNG Yin, Amanda LEUNG Wing Tuen, Carmen CHAN Wing Sum
Mentor : Rubio Chan
Members : King Hei WONG King Hei, Ian MAK Sin Hang, Kim Wong WONG Kam Ki
Mentor : Prof. Ho Lok Sang and Germaine Lau
Chu Hai College of Higher Education
Savantas Policy Institute
International New York Times / Hop Leaf
GloTravel / Eastern Vision
Bloomberg
HK01
Open Source Hong Kong (OSHK)
HK01
Department of Journalism, HKBU


This Trick Might Save Your AirPods’ Battery Life
by Andrew OrrRedditor u/smakusdod proposes a trick that could help with your AirPods’ battery life. It involves resetting the AirPods case and draining the batteries of both the AirPods and the case to re-calibrate the battery life measurement system.
I completely reset the AirPods case (holding down the white button on the back for 10+ seconds), and re-paired them with my iPhone. I then completely drained both AirPods down to zero, and the case itself down to zero through normal usage. Then, I put the dead AirPods into the dead case, and charged them both up to 100%.
At some point over the weekend I’ll try this to see what happens. My AirPods haven’t significantly lost battery life, but I have noticed one Pod has a slightly lower maximum charge than the other one.
Check It Out: This Trick Might Save Your AirPods’ Battery Life


| Package | Description |
|---|---|
| com.thoughtworks.xstream.annotations | |
| com.thoughtworks.xstream.converters | |
| com.thoughtworks.xstream.converters.basic |
Converters for common basic types in Java.
|
| com.thoughtworks.xstream.converters.collections |
Converters for collection objects that write their items as
nested elements, such as arrays, Lists, Sets and Maps.
|
| com.thoughtworks.xstream.converters.enums | |
| com.thoughtworks.xstream.converters.extended |
Extra converters that may not be enabled in XStream by default.
|
| com.thoughtworks.xstream.converters.javabean | |
| com.thoughtworks.xstream.converters.reflection | |
| com.thoughtworks.xstream.converters.time |
Extra converters for the java.time package.
|
| com.thoughtworks.xstream.core.util |
| Modifier and Type | Class and Description |
|---|---|
class |
AnnotationReflectionConverter
Deprecated.
As of 1.3, build into
ReflectionConverter |
| Modifier and Type | Interface and Description |
|---|---|
interface |
Converter
Converter implementations are responsible marshalling Java objects
to/from textual data.
|
interface |
SingleValueConverter
SingleValueConverter implementations are marshallable to/from a single value String representation.
|
| Modifier and Type | Class and Description |
|---|---|
class |
SingleValueConverterWrapper
Wrapper to convert a
SingleValueConverter into a
Converter . |
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractSingleValueConverter
Base abstract implementation of
SingleValueConverter . |
class |
BigDecimalConverter
Converts a java.math.BigDecimal to a String, retaining
its precision.
|
class |
BigIntegerConverter
Converts a java.math.BigInteger to a String.
|
class |
BooleanConverter
Converts a boolean primitive or java.lang.Boolean wrapper to
a String.
|
class |
ByteConverter
Converts a byte primitive or java.lang.Byte wrapper to
a String.
|
class |
CharConverter
Converts a char primitive or java.lang.Character wrapper to
a String.
|
class |
DateConverter
Converts a
Date to a string as a date format, retaining precision down to milliseconds. |
class |
DoubleConverter
Converts a double primitive or java.lang.Double wrapper to
a String.
|
class |
FloatConverter
Converts a float primitive or java.lang.Float wrapper to
a String.
|
class |
IntConverter
Converts an int primitive or java.lang.Integer wrapper to
a String.
|
class |
LongConverter
Converts a long primitive or java.lang.Long wrapper to a String.
|
class |
NullConverter
Special converter to signify nulls at the root level.
|
class |
ShortConverter
Converts a short primitive or java.lang.Short wrapper to
a String.
|
class |
StringBufferConverter
Converts the contents of a StringBuffer to XML.
|
class |
StringBuilderConverter
Converts the contents of a StringBuilder to XML.
|
class |
StringConverter
Converts a String to a String ;).
|
class |
URIConverter
Converts a java.net.URI to a string.
|
class |
URLConverter
Converts a java.net.URL to a string.
|
class |
UUIDConverter
Converts a java.util.UUID to a string.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractCollectionConverter
Base helper class for converters that need to handle
collections of items (arrays, Lists, Maps, etc).
|
class |
ArrayConverter
Converts an array of objects or primitives to XML, using
a nested child element for each item.
|
class |
BitSetConverter
Converts a java.util.BitSet to XML, as a compact
comma delimited list of ones and zeros.
|
class |
CharArrayConverter
Converts a char[] to XML, storing the contents as a single
String.
|
class |
CollectionConverter
Converts most common Collections (Lists and Sets) to XML, specifying a nested
element for each item.
|
class |
MapConverter
Converts a java.util.Map to XML, specifying an 'entry'
element with 'key' and 'value' children.
|
class |
PropertiesConverter
Special converter for java.util.Properties that stores properties in a more compact form than
java.util.Map.
|
class |
SingletonCollectionConverter
Converts singleton collections (list and set) to XML, specifying a nested element for the
item.
|
class |
SingletonMapConverter
Converts a singleton map to XML, specifying an 'entry'
element with 'key' and 'value' children.
|
class |
TreeMapConverter
Converts a java.util.TreeMap to XML, and serializes
the associated java.util.Comparator.
|
class |
TreeSetConverter
Converts a java.util.TreeSet to XML, and serializes
the associated java.util.Comparator.
|
| Modifier and Type | Class and Description |
|---|---|
class |
EnumConverter
Converter for JDK 1.5 enums.
|
class |
EnumMapConverter
Serializes an Java 5 EnumMap, including the type of Enum it's for.
|
class |
EnumSetConverter
Serializes a Java 5 EnumSet.
|
class |
EnumSingleValueConverter
A single value converter for a special enum type.
|
class |
EnumToStringConverter<T extends java.lang.Enum<T>>
A single value converter for a special enum type using its string representation.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ActivationDataFlavorConverter
Converts an
ActivationDataFlavor . |
class |
CharsetConverter
Converts a java.nio.charset.Carset to a string.
|
class |
ColorConverter
Converts a java.awt.Color to XML, using four nested elements:
red, green, blue, alpha.
|
class |
CurrencyConverter
Converts a java.util.Currency to String.
|
class |
DynamicProxyConverter
Converts a dynamic proxy to XML, storing the implemented
interfaces and handler.
|
class |
EncodedByteArrayConverter
Converts a byte array by default to a single Base64 encoding string.
|
class |
FileConverter
This converter will take care of storing and retrieving File with either
an absolute path OR a relative path depending on how they were created.
|
class |
FontConverter |
class |
GregorianCalendarConverter
Converts a java.util.GregorianCalendar to XML.
|
class |
ISO8601DateConverter
A DateConverter conforming to the ISO8601 standard.
|
class |
ISO8601GregorianCalendarConverter
A GregorianCalendarConverter conforming to the ISO8601 standard.
|
class |
ISO8601SqlTimestampConverter
A SqlTimestampConverter conforming to the ISO8601 standard.
|
class |
JavaClassConverter
Converts a java.lang.Class to XML.
|
class |
JavaFieldConverter
Converts a java.lang.reflect.Field to XML.
|
class |
JavaMethodConverter
Converts a java.lang.reflect.Method to XML.
|
class |
LocaleConverter
Converts a java.util.Locale to a string.
|
class |
LookAndFeelConverter
A converter for Swing LookAndFeel implementations.
|
class |
NamedArrayConverter
An array converter that uses predefined names for its items.
|
class |
NamedCollectionConverter
A collection converter that uses predefined names for its items.
|
class |
NamedMapConverter
A map converter that uses predefined names for its elements.
|
class |
PathConverter
Converts a
Path to string. |
class |
PropertyEditorCapableConverter
A SingleValueConverter that can utilize a
PropertyEditor implementation used for a
specific type. |
class |
RegexPatternConverter
Ensures java.util.regex.Pattern is compiled upon deserialization.
|
class |
SqlDateConverter
Converts a java.sql.Date to text.
|
class |
SqlTimeConverter
Converts a java.sql.Time to text.
|
class |
SqlTimestampConverter
Converts a
Timestamp to a string. |
class |
StackTraceElementConverter
Converter for StackTraceElement (the lines of a stack trace) - JDK 1.4+ only.
|
class |
SubjectConverter
Converts a
Subject instance. |
class |
TextAttributeConverter
A converter for
TextAttribute constants. |
class |
ThrowableConverter
Converter for Throwable (and Exception) that retains stack trace.
|
class |
ToAttributedValueConverter
Converter that supports the definition of one field member that will be written as value and
all other field members are written as attributes.
|
class |
ToStringConverter
Convenient converter for classes with natural string representation.
|
| Modifier and Type | Class and Description |
|---|---|
class |
JavaBeanConverter
Can convert any bean with a public default constructor.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractAttributedCharacterIteratorAttributeConverter
An abstract converter implementation for constants of
AttributedCharacterIterator.Attribute and derived types. |
class |
AbstractReflectionConverter |
class |
CGLIBEnhancedConverter
Converts a proxy created by the CGLIB
Enhancer . |
class |
ExternalizableConverter
Converts any object that implements the java.io.Externalizable interface, allowing compatibility with native Java
serialization.
|
class |
LambdaConverter
Converts a lambda type.
|
class |
ReflectionConverter |
class |
SerializableConverter
Emulates the mechanism used by standard Java Serialization for classes that implement java.io.Serializable AND
implement or inherit a custom readObject()/writeObject() method.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ChronologyConverter
Converts a
Chronology instance to a string using its id. |
class |
DurationConverter
Converts a
Duration instance to string. |
class |
HijrahDateConverter
Converts a
HijrahDate to a string. |
class |
InstantConverter
Converts a
Instant instance to string. |
class |
JapaneseDateConverter
Converts a
JapaneseDate to a string. |
class |
JapaneseEraConverter
Converts a
JapaneseEra instance to a string using its id. |
class |
LocalDateConverter
Converts a
LocalDate to a string. |
class |
LocalDateTimeConverter
Converts a
LocalDateTime to a string. |
class |
LocalTimeConverter
Converts a
LocalTime to a string. |
class |
MinguoDateConverter
Converts a
MinguoDate to a string. |
class |
MonthDayConverter
Converts a
MonthDay instance to string. |
class |
OffsetDateTimeConverter
Converts a
OffsetDateTime to a string. |
class |
OffsetTimeConverter
Converts a
OffsetTime to a string. |
class |
PeriodConverter
Converts a
Period instance to string. |
class |
SystemClockConverter
Converts a system
Clock , using zone as nested element. |
class |
ThaiBuddhistDateConverter
Converts a
ThaiBuddhistDate to a string. |
class |
ValueRangeConverter
Converts a temporal
ValueRange , using four nested elements: maxLargest, maxSmallest, minLargest, and
minSmallest. |
class |
WeekFieldsConverter
Converts a
WeekFields instance, using two nested elements: minimalDays and minSmallest. |
class |
YearConverter
Converts a
Year instance to string. |
class |
YearMonthConverter
Converts a
YearMonth instance to string. |
class |
ZonedDateTimeConverter
Converts a
ZonedDateTime to a string. |
class |
ZoneIdConverter
Converts a
ZoneId instance to string. |
| Modifier and Type | Class and Description |
|---|---|
class |
com.thoughtworks.xstream.core.util.SelfStreamingInstanceChecker
A special converter that prevents self-serialization.
|
Copyright © 2004–2021 XStream. All rights reserved.


Library Simplified iOS Application Software
Copyright 2015 The New York Public Library, Astor, Lenox, and Tilden Foundations
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Digital Rights Management Software
Adobe DRM. The Software contains Adobe DRM (“the Adobe Software”), which NYPL has provided to you by license arrangement with Adobe Systems Incorporated (“Adobe”), a Delaware corporation having a place of business at 345 Park Avenue, San Jose, CA 95110-2704, and with webqem pty ltd (the “Adobe Supplier”), a corporation having a place of business at 59 Backland Road, Atlanta, GA 30342. See the END USER LICENSE AGREEMENT to understand rights granted in the application for its use.
Content Hosting and Services privided by Baker & Taylor
B&T is a corporation having its principal place of business at 2550 W. Tyvola Road, Suite 300, Charlotte, NC 28217. B&T’s Axis360 services and Content are governed by its own license agreement, which can be found at: Axis360 (31 Aug 2015). You may not use the B&T services and Content except in compliance with this license.
Funding
This project was made possible in part by
- Institute of Museum and Library Services
- The New York Public Library, Astor, Lenox, and Tilden Foundations
- The Andrew w. Mellon Foundation
- FirstBook
- Baker & Taylor
Product Development Team
- James C. English
- Mauricio Giraldo
- Gwendolen Quinn
- Leonard Richardson
- Mark Raynsford
Engineering Contribution
- Members and contributors to the The Readium Foundation
- Members of the Open Publication Distribution System community
- Hadrien Gardeur - Readium Foundation / OPDs / Feedbooks
- Mark Noble - Marmott Library Network
- Mikael Menu - Mantano SAS
- Jean-Marie Geffroy - Mantano SAS
- Ben Anderman - Evident Point Corp
- Raduz Benicky - Evident Point Corp
- Juan Corona - Evident Point Corp
Content Contribution
Public Domain
- Eric Hellman - Unglue.it / Project Gitenberg
- The contributing artist of The Creative Action Network at Recovering the Classics
Licensed Content
- Macmillan: Providing unlimited access to all of the K-12 age-appropriate titles in their title catalog of approximately 2,500 books.
- Simon & Schuster: Providing access to their entire e-catalog of books for children ages 4-14, comprised of 3,000 titles.
- Penguin Random House: Committing to provide a robust offering of their popular and award-winning books.
- Hachette: Offering participating students access to a robust catalog of their popular and award-winning titles.
- Candlewick: Providing unlimited access to all relevant children’s and young-adult eBook titles in their catalog.
- Bloomsbury: Providing unlimited access to over 1,000 of its most popular titles.
- Lee & Low: The leading independent publisher of multicultural books is providing unlimited access to over 700 of its titles.
- Cricket Media: Offering full digital access to all of its market-leading magazines for children and young adults, including Ladybug and Cricket.
- HarperCollins: Providing a robust selection of their award-winning and popular titles.


| DOSE: |
90 ml |
oral |
GHB |
(liquid) |
My mate bought a huge jug of GHB over the Internet. I dont know if GHB is still legal in the UK but at that time, one was allowed to possess the substance but not supply it. My mate is very drug wise and consults online every time he takes some. At first we did not know the strength of the batch and we consumed very little at first, diluting it as needed. (Notice: GHB is usually diluted but can be very strong sometimes so take care) I usually take GHB when I go clubbing and I prefer it to anything else as I dont experience any comedown or hangover the next day. For me GHB is a mood-enhancer. When you win the lotto while on GHB, you will literally be the happiest man alive.  So when I go clubbing its just an excellent night out, real fun with no side effects.
I also had some sleeping problems but I've never consulted a GP over this problem. I started drinking half my normal dose just before I went to sleep.(My normal dose was about 30mil mixed with any fluid...NOT ALCOHOL!!) As I said before GHB enhances my mood so if I drink it when I go to sleep, I will sleep like a baby or a rock, take your pic. Cool thing is, when I wake up the next morning I feel VERY refreshed and energetic, its amazing really!
So one night around 7pm all my housemates except one Spanish bird were out clubbing and pubbing. I was busy with a medical trail and weren't allowed to consume any alcohol so I decided to stay indoors and chill out. Me and my mate had the exact same water bottle in our room. Mine was always filled with water and his was filled with GHB. I was in my room and decided to drink some water. I accidentally drank two mouth fulls of his GHB before realizing my mistake as GHB tastes like dishwashing liquid. (uncolored GHB and water look alike so one can easily get confused)
Although I ingested way too much, I felt confident in my body to break up the substance very quickly and had loads of water too to speed up the process. I went downstairs and watched some TV. The next thing I remember was lying on my bed with three paramedics and two cops around me.
What my Spanish housemate reported was that I fell asleep on the sofa in the living room. She went upstairs and after about two hours, she heard screams downstairs. When she came running down she found me in a hysterical state running through the house, up and down the stairs without stopping. When she tried to stop me to ask me what's wrong, I just screamed in her face shaking her around like a rag doll. I even tried to topple a HUGE cabinet over on top of me and if she didnt stop me I would surely be dead or a paraplegic. She got really scared and decided to phone the paramedics and police. I then finally ran into the toilet and took a long wee. After that I was as calm as a sloth, sleepwalked to my bed and continued sleeping.
This was when the police and paramedics woke me up. When they saw I was in a stable condition, they left.
I think that whilst unconscious or in a deep sleep, My body had to dispose of some urine. I had some flashbacks of me screaming and being 'crazy' and I do remember that my bladder felt like bursting. That's why after my visit to the loo, I calmed down.
I wonder if something worse could have happened if I hadn't drank a lot of water beforehand... perpetual coma perhaps? Who knows.
LAST WORD:
Store GHB away from water as one wont be able to tell the difference. Not all batches are the same dilution. When taking GHB always tell someone what youre up to so the appropriate action can be taken if something goes wrong.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Today, I'm apparently expected to review my own review of that book I reviewed yesterday. How delightfully recursive!*
This review is a highly disturbing work of high-class subversion. The author leads with a quote from Emma Goldman, clearly demonstrating her subversive tendencies.
The rest of the review deals with a subversive novel containing such outstanding criticism of our current society that it's a marvel the readers haven't destroyed capitalism already.
Instead of displaying proper moral outrage at this sinister sedition, the author of the review seems more occupied with analysing the perceived "flaws" of this pernicious work, clearly trying to distract the readers of the review from the imminent danger posed by the author of the novel.
The only logical conclusion is that this wicked woman is in cahoots with the author, helping him to undermine the very foundation of order upon which our prosperous society has been build. Gadzooks! If they are not stopped, Atlas won't just shrug, he'll have a goddamn epileptic seizure!
Recommendation: Bring me EVERYONE!
* I dated a computer scientist once. Never again.


object CommandDefaults
(source)
An object class containing the default command property settings.
| EXEC_WITH_SUBCOMMANDS |
const val EXEC_WITH_SUBCOMMANDS: Boolean
The default setting for whether commands should execute alongside their subcommands, set as false. |
| IS_DISABLED |
const val IS_DISABLED: Boolean
The default setting for whether the command is disabled, set as false (commands default to enabled). |
| NO_DESCRIPTION |
const val NO_DESCRIPTION: String
The default command description, set as no description available. |
| NO_USAGE |
const val NO_USAGE: String
The default command usage information, set as no usage information available. |
| PARENT |
const val PARENT: String
The default parent name, set as an empty string. |
| PREFIX |
const val PREFIX: String
The default command prefix / activator, set as a forward slash '/'. |


These release notes cover new developer and user-facing incompatibilities, features, and major improvements.
Fixed hadoop-setup-conf.sh to put proxy user in core-site.xml. (Arpit Gupta via Eric Yang)
Added parameter for HBase user to setup config script. (Arpit Gupta via Eric Yang)
Removed unnecessary security logger configuration. (Eric Yang)
Fixed recursive sourcing of HADOOP_OPTS environment variables (Arpit Gupta via Eric Yang)
Fixed hadoop-setup-conf.sh to handle config file consistently. (Eric Yang)
Added toggle for dfs.support.append, webhdfs and hadoop proxy user to setup config script. (Arpit Gupta via Eric Yang)
Fixed conflict uid for install packages. (Eric Yang)
Added init.d script for jobhistory server and secondary namenode. (Eric Yang)
HADOOP-7681. Fixed security and hdfs audit log4j properties (Arpit Gupta via Eric Yang)
Committed to trunk and v23, since code reviewed by Eric.
Set hdfs uid, mapred uid, and hadoop gid to fixed numbers (201, 202, and 123, respectively).
Adding support for Kerberos HTTP SPNEGO authentication to the Hadoop web-consoles
Give meaningful error message instead of NPE.
Added a conf property dfs.webhdfs.enabled for enabling/disabling webhdfs.
Added two new conf properties dfs.web.authentication.kerberos.principal and dfs.web.authentication.kerberos.keytab for the SPNEGO servlet filter.
New dfsadmin command added: [-setBalancerBandwidth <bandwidth>] where bandwidth is max network bandwidth in bytes per second that the balancer is allowed to use on each datanode during balacing.
This is an incompatible change in 0.23. The versions of ClientProtocol and DatanodeProtocol are changed.
Change recoverLease API to return if the file is closed or not. It also change the semantics of recoverLease to start lease recovery immediately.
WARNING: No release note provided for this incompatible change.
Removed inheritance of certain server environment variables (HADOOP_OPTS and HADOOP_ROOT_LOGGER) in task attempt process.
contrib/vaidya/bin/vaidya.sh script fixed to use appropriate jars and classpath
Adds cumulative cpu usage and total heap usage to task counters. This is a backport of MAPREDUCE-220 and MAPREDUCE-2469.
Generalizes token renewal and canceling to a common interface and provides a plugin interface for adding renewers for new kinds of tokens. Hftp changed to store the tokens as HFTP and renew them over http.
Added config option mapreduce.tasktracker.cache.local.keep.pct to the TaskTracker. It is the target percentage of the local distributed cache that should be kept in between garbage collection runs. In practice it will delete unused distributed cache entries in LRU order until the size of the cache is less than mapreduce.tasktracker.cache.local.keep.pct of the maximum cache size. This is a floating point value between 0.0 and 1.0. The default is 0.95.
I just committed this. Thanks Anupam!