--- title: Organizations layout: default permalink: /en/orgs/ ref: publishers lang: en --- {% include breadcrumbs.html %}
{{ organization.description_en }}
{{ dataset_count }} datasets


Deciphering the security descriptor
The security descriptor, as displayed by sc sdshow, is formatted according the Security Descriptor Definition
Language (SDDL).
The descriptor will usually be divided into two parts:
- Prefix of S: – System Access Control List (SACL),controls auditing (not covered in this post)
- Prefix of D: – Discretionary ACL (DACL),controls permissions
Each section, inside the parenthesis, represent a specific entry (security/auditing).
Inside the parenthesis, the user account and the correct permissions are specified.
(A;;CCLCSWLOCRRC;;;AU)
The first letter represents Allow (A) the opposite of Deny which would be represented by a (D).
Each pair of letters represents a specific permission:
CC – SERVICE_QUERY_CONFIG – ask the SCM for the service’s current configuration
LC – SERVICE_QUERY_STATUS – ask the SCM for the service’s current status
SW – SERVICE_ENUMERATE_DEPENDENTS – list dependent services
LO – SERVICE_INTERROGATE – ask the service its current status
CR – SERVICE_USER_DEFINED_CONTROL – send a service control defined by the service’s authors
RC – READ_CONTROL – read the security descriptor on this service.
Additional permissions:
RP – SERVICE_START – start the service
WP – SERVICE_STOP – stop the service
DT – SERVICE_PAUSE_CONTINUE – pause / continue the service
The last two letters define the security principal assigned with these permissions (a SID or well known. See child page for aliases
Lets look at another example:
(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)
A – Allow
CC – SERVICE_QUERY_CONFIG – ask the SCM for the service’s current configuration
DC – Delete All Child Objects
LC – SERVICE_QUERY_STATUS – ask the SCM for the service’s current status
SW – SERVICE_ENUMERATE_DEPENDENTS – list dependent services
RP – Read all properites
WP – SERVICE_STOP – stop the service
DT – SERVICE_PAUSE_CONTINUE – pause / continue the service
LO – SERVICE_INTERROGATE – ask the service its current status
CR – SERVICE_USER_DEFINED_CONTROL – send a service control defined by the service’s authors
SD – Delete
RC – READ_CONTROL – read the security descriptor on this service.
WD – Modify permissions
WO – Modify owner
BA- Built-in administrators


--- layout: jetpack-portfolio title: CollaboLabs date: 2015-04-22 11:25:34.000000000 +05:30 categories: [] tags: [] status: publish type: jetpack-portfolio published: true meta: _wp_old_slug: collabolabs-co dsq_thread_id: '' name: CollaboLabs sharing_disabled: '1' switch_like_status: '1' _wpcom_is_markdown: '1' _edit_last: '4' author: login: cvlewis email<EMAIL_ADDRESS>display_name: Carl V. Lewis first_name: Carl V. last_name: Lewis excerpt: !ruby/object:Hpricot::Doc options: {} ---
[call_to_action]View Project[/call_to_action]


Keras utilities.
class CustomObjectScope
: Provides a scope that changes to _GLOBAL_CUSTOM_OBJECTS
cannot escape.
class GeneratorEnqueuer
: Builds a queue out of a data generator.
class HDF5Matrix
: Representation of HDF5 dataset to be used instead of a Numpy array.
class OrderedEnqueuer
: Builds a Enqueuer from a Sequence.
class Progbar
: Displays a progress bar.
class Sequence
: Base object for fitting to a sequence of data, such as a dataset.
class SequenceEnqueuer
: Base class to enqueue inputs.
convert_all_kernels_in_model(...)
: Converts all convolution kernels in a model from Theano to TensorFlow.
custom_object_scope(...)
: Provides a scope that changes to _GLOBAL_CUSTOM_OBJECTS
cannot escape.
get_custom_objects(...)
: Retrieves a live reference to the global dictionary of custom objects.
get_file(...)
: Downloads a file from a URL if it not already in the cache.
get_source_inputs(...)
: Returns the list of input tensors necessary to compute tensor
.
model_to_dot(...)
: Convert a Keras model to dot format.
multi_gpu_model(...)
: Replicates a model on different GPUs. (deprecated)
normalize(...)
: Normalizes a Numpy array.
plot_model(...)
: Converts a Keras model to dot format and save to a file.
to_categorical(...)
: Converts a class vector (integers) to binary class matrix.


Game to Code — Code to Game
Hey, I'm Codey. Welcome to my lab.
I created this lab for other Indie creators like me.
If you want to create your own worlds.
If you have the creative spark in you.
If you want to make it better, faster, more awesome.
I'll show you the way.
I'll walk you through step by step.
I'll show you how to build my worlds, my games, my adventures,
and give you all the tools and the pieces you need to make your own.
Whether you want to just make a short game to impress your friends,
or you want to join the Indie revolution and design your own life free from the demands of others:
I'll guide you and empower you with everything you need.
You'll make greater worlds than I could even imagine.
I'm just here to get you started.
Download Courses from the Unity Asset Store!
Join the discussion!


{% extends "base.html" %} {% load static %} {% load show_pagination %} {% block head_tags %} {% endblock %} {% block content %}
The below is a number of toolbar buttons that will open various pages. If you would like to create your own you can use the Custom Link Button Maker. The links in all these extensions can be changed in their options window after beings installed.
{% for entry in entries.object_list %}{{ entry.description }}
{% endfor %} {% show_pagination entries link_button %} {% endblock %}


[ Test minInterval ] yAxis: {minInterval: 1, min: 0}, series.data: [1]
[ Test category axis interval ] interval of xAxis should be approperiate after rotated.
[ Test time axis interval ] should not overlap when data zoom.


Oops! Error {{error}} not found.
The page you were looking for doesn't exist.
We think the page may have moved.
Error {{error}} permission denied.
You are not authorized to view this page.
If you entered the URL manually please check your spelling and try again.


Belvès 100 km
Belvès FRA
Website: www.100kmbelves.com
Race Winners
(41 runnings)
9:21.55 9:16:56 9:49:55 9:27:56 8:24:05 14 Apr
2007
7:37:59
9:50:25
22 Apr
2006
6:51:50
8:45:06
23 Apr
2005
7:41:40
9:46:19
25 Apr
2004
7:20:07
9:15:18
26 Apr
2003
7:40:02
9:33:22
27 Apr
2002
7:54:40
9:43:25
29 Apr
2001
7:22:28
9:23:32
30 Apr
2000
6:17:17
7:53:12
17 Apr
1999
7:48:33
9:48:33
25 Apr
1998
7:06:27
8:57:11
26 Apr
1997
7:12:57
10:08:15
04 May
1996
7:40:11
10:20:02
13 May
1995
7:37:01
10:37:49
30 Apr
1994
7:38:19
9:03:33
01 May
1993
7:37:33
10:21:07
25 May
1992
7:29:23
8:38:30
20 Apr
1991
7:16:59
9:35:10
28 Apr
1990
6:49:54
10:37:40
22 Apr
1989
6:38:38
9:13:09
30 Apr
1988
6:31:40
9:33:
25 Apr
1987
6:44:00
9:30:
27 Apr
1986
6:43:16
9:23:
27 Apr
1985
7:20:
10:41:
28 Apr
1984
6:59:17
10:05:50
23 Apr
1983
6:58:13
9:26:33
24 Apr
1982
7:01:40
10:22:20
01 May
1981
6:54:06
9:34:34
26 Apr
1980
7:34:20
9:24:02
28 Apr
1979
6:58:19
9:27:
29 Apr
1978
7:35:
10:49:
23 Apr
1977
7:50:
14:01:
(nc) => national championship
Notes: 1977 was the inaugural year. Distances are suspect for 1988 and earlier. The 2000
and 2013 events were also the European
Championships.
22 Apr
2017
7:43:00
Stéphane Ruel (FRA)
9:39:19
Karine Zeimer (FRA)
16 Apr
2016
7:44:52
Hervé Seitz (FRA)
9:34:04
Marlene Vigier (FRA)
25 Apr
2015
7:07:39
Mickaël Boch-2
9:22:42
Stephanie Pacaud (FRA)
26 Apr
2014
7:33:15
Jerome Chiotti (FRA)
8:30:40
Mildred Haans (NED)
27 Apr
2013
6:53:14
Asier Cuevas Ettcheto (ESP)
(nc)
7:38:52
Kajsa Berg (SWE)
(nc)
14 Apr
2012
7:21:30
Régis Lacombe (FRA)
(nc)
Julie Chaboud (FRA)
(nc)
16 Apr
2011
7:06:54
Mickaël Boch (FRA)
Caroline Dubois (FRA)
24 Apr
2010
7:18:45
Christophe
Buquet-3
Monique Gauthier (FRA)
25 Apr
2009
7:14:12
Christophe
Buquet-2
(nc)
Laurence Suisse (FRA)
(nc)
26 Apr
2008
7:11:23
Christophe Buquet (FRA)
Brigitte Bec (FRA)
Marc VanderLinden (BEL)
Chantal Bois (FRA)
Jean-Jacques Moros (FRA)
(nc)
Karine Herry (FRA)
(nc)
Patrick Bruni
Elke Streicher
Jean-Marc Bordus-2
Brigitte Declerq (FRA)
Patrick Marlas (FRA)
Jacqueline Garlet (FRA)
Miguel Martinez
Patricia Boussely (FRA)
Valeriy Kanarski (BLR)
Marie-Ang Dauzan (FRA)
Takahiro Sunada (JPN)
Edit Berces (HUN)
Jean-Marc Bordus (FRA)
Sylvie Baal (FRA)
Gilles Diehl (FRA)
(nc)
Murielle Brionne (FRA)
(nc)
Oliver Muhlhoff (FRA)
Paulette Echevarne-6
Christian Roig (FRA)
Paulette Echevarne-5
Yves Laissu (FRA)
Carmela Dupont (FRA)
Jacky Morrau (FRA)
Anny Floris-2
Michel Morisset (FRA)
Annette Vidal-2
Philippe Fasi (FRA)
Anny Floris (FRA)
Bernard Rosetti (FRA)
Paulette Echevarne-4
Jean-Marie Bellocq-9
Annette Vidal (FRA)
Jean-Marie Bellocq-8
Paulette Echevarne-3
Jean-Marie Bellocq-7
Paulette Echevarne-2
Jean-Marie Bellocq-6
Paulette Echevarne (FRA)
Jean-Marie Bellocq-5
Chantal Nigot (FRA)
Denis Creissels (FRA)
Madeleine Guilaneuf (FRA)
Jean-Marie Bellocq-4
Stephanie Mazoin (FRA)
Claude Ansard (FRA)
(nc)
Martine Planus-Blandin (FRA)
(nc)
Jean-Marie Bellocq-3
Helene Garcia (FRA)
Jean-Marie Bellocq-2
Helene Bassereau-4
Jean-Marie Bellocq (FRA)
Helene Bassereau-3
Daniel Lacan (FRA)
Helene Bassereau-2
Serge Vottereau (FRA)
Helene Bassereau (FRA)
Jean LePotier (FRA)
Rose-Marie Vidal (FRA)
2013 Jerome Bellanca was the national champion (2nd place, 6:53:35)
2013 Anne-Cecile Fontaine was the national champion (14th place, 8:31:31)
2009 Eugenie Monteil was the national champion (2nd place, 9:28:15)
Most Wins (1977-date)
Men
9
Jean-Marie Bellocq (FRA)
1980-82,1984,1986-90
Women
6
Paulette Echevarne (FRA)
1987-89,1991,1996-97
Prize Money
(ADR qualified runners)
No information is available on prize money.
Race Time Bias (sec/km)
The race time bias is not calculated for distances beyond 43 km.
Competitive Level
(1990-date)
Insufficient information to calculate the competitive level.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113489-new-members/topic/RFC.3A.20operator.20norm.html ---
I've been playing with the space of bounded linear maps between normed space, see https://github.com/jdsalchow/mathlib/blob/calculus/analysis/functional/operator_norm.lean
Before splitting this up into smaller pieces and creating a PR, I thought I better ask for comments. So, comments anybody?
local attribute[instance] classical.prop_decidable
-- people often go for local attribute [instance, priority 0] classical.prop_decidable
nowadays because it is less likely to break proofs that actually rely on decidability. This might well not be an issue in this code though.
Is there a way to forget a local attribute when it's not needed anymore?
put it inside a section
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


m.prop
This is a getter-setter factory utility. It returns a function that stores information.
Note that modifying the values of m.prop
getter-setters does not trigger redrawing. Instead, Mithril's redrawing system relies on m.startComputation
and m.endComputation
. These functions are internally called by Mithril when you initialize a component via m.mount
or m.route
, and when you trigger event handlers that were created within templates with m()
.
Usage
//define a getter-setter with initial value `John`
var name = m.prop("John");
//read the value
var a = name(); //a == "John"
//set the value to `Mary`
name("Mary"); //Mary
//read the value
var b = name(); //b == "Mary"
It can be used in conjunction with m.withAttr
to implement data binding in the view-to-model direction and to provide uniform data access for model entity properties.
//a contrived example of bi-directional data binding
var User = {
model: function(name) {
this.name = m.prop(name);
},
controller: function() {
this.user = new User.model("John Doe");
},
view: function(controller) {
m.render("body", [
m("input", {onchange: m.withAttr("value", controller.user.name), value: controller.user.name()})
]);
}
};
In the example above, the usage of m.prop
allows the developer to change the implementation of the user name getter/setter without the need for code changes in the controller and view.
m.prop
can also be used in conjunction with m.request
and m.deferred
to bind data on completion of an asynchronous operation.
var users = m.prop([]);
var error = m.prop("");
m.request({method: "GET", url: "/users"})
.then(users, error); //on success, `users` will be populated, otherwise `error` will be populated
//assuming the response contains the following data: `[{name: "John"}, {name: "Mary"}]`
//then when resolved (e.g. in a view), the `users` getter-setter will contain a list of User instances
//i.e. users()[0].name() == "John"
Third-party promise library support
If a promise is passed into m.prop()
, a Mithril promise is returned. Mithril promises are also getter-setter functions, which are populated with the resolved value if the promise is fulfilled successfully.
Until the promise is resolved, the value of the prop will resolve to undefined
Here's an example using the Q promise library:
var deferred = Q.defer()
var users = m.prop(deferred.promise)
users() // undefined
deferred.resolve("Hello")
//wait for next tick for Q's A+ compliant promise to actually resolve
setTimeout(function() {
users() // Hello
users.then(function(value) {
console.log(value) //Hello
})
}, 1000)
Serializing getter-setters
Getter-setters are JSON-serializable:
var data = {foo: m.prop("bar")};
JSON.stringify(data); // '{"foo": "bar"}'
This allows getter-setters to be passed directly as parameters to m.request
, for example.
Signature
GetterSetter prop([any initialValue])
where:
GetterSetter :: any getterSetter([any value])
any initialValue (optional)
An initialization value. If not provided, the value of the getter-setter's internal store defaults to
undefined
.returns any getterSetter([any value])
A getter-setter method.
any value (optional)
If provided, it updates the getter-setter's internal store to the provided value.
If not provided, return the current internally stored value.
returns any value
This method always returns the value of the internal store, regardless of whether it was updated or not.


New Job
Record Purchase
Show Jobs
Show Consumption from store
Show unfulfilled outside Part Requests
Show Finished Jobs
Show Unassigned Jobs
Show Assigned Jobs
Show Current Stock
Show Purchase Data
Remove Spoils from Stock
Show Spoils Data


Attention: Present Direct Tel:<PHONE_NUMBER>0 Direct Fax:<PHONE_NUMBER>1 World Tel: +873-76-3432240 World Fax: +873-76-3432241 Date: �Urgente!� Do not be surprised about this letter to you as I got your contact through my mother. My name is Aron Nkomo the last born of late Joshua Nkomo the former Vice President of Zimbabwe and Former President of Zimbabwe African People's Union (ZAPU). However, I was studying in a boarding high school when I had to, forcefully, return for my father's burial. After the burial, my father's lawyer notified the family about his Will in their chamber. While going through the will, I discovered that my father used his position as the Former Vice President to acquire and make a deposition of US$ 23 M {Twenty-three Million United States dollars} in a special Security Company in Amsterdam, Netherlands I immediately had to travel to Amsterdam where a financial Expert advised me on the best way to safe guard and realize usefully this funds without any problems from the Dutch authorities. This was to involve an established Foreigner. This is why I am making this contact with you now and right now; I am in Amsterdam arranging and investigating possible investment opportunities and the best possible contacts to ensure the retrieval of the consignment from the Security Company. We will then deposit it in a bank account to be opened by you here in Amsterdam, for onward transfer to your account in your country. You are to come down to Amsterdam and assist me by being the final beneficiary of the funds. I am my family would like to settle I your country where the money will be used to establish a thriving business. I believe with this arrangement we will have a better life have a better education and more respectable life with the power of money backing my family and with your assistance. This is my lifelong dream. Here in Amsterdam, my refugee status has eliminated any chances of my owning an account for such huge amount of money. Indicate your interest and capability for more details. You are entitled to 25% of the total amount for assisting me; I have mapped out 3% for immediate re-imbursement for expenses upon your arrival here, while the rest will be for me, and my family members, which I would like to invest in your country under your close supervision and direction. Note: The content of the consignment is US$ 23 million cash money, but the Security Company does not know the actual content of the consignment because it was deposited by my father with a declaration that the content is precious metals and diamond valued at US$ 23 M, and this was done with diplomatic immunity and for security reason, at the time, my father was still in government in my country Zimbabwe. This transaction is basically risk-free for you; therefore, reach me, preferably with the above stated phone or fax number to ensure the security of this transaction. Note that it is because of the confidential nature of this transaction that I am giving you this contact Info which you can use to reach me anywhere I am in the world: World Tel: +873-76-3432240 World Fax: +873-76-3432241 Private E-mail<EMAIL_ADDRESS>Awaiting your immediate, urgent contact! Yours Faithfully, Aron T. NKOMO Director. ______________________________________________________ Get Paid... With Your Free Email at http://www.zwallet.com/index.html?user=aronnkomo


Social Media Dashboard
Total Followers: 23,004
@nathanf
1987
Followers
12 Today
@nathanf
1044
Followers
99 Today
@realnathanf
11k
Followers
1099 Today
Nathan F.
8239
Subscribers
144 Today
Overview - Today
Page Views
87
3%
Likes
52
2%
Likes
5462
2257%
Profile Views
52k
1375%
Retweets
117
303%
Likes
507
553%
Likes
107
19%
Total Views
1407
12%


You have made 47 pledges
and sought 4 pledges so far and
there are 134,890 more pledge opportunities
Your gifts
You have won 324 pledge gifts
and sold 42 donated 50 and exchanged the rest so far
Your sponsors
Mzynga,Safaricom,bidco,are among your top sponsors,to sponsor a pledge check out 45,567 opportunities listed
Gift market
You have not made any purchases yet there are 34,567 products listed
Donations
You have not made any donations yet there are several donation opportunities available
Set up your pledge campaign
The pledge function will help you gather crucial data that is vital in understanding how to structure any investment deals to potential investors.
Be sure to enter title that will attract pledges to your campaign.
On the description ensure you give the best description of your company to provide the most accurate information and attract the right 'fish'.........Learn more
The title should be something appealing to potential investors at the same time capture the intention completely of your campaign.
The description should be something that says in simple terms all about why you have a campaign and what you seek to achieve for
your business both long term and short term See example


There are two steps to creating Azure file shares. The first step is to create a storage account by choosing the correct options. The second step involves creating the file shares themselves.
After you've reviewed all the options, you're going to propose to the finance company that they use a geo-redundant storage (GRS) account. This type of account provides the highest level of resilience for the stored files. You'll use this storage account and create file shares for reports and application data.
In this unit, you'll see how to use Azure CLI commands to create the storage account you need. You'll learn how to authenticate with Azure and persist credentials to allow the company's satellite offices to maintain connections to the file shares.
az storage account create
The CLI command to create a storage account has many options. These options can be narrowed down to the ones required if you know the sku of the account you need.
For the finance company, you've decided that GRS is the best choice. This decision limits the arguments to be concerned with to --sku
. The allowed values for this argument are Premium_LRS, Premium_ZRS, Standard_GRS, Standard_GZRS, Standard_LRS, Standard_RAGRS, Standard_RAGZRS, or Standard_ZRS. In our scenario, the argument should be set to Standard_GRS
.
There are only two other required arguments for the command, --name
and --resource-group
.
You'll run the following full command.
az storage account create \
--name <unique account name> \
--resource-group <resource group name> \
--sku Standard_GRS
az storage share create
The only required argument to this command is --name
, but it won't enable you to create a share on its own. You also need to provide the storage account information. There are two ways you can provide the information to the command:
--account-name
and either an --account-key
or a --sas-token
argument.--connection-string
.There are interesting optional arguments that you might find useful in some situations. The first argument controls the size of the share in gigabytes. If you need this restriction, use the --quota
argument. The second argument lets you control the timeout for calls to the service in seconds with --timeout
.
The defaults for these arguments are acceptable in our scenario. So, the full command takes the following form:
az storage share create \
--account-name <unique account name> \
--account-key <account key> \
--name <share name>
With the Azure file share created, you connect to it from a Windows, Linux, or macOS computer. There are guides for each operating system online, and links to them are in the summary unit. This module assumes you're going to be working with Windows machines.
The Azure portal makes it easy to connect to your new share by providing the PowerShell commands to run.
Azure Active Directory (Azure AD) authentication is possible if the machine that needs access to the file share is a domain-joined Windows-based VM hosted on Azure. This method provides a great solution to secure your file shares and offers advantages over using a shared key:
Currently, Azure doesn't support authenticating with Kerberos over SMB. You can create file shares by using a shared key until this option becomes available. The downside is that this method of authentication grants any user who has the shared key full administration access to all files and folders contained in the file share. If this level of access is unacceptable, use Azure File Sync because it supports DACLs.
The finance company's file shares need to be used by individuals in satellite offices and by a combination of hosted and on-premises Windows machines. This scenario leads you to choose a shared key on all those machines to access the file shares. You can persist the key on those machines by using the cmdkey
utility. As you'll see in a later unit, you can add extra security to the file shares.


public class TableColumn extends Object implements Serializable
TableColumn
represents all the attributes of a column in a
JTable
, such as width, resizibility, minimum and maximum width.
In addition, the TableColumn
provides slots for a renderer and
an editor that can be used to display and edit the values in this column.
It is also possible to specify renderers and editors on a per type basis
rather than a per column basis - see the
setDefaultRenderer
method in the JTable
class.
This default mechanism is only used when the renderer (or
editor) in the TableColumn
is null
.
The TableColumn
stores the link between the columns in the
JTable
and the columns in the TableModel
.
The modelIndex
is the column in the
TableModel
, which will be queried for the data values for the
cells in this column. As the column moves around in the view this
modelIndex
does not change.
Note: Some implementations may assume that all
TableColumnModel
s are unique, therefore we would
recommend that the same TableColumn
instance
not be added more than once to a TableColumnModel
.
To show TableColumn
s with the same column of
data from the model, create a new instance with the same
modelIndex
.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans
package.
Please see XMLEncoder
.
| Modifier and Type | Field and Description |
|---|---|
static String |
CELL_RENDERER_PROPERTY
Obsolete as of Java 2 platform v1.3.
|
protected TableCellEditor |
cellEditor
The editor used to edit the data cells of the column.
|
protected TableCellRenderer |
cellRenderer
The renderer used to draw the data cells of the column.
|
static String |
COLUMN_WIDTH_PROPERTY
Obsolete as of Java 2 platform v1.3.
|
static String |
HEADER_RENDERER_PROPERTY
Obsolete as of Java 2 platform v1.3.
|
static String |
HEADER_VALUE_PROPERTY
Obsolete as of Java 2 platform v1.3.
|
protected TableCellRenderer |
headerRenderer
The renderer used to draw the header of the column.
|
protected Object |
headerValue
The header value of the column.
|
protected Object |
identifier
This object is not used internally by the drawing machinery of
the
JTable ; identifiers may be set in the
TableColumn as as an
optional way to tag and locate table columns. |
protected boolean |
isResizable
If true, the user is allowed to resize the column; the default is true.
|
protected int |
maxWidth
The maximum width of the column.
|
protected int |
minWidth
The minimum width of the column.
|
protected int |
modelIndex
The index of the column in the model which is to be displayed by
this
TableColumn . |
protected int |
resizedPostingDisableCount
Deprecated.
as of Java 2 platform v1.3
|
protected int |
width
The width of the column.
|
| Constructor and Description |
|---|
TableColumn()
Cover method, using a default model index of 0,
default width of 75, a
null renderer and a
null editor. |
TableColumn(int modelIndex)
Cover method, using a default width of 75, a
null
renderer and a null editor. |
TableColumn(int modelIndex,
int width)
Cover method, using a
null renderer and a
null editor. |
TableColumn(int modelIndex,
int width,
TableCellRenderer cellRenderer,
TableCellEditor cellEditor)
Creates and initializes an instance of
TableColumn with the specified model index,
width, cell renderer, and cell editor;
all TableColumn constructors delegate to this one. |
| Modifier and Type | Method and Description |
|---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener)
Adds a
PropertyChangeListener to the listener list. |
protected TableCellRenderer |
createDefaultHeaderRenderer()
As of Java 2 platform v1.3, this method is not called by the
TableColumn
constructor. |
void |
disableResizedPosting()
Deprecated.
as of Java 2 platform v1.3
|
void |
enableResizedPosting()
Deprecated.
as of Java 2 platform v1.3
|
TableCellEditor |
getCellEditor()
Returns the
TableCellEditor used by the
JTable to edit values for this column. |
TableCellRenderer |
getCellRenderer()
Returns the
TableCellRenderer used by the
JTable to draw
values for this column. |
TableCellRenderer |
getHeaderRenderer()
Returns the
TableCellRenderer used to draw the header of the
TableColumn . |
Object |
getHeaderValue()
Returns the
Object used as the value for the header
renderer. |
Object |
getIdentifier()
Returns the
identifier object for this column. |
int |
getMaxWidth()
Returns the maximum width for the
TableColumn . |
int |
getMinWidth()
Returns the minimum width for the
TableColumn . |
int |
getModelIndex()
Returns the model index for this column.
|
int |
getPreferredWidth()
Returns the preferred width of the
TableColumn . |
PropertyChangeListener[] |
getPropertyChangeListeners()
Returns an array of all the
PropertyChangeListener s added
to this TableColumn with addPropertyChangeListener(). |
boolean |
getResizable()
Returns true if the user is allowed to resize the
TableColumn 's
width, false otherwise. |
int |
getWidth()
Returns the width of the
TableColumn . |
void |
removePropertyChangeListener(PropertyChangeListener listener)
Removes a
PropertyChangeListener from the listener list. |
void |
setCellEditor(TableCellEditor cellEditor)
Sets the editor to used by when a cell in this column is edited.
|
void |
setCellRenderer(TableCellRenderer cellRenderer)
Sets the
TableCellRenderer used by JTable
to draw individual values for this column. |
void |
setHeaderRenderer(TableCellRenderer headerRenderer)
Sets the
TableCellRenderer used to draw the
TableColumn 's header to headerRenderer . |
void |
setHeaderValue(Object headerValue)
Sets the
Object whose string representation will be
used as the value for the headerRenderer . |
void |
setIdentifier(Object identifier)
Sets the
TableColumn 's identifier to
anIdentifier . |
void |
setMaxWidth(int maxWidth)
Sets the
TableColumn 's maximum width to
maxWidth or,
if maxWidth is less than the minimum width,
to the minimum width. |
void |
setMinWidth(int minWidth)
Sets the
TableColumn 's minimum width to
minWidth ,
adjusting the new minimum width if necessary to ensure that
0 <= minWidth <= maxWidth . |
void |
setModelIndex(int modelIndex)
Sets the model index for this column.
|
void |
setPreferredWidth(int preferredWidth)
Sets this column's preferred width to
preferredWidth . |
void |
setResizable(boolean isResizable)
Sets whether this column can be resized.
|
void |
setWidth(int width)
This method should not be used to set the widths of columns in the
JTable , use setPreferredWidth instead. |
void |
sizeWidthToFit()
Resizes the
TableColumn to fit the width of its header cell. |
public static final String COLUMN_WIDTH_PROPERTY
public static final String HEADER_VALUE_PROPERTY
public static final String HEADER_RENDERER_PROPERTY
public static final String CELL_RENDERER_PROPERTY
protected int modelIndex
TableColumn
. As columns are moved around in the
view modelIndex
remains constant.protected Object identifier
JTable
; identifiers may be set in the
TableColumn
as as an
optional way to tag and locate table columns. The table package does
not modify or invoke any methods in these identifier objects other
than the equals
method which is used in the
getColumnIndex()
method in the
DefaultTableColumnModel
.protected int width
protected int minWidth
protected int maxWidth
protected TableCellRenderer headerRenderer
protected Object headerValue
protected TableCellRenderer cellRenderer
protected TableCellEditor cellEditor
protected boolean isResizable
@Deprecated protected transient int resizedPostingDisableCount
public TableColumn()
null
renderer and a
null
editor.
This method is intended for serialization.public TableColumn(int modelIndex)
null
renderer and a null
editor.public TableColumn(int modelIndex, int width)
null
renderer and a
null
editor.public TableColumn(int modelIndex, int width, TableCellRenderer cellRenderer, TableCellEditor cellEditor)
TableColumn
with the specified model index,
width, cell renderer, and cell editor;
all TableColumn
constructors delegate to this one.
The value of width
is used
for both the initial and preferred width;
if width
is negative,
they're set to 0.
The minimum width is set to 15 unless the initial width is less,
in which case the minimum width is set to
the initial width.
When the cellRenderer
or cellEditor
parameter is null
,
a default value provided by the JTable
getDefaultRenderer
or getDefaultEditor
method, respectively,
is used to
provide defaults based on the type of the data in this column.
This column-centric rendering strategy can be circumvented by overriding
the getCellRenderer
methods in JTable
.
modelIndex
- the index of the column
in the model that supplies the data for this column in the table;
the model index remains the same
even when columns are reordered in the viewwidth
- this column's preferred width and initial widthcellRenderer
- the object used to render values in this columncellEditor
- the object used to edit values in this columngetMinWidth()
,
JTable.getDefaultRenderer(Class)
,
JTable.getDefaultEditor(Class)
,
JTable.getCellRenderer(int, int)
,
JTable.getCellEditor(int, int)
public void setModelIndex(int modelIndex)
TableColumn
. As the TableColumn
is moved around in the view the model index remains constant.modelIndex
- the new modelIndexpublic int getModelIndex()
modelIndex
propertypublic void setIdentifier(Object identifier)
TableColumn
's identifier to
anIdentifier
.
Note: identifiers are not used by the JTable
,
they are purely a
convenience for the external tagging and location of columns.
identifier
- an identifier for this columngetIdentifier()
public Object getIdentifier()
identifier
object for this column.
Note identifiers are not used by JTable
,
they are purely a convenience for external use.
If the identifier
is null
,
getIdentifier()
returns getHeaderValue
as a default.identifier
propertysetIdentifier(java.lang.Object)
public void setHeaderValue(Object headerValue)
Object
whose string representation will be
used as the value for the headerRenderer
. When the
TableColumn
is created, the default headerValue
is null
.headerValue
- the new headerValuegetHeaderValue()
public Object getHeaderValue()
Object
used as the value for the header
renderer.headerValue
propertysetHeaderValue(java.lang.Object)
public void setHeaderRenderer(TableCellRenderer headerRenderer)
TableCellRenderer
used to draw the
TableColumn
's header to headerRenderer
.
It is the header renderers responsibility to render the sorting indicator. If you are using sorting and specify a renderer your renderer must render the sorting indication.
headerRenderer
- the new headerRenderergetHeaderRenderer()
public TableCellRenderer getHeaderRenderer()
TableCellRenderer
used to draw the header of the
TableColumn
. When the headerRenderer
is
null
, the JTableHeader
uses its defaultRenderer
. The default value for a
headerRenderer
is null
.headerRenderer
propertysetHeaderRenderer(javax.swing.table.TableCellRenderer)
,
setHeaderValue(java.lang.Object)
,
JTableHeader.getDefaultRenderer()
public void setCellRenderer(TableCellRenderer cellRenderer)
TableCellRenderer
used by JTable
to draw individual values for this column.cellRenderer
- the new cellRenderergetCellRenderer()
public TableCellRenderer getCellRenderer()
TableCellRenderer
used by the
JTable
to draw
values for this column. The cellRenderer
of the column
not only controls the visual look for the column, but is also used to
interpret the value object supplied by the TableModel
.
When the cellRenderer
is null
,
the JTable
uses a default renderer based on the
class of the cells in that column. The default value for a
cellRenderer
is null
.cellRenderer
propertysetCellRenderer(javax.swing.table.TableCellRenderer)
,
JTable.setDefaultRenderer(java.lang.Class<?>, javax.swing.table.TableCellRenderer)
public void setCellEditor(TableCellEditor cellEditor)
cellEditor
- the new cellEditorgetCellEditor()
public TableCellEditor getCellEditor()
TableCellEditor
used by the
JTable
to edit values for this column. When the
cellEditor
is null
, the JTable
uses a default editor based on the
class of the cells in that column. The default value for a
cellEditor
is null
.cellEditor
propertysetCellEditor(javax.swing.table.TableCellEditor)
,
JTable.setDefaultEditor(java.lang.Class<?>, javax.swing.table.TableCellEditor)
public void setWidth(int width)
JTable
, use setPreferredWidth
instead.
Like a layout manager in the
AWT, the JTable
adjusts a column's width automatically
whenever the
table itself changes size, or a column's preferred width is changed.
Setting widths programmatically therefore has no long term effect.
This method sets this column's width to width
.
If width
exceeds the minimum or maximum width,
it is adjusted to the appropriate limiting value.
width
- the new widthgetWidth()
,
setMinWidth(int)
,
setMaxWidth(int)
,
setPreferredWidth(int)
,
JTable.doLayout()
public int getWidth()
TableColumn
. The default width is
75.width
propertysetWidth(int)
public void setPreferredWidth(int preferredWidth)
preferredWidth
.
If preferredWidth
exceeds the minimum or maximum width,
it is adjusted to the appropriate limiting value.
For details on how the widths of columns in the JTable
(and JTableHeader
) are calculated from the
preferredWidth
,
see the doLayout
method in JTable
.
preferredWidth
- the new preferred widthgetPreferredWidth()
,
JTable.doLayout()
public int getPreferredWidth()
TableColumn
.
The default preferred width is 75.preferredWidth
propertysetPreferredWidth(int)
public void setMinWidth(int minWidth)
TableColumn
's minimum width to
minWidth
,
adjusting the new minimum width if necessary to ensure that
0 <= minWidth
<= maxWidth
.
For example, if the minWidth
argument is negative,
this method sets the minWidth
property to 0.
If the value of the
width
or preferredWidth
property
is less than the new minimum width,
this method sets that property to the new minimum width.
minWidth
- the new minimum widthgetMinWidth()
,
setPreferredWidth(int)
,
setMaxWidth(int)
public int getMinWidth()
TableColumn
. The
TableColumn
's width can't be made less than this either
by the user or programmatically.minWidth
propertysetMinWidth(int)
,
TableColumn(int, int, TableCellRenderer, TableCellEditor)
public void setMaxWidth(int maxWidth)
TableColumn
's maximum width to
maxWidth
or,
if maxWidth
is less than the minimum width,
to the minimum width.
If the value of the
width
or preferredWidth
property
is more than the new maximum width,
this method sets that property to the new maximum width.
maxWidth
- the new maximum widthgetMaxWidth()
,
setPreferredWidth(int)
,
setMinWidth(int)
public int getMaxWidth()
TableColumn
. The
TableColumn
's width can't be made larger than this
either by the user or programmatically. The default maxWidth
is Integer.MAX_VALUE.maxWidth
propertysetMaxWidth(int)
public void setResizable(boolean isResizable)
isResizable
- if true, resizing is allowed; otherwise falsegetResizable()
public boolean getResizable()
TableColumn
's
width, false otherwise. You can change the width programmatically
regardless of this setting. The default is true.isResizable
propertysetResizable(boolean)
public void sizeWidthToFit()
TableColumn
to fit the width of its header cell.
This method does nothing if the header renderer is null
(the default case). Otherwise, it sets the minimum, maximum and preferred
widths of this column to the widths of the minimum, maximum and preferred
sizes of the Component delivered by the header renderer.
The transient "width" property of this TableColumn is also set to the
preferred width. Note this method is not used internally by the table
package.setPreferredWidth(int)
@Deprecated public void disableResizedPosting()
@Deprecated public void enableResizedPosting()
public void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener
to the listener list.
The listener is registered for all properties.
A PropertyChangeEvent
will get fired in response to an
explicit call to setFont
, setBackground
,
or setForeground
on the
current component. Note that if the current component is
inheriting its foreground, background, or font from its
container, then no event will be fired in response to a
change in the inherited property.
listener
- the listener to be addedpublic void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener
from the listener list.
The PropertyChangeListener
to be removed was registered
for all properties.listener
- the listener to be removedpublic PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener
s added
to this TableColumn with addPropertyChangeListener().PropertyChangeListener
s added or an empty
array if no listeners have been addedprotected TableCellRenderer createDefaultHeaderRenderer()
TableColumn
constructor. Previously this method was used by the
TableColumn
to create a default header renderer.
As of Java 2 platform v1.3, the default header renderer is null
.
JTableHeader
now provides its own shared default
renderer, just as the JTable
does for its cell renderers.JTableHeader.createDefaultRenderer()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved.


Posted on: Sunday, November 3, 2019
Reading time: 4 minutes and 36 seconds.
This blog post will demonstrate a simple use case where the singleton and observable design pattern becomes important.
Let’s imagine if you are in the arcade and there is a Lucky Dip Machine. The reason I like call it the LuckyDipMachine is because it is one of the feature assignments in the Programming Foundation Units in Monash University and it is often times made fun at. However, the solution for assignment itself can be engineered to be better.
There is only one Lucky Dip Machine in the arcade. This lucky dip machine has a limited number of items in its inventory. A singleton design pattern will be used to instantiate this class. The reason for a Singleton pattern is so that, there can only ever be one LuckyDipMachine. Multiple uses of the LuckyDipMachine will only deduct items from this instance.
Everyone in the arcade can observe when the LuckyDipMachine is used. Whenever, a price is won, the observers would know what Prize has been won.
Fig 1. Flowchart Representation of the intended design
We start off by creating a really simple Prize class.
package me.jianliew;
public class Prize {
private String name;
public Prize(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Prize prize = (Prize) o;
return getName().equals(prize.getName());
}
@Override
public int hashCode() {
return getName().hashCode();
}
@Override
public String toString() {
return "Prize{" +
"name='" + name + '\'' +
'}';
}
}
Snippet 1. The Prize class.
Our Prize class is just a plain old Java object.
However, our LuckyDipMachine class is slightly more interesting. Here are the characteristics of it
package me.jianliew;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.util.*;
public class LuckyDipMachine {
private Map<Prize, Integer> inventory;
private static LuckyDipMachine ourInstance = new LuckyDipMachine();
// PropertyChangeSupport is introduced here
private PropertyChangeSupport support;
public static LuckyDipMachine getInstance() {
return ourInstance;
}
private LuckyDipMachine() {
inventory = new HashMap<>();
support = new PropertyChangeSupport(this);
fill();
}
private void fill(){
Prize p1 = new Prize("Potato");
Prize p2 = new Prize("Tomato");
inventory.put(p1,2);
inventory.put(p2,2);
}
public Prize getRandomPrize(){
List<Prize> keysAsArray = new ArrayList<>(inventory.keySet());
Random r = new Random();
return keysAsArray.get(r.nextInt(keysAsArray.size()));
}
public void pull(){
if (inventory.isEmpty())
return;
Prize p = getRandomPrize();
inventory.computeIfPresent(p, (prize, integer) -> inventory.get(prize) - 1);
if(inventory.get(p) == 0){
inventory.remove(p);
}
support.firePropertyChange("prize", "", p);
}
public int getInventorySize() {
int sum = 0;
for (Prize p : inventory.keySet()) sum += inventory.get(p);
return sum;
}
public void addPropertyChangeListener(PropertyChangeListener pcl) {
support.addPropertyChangeListener(pcl);
}
public void removePropertyChangeListener(PropertyChangeListener pcl) {
support.removePropertyChangeListener(pcl);
}
@Override
public String toString() {
return "LuckyDipMachine{" +
"inventory=" + inventory +
'}';
}
}
We also have the Observer. The only thing that is needed in this class is for it to implement the PropertyChangeListener. I will also need to have an implementation for the propertyChange.
package me.jianliew;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.List;
// It is needed to implement the interface PropertyChangeListener
public class Observer implements PropertyChangeListener {
private List<Prize> observedPrizes;
public Observer(){
observedPrizes = new ArrayList<>();
}
@Override
public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
Prize p = (Prize) propertyChangeEvent.getNewValue();
this.observedPrizes.add(p);
System.out.println(toString());
}
@Override
public String toString() {
return "Observer{" +
"observedPrizes=" + observedPrizes +
'}';
}
}
package me.jianliew;
public class Test {
public static void main(String[] args) {
Observer o = new Observer();
LuckyDipMachine ldm = LuckyDipMachine.getInstance();
ldm.addPropertyChangeListener(o);
System.out.println(ldm.getInventorySize());
ldm.pull();
ldm.pull();
ldm.pull();
LuckyDipMachine ldm2= LuckyDipMachine.getInstance();
System.out.println(ldm2.getInventorySize());
ldm2.pull();
System.out.println(ldm.getInventorySize());
}
}
The output of it would be as follows.
// There will be 4 items at the start
4
// On the first pull a random item is returned. The observer observes it.
Observer{observedPrizes=[Prize{name='Tomato'}]}
// On the second pull, the observer now sees 2 items in total.
Observer{observedPrizes=[Prize{name='Tomato'}, Prize{name='Potato'}]}
// There will be three items on the third pull.
 There is no need to register the listener again.
Observer{observedPrizes=[Prize{name='Tomato'}, Prize{name='Potato'}, Prize{name='Tomato'}, Prize{name='Potato'}]}
// At the end there will be nothing left in the machine.
0


Github
NPM
Wilda Software
Feedybacky.com
Feedybacky example page
This page is a template and a playground for testing Feedybacky plugin. Feel free to experiment and enjoy!
This example shows basic usage of Feedybacky plugin with simple alert as effect of submission.


--- layout: post status: publish published: true title: Where do you put your braces? author: display_name: Tomas Restrepo login: tomasr email<EMAIL_ADDRESS>url: http://winterdom.com/ author_login: tomasr author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/ wordpress_id: 686 wordpress_url: http://winterdom.com/2007/10/wheredoyouputyourbraces date: '2007-10-24 08:54:56 +0000' date_gmt: '2007-10-24 08:54:56 +0000' categories: - Development tags: [] comments: - id: 461 author: Damien Guard author_email<EMAIL_ADDRESS>author_url: http://damieng.com date: '2007-10-24 09:56:00 +0000' date_gmt: '2007-10-24 09:56:00 +0000' content: | I tend to put my braces on the same line within control statements etc. but on a separate line when writing methods/functions etc... except on my blog where I tend to compress those down to keep posts short... [)amien - id: 462 author: Tomas Restrepo author_email<EMAIL_ADDRESS>author_url: http://www.winterdom.com/weblog/ date: '2007-10-24 10:02:13 +0000' date_gmt: '2007-10-24 10:02:13 +0000' content: | I used to do something similar, but the VS automatic formatting just gets too much in the way :) - id: 463 author: Josh author_email: '' author_url: '' date: '2007-10-24 13:14:12 +0000' date_gmt: '2007-10-24 13:14:12 +0000' content: | I like to put my braces on a new line, it gives the appearence of more readability to me, by putting a little bit of white space between your function declarations and the body of the function. Of course like all good rules, I have one exception: Simple property getters and setters I tend to do get { return _variable; } This probally stems from the fact that this is the default behavior of the prop snippet which I love so dearly! josh - id: 464 author: Jeremy D. Miller author_email: '' author_url: http://codebetter.com/blogs/jeremy.miller date: '2007-10-24 16:41:15 +0000' date_gmt: '2007-10-24 16:41:15 +0000' content: | I put mine wherever ReSharper decides they should be. I used to have an opinion but it's too easy just to let the tool do its thing. - id: 465 author: John Lam author_email<EMAIL_ADDRESS>author_url: http://www.iunknown.com date: '2007-10-26 09:51:08 +0000' date_gmt: '2007-10-26 09:51:08 +0000' content: | I prefer the brace on the same line style because I find that vertical space is always at a premium - I want to see more code and avoid scrolling if necessary. I'm happy that this was the default style on the DLR team when I joined. BTW, you can always re-jig your VS 2005+ editor settings so that CTRL-A CTRL-K CTRL-F formats your code in whatever style that you want. - id: 466 author: Andre author_email<EMAIL_ADDRESS>author_url: http://blog.dotnetclr.com date: '2007-10-31 16:18:33 +0000' date_gmt: '2007-10-31 16:18:33 +0000' content: | I like my braces on a dedicated line, it makes the code more cleaner. Sometimes when its just a single like of code, especially getter and setters, I just put them on a single line. ---
If you're writing code in a programming language derived from C (i.e. one of those with pesky curly braces), where do you like putting your braces?
Some people like putting the opening brace on a line by itself right after the declaration/statement:
I'm one of those that usually does this. It just was something I got used to from my C/C++ days and since it was the common convention in .NET back when I started fiddling around with it in 2000/2001. So this is usually what I use when coding on C#.
However, other people like to put the opening brace inline with the declaration/statement:
This question is brought to you courtesy of me noticing that IronRuby favors the "inline opening brace" style.
Actually, I use the inline-opening-brace style myself when I'm working with Java. I don't mind it, but it somehow seems wrong sometimes. I mean, using different styles when working across two languages so similar? I mean, I already have enough trouble remembering stuff like string vs. String and ToLower() vs toLowerCase() to worry about how the code looks ;-).
Historical Note: A few years back I used to be weirder and used a mixed style where I used braces-on-next-line for some things and inline-opening-brace for others depending on what it was and how many lines were in between the opening and closing braces. Yes, I was (am?) anal like that. I finally gave up on it when I grew tired of fighting the auto-formatting rules in IDEs.
What style do you favor, and why?


{# Copyright 2014 Google Inc. All rights reserved. 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. #}
Message Recall - {% block subheader %}{% endblock %} |


Tyson Fury denies Deontay Wilder's claims Brit is trying to run from rematch
The Brit hit back in a video on his Instagram account after American rival made claims in build-up to Luis Ortiz fight
by Ned KeatingTyson Fury has strongly denied Deontay Wilder's claims that the Brit no longer wants a rematch with his American foe.
The unbeaten heavyweights faced off in a titanic clash in Los Angeles last December, with the Gypsy King dramatically climbing off the canvas to claim a draw.
Ever since that night late last year, speculation has been rife that the pair will meet again in the ring to settle their differences.
A contract has been signed between the pair for a rematch, with February 22 the most likely date for a bout to take place.
However, the Bronze Bomber earlier this week accused Fury of trying to run from the fight, prompting the response from the Brit.
In a video uploaded to his Instagram account, the lineal world champ said:"This is a message to address Deontay Wilder's recent comments on how I don't want to fight him.
"Oh, how afraid of him I am," said a sarcastic Fury.
He continued: "If I was afraid of you, I wouldn't have fought you after having three years out of the ring and beaten you in your own country, but you had to rob me and give me a draw.
"I don't know why on Earth you think I'm bothered about you. Just get through your fight with (Luis) Ortiz (on November 23), do your own thing and stop using my name for relevance.
"You should be on 20 per cent (for our rematch), but you're not and I'm giving you a fair share because I'm a fair man.
"I don't ask for anything in this world, I work hard for everything.
"The thing is with you Wilder, crack on with your own business and I'll see you February 22 to finish what I started. This time you're going to get smashed you big bum dosser."
Fury's response comes just a day after he replaced fellow Brit Dillian Whyte as the mandatory challenger for Wilder's WBC strap.


Interplanetary Voice Simulator
Did you know that.... (text here)
Enable Microphone
start recording
stop recording
from file
Stop Sounds


AIMEE & JAGUAR A film review by Steve Rhodes Copyright 2000 Steve Rhodes RATING (0 TO ****): ***
As World War II enters its cataclysmic last act, the Allied bombers are reducing Berlin to rubble. The city's inhabitants, much like those in the recent end of the world picture, LAST NIGHT, have a fatalistic view of their future. They try to keep up a semblance of normalcy, going to the zoo and to the symphony, but they know that the next explosion may be the end for them. And for those of Jewish ancestry, a bullet by the Gestapo may get them even sooner.
Against this backdrop, Max Färberböck's AIMEE & JAGUAR, based on Erika Fischer's book, tells the true story of an unlikely lesbian love affair between Lilly Wust (Juliane Köhler), a married mother of 4, and Felice Schragenheim (Maria Schrader), a Jewish member of the underground. (The private names they used for each other were Aimee and Jaguar, hence the story's title.)
Lilly's husband, Günther (Detlev Buck), a frontline soldier, has visits home. Both husband and wife are openly promiscuous with neither doing a great deal to hide the fact. When Lilly catches Günther making out with Ilse (Johanna Wokalek), the children's nanny, he explains his action as the inevitable effect of a man's libido. The unflappable Günther does lose his cool when he first realizes that his wife has a female lover, which is the same reaction that Lilly has when Felice kisses her for the first time. Although Felice is an in-the-open lesbian, Lilly has always assumed herself to be completely straight.
As the prim and slightly silly Lilly, Juliane Köhler gives a strong performance with equal measures of fiery passion and frightened vulnerability. In contrast, Maria Schrader, as Felice, approaches her character with a certain detachment. The result is a love affair that's never quite convincing.
More effective are the film's impressive atmospherics. As bombers light the sky a burning red, the cameras pan over the monuments of the would-be invincible Nazi regime. When Lilly goes to the zoo to fetch her children, she walks past huge mounds of rubble in the streets. And, as the Berlin Philharmonic plays Beethoven's glorious 9th symphony, the concert is interrupted by an air raid, much to the consternation of the conductor, who demands, without success, that his players finish the movement.
After telling Lilly of the men in his unit who have died, Günther reveals his secret for his remarkable longevity at the front. "You have to duck first, that's the secret," he tells her. Lilly, however, doesn't duck, leaving luck to protect her. Loving her girlfriend openly and naively, she doesn't even realize that Felice and Felice's friends are Jews.
Like SAVING PRIVATE RYAN, the movie is bracketed by appearances of Lilly today. As she lives the last few years of her life in a nursing home, she still pines for Felice.  "I want lots of 'nows'," she said, and she lived her life accordingly, regardless of the bombs or the Gestapo.
AIMEE & JAGUAR runs 2:05. It is in German with English subtitles. The film is not rated but would be an R for sex, nudity and some violence. It would be acceptable for older teenagers.
The film, which was released last year in parts of Europe, does not yet have a United States release date. It opened the Berlin Film Festival in 1999 and will open the Berlin and Beyond Film Festival in San Francisco on Friday, January 14, 2000. You can find the Berlin and Beyond Film Festival information at its web site: http://www.goethe.de/sanfrancisco.
Email<EMAIL_ADDRESS>Web: http://www.InternetReviews.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


start stop New Entries Adidas Tubular 13 $250 Condition: New Chron Geo $350 Condition: New King Aurora $350 Condition: New Shop Now


This document is the reference manual for the LLVM test suite. It documents the structure of the LLVM test suite, the tools needed to use it, and how to add and run tests.
In order to use the LLVM test suite, you will need all of the software required to build LLVM, plus the following:
The tests are located in the LLVM source tree under the directory llvm/test. To run all of the tests in LLVM, use the Master Makefile in that directory:
% gmake -C llvm/test
To run only the code fragment tests (i.e. those that do basic testing of LLVM), run the tests organized by QMTest:
% gmake -C llvm/test qmtest
To run only the tests that compile and execute whole programs, run the Programs tests:
% gmake -C llvm/test/Programs
The LLVM test suite contains two major categories of tests: code fragments and whole programs.
Code fragments are small pieces of code that test a specific feature of LLVM or trigger a specific bug in LLVM. They are usually written in LLVM assembly language, but can be written in other languages if the test targets a particular language front end.
Code fragments are not complete programs, and they are never executed to determine correct behavior.
The tests in the Features and Regression directories contain code fragments.
Whole Programs are pieces of code which can be compiled and linked into a stand-alone program that can be executed. These programs are generally written in high level languages such as C or C++, but sometimes they are written straight in LLVM assembly.
These programs are compiled and then executed using several different methods (native compiler, LLVM C backend, LLVM JIT, LLVM native code generation, etc). The output of these programs is compared to ensure that LLVM is compiling the program correctly.
In addition to compiling and executing programs, whole program tests serve as a way of benchmarking LLVM performance, both in terms of the efficiency of the programs generated as well as the speed with which LLVM compiles, optimizes, and generates code.
The Programs directory contains all tests which compile and benchmark whole programs.
Each type of test in the LLVM test suite has its own directory. The major subtrees of the test suite directory tree are as follows:
This directory contains sample codes that test various features of the LLVM language. These pieces of sample code are run through various assembler, disassembler, and optimizer passes.
This directory contains regression tests for LLVM. When a bug is found in LLVM, a regression test containing just enough code to reproduce the problem should be written and placed somewhere underneath this directory. In most cases, this will be a small piece of LLVM assembly language code, often distilled from an actual application or benchmark.
The Programs directory contains programs that can be compiled with LLVM and executed. These programs are compiled using the native compiler and various LLVM backends. The output from the program compiled with the native compiler is assumed correct; the results from the other programs are compared to the native program output and pass if they match.
In addition for testing correctness, the Programs directory also performs timing tests of various LLVM optimizations. It also records compilation times for the compilers and the JIT. This information can be used to compare the effectiveness of LLVM's optimizations and code generation.
The Programs directory is subdivided into several smaller subdirectories:
The SingleSource directory contains test programs that are only a single source file in size. These are usually small benchmark programs or small programs that calculate a particular value. Several such programs are grouped together in each directory.
The MultiSource directory contains subdirectories which contain entire programs with multiple source files. Large benchmarks and whole applications go here.
The External directory contains Makefiles for building code that is external to (i.e. not distributed with) LLVM. The most prominent member of this directory is the SPEC 2000 benchmark suite. The presence and location of these external programs is configured by the LLVM configure script.
This directory contains the QMTest information files. Inside this directory are QMTest administration files and the Python code that implements the LLVM test and database classes.
The LLVM test suite is partially driven by QMTest and partially driven by GNU Make. Specifically, the Features and Regression tests are all driven by QMTest. The Programs directory is currently driven by a set of Makefiles.
The QMTest system needs to have several pieces of information available; these pieces of configuration information are known collectively as the "context" in QMTest parlance. Since the context for LLVM is relatively large, the master Makefile in llvm/test sets it for you.
The LLVM database class makes the subdirectories of llvm/test a QMTest test database. For each directory that contains tests driven by QMTest, it knows what type of test the source file is and how to run it.
Hence, the QMTest namespace is essentially what you see in the Feature and Regression directories, but there is some magic that the database class performs (as described below).
The QMTest namespace is currently composed of the following tests and test suites:
These are the feature tests found in the Feature directory. They are broken up into the following categories:
Assembler/Disassembler tests. These tests verify that a piece of LLVM assembly language can be assembled into bytecode and then disassembled into the original assembly language code. It does this several times to ensure that assembled output can be disassembled and disassembler output can be assembled. It also verifies that the give assembly language file can be assembled correctly.
Optimizer tests. These tests verify that two of the optimizer passes completely optimize a program (i.e. after a single pass, they cannot optimize a program any further).
Machine code tests. These tests verify that the LLVM assembly language file can be translated into native assembly code.
C code tests. These tests verify that the specified LLVM assembly code can be converted into C source code using the C backend.
The LLVM database class looks at every file in the Feature directory and creates a fake test hierarchy containing Feature.<testtype>.<testname>. So, if you add an LLVM assembly language file to the Feature directory, it actually creates 5 new tests: assembler/disassembler, assembler, optimizer, machine code, and C code.
These are the regression tests. There is one suite for each subdirectory of the Regression directory. If you add a new subdirectory there, you will need to modify, at least, the RegressionMap variable in QMTest/llvmdb.py so that QMTest knows how to run the tests in the new subdirectory.
As mentioned previously, the Programs tree in llvm/test provides three types of tests: MultiSource, SingleSource, and External. Each tree is then subdivided into several categories, including applications, benchmarks, regression tests, code that is strange grammatically, etc. These organizations should be relatively self explanatory.
In addition to the regular Programs tests, the Programs tree also provides a mechanism for compiling the programs in different ways. If the variable TEST is defined on the gmake command line, the test system will include a Makefile named TEST.<value of TEST variable>.Makefile. This Makefile can modify build rules to yield different results.
For example, the LLVM nightly tester uses TEST.nightly.Makefile to create the nightly test reports. To run the nightly tests, run gmake TEST=nightly.
There are several TEST Makefiles available in the tree. Some of them are designed for internal LLVM research and will not work outside of the LLVM research group. They may still be valuable, however, as a guide to writing your own TEST Makefile for any optimization or analysis passes that you develop with LLVM.
First, all tests are executed within the LLVM object directory tree. They are not executed inside of the LLVM source tree. This is because the test suite creates temporary files during execution.
The master Makefile in llvm/test is capable of running both the QMTest driven tests and the Programs tests. By default, it will run all of the tests.
To run only the QMTest driven tests, run gmake qmtest at the command line in llvm/tests. To run a specific qmtest, suffix the test name with ".t" when running gmake.
For example, to run the Regression.LLC tests, type gmake Regression.LLC.t in llvm/tests.
Note that the Makefiles in llvm/test/Features and llvm/test/Regression are gone. You must now use QMTest from the llvm/test directory to run them.
To run the Programs test, cd into the llvm/test/Programs directory and type gmake. Alternatively, you can type gmake TEST=<type> test to run one of the specialized tests in llvm/test/Programs/TEST.<type>.Makefile. For example, you could run the nightly tester tests using the following commands:
% cd llvm/test/Programs % gmake TEST=nightly test
Regardless of which test you're running, the results are printed on standard output and standard error. You can redirect these results to a file if you choose.
Some tests are known to fail. Some are bugs that we have not fixed yet; others are features that we haven't added yet (or may never add). In QMTest, the result for such tests will be XFAIL (eXpected FAILure). In this way, you can tell the difference between an expected and unexpected failure.
The Programs tests have no such feature as of this time. If the test passes, only warnings and other miscellaneous output will be generated. If a test fails, a large <program> FAILED message will be displayed. This will help you separate benign warnings from actual test failures.
The LLVM Nightly Testers automatically check out an LLVM tree, build it, run the "nightly" program test (described above) and all of the regression tests, then delete the checked out tree. This tester is designed to ensure that programs don't break as well as keep track of LLVM's progress over time.
If you'd like to set up an instance of the nightly tester to run on your machine, take a look at the comments at the top of the utils/NightlyTester.pl file. We usually run it from a crontab entry that looks ilke this:
5 3 * * * LLVM_LIB_SEARCH_PATH=.../llvm-gcc/bytecode-libs $HOME/llvm/utils/NightlyTest.pl -parallel -enable-linscan ...CVSREPOSTRING... $HOME/buildtest-X86 $HOME/cvs/testresults-X86
Take a look at the NightlyTest.pl file to see what all of the flags and strings do. If you start running the nightly tests, please let us know and we'll link your page to the global tester page. Thanks!


Taiko is an open source node.js library for testing modern web applications
Taiko’s API treats the browser like a black box. Write test scripts by looking at a web page without inspecting it’s source code.
Taiko’s API understands XHR requests, dynamic content and implicitly waits for elements to load on the page before moving on to the next action.
Record and write maintainable test scripts within seconds using Taiko's unique recorder which is a REPL to automate the browser.
Mock and stub requests from the browser with Taiko's intercept API that makes managing test environments and data simpler.
intercept


Setting Up iOS Logic Tests [Part 2]
This is part 2 in a multi-part series on iOS unit testing and integration testing. In the last post, we discussed setting up the project and adding some dependencies with CocoaPods.
Today, I’m going to go through setting up some initial code to use the 3rd party libraries to make sure that the libraries are working. Then we’ll set up logic tests and see what breaks with CocoaPods (spoiler: compiler errors ahead!).
SVProgressHUD
First, let’s hook up SVProgressHUD
- Open
ViewController.m
and import SVProgressHUD:#import "SVProgressHUD.h”
- In
viewDidLoad
, create an SVProgressHUD indicator, then dismiss it after 2 seconds:
1 2 3 4 5 6 7 8 9 10 |
|
You should be able to run this code now and see a progress indicator with a spinner and the text “Running….”. It should disappear after 2 seconds.
Great! This proves one of our CocoaPods libraries is communicating with the app’s main project and is working properly.
Next we’ll move onto Core Data with Magical Record.


Consecutive Digits
问题描述 :
As a recruiting ploy, Google once posted billboards in Harvard Square and in the Silicon Valley area just stating “{first 10-digit prime found in consecutive digits of e}.com”. In other words, find that 10-digit sequence and then connect to the web site — and find out that Google is trying to hire people who can solve a particular kind of problem.
Not to be outdone, Gaggle (a loosy-goosy fuzzy logic search firm), has devised its own recruiting problem. Consider the base 7 expansion of a rational number. For example, the first few digits of the base 7 expansion of 1/510 = 0.12541…7, 33/410 = 11.15151…7, and 6/4910 = 0.06000…7, From this expansion, find the digits in a particular range of positions to the right of the “decimal” point.
输入:
The input file begins with a line containing a single integer specifying the number of problem sets in the file. Each problem set is specified by four base 10 numbers on a single line, n d b e, where n and d are the numerator and denominator of the rational number and 0 <= n <= 5,000 and 1 <= d <= 5,000. b and e are the beginning and ending positions for the desired range of digits, with 0 <= b,e <= 250 and 0 <= (e-b) <= 20. Note that 0 is the position immediately to the right of the decimal point.
输出:
Each problem set will be numbered (beginning at one) and will generate a single line:
- Problem set k: n / d, base 7 digits b through e: result
where k is replaced by the problem set number, result is your computed result, and the other values are the corresponding input values.
样例输入:
4 1 5 0 0 6 49 1 3 33 4 2 7 511 977 122 126
样例输出:
Problem set 1: 1 / 5, base 7 digits 0 through 0: 1 Problem set 2: 6 / 49, base 7 digits 1 through 3: 600 Problem set 3: 33 / 4, base 7 digits 2 through 7: 151515 Problem set 4: 511 / 977, base 7 digits 122 through 126: 12425
解题代码:
//* @author: ccQ.SuperSupper import java.util.*; import java.math.*; public class Main { public static void main(String []args) throws Exception{ int t,cs=1,left,right,i,j; BigInteger a,b,seven; String str1,str2; seven = BigInteger.valueOf(1); for(i=0;i< 10000;++i) seven = seven.multiply(BigInteger.valueOf(7)); Scanner cin = new Scanner(System.in); t = cin.nextInt(); while(t--!=0){ str1 = cin.next(); str2 = cin.next(); left = cin.nextInt(); right = cin.nextInt(); a = new BigInteger(str1); a = a.multiply(seven); a = a.divide(new BigInteger(str2)); b = new BigInteger(str1); b = b.divide(new BigInteger(str2)); b = b.multiply(seven); a = a.subtract(b); a = a.add(seven); System.out.print("Problem set "+cs+": "+str1+" / "+str2+", base 7 digits "+left+" through "+right+": "); System.out.println(a.toString(7).substring(left+1, right+2)); ++cs; } } }
(adsbygoogle = window.adsbygoogle || []).push({});
为避免精度问题，PI值请使用arccos(-1)。应该是acos
楼主你能把scanf( "%d%*" ,&T );中%*的用法详细说明吗
不考虑最后将结果排序的话，快排的时间复杂度是O(N) ，而堆排的是O(N*logK)
正解，已改正。应该都是protected
这个差别应该不会太大，或许编辑器就自动优化成内联函数了
“可以发现,树将是满二叉树,”这句话不对吧，构造的树应该是“完全二叉树”，而非“满二叉树”。
参考 http://www.acmerblog.com/leetcode-solutions-6422.html
赞！！~~大赞！！~
DFS方法的原理还是不太清楚啊
第二个程序编译都通不过， int L[m+1][n+1];这样定义出错，应该换成具体的数字ac
https://coding.net/moon/miracle
多谢提醒。代码又编辑了一下


Jaws Town Hall Restaurant
Original Site
Home
Menu
Opening Hours
Bookings available through Monday to Sunday except Saturday dinner
Dinner set menu only available Thursday & Friday
Jaws Town Hall
M
T
W
T
F
S
S
Lunch
11:30 - 3:00
11:30 - 5:30
Dinner
Closed
5:30 - 9:00


ABOUT
I am a student of Bachelor of Technology Programme from Mechanical Engineering Branch in National Institute of Kurukshetra,Kurukshetra.
Although I am in Mechanical Engineering branch, but I have interest in coding, programming, web development, computer networking... So I study in this field and here I am with my knowledge and much more to be added.


| Trees | Indices | Help |
|
|---|
|
|
|
|||
|
Inherited from |
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
|||
|
Inherited from |
|
|
|
|
|
|
| Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Wed Nov 25 09:18:47 2015 | http://epydoc.sourceforge.net |


|
Rockie Yang
|
|
I'd like to first thanks FooCafe provide sponsorship,
and thanks Ellie for organizing.
If your company could provide venue or food.
If you would like to share your experience.
Feel free to contact me or Ellie.
I'd love to have more events in the future.
I am working for a company called Think Big.
We are part of Teradata
We have 4 type roles


Toggle navigation
Contributor Metrics
2
WARNING: Alpha quality metrics dashboard - DO NOT QUOTE THESE STATS!
WARNING: Metric collection background jobs are failing
Help
About
Median PR Latency
New GitHub Forks (monthly)
New GitHub Stars (monthly)
Pony Leaderboard (PRs from previous year)
Period of involvement (May 2016-2017)


THE LAST SUPPER A film review by Joan Ellis Copyright 1996 Nebbadoon Syndicate
"The Last Supper" is the perfect title for this sardonic comedy. A group of self-satisfied grad students gathers on Sunday nights to discuss the fine points of issues on which they all agree. Since they have yet to engage real life on any level, they are free to wallow in the untested smugness of their academic theories. They are young liberals.
Their habit is to invite an alien thinker to stir the pot at their Sunday suppers. When fate deposits a monstrous bigot at the table, the pot comes to a full boil that ends in murder. Faced with an act unimaginable to their humanist sensibilities just a moment earlier, the students analyze their options much as they might the pros and cons of going into Bosnia.
Call the police? Claim self-defense? Bury him in the backyard? Quickly, they decide that sacrificing superior intellect to a jail term for killing an unworthy facist is not an option. At this point, the movie takes an abrupt turn into black humor as the now practiced murderers invite an increasingly outrageous stream of right-wing zealots to share their table before dispatching them to the backyard to fertilize their tomatoes.
Freed from the suspense of a serious thriller, we ponder the theoretical questions flying around the screen and laugh nervously at the comic calm that accompanies the ritual murders. We enjoy the choice of murder weapon that establishes collective guilt, but watching guests and hosts imprisoned in their own rectitude is not the fluffy fun of Agatha Christie.
A reverend intones that "homosexuality is the disease, and AIDS is the cure." Another posits that women invite rape, another that the homeless must "know their place." The anti-environmentalist crows, "If the spotted owl's time is up..." They smart just a little when a young conservative attacks: "It's your generation's morality that has put my generation at risk."
Oblivious to what they are doing in the name of higher cause, the graduate students continue to dissect the hypotheticals that feed their egos: Would you have killed Hitler before he became Hitler?  Blind to any idea that is not their own, these budding intellects are arrogant hypocrits who toast themselves for "making the world a better place and making a difference...we wouldn't kill anyone unless we couldn't change their minds."
Director Stacy Title and his crew have a very good time using the ugly extremes of conservative zealotry to skewer the self-righteousness of liberal piety. Cameron Diaz, Bill Paxton, Jason Alexander, Mark Harmon, and Annabeth Gish manage to mock extemism in any form.
We are reminded that the student who says, "We're liberals; we do the right thing," usually grows up to be a conservative, while the student who consistently tries to do the right thing grows up to be the conscience of democracy.
Film Critic : JOAN ELLIS Word Count : 493 Studio : Sony Pictures Rating : R Running Time: 1h32m
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Bean (1997)
A movie review by Michael J. Legeros Copyright 1997 by Michael J. Legeros
(Gramercy) Directed by Mel Smith Written by Richard Curtis and Robin Driscoll Cast Rowan Atkinson, Peter MacNicol, Pamela Reed, Tricia Vessey, Andrew Lawrence, Harris Yulin, Sandra Oh, Tom McGowan, Burt Reynolds, Larry Drake MPAA Rating "PG-13" Running Time 90 minutes Reviewed at Six Forks Station Cinemas, Raleigh, NC (07NOV97)
==
BEAN is bad, maybe unwatchable, as Rowan Atkinson's beloved Brit is shoehorned into a pedestrian, poorly executed plot involving a famous painting, a Los Angeles art gallery, and a classic case of mistaken identity. (You Know Who is believed to be... an art expert.) The "Bean bits"-- tampering with an amusement ride, pretending to have a firearm in an airport, drying the front of his trousers with a restroom blow- dryer, etc.-- arrive at infrequent intervals and too often consist en- tirely of reaction shots. Instead of just pointing the camera at Bean and letting him do his thing, the filmmakers shift the focus to the supporting stars and, by in large, that's a mistake. (Okay, it *is* pretty funny when Peter MacNicol's art curator goes nuts, after Mr. Bean has his way with Whistler's Mother.) Worse is how Bean's scenes always seem rushed. He never gets to do more than three minutes of anything, if that. Even his most-elaborate routine-- a nighttime, commando-style raid on the museum-- flies by at about four times the pace that it should. With Harris Yulin, Pamela Reed, and in a late and largely use- less cameo, Burt Reynolds.
Grade: D
-- Mike Legeros - Movie Hell http://www.nonvirtual.com/hell
-- Mike Legeros Corporate Training SAS Institute Inc, Cary, NC, USA, Earth<EMAIL_ADDRESS>(w<EMAIL_ADDRESS>(h) Everyone who ate apples in England in 1850 later died.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Europe Launches a Mini Space Plane, IXV
First of all, what is a Space Plane?
A space plane is a vehicle that is able to operate like an aircraft and a spacecraft, so basically it can fly in the Earth’s atmosphere as well as in space.
What is IXV?
It is the European Space Agency’s (ESA) unmanned Intermediate eXperimental Vehicle, which has the ability to decelerate from hypersonic speed, which is 5 times the speed of sound (Mach 5), to supersonic speed, which is a speed over the speed of sound (Mach 1). It is 5 meters long and weighs just under 2 tones. The IXV also includes over 300 advanced sensors that are able to record very important data, which will be analyzed by the ESA.
What happened with the launching of IXV?
It was launched on February 11th 2015 at 13:40 GMT in Kourou, French Guiana, a country bordering northern Brazil. The IXV was attached to a Vega rocket and detached at an altitude of 340 km and then continued up and reached the height of 412 km. It had a successful reentry, which has been described as “flawless” by the ESA, in the Earth’s atmosphere and landed in the Pacific Ocean just west of the Galapagos Islands. The reentry speed was 7.5 km/s at an altitude of 120 km and in total the mission, from launch to splashdown, lasted 100 minutes. The 2-tone space plane used a parachute to complete the decent into the Pacific and was kept afloat by balloons after which it was picked up by the “Nos Aries” ship and brought back to the ESA’S Technical center in the Netherlands for further examination.
Why is this mission so important?
As Giorgio Tumino, the IXV’s project manager said, “this was a short mission with big impact.” This suborbital mission has opened the door to developing a vehicle that is able to reenter in the earth’s atmosphere without being destroyed and which can then be reused. As Jean-Jacques Dordain, ESA Director General, has explicated, “IXV has opened a new chapter for ESA in terms of reentry capabilities and reusability.” The ESA has stated that initial results are projected to be announced about 6 weeks after the launch.


My goal is to contribute in my own small way to "Demand Side Management" of the national energy grid as a way to make renewable technology more viable, without large scale implementation of energy storage. I also want to maximise self consumption of Solar Photo Voltaic Electricity when I eventually get panels in 1 or 2 years.
Initially, an immersion hot water cylinder will be used to modulate my electricity demand, in the future, I would also like to control other loads via RF power sockets etc.
In New Zealand we have an Electricity Retailer who charge spot prices for electricity. Therefore I plan to use openenergymonitor hardware and software to build a system that can monitor the price/availability of electricity on the national electricity grid and vary my demand accordingly.
So far I have purchased the following hardware from the site:
1 x Programmer - USB to serial UART
1 x AC-AC Power Supply Adapter - AC voltage sensor (UK Plug)
1 x emonTx Arduino Shield SMT
(Frequency: 433Mhz (Worldwide), Arduino Shield Headers: Standard Headers)
1 x emonBase - Raspberry Pi based web-connected base-station
(RaspberryPi RF add-on: RFM69Pi - 433Mhz, Raspberry Pi: Raspberry Pi 2, Pre-build SD Card: Pre-Loaded microSD Card, Enclosure: Raspberry Pi Case - Clear)
Additional hardware I will require will be:
- SCT - 013 -015 for monitoring the hot water cylinder.
- SCT - 013 -000 for the mains line.
- SCT - 013 -015 when I get solar panels.
- USB power supplies.
- SSR output stage - thinking about Crydom D2425
- Arduino Uno.
- Suitable temperature sensors.
I have very little experience with arduino and no experience with RaspberryPi. I have a good general understanding of web Development and have built some basic PHP applications. I am reading the forum a lot and trying to figure out how this system will work. I will be able to further my knowledge when I have the hardware in my hands and start to put it together.
Here is what I have so far.
- I will install the EmonTx Arduino Shield near my switchboard with a CT on the Mains incoming line and the line to the hot water cylinder. I will fit three temperature sensors to the hot water cylinder at the top middle and bottom.
- The Raspberry Pi web-connected base-station will scrape the spot price off the electricity retailers website at regular intervals and send this data data to the EmonTX Arduino Shield wirelessly.
- If certain criteria are met then the EmonTx Arduino Shield will turn on the 3kw hot water cylinder via a SSR. When the price of electricity is below a certain threshold value then the SSR will turn on and draw 3kw. When the temperature of the water at the top of the tank is below a certain threshold value then the SSR will turn on so we have enough water for a shower. However if the price of electricity is exorbitant then the cylinder will not turn on regardless of the temperature of the hot water cylinder.
- When I eventually get Photovoltaic Solar Electricity Panels, the EmonTx Arduino Shield will be used as a PV router to ensure self consumption of generated electricity because the buy back rate in New Zealand is so low.(About 7c in summer and 10c in winter) It is also possible that this company may start to pay for solar at spot prices. In this case the HWC would turn off and electricity sold back to the grid when prices are favorable.
- I would also eventually like to control other loads in my house. With the use of an RF power socket, it should be possible to control certain loads to ensure that self consumption of PV generation is maintained. For example, my freezer could be connected to a RF socket. It should also have temperature sensors fitted. If Solar generation dips to a point where energy is being imported, then the freezer is turned off, provided that it's internal temperature is within limits. https://www.youtube.com/watch?v=Z7qUXEw24E4
If anyone is willing to provide some feedback on whether or not I am on the right track that would be great.
Questions:
- What specific method would you use to scrape the spot price of the electricity retailers website.I am more interested in the code required on the Rpi. I don't think I would have too much trouble building a scraper in php, but I don't know how to automatically run that php and make it available to the base station code.
- How does the Raspberry Pi web-connected base-station send this information to the EmonTx Arduino Shield.
- Where specifically on the EmonTx should the code that controls the hot water cylinder be inserted?
- How can the GUI on the Raspberry Pi web-connected base-station be modified so I have an input field to enter the "thresholds" which the EmonTx Arduino Shield responds to. For example, I might want to go on the GUI and set the minimum temperature at the top of the hot water cylinder to 40deg. Or if I am going away for a week then set the HWC to turn off completely and then turn it back on before I get home. Will these thresholds be sent to the EmonTx Arduino Shield at the same rate as the spot price, or will this only be sent when it is modified and stored locally on eeprom?
- Are there any hardware considerations I need to make now so the system can be adapted to be used as a PV proportional router in the future when i get Solar Voltaic Electricity Panels?
- Does it make sense to choose the CT's the way that I have? Or is it better to just buy SCT - 013 -000 and then attach suitable burden resistors. Are the burden resistors the SMT ones you can see on the EmonTx Arduino Shield on the shop page? Do they just get de-soldered if you have a voltage output CT?
Edits:
6/9/2015 Changed "EmonTx" to "EmonTx Arduino Shield". Changed "SolarPv" to Solar Photovoltaic Electricity Panels to make it clear that I am not talking about solar hot water panels.

Updated my proposed setup.
Re: Demand Side Management of Electricity Consumption
That [before you edited it] all sounds reasonable to me.
I suspect you'll need two completely different sets of rules depending on where your energy is coming from, so do a search through here for stratification. You might find that you want to add a pump to circulate the hot water within the tank when the energy is from PV, and/or you might want to add temperature sensors at selected levels down the tank so that you know how much hot water there is in the tank when you're paying for the energy.
Our normal assumption is that the information flow is from the Arduino to the Base to the Web, yours is exactly the opposite but as the RFM69 radio modules are both transmitter and receiver (though half-duplex working only), that should be OK.
[Note: to avoid confusion, please don't refer to the Shield as an "emonTx" - that's a different beast that has it's own processor, which the EmonTx Shield doesn't have.]
You also might want to (and reading between the lines you have already) read up about the PV diverter. Given some local generation, that will mop up surplus power in a controlled fashion. How effective that is depends significantly on the properties of your supplier's energy meter and what your import and export tariffs are.
Re: Demand Side Management of Electricity Consumption
I am not sure why a pump would be required. The heating element is at the bottom of the tank. Stratification is actually a good thing because the hot water rises to the top of the tank to be used which means the whole tank does not have to be heated in order to have a comfortable shower. However, if I do have access to a good price, or the sun is shining and I have lots of Excess PV generation then the whole tank can easily be heated to full temperature because the heating element is at the bottom.
I don't understand the comment about "half-duplexing", but I am sure that it will become clear to me once I have the hardware and I can start experimenting.
Yes, PV diversion was my first goal but then this company started up which is going to be selling power at spot prices. This potentially means that solar won't be economically viable for a few more years because a micro-controller can be used to demand power at prices that are cheaper than solar panels are able to provide. I will eventually get solar panels even if the economics does not make complete sense because it is the right thing to do.
I recently got a quote for a 3kw solar array which would provide power at 18c per kWh for the next 15 years.
This electricity companies prices at night can be as low as 13c kWh. Based on their information, the price is less than 18c/kWh about 37 percent of the time or 8 hours per day. To raise my HWC from 20deg to 60 deg would require 10.2kWh of electricity plus 2kWh for standing losses. So I would need 4 hours of electricity per day below 18c kWh to be cheaper than solar panels.
Re: Demand Side Management of Electricity Consumption
I don't understand the comment about "half-duplexing", but I am sure that it will become clear to me once I have the hardware and I can start experimenting.
A familiar example of half-duplex operation is the two-way voice radio. i.e. user A must stop transmitting and give user B the go-ahead to transmit before user B can transmit and be heard by user A. (and vice-versa) In short, only one user can transmit at a time.
The ordinary telephone is a common example of full-duplex operation. Both parties can transmit and receive at the same time.
Re: Demand Side Management of Electricity Consumption
Ah ok, that's simple enough. What implications does this have for sending data from the Base Station to the EmonTx Arduino Shield? How do they manage their two way communication?
Re: Demand Side Management of Electricity Consumption
"How do they manage their two way communication?"
Simply, you can't have both ends trying to transmit at the same time. If you know the shield transmits every 20 s (say), a good way would be to wait for that, then transmit in the opposite direction. It's up to you to define a workable protocol.
"Stratification is actually a good thing"
That's been questioned here in the past. Hence "Might...want to...". You can search and read the arguments if you wish.
I would put as much intelligence in the Pi as possible, and leave the Arduino to concentrate on switching, so every 2 mins (say) you update the Arduino with a "heat/don't heat the water" command, and leave it to get on with it. It means you might pay or lose out on 119.98 seconds' worth, though I wouldn't want to issue the command on every mains cycle or even every second. It depends of course on how often and when the prices are published.
(If you're going to transmit a lot and often, you need to check the local regulations for that RF band. Here, I think you're allowed to transmit for 1% of the time.)
Q2 & 3.
You need to study the sketch for that. An example of a sketch that both receives and transmits is one of the GLCD ones.
Q5.
Basically, as long as it's built as a PV Router, you just turn the output hard on or hard off until such time as you go proportional. It's pretty much like the thread: "switching fixed load on when surplus pv passes programmed amount." was asking.
Q6.
Maybe not. When you buy the "voltage output" sort, they have an internal burden resistor instead of zener diodes for protection. As I understand it, that's the only difference. So if you envisage a need for flexibility in the future, I'd get 3 proper current transformers and change the burden resistor on the Shield - that way you can scale it for whatever current you want (within the CT's limits of accuracy of course). Yes, the burden is the big SMT one behind the connector (and do make sure you assemble the connectors on the 'wrong' side as per the photos) and yes, you unsolder and remove the SMT one and there are holes for a wire-ended component instead (not as well as).


Which one is NOT true about Browser Object Model (BOM)?
Below are types of built in Javascript error objects EXCEPT:
jQuery is a library of Java functions?
Current score: 0


Read or watch chapter 3 of Search Inside Yourself, and reflect:
Q1. What did you learn from your 'mindfulness conversation'?
When you and your partner are present communication is more effective and meaningful. I found that I was less prone to a kind of imposter syndrome situation where I want to speak as an expert. I felt more open as a learner and felt more ok asking dumb questions. But questions that were important for me to ask to better understand what I was doing.
Q2. How did the other person find it?
My conversation partner I think enjoyed it. We felt like we were on a more even playing field. Perhaps not a playing field, more two people trying to solve a problem together. It felt more genuine.
Q3. Which of the three suggested techniques will you use to sustain your practice?
Walking meditation will work well for me. I have found myself hitting roadblocks. When I get stuck and I just do a circumnavigate around the EDA block and come back to the problem. Most of the time it works. Mindful conversations is important. Learning to be more authentic in interactions builds meaningful relationships. These two will work for me. It’s quite easy to assign time that should be going to meditation to other things. To be 'too busy' to quiet your mind. But it’s important and I am learning that more and more. One of the most useful things I’ve found is just acknowledging emotion. It’s like an email arrives and you have this rush of anxiety. What I can do now is say - 'I’m having a rush of anxiety because some external stimulus has done something'. What I think I can do now is say - well I’m feeling this. It doesn’t change the feeling much but at least I can look at it objectively analyse it in a sensible way.
Q4. Any other musings?
Notice and acknowledge your internal chatter. It’s ok to have it.  It’s your happiness at stake you know.


Count
Add
Counter Name
Value
Increment
Settings
Vibrate
Sound
About
Instructions
Swipe to delete counter.
Made by fergdev.
This was made for fun, don't judge me bro.


The additional theme styles can be applied together, with the exception of styles inside a single section which are mutually exclusive.
For example, you can combine the primary
style with the small
and success
styles, but you can’t combine primary
with tertiary
or success
with danger
.
Read the customization instructions to learn how to customize the component styles.
See the API documentation for vaadin-button.


I'm a web developer in the Los Angeles area. I approach every project with user experience in mind and strive to provide a simple and efficient interface with emphasis on responsive design and user accessibility.
Projects
UrbanMoon
Summary
This app utilizes the openweather API to provide geolocal weather data.
Design
In the design process of the application, I started with the idea of simple, straightforward and current conditions being most important. The primary user feature is simply to allow location services in browser and accept when prompted. The intent of the app is to provide robust, straightforward weather information at the user location. The design process took a mobile first approach, as I envisioned that users would be on their mobile device while in use.
Development
In the development phase of the application, I started with an HTML first approach for the mockup I prefer to develop this way, as it provides a straightforward outlook for progressive enhancement. With the base built in HTML5, it was easy to
- JavaScript - AJAX - JSON - Bootstrap 4 -
RecipeGenerator
Fully responsive front-end application that provides meal recipes on demand. App uses Vanilla JavaScript and SASS/CSS3 for styling.
- Vanilla JavaScript - SASS -
Contact
Get in touch!
For general inquiry, email<EMAIL_ADDRESS>Find out more details about my code at GitHub.
I am always looking to grow, develop and network so please reach out!


GrowNation is a yearly programme that aims to improve the lives of rural farmers with the opportunity to use their lands for commercial farming. We do this by providing training, raw materials, resources, constant monitoring and advice and guaranteed purchase of their full harvest at the end of the growing season.
Submit your application to join our programme for 2019
Each application will go through a selection process, including assessments of their land
The farms that make the shortlist will receive a contract for the 2019/2020 farming season to provide sorghum
Together with our project coordinators, we will assist you in getting your lands reading for planting
Together with our project coordinators, we will monitor and assist through the the whole journey from seed to harvest, ending with the final delivery and payment.


Client PROFITABILITY
- GROSS REVENUE
- $ {{gross_info.revenue}}
- Gross Expenses
- $ {{gross_info.expense}}
- Profit
- $ {{gross_info.profit}}
- Profit Margin
- % {{gross_info.margin}}
Client Information Edit
- Name
- {{client.name}}
- Industry
- {{client.industry}}
- Location
- {{client.location}}
- Revenue
- < $50,000